diff options
Diffstat (limited to 'asm/SDK')
38 files changed, 22775 insertions, 81 deletions
diff --git a/asm/SDK/BTE/bta_dm_act.s b/asm/SDK/BTE/bta_dm_act.s index c930a03..f5bda74 100644 --- a/asm/SDK/BTE/bta_dm_act.s +++ b/asm/SDK/BTE/bta_dm_act.s @@ -63,7 +63,7 @@ bta_dm_enable: /* 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
+/* 802BDDE0 002B9A40 48 01 86 19 */ bl L2CA_RegisterCompression
/* 802BDDE4 002B9A44 48 01 0D 6D */ bl WBT_ExtCreateRecord
/* 802BDDE8 002B9A48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802BDDEC 002B9A4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -78,7 +78,7 @@ bta_dm_disable: /* 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
+/* 802BDE14 002B9A74 48 01 84 C9 */ bl L2CA_SetIdleTimeoutByBdAddr
/* 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
@@ -780,7 +780,7 @@ lbl_802BE7C4: /* 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
+/* 802BE7F8 002BA458 48 02 3A 51 */ bl SDP_FindServiceInDb
/* 802BE7FC 002BA45C 2C 03 00 00 */ cmpwi r3, 0
/* 802BE800 002BA460 41 82 00 64 */ beq lbl_802BE864
lbl_802BE804:
@@ -791,7 +791,7 @@ lbl_802BE804: /* 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
+/* 802BE820 002BA480 48 02 3A 01 */ bl SDP_FindAttributeInRec
/* 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
@@ -1196,11 +1196,11 @@ lbl_802BEDA4: /* 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
+/* 802BEDBC 002BAA1C 48 02 30 2D */ bl SDP_InitDiscoveryDb
/* 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
+/* 802BEDCC 002BAA2C 48 02 33 F1 */ bl SDP_ServiceSearchAttributeRequest
/* 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)
@@ -2465,21 +2465,21 @@ bta_dm_keep_acl: /* 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
+/* 802BFF70 002BBBD0 48 01 63 6D */ bl L2CA_SetIdleTimeoutByBdAddr
/* 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
+/* 802BFF84 002BBBE4 48 01 62 91 */ bl L2CA_SetIdleTimeout
/* 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
+/* 802BFF94 002BBBF4 48 01 63 49 */ bl L2CA_SetIdleTimeoutByBdAddr
/* 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
+/* 802BFFA4 002BBC04 48 01 62 71 */ bl L2CA_SetIdleTimeout
lbl_802BFFA8:
/* 802BFFA8 002BBC08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802BFFAC 002BBC0C 83 E1 00 0C */ lwz r31, 0xc(r1)
diff --git a/asm/SDK/BTE/bta_hh_act.s b/asm/SDK/BTE/bta_hh_act.s index 9a55aea..0b6d9aa 100644 --- a/asm/SDK/BTE/bta_hh_act.s +++ b/asm/SDK/BTE/bta_hh_act.s @@ -1294,7 +1294,7 @@ lbl_802C221C: /* 802C2258 002BDEB8 98 9C 00 06 */ stb r4, 6(r28)
/* 802C225C 002BDEBC 7C 9E 02 14 */ add r4, r30, r0
/* 802C2260 002BDEC0 A0 84 00 16 */ lhz r4, 0x16(r4)
-/* 802C2264 002BDEC4 48 01 8E E1 */ bl func_802DB144
+/* 802C2264 002BDEC4 48 01 8E E1 */ bl l2cu_find_ccb_by_cid
/* 802C2268 002BDEC8 2C 03 00 00 */ cmpwi r3, 0
/* 802C226C 002BDECC 41 82 00 2C */ beq lbl_802C2298
/* 802C2270 002BDED0 80 63 00 10 */ lwz r3, 0x10(r3)
diff --git a/asm/SDK/BTE/bte_init.s b/asm/SDK/BTE/bte_init.s index a3b3b5d..08855f8 100644 --- a/asm/SDK/BTE/bte_init.s +++ b/asm/SDK/BTE/bte_init.s @@ -7,7 +7,7 @@ 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
+/* 802BCE34 002B8A94 48 01 EB 25 */ bl RFCOMM_Init
/* 802BCE38 002B8A98 48 01 1D F9 */ bl GAP_Init
/* 802BCE3C 002B8A9C 48 01 56 C9 */ bl HID_DevInit
/* 802BCE40 002B8AA0 48 01 61 49 */ bl HID_HostInit
diff --git a/asm/SDK/BTE/btm_acl.s b/asm/SDK/BTE/btm_acl.s index ade2302..049822d 100644 --- a/asm/SDK/BTE/btm_acl.s +++ b/asm/SDK/BTE/btm_acl.s @@ -346,7 +346,7 @@ lbl_802C38C8: /* 802C38D0 002BF530 41 82 00 10 */ beq lbl_802C38E0
/* 802C38D4 002BF534 A0 7F 00 00 */ lhz r3, 0(r31)
/* 802C38D8 002BF538 38 80 00 03 */ li r4, 3
-/* 802C38DC 002BF53C 48 01 44 3D */ bl func_802D7D18
+/* 802C38DC 002BF53C 48 01 44 3D */ bl l2c_link_hci_disc_comp
lbl_802C38E0:
/* 802C38E0 002BF540 3B DE 00 01 */ addi r30, r30, 1
/* 802C38E4 002BF544 3B FF 01 1C */ addi r31, r31, 0x11c
diff --git a/asm/SDK/BTE/btm_devctl.s b/asm/SDK/BTE/btm_devctl.s index 4bd8cc5..8d70864 100644 --- a/asm/SDK/BTE/btm_devctl.s +++ b/asm/SDK/BTE/btm_devctl.s @@ -481,7 +481,7 @@ lbl_802C5EDC: /* 802C5EDC 002C1B3C 88 1F 06 4E */ lbz r0, 0x64e(r31)
/* 802C5EE0 002C1B40 2C 00 00 00 */ cmpwi r0, 0
/* 802C5EE4 002C1B44 40 82 01 3C */ bne lbl_802C6020
-/* 802C5EE8 002C1B48 48 01 56 A5 */ bl func_802DB58C
+/* 802C5EE8 002C1B48 48 01 56 A5 */ bl l2cu_device_reset
/* 802C5EEC 002C1B4C 38 C0 00 12 */ li r6, 0x12
/* 802C5EF0 002C1B50 38 A0 08 00 */ li r5, 0x800
/* 802C5EF4 002C1B54 38 80 00 00 */ li r4, 0
@@ -595,7 +595,7 @@ btm_read_hci_buf_size_complete: /* 802C6080 002C1CE0 7C 65 1A 14 */ add r3, r5, r3
/* 802C6084 002C1CE4 B0 06 00 7E */ sth r0, 0x7e(r6)
/* 802C6088 002C1CE8 54 63 04 3E */ clrlwi r3, r3, 0x10
-/* 802C608C 002C1CEC 48 01 25 7D */ bl func_802D8608
+/* 802C608C 002C1CEC 48 01 25 7D */ bl l2c_link_processs_num_bufs
/* 802C6090 002C1CF0 38 60 06 9B */ li r3, 0x69b
/* 802C6094 002C1CF4 38 80 00 1E */ li r4, 0x1e
/* 802C6098 002C1CF8 38 A0 00 14 */ li r5, 0x14
diff --git a/asm/SDK/BTE/btm_discovery.s b/asm/SDK/BTE/btm_discovery.s index 2bbf878..255d1b5 100644 --- a/asm/SDK/BTE/btm_discovery.s +++ b/asm/SDK/BTE/btm_discovery.s @@ -28,7 +28,7 @@ btm_discovery_db_init: /* 802C7218 002C2E78 38 E0 00 00 */ li r7, 0
/* 802C721C 002C2E7C B0 1F 06 78 */ sth r0, 0x678(r31)
/* 802C7220 002C2E80 39 00 00 00 */ li r8, 0
-/* 802C7224 002C2E84 48 01 AB C5 */ bl func_802E1DE8
+/* 802C7224 002C2E84 48 01 AB C5 */ bl SDP_InitDiscoveryDb
/* 802C7228 002C2E88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C722C 002C2E8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C7230 002C2E90 7C 08 03 A6 */ mtlr r0
@@ -78,7 +78,7 @@ lbl_802C728C: /* 802C72D0 002C2F30 38 E0 00 00 */ li r7, 0
/* 802C72D4 002C2F34 B0 1F 06 78 */ sth r0, 0x678(r31)
/* 802C72D8 002C2F38 39 00 00 00 */ li r8, 0
-/* 802C72DC 002C2F3C 48 01 AB 0D */ bl func_802E1DE8
+/* 802C72DC 002C2F3C 48 01 AB 0D */ bl SDP_InitDiscoveryDb
/* 802C72E0 002C2F40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802C72E4 002C2F44 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802C72E8 002C2F48 7C 08 03 A6 */ mtlr r0
diff --git a/asm/SDK/BTE/btm_sec.s b/asm/SDK/BTE/btm_sec.s index 8220079..0ce3680 100644 --- a/asm/SDK/BTE/btm_sec.s +++ b/asm/SDK/BTE/btm_sec.s @@ -1311,7 +1311,7 @@ lbl_802CBAF8: /* 802CBB18 002C7778 38 A0 00 03 */ li r5, 3
/* 802CBB1C 002C777C 4B D3 84 E5 */ bl memcpy
/* 802CBB20 002C7780 7F A3 EB 78 */ mr r3, r29
-/* 802CBB24 002C7784 48 00 BD B5 */ bl func_802D78D8
+/* 802CBB24 002C7784 48 00 BD B5 */ bl l2c_link_hci_conn_req
lbl_802CBB28:
/* 802CBB28 002C7788 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CBB2C 002C778C 83 E1 00 1C */ lwz r31, 0x1c(r1)
@@ -3009,7 +3009,7 @@ lbl_802CD2D4: /* 802CD2D8 002C8F38 28 80 FF FF */ cmplwi cr1, r0, 0xffff
/* 802CD2DC 002C8F3C 40 86 00 60 */ bne cr1, lbl_802CD33C
/* 802CD2E0 002C8F40 38 7E 00 1C */ addi r3, r30, 0x1c
-/* 802CD2E4 002C8F44 48 00 C7 B1 */ bl func_802D9A94
+/* 802CD2E4 002C8F44 48 00 C7 B1 */ bl l2cu_allocate_lcb
/* 802CD2E8 002C8F48 2C 03 00 00 */ cmpwi r3, 0
/* 802CD2EC 002C8F4C 40 82 00 2C */ bne lbl_802CD318
/* 802CD2F0 002C8F50 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
@@ -3024,7 +3024,7 @@ lbl_802CD310: /* 802CD310 002C8F70 38 60 00 03 */ li r3, 3
/* 802CD314 002C8F74 48 00 03 1C */ b lbl_802CD630
lbl_802CD318:
-/* 802CD318 002C8F78 48 00 E2 E1 */ bl func_802DB5F8
+/* 802CD318 002C8F78 48 00 E2 E1 */ bl l2cu_create_conn
/* 802CD31C 002C8F7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CD320 002C8F80 40 82 00 0C */ bne lbl_802CD32C
/* 802CD324 002C8F84 38 60 00 03 */ li r3, 3
diff --git a/asm/SDK/BTE/btu_hcif.s b/asm/SDK/BTE/btu_hcif.s index d48fc0c..566e9ff 100644 --- a/asm/SDK/BTE/btu_hcif.s +++ b/asm/SDK/BTE/btu_hcif.s @@ -138,7 +138,7 @@ lbl_802CDA30: /* 802CDA44 002C96A4 54 1C 05 3E */ clrlwi r28, r0, 0x14
/* 802CDA48 002C96A8 7F E4 FB 78 */ mr r4, r31
/* 802CDA4C 002C96AC 7F 83 E3 78 */ mr r3, r28
-/* 802CDA50 002C96B0 48 00 A2 C9 */ bl func_802D7D18
+/* 802CDA50 002C96B0 48 00 A2 C9 */ bl l2c_link_hci_disc_comp
/* 802CDA54 002C96B4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802CDA58 002C96B8 40 82 00 10 */ bne lbl_802CDA68
/* 802CDA5C 002C96BC 7F 83 E3 78 */ mr r3, r28
@@ -261,7 +261,7 @@ lbl_802CDBC4: /* 802CDC00 002C9860 40 82 00 10 */ bne lbl_802CDC10
/* 802CDC04 002C9864 7F E4 FB 78 */ mr r4, r31
/* 802CDC08 002C9868 38 61 00 18 */ addi r3, r1, 0x18
-/* 802CDC0C 002C986C 48 00 AC 4D */ bl func_802D8858
+/* 802CDC0C 002C986C 48 00 AC 4D */ bl l2c_link_role_changed
lbl_802CDC10:
/* 802CDC10 002C9870 7F A3 EB 78 */ mr r3, r29
/* 802CDC14 002C9874 7F E5 FB 78 */ mr r5, r31
@@ -270,7 +270,7 @@ lbl_802CDC10: /* 802CDC20 002C9880 48 00 01 F4 */ b lbl_802CDE14
lbl_802CDC24:
/* 802CDC24 002C9884 38 67 00 0A */ addi r3, r7, 0xa
-/* 802CDC28 002C9888 48 00 A8 FD */ bl func_802D8524
+/* 802CDC28 002C9888 48 00 A8 FD */ bl l2c_link_process_num_completed_pkts
/* 802CDC2C 002C988C 48 00 01 E8 */ b lbl_802CDE14
lbl_802CDC30:
/* 802CDC30 002C9890 88 67 00 0C */ lbz r3, 0xc(r7)
@@ -322,7 +322,7 @@ lbl_802CDCB8: /* 802CDCE0 002C9940 98 01 00 11 */ stb r0, 0x11(r1)
/* 802CDCE4 002C9944 88 07 00 0F */ lbz r0, 0xf(r7)
/* 802CDCE8 002C9948 98 01 00 10 */ stb r0, 0x10(r1)
-/* 802CDCEC 002C994C 48 00 AD 35 */ bl func_802D8A20
+/* 802CDCEC 002C994C 48 00 AD 35 */ bl l2c_pin_code_request
/* 802CDCF0 002C9950 38 61 00 10 */ addi r3, r1, 0x10
/* 802CDCF4 002C9954 4B FF F1 CD */ bl btm_sec_pin_code_request
/* 802CDCF8 002C9958 48 00 01 1C */ b lbl_802CDE14
@@ -373,7 +373,7 @@ lbl_802CDD94: /* 802CDD9C 002C99FC 54 00 40 2E */ slwi r0, r0, 8
/* 802CDDA0 002C9A00 7C 03 02 14 */ add r0, r3, r0
/* 802CDDA4 002C9A04 54 03 05 3E */ clrlwi r3, r0, 0x14
-/* 802CDDA8 002C9A08 48 00 A0 2D */ bl func_802D7DD4
+/* 802CDDA8 002C9A08 48 00 A0 2D */ bl l2c_link_hci_qos_violation
/* 802CDDAC 002C9A0C 48 00 00 68 */ b lbl_802CDE14
lbl_802CDDB0:
/* 802CDDB0 002C9A10 38 67 00 0A */ addi r3, r7, 0xa
@@ -559,7 +559,7 @@ btu_hcif_connection_comp_evt: /* 802CE03C 002C9C9C 7F E3 FB 78 */ mr r3, r31
/* 802CE040 002C9CA0 7F C4 F3 78 */ mr r4, r30
/* 802CE044 002C9CA4 38 A1 00 08 */ addi r5, r1, 8
-/* 802CE048 002C9CA8 48 00 99 E5 */ bl func_802D7A2C
+/* 802CE048 002C9CA8 48 00 99 E5 */ bl l2c_link_hci_conn_comp
/* 802CE04C 002C9CAC 48 00 00 38 */ b lbl_802CE084
lbl_802CE050:
/* 802CE050 002C9CB0 38 61 00 10 */ addi r3, r1, 0x10
@@ -1009,7 +1009,7 @@ lbl_802CE658: /* 802CE65C 002CA2BC 38 80 00 00 */ li r4, 0
/* 802CE660 002CA2C0 38 A0 00 FF */ li r5, 0xff
/* 802CE664 002CA2C4 4B FF 5E 79 */ bl btm_acl_role_changed
-/* 802CE668 002CA2C8 48 00 A2 71 */ bl func_802D88D8
+/* 802CE668 002CA2C8 48 00 A2 71 */ bl l2c_link_role_change_failed
/* 802CE66C 002CA2CC 48 00 00 F4 */ b lbl_802CE760
lbl_802CE670:
/* 802CE670 002CA2D0 2C 05 00 00 */ cmpwi r5, 0
@@ -1037,7 +1037,7 @@ lbl_802CE670: /* 802CE6C8 002CA328 7F C3 F3 78 */ mr r3, r30
/* 802CE6CC 002CA32C 38 A1 00 08 */ addi r5, r1, 8
/* 802CE6D0 002CA330 54 04 04 3E */ clrlwi r4, r0, 0x10
-/* 802CE6D4 002CA334 48 00 93 59 */ bl func_802D7A2C
+/* 802CE6D4 002CA334 48 00 93 59 */ bl l2c_link_hci_conn_comp
/* 802CE6D8 002CA338 48 00 00 88 */ b lbl_802CE760
lbl_802CE6DC:
/* 802CE6DC 002CA33C 2C 05 00 00 */ cmpwi r5, 0
diff --git a/asm/SDK/BTE/btu_init.s b/asm/SDK/BTE/btu_init.s index 56c3aaf..d25e10f 100644 --- a/asm/SDK/BTE/btu_init.s +++ b/asm/SDK/BTE/btu_init.s @@ -8,8 +8,8 @@ btu_init_core: /* 802CEADC 002CA73C 7C 08 02 A6 */ mflr r0
/* 802CEAE0 002CA740 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CEAE4 002CA744 4B FF A2 AD */ bl btm_init
-/* 802CEAE8 002CA748 48 00 9F 7D */ bl func_802D8A64
-/* 802CEAEC 002CA74C 48 01 60 A9 */ bl func_802E4B94
+/* 802CEAE8 002CA748 48 00 9F 7D */ bl l2c_init
+/* 802CEAEC 002CA74C 48 01 60 A9 */ bl sdp_init
/* 802CEAF0 002CA750 4B FF 86 D5 */ bl btm_discovery_db_init
/* 802CEAF4 002CA754 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CEAF8 002CA758 7C 08 03 A6 */ mtlr r0
diff --git a/asm/SDK/BTE/btu_task1.s b/asm/SDK/BTE/btu_task1.s index 3ff60c4..1c42365 100644 --- a/asm/SDK/BTE/btu_task1.s +++ b/asm/SDK/BTE/btu_task1.s @@ -89,11 +89,11 @@ lbl_802BD220: /* 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
+/* 802BD23C 002B8E9C 48 01 B9 3D */ bl l2c_rcv_acl_data
/* 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
+/* 802BD248 002B8EA8 48 01 B6 FD */ bl l2c_link_segments_xmitted
/* 802BD24C 002B8EAC 48 00 00 98 */ b lbl_802BD2E4
lbl_802BD250:
/* 802BD250 002B8EB0 7F 63 DB 78 */ mr r3, r27
@@ -200,11 +200,11 @@ lbl_802BD3A0: /* 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
+/* 802BD3B0 002B9010 48 01 C5 69 */ bl l2c_process_timeout
/* 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
+/* 802BD3BC 002B901C 48 02 82 BD */ bl sdp_conn_timeout
/* 802BD3C0 002B9020 48 00 00 9C */ b lbl_802BD45C
lbl_802BD3C4:
/* 802BD3C4 002B9024 48 00 B9 8D */ bl btm_inq_rmt_name_failed
@@ -214,14 +214,14 @@ lbl_802BD3CC: /* 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
+/* 802BD3D8 002B9038 48 02 46 FD */ bl rfcomm_process_timeout
/* 802BD3DC 002B903C 48 00 00 80 */ b lbl_802BD45C
lbl_802BD3E0:
/* 802BD3E0 002B9040 48 01 14 C1 */ bl btu_hcif_cmd_timeout
/* 802BD3E4 002B9044 48 00 00 78 */ b lbl_802BD45C
lbl_802BD3E8:
/* 802BD3E8 002B9048 7F 83 E3 78 */ mr r3, r28
-/* 802BD3EC 002B904C 48 01 69 89 */ bl func_802D3D74
+/* 802BD3EC 002B904C 48 01 69 89 */ bl hidh_proc_repage_timeout
/* 802BD3F0 002B9050 48 00 00 6C */ b lbl_802BD45C
lbl_802BD3F4:
/* 802BD3F4 002B9054 81 9C 00 10 */ lwz r12, 0x10(r28)
diff --git a/asm/SDK/BTE/gap_conn.s b/asm/SDK/BTE/gap_conn.s index de5bc2d..4838c31 100644 --- a/asm/SDK/BTE/gap_conn.s +++ b/asm/SDK/BTE/gap_conn.s @@ -104,7 +104,7 @@ lbl_802CEDD8: /* 802CEDF8 002CAA58 4B FE E1 19 */ bl LogMsg_0
lbl_802CEDFC:
/* 802CEDFC 002CAA5C 7F E3 FB 78 */ mr r3, r31
-/* 802CEE00 002CAA60 48 00 71 A9 */ bl func_802D5FA8
+/* 802CEE00 002CAA60 48 00 71 A9 */ bl L2CA_DisconnectReq
/* 802CEE04 002CAA64 48 00 00 70 */ b lbl_802CEE74
lbl_802CEE08:
/* 802CEE08 002CAA68 38 00 00 03 */ li r0, 3
@@ -119,7 +119,7 @@ lbl_802CEE08: /* 802CEE2C 002CAA8C 7F E5 FB 78 */ mr r5, r31
/* 802CEE30 002CAA90 38 C0 00 00 */ li r6, 0
/* 802CEE34 002CAA94 38 E0 00 00 */ li r7, 0
-/* 802CEE38 002CAA98 48 00 6E 59 */ bl func_802D5C90
+/* 802CEE38 002CAA98 48 00 6E 59 */ bl L2CA_ConnectRsp
/* 802CEE3C 002CAA9C 3C 60 80 57 */ lis r3, lbl_8056B340@ha
/* 802CEE40 002CAAA0 38 63 B3 40 */ addi r3, r3, lbl_8056B340@l
/* 802CEE44 002CAAA4 88 03 00 28 */ lbz r0, 0x28(r3)
@@ -134,7 +134,7 @@ lbl_802CEE08: lbl_802CEE68:
/* 802CEE68 002CAAC8 7F E3 FB 78 */ mr r3, r31
/* 802CEE6C 002CAACC 38 9D 00 24 */ addi r4, r29, 0x24
-/* 802CEE70 002CAAD0 48 00 6F B1 */ bl func_802D5E20
+/* 802CEE70 002CAAD0 48 00 6F B1 */ bl L2CA_ConfigReq
lbl_802CEE74:
/* 802CEE74 002CAAD4 39 61 00 20 */ addi r11, r1, 0x20
/* 802CEE78 002CAAD8 4B EF 82 F9 */ bl _restgpr_26
@@ -206,7 +206,7 @@ lbl_802CEF44: /* 802CEF60 002CABC0 38 00 00 03 */ li r0, 3
/* 802CEF64 002CABC4 38 9F 00 24 */ addi r4, r31, 0x24
/* 802CEF68 002CABC8 98 1F 00 00 */ stb r0, 0(r31)
-/* 802CEF6C 002CABCC 48 00 6E B5 */ bl func_802D5E20
+/* 802CEF6C 002CABCC 48 00 6E B5 */ bl L2CA_ConfigReq
/* 802CEF70 002CABD0 48 00 00 E0 */ b lbl_802CF050
lbl_802CEF74:
/* 802CEF74 002CABD4 81 9F 00 20 */ lwz r12, 0x20(r31)
@@ -271,7 +271,7 @@ lbl_802CF03C: /* 802CF040 002CACA0 38 84 01 80 */ addi r4, r4, 0x180
/* 802CF044 002CACA4 42 00 FF 8C */ bdnz lbl_802CEFD0
/* 802CF048 002CACA8 7F C3 F3 78 */ mr r3, r30
-/* 802CF04C 002CACAC 48 00 69 81 */ bl func_802D59CC
+/* 802CF04C 002CACAC 48 00 69 81 */ bl L2CA_Deregister
lbl_802CF050:
/* 802CF050 002CACB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF054 002CACB4 83 E1 00 0C */ lwz r31, 0xc(r1)
@@ -351,7 +351,7 @@ lbl_802CF14C: /* 802CF150 002CADB0 98 04 00 20 */ stb r0, 0x20(r4)
/* 802CF154 002CADB4 98 04 00 02 */ stb r0, 2(r4)
/* 802CF158 002CADB8 B0 04 00 00 */ sth r0, 0(r4)
-/* 802CF15C 002CADBC 48 00 6D 7D */ bl func_802D5ED8
+/* 802CF15C 002CADBC 48 00 6D 7D */ bl L2CA_ConfigRsp
/* 802CF160 002CADC0 88 1F 00 01 */ lbz r0, 1(r31)
/* 802CF164 002CADC4 60 03 00 02 */ ori r3, r0, 2
/* 802CF168 002CADC8 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
@@ -502,7 +502,7 @@ lbl_802CF364: /* 802CF368 002CAFC8 38 84 01 80 */ addi r4, r4, 0x180
/* 802CF36C 002CAFCC 42 00 FF 8C */ bdnz lbl_802CF2F8
/* 802CF370 002CAFD0 7F C3 F3 78 */ mr r3, r30
-/* 802CF374 002CAFD4 48 00 66 59 */ bl func_802D59CC
+/* 802CF374 002CAFD4 48 00 66 59 */ bl L2CA_Deregister
lbl_802CF378:
/* 802CF378 002CAFD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802CF37C 002CAFDC 83 E1 00 0C */ lwz r31, 0xc(r1)
@@ -584,7 +584,7 @@ lbl_802CF480: /* 802CF488 002CB0E8 2C 1E 00 00 */ cmpwi r30, 0
/* 802CF48C 002CB0EC 41 82 00 0C */ beq lbl_802CF498
/* 802CF490 002CB0F0 7F A3 EB 78 */ mr r3, r29
-/* 802CF494 002CB0F4 48 00 6B B9 */ bl func_802D604C
+/* 802CF494 002CB0F4 48 00 6B B9 */ bl L2CA_DisconnectRsp
lbl_802CF498:
/* 802CF498 002CB0F8 81 9F 00 20 */ lwz r12, 0x20(r31)
/* 802CF49C 002CB0FC 38 80 01 01 */ li r4, 0x101
@@ -645,7 +645,7 @@ lbl_802CF558: /* 802CF55C 002CB1BC 38 84 01 80 */ addi r4, r4, 0x180
/* 802CF560 002CB1C0 42 00 FF 8C */ bdnz lbl_802CF4EC
/* 802CF564 002CB1C4 7F C3 F3 78 */ mr r3, r30
-/* 802CF568 002CB1C8 48 00 64 65 */ bl func_802D59CC
+/* 802CF568 002CB1C8 48 00 64 65 */ bl L2CA_Deregister
lbl_802CF56C:
/* 802CF56C 002CB1CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF570 002CB1D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
diff --git a/asm/SDK/BTE/hcisu_h2.s b/asm/SDK/BTE/hcisu_h2.s index 749530d..30b046c 100644 --- a/asm/SDK/BTE/hcisu_h2.s +++ b/asm/SDK/BTE/hcisu_h2.s @@ -137,7 +137,7 @@ lbl_802BB384: /* 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
+/* 802BB3D8 002B7038 48 01 D2 45 */ bl l2cap_link_chk_pkt_start
/* 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
@@ -236,7 +236,7 @@ lbl_802BB4C8: /* 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
+/* 802BB540 002B71A0 48 01 D2 AD */ bl l2cap_link_chk_pkt_end
/* 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)
diff --git a/asm/SDK/BTE/hidd_conn.s b/asm/SDK/BTE/hidd_conn.s index 0278585..c2b4d6d 100644 --- a/asm/SDK/BTE/hidd_conn.s +++ b/asm/SDK/BTE/hidd_conn.s @@ -29,7 +29,7 @@ lbl_802D25AC: /* 802D25C0 002CE220 38 60 00 11 */ li r3, 0x11
/* 802D25C4 002CE224 B0 1D 00 16 */ sth r0, 0x16(r29)
/* 802D25C8 002CE228 9B DD 00 11 */ stb r30, 0x11(r29)
-/* 802D25CC 002CE22C 48 00 34 91 */ bl func_802D5A5C
+/* 802D25CC 002CE22C 48 00 34 91 */ bl L2CA_ConnectReq
/* 802D25D0 002CE230 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802D25D4 002CE234 B0 7D 00 14 */ sth r3, 0x14(r29)
/* 802D25D8 002CE238 40 82 00 30 */ bne lbl_802D2608
diff --git a/asm/SDK/BTE/hidh_api.s b/asm/SDK/BTE/hidh_api.s index 79bc22a..00f568d 100644 --- a/asm/SDK/BTE/hidh_api.s +++ b/asm/SDK/BTE/hidh_api.s @@ -33,12 +33,12 @@ lbl_802D2AB4: /* 802D2AD4 002CE734 38 E0 00 00 */ li r7, 0
/* 802D2AD8 002CE738 39 00 00 00 */ li r8, 0
/* 802D2ADC 002CE73C B0 01 00 0C */ sth r0, 0xc(r1)
-/* 802D2AE0 002CE740 48 00 F3 09 */ bl func_802E1DE8
+/* 802D2AE0 002CE740 48 00 F3 09 */ bl SDP_InitDiscoveryDb
/* 802D2AE4 002CE744 3C A0 80 2D */ lis r5, hidh_search_callback@ha
/* 802D2AE8 002CE748 7F 83 E3 78 */ mr r3, r28
/* 802D2AEC 002CE74C 7F A4 EB 78 */ mr r4, r29
/* 802D2AF0 002CE750 38 A5 2B 38 */ addi r5, r5, hidh_search_callback@l
-/* 802D2AF4 002CE754 48 00 F6 6D */ bl func_802E2160
+/* 802D2AF4 002CE754 48 00 F6 6D */ bl SDP_ServiceSearchRequest
/* 802D2AF8 002CE758 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D2AFC 002CE75C 41 82 00 18 */ beq lbl_802D2B14
/* 802D2B00 002CE760 38 00 00 01 */ li r0, 1
@@ -88,7 +88,7 @@ lbl_802D2B9C: /* 802D2B9C 002CE7FC 7C 83 23 78 */ mr r3, r4
/* 802D2BA0 002CE800 38 81 00 08 */ addi r4, r1, 8
/* 802D2BA4 002CE804 38 A0 00 00 */ li r5, 0
-/* 802D2BA8 002CE808 48 00 F7 6D */ bl func_802E2314
+/* 802D2BA8 002CE808 48 00 F7 6D */ bl SDP_FindServiceUUIDInDb
/* 802D2BAC 002CE80C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2BB0 002CE810 7C 7F 1B 78 */ mr r31, r3
/* 802D2BB4 002CE814 40 82 00 20 */ bne lbl_802D2BD4
@@ -106,7 +106,7 @@ lbl_802D2BD4: /* 802D2BE0 002CE840 4B D3 15 25 */ bl memset
/* 802D2BE4 002CE844 7F E3 FB 78 */ mr r3, r31
/* 802D2BE8 002CE848 38 80 02 06 */ li r4, 0x206
-/* 802D2BEC 002CE84C 48 00 F6 35 */ bl func_802E2220
+/* 802D2BEC 002CE84C 48 00 F6 35 */ bl SDP_FindAttributeInRec
/* 802D2BF0 002CE850 2C 03 00 00 */ cmpwi r3, 0
/* 802D2BF4 002CE854 41 82 00 58 */ beq lbl_802D2C4C
/* 802D2BF8 002CE858 A0 03 00 06 */ lhz r0, 6(r3)
@@ -149,7 +149,7 @@ lbl_802D2C70: lbl_802D2C84:
/* 802D2C84 002CE8E4 7F E3 FB 78 */ mr r3, r31
/* 802D2C88 002CE8E8 38 80 02 04 */ li r4, 0x204
-/* 802D2C8C 002CE8EC 48 00 F5 95 */ bl func_802E2220
+/* 802D2C8C 002CE8EC 48 00 F5 95 */ bl SDP_FindAttributeInRec
/* 802D2C90 002CE8F0 2C 03 00 00 */ cmpwi r3, 0
/* 802D2C94 002CE8F4 41 82 00 14 */ beq lbl_802D2CA8
/* 802D2C98 002CE8F8 88 03 00 08 */ lbz r0, 8(r3)
@@ -159,7 +159,7 @@ lbl_802D2C84: lbl_802D2CA8:
/* 802D2CA8 002CE908 7F E3 FB 78 */ mr r3, r31
/* 802D2CAC 002CE90C 38 80 02 05 */ li r4, 0x205
-/* 802D2CB0 002CE910 48 00 F5 71 */ bl func_802E2220
+/* 802D2CB0 002CE910 48 00 F5 71 */ bl SDP_FindAttributeInRec
/* 802D2CB4 002CE914 2C 03 00 00 */ cmpwi r3, 0
/* 802D2CB8 002CE918 41 82 00 18 */ beq lbl_802D2CD0
/* 802D2CBC 002CE91C 88 03 00 08 */ lbz r0, 8(r3)
@@ -170,7 +170,7 @@ lbl_802D2CA8: lbl_802D2CD0:
/* 802D2CD0 002CE930 7F E3 FB 78 */ mr r3, r31
/* 802D2CD4 002CE934 38 80 02 0D */ li r4, 0x20d
-/* 802D2CD8 002CE938 48 00 F5 49 */ bl func_802E2220
+/* 802D2CD8 002CE938 48 00 F5 49 */ bl SDP_FindAttributeInRec
/* 802D2CDC 002CE93C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2CE0 002CE940 41 82 00 18 */ beq lbl_802D2CF8
/* 802D2CE4 002CE944 88 03 00 08 */ lbz r0, 8(r3)
@@ -181,7 +181,7 @@ lbl_802D2CD0: lbl_802D2CF8:
/* 802D2CF8 002CE958 7F E3 FB 78 */ mr r3, r31
/* 802D2CFC 002CE95C 38 80 02 08 */ li r4, 0x208
-/* 802D2D00 002CE960 48 00 F5 21 */ bl func_802E2220
+/* 802D2D00 002CE960 48 00 F5 21 */ bl SDP_FindAttributeInRec
/* 802D2D04 002CE964 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D08 002CE968 41 82 00 18 */ beq lbl_802D2D20
/* 802D2D0C 002CE96C 88 03 00 08 */ lbz r0, 8(r3)
@@ -192,7 +192,7 @@ lbl_802D2CF8: lbl_802D2D20:
/* 802D2D20 002CE980 7F E3 FB 78 */ mr r3, r31
/* 802D2D24 002CE984 38 80 02 09 */ li r4, 0x209
-/* 802D2D28 002CE988 48 00 F4 F9 */ bl func_802E2220
+/* 802D2D28 002CE988 48 00 F4 F9 */ bl SDP_FindAttributeInRec
/* 802D2D2C 002CE98C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D30 002CE990 41 82 00 18 */ beq lbl_802D2D48
/* 802D2D34 002CE994 88 03 00 08 */ lbz r0, 8(r3)
@@ -203,7 +203,7 @@ lbl_802D2D20: lbl_802D2D48:
/* 802D2D48 002CE9A8 7F E3 FB 78 */ mr r3, r31
/* 802D2D4C 002CE9AC 38 80 02 0A */ li r4, 0x20a
-/* 802D2D50 002CE9B0 48 00 F4 D1 */ bl func_802E2220
+/* 802D2D50 002CE9B0 48 00 F4 D1 */ bl SDP_FindAttributeInRec
/* 802D2D54 002CE9B4 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D58 002CE9B8 41 82 00 18 */ beq lbl_802D2D70
/* 802D2D5C 002CE9BC 88 03 00 08 */ lbz r0, 8(r3)
@@ -214,7 +214,7 @@ lbl_802D2D48: lbl_802D2D70:
/* 802D2D70 002CE9D0 7F E3 FB 78 */ mr r3, r31
/* 802D2D74 002CE9D4 38 80 01 00 */ li r4, 0x100
-/* 802D2D78 002CE9D8 48 00 F4 A9 */ bl func_802E2220
+/* 802D2D78 002CE9D8 48 00 F4 A9 */ bl SDP_FindAttributeInRec
/* 802D2D7C 002CE9DC 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D80 002CE9E0 7C 64 1B 78 */ mr r4, r3
/* 802D2D84 002CE9E4 41 82 00 4C */ beq lbl_802D2DD0
@@ -243,7 +243,7 @@ lbl_802D2DD0: lbl_802D2DD8:
/* 802D2DD8 002CEA38 7F E3 FB 78 */ mr r3, r31
/* 802D2DDC 002CEA3C 38 80 01 01 */ li r4, 0x101
-/* 802D2DE0 002CEA40 48 00 F4 41 */ bl func_802E2220
+/* 802D2DE0 002CEA40 48 00 F4 41 */ bl SDP_FindAttributeInRec
/* 802D2DE4 002CEA44 2C 03 00 00 */ cmpwi r3, 0
/* 802D2DE8 002CEA48 7C 64 1B 78 */ mr r4, r3
/* 802D2DEC 002CEA4C 41 82 00 50 */ beq lbl_802D2E3C
@@ -273,7 +273,7 @@ lbl_802D2E3C: lbl_802D2E44:
/* 802D2E44 002CEAA4 7F E3 FB 78 */ mr r3, r31
/* 802D2E48 002CEAA8 38 80 01 02 */ li r4, 0x102
-/* 802D2E4C 002CEAAC 48 00 F3 D5 */ bl func_802E2220
+/* 802D2E4C 002CEAAC 48 00 F3 D5 */ bl SDP_FindAttributeInRec
/* 802D2E50 002CEAB0 2C 03 00 00 */ cmpwi r3, 0
/* 802D2E54 002CEAB4 7C 64 1B 78 */ mr r4, r3
/* 802D2E58 002CEAB8 41 82 00 50 */ beq lbl_802D2EA8
@@ -303,7 +303,7 @@ lbl_802D2EA8: lbl_802D2EB0:
/* 802D2EB0 002CEB10 7F E3 FB 78 */ mr r3, r31
/* 802D2EB4 002CEB14 38 80 02 00 */ li r4, 0x200
-/* 802D2EB8 002CEB18 48 00 F3 69 */ bl func_802E2220
+/* 802D2EB8 002CEB18 48 00 F3 69 */ bl SDP_FindAttributeInRec
/* 802D2EBC 002CEB1C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2EC0 002CEB20 41 82 00 0C */ beq lbl_802D2ECC
/* 802D2EC4 002CEB24 A0 03 00 08 */ lhz r0, 8(r3)
@@ -311,7 +311,7 @@ lbl_802D2EB0: lbl_802D2ECC:
/* 802D2ECC 002CEB2C 7F E3 FB 78 */ mr r3, r31
/* 802D2ED0 002CEB30 38 80 02 03 */ li r4, 0x203
-/* 802D2ED4 002CEB34 48 00 F3 4D */ bl func_802E2220
+/* 802D2ED4 002CEB34 48 00 F3 4D */ bl SDP_FindAttributeInRec
/* 802D2ED8 002CEB38 2C 03 00 00 */ cmpwi r3, 0
/* 802D2EDC 002CEB3C 41 82 00 0C */ beq lbl_802D2EE8
/* 802D2EE0 002CEB40 88 03 00 08 */ lbz r0, 8(r3)
@@ -319,7 +319,7 @@ lbl_802D2ECC: lbl_802D2EE8:
/* 802D2EE8 002CEB48 7F E3 FB 78 */ mr r3, r31
/* 802D2EEC 002CEB4C 38 80 02 02 */ li r4, 0x202
-/* 802D2EF0 002CEB50 48 00 F3 31 */ bl func_802E2220
+/* 802D2EF0 002CEB50 48 00 F3 31 */ bl SDP_FindAttributeInRec
/* 802D2EF4 002CEB54 2C 03 00 00 */ cmpwi r3, 0
/* 802D2EF8 002CEB58 41 82 00 0C */ beq lbl_802D2F04
/* 802D2EFC 002CEB5C 88 03 00 08 */ lbz r0, 8(r3)
@@ -327,7 +327,7 @@ lbl_802D2EE8: lbl_802D2F04:
/* 802D2F04 002CEB64 7F E3 FB 78 */ mr r3, r31
/* 802D2F08 002CEB68 38 80 02 01 */ li r4, 0x201
-/* 802D2F0C 002CEB6C 48 00 F3 15 */ bl func_802E2220
+/* 802D2F0C 002CEB6C 48 00 F3 15 */ bl SDP_FindAttributeInRec
/* 802D2F10 002CEB70 2C 03 00 00 */ cmpwi r3, 0
/* 802D2F14 002CEB74 41 82 00 0C */ beq lbl_802D2F20
/* 802D2F18 002CEB78 A0 03 00 08 */ lhz r0, 8(r3)
@@ -335,7 +335,7 @@ lbl_802D2F04: lbl_802D2F20:
/* 802D2F20 002CEB80 7F E3 FB 78 */ mr r3, r31
/* 802D2F24 002CEB84 38 80 02 0C */ li r4, 0x20c
-/* 802D2F28 002CEB88 48 00 F2 F9 */ bl func_802E2220
+/* 802D2F28 002CEB88 48 00 F2 F9 */ bl SDP_FindAttributeInRec
/* 802D2F2C 002CEB8C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2F30 002CEB90 41 82 00 14 */ beq lbl_802D2F44
/* 802D2F34 002CEB94 A0 03 00 08 */ lhz r0, 8(r3)
@@ -403,7 +403,7 @@ lbl_802D3000: /* 802D3008 002CEC68 38 60 00 05 */ li r3, 5
/* 802D300C 002CEC6C 48 00 00 24 */ b lbl_802D3030
lbl_802D3010:
-/* 802D3010 002CEC70 48 00 07 E1 */ bl func_802D37F0
+/* 802D3010 002CEC70 48 00 07 E1 */ bl hidh_conn_reg
/* 802D3014 002CEC74 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D3018 002CEC78 41 82 00 08 */ beq lbl_802D3020
/* 802D301C 002CEC7C 48 00 00 14 */ b lbl_802D3030
@@ -461,7 +461,7 @@ lbl_802D3084: /* 802D30D0 002CED30 40 82 00 10 */ bne lbl_802D30E0
/* 802D30D4 002CED34 9B DC 00 0C */ stb r30, 0xc(r28)
/* 802D30D8 002CED38 57 63 06 3E */ clrlwi r3, r27, 0x18
-/* 802D30DC 002CED3C 48 00 08 6D */ bl func_802D3948
+/* 802D30DC 002CED3C 48 00 08 6D */ bl hidh_conn_disconnect
lbl_802D30E0:
/* 802D30E0 002CED40 9B FC 00 00 */ stb r31, 0(r28)
/* 802D30E4 002CED44 9B FC 00 10 */ stb r31, 0x10(r28)
@@ -471,7 +471,7 @@ lbl_802D30F0: /* 802D30F0 002CED50 3B 7B 00 01 */ addi r27, r27, 1
/* 802D30F4 002CED54 28 1B 00 10 */ cmplwi r27, 0x10
/* 802D30F8 002CED58 41 80 FF 8C */ blt lbl_802D3084
-/* 802D30FC 002CED5C 48 00 27 09 */ bl func_802D5804
+/* 802D30FC 002CED5C 48 00 27 09 */ bl hidh_conn_dereg
/* 802D3100 002CED60 3C 80 80 57 */ lis r4, lbl_8056B838@ha
/* 802D3104 002CED64 38 00 00 00 */ li r0, 0
/* 802D3108 002CED68 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
@@ -635,7 +635,7 @@ lbl_802D3314: /* 802D3338 002CEF98 40 82 00 10 */ bne lbl_802D3348
/* 802D333C 002CEF9C 9B FD 00 0C */ stb r31, 0xc(r29)
/* 802D3340 002CEFA0 7F 63 DB 78 */ mr r3, r27
-/* 802D3344 002CEFA4 48 00 06 05 */ bl func_802D3948
+/* 802D3344 002CEFA4 48 00 06 05 */ bl hidh_conn_disconnect
lbl_802D3348:
/* 802D3348 002CEFA8 38 00 00 00 */ li r0, 0
/* 802D334C 002CEFAC 3C 60 80 57 */ lis r3, lbl_8056B838@ha
@@ -683,7 +683,7 @@ lbl_802D33C0: lbl_802D33D8:
/* 802D33D8 002CF038 38 00 00 01 */ li r0, 1
/* 802D33DC 002CF03C 98 04 00 0C */ stb r0, 0xc(r4)
-/* 802D33E0 002CF040 48 00 23 28 */ b lbl_802D5708
+/* 802D33E0 002CF040 48 00 23 28 */ b hidh_conn_initiate
/* 802D33E4 002CF044 4E 80 00 20 */ blr
.global HID_HostWriteDev
@@ -767,7 +767,7 @@ lbl_802D34EC: /* 802D34F8 002CF158 7F 86 E3 78 */ mr r6, r28
/* 802D34FC 002CF15C 7F A7 EB 78 */ mr r7, r29
/* 802D3500 002CF160 7F C8 F3 78 */ mr r8, r30
-/* 802D3504 002CF164 48 00 1F 69 */ bl func_802D546C
+/* 802D3504 002CF164 48 00 1F 69 */ bl hidh_conn_snd_data
/* 802D3508 002CF168 7C 78 1B 78 */ mr r24, r3
lbl_802D350C:
/* 802D350C 002CF16C 39 61 00 30 */ addi r11, r1, 0x30
@@ -817,7 +817,7 @@ lbl_802D3580: lbl_802D35A4:
/* 802D35A4 002CF204 9B FD 00 0C */ stb r31, 0xc(r29)
/* 802D35A8 002CF208 7F 63 DB 78 */ mr r3, r27
-/* 802D35AC 002CF20C 48 00 03 9D */ bl func_802D3948
+/* 802D35AC 002CF20C 48 00 03 9D */ bl hidh_conn_disconnect
lbl_802D35B0:
/* 802D35B0 002CF210 39 61 00 20 */ addi r11, r1, 0x20
/* 802D35B4 002CF214 4B EF 3B C1 */ bl _restgpr_27
diff --git a/asm/SDK/BTE/hidh_conn.s b/asm/SDK/BTE/hidh_conn.s new file mode 100644 index 0000000..6eb5d63 --- /dev/null +++ b/asm/SDK/BTE/hidh_conn.s @@ -0,0 +1,2300 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global hidh_conn_reg
+hidh_conn_reg:
+/* 802D37F0 002CF450 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D37F4 002CF454 7C 08 02 A6 */ mflr r0
+/* 802D37F8 002CF458 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802D37FC 002CF45C 38 C0 00 01 */ li r6, 1
+/* 802D3800 002CF460 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D3804 002CF464 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802D3808 002CF468 38 A0 02 80 */ li r5, 0x280
+/* 802D380C 002CF46C 38 60 00 11 */ li r3, 0x11
+/* 802D3810 002CF470 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D3814 002CF474 3F E0 80 40 */ lis r31, lbl_803FDDE8@ha
+/* 802D3818 002CF478 38 9F DD E8 */ addi r4, r31, lbl_803FDDE8@l
+/* 802D381C 002CF47C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D3820 002CF480 3F C0 80 57 */ lis r30, lbl_8056B838@ha
+/* 802D3824 002CF484 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l
+/* 802D3828 002CF488 98 DE 03 46 */ stb r6, 0x346(r30)
+/* 802D382C 002CF48C B0 BE 03 48 */ sth r5, 0x348(r30)
+/* 802D3830 002CF490 98 DE 03 64 */ stb r6, 0x364(r30)
+/* 802D3834 002CF494 B0 1E 03 66 */ sth r0, 0x366(r30)
+/* 802D3838 002CF498 48 00 1F F9 */ bl L2CA_Register
+/* 802D383C 002CF49C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D3840 002CF4A0 40 82 00 28 */ bne lbl_802D3868
+/* 802D3844 002CF4A4 88 1E 04 01 */ lbz r0, 0x401(r30)
+/* 802D3848 002CF4A8 28 00 00 01 */ cmplwi r0, 1
+/* 802D384C 002CF4AC 41 80 00 14 */ blt lbl_802D3860
+/* 802D3850 002CF4B0 3C 80 80 44 */ lis r4, lbl_80442858@ha
+/* 802D3854 002CF4B4 3C 60 00 1E */ lis r3, 0x1e
+/* 802D3858 002CF4B8 38 84 28 58 */ addi r4, r4, lbl_80442858@l
+/* 802D385C 002CF4BC 4B FE 96 B5 */ bl LogMsg_0
+lbl_802D3860:
+/* 802D3860 002CF4C0 38 60 00 0E */ li r3, 0xe
+/* 802D3864 002CF4C4 48 00 00 CC */ b lbl_802D3930
+lbl_802D3868:
+/* 802D3868 002CF4C8 38 9F DD E8 */ addi r4, r31, -8728
+/* 802D386C 002CF4CC 38 60 00 13 */ li r3, 0x13
+/* 802D3870 002CF4D0 48 00 1F C1 */ bl L2CA_Register
+/* 802D3874 002CF4D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D3878 002CF4D8 40 82 00 30 */ bne lbl_802D38A8
+/* 802D387C 002CF4DC 38 60 00 11 */ li r3, 0x11
+/* 802D3880 002CF4E0 48 00 21 4D */ bl L2CA_Deregister
+/* 802D3884 002CF4E4 88 1E 04 01 */ lbz r0, 0x401(r30)
+/* 802D3888 002CF4E8 28 00 00 01 */ cmplwi r0, 1
+/* 802D388C 002CF4EC 41 80 00 14 */ blt lbl_802D38A0
+/* 802D3890 002CF4F0 3C 80 80 44 */ lis r4, lbl_80442878@ha
+/* 802D3894 002CF4F4 3C 60 00 1E */ lis r3, 0x1e
+/* 802D3898 002CF4F8 38 84 28 78 */ addi r4, r4, lbl_80442878@l
+/* 802D389C 002CF4FC 4B FE 96 75 */ bl LogMsg_0
+lbl_802D38A0:
+/* 802D38A0 002CF500 38 60 00 0E */ li r3, 0xe
+/* 802D38A4 002CF504 48 00 00 8C */ b lbl_802D3930
+lbl_802D38A8:
+/* 802D38A8 002CF508 38 00 00 00 */ li r0, 0
+/* 802D38AC 002CF50C 38 60 00 00 */ li r3, 0
+/* 802D38B0 002CF510 98 1E 00 00 */ stb r0, 0(r30)
+/* 802D38B4 002CF514 98 1E 00 10 */ stb r0, 0x10(r30)
+/* 802D38B8 002CF518 98 1E 00 34 */ stb r0, 0x34(r30)
+/* 802D38BC 002CF51C 98 1E 00 44 */ stb r0, 0x44(r30)
+/* 802D38C0 002CF520 98 1E 00 68 */ stb r0, 0x68(r30)
+/* 802D38C4 002CF524 98 1E 00 78 */ stb r0, 0x78(r30)
+/* 802D38C8 002CF528 98 1E 00 9C */ stb r0, 0x9c(r30)
+/* 802D38CC 002CF52C 98 1E 00 AC */ stb r0, 0xac(r30)
+/* 802D38D0 002CF530 98 1E 00 D0 */ stb r0, 0xd0(r30)
+/* 802D38D4 002CF534 98 1E 00 E0 */ stb r0, 0xe0(r30)
+/* 802D38D8 002CF538 98 1E 01 04 */ stb r0, 0x104(r30)
+/* 802D38DC 002CF53C 98 1E 01 14 */ stb r0, 0x114(r30)
+/* 802D38E0 002CF540 98 1E 01 38 */ stb r0, 0x138(r30)
+/* 802D38E4 002CF544 98 1E 01 48 */ stb r0, 0x148(r30)
+/* 802D38E8 002CF548 98 1E 01 6C */ stb r0, 0x16c(r30)
+/* 802D38EC 002CF54C 98 1E 01 7C */ stb r0, 0x17c(r30)
+/* 802D38F0 002CF550 98 1E 01 A0 */ stb r0, 0x1a0(r30)
+/* 802D38F4 002CF554 98 1E 01 B0 */ stb r0, 0x1b0(r30)
+/* 802D38F8 002CF558 98 1E 01 D4 */ stb r0, 0x1d4(r30)
+/* 802D38FC 002CF55C 98 1E 01 E4 */ stb r0, 0x1e4(r30)
+/* 802D3900 002CF560 98 1E 02 08 */ stb r0, 0x208(r30)
+/* 802D3904 002CF564 98 1E 02 18 */ stb r0, 0x218(r30)
+/* 802D3908 002CF568 98 1E 02 3C */ stb r0, 0x23c(r30)
+/* 802D390C 002CF56C 98 1E 02 4C */ stb r0, 0x24c(r30)
+/* 802D3910 002CF570 98 1E 02 70 */ stb r0, 0x270(r30)
+/* 802D3914 002CF574 98 1E 02 80 */ stb r0, 0x280(r30)
+/* 802D3918 002CF578 98 1E 02 A4 */ stb r0, 0x2a4(r30)
+/* 802D391C 002CF57C 98 1E 02 B4 */ stb r0, 0x2b4(r30)
+/* 802D3920 002CF580 98 1E 02 D8 */ stb r0, 0x2d8(r30)
+/* 802D3924 002CF584 98 1E 02 E8 */ stb r0, 0x2e8(r30)
+/* 802D3928 002CF588 98 1E 03 0C */ stb r0, 0x30c(r30)
+/* 802D392C 002CF58C 98 1E 03 1C */ stb r0, 0x31c(r30)
+lbl_802D3930:
+/* 802D3930 002CF590 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D3934 002CF594 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D3938 002CF598 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D393C 002CF59C 7C 08 03 A6 */ mtlr r0
+/* 802D3940 002CF5A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D3944 002CF5A4 4E 80 00 20 */ blr
+
+.global hidh_conn_disconnect
+hidh_conn_disconnect:
+/* 802D3948 002CF5A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D394C 002CF5AC 7C 08 02 A6 */ mflr r0
+/* 802D3950 002CF5B0 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D3954 002CF5B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D3958 002CF5B8 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D395C 002CF5BC 1C 63 00 34 */ mulli r3, r3, 0x34
+/* 802D3960 002CF5C0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D3964 002CF5C4 88 04 04 01 */ lbz r0, 0x401(r4)
+/* 802D3968 002CF5C8 7F E4 1A 14 */ add r31, r4, r3
+/* 802D396C 002CF5CC 28 00 00 04 */ cmplwi r0, 4
+/* 802D3970 002CF5D0 41 80 00 18 */ blt lbl_802D3988
+/* 802D3974 002CF5D4 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D3978 002CF5D8 3C 80 80 44 */ lis r4, lbl_8044289C@ha
+/* 802D397C 002CF5DC 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D3980 002CF5E0 38 84 28 9C */ addi r4, r4, lbl_8044289C@l
+/* 802D3984 002CF5E4 4B FE 95 8D */ bl LogMsg_0
+lbl_802D3988:
+/* 802D3988 002CF5E8 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802D398C 002CF5EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3990 002CF5F0 40 82 00 10 */ bne lbl_802D39A0
+/* 802D3994 002CF5F4 A0 1F 00 16 */ lhz r0, 0x16(r31)
+/* 802D3998 002CF5F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D399C 002CF5FC 41 82 00 30 */ beq lbl_802D39CC
+lbl_802D39A0:
+/* 802D39A0 002CF600 38 00 00 05 */ li r0, 5
+/* 802D39A4 002CF604 98 1F 00 10 */ stb r0, 0x10(r31)
+/* 802D39A8 002CF608 A0 7F 00 16 */ lhz r3, 0x16(r31)
+/* 802D39AC 002CF60C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D39B0 002CF610 41 82 00 08 */ beq lbl_802D39B8
+/* 802D39B4 002CF614 48 00 25 F5 */ bl L2CA_DisconnectReq
+lbl_802D39B8:
+/* 802D39B8 002CF618 A0 7F 00 14 */ lhz r3, 0x14(r31)
+/* 802D39BC 002CF61C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D39C0 002CF620 41 82 00 14 */ beq lbl_802D39D4
+/* 802D39C4 002CF624 48 00 25 E5 */ bl L2CA_DisconnectReq
+/* 802D39C8 002CF628 48 00 00 0C */ b lbl_802D39D4
+lbl_802D39CC:
+/* 802D39CC 002CF62C 38 00 00 00 */ li r0, 0
+/* 802D39D0 002CF630 98 1F 00 10 */ stb r0, 0x10(r31)
+lbl_802D39D4:
+/* 802D39D4 002CF634 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D39D8 002CF638 38 60 00 00 */ li r3, 0
+/* 802D39DC 002CF63C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D39E0 002CF640 7C 08 03 A6 */ mtlr r0
+/* 802D39E4 002CF644 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D39E8 002CF648 4E 80 00 20 */ blr
+
+hidh_sec_check_complete_term:
+/* 802D39EC 002CF64C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D39F0 002CF650 7C 08 02 A6 */ mflr r0
+/* 802D39F4 002CF654 3C 60 4E C5 */ lis r3, 0x4EC4EC4F@ha
+/* 802D39F8 002CF658 2C 05 00 00 */ cmpwi r5, 0
+/* 802D39FC 002CF65C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D3A00 002CF660 38 63 EC 4F */ addi r3, r3, 0x4EC4EC4F@l
+/* 802D3A04 002CF664 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D3A08 002CF668 3F E0 80 57 */ lis r31, lbl_8056B838@ha
+/* 802D3A0C 002CF66C 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l
+/* 802D3A10 002CF670 7C 1F 20 50 */ subf r0, r31, r4
+/* 802D3A14 002CF674 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D3A18 002CF678 7C 03 00 96 */ mulhw r0, r3, r0
+/* 802D3A1C 002CF67C 7C 9E 23 78 */ mr r30, r4
+/* 802D3A20 002CF680 7C 00 26 70 */ srawi r0, r0, 4
+/* 802D3A24 002CF684 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802D3A28 002CF688 7C 00 1A 14 */ add r0, r0, r3
+/* 802D3A2C 002CF68C 54 06 06 3E */ clrlwi r6, r0, 0x18
+/* 802D3A30 002CF690 40 82 00 48 */ bne lbl_802D3A78
+/* 802D3A34 002CF694 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D3A38 002CF698 28 00 00 06 */ cmplwi r0, 6
+/* 802D3A3C 002CF69C 40 82 00 3C */ bne lbl_802D3A78
+/* 802D3A40 002CF6A0 38 60 00 00 */ li r3, 0
+/* 802D3A44 002CF6A4 38 00 00 02 */ li r0, 2
+/* 802D3A48 002CF6A8 B0 64 00 1A */ sth r3, 0x1a(r4)
+/* 802D3A4C 002CF6AC 38 64 00 01 */ addi r3, r4, 1
+/* 802D3A50 002CF6B0 A0 BE 00 14 */ lhz r5, 0x14(r30)
+/* 802D3A54 002CF6B4 38 C0 00 00 */ li r6, 0
+/* 802D3A58 002CF6B8 98 04 00 10 */ stb r0, 0x10(r4)
+/* 802D3A5C 002CF6BC 38 E0 00 00 */ li r7, 0
+/* 802D3A60 002CF6C0 88 84 00 12 */ lbz r4, 0x12(r4)
+/* 802D3A64 002CF6C4 48 00 22 2D */ bl L2CA_ConnectRsp
+/* 802D3A68 002CF6C8 A0 7E 00 14 */ lhz r3, 0x14(r30)
+/* 802D3A6C 002CF6CC 38 9F 03 44 */ addi r4, r31, 0x344
+/* 802D3A70 002CF6D0 48 00 23 B1 */ bl L2CA_ConfigReq
+/* 802D3A74 002CF6D4 48 00 00 90 */ b lbl_802D3B04
+lbl_802D3A78:
+/* 802D3A78 002CF6D8 2C 05 00 00 */ cmpwi r5, 0
+/* 802D3A7C 002CF6DC 41 82 00 88 */ beq lbl_802D3B04
+/* 802D3A80 002CF6E0 38 00 00 0F */ li r0, 0xf
+/* 802D3A84 002CF6E4 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D3A88 002CF6E8 B0 04 00 1A */ sth r0, 0x1a(r4)
+/* 802D3A8C 002CF6EC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D3A90 002CF6F0 1C 86 00 34 */ mulli r4, r6, 0x34
+/* 802D3A94 002CF6F4 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D3A98 002CF6F8 28 00 00 04 */ cmplwi r0, 4
+/* 802D3A9C 002CF6FC 7F E3 22 14 */ add r31, r3, r4
+/* 802D3AA0 002CF700 41 80 00 18 */ blt lbl_802D3AB8
+/* 802D3AA4 002CF704 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D3AA8 002CF708 3C 80 80 44 */ lis r4, lbl_8044289C@ha
+/* 802D3AAC 002CF70C 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D3AB0 002CF710 38 84 28 9C */ addi r4, r4, lbl_8044289C@l
+/* 802D3AB4 002CF714 4B FE 94 5D */ bl LogMsg_0
+lbl_802D3AB8:
+/* 802D3AB8 002CF718 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802D3ABC 002CF71C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3AC0 002CF720 40 82 00 10 */ bne lbl_802D3AD0
+/* 802D3AC4 002CF724 A0 1F 00 16 */ lhz r0, 0x16(r31)
+/* 802D3AC8 002CF728 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3ACC 002CF72C 41 82 00 30 */ beq lbl_802D3AFC
+lbl_802D3AD0:
+/* 802D3AD0 002CF730 38 00 00 05 */ li r0, 5
+/* 802D3AD4 002CF734 98 1F 00 10 */ stb r0, 0x10(r31)
+/* 802D3AD8 002CF738 A0 7F 00 16 */ lhz r3, 0x16(r31)
+/* 802D3ADC 002CF73C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D3AE0 002CF740 41 82 00 08 */ beq lbl_802D3AE8
+/* 802D3AE4 002CF744 48 00 24 C5 */ bl L2CA_DisconnectReq
+lbl_802D3AE8:
+/* 802D3AE8 002CF748 A0 7F 00 14 */ lhz r3, 0x14(r31)
+/* 802D3AEC 002CF74C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D3AF0 002CF750 41 82 00 14 */ beq lbl_802D3B04
+/* 802D3AF4 002CF754 48 00 24 B5 */ bl L2CA_DisconnectReq
+/* 802D3AF8 002CF758 48 00 00 0C */ b lbl_802D3B04
+lbl_802D3AFC:
+/* 802D3AFC 002CF75C 38 00 00 00 */ li r0, 0
+/* 802D3B00 002CF760 98 1F 00 10 */ stb r0, 0x10(r31)
+lbl_802D3B04:
+/* 802D3B04 002CF764 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D3B08 002CF768 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D3B0C 002CF76C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D3B10 002CF770 7C 08 03 A6 */ mtlr r0
+/* 802D3B14 002CF774 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D3B18 002CF778 4E 80 00 20 */ blr
+
+hidh_l2cif_connect_ind:
+/* 802D3B1C 002CF77C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D3B20 002CF780 7C 08 02 A6 */ mflr r0
+/* 802D3B24 002CF784 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D3B28 002CF788 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D3B2C 002CF78C 4B EF 35 F1 */ bl _savegpr_24
+/* 802D3B30 002CF790 3C E0 80 57 */ lis r7, lbl_8056B838@ha
+/* 802D3B34 002CF794 3F E0 80 44 */ lis r31, lbl_80442858@ha
+/* 802D3B38 002CF798 38 E7 B8 38 */ addi r7, r7, lbl_8056B838@l
+/* 802D3B3C 002CF79C 7C 7A 1B 78 */ mr r26, r3
+/* 802D3B40 002CF7A0 88 07 04 01 */ lbz r0, 0x401(r7)
+/* 802D3B44 002CF7A4 7C 9B 23 78 */ mr r27, r4
+/* 802D3B48 002CF7A8 7C BC 2B 78 */ mr r28, r5
+/* 802D3B4C 002CF7AC 7C DD 33 78 */ mr r29, r6
+/* 802D3B50 002CF7B0 28 00 00 04 */ cmplwi r0, 4
+/* 802D3B54 002CF7B4 3B FF 28 58 */ addi r31, r31, lbl_80442858@l
+/* 802D3B58 002CF7B8 3B 20 00 01 */ li r25, 1
+/* 802D3B5C 002CF7BC 41 80 00 18 */ blt lbl_802D3B74
+/* 802D3B60 002CF7C0 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D3B64 002CF7C4 7F 66 DB 78 */ mr r6, r27
+/* 802D3B68 002CF7C8 38 9F 00 58 */ addi r4, r31, 0x58
+/* 802D3B6C 002CF7CC 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D3B70 002CF7D0 4B FE 93 D1 */ bl LogMsg_2
+lbl_802D3B74:
+/* 802D3B74 002CF7D4 3F C0 80 57 */ lis r30, lbl_8056B838@ha
+/* 802D3B78 002CF7D8 3B 00 00 00 */ li r24, 0
+/* 802D3B7C 002CF7DC 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l
+lbl_802D3B80:
+/* 802D3B80 002CF7E0 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802D3B84 002CF7E4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3B88 002CF7E8 41 82 00 1C */ beq lbl_802D3BA4
+/* 802D3B8C 002CF7EC 7F 43 D3 78 */ mr r3, r26
+/* 802D3B90 002CF7F0 38 9E 00 01 */ addi r4, r30, 1
+/* 802D3B94 002CF7F4 38 A0 00 06 */ li r5, 6
+/* 802D3B98 002CF7F8 4B EF 68 01 */ bl memcmp
+/* 802D3B9C 002CF7FC 2C 03 00 00 */ cmpwi r3, 0
+/* 802D3BA0 002CF800 41 82 00 14 */ beq lbl_802D3BB4
+lbl_802D3BA4:
+/* 802D3BA4 002CF804 3B 18 00 01 */ addi r24, r24, 1
+/* 802D3BA8 002CF808 3B DE 00 34 */ addi r30, r30, 0x34
+/* 802D3BAC 002CF80C 2C 18 00 10 */ cmpwi r24, 0x10
+/* 802D3BB0 002CF810 41 80 FF D0 */ blt lbl_802D3B80
+lbl_802D3BB4:
+/* 802D3BB4 002CF814 2C 18 00 10 */ cmpwi r24, 0x10
+/* 802D3BB8 002CF818 40 82 00 20 */ bne lbl_802D3BD8
+/* 802D3BBC 002CF81C 7F 43 D3 78 */ mr r3, r26
+/* 802D3BC0 002CF820 7F A4 EB 78 */ mr r4, r29
+/* 802D3BC4 002CF824 7F 65 DB 78 */ mr r5, r27
+/* 802D3BC8 002CF828 38 C0 00 03 */ li r6, 3
+/* 802D3BCC 002CF82C 38 E0 00 00 */ li r7, 0
+/* 802D3BD0 002CF830 48 00 20 C1 */ bl L2CA_ConnectRsp
+/* 802D3BD4 002CF834 48 00 01 88 */ b lbl_802D3D5C
+lbl_802D3BD8:
+/* 802D3BD8 002CF838 1C 18 00 34 */ mulli r0, r24, 0x34
+/* 802D3BDC 002CF83C 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D3BE0 002CF840 28 1C 00 13 */ cmplwi r28, 0x13
+/* 802D3BE4 002CF844 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D3BE8 002CF848 7F C3 02 14 */ add r30, r3, r0
+/* 802D3BEC 002CF84C 40 82 00 68 */ bne lbl_802D3C54
+/* 802D3BF0 002CF850 A0 1E 00 14 */ lhz r0, 0x14(r30)
+/* 802D3BF4 002CF854 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3BF8 002CF858 40 82 00 24 */ bne lbl_802D3C1C
+/* 802D3BFC 002CF85C 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D3C00 002CF860 28 00 00 02 */ cmplwi r0, 2
+/* 802D3C04 002CF864 41 80 00 14 */ blt lbl_802D3C18
+/* 802D3C08 002CF868 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D3C0C 002CF86C 38 9F 00 8C */ addi r4, r31, 0x8c
+/* 802D3C10 002CF870 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D3C14 002CF874 4B FE 92 FD */ bl LogMsg_0
+lbl_802D3C18:
+/* 802D3C18 002CF878 3B 20 00 00 */ li r25, 0
+lbl_802D3C1C:
+/* 802D3C1C 002CF87C 88 BE 00 10 */ lbz r5, 0x10(r30)
+/* 802D3C20 002CF880 28 05 00 02 */ cmplwi r5, 2
+/* 802D3C24 002CF884 41 82 00 5C */ beq lbl_802D3C80
+/* 802D3C28 002CF888 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D3C2C 002CF88C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D3C30 002CF890 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D3C34 002CF894 28 00 00 02 */ cmplwi r0, 2
+/* 802D3C38 002CF898 41 80 00 14 */ blt lbl_802D3C4C
+/* 802D3C3C 002CF89C 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D3C40 002CF8A0 38 9F 00 C0 */ addi r4, r31, 0xc0
+/* 802D3C44 002CF8A4 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D3C48 002CF8A8 4B FE 92 E1 */ bl LogMsg_1
+lbl_802D3C4C:
+/* 802D3C4C 002CF8AC 3B 20 00 00 */ li r25, 0
+/* 802D3C50 002CF8B0 48 00 00 30 */ b lbl_802D3C80
+lbl_802D3C54:
+/* 802D3C54 002CF8B4 88 BE 00 10 */ lbz r5, 0x10(r30)
+/* 802D3C58 002CF8B8 2C 05 00 00 */ cmpwi r5, 0
+/* 802D3C5C 002CF8BC 41 82 00 24 */ beq lbl_802D3C80
+/* 802D3C60 002CF8C0 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D3C64 002CF8C4 28 00 00 02 */ cmplwi r0, 2
+/* 802D3C68 002CF8C8 41 80 00 14 */ blt lbl_802D3C7C
+/* 802D3C6C 002CF8CC 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D3C70 002CF8D0 38 9F 00 F0 */ addi r4, r31, 0xf0
+/* 802D3C74 002CF8D4 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D3C78 002CF8D8 4B FE 92 B1 */ bl LogMsg_1
+lbl_802D3C7C:
+/* 802D3C7C 002CF8DC 3B 20 00 00 */ li r25, 0
+lbl_802D3C80:
+/* 802D3C80 002CF8E0 2C 19 00 00 */ cmpwi r25, 0
+/* 802D3C84 002CF8E4 40 82 00 20 */ bne lbl_802D3CA4
+/* 802D3C88 002CF8E8 7F 43 D3 78 */ mr r3, r26
+/* 802D3C8C 002CF8EC 7F A4 EB 78 */ mr r4, r29
+/* 802D3C90 002CF8F0 7F 65 DB 78 */ mr r5, r27
+/* 802D3C94 002CF8F4 38 C0 00 04 */ li r6, 4
+/* 802D3C98 002CF8F8 38 E0 00 00 */ li r7, 0
+/* 802D3C9C 002CF8FC 48 00 1F F5 */ bl L2CA_ConnectRsp
+/* 802D3CA0 002CF900 48 00 00 BC */ b lbl_802D3D5C
+lbl_802D3CA4:
+/* 802D3CA4 002CF904 28 1C 00 11 */ cmplwi r28, 0x11
+/* 802D3CA8 002CF908 40 82 00 58 */ bne lbl_802D3D00
+/* 802D3CAC 002CF90C 38 00 00 00 */ li r0, 0
+/* 802D3CB0 002CF910 3D 00 80 2D */ lis r8, hidh_sec_check_complete_term@ha
+/* 802D3CB4 002CF914 98 1E 00 11 */ stb r0, 0x11(r30)
+/* 802D3CB8 002CF918 38 E0 01 00 */ li r7, 0x100
+/* 802D3CBC 002CF91C 38 00 00 06 */ li r0, 6
+/* 802D3CC0 002CF920 7F C9 F3 78 */ mr r9, r30
+/* 802D3CC4 002CF924 B3 7E 00 14 */ sth r27, 0x14(r30)
+/* 802D3CC8 002CF928 38 7E 00 01 */ addi r3, r30, 1
+/* 802D3CCC 002CF92C 39 08 39 EC */ addi r8, r8, hidh_sec_check_complete_term@l
+/* 802D3CD0 002CF930 38 80 00 11 */ li r4, 0x11
+/* 802D3CD4 002CF934 9B BE 00 12 */ stb r29, 0x12(r30)
+/* 802D3CD8 002CF938 38 A0 00 00 */ li r5, 0
+/* 802D3CDC 002CF93C 38 C0 00 06 */ li r6, 6
+/* 802D3CE0 002CF940 B0 FE 00 1A */ sth r7, 0x1a(r30)
+/* 802D3CE4 002CF944 98 1E 00 10 */ stb r0, 0x10(r30)
+/* 802D3CE8 002CF948 A0 1E 00 08 */ lhz r0, 8(r30)
+/* 802D3CEC 002CF94C 54 00 8F FE */ rlwinm r0, r0, 0x11, 0x1f, 0x1f
+/* 802D3CF0 002CF950 7C E0 00 D0 */ neg r7, r0
+/* 802D3CF4 002CF954 38 E7 00 02 */ addi r7, r7, 2
+/* 802D3CF8 002CF958 4B FF 7A 85 */ bl btm_sec_mx_access_request
+/* 802D3CFC 002CF95C 48 00 00 60 */ b lbl_802D3D5C
+lbl_802D3D00:
+/* 802D3D00 002CF960 38 00 00 03 */ li r0, 3
+/* 802D3D04 002CF964 7F 43 D3 78 */ mr r3, r26
+/* 802D3D08 002CF968 98 1E 00 10 */ stb r0, 0x10(r30)
+/* 802D3D0C 002CF96C 7F A4 EB 78 */ mr r4, r29
+/* 802D3D10 002CF970 7F 65 DB 78 */ mr r5, r27
+/* 802D3D14 002CF974 38 C0 00 00 */ li r6, 0
+/* 802D3D18 002CF978 B3 7E 00 16 */ sth r27, 0x16(r30)
+/* 802D3D1C 002CF97C 38 E0 00 00 */ li r7, 0
+/* 802D3D20 002CF980 48 00 1F 71 */ bl L2CA_ConnectRsp
+/* 802D3D24 002CF984 3F 40 80 57 */ lis r26, lbl_8056B838@ha
+/* 802D3D28 002CF988 7F 63 DB 78 */ mr r3, r27
+/* 802D3D2C 002CF98C 3B 5A B8 38 */ addi r26, r26, lbl_8056B838@l
+/* 802D3D30 002CF990 38 9A 03 44 */ addi r4, r26, 0x344
+/* 802D3D34 002CF994 48 00 20 ED */ bl L2CA_ConfigReq
+/* 802D3D38 002CF998 88 1A 04 01 */ lbz r0, 0x401(r26)
+/* 802D3D3C 002CF99C 28 00 00 04 */ cmplwi r0, 4
+/* 802D3D40 002CF9A0 41 80 00 1C */ blt lbl_802D3D5C
+/* 802D3D44 002CF9A4 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D3D48 002CF9A8 7F 85 E3 78 */ mr r5, r28
+/* 802D3D4C 002CF9AC 7F 66 DB 78 */ mr r6, r27
+/* 802D3D50 002CF9B0 38 9F 01 20 */ addi r4, r31, 0x120
+/* 802D3D54 002CF9B4 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D3D58 002CF9B8 4B FE 91 E9 */ bl LogMsg_2
+lbl_802D3D5C:
+/* 802D3D5C 002CF9BC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D3D60 002CF9C0 4B EF 34 09 */ bl _restgpr_24
+/* 802D3D64 002CF9C4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D3D68 002CF9C8 7C 08 03 A6 */ mtlr r0
+/* 802D3D6C 002CF9CC 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D3D70 002CF9D0 4E 80 00 20 */ blr
+
+.global hidh_proc_repage_timeout
+hidh_proc_repage_timeout:
+/* 802D3D74 002CF9D4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D3D78 002CF9D8 7C 08 02 A6 */ mflr r0
+/* 802D3D7C 002CF9DC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D3D80 002CF9E0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D3D84 002CF9E4 7C 7F 1B 78 */ mr r31, r3
+/* 802D3D88 002CF9E8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D3D8C 002CF9EC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D3D90 002CF9F0 3F A0 80 57 */ lis r29, lbl_8056B838@ha
+/* 802D3D94 002CF9F4 3B BD B8 38 */ addi r29, r29, lbl_8056B838@l
+/* 802D3D98 002CF9F8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802D3D9C 002CF9FC 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 802D3DA0 002CFA00 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802D3DA4 002CFA04 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D3DA8 002CFA08 7F 9D 02 14 */ add r28, r29, r0
+/* 802D3DAC 002CFA0C 88 1C 00 10 */ lbz r0, 0x10(r28)
+/* 802D3DB0 002CFA10 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3DB4 002CFA14 40 82 00 A4 */ bne lbl_802D3E58
+/* 802D3DB8 002CFA18 38 A0 00 00 */ li r5, 0
+/* 802D3DBC 002CFA1C 38 00 01 00 */ li r0, 0x100
+/* 802D3DC0 002CFA20 B0 BC 00 14 */ sth r5, 0x14(r28)
+/* 802D3DC4 002CFA24 3B C0 00 01 */ li r30, 1
+/* 802D3DC8 002CFA28 38 9C 00 01 */ addi r4, r28, 1
+/* 802D3DCC 002CFA2C 38 60 00 11 */ li r3, 0x11
+/* 802D3DD0 002CFA30 B0 BC 00 16 */ sth r5, 0x16(r28)
+/* 802D3DD4 002CFA34 B0 1C 00 1A */ sth r0, 0x1a(r28)
+/* 802D3DD8 002CFA38 9B DC 00 11 */ stb r30, 0x11(r28)
+/* 802D3DDC 002CFA3C 48 00 1C 81 */ bl L2CA_ConnectReq
+/* 802D3DE0 002CFA40 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802D3DE4 002CFA44 B0 7C 00 14 */ sth r3, 0x14(r28)
+/* 802D3DE8 002CFA48 40 82 00 6C */ bne lbl_802D3E54
+/* 802D3DEC 002CFA4C 88 1D 04 01 */ lbz r0, 0x401(r29)
+/* 802D3DF0 002CFA50 28 00 00 02 */ cmplwi r0, 2
+/* 802D3DF4 002CFA54 41 80 00 18 */ blt lbl_802D3E0C
+/* 802D3DF8 002CFA58 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D3DFC 002CFA5C 3C 80 80 44 */ lis r4, lbl_804429BC@ha
+/* 802D3E00 002CFA60 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D3E04 002CFA64 38 84 29 BC */ addi r4, r4, lbl_804429BC@l
+/* 802D3E08 002CFA68 4B FE 91 09 */ bl LogMsg_0
+lbl_802D3E0C:
+/* 802D3E0C 002CFA6C 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D3E10 002CFA70 3C 60 4E C5 */ lis r3, 0x4EC4EC4F@ha
+/* 802D3E14 002CFA74 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D3E18 002CFA78 38 80 00 01 */ li r4, 1
+/* 802D3E1C 002CFA7C 7C 05 E0 50 */ subf r0, r5, r28
+/* 802D3E20 002CFA80 38 E3 EC 4F */ addi r7, r3, 0x4EC4EC4F@l
+/* 802D3E24 002CFA84 7C 07 00 96 */ mulhw r0, r7, r0
+/* 802D3E28 002CFA88 81 85 03 40 */ lwz r12, 0x340(r5)
+/* 802D3E2C 002CFA8C 38 A0 00 0E */ li r5, 0xe
+/* 802D3E30 002CFA90 38 C0 00 00 */ li r6, 0
+/* 802D3E34 002CFA94 7C 00 26 70 */ srawi r0, r0, 4
+/* 802D3E38 002CFA98 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802D3E3C 002CFA9C 7C 00 1A 14 */ add r0, r0, r3
+/* 802D3E40 002CFAA0 7C 07 00 16 */ mulhwu r0, r7, r0
+/* 802D3E44 002CFAA4 54 03 E6 3E */ rlwinm r3, r0, 0x1c, 0x18, 0x1f
+/* 802D3E48 002CFAA8 7D 89 03 A6 */ mtctr r12
+/* 802D3E4C 002CFAAC 4E 80 04 21 */ bctrl
+/* 802D3E50 002CFAB0 48 00 00 08 */ b lbl_802D3E58
+lbl_802D3E54:
+/* 802D3E54 002CFAB4 9B DC 00 10 */ stb r30, 0x10(r28)
+lbl_802D3E58:
+/* 802D3E58 002CFAB8 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802D3E5C 002CFABC 3C E0 80 57 */ lis r7, lbl_8056B838@ha
+/* 802D3E60 002CFAC0 38 E7 B8 38 */ addi r7, r7, lbl_8056B838@l
+/* 802D3E64 002CFAC4 38 80 00 02 */ li r4, 2
+/* 802D3E68 002CFAC8 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D3E6C 002CFACC 38 C0 00 00 */ li r6, 0
+/* 802D3E70 002CFAD0 7C A7 02 14 */ add r5, r7, r0
+/* 802D3E74 002CFAD4 88 65 00 0C */ lbz r3, 0xc(r5)
+/* 802D3E78 002CFAD8 38 03 00 01 */ addi r0, r3, 1
+/* 802D3E7C 002CFADC 98 05 00 0C */ stb r0, 0xc(r5)
+/* 802D3E80 002CFAE0 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 802D3E84 002CFAE4 81 87 03 40 */ lwz r12, 0x340(r7)
+/* 802D3E88 002CFAE8 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D3E8C 002CFAEC 54 63 06 3E */ clrlwi r3, r3, 0x18
+/* 802D3E90 002CFAF0 7C A7 02 14 */ add r5, r7, r0
+/* 802D3E94 002CFAF4 88 A5 00 0C */ lbz r5, 0xc(r5)
+/* 802D3E98 002CFAF8 7D 89 03 A6 */ mtctr r12
+/* 802D3E9C 002CFAFC 4E 80 04 21 */ bctrl
+/* 802D3EA0 002CFB00 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D3EA4 002CFB04 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D3EA8 002CFB08 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D3EAC 002CFB0C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D3EB0 002CFB10 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802D3EB4 002CFB14 7C 08 03 A6 */ mtlr r0
+/* 802D3EB8 002CFB18 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D3EBC 002CFB1C 4E 80 00 20 */ blr
+
+hidh_sec_check_complete_orig:
+/* 802D3EC0 002CFB20 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D3EC4 002CFB24 7C 08 02 A6 */ mflr r0
+/* 802D3EC8 002CFB28 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D3ECC 002CFB2C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D3ED0 002CFB30 4B EF 32 55 */ bl _savegpr_26
+/* 802D3ED4 002CFB34 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D3ED8 002CFB38 3C 60 4E C5 */ lis r3, 0x4EC4EC4F@ha
+/* 802D3EDC 002CFB3C 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D3EE0 002CFB40 3F E0 80 44 */ lis r31, lbl_80442858@ha
+/* 802D3EE4 002CFB44 7C 06 20 50 */ subf r0, r6, r4
+/* 802D3EE8 002CFB48 38 63 EC 4F */ addi r3, r3, 0x4EC4EC4F@l
+/* 802D3EEC 002CFB4C 7C 03 00 96 */ mulhw r0, r3, r0
+/* 802D3EF0 002CFB50 2C 05 00 00 */ cmpwi r5, 0
+/* 802D3EF4 002CFB54 7C 9C 23 78 */ mr r28, r4
+/* 802D3EF8 002CFB58 7C BD 2B 78 */ mr r29, r5
+/* 802D3EFC 002CFB5C 3B FF 28 58 */ addi r31, r31, lbl_80442858@l
+/* 802D3F00 002CFB60 7C 00 26 70 */ srawi r0, r0, 4
+/* 802D3F04 002CFB64 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802D3F08 002CFB68 7C 00 1A 14 */ add r0, r0, r3
+/* 802D3F0C 002CFB6C 54 1E 06 3E */ clrlwi r30, r0, 0x18
+/* 802D3F10 002CFB70 40 82 01 18 */ bne lbl_802D4028
+/* 802D3F14 002CFB74 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D3F18 002CFB78 28 00 00 06 */ cmplwi r0, 6
+/* 802D3F1C 002CFB7C 40 82 01 0C */ bne lbl_802D4028
+/* 802D3F20 002CFB80 88 06 04 01 */ lbz r0, 0x401(r6)
+/* 802D3F24 002CFB84 28 00 00 04 */ cmplwi r0, 4
+/* 802D3F28 002CFB88 41 80 00 14 */ blt lbl_802D3F3C
+/* 802D3F2C 002CFB8C 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D3F30 002CFB90 38 9F 01 80 */ addi r4, r31, 0x180
+/* 802D3F34 002CFB94 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D3F38 002CFB98 4B FE 8F D9 */ bl LogMsg_0
+lbl_802D3F3C:
+/* 802D3F3C 002CFB9C 1C 1E 00 34 */ mulli r0, r30, 0x34
+/* 802D3F40 002CFBA0 3F 60 80 57 */ lis r27, lbl_8056B838@ha
+/* 802D3F44 002CFBA4 38 60 00 00 */ li r3, 0
+/* 802D3F48 002CFBA8 3B 7B B8 38 */ addi r27, r27, lbl_8056B838@l
+/* 802D3F4C 002CFBAC B0 7C 00 1A */ sth r3, 0x1a(r28)
+/* 802D3F50 002CFBB0 7F 5B 02 14 */ add r26, r27, r0
+/* 802D3F54 002CFBB4 38 9A 00 01 */ addi r4, r26, 1
+/* 802D3F58 002CFBB8 38 60 00 13 */ li r3, 0x13
+/* 802D3F5C 002CFBBC 48 00 1B 01 */ bl L2CA_ConnectReq
+/* 802D3F60 002CFBC0 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802D3F64 002CFBC4 B0 7C 00 16 */ sth r3, 0x16(r28)
+/* 802D3F68 002CFBC8 40 82 00 B8 */ bne lbl_802D4020
+/* 802D3F6C 002CFBCC 88 1B 04 01 */ lbz r0, 0x401(r27)
+/* 802D3F70 002CFBD0 28 00 00 02 */ cmplwi r0, 2
+/* 802D3F74 002CFBD4 41 80 00 14 */ blt lbl_802D3F88
+/* 802D3F78 002CFBD8 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D3F7C 002CFBDC 38 9F 01 A0 */ addi r4, r31, 0x1a0
+/* 802D3F80 002CFBE0 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D3F84 002CFBE4 4B FE 8F 8D */ bl LogMsg_0
+lbl_802D3F88:
+/* 802D3F88 002CFBE8 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D3F8C 002CFBEC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D3F90 002CFBF0 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D3F94 002CFBF4 28 00 00 04 */ cmplwi r0, 4
+/* 802D3F98 002CFBF8 41 80 00 14 */ blt lbl_802D3FAC
+/* 802D3F9C 002CFBFC 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D3FA0 002CFC00 38 9F 00 44 */ addi r4, r31, 0x44
+/* 802D3FA4 002CFC04 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D3FA8 002CFC08 4B FE 8F 69 */ bl LogMsg_0
+lbl_802D3FAC:
+/* 802D3FAC 002CFC0C A0 1A 00 14 */ lhz r0, 0x14(r26)
+/* 802D3FB0 002CFC10 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3FB4 002CFC14 40 82 00 10 */ bne lbl_802D3FC4
+/* 802D3FB8 002CFC18 A0 1A 00 16 */ lhz r0, 0x16(r26)
+/* 802D3FBC 002CFC1C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D3FC0 002CFC20 41 82 00 30 */ beq lbl_802D3FF0
+lbl_802D3FC4:
+/* 802D3FC4 002CFC24 38 00 00 05 */ li r0, 5
+/* 802D3FC8 002CFC28 98 1A 00 10 */ stb r0, 0x10(r26)
+/* 802D3FCC 002CFC2C A0 7A 00 16 */ lhz r3, 0x16(r26)
+/* 802D3FD0 002CFC30 2C 03 00 00 */ cmpwi r3, 0
+/* 802D3FD4 002CFC34 41 82 00 08 */ beq lbl_802D3FDC
+/* 802D3FD8 002CFC38 48 00 1F D1 */ bl L2CA_DisconnectReq
+lbl_802D3FDC:
+/* 802D3FDC 002CFC3C A0 7A 00 14 */ lhz r3, 0x14(r26)
+/* 802D3FE0 002CFC40 2C 03 00 00 */ cmpwi r3, 0
+/* 802D3FE4 002CFC44 41 82 00 14 */ beq lbl_802D3FF8
+/* 802D3FE8 002CFC48 48 00 1F C1 */ bl L2CA_DisconnectReq
+/* 802D3FEC 002CFC4C 48 00 00 0C */ b lbl_802D3FF8
+lbl_802D3FF0:
+/* 802D3FF0 002CFC50 38 00 00 00 */ li r0, 0
+/* 802D3FF4 002CFC54 98 1A 00 10 */ stb r0, 0x10(r26)
+lbl_802D3FF8:
+/* 802D3FF8 002CFC58 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D3FFC 002CFC5C 7F C3 F3 78 */ mr r3, r30
+/* 802D4000 002CFC60 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D4004 002CFC64 38 80 00 01 */ li r4, 1
+/* 802D4008 002CFC68 81 85 03 40 */ lwz r12, 0x340(r5)
+/* 802D400C 002CFC6C 38 A0 02 00 */ li r5, 0x200
+/* 802D4010 002CFC70 38 C0 00 00 */ li r6, 0
+/* 802D4014 002CFC74 7D 89 03 A6 */ mtctr r12
+/* 802D4018 002CFC78 4E 80 04 21 */ bctrl
+/* 802D401C 002CFC7C 48 00 00 A0 */ b lbl_802D40BC
+lbl_802D4020:
+/* 802D4020 002CFC80 38 00 00 02 */ li r0, 2
+/* 802D4024 002CFC84 98 1C 00 10 */ stb r0, 0x10(r28)
+lbl_802D4028:
+/* 802D4028 002CFC88 2C 1D 00 00 */ cmpwi r29, 0
+/* 802D402C 002CFC8C 41 82 00 90 */ beq lbl_802D40BC
+/* 802D4030 002CFC90 88 1C 00 10 */ lbz r0, 0x10(r28)
+/* 802D4034 002CFC94 28 00 00 06 */ cmplwi r0, 6
+/* 802D4038 002CFC98 40 82 00 84 */ bne lbl_802D40BC
+/* 802D403C 002CFC9C 38 00 00 0F */ li r0, 0xf
+/* 802D4040 002CFCA0 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4044 002CFCA4 B0 1C 00 1A */ sth r0, 0x1a(r28)
+/* 802D4048 002CFCA8 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D404C 002CFCAC 1C 9E 00 34 */ mulli r4, r30, 0x34
+/* 802D4050 002CFCB0 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4054 002CFCB4 28 00 00 04 */ cmplwi r0, 4
+/* 802D4058 002CFCB8 7F 63 22 14 */ add r27, r3, r4
+/* 802D405C 002CFCBC 41 80 00 14 */ blt lbl_802D4070
+/* 802D4060 002CFCC0 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D4064 002CFCC4 38 9F 00 44 */ addi r4, r31, 0x44
+/* 802D4068 002CFCC8 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D406C 002CFCCC 4B FE 8E A5 */ bl LogMsg_0
+lbl_802D4070:
+/* 802D4070 002CFCD0 A0 1B 00 14 */ lhz r0, 0x14(r27)
+/* 802D4074 002CFCD4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4078 002CFCD8 40 82 00 10 */ bne lbl_802D4088
+/* 802D407C 002CFCDC A0 1B 00 16 */ lhz r0, 0x16(r27)
+/* 802D4080 002CFCE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4084 002CFCE4 41 82 00 30 */ beq lbl_802D40B4
+lbl_802D4088:
+/* 802D4088 002CFCE8 38 00 00 05 */ li r0, 5
+/* 802D408C 002CFCEC 98 1B 00 10 */ stb r0, 0x10(r27)
+/* 802D4090 002CFCF0 A0 7B 00 16 */ lhz r3, 0x16(r27)
+/* 802D4094 002CFCF4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D4098 002CFCF8 41 82 00 08 */ beq lbl_802D40A0
+/* 802D409C 002CFCFC 48 00 1F 0D */ bl L2CA_DisconnectReq
+lbl_802D40A0:
+/* 802D40A0 002CFD00 A0 7B 00 14 */ lhz r3, 0x14(r27)
+/* 802D40A4 002CFD04 2C 03 00 00 */ cmpwi r3, 0
+/* 802D40A8 002CFD08 41 82 00 14 */ beq lbl_802D40BC
+/* 802D40AC 002CFD0C 48 00 1E FD */ bl L2CA_DisconnectReq
+/* 802D40B0 002CFD10 48 00 00 0C */ b lbl_802D40BC
+lbl_802D40B4:
+/* 802D40B4 002CFD14 38 00 00 00 */ li r0, 0
+/* 802D40B8 002CFD18 98 1B 00 10 */ stb r0, 0x10(r27)
+lbl_802D40BC:
+/* 802D40BC 002CFD1C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D40C0 002CFD20 4B EF 30 B1 */ bl _restgpr_26
+/* 802D40C4 002CFD24 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D40C8 002CFD28 7C 08 03 A6 */ mtlr r0
+/* 802D40CC 002CFD2C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D40D0 002CFD30 4E 80 00 20 */ blr
+
+hidh_l2cif_connect_cfm:
+/* 802D40D4 002CFD34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D40D8 002CFD38 7C 08 02 A6 */ mflr r0
+/* 802D40DC 002CFD3C 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D40E0 002CFD40 38 A0 00 00 */ li r5, 0
+/* 802D40E4 002CFD44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D40E8 002CFD48 38 00 00 04 */ li r0, 4
+/* 802D40EC 002CFD4C 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D40F0 002CFD50 39 20 00 00 */ li r9, 0
+/* 802D40F4 002CFD54 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D40F8 002CFD58 3F E0 80 44 */ lis r31, lbl_80442858@ha
+/* 802D40FC 002CFD5C 3B FF 28 58 */ addi r31, r31, lbl_80442858@l
+/* 802D4100 002CFD60 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D4104 002CFD64 3B C0 00 00 */ li r30, 0
+/* 802D4108 002CFD68 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D410C 002CFD6C 7C 9D 23 78 */ mr r29, r4
+/* 802D4110 002CFD70 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802D4114 002CFD74 7C 7C 1B 78 */ mr r28, r3
+/* 802D4118 002CFD78 7C 09 03 A6 */ mtctr r0
+lbl_802D411C:
+/* 802D411C 002CFD7C 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D4120 002CFD80 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4124 002CFD84 7C E6 02 14 */ add r7, r6, r0
+/* 802D4128 002CFD88 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D412C 002CFD8C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4130 002CFD90 41 82 00 28 */ beq lbl_802D4158
+/* 802D4134 002CFD94 88 07 00 10 */ lbz r0, 0x10(r7)
+/* 802D4138 002CFD98 2C 00 00 00 */ cmpwi r0, 0
+/* 802D413C 002CFD9C 41 82 00 1C */ beq lbl_802D4158
+/* 802D4140 002CFDA0 A0 07 00 14 */ lhz r0, 0x14(r7)
+/* 802D4144 002CFDA4 7C 03 00 40 */ cmplw r3, r0
+/* 802D4148 002CFDA8 41 82 00 D8 */ beq lbl_802D4220
+/* 802D414C 002CFDAC A0 07 00 16 */ lhz r0, 0x16(r7)
+/* 802D4150 002CFDB0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4154 002CFDB4 41 82 00 CC */ beq lbl_802D4220
+lbl_802D4158:
+/* 802D4158 002CFDB8 3B DE 00 01 */ addi r30, r30, 1
+/* 802D415C 002CFDBC 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D4160 002CFDC0 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4164 002CFDC4 7C E6 02 14 */ add r7, r6, r0
+/* 802D4168 002CFDC8 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D416C 002CFDCC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4170 002CFDD0 41 82 00 28 */ beq lbl_802D4198
+/* 802D4174 002CFDD4 88 07 00 10 */ lbz r0, 0x10(r7)
+/* 802D4178 002CFDD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D417C 002CFDDC 41 82 00 1C */ beq lbl_802D4198
+/* 802D4180 002CFDE0 A0 07 00 14 */ lhz r0, 0x14(r7)
+/* 802D4184 002CFDE4 7C 03 00 40 */ cmplw r3, r0
+/* 802D4188 002CFDE8 41 82 00 98 */ beq lbl_802D4220
+/* 802D418C 002CFDEC A0 07 00 16 */ lhz r0, 0x16(r7)
+/* 802D4190 002CFDF0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4194 002CFDF4 41 82 00 8C */ beq lbl_802D4220
+lbl_802D4198:
+/* 802D4198 002CFDF8 3B DE 00 01 */ addi r30, r30, 1
+/* 802D419C 002CFDFC 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D41A0 002CFE00 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D41A4 002CFE04 7C E6 02 14 */ add r7, r6, r0
+/* 802D41A8 002CFE08 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D41AC 002CFE0C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D41B0 002CFE10 41 82 00 28 */ beq lbl_802D41D8
+/* 802D41B4 002CFE14 88 07 00 10 */ lbz r0, 0x10(r7)
+/* 802D41B8 002CFE18 2C 00 00 00 */ cmpwi r0, 0
+/* 802D41BC 002CFE1C 41 82 00 1C */ beq lbl_802D41D8
+/* 802D41C0 002CFE20 A0 07 00 14 */ lhz r0, 0x14(r7)
+/* 802D41C4 002CFE24 7C 03 00 40 */ cmplw r3, r0
+/* 802D41C8 002CFE28 41 82 00 58 */ beq lbl_802D4220
+/* 802D41CC 002CFE2C A0 07 00 16 */ lhz r0, 0x16(r7)
+/* 802D41D0 002CFE30 7C 03 00 40 */ cmplw r3, r0
+/* 802D41D4 002CFE34 41 82 00 4C */ beq lbl_802D4220
+lbl_802D41D8:
+/* 802D41D8 002CFE38 3B DE 00 01 */ addi r30, r30, 1
+/* 802D41DC 002CFE3C 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D41E0 002CFE40 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D41E4 002CFE44 7C E6 02 14 */ add r7, r6, r0
+/* 802D41E8 002CFE48 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D41EC 002CFE4C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D41F0 002CFE50 41 82 00 28 */ beq lbl_802D4218
+/* 802D41F4 002CFE54 88 07 00 10 */ lbz r0, 0x10(r7)
+/* 802D41F8 002CFE58 2C 00 00 00 */ cmpwi r0, 0
+/* 802D41FC 002CFE5C 41 82 00 1C */ beq lbl_802D4218
+/* 802D4200 002CFE60 A0 07 00 14 */ lhz r0, 0x14(r7)
+/* 802D4204 002CFE64 7C 03 00 40 */ cmplw r3, r0
+/* 802D4208 002CFE68 41 82 00 18 */ beq lbl_802D4220
+/* 802D420C 002CFE6C A0 07 00 16 */ lhz r0, 0x16(r7)
+/* 802D4210 002CFE70 7C 03 00 40 */ cmplw r3, r0
+/* 802D4214 002CFE74 41 82 00 0C */ beq lbl_802D4220
+lbl_802D4218:
+/* 802D4218 002CFE78 3B DE 00 01 */ addi r30, r30, 1
+/* 802D421C 002CFE7C 42 00 FF 00 */ bdnz lbl_802D411C
+lbl_802D4220:
+/* 802D4220 002CFE80 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D4224 002CFE84 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D4228 002CFE88 41 82 00 18 */ beq lbl_802D4240
+/* 802D422C 002CFE8C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4230 002CFE90 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D4234 002CFE94 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D4238 002CFE98 7D 25 02 14 */ add r9, r5, r0
+/* 802D423C 002CFE9C 38 A9 00 10 */ addi r5, r9, 0x10
+lbl_802D4240:
+/* 802D4240 002CFEA0 2C 05 00 00 */ cmpwi r5, 0
+/* 802D4244 002CFEA4 41 82 00 40 */ beq lbl_802D4284
+/* 802D4248 002CFEA8 88 05 00 01 */ lbz r0, 1(r5)
+/* 802D424C 002CFEAC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802D4250 002CFEB0 41 82 00 34 */ beq lbl_802D4284
+/* 802D4254 002CFEB4 A0 C5 00 04 */ lhz r6, 4(r5)
+/* 802D4258 002CFEB8 7C 03 30 40 */ cmplw r3, r6
+/* 802D425C 002CFEBC 40 82 00 10 */ bne lbl_802D426C
+/* 802D4260 002CFEC0 88 05 00 00 */ lbz r0, 0(r5)
+/* 802D4264 002CFEC4 28 00 00 01 */ cmplwi r0, 1
+/* 802D4268 002CFEC8 40 82 00 1C */ bne lbl_802D4284
+lbl_802D426C:
+/* 802D426C 002CFECC A0 05 00 06 */ lhz r0, 6(r5)
+/* 802D4270 002CFED0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4274 002CFED4 40 82 00 3C */ bne lbl_802D42B0
+/* 802D4278 002CFED8 88 05 00 00 */ lbz r0, 0(r5)
+/* 802D427C 002CFEDC 28 00 00 02 */ cmplwi r0, 2
+/* 802D4280 002CFEE0 41 82 00 30 */ beq lbl_802D42B0
+lbl_802D4284:
+/* 802D4284 002CFEE4 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4288 002CFEE8 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D428C 002CFEEC 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4290 002CFEF0 28 00 00 02 */ cmplwi r0, 2
+/* 802D4294 002CFEF4 41 80 01 68 */ blt lbl_802D43FC
+/* 802D4298 002CFEF8 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D429C 002CFEFC 7F 85 E3 78 */ mr r5, r28
+/* 802D42A0 002CFF00 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D42A4 002CFF04 38 9F 01 BC */ addi r4, r31, 0x1bc
+/* 802D42A8 002CFF08 4B FE 8C 81 */ bl LogMsg_1
+/* 802D42AC 002CFF0C 48 00 01 50 */ b lbl_802D43FC
+lbl_802D42B0:
+/* 802D42B0 002CFF10 2C 04 00 00 */ cmpwi r4, 0
+/* 802D42B4 002CFF14 41 82 00 C4 */ beq lbl_802D4378
+/* 802D42B8 002CFF18 7C 03 30 40 */ cmplw r3, r6
+/* 802D42BC 002CFF1C 40 82 00 10 */ bne lbl_802D42CC
+/* 802D42C0 002CFF20 38 00 00 00 */ li r0, 0
+/* 802D42C4 002CFF24 B0 05 00 04 */ sth r0, 4(r5)
+/* 802D42C8 002CFF28 48 00 00 0C */ b lbl_802D42D4
+lbl_802D42CC:
+/* 802D42CC 002CFF2C 38 00 00 00 */ li r0, 0
+/* 802D42D0 002CFF30 B0 05 00 06 */ sth r0, 6(r5)
+lbl_802D42D4:
+/* 802D42D4 002CFF34 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D42D8 002CFF38 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 802D42DC 002CFF3C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D42E0 002CFF40 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D42E4 002CFF44 1C 84 00 34 */ mulli r4, r4, 0x34
+/* 802D42E8 002CFF48 28 00 00 04 */ cmplwi r0, 4
+/* 802D42EC 002CFF4C 7F 83 22 14 */ add r28, r3, r4
+/* 802D42F0 002CFF50 41 80 00 14 */ blt lbl_802D4304
+/* 802D42F4 002CFF54 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D42F8 002CFF58 38 9F 00 44 */ addi r4, r31, 0x44
+/* 802D42FC 002CFF5C 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D4300 002CFF60 4B FE 8C 11 */ bl LogMsg_0
+lbl_802D4304:
+/* 802D4304 002CFF64 A0 1C 00 14 */ lhz r0, 0x14(r28)
+/* 802D4308 002CFF68 2C 00 00 00 */ cmpwi r0, 0
+/* 802D430C 002CFF6C 40 82 00 10 */ bne lbl_802D431C
+/* 802D4310 002CFF70 A0 1C 00 16 */ lhz r0, 0x16(r28)
+/* 802D4314 002CFF74 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4318 002CFF78 41 82 00 30 */ beq lbl_802D4348
+lbl_802D431C:
+/* 802D431C 002CFF7C 38 00 00 05 */ li r0, 5
+/* 802D4320 002CFF80 98 1C 00 10 */ stb r0, 0x10(r28)
+/* 802D4324 002CFF84 A0 7C 00 16 */ lhz r3, 0x16(r28)
+/* 802D4328 002CFF88 2C 03 00 00 */ cmpwi r3, 0
+/* 802D432C 002CFF8C 41 82 00 08 */ beq lbl_802D4334
+/* 802D4330 002CFF90 48 00 1C 79 */ bl L2CA_DisconnectReq
+lbl_802D4334:
+/* 802D4334 002CFF94 A0 7C 00 14 */ lhz r3, 0x14(r28)
+/* 802D4338 002CFF98 2C 03 00 00 */ cmpwi r3, 0
+/* 802D433C 002CFF9C 41 82 00 14 */ beq lbl_802D4350
+/* 802D4340 002CFFA0 48 00 1C 69 */ bl L2CA_DisconnectReq
+/* 802D4344 002CFFA4 48 00 00 0C */ b lbl_802D4350
+lbl_802D4348:
+/* 802D4348 002CFFA8 38 00 00 00 */ li r0, 0
+/* 802D434C 002CFFAC 98 1C 00 10 */ stb r0, 0x10(r28)
+lbl_802D4350:
+/* 802D4350 002CFFB0 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D4354 002CFFB4 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 802D4358 002CFFB8 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D435C 002CFFBC 63 A5 01 00 */ ori r5, r29, 0x100
+/* 802D4360 002CFFC0 81 84 03 40 */ lwz r12, 0x340(r4)
+/* 802D4364 002CFFC4 38 80 00 01 */ li r4, 1
+/* 802D4368 002CFFC8 38 C0 00 00 */ li r6, 0
+/* 802D436C 002CFFCC 7D 89 03 A6 */ mtctr r12
+/* 802D4370 002CFFD0 4E 80 04 21 */ bctrl
+/* 802D4374 002CFFD4 48 00 00 88 */ b lbl_802D43FC
+lbl_802D4378:
+/* 802D4378 002CFFD8 7C 03 30 40 */ cmplw r3, r6
+/* 802D437C 002CFFDC 40 82 00 44 */ bne lbl_802D43C0
+/* 802D4380 002CFFE0 38 00 00 06 */ li r0, 6
+/* 802D4384 002CFFE4 3D 00 80 2D */ lis r8, hidh_sec_check_complete_orig@ha
+/* 802D4388 002CFFE8 98 05 00 00 */ stb r0, 0(r5)
+/* 802D438C 002CFFEC 38 00 01 00 */ li r0, 0x100
+/* 802D4390 002CFFF0 38 69 00 01 */ addi r3, r9, 1
+/* 802D4394 002CFFF4 39 08 3E C0 */ addi r8, r8, hidh_sec_check_complete_orig@l
+/* 802D4398 002CFFF8 B0 05 00 0A */ sth r0, 0xa(r5)
+/* 802D439C 002CFFFC 38 80 00 11 */ li r4, 0x11
+/* 802D43A0 002D0000 38 A0 00 01 */ li r5, 1
+/* 802D43A4 002D0004 38 C0 00 06 */ li r6, 6
+/* 802D43A8 002D0008 A0 09 00 08 */ lhz r0, 8(r9)
+/* 802D43AC 002D000C 54 00 8F FE */ rlwinm r0, r0, 0x11, 0x1f, 0x1f
+/* 802D43B0 002D0010 7C E0 00 D0 */ neg r7, r0
+/* 802D43B4 002D0014 38 E7 00 02 */ addi r7, r7, 2
+/* 802D43B8 002D0018 4B FF 73 C5 */ bl btm_sec_mx_access_request
+/* 802D43BC 002D001C 48 00 00 0C */ b lbl_802D43C8
+lbl_802D43C0:
+/* 802D43C0 002D0020 38 00 00 03 */ li r0, 3
+/* 802D43C4 002D0024 98 05 00 00 */ stb r0, 0(r5)
+lbl_802D43C8:
+/* 802D43C8 002D0028 3F A0 80 57 */ lis r29, lbl_8056B838@ha
+/* 802D43CC 002D002C 7F 83 E3 78 */ mr r3, r28
+/* 802D43D0 002D0030 3B BD B8 38 */ addi r29, r29, lbl_8056B838@l
+/* 802D43D4 002D0034 38 9D 03 44 */ addi r4, r29, 0x344
+/* 802D43D8 002D0038 48 00 1A 49 */ bl L2CA_ConfigReq
+/* 802D43DC 002D003C 88 1D 04 01 */ lbz r0, 0x401(r29)
+/* 802D43E0 002D0040 28 00 00 04 */ cmplwi r0, 4
+/* 802D43E4 002D0044 41 80 00 18 */ blt lbl_802D43FC
+/* 802D43E8 002D0048 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D43EC 002D004C 7F 85 E3 78 */ mr r5, r28
+/* 802D43F0 002D0050 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D43F4 002D0054 38 9F 01 E8 */ addi r4, r31, 0x1e8
+/* 802D43F8 002D0058 4B FE 8B 31 */ bl LogMsg_1
+lbl_802D43FC:
+/* 802D43FC 002D005C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D4400 002D0060 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D4404 002D0064 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D4408 002D0068 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D440C 002D006C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802D4410 002D0070 7C 08 03 A6 */ mtlr r0
+/* 802D4414 002D0074 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D4418 002D0078 4E 80 00 20 */ blr
+
+hidh_l2cif_config_ind:
+/* 802D441C 002D007C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D4420 002D0080 7C 08 02 A6 */ mflr r0
+/* 802D4424 002D0084 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D4428 002D0088 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D442C 002D008C 38 00 00 04 */ li r0, 4
+/* 802D4430 002D0090 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D4434 002D0094 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D4438 002D0098 3B E0 00 00 */ li r31, 0
+/* 802D443C 002D009C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D4440 002D00A0 3B C0 00 00 */ li r30, 0
+/* 802D4444 002D00A4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D4448 002D00A8 7C 9D 23 78 */ mr r29, r4
+/* 802D444C 002D00AC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802D4450 002D00B0 7C 7C 1B 78 */ mr r28, r3
+/* 802D4454 002D00B4 7C 09 03 A6 */ mtctr r0
+lbl_802D4458:
+/* 802D4458 002D00B8 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D445C 002D00BC 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4460 002D00C0 7C 85 02 14 */ add r4, r5, r0
+/* 802D4464 002D00C4 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4468 002D00C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D446C 002D00CC 41 82 00 28 */ beq lbl_802D4494
+/* 802D4470 002D00D0 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D4474 002D00D4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4478 002D00D8 41 82 00 1C */ beq lbl_802D4494
+/* 802D447C 002D00DC A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D4480 002D00E0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4484 002D00E4 41 82 00 D8 */ beq lbl_802D455C
+/* 802D4488 002D00E8 A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D448C 002D00EC 7C 03 00 40 */ cmplw r3, r0
+/* 802D4490 002D00F0 41 82 00 CC */ beq lbl_802D455C
+lbl_802D4494:
+/* 802D4494 002D00F4 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4498 002D00F8 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D449C 002D00FC 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D44A0 002D0100 7C 85 02 14 */ add r4, r5, r0
+/* 802D44A4 002D0104 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D44A8 002D0108 2C 00 00 00 */ cmpwi r0, 0
+/* 802D44AC 002D010C 41 82 00 28 */ beq lbl_802D44D4
+/* 802D44B0 002D0110 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D44B4 002D0114 2C 00 00 00 */ cmpwi r0, 0
+/* 802D44B8 002D0118 41 82 00 1C */ beq lbl_802D44D4
+/* 802D44BC 002D011C A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D44C0 002D0120 7C 03 00 40 */ cmplw r3, r0
+/* 802D44C4 002D0124 41 82 00 98 */ beq lbl_802D455C
+/* 802D44C8 002D0128 A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D44CC 002D012C 7C 03 00 40 */ cmplw r3, r0
+/* 802D44D0 002D0130 41 82 00 8C */ beq lbl_802D455C
+lbl_802D44D4:
+/* 802D44D4 002D0134 3B FF 00 01 */ addi r31, r31, 1
+/* 802D44D8 002D0138 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D44DC 002D013C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D44E0 002D0140 7C 85 02 14 */ add r4, r5, r0
+/* 802D44E4 002D0144 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D44E8 002D0148 2C 00 00 00 */ cmpwi r0, 0
+/* 802D44EC 002D014C 41 82 00 28 */ beq lbl_802D4514
+/* 802D44F0 002D0150 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D44F4 002D0154 2C 00 00 00 */ cmpwi r0, 0
+/* 802D44F8 002D0158 41 82 00 1C */ beq lbl_802D4514
+/* 802D44FC 002D015C A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D4500 002D0160 7C 03 00 40 */ cmplw r3, r0
+/* 802D4504 002D0164 41 82 00 58 */ beq lbl_802D455C
+/* 802D4508 002D0168 A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D450C 002D016C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4510 002D0170 41 82 00 4C */ beq lbl_802D455C
+lbl_802D4514:
+/* 802D4514 002D0174 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4518 002D0178 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D451C 002D017C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4520 002D0180 7C 85 02 14 */ add r4, r5, r0
+/* 802D4524 002D0184 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4528 002D0188 2C 00 00 00 */ cmpwi r0, 0
+/* 802D452C 002D018C 41 82 00 28 */ beq lbl_802D4554
+/* 802D4530 002D0190 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D4534 002D0194 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4538 002D0198 41 82 00 1C */ beq lbl_802D4554
+/* 802D453C 002D019C A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D4540 002D01A0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4544 002D01A4 41 82 00 18 */ beq lbl_802D455C
+/* 802D4548 002D01A8 A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D454C 002D01AC 7C 03 00 40 */ cmplw r3, r0
+/* 802D4550 002D01B0 41 82 00 0C */ beq lbl_802D455C
+lbl_802D4554:
+/* 802D4554 002D01B4 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4558 002D01B8 42 00 FF 00 */ bdnz lbl_802D4458
+lbl_802D455C:
+/* 802D455C 002D01BC 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4560 002D01C0 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D4564 002D01C4 41 82 00 18 */ beq lbl_802D457C
+/* 802D4568 002D01C8 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D456C 002D01CC 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4570 002D01D0 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4574 002D01D4 7F C3 02 14 */ add r30, r3, r0
+/* 802D4578 002D01D8 3B DE 00 10 */ addi r30, r30, 0x10
+lbl_802D457C:
+/* 802D457C 002D01DC 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D4580 002D01E0 40 82 00 34 */ bne lbl_802D45B4
+/* 802D4584 002D01E4 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4588 002D01E8 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D458C 002D01EC 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4590 002D01F0 28 00 00 02 */ cmplwi r0, 2
+/* 802D4594 002D01F4 41 80 01 10 */ blt lbl_802D46A4
+/* 802D4598 002D01F8 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D459C 002D01FC 3C 80 80 44 */ lis r4, lbl_80442A74@ha
+/* 802D45A0 002D0200 7F 85 E3 78 */ mr r5, r28
+/* 802D45A4 002D0204 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D45A8 002D0208 38 84 2A 74 */ addi r4, r4, lbl_80442A74@l
+/* 802D45AC 002D020C 4B FE 89 7D */ bl LogMsg_1
+/* 802D45B0 002D0210 48 00 00 F4 */ b lbl_802D46A4
+lbl_802D45B4:
+/* 802D45B4 002D0214 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D45B8 002D0218 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D45BC 002D021C 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D45C0 002D0220 28 00 00 04 */ cmplwi r0, 4
+/* 802D45C4 002D0224 41 80 00 1C */ blt lbl_802D45E0
+/* 802D45C8 002D0228 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D45CC 002D022C 3C 80 80 44 */ lis r4, lbl_80442AA0@ha
+/* 802D45D0 002D0230 7F 85 E3 78 */ mr r5, r28
+/* 802D45D4 002D0234 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D45D8 002D0238 38 84 2A A0 */ addi r4, r4, lbl_80442AA0@l
+/* 802D45DC 002D023C 4B FE 89 4D */ bl LogMsg_1
+lbl_802D45E0:
+/* 802D45E0 002D0240 88 1D 00 02 */ lbz r0, 2(r29)
+/* 802D45E4 002D0244 2C 00 00 00 */ cmpwi r0, 0
+/* 802D45E8 002D0248 41 82 00 10 */ beq lbl_802D45F8
+/* 802D45EC 002D024C A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802D45F0 002D0250 28 00 02 80 */ cmplwi r0, 0x280
+/* 802D45F4 002D0254 40 81 00 10 */ ble lbl_802D4604
+lbl_802D45F8:
+/* 802D45F8 002D0258 38 00 02 80 */ li r0, 0x280
+/* 802D45FC 002D025C B0 1E 00 08 */ sth r0, 8(r30)
+/* 802D4600 002D0260 48 00 00 08 */ b lbl_802D4608
+lbl_802D4604:
+/* 802D4604 002D0264 B0 1E 00 08 */ sth r0, 8(r30)
+lbl_802D4608:
+/* 802D4608 002D0268 38 00 00 00 */ li r0, 0
+/* 802D460C 002D026C 7F 83 E3 78 */ mr r3, r28
+/* 802D4610 002D0270 98 1D 00 20 */ stb r0, 0x20(r29)
+/* 802D4614 002D0274 7F A4 EB 78 */ mr r4, r29
+/* 802D4618 002D0278 98 1D 00 02 */ stb r0, 2(r29)
+/* 802D461C 002D027C B0 1D 00 00 */ sth r0, 0(r29)
+/* 802D4620 002D0280 48 00 18 B9 */ bl L2CA_ConfigRsp
+/* 802D4624 002D0284 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802D4628 002D0288 7C 1C 00 40 */ cmplw r28, r0
+/* 802D462C 002D028C 40 82 00 14 */ bne lbl_802D4640
+/* 802D4630 002D0290 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802D4634 002D0294 60 00 00 02 */ ori r0, r0, 2
+/* 802D4638 002D0298 98 1E 00 01 */ stb r0, 1(r30)
+/* 802D463C 002D029C 48 00 00 10 */ b lbl_802D464C
+lbl_802D4640:
+/* 802D4640 002D02A0 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802D4644 002D02A4 60 00 00 08 */ ori r0, r0, 8
+/* 802D4648 002D02A8 98 1E 00 01 */ stb r0, 1(r30)
+lbl_802D464C:
+/* 802D464C 002D02AC 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802D4650 002D02B0 54 00 06 FC */ rlwinm r0, r0, 0, 0x1b, 0x1e
+/* 802D4654 002D02B4 2C 00 00 1E */ cmpwi r0, 0x1e
+/* 802D4658 002D02B8 40 82 00 4C */ bne lbl_802D46A4
+/* 802D465C 002D02BC 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802D4660 002D02C0 28 00 00 03 */ cmplwi r0, 3
+/* 802D4664 002D02C4 40 82 00 40 */ bne lbl_802D46A4
+/* 802D4668 002D02C8 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D466C 002D02CC 38 80 00 04 */ li r4, 4
+/* 802D4670 002D02D0 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D4674 002D02D4 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D4678 002D02D8 98 9E 00 00 */ stb r4, 0(r30)
+/* 802D467C 002D02DC 38 A0 00 01 */ li r5, 1
+/* 802D4680 002D02E0 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D4684 002D02E4 7C 86 02 14 */ add r4, r6, r0
+/* 802D4688 002D02E8 98 A4 00 0A */ stb r5, 0xa(r4)
+/* 802D468C 002D02EC 38 80 00 00 */ li r4, 0
+/* 802D4690 002D02F0 38 A0 00 00 */ li r5, 0
+/* 802D4694 002D02F4 81 86 03 40 */ lwz r12, 0x340(r6)
+/* 802D4698 002D02F8 38 C0 00 00 */ li r6, 0
+/* 802D469C 002D02FC 7D 89 03 A6 */ mtctr r12
+/* 802D46A0 002D0300 4E 80 04 21 */ bctrl
+lbl_802D46A4:
+/* 802D46A4 002D0304 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D46A8 002D0308 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D46AC 002D030C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D46B0 002D0310 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D46B4 002D0314 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802D46B8 002D0318 7C 08 03 A6 */ mtlr r0
+/* 802D46BC 002D031C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D46C0 002D0320 4E 80 00 20 */ blr
+
+hidh_l2cif_config_cfm:
+/* 802D46C4 002D0324 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D46C8 002D0328 7C 08 02 A6 */ mflr r0
+/* 802D46CC 002D032C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D46D0 002D0330 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D46D4 002D0334 4B EF 2A 55 */ bl _savegpr_27
+/* 802D46D8 002D0338 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D46DC 002D033C 3F E0 80 44 */ lis r31, lbl_80442858@ha
+/* 802D46E0 002D0340 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D46E4 002D0344 7C 7B 1B 78 */ mr r27, r3
+/* 802D46E8 002D0348 88 05 04 01 */ lbz r0, 0x401(r5)
+/* 802D46EC 002D034C 7C 9C 23 78 */ mr r28, r4
+/* 802D46F0 002D0350 3B FF 28 58 */ addi r31, r31, lbl_80442858@l
+/* 802D46F4 002D0354 3B A0 00 00 */ li r29, 0
+/* 802D46F8 002D0358 28 00 00 04 */ cmplwi r0, 4
+/* 802D46FC 002D035C 41 80 00 1C */ blt lbl_802D4718
+/* 802D4700 002D0360 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D4704 002D0364 A0 DC 00 00 */ lhz r6, 0(r28)
+/* 802D4708 002D0368 7F 65 DB 78 */ mr r5, r27
+/* 802D470C 002D036C 38 9F 02 74 */ addi r4, r31, 0x274
+/* 802D4710 002D0370 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D4714 002D0374 4B FE 88 2D */ bl LogMsg_2
+lbl_802D4718:
+/* 802D4718 002D0378 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D471C 002D037C 38 00 00 04 */ li r0, 4
+/* 802D4720 002D0380 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4724 002D0384 3B C0 00 00 */ li r30, 0
+/* 802D4728 002D0388 7C 09 03 A6 */ mtctr r0
+lbl_802D472C:
+/* 802D472C 002D038C 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D4730 002D0390 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4734 002D0394 7C 83 02 14 */ add r4, r3, r0
+/* 802D4738 002D0398 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802D473C 002D039C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4740 002D03A0 41 82 00 28 */ beq lbl_802D4768
+/* 802D4744 002D03A4 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D4748 002D03A8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D474C 002D03AC 41 82 00 1C */ beq lbl_802D4768
+/* 802D4750 002D03B0 A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D4754 002D03B4 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4758 002D03B8 41 82 00 D8 */ beq lbl_802D4830
+/* 802D475C 002D03BC A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D4760 002D03C0 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4764 002D03C4 41 82 00 CC */ beq lbl_802D4830
+lbl_802D4768:
+/* 802D4768 002D03C8 3B DE 00 01 */ addi r30, r30, 1
+/* 802D476C 002D03CC 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D4770 002D03D0 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4774 002D03D4 7C 83 02 14 */ add r4, r3, r0
+/* 802D4778 002D03D8 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802D477C 002D03DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4780 002D03E0 41 82 00 28 */ beq lbl_802D47A8
+/* 802D4784 002D03E4 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D4788 002D03E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D478C 002D03EC 41 82 00 1C */ beq lbl_802D47A8
+/* 802D4790 002D03F0 A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D4794 002D03F4 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4798 002D03F8 41 82 00 98 */ beq lbl_802D4830
+/* 802D479C 002D03FC A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D47A0 002D0400 7C 1B 00 40 */ cmplw r27, r0
+/* 802D47A4 002D0404 41 82 00 8C */ beq lbl_802D4830
+lbl_802D47A8:
+/* 802D47A8 002D0408 3B DE 00 01 */ addi r30, r30, 1
+/* 802D47AC 002D040C 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D47B0 002D0410 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D47B4 002D0414 7C 83 02 14 */ add r4, r3, r0
+/* 802D47B8 002D0418 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802D47BC 002D041C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D47C0 002D0420 41 82 00 28 */ beq lbl_802D47E8
+/* 802D47C4 002D0424 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D47C8 002D0428 2C 00 00 00 */ cmpwi r0, 0
+/* 802D47CC 002D042C 41 82 00 1C */ beq lbl_802D47E8
+/* 802D47D0 002D0430 A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D47D4 002D0434 7C 1B 00 40 */ cmplw r27, r0
+/* 802D47D8 002D0438 41 82 00 58 */ beq lbl_802D4830
+/* 802D47DC 002D043C A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D47E0 002D0440 7C 1B 00 40 */ cmplw r27, r0
+/* 802D47E4 002D0444 41 82 00 4C */ beq lbl_802D4830
+lbl_802D47E8:
+/* 802D47E8 002D0448 3B DE 00 01 */ addi r30, r30, 1
+/* 802D47EC 002D044C 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D47F0 002D0450 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D47F4 002D0454 7C 83 02 14 */ add r4, r3, r0
+/* 802D47F8 002D0458 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802D47FC 002D045C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4800 002D0460 41 82 00 28 */ beq lbl_802D4828
+/* 802D4804 002D0464 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802D4808 002D0468 2C 00 00 00 */ cmpwi r0, 0
+/* 802D480C 002D046C 41 82 00 1C */ beq lbl_802D4828
+/* 802D4810 002D0470 A0 04 00 14 */ lhz r0, 0x14(r4)
+/* 802D4814 002D0474 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4818 002D0478 41 82 00 18 */ beq lbl_802D4830
+/* 802D481C 002D047C A0 04 00 16 */ lhz r0, 0x16(r4)
+/* 802D4820 002D0480 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4824 002D0484 41 82 00 0C */ beq lbl_802D4830
+lbl_802D4828:
+/* 802D4828 002D0488 3B DE 00 01 */ addi r30, r30, 1
+/* 802D482C 002D048C 42 00 FF 00 */ bdnz lbl_802D472C
+lbl_802D4830:
+/* 802D4830 002D0490 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D4834 002D0494 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D4838 002D0498 41 82 00 18 */ beq lbl_802D4850
+/* 802D483C 002D049C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4840 002D04A0 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4844 002D04A4 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4848 002D04A8 7F A3 02 14 */ add r29, r3, r0
+/* 802D484C 002D04AC 3B BD 00 10 */ addi r29, r29, 0x10
+lbl_802D4850:
+/* 802D4850 002D04B0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802D4854 002D04B4 40 82 00 30 */ bne lbl_802D4884
+/* 802D4858 002D04B8 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D485C 002D04BC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4860 002D04C0 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4864 002D04C4 28 00 00 02 */ cmplwi r0, 2
+/* 802D4868 002D04C8 41 80 01 50 */ blt lbl_802D49B8
+/* 802D486C 002D04CC 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D4870 002D04D0 7F 65 DB 78 */ mr r5, r27
+/* 802D4874 002D04D4 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D4878 002D04D8 38 9F 02 1C */ addi r4, r31, 0x21c
+/* 802D487C 002D04DC 4B FE 86 AD */ bl LogMsg_1
+/* 802D4880 002D04E0 48 00 01 38 */ b lbl_802D49B8
+lbl_802D4884:
+/* 802D4884 002D04E4 A0 1C 00 00 */ lhz r0, 0(r28)
+/* 802D4888 002D04E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D488C 002D04EC 41 82 00 AC */ beq lbl_802D4938
+/* 802D4890 002D04F0 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4894 002D04F4 57 C4 06 3E */ clrlwi r4, r30, 0x18
+/* 802D4898 002D04F8 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D489C 002D04FC 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D48A0 002D0500 1C 84 00 34 */ mulli r4, r4, 0x34
+/* 802D48A4 002D0504 28 00 00 04 */ cmplwi r0, 4
+/* 802D48A8 002D0508 7F 63 22 14 */ add r27, r3, r4
+/* 802D48AC 002D050C 41 80 00 14 */ blt lbl_802D48C0
+/* 802D48B0 002D0510 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D48B4 002D0514 38 9F 00 44 */ addi r4, r31, 0x44
+/* 802D48B8 002D0518 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D48BC 002D051C 4B FE 86 55 */ bl LogMsg_0
+lbl_802D48C0:
+/* 802D48C0 002D0520 A0 1B 00 14 */ lhz r0, 0x14(r27)
+/* 802D48C4 002D0524 2C 00 00 00 */ cmpwi r0, 0
+/* 802D48C8 002D0528 40 82 00 10 */ bne lbl_802D48D8
+/* 802D48CC 002D052C A0 1B 00 16 */ lhz r0, 0x16(r27)
+/* 802D48D0 002D0530 2C 00 00 00 */ cmpwi r0, 0
+/* 802D48D4 002D0534 41 82 00 30 */ beq lbl_802D4904
+lbl_802D48D8:
+/* 802D48D8 002D0538 38 00 00 05 */ li r0, 5
+/* 802D48DC 002D053C 98 1B 00 10 */ stb r0, 0x10(r27)
+/* 802D48E0 002D0540 A0 7B 00 16 */ lhz r3, 0x16(r27)
+/* 802D48E4 002D0544 2C 03 00 00 */ cmpwi r3, 0
+/* 802D48E8 002D0548 41 82 00 08 */ beq lbl_802D48F0
+/* 802D48EC 002D054C 48 00 16 BD */ bl L2CA_DisconnectReq
+lbl_802D48F0:
+/* 802D48F0 002D0550 A0 7B 00 14 */ lhz r3, 0x14(r27)
+/* 802D48F4 002D0554 2C 03 00 00 */ cmpwi r3, 0
+/* 802D48F8 002D0558 41 82 00 14 */ beq lbl_802D490C
+/* 802D48FC 002D055C 48 00 16 AD */ bl L2CA_DisconnectReq
+/* 802D4900 002D0560 48 00 00 0C */ b lbl_802D490C
+lbl_802D4904:
+/* 802D4904 002D0564 38 00 00 00 */ li r0, 0
+/* 802D4908 002D0568 98 1B 00 10 */ stb r0, 0x10(r27)
+lbl_802D490C:
+/* 802D490C 002D056C 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D4910 002D0570 A0 1C 00 00 */ lhz r0, 0(r28)
+/* 802D4914 002D0574 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D4918 002D0578 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 802D491C 002D057C 81 84 03 40 */ lwz r12, 0x340(r4)
+/* 802D4920 002D0580 60 05 04 00 */ ori r5, r0, 0x400
+/* 802D4924 002D0584 38 80 00 01 */ li r4, 1
+/* 802D4928 002D0588 38 C0 00 00 */ li r6, 0
+/* 802D492C 002D058C 7D 89 03 A6 */ mtctr r12
+/* 802D4930 002D0590 4E 80 04 21 */ bctrl
+/* 802D4934 002D0594 48 00 00 84 */ b lbl_802D49B8
+lbl_802D4938:
+/* 802D4938 002D0598 A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802D493C 002D059C 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4940 002D05A0 40 82 00 14 */ bne lbl_802D4954
+/* 802D4944 002D05A4 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802D4948 002D05A8 60 00 00 04 */ ori r0, r0, 4
+/* 802D494C 002D05AC 98 1D 00 01 */ stb r0, 1(r29)
+/* 802D4950 002D05B0 48 00 00 10 */ b lbl_802D4960
+lbl_802D4954:
+/* 802D4954 002D05B4 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802D4958 002D05B8 60 00 00 10 */ ori r0, r0, 0x10
+/* 802D495C 002D05BC 98 1D 00 01 */ stb r0, 1(r29)
+lbl_802D4960:
+/* 802D4960 002D05C0 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802D4964 002D05C4 54 00 06 FC */ rlwinm r0, r0, 0, 0x1b, 0x1e
+/* 802D4968 002D05C8 2C 00 00 1E */ cmpwi r0, 0x1e
+/* 802D496C 002D05CC 40 82 00 4C */ bne lbl_802D49B8
+/* 802D4970 002D05D0 88 1D 00 00 */ lbz r0, 0(r29)
+/* 802D4974 002D05D4 28 00 00 03 */ cmplwi r0, 3
+/* 802D4978 002D05D8 40 82 00 40 */ bne lbl_802D49B8
+/* 802D497C 002D05DC 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 802D4980 002D05E0 38 80 00 04 */ li r4, 4
+/* 802D4984 002D05E4 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D4988 002D05E8 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D498C 002D05EC 98 9D 00 00 */ stb r4, 0(r29)
+/* 802D4990 002D05F0 38 A0 00 01 */ li r5, 1
+/* 802D4994 002D05F4 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D4998 002D05F8 7C 86 02 14 */ add r4, r6, r0
+/* 802D499C 002D05FC 98 A4 00 0A */ stb r5, 0xa(r4)
+/* 802D49A0 002D0600 38 80 00 00 */ li r4, 0
+/* 802D49A4 002D0604 38 A0 00 00 */ li r5, 0
+/* 802D49A8 002D0608 81 86 03 40 */ lwz r12, 0x340(r6)
+/* 802D49AC 002D060C 38 C0 00 00 */ li r6, 0
+/* 802D49B0 002D0610 7D 89 03 A6 */ mtctr r12
+/* 802D49B4 002D0614 4E 80 04 21 */ bctrl
+lbl_802D49B8:
+/* 802D49B8 002D0618 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D49BC 002D061C 4B EF 27 B9 */ bl _restgpr_27
+/* 802D49C0 002D0620 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D49C4 002D0624 7C 08 03 A6 */ mtlr r0
+/* 802D49C8 002D0628 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D49CC 002D062C 4E 80 00 20 */ blr
+
+hidh_l2cif_disconnect_ind:
+/* 802D49D0 002D0630 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D49D4 002D0634 7C 08 02 A6 */ mflr r0
+/* 802D49D8 002D0638 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D49DC 002D063C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D49E0 002D0640 4B EF 27 49 */ bl _savegpr_27
+/* 802D49E4 002D0644 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D49E8 002D0648 38 00 00 04 */ li r0, 4
+/* 802D49EC 002D064C 7C 7B 1B 78 */ mr r27, r3
+/* 802D49F0 002D0650 7C 9C 23 78 */ mr r28, r4
+/* 802D49F4 002D0654 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D49F8 002D0658 3B C0 00 00 */ li r30, 0
+/* 802D49FC 002D065C 3B A0 00 00 */ li r29, 0
+/* 802D4A00 002D0660 3B E0 00 00 */ li r31, 0
+/* 802D4A04 002D0664 7C 09 03 A6 */ mtctr r0
+lbl_802D4A08:
+/* 802D4A08 002D0668 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4A0C 002D066C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4A10 002D0670 7C C5 02 14 */ add r6, r5, r0
+/* 802D4A14 002D0674 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4A18 002D0678 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4A1C 002D067C 41 82 00 28 */ beq lbl_802D4A44
+/* 802D4A20 002D0680 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4A24 002D0684 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4A28 002D0688 41 82 00 1C */ beq lbl_802D4A44
+/* 802D4A2C 002D068C A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4A30 002D0690 7C 03 00 40 */ cmplw r3, r0
+/* 802D4A34 002D0694 41 82 00 D8 */ beq lbl_802D4B0C
+/* 802D4A38 002D0698 A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4A3C 002D069C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4A40 002D06A0 41 82 00 CC */ beq lbl_802D4B0C
+lbl_802D4A44:
+/* 802D4A44 002D06A4 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4A48 002D06A8 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4A4C 002D06AC 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4A50 002D06B0 7C C5 02 14 */ add r6, r5, r0
+/* 802D4A54 002D06B4 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4A58 002D06B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4A5C 002D06BC 41 82 00 28 */ beq lbl_802D4A84
+/* 802D4A60 002D06C0 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4A64 002D06C4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4A68 002D06C8 41 82 00 1C */ beq lbl_802D4A84
+/* 802D4A6C 002D06CC A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4A70 002D06D0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4A74 002D06D4 41 82 00 98 */ beq lbl_802D4B0C
+/* 802D4A78 002D06D8 A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4A7C 002D06DC 7C 03 00 40 */ cmplw r3, r0
+/* 802D4A80 002D06E0 41 82 00 8C */ beq lbl_802D4B0C
+lbl_802D4A84:
+/* 802D4A84 002D06E4 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4A88 002D06E8 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4A8C 002D06EC 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4A90 002D06F0 7C C5 02 14 */ add r6, r5, r0
+/* 802D4A94 002D06F4 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4A98 002D06F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4A9C 002D06FC 41 82 00 28 */ beq lbl_802D4AC4
+/* 802D4AA0 002D0700 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4AA4 002D0704 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4AA8 002D0708 41 82 00 1C */ beq lbl_802D4AC4
+/* 802D4AAC 002D070C A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4AB0 002D0710 7C 03 00 40 */ cmplw r3, r0
+/* 802D4AB4 002D0714 41 82 00 58 */ beq lbl_802D4B0C
+/* 802D4AB8 002D0718 A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4ABC 002D071C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4AC0 002D0720 41 82 00 4C */ beq lbl_802D4B0C
+lbl_802D4AC4:
+/* 802D4AC4 002D0724 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4AC8 002D0728 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4ACC 002D072C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4AD0 002D0730 7C C5 02 14 */ add r6, r5, r0
+/* 802D4AD4 002D0734 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4AD8 002D0738 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4ADC 002D073C 41 82 00 28 */ beq lbl_802D4B04
+/* 802D4AE0 002D0740 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4AE4 002D0744 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4AE8 002D0748 41 82 00 1C */ beq lbl_802D4B04
+/* 802D4AEC 002D074C A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4AF0 002D0750 7C 03 00 40 */ cmplw r3, r0
+/* 802D4AF4 002D0754 41 82 00 18 */ beq lbl_802D4B0C
+/* 802D4AF8 002D0758 A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4AFC 002D075C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4B00 002D0760 41 82 00 0C */ beq lbl_802D4B0C
+lbl_802D4B04:
+/* 802D4B04 002D0764 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4B08 002D0768 42 00 FF 00 */ bdnz lbl_802D4A08
+lbl_802D4B0C:
+/* 802D4B0C 002D076C 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4B10 002D0770 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D4B14 002D0774 41 82 00 18 */ beq lbl_802D4B2C
+/* 802D4B18 002D0778 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4B1C 002D077C 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4B20 002D0780 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4B24 002D0784 7F C3 02 14 */ add r30, r3, r0
+/* 802D4B28 002D0788 3B DE 00 10 */ addi r30, r30, 0x10
+lbl_802D4B2C:
+/* 802D4B2C 002D078C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D4B30 002D0790 40 82 00 34 */ bne lbl_802D4B64
+/* 802D4B34 002D0794 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4B38 002D0798 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4B3C 002D079C 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4B40 002D07A0 28 00 00 02 */ cmplwi r0, 2
+/* 802D4B44 002D07A4 41 80 01 38 */ blt lbl_802D4C7C
+/* 802D4B48 002D07A8 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D4B4C 002D07AC 3C 80 80 44 */ lis r4, lbl_80442AF8@ha
+/* 802D4B50 002D07B0 7F 65 DB 78 */ mr r5, r27
+/* 802D4B54 002D07B4 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D4B58 002D07B8 38 84 2A F8 */ addi r4, r4, lbl_80442AF8@l
+/* 802D4B5C 002D07BC 4B FE 83 CD */ bl LogMsg_1
+/* 802D4B60 002D07C0 48 00 01 1C */ b lbl_802D4C7C
+lbl_802D4B64:
+/* 802D4B64 002D07C4 2C 04 00 00 */ cmpwi r4, 0
+/* 802D4B68 002D07C8 41 82 00 0C */ beq lbl_802D4B74
+/* 802D4B6C 002D07CC 7F 63 DB 78 */ mr r3, r27
+/* 802D4B70 002D07D0 48 00 14 DD */ bl L2CA_DisconnectRsp
+lbl_802D4B74:
+/* 802D4B74 002D07D4 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4B78 002D07D8 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4B7C 002D07DC 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4B80 002D07E0 28 00 00 04 */ cmplwi r0, 4
+/* 802D4B84 002D07E4 41 80 00 1C */ blt lbl_802D4BA0
+/* 802D4B88 002D07E8 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D4B8C 002D07EC 3C 80 80 44 */ lis r4, lbl_80442B24@ha
+/* 802D4B90 002D07F0 7F 65 DB 78 */ mr r5, r27
+/* 802D4B94 002D07F4 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D4B98 002D07F8 38 84 2B 24 */ addi r4, r4, lbl_80442B24@l
+/* 802D4B9C 002D07FC 4B FE 83 8D */ bl LogMsg_1
+lbl_802D4BA0:
+/* 802D4BA0 002D0800 38 00 00 05 */ li r0, 5
+/* 802D4BA4 002D0804 98 1E 00 00 */ stb r0, 0(r30)
+/* 802D4BA8 002D0808 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802D4BAC 002D080C 7C 1B 00 40 */ cmplw r27, r0
+/* 802D4BB0 002D0810 40 82 00 10 */ bne lbl_802D4BC0
+/* 802D4BB4 002D0814 38 00 00 00 */ li r0, 0
+/* 802D4BB8 002D0818 B0 1E 00 04 */ sth r0, 4(r30)
+/* 802D4BBC 002D081C 48 00 00 0C */ b lbl_802D4BC8
+lbl_802D4BC0:
+/* 802D4BC0 002D0820 38 00 00 00 */ li r0, 0
+/* 802D4BC4 002D0824 B0 1E 00 06 */ sth r0, 6(r30)
+lbl_802D4BC8:
+/* 802D4BC8 002D0828 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802D4BCC 002D082C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4BD0 002D0830 40 82 00 AC */ bne lbl_802D4C7C
+/* 802D4BD4 002D0834 A0 1E 00 06 */ lhz r0, 6(r30)
+/* 802D4BD8 002D0838 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4BDC 002D083C 40 82 00 A0 */ bne lbl_802D4C7C
+/* 802D4BE0 002D0840 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4BE4 002D0844 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4BE8 002D0848 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4BEC 002D084C 38 80 00 00 */ li r4, 0
+/* 802D4BF0 002D0850 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4BF4 002D0854 2C 1C 00 00 */ cmpwi r28, 0
+/* 802D4BF8 002D0858 7C 63 02 14 */ add r3, r3, r0
+/* 802D4BFC 002D085C 98 83 00 0A */ stb r4, 0xa(r3)
+/* 802D4C00 002D0860 98 9E 00 00 */ stb r4, 0(r30)
+/* 802D4C04 002D0864 40 82 00 0C */ bne lbl_802D4C10
+/* 802D4C08 002D0868 4B FE F7 8D */ bl btm_get_acl_disc_reason_code
+/* 802D4C0C 002D086C 7C 7D 1B 78 */ mr r29, r3
+lbl_802D4C10:
+/* 802D4C10 002D0870 57 A0 04 3E */ clrlwi r0, r29, 0x10
+/* 802D4C14 002D0874 A0 BE 00 0A */ lhz r5, 0xa(r30)
+/* 802D4C18 002D0878 28 00 00 05 */ cmplwi r0, 5
+/* 802D4C1C 002D087C 41 82 00 3C */ beq lbl_802D4C58
+/* 802D4C20 002D0880 28 00 00 06 */ cmplwi r0, 6
+/* 802D4C24 002D0884 41 82 00 34 */ beq lbl_802D4C58
+/* 802D4C28 002D0888 28 00 00 0E */ cmplwi r0, 0xe
+/* 802D4C2C 002D088C 41 82 00 2C */ beq lbl_802D4C58
+/* 802D4C30 002D0890 28 00 00 18 */ cmplwi r0, 0x18
+/* 802D4C34 002D0894 41 82 00 24 */ beq lbl_802D4C58
+/* 802D4C38 002D0898 28 00 00 26 */ cmplwi r0, 0x26
+/* 802D4C3C 002D089C 41 82 00 1C */ beq lbl_802D4C58
+/* 802D4C40 002D08A0 28 00 00 29 */ cmplwi r0, 0x29
+/* 802D4C44 002D08A4 41 82 00 14 */ beq lbl_802D4C58
+/* 802D4C48 002D08A8 28 00 00 25 */ cmplwi r0, 0x25
+/* 802D4C4C 002D08AC 41 82 00 0C */ beq lbl_802D4C58
+/* 802D4C50 002D08B0 28 00 00 17 */ cmplwi r0, 0x17
+/* 802D4C54 002D08B4 40 82 00 08 */ bne lbl_802D4C5C
+lbl_802D4C58:
+/* 802D4C58 002D08B8 38 A0 00 0F */ li r5, 0xf
+lbl_802D4C5C:
+/* 802D4C5C 002D08BC 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D4C60 002D08C0 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D4C64 002D08C4 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D4C68 002D08C8 38 C0 00 00 */ li r6, 0
+/* 802D4C6C 002D08CC 81 84 03 40 */ lwz r12, 0x340(r4)
+/* 802D4C70 002D08D0 38 80 00 01 */ li r4, 1
+/* 802D4C74 002D08D4 7D 89 03 A6 */ mtctr r12
+/* 802D4C78 002D08D8 4E 80 04 21 */ bctrl
+lbl_802D4C7C:
+/* 802D4C7C 002D08DC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D4C80 002D08E0 4B EF 24 F5 */ bl _restgpr_27
+/* 802D4C84 002D08E4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D4C88 002D08E8 7C 08 03 A6 */ mtlr r0
+/* 802D4C8C 002D08EC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D4C90 002D08F0 4E 80 00 20 */ blr
+
+hidh_l2cif_disconnect_cfm:
+/* 802D4C94 002D08F4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D4C98 002D08F8 7C 08 02 A6 */ mflr r0
+/* 802D4C9C 002D08FC 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D4CA0 002D0900 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D4CA4 002D0904 38 00 00 04 */ li r0, 4
+/* 802D4CA8 002D0908 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D4CAC 002D090C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D4CB0 002D0910 3B E0 00 00 */ li r31, 0
+/* 802D4CB4 002D0914 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D4CB8 002D0918 3B C0 00 00 */ li r30, 0
+/* 802D4CBC 002D091C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D4CC0 002D0920 7C 7D 1B 78 */ mr r29, r3
+/* 802D4CC4 002D0924 7C 09 03 A6 */ mtctr r0
+lbl_802D4CC8:
+/* 802D4CC8 002D0928 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4CCC 002D092C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4CD0 002D0930 7C A4 02 14 */ add r5, r4, r0
+/* 802D4CD4 002D0934 7C 04 00 AE */ lbzx r0, r4, r0
+/* 802D4CD8 002D0938 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4CDC 002D093C 41 82 00 28 */ beq lbl_802D4D04
+/* 802D4CE0 002D0940 88 05 00 10 */ lbz r0, 0x10(r5)
+/* 802D4CE4 002D0944 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4CE8 002D0948 41 82 00 1C */ beq lbl_802D4D04
+/* 802D4CEC 002D094C A0 05 00 14 */ lhz r0, 0x14(r5)
+/* 802D4CF0 002D0950 7C 03 00 40 */ cmplw r3, r0
+/* 802D4CF4 002D0954 41 82 00 D8 */ beq lbl_802D4DCC
+/* 802D4CF8 002D0958 A0 05 00 16 */ lhz r0, 0x16(r5)
+/* 802D4CFC 002D095C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4D00 002D0960 41 82 00 CC */ beq lbl_802D4DCC
+lbl_802D4D04:
+/* 802D4D04 002D0964 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4D08 002D0968 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4D0C 002D096C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4D10 002D0970 7C A4 02 14 */ add r5, r4, r0
+/* 802D4D14 002D0974 7C 04 00 AE */ lbzx r0, r4, r0
+/* 802D4D18 002D0978 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4D1C 002D097C 41 82 00 28 */ beq lbl_802D4D44
+/* 802D4D20 002D0980 88 05 00 10 */ lbz r0, 0x10(r5)
+/* 802D4D24 002D0984 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4D28 002D0988 41 82 00 1C */ beq lbl_802D4D44
+/* 802D4D2C 002D098C A0 05 00 14 */ lhz r0, 0x14(r5)
+/* 802D4D30 002D0990 7C 03 00 40 */ cmplw r3, r0
+/* 802D4D34 002D0994 41 82 00 98 */ beq lbl_802D4DCC
+/* 802D4D38 002D0998 A0 05 00 16 */ lhz r0, 0x16(r5)
+/* 802D4D3C 002D099C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4D40 002D09A0 41 82 00 8C */ beq lbl_802D4DCC
+lbl_802D4D44:
+/* 802D4D44 002D09A4 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4D48 002D09A8 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4D4C 002D09AC 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4D50 002D09B0 7C A4 02 14 */ add r5, r4, r0
+/* 802D4D54 002D09B4 7C 04 00 AE */ lbzx r0, r4, r0
+/* 802D4D58 002D09B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4D5C 002D09BC 41 82 00 28 */ beq lbl_802D4D84
+/* 802D4D60 002D09C0 88 05 00 10 */ lbz r0, 0x10(r5)
+/* 802D4D64 002D09C4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4D68 002D09C8 41 82 00 1C */ beq lbl_802D4D84
+/* 802D4D6C 002D09CC A0 05 00 14 */ lhz r0, 0x14(r5)
+/* 802D4D70 002D09D0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4D74 002D09D4 41 82 00 58 */ beq lbl_802D4DCC
+/* 802D4D78 002D09D8 A0 05 00 16 */ lhz r0, 0x16(r5)
+/* 802D4D7C 002D09DC 7C 03 00 40 */ cmplw r3, r0
+/* 802D4D80 002D09E0 41 82 00 4C */ beq lbl_802D4DCC
+lbl_802D4D84:
+/* 802D4D84 002D09E4 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4D88 002D09E8 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4D8C 002D09EC 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4D90 002D09F0 7C A4 02 14 */ add r5, r4, r0
+/* 802D4D94 002D09F4 7C 04 00 AE */ lbzx r0, r4, r0
+/* 802D4D98 002D09F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4D9C 002D09FC 41 82 00 28 */ beq lbl_802D4DC4
+/* 802D4DA0 002D0A00 88 05 00 10 */ lbz r0, 0x10(r5)
+/* 802D4DA4 002D0A04 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4DA8 002D0A08 41 82 00 1C */ beq lbl_802D4DC4
+/* 802D4DAC 002D0A0C A0 05 00 14 */ lhz r0, 0x14(r5)
+/* 802D4DB0 002D0A10 7C 03 00 40 */ cmplw r3, r0
+/* 802D4DB4 002D0A14 41 82 00 18 */ beq lbl_802D4DCC
+/* 802D4DB8 002D0A18 A0 05 00 16 */ lhz r0, 0x16(r5)
+/* 802D4DBC 002D0A1C 7C 03 00 40 */ cmplw r3, r0
+/* 802D4DC0 002D0A20 41 82 00 0C */ beq lbl_802D4DCC
+lbl_802D4DC4:
+/* 802D4DC4 002D0A24 3B FF 00 01 */ addi r31, r31, 1
+/* 802D4DC8 002D0A28 42 00 FF 00 */ bdnz lbl_802D4CC8
+lbl_802D4DCC:
+/* 802D4DCC 002D0A2C 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D4DD0 002D0A30 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D4DD4 002D0A34 41 82 00 18 */ beq lbl_802D4DEC
+/* 802D4DD8 002D0A38 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4DDC 002D0A3C 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4DE0 002D0A40 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4DE4 002D0A44 7F C3 02 14 */ add r30, r3, r0
+/* 802D4DE8 002D0A48 3B DE 00 10 */ addi r30, r30, 0x10
+lbl_802D4DEC:
+/* 802D4DEC 002D0A4C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D4DF0 002D0A50 40 82 00 34 */ bne lbl_802D4E24
+/* 802D4DF4 002D0A54 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4DF8 002D0A58 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4DFC 002D0A5C 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4E00 002D0A60 28 00 00 02 */ cmplwi r0, 2
+/* 802D4E04 002D0A64 41 80 00 BC */ blt lbl_802D4EC0
+/* 802D4E08 002D0A68 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D4E0C 002D0A6C 3C 80 80 44 */ lis r4, lbl_80442B48@ha
+/* 802D4E10 002D0A70 7F A5 EB 78 */ mr r5, r29
+/* 802D4E14 002D0A74 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D4E18 002D0A78 38 84 2B 48 */ addi r4, r4, lbl_80442B48@l
+/* 802D4E1C 002D0A7C 4B FE 81 0D */ bl LogMsg_1
+/* 802D4E20 002D0A80 48 00 00 A0 */ b lbl_802D4EC0
+lbl_802D4E24:
+/* 802D4E24 002D0A84 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D4E28 002D0A88 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D4E2C 002D0A8C 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D4E30 002D0A90 28 00 00 04 */ cmplwi r0, 4
+/* 802D4E34 002D0A94 41 80 00 1C */ blt lbl_802D4E50
+/* 802D4E38 002D0A98 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D4E3C 002D0A9C 3C 80 80 44 */ lis r4, lbl_80442B78@ha
+/* 802D4E40 002D0AA0 7F A5 EB 78 */ mr r5, r29
+/* 802D4E44 002D0AA4 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D4E48 002D0AA8 38 84 2B 78 */ addi r4, r4, lbl_80442B78@l
+/* 802D4E4C 002D0AAC 4B FE 80 DD */ bl LogMsg_1
+lbl_802D4E50:
+/* 802D4E50 002D0AB0 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802D4E54 002D0AB4 7C 1D 00 40 */ cmplw r29, r0
+/* 802D4E58 002D0AB8 40 82 00 10 */ bne lbl_802D4E68
+/* 802D4E5C 002D0ABC 38 00 00 00 */ li r0, 0
+/* 802D4E60 002D0AC0 B0 1E 00 04 */ sth r0, 4(r30)
+/* 802D4E64 002D0AC4 48 00 00 0C */ b lbl_802D4E70
+lbl_802D4E68:
+/* 802D4E68 002D0AC8 38 00 00 00 */ li r0, 0
+/* 802D4E6C 002D0ACC B0 1E 00 06 */ sth r0, 6(r30)
+lbl_802D4E70:
+/* 802D4E70 002D0AD0 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802D4E74 002D0AD4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4E78 002D0AD8 40 82 00 48 */ bne lbl_802D4EC0
+/* 802D4E7C 002D0ADC A0 1E 00 06 */ lhz r0, 6(r30)
+/* 802D4E80 002D0AE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4E84 002D0AE4 40 82 00 3C */ bne lbl_802D4EC0
+/* 802D4E88 002D0AE8 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D4E8C 002D0AEC 3C E0 80 57 */ lis r7, lbl_8056B838@ha
+/* 802D4E90 002D0AF0 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D4E94 002D0AF4 39 00 00 00 */ li r8, 0
+/* 802D4E98 002D0AF8 38 E7 B8 38 */ addi r7, r7, lbl_8056B838@l
+/* 802D4E9C 002D0AFC 38 80 00 01 */ li r4, 1
+/* 802D4EA0 002D0B00 7C A7 02 14 */ add r5, r7, r0
+/* 802D4EA4 002D0B04 38 C0 00 00 */ li r6, 0
+/* 802D4EA8 002D0B08 99 05 00 0A */ stb r8, 0xa(r5)
+/* 802D4EAC 002D0B0C 99 1E 00 00 */ stb r8, 0(r30)
+/* 802D4EB0 002D0B10 81 87 03 40 */ lwz r12, 0x340(r7)
+/* 802D4EB4 002D0B14 A0 BE 00 0A */ lhz r5, 0xa(r30)
+/* 802D4EB8 002D0B18 7D 89 03 A6 */ mtctr r12
+/* 802D4EBC 002D0B1C 4E 80 04 21 */ bctrl
+lbl_802D4EC0:
+/* 802D4EC0 002D0B20 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D4EC4 002D0B24 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D4EC8 002D0B28 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D4ECC 002D0B2C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D4ED0 002D0B30 7C 08 03 A6 */ mtlr r0
+/* 802D4ED4 002D0B34 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D4ED8 002D0B38 4E 80 00 20 */ blr
+
+hidh_l2cif_cong_ind:
+/* 802D4EDC 002D0B3C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D4EE0 002D0B40 7C 08 02 A6 */ mflr r0
+/* 802D4EE4 002D0B44 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D4EE8 002D0B48 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D4EEC 002D0B4C 38 00 00 04 */ li r0, 4
+/* 802D4EF0 002D0B50 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D4EF4 002D0B54 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D4EF8 002D0B58 3B E0 00 00 */ li r31, 0
+/* 802D4EFC 002D0B5C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D4F00 002D0B60 7C 9E 23 78 */ mr r30, r4
+/* 802D4F04 002D0B64 38 80 00 00 */ li r4, 0
+/* 802D4F08 002D0B68 7C 09 03 A6 */ mtctr r0
+lbl_802D4F0C:
+/* 802D4F0C 002D0B6C 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802D4F10 002D0B70 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4F14 002D0B74 7C C5 02 14 */ add r6, r5, r0
+/* 802D4F18 002D0B78 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4F1C 002D0B7C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4F20 002D0B80 41 82 00 28 */ beq lbl_802D4F48
+/* 802D4F24 002D0B84 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4F28 002D0B88 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4F2C 002D0B8C 41 82 00 1C */ beq lbl_802D4F48
+/* 802D4F30 002D0B90 A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4F34 002D0B94 7C 03 00 40 */ cmplw r3, r0
+/* 802D4F38 002D0B98 41 82 00 D8 */ beq lbl_802D5010
+/* 802D4F3C 002D0B9C A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4F40 002D0BA0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4F44 002D0BA4 41 82 00 CC */ beq lbl_802D5010
+lbl_802D4F48:
+/* 802D4F48 002D0BA8 38 84 00 01 */ addi r4, r4, 1
+/* 802D4F4C 002D0BAC 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802D4F50 002D0BB0 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4F54 002D0BB4 7C C5 02 14 */ add r6, r5, r0
+/* 802D4F58 002D0BB8 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4F5C 002D0BBC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4F60 002D0BC0 41 82 00 28 */ beq lbl_802D4F88
+/* 802D4F64 002D0BC4 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4F68 002D0BC8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4F6C 002D0BCC 41 82 00 1C */ beq lbl_802D4F88
+/* 802D4F70 002D0BD0 A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4F74 002D0BD4 7C 03 00 40 */ cmplw r3, r0
+/* 802D4F78 002D0BD8 41 82 00 98 */ beq lbl_802D5010
+/* 802D4F7C 002D0BDC A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4F80 002D0BE0 7C 03 00 40 */ cmplw r3, r0
+/* 802D4F84 002D0BE4 41 82 00 8C */ beq lbl_802D5010
+lbl_802D4F88:
+/* 802D4F88 002D0BE8 38 84 00 01 */ addi r4, r4, 1
+/* 802D4F8C 002D0BEC 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802D4F90 002D0BF0 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4F94 002D0BF4 7C C5 02 14 */ add r6, r5, r0
+/* 802D4F98 002D0BF8 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4F9C 002D0BFC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4FA0 002D0C00 41 82 00 28 */ beq lbl_802D4FC8
+/* 802D4FA4 002D0C04 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4FA8 002D0C08 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4FAC 002D0C0C 41 82 00 1C */ beq lbl_802D4FC8
+/* 802D4FB0 002D0C10 A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4FB4 002D0C14 7C 03 00 40 */ cmplw r3, r0
+/* 802D4FB8 002D0C18 41 82 00 58 */ beq lbl_802D5010
+/* 802D4FBC 002D0C1C A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D4FC0 002D0C20 7C 03 00 40 */ cmplw r3, r0
+/* 802D4FC4 002D0C24 41 82 00 4C */ beq lbl_802D5010
+lbl_802D4FC8:
+/* 802D4FC8 002D0C28 38 84 00 01 */ addi r4, r4, 1
+/* 802D4FCC 002D0C2C 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802D4FD0 002D0C30 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D4FD4 002D0C34 7C C5 02 14 */ add r6, r5, r0
+/* 802D4FD8 002D0C38 7C 05 00 AE */ lbzx r0, r5, r0
+/* 802D4FDC 002D0C3C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4FE0 002D0C40 41 82 00 28 */ beq lbl_802D5008
+/* 802D4FE4 002D0C44 88 06 00 10 */ lbz r0, 0x10(r6)
+/* 802D4FE8 002D0C48 2C 00 00 00 */ cmpwi r0, 0
+/* 802D4FEC 002D0C4C 41 82 00 1C */ beq lbl_802D5008
+/* 802D4FF0 002D0C50 A0 06 00 14 */ lhz r0, 0x14(r6)
+/* 802D4FF4 002D0C54 7C 03 00 40 */ cmplw r3, r0
+/* 802D4FF8 002D0C58 41 82 00 18 */ beq lbl_802D5010
+/* 802D4FFC 002D0C5C A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D5000 002D0C60 7C 03 00 40 */ cmplw r3, r0
+/* 802D5004 002D0C64 41 82 00 0C */ beq lbl_802D5010
+lbl_802D5008:
+/* 802D5008 002D0C68 38 84 00 01 */ addi r4, r4, 1
+/* 802D500C 002D0C6C 42 00 FF 00 */ bdnz lbl_802D4F0C
+lbl_802D5010:
+/* 802D5010 002D0C70 54 80 06 3E */ clrlwi r0, r4, 0x18
+/* 802D5014 002D0C74 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D5018 002D0C78 41 82 00 18 */ beq lbl_802D5030
+/* 802D501C 002D0C7C 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D5020 002D0C80 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D5024 002D0C84 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D5028 002D0C88 7F E4 02 14 */ add r31, r4, r0
+/* 802D502C 002D0C8C 3B FF 00 10 */ addi r31, r31, 0x10
+lbl_802D5030:
+/* 802D5030 002D0C90 2C 1F 00 00 */ cmpwi r31, 0
+/* 802D5034 002D0C94 40 82 00 34 */ bne lbl_802D5068
+/* 802D5038 002D0C98 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D503C 002D0C9C 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D5040 002D0CA0 88 04 04 01 */ lbz r0, 0x401(r4)
+/* 802D5044 002D0CA4 28 00 00 02 */ cmplwi r0, 2
+/* 802D5048 002D0CA8 41 80 00 74 */ blt lbl_802D50BC
+/* 802D504C 002D0CAC 3C 80 80 44 */ lis r4, lbl_80442BA0@ha
+/* 802D5050 002D0CB0 3C C0 00 1E */ lis r6, 0x001E0001@ha
+/* 802D5054 002D0CB4 7C 65 1B 78 */ mr r5, r3
+/* 802D5058 002D0CB8 38 66 00 01 */ addi r3, r6, 0x001E0001@l
+/* 802D505C 002D0CBC 38 84 2B A0 */ addi r4, r4, lbl_80442BA0@l
+/* 802D5060 002D0CC0 4B FE 7E C9 */ bl LogMsg_1
+/* 802D5064 002D0CC4 48 00 00 58 */ b lbl_802D50BC
+lbl_802D5068:
+/* 802D5068 002D0CC8 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D506C 002D0CCC 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D5070 002D0CD0 88 04 04 01 */ lbz r0, 0x401(r4)
+/* 802D5074 002D0CD4 28 00 00 04 */ cmplwi r0, 4
+/* 802D5078 002D0CD8 41 80 00 20 */ blt lbl_802D5098
+/* 802D507C 002D0CDC 3C 80 80 44 */ lis r4, lbl_80442BD8@ha
+/* 802D5080 002D0CE0 3C E0 00 1E */ lis r7, 0x001E0003@ha
+/* 802D5084 002D0CE4 7C 65 1B 78 */ mr r5, r3
+/* 802D5088 002D0CE8 7F C6 F3 78 */ mr r6, r30
+/* 802D508C 002D0CEC 38 67 00 03 */ addi r3, r7, 0x001E0003@l
+/* 802D5090 002D0CF0 38 84 2B D8 */ addi r4, r4, lbl_80442BD8@l
+/* 802D5094 002D0CF4 4B FE 7E AD */ bl LogMsg_2
+lbl_802D5098:
+/* 802D5098 002D0CF8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D509C 002D0CFC 41 82 00 14 */ beq lbl_802D50B0
+/* 802D50A0 002D0D00 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802D50A4 002D0D04 60 00 00 20 */ ori r0, r0, 0x20
+/* 802D50A8 002D0D08 98 1F 00 01 */ stb r0, 1(r31)
+/* 802D50AC 002D0D0C 48 00 00 10 */ b lbl_802D50BC
+lbl_802D50B0:
+/* 802D50B0 002D0D10 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802D50B4 002D0D14 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
+/* 802D50B8 002D0D18 98 1F 00 01 */ stb r0, 1(r31)
+lbl_802D50BC:
+/* 802D50BC 002D0D1C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D50C0 002D0D20 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D50C4 002D0D24 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D50C8 002D0D28 7C 08 03 A6 */ mtlr r0
+/* 802D50CC 002D0D2C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D50D0 002D0D30 4E 80 00 20 */ blr
+
+hidh_l2cif_data_ind:
+/* 802D50D4 002D0D34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D50D8 002D0D38 7C 08 02 A6 */ mflr r0
+/* 802D50DC 002D0D3C 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D50E0 002D0D40 7C 65 1B 78 */ mr r5, r3
+/* 802D50E4 002D0D44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D50E8 002D0D48 38 00 00 04 */ li r0, 4
+/* 802D50EC 002D0D4C 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D50F0 002D0D50 39 20 00 00 */ li r9, 0
+/* 802D50F4 002D0D54 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D50F8 002D0D58 3B E0 00 00 */ li r31, 0
+/* 802D50FC 002D0D5C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D5100 002D0D60 7C 9E 23 78 */ mr r30, r4
+/* 802D5104 002D0D64 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D5108 002D0D68 A0 E4 00 04 */ lhz r7, 4(r4)
+/* 802D510C 002D0D6C 7C E4 3A 14 */ add r7, r4, r7
+/* 802D5110 002D0D70 7C 09 03 A6 */ mtctr r0
+lbl_802D5114:
+/* 802D5114 002D0D74 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D5118 002D0D78 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D511C 002D0D7C 7D 06 02 14 */ add r8, r6, r0
+/* 802D5120 002D0D80 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D5124 002D0D84 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5128 002D0D88 41 82 00 28 */ beq lbl_802D5150
+/* 802D512C 002D0D8C 88 08 00 10 */ lbz r0, 0x10(r8)
+/* 802D5130 002D0D90 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5134 002D0D94 41 82 00 1C */ beq lbl_802D5150
+/* 802D5138 002D0D98 A0 08 00 14 */ lhz r0, 0x14(r8)
+/* 802D513C 002D0D9C 7C 03 00 40 */ cmplw r3, r0
+/* 802D5140 002D0DA0 41 82 00 D8 */ beq lbl_802D5218
+/* 802D5144 002D0DA4 A0 08 00 16 */ lhz r0, 0x16(r8)
+/* 802D5148 002D0DA8 7C 03 00 40 */ cmplw r3, r0
+/* 802D514C 002D0DAC 41 82 00 CC */ beq lbl_802D5218
+lbl_802D5150:
+/* 802D5150 002D0DB0 3B FF 00 01 */ addi r31, r31, 1
+/* 802D5154 002D0DB4 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D5158 002D0DB8 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D515C 002D0DBC 7D 06 02 14 */ add r8, r6, r0
+/* 802D5160 002D0DC0 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D5164 002D0DC4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5168 002D0DC8 41 82 00 28 */ beq lbl_802D5190
+/* 802D516C 002D0DCC 88 08 00 10 */ lbz r0, 0x10(r8)
+/* 802D5170 002D0DD0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5174 002D0DD4 41 82 00 1C */ beq lbl_802D5190
+/* 802D5178 002D0DD8 A0 08 00 14 */ lhz r0, 0x14(r8)
+/* 802D517C 002D0DDC 7C 03 00 40 */ cmplw r3, r0
+/* 802D5180 002D0DE0 41 82 00 98 */ beq lbl_802D5218
+/* 802D5184 002D0DE4 A0 08 00 16 */ lhz r0, 0x16(r8)
+/* 802D5188 002D0DE8 7C 03 00 40 */ cmplw r3, r0
+/* 802D518C 002D0DEC 41 82 00 8C */ beq lbl_802D5218
+lbl_802D5190:
+/* 802D5190 002D0DF0 3B FF 00 01 */ addi r31, r31, 1
+/* 802D5194 002D0DF4 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D5198 002D0DF8 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D519C 002D0DFC 7D 06 02 14 */ add r8, r6, r0
+/* 802D51A0 002D0E00 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D51A4 002D0E04 2C 00 00 00 */ cmpwi r0, 0
+/* 802D51A8 002D0E08 41 82 00 28 */ beq lbl_802D51D0
+/* 802D51AC 002D0E0C 88 08 00 10 */ lbz r0, 0x10(r8)
+/* 802D51B0 002D0E10 2C 00 00 00 */ cmpwi r0, 0
+/* 802D51B4 002D0E14 41 82 00 1C */ beq lbl_802D51D0
+/* 802D51B8 002D0E18 A0 08 00 14 */ lhz r0, 0x14(r8)
+/* 802D51BC 002D0E1C 7C 03 00 40 */ cmplw r3, r0
+/* 802D51C0 002D0E20 41 82 00 58 */ beq lbl_802D5218
+/* 802D51C4 002D0E24 A0 08 00 16 */ lhz r0, 0x16(r8)
+/* 802D51C8 002D0E28 7C 03 00 40 */ cmplw r3, r0
+/* 802D51CC 002D0E2C 41 82 00 4C */ beq lbl_802D5218
+lbl_802D51D0:
+/* 802D51D0 002D0E30 3B FF 00 01 */ addi r31, r31, 1
+/* 802D51D4 002D0E34 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D51D8 002D0E38 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D51DC 002D0E3C 7D 06 02 14 */ add r8, r6, r0
+/* 802D51E0 002D0E40 7C 06 00 AE */ lbzx r0, r6, r0
+/* 802D51E4 002D0E44 2C 00 00 00 */ cmpwi r0, 0
+/* 802D51E8 002D0E48 41 82 00 28 */ beq lbl_802D5210
+/* 802D51EC 002D0E4C 88 08 00 10 */ lbz r0, 0x10(r8)
+/* 802D51F0 002D0E50 2C 00 00 00 */ cmpwi r0, 0
+/* 802D51F4 002D0E54 41 82 00 1C */ beq lbl_802D5210
+/* 802D51F8 002D0E58 A0 08 00 14 */ lhz r0, 0x14(r8)
+/* 802D51FC 002D0E5C 7C 03 00 40 */ cmplw r3, r0
+/* 802D5200 002D0E60 41 82 00 18 */ beq lbl_802D5218
+/* 802D5204 002D0E64 A0 08 00 16 */ lhz r0, 0x16(r8)
+/* 802D5208 002D0E68 7C 03 00 40 */ cmplw r3, r0
+/* 802D520C 002D0E6C 41 82 00 0C */ beq lbl_802D5218
+lbl_802D5210:
+/* 802D5210 002D0E70 3B FF 00 01 */ addi r31, r31, 1
+/* 802D5214 002D0E74 42 00 FF 00 */ bdnz lbl_802D5114
+lbl_802D5218:
+/* 802D5218 002D0E78 57 E0 06 3E */ clrlwi r0, r31, 0x18
+/* 802D521C 002D0E7C 28 00 00 10 */ cmplwi r0, 0x10
+/* 802D5220 002D0E80 41 82 00 18 */ beq lbl_802D5238
+/* 802D5224 002D0E84 1C 00 00 34 */ mulli r0, r0, 0x34
+/* 802D5228 002D0E88 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D522C 002D0E8C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D5230 002D0E90 7D 23 02 14 */ add r9, r3, r0
+/* 802D5234 002D0E94 39 29 00 10 */ addi r9, r9, 0x10
+lbl_802D5238:
+/* 802D5238 002D0E98 2C 09 00 00 */ cmpwi r9, 0
+/* 802D523C 002D0E9C 40 82 00 38 */ bne lbl_802D5274
+/* 802D5240 002D0EA0 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D5244 002D0EA4 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D5248 002D0EA8 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D524C 002D0EAC 28 00 00 02 */ cmplwi r0, 2
+/* 802D5250 002D0EB0 41 80 00 18 */ blt lbl_802D5268
+/* 802D5254 002D0EB4 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D5258 002D0EB8 3C 80 80 44 */ lis r4, lbl_80442C10@ha
+/* 802D525C 002D0EBC 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D5260 002D0EC0 38 84 2C 10 */ addi r4, r4, lbl_80442C10@l
+/* 802D5264 002D0EC4 4B FE 7C C5 */ bl LogMsg_1
+lbl_802D5268:
+/* 802D5268 002D0EC8 7F C3 F3 78 */ mr r3, r30
+/* 802D526C 002D0ECC 4B FE 4A C9 */ bl GKI_freebuf
+/* 802D5270 002D0ED0 48 00 01 E0 */ b lbl_802D5450
+lbl_802D5274:
+/* 802D5274 002D0ED4 88 E7 00 08 */ lbz r7, 8(r7)
+/* 802D5278 002D0ED8 A0 C4 00 02 */ lhz r6, 2(r4)
+/* 802D527C 002D0EDC A0 64 00 04 */ lhz r3, 4(r4)
+/* 802D5280 002D0EE0 54 E0 E7 3E */ rlwinm r0, r7, 0x1c, 0x1c, 0x1f
+/* 802D5284 002D0EE4 38 C6 FF FF */ addi r6, r6, -1
+/* 802D5288 002D0EE8 54 E8 07 3E */ clrlwi r8, r7, 0x1c
+/* 802D528C 002D0EEC 38 63 00 01 */ addi r3, r3, 1
+/* 802D5290 002D0EF0 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802D5294 002D0EF4 B0 C4 00 02 */ sth r6, 2(r4)
+/* 802D5298 002D0EF8 54 E7 07 BE */ clrlwi r7, r7, 0x1e
+/* 802D529C 002D0EFC B0 64 00 04 */ sth r3, 4(r4)
+/* 802D52A0 002D0F00 41 82 01 18 */ beq lbl_802D53B8
+/* 802D52A4 002D0F04 40 80 00 1C */ bge lbl_802D52C0
+/* 802D52A8 002D0F08 2C 00 00 01 */ cmpwi r0, 1
+/* 802D52AC 002D0F0C 41 82 00 50 */ beq lbl_802D52FC
+/* 802D52B0 002D0F10 40 80 01 98 */ bge lbl_802D5448
+/* 802D52B4 002D0F14 2C 00 00 00 */ cmpwi r0, 0
+/* 802D52B8 002D0F18 40 80 00 14 */ bge lbl_802D52CC
+/* 802D52BC 002D0F1C 48 00 01 8C */ b lbl_802D5448
+lbl_802D52C0:
+/* 802D52C0 002D0F20 2C 00 00 0C */ cmpwi r0, 0xc
+/* 802D52C4 002D0F24 40 80 01 84 */ bge lbl_802D5448
+/* 802D52C8 002D0F28 48 00 01 38 */ b lbl_802D5400
+lbl_802D52CC:
+/* 802D52CC 002D0F2C 3C 80 80 57 */ lis r4, lbl_8056B838@ha
+/* 802D52D0 002D0F30 7D 05 43 78 */ mr r5, r8
+/* 802D52D4 002D0F34 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
+/* 802D52D8 002D0F38 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D52DC 002D0F3C 81 84 03 40 */ lwz r12, 0x340(r4)
+/* 802D52E0 002D0F40 38 80 00 07 */ li r4, 7
+/* 802D52E4 002D0F44 38 C0 00 00 */ li r6, 0
+/* 802D52E8 002D0F48 7D 89 03 A6 */ mtctr r12
+/* 802D52EC 002D0F4C 4E 80 04 21 */ bctrl
+/* 802D52F0 002D0F50 7F C3 F3 78 */ mr r3, r30
+/* 802D52F4 002D0F54 4B FE 4A 41 */ bl GKI_freebuf
+/* 802D52F8 002D0F58 48 00 01 58 */ b lbl_802D5450
+lbl_802D52FC:
+/* 802D52FC 002D0F5C 2C 08 00 05 */ cmpwi r8, 5
+/* 802D5300 002D0F60 41 82 00 08 */ beq lbl_802D5308
+/* 802D5304 002D0F64 48 00 00 A8 */ b lbl_802D53AC
+lbl_802D5308:
+/* 802D5308 002D0F68 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D530C 002D0F6C 57 E4 06 3E */ clrlwi r4, r31, 0x18
+/* 802D5310 002D0F70 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D5314 002D0F74 88 03 04 01 */ lbz r0, 0x401(r3)
+/* 802D5318 002D0F78 1C 84 00 34 */ mulli r4, r4, 0x34
+/* 802D531C 002D0F7C 28 00 00 04 */ cmplwi r0, 4
+/* 802D5320 002D0F80 7F A3 22 14 */ add r29, r3, r4
+/* 802D5324 002D0F84 41 80 00 18 */ blt lbl_802D533C
+/* 802D5328 002D0F88 3C 60 00 1E */ lis r3, 0x001E0003@ha
+/* 802D532C 002D0F8C 3C 80 80 44 */ lis r4, lbl_8044289C@ha
+/* 802D5330 002D0F90 38 63 00 03 */ addi r3, r3, 0x001E0003@l
+/* 802D5334 002D0F94 38 84 28 9C */ addi r4, r4, lbl_8044289C@l
+/* 802D5338 002D0F98 4B FE 7B D9 */ bl LogMsg_0
+lbl_802D533C:
+/* 802D533C 002D0F9C A0 1D 00 14 */ lhz r0, 0x14(r29)
+/* 802D5340 002D0FA0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5344 002D0FA4 40 82 00 10 */ bne lbl_802D5354
+/* 802D5348 002D0FA8 A0 1D 00 16 */ lhz r0, 0x16(r29)
+/* 802D534C 002D0FAC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5350 002D0FB0 41 82 00 30 */ beq lbl_802D5380
+lbl_802D5354:
+/* 802D5354 002D0FB4 38 00 00 05 */ li r0, 5
+/* 802D5358 002D0FB8 98 1D 00 10 */ stb r0, 0x10(r29)
+/* 802D535C 002D0FBC A0 7D 00 16 */ lhz r3, 0x16(r29)
+/* 802D5360 002D0FC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5364 002D0FC4 41 82 00 08 */ beq lbl_802D536C
+/* 802D5368 002D0FC8 48 00 0C 41 */ bl L2CA_DisconnectReq
+lbl_802D536C:
+/* 802D536C 002D0FCC A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D5370 002D0FD0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5374 002D0FD4 41 82 00 14 */ beq lbl_802D5388
+/* 802D5378 002D0FD8 48 00 0C 31 */ bl L2CA_DisconnectReq
+/* 802D537C 002D0FDC 48 00 00 0C */ b lbl_802D5388
+lbl_802D5380:
+/* 802D5380 002D0FE0 38 00 00 00 */ li r0, 0
+/* 802D5384 002D0FE4 98 1D 00 10 */ stb r0, 0x10(r29)
+lbl_802D5388:
+/* 802D5388 002D0FE8 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D538C 002D0FEC 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D5390 002D0FF0 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D5394 002D0FF4 38 80 00 08 */ li r4, 8
+/* 802D5398 002D0FF8 81 85 03 40 */ lwz r12, 0x340(r5)
+/* 802D539C 002D0FFC 38 A0 00 00 */ li r5, 0
+/* 802D53A0 002D1000 38 C0 00 00 */ li r6, 0
+/* 802D53A4 002D1004 7D 89 03 A6 */ mtctr r12
+/* 802D53A8 002D1008 4E 80 04 21 */ bctrl
+lbl_802D53AC:
+/* 802D53AC 002D100C 7F C3 F3 78 */ mr r3, r30
+/* 802D53B0 002D1010 4B FE 49 85 */ bl GKI_freebuf
+/* 802D53B4 002D1014 48 00 00 9C */ b lbl_802D5450
+lbl_802D53B8:
+/* 802D53B8 002D1018 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D53BC 002D101C 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D53C0 002D1020 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D53C4 002D1024 38 80 00 05 */ li r4, 5
+/* 802D53C8 002D1028 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D53CC 002D102C 7C C6 02 14 */ add r6, r6, r0
+/* 802D53D0 002D1030 A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D53D4 002D1034 7C 05 00 40 */ cmplw r5, r0
+/* 802D53D8 002D1038 40 82 00 08 */ bne lbl_802D53E0
+/* 802D53DC 002D103C 38 80 00 03 */ li r4, 3
+lbl_802D53E0:
+/* 802D53E0 002D1040 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D53E4 002D1044 7C E5 3B 78 */ mr r5, r7
+/* 802D53E8 002D1048 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D53EC 002D104C 81 86 03 40 */ lwz r12, 0x340(r6)
+/* 802D53F0 002D1050 7F C6 F3 78 */ mr r6, r30
+/* 802D53F4 002D1054 7D 89 03 A6 */ mtctr r12
+/* 802D53F8 002D1058 4E 80 04 21 */ bctrl
+/* 802D53FC 002D105C 48 00 00 54 */ b lbl_802D5450
+lbl_802D5400:
+/* 802D5400 002D1060 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 802D5404 002D1064 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D5408 002D1068 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D540C 002D106C 38 80 00 06 */ li r4, 6
+/* 802D5410 002D1070 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D5414 002D1074 7C C6 02 14 */ add r6, r6, r0
+/* 802D5418 002D1078 A0 06 00 16 */ lhz r0, 0x16(r6)
+/* 802D541C 002D107C 7C 05 00 40 */ cmplw r5, r0
+/* 802D5420 002D1080 40 82 00 08 */ bne lbl_802D5428
+/* 802D5424 002D1084 38 80 00 04 */ li r4, 4
+lbl_802D5428:
+/* 802D5428 002D1088 3C C0 80 57 */ lis r6, lbl_8056B838@ha
+/* 802D542C 002D108C 7C E5 3B 78 */ mr r5, r7
+/* 802D5430 002D1090 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
+/* 802D5434 002D1094 81 86 03 40 */ lwz r12, 0x340(r6)
+/* 802D5438 002D1098 7F C6 F3 78 */ mr r6, r30
+/* 802D543C 002D109C 7D 89 03 A6 */ mtctr r12
+/* 802D5440 002D10A0 4E 80 04 21 */ bctrl
+/* 802D5444 002D10A4 48 00 00 0C */ b lbl_802D5450
+lbl_802D5448:
+/* 802D5448 002D10A8 7F C3 F3 78 */ mr r3, r30
+/* 802D544C 002D10AC 4B FE 48 E9 */ bl GKI_freebuf
+lbl_802D5450:
+/* 802D5450 002D10B0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D5454 002D10B4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D5458 002D10B8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D545C 002D10BC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D5460 002D10C0 7C 08 03 A6 */ mtlr r0
+/* 802D5464 002D10C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D5468 002D10C8 4E 80 00 20 */ blr
+
+.global hidh_conn_snd_data
+hidh_conn_snd_data:
+/* 802D546C 002D10CC 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 802D5470 002D10D0 7C 08 02 A6 */ mflr r0
+/* 802D5474 002D10D4 90 01 00 54 */ stw r0, 0x54(r1)
+/* 802D5478 002D10D8 39 61 00 50 */ addi r11, r1, 0x50
+/* 802D547C 002D10DC 4B EF 1C 85 */ bl _savegpr_17
+/* 802D5480 002D10E0 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D5484 002D10E4 3C 60 80 57 */ lis r3, lbl_8056B838@ha
+/* 802D5488 002D10E8 7C 91 23 78 */ mr r17, r4
+/* 802D548C 002D10EC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
+/* 802D5490 002D10F0 7F 63 02 14 */ add r27, r3, r0
+/* 802D5494 002D10F4 7C F2 3B 78 */ mr r18, r7
+/* 802D5498 002D10F8 88 1B 00 11 */ lbz r0, 0x11(r27)
+/* 802D549C 002D10FC 7D 13 43 78 */ mr r19, r8
+/* 802D54A0 002D1100 3A A0 00 00 */ li r21, 0
+/* 802D54A4 002D1104 3A 80 00 00 */ li r20, 0
+/* 802D54A8 002D1108 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802D54AC 002D110C 41 82 00 1C */ beq lbl_802D54C8
+/* 802D54B0 002D1110 2C 08 00 00 */ cmpwi r8, 0
+/* 802D54B4 002D1114 41 82 00 0C */ beq lbl_802D54C0
+/* 802D54B8 002D1118 7E 63 9B 78 */ mr r3, r19
+/* 802D54BC 002D111C 4B FE 48 79 */ bl GKI_freebuf
+lbl_802D54C0:
+/* 802D54C0 002D1120 38 60 00 08 */ li r3, 8
+/* 802D54C4 002D1124 48 00 02 2C */ b lbl_802D56F0
+lbl_802D54C8:
+/* 802D54C8 002D1128 2C 04 00 04 */ cmpwi r4, 4
+/* 802D54CC 002D112C 40 80 00 10 */ bge lbl_802D54DC
+/* 802D54D0 002D1130 2C 04 00 01 */ cmpwi r4, 1
+/* 802D54D4 002D1134 41 82 00 14 */ beq lbl_802D54E8
+/* 802D54D8 002D1138 48 00 00 28 */ b lbl_802D5500
+lbl_802D54DC:
+/* 802D54DC 002D113C 2C 04 00 0A */ cmpwi r4, 0xa
+/* 802D54E0 002D1140 41 82 00 14 */ beq lbl_802D54F4
+/* 802D54E4 002D1144 40 80 00 1C */ bge lbl_802D5500
+lbl_802D54E8:
+/* 802D54E8 002D1148 A2 FB 00 14 */ lhz r23, 0x14(r27)
+/* 802D54EC 002D114C 3A C0 00 02 */ li r22, 2
+/* 802D54F0 002D1150 48 00 00 18 */ b lbl_802D5508
+lbl_802D54F4:
+/* 802D54F4 002D1154 A2 FB 00 16 */ lhz r23, 0x16(r27)
+/* 802D54F8 002D1158 3A C0 00 02 */ li r22, 2
+/* 802D54FC 002D115C 48 00 00 0C */ b lbl_802D5508
+lbl_802D5500:
+/* 802D5500 002D1160 38 60 00 05 */ li r3, 5
+/* 802D5504 002D1164 48 00 01 EC */ b lbl_802D56F0
+lbl_802D5508:
+/* 802D5508 002D1168 28 04 00 09 */ cmplwi r4, 9
+/* 802D550C 002D116C 40 82 00 0C */ bne lbl_802D5518
+/* 802D5510 002D1170 3A A0 00 01 */ li r21, 1
+/* 802D5514 002D1174 48 00 00 18 */ b lbl_802D552C
+lbl_802D5518:
+/* 802D5518 002D1178 28 04 00 04 */ cmplwi r4, 4
+/* 802D551C 002D117C 40 82 00 10 */ bne lbl_802D552C
+/* 802D5520 002D1180 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c
+/* 802D5524 002D1184 41 82 00 08 */ beq lbl_802D552C
+/* 802D5528 002D1188 3A A0 00 02 */ li r21, 2
+lbl_802D552C:
+/* 802D552C 002D118C 54 BE 07 3E */ clrlwi r30, r5, 0x1c
+/* 802D5530 002D1190 54 DD 06 3E */ clrlwi r29, r6, 0x18
+/* 802D5534 002D1194 54 DC C6 3E */ rlwinm r28, r6, 0x18, 0x18, 0x1f
+/* 802D5538 002D1198 3B E0 00 09 */ li r31, 9
+lbl_802D553C:
+/* 802D553C 002D119C 2C 13 00 00 */ cmpwi r19, 0
+/* 802D5540 002D11A0 41 82 00 0C */ beq lbl_802D554C
+/* 802D5544 002D11A4 2C 14 00 00 */ cmpwi r20, 0
+/* 802D5548 002D11A8 41 82 00 38 */ beq lbl_802D5580
+lbl_802D554C:
+/* 802D554C 002D11AC 7E C3 B3 78 */ mr r3, r22
+/* 802D5550 002D11B0 4B FE 46 FD */ bl GKI_getpoolbuf
+/* 802D5554 002D11B4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5558 002D11B8 7C 7A 1B 78 */ mr r26, r3
+/* 802D555C 002D11BC 40 82 00 0C */ bne lbl_802D5568
+/* 802D5560 002D11C0 38 60 00 03 */ li r3, 3
+/* 802D5564 002D11C4 48 00 01 8C */ b lbl_802D56F0
+lbl_802D5568:
+/* 802D5568 002D11C8 B3 E3 00 04 */ sth r31, 4(r3)
+/* 802D556C 002D11CC 38 80 00 00 */ li r4, 0
+/* 802D5570 002D11D0 3B 00 00 00 */ li r24, 0
+/* 802D5574 002D11D4 3B 20 00 00 */ li r25, 0
+/* 802D5578 002D11D8 3A 80 00 00 */ li r20, 0
+/* 802D557C 002D11DC 48 00 00 68 */ b lbl_802D55E4
+lbl_802D5580:
+/* 802D5580 002D11E0 A0 7B 00 18 */ lhz r3, 0x18(r27)
+/* 802D5584 002D11E4 A3 13 00 02 */ lhz r24, 2(r19)
+/* 802D5588 002D11E8 38 03 FF FF */ addi r0, r3, -1
+/* 802D558C 002D11EC 7C 18 00 00 */ cmpw r24, r0
+/* 802D5590 002D11F0 40 81 00 3C */ ble lbl_802D55CC
+/* 802D5594 002D11F4 7E C3 B3 78 */ mr r3, r22
+/* 802D5598 002D11F8 4B FE 46 B5 */ bl GKI_getpoolbuf
+/* 802D559C 002D11FC 2C 03 00 00 */ cmpwi r3, 0
+/* 802D55A0 002D1200 7C 7A 1B 78 */ mr r26, r3
+/* 802D55A4 002D1204 40 82 00 0C */ bne lbl_802D55B0
+/* 802D55A8 002D1208 38 60 00 03 */ li r3, 3
+/* 802D55AC 002D120C 48 00 01 44 */ b lbl_802D56F0
+lbl_802D55B0:
+/* 802D55B0 002D1210 B3 E3 00 04 */ sth r31, 4(r3)
+/* 802D55B4 002D1214 38 80 00 01 */ li r4, 1
+/* 802D55B8 002D1218 A0 7B 00 18 */ lhz r3, 0x18(r27)
+/* 802D55BC 002D121C A3 13 00 02 */ lhz r24, 2(r19)
+/* 802D55C0 002D1220 38 03 FF FF */ addi r0, r3, -1
+/* 802D55C4 002D1224 54 19 04 3E */ clrlwi r25, r0, 0x10
+/* 802D55C8 002D1228 48 00 00 1C */ b lbl_802D55E4
+lbl_802D55CC:
+/* 802D55CC 002D122C A0 73 00 04 */ lhz r3, 4(r19)
+/* 802D55D0 002D1230 7E 7A 9B 78 */ mr r26, r19
+/* 802D55D4 002D1234 7F 19 C3 78 */ mr r25, r24
+/* 802D55D8 002D1238 38 80 00 00 */ li r4, 0
+/* 802D55DC 002D123C 38 03 FF FF */ addi r0, r3, -1
+/* 802D55E0 002D1240 B0 13 00 04 */ sth r0, 4(r19)
+lbl_802D55E4:
+/* 802D55E4 002D1244 A0 7A 00 04 */ lhz r3, 4(r26)
+/* 802D55E8 002D1248 56 20 25 36 */ rlwinm r0, r17, 4, 0x14, 0x1b
+/* 802D55EC 002D124C 28 11 00 04 */ cmplwi r17, 4
+/* 802D55F0 002D1250 7C 7A 1A 14 */ add r3, r26, r3
+/* 802D55F4 002D1254 7C 00 F3 78 */ or r0, r0, r30
+/* 802D55F8 002D1258 98 03 00 08 */ stb r0, 8(r3)
+/* 802D55FC 002D125C 38 63 00 09 */ addi r3, r3, 9
+/* 802D5600 002D1260 40 82 00 18 */ bne lbl_802D5618
+/* 802D5604 002D1264 2C 12 00 00 */ cmpwi r18, 0
+/* 802D5608 002D1268 41 82 00 10 */ beq lbl_802D5618
+/* 802D560C 002D126C 9A 43 00 00 */ stb r18, 0(r3)
+/* 802D5610 002D1270 3B 20 00 01 */ li r25, 1
+/* 802D5614 002D1274 3B 00 00 01 */ li r24, 1
+lbl_802D5618:
+/* 802D5618 002D1278 2C 04 00 00 */ cmpwi r4, 0
+/* 802D561C 002D127C 41 82 00 34 */ beq lbl_802D5650
+/* 802D5620 002D1280 A0 13 00 04 */ lhz r0, 4(r19)
+/* 802D5624 002D1284 57 25 04 3E */ clrlwi r5, r25, 0x10
+/* 802D5628 002D1288 7C 93 02 14 */ add r4, r19, r0
+/* 802D562C 002D128C 38 84 00 08 */ addi r4, r4, 8
+/* 802D5630 002D1290 4B D2 E9 D1 */ bl memcpy
+/* 802D5634 002D1294 A0 73 00 04 */ lhz r3, 4(r19)
+/* 802D5638 002D1298 A0 13 00 02 */ lhz r0, 2(r19)
+/* 802D563C 002D129C 7C 63 CA 14 */ add r3, r3, r25
+/* 802D5640 002D12A0 7C 19 00 50 */ subf r0, r25, r0
+/* 802D5644 002D12A4 B0 73 00 04 */ sth r3, 4(r19)
+/* 802D5648 002D12A8 B0 13 00 02 */ sth r0, 2(r19)
+/* 802D564C 002D12AC 48 00 00 2C */ b lbl_802D5678
+lbl_802D5650:
+/* 802D5650 002D12B0 28 15 00 01 */ cmplwi r21, 1
+/* 802D5654 002D12B4 40 82 00 10 */ bne lbl_802D5664
+/* 802D5658 002D12B8 57 20 04 3E */ clrlwi r0, r25, 0x10
+/* 802D565C 002D12BC 7F A3 01 AE */ stbx r29, r3, r0
+/* 802D5660 002D12C0 48 00 00 18 */ b lbl_802D5678
+lbl_802D5664:
+/* 802D5664 002D12C4 28 15 00 02 */ cmplwi r21, 2
+/* 802D5668 002D12C8 40 82 00 10 */ bne lbl_802D5678
+/* 802D566C 002D12CC 57 20 04 3E */ clrlwi r0, r25, 0x10
+/* 802D5670 002D12D0 7F A3 01 EE */ stbux r29, r3, r0
+/* 802D5674 002D12D4 9B 83 00 01 */ stb r28, 1(r3)
+lbl_802D5678:
+/* 802D5678 002D12D8 7C 79 AA 14 */ add r3, r25, r21
+/* 802D567C 002D12DC 7F 19 C0 50 */ subf r24, r25, r24
+/* 802D5680 002D12E0 38 03 00 01 */ addi r0, r3, 1
+/* 802D5684 002D12E4 B0 1A 00 02 */ sth r0, 2(r26)
+/* 802D5688 002D12E8 88 1B 00 11 */ lbz r0, 0x11(r27)
+/* 802D568C 002D12EC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802D5690 002D12F0 40 82 00 18 */ bne lbl_802D56A8
+/* 802D5694 002D12F4 7E E3 BB 78 */ mr r3, r23
+/* 802D5698 002D12F8 7F 44 D3 78 */ mr r4, r26
+/* 802D569C 002D12FC 48 00 0A 55 */ bl L2CA_DataWrite
+/* 802D56A0 002D1300 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D56A4 002D1304 40 82 00 0C */ bne lbl_802D56B0
+lbl_802D56A8:
+/* 802D56A8 002D1308 38 60 00 08 */ li r3, 8
+/* 802D56AC 002D130C 48 00 00 44 */ b lbl_802D56F0
+lbl_802D56B0:
+/* 802D56B0 002D1310 57 00 04 3F */ clrlwi. r0, r24, 0x10
+/* 802D56B4 002D1314 41 82 00 0C */ beq lbl_802D56C0
+/* 802D56B8 002D1318 3A 20 00 0B */ li r17, 0xb
+/* 802D56BC 002D131C 48 00 00 20 */ b lbl_802D56DC
+lbl_802D56C0:
+/* 802D56C0 002D1320 A0 7B 00 18 */ lhz r3, 0x18(r27)
+/* 802D56C4 002D1324 57 24 04 3E */ clrlwi r4, r25, 0x10
+/* 802D56C8 002D1328 38 03 FF FF */ addi r0, r3, -1
+/* 802D56CC 002D132C 7C 04 00 00 */ cmpw r4, r0
+/* 802D56D0 002D1330 40 82 00 0C */ bne lbl_802D56DC
+/* 802D56D4 002D1334 3A 20 00 0B */ li r17, 0xb
+/* 802D56D8 002D1338 3A 80 00 01 */ li r20, 1
+lbl_802D56DC:
+/* 802D56DC 002D133C 57 00 04 3F */ clrlwi. r0, r24, 0x10
+/* 802D56E0 002D1340 40 82 FE 5C */ bne lbl_802D553C
+/* 802D56E4 002D1344 2C 14 00 00 */ cmpwi r20, 0
+/* 802D56E8 002D1348 40 82 FE 54 */ bne lbl_802D553C
+/* 802D56EC 002D134C 38 60 00 00 */ li r3, 0
+lbl_802D56F0:
+/* 802D56F0 002D1350 39 61 00 50 */ addi r11, r1, 0x50
+/* 802D56F4 002D1354 4B EF 1A 59 */ bl _restgpr_17
+/* 802D56F8 002D1358 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 802D56FC 002D135C 7C 08 03 A6 */ mtlr r0
+/* 802D5700 002D1360 38 21 00 50 */ addi r1, r1, 0x50
+/* 802D5704 002D1364 4E 80 00 20 */ blr
+
+.global hidh_conn_initiate
+hidh_conn_initiate:
+/* 802D5708 002D1368 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D570C 002D136C 7C 08 02 A6 */ mflr r0
+/* 802D5710 002D1370 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D5714 002D1374 1C 03 00 34 */ mulli r0, r3, 0x34
+/* 802D5718 002D1378 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D571C 002D137C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D5720 002D1380 3F C0 80 57 */ lis r30, lbl_8056B838@ha
+/* 802D5724 002D1384 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l
+/* 802D5728 002D1388 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D572C 002D138C 7F BE 02 14 */ add r29, r30, r0
+/* 802D5730 002D1390 88 1D 00 10 */ lbz r0, 0x10(r29)
+/* 802D5734 002D1394 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5738 002D1398 41 82 00 0C */ beq lbl_802D5744
+/* 802D573C 002D139C 38 60 00 09 */ li r3, 9
+/* 802D5740 002D13A0 48 00 00 A8 */ b lbl_802D57E8
+lbl_802D5744:
+/* 802D5744 002D13A4 38 A0 00 00 */ li r5, 0
+/* 802D5748 002D13A8 38 00 01 00 */ li r0, 0x100
+/* 802D574C 002D13AC B0 BD 00 14 */ sth r5, 0x14(r29)
+/* 802D5750 002D13B0 3B E0 00 01 */ li r31, 1
+/* 802D5754 002D13B4 38 9D 00 01 */ addi r4, r29, 1
+/* 802D5758 002D13B8 38 60 00 11 */ li r3, 0x11
+/* 802D575C 002D13BC B0 BD 00 16 */ sth r5, 0x16(r29)
+/* 802D5760 002D13C0 B0 1D 00 1A */ sth r0, 0x1a(r29)
+/* 802D5764 002D13C4 9B FD 00 11 */ stb r31, 0x11(r29)
+/* 802D5768 002D13C8 48 00 02 F5 */ bl L2CA_ConnectReq
+/* 802D576C 002D13CC 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802D5770 002D13D0 B0 7D 00 14 */ sth r3, 0x14(r29)
+/* 802D5774 002D13D4 40 82 00 6C */ bne lbl_802D57E0
+/* 802D5778 002D13D8 88 1E 04 01 */ lbz r0, 0x401(r30)
+/* 802D577C 002D13DC 28 00 00 02 */ cmplwi r0, 2
+/* 802D5780 002D13E0 41 80 00 18 */ blt lbl_802D5798
+/* 802D5784 002D13E4 3C 60 00 1E */ lis r3, 0x001E0001@ha
+/* 802D5788 002D13E8 3C 80 80 44 */ lis r4, lbl_804429BC@ha
+/* 802D578C 002D13EC 38 63 00 01 */ addi r3, r3, 0x001E0001@l
+/* 802D5790 002D13F0 38 84 29 BC */ addi r4, r4, lbl_804429BC@l
+/* 802D5794 002D13F4 4B FE 77 7D */ bl LogMsg_0
+lbl_802D5798:
+/* 802D5798 002D13F8 3C A0 80 57 */ lis r5, lbl_8056B838@ha
+/* 802D579C 002D13FC 3C 60 4E C5 */ lis r3, 0x4EC4EC4F@ha
+/* 802D57A0 002D1400 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
+/* 802D57A4 002D1404 38 80 00 01 */ li r4, 1
+/* 802D57A8 002D1408 7C 05 E8 50 */ subf r0, r5, r29
+/* 802D57AC 002D140C 38 E3 EC 4F */ addi r7, r3, 0x4EC4EC4F@l
+/* 802D57B0 002D1410 7C 07 00 96 */ mulhw r0, r7, r0
+/* 802D57B4 002D1414 81 85 03 40 */ lwz r12, 0x340(r5)
+/* 802D57B8 002D1418 38 A0 00 0E */ li r5, 0xe
+/* 802D57BC 002D141C 38 C0 00 00 */ li r6, 0
+/* 802D57C0 002D1420 7C 00 26 70 */ srawi r0, r0, 4
+/* 802D57C4 002D1424 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802D57C8 002D1428 7C 00 1A 14 */ add r0, r0, r3
+/* 802D57CC 002D142C 7C 07 00 16 */ mulhwu r0, r7, r0
+/* 802D57D0 002D1430 54 03 E6 3E */ rlwinm r3, r0, 0x1c, 0x18, 0x1f
+/* 802D57D4 002D1434 7D 89 03 A6 */ mtctr r12
+/* 802D57D8 002D1438 4E 80 04 21 */ bctrl
+/* 802D57DC 002D143C 48 00 00 08 */ b lbl_802D57E4
+lbl_802D57E0:
+/* 802D57E0 002D1440 9B FD 00 10 */ stb r31, 0x10(r29)
+lbl_802D57E4:
+/* 802D57E4 002D1444 38 60 00 00 */ li r3, 0
+lbl_802D57E8:
+/* 802D57E8 002D1448 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D57EC 002D144C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D57F0 002D1450 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D57F4 002D1454 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D57F8 002D1458 7C 08 03 A6 */ mtlr r0
+/* 802D57FC 002D145C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D5800 002D1460 4E 80 00 20 */ blr
+
+.global hidh_conn_dereg
+hidh_conn_dereg:
+/* 802D5804 002D1464 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D5808 002D1468 7C 08 02 A6 */ mflr r0
+/* 802D580C 002D146C 38 60 00 11 */ li r3, 0x11
+/* 802D5810 002D1470 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D5814 002D1474 48 00 01 B9 */ bl L2CA_Deregister
+/* 802D5818 002D1478 38 60 00 13 */ li r3, 0x13
+/* 802D581C 002D147C 48 00 01 B1 */ bl L2CA_Deregister
+/* 802D5820 002D1480 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D5824 002D1484 7C 08 03 A6 */ mtlr r0
+/* 802D5828 002D1488 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D582C 002D148C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/l2c_api.s b/asm/SDK/BTE/l2c_api.s new file mode 100644 index 0000000..4ef76be --- /dev/null +++ b/asm/SDK/BTE/l2c_api.s @@ -0,0 +1,875 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global L2CA_Register
+L2CA_Register:
+/* 802D5830 002D1490 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D5834 002D1494 7C 08 02 A6 */ mflr r0
+/* 802D5838 002D1498 3C A0 80 57 */ lis r5, lbl_8056BC40@ha
+/* 802D583C 002D149C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D5840 002D14A0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D5844 002D14A4 3F E0 80 44 */ lis r31, lbl_80442C40@ha
+/* 802D5848 002D14A8 3B FF 2C 40 */ addi r31, r31, lbl_80442C40@l
+/* 802D584C 002D14AC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D5850 002D14B0 7C 9E 23 78 */ mr r30, r4
+/* 802D5854 002D14B4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D5858 002D14B8 7C 7D 1B 78 */ mr r29, r3
+/* 802D585C 002D14BC 88 05 BC 40 */ lbz r0, lbl_8056BC40@l(r5)
+/* 802D5860 002D14C0 28 00 00 03 */ cmplwi r0, 3
+/* 802D5864 002D14C4 41 80 00 18 */ blt lbl_802D587C
+/* 802D5868 002D14C8 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D586C 002D14CC 7F A5 EB 78 */ mr r5, r29
+/* 802D5870 002D14D0 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5874 002D14D4 38 9F 00 00 */ addi r4, r31, 0
+/* 802D5878 002D14D8 4B FE 76 B1 */ bl LogMsg_1
+lbl_802D587C:
+/* 802D587C 002D14DC 80 1E 00 10 */ lwz r0, 0x10(r30)
+/* 802D5880 002D14E0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5884 002D14E4 41 82 00 28 */ beq lbl_802D58AC
+/* 802D5888 002D14E8 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 802D588C 002D14EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5890 002D14F0 41 82 00 1C */ beq lbl_802D58AC
+/* 802D5894 002D14F4 80 1E 00 20 */ lwz r0, 0x20(r30)
+/* 802D5898 002D14F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D589C 002D14FC 41 82 00 10 */ beq lbl_802D58AC
+/* 802D58A0 002D1500 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 802D58A4 002D1504 2C 00 00 00 */ cmpwi r0, 0
+/* 802D58A8 002D1508 40 82 00 2C */ bne lbl_802D58D4
+lbl_802D58AC:
+/* 802D58AC 002D150C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D58B0 002D1510 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D58B4 002D1514 28 00 00 01 */ cmplwi r0, 1
+/* 802D58B8 002D1518 41 80 00 14 */ blt lbl_802D58CC
+/* 802D58BC 002D151C 7F A5 EB 78 */ mr r5, r29
+/* 802D58C0 002D1520 38 9F 00 30 */ addi r4, r31, 0x30
+/* 802D58C4 002D1524 3C 60 00 08 */ lis r3, 8
+/* 802D58C8 002D1528 4B FE 76 61 */ bl LogMsg_1
+lbl_802D58CC:
+/* 802D58CC 002D152C 38 60 00 00 */ li r3, 0
+/* 802D58D0 002D1530 48 00 00 E0 */ b lbl_802D59B0
+lbl_802D58D4:
+/* 802D58D4 002D1534 73 A0 01 01 */ andi. r0, r29, 0x101
+/* 802D58D8 002D1538 2C 00 00 01 */ cmpwi r0, 1
+/* 802D58DC 002D153C 41 82 00 2C */ beq lbl_802D5908
+/* 802D58E0 002D1540 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D58E4 002D1544 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D58E8 002D1548 28 00 00 01 */ cmplwi r0, 1
+/* 802D58EC 002D154C 41 80 00 14 */ blt lbl_802D5900
+/* 802D58F0 002D1550 7F A5 EB 78 */ mr r5, r29
+/* 802D58F4 002D1554 38 9F 00 58 */ addi r4, r31, 0x58
+/* 802D58F8 002D1558 3C 60 00 08 */ lis r3, 8
+/* 802D58FC 002D155C 4B FE 76 2D */ bl LogMsg_1
+lbl_802D5900:
+/* 802D5900 002D1560 38 60 00 00 */ li r3, 0
+/* 802D5904 002D1564 48 00 00 AC */ b lbl_802D59B0
+lbl_802D5908:
+/* 802D5908 002D1568 7F A3 EB 78 */ mr r3, r29
+/* 802D590C 002D156C 48 00 58 F1 */ bl l2cu_find_rcb_by_psm
+/* 802D5910 002D1570 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5914 002D1574 7C 65 1B 78 */ mr r5, r3
+/* 802D5918 002D1578 40 82 00 44 */ bne lbl_802D595C
+/* 802D591C 002D157C 7F A3 EB 78 */ mr r3, r29
+/* 802D5920 002D1580 48 00 58 81 */ bl l2cu_allocate_rcb
+/* 802D5924 002D1584 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5928 002D1588 7C 65 1B 78 */ mr r5, r3
+/* 802D592C 002D158C 40 82 00 30 */ bne lbl_802D595C
+/* 802D5930 002D1590 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5934 002D1594 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5938 002D1598 28 00 00 02 */ cmplwi r0, 2
+/* 802D593C 002D159C 41 80 00 18 */ blt lbl_802D5954
+/* 802D5940 002D15A0 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5944 002D15A4 7F A5 EB 78 */ mr r5, r29
+/* 802D5948 002D15A8 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D594C 002D15AC 38 9F 00 80 */ addi r4, r31, 0x80
+/* 802D5950 002D15B0 4B FE 75 D9 */ bl LogMsg_1
+lbl_802D5954:
+/* 802D5954 002D15B4 38 60 00 00 */ li r3, 0
+/* 802D5958 002D15B8 48 00 00 58 */ b lbl_802D59B0
+lbl_802D595C:
+/* 802D595C 002D15BC 80 9E 00 00 */ lwz r4, 0(r30)
+/* 802D5960 002D15C0 38 60 00 01 */ li r3, 1
+/* 802D5964 002D15C4 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802D5968 002D15C8 90 85 00 04 */ stw r4, 4(r5)
+/* 802D596C 002D15CC 90 05 00 08 */ stw r0, 8(r5)
+/* 802D5970 002D15D0 80 9E 00 08 */ lwz r4, 8(r30)
+/* 802D5974 002D15D4 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 802D5978 002D15D8 90 85 00 0C */ stw r4, 0xc(r5)
+/* 802D597C 002D15DC 90 05 00 10 */ stw r0, 0x10(r5)
+/* 802D5980 002D15E0 80 9E 00 10 */ lwz r4, 0x10(r30)
+/* 802D5984 002D15E4 80 1E 00 14 */ lwz r0, 0x14(r30)
+/* 802D5988 002D15E8 90 85 00 14 */ stw r4, 0x14(r5)
+/* 802D598C 002D15EC 90 05 00 18 */ stw r0, 0x18(r5)
+/* 802D5990 002D15F0 80 9E 00 18 */ lwz r4, 0x18(r30)
+/* 802D5994 002D15F4 80 1E 00 1C */ lwz r0, 0x1c(r30)
+/* 802D5998 002D15F8 90 85 00 1C */ stw r4, 0x1c(r5)
+/* 802D599C 002D15FC 90 05 00 20 */ stw r0, 0x20(r5)
+/* 802D59A0 002D1600 80 9E 00 20 */ lwz r4, 0x20(r30)
+/* 802D59A4 002D1604 80 1E 00 24 */ lwz r0, 0x24(r30)
+/* 802D59A8 002D1608 90 85 00 24 */ stw r4, 0x24(r5)
+/* 802D59AC 002D160C 90 05 00 28 */ stw r0, 0x28(r5)
+lbl_802D59B0:
+/* 802D59B0 002D1610 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D59B4 002D1614 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D59B8 002D1618 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D59BC 002D161C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D59C0 002D1620 7C 08 03 A6 */ mtlr r0
+/* 802D59C4 002D1624 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D59C8 002D1628 4E 80 00 20 */ blr
+
+.global L2CA_Deregister
+L2CA_Deregister:
+/* 802D59CC 002D162C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D59D0 002D1630 7C 08 02 A6 */ mflr r0
+/* 802D59D4 002D1634 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D59D8 002D1638 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D59DC 002D163C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D59E0 002D1640 7C 7F 1B 78 */ mr r31, r3
+/* 802D59E4 002D1644 88 04 BC 40 */ lbz r0, lbl_8056BC40@l(r4)
+/* 802D59E8 002D1648 28 00 00 03 */ cmplwi r0, 3
+/* 802D59EC 002D164C 41 80 00 1C */ blt lbl_802D5A08
+/* 802D59F0 002D1650 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D59F4 002D1654 3C 80 80 44 */ lis r4, lbl_80442CE8@ha
+/* 802D59F8 002D1658 7F E5 FB 78 */ mr r5, r31
+/* 802D59FC 002D165C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5A00 002D1660 38 84 2C E8 */ addi r4, r4, lbl_80442CE8@l
+/* 802D5A04 002D1664 4B FE 75 25 */ bl LogMsg_1
+lbl_802D5A08:
+/* 802D5A08 002D1668 7F E3 FB 78 */ mr r3, r31
+/* 802D5A0C 002D166C 48 00 57 F1 */ bl l2cu_find_rcb_by_psm
+/* 802D5A10 002D1670 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5A14 002D1674 41 82 00 0C */ beq lbl_802D5A20
+/* 802D5A18 002D1678 48 00 57 D5 */ bl l2cu_release_rcb
+/* 802D5A1C 002D167C 48 00 00 2C */ b lbl_802D5A48
+lbl_802D5A20:
+/* 802D5A20 002D1680 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5A24 002D1684 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5A28 002D1688 28 00 00 02 */ cmplwi r0, 2
+/* 802D5A2C 002D168C 41 80 00 1C */ blt lbl_802D5A48
+/* 802D5A30 002D1690 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5A34 002D1694 3C 80 80 44 */ lis r4, lbl_80442D1C@ha
+/* 802D5A38 002D1698 7F E5 FB 78 */ mr r5, r31
+/* 802D5A3C 002D169C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5A40 002D16A0 38 84 2D 1C */ addi r4, r4, lbl_80442D1C@l
+/* 802D5A44 002D16A4 4B FE 74 E5 */ bl LogMsg_1
+lbl_802D5A48:
+/* 802D5A48 002D16A8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D5A4C 002D16AC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D5A50 002D16B0 7C 08 03 A6 */ mtlr r0
+/* 802D5A54 002D16B4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D5A58 002D16B8 4E 80 00 20 */ blr
+
+.global L2CA_ConnectReq
+L2CA_ConnectReq:
+/* 802D5A5C 002D16BC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D5A60 002D16C0 7C 08 02 A6 */ mflr r0
+/* 802D5A64 002D16C4 3C A0 80 57 */ lis r5, lbl_8056BC40@ha
+/* 802D5A68 002D16C8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D5A6C 002D16CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D5A70 002D16D0 3F E0 80 44 */ lis r31, lbl_80442C40@ha
+/* 802D5A74 002D16D4 3B FF 2C 40 */ addi r31, r31, lbl_80442C40@l
+/* 802D5A78 002D16D8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D5A7C 002D16DC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D5A80 002D16E0 7C 7D 1B 78 */ mr r29, r3
+/* 802D5A84 002D16E4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802D5A88 002D16E8 7C 9C 23 78 */ mr r28, r4
+/* 802D5A8C 002D16EC 88 05 BC 40 */ lbz r0, lbl_8056BC40@l(r5)
+/* 802D5A90 002D16F0 28 00 00 03 */ cmplwi r0, 3
+/* 802D5A94 002D16F4 41 80 00 18 */ blt lbl_802D5AAC
+/* 802D5A98 002D16F8 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5A9C 002D16FC 7F A5 EB 78 */ mr r5, r29
+/* 802D5AA0 002D1700 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5AA4 002D1704 38 9F 01 10 */ addi r4, r31, 0x110
+/* 802D5AA8 002D1708 4B FE 74 81 */ bl LogMsg_1
+lbl_802D5AAC:
+/* 802D5AAC 002D170C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5AB0 002D1710 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5AB4 002D1714 28 00 00 03 */ cmplwi r0, 3
+/* 802D5AB8 002D1718 41 80 00 2C */ blt lbl_802D5AE4
+/* 802D5ABC 002D171C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5AC0 002D1720 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802D5AC4 002D1724 88 DC 00 01 */ lbz r6, 1(r28)
+/* 802D5AC8 002D1728 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5ACC 002D172C 88 FC 00 02 */ lbz r7, 2(r28)
+/* 802D5AD0 002D1730 38 9F 01 30 */ addi r4, r31, 0x130
+/* 802D5AD4 002D1734 89 1C 00 03 */ lbz r8, 3(r28)
+/* 802D5AD8 002D1738 89 3C 00 04 */ lbz r9, 4(r28)
+/* 802D5ADC 002D173C 89 5C 00 05 */ lbz r10, 5(r28)
+/* 802D5AE0 002D1740 4B FE 74 C1 */ bl LogMsg_6
+lbl_802D5AE4:
+/* 802D5AE4 002D1744 4B FE FF ED */ bl BTM_IsDeviceUp
+/* 802D5AE8 002D1748 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D5AEC 002D174C 40 82 00 2C */ bne lbl_802D5B18
+/* 802D5AF0 002D1750 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5AF4 002D1754 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5AF8 002D1758 28 00 00 02 */ cmplwi r0, 2
+/* 802D5AFC 002D175C 41 80 00 14 */ blt lbl_802D5B10
+/* 802D5B00 002D1760 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5B04 002D1764 38 9F 01 68 */ addi r4, r31, 0x168
+/* 802D5B08 002D1768 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5B0C 002D176C 4B FE 74 05 */ bl LogMsg_0
+lbl_802D5B10:
+/* 802D5B10 002D1770 38 60 00 00 */ li r3, 0
+/* 802D5B14 002D1774 48 00 01 5C */ b lbl_802D5C70
+lbl_802D5B18:
+/* 802D5B18 002D1778 7F A3 EB 78 */ mr r3, r29
+/* 802D5B1C 002D177C 48 00 56 E1 */ bl l2cu_find_rcb_by_psm
+/* 802D5B20 002D1780 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5B24 002D1784 7C 7E 1B 78 */ mr r30, r3
+/* 802D5B28 002D1788 40 82 00 30 */ bne lbl_802D5B58
+/* 802D5B2C 002D178C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5B30 002D1790 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5B34 002D1794 28 00 00 02 */ cmplwi r0, 2
+/* 802D5B38 002D1798 41 80 00 18 */ blt lbl_802D5B50
+/* 802D5B3C 002D179C 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5B40 002D17A0 7F A5 EB 78 */ mr r5, r29
+/* 802D5B44 002D17A4 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5B48 002D17A8 38 9F 01 8C */ addi r4, r31, 0x18c
+/* 802D5B4C 002D17AC 4B FE 73 DD */ bl LogMsg_1
+lbl_802D5B50:
+/* 802D5B50 002D17B0 38 60 00 00 */ li r3, 0
+/* 802D5B54 002D17B4 48 00 01 1C */ b lbl_802D5C70
+lbl_802D5B58:
+/* 802D5B58 002D17B8 7F 83 E3 78 */ mr r3, r28
+/* 802D5B5C 002D17BC 48 00 41 0D */ bl l2cu_find_lcb_by_bd_addr
+/* 802D5B60 002D17C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5B64 002D17C4 7C 7D 1B 78 */ mr r29, r3
+/* 802D5B68 002D17C8 40 82 00 54 */ bne lbl_802D5BBC
+/* 802D5B6C 002D17CC 7F 83 E3 78 */ mr r3, r28
+/* 802D5B70 002D17D0 48 00 3F 25 */ bl l2cu_allocate_lcb
+/* 802D5B74 002D17D4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5B78 002D17D8 7C 7D 1B 78 */ mr r29, r3
+/* 802D5B7C 002D17DC 40 82 00 2C */ bne lbl_802D5BA8
+/* 802D5B80 002D17E0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5B84 002D17E4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5B88 002D17E8 28 00 00 02 */ cmplwi r0, 2
+/* 802D5B8C 002D17EC 41 80 00 14 */ blt lbl_802D5BA0
+/* 802D5B90 002D17F0 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5B94 002D17F4 38 9F 01 BC */ addi r4, r31, 0x1bc
+/* 802D5B98 002D17F8 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5B9C 002D17FC 4B FE 73 75 */ bl LogMsg_0
+lbl_802D5BA0:
+/* 802D5BA0 002D1800 38 60 00 00 */ li r3, 0
+/* 802D5BA4 002D1804 48 00 00 CC */ b lbl_802D5C70
+lbl_802D5BA8:
+/* 802D5BA8 002D1808 48 00 5A 51 */ bl l2cu_create_conn
+/* 802D5BAC 002D180C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D5BB0 002D1810 40 82 00 0C */ bne lbl_802D5BBC
+/* 802D5BB4 002D1814 38 60 00 00 */ li r3, 0
+/* 802D5BB8 002D1818 48 00 00 B8 */ b lbl_802D5C70
+lbl_802D5BBC:
+/* 802D5BBC 002D181C 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802D5BC0 002D1820 2C 00 00 05 */ cmpwi r0, 5
+/* 802D5BC4 002D1824 40 82 00 2C */ bne lbl_802D5BF0
+/* 802D5BC8 002D1828 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5BCC 002D182C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5BD0 002D1830 28 00 00 03 */ cmplwi r0, 3
+/* 802D5BD4 002D1834 41 80 00 14 */ blt lbl_802D5BE8
+/* 802D5BD8 002D1838 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5BDC 002D183C 38 9F 01 E0 */ addi r4, r31, 0x1e0
+/* 802D5BE0 002D1840 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5BE4 002D1844 4B FE 73 2D */ bl LogMsg_0
+lbl_802D5BE8:
+/* 802D5BE8 002D1848 38 60 00 00 */ li r3, 0
+/* 802D5BEC 002D184C 48 00 00 84 */ b lbl_802D5C70
+lbl_802D5BF0:
+/* 802D5BF0 002D1850 7F A3 EB 78 */ mr r3, r29
+/* 802D5BF4 002D1854 48 00 52 A1 */ bl l2cu_allocate_ccb
+/* 802D5BF8 002D1858 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5BFC 002D185C 7C 7C 1B 78 */ mr r28, r3
+/* 802D5C00 002D1860 40 82 00 2C */ bne lbl_802D5C2C
+/* 802D5C04 002D1864 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5C08 002D1868 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5C0C 002D186C 28 00 00 02 */ cmplwi r0, 2
+/* 802D5C10 002D1870 41 80 00 14 */ blt lbl_802D5C24
+/* 802D5C14 002D1874 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5C18 002D1878 38 9F 02 18 */ addi r4, r31, 0x218
+/* 802D5C1C 002D187C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5C20 002D1880 4B FE 72 F1 */ bl LogMsg_0
+lbl_802D5C24:
+/* 802D5C24 002D1884 38 60 00 00 */ li r3, 0
+/* 802D5C28 002D1888 48 00 00 48 */ b lbl_802D5C70
+lbl_802D5C2C:
+/* 802D5C2C 002D188C 93 C3 00 30 */ stw r30, 0x30(r3)
+/* 802D5C30 002D1890 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802D5C34 002D1894 2C 00 00 04 */ cmpwi r0, 4
+/* 802D5C38 002D1898 40 82 00 10 */ bne lbl_802D5C48
+/* 802D5C3C 002D189C 38 80 00 14 */ li r4, 0x14
+/* 802D5C40 002D18A0 38 A0 00 00 */ li r5, 0
+/* 802D5C44 002D18A4 48 00 07 B9 */ bl l2c_csm_execute
+lbl_802D5C48:
+/* 802D5C48 002D18A8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5C4C 002D18AC 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5C50 002D18B0 28 00 00 03 */ cmplwi r0, 3
+/* 802D5C54 002D18B4 41 80 00 18 */ blt lbl_802D5C6C
+/* 802D5C58 002D18B8 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5C5C 002D18BC A0 BC 00 14 */ lhz r5, 0x14(r28)
+/* 802D5C60 002D18C0 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5C64 002D18C4 38 9F 02 3C */ addi r4, r31, 0x23c
+/* 802D5C68 002D18C8 4B FE 72 C1 */ bl LogMsg_1
+lbl_802D5C6C:
+/* 802D5C6C 002D18CC A0 7C 00 14 */ lhz r3, 0x14(r28)
+lbl_802D5C70:
+/* 802D5C70 002D18D0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D5C74 002D18D4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D5C78 002D18D8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D5C7C 002D18DC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D5C80 002D18E0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802D5C84 002D18E4 7C 08 03 A6 */ mtlr r0
+/* 802D5C88 002D18E8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D5C8C 002D18EC 4E 80 00 20 */ blr
+
+.global L2CA_ConnectRsp
+L2CA_ConnectRsp:
+/* 802D5C90 002D18F0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D5C94 002D18F4 7C 08 02 A6 */ mflr r0
+/* 802D5C98 002D18F8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D5C9C 002D18FC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D5CA0 002D1900 4B EF 14 85 */ bl _savegpr_26
+/* 802D5CA4 002D1904 3D 00 80 57 */ lis r8, lbl_8056BC40@ha
+/* 802D5CA8 002D1908 3F E0 80 44 */ lis r31, lbl_80442C40@ha
+/* 802D5CAC 002D190C 88 08 BC 40 */ lbz r0, lbl_8056BC40@l(r8)
+/* 802D5CB0 002D1910 7C 7A 1B 78 */ mr r26, r3
+/* 802D5CB4 002D1914 7C 9B 23 78 */ mr r27, r4
+/* 802D5CB8 002D1918 7C BC 2B 78 */ mr r28, r5
+/* 802D5CBC 002D191C 28 00 00 03 */ cmplwi r0, 3
+/* 802D5CC0 002D1920 7C DD 33 78 */ mr r29, r6
+/* 802D5CC4 002D1924 7C FE 3B 78 */ mr r30, r7
+/* 802D5CC8 002D1928 3B FF 2C 40 */ addi r31, r31, lbl_80442C40@l
+/* 802D5CCC 002D192C 41 80 00 14 */ blt lbl_802D5CE0
+/* 802D5CD0 002D1930 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5CD4 002D1934 38 9F 02 6C */ addi r4, r31, 0x26c
+/* 802D5CD8 002D1938 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5CDC 002D193C 4B FE 72 7D */ bl LogMsg_3
+lbl_802D5CE0:
+/* 802D5CE0 002D1940 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5CE4 002D1944 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5CE8 002D1948 28 00 00 03 */ cmplwi r0, 3
+/* 802D5CEC 002D194C 41 80 00 2C */ blt lbl_802D5D18
+/* 802D5CF0 002D1950 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5CF4 002D1954 88 BA 00 00 */ lbz r5, 0(r26)
+/* 802D5CF8 002D1958 88 DA 00 01 */ lbz r6, 1(r26)
+/* 802D5CFC 002D195C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5D00 002D1960 88 FA 00 02 */ lbz r7, 2(r26)
+/* 802D5D04 002D1964 38 9F 02 A4 */ addi r4, r31, 0x2a4
+/* 802D5D08 002D1968 89 1A 00 03 */ lbz r8, 3(r26)
+/* 802D5D0C 002D196C 89 3A 00 04 */ lbz r9, 4(r26)
+/* 802D5D10 002D1970 89 5A 00 05 */ lbz r10, 5(r26)
+/* 802D5D14 002D1974 4B FE 72 8D */ bl LogMsg_6
+lbl_802D5D18:
+/* 802D5D18 002D1978 7F 43 D3 78 */ mr r3, r26
+/* 802D5D1C 002D197C 48 00 3F 4D */ bl l2cu_find_lcb_by_bd_addr
+/* 802D5D20 002D1980 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5D24 002D1984 40 82 00 2C */ bne lbl_802D5D50
+/* 802D5D28 002D1988 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5D2C 002D198C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5D30 002D1990 28 00 00 02 */ cmplwi r0, 2
+/* 802D5D34 002D1994 41 80 00 14 */ blt lbl_802D5D48
+/* 802D5D38 002D1998 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5D3C 002D199C 38 9F 02 DC */ addi r4, r31, 0x2dc
+/* 802D5D40 002D19A0 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5D44 002D19A4 4B FE 71 CD */ bl LogMsg_0
+lbl_802D5D48:
+/* 802D5D48 002D19A8 38 60 00 00 */ li r3, 0
+/* 802D5D4C 002D19AC 48 00 00 BC */ b lbl_802D5E08
+lbl_802D5D50:
+/* 802D5D50 002D19B0 7F 84 E3 78 */ mr r4, r28
+/* 802D5D54 002D19B4 48 00 53 F1 */ bl l2cu_find_ccb_by_cid
+/* 802D5D58 002D19B8 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5D5C 002D19BC 40 82 00 2C */ bne lbl_802D5D88
+/* 802D5D60 002D19C0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5D64 002D19C4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5D68 002D19C8 28 00 00 02 */ cmplwi r0, 2
+/* 802D5D6C 002D19CC 41 80 00 14 */ blt lbl_802D5D80
+/* 802D5D70 002D19D0 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5D74 002D19D4 38 9F 03 00 */ addi r4, r31, 0x300
+/* 802D5D78 002D19D8 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5D7C 002D19DC 4B FE 71 95 */ bl LogMsg_0
+lbl_802D5D80:
+/* 802D5D80 002D19E0 38 60 00 00 */ li r3, 0
+/* 802D5D84 002D19E4 48 00 00 84 */ b lbl_802D5E08
+lbl_802D5D88:
+/* 802D5D88 002D19E8 88 A3 00 36 */ lbz r5, 0x36(r3)
+/* 802D5D8C 002D19EC 7C 05 D8 40 */ cmplw r5, r27
+/* 802D5D90 002D19F0 41 82 00 30 */ beq lbl_802D5DC0
+/* 802D5D94 002D19F4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5D98 002D19F8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5D9C 002D19FC 28 00 00 02 */ cmplwi r0, 2
+/* 802D5DA0 002D1A00 41 80 00 18 */ blt lbl_802D5DB8
+/* 802D5DA4 002D1A04 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5DA8 002D1A08 7F 66 DB 78 */ mr r6, r27
+/* 802D5DAC 002D1A0C 38 9F 03 24 */ addi r4, r31, 0x324
+/* 802D5DB0 002D1A10 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5DB4 002D1A14 4B FE 71 8D */ bl LogMsg_2
+lbl_802D5DB8:
+/* 802D5DB8 002D1A18 38 60 00 00 */ li r3, 0
+/* 802D5DBC 002D1A1C 48 00 00 4C */ b lbl_802D5E08
+lbl_802D5DC0:
+/* 802D5DC0 002D1A20 2C 1D 00 00 */ cmpwi r29, 0
+/* 802D5DC4 002D1A24 40 82 00 14 */ bne lbl_802D5DD8
+/* 802D5DC8 002D1A28 38 80 00 15 */ li r4, 0x15
+/* 802D5DCC 002D1A2C 38 A0 00 00 */ li r5, 0
+/* 802D5DD0 002D1A30 48 00 06 2D */ bl l2c_csm_execute
+/* 802D5DD4 002D1A34 48 00 00 30 */ b lbl_802D5E04
+lbl_802D5DD8:
+/* 802D5DD8 002D1A38 28 1D 00 01 */ cmplwi r29, 1
+/* 802D5DDC 002D1A3C B3 A1 00 12 */ sth r29, 0x12(r1)
+/* 802D5DE0 002D1A40 B3 C1 00 14 */ sth r30, 0x14(r1)
+/* 802D5DE4 002D1A44 40 82 00 14 */ bne lbl_802D5DF8
+/* 802D5DE8 002D1A48 38 A1 00 08 */ addi r5, r1, 8
+/* 802D5DEC 002D1A4C 38 80 00 15 */ li r4, 0x15
+/* 802D5DF0 002D1A50 48 00 06 0D */ bl l2c_csm_execute
+/* 802D5DF4 002D1A54 48 00 00 10 */ b lbl_802D5E04
+lbl_802D5DF8:
+/* 802D5DF8 002D1A58 38 A1 00 08 */ addi r5, r1, 8
+/* 802D5DFC 002D1A5C 38 80 00 16 */ li r4, 0x16
+/* 802D5E00 002D1A60 48 00 05 FD */ bl l2c_csm_execute
+lbl_802D5E04:
+/* 802D5E04 002D1A64 38 60 00 01 */ li r3, 1
+lbl_802D5E08:
+/* 802D5E08 002D1A68 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D5E0C 002D1A6C 4B EF 13 65 */ bl _restgpr_26
+/* 802D5E10 002D1A70 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D5E14 002D1A74 7C 08 03 A6 */ mtlr r0
+/* 802D5E18 002D1A78 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D5E1C 002D1A7C 4E 80 00 20 */ blr
+
+.global L2CA_ConfigReq
+L2CA_ConfigReq:
+/* 802D5E20 002D1A80 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D5E24 002D1A84 7C 08 02 A6 */ mflr r0
+/* 802D5E28 002D1A88 3C A0 80 57 */ lis r5, lbl_8056BC40@ha
+/* 802D5E2C 002D1A8C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D5E30 002D1A90 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D5E34 002D1A94 7C 9F 23 78 */ mr r31, r4
+/* 802D5E38 002D1A98 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D5E3C 002D1A9C 7C 7E 1B 78 */ mr r30, r3
+/* 802D5E40 002D1AA0 88 05 BC 40 */ lbz r0, lbl_8056BC40@l(r5)
+/* 802D5E44 002D1AA4 28 00 00 03 */ cmplwi r0, 3
+/* 802D5E48 002D1AA8 41 80 00 1C */ blt lbl_802D5E64
+/* 802D5E4C 002D1AAC 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5E50 002D1AB0 3C 80 80 44 */ lis r4, lbl_80442F98@ha
+/* 802D5E54 002D1AB4 7F C5 F3 78 */ mr r5, r30
+/* 802D5E58 002D1AB8 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5E5C 002D1ABC 38 84 2F 98 */ addi r4, r4, lbl_80442F98@l
+/* 802D5E60 002D1AC0 4B FE 70 C9 */ bl LogMsg_1
+lbl_802D5E64:
+/* 802D5E64 002D1AC4 7F C4 F3 78 */ mr r4, r30
+/* 802D5E68 002D1AC8 38 60 00 00 */ li r3, 0
+/* 802D5E6C 002D1ACC 48 00 52 D9 */ bl l2cu_find_ccb_by_cid
+/* 802D5E70 002D1AD0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5E74 002D1AD4 40 82 00 34 */ bne lbl_802D5EA8
+/* 802D5E78 002D1AD8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5E7C 002D1ADC 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5E80 002D1AE0 28 00 00 02 */ cmplwi r0, 2
+/* 802D5E84 002D1AE4 41 80 00 1C */ blt lbl_802D5EA0
+/* 802D5E88 002D1AE8 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5E8C 002D1AEC 3C 80 80 44 */ lis r4, lbl_80442FB8@ha
+/* 802D5E90 002D1AF0 7F C5 F3 78 */ mr r5, r30
+/* 802D5E94 002D1AF4 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5E98 002D1AF8 38 84 2F B8 */ addi r4, r4, lbl_80442FB8@l
+/* 802D5E9C 002D1AFC 4B FE 70 8D */ bl LogMsg_1
+lbl_802D5EA0:
+/* 802D5EA0 002D1B00 38 60 00 00 */ li r3, 0
+/* 802D5EA4 002D1B04 48 00 00 1C */ b lbl_802D5EC0
+lbl_802D5EA8:
+/* 802D5EA8 002D1B08 38 00 00 00 */ li r0, 0
+/* 802D5EAC 002D1B0C 7F E5 FB 78 */ mr r5, r31
+/* 802D5EB0 002D1B10 98 1F 00 24 */ stb r0, 0x24(r31)
+/* 802D5EB4 002D1B14 38 80 00 17 */ li r4, 0x17
+/* 802D5EB8 002D1B18 48 00 05 45 */ bl l2c_csm_execute
+/* 802D5EBC 002D1B1C 38 60 00 01 */ li r3, 1
+lbl_802D5EC0:
+/* 802D5EC0 002D1B20 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D5EC4 002D1B24 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D5EC8 002D1B28 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D5ECC 002D1B2C 7C 08 03 A6 */ mtlr r0
+/* 802D5ED0 002D1B30 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D5ED4 002D1B34 4E 80 00 20 */ blr
+
+.global L2CA_ConfigRsp
+L2CA_ConfigRsp:
+/* 802D5ED8 002D1B38 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D5EDC 002D1B3C 7C 08 02 A6 */ mflr r0
+/* 802D5EE0 002D1B40 3C A0 80 57 */ lis r5, lbl_8056BC40@ha
+/* 802D5EE4 002D1B44 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D5EE8 002D1B48 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D5EEC 002D1B4C 7C 9F 23 78 */ mr r31, r4
+/* 802D5EF0 002D1B50 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D5EF4 002D1B54 7C 7E 1B 78 */ mr r30, r3
+/* 802D5EF8 002D1B58 88 05 BC 40 */ lbz r0, lbl_8056BC40@l(r5)
+/* 802D5EFC 002D1B5C 28 00 00 03 */ cmplwi r0, 3
+/* 802D5F00 002D1B60 41 80 00 20 */ blt lbl_802D5F20
+/* 802D5F04 002D1B64 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5F08 002D1B68 3C 80 80 44 */ lis r4, lbl_80442FE4@ha
+/* 802D5F0C 002D1B6C A0 DF 00 00 */ lhz r6, 0(r31)
+/* 802D5F10 002D1B70 7F C5 F3 78 */ mr r5, r30
+/* 802D5F14 002D1B74 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5F18 002D1B78 38 84 2F E4 */ addi r4, r4, lbl_80442FE4@l
+/* 802D5F1C 002D1B7C 4B FE 70 25 */ bl LogMsg_2
+lbl_802D5F20:
+/* 802D5F20 002D1B80 7F C4 F3 78 */ mr r4, r30
+/* 802D5F24 002D1B84 38 60 00 00 */ li r3, 0
+/* 802D5F28 002D1B88 48 00 52 1D */ bl l2cu_find_ccb_by_cid
+/* 802D5F2C 002D1B8C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5F30 002D1B90 40 82 00 34 */ bne lbl_802D5F64
+/* 802D5F34 002D1B94 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5F38 002D1B98 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D5F3C 002D1B9C 28 00 00 02 */ cmplwi r0, 2
+/* 802D5F40 002D1BA0 41 80 00 1C */ blt lbl_802D5F5C
+/* 802D5F44 002D1BA4 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D5F48 002D1BA8 3C 80 80 44 */ lis r4, lbl_80443010@ha
+/* 802D5F4C 002D1BAC 7F C5 F3 78 */ mr r5, r30
+/* 802D5F50 002D1BB0 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D5F54 002D1BB4 38 84 30 10 */ addi r4, r4, lbl_80443010@l
+/* 802D5F58 002D1BB8 4B FE 6F D1 */ bl LogMsg_1
+lbl_802D5F5C:
+/* 802D5F5C 002D1BBC 38 60 00 00 */ li r3, 0
+/* 802D5F60 002D1BC0 48 00 00 30 */ b lbl_802D5F90
+lbl_802D5F64:
+/* 802D5F64 002D1BC4 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 802D5F68 002D1BC8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D5F6C 002D1BCC 40 82 00 14 */ bne lbl_802D5F80
+/* 802D5F70 002D1BD0 7F E5 FB 78 */ mr r5, r31
+/* 802D5F74 002D1BD4 38 80 00 18 */ li r4, 0x18
+/* 802D5F78 002D1BD8 48 00 04 85 */ bl l2c_csm_execute
+/* 802D5F7C 002D1BDC 48 00 00 10 */ b lbl_802D5F8C
+lbl_802D5F80:
+/* 802D5F80 002D1BE0 7F E5 FB 78 */ mr r5, r31
+/* 802D5F84 002D1BE4 38 80 00 19 */ li r4, 0x19
+/* 802D5F88 002D1BE8 48 00 04 75 */ bl l2c_csm_execute
+lbl_802D5F8C:
+/* 802D5F8C 002D1BEC 38 60 00 01 */ li r3, 1
+lbl_802D5F90:
+/* 802D5F90 002D1BF0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D5F94 002D1BF4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D5F98 002D1BF8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D5F9C 002D1BFC 7C 08 03 A6 */ mtlr r0
+/* 802D5FA0 002D1C00 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D5FA4 002D1C04 4E 80 00 20 */ blr
+
+.global L2CA_DisconnectReq
+L2CA_DisconnectReq:
+/* 802D5FA8 002D1C08 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D5FAC 002D1C0C 7C 08 02 A6 */ mflr r0
+/* 802D5FB0 002D1C10 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D5FB4 002D1C14 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D5FB8 002D1C18 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D5FBC 002D1C1C 7C 7F 1B 78 */ mr r31, r3
+/* 802D5FC0 002D1C20 88 04 BC 40 */ lbz r0, lbl_8056BC40@l(r4)
+/* 802D5FC4 002D1C24 28 00 00 03 */ cmplwi r0, 3
+/* 802D5FC8 002D1C28 41 80 00 1C */ blt lbl_802D5FE4
+/* 802D5FCC 002D1C2C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D5FD0 002D1C30 3C 80 80 44 */ lis r4, lbl_8044303C@ha
+/* 802D5FD4 002D1C34 7F E5 FB 78 */ mr r5, r31
+/* 802D5FD8 002D1C38 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D5FDC 002D1C3C 38 84 30 3C */ addi r4, r4, lbl_8044303C@l
+/* 802D5FE0 002D1C40 4B FE 6F 49 */ bl LogMsg_1
+lbl_802D5FE4:
+/* 802D5FE4 002D1C44 7F E4 FB 78 */ mr r4, r31
+/* 802D5FE8 002D1C48 38 60 00 00 */ li r3, 0
+/* 802D5FEC 002D1C4C 48 00 51 59 */ bl l2cu_find_ccb_by_cid
+/* 802D5FF0 002D1C50 2C 03 00 00 */ cmpwi r3, 0
+/* 802D5FF4 002D1C54 40 82 00 34 */ bne lbl_802D6028
+/* 802D5FF8 002D1C58 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D5FFC 002D1C5C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6000 002D1C60 28 00 00 02 */ cmplwi r0, 2
+/* 802D6004 002D1C64 41 80 00 1C */ blt lbl_802D6020
+/* 802D6008 002D1C68 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D600C 002D1C6C 3C 80 80 44 */ lis r4, lbl_80443060@ha
+/* 802D6010 002D1C70 7F E5 FB 78 */ mr r5, r31
+/* 802D6014 002D1C74 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D6018 002D1C78 38 84 30 60 */ addi r4, r4, lbl_80443060@l
+/* 802D601C 002D1C7C 4B FE 6F 0D */ bl LogMsg_1
+lbl_802D6020:
+/* 802D6020 002D1C80 38 60 00 00 */ li r3, 0
+/* 802D6024 002D1C84 48 00 00 14 */ b lbl_802D6038
+lbl_802D6028:
+/* 802D6028 002D1C88 38 80 00 1A */ li r4, 0x1a
+/* 802D602C 002D1C8C 38 A0 00 00 */ li r5, 0
+/* 802D6030 002D1C90 48 00 03 CD */ bl l2c_csm_execute
+/* 802D6034 002D1C94 38 60 00 01 */ li r3, 1
+lbl_802D6038:
+/* 802D6038 002D1C98 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D603C 002D1C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D6040 002D1CA0 7C 08 03 A6 */ mtlr r0
+/* 802D6044 002D1CA4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D6048 002D1CA8 4E 80 00 20 */ blr
+
+.global L2CA_DisconnectRsp
+L2CA_DisconnectRsp:
+/* 802D604C 002D1CAC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D6050 002D1CB0 7C 08 02 A6 */ mflr r0
+/* 802D6054 002D1CB4 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D6058 002D1CB8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D605C 002D1CBC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D6060 002D1CC0 7C 7F 1B 78 */ mr r31, r3
+/* 802D6064 002D1CC4 88 04 BC 40 */ lbz r0, lbl_8056BC40@l(r4)
+/* 802D6068 002D1CC8 28 00 00 03 */ cmplwi r0, 3
+/* 802D606C 002D1CCC 41 80 00 1C */ blt lbl_802D6088
+/* 802D6070 002D1CD0 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6074 002D1CD4 3C 80 80 44 */ lis r4, lbl_8044308C@ha
+/* 802D6078 002D1CD8 7F E5 FB 78 */ mr r5, r31
+/* 802D607C 002D1CDC 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6080 002D1CE0 38 84 30 8C */ addi r4, r4, lbl_8044308C@l
+/* 802D6084 002D1CE4 4B FE 6E A5 */ bl LogMsg_1
+lbl_802D6088:
+/* 802D6088 002D1CE8 7F E4 FB 78 */ mr r4, r31
+/* 802D608C 002D1CEC 38 60 00 00 */ li r3, 0
+/* 802D6090 002D1CF0 48 00 50 B5 */ bl l2cu_find_ccb_by_cid
+/* 802D6094 002D1CF4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D6098 002D1CF8 40 82 00 34 */ bne lbl_802D60CC
+/* 802D609C 002D1CFC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D60A0 002D1D00 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D60A4 002D1D04 28 00 00 02 */ cmplwi r0, 2
+/* 802D60A8 002D1D08 41 80 00 1C */ blt lbl_802D60C4
+/* 802D60AC 002D1D0C 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D60B0 002D1D10 3C 80 80 44 */ lis r4, lbl_804430B0@ha
+/* 802D60B4 002D1D14 7F E5 FB 78 */ mr r5, r31
+/* 802D60B8 002D1D18 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D60BC 002D1D1C 38 84 30 B0 */ addi r4, r4, lbl_804430B0@l
+/* 802D60C0 002D1D20 4B FE 6E 69 */ bl LogMsg_1
+lbl_802D60C4:
+/* 802D60C4 002D1D24 38 60 00 00 */ li r3, 0
+/* 802D60C8 002D1D28 48 00 00 14 */ b lbl_802D60DC
+lbl_802D60CC:
+/* 802D60CC 002D1D2C 38 80 00 1B */ li r4, 0x1b
+/* 802D60D0 002D1D30 38 A0 00 00 */ li r5, 0
+/* 802D60D4 002D1D34 48 00 03 29 */ bl l2c_csm_execute
+/* 802D60D8 002D1D38 38 60 00 01 */ li r3, 1
+lbl_802D60DC:
+/* 802D60DC 002D1D3C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D60E0 002D1D40 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D60E4 002D1D44 7C 08 03 A6 */ mtlr r0
+/* 802D60E8 002D1D48 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D60EC 002D1D4C 4E 80 00 20 */ blr
+
+.global L2CA_DataWrite
+L2CA_DataWrite:
+/* 802D60F0 002D1D50 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D60F4 002D1D54 7C 08 02 A6 */ mflr r0
+/* 802D60F8 002D1D58 3C A0 80 57 */ lis r5, lbl_8056BC40@ha
+/* 802D60FC 002D1D5C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D6100 002D1D60 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D6104 002D1D64 3F E0 80 44 */ lis r31, lbl_80442C40@ha
+/* 802D6108 002D1D68 3B FF 2C 40 */ addi r31, r31, lbl_80442C40@l
+/* 802D610C 002D1D6C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D6110 002D1D70 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D6114 002D1D74 7C 9D 23 78 */ mr r29, r4
+/* 802D6118 002D1D78 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802D611C 002D1D7C 7C 7C 1B 78 */ mr r28, r3
+/* 802D6120 002D1D80 88 05 BC 40 */ lbz r0, lbl_8056BC40@l(r5)
+/* 802D6124 002D1D84 28 00 00 03 */ cmplwi r0, 3
+/* 802D6128 002D1D88 41 80 00 1C */ blt lbl_802D6144
+/* 802D612C 002D1D8C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6130 002D1D90 A0 DD 00 02 */ lhz r6, 2(r29)
+/* 802D6134 002D1D94 7F 85 E3 78 */ mr r5, r28
+/* 802D6138 002D1D98 38 9F 04 9C */ addi r4, r31, 0x49c
+/* 802D613C 002D1D9C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6140 002D1DA0 4B FE 6E 01 */ bl LogMsg_2
+lbl_802D6144:
+/* 802D6144 002D1DA4 7F 84 E3 78 */ mr r4, r28
+/* 802D6148 002D1DA8 38 60 00 00 */ li r3, 0
+/* 802D614C 002D1DAC 48 00 4F F9 */ bl l2cu_find_ccb_by_cid
+/* 802D6150 002D1DB0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D6154 002D1DB4 7C 7E 1B 78 */ mr r30, r3
+/* 802D6158 002D1DB8 40 82 00 38 */ bne lbl_802D6190
+/* 802D615C 002D1DBC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6160 002D1DC0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6164 002D1DC4 28 00 00 02 */ cmplwi r0, 2
+/* 802D6168 002D1DC8 41 80 00 18 */ blt lbl_802D6180
+/* 802D616C 002D1DCC 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D6170 002D1DD0 7F 85 E3 78 */ mr r5, r28
+/* 802D6174 002D1DD4 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D6178 002D1DD8 38 9F 04 C4 */ addi r4, r31, 0x4c4
+/* 802D617C 002D1DDC 4B FE 6D AD */ bl LogMsg_1
+lbl_802D6180:
+/* 802D6180 002D1DE0 7F A3 EB 78 */ mr r3, r29
+/* 802D6184 002D1DE4 4B FE 3B B1 */ bl GKI_freebuf
+/* 802D6188 002D1DE8 38 60 00 00 */ li r3, 0
+/* 802D618C 002D1DEC 48 00 00 68 */ b lbl_802D61F4
+lbl_802D6190:
+/* 802D6190 002D1DF0 A0 9D 00 02 */ lhz r4, 2(r29)
+/* 802D6194 002D1DF4 A0 03 00 3A */ lhz r0, 0x3a(r3)
+/* 802D6198 002D1DF8 7C 04 00 40 */ cmplw r4, r0
+/* 802D619C 002D1DFC 41 81 00 2C */ bgt lbl_802D61C8
+/* 802D61A0 002D1E00 7F A5 EB 78 */ mr r5, r29
+/* 802D61A4 002D1E04 38 80 00 1D */ li r4, 0x1d
+/* 802D61A8 002D1E08 48 00 02 55 */ bl l2c_csm_execute
+/* 802D61AC 002D1E0C 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 802D61B0 002D1E10 88 63 00 41 */ lbz r3, 0x41(r3)
+/* 802D61B4 002D1E14 7C 03 00 D0 */ neg r0, r3
+/* 802D61B8 002D1E18 7C 00 1B 78 */ or r0, r0, r3
+/* 802D61BC 002D1E1C 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802D61C0 002D1E20 38 63 00 01 */ addi r3, r3, 1
+/* 802D61C4 002D1E24 48 00 00 30 */ b lbl_802D61F4
+lbl_802D61C8:
+/* 802D61C8 002D1E28 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D61CC 002D1E2C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D61D0 002D1E30 28 00 00 02 */ cmplwi r0, 2
+/* 802D61D4 002D1E34 41 80 00 14 */ blt lbl_802D61E8
+/* 802D61D8 002D1E38 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D61DC 002D1E3C 38 9F 04 F0 */ addi r4, r31, 0x4f0
+/* 802D61E0 002D1E40 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D61E4 002D1E44 4B FE 6D 2D */ bl LogMsg_0
+lbl_802D61E8:
+/* 802D61E8 002D1E48 7F A3 EB 78 */ mr r3, r29
+/* 802D61EC 002D1E4C 4B FE 3B 49 */ bl GKI_freebuf
+/* 802D61F0 002D1E50 38 60 00 00 */ li r3, 0
+lbl_802D61F4:
+/* 802D61F4 002D1E54 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D61F8 002D1E58 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D61FC 002D1E5C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D6200 002D1E60 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D6204 002D1E64 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802D6208 002D1E68 7C 08 03 A6 */ mtlr r0
+/* 802D620C 002D1E6C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D6210 002D1E70 4E 80 00 20 */ blr
+
+.global L2CA_SetIdleTimeout
+L2CA_SetIdleTimeout:
+/* 802D6214 002D1E74 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D6218 002D1E78 7C 08 02 A6 */ mflr r0
+/* 802D621C 002D1E7C 2C 05 00 00 */ cmpwi r5, 0
+/* 802D6220 002D1E80 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D6224 002D1E84 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D6228 002D1E88 7C 9F 23 78 */ mr r31, r4
+/* 802D622C 002D1E8C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D6230 002D1E90 7C 7E 1B 78 */ mr r30, r3
+/* 802D6234 002D1E94 41 82 00 14 */ beq lbl_802D6248
+/* 802D6238 002D1E98 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D623C 002D1E9C 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D6240 002D1EA0 B0 83 07 BA */ sth r4, 0x7ba(r3)
+/* 802D6244 002D1EA4 48 00 00 7C */ b lbl_802D62C0
+lbl_802D6248:
+/* 802D6248 002D1EA8 7F C4 F3 78 */ mr r4, r30
+/* 802D624C 002D1EAC 38 60 00 00 */ li r3, 0
+/* 802D6250 002D1EB0 48 00 4E F5 */ bl l2cu_find_ccb_by_cid
+/* 802D6254 002D1EB4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D6258 002D1EB8 40 82 00 34 */ bne lbl_802D628C
+/* 802D625C 002D1EBC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6260 002D1EC0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6264 002D1EC4 28 00 00 02 */ cmplwi r0, 2
+/* 802D6268 002D1EC8 41 80 00 1C */ blt lbl_802D6284
+/* 802D626C 002D1ECC 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D6270 002D1ED0 3C 80 80 44 */ lis r4, lbl_80443210@ha
+/* 802D6274 002D1ED4 7F C5 F3 78 */ mr r5, r30
+/* 802D6278 002D1ED8 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D627C 002D1EDC 38 84 32 10 */ addi r4, r4, lbl_80443210@l
+/* 802D6280 002D1EE0 4B FE 6C A9 */ bl LogMsg_1
+lbl_802D6284:
+/* 802D6284 002D1EE4 38 60 00 00 */ li r3, 0
+/* 802D6288 002D1EE8 48 00 00 3C */ b lbl_802D62C4
+lbl_802D628C:
+/* 802D628C 002D1EEC 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802D6290 002D1EF0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D6294 002D1EF4 41 82 00 24 */ beq lbl_802D62B8
+/* 802D6298 002D1EF8 88 03 00 00 */ lbz r0, 0(r3)
+/* 802D629C 002D1EFC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D62A0 002D1F00 41 82 00 18 */ beq lbl_802D62B8
+/* 802D62A4 002D1F04 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D62A8 002D1F08 2C 00 00 04 */ cmpwi r0, 4
+/* 802D62AC 002D1F0C 40 82 00 0C */ bne lbl_802D62B8
+/* 802D62B0 002D1F10 B3 E3 00 58 */ sth r31, 0x58(r3)
+/* 802D62B4 002D1F14 48 00 00 0C */ b lbl_802D62C0
+lbl_802D62B8:
+/* 802D62B8 002D1F18 38 60 00 00 */ li r3, 0
+/* 802D62BC 002D1F1C 48 00 00 08 */ b lbl_802D62C4
+lbl_802D62C0:
+/* 802D62C0 002D1F20 38 60 00 01 */ li r3, 1
+lbl_802D62C4:
+/* 802D62C4 002D1F24 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D62C8 002D1F28 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D62CC 002D1F2C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D62D0 002D1F30 7C 08 03 A6 */ mtlr r0
+/* 802D62D4 002D1F34 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D62D8 002D1F38 4E 80 00 20 */ blr
+
+.global L2CA_SetIdleTimeoutByBdAddr
+L2CA_SetIdleTimeoutByBdAddr:
+/* 802D62DC 002D1F3C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D62E0 002D1F40 7C 08 02 A6 */ mflr r0
+/* 802D62E4 002D1F44 38 A0 00 06 */ li r5, 6
+/* 802D62E8 002D1F48 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D62EC 002D1F4C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D62F0 002D1F50 7C 9F 23 78 */ mr r31, r4
+/* 802D62F4 002D1F54 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D62F8 002D1F58 7C 7E 1B 78 */ mr r30, r3
+/* 802D62FC 002D1F5C 7F C4 F3 78 */ mr r4, r30
+/* 802D6300 002D1F60 38 62 A4 88 */ addi r3, r2, lbl_80642A88-_SDA2_BASE_
+/* 802D6304 002D1F64 4B EF 40 95 */ bl memcmp
+/* 802D6308 002D1F68 2C 03 00 00 */ cmpwi r3, 0
+/* 802D630C 002D1F6C 41 82 00 3C */ beq lbl_802D6348
+/* 802D6310 002D1F70 7F C3 F3 78 */ mr r3, r30
+/* 802D6314 002D1F74 48 00 39 55 */ bl l2cu_find_lcb_by_bd_addr
+/* 802D6318 002D1F78 2C 03 00 00 */ cmpwi r3, 0
+/* 802D631C 002D1F7C 41 82 00 24 */ beq lbl_802D6340
+/* 802D6320 002D1F80 88 03 00 00 */ lbz r0, 0(r3)
+/* 802D6324 002D1F84 2C 00 00 00 */ cmpwi r0, 0
+/* 802D6328 002D1F88 41 82 00 18 */ beq lbl_802D6340
+/* 802D632C 002D1F8C 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D6330 002D1F90 2C 00 00 04 */ cmpwi r0, 4
+/* 802D6334 002D1F94 40 82 00 0C */ bne lbl_802D6340
+/* 802D6338 002D1F98 B3 E3 00 58 */ sth r31, 0x58(r3)
+/* 802D633C 002D1F9C 48 00 00 84 */ b lbl_802D63C0
+lbl_802D6340:
+/* 802D6340 002D1FA0 38 60 00 00 */ li r3, 0
+/* 802D6344 002D1FA4 48 00 00 80 */ b lbl_802D63C4
+lbl_802D6348:
+/* 802D6348 002D1FA8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D634C 002D1FAC 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D6350 002D1FB0 88 03 00 08 */ lbz r0, 8(r3)
+/* 802D6354 002D1FB4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D6358 002D1FB8 41 82 00 14 */ beq lbl_802D636C
+/* 802D635C 002D1FBC 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 802D6360 002D1FC0 2C 00 00 04 */ cmpwi r0, 4
+/* 802D6364 002D1FC4 40 82 00 08 */ bne lbl_802D636C
+/* 802D6368 002D1FC8 B3 E3 00 60 */ sth r31, 0x60(r3)
+lbl_802D636C:
+/* 802D636C 002D1FCC 8C 03 00 64 */ lbzu r0, 0x64(r3)
+/* 802D6370 002D1FD0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D6374 002D1FD4 41 82 00 14 */ beq lbl_802D6388
+/* 802D6378 002D1FD8 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D637C 002D1FDC 2C 00 00 04 */ cmpwi r0, 4
+/* 802D6380 002D1FE0 40 82 00 08 */ bne lbl_802D6388
+/* 802D6384 002D1FE4 B3 E3 00 58 */ sth r31, 0x58(r3)
+lbl_802D6388:
+/* 802D6388 002D1FE8 88 03 00 5C */ lbz r0, 0x5c(r3)
+/* 802D638C 002D1FEC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D6390 002D1FF0 41 82 00 14 */ beq lbl_802D63A4
+/* 802D6394 002D1FF4 80 03 00 60 */ lwz r0, 0x60(r3)
+/* 802D6398 002D1FF8 2C 00 00 04 */ cmpwi r0, 4
+/* 802D639C 002D1FFC 40 82 00 08 */ bne lbl_802D63A4
+/* 802D63A0 002D2000 B3 E3 00 B4 */ sth r31, 0xb4(r3)
+lbl_802D63A4:
+/* 802D63A4 002D2004 88 03 00 B8 */ lbz r0, 0xb8(r3)
+/* 802D63A8 002D2008 2C 00 00 00 */ cmpwi r0, 0
+/* 802D63AC 002D200C 41 82 00 14 */ beq lbl_802D63C0
+/* 802D63B0 002D2010 80 03 00 BC */ lwz r0, 0xbc(r3)
+/* 802D63B4 002D2014 2C 00 00 04 */ cmpwi r0, 4
+/* 802D63B8 002D2018 40 82 00 08 */ bne lbl_802D63C0
+/* 802D63BC 002D201C B3 E3 01 10 */ sth r31, 0x110(r3)
+lbl_802D63C0:
+/* 802D63C0 002D2020 38 60 00 01 */ li r3, 1
+lbl_802D63C4:
+/* 802D63C4 002D2024 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D63C8 002D2028 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D63CC 002D202C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D63D0 002D2030 7C 08 03 A6 */ mtlr r0
+/* 802D63D4 002D2034 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D63D8 002D2038 4E 80 00 20 */ blr
+
+.global L2CA_SetTraceLevel
+L2CA_SetTraceLevel:
+/* 802D63DC 002D203C 28 03 00 FF */ cmplwi r3, 0xff
+/* 802D63E0 002D2040 41 82 00 0C */ beq lbl_802D63EC
+/* 802D63E4 002D2044 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D63E8 002D2048 98 64 BC 40 */ stb r3, lbl_8056BC40@l(r4)
+lbl_802D63EC:
+/* 802D63EC 002D204C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D63F0 002D2050 88 63 BC 40 */ lbz r3, lbl_8056BC40@l(r3)
+/* 802D63F4 002D2054 4E 80 00 20 */ blr
+
+.global L2CA_RegisterCompression
+L2CA_RegisterCompression:
+/* 802D63F8 002D2058 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/l2c_csm.s b/asm/SDK/BTE/l2c_csm.s new file mode 100644 index 0000000..bb3b301 --- /dev/null +++ b/asm/SDK/BTE/l2c_csm.s @@ -0,0 +1,1424 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global l2c_csm_execute
+l2c_csm_execute:
+/* 802D63FC 002D205C 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D6400 002D2060 28 00 00 08 */ cmplwi r0, 8
+/* 802D6404 002D2064 4D 81 00 20 */ bgtlr
+/* 802D6408 002D2068 3C C0 80 44 */ lis r6, lbl_804433D0@ha
+/* 802D640C 002D206C 54 00 10 3A */ slwi r0, r0, 2
+/* 802D6410 002D2070 38 C6 33 D0 */ addi r6, r6, lbl_804433D0@l
+/* 802D6414 002D2074 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802D6418 002D2078 7C C9 03 A6 */ mtctr r6
+/* 802D641C 002D207C 4E 80 04 20 */ bctr
+/* 802D6420 002D2080 48 00 00 28 */ b l2c_csm_closed
+/* 802D6424 002D2084 48 00 02 B8 */ b l2c_csm_orig_w4_sec_comp
+/* 802D6428 002D2088 48 00 04 24 */ b l2c_csm_term_w4_sec_comp
+/* 802D642C 002D208C 48 00 05 88 */ b l2c_csm_w4_l2cap_connect_rsp
+/* 802D6430 002D2090 48 00 07 C8 */ b l2c_csm_w4_l2ca_connect_rsp
+/* 802D6434 002D2094 48 00 09 9C */ b l2c_csm_config
+/* 802D6438 002D2098 48 00 0D 60 */ b l2c_csm_open
+/* 802D643C 002D209C 48 00 0F B8 */ b l2c_csm_w4_l2cap_disconnect_rsp
+/* 802D6440 002D20A0 48 00 11 98 */ b l2c_csm_w4_l2ca_disconnect_rsp
+/* 802D6444 002D20A4 4E 80 00 20 */ blr
+
+l2c_csm_closed:
+/* 802D6448 002D20A8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D644C 002D20AC 7C 08 02 A6 */ mflr r0
+/* 802D6450 002D20B0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D6454 002D20B4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D6458 002D20B8 4B EF 0C C9 */ bl _savegpr_25
+/* 802D645C 002D20BC 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D6460 002D20C0 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D6464 002D20C4 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D6468 002D20C8 3F E0 80 44 */ lis r31, lbl_804433D0@ha
+/* 802D646C 002D20CC 83 67 00 18 */ lwz r27, 0x18(r7)
+/* 802D6470 002D20D0 7C 7C 1B 78 */ mr r28, r3
+/* 802D6474 002D20D4 28 00 00 04 */ cmplwi r0, 4
+/* 802D6478 002D20D8 83 C7 00 08 */ lwz r30, 8(r7)
+/* 802D647C 002D20DC A3 A3 00 14 */ lhz r29, 0x14(r3)
+/* 802D6480 002D20E0 7C 99 23 78 */ mr r25, r4
+/* 802D6484 002D20E4 7C BA 2B 78 */ mr r26, r5
+/* 802D6488 002D20E8 3B FF 33 D0 */ addi r31, r31, lbl_804433D0@l
+/* 802D648C 002D20EC 41 80 00 18 */ blt lbl_802D64A4
+/* 802D6490 002D20F0 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D6494 002D20F4 7F 25 CB 78 */ mr r5, r25
+/* 802D6498 002D20F8 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D649C 002D20FC 38 9F 00 24 */ addi r4, r31, 0x24
+/* 802D64A0 002D2100 4B FE 6A 89 */ bl LogMsg_1
+lbl_802D64A4:
+/* 802D64A4 002D2104 28 19 00 1E */ cmplwi r25, 0x1e
+/* 802D64A8 002D2108 41 81 02 1C */ bgt lbl_802D66C4
+/* 802D64AC 002D210C 3C 60 80 44 */ lis r3, lbl_80443490@ha
+/* 802D64B0 002D2110 57 20 10 3A */ slwi r0, r25, 2
+/* 802D64B4 002D2114 38 63 34 90 */ addi r3, r3, lbl_80443490@l
+/* 802D64B8 002D2118 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D64BC 002D211C 7C 69 03 A6 */ mtctr r3
+/* 802D64C0 002D2120 4E 80 04 20 */ bctr
+/* 802D64C4 002D2124 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D64C8 002D2128 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D64CC 002D212C 28 00 00 03 */ cmplwi r0, 3
+/* 802D64D0 002D2130 41 80 00 18 */ blt lbl_802D64E8
+/* 802D64D4 002D2134 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D64D8 002D2138 A0 BC 00 14 */ lhz r5, 0x14(r28)
+/* 802D64DC 002D213C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D64E0 002D2140 38 9F 00 40 */ addi r4, r31, 0x40
+/* 802D64E4 002D2144 4B FE 6A 45 */ bl LogMsg_1
+lbl_802D64E8:
+/* 802D64E8 002D2148 7F 83 E3 78 */ mr r3, r28
+/* 802D64EC 002D214C 48 00 4A B5 */ bl l2cu_release_ccb
+/* 802D64F0 002D2150 7F 6C DB 78 */ mr r12, r27
+/* 802D64F4 002D2154 7F A3 EB 78 */ mr r3, r29
+/* 802D64F8 002D2158 38 80 00 00 */ li r4, 0
+/* 802D64FC 002D215C 7D 89 03 A6 */ mtctr r12
+/* 802D6500 002D2160 4E 80 04 21 */ bctrl
+/* 802D6504 002D2164 48 00 01 C0 */ b lbl_802D66C4
+/* 802D6508 002D2168 38 00 00 01 */ li r0, 1
+/* 802D650C 002D216C 80 BC 00 10 */ lwz r5, 0x10(r28)
+/* 802D6510 002D2170 90 1C 00 04 */ stw r0, 4(r28)
+/* 802D6514 002D2174 3C E0 80 2D */ lis r7, l2c_link_sec_comp@ha
+/* 802D6518 002D2178 80 9C 00 30 */ lwz r4, 0x30(r28)
+/* 802D651C 002D217C 38 65 00 2A */ addi r3, r5, 0x2a
+/* 802D6520 002D2180 A0 A5 00 28 */ lhz r5, 0x28(r5)
+/* 802D6524 002D2184 38 E7 7C 64 */ addi r7, r7, l2c_link_sec_comp@l
+/* 802D6528 002D2188 A0 84 00 02 */ lhz r4, 2(r4)
+/* 802D652C 002D218C 38 C0 00 01 */ li r6, 1
+/* 802D6530 002D2190 4B FF 4D E9 */ bl btm_sec_l2cap_access_req
+/* 802D6534 002D2194 48 00 01 90 */ b lbl_802D66C4
+/* 802D6538 002D2198 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D653C 002D219C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6540 002D21A0 28 00 00 03 */ cmplwi r0, 3
+/* 802D6544 002D21A4 41 80 00 1C */ blt lbl_802D6560
+/* 802D6548 002D21A8 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D654C 002D21AC A0 BC 00 14 */ lhz r5, 0x14(r28)
+/* 802D6550 002D21B0 88 DA 00 06 */ lbz r6, 6(r26)
+/* 802D6554 002D21B4 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6558 002D21B8 38 9F 00 84 */ addi r4, r31, 0x84
+/* 802D655C 002D21BC 4B FE 69 E5 */ bl LogMsg_2
+lbl_802D6560:
+/* 802D6560 002D21C0 7F 83 E3 78 */ mr r3, r28
+/* 802D6564 002D21C4 48 00 4A 3D */ bl l2cu_release_ccb
+/* 802D6568 002D21C8 7F CC F3 78 */ mr r12, r30
+/* 802D656C 002D21CC 7F A3 EB 78 */ mr r3, r29
+/* 802D6570 002D21D0 88 9A 00 06 */ lbz r4, 6(r26)
+/* 802D6574 002D21D4 7D 89 03 A6 */ mtctr r12
+/* 802D6578 002D21D8 4E 80 04 21 */ bctrl
+/* 802D657C 002D21DC 48 00 01 48 */ b lbl_802D66C4
+/* 802D6580 002D21E0 80 7C 00 10 */ lwz r3, 0x10(r28)
+/* 802D6584 002D21E4 3C E0 80 2D */ lis r7, l2c_link_sec_comp@ha
+/* 802D6588 002D21E8 80 9C 00 30 */ lwz r4, 0x30(r28)
+/* 802D658C 002D21EC 38 E7 7C 64 */ addi r7, r7, l2c_link_sec_comp@l
+/* 802D6590 002D21F0 A0 A3 00 28 */ lhz r5, 0x28(r3)
+/* 802D6594 002D21F4 38 63 00 2A */ addi r3, r3, 0x2a
+/* 802D6598 002D21F8 A0 84 00 02 */ lhz r4, 2(r4)
+/* 802D659C 002D21FC 38 C0 00 01 */ li r6, 1
+/* 802D65A0 002D2200 4B FF 4D 79 */ bl btm_sec_l2cap_access_req
+/* 802D65A4 002D2204 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802D65A8 002D2208 28 00 00 01 */ cmplwi r0, 1
+/* 802D65AC 002D220C 40 82 01 18 */ bne lbl_802D66C4
+/* 802D65B0 002D2210 38 00 00 01 */ li r0, 1
+/* 802D65B4 002D2214 90 1C 00 04 */ stw r0, 4(r28)
+/* 802D65B8 002D2218 48 00 01 0C */ b lbl_802D66C4
+/* 802D65BC 002D221C 7F 83 E3 78 */ mr r3, r28
+/* 802D65C0 002D2220 48 00 39 91 */ bl l2cu_send_peer_connect_req
+/* 802D65C4 002D2224 38 00 00 03 */ li r0, 3
+/* 802D65C8 002D2228 38 7C 00 18 */ addi r3, r28, 0x18
+/* 802D65CC 002D222C 90 1C 00 04 */ stw r0, 4(r28)
+/* 802D65D0 002D2230 38 80 00 03 */ li r4, 3
+/* 802D65D4 002D2234 38 A0 00 3C */ li r5, 0x3c
+/* 802D65D8 002D2238 4B FE 6F 05 */ bl btu_start_timer
+/* 802D65DC 002D223C 48 00 00 E8 */ b lbl_802D66C4
+/* 802D65E0 002D2240 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D65E4 002D2244 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D65E8 002D2248 28 00 00 03 */ cmplwi r0, 3
+/* 802D65EC 002D224C 41 80 00 20 */ blt lbl_802D660C
+/* 802D65F0 002D2250 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D65F4 002D2254 3C C0 00 01 */ lis r6, 0x0000EEEE@ha
+/* 802D65F8 002D2258 A0 BC 00 14 */ lhz r5, 0x14(r28)
+/* 802D65FC 002D225C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6600 002D2260 38 9F 00 84 */ addi r4, r31, 0x84
+/* 802D6604 002D2264 38 C6 EE EE */ addi r6, r6, 0x0000EEEE@l
+/* 802D6608 002D2268 4B FE 69 39 */ bl LogMsg_2
+lbl_802D660C:
+/* 802D660C 002D226C 7F 83 E3 78 */ mr r3, r28
+/* 802D6610 002D2270 48 00 49 91 */ bl l2cu_release_ccb
+/* 802D6614 002D2274 7F CC F3 78 */ mr r12, r30
+/* 802D6618 002D2278 7F A3 EB 78 */ mr r3, r29
+/* 802D661C 002D227C 38 80 00 03 */ li r4, 3
+/* 802D6620 002D2280 7D 89 03 A6 */ mtctr r12
+/* 802D6624 002D2284 4E 80 04 21 */ bctrl
+/* 802D6628 002D2288 48 00 00 9C */ b lbl_802D66C4
+/* 802D662C 002D228C 38 00 00 02 */ li r0, 2
+/* 802D6630 002D2290 80 BC 00 10 */ lwz r5, 0x10(r28)
+/* 802D6634 002D2294 90 1C 00 04 */ stw r0, 4(r28)
+/* 802D6638 002D2298 3C E0 80 2D */ lis r7, l2c_link_sec_comp@ha
+/* 802D663C 002D229C 80 9C 00 30 */ lwz r4, 0x30(r28)
+/* 802D6640 002D22A0 38 65 00 2A */ addi r3, r5, 0x2a
+/* 802D6644 002D22A4 A0 A5 00 28 */ lhz r5, 0x28(r5)
+/* 802D6648 002D22A8 38 E7 7C 64 */ addi r7, r7, l2c_link_sec_comp@l
+/* 802D664C 002D22AC A0 84 00 02 */ lhz r4, 2(r4)
+/* 802D6650 002D22B0 38 C0 00 00 */ li r6, 0
+/* 802D6654 002D22B4 4B FF 4C C5 */ bl btm_sec_l2cap_access_req
+/* 802D6658 002D22B8 48 00 00 6C */ b lbl_802D66C4
+/* 802D665C 002D22BC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6660 002D22C0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6664 002D22C4 28 00 00 03 */ cmplwi r0, 3
+/* 802D6668 002D22C8 41 80 00 20 */ blt lbl_802D6688
+/* 802D666C 002D22CC 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6670 002D22D0 3C C0 00 01 */ lis r6, 0x0000EEEE@ha
+/* 802D6674 002D22D4 A0 BC 00 14 */ lhz r5, 0x14(r28)
+/* 802D6678 002D22D8 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D667C 002D22DC 38 9F 00 84 */ addi r4, r31, 0x84
+/* 802D6680 002D22E0 38 C6 EE EE */ addi r6, r6, 0x0000EEEE@l
+/* 802D6684 002D22E4 4B FE 68 BD */ bl LogMsg_2
+lbl_802D6688:
+/* 802D6688 002D22E8 7F 83 E3 78 */ mr r3, r28
+/* 802D668C 002D22EC 48 00 49 15 */ bl l2cu_release_ccb
+/* 802D6690 002D22F0 3C 60 00 01 */ lis r3, 0x0000EEEE@ha
+/* 802D6694 002D22F4 7F CC F3 78 */ mr r12, r30
+/* 802D6698 002D22F8 38 03 EE EE */ addi r0, r3, 0x0000EEEE@l
+/* 802D669C 002D22FC 7F A3 EB 78 */ mr r3, r29
+/* 802D66A0 002D2300 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802D66A4 002D2304 7D 89 03 A6 */ mtctr r12
+/* 802D66A8 002D2308 4E 80 04 21 */ bctrl
+/* 802D66AC 002D230C 48 00 00 18 */ b lbl_802D66C4
+/* 802D66B0 002D2310 7F 43 D3 78 */ mr r3, r26
+/* 802D66B4 002D2314 4B FE 36 81 */ bl GKI_freebuf
+/* 802D66B8 002D2318 48 00 00 0C */ b lbl_802D66C4
+/* 802D66BC 002D231C 7F 83 E3 78 */ mr r3, r28
+/* 802D66C0 002D2320 48 00 48 E1 */ bl l2cu_release_ccb
+lbl_802D66C4:
+/* 802D66C4 002D2324 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D66C8 002D2328 4B EF 0A A5 */ bl _restgpr_25
+/* 802D66CC 002D232C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D66D0 002D2330 7C 08 03 A6 */ mtlr r0
+/* 802D66D4 002D2334 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D66D8 002D2338 4E 80 00 20 */ blr
+
+l2c_csm_orig_w4_sec_comp:
+/* 802D66DC 002D233C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D66E0 002D2340 7C 08 02 A6 */ mflr r0
+/* 802D66E4 002D2344 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D66E8 002D2348 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D66EC 002D234C 4B EF 0A 35 */ bl _savegpr_25
+/* 802D66F0 002D2350 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D66F4 002D2354 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D66F8 002D2358 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D66FC 002D235C 3F C0 80 44 */ lis r30, lbl_804433D0@ha
+/* 802D6700 002D2360 83 A7 00 18 */ lwz r29, 0x18(r7)
+/* 802D6704 002D2364 7C 7F 1B 78 */ mr r31, r3
+/* 802D6708 002D2368 28 00 00 04 */ cmplwi r0, 4
+/* 802D670C 002D236C 83 87 00 08 */ lwz r28, 8(r7)
+/* 802D6710 002D2370 A3 63 00 14 */ lhz r27, 0x14(r3)
+/* 802D6714 002D2374 7C 99 23 78 */ mr r25, r4
+/* 802D6718 002D2378 7C BA 2B 78 */ mr r26, r5
+/* 802D671C 002D237C 3B DE 33 D0 */ addi r30, r30, lbl_804433D0@l
+/* 802D6720 002D2380 41 80 00 18 */ blt lbl_802D6738
+/* 802D6724 002D2384 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D6728 002D2388 7F 25 CB 78 */ mr r5, r25
+/* 802D672C 002D238C 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D6730 002D2390 38 9E 01 3C */ addi r4, r30, 0x13c
+/* 802D6734 002D2394 4B FE 67 F5 */ bl LogMsg_1
+lbl_802D6738:
+/* 802D6738 002D2398 38 19 FF FD */ addi r0, r25, -3
+/* 802D673C 002D239C 28 00 00 1A */ cmplwi r0, 0x1a
+/* 802D6740 002D23A0 41 81 00 F4 */ bgt lbl_802D6834
+/* 802D6744 002D23A4 3C 60 80 44 */ lis r3, lbl_80443534@ha
+/* 802D6748 002D23A8 54 00 10 3A */ slwi r0, r0, 2
+/* 802D674C 002D23AC 38 63 35 34 */ addi r3, r3, lbl_80443534@l
+/* 802D6750 002D23B0 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D6754 002D23B4 7C 69 03 A6 */ mtctr r3
+/* 802D6758 002D23B8 4E 80 04 20 */ bctr
+/* 802D675C 002D23BC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6760 002D23C0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6764 002D23C4 28 00 00 03 */ cmplwi r0, 3
+/* 802D6768 002D23C8 41 80 00 18 */ blt lbl_802D6780
+/* 802D676C 002D23CC 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6770 002D23D0 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802D6774 002D23D4 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6778 002D23D8 38 9E 00 40 */ addi r4, r30, 0x40
+/* 802D677C 002D23DC 4B FE 67 AD */ bl LogMsg_1
+lbl_802D6780:
+/* 802D6780 002D23E0 7F E3 FB 78 */ mr r3, r31
+/* 802D6784 002D23E4 48 00 48 1D */ bl l2cu_release_ccb
+/* 802D6788 002D23E8 7F AC EB 78 */ mr r12, r29
+/* 802D678C 002D23EC 7F 63 DB 78 */ mr r3, r27
+/* 802D6790 002D23F0 38 80 00 00 */ li r4, 0
+/* 802D6794 002D23F4 7D 89 03 A6 */ mtctr r12
+/* 802D6798 002D23F8 4E 80 04 21 */ bctrl
+/* 802D679C 002D23FC 48 00 00 98 */ b lbl_802D6834
+/* 802D67A0 002D2400 38 00 00 03 */ li r0, 3
+/* 802D67A4 002D2404 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D67A8 002D2408 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D67AC 002D240C 38 80 00 03 */ li r4, 3
+/* 802D67B0 002D2410 38 A0 00 3C */ li r5, 0x3c
+/* 802D67B4 002D2414 4B FE 6D 29 */ bl btu_start_timer
+/* 802D67B8 002D2418 7F E3 FB 78 */ mr r3, r31
+/* 802D67BC 002D241C 48 00 37 95 */ bl l2cu_send_peer_connect_req
+/* 802D67C0 002D2420 38 00 00 00 */ li r0, 0
+/* 802D67C4 002D2424 98 1F 00 37 */ stb r0, 0x37(r31)
+/* 802D67C8 002D2428 48 00 00 6C */ b lbl_802D6834
+/* 802D67CC 002D242C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D67D0 002D2430 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D67D4 002D2434 28 00 00 03 */ cmplwi r0, 3
+/* 802D67D8 002D2438 41 80 00 1C */ blt lbl_802D67F4
+/* 802D67DC 002D243C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D67E0 002D2440 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802D67E4 002D2444 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D67E8 002D2448 38 9E 00 84 */ addi r4, r30, 0x84
+/* 802D67EC 002D244C 38 C0 00 05 */ li r6, 5
+/* 802D67F0 002D2450 4B FE 67 51 */ bl LogMsg_2
+lbl_802D67F4:
+/* 802D67F4 002D2454 7F E3 FB 78 */ mr r3, r31
+/* 802D67F8 002D2458 48 00 47 A9 */ bl l2cu_release_ccb
+/* 802D67FC 002D245C 7F 8C E3 78 */ mr r12, r28
+/* 802D6800 002D2460 7F 63 DB 78 */ mr r3, r27
+/* 802D6804 002D2464 38 80 00 05 */ li r4, 5
+/* 802D6808 002D2468 7D 89 03 A6 */ mtctr r12
+/* 802D680C 002D246C 4E 80 04 21 */ bctrl
+/* 802D6810 002D2470 48 00 00 24 */ b lbl_802D6834
+/* 802D6814 002D2474 7F 43 D3 78 */ mr r3, r26
+/* 802D6818 002D2478 4B FE 35 1D */ bl GKI_freebuf
+/* 802D681C 002D247C 48 00 00 18 */ b lbl_802D6834
+/* 802D6820 002D2480 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 802D6824 002D2484 38 63 00 2A */ addi r3, r3, 0x2a
+/* 802D6828 002D2488 4B FF 53 79 */ bl btm_sec_abort_access_req
+/* 802D682C 002D248C 7F E3 FB 78 */ mr r3, r31
+/* 802D6830 002D2490 48 00 47 71 */ bl l2cu_release_ccb
+lbl_802D6834:
+/* 802D6834 002D2494 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D6838 002D2498 4B EF 09 35 */ bl _restgpr_25
+/* 802D683C 002D249C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D6840 002D24A0 7C 08 03 A6 */ mtlr r0
+/* 802D6844 002D24A4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D6848 002D24A8 4E 80 00 20 */ blr
+
+l2c_csm_term_w4_sec_comp:
+/* 802D684C 002D24AC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D6850 002D24B0 7C 08 02 A6 */ mflr r0
+/* 802D6854 002D24B4 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D6858 002D24B8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D685C 002D24BC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D6860 002D24C0 7C BF 2B 78 */ mr r31, r5
+/* 802D6864 002D24C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D6868 002D24C8 7C 9E 23 78 */ mr r30, r4
+/* 802D686C 002D24CC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D6870 002D24D0 7C 7D 1B 78 */ mr r29, r3
+/* 802D6874 002D24D4 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D6878 002D24D8 28 00 00 04 */ cmplwi r0, 4
+/* 802D687C 002D24DC 41 80 00 1C */ blt lbl_802D6898
+/* 802D6880 002D24E0 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D6884 002D24E4 3C 80 80 44 */ lis r4, lbl_804435A0@ha
+/* 802D6888 002D24E8 7F C5 F3 78 */ mr r5, r30
+/* 802D688C 002D24EC 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D6890 002D24F0 38 84 35 A0 */ addi r4, r4, lbl_804435A0@l
+/* 802D6894 002D24F4 4B FE 66 95 */ bl LogMsg_1
+lbl_802D6898:
+/* 802D6898 002D24F8 38 1E FF FD */ addi r0, r30, -3
+/* 802D689C 002D24FC 28 00 00 1A */ cmplwi r0, 0x1a
+/* 802D68A0 002D2500 41 81 00 F8 */ bgt lbl_802D6998
+/* 802D68A4 002D2504 3C 60 80 44 */ lis r3, lbl_804435F8@ha
+/* 802D68A8 002D2508 54 00 10 3A */ slwi r0, r0, 2
+/* 802D68AC 002D250C 38 63 35 F8 */ addi r3, r3, lbl_804435F8@l
+/* 802D68B0 002D2510 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D68B4 002D2514 7C 69 03 A6 */ mtctr r3
+/* 802D68B8 002D2518 4E 80 04 20 */ bctr
+/* 802D68BC 002D251C 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 802D68C0 002D2520 38 63 00 2A */ addi r3, r3, 0x2a
+/* 802D68C4 002D2524 4B FF 52 DD */ bl btm_sec_abort_access_req
+/* 802D68C8 002D2528 7F A3 EB 78 */ mr r3, r29
+/* 802D68CC 002D252C 48 00 46 D5 */ bl l2cu_release_ccb
+/* 802D68D0 002D2530 48 00 00 C8 */ b lbl_802D6998
+/* 802D68D4 002D2534 38 00 00 04 */ li r0, 4
+/* 802D68D8 002D2538 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D68DC 002D253C 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D68E0 002D2540 38 80 00 03 */ li r4, 3
+/* 802D68E4 002D2544 38 A0 00 3C */ li r5, 0x3c
+/* 802D68E8 002D2548 4B FE 6B F5 */ bl btu_start_timer
+/* 802D68EC 002D254C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D68F0 002D2550 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D68F4 002D2554 28 00 00 03 */ cmplwi r0, 3
+/* 802D68F8 002D2558 41 80 00 1C */ blt lbl_802D6914
+/* 802D68FC 002D255C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6900 002D2560 3C 80 80 44 */ lis r4, lbl_804435C8@ha
+/* 802D6904 002D2564 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6908 002D2568 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D690C 002D256C 38 84 35 C8 */ addi r4, r4, lbl_804435C8@l
+/* 802D6910 002D2570 4B FE 66 19 */ bl LogMsg_1
+lbl_802D6914:
+/* 802D6914 002D2574 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D6918 002D2578 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 802D691C 002D257C 81 85 00 04 */ lwz r12, 4(r5)
+/* 802D6920 002D2580 38 63 00 2A */ addi r3, r3, 0x2a
+/* 802D6924 002D2584 A0 9D 00 14 */ lhz r4, 0x14(r29)
+/* 802D6928 002D2588 A0 A5 00 02 */ lhz r5, 2(r5)
+/* 802D692C 002D258C 88 DD 00 36 */ lbz r6, 0x36(r29)
+/* 802D6930 002D2590 7D 89 03 A6 */ mtctr r12
+/* 802D6934 002D2594 4E 80 04 21 */ bctrl
+/* 802D6938 002D2598 48 00 00 60 */ b lbl_802D6998
+/* 802D693C 002D259C 7F A3 EB 78 */ mr r3, r29
+/* 802D6940 002D25A0 38 80 00 03 */ li r4, 3
+/* 802D6944 002D25A4 38 A0 00 00 */ li r5, 0
+/* 802D6948 002D25A8 48 00 36 CD */ bl l2cu_send_peer_connect_rsp
+/* 802D694C 002D25AC 7F A3 EB 78 */ mr r3, r29
+/* 802D6950 002D25B0 48 00 46 51 */ bl l2cu_release_ccb
+/* 802D6954 002D25B4 48 00 00 44 */ b lbl_802D6998
+/* 802D6958 002D25B8 7F E3 FB 78 */ mr r3, r31
+/* 802D695C 002D25BC 4B FE 33 D9 */ bl GKI_freebuf
+/* 802D6960 002D25C0 48 00 00 38 */ b lbl_802D6998
+/* 802D6964 002D25C4 7F A3 EB 78 */ mr r3, r29
+/* 802D6968 002D25C8 48 00 46 39 */ bl l2cu_release_ccb
+/* 802D696C 002D25CC 48 00 00 2C */ b lbl_802D6998
+/* 802D6970 002D25D0 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 802D6974 002D25D4 88 9D 00 36 */ lbz r4, 0x36(r29)
+/* 802D6978 002D25D8 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D697C 002D25DC A0 DD 00 16 */ lhz r6, 0x16(r29)
+/* 802D6980 002D25E0 48 00 40 A5 */ bl l2cu_send_peer_disc_rsp
+/* 802D6984 002D25E4 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 802D6988 002D25E8 38 63 00 2A */ addi r3, r3, 0x2a
+/* 802D698C 002D25EC 4B FF 52 15 */ bl btm_sec_abort_access_req
+/* 802D6990 002D25F0 7F A3 EB 78 */ mr r3, r29
+/* 802D6994 002D25F4 48 00 46 0D */ bl l2cu_release_ccb
+lbl_802D6998:
+/* 802D6998 002D25F8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D699C 002D25FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D69A0 002D2600 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D69A4 002D2604 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D69A8 002D2608 7C 08 03 A6 */ mtlr r0
+/* 802D69AC 002D260C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D69B0 002D2610 4E 80 00 20 */ blr
+
+l2c_csm_w4_l2cap_connect_rsp:
+/* 802D69B4 002D2614 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D69B8 002D2618 7C 08 02 A6 */ mflr r0
+/* 802D69BC 002D261C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D69C0 002D2620 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D69C4 002D2624 4B EF 07 5D */ bl _savegpr_25
+/* 802D69C8 002D2628 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D69CC 002D262C 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D69D0 002D2630 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D69D4 002D2634 3F E0 80 44 */ lis r31, lbl_804433D0@ha
+/* 802D69D8 002D2638 83 87 00 18 */ lwz r28, 0x18(r7)
+/* 802D69DC 002D263C 7C 7D 1B 78 */ mr r29, r3
+/* 802D69E0 002D2640 28 00 00 04 */ cmplwi r0, 4
+/* 802D69E4 002D2644 83 67 00 08 */ lwz r27, 8(r7)
+/* 802D69E8 002D2648 A3 C3 00 14 */ lhz r30, 0x14(r3)
+/* 802D69EC 002D264C 7C 99 23 78 */ mr r25, r4
+/* 802D69F0 002D2650 7C BA 2B 78 */ mr r26, r5
+/* 802D69F4 002D2654 3B FF 33 D0 */ addi r31, r31, lbl_804433D0@l
+/* 802D69F8 002D2658 41 80 00 18 */ blt lbl_802D6A10
+/* 802D69FC 002D265C 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D6A00 002D2660 7F 25 CB 78 */ mr r5, r25
+/* 802D6A04 002D2664 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D6A08 002D2668 38 9F 02 94 */ addi r4, r31, 0x294
+/* 802D6A0C 002D266C 4B FE 65 1D */ bl LogMsg_1
+lbl_802D6A10:
+/* 802D6A10 002D2670 38 19 FF FD */ addi r0, r25, -3
+/* 802D6A14 002D2674 28 00 00 1B */ cmplwi r0, 0x1b
+/* 802D6A18 002D2678 41 81 01 C8 */ bgt lbl_802D6BE0
+/* 802D6A1C 002D267C 3C 60 80 44 */ lis r3, lbl_80443760@ha
+/* 802D6A20 002D2680 54 00 10 3A */ slwi r0, r0, 2
+/* 802D6A24 002D2684 38 63 37 60 */ addi r3, r3, lbl_80443760@l
+/* 802D6A28 002D2688 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D6A2C 002D268C 7C 69 03 A6 */ mtctr r3
+/* 802D6A30 002D2690 4E 80 04 20 */ bctr
+/* 802D6A34 002D2694 38 00 00 00 */ li r0, 0
+/* 802D6A38 002D2698 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6A3C 002D269C 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D6A40 002D26A0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6A44 002D26A4 28 00 00 03 */ cmplwi r0, 3
+/* 802D6A48 002D26A8 41 80 00 18 */ blt lbl_802D6A60
+/* 802D6A4C 002D26AC 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6A50 002D26B0 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6A54 002D26B4 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6A58 002D26B8 38 9F 00 40 */ addi r4, r31, 0x40
+/* 802D6A5C 002D26BC 4B FE 64 CD */ bl LogMsg_1
+lbl_802D6A60:
+/* 802D6A60 002D26C0 7F A3 EB 78 */ mr r3, r29
+/* 802D6A64 002D26C4 48 00 45 3D */ bl l2cu_release_ccb
+/* 802D6A68 002D26C8 7F 8C E3 78 */ mr r12, r28
+/* 802D6A6C 002D26CC 7F C3 F3 78 */ mr r3, r30
+/* 802D6A70 002D26D0 38 80 00 00 */ li r4, 0
+/* 802D6A74 002D26D4 7D 89 03 A6 */ mtctr r12
+/* 802D6A78 002D26D8 4E 80 04 21 */ bctrl
+/* 802D6A7C 002D26DC 48 00 01 64 */ b lbl_802D6BE0
+/* 802D6A80 002D26E0 A0 BA 00 0E */ lhz r5, 0xe(r26)
+/* 802D6A84 002D26E4 38 00 00 05 */ li r0, 5
+/* 802D6A88 002D26E8 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D6A8C 002D26EC 38 80 00 03 */ li r4, 3
+/* 802D6A90 002D26F0 B0 BD 00 16 */ sth r5, 0x16(r29)
+/* 802D6A94 002D26F4 38 A0 00 1E */ li r5, 0x1e
+/* 802D6A98 002D26F8 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D6A9C 002D26FC 4B FE 6A 41 */ bl btu_start_timer
+/* 802D6AA0 002D2700 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6AA4 002D2704 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6AA8 002D2708 28 00 00 03 */ cmplwi r0, 3
+/* 802D6AAC 002D270C 41 80 00 18 */ blt lbl_802D6AC4
+/* 802D6AB0 002D2710 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6AB4 002D2714 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6AB8 002D2718 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6ABC 002D271C 38 9F 02 BC */ addi r4, r31, 0x2bc
+/* 802D6AC0 002D2720 4B FE 64 69 */ bl LogMsg_1
+lbl_802D6AC4:
+/* 802D6AC4 002D2724 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D6AC8 002D2728 38 80 00 00 */ li r4, 0
+/* 802D6ACC 002D272C A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D6AD0 002D2730 81 85 00 08 */ lwz r12, 8(r5)
+/* 802D6AD4 002D2734 7D 89 03 A6 */ mtctr r12
+/* 802D6AD8 002D2738 4E 80 04 21 */ bctrl
+/* 802D6ADC 002D273C 48 00 01 04 */ b lbl_802D6BE0
+/* 802D6AE0 002D2740 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D6AE4 002D2744 38 80 00 03 */ li r4, 3
+/* 802D6AE8 002D2748 38 A0 00 78 */ li r5, 0x78
+/* 802D6AEC 002D274C 4B FE 69 F1 */ bl btu_start_timer
+/* 802D6AF0 002D2750 80 7D 00 30 */ lwz r3, 0x30(r29)
+/* 802D6AF4 002D2754 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 802D6AF8 002D2758 2C 00 00 00 */ cmpwi r0, 0
+/* 802D6AFC 002D275C 41 82 00 E4 */ beq lbl_802D6BE0
+/* 802D6B00 002D2760 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6B04 002D2764 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6B08 002D2768 28 00 00 03 */ cmplwi r0, 3
+/* 802D6B0C 002D276C 41 80 00 14 */ blt lbl_802D6B20
+/* 802D6B10 002D2770 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6B14 002D2774 38 9F 02 F4 */ addi r4, r31, 0x2f4
+/* 802D6B18 002D2778 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6B1C 002D277C 4B FE 63 F5 */ bl LogMsg_0
+lbl_802D6B20:
+/* 802D6B20 002D2780 80 9D 00 30 */ lwz r4, 0x30(r29)
+/* 802D6B24 002D2784 38 60 00 00 */ li r3, 0
+/* 802D6B28 002D2788 81 84 00 0C */ lwz r12, 0xc(r4)
+/* 802D6B2C 002D278C 7D 89 03 A6 */ mtctr r12
+/* 802D6B30 002D2790 4E 80 04 21 */ bctrl
+/* 802D6B34 002D2794 48 00 00 AC */ b lbl_802D6BE0
+/* 802D6B38 002D2798 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6B3C 002D279C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6B40 002D27A0 28 00 00 03 */ cmplwi r0, 3
+/* 802D6B44 002D27A4 41 80 00 1C */ blt lbl_802D6B60
+/* 802D6B48 002D27A8 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6B4C 002D27AC A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6B50 002D27B0 A0 DA 00 0A */ lhz r6, 0xa(r26)
+/* 802D6B54 002D27B4 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6B58 002D27B8 38 9F 03 18 */ addi r4, r31, 0x318
+/* 802D6B5C 002D27BC 4B FE 63 E5 */ bl LogMsg_2
+lbl_802D6B60:
+/* 802D6B60 002D27C0 7F A3 EB 78 */ mr r3, r29
+/* 802D6B64 002D27C4 48 00 44 3D */ bl l2cu_release_ccb
+/* 802D6B68 002D27C8 7F 6C DB 78 */ mr r12, r27
+/* 802D6B6C 002D27CC 7F C3 F3 78 */ mr r3, r30
+/* 802D6B70 002D27D0 A0 9A 00 0A */ lhz r4, 0xa(r26)
+/* 802D6B74 002D27D4 7D 89 03 A6 */ mtctr r12
+/* 802D6B78 002D27D8 4E 80 04 21 */ bctrl
+/* 802D6B7C 002D27DC 48 00 00 64 */ b lbl_802D6BE0
+/* 802D6B80 002D27E0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6B84 002D27E4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6B88 002D27E8 28 00 00 03 */ cmplwi r0, 3
+/* 802D6B8C 002D27EC 41 80 00 18 */ blt lbl_802D6BA4
+/* 802D6B90 002D27F0 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6B94 002D27F4 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6B98 002D27F8 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6B9C 002D27FC 38 9F 03 58 */ addi r4, r31, 0x358
+/* 802D6BA0 002D2800 4B FE 63 89 */ bl LogMsg_1
+lbl_802D6BA4:
+/* 802D6BA4 002D2804 7F A3 EB 78 */ mr r3, r29
+/* 802D6BA8 002D2808 48 00 43 F9 */ bl l2cu_release_ccb
+/* 802D6BAC 002D280C 3C 60 00 01 */ lis r3, 0x0000EEEE@ha
+/* 802D6BB0 002D2810 7F 6C DB 78 */ mr r12, r27
+/* 802D6BB4 002D2814 38 03 EE EE */ addi r0, r3, 0x0000EEEE@l
+/* 802D6BB8 002D2818 7F C3 F3 78 */ mr r3, r30
+/* 802D6BBC 002D281C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802D6BC0 002D2820 7D 89 03 A6 */ mtctr r12
+/* 802D6BC4 002D2824 4E 80 04 21 */ bctrl
+/* 802D6BC8 002D2828 48 00 00 18 */ b lbl_802D6BE0
+/* 802D6BCC 002D282C 7F A3 EB 78 */ mr r3, r29
+/* 802D6BD0 002D2830 48 00 43 D1 */ bl l2cu_release_ccb
+/* 802D6BD4 002D2834 48 00 00 0C */ b lbl_802D6BE0
+/* 802D6BD8 002D2838 7F 43 D3 78 */ mr r3, r26
+/* 802D6BDC 002D283C 4B FE 31 59 */ bl GKI_freebuf
+lbl_802D6BE0:
+/* 802D6BE0 002D2840 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D6BE4 002D2844 4B EF 05 89 */ bl _restgpr_25
+/* 802D6BE8 002D2848 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D6BEC 002D284C 7C 08 03 A6 */ mtlr r0
+/* 802D6BF0 002D2850 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D6BF4 002D2854 4E 80 00 20 */ blr
+
+l2c_csm_w4_l2ca_connect_rsp:
+/* 802D6BF8 002D2858 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D6BFC 002D285C 7C 08 02 A6 */ mflr r0
+/* 802D6C00 002D2860 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D6C04 002D2864 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D6C08 002D2868 4B EF 05 21 */ bl _savegpr_27
+/* 802D6C0C 002D286C 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D6C10 002D2870 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D6C14 002D2874 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D6C18 002D2878 7C 7F 1B 78 */ mr r31, r3
+/* 802D6C1C 002D287C 83 C7 00 18 */ lwz r30, 0x18(r7)
+/* 802D6C20 002D2880 7C 9B 23 78 */ mr r27, r4
+/* 802D6C24 002D2884 28 00 00 04 */ cmplwi r0, 4
+/* 802D6C28 002D2888 A3 A3 00 14 */ lhz r29, 0x14(r3)
+/* 802D6C2C 002D288C 7C BC 2B 78 */ mr r28, r5
+/* 802D6C30 002D2890 41 80 00 1C */ blt lbl_802D6C4C
+/* 802D6C34 002D2894 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D6C38 002D2898 3C 80 80 44 */ lis r4, lbl_804437D0@ha
+/* 802D6C3C 002D289C 7F 65 DB 78 */ mr r5, r27
+/* 802D6C40 002D28A0 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D6C44 002D28A4 38 84 37 D0 */ addi r4, r4, lbl_804437D0@l
+/* 802D6C48 002D28A8 4B FE 62 E1 */ bl LogMsg_1
+lbl_802D6C4C:
+/* 802D6C4C 002D28AC 38 1B FF FD */ addi r0, r27, -3
+/* 802D6C50 002D28B0 28 00 00 1B */ cmplwi r0, 0x1b
+/* 802D6C54 002D28B4 41 81 01 64 */ bgt lbl_802D6DB8
+/* 802D6C58 002D28B8 3C 60 80 44 */ lis r3, lbl_804437F4@ha
+/* 802D6C5C 002D28BC 54 00 10 3A */ slwi r0, r0, 2
+/* 802D6C60 002D28C0 38 63 37 F4 */ addi r3, r3, lbl_804437F4@l
+/* 802D6C64 002D28C4 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D6C68 002D28C8 7C 69 03 A6 */ mtctr r3
+/* 802D6C6C 002D28CC 4E 80 04 20 */ bctr
+/* 802D6C70 002D28D0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6C74 002D28D4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6C78 002D28D8 28 00 00 03 */ cmplwi r0, 3
+/* 802D6C7C 002D28DC 41 80 00 1C */ blt lbl_802D6C98
+/* 802D6C80 002D28E0 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6C84 002D28E4 3C 80 80 44 */ lis r4, lbl_80443410@ha
+/* 802D6C88 002D28E8 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802D6C8C 002D28EC 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6C90 002D28F0 38 84 34 10 */ addi r4, r4, lbl_80443410@l
+/* 802D6C94 002D28F4 4B FE 62 95 */ bl LogMsg_1
+lbl_802D6C98:
+/* 802D6C98 002D28F8 7F E3 FB 78 */ mr r3, r31
+/* 802D6C9C 002D28FC 48 00 43 05 */ bl l2cu_release_ccb
+/* 802D6CA0 002D2900 7F CC F3 78 */ mr r12, r30
+/* 802D6CA4 002D2904 7F A3 EB 78 */ mr r3, r29
+/* 802D6CA8 002D2908 38 80 00 00 */ li r4, 0
+/* 802D6CAC 002D290C 7D 89 03 A6 */ mtctr r12
+/* 802D6CB0 002D2910 4E 80 04 21 */ bctrl
+/* 802D6CB4 002D2914 48 00 01 04 */ b lbl_802D6DB8
+/* 802D6CB8 002D2918 2C 1C 00 00 */ cmpwi r28, 0
+/* 802D6CBC 002D291C 41 82 00 10 */ beq lbl_802D6CCC
+/* 802D6CC0 002D2920 A0 9C 00 0A */ lhz r4, 0xa(r28)
+/* 802D6CC4 002D2924 2C 04 00 00 */ cmpwi r4, 0
+/* 802D6CC8 002D2928 40 82 00 30 */ bne lbl_802D6CF8
+lbl_802D6CCC:
+/* 802D6CCC 002D292C 7F E3 FB 78 */ mr r3, r31
+/* 802D6CD0 002D2930 38 80 00 00 */ li r4, 0
+/* 802D6CD4 002D2934 38 A0 00 00 */ li r5, 0
+/* 802D6CD8 002D2938 48 00 33 3D */ bl l2cu_send_peer_connect_rsp
+/* 802D6CDC 002D293C 38 00 00 05 */ li r0, 5
+/* 802D6CE0 002D2940 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D6CE4 002D2944 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D6CE8 002D2948 38 80 00 03 */ li r4, 3
+/* 802D6CEC 002D294C 38 A0 00 1E */ li r5, 0x1e
+/* 802D6CF0 002D2950 4B FE 67 ED */ bl btu_start_timer
+/* 802D6CF4 002D2954 48 00 00 C4 */ b lbl_802D6DB8
+lbl_802D6CF8:
+/* 802D6CF8 002D2958 A0 BC 00 0C */ lhz r5, 0xc(r28)
+/* 802D6CFC 002D295C 7F E3 FB 78 */ mr r3, r31
+/* 802D6D00 002D2960 48 00 33 15 */ bl l2cu_send_peer_connect_rsp
+/* 802D6D04 002D2964 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D6D08 002D2968 38 80 00 03 */ li r4, 3
+/* 802D6D0C 002D296C 38 A0 00 78 */ li r5, 0x78
+/* 802D6D10 002D2970 4B FE 67 CD */ bl btu_start_timer
+/* 802D6D14 002D2974 48 00 00 A4 */ b lbl_802D6DB8
+/* 802D6D18 002D2978 A0 9C 00 0A */ lhz r4, 0xa(r28)
+/* 802D6D1C 002D297C 7F E3 FB 78 */ mr r3, r31
+/* 802D6D20 002D2980 A0 BC 00 0C */ lhz r5, 0xc(r28)
+/* 802D6D24 002D2984 48 00 32 F1 */ bl l2cu_send_peer_connect_rsp
+/* 802D6D28 002D2988 7F E3 FB 78 */ mr r3, r31
+/* 802D6D2C 002D298C 48 00 42 75 */ bl l2cu_release_ccb
+/* 802D6D30 002D2990 48 00 00 88 */ b lbl_802D6DB8
+/* 802D6D34 002D2994 7F E3 FB 78 */ mr r3, r31
+/* 802D6D38 002D2998 38 80 00 02 */ li r4, 2
+/* 802D6D3C 002D299C 38 A0 00 00 */ li r5, 0
+/* 802D6D40 002D29A0 48 00 32 D5 */ bl l2cu_send_peer_connect_rsp
+/* 802D6D44 002D29A4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6D48 002D29A8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6D4C 002D29AC 28 00 00 03 */ cmplwi r0, 3
+/* 802D6D50 002D29B0 41 80 00 1C */ blt lbl_802D6D6C
+/* 802D6D54 002D29B4 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6D58 002D29B8 3C 80 80 44 */ lis r4, lbl_80443410@ha
+/* 802D6D5C 002D29BC A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802D6D60 002D29C0 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6D64 002D29C4 38 84 34 10 */ addi r4, r4, lbl_80443410@l
+/* 802D6D68 002D29C8 4B FE 61 C1 */ bl LogMsg_1
+lbl_802D6D6C:
+/* 802D6D6C 002D29CC 7F E3 FB 78 */ mr r3, r31
+/* 802D6D70 002D29D0 48 00 42 31 */ bl l2cu_release_ccb
+/* 802D6D74 002D29D4 7F CC F3 78 */ mr r12, r30
+/* 802D6D78 002D29D8 7F A3 EB 78 */ mr r3, r29
+/* 802D6D7C 002D29DC 38 80 00 00 */ li r4, 0
+/* 802D6D80 002D29E0 7D 89 03 A6 */ mtctr r12
+/* 802D6D84 002D29E4 4E 80 04 21 */ bctrl
+/* 802D6D88 002D29E8 48 00 00 30 */ b lbl_802D6DB8
+/* 802D6D8C 002D29EC 7F 83 E3 78 */ mr r3, r28
+/* 802D6D90 002D29F0 4B FE 2F A5 */ bl GKI_freebuf
+/* 802D6D94 002D29F4 48 00 00 24 */ b lbl_802D6DB8
+/* 802D6D98 002D29F8 7F E3 FB 78 */ mr r3, r31
+/* 802D6D9C 002D29FC 48 00 3B B5 */ bl l2cu_send_peer_disc_req
+/* 802D6DA0 002D2A00 38 00 00 07 */ li r0, 7
+/* 802D6DA4 002D2A04 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D6DA8 002D2A08 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D6DAC 002D2A0C 38 80 00 03 */ li r4, 3
+/* 802D6DB0 002D2A10 38 A0 00 1E */ li r5, 0x1e
+/* 802D6DB4 002D2A14 4B FE 67 29 */ bl btu_start_timer
+lbl_802D6DB8:
+/* 802D6DB8 002D2A18 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D6DBC 002D2A1C 4B EF 03 B9 */ bl _restgpr_27
+/* 802D6DC0 002D2A20 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D6DC4 002D2A24 7C 08 03 A6 */ mtlr r0
+/* 802D6DC8 002D2A28 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D6DCC 002D2A2C 4E 80 00 20 */ blr
+
+l2c_csm_config:
+/* 802D6DD0 002D2A30 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D6DD4 002D2A34 7C 08 02 A6 */ mflr r0
+/* 802D6DD8 002D2A38 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D6DDC 002D2A3C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D6DE0 002D2A40 4B EF 03 45 */ bl _savegpr_26
+/* 802D6DE4 002D2A44 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D6DE8 002D2A48 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D6DEC 002D2A4C 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D6DF0 002D2A50 3F E0 80 44 */ lis r31, lbl_804433D0@ha
+/* 802D6DF4 002D2A54 83 87 00 18 */ lwz r28, 0x18(r7)
+/* 802D6DF8 002D2A58 7C BE 2B 78 */ mr r30, r5
+/* 802D6DFC 002D2A5C 28 00 00 04 */ cmplwi r0, 4
+/* 802D6E00 002D2A60 A3 63 00 14 */ lhz r27, 0x14(r3)
+/* 802D6E04 002D2A64 7C 7D 1B 78 */ mr r29, r3
+/* 802D6E08 002D2A68 7C 9A 23 78 */ mr r26, r4
+/* 802D6E0C 002D2A6C 3B FF 33 D0 */ addi r31, r31, lbl_804433D0@l
+/* 802D6E10 002D2A70 41 80 00 18 */ blt lbl_802D6E28
+/* 802D6E14 002D2A74 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D6E18 002D2A78 7F 45 D3 78 */ mr r5, r26
+/* 802D6E1C 002D2A7C 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D6E20 002D2A80 38 9F 04 94 */ addi r4, r31, 0x494
+/* 802D6E24 002D2A84 4B FE 61 05 */ bl LogMsg_1
+lbl_802D6E28:
+/* 802D6E28 002D2A88 38 1A FF FD */ addi r0, r26, -3
+/* 802D6E2C 002D2A8C 28 00 00 1B */ cmplwi r0, 0x1b
+/* 802D6E30 002D2A90 41 81 03 50 */ bgt lbl_802D7180
+/* 802D6E34 002D2A94 3C 60 80 44 */ lis r3, lbl_80443988@ha
+/* 802D6E38 002D2A98 54 00 10 3A */ slwi r0, r0, 2
+/* 802D6E3C 002D2A9C 38 63 39 88 */ addi r3, r3, lbl_80443988@l
+/* 802D6E40 002D2AA0 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D6E44 002D2AA4 7C 69 03 A6 */ mtctr r3
+/* 802D6E48 002D2AA8 4E 80 04 20 */ bctr
+/* 802D6E4C 002D2AAC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6E50 002D2AB0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6E54 002D2AB4 28 00 00 03 */ cmplwi r0, 3
+/* 802D6E58 002D2AB8 41 80 00 18 */ blt lbl_802D6E70
+/* 802D6E5C 002D2ABC 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6E60 002D2AC0 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6E64 002D2AC4 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6E68 002D2AC8 38 9F 00 40 */ addi r4, r31, 0x40
+/* 802D6E6C 002D2ACC 4B FE 60 BD */ bl LogMsg_1
+lbl_802D6E70:
+/* 802D6E70 002D2AD0 7F A3 EB 78 */ mr r3, r29
+/* 802D6E74 002D2AD4 48 00 41 2D */ bl l2cu_release_ccb
+/* 802D6E78 002D2AD8 7F 8C E3 78 */ mr r12, r28
+/* 802D6E7C 002D2ADC 7F 63 DB 78 */ mr r3, r27
+/* 802D6E80 002D2AE0 38 80 00 00 */ li r4, 0
+/* 802D6E84 002D2AE4 7D 89 03 A6 */ mtctr r12
+/* 802D6E88 002D2AE8 4E 80 04 21 */ bctrl
+/* 802D6E8C 002D2AEC 48 00 02 F4 */ b lbl_802D7180
+/* 802D6E90 002D2AF0 7F A3 EB 78 */ mr r3, r29
+/* 802D6E94 002D2AF4 7F C4 F3 78 */ mr r4, r30
+/* 802D6E98 002D2AF8 48 00 44 1D */ bl l2cu_process_peer_cfg_req
+/* 802D6E9C 002D2AFC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D6EA0 002D2B00 41 82 00 44 */ beq lbl_802D6EE4
+/* 802D6EA4 002D2B04 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6EA8 002D2B08 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6EAC 002D2B0C 28 00 00 03 */ cmplwi r0, 3
+/* 802D6EB0 002D2B10 41 80 00 18 */ blt lbl_802D6EC8
+/* 802D6EB4 002D2B14 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6EB8 002D2B18 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6EBC 002D2B1C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6EC0 002D2B20 38 9F 04 B0 */ addi r4, r31, 0x4b0
+/* 802D6EC4 002D2B24 4B FE 60 65 */ bl LogMsg_1
+lbl_802D6EC8:
+/* 802D6EC8 002D2B28 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D6ECC 002D2B2C 7F C4 F3 78 */ mr r4, r30
+/* 802D6ED0 002D2B30 A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D6ED4 002D2B34 81 85 00 10 */ lwz r12, 0x10(r5)
+/* 802D6ED8 002D2B38 7D 89 03 A6 */ mtctr r12
+/* 802D6EDC 002D2B3C 4E 80 04 21 */ bctrl
+/* 802D6EE0 002D2B40 48 00 02 A0 */ b lbl_802D7180
+lbl_802D6EE4:
+/* 802D6EE4 002D2B44 7F A3 EB 78 */ mr r3, r29
+/* 802D6EE8 002D2B48 7F C4 F3 78 */ mr r4, r30
+/* 802D6EEC 002D2B4C 48 00 35 B9 */ bl l2cu_send_peer_config_rsp
+/* 802D6EF0 002D2B50 48 00 02 90 */ b lbl_802D7180
+/* 802D6EF4 002D2B54 7F A3 EB 78 */ mr r3, r29
+/* 802D6EF8 002D2B58 7F C4 F3 78 */ mr r4, r30
+/* 802D6EFC 002D2B5C 48 00 45 01 */ bl l2cu_process_peer_cfg_rsp
+/* 802D6F00 002D2B60 88 1D 00 34 */ lbz r0, 0x34(r29)
+/* 802D6F04 002D2B64 60 03 00 02 */ ori r3, r0, 2
+/* 802D6F08 002D2B68 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 802D6F0C 002D2B6C 98 7D 00 34 */ stb r3, 0x34(r29)
+/* 802D6F10 002D2B70 41 82 00 20 */ beq lbl_802D6F30
+/* 802D6F14 002D2B74 38 00 00 06 */ li r0, 6
+/* 802D6F18 002D2B78 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D6F1C 002D2B7C 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D6F20 002D2B80 4B FE 66 2D */ bl btu_stop_timer
+/* 802D6F24 002D2B84 7F A3 EB 78 */ mr r3, r29
+/* 802D6F28 002D2B88 38 80 00 00 */ li r4, 0
+/* 802D6F2C 002D2B8C 48 00 08 09 */ bl forward_peer_data
+lbl_802D6F30:
+/* 802D6F30 002D2B90 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6F34 002D2B94 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6F38 002D2B98 28 00 00 03 */ cmplwi r0, 3
+/* 802D6F3C 002D2B9C 41 80 00 18 */ blt lbl_802D6F54
+/* 802D6F40 002D2BA0 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6F44 002D2BA4 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6F48 002D2BA8 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6F4C 002D2BAC 38 9F 04 E0 */ addi r4, r31, 0x4e0
+/* 802D6F50 002D2BB0 4B FE 5F D9 */ bl LogMsg_1
+lbl_802D6F54:
+/* 802D6F54 002D2BB4 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D6F58 002D2BB8 7F C4 F3 78 */ mr r4, r30
+/* 802D6F5C 002D2BBC A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D6F60 002D2BC0 81 85 00 14 */ lwz r12, 0x14(r5)
+/* 802D6F64 002D2BC4 7D 89 03 A6 */ mtctr r12
+/* 802D6F68 002D2BC8 4E 80 04 21 */ bctrl
+/* 802D6F6C 002D2BCC 48 00 02 14 */ b lbl_802D7180
+/* 802D6F70 002D2BD0 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D6F74 002D2BD4 4B FE 65 D9 */ bl btu_stop_timer
+/* 802D6F78 002D2BD8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6F7C 002D2BDC 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6F80 002D2BE0 28 00 00 03 */ cmplwi r0, 3
+/* 802D6F84 002D2BE4 41 80 00 1C */ blt lbl_802D6FA0
+/* 802D6F88 002D2BE8 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6F8C 002D2BEC A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6F90 002D2BF0 A0 DE 00 00 */ lhz r6, 0(r30)
+/* 802D6F94 002D2BF4 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6F98 002D2BF8 38 9F 05 10 */ addi r4, r31, 0x510
+/* 802D6F9C 002D2BFC 4B FE 5F A5 */ bl LogMsg_2
+lbl_802D6FA0:
+/* 802D6FA0 002D2C00 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D6FA4 002D2C04 7F C4 F3 78 */ mr r4, r30
+/* 802D6FA8 002D2C08 A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D6FAC 002D2C0C 81 85 00 14 */ lwz r12, 0x14(r5)
+/* 802D6FB0 002D2C10 7D 89 03 A6 */ mtctr r12
+/* 802D6FB4 002D2C14 4E 80 04 21 */ bctrl
+/* 802D6FB8 002D2C18 48 00 01 C8 */ b lbl_802D7180
+/* 802D6FBC 002D2C1C 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D6FC0 002D2C20 38 80 00 03 */ li r4, 3
+/* 802D6FC4 002D2C24 38 A0 00 1E */ li r5, 0x1e
+/* 802D6FC8 002D2C28 4B FE 65 15 */ bl btu_start_timer
+/* 802D6FCC 002D2C2C 38 00 00 08 */ li r0, 8
+/* 802D6FD0 002D2C30 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D6FD4 002D2C34 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D6FD8 002D2C38 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D6FDC 002D2C3C 28 00 00 03 */ cmplwi r0, 3
+/* 802D6FE0 002D2C40 41 80 00 18 */ blt lbl_802D6FF8
+/* 802D6FE4 002D2C44 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D6FE8 002D2C48 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D6FEC 002D2C4C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D6FF0 002D2C50 38 9F 05 4C */ addi r4, r31, 0x54c
+/* 802D6FF4 002D2C54 4B FE 5F 35 */ bl LogMsg_1
+lbl_802D6FF8:
+/* 802D6FF8 002D2C58 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D6FFC 002D2C5C 38 80 00 01 */ li r4, 1
+/* 802D7000 002D2C60 A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D7004 002D2C64 81 85 00 18 */ lwz r12, 0x18(r5)
+/* 802D7008 002D2C68 7D 89 03 A6 */ mtctr r12
+/* 802D700C 002D2C6C 4E 80 04 21 */ bctrl
+/* 802D7010 002D2C70 48 00 01 70 */ b lbl_802D7180
+/* 802D7014 002D2C74 7F A3 EB 78 */ mr r3, r29
+/* 802D7018 002D2C78 7F C4 F3 78 */ mr r4, r30
+/* 802D701C 002D2C7C 48 00 44 21 */ bl l2cu_process_our_cfg_req
+/* 802D7020 002D2C80 7F A3 EB 78 */ mr r3, r29
+/* 802D7024 002D2C84 7F C4 F3 78 */ mr r4, r30
+/* 802D7028 002D2C88 48 00 31 85 */ bl l2cu_send_peer_config_req
+/* 802D702C 002D2C8C 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D7030 002D2C90 38 80 00 03 */ li r4, 3
+/* 802D7034 002D2C94 38 A0 00 1E */ li r5, 0x1e
+/* 802D7038 002D2C98 4B FE 64 A5 */ bl btu_start_timer
+/* 802D703C 002D2C9C 48 00 01 44 */ b lbl_802D7180
+/* 802D7040 002D2CA0 7F A3 EB 78 */ mr r3, r29
+/* 802D7044 002D2CA4 7F C4 F3 78 */ mr r4, r30
+/* 802D7048 002D2CA8 48 00 45 05 */ bl l2cu_process_our_cfg_rsp
+/* 802D704C 002D2CAC 88 1D 00 34 */ lbz r0, 0x34(r29)
+/* 802D7050 002D2CB0 60 03 00 01 */ ori r3, r0, 1
+/* 802D7054 002D2CB4 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 802D7058 002D2CB8 98 7D 00 34 */ stb r3, 0x34(r29)
+/* 802D705C 002D2CBC 41 82 00 20 */ beq lbl_802D707C
+/* 802D7060 002D2CC0 38 00 00 06 */ li r0, 6
+/* 802D7064 002D2CC4 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D7068 002D2CC8 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D706C 002D2CCC 4B FE 64 E1 */ bl btu_stop_timer
+/* 802D7070 002D2CD0 7F A3 EB 78 */ mr r3, r29
+/* 802D7074 002D2CD4 38 80 00 00 */ li r4, 0
+/* 802D7078 002D2CD8 48 00 06 BD */ bl forward_peer_data
+lbl_802D707C:
+/* 802D707C 002D2CDC 7F A3 EB 78 */ mr r3, r29
+/* 802D7080 002D2CE0 7F C4 F3 78 */ mr r4, r30
+/* 802D7084 002D2CE4 48 00 34 21 */ bl l2cu_send_peer_config_rsp
+/* 802D7088 002D2CE8 48 00 00 F8 */ b lbl_802D7180
+/* 802D708C 002D2CEC 7F A3 EB 78 */ mr r3, r29
+/* 802D7090 002D2CF0 7F C4 F3 78 */ mr r4, r30
+/* 802D7094 002D2CF4 48 00 34 11 */ bl l2cu_send_peer_config_rsp
+/* 802D7098 002D2CF8 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D709C 002D2CFC 38 80 00 03 */ li r4, 3
+/* 802D70A0 002D2D00 38 A0 00 1E */ li r5, 0x1e
+/* 802D70A4 002D2D04 4B FE 64 39 */ bl btu_start_timer
+/* 802D70A8 002D2D08 48 00 00 D8 */ b lbl_802D7180
+/* 802D70AC 002D2D0C 7F A3 EB 78 */ mr r3, r29
+/* 802D70B0 002D2D10 48 00 38 A1 */ bl l2cu_send_peer_disc_req
+/* 802D70B4 002D2D14 38 00 00 07 */ li r0, 7
+/* 802D70B8 002D2D18 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802D70BC 002D2D1C 90 1D 00 04 */ stw r0, 4(r29)
+/* 802D70C0 002D2D20 38 80 00 03 */ li r4, 3
+/* 802D70C4 002D2D24 38 A0 00 1E */ li r5, 0x1e
+/* 802D70C8 002D2D28 4B FE 64 15 */ bl btu_start_timer
+/* 802D70CC 002D2D2C 48 00 00 B4 */ b lbl_802D7180
+/* 802D70D0 002D2D30 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D70D4 002D2D34 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D70D8 002D2D38 28 00 00 03 */ cmplwi r0, 3
+/* 802D70DC 002D2D3C 41 80 00 18 */ blt lbl_802D70F4
+/* 802D70E0 002D2D40 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D70E4 002D2D44 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D70E8 002D2D48 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D70EC 002D2D4C 38 9F 05 8C */ addi r4, r31, 0x58c
+/* 802D70F0 002D2D50 4B FE 5E 39 */ bl LogMsg_1
+lbl_802D70F4:
+/* 802D70F4 002D2D54 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802D70F8 002D2D58 7F C4 F3 78 */ mr r4, r30
+/* 802D70FC 002D2D5C A0 7D 00 14 */ lhz r3, 0x14(r29)
+/* 802D7100 002D2D60 81 85 00 24 */ lwz r12, 0x24(r5)
+/* 802D7104 002D2D64 7D 89 03 A6 */ mtctr r12
+/* 802D7108 002D2D68 4E 80 04 21 */ bctrl
+/* 802D710C 002D2D6C 48 00 00 74 */ b lbl_802D7180
+/* 802D7110 002D2D70 88 1D 00 34 */ lbz r0, 0x34(r29)
+/* 802D7114 002D2D74 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802D7118 002D2D78 41 82 00 14 */ beq lbl_802D712C
+/* 802D711C 002D2D7C 7F C4 F3 78 */ mr r4, r30
+/* 802D7120 002D2D80 38 7D 00 70 */ addi r3, r29, 0x70
+/* 802D7124 002D2D84 4B FE 30 31 */ bl GKI_enqueue
+/* 802D7128 002D2D88 48 00 00 58 */ b lbl_802D7180
+lbl_802D712C:
+/* 802D712C 002D2D8C 7F C3 F3 78 */ mr r3, r30
+/* 802D7130 002D2D90 4B FE 2C 05 */ bl GKI_freebuf
+/* 802D7134 002D2D94 48 00 00 4C */ b lbl_802D7180
+/* 802D7138 002D2D98 7F A3 EB 78 */ mr r3, r29
+/* 802D713C 002D2D9C 48 00 38 15 */ bl l2cu_send_peer_disc_req
+/* 802D7140 002D2DA0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7144 002D2DA4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7148 002D2DA8 28 00 00 03 */ cmplwi r0, 3
+/* 802D714C 002D2DAC 41 80 00 18 */ blt lbl_802D7164
+/* 802D7150 002D2DB0 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D7154 002D2DB4 A0 BD 00 14 */ lhz r5, 0x14(r29)
+/* 802D7158 002D2DB8 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D715C 002D2DBC 38 9F 00 40 */ addi r4, r31, 0x40
+/* 802D7160 002D2DC0 4B FE 5D C9 */ bl LogMsg_1
+lbl_802D7164:
+/* 802D7164 002D2DC4 7F A3 EB 78 */ mr r3, r29
+/* 802D7168 002D2DC8 48 00 3E 39 */ bl l2cu_release_ccb
+/* 802D716C 002D2DCC 7F 8C E3 78 */ mr r12, r28
+/* 802D7170 002D2DD0 7F 63 DB 78 */ mr r3, r27
+/* 802D7174 002D2DD4 38 80 00 00 */ li r4, 0
+/* 802D7178 002D2DD8 7D 89 03 A6 */ mtctr r12
+/* 802D717C 002D2DDC 4E 80 04 21 */ bctrl
+lbl_802D7180:
+/* 802D7180 002D2DE0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D7184 002D2DE4 4B EE FF ED */ bl _restgpr_26
+/* 802D7188 002D2DE8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D718C 002D2DEC 7C 08 03 A6 */ mtlr r0
+/* 802D7190 002D2DF0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D7194 002D2DF4 4E 80 00 20 */ blr
+
+l2c_csm_open:
+/* 802D7198 002D2DF8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D719C 002D2DFC 7C 08 02 A6 */ mflr r0
+/* 802D71A0 002D2E00 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D71A4 002D2E04 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D71A8 002D2E08 4B EE FF 7D */ bl _savegpr_26
+/* 802D71AC 002D2E0C 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D71B0 002D2E10 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D71B4 002D2E14 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D71B8 002D2E18 3F C0 80 44 */ lis r30, lbl_804433D0@ha
+/* 802D71BC 002D2E1C 83 A7 00 18 */ lwz r29, 0x18(r7)
+/* 802D71C0 002D2E20 7C 7F 1B 78 */ mr r31, r3
+/* 802D71C4 002D2E24 28 00 00 04 */ cmplwi r0, 4
+/* 802D71C8 002D2E28 A3 83 00 14 */ lhz r28, 0x14(r3)
+/* 802D71CC 002D2E2C 7C 9A 23 78 */ mr r26, r4
+/* 802D71D0 002D2E30 7C BB 2B 78 */ mr r27, r5
+/* 802D71D4 002D2E34 3B DE 33 D0 */ addi r30, r30, lbl_804433D0@l
+/* 802D71D8 002D2E38 41 80 00 18 */ blt lbl_802D71F0
+/* 802D71DC 002D2E3C 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D71E0 002D2E40 7F 45 D3 78 */ mr r5, r26
+/* 802D71E4 002D2E44 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D71E8 002D2E48 38 9E 06 28 */ addi r4, r30, 0x628
+/* 802D71EC 002D2E4C 4B FE 5D 3D */ bl LogMsg_1
+lbl_802D71F0:
+/* 802D71F0 002D2E50 38 1A FF FD */ addi r0, r26, -3
+/* 802D71F4 002D2E54 28 00 00 1A */ cmplwi r0, 0x1a
+/* 802D71F8 002D2E58 41 81 01 E4 */ bgt lbl_802D73DC
+/* 802D71FC 002D2E5C 3C 60 80 44 */ lis r3, lbl_80443A14@ha
+/* 802D7200 002D2E60 54 00 10 3A */ slwi r0, r0, 2
+/* 802D7204 002D2E64 38 63 3A 14 */ addi r3, r3, lbl_80443A14@l
+/* 802D7208 002D2E68 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D720C 002D2E6C 7C 69 03 A6 */ mtctr r3
+/* 802D7210 002D2E70 4E 80 04 20 */ bctr
+/* 802D7214 002D2E74 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7218 002D2E78 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D721C 002D2E7C 28 00 00 03 */ cmplwi r0, 3
+/* 802D7220 002D2E80 41 80 00 18 */ blt lbl_802D7238
+/* 802D7224 002D2E84 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D7228 002D2E88 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802D722C 002D2E8C 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D7230 002D2E90 38 9E 00 40 */ addi r4, r30, 0x40
+/* 802D7234 002D2E94 4B FE 5C F5 */ bl LogMsg_1
+lbl_802D7238:
+/* 802D7238 002D2E98 7F E3 FB 78 */ mr r3, r31
+/* 802D723C 002D2E9C 48 00 3D 65 */ bl l2cu_release_ccb
+/* 802D7240 002D2EA0 7F AC EB 78 */ mr r12, r29
+/* 802D7244 002D2EA4 7F 83 E3 78 */ mr r3, r28
+/* 802D7248 002D2EA8 38 80 00 00 */ li r4, 0
+/* 802D724C 002D2EAC 7D 89 03 A6 */ mtctr r12
+/* 802D7250 002D2EB0 4E 80 04 21 */ bctrl
+/* 802D7254 002D2EB4 48 00 01 88 */ b lbl_802D73DC
+/* 802D7258 002D2EB8 80 7F 00 30 */ lwz r3, 0x30(r31)
+/* 802D725C 002D2EBC 81 83 00 20 */ lwz r12, 0x20(r3)
+/* 802D7260 002D2EC0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802D7264 002D2EC4 41 82 01 78 */ beq lbl_802D73DC
+/* 802D7268 002D2EC8 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 802D726C 002D2ECC 38 63 00 2A */ addi r3, r3, 0x2a
+/* 802D7270 002D2ED0 7D 89 03 A6 */ mtctr r12
+/* 802D7274 002D2ED4 4E 80 04 21 */ bctrl
+/* 802D7278 002D2ED8 48 00 01 64 */ b lbl_802D73DC
+/* 802D727C 002D2EDC 83 9F 00 04 */ lwz r28, 4(r31)
+/* 802D7280 002D2EE0 38 60 00 05 */ li r3, 5
+/* 802D7284 002D2EE4 8B BF 00 34 */ lbz r29, 0x34(r31)
+/* 802D7288 002D2EE8 38 00 00 00 */ li r0, 0
+/* 802D728C 002D2EEC 90 7F 00 04 */ stw r3, 4(r31)
+/* 802D7290 002D2EF0 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D7294 002D2EF4 38 80 00 03 */ li r4, 3
+/* 802D7298 002D2EF8 38 A0 00 1E */ li r5, 0x1e
+/* 802D729C 002D2EFC 98 1F 00 34 */ stb r0, 0x34(r31)
+/* 802D72A0 002D2F00 4B FE 62 3D */ bl btu_start_timer
+/* 802D72A4 002D2F04 7F E3 FB 78 */ mr r3, r31
+/* 802D72A8 002D2F08 7F 64 DB 78 */ mr r4, r27
+/* 802D72AC 002D2F0C 48 00 40 09 */ bl l2cu_process_peer_cfg_req
+/* 802D72B0 002D2F10 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D72B4 002D2F14 41 82 00 20 */ beq lbl_802D72D4
+/* 802D72B8 002D2F18 80 BF 00 30 */ lwz r5, 0x30(r31)
+/* 802D72BC 002D2F1C 7F 64 DB 78 */ mr r4, r27
+/* 802D72C0 002D2F20 A0 7F 00 14 */ lhz r3, 0x14(r31)
+/* 802D72C4 002D2F24 81 85 00 10 */ lwz r12, 0x10(r5)
+/* 802D72C8 002D2F28 7D 89 03 A6 */ mtctr r12
+/* 802D72CC 002D2F2C 4E 80 04 21 */ bctrl
+/* 802D72D0 002D2F30 48 00 01 0C */ b lbl_802D73DC
+lbl_802D72D4:
+/* 802D72D4 002D2F34 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D72D8 002D2F38 4B FE 62 75 */ bl btu_stop_timer
+/* 802D72DC 002D2F3C 93 9F 00 04 */ stw r28, 4(r31)
+/* 802D72E0 002D2F40 7F E3 FB 78 */ mr r3, r31
+/* 802D72E4 002D2F44 7F 64 DB 78 */ mr r4, r27
+/* 802D72E8 002D2F48 9B BF 00 34 */ stb r29, 0x34(r31)
+/* 802D72EC 002D2F4C 48 00 31 B9 */ bl l2cu_send_peer_config_rsp
+/* 802D72F0 002D2F50 48 00 00 EC */ b lbl_802D73DC
+/* 802D72F4 002D2F54 38 00 00 08 */ li r0, 8
+/* 802D72F8 002D2F58 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D72FC 002D2F5C 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D7300 002D2F60 38 80 00 03 */ li r4, 3
+/* 802D7304 002D2F64 38 A0 00 1E */ li r5, 0x1e
+/* 802D7308 002D2F68 4B FE 61 D5 */ bl btu_start_timer
+/* 802D730C 002D2F6C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7310 002D2F70 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7314 002D2F74 28 00 00 03 */ cmplwi r0, 3
+/* 802D7318 002D2F78 41 80 00 18 */ blt lbl_802D7330
+/* 802D731C 002D2F7C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D7320 002D2F80 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802D7324 002D2F84 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D7328 002D2F88 38 9E 05 4C */ addi r4, r30, 0x54c
+/* 802D732C 002D2F8C 4B FE 5B FD */ bl LogMsg_1
+lbl_802D7330:
+/* 802D7330 002D2F90 80 BF 00 30 */ lwz r5, 0x30(r31)
+/* 802D7334 002D2F94 38 80 00 01 */ li r4, 1
+/* 802D7338 002D2F98 A0 7F 00 14 */ lhz r3, 0x14(r31)
+/* 802D733C 002D2F9C 81 85 00 18 */ lwz r12, 0x18(r5)
+/* 802D7340 002D2FA0 7D 89 03 A6 */ mtctr r12
+/* 802D7344 002D2FA4 4E 80 04 21 */ bctrl
+/* 802D7348 002D2FA8 48 00 00 94 */ b lbl_802D73DC
+/* 802D734C 002D2FAC 80 BF 00 30 */ lwz r5, 0x30(r31)
+/* 802D7350 002D2FB0 7F 64 DB 78 */ mr r4, r27
+/* 802D7354 002D2FB4 A0 7F 00 14 */ lhz r3, 0x14(r31)
+/* 802D7358 002D2FB8 81 85 00 24 */ lwz r12, 0x24(r5)
+/* 802D735C 002D2FBC 7D 89 03 A6 */ mtctr r12
+/* 802D7360 002D2FC0 4E 80 04 21 */ bctrl
+/* 802D7364 002D2FC4 48 00 00 78 */ b lbl_802D73DC
+/* 802D7368 002D2FC8 7F E3 FB 78 */ mr r3, r31
+/* 802D736C 002D2FCC 48 00 35 E5 */ bl l2cu_send_peer_disc_req
+/* 802D7370 002D2FD0 38 00 00 07 */ li r0, 7
+/* 802D7374 002D2FD4 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D7378 002D2FD8 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D737C 002D2FDC 38 80 00 03 */ li r4, 3
+/* 802D7380 002D2FE0 38 A0 00 1E */ li r5, 0x1e
+/* 802D7384 002D2FE4 4B FE 61 59 */ bl btu_start_timer
+/* 802D7388 002D2FE8 48 00 00 54 */ b lbl_802D73DC
+/* 802D738C 002D2FEC A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802D7390 002D2FF0 7F E3 FB 78 */ mr r3, r31
+/* 802D7394 002D2FF4 7F 64 DB 78 */ mr r4, r27
+/* 802D7398 002D2FF8 B0 1B 00 00 */ sth r0, 0(r27)
+/* 802D739C 002D2FFC 48 00 03 99 */ bl forward_peer_data
+/* 802D73A0 002D3000 48 00 00 3C */ b lbl_802D73DC
+/* 802D73A4 002D3004 7F E3 FB 78 */ mr r3, r31
+/* 802D73A8 002D3008 7F 64 DB 78 */ mr r4, r27
+/* 802D73AC 002D300C 48 00 40 91 */ bl l2cu_process_our_cfg_req
+/* 802D73B0 002D3010 7F E3 FB 78 */ mr r3, r31
+/* 802D73B4 002D3014 7F 64 DB 78 */ mr r4, r27
+/* 802D73B8 002D3018 48 00 2D F5 */ bl l2cu_send_peer_config_req
+/* 802D73BC 002D301C 38 60 00 05 */ li r3, 5
+/* 802D73C0 002D3020 38 00 00 00 */ li r0, 0
+/* 802D73C4 002D3024 90 7F 00 04 */ stw r3, 4(r31)
+/* 802D73C8 002D3028 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802D73CC 002D302C 38 80 00 03 */ li r4, 3
+/* 802D73D0 002D3030 38 A0 00 1E */ li r5, 0x1e
+/* 802D73D4 002D3034 98 1F 00 34 */ stb r0, 0x34(r31)
+/* 802D73D8 002D3038 4B FE 61 05 */ bl btu_start_timer
+lbl_802D73DC:
+/* 802D73DC 002D303C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D73E0 002D3040 4B EE FD 91 */ bl _restgpr_26
+/* 802D73E4 002D3044 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D73E8 002D3048 7C 08 03 A6 */ mtlr r0
+/* 802D73EC 002D304C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D73F0 002D3050 4E 80 00 20 */ blr
+
+l2c_csm_w4_l2cap_disconnect_rsp:
+/* 802D73F4 002D3054 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D73F8 002D3058 7C 08 02 A6 */ mflr r0
+/* 802D73FC 002D305C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D7400 002D3060 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D7404 002D3064 4B EE FD 1D */ bl _savegpr_25
+/* 802D7408 002D3068 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D740C 002D306C 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D7410 002D3070 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D7414 002D3074 3F E0 80 44 */ lis r31, lbl_804433D0@ha
+/* 802D7418 002D3078 83 C7 00 1C */ lwz r30, 0x1c(r7)
+/* 802D741C 002D307C 7C 79 1B 78 */ mr r25, r3
+/* 802D7420 002D3080 28 00 00 04 */ cmplwi r0, 4
+/* 802D7424 002D3084 83 87 00 18 */ lwz r28, 0x18(r7)
+/* 802D7428 002D3088 A3 A3 00 14 */ lhz r29, 0x14(r3)
+/* 802D742C 002D308C 7C 9A 23 78 */ mr r26, r4
+/* 802D7430 002D3090 7C BB 2B 78 */ mr r27, r5
+/* 802D7434 002D3094 3B FF 33 D0 */ addi r31, r31, lbl_804433D0@l
+/* 802D7438 002D3098 41 80 00 18 */ blt lbl_802D7450
+/* 802D743C 002D309C 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D7440 002D30A0 7F 45 D3 78 */ mr r5, r26
+/* 802D7444 002D30A4 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D7448 002D30A8 38 9F 06 B0 */ addi r4, r31, 0x6b0
+/* 802D744C 002D30AC 4B FE 5A DD */ bl LogMsg_1
+lbl_802D7450:
+/* 802D7450 002D30B0 38 1A FF FD */ addi r0, r26, -3
+/* 802D7454 002D30B4 28 00 00 1B */ cmplwi r0, 0x1b
+/* 802D7458 002D30B8 41 81 01 68 */ bgt lbl_802D75C0
+/* 802D745C 002D30BC 3C 60 80 44 */ lis r3, lbl_80443AD8@ha
+/* 802D7460 002D30C0 54 00 10 3A */ slwi r0, r0, 2
+/* 802D7464 002D30C4 38 63 3A D8 */ addi r3, r3, lbl_80443AD8@l
+/* 802D7468 002D30C8 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D746C 002D30CC 7C 69 03 A6 */ mtctr r3
+/* 802D7470 002D30D0 4E 80 04 20 */ bctr
+/* 802D7474 002D30D4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7478 002D30D8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D747C 002D30DC 28 00 00 03 */ cmplwi r0, 3
+/* 802D7480 002D30E0 41 80 00 18 */ blt lbl_802D7498
+/* 802D7484 002D30E4 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D7488 002D30E8 A0 B9 00 14 */ lhz r5, 0x14(r25)
+/* 802D748C 002D30EC 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D7490 002D30F0 38 9F 00 40 */ addi r4, r31, 0x40
+/* 802D7494 002D30F4 4B FE 5A 95 */ bl LogMsg_1
+lbl_802D7498:
+/* 802D7498 002D30F8 7F 23 CB 78 */ mr r3, r25
+/* 802D749C 002D30FC 48 00 3B 05 */ bl l2cu_release_ccb
+/* 802D74A0 002D3100 7F 8C E3 78 */ mr r12, r28
+/* 802D74A4 002D3104 7F A3 EB 78 */ mr r3, r29
+/* 802D74A8 002D3108 38 80 00 00 */ li r4, 0
+/* 802D74AC 002D310C 7D 89 03 A6 */ mtctr r12
+/* 802D74B0 002D3110 4E 80 04 21 */ bctrl
+/* 802D74B4 002D3114 48 00 01 0C */ b lbl_802D75C0
+/* 802D74B8 002D3118 7F 23 CB 78 */ mr r3, r25
+/* 802D74BC 002D311C 48 00 3A E5 */ bl l2cu_release_ccb
+/* 802D74C0 002D3120 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D74C4 002D3124 41 82 00 FC */ beq lbl_802D75C0
+/* 802D74C8 002D3128 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D74CC 002D312C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D74D0 002D3130 28 00 00 03 */ cmplwi r0, 3
+/* 802D74D4 002D3134 41 80 00 18 */ blt lbl_802D74EC
+/* 802D74D8 002D3138 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D74DC 002D313C 7F A5 EB 78 */ mr r5, r29
+/* 802D74E0 002D3140 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D74E4 002D3144 38 9F 06 D8 */ addi r4, r31, 0x6d8
+/* 802D74E8 002D3148 4B FE 5A 41 */ bl LogMsg_1
+lbl_802D74EC:
+/* 802D74EC 002D314C 7F CC F3 78 */ mr r12, r30
+/* 802D74F0 002D3150 7F A3 EB 78 */ mr r3, r29
+/* 802D74F4 002D3154 38 80 00 00 */ li r4, 0
+/* 802D74F8 002D3158 7D 89 03 A6 */ mtctr r12
+/* 802D74FC 002D315C 4E 80 04 21 */ bctrl
+/* 802D7500 002D3160 48 00 00 C0 */ b lbl_802D75C0
+/* 802D7504 002D3164 80 79 00 10 */ lwz r3, 0x10(r25)
+/* 802D7508 002D3168 88 99 00 36 */ lbz r4, 0x36(r25)
+/* 802D750C 002D316C A0 B9 00 14 */ lhz r5, 0x14(r25)
+/* 802D7510 002D3170 A0 D9 00 16 */ lhz r6, 0x16(r25)
+/* 802D7514 002D3174 48 00 35 11 */ bl l2cu_send_peer_disc_rsp
+/* 802D7518 002D3178 7F 23 CB 78 */ mr r3, r25
+/* 802D751C 002D317C 48 00 3A 85 */ bl l2cu_release_ccb
+/* 802D7520 002D3180 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D7524 002D3184 41 82 00 9C */ beq lbl_802D75C0
+/* 802D7528 002D3188 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D752C 002D318C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7530 002D3190 28 00 00 03 */ cmplwi r0, 3
+/* 802D7534 002D3194 41 80 00 18 */ blt lbl_802D754C
+/* 802D7538 002D3198 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D753C 002D319C 7F A5 EB 78 */ mr r5, r29
+/* 802D7540 002D31A0 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D7544 002D31A4 38 9F 06 D8 */ addi r4, r31, 0x6d8
+/* 802D7548 002D31A8 4B FE 59 E1 */ bl LogMsg_1
+lbl_802D754C:
+/* 802D754C 002D31AC 7F CC F3 78 */ mr r12, r30
+/* 802D7550 002D31B0 7F A3 EB 78 */ mr r3, r29
+/* 802D7554 002D31B4 38 80 00 00 */ li r4, 0
+/* 802D7558 002D31B8 7D 89 03 A6 */ mtctr r12
+/* 802D755C 002D31BC 4E 80 04 21 */ bctrl
+/* 802D7560 002D31C0 48 00 00 60 */ b lbl_802D75C0
+/* 802D7564 002D31C4 7F 23 CB 78 */ mr r3, r25
+/* 802D7568 002D31C8 48 00 3A 39 */ bl l2cu_release_ccb
+/* 802D756C 002D31CC 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D7570 002D31D0 41 82 00 50 */ beq lbl_802D75C0
+/* 802D7574 002D31D4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7578 002D31D8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D757C 002D31DC 28 00 00 03 */ cmplwi r0, 3
+/* 802D7580 002D31E0 41 80 00 18 */ blt lbl_802D7598
+/* 802D7584 002D31E4 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D7588 002D31E8 7F A5 EB 78 */ mr r5, r29
+/* 802D758C 002D31EC 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D7590 002D31F0 38 9F 06 D8 */ addi r4, r31, 0x6d8
+/* 802D7594 002D31F4 4B FE 59 95 */ bl LogMsg_1
+lbl_802D7598:
+/* 802D7598 002D31F8 3C 60 00 01 */ lis r3, 0x0000EEEE@ha
+/* 802D759C 002D31FC 7F CC F3 78 */ mr r12, r30
+/* 802D75A0 002D3200 38 03 EE EE */ addi r0, r3, 0x0000EEEE@l
+/* 802D75A4 002D3204 7F A3 EB 78 */ mr r3, r29
+/* 802D75A8 002D3208 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802D75AC 002D320C 7D 89 03 A6 */ mtctr r12
+/* 802D75B0 002D3210 4E 80 04 21 */ bctrl
+/* 802D75B4 002D3214 48 00 00 0C */ b lbl_802D75C0
+/* 802D75B8 002D3218 7F 63 DB 78 */ mr r3, r27
+/* 802D75BC 002D321C 4B FE 27 79 */ bl GKI_freebuf
+lbl_802D75C0:
+/* 802D75C0 002D3220 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D75C4 002D3224 4B EE FB A9 */ bl _restgpr_25
+/* 802D75C8 002D3228 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D75CC 002D322C 7C 08 03 A6 */ mtlr r0
+/* 802D75D0 002D3230 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D75D4 002D3234 4E 80 00 20 */ blr
+
+l2c_csm_w4_l2ca_disconnect_rsp:
+/* 802D75D8 002D3238 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D75DC 002D323C 7C 08 02 A6 */ mflr r0
+/* 802D75E0 002D3240 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D75E4 002D3244 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D75E8 002D3248 4B EE FB 41 */ bl _savegpr_27
+/* 802D75EC 002D324C 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D75F0 002D3250 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 802D75F4 002D3254 88 06 BC 40 */ lbz r0, lbl_8056BC40@l(r6)
+/* 802D75F8 002D3258 7C 7B 1B 78 */ mr r27, r3
+/* 802D75FC 002D325C 83 E7 00 18 */ lwz r31, 0x18(r7)
+/* 802D7600 002D3260 7C 9C 23 78 */ mr r28, r4
+/* 802D7604 002D3264 28 00 00 04 */ cmplwi r0, 4
+/* 802D7608 002D3268 A3 C3 00 14 */ lhz r30, 0x14(r3)
+/* 802D760C 002D326C 7C BD 2B 78 */ mr r29, r5
+/* 802D7610 002D3270 41 80 00 1C */ blt lbl_802D762C
+/* 802D7614 002D3274 3C 60 00 08 */ lis r3, 0x00080003@ha
+/* 802D7618 002D3278 3C 80 80 44 */ lis r4, lbl_80443B48@ha
+/* 802D761C 002D327C 7F 85 E3 78 */ mr r5, r28
+/* 802D7620 002D3280 38 63 00 03 */ addi r3, r3, 0x00080003@l
+/* 802D7624 002D3284 38 84 3B 48 */ addi r4, r4, lbl_80443B48@l
+/* 802D7628 002D3288 4B FE 59 01 */ bl LogMsg_1
+lbl_802D762C:
+/* 802D762C 002D328C 38 1C FF FD */ addi r0, r28, -3
+/* 802D7630 002D3290 28 00 00 1B */ cmplwi r0, 0x1b
+/* 802D7634 002D3294 41 81 00 E8 */ bgt lbl_802D771C
+/* 802D7638 002D3298 3C 60 80 44 */ lis r3, lbl_80443B70@ha
+/* 802D763C 002D329C 54 00 10 3A */ slwi r0, r0, 2
+/* 802D7640 002D32A0 38 63 3B 70 */ addi r3, r3, lbl_80443B70@l
+/* 802D7644 002D32A4 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D7648 002D32A8 7C 69 03 A6 */ mtctr r3
+/* 802D764C 002D32AC 4E 80 04 20 */ bctr
+/* 802D7650 002D32B0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7654 002D32B4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7658 002D32B8 28 00 00 03 */ cmplwi r0, 3
+/* 802D765C 002D32BC 41 80 00 1C */ blt lbl_802D7678
+/* 802D7660 002D32C0 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D7664 002D32C4 3C 80 80 44 */ lis r4, lbl_80443410@ha
+/* 802D7668 002D32C8 A0 BB 00 14 */ lhz r5, 0x14(r27)
+/* 802D766C 002D32CC 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D7670 002D32D0 38 84 34 10 */ addi r4, r4, lbl_80443410@l
+/* 802D7674 002D32D4 4B FE 58 B5 */ bl LogMsg_1
+lbl_802D7678:
+/* 802D7678 002D32D8 7F 63 DB 78 */ mr r3, r27
+/* 802D767C 002D32DC 48 00 39 25 */ bl l2cu_release_ccb
+/* 802D7680 002D32E0 7F EC FB 78 */ mr r12, r31
+/* 802D7684 002D32E4 7F C3 F3 78 */ mr r3, r30
+/* 802D7688 002D32E8 38 80 00 00 */ li r4, 0
+/* 802D768C 002D32EC 7D 89 03 A6 */ mtctr r12
+/* 802D7690 002D32F0 4E 80 04 21 */ bctrl
+/* 802D7694 002D32F4 48 00 00 88 */ b lbl_802D771C
+/* 802D7698 002D32F8 80 7B 00 10 */ lwz r3, 0x10(r27)
+/* 802D769C 002D32FC 88 9B 00 36 */ lbz r4, 0x36(r27)
+/* 802D76A0 002D3300 A0 BB 00 14 */ lhz r5, 0x14(r27)
+/* 802D76A4 002D3304 A0 DB 00 16 */ lhz r6, 0x16(r27)
+/* 802D76A8 002D3308 48 00 33 7D */ bl l2cu_send_peer_disc_rsp
+/* 802D76AC 002D330C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D76B0 002D3310 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D76B4 002D3314 28 00 00 03 */ cmplwi r0, 3
+/* 802D76B8 002D3318 41 80 00 1C */ blt lbl_802D76D4
+/* 802D76BC 002D331C 3C 60 00 08 */ lis r3, 0x00080002@ha
+/* 802D76C0 002D3320 3C 80 80 44 */ lis r4, lbl_80443410@ha
+/* 802D76C4 002D3324 A0 BB 00 14 */ lhz r5, 0x14(r27)
+/* 802D76C8 002D3328 38 63 00 02 */ addi r3, r3, 0x00080002@l
+/* 802D76CC 002D332C 38 84 34 10 */ addi r4, r4, lbl_80443410@l
+/* 802D76D0 002D3330 4B FE 58 59 */ bl LogMsg_1
+lbl_802D76D4:
+/* 802D76D4 002D3334 7F 63 DB 78 */ mr r3, r27
+/* 802D76D8 002D3338 48 00 38 C9 */ bl l2cu_release_ccb
+/* 802D76DC 002D333C 7F EC FB 78 */ mr r12, r31
+/* 802D76E0 002D3340 7F C3 F3 78 */ mr r3, r30
+/* 802D76E4 002D3344 38 80 00 00 */ li r4, 0
+/* 802D76E8 002D3348 7D 89 03 A6 */ mtctr r12
+/* 802D76EC 002D334C 4E 80 04 21 */ bctrl
+/* 802D76F0 002D3350 48 00 00 2C */ b lbl_802D771C
+/* 802D76F4 002D3354 80 7B 00 10 */ lwz r3, 0x10(r27)
+/* 802D76F8 002D3358 88 9B 00 36 */ lbz r4, 0x36(r27)
+/* 802D76FC 002D335C A0 BB 00 14 */ lhz r5, 0x14(r27)
+/* 802D7700 002D3360 A0 DB 00 16 */ lhz r6, 0x16(r27)
+/* 802D7704 002D3364 48 00 33 21 */ bl l2cu_send_peer_disc_rsp
+/* 802D7708 002D3368 7F 63 DB 78 */ mr r3, r27
+/* 802D770C 002D336C 48 00 38 95 */ bl l2cu_release_ccb
+/* 802D7710 002D3370 48 00 00 0C */ b lbl_802D771C
+/* 802D7714 002D3374 7F A3 EB 78 */ mr r3, r29
+/* 802D7718 002D3378 4B FE 26 1D */ bl GKI_freebuf
+lbl_802D771C:
+/* 802D771C 002D337C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D7720 002D3380 4B EE FA 55 */ bl _restgpr_27
+/* 802D7724 002D3384 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D7728 002D3388 7C 08 03 A6 */ mtlr r0
+/* 802D772C 002D338C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D7730 002D3390 4E 80 00 20 */ blr
+
+.global forward_peer_data
+forward_peer_data:
+/* 802D7734 002D3394 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D7738 002D3398 7C 08 02 A6 */ mflr r0
+/* 802D773C 002D339C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D7740 002D33A0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D7744 002D33A4 4B EE F9 E5 */ bl _savegpr_27
+/* 802D7748 002D33A8 2C 04 00 00 */ cmpwi r4, 0
+/* 802D774C 002D33AC 7C 7B 1B 78 */ mr r27, r3
+/* 802D7750 002D33B0 7C 9C 23 78 */ mr r28, r4
+/* 802D7754 002D33B4 41 82 00 28 */ beq lbl_802D777C
+/* 802D7758 002D33B8 A0 03 00 78 */ lhz r0, 0x78(r3)
+/* 802D775C 002D33BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7760 002D33C0 41 82 00 1C */ beq lbl_802D777C
+/* 802D7764 002D33C4 38 63 00 70 */ addi r3, r3, 0x70
+/* 802D7768 002D33C8 4B FE 29 ED */ bl GKI_enqueue
+/* 802D776C 002D33CC 38 7B 00 70 */ addi r3, r27, 0x70
+/* 802D7770 002D33D0 4B FE 2C 61 */ bl GKI_dequeue
+/* 802D7774 002D33D4 7C 7C 1B 78 */ mr r28, r3
+/* 802D7778 002D33D8 48 00 00 18 */ b lbl_802D7790
+lbl_802D777C:
+/* 802D777C 002D33DC 2C 04 00 00 */ cmpwi r4, 0
+/* 802D7780 002D33E0 40 82 00 10 */ bne lbl_802D7790
+/* 802D7784 002D33E4 38 63 00 70 */ addi r3, r3, 0x70
+/* 802D7788 002D33E8 4B FE 2C 49 */ bl GKI_dequeue
+/* 802D778C 002D33EC 7C 7C 1B 78 */ mr r28, r3
+lbl_802D7790:
+/* 802D7790 002D33F0 3F E0 80 57 */ lis r31, lbl_80568650@ha
+/* 802D7794 002D33F4 3F C0 80 44 */ lis r30, 0x8044
+/* 802D7798 002D33F8 3B FF 86 50 */ addi r31, r31, lbl_80568650@l
+/* 802D779C 002D33FC 3F A0 80 57 */ lis r29, 0x8057
+/* 802D77A0 002D3400 48 00 01 18 */ b lbl_802D78B8
+lbl_802D77A4:
+/* 802D77A4 002D3404 A0 BC 00 04 */ lhz r5, 4(r28)
+/* 802D77A8 002D3408 28 05 00 09 */ cmplwi r5, 9
+/* 802D77AC 002D340C 40 80 00 34 */ bge lbl_802D77E0
+/* 802D77B0 002D3410 88 1D BC 40 */ lbz r0, -0x43c0(r29)
+/* 802D77B4 002D3414 28 00 00 01 */ cmplwi r0, 1
+/* 802D77B8 002D3418 41 80 00 10 */ blt lbl_802D77C8
+/* 802D77BC 002D341C 38 9E 3B E0 */ addi r4, r30, 0x3be0
+/* 802D77C0 002D3420 3C 60 00 08 */ lis r3, 8
+/* 802D77C4 002D3424 4B FE 57 65 */ bl LogMsg_1
+lbl_802D77C8:
+/* 802D77C8 002D3428 7F 83 E3 78 */ mr r3, r28
+/* 802D77CC 002D342C 4B FE 25 69 */ bl GKI_freebuf
+/* 802D77D0 002D3430 38 7B 00 70 */ addi r3, r27, 0x70
+/* 802D77D4 002D3434 4B FE 2B FD */ bl GKI_dequeue
+/* 802D77D8 002D3438 7C 7C 1B 78 */ mr r28, r3
+/* 802D77DC 002D343C 48 00 00 DC */ b lbl_802D78B8
+lbl_802D77E0:
+/* 802D77E0 002D3440 38 05 FF F8 */ addi r0, r5, -8
+/* 802D77E4 002D3444 B0 1C 00 04 */ sth r0, 4(r28)
+/* 802D77E8 002D3448 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802D77EC 002D344C 7C BC 02 14 */ add r5, r28, r0
+/* 802D77F0 002D3450 A0 9C 00 02 */ lhz r4, 2(r28)
+/* 802D77F4 002D3454 38 65 00 0A */ addi r3, r5, 0xa
+/* 802D77F8 002D3458 38 04 00 04 */ addi r0, r4, 4
+/* 802D77FC 002D345C B0 1C 00 02 */ sth r0, 2(r28)
+/* 802D7800 002D3460 80 9B 00 10 */ lwz r4, 0x10(r27)
+/* 802D7804 002D3464 A0 04 00 28 */ lhz r0, 0x28(r4)
+/* 802D7808 002D3468 60 00 20 00 */ ori r0, r0, 0x2000
+/* 802D780C 002D346C 98 05 00 08 */ stb r0, 8(r5)
+/* 802D7810 002D3470 80 9B 00 10 */ lwz r4, 0x10(r27)
+/* 802D7814 002D3474 A0 04 00 28 */ lhz r0, 0x28(r4)
+/* 802D7818 002D3478 60 00 20 00 */ ori r0, r0, 0x2000
+/* 802D781C 002D347C 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D7820 002D3480 98 05 00 09 */ stb r0, 9(r5)
+/* 802D7824 002D3484 A0 1F 00 7C */ lhz r0, 0x7c(r31)
+/* 802D7828 002D3488 A0 9C 00 02 */ lhz r4, 2(r28)
+/* 802D782C 002D348C 7C 04 00 40 */ cmplw r4, r0
+/* 802D7830 002D3490 40 81 00 1C */ ble lbl_802D784C
+/* 802D7834 002D3494 98 03 00 00 */ stb r0, 0(r3)
+/* 802D7838 002D3498 A0 1F 00 7C */ lhz r0, 0x7c(r31)
+/* 802D783C 002D349C 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D7840 002D34A0 98 03 00 01 */ stb r0, 1(r3)
+/* 802D7844 002D34A4 38 63 00 02 */ addi r3, r3, 2
+/* 802D7848 002D34A8 48 00 00 18 */ b lbl_802D7860
+lbl_802D784C:
+/* 802D784C 002D34AC 98 83 00 00 */ stb r4, 0(r3)
+/* 802D7850 002D34B0 A0 1C 00 02 */ lhz r0, 2(r28)
+/* 802D7854 002D34B4 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D7858 002D34B8 98 03 00 01 */ stb r0, 1(r3)
+/* 802D785C 002D34BC 38 63 00 02 */ addi r3, r3, 2
+lbl_802D7860:
+/* 802D7860 002D34C0 A0 DC 00 02 */ lhz r6, 2(r28)
+/* 802D7864 002D34C4 7F 85 E3 78 */ mr r5, r28
+/* 802D7868 002D34C8 38 80 00 00 */ li r4, 0
+/* 802D786C 002D34CC 38 06 FF FC */ addi r0, r6, -4
+/* 802D7870 002D34D0 98 03 00 00 */ stb r0, 0(r3)
+/* 802D7874 002D34D4 A0 DC 00 02 */ lhz r6, 2(r28)
+/* 802D7878 002D34D8 38 06 FF FC */ addi r0, r6, -4
+/* 802D787C 002D34DC 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D7880 002D34E0 98 03 00 01 */ stb r0, 1(r3)
+/* 802D7884 002D34E4 A0 1B 00 16 */ lhz r0, 0x16(r27)
+/* 802D7888 002D34E8 98 03 00 02 */ stb r0, 2(r3)
+/* 802D788C 002D34EC A0 1B 00 16 */ lhz r0, 0x16(r27)
+/* 802D7890 002D34F0 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D7894 002D34F4 98 03 00 03 */ stb r0, 3(r3)
+/* 802D7898 002D34F8 A0 7C 00 02 */ lhz r3, 2(r28)
+/* 802D789C 002D34FC 38 03 00 04 */ addi r0, r3, 4
+/* 802D78A0 002D3500 B0 1C 00 02 */ sth r0, 2(r28)
+/* 802D78A4 002D3504 80 7B 00 10 */ lwz r3, 0x10(r27)
+/* 802D78A8 002D3508 48 00 08 19 */ bl l2c_link_check_send_pkts
+/* 802D78AC 002D350C 38 7B 00 70 */ addi r3, r27, 0x70
+/* 802D78B0 002D3510 4B FE 2B 21 */ bl GKI_dequeue
+/* 802D78B4 002D3514 7C 7C 1B 78 */ mr r28, r3
+lbl_802D78B8:
+/* 802D78B8 002D3518 2C 1C 00 00 */ cmpwi r28, 0
+/* 802D78BC 002D351C 40 82 FE E8 */ bne lbl_802D77A4
+/* 802D78C0 002D3520 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D78C4 002D3524 4B EE F8 B1 */ bl _restgpr_27
+/* 802D78C8 002D3528 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D78CC 002D352C 7C 08 03 A6 */ mtlr r0
+/* 802D78D0 002D3530 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D78D4 002D3534 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/l2c_link.s b/asm/SDK/BTE/l2c_link.s new file mode 100644 index 0000000..58c4281 --- /dev/null +++ b/asm/SDK/BTE/l2c_link.s @@ -0,0 +1,1290 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global l2c_link_hci_conn_req
+l2c_link_hci_conn_req:
+/* 802D78D8 002D3538 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D78DC 002D353C 7C 08 02 A6 */ mflr r0
+/* 802D78E0 002D3540 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D78E4 002D3544 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D78E8 002D3548 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D78EC 002D354C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D78F0 002D3550 7C 7D 1B 78 */ mr r29, r3
+/* 802D78F4 002D3554 38 60 00 02 */ li r3, 2
+/* 802D78F8 002D3558 4B FE 23 55 */ bl GKI_getpoolbuf
+/* 802D78FC 002D355C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7900 002D3560 7C 7E 1B 78 */ mr r30, r3
+/* 802D7904 002D3564 41 82 01 0C */ beq lbl_802D7A10
+/* 802D7908 002D3568 7F A3 EB 78 */ mr r3, r29
+/* 802D790C 002D356C 48 00 23 5D */ bl l2cu_find_lcb_by_bd_addr
+/* 802D7910 002D3570 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7914 002D3574 7C 7F 1B 78 */ mr r31, r3
+/* 802D7918 002D3578 40 82 00 84 */ bne lbl_802D799C
+/* 802D791C 002D357C 7F A3 EB 78 */ mr r3, r29
+/* 802D7920 002D3580 48 00 21 75 */ bl l2cu_allocate_lcb
+/* 802D7924 002D3584 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7928 002D3588 7C 7F 1B 78 */ mr r31, r3
+/* 802D792C 002D358C 40 82 00 38 */ bne lbl_802D7964
+/* 802D7930 002D3590 7F C3 F3 78 */ mr r3, r30
+/* 802D7934 002D3594 7F A4 EB 78 */ mr r4, r29
+/* 802D7938 002D3598 38 A0 00 14 */ li r5, 0x14
+/* 802D793C 002D359C 4B FF 88 C9 */ bl btsnd_hcic_reject_conn
+/* 802D7940 002D35A0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7944 002D35A4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7948 002D35A8 28 00 00 01 */ cmplwi r0, 1
+/* 802D794C 002D35AC 41 80 00 C4 */ blt lbl_802D7A10
+/* 802D7950 002D35B0 3C 80 80 44 */ lis r4, lbl_80443C08@ha
+/* 802D7954 002D35B4 3C 60 00 08 */ lis r3, 8
+/* 802D7958 002D35B8 38 84 3C 08 */ addi r4, r4, lbl_80443C08@l
+/* 802D795C 002D35BC 4B FE 55 B5 */ bl LogMsg_0
+/* 802D7960 002D35C0 48 00 00 B0 */ b lbl_802D7A10
+lbl_802D7964:
+/* 802D7964 002D35C4 48 00 24 1D */ bl l2cu_get_conn_role
+/* 802D7968 002D35C8 7C 60 1B 78 */ mr r0, r3
+/* 802D796C 002D35CC 98 7F 00 30 */ stb r3, 0x30(r31)
+/* 802D7970 002D35D0 7F C3 F3 78 */ mr r3, r30
+/* 802D7974 002D35D4 7F A4 EB 78 */ mr r4, r29
+/* 802D7978 002D35D8 54 05 06 3E */ clrlwi r5, r0, 0x18
+/* 802D797C 002D35DC 4B FF 88 29 */ bl btsnd_hcic_accept_conn
+/* 802D7980 002D35E0 38 00 00 03 */ li r0, 3
+/* 802D7984 002D35E4 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802D7988 002D35E8 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D798C 002D35EC 38 80 00 02 */ li r4, 2
+/* 802D7990 002D35F0 38 A0 00 3C */ li r5, 0x3c
+/* 802D7994 002D35F4 4B FE 5B 49 */ bl btu_start_timer
+/* 802D7998 002D35F8 48 00 00 78 */ b lbl_802D7A10
+lbl_802D799C:
+/* 802D799C 002D35FC 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D79A0 002D3600 2C 00 00 03 */ cmpwi r0, 3
+/* 802D79A4 002D3604 41 82 00 0C */ beq lbl_802D79B0
+/* 802D79A8 002D3608 2C 00 00 01 */ cmpwi r0, 1
+/* 802D79AC 002D360C 40 82 00 20 */ bne lbl_802D79CC
+lbl_802D79B0:
+/* 802D79B0 002D3610 88 BF 00 30 */ lbz r5, 0x30(r31)
+/* 802D79B4 002D3614 7F C3 F3 78 */ mr r3, r30
+/* 802D79B8 002D3618 7F A4 EB 78 */ mr r4, r29
+/* 802D79BC 002D361C 4B FF 87 E9 */ bl btsnd_hcic_accept_conn
+/* 802D79C0 002D3620 38 00 00 03 */ li r0, 3
+/* 802D79C4 002D3624 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D79C8 002D3628 48 00 00 48 */ b lbl_802D7A10
+lbl_802D79CC:
+/* 802D79CC 002D362C 2C 00 00 05 */ cmpwi r0, 5
+/* 802D79D0 002D3630 40 82 00 18 */ bne lbl_802D79E8
+/* 802D79D4 002D3634 7F C3 F3 78 */ mr r3, r30
+/* 802D79D8 002D3638 7F A4 EB 78 */ mr r4, r29
+/* 802D79DC 002D363C 38 A0 00 15 */ li r5, 0x15
+/* 802D79E0 002D3640 4B FF 88 25 */ bl btsnd_hcic_reject_conn
+/* 802D79E4 002D3644 48 00 00 2C */ b lbl_802D7A10
+lbl_802D79E8:
+/* 802D79E8 002D3648 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D79EC 002D364C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D79F0 002D3650 28 00 00 01 */ cmplwi r0, 1
+/* 802D79F4 002D3654 41 80 00 14 */ blt lbl_802D7A08
+/* 802D79F8 002D3658 3C 80 80 44 */ lis r4, lbl_80443C28@ha
+/* 802D79FC 002D365C 3C 60 00 08 */ lis r3, 8
+/* 802D7A00 002D3660 38 84 3C 28 */ addi r4, r4, lbl_80443C28@l
+/* 802D7A04 002D3664 4B FE 55 0D */ bl LogMsg_0
+lbl_802D7A08:
+/* 802D7A08 002D3668 7F C3 F3 78 */ mr r3, r30
+/* 802D7A0C 002D366C 4B FE 23 29 */ bl GKI_freebuf
+lbl_802D7A10:
+/* 802D7A10 002D3670 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D7A14 002D3674 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D7A18 002D3678 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D7A1C 002D367C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D7A20 002D3680 7C 08 03 A6 */ mtlr r0
+/* 802D7A24 002D3684 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D7A28 002D3688 4E 80 00 20 */ blr
+
+.global l2c_link_hci_conn_comp
+l2c_link_hci_conn_comp:
+/* 802D7A2C 002D368C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D7A30 002D3690 7C 08 02 A6 */ mflr r0
+/* 802D7A34 002D3694 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D7A38 002D3698 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802D7A3C 002D369C 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802D7A40 002D36A0 7C BE 2B 78 */ mr r30, r5
+/* 802D7A44 002D36A4 38 A0 00 06 */ li r5, 6
+/* 802D7A48 002D36A8 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 802D7A4C 002D36AC 7C 9D 23 78 */ mr r29, r4
+/* 802D7A50 002D36B0 7F C4 F3 78 */ mr r4, r30
+/* 802D7A54 002D36B4 93 81 00 20 */ stw r28, 0x20(r1)
+/* 802D7A58 002D36B8 7C 7C 1B 78 */ mr r28, r3
+/* 802D7A5C 002D36BC 98 61 00 0E */ stb r3, 0xe(r1)
+/* 802D7A60 002D36C0 38 61 00 08 */ addi r3, r1, 8
+/* 802D7A64 002D36C4 4B D2 C5 9D */ bl memcpy
+/* 802D7A68 002D36C8 38 61 00 08 */ addi r3, r1, 8
+/* 802D7A6C 002D36CC 48 00 21 FD */ bl l2cu_find_lcb_by_bd_addr
+/* 802D7A70 002D36D0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7A74 002D36D4 7C 7F 1B 78 */ mr r31, r3
+/* 802D7A78 002D36D8 40 82 00 40 */ bne lbl_802D7AB8
+/* 802D7A7C 002D36DC 7F A3 EB 78 */ mr r3, r29
+/* 802D7A80 002D36E0 4B FF 4A 39 */ bl btm_sec_is_bonding
+/* 802D7A84 002D36E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D7A88 002D36E8 40 82 00 28 */ bne lbl_802D7AB0
+/* 802D7A8C 002D36EC 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7A90 002D36F0 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7A94 002D36F4 28 00 00 02 */ cmplwi r0, 2
+/* 802D7A98 002D36F8 41 80 00 18 */ blt lbl_802D7AB0
+/* 802D7A9C 002D36FC 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D7AA0 002D3700 3C 80 80 44 */ lis r4, lbl_80443C50@ha
+/* 802D7AA4 002D3704 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D7AA8 002D3708 38 84 3C 50 */ addi r4, r4, lbl_80443C50@l
+/* 802D7AAC 002D370C 4B FE 54 65 */ bl LogMsg_0
+lbl_802D7AB0:
+/* 802D7AB0 002D3710 38 60 00 00 */ li r3, 0
+/* 802D7AB4 002D3714 48 00 01 90 */ b lbl_802D7C44
+lbl_802D7AB8:
+/* 802D7AB8 002D3718 80 A3 00 04 */ lwz r5, 4(r3)
+/* 802D7ABC 002D371C 2C 05 00 03 */ cmpwi r5, 3
+/* 802D7AC0 002D3720 41 82 00 44 */ beq lbl_802D7B04
+/* 802D7AC4 002D3724 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7AC8 002D3728 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7ACC 002D372C 28 00 00 01 */ cmplwi r0, 1
+/* 802D7AD0 002D3730 41 80 00 18 */ blt lbl_802D7AE8
+/* 802D7AD4 002D3734 3C 80 80 44 */ lis r4, lbl_80443C78@ha
+/* 802D7AD8 002D3738 7F 86 E3 78 */ mr r6, r28
+/* 802D7ADC 002D373C 3C 60 00 08 */ lis r3, 8
+/* 802D7AE0 002D3740 38 84 3C 78 */ addi r4, r4, lbl_80443C78@l
+/* 802D7AE4 002D3744 4B FE 54 5D */ bl LogMsg_2
+lbl_802D7AE8:
+/* 802D7AE8 002D3748 2C 1C 00 00 */ cmpwi r28, 0
+/* 802D7AEC 002D374C 41 82 00 10 */ beq lbl_802D7AFC
+/* 802D7AF0 002D3750 A0 7F 00 28 */ lhz r3, 0x28(r31)
+/* 802D7AF4 002D3754 7F 84 E3 78 */ mr r4, r28
+/* 802D7AF8 002D3758 48 00 02 21 */ bl l2c_link_hci_disc_comp
+lbl_802D7AFC:
+/* 802D7AFC 002D375C 38 60 00 00 */ li r3, 0
+/* 802D7B00 002D3760 48 00 01 44 */ b lbl_802D7C44
+lbl_802D7B04:
+/* 802D7B04 002D3764 B3 A3 00 28 */ sth r29, 0x28(r3)
+/* 802D7B08 002D3768 88 01 00 0E */ lbz r0, 0xe(r1)
+/* 802D7B0C 002D376C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7B10 002D3770 40 82 00 D8 */ bne lbl_802D7BE8
+/* 802D7B14 002D3774 38 00 00 04 */ li r0, 4
+/* 802D7B18 002D3778 90 03 00 04 */ stw r0, 4(r3)
+/* 802D7B1C 002D377C 7F C3 F3 78 */ mr r3, r30
+/* 802D7B20 002D3780 4B FE DA FD */ bl btm_find_dev
+/* 802D7B24 002D3784 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7B28 002D3788 7C 65 1B 78 */ mr r5, r3
+/* 802D7B2C 002D378C 41 82 00 20 */ beq lbl_802D7B4C
+/* 802D7B30 002D3790 88 FF 00 30 */ lbz r7, 0x30(r31)
+/* 802D7B34 002D3794 38 85 00 22 */ addi r4, r5, 0x22
+/* 802D7B38 002D3798 7F A6 EB 78 */ mr r6, r29
+/* 802D7B3C 002D379C 38 61 00 08 */ addi r3, r1, 8
+/* 802D7B40 002D37A0 38 A5 00 35 */ addi r5, r5, 0x35
+/* 802D7B44 002D37A4 4B FE B9 89 */ bl btm_acl_created
+/* 802D7B48 002D37A8 48 00 00 1C */ b lbl_802D7B64
+lbl_802D7B4C:
+/* 802D7B4C 002D37AC 88 FF 00 30 */ lbz r7, 0x30(r31)
+/* 802D7B50 002D37B0 7F A6 EB 78 */ mr r6, r29
+/* 802D7B54 002D37B4 38 61 00 08 */ addi r3, r1, 8
+/* 802D7B58 002D37B8 38 80 00 00 */ li r4, 0
+/* 802D7B5C 002D37BC 38 A0 00 00 */ li r5, 0
+/* 802D7B60 002D37C0 4B FE B9 6D */ bl btm_acl_created
+lbl_802D7B64:
+/* 802D7B64 002D37C4 38 60 00 00 */ li r3, 0
+/* 802D7B68 002D37C8 48 00 1E 01 */ bl l2c_process_held_packets
+/* 802D7B6C 002D37CC 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802D7B70 002D37D0 4B FE 59 DD */ bl btu_stop_timer
+/* 802D7B74 002D37D4 83 DF 00 08 */ lwz r30, 8(r31)
+/* 802D7B78 002D37D8 48 00 00 18 */ b lbl_802D7B90
+lbl_802D7B7C:
+/* 802D7B7C 002D37DC 7F C3 F3 78 */ mr r3, r30
+/* 802D7B80 002D37E0 38 A1 00 08 */ addi r5, r1, 8
+/* 802D7B84 002D37E4 38 80 00 00 */ li r4, 0
+/* 802D7B88 002D37E8 4B FF E8 75 */ bl l2c_csm_execute
+/* 802D7B8C 002D37EC 83 DE 00 08 */ lwz r30, 8(r30)
+lbl_802D7B90:
+/* 802D7B90 002D37F0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D7B94 002D37F4 40 82 FF E8 */ bne lbl_802D7B7C
+/* 802D7B98 002D37F8 80 1F 00 54 */ lwz r0, 0x54(r31)
+/* 802D7B9C 002D37FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7BA0 002D3800 41 82 00 28 */ beq lbl_802D7BC8
+/* 802D7BA4 002D3804 7F E3 FB 78 */ mr r3, r31
+/* 802D7BA8 002D3808 38 80 00 00 */ li r4, 0
+/* 802D7BAC 002D380C 38 A0 00 00 */ li r5, 0
+/* 802D7BB0 002D3810 48 00 2F 35 */ bl l2cu_send_peer_echo_req
+/* 802D7BB4 002D3814 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802D7BB8 002D3818 38 80 00 02 */ li r4, 2
+/* 802D7BBC 002D381C 38 A0 00 1E */ li r5, 0x1e
+/* 802D7BC0 002D3820 4B FE 59 1D */ bl btu_start_timer
+/* 802D7BC4 002D3824 48 00 00 7C */ b lbl_802D7C40
+lbl_802D7BC8:
+/* 802D7BC8 002D3828 80 1F 00 08 */ lwz r0, 8(r31)
+/* 802D7BCC 002D382C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7BD0 002D3830 40 82 00 70 */ bne lbl_802D7C40
+/* 802D7BD4 002D3834 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802D7BD8 002D3838 38 80 00 02 */ li r4, 2
+/* 802D7BDC 002D383C 38 A0 00 3C */ li r5, 0x3c
+/* 802D7BE0 002D3840 4B FE 58 FD */ bl btu_start_timer
+/* 802D7BE4 002D3844 48 00 00 5C */ b lbl_802D7C40
+lbl_802D7BE8:
+/* 802D7BE8 002D3848 28 00 00 09 */ cmplwi r0, 9
+/* 802D7BEC 002D384C 40 82 00 28 */ bne lbl_802D7C14
+/* 802D7BF0 002D3850 48 00 3C 81 */ bl l2cu_lcb_disconnecting
+/* 802D7BF4 002D3854 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D7BF8 002D3858 41 82 00 1C */ beq lbl_802D7C14
+/* 802D7BFC 002D385C 38 00 00 01 */ li r0, 1
+/* 802D7C00 002D3860 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802D7C04 002D3864 90 1F 00 04 */ stw r0, 4(r31)
+/* 802D7C08 002D3868 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802D7C0C 002D386C B0 1F 00 28 */ sth r0, 0x28(r31)
+/* 802D7C10 002D3870 48 00 00 30 */ b lbl_802D7C40
+lbl_802D7C14:
+/* 802D7C14 002D3874 80 7F 00 08 */ lwz r3, 8(r31)
+/* 802D7C18 002D3878 48 00 00 18 */ b lbl_802D7C30
+lbl_802D7C1C:
+/* 802D7C1C 002D387C 83 C3 00 08 */ lwz r30, 8(r3)
+/* 802D7C20 002D3880 38 A1 00 08 */ addi r5, r1, 8
+/* 802D7C24 002D3884 38 80 00 01 */ li r4, 1
+/* 802D7C28 002D3888 4B FF E7 D5 */ bl l2c_csm_execute
+/* 802D7C2C 002D388C 7F C3 F3 78 */ mr r3, r30
+lbl_802D7C30:
+/* 802D7C30 002D3890 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7C34 002D3894 40 82 FF E8 */ bne lbl_802D7C1C
+/* 802D7C38 002D3898 7F E3 FB 78 */ mr r3, r31
+/* 802D7C3C 002D389C 48 00 1F 2D */ bl l2cu_release_lcb
+lbl_802D7C40:
+/* 802D7C40 002D38A0 38 60 00 01 */ li r3, 1
+lbl_802D7C44:
+/* 802D7C44 002D38A4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D7C48 002D38A8 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802D7C4C 002D38AC 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802D7C50 002D38B0 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 802D7C54 002D38B4 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 802D7C58 002D38B8 7C 08 03 A6 */ mtlr r0
+/* 802D7C5C 002D38BC 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D7C60 002D38C0 4E 80 00 20 */ blr
+
+.global l2c_link_sec_comp
+l2c_link_sec_comp:
+/* 802D7C64 002D38C4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D7C68 002D38C8 7C 08 02 A6 */ mflr r0
+/* 802D7C6C 002D38CC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D7C70 002D38D0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D7C74 002D38D4 7C 7F 1B 78 */ mr r31, r3
+/* 802D7C78 002D38D8 38 61 00 08 */ addi r3, r1, 8
+/* 802D7C7C 002D38DC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D7C80 002D38E0 7C BE 2B 78 */ mr r30, r5
+/* 802D7C84 002D38E4 7F E4 FB 78 */ mr r4, r31
+/* 802D7C88 002D38E8 98 A1 00 0E */ stb r5, 0xe(r1)
+/* 802D7C8C 002D38EC 38 A0 00 06 */ li r5, 6
+/* 802D7C90 002D38F0 4B D2 C3 71 */ bl memcpy
+/* 802D7C94 002D38F4 7F E3 FB 78 */ mr r3, r31
+/* 802D7C98 002D38F8 48 00 1F D1 */ bl l2cu_find_lcb_by_bd_addr
+/* 802D7C9C 002D38FC 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7CA0 002D3900 40 82 00 2C */ bne lbl_802D7CCC
+/* 802D7CA4 002D3904 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7CA8 002D3908 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7CAC 002D390C 28 00 00 02 */ cmplwi r0, 2
+/* 802D7CB0 002D3910 41 80 00 50 */ blt lbl_802D7D00
+/* 802D7CB4 002D3914 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D7CB8 002D3918 3C 80 80 44 */ lis r4, lbl_80443CAC@ha
+/* 802D7CBC 002D391C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D7CC0 002D3920 38 84 3C AC */ addi r4, r4, lbl_80443CAC@l
+/* 802D7CC4 002D3924 4B FE 52 4D */ bl LogMsg_0
+/* 802D7CC8 002D3928 48 00 00 38 */ b lbl_802D7D00
+lbl_802D7CCC:
+/* 802D7CCC 002D392C 7F C0 00 34 */ cntlzw r0, r30
+/* 802D7CD0 002D3930 80 63 00 08 */ lwz r3, 8(r3)
+/* 802D7CD4 002D3934 54 00 DF FE */ rlwinm r0, r0, 0x1b, 0x1f, 0x1f
+/* 802D7CD8 002D3938 7F E0 00 D0 */ neg r31, r0
+/* 802D7CDC 002D393C 48 00 00 1C */ b lbl_802D7CF8
+lbl_802D7CE0:
+/* 802D7CE0 002D3940 38 1F 00 08 */ addi r0, r31, 8
+/* 802D7CE4 002D3944 83 C3 00 08 */ lwz r30, 8(r3)
+/* 802D7CE8 002D3948 54 04 06 3E */ clrlwi r4, r0, 0x18
+/* 802D7CEC 002D394C 38 A1 00 08 */ addi r5, r1, 8
+/* 802D7CF0 002D3950 4B FF E7 0D */ bl l2c_csm_execute
+/* 802D7CF4 002D3954 7F C3 F3 78 */ mr r3, r30
+lbl_802D7CF8:
+/* 802D7CF8 002D3958 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7CFC 002D395C 40 82 FF E4 */ bne lbl_802D7CE0
+lbl_802D7D00:
+/* 802D7D00 002D3960 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D7D04 002D3964 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D7D08 002D3968 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D7D0C 002D396C 7C 08 03 A6 */ mtlr r0
+/* 802D7D10 002D3970 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D7D14 002D3974 4E 80 00 20 */ blr
+
+.global l2c_link_hci_disc_comp
+l2c_link_hci_disc_comp:
+/* 802D7D18 002D3978 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D7D1C 002D397C 7C 08 02 A6 */ mflr r0
+/* 802D7D20 002D3980 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D7D24 002D3984 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D7D28 002D3988 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D7D2C 002D398C 3B C0 00 01 */ li r30, 1
+/* 802D7D30 002D3990 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D7D34 002D3994 98 81 00 08 */ stb r4, 8(r1)
+/* 802D7D38 002D3998 48 00 1F B9 */ bl l2cu_find_lcb_by_handle
+/* 802D7D3C 002D399C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7D40 002D39A0 7C 7F 1B 78 */ mr r31, r3
+/* 802D7D44 002D39A4 40 82 00 0C */ bne lbl_802D7D50
+/* 802D7D48 002D39A8 3B C0 00 00 */ li r30, 0
+/* 802D7D4C 002D39AC 48 00 00 54 */ b lbl_802D7DA0
+lbl_802D7D50:
+/* 802D7D50 002D39B0 3C 80 80 57 */ lis r4, lbl_80568B78@ha
+/* 802D7D54 002D39B4 38 84 8B 78 */ addi r4, r4, lbl_80568B78@l
+/* 802D7D58 002D39B8 88 04 27 BF */ lbz r0, 0x27bf(r4)
+/* 802D7D5C 002D39BC 28 00 00 0E */ cmplwi r0, 0xe
+/* 802D7D60 002D39C0 41 82 00 0C */ beq lbl_802D7D6C
+/* 802D7D64 002D39C4 88 01 00 08 */ lbz r0, 8(r1)
+/* 802D7D68 002D39C8 98 04 27 BF */ stb r0, 0x27bf(r4)
+lbl_802D7D6C:
+/* 802D7D6C 002D39CC 80 63 00 08 */ lwz r3, 8(r3)
+/* 802D7D70 002D39D0 48 00 00 18 */ b lbl_802D7D88
+lbl_802D7D74:
+/* 802D7D74 002D39D4 83 A3 00 08 */ lwz r29, 8(r3)
+/* 802D7D78 002D39D8 38 A1 00 08 */ addi r5, r1, 8
+/* 802D7D7C 002D39DC 38 80 00 03 */ li r4, 3
+/* 802D7D80 002D39E0 4B FF E6 7D */ bl l2c_csm_execute
+/* 802D7D84 002D39E4 7F A3 EB 78 */ mr r3, r29
+lbl_802D7D88:
+/* 802D7D88 002D39E8 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7D8C 002D39EC 40 82 FF E8 */ bne lbl_802D7D74
+/* 802D7D90 002D39F0 38 7F 00 2A */ addi r3, r31, 0x2a
+/* 802D7D94 002D39F4 4B FF 26 69 */ bl btm_sco_acl_removed
+/* 802D7D98 002D39F8 7F E3 FB 78 */ mr r3, r31
+/* 802D7D9C 002D39FC 48 00 1D CD */ bl l2cu_release_lcb
+lbl_802D7DA0:
+/* 802D7DA0 002D3A00 38 60 00 01 */ li r3, 1
+/* 802D7DA4 002D3A04 48 00 3A 3D */ bl l2cu_find_lcb_by_state
+/* 802D7DA8 002D3A08 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7DAC 002D3A0C 41 82 00 08 */ beq lbl_802D7DB4
+/* 802D7DB0 002D3A10 48 00 38 49 */ bl l2cu_create_conn
+lbl_802D7DB4:
+/* 802D7DB4 002D3A14 7F C3 F3 78 */ mr r3, r30
+/* 802D7DB8 002D3A18 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D7DBC 002D3A1C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D7DC0 002D3A20 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D7DC4 002D3A24 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D7DC8 002D3A28 7C 08 03 A6 */ mtlr r0
+/* 802D7DCC 002D3A2C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D7DD0 002D3A30 4E 80 00 20 */ blr
+
+.global l2c_link_hci_qos_violation
+l2c_link_hci_qos_violation:
+/* 802D7DD4 002D3A34 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D7DD8 002D3A38 7C 08 02 A6 */ mflr r0
+/* 802D7DDC 002D3A3C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D7DE0 002D3A40 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D7DE4 002D3A44 48 00 1F 0D */ bl l2cu_find_lcb_by_handle
+/* 802D7DE8 002D3A48 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7DEC 002D3A4C 40 82 00 0C */ bne lbl_802D7DF8
+/* 802D7DF0 002D3A50 38 60 00 00 */ li r3, 0
+/* 802D7DF4 002D3A54 48 00 00 3C */ b lbl_802D7E30
+lbl_802D7DF8:
+/* 802D7DF8 002D3A58 83 E3 00 08 */ lwz r31, 8(r3)
+/* 802D7DFC 002D3A5C 48 00 00 28 */ b lbl_802D7E24
+lbl_802D7E00:
+/* 802D7E00 002D3A60 80 7F 00 30 */ lwz r3, 0x30(r31)
+/* 802D7E04 002D3A64 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 802D7E08 002D3A68 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7E0C 002D3A6C 41 82 00 14 */ beq lbl_802D7E20
+/* 802D7E10 002D3A70 7F E3 FB 78 */ mr r3, r31
+/* 802D7E14 002D3A74 38 80 00 06 */ li r4, 6
+/* 802D7E18 002D3A78 38 A0 00 00 */ li r5, 0
+/* 802D7E1C 002D3A7C 4B FF E5 E1 */ bl l2c_csm_execute
+lbl_802D7E20:
+/* 802D7E20 002D3A80 83 FF 00 08 */ lwz r31, 8(r31)
+lbl_802D7E24:
+/* 802D7E24 002D3A84 2C 1F 00 00 */ cmpwi r31, 0
+/* 802D7E28 002D3A88 40 82 FF D8 */ bne lbl_802D7E00
+/* 802D7E2C 002D3A8C 38 60 00 01 */ li r3, 1
+lbl_802D7E30:
+/* 802D7E30 002D3A90 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D7E34 002D3A94 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D7E38 002D3A98 7C 08 03 A6 */ mtlr r0
+/* 802D7E3C 002D3A9C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D7E40 002D3AA0 4E 80 00 20 */ blr
+
+.global l2c_link_timeout
+l2c_link_timeout:
+/* 802D7E44 002D3AA4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D7E48 002D3AA8 7C 08 02 A6 */ mflr r0
+/* 802D7E4C 002D3AAC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D7E50 002D3AB0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D7E54 002D3AB4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D7E58 002D3AB8 7C 7E 1B 78 */ mr r30, r3
+/* 802D7E5C 002D3ABC 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D7E60 002D3AC0 2C 00 00 02 */ cmpwi r0, 2
+/* 802D7E64 002D3AC4 41 82 00 1C */ beq lbl_802D7E80
+/* 802D7E68 002D3AC8 2C 00 00 03 */ cmpwi r0, 3
+/* 802D7E6C 002D3ACC 41 82 00 14 */ beq lbl_802D7E80
+/* 802D7E70 002D3AD0 2C 00 00 01 */ cmpwi r0, 1
+/* 802D7E74 002D3AD4 41 82 00 0C */ beq lbl_802D7E80
+/* 802D7E78 002D3AD8 2C 00 00 05 */ cmpwi r0, 5
+/* 802D7E7C 002D3ADC 40 82 00 30 */ bne lbl_802D7EAC
+lbl_802D7E80:
+/* 802D7E80 002D3AE0 80 63 00 08 */ lwz r3, 8(r3)
+/* 802D7E84 002D3AE4 48 00 00 18 */ b lbl_802D7E9C
+lbl_802D7E88:
+/* 802D7E88 002D3AE8 83 E3 00 08 */ lwz r31, 8(r3)
+/* 802D7E8C 002D3AEC 38 80 00 03 */ li r4, 3
+/* 802D7E90 002D3AF0 38 A0 00 00 */ li r5, 0
+/* 802D7E94 002D3AF4 4B FF E5 69 */ bl l2c_csm_execute
+/* 802D7E98 002D3AF8 7F E3 FB 78 */ mr r3, r31
+lbl_802D7E9C:
+/* 802D7E9C 002D3AFC 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7EA0 002D3B00 40 82 FF E8 */ bne lbl_802D7E88
+/* 802D7EA4 002D3B04 7F C3 F3 78 */ mr r3, r30
+/* 802D7EA8 002D3B08 48 00 1C C1 */ bl l2cu_release_lcb
+lbl_802D7EAC:
+/* 802D7EAC 002D3B0C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802D7EB0 002D3B10 2C 00 00 04 */ cmpwi r0, 4
+/* 802D7EB4 002D3B14 40 82 00 EC */ bne lbl_802D7FA0
+/* 802D7EB8 002D3B18 81 9E 00 54 */ lwz r12, 0x54(r30)
+/* 802D7EBC 002D3B1C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802D7EC0 002D3B20 41 82 00 60 */ beq lbl_802D7F20
+/* 802D7EC4 002D3B24 38 00 00 00 */ li r0, 0
+/* 802D7EC8 002D3B28 38 60 00 02 */ li r3, 2
+/* 802D7ECC 002D3B2C 90 1E 00 54 */ stw r0, 0x54(r30)
+/* 802D7ED0 002D3B30 7D 89 03 A6 */ mtctr r12
+/* 802D7ED4 002D3B34 4E 80 04 21 */ bctrl
+/* 802D7ED8 002D3B38 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D7EDC 002D3B3C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D7EE0 002D3B40 28 00 00 02 */ cmplwi r0, 2
+/* 802D7EE4 002D3B44 41 80 00 18 */ blt lbl_802D7EFC
+/* 802D7EE8 002D3B48 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D7EEC 002D3B4C 3C 80 80 44 */ lis r4, lbl_80443CD4@ha
+/* 802D7EF0 002D3B50 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D7EF4 002D3B54 38 84 3C D4 */ addi r4, r4, lbl_80443CD4@l
+/* 802D7EF8 002D3B58 4B FE 50 19 */ bl LogMsg_0
+lbl_802D7EFC:
+/* 802D7EFC 002D3B5C 80 7E 00 08 */ lwz r3, 8(r30)
+/* 802D7F00 002D3B60 48 00 00 18 */ b lbl_802D7F18
+lbl_802D7F04:
+/* 802D7F04 002D3B64 83 E3 00 08 */ lwz r31, 8(r3)
+/* 802D7F08 002D3B68 38 80 00 03 */ li r4, 3
+/* 802D7F0C 002D3B6C 38 A0 00 00 */ li r5, 0
+/* 802D7F10 002D3B70 4B FF E4 ED */ bl l2c_csm_execute
+/* 802D7F14 002D3B74 7F E3 FB 78 */ mr r3, r31
+lbl_802D7F18:
+/* 802D7F18 002D3B78 2C 03 00 00 */ cmpwi r3, 0
+/* 802D7F1C 002D3B7C 40 82 FF E8 */ bne lbl_802D7F04
+lbl_802D7F20:
+/* 802D7F20 002D3B80 80 1E 00 08 */ lwz r0, 8(r30)
+/* 802D7F24 002D3B84 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7F28 002D3B88 40 82 00 68 */ bne lbl_802D7F90
+/* 802D7F2C 002D3B8C A0 7E 00 28 */ lhz r3, 0x28(r30)
+/* 802D7F30 002D3B90 38 80 00 13 */ li r4, 0x13
+/* 802D7F34 002D3B94 4B FF 4A 45 */ bl btm_sec_disconnect
+/* 802D7F38 002D3B98 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802D7F3C 002D3B9C 28 00 00 01 */ cmplwi r0, 1
+/* 802D7F40 002D3BA0 40 82 00 14 */ bne lbl_802D7F54
+/* 802D7F44 002D3BA4 38 00 00 05 */ li r0, 5
+/* 802D7F48 002D3BA8 38 60 00 1E */ li r3, 0x1e
+/* 802D7F4C 002D3BAC 90 1E 00 04 */ stw r0, 4(r30)
+/* 802D7F50 002D3BB0 48 00 00 24 */ b lbl_802D7F74
+lbl_802D7F54:
+/* 802D7F54 002D3BB4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D7F58 002D3BB8 40 82 00 18 */ bne lbl_802D7F70
+/* 802D7F5C 002D3BBC 38 00 00 05 */ li r0, 5
+/* 802D7F60 002D3BC0 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802D7F64 002D3BC4 90 1E 00 04 */ stw r0, 4(r30)
+/* 802D7F68 002D3BC8 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
+/* 802D7F6C 002D3BCC 48 00 00 08 */ b lbl_802D7F74
+lbl_802D7F70:
+/* 802D7F70 002D3BD0 38 60 00 01 */ li r3, 1
+lbl_802D7F74:
+/* 802D7F74 002D3BD4 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 802D7F78 002D3BD8 28 05 FF FF */ cmplwi r5, 0xffff
+/* 802D7F7C 002D3BDC 41 82 00 24 */ beq lbl_802D7FA0
+/* 802D7F80 002D3BE0 38 7E 00 10 */ addi r3, r30, 0x10
+/* 802D7F84 002D3BE4 38 80 00 02 */ li r4, 2
+/* 802D7F88 002D3BE8 4B FE 55 55 */ bl btu_start_timer
+/* 802D7F8C 002D3BEC 48 00 00 14 */ b lbl_802D7FA0
+lbl_802D7F90:
+/* 802D7F90 002D3BF0 7F C3 F3 78 */ mr r3, r30
+/* 802D7F94 002D3BF4 38 80 00 00 */ li r4, 0
+/* 802D7F98 002D3BF8 38 A0 00 00 */ li r5, 0
+/* 802D7F9C 002D3BFC 48 00 01 25 */ bl l2c_link_check_send_pkts
+lbl_802D7FA0:
+/* 802D7FA0 002D3C00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D7FA4 002D3C04 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D7FA8 002D3C08 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D7FAC 002D3C0C 7C 08 03 A6 */ mtlr r0
+/* 802D7FB0 002D3C10 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D7FB4 002D3C14 4E 80 00 20 */ blr
+
+.global l2c_link_send_to_lower
+l2c_link_send_to_lower:
+/* 802D7FB8 002D3C18 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D7FBC 002D3C1C 7C 08 02 A6 */ mflr r0
+/* 802D7FC0 002D3C20 3C C0 80 57 */ lis r6, lbl_80568650@ha
+/* 802D7FC4 002D3C24 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D7FC8 002D3C28 38 C6 86 50 */ addi r6, r6, lbl_80568650@l
+/* 802D7FCC 002D3C2C 7C 80 23 78 */ mr r0, r4
+/* 802D7FD0 002D3C30 A0 E4 00 02 */ lhz r7, 2(r4)
+/* 802D7FD4 002D3C34 A0 A6 00 7E */ lhz r5, 0x7e(r6)
+/* 802D7FD8 002D3C38 7C 07 28 40 */ cmplw r7, r5
+/* 802D7FDC 002D3C3C 41 81 00 40 */ bgt lbl_802D801C
+/* 802D7FE0 002D3C40 A0 83 00 36 */ lhz r4, 0x36(r3)
+/* 802D7FE4 002D3C44 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D7FE8 002D3C48 A0 A3 00 38 */ lhz r5, 0x38(r3)
+/* 802D7FEC 002D3C4C 38 C6 BC 40 */ addi r6, r6, lbl_8056BC40@l
+/* 802D7FF0 002D3C50 38 E4 FF FF */ addi r7, r4, -1
+/* 802D7FF4 002D3C54 38 80 21 00 */ li r4, 0x2100
+/* 802D7FF8 002D3C58 38 A5 00 01 */ addi r5, r5, 1
+/* 802D7FFC 002D3C5C B0 E3 00 36 */ sth r7, 0x36(r3)
+/* 802D8000 002D3C60 B0 A3 00 38 */ sth r5, 0x38(r3)
+/* 802D8004 002D3C64 7C 03 03 78 */ mr r3, r0
+/* 802D8008 002D3C68 A0 A6 00 04 */ lhz r5, 4(r6)
+/* 802D800C 002D3C6C 38 05 FF FF */ addi r0, r5, -1
+/* 802D8010 002D3C70 B0 06 00 04 */ sth r0, 4(r6)
+/* 802D8014 002D3C74 4B FE 4D 5D */ bl bte_hcisu_send
+/* 802D8018 002D3C78 48 00 00 94 */ b lbl_802D80AC
+lbl_802D801C:
+/* 802D801C 002D3C7C A1 06 00 7C */ lhz r8, 0x7c(r6)
+/* 802D8020 002D3C80 3C A0 80 57 */ lis r5, lbl_8056BC40@ha
+/* 802D8024 002D3C84 38 A5 BC 40 */ addi r5, r5, lbl_8056BC40@l
+/* 802D8028 002D3C88 7C C7 42 14 */ add r6, r7, r8
+/* 802D802C 002D3C8C A0 E5 00 04 */ lhz r7, 4(r5)
+/* 802D8030 002D3C90 38 A6 FF FB */ addi r5, r6, -5
+/* 802D8034 002D3C94 7C A5 43 D6 */ divw r5, r5, r8
+/* 802D8038 002D3C98 54 A8 04 3E */ clrlwi r8, r5, 0x10
+/* 802D803C 002D3C9C 7C 08 38 40 */ cmplw r8, r7
+/* 802D8040 002D3CA0 40 81 00 14 */ ble lbl_802D8054
+/* 802D8044 002D3CA4 B0 E4 00 06 */ sth r7, 6(r4)
+/* 802D8048 002D3CA8 38 A0 00 01 */ li r5, 1
+/* 802D804C 002D3CAC 7C E8 3B 78 */ mr r8, r7
+/* 802D8050 002D3CB0 98 A3 00 40 */ stb r5, 0x40(r3)
+lbl_802D8054:
+/* 802D8054 002D3CB4 A0 C3 00 36 */ lhz r6, 0x36(r3)
+/* 802D8058 002D3CB8 55 05 04 3E */ clrlwi r5, r8, 0x10
+/* 802D805C 002D3CBC 7C 05 30 40 */ cmplw r5, r6
+/* 802D8060 002D3CC0 40 81 00 14 */ ble lbl_802D8074
+/* 802D8064 002D3CC4 B0 C4 00 06 */ sth r6, 6(r4)
+/* 802D8068 002D3CC8 38 80 00 01 */ li r4, 1
+/* 802D806C 002D3CCC 7C C8 33 78 */ mr r8, r6
+/* 802D8070 002D3CD0 98 83 00 40 */ stb r4, 0x40(r3)
+lbl_802D8074:
+/* 802D8074 002D3CD4 3C C0 80 57 */ lis r6, lbl_8056BC40@ha
+/* 802D8078 002D3CD8 38 80 21 00 */ li r4, 0x2100
+/* 802D807C 002D3CDC 38 C6 BC 40 */ addi r6, r6, lbl_8056BC40@l
+/* 802D8080 002D3CE0 A0 A6 00 04 */ lhz r5, 4(r6)
+/* 802D8084 002D3CE4 7C A8 28 50 */ subf r5, r8, r5
+/* 802D8088 002D3CE8 B0 A6 00 04 */ sth r5, 4(r6)
+/* 802D808C 002D3CEC A0 C3 00 36 */ lhz r6, 0x36(r3)
+/* 802D8090 002D3CF0 A0 A3 00 38 */ lhz r5, 0x38(r3)
+/* 802D8094 002D3CF4 7C C8 30 50 */ subf r6, r8, r6
+/* 802D8098 002D3CF8 7C A5 42 14 */ add r5, r5, r8
+/* 802D809C 002D3CFC B0 C3 00 36 */ sth r6, 0x36(r3)
+/* 802D80A0 002D3D00 B0 A3 00 38 */ sth r5, 0x38(r3)
+/* 802D80A4 002D3D04 7C 03 03 78 */ mr r3, r0
+/* 802D80A8 002D3D08 4B FE 4C C9 */ bl bte_hcisu_send
+lbl_802D80AC:
+/* 802D80AC 002D3D0C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D80B0 002D3D10 38 60 00 01 */ li r3, 1
+/* 802D80B4 002D3D14 7C 08 03 A6 */ mtlr r0
+/* 802D80B8 002D3D18 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D80BC 002D3D1C 4E 80 00 20 */ blr
+
+.global l2c_link_check_send_pkts
+l2c_link_check_send_pkts:
+/* 802D80C0 002D3D20 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D80C4 002D3D24 7C 08 02 A6 */ mflr r0
+/* 802D80C8 002D3D28 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D80CC 002D3D2C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D80D0 002D3D30 4B EE F0 55 */ bl _savegpr_26
+/* 802D80D4 002D3D34 2C 05 00 00 */ cmpwi r5, 0
+/* 802D80D8 002D3D38 3F E0 80 44 */ lis r31, lbl_80443C08@ha
+/* 802D80DC 002D3D3C 7C 7D 1B 78 */ mr r29, r3
+/* 802D80E0 002D3D40 7C BE 2B 78 */ mr r30, r5
+/* 802D80E4 002D3D44 3B FF 3C 08 */ addi r31, r31, lbl_80443C08@l
+/* 802D80E8 002D3D48 41 82 00 F4 */ beq lbl_802D81DC
+/* 802D80EC 002D3D4C A0 83 00 4C */ lhz r4, 0x4c(r3)
+/* 802D80F0 002D3D50 A0 03 00 3A */ lhz r0, 0x3a(r3)
+/* 802D80F4 002D3D54 7C 04 00 40 */ cmplw r4, r0
+/* 802D80F8 002D3D58 41 80 00 94 */ blt lbl_802D818C
+/* 802D80FC 002D3D5C 88 03 00 41 */ lbz r0, 0x41(r3)
+/* 802D8100 002D3D60 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8104 002D3D64 40 82 00 88 */ bne lbl_802D818C
+/* 802D8108 002D3D68 83 43 00 08 */ lwz r26, 8(r3)
+/* 802D810C 002D3D6C 3F 80 00 08 */ lis r28, 8
+/* 802D8110 002D3D70 3F 60 80 57 */ lis r27, 0x8057
+/* 802D8114 002D3D74 48 00 00 68 */ b lbl_802D817C
+lbl_802D8118:
+/* 802D8118 002D3D78 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D811C 002D3D7C 28 00 00 02 */ cmplwi r0, 2
+/* 802D8120 002D3D80 41 80 00 14 */ blt lbl_802D8134
+/* 802D8124 002D3D84 A0 BA 00 14 */ lhz r5, 0x14(r26)
+/* 802D8128 002D3D88 38 7C 00 01 */ addi r3, r28, 1
+/* 802D812C 002D3D8C 38 9F 00 E4 */ addi r4, r31, 0xe4
+/* 802D8130 002D3D90 4B FE 4D F9 */ bl LogMsg_1
+lbl_802D8134:
+/* 802D8134 002D3D94 80 7A 00 30 */ lwz r3, 0x30(r26)
+/* 802D8138 002D3D98 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802D813C 002D3D9C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8140 002D3DA0 41 82 00 38 */ beq lbl_802D8178
+/* 802D8144 002D3DA4 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D8148 002D3DA8 28 00 00 03 */ cmplwi r0, 3
+/* 802D814C 002D3DAC 41 80 00 14 */ blt lbl_802D8160
+/* 802D8150 002D3DB0 A0 BA 00 14 */ lhz r5, 0x14(r26)
+/* 802D8154 002D3DB4 38 7C 00 02 */ addi r3, r28, 2
+/* 802D8158 002D3DB8 38 9F 01 10 */ addi r4, r31, 0x110
+/* 802D815C 002D3DBC 4B FE 4D CD */ bl LogMsg_1
+lbl_802D8160:
+/* 802D8160 002D3DC0 80 BA 00 30 */ lwz r5, 0x30(r26)
+/* 802D8164 002D3DC4 38 80 00 01 */ li r4, 1
+/* 802D8168 002D3DC8 A0 7A 00 14 */ lhz r3, 0x14(r26)
+/* 802D816C 002D3DCC 81 85 00 28 */ lwz r12, 0x28(r5)
+/* 802D8170 002D3DD0 7D 89 03 A6 */ mtctr r12
+/* 802D8174 002D3DD4 4E 80 04 21 */ bctrl
+lbl_802D8178:
+/* 802D8178 002D3DD8 83 5A 00 08 */ lwz r26, 8(r26)
+lbl_802D817C:
+/* 802D817C 002D3DDC 2C 1A 00 00 */ cmpwi r26, 0
+/* 802D8180 002D3DE0 40 82 FF 98 */ bne lbl_802D8118
+/* 802D8184 002D3DE4 38 00 00 01 */ li r0, 1
+/* 802D8188 002D3DE8 98 1D 00 41 */ stb r0, 0x41(r29)
+lbl_802D818C:
+/* 802D818C 002D3DEC A0 7D 00 4C */ lhz r3, 0x4c(r29)
+/* 802D8190 002D3DF0 A0 1D 00 3E */ lhz r0, 0x3e(r29)
+/* 802D8194 002D3DF4 7C 03 00 40 */ cmplw r3, r0
+/* 802D8198 002D3DF8 41 81 00 1C */ bgt lbl_802D81B4
+/* 802D819C 002D3DFC 38 00 00 00 */ li r0, 0
+/* 802D81A0 002D3E00 7F C4 F3 78 */ mr r4, r30
+/* 802D81A4 002D3E04 B0 1E 00 06 */ sth r0, 6(r30)
+/* 802D81A8 002D3E08 38 7D 00 44 */ addi r3, r29, 0x44
+/* 802D81AC 002D3E0C 4B FE 1F A9 */ bl GKI_enqueue
+/* 802D81B0 002D3E10 48 00 00 2C */ b lbl_802D81DC
+lbl_802D81B4:
+/* 802D81B4 002D3E14 7F C3 F3 78 */ mr r3, r30
+/* 802D81B8 002D3E18 4B FE 1B 7D */ bl GKI_freebuf
+/* 802D81BC 002D3E1C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D81C0 002D3E20 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D81C4 002D3E24 28 00 00 02 */ cmplwi r0, 2
+/* 802D81C8 002D3E28 41 80 00 14 */ blt lbl_802D81DC
+/* 802D81CC 002D3E2C 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D81D0 002D3E30 38 9F 01 50 */ addi r4, r31, 0x150
+/* 802D81D4 002D3E34 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D81D8 002D3E38 4B FE 4D 39 */ bl LogMsg_0
+lbl_802D81DC:
+/* 802D81DC 002D3E3C 88 1D 00 40 */ lbz r0, 0x40(r29)
+/* 802D81E0 002D3E40 2C 00 00 00 */ cmpwi r0, 0
+/* 802D81E4 002D3E44 40 82 01 90 */ bne lbl_802D8374
+/* 802D81E8 002D3E48 38 7D 00 2A */ addi r3, r29, 0x2a
+/* 802D81EC 002D3E4C 38 81 00 08 */ addi r4, r1, 8
+/* 802D81F0 002D3E50 4B FF 0E 89 */ bl BTM_ReadPowerMode
+/* 802D81F4 002D3E54 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D81F8 002D3E58 40 82 00 48 */ bne lbl_802D8240
+/* 802D81FC 002D3E5C 88 01 00 08 */ lbz r0, 8(r1)
+/* 802D8200 002D3E60 28 00 00 03 */ cmplwi r0, 3
+/* 802D8204 002D3E64 40 82 00 3C */ bne lbl_802D8240
+/* 802D8208 002D3E68 A0 1D 00 4C */ lhz r0, 0x4c(r29)
+/* 802D820C 002D3E6C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8210 002D3E70 41 82 00 30 */ beq lbl_802D8240
+/* 802D8214 002D3E74 38 00 00 00 */ li r0, 0
+/* 802D8218 002D3E78 38 9D 00 2A */ addi r4, r29, 0x2a
+/* 802D821C 002D3E7C 98 01 00 14 */ stb r0, 0x14(r1)
+/* 802D8220 002D3E80 38 A1 00 0C */ addi r5, r1, 0xc
+/* 802D8224 002D3E84 38 60 00 80 */ li r3, 0x80
+/* 802D8228 002D3E88 4B FF 0C 81 */ bl BTM_SetPowerMode
+/* 802D822C 002D3E8C 38 7D 00 10 */ addi r3, r29, 0x10
+/* 802D8230 002D3E90 38 80 00 02 */ li r4, 2
+/* 802D8234 002D3E94 38 A0 00 01 */ li r5, 1
+/* 802D8238 002D3E98 4B FE 52 A5 */ bl btu_start_timer
+/* 802D823C 002D3E9C 48 00 01 38 */ b lbl_802D8374
+lbl_802D8240:
+/* 802D8240 002D3EA0 3F 80 80 57 */ lis r28, lbl_8056BC40@ha
+/* 802D8244 002D3EA4 3B 9C BC 40 */ addi r28, r28, lbl_8056BC40@l
+/* 802D8248 002D3EA8 48 00 00 50 */ b lbl_802D8298
+lbl_802D824C:
+/* 802D824C 002D3EAC 80 7D 00 44 */ lwz r3, 0x44(r29)
+/* 802D8250 002D3EB0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8254 002D3EB4 41 82 00 5C */ beq lbl_802D82B0
+/* 802D8258 002D3EB8 A0 03 00 06 */ lhz r0, 6(r3)
+/* 802D825C 002D3EBC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8260 002D3EC0 40 82 00 50 */ bne lbl_802D82B0
+/* 802D8264 002D3EC4 88 1D 00 40 */ lbz r0, 0x40(r29)
+/* 802D8268 002D3EC8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D826C 002D3ECC 40 82 01 08 */ bne lbl_802D8374
+/* 802D8270 002D3ED0 38 7D 00 44 */ addi r3, r29, 0x44
+/* 802D8274 002D3ED4 4B FE 21 5D */ bl GKI_dequeue
+/* 802D8278 002D3ED8 2C 03 00 00 */ cmpwi r3, 0
+/* 802D827C 002D3EDC 7C 7E 1B 78 */ mr r30, r3
+/* 802D8280 002D3EE0 41 82 00 30 */ beq lbl_802D82B0
+/* 802D8284 002D3EE4 7F A3 EB 78 */ mr r3, r29
+/* 802D8288 002D3EE8 7F C4 F3 78 */ mr r4, r30
+/* 802D828C 002D3EEC 4B FF FD 2D */ bl l2c_link_send_to_lower
+/* 802D8290 002D3EF0 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D8294 002D3EF4 41 82 00 1C */ beq lbl_802D82B0
+lbl_802D8298:
+/* 802D8298 002D3EF8 A0 1C 00 04 */ lhz r0, 4(r28)
+/* 802D829C 002D3EFC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D82A0 002D3F00 41 82 00 10 */ beq lbl_802D82B0
+/* 802D82A4 002D3F04 A0 1D 00 36 */ lhz r0, 0x36(r29)
+/* 802D82A8 002D3F08 2C 00 00 00 */ cmpwi r0, 0
+/* 802D82AC 002D3F0C 40 82 FF A0 */ bne lbl_802D824C
+lbl_802D82B0:
+/* 802D82B0 002D3F10 88 1D 00 40 */ lbz r0, 0x40(r29)
+/* 802D82B4 002D3F14 2C 00 00 00 */ cmpwi r0, 0
+/* 802D82B8 002D3F18 40 82 00 BC */ bne lbl_802D8374
+/* 802D82BC 002D3F1C A0 1D 00 4C */ lhz r0, 0x4c(r29)
+/* 802D82C0 002D3F20 2C 00 00 00 */ cmpwi r0, 0
+/* 802D82C4 002D3F24 41 82 00 20 */ beq lbl_802D82E4
+/* 802D82C8 002D3F28 A0 1D 00 36 */ lhz r0, 0x36(r29)
+/* 802D82CC 002D3F2C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D82D0 002D3F30 41 82 00 14 */ beq lbl_802D82E4
+/* 802D82D4 002D3F34 38 7D 00 10 */ addi r3, r29, 0x10
+/* 802D82D8 002D3F38 38 80 00 02 */ li r4, 2
+/* 802D82DC 002D3F3C 38 A0 00 02 */ li r5, 2
+/* 802D82E0 002D3F40 4B FE 51 FD */ bl btu_start_timer
+lbl_802D82E4:
+/* 802D82E4 002D3F44 88 1D 00 41 */ lbz r0, 0x41(r29)
+/* 802D82E8 002D3F48 2C 00 00 00 */ cmpwi r0, 0
+/* 802D82EC 002D3F4C 41 82 00 88 */ beq lbl_802D8374
+/* 802D82F0 002D3F50 A0 7D 00 4C */ lhz r3, 0x4c(r29)
+/* 802D82F4 002D3F54 A0 1D 00 3C */ lhz r0, 0x3c(r29)
+/* 802D82F8 002D3F58 7C 03 00 40 */ cmplw r3, r0
+/* 802D82FC 002D3F5C 41 81 00 78 */ bgt lbl_802D8374
+/* 802D8300 002D3F60 38 00 00 00 */ li r0, 0
+/* 802D8304 002D3F64 83 7D 00 08 */ lwz r27, 8(r29)
+/* 802D8308 002D3F68 98 1D 00 41 */ stb r0, 0x41(r29)
+/* 802D830C 002D3F6C 3F C0 00 08 */ lis r30, 8
+/* 802D8310 002D3F70 3F 80 80 57 */ lis r28, 0x8057
+/* 802D8314 002D3F74 48 00 00 58 */ b lbl_802D836C
+lbl_802D8318:
+/* 802D8318 002D3F78 80 7B 00 30 */ lwz r3, 0x30(r27)
+/* 802D831C 002D3F7C 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802D8320 002D3F80 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8324 002D3F84 41 82 00 44 */ beq lbl_802D8368
+/* 802D8328 002D3F88 88 1C BC 40 */ lbz r0, -0x43c0(r28)
+/* 802D832C 002D3F8C 28 00 00 03 */ cmplwi r0, 3
+/* 802D8330 002D3F90 41 80 00 14 */ blt lbl_802D8344
+/* 802D8334 002D3F94 A0 BB 00 14 */ lhz r5, 0x14(r27)
+/* 802D8338 002D3F98 38 7E 00 02 */ addi r3, r30, 2
+/* 802D833C 002D3F9C 38 9F 01 70 */ addi r4, r31, 0x170
+/* 802D8340 002D3FA0 4B FE 4B E9 */ bl LogMsg_1
+lbl_802D8344:
+/* 802D8344 002D3FA4 80 BB 00 30 */ lwz r5, 0x30(r27)
+/* 802D8348 002D3FA8 38 80 00 00 */ li r4, 0
+/* 802D834C 002D3FAC A0 7B 00 14 */ lhz r3, 0x14(r27)
+/* 802D8350 002D3FB0 81 85 00 28 */ lwz r12, 0x28(r5)
+/* 802D8354 002D3FB4 7D 89 03 A6 */ mtctr r12
+/* 802D8358 002D3FB8 4E 80 04 21 */ bctrl
+/* 802D835C 002D3FBC 88 1D 00 41 */ lbz r0, 0x41(r29)
+/* 802D8360 002D3FC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8364 002D3FC4 40 82 00 10 */ bne lbl_802D8374
+lbl_802D8368:
+/* 802D8368 002D3FC8 83 7B 00 08 */ lwz r27, 8(r27)
+lbl_802D836C:
+/* 802D836C 002D3FCC 2C 1B 00 00 */ cmpwi r27, 0
+/* 802D8370 002D3FD0 40 82 FF A8 */ bne lbl_802D8318
+lbl_802D8374:
+/* 802D8374 002D3FD4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D8378 002D3FD8 4B EE ED F9 */ bl _restgpr_26
+/* 802D837C 002D3FDC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D8380 002D3FE0 7C 08 03 A6 */ mtlr r0
+/* 802D8384 002D3FE4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D8388 002D3FE8 4E 80 00 20 */ blr
+
+.global l2c_link_adjust_allocation
+l2c_link_adjust_allocation:
+/* 802D838C 002D3FEC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D8390 002D3FF0 7C 08 02 A6 */ mflr r0
+/* 802D8394 002D3FF4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D8398 002D3FF8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D839C 002D3FFC 4B EE ED 7D */ bl _savegpr_23
+/* 802D83A0 002D4000 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D83A4 002D4004 3B 40 00 00 */ li r26, 0
+/* 802D83A8 002D4008 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D83AC 002D400C A0 83 07 B8 */ lhz r4, 0x7b8(r3)
+/* 802D83B0 002D4010 2C 04 00 00 */ cmpwi r4, 0
+/* 802D83B4 002D4014 41 82 01 58 */ beq lbl_802D850C
+/* 802D83B8 002D4018 88 03 00 08 */ lbz r0, 8(r3)
+/* 802D83BC 002D401C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D83C0 002D4020 41 82 00 14 */ beq lbl_802D83D4
+/* 802D83C4 002D4024 88 03 00 62 */ lbz r0, 0x62(r3)
+/* 802D83C8 002D4028 28 00 00 01 */ cmplwi r0, 1
+/* 802D83CC 002D402C 40 82 00 08 */ bne lbl_802D83D4
+/* 802D83D0 002D4030 3B 40 00 01 */ li r26, 1
+lbl_802D83D4:
+/* 802D83D4 002D4034 88 03 00 64 */ lbz r0, 0x64(r3)
+/* 802D83D8 002D4038 2C 00 00 00 */ cmpwi r0, 0
+/* 802D83DC 002D403C 41 82 00 14 */ beq lbl_802D83F0
+/* 802D83E0 002D4040 88 03 00 BE */ lbz r0, 0xbe(r3)
+/* 802D83E4 002D4044 28 00 00 01 */ cmplwi r0, 1
+/* 802D83E8 002D4048 40 82 00 08 */ bne lbl_802D83F0
+/* 802D83EC 002D404C 3B 5A 00 01 */ addi r26, r26, 1
+lbl_802D83F0:
+/* 802D83F0 002D4050 88 03 00 C0 */ lbz r0, 0xc0(r3)
+/* 802D83F4 002D4054 2C 00 00 00 */ cmpwi r0, 0
+/* 802D83F8 002D4058 41 82 00 14 */ beq lbl_802D840C
+/* 802D83FC 002D405C 88 03 01 1A */ lbz r0, 0x11a(r3)
+/* 802D8400 002D4060 28 00 00 01 */ cmplwi r0, 1
+/* 802D8404 002D4064 40 82 00 08 */ bne lbl_802D840C
+/* 802D8408 002D4068 3B 5A 00 01 */ addi r26, r26, 1
+lbl_802D840C:
+/* 802D840C 002D406C 88 03 01 1C */ lbz r0, 0x11c(r3)
+/* 802D8410 002D4070 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8414 002D4074 41 82 00 14 */ beq lbl_802D8428
+/* 802D8418 002D4078 88 03 01 76 */ lbz r0, 0x176(r3)
+/* 802D841C 002D407C 28 00 00 01 */ cmplwi r0, 1
+/* 802D8420 002D4080 40 82 00 08 */ bne lbl_802D8428
+/* 802D8424 002D4084 3B 5A 00 01 */ addi r26, r26, 1
+lbl_802D8428:
+/* 802D8428 002D4088 3F C0 80 57 */ lis r30, lbl_8056BC40@ha
+/* 802D842C 002D408C 3B A0 00 00 */ li r29, 0
+/* 802D8430 002D4090 38 7E BC 40 */ addi r3, r30, lbl_8056BC40@l
+/* 802D8434 002D4094 3B E0 00 03 */ li r31, 3
+/* 802D8438 002D4098 A0 03 00 02 */ lhz r0, 2(r3)
+/* 802D843C 002D409C 3B 83 00 08 */ addi r28, r3, 8
+/* 802D8440 002D40A0 3F 00 00 08 */ lis r24, 8
+/* 802D8444 002D40A4 3F 20 80 44 */ lis r25, 0x8044
+/* 802D8448 002D40A8 7C 60 23 D6 */ divw r3, r0, r4
+/* 802D844C 002D40AC 3E E0 51 EC */ lis r23, 0x51ec
+/* 802D8450 002D40B0 38 03 00 01 */ addi r0, r3, 1
+/* 802D8454 002D40B4 54 1B 04 3E */ clrlwi r27, r0, 0x10
+lbl_802D8458:
+/* 802D8458 002D40B8 88 1C 00 00 */ lbz r0, 0(r28)
+/* 802D845C 002D40BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8460 002D40C0 41 82 00 9C */ beq lbl_802D84FC
+/* 802D8464 002D40C4 2C 1A 00 00 */ cmpwi r26, 0
+/* 802D8468 002D40C8 41 82 00 10 */ beq lbl_802D8478
+/* 802D846C 002D40CC 88 1C 00 5A */ lbz r0, 0x5a(r28)
+/* 802D8470 002D40D0 28 00 00 01 */ cmplwi r0, 1
+/* 802D8474 002D40D4 40 82 00 10 */ bne lbl_802D8484
+lbl_802D8478:
+/* 802D8478 002D40D8 B3 7C 00 34 */ sth r27, 0x34(r28)
+/* 802D847C 002D40DC B3 7C 00 36 */ sth r27, 0x36(r28)
+/* 802D8480 002D40E0 48 00 00 0C */ b lbl_802D848C
+lbl_802D8484:
+/* 802D8484 002D40E4 B3 FC 00 34 */ sth r31, 0x34(r28)
+/* 802D8488 002D40E8 B3 FC 00 36 */ sth r31, 0x36(r28)
+lbl_802D848C:
+/* 802D848C 002D40EC A0 1C 00 34 */ lhz r0, 0x34(r28)
+/* 802D8490 002D40F0 38 77 85 1F */ addi r3, r23, -31457
+/* 802D8494 002D40F4 1C 00 00 78 */ mulli r0, r0, 0x78
+/* 802D8498 002D40F8 7C 03 00 96 */ mulhw r0, r3, r0
+/* 802D849C 002D40FC 7C 00 2E 70 */ srawi r0, r0, 5
+/* 802D84A0 002D4100 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 802D84A4 002D4104 7C 00 1A 14 */ add r0, r0, r3
+/* 802D84A8 002D4108 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802D84AC 002D410C B0 1C 00 3A */ sth r0, 0x3a(r28)
+/* 802D84B0 002D4110 7C 04 F8 10 */ subfc r0, r4, r31
+/* 802D84B4 002D4114 7C 60 01 10 */ subfe r3, r0, r0
+/* 802D84B8 002D4118 38 04 FF FD */ addi r0, r4, -3
+/* 802D84BC 002D411C 7C 03 18 38 */ and r3, r0, r3
+/* 802D84C0 002D4120 B0 7C 00 3C */ sth r3, 0x3c(r28)
+/* 802D84C4 002D4124 38 04 00 02 */ addi r0, r4, 2
+/* 802D84C8 002D4128 B0 1C 00 3E */ sth r0, 0x3e(r28)
+/* 802D84CC 002D412C 88 1E BC 40 */ lbz r0, -0x43c0(r30)
+/* 802D84D0 002D4130 28 00 00 05 */ cmplwi r0, 5
+/* 802D84D4 002D4134 41 80 00 28 */ blt lbl_802D84FC
+/* 802D84D8 002D4138 88 DC 00 5A */ lbz r6, 0x5a(r28)
+/* 802D84DC 002D413C 38 78 00 04 */ addi r3, r24, 4
+/* 802D84E0 002D4140 A0 FC 00 36 */ lhz r7, 0x36(r28)
+/* 802D84E4 002D4144 38 99 3D B8 */ addi r4, r25, 0x3db8
+/* 802D84E8 002D4148 A1 1C 00 3A */ lhz r8, 0x3a(r28)
+/* 802D84EC 002D414C 57 A5 04 3E */ clrlwi r5, r29, 0x10
+/* 802D84F0 002D4150 A1 3C 00 3C */ lhz r9, 0x3c(r28)
+/* 802D84F4 002D4154 A1 5C 00 3E */ lhz r10, 0x3e(r28)
+/* 802D84F8 002D4158 4B FE 4A A9 */ bl LogMsg_6
+lbl_802D84FC:
+/* 802D84FC 002D415C 3B BD 00 01 */ addi r29, r29, 1
+/* 802D8500 002D4160 3B 9C 00 5C */ addi r28, r28, 0x5c
+/* 802D8504 002D4164 28 1D 00 04 */ cmplwi r29, 4
+/* 802D8508 002D4168 41 80 FF 50 */ blt lbl_802D8458
+lbl_802D850C:
+/* 802D850C 002D416C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D8510 002D4170 4B EE EC 55 */ bl _restgpr_23
+/* 802D8514 002D4174 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D8518 002D4178 7C 08 03 A6 */ mtlr r0
+/* 802D851C 002D417C 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D8520 002D4180 4E 80 00 20 */ blr
+
+.global l2c_link_process_num_completed_pkts
+l2c_link_process_num_completed_pkts:
+/* 802D8524 002D4184 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D8528 002D4188 7C 08 02 A6 */ mflr r0
+/* 802D852C 002D418C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D8530 002D4190 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D8534 002D4194 4B EE EB F1 */ bl _savegpr_26
+/* 802D8538 002D4198 3F 80 80 57 */ lis r28, lbl_8056BC40@ha
+/* 802D853C 002D419C 8B E3 00 00 */ lbz r31, 0(r3)
+/* 802D8540 002D41A0 3B A3 00 01 */ addi r29, r3, 1
+/* 802D8544 002D41A4 3B C0 00 00 */ li r30, 0
+/* 802D8548 002D41A8 3B 9C BC 40 */ addi r28, r28, lbl_8056BC40@l
+/* 802D854C 002D41AC 3B 60 00 00 */ li r27, 0
+/* 802D8550 002D41B0 48 00 00 94 */ b lbl_802D85E4
+lbl_802D8554:
+/* 802D8554 002D41B4 88 7D 00 01 */ lbz r3, 1(r29)
+/* 802D8558 002D41B8 88 1D 00 03 */ lbz r0, 3(r29)
+/* 802D855C 002D41BC 54 64 40 2E */ slwi r4, r3, 8
+/* 802D8560 002D41C0 88 BD 00 00 */ lbz r5, 0(r29)
+/* 802D8564 002D41C4 88 7D 00 02 */ lbz r3, 2(r29)
+/* 802D8568 002D41C8 54 00 40 2E */ slwi r0, r0, 8
+/* 802D856C 002D41CC 7C 85 22 14 */ add r4, r5, r4
+/* 802D8570 002D41D0 3B BD 00 04 */ addi r29, r29, 4
+/* 802D8574 002D41D4 7C 03 02 14 */ add r0, r3, r0
+/* 802D8578 002D41D8 54 83 04 3E */ clrlwi r3, r4, 0x10
+/* 802D857C 002D41DC 54 1A 04 3E */ clrlwi r26, r0, 0x10
+/* 802D8580 002D41E0 48 00 17 71 */ bl l2cu_find_lcb_by_handle
+/* 802D8584 002D41E4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8588 002D41E8 41 82 00 58 */ beq lbl_802D85E0
+/* 802D858C 002D41EC A0 03 00 36 */ lhz r0, 0x36(r3)
+/* 802D8590 002D41F0 7C 00 D2 14 */ add r0, r0, r26
+/* 802D8594 002D41F4 B0 03 00 36 */ sth r0, 0x36(r3)
+/* 802D8598 002D41F8 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802D859C 002D41FC A0 83 00 34 */ lhz r4, 0x34(r3)
+/* 802D85A0 002D4200 7C 00 20 40 */ cmplw r0, r4
+/* 802D85A4 002D4204 40 81 00 08 */ ble lbl_802D85AC
+/* 802D85A8 002D4208 B0 83 00 36 */ sth r4, 0x36(r3)
+lbl_802D85AC:
+/* 802D85AC 002D420C A0 03 00 38 */ lhz r0, 0x38(r3)
+/* 802D85B0 002D4210 7C 00 D0 40 */ cmplw r0, r26
+/* 802D85B4 002D4214 40 81 00 10 */ ble lbl_802D85C4
+/* 802D85B8 002D4218 7C 1A 00 50 */ subf r0, r26, r0
+/* 802D85BC 002D421C B0 03 00 38 */ sth r0, 0x38(r3)
+/* 802D85C0 002D4220 48 00 00 08 */ b lbl_802D85C8
+lbl_802D85C4:
+/* 802D85C4 002D4224 B3 63 00 38 */ sth r27, 0x38(r3)
+lbl_802D85C8:
+/* 802D85C8 002D4228 A0 1C 00 04 */ lhz r0, 4(r28)
+/* 802D85CC 002D422C 38 80 00 00 */ li r4, 0
+/* 802D85D0 002D4230 38 A0 00 00 */ li r5, 0
+/* 802D85D4 002D4234 7C 00 D2 14 */ add r0, r0, r26
+/* 802D85D8 002D4238 B0 1C 00 04 */ sth r0, 4(r28)
+/* 802D85DC 002D423C 4B FF FA E5 */ bl l2c_link_check_send_pkts
+lbl_802D85E0:
+/* 802D85E0 002D4240 3B DE 00 01 */ addi r30, r30, 1
+lbl_802D85E4:
+/* 802D85E4 002D4244 57 C0 06 3E */ clrlwi r0, r30, 0x18
+/* 802D85E8 002D4248 7C 00 F8 40 */ cmplw r0, r31
+/* 802D85EC 002D424C 41 80 FF 68 */ blt lbl_802D8554
+/* 802D85F0 002D4250 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D85F4 002D4254 4B EE EB 7D */ bl _restgpr_26
+/* 802D85F8 002D4258 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D85FC 002D425C 7C 08 03 A6 */ mtlr r0
+/* 802D8600 002D4260 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D8604 002D4264 4E 80 00 20 */ blr
+
+.global l2c_link_processs_num_bufs
+l2c_link_processs_num_bufs:
+/* 802D8608 002D4268 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D860C 002D426C 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D8610 002D4270 B0 64 00 02 */ sth r3, 2(r4)
+/* 802D8614 002D4274 B0 64 00 04 */ sth r3, 4(r4)
+/* 802D8618 002D4278 4E 80 00 20 */ blr
+
+.global l2cap_link_chk_pkt_start
+l2cap_link_chk_pkt_start:
+/* 802D861C 002D427C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D8620 002D4280 7C 08 02 A6 */ mflr r0
+/* 802D8624 002D4284 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D8628 002D4288 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D862C 002D428C 4B EE EA F1 */ bl _savegpr_24
+/* 802D8630 002D4290 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802D8634 002D4294 38 C0 00 00 */ li r6, 0
+/* 802D8638 002D4298 B0 C3 00 06 */ sth r6, 6(r3)
+/* 802D863C 002D429C 3F 00 80 57 */ lis r24, lbl_8056BC40@ha
+/* 802D8640 002D42A0 7C E3 02 14 */ add r7, r3, r0
+/* 802D8644 002D42A4 7C 7C 1B 78 */ mr r28, r3
+/* 802D8648 002D42A8 88 67 00 09 */ lbz r3, 9(r7)
+/* 802D864C 002D42AC 3B 38 BC 40 */ addi r25, r24, lbl_8056BC40@l
+/* 802D8650 002D42B0 88 07 00 0B */ lbz r0, 0xb(r7)
+/* 802D8654 002D42B4 54 64 40 2E */ slwi r4, r3, 8
+/* 802D8658 002D42B8 88 A7 00 08 */ lbz r5, 8(r7)
+/* 802D865C 002D42BC 88 67 00 0A */ lbz r3, 0xa(r7)
+/* 802D8660 002D42C0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8664 002D42C4 7C 85 22 14 */ add r4, r5, r4
+/* 802D8668 002D42C8 7C 03 02 14 */ add r0, r3, r0
+/* 802D866C 002D42CC 90 D9 07 BC */ stw r6, 0x7bc(r25)
+/* 802D8670 002D42D0 54 1F 04 3E */ clrlwi r31, r0, 0x10
+/* 802D8674 002D42D4 54 9B A7 BE */ rlwinm r27, r4, 0x14, 0x1e, 0x1f
+/* 802D8678 002D42D8 54 83 05 3E */ clrlwi r3, r4, 0x14
+/* 802D867C 002D42DC 48 00 16 75 */ bl l2cu_find_lcb_by_handle
+/* 802D8680 002D42E0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8684 002D42E4 7C 7A 1B 78 */ mr r26, r3
+/* 802D8688 002D42E8 40 82 00 0C */ bne lbl_802D8694
+/* 802D868C 002D42EC 7F 83 E3 78 */ mr r3, r28
+/* 802D8690 002D42F0 48 00 01 44 */ b lbl_802D87D4
+lbl_802D8694:
+/* 802D8694 002D42F4 28 1B 00 02 */ cmplwi r27, 2
+/* 802D8698 002D42F8 40 82 00 50 */ bne lbl_802D86E8
+/* 802D869C 002D42FC 80 03 00 50 */ lwz r0, 0x50(r3)
+/* 802D86A0 002D4300 2C 00 00 00 */ cmpwi r0, 0
+/* 802D86A4 002D4304 41 82 00 2C */ beq lbl_802D86D0
+/* 802D86A8 002D4308 88 18 BC 40 */ lbz r0, -0x43c0(r24)
+/* 802D86AC 002D430C 28 00 00 02 */ cmplwi r0, 2
+/* 802D86B0 002D4310 41 80 00 18 */ blt lbl_802D86C8
+/* 802D86B4 002D4314 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D86B8 002D4318 3C 80 80 44 */ lis r4, lbl_80443E00@ha
+/* 802D86BC 002D431C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D86C0 002D4320 38 84 3E 00 */ addi r4, r4, lbl_80443E00@l
+/* 802D86C4 002D4324 4B FE 48 4D */ bl LogMsg_0
+lbl_802D86C8:
+/* 802D86C8 002D4328 80 7A 00 50 */ lwz r3, 0x50(r26)
+/* 802D86CC 002D432C 4B FE 16 69 */ bl GKI_freebuf
+lbl_802D86D0:
+/* 802D86D0 002D4330 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D86D4 002D4334 93 9A 00 50 */ stw r28, 0x50(r26)
+/* 802D86D8 002D4338 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D86DC 002D433C 7F 9E E3 78 */ mr r30, r28
+/* 802D86E0 002D4340 93 43 07 BC */ stw r26, 0x7bc(r3)
+/* 802D86E4 002D4344 48 00 00 DC */ b lbl_802D87C0
+lbl_802D86E8:
+/* 802D86E8 002D4348 83 C3 00 50 */ lwz r30, 0x50(r3)
+/* 802D86EC 002D434C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D86F0 002D4350 41 82 00 CC */ beq lbl_802D87BC
+/* 802D86F4 002D4354 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802D86F8 002D4358 7F 7E 02 14 */ add r27, r30, r0
+/* 802D86FC 002D435C 88 1B 00 0B */ lbz r0, 0xb(r27)
+/* 802D8700 002D4360 88 9B 00 0A */ lbz r4, 0xa(r27)
+/* 802D8704 002D4364 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8708 002D4368 7C 04 02 14 */ add r0, r4, r0
+/* 802D870C 002D436C 54 1D 04 3E */ clrlwi r29, r0, 0x10
+/* 802D8710 002D4370 7C 1D FA 14 */ add r0, r29, r31
+/* 802D8714 002D4374 2C 00 06 9F */ cmpwi r0, 0x69f
+/* 802D8718 002D4378 41 81 00 6C */ bgt lbl_802D8784
+/* 802D871C 002D437C 90 79 07 BC */ stw r3, 0x7bc(r25)
+/* 802D8720 002D4380 A0 7C 00 02 */ lhz r3, 2(r28)
+/* 802D8724 002D4384 28 03 00 04 */ cmplwi r3, 4
+/* 802D8728 002D4388 40 81 00 40 */ ble lbl_802D8768
+/* 802D872C 002D438C A0 9E 00 04 */ lhz r4, 4(r30)
+/* 802D8730 002D4390 38 A3 FF FC */ addi r5, r3, -4
+/* 802D8734 002D4394 A0 1C 00 04 */ lhz r0, 4(r28)
+/* 802D8738 002D4398 7C DE 22 14 */ add r6, r30, r4
+/* 802D873C 002D439C A0 7E 00 02 */ lhz r3, 2(r30)
+/* 802D8740 002D43A0 7C 9C 02 14 */ add r4, r28, r0
+/* 802D8744 002D43A4 7C 66 1A 14 */ add r3, r6, r3
+/* 802D8748 002D43A8 38 63 00 08 */ addi r3, r3, 8
+/* 802D874C 002D43AC 38 84 00 0C */ addi r4, r4, 0xc
+/* 802D8750 002D43B0 4B D2 B8 B1 */ bl memcpy
+/* 802D8754 002D43B4 A0 7E 00 02 */ lhz r3, 2(r30)
+/* 802D8758 002D43B8 A0 1C 00 02 */ lhz r0, 2(r28)
+/* 802D875C 002D43BC 7C 60 1A 14 */ add r3, r0, r3
+/* 802D8760 002D43C0 38 03 FF FC */ addi r0, r3, -4
+/* 802D8764 002D43C4 B0 1E 00 02 */ sth r0, 2(r30)
+lbl_802D8768:
+/* 802D8768 002D43C8 7F 83 E3 78 */ mr r3, r28
+/* 802D876C 002D43CC 4B FE 15 C9 */ bl GKI_freebuf
+/* 802D8770 002D43D0 7F BD FA 14 */ add r29, r29, r31
+/* 802D8774 002D43D4 9B BB 00 0A */ stb r29, 0xa(r27)
+/* 802D8778 002D43D8 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f
+/* 802D877C 002D43DC 98 1B 00 0B */ stb r0, 0xb(r27)
+/* 802D8780 002D43E0 48 00 00 40 */ b lbl_802D87C0
+lbl_802D8784:
+/* 802D8784 002D43E4 88 18 BC 40 */ lbz r0, -0x43c0(r24)
+/* 802D8788 002D43E8 28 00 00 02 */ cmplwi r0, 2
+/* 802D878C 002D43EC 41 80 00 18 */ blt lbl_802D87A4
+/* 802D8790 002D43F0 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D8794 002D43F4 3C 80 80 44 */ lis r4, lbl_80443E20@ha
+/* 802D8798 002D43F8 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D879C 002D43FC 38 84 3E 20 */ addi r4, r4, lbl_80443E20@l
+/* 802D87A0 002D4400 4B FE 47 71 */ bl LogMsg_0
+lbl_802D87A4:
+/* 802D87A4 002D4404 80 7A 00 50 */ lwz r3, 0x50(r26)
+/* 802D87A8 002D4408 4B FE 15 8D */ bl GKI_freebuf
+/* 802D87AC 002D440C 38 00 00 00 */ li r0, 0
+/* 802D87B0 002D4410 3B C0 00 00 */ li r30, 0
+/* 802D87B4 002D4414 90 1A 00 50 */ stw r0, 0x50(r26)
+/* 802D87B8 002D4418 48 00 00 08 */ b lbl_802D87C0
+lbl_802D87BC:
+/* 802D87BC 002D441C 3B C0 00 00 */ li r30, 0
+lbl_802D87C0:
+/* 802D87C0 002D4420 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D87C4 002D4424 40 82 00 0C */ bne lbl_802D87D0
+/* 802D87C8 002D4428 7F 83 E3 78 */ mr r3, r28
+/* 802D87CC 002D442C 4B FE 15 69 */ bl GKI_freebuf
+lbl_802D87D0:
+/* 802D87D0 002D4430 7F C3 F3 78 */ mr r3, r30
+lbl_802D87D4:
+/* 802D87D4 002D4434 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D87D8 002D4438 4B EE E9 91 */ bl _restgpr_24
+/* 802D87DC 002D443C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D87E0 002D4440 7C 08 03 A6 */ mtlr r0
+/* 802D87E4 002D4444 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D87E8 002D4448 4E 80 00 20 */ blr
+
+.global l2cap_link_chk_pkt_end
+l2cap_link_chk_pkt_end:
+/* 802D87EC 002D444C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D87F0 002D4450 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D87F4 002D4454 80 C3 07 BC */ lwz r6, 0x7bc(r3)
+/* 802D87F8 002D4458 2C 06 00 00 */ cmpwi r6, 0
+/* 802D87FC 002D445C 41 82 00 10 */ beq lbl_802D880C
+/* 802D8800 002D4460 80 86 00 50 */ lwz r4, 0x50(r6)
+/* 802D8804 002D4464 2C 04 00 00 */ cmpwi r4, 0
+/* 802D8808 002D4468 40 82 00 0C */ bne lbl_802D8814
+lbl_802D880C:
+/* 802D880C 002D446C 38 60 00 01 */ li r3, 1
+/* 802D8810 002D4470 4E 80 00 20 */ blr
+lbl_802D8814:
+/* 802D8814 002D4474 A0 04 00 04 */ lhz r0, 4(r4)
+/* 802D8818 002D4478 A0 64 00 02 */ lhz r3, 2(r4)
+/* 802D881C 002D447C 7C A4 02 14 */ add r5, r4, r0
+/* 802D8820 002D4480 88 85 00 0D */ lbz r4, 0xd(r5)
+/* 802D8824 002D4484 38 03 FF F8 */ addi r0, r3, -8
+/* 802D8828 002D4488 88 A5 00 0C */ lbz r5, 0xc(r5)
+/* 802D882C 002D448C 54 83 40 2E */ slwi r3, r4, 8
+/* 802D8830 002D4490 7C 65 1A 14 */ add r3, r5, r3
+/* 802D8834 002D4494 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802D8838 002D4498 7C 03 00 00 */ cmpw r3, r0
+/* 802D883C 002D449C 40 81 00 0C */ ble lbl_802D8848
+/* 802D8840 002D44A0 38 60 00 00 */ li r3, 0
+/* 802D8844 002D44A4 4E 80 00 20 */ blr
+lbl_802D8848:
+/* 802D8848 002D44A8 38 00 00 00 */ li r0, 0
+/* 802D884C 002D44AC 38 60 00 01 */ li r3, 1
+/* 802D8850 002D44B0 90 06 00 50 */ stw r0, 0x50(r6)
+/* 802D8854 002D44B4 4E 80 00 20 */ blr
+
+.global l2c_link_role_changed
+l2c_link_role_changed:
+/* 802D8858 002D44B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D885C 002D44BC 7C 08 02 A6 */ mflr r0
+/* 802D8860 002D44C0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D8864 002D44C4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D8868 002D44C8 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D886C 002D44CC 7C 9E 23 78 */ mr r30, r4
+/* 802D8870 002D44D0 48 00 13 F9 */ bl l2cu_find_lcb_by_bd_addr
+/* 802D8874 002D44D4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8878 002D44D8 41 82 00 08 */ beq lbl_802D8880
+/* 802D887C 002D44DC 9B C3 00 30 */ stb r30, 0x30(r3)
+lbl_802D8880:
+/* 802D8880 002D44E0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8884 002D44E4 3B C0 00 00 */ li r30, 0
+/* 802D8888 002D44E8 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D888C 002D44EC 3B E3 00 08 */ addi r31, r3, 8
+lbl_802D8890:
+/* 802D8890 002D44F0 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802D8894 002D44F4 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8898 002D44F8 41 82 00 18 */ beq lbl_802D88B0
+/* 802D889C 002D44FC 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802D88A0 002D4500 2C 00 00 02 */ cmpwi r0, 2
+/* 802D88A4 002D4504 40 82 00 0C */ bne lbl_802D88B0
+/* 802D88A8 002D4508 7F E3 FB 78 */ mr r3, r31
+/* 802D88AC 002D450C 48 00 2E 65 */ bl l2cu_create_conn_after_switch
+lbl_802D88B0:
+/* 802D88B0 002D4510 3B DE 00 01 */ addi r30, r30, 1
+/* 802D88B4 002D4514 3B FF 00 5C */ addi r31, r31, 0x5c
+/* 802D88B8 002D4518 2C 1E 00 04 */ cmpwi r30, 4
+/* 802D88BC 002D451C 41 80 FF D4 */ blt lbl_802D8890
+/* 802D88C0 002D4520 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D88C4 002D4524 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D88C8 002D4528 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D88CC 002D452C 7C 08 03 A6 */ mtlr r0
+/* 802D88D0 002D4530 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D88D4 002D4534 4E 80 00 20 */ blr
+
+.global l2c_link_role_change_failed
+l2c_link_role_change_failed:
+/* 802D88D8 002D4538 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D88DC 002D453C 7C 08 02 A6 */ mflr r0
+/* 802D88E0 002D4540 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D88E4 002D4544 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D88E8 002D4548 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D88EC 002D454C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D88F0 002D4550 3B E3 00 08 */ addi r31, r3, 8
+/* 802D88F4 002D4554 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D88F8 002D4558 3B C0 00 00 */ li r30, 0
+lbl_802D88FC:
+/* 802D88FC 002D455C 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802D8900 002D4560 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8904 002D4564 41 82 00 18 */ beq lbl_802D891C
+/* 802D8908 002D4568 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802D890C 002D456C 2C 00 00 02 */ cmpwi r0, 2
+/* 802D8910 002D4570 40 82 00 0C */ bne lbl_802D891C
+/* 802D8914 002D4574 7F E3 FB 78 */ mr r3, r31
+/* 802D8918 002D4578 48 00 2D F9 */ bl l2cu_create_conn_after_switch
+lbl_802D891C:
+/* 802D891C 002D457C 3B DE 00 01 */ addi r30, r30, 1
+/* 802D8920 002D4580 3B FF 00 5C */ addi r31, r31, 0x5c
+/* 802D8924 002D4584 2C 1E 00 04 */ cmpwi r30, 4
+/* 802D8928 002D4588 41 80 FF D4 */ blt lbl_802D88FC
+/* 802D892C 002D458C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D8930 002D4590 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D8934 002D4594 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D8938 002D4598 7C 08 03 A6 */ mtlr r0
+/* 802D893C 002D459C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D8940 002D45A0 4E 80 00 20 */ blr
+
+.global l2c_link_segments_xmitted
+l2c_link_segments_xmitted:
+/* 802D8944 002D45A4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D8948 002D45A8 7C 08 02 A6 */ mflr r0
+/* 802D894C 002D45AC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D8950 002D45B0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D8954 002D45B4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D8958 002D45B8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D895C 002D45BC 7C 7D 1B 78 */ mr r29, r3
+/* 802D8960 002D45C0 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802D8964 002D45C4 7C 63 02 14 */ add r3, r3, r0
+/* 802D8968 002D45C8 88 03 00 09 */ lbz r0, 9(r3)
+/* 802D896C 002D45CC 88 63 00 08 */ lbz r3, 8(r3)
+/* 802D8970 002D45D0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8974 002D45D4 7C 03 02 14 */ add r0, r3, r0
+/* 802D8978 002D45D8 54 1F 05 3E */ clrlwi r31, r0, 0x14
+/* 802D897C 002D45DC 7F E3 FB 78 */ mr r3, r31
+/* 802D8980 002D45E0 48 00 13 71 */ bl l2cu_find_lcb_by_handle
+/* 802D8984 002D45E4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8988 002D45E8 7C 7E 1B 78 */ mr r30, r3
+/* 802D898C 002D45EC 40 82 00 38 */ bne lbl_802D89C4
+/* 802D8990 002D45F0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8994 002D45F4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8998 002D45F8 28 00 00 02 */ cmplwi r0, 2
+/* 802D899C 002D45FC 41 80 00 1C */ blt lbl_802D89B8
+/* 802D89A0 002D4600 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D89A4 002D4604 3C 80 80 44 */ lis r4, lbl_80443E40@ha
+/* 802D89A8 002D4608 7F E5 FB 78 */ mr r5, r31
+/* 802D89AC 002D460C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D89B0 002D4610 38 84 3E 40 */ addi r4, r4, lbl_80443E40@l
+/* 802D89B4 002D4614 4B FE 45 75 */ bl LogMsg_1
+lbl_802D89B8:
+/* 802D89B8 002D4618 7F A3 EB 78 */ mr r3, r29
+/* 802D89BC 002D461C 4B FE 13 79 */ bl GKI_freebuf
+/* 802D89C0 002D4620 48 00 00 44 */ b lbl_802D8A04
+lbl_802D89C4:
+/* 802D89C4 002D4624 80 03 00 04 */ lwz r0, 4(r3)
+/* 802D89C8 002D4628 2C 00 00 04 */ cmpwi r0, 4
+/* 802D89CC 002D462C 40 82 00 30 */ bne lbl_802D89FC
+/* 802D89D0 002D4630 3B E0 00 00 */ li r31, 0
+/* 802D89D4 002D4634 7F A4 EB 78 */ mr r4, r29
+/* 802D89D8 002D4638 B3 FD 00 06 */ sth r31, 6(r29)
+/* 802D89DC 002D463C 38 63 00 44 */ addi r3, r3, 0x44
+/* 802D89E0 002D4640 4B FE 18 B1 */ bl GKI_enqueue_head
+/* 802D89E4 002D4644 9B FE 00 40 */ stb r31, 0x40(r30)
+/* 802D89E8 002D4648 7F C3 F3 78 */ mr r3, r30
+/* 802D89EC 002D464C 38 80 00 00 */ li r4, 0
+/* 802D89F0 002D4650 38 A0 00 00 */ li r5, 0
+/* 802D89F4 002D4654 4B FF F6 CD */ bl l2c_link_check_send_pkts
+/* 802D89F8 002D4658 48 00 00 0C */ b lbl_802D8A04
+lbl_802D89FC:
+/* 802D89FC 002D465C 7F A3 EB 78 */ mr r3, r29
+/* 802D8A00 002D4660 4B FE 13 35 */ bl GKI_freebuf
+lbl_802D8A04:
+/* 802D8A04 002D4664 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D8A08 002D4668 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D8A0C 002D466C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D8A10 002D4670 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D8A14 002D4674 7C 08 03 A6 */ mtlr r0
+/* 802D8A18 002D4678 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D8A1C 002D467C 4E 80 00 20 */ blr
+
+.global l2c_pin_code_request
+l2c_pin_code_request:
+/* 802D8A20 002D4680 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D8A24 002D4684 7C 08 02 A6 */ mflr r0
+/* 802D8A28 002D4688 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D8A2C 002D468C 48 00 12 3D */ bl l2cu_find_lcb_by_bd_addr
+/* 802D8A30 002D4690 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8A34 002D4694 41 82 00 20 */ beq lbl_802D8A54
+/* 802D8A38 002D4698 80 03 00 08 */ lwz r0, 8(r3)
+/* 802D8A3C 002D469C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8A40 002D46A0 40 82 00 14 */ bne lbl_802D8A54
+/* 802D8A44 002D46A4 38 80 00 02 */ li r4, 2
+/* 802D8A48 002D46A8 38 A0 00 78 */ li r5, 0x78
+/* 802D8A4C 002D46AC 38 63 00 10 */ addi r3, r3, 0x10
+/* 802D8A50 002D46B0 4B FE 4A 8D */ bl btu_start_timer
+lbl_802D8A54:
+/* 802D8A54 002D46B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D8A58 002D46B8 7C 08 03 A6 */ mtlr r0
+/* 802D8A5C 002D46BC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D8A60 002D46C0 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/l2c_main.s b/asm/SDK/BTE/l2c_main.s new file mode 100644 index 0000000..a836866 --- /dev/null +++ b/asm/SDK/BTE/l2c_main.s @@ -0,0 +1,1121 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global l2c_init
+l2c_init:
+/* 802D8A64 002D46C4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D8A68 002D46C8 7C 08 02 A6 */ mflr r0
+/* 802D8A6C 002D46CC 38 80 00 00 */ li r4, 0
+/* 802D8A70 002D46D0 38 A0 07 E8 */ li r5, 0x7e8
+/* 802D8A74 002D46D4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D8A78 002D46D8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D8A7C 002D46DC 3F E0 80 57 */ lis r31, lbl_8056BC40@ha
+/* 802D8A80 002D46E0 38 7F BC 40 */ addi r3, r31, lbl_8056BC40@l
+/* 802D8A84 002D46E4 4B D2 B6 81 */ bl memset
+/* 802D8A88 002D46E8 38 80 00 01 */ li r4, 1
+/* 802D8A8C 002D46EC 38 00 00 02 */ li r0, 2
+/* 802D8A90 002D46F0 1C 64 00 7C */ mulli r3, r4, 0x7c
+/* 802D8A94 002D46F4 39 7F BC 40 */ addi r11, r31, -17344
+/* 802D8A98 002D46F8 38 E0 00 03 */ li r7, 3
+/* 802D8A9C 002D46FC 38 80 00 04 */ li r4, 4
+/* 802D8AA0 002D4700 7D 0B 1A 14 */ add r8, r11, r3
+/* 802D8AA4 002D4704 38 AB 01 78 */ addi r5, r11, 0x178
+/* 802D8AA8 002D4708 1C C7 00 7C */ mulli r6, r7, 0x7c
+/* 802D8AAC 002D470C 38 E0 00 06 */ li r7, 6
+/* 802D8AB0 002D4710 39 48 01 78 */ addi r10, r8, 0x178
+/* 802D8AB4 002D4714 91 4B 01 80 */ stw r10, 0x180(r11)
+/* 802D8AB8 002D4718 1D 20 00 7C */ mulli r9, r0, 0x7c
+/* 802D8ABC 002D471C 38 00 00 05 */ li r0, 5
+/* 802D8AC0 002D4720 7C CB 32 14 */ add r6, r11, r6
+/* 802D8AC4 002D4724 7D 0B 4A 14 */ add r8, r11, r9
+/* 802D8AC8 002D4728 38 C6 01 78 */ addi r6, r6, 0x178
+/* 802D8ACC 002D472C 1C 64 00 7C */ mulli r3, r4, 0x7c
+/* 802D8AD0 002D4730 38 80 00 07 */ li r4, 7
+/* 802D8AD4 002D4734 39 08 01 78 */ addi r8, r8, 0x178
+/* 802D8AD8 002D4738 91 0B 01 FC */ stw r8, 0x1fc(r11)
+/* 802D8ADC 002D473C 7D 0B 1A 14 */ add r8, r11, r3
+/* 802D8AE0 002D4740 1D 20 00 7C */ mulli r9, r0, 0x7c
+/* 802D8AE4 002D4744 90 CB 02 78 */ stw r6, 0x278(r11)
+/* 802D8AE8 002D4748 39 48 01 78 */ addi r10, r8, 0x178
+/* 802D8AEC 002D474C 91 4B 02 F4 */ stw r10, 0x2f4(r11)
+/* 802D8AF0 002D4750 38 00 00 08 */ li r0, 8
+/* 802D8AF4 002D4754 1C C7 00 7C */ mulli r6, r7, 0x7c
+/* 802D8AF8 002D4758 7D 0B 4A 14 */ add r8, r11, r9
+/* 802D8AFC 002D475C 38 E0 00 09 */ li r7, 9
+/* 802D8B00 002D4760 39 08 01 78 */ addi r8, r8, 0x178
+/* 802D8B04 002D4764 1C 64 00 7C */ mulli r3, r4, 0x7c
+/* 802D8B08 002D4768 7C CB 32 14 */ add r6, r11, r6
+/* 802D8B0C 002D476C 91 0B 03 70 */ stw r8, 0x370(r11)
+/* 802D8B10 002D4770 38 8B 05 D4 */ addi r4, r11, 0x5d4
+/* 802D8B14 002D4774 38 C6 01 78 */ addi r6, r6, 0x178
+/* 802D8B18 002D4778 7D 0B 1A 14 */ add r8, r11, r3
+/* 802D8B1C 002D477C 1D 20 00 7C */ mulli r9, r0, 0x7c
+/* 802D8B20 002D4780 90 CB 03 EC */ stw r6, 0x3ec(r11)
+/* 802D8B24 002D4784 39 48 01 78 */ addi r10, r8, 0x178
+/* 802D8B28 002D4788 91 4B 04 68 */ stw r10, 0x468(r11)
+/* 802D8B2C 002D478C 38 60 00 00 */ li r3, 0
+/* 802D8B30 002D4790 1C C7 00 7C */ mulli r6, r7, 0x7c
+/* 802D8B34 002D4794 7D 0B 4A 14 */ add r8, r11, r9
+/* 802D8B38 002D4798 38 00 00 02 */ li r0, 2
+/* 802D8B3C 002D479C 39 08 01 78 */ addi r8, r8, 0x178
+/* 802D8B40 002D47A0 7C CB 32 14 */ add r6, r11, r6
+/* 802D8B44 002D47A4 91 0B 04 E4 */ stw r8, 0x4e4(r11)
+/* 802D8B48 002D47A8 38 C6 01 78 */ addi r6, r6, 0x178
+/* 802D8B4C 002D47AC 90 CB 05 60 */ stw r6, 0x560(r11)
+/* 802D8B50 002D47B0 90 AB 07 B0 */ stw r5, 0x7b0(r11)
+/* 802D8B54 002D47B4 90 8B 07 B4 */ stw r4, 0x7b4(r11)
+/* 802D8B58 002D47B8 98 6B 00 01 */ stb r3, 1(r11)
+/* 802D8B5C 002D47BC B0 0B 07 BA */ sth r0, 0x7ba(r11)
+/* 802D8B60 002D47C0 98 7F BC 40 */ stb r3, -0x43c0(r31)
+/* 802D8B64 002D47C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D8B68 002D47C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D8B6C 002D47CC 7C 08 03 A6 */ mtlr r0
+/* 802D8B70 002D47D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D8B74 002D47D4 4E 80 00 20 */ blr
+
+.global l2c_rcv_acl_data
+l2c_rcv_acl_data:
+/* 802D8B78 002D47D8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802D8B7C 002D47DC 7C 08 02 A6 */ mflr r0
+/* 802D8B80 002D47E0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D8B84 002D47E4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D8B88 002D47E8 4B EE E5 95 */ bl _savegpr_24
+/* 802D8B8C 002D47EC A0 03 00 04 */ lhz r0, 4(r3)
+/* 802D8B90 002D47F0 3F C0 80 44 */ lis r30, lbl_80443E78@ha
+/* 802D8B94 002D47F4 7C 7B 1B 78 */ mr r27, r3
+/* 802D8B98 002D47F8 3B 80 00 00 */ li r28, 0
+/* 802D8B9C 002D47FC 7F E3 02 14 */ add r31, r3, r0
+/* 802D8BA0 002D4800 3B DE 3E 78 */ addi r30, r30, lbl_80443E78@l
+/* 802D8BA4 002D4804 88 1F 00 09 */ lbz r0, 9(r31)
+/* 802D8BA8 002D4808 88 7F 00 08 */ lbz r3, 8(r31)
+/* 802D8BAC 002D480C 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8BB0 002D4810 7C 03 02 14 */ add r0, r3, r0
+/* 802D8BB4 002D4814 54 05 A7 BE */ rlwinm r5, r0, 0x14, 0x1e, 0x1f
+/* 802D8BB8 002D4818 28 05 00 02 */ cmplwi r5, 2
+/* 802D8BBC 002D481C 54 1A 05 3E */ clrlwi r26, r0, 0x14
+/* 802D8BC0 002D4820 41 82 00 30 */ beq lbl_802D8BF0
+/* 802D8BC4 002D4824 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8BC8 002D4828 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8BCC 002D482C 28 00 00 02 */ cmplwi r0, 2
+/* 802D8BD0 002D4830 41 80 00 14 */ blt lbl_802D8BE4
+/* 802D8BD4 002D4834 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D8BD8 002D4838 38 9E 00 00 */ addi r4, r30, 0
+/* 802D8BDC 002D483C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D8BE0 002D4840 4B FE 43 49 */ bl LogMsg_1
+lbl_802D8BE4:
+/* 802D8BE4 002D4844 7F 63 DB 78 */ mr r3, r27
+/* 802D8BE8 002D4848 4B FE 11 4D */ bl GKI_freebuf
+/* 802D8BEC 002D484C 48 00 02 A4 */ b lbl_802D8E90
+lbl_802D8BF0:
+/* 802D8BF0 002D4850 7F 43 D3 78 */ mr r3, r26
+/* 802D8BF4 002D4854 48 00 10 FD */ bl l2cu_find_lcb_by_handle
+/* 802D8BF8 002D4858 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8BFC 002D485C 7C 7D 1B 78 */ mr r29, r3
+/* 802D8C00 002D4860 40 82 00 D0 */ bne lbl_802D8CD0
+/* 802D8C04 002D4864 88 7F 00 0F */ lbz r3, 0xf(r31)
+/* 802D8C08 002D4868 A0 1B 00 06 */ lhz r0, 6(r27)
+/* 802D8C0C 002D486C 88 9F 00 0E */ lbz r4, 0xe(r31)
+/* 802D8C10 002D4870 54 63 40 2E */ slwi r3, r3, 8
+/* 802D8C14 002D4874 2C 00 00 00 */ cmpwi r0, 0
+/* 802D8C18 002D4878 8B 9F 00 10 */ lbz r28, 0x10(r31)
+/* 802D8C1C 002D487C 7C 04 1A 14 */ add r0, r4, r3
+/* 802D8C20 002D4880 54 18 04 3E */ clrlwi r24, r0, 0x10
+/* 802D8C24 002D4884 40 82 00 A0 */ bne lbl_802D8CC4
+/* 802D8C28 002D4888 28 18 00 01 */ cmplwi r24, 1
+/* 802D8C2C 002D488C 40 82 00 98 */ bne lbl_802D8CC4
+/* 802D8C30 002D4890 28 1C 00 0A */ cmplwi r28, 0xa
+/* 802D8C34 002D4894 41 82 00 0C */ beq lbl_802D8C40
+/* 802D8C38 002D4898 28 1C 00 02 */ cmplwi r28, 2
+/* 802D8C3C 002D489C 40 82 00 88 */ bne lbl_802D8CC4
+lbl_802D8C40:
+/* 802D8C40 002D48A0 7F 43 D3 78 */ mr r3, r26
+/* 802D8C44 002D48A4 4B FF 38 75 */ bl btm_sec_is_bonding
+/* 802D8C48 002D48A8 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802D8C4C 002D48AC 40 82 00 78 */ bne lbl_802D8CC4
+/* 802D8C50 002D48B0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8C54 002D48B4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8C58 002D48B8 28 00 00 02 */ cmplwi r0, 2
+/* 802D8C5C 002D48BC 41 80 00 2C */ blt lbl_802D8C88
+/* 802D8C60 002D48C0 38 63 BC 40 */ addi r3, r3, -17344
+/* 802D8C64 002D48C4 3C 80 00 08 */ lis r4, 0x00080001@ha
+/* 802D8C68 002D48C8 A1 23 07 C8 */ lhz r9, 0x7c8(r3)
+/* 802D8C6C 002D48CC 38 64 00 01 */ addi r3, r4, 0x00080001@l
+/* 802D8C70 002D48D0 A0 DB 00 06 */ lhz r6, 6(r27)
+/* 802D8C74 002D48D4 7F 45 D3 78 */ mr r5, r26
+/* 802D8C78 002D48D8 7F 07 C3 78 */ mr r7, r24
+/* 802D8C7C 002D48DC 7F 88 E3 78 */ mr r8, r28
+/* 802D8C80 002D48E0 38 9E 00 24 */ addi r4, r30, 0x24
+/* 802D8C84 002D48E4 4B FE 43 05 */ bl LogMsg_5
+lbl_802D8C88:
+/* 802D8C88 002D48E8 38 00 00 02 */ li r0, 2
+/* 802D8C8C 002D48EC 3F 80 80 57 */ lis r28, lbl_8056BC40@ha
+/* 802D8C90 002D48F0 3B 9C BC 40 */ addi r28, r28, lbl_8056BC40@l
+/* 802D8C94 002D48F4 B0 1B 00 06 */ sth r0, 6(r27)
+/* 802D8C98 002D48F8 7F 64 DB 78 */ mr r4, r27
+/* 802D8C9C 002D48FC 38 7C 07 C0 */ addi r3, r28, 0x7c0
+/* 802D8CA0 002D4900 4B FE 14 B5 */ bl GKI_enqueue
+/* 802D8CA4 002D4904 A0 1C 07 C8 */ lhz r0, 0x7c8(r28)
+/* 802D8CA8 002D4908 28 00 00 01 */ cmplwi r0, 1
+/* 802D8CAC 002D490C 40 82 01 E4 */ bne lbl_802D8E90
+/* 802D8CB0 002D4910 38 7C 07 CC */ addi r3, r28, 0x7cc
+/* 802D8CB4 002D4914 38 80 00 04 */ li r4, 4
+/* 802D8CB8 002D4918 38 A0 00 01 */ li r5, 1
+/* 802D8CBC 002D491C 4B FE 48 21 */ bl btu_start_timer
+/* 802D8CC0 002D4920 48 00 01 D0 */ b lbl_802D8E90
+lbl_802D8CC4:
+/* 802D8CC4 002D4924 7F 63 DB 78 */ mr r3, r27
+/* 802D8CC8 002D4928 4B FE 10 6D */ bl GKI_freebuf
+/* 802D8CCC 002D492C 48 00 01 C4 */ b lbl_802D8E90
+lbl_802D8CD0:
+/* 802D8CD0 002D4930 A0 9B 00 04 */ lhz r4, 4(r27)
+/* 802D8CD4 002D4934 88 BF 00 0B */ lbz r5, 0xb(r31)
+/* 802D8CD8 002D4938 38 04 00 04 */ addi r0, r4, 4
+/* 802D8CDC 002D493C 88 DF 00 0A */ lbz r6, 0xa(r31)
+/* 802D8CE0 002D4940 54 A4 40 2E */ slwi r4, r5, 8
+/* 802D8CE4 002D4944 B0 1B 00 04 */ sth r0, 4(r27)
+/* 802D8CE8 002D4948 7C 06 22 14 */ add r0, r6, r4
+/* 802D8CEC 002D494C 54 19 04 3E */ clrlwi r25, r0, 0x10
+/* 802D8CF0 002D4950 88 1F 00 0F */ lbz r0, 0xf(r31)
+/* 802D8CF4 002D4954 88 9F 00 0E */ lbz r4, 0xe(r31)
+/* 802D8CF8 002D4958 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8CFC 002D495C 88 BF 00 0D */ lbz r5, 0xd(r31)
+/* 802D8D00 002D4960 7C 04 02 14 */ add r0, r4, r0
+/* 802D8D04 002D4964 88 9F 00 0C */ lbz r4, 0xc(r31)
+/* 802D8D08 002D4968 54 1A 04 3E */ clrlwi r26, r0, 0x10
+/* 802D8D0C 002D496C 54 A0 40 2E */ slwi r0, r5, 8
+/* 802D8D10 002D4970 7C 04 02 14 */ add r0, r4, r0
+/* 802D8D14 002D4974 28 1A 00 02 */ cmplwi r26, 2
+/* 802D8D18 002D4978 54 18 04 3E */ clrlwi r24, r0, 0x10
+/* 802D8D1C 002D497C 40 81 00 48 */ ble lbl_802D8D64
+/* 802D8D20 002D4980 7F 44 D3 78 */ mr r4, r26
+/* 802D8D24 002D4984 48 00 24 21 */ bl l2cu_find_ccb_by_cid
+/* 802D8D28 002D4988 2C 03 00 00 */ cmpwi r3, 0
+/* 802D8D2C 002D498C 7C 7C 1B 78 */ mr r28, r3
+/* 802D8D30 002D4990 40 82 00 34 */ bne lbl_802D8D64
+/* 802D8D34 002D4994 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8D38 002D4998 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8D3C 002D499C 28 00 00 02 */ cmplwi r0, 2
+/* 802D8D40 002D49A0 41 80 00 18 */ blt lbl_802D8D58
+/* 802D8D44 002D49A4 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D8D48 002D49A8 7F 45 D3 78 */ mr r5, r26
+/* 802D8D4C 002D49AC 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D8D50 002D49B0 38 9E 00 78 */ addi r4, r30, 0x78
+/* 802D8D54 002D49B4 4B FE 41 D5 */ bl LogMsg_1
+lbl_802D8D58:
+/* 802D8D58 002D49B8 7F 63 DB 78 */ mr r3, r27
+/* 802D8D5C 002D49BC 4B FE 0F D9 */ bl GKI_freebuf
+/* 802D8D60 002D49C0 48 00 01 30 */ b lbl_802D8E90
+lbl_802D8D64:
+/* 802D8D64 002D49C4 28 19 00 04 */ cmplwi r25, 4
+/* 802D8D68 002D49C8 41 80 00 1C */ blt lbl_802D8D84
+/* 802D8D6C 002D49CC A0 7B 00 04 */ lhz r3, 4(r27)
+/* 802D8D70 002D49D0 38 99 FF FC */ addi r4, r25, -4
+/* 802D8D74 002D49D4 B0 9B 00 02 */ sth r4, 2(r27)
+/* 802D8D78 002D49D8 38 03 00 04 */ addi r0, r3, 4
+/* 802D8D7C 002D49DC B0 1B 00 04 */ sth r0, 4(r27)
+/* 802D8D80 002D49E0 48 00 00 30 */ b lbl_802D8DB0
+lbl_802D8D84:
+/* 802D8D84 002D49E4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8D88 002D49E8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8D8C 002D49EC 28 00 00 02 */ cmplwi r0, 2
+/* 802D8D90 002D49F0 41 80 00 14 */ blt lbl_802D8DA4
+/* 802D8D94 002D49F4 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D8D98 002D49F8 38 9E 00 90 */ addi r4, r30, 0x90
+/* 802D8D9C 002D49FC 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D8DA0 002D4A00 4B FE 41 71 */ bl LogMsg_0
+lbl_802D8DA4:
+/* 802D8DA4 002D4A04 7F 63 DB 78 */ mr r3, r27
+/* 802D8DA8 002D4A08 4B FE 0F 8D */ bl GKI_freebuf
+/* 802D8DAC 002D4A0C 48 00 00 E4 */ b lbl_802D8E90
+lbl_802D8DB0:
+/* 802D8DB0 002D4A10 54 86 04 3E */ clrlwi r6, r4, 0x10
+/* 802D8DB4 002D4A14 7C 18 30 40 */ cmplw r24, r6
+/* 802D8DB8 002D4A18 41 82 00 34 */ beq lbl_802D8DEC
+/* 802D8DBC 002D4A1C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8DC0 002D4A20 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8DC4 002D4A24 28 00 00 02 */ cmplwi r0, 2
+/* 802D8DC8 002D4A28 41 80 00 18 */ blt lbl_802D8DE0
+/* 802D8DCC 002D4A2C 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D8DD0 002D4A30 7F 05 C3 78 */ mr r5, r24
+/* 802D8DD4 002D4A34 38 9E 00 B4 */ addi r4, r30, 0xb4
+/* 802D8DD8 002D4A38 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D8DDC 002D4A3C 4B FE 41 65 */ bl LogMsg_2
+lbl_802D8DE0:
+/* 802D8DE0 002D4A40 7F 63 DB 78 */ mr r3, r27
+/* 802D8DE4 002D4A44 4B FE 0F 51 */ bl GKI_freebuf
+/* 802D8DE8 002D4A48 48 00 00 A8 */ b lbl_802D8E90
+lbl_802D8DEC:
+/* 802D8DEC 002D4A4C 28 1A 00 01 */ cmplwi r26, 1
+/* 802D8DF0 002D4A50 40 82 00 20 */ bne lbl_802D8E10
+/* 802D8DF4 002D4A54 7F A3 EB 78 */ mr r3, r29
+/* 802D8DF8 002D4A58 7F 05 C3 78 */ mr r5, r24
+/* 802D8DFC 002D4A5C 38 9F 00 10 */ addi r4, r31, 0x10
+/* 802D8E00 002D4A60 48 00 00 A9 */ bl process_l2cap_cmd
+/* 802D8E04 002D4A64 7F 63 DB 78 */ mr r3, r27
+/* 802D8E08 002D4A68 4B FE 0F 2D */ bl GKI_freebuf
+/* 802D8E0C 002D4A6C 48 00 00 84 */ b lbl_802D8E90
+lbl_802D8E10:
+/* 802D8E10 002D4A70 28 1A 00 02 */ cmplwi r26, 2
+/* 802D8E14 002D4A74 40 82 00 58 */ bne lbl_802D8E6C
+/* 802D8E18 002D4A78 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802D8E1C 002D4A7C 88 9F 00 11 */ lbz r4, 0x11(r31)
+/* 802D8E20 002D4A80 88 BF 00 10 */ lbz r5, 0x10(r31)
+/* 802D8E24 002D4A84 38 63 00 02 */ addi r3, r3, 2
+/* 802D8E28 002D4A88 38 06 FF FE */ addi r0, r6, -2
+/* 802D8E2C 002D4A8C 54 84 40 2E */ slwi r4, r4, 8
+/* 802D8E30 002D4A90 B0 7B 00 04 */ sth r3, 4(r27)
+/* 802D8E34 002D4A94 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8E38 002D4A98 7C 85 22 14 */ add r4, r5, r4
+/* 802D8E3C 002D4A9C B0 1B 00 02 */ sth r0, 2(r27)
+/* 802D8E40 002D4AA0 54 85 04 3E */ clrlwi r5, r4, 0x10
+/* 802D8E44 002D4AA4 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8E48 002D4AA8 28 00 00 05 */ cmplwi r0, 5
+/* 802D8E4C 002D4AAC 41 80 00 14 */ blt lbl_802D8E60
+/* 802D8E50 002D4AB0 3C 60 00 08 */ lis r3, 0x00080004@ha
+/* 802D8E54 002D4AB4 38 9E 00 E0 */ addi r4, r30, 0xe0
+/* 802D8E58 002D4AB8 38 63 00 04 */ addi r3, r3, 0x00080004@l
+/* 802D8E5C 002D4ABC 4B FE 40 CD */ bl LogMsg_1
+lbl_802D8E60:
+/* 802D8E60 002D4AC0 7F 63 DB 78 */ mr r3, r27
+/* 802D8E64 002D4AC4 4B FE 0E D1 */ bl GKI_freebuf
+/* 802D8E68 002D4AC8 48 00 00 28 */ b lbl_802D8E90
+lbl_802D8E6C:
+/* 802D8E6C 002D4ACC 2C 1C 00 00 */ cmpwi r28, 0
+/* 802D8E70 002D4AD0 40 82 00 10 */ bne lbl_802D8E80
+/* 802D8E74 002D4AD4 7F 63 DB 78 */ mr r3, r27
+/* 802D8E78 002D4AD8 4B FE 0E BD */ bl GKI_freebuf
+/* 802D8E7C 002D4ADC 48 00 00 14 */ b lbl_802D8E90
+lbl_802D8E80:
+/* 802D8E80 002D4AE0 7F 83 E3 78 */ mr r3, r28
+/* 802D8E84 002D4AE4 7F 65 DB 78 */ mr r5, r27
+/* 802D8E88 002D4AE8 38 80 00 13 */ li r4, 0x13
+/* 802D8E8C 002D4AEC 4B FF D5 71 */ bl l2c_csm_execute
+lbl_802D8E90:
+/* 802D8E90 002D4AF0 39 61 00 30 */ addi r11, r1, 0x30
+/* 802D8E94 002D4AF4 4B EE E2 D5 */ bl _restgpr_24
+/* 802D8E98 002D4AF8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802D8E9C 002D4AFC 7C 08 03 A6 */ mtlr r0
+/* 802D8EA0 002D4B00 38 21 00 30 */ addi r1, r1, 0x30
+/* 802D8EA4 002D4B04 4E 80 00 20 */ blr
+
+.global process_l2cap_cmd
+process_l2cap_cmd:
+/* 802D8EA8 002D4B08 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 802D8EAC 002D4B0C 7C 08 02 A6 */ mflr r0
+/* 802D8EB0 002D4B10 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 802D8EB4 002D4B14 39 61 00 A0 */ addi r11, r1, 0xa0
+/* 802D8EB8 002D4B18 4B EE E2 3D */ bl __save_gpr
+/* 802D8EBC 002D4B1C 7E C4 2A 14 */ add r22, r4, r5
+/* 802D8EC0 002D4B20 3E E0 80 44 */ lis r23, lbl_80443E78@ha
+/* 802D8EC4 002D4B24 3F C0 80 57 */ lis r30, lbl_80568650@ha
+/* 802D8EC8 002D4B28 7C 95 23 78 */ mr r21, r4
+/* 802D8ECC 002D4B2C 3B E0 00 00 */ li r31, 0
+/* 802D8ED0 002D4B30 7C 6F 1B 78 */ mr r15, r3
+/* 802D8ED4 002D4B34 7C AE 2B 78 */ mr r14, r5
+/* 802D8ED8 002D4B38 3A F7 3E 78 */ addi r23, r23, lbl_80443E78@l
+/* 802D8EDC 002D4B3C 3B DE 86 50 */ addi r30, r30, lbl_80568650@l
+/* 802D8EE0 002D4B40 3B 16 FF FC */ addi r24, r22, -4
+/* 802D8EE4 002D4B44 3B 80 00 01 */ li r28, 1
+/* 802D8EE8 002D4B48 3F A0 00 08 */ lis r29, 8
+/* 802D8EEC 002D4B4C 3F 60 80 57 */ lis r27, 0x8057
+/* 802D8EF0 002D4B50 3F 40 80 44 */ lis r26, 0x8044
+lbl_802D8EF4:
+/* 802D8EF4 002D4B54 7C 15 C0 40 */ cmplw r21, r24
+/* 802D8EF8 002D4B58 7E B0 AB 78 */ mr r16, r21
+/* 802D8EFC 002D4B5C 41 81 0A 04 */ bgt lbl_802D9900
+/* 802D8F00 002D4B60 88 15 00 03 */ lbz r0, 3(r21)
+/* 802D8F04 002D4B64 88 75 00 02 */ lbz r3, 2(r21)
+/* 802D8F08 002D4B68 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8F0C 002D4B6C 88 F5 00 00 */ lbz r7, 0(r21)
+/* 802D8F10 002D4B70 7C 03 02 14 */ add r0, r3, r0
+/* 802D8F14 002D4B74 8B 35 00 01 */ lbz r25, 1(r21)
+/* 802D8F18 002D4B78 54 11 04 3E */ clrlwi r17, r0, 0x10
+/* 802D8F1C 002D4B7C 7C 75 8A 14 */ add r3, r21, r17
+/* 802D8F20 002D4B80 3A A3 00 04 */ addi r21, r3, 4
+/* 802D8F24 002D4B84 7C 15 B0 40 */ cmplw r21, r22
+/* 802D8F28 002D4B88 40 81 00 30 */ ble lbl_802D8F58
+/* 802D8F2C 002D4B8C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D8F30 002D4B90 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D8F34 002D4B94 28 00 00 02 */ cmplwi r0, 2
+/* 802D8F38 002D4B98 41 80 09 C8 */ blt lbl_802D9900
+/* 802D8F3C 002D4B9C 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D8F40 002D4BA0 7D C5 73 78 */ mr r5, r14
+/* 802D8F44 002D4BA4 7E 26 8B 78 */ mr r6, r17
+/* 802D8F48 002D4BA8 38 97 01 00 */ addi r4, r23, 0x100
+/* 802D8F4C 002D4BAC 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D8F50 002D4BB0 4B FE 40 09 */ bl LogMsg_3
+/* 802D8F54 002D4BB4 48 00 09 AC */ b lbl_802D9900
+lbl_802D8F58:
+/* 802D8F58 002D4BB8 28 07 00 0B */ cmplwi r7, 0xb
+/* 802D8F5C 002D4BBC 41 81 09 68 */ bgt lbl_802D98C4
+/* 802D8F60 002D4BC0 38 7A 41 1C */ addi r3, r26, 0x411c
+/* 802D8F64 002D4BC4 54 E0 10 3A */ slwi r0, r7, 2
+/* 802D8F68 002D4BC8 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802D8F6C 002D4BCC 7C 69 03 A6 */ mtctr r3
+/* 802D8F70 002D4BD0 4E 80 04 20 */ bctr
+/* 802D8F74 002D4BD4 88 10 00 05 */ lbz r0, 5(r16)
+/* 802D8F78 002D4BD8 88 70 00 04 */ lbz r3, 4(r16)
+/* 802D8F7C 002D4BDC 3A 10 00 06 */ addi r16, r16, 6
+/* 802D8F80 002D4BE0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D8F84 002D4BE4 7C 03 02 14 */ add r0, r3, r0
+/* 802D8F88 002D4BE8 54 11 04 3E */ clrlwi r17, r0, 0x10
+/* 802D8F8C 002D4BEC 28 11 00 01 */ cmplwi r17, 1
+/* 802D8F90 002D4BF0 40 82 00 38 */ bne lbl_802D8FC8
+/* 802D8F94 002D4BF4 88 70 00 01 */ lbz r3, 1(r16)
+/* 802D8F98 002D4BF8 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D8F9C 002D4BFC 88 90 00 00 */ lbz r4, 0(r16)
+/* 802D8FA0 002D4C00 54 63 40 2E */ slwi r3, r3, 8
+/* 802D8FA4 002D4C04 28 00 00 02 */ cmplwi r0, 2
+/* 802D8FA8 002D4C08 3A 10 00 02 */ addi r16, r16, 2
+/* 802D8FAC 002D4C0C 7C 04 1A 14 */ add r0, r4, r3
+/* 802D8FB0 002D4C10 54 06 04 3E */ clrlwi r6, r0, 0x10
+/* 802D8FB4 002D4C14 41 80 00 14 */ blt lbl_802D8FC8
+/* 802D8FB8 002D4C18 A0 AF 00 28 */ lhz r5, 0x28(r15)
+/* 802D8FBC 002D4C1C 38 7D 00 01 */ addi r3, r29, 1
+/* 802D8FC0 002D4C20 38 97 01 34 */ addi r4, r23, 0x134
+/* 802D8FC4 002D4C24 4B FE 3F 7D */ bl LogMsg_2
+lbl_802D8FC8:
+/* 802D8FC8 002D4C28 28 11 00 02 */ cmplwi r17, 2
+/* 802D8FCC 002D4C2C 40 82 FF 28 */ bne lbl_802D8EF4
+/* 802D8FD0 002D4C30 88 90 00 01 */ lbz r4, 1(r16)
+/* 802D8FD4 002D4C34 88 70 00 03 */ lbz r3, 3(r16)
+/* 802D8FD8 002D4C38 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D8FDC 002D4C3C 54 85 40 2E */ slwi r5, r4, 8
+/* 802D8FE0 002D4C40 88 D0 00 00 */ lbz r6, 0(r16)
+/* 802D8FE4 002D4C44 54 63 40 2E */ slwi r3, r3, 8
+/* 802D8FE8 002D4C48 88 90 00 02 */ lbz r4, 2(r16)
+/* 802D8FEC 002D4C4C 28 00 00 02 */ cmplwi r0, 2
+/* 802D8FF0 002D4C50 7C A6 2A 14 */ add r5, r6, r5
+/* 802D8FF4 002D4C54 7C 04 1A 14 */ add r0, r4, r3
+/* 802D8FF8 002D4C58 54 B1 04 3E */ clrlwi r17, r5, 0x10
+/* 802D8FFC 002D4C5C 54 10 04 3E */ clrlwi r16, r0, 0x10
+/* 802D9000 002D4C60 41 80 00 18 */ blt lbl_802D9018
+/* 802D9004 002D4C64 7E 05 83 78 */ mr r5, r16
+/* 802D9008 002D4C68 7E 26 8B 78 */ mr r6, r17
+/* 802D900C 002D4C6C 38 7D 00 01 */ addi r3, r29, 1
+/* 802D9010 002D4C70 38 97 01 58 */ addi r4, r23, 0x158
+/* 802D9014 002D4C74 4B FE 3F 2D */ bl LogMsg_2
+lbl_802D9018:
+/* 802D9018 002D4C78 7D E3 7B 78 */ mr r3, r15
+/* 802D901C 002D4C7C 7E 04 83 78 */ mr r4, r16
+/* 802D9020 002D4C80 48 00 21 25 */ bl l2cu_find_ccb_by_cid
+/* 802D9024 002D4C84 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9028 002D4C88 41 82 FE CC */ beq lbl_802D8EF4
+/* 802D902C 002D4C8C A0 03 00 16 */ lhz r0, 0x16(r3)
+/* 802D9030 002D4C90 7C 00 88 40 */ cmplw r0, r17
+/* 802D9034 002D4C94 40 82 FE C0 */ bne lbl_802D8EF4
+/* 802D9038 002D4C98 38 80 00 03 */ li r4, 3
+/* 802D903C 002D4C9C 38 A0 00 00 */ li r5, 0
+/* 802D9040 002D4CA0 4B FF D3 BD */ bl l2c_csm_execute
+/* 802D9044 002D4CA4 4B FF FE B0 */ b lbl_802D8EF4
+/* 802D9048 002D4CA8 88 10 00 05 */ lbz r0, 5(r16)
+/* 802D904C 002D4CAC 88 70 00 04 */ lbz r3, 4(r16)
+/* 802D9050 002D4CB0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9054 002D4CB4 7C 03 02 14 */ add r0, r3, r0
+/* 802D9058 002D4CB8 B0 01 00 10 */ sth r0, 0x10(r1)
+/* 802D905C 002D4CBC 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802D9060 002D4CC0 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D9064 002D4CC4 88 90 00 06 */ lbz r4, 6(r16)
+/* 802D9068 002D4CC8 54 00 40 2E */ slwi r0, r0, 8
+/* 802D906C 002D4CCC 7C 04 02 14 */ add r0, r4, r0
+/* 802D9070 002D4CD0 54 11 04 3E */ clrlwi r17, r0, 0x10
+/* 802D9074 002D4CD4 48 00 21 89 */ bl l2cu_find_rcb_by_psm
+/* 802D9078 002D4CD8 2C 03 00 00 */ cmpwi r3, 0
+/* 802D907C 002D4CDC 7C 70 1B 78 */ mr r16, r3
+/* 802D9080 002D4CE0 40 82 00 38 */ bne lbl_802D90B8
+/* 802D9084 002D4CE4 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D9088 002D4CE8 28 00 00 02 */ cmplwi r0, 2
+/* 802D908C 002D4CEC 41 80 00 14 */ blt lbl_802D90A0
+/* 802D9090 002D4CF0 A0 A1 00 10 */ lhz r5, 0x10(r1)
+/* 802D9094 002D4CF4 38 7D 00 01 */ addi r3, r29, 1
+/* 802D9098 002D4CF8 38 97 01 88 */ addi r4, r23, 0x188
+/* 802D909C 002D4CFC 4B FE 3E 8D */ bl LogMsg_1
+lbl_802D90A0:
+/* 802D90A0 002D4D00 7D E3 7B 78 */ mr r3, r15
+/* 802D90A4 002D4D04 7E 24 8B 78 */ mr r4, r17
+/* 802D90A8 002D4D08 7F 25 CB 78 */ mr r5, r25
+/* 802D90AC 002D4D0C 38 C0 00 02 */ li r6, 2
+/* 802D90B0 002D4D10 48 00 10 3D */ bl l2cu_reject_connection
+/* 802D90B4 002D4D14 4B FF FE 40 */ b lbl_802D8EF4
+lbl_802D90B8:
+/* 802D90B8 002D4D18 7D E3 7B 78 */ mr r3, r15
+/* 802D90BC 002D4D1C 48 00 1D D9 */ bl l2cu_allocate_ccb
+/* 802D90C0 002D4D20 2C 03 00 00 */ cmpwi r3, 0
+/* 802D90C4 002D4D24 40 82 00 34 */ bne lbl_802D90F8
+/* 802D90C8 002D4D28 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D90CC 002D4D2C 28 00 00 01 */ cmplwi r0, 1
+/* 802D90D0 002D4D30 41 80 00 10 */ blt lbl_802D90E0
+/* 802D90D4 002D4D34 38 97 01 B4 */ addi r4, r23, 0x1b4
+/* 802D90D8 002D4D38 3C 60 00 08 */ lis r3, 8
+/* 802D90DC 002D4D3C 4B FE 3E 35 */ bl LogMsg_0
+lbl_802D90E0:
+/* 802D90E0 002D4D40 7D E3 7B 78 */ mr r3, r15
+/* 802D90E4 002D4D44 7E 24 8B 78 */ mr r4, r17
+/* 802D90E8 002D4D48 7F 25 CB 78 */ mr r5, r25
+/* 802D90EC 002D4D4C 38 C0 00 04 */ li r6, 4
+/* 802D90F0 002D4D50 48 00 0F FD */ bl l2cu_reject_connection
+/* 802D90F4 002D4D54 4B FF FE 00 */ b lbl_802D8EF4
+lbl_802D90F8:
+/* 802D90F8 002D4D58 9B 23 00 36 */ stb r25, 0x36(r3)
+/* 802D90FC 002D4D5C 38 A1 00 08 */ addi r5, r1, 8
+/* 802D9100 002D4D60 38 80 00 0A */ li r4, 0xa
+/* 802D9104 002D4D64 92 03 00 30 */ stw r16, 0x30(r3)
+/* 802D9108 002D4D68 B2 23 00 16 */ sth r17, 0x16(r3)
+/* 802D910C 002D4D6C 4B FF D2 F1 */ bl l2c_csm_execute
+/* 802D9110 002D4D70 4B FF FD E4 */ b lbl_802D8EF4
+/* 802D9114 002D4D74 88 10 00 05 */ lbz r0, 5(r16)
+/* 802D9118 002D4D78 7D E3 7B 78 */ mr r3, r15
+/* 802D911C 002D4D7C 88 90 00 04 */ lbz r4, 4(r16)
+/* 802D9120 002D4D80 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9124 002D4D84 7C 04 02 14 */ add r0, r4, r0
+/* 802D9128 002D4D88 B0 01 00 16 */ sth r0, 0x16(r1)
+/* 802D912C 002D4D8C 88 10 00 09 */ lbz r0, 9(r16)
+/* 802D9130 002D4D90 88 90 00 08 */ lbz r4, 8(r16)
+/* 802D9134 002D4D94 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9138 002D4D98 88 B0 00 07 */ lbz r5, 7(r16)
+/* 802D913C 002D4D9C 7C 04 02 14 */ add r0, r4, r0
+/* 802D9140 002D4DA0 88 D0 00 06 */ lbz r6, 6(r16)
+/* 802D9144 002D4DA4 54 A4 40 2E */ slwi r4, r5, 8
+/* 802D9148 002D4DA8 B0 01 00 12 */ sth r0, 0x12(r1)
+/* 802D914C 002D4DAC 7C 06 22 14 */ add r0, r6, r4
+/* 802D9150 002D4DB0 54 11 04 3E */ clrlwi r17, r0, 0x10
+/* 802D9154 002D4DB4 88 10 00 0B */ lbz r0, 0xb(r16)
+/* 802D9158 002D4DB8 7E 24 8B 78 */ mr r4, r17
+/* 802D915C 002D4DBC 88 B0 00 0A */ lbz r5, 0xa(r16)
+/* 802D9160 002D4DC0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9164 002D4DC4 7C 05 02 14 */ add r0, r5, r0
+/* 802D9168 002D4DC8 B0 01 00 14 */ sth r0, 0x14(r1)
+/* 802D916C 002D4DCC 48 00 1F D9 */ bl l2cu_find_ccb_by_cid
+/* 802D9170 002D4DD0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9174 002D4DD4 40 82 00 28 */ bne lbl_802D919C
+/* 802D9178 002D4DD8 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D917C 002D4DDC 28 00 00 02 */ cmplwi r0, 2
+/* 802D9180 002D4DE0 41 80 FD 74 */ blt lbl_802D8EF4
+/* 802D9184 002D4DE4 A0 C1 00 16 */ lhz r6, 0x16(r1)
+/* 802D9188 002D4DE8 7E 25 8B 78 */ mr r5, r17
+/* 802D918C 002D4DEC 38 7D 00 01 */ addi r3, r29, 1
+/* 802D9190 002D4DF0 38 97 01 D4 */ addi r4, r23, 0x1d4
+/* 802D9194 002D4DF4 4B FE 3D AD */ bl LogMsg_2
+/* 802D9198 002D4DF8 4B FF FD 5C */ b lbl_802D8EF4
+lbl_802D919C:
+/* 802D919C 002D4DFC 88 A3 00 35 */ lbz r5, 0x35(r3)
+/* 802D91A0 002D4E00 7C 05 C8 40 */ cmplw r5, r25
+/* 802D91A4 002D4E04 41 82 00 24 */ beq lbl_802D91C8
+/* 802D91A8 002D4E08 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D91AC 002D4E0C 28 00 00 02 */ cmplwi r0, 2
+/* 802D91B0 002D4E10 41 80 FD 44 */ blt lbl_802D8EF4
+/* 802D91B4 002D4E14 7F 26 CB 78 */ mr r6, r25
+/* 802D91B8 002D4E18 38 7D 00 01 */ addi r3, r29, 1
+/* 802D91BC 002D4E1C 38 97 02 04 */ addi r4, r23, 0x204
+/* 802D91C0 002D4E20 4B FE 3D 81 */ bl LogMsg_2
+/* 802D91C4 002D4E24 4B FF FD 30 */ b lbl_802D8EF4
+lbl_802D91C8:
+/* 802D91C8 002D4E28 A0 01 00 12 */ lhz r0, 0x12(r1)
+/* 802D91CC 002D4E2C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D91D0 002D4E30 40 82 00 14 */ bne lbl_802D91E4
+/* 802D91D4 002D4E34 38 A1 00 08 */ addi r5, r1, 8
+/* 802D91D8 002D4E38 38 80 00 0B */ li r4, 0xb
+/* 802D91DC 002D4E3C 4B FF D2 21 */ bl l2c_csm_execute
+/* 802D91E0 002D4E40 4B FF FD 14 */ b lbl_802D8EF4
+lbl_802D91E4:
+/* 802D91E4 002D4E44 28 00 00 01 */ cmplwi r0, 1
+/* 802D91E8 002D4E48 40 82 00 14 */ bne lbl_802D91FC
+/* 802D91EC 002D4E4C 38 A1 00 08 */ addi r5, r1, 8
+/* 802D91F0 002D4E50 38 80 00 0C */ li r4, 0xc
+/* 802D91F4 002D4E54 4B FF D2 09 */ bl l2c_csm_execute
+/* 802D91F8 002D4E58 4B FF FC FC */ b lbl_802D8EF4
+lbl_802D91FC:
+/* 802D91FC 002D4E5C 38 A1 00 08 */ addi r5, r1, 8
+/* 802D9200 002D4E60 38 80 00 0D */ li r4, 0xd
+/* 802D9204 002D4E64 4B FF D1 F9 */ bl l2c_csm_execute
+/* 802D9208 002D4E68 4B FF FC EC */ b lbl_802D8EF4
+/* 802D920C 002D4E6C 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D9210 002D4E70 3A 60 00 00 */ li r19, 0
+/* 802D9214 002D4E74 88 90 00 05 */ lbz r4, 5(r16)
+/* 802D9218 002D4E78 3A 40 00 00 */ li r18, 0
+/* 802D921C 002D4E7C 88 70 00 06 */ lbz r3, 6(r16)
+/* 802D9220 002D4E80 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9224 002D4E84 88 B0 00 04 */ lbz r5, 4(r16)
+/* 802D9228 002D4E88 54 84 40 2E */ slwi r4, r4, 8
+/* 802D922C 002D4E8C 7C 03 02 14 */ add r0, r3, r0
+/* 802D9230 002D4E90 3A 10 00 08 */ addi r16, r16, 8
+/* 802D9234 002D4E94 7C 65 22 14 */ add r3, r5, r4
+/* 802D9238 002D4E98 B0 01 00 50 */ sth r0, 0x50(r1)
+/* 802D923C 002D4E9C 7E 14 83 78 */ mr r20, r16
+/* 802D9240 002D4EA0 9A 61 00 3C */ stb r19, 0x3c(r1)
+/* 802D9244 002D4EA4 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802D9248 002D4EA8 9A 61 00 1E */ stb r19, 0x1e(r1)
+/* 802D924C 002D4EAC 9A 61 00 1A */ stb r19, 0x1a(r1)
+/* 802D9250 002D4EB0 9A 61 00 38 */ stb r19, 0x38(r1)
+/* 802D9254 002D4EB4 48 00 02 00 */ b lbl_802D9454
+lbl_802D9258:
+/* 802D9258 002D4EB8 88 B0 00 00 */ lbz r5, 0(r16)
+/* 802D925C 002D4EBC 88 70 00 01 */ lbz r3, 1(r16)
+/* 802D9260 002D4EC0 3A 10 00 02 */ addi r16, r16, 2
+/* 802D9264 002D4EC4 54 A0 06 7E */ clrlwi r0, r5, 0x19
+/* 802D9268 002D4EC8 2C 00 00 03 */ cmpwi r0, 3
+/* 802D926C 002D4ECC 41 82 00 64 */ beq lbl_802D92D0
+/* 802D9270 002D4ED0 40 80 00 14 */ bge lbl_802D9284
+/* 802D9274 002D4ED4 2C 00 00 01 */ cmpwi r0, 1
+/* 802D9278 002D4ED8 41 82 00 18 */ beq lbl_802D9290
+/* 802D927C 002D4EDC 40 80 00 34 */ bge lbl_802D92B0
+/* 802D9280 002D4EE0 48 00 01 A8 */ b lbl_802D9428
+lbl_802D9284:
+/* 802D9284 002D4EE4 2C 00 00 05 */ cmpwi r0, 5
+/* 802D9288 002D4EE8 40 80 01 A0 */ bge lbl_802D9428
+/* 802D928C 002D4EEC 48 00 01 3C */ b lbl_802D93C8
+lbl_802D9290:
+/* 802D9290 002D4EF0 9B 81 00 1A */ stb r28, 0x1a(r1)
+/* 802D9294 002D4EF4 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D9298 002D4EF8 88 70 00 00 */ lbz r3, 0(r16)
+/* 802D929C 002D4EFC 3A 10 00 02 */ addi r16, r16, 2
+/* 802D92A0 002D4F00 54 00 40 2E */ slwi r0, r0, 8
+/* 802D92A4 002D4F04 7C 03 02 14 */ add r0, r3, r0
+/* 802D92A8 002D4F08 B0 01 00 1C */ sth r0, 0x1c(r1)
+/* 802D92AC 002D4F0C 48 00 01 A8 */ b lbl_802D9454
+lbl_802D92B0:
+/* 802D92B0 002D4F10 9B 81 00 38 */ stb r28, 0x38(r1)
+/* 802D92B4 002D4F14 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D92B8 002D4F18 88 70 00 00 */ lbz r3, 0(r16)
+/* 802D92BC 002D4F1C 3A 10 00 02 */ addi r16, r16, 2
+/* 802D92C0 002D4F20 54 00 40 2E */ slwi r0, r0, 8
+/* 802D92C4 002D4F24 7C 03 02 14 */ add r0, r3, r0
+/* 802D92C8 002D4F28 B0 01 00 3A */ sth r0, 0x3a(r1)
+/* 802D92CC 002D4F2C 48 00 01 88 */ b lbl_802D9454
+lbl_802D92D0:
+/* 802D92D0 002D4F30 9B 81 00 1E */ stb r28, 0x1e(r1)
+/* 802D92D4 002D4F34 88 10 00 00 */ lbz r0, 0(r16)
+/* 802D92D8 002D4F38 98 01 00 20 */ stb r0, 0x20(r1)
+/* 802D92DC 002D4F3C 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D92E0 002D4F40 98 01 00 21 */ stb r0, 0x21(r1)
+/* 802D92E4 002D4F44 88 70 00 05 */ lbz r3, 5(r16)
+/* 802D92E8 002D4F48 88 B0 00 04 */ lbz r5, 4(r16)
+/* 802D92EC 002D4F4C 88 10 00 03 */ lbz r0, 3(r16)
+/* 802D92F0 002D4F50 54 66 C0 0E */ slwi r6, r3, 0x18
+/* 802D92F4 002D4F54 88 70 00 02 */ lbz r3, 2(r16)
+/* 802D92F8 002D4F58 54 A5 80 1E */ slwi r5, r5, 0x10
+/* 802D92FC 002D4F5C 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9300 002D4F60 7C 65 1A 14 */ add r3, r5, r3
+/* 802D9304 002D4F64 7C 06 02 14 */ add r0, r6, r0
+/* 802D9308 002D4F68 7C 03 02 14 */ add r0, r3, r0
+/* 802D930C 002D4F6C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D9310 002D4F70 88 70 00 09 */ lbz r3, 9(r16)
+/* 802D9314 002D4F74 88 B0 00 08 */ lbz r5, 8(r16)
+/* 802D9318 002D4F78 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D931C 002D4F7C 54 66 C0 0E */ slwi r6, r3, 0x18
+/* 802D9320 002D4F80 88 70 00 06 */ lbz r3, 6(r16)
+/* 802D9324 002D4F84 54 A5 80 1E */ slwi r5, r5, 0x10
+/* 802D9328 002D4F88 54 00 40 2E */ slwi r0, r0, 8
+/* 802D932C 002D4F8C 7C 65 1A 14 */ add r3, r5, r3
+/* 802D9330 002D4F90 7C 06 02 14 */ add r0, r6, r0
+/* 802D9334 002D4F94 7C 03 02 14 */ add r0, r3, r0
+/* 802D9338 002D4F98 90 01 00 28 */ stw r0, 0x28(r1)
+/* 802D933C 002D4F9C 88 70 00 0D */ lbz r3, 0xd(r16)
+/* 802D9340 002D4FA0 88 B0 00 0C */ lbz r5, 0xc(r16)
+/* 802D9344 002D4FA4 88 10 00 0B */ lbz r0, 0xb(r16)
+/* 802D9348 002D4FA8 54 66 C0 0E */ slwi r6, r3, 0x18
+/* 802D934C 002D4FAC 88 70 00 0A */ lbz r3, 0xa(r16)
+/* 802D9350 002D4FB0 54 A5 80 1E */ slwi r5, r5, 0x10
+/* 802D9354 002D4FB4 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9358 002D4FB8 7C 65 1A 14 */ add r3, r5, r3
+/* 802D935C 002D4FBC 7C 06 02 14 */ add r0, r6, r0
+/* 802D9360 002D4FC0 7C 03 02 14 */ add r0, r3, r0
+/* 802D9364 002D4FC4 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 802D9368 002D4FC8 88 70 00 11 */ lbz r3, 0x11(r16)
+/* 802D936C 002D4FCC 88 B0 00 10 */ lbz r5, 0x10(r16)
+/* 802D9370 002D4FD0 88 10 00 0F */ lbz r0, 0xf(r16)
+/* 802D9374 002D4FD4 54 66 C0 0E */ slwi r6, r3, 0x18
+/* 802D9378 002D4FD8 88 70 00 0E */ lbz r3, 0xe(r16)
+/* 802D937C 002D4FDC 54 A5 80 1E */ slwi r5, r5, 0x10
+/* 802D9380 002D4FE0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9384 002D4FE4 7C 65 1A 14 */ add r3, r5, r3
+/* 802D9388 002D4FE8 7C 06 02 14 */ add r0, r6, r0
+/* 802D938C 002D4FEC 7C 03 02 14 */ add r0, r3, r0
+/* 802D9390 002D4FF0 90 01 00 30 */ stw r0, 0x30(r1)
+/* 802D9394 002D4FF4 88 70 00 15 */ lbz r3, 0x15(r16)
+/* 802D9398 002D4FF8 88 B0 00 14 */ lbz r5, 0x14(r16)
+/* 802D939C 002D4FFC 88 10 00 13 */ lbz r0, 0x13(r16)
+/* 802D93A0 002D5000 54 66 C0 0E */ slwi r6, r3, 0x18
+/* 802D93A4 002D5004 88 70 00 12 */ lbz r3, 0x12(r16)
+/* 802D93A8 002D5008 54 A5 80 1E */ slwi r5, r5, 0x10
+/* 802D93AC 002D500C 54 00 40 2E */ slwi r0, r0, 8
+/* 802D93B0 002D5010 3A 10 00 16 */ addi r16, r16, 0x16
+/* 802D93B4 002D5014 7C 65 1A 14 */ add r3, r5, r3
+/* 802D93B8 002D5018 7C 06 02 14 */ add r0, r6, r0
+/* 802D93BC 002D501C 7C 03 02 14 */ add r0, r3, r0
+/* 802D93C0 002D5020 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D93C4 002D5024 48 00 00 90 */ b lbl_802D9454
+lbl_802D93C8:
+/* 802D93C8 002D5028 9B 81 00 3C */ stb r28, 0x3c(r1)
+/* 802D93CC 002D502C 88 10 00 00 */ lbz r0, 0(r16)
+/* 802D93D0 002D5030 98 01 00 3E */ stb r0, 0x3e(r1)
+/* 802D93D4 002D5034 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D93D8 002D5038 98 01 00 3F */ stb r0, 0x3f(r1)
+/* 802D93DC 002D503C 88 10 00 02 */ lbz r0, 2(r16)
+/* 802D93E0 002D5040 98 01 00 40 */ stb r0, 0x40(r1)
+/* 802D93E4 002D5044 88 10 00 04 */ lbz r0, 4(r16)
+/* 802D93E8 002D5048 88 70 00 03 */ lbz r3, 3(r16)
+/* 802D93EC 002D504C 54 00 40 2E */ slwi r0, r0, 8
+/* 802D93F0 002D5050 7C 03 02 14 */ add r0, r3, r0
+/* 802D93F4 002D5054 B0 01 00 42 */ sth r0, 0x42(r1)
+/* 802D93F8 002D5058 88 10 00 06 */ lbz r0, 6(r16)
+/* 802D93FC 002D505C 88 70 00 05 */ lbz r3, 5(r16)
+/* 802D9400 002D5060 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9404 002D5064 7C 03 02 14 */ add r0, r3, r0
+/* 802D9408 002D5068 B0 01 00 44 */ sth r0, 0x44(r1)
+/* 802D940C 002D506C 88 10 00 08 */ lbz r0, 8(r16)
+/* 802D9410 002D5070 88 70 00 07 */ lbz r3, 7(r16)
+/* 802D9414 002D5074 3A 10 00 09 */ addi r16, r16, 9
+/* 802D9418 002D5078 54 00 40 2E */ slwi r0, r0, 8
+/* 802D941C 002D507C 7C 03 02 14 */ add r0, r3, r0
+/* 802D9420 002D5080 B0 01 00 46 */ sth r0, 0x46(r1)
+/* 802D9424 002D5084 48 00 00 30 */ b lbl_802D9454
+lbl_802D9428:
+/* 802D9428 002D5088 38 C3 00 02 */ addi r6, r3, 2
+/* 802D942C 002D508C 7C 06 88 00 */ cmpw r6, r17
+/* 802D9430 002D5090 41 81 00 20 */ bgt lbl_802D9450
+/* 802D9434 002D5094 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
+/* 802D9438 002D5098 7E 10 1A 14 */ add r16, r16, r3
+/* 802D943C 002D509C 40 82 00 18 */ bne lbl_802D9454
+/* 802D9440 002D50A0 7C 12 32 14 */ add r0, r18, r6
+/* 802D9444 002D50A4 3A 60 00 01 */ li r19, 1
+/* 802D9448 002D50A8 54 12 04 3E */ clrlwi r18, r0, 0x10
+/* 802D944C 002D50AC 48 00 00 08 */ b lbl_802D9454
+lbl_802D9450:
+/* 802D9450 002D50B0 7E B0 AB 78 */ mr r16, r21
+lbl_802D9454:
+/* 802D9454 002D50B4 7C 10 A8 40 */ cmplw r16, r21
+/* 802D9458 002D50B8 41 80 FE 00 */ blt lbl_802D9258
+/* 802D945C 002D50BC 7D E3 7B 78 */ mr r3, r15
+/* 802D9460 002D50C0 48 00 1C E5 */ bl l2cu_find_ccb_by_cid
+/* 802D9464 002D50C4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9468 002D50C8 41 82 00 38 */ beq lbl_802D94A0
+/* 802D946C 002D50CC 2C 13 00 00 */ cmpwi r19, 0
+/* 802D9470 002D50D0 9B 23 00 36 */ stb r25, 0x36(r3)
+/* 802D9474 002D50D4 41 82 00 1C */ beq lbl_802D9490
+/* 802D9478 002D50D8 38 11 FF FC */ addi r0, r17, -4
+/* 802D947C 002D50DC 7E 84 A3 78 */ mr r4, r20
+/* 802D9480 002D50E0 7E 46 93 78 */ mr r6, r18
+/* 802D9484 002D50E4 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 802D9488 002D50E8 48 00 13 15 */ bl l2cu_send_peer_config_rej
+/* 802D948C 002D50EC 4B FF FA 68 */ b lbl_802D8EF4
+lbl_802D9490:
+/* 802D9490 002D50F0 38 A1 00 18 */ addi r5, r1, 0x18
+/* 802D9494 002D50F4 38 80 00 0E */ li r4, 0xe
+/* 802D9498 002D50F8 4B FF CF 65 */ bl l2c_csm_execute
+/* 802D949C 002D50FC 4B FF FA 58 */ b lbl_802D8EF4
+lbl_802D94A0:
+/* 802D94A0 002D5100 7D E3 7B 78 */ mr r3, r15
+/* 802D94A4 002D5104 7F 25 CB 78 */ mr r5, r25
+/* 802D94A8 002D5108 38 80 00 02 */ li r4, 2
+/* 802D94AC 002D510C 38 C0 00 00 */ li r6, 0
+/* 802D94B0 002D5110 38 E0 00 00 */ li r7, 0
+/* 802D94B4 002D5114 48 00 09 A1 */ bl l2cu_send_peer_cmd_reject
+/* 802D94B8 002D5118 4B FF FA 3C */ b lbl_802D8EF4
+/* 802D94BC 002D511C 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D94C0 002D5120 88 70 00 06 */ lbz r3, 6(r16)
+/* 802D94C4 002D5124 54 00 40 2E */ slwi r0, r0, 8
+/* 802D94C8 002D5128 88 90 00 05 */ lbz r4, 5(r16)
+/* 802D94CC 002D512C 7C 03 02 14 */ add r0, r3, r0
+/* 802D94D0 002D5130 88 B0 00 04 */ lbz r5, 4(r16)
+/* 802D94D4 002D5134 54 83 40 2E */ slwi r3, r4, 8
+/* 802D94D8 002D5138 B0 01 00 50 */ sth r0, 0x50(r1)
+/* 802D94DC 002D513C 7C 05 1A 14 */ add r0, r5, r3
+/* 802D94E0 002D5140 54 11 04 3E */ clrlwi r17, r0, 0x10
+/* 802D94E4 002D5144 88 10 00 09 */ lbz r0, 9(r16)
+/* 802D94E8 002D5148 88 70 00 08 */ lbz r3, 8(r16)
+/* 802D94EC 002D514C 3A 10 00 0A */ addi r16, r16, 0xa
+/* 802D94F0 002D5150 54 00 40 2E */ slwi r0, r0, 8
+/* 802D94F4 002D5154 7C 03 02 14 */ add r0, r3, r0
+/* 802D94F8 002D5158 9B E1 00 1E */ stb r31, 0x1e(r1)
+/* 802D94FC 002D515C B0 01 00 18 */ sth r0, 0x18(r1)
+/* 802D9500 002D5160 9B E1 00 1A */ stb r31, 0x1a(r1)
+/* 802D9504 002D5164 9B E1 00 38 */ stb r31, 0x38(r1)
+/* 802D9508 002D5168 9B E1 00 3C */ stb r31, 0x3c(r1)
+/* 802D950C 002D516C 48 00 01 CC */ b lbl_802D96D8
+lbl_802D9510:
+/* 802D9510 002D5170 88 10 00 00 */ lbz r0, 0(r16)
+/* 802D9514 002D5174 3A 10 00 02 */ addi r16, r16, 2
+/* 802D9518 002D5178 54 00 06 7E */ clrlwi r0, r0, 0x19
+/* 802D951C 002D517C 2C 00 00 03 */ cmpwi r0, 3
+/* 802D9520 002D5180 41 82 00 64 */ beq lbl_802D9584
+/* 802D9524 002D5184 40 80 00 14 */ bge lbl_802D9538
+/* 802D9528 002D5188 2C 00 00 01 */ cmpwi r0, 1
+/* 802D952C 002D518C 41 82 00 18 */ beq lbl_802D9544
+/* 802D9530 002D5190 40 80 00 34 */ bge lbl_802D9564
+/* 802D9534 002D5194 48 00 01 A4 */ b lbl_802D96D8
+lbl_802D9538:
+/* 802D9538 002D5198 2C 00 00 05 */ cmpwi r0, 5
+/* 802D953C 002D519C 40 80 01 9C */ bge lbl_802D96D8
+/* 802D9540 002D51A0 48 00 01 3C */ b lbl_802D967C
+lbl_802D9544:
+/* 802D9544 002D51A4 9B 81 00 1A */ stb r28, 0x1a(r1)
+/* 802D9548 002D51A8 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D954C 002D51AC 88 70 00 00 */ lbz r3, 0(r16)
+/* 802D9550 002D51B0 3A 10 00 02 */ addi r16, r16, 2
+/* 802D9554 002D51B4 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9558 002D51B8 7C 03 02 14 */ add r0, r3, r0
+/* 802D955C 002D51BC B0 01 00 1C */ sth r0, 0x1c(r1)
+/* 802D9560 002D51C0 48 00 01 78 */ b lbl_802D96D8
+lbl_802D9564:
+/* 802D9564 002D51C4 9B 81 00 38 */ stb r28, 0x38(r1)
+/* 802D9568 002D51C8 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D956C 002D51CC 88 70 00 00 */ lbz r3, 0(r16)
+/* 802D9570 002D51D0 3A 10 00 02 */ addi r16, r16, 2
+/* 802D9574 002D51D4 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9578 002D51D8 7C 03 02 14 */ add r0, r3, r0
+/* 802D957C 002D51DC B0 01 00 3A */ sth r0, 0x3a(r1)
+/* 802D9580 002D51E0 48 00 01 58 */ b lbl_802D96D8
+lbl_802D9584:
+/* 802D9584 002D51E4 9B 81 00 1E */ stb r28, 0x1e(r1)
+/* 802D9588 002D51E8 88 10 00 00 */ lbz r0, 0(r16)
+/* 802D958C 002D51EC 98 01 00 20 */ stb r0, 0x20(r1)
+/* 802D9590 002D51F0 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D9594 002D51F4 98 01 00 21 */ stb r0, 0x21(r1)
+/* 802D9598 002D51F8 88 70 00 05 */ lbz r3, 5(r16)
+/* 802D959C 002D51FC 88 90 00 04 */ lbz r4, 4(r16)
+/* 802D95A0 002D5200 88 10 00 03 */ lbz r0, 3(r16)
+/* 802D95A4 002D5204 54 65 C0 0E */ slwi r5, r3, 0x18
+/* 802D95A8 002D5208 88 70 00 02 */ lbz r3, 2(r16)
+/* 802D95AC 002D520C 54 84 80 1E */ slwi r4, r4, 0x10
+/* 802D95B0 002D5210 54 00 40 2E */ slwi r0, r0, 8
+/* 802D95B4 002D5214 7C 64 1A 14 */ add r3, r4, r3
+/* 802D95B8 002D5218 7C 05 02 14 */ add r0, r5, r0
+/* 802D95BC 002D521C 7C 03 02 14 */ add r0, r3, r0
+/* 802D95C0 002D5220 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D95C4 002D5224 88 70 00 09 */ lbz r3, 9(r16)
+/* 802D95C8 002D5228 88 90 00 08 */ lbz r4, 8(r16)
+/* 802D95CC 002D522C 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D95D0 002D5230 54 65 C0 0E */ slwi r5, r3, 0x18
+/* 802D95D4 002D5234 88 70 00 06 */ lbz r3, 6(r16)
+/* 802D95D8 002D5238 54 84 80 1E */ slwi r4, r4, 0x10
+/* 802D95DC 002D523C 54 00 40 2E */ slwi r0, r0, 8
+/* 802D95E0 002D5240 7C 64 1A 14 */ add r3, r4, r3
+/* 802D95E4 002D5244 7C 05 02 14 */ add r0, r5, r0
+/* 802D95E8 002D5248 7C 03 02 14 */ add r0, r3, r0
+/* 802D95EC 002D524C 90 01 00 28 */ stw r0, 0x28(r1)
+/* 802D95F0 002D5250 88 70 00 0D */ lbz r3, 0xd(r16)
+/* 802D95F4 002D5254 88 90 00 0C */ lbz r4, 0xc(r16)
+/* 802D95F8 002D5258 88 10 00 0B */ lbz r0, 0xb(r16)
+/* 802D95FC 002D525C 54 65 C0 0E */ slwi r5, r3, 0x18
+/* 802D9600 002D5260 88 70 00 0A */ lbz r3, 0xa(r16)
+/* 802D9604 002D5264 54 84 80 1E */ slwi r4, r4, 0x10
+/* 802D9608 002D5268 54 00 40 2E */ slwi r0, r0, 8
+/* 802D960C 002D526C 7C 64 1A 14 */ add r3, r4, r3
+/* 802D9610 002D5270 7C 05 02 14 */ add r0, r5, r0
+/* 802D9614 002D5274 7C 03 02 14 */ add r0, r3, r0
+/* 802D9618 002D5278 90 01 00 2C */ stw r0, 0x2c(r1)
+/* 802D961C 002D527C 88 70 00 11 */ lbz r3, 0x11(r16)
+/* 802D9620 002D5280 88 90 00 10 */ lbz r4, 0x10(r16)
+/* 802D9624 002D5284 88 10 00 0F */ lbz r0, 0xf(r16)
+/* 802D9628 002D5288 54 65 C0 0E */ slwi r5, r3, 0x18
+/* 802D962C 002D528C 88 70 00 0E */ lbz r3, 0xe(r16)
+/* 802D9630 002D5290 54 84 80 1E */ slwi r4, r4, 0x10
+/* 802D9634 002D5294 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9638 002D5298 7C 64 1A 14 */ add r3, r4, r3
+/* 802D963C 002D529C 7C 05 02 14 */ add r0, r5, r0
+/* 802D9640 002D52A0 7C 03 02 14 */ add r0, r3, r0
+/* 802D9644 002D52A4 90 01 00 30 */ stw r0, 0x30(r1)
+/* 802D9648 002D52A8 88 70 00 15 */ lbz r3, 0x15(r16)
+/* 802D964C 002D52AC 88 90 00 14 */ lbz r4, 0x14(r16)
+/* 802D9650 002D52B0 88 10 00 13 */ lbz r0, 0x13(r16)
+/* 802D9654 002D52B4 54 65 C0 0E */ slwi r5, r3, 0x18
+/* 802D9658 002D52B8 88 70 00 12 */ lbz r3, 0x12(r16)
+/* 802D965C 002D52BC 54 84 80 1E */ slwi r4, r4, 0x10
+/* 802D9660 002D52C0 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9664 002D52C4 3A 10 00 16 */ addi r16, r16, 0x16
+/* 802D9668 002D52C8 7C 64 1A 14 */ add r3, r4, r3
+/* 802D966C 002D52CC 7C 05 02 14 */ add r0, r5, r0
+/* 802D9670 002D52D0 7C 03 02 14 */ add r0, r3, r0
+/* 802D9674 002D52D4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802D9678 002D52D8 48 00 00 60 */ b lbl_802D96D8
+lbl_802D967C:
+/* 802D967C 002D52DC 9B 81 00 3C */ stb r28, 0x3c(r1)
+/* 802D9680 002D52E0 88 10 00 00 */ lbz r0, 0(r16)
+/* 802D9684 002D52E4 98 01 00 3E */ stb r0, 0x3e(r1)
+/* 802D9688 002D52E8 88 10 00 01 */ lbz r0, 1(r16)
+/* 802D968C 002D52EC 98 01 00 3F */ stb r0, 0x3f(r1)
+/* 802D9690 002D52F0 88 10 00 02 */ lbz r0, 2(r16)
+/* 802D9694 002D52F4 98 01 00 40 */ stb r0, 0x40(r1)
+/* 802D9698 002D52F8 88 10 00 04 */ lbz r0, 4(r16)
+/* 802D969C 002D52FC 88 70 00 03 */ lbz r3, 3(r16)
+/* 802D96A0 002D5300 54 00 40 2E */ slwi r0, r0, 8
+/* 802D96A4 002D5304 7C 03 02 14 */ add r0, r3, r0
+/* 802D96A8 002D5308 B0 01 00 42 */ sth r0, 0x42(r1)
+/* 802D96AC 002D530C 88 10 00 06 */ lbz r0, 6(r16)
+/* 802D96B0 002D5310 88 70 00 05 */ lbz r3, 5(r16)
+/* 802D96B4 002D5314 54 00 40 2E */ slwi r0, r0, 8
+/* 802D96B8 002D5318 7C 03 02 14 */ add r0, r3, r0
+/* 802D96BC 002D531C B0 01 00 44 */ sth r0, 0x44(r1)
+/* 802D96C0 002D5320 88 10 00 08 */ lbz r0, 8(r16)
+/* 802D96C4 002D5324 88 70 00 07 */ lbz r3, 7(r16)
+/* 802D96C8 002D5328 3A 10 00 09 */ addi r16, r16, 9
+/* 802D96CC 002D532C 54 00 40 2E */ slwi r0, r0, 8
+/* 802D96D0 002D5330 7C 03 02 14 */ add r0, r3, r0
+/* 802D96D4 002D5334 B0 01 00 46 */ sth r0, 0x46(r1)
+lbl_802D96D8:
+/* 802D96D8 002D5338 7C 10 A8 40 */ cmplw r16, r21
+/* 802D96DC 002D533C 41 80 FE 34 */ blt lbl_802D9510
+/* 802D96E0 002D5340 7D E3 7B 78 */ mr r3, r15
+/* 802D96E4 002D5344 7E 24 8B 78 */ mr r4, r17
+/* 802D96E8 002D5348 48 00 1A 5D */ bl l2cu_find_ccb_by_cid
+/* 802D96EC 002D534C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D96F0 002D5350 41 82 00 5C */ beq lbl_802D974C
+/* 802D96F4 002D5354 88 A3 00 35 */ lbz r5, 0x35(r3)
+/* 802D96F8 002D5358 7C 05 C8 40 */ cmplw r5, r25
+/* 802D96FC 002D535C 41 82 00 24 */ beq lbl_802D9720
+/* 802D9700 002D5360 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D9704 002D5364 28 00 00 02 */ cmplwi r0, 2
+/* 802D9708 002D5368 41 80 F7 EC */ blt lbl_802D8EF4
+/* 802D970C 002D536C 7F 26 CB 78 */ mr r6, r25
+/* 802D9710 002D5370 38 7D 00 01 */ addi r3, r29, 1
+/* 802D9714 002D5374 38 97 02 30 */ addi r4, r23, 0x230
+/* 802D9718 002D5378 4B FE 38 29 */ bl LogMsg_2
+/* 802D971C 002D537C 4B FF F7 D8 */ b lbl_802D8EF4
+lbl_802D9720:
+/* 802D9720 002D5380 A0 01 00 18 */ lhz r0, 0x18(r1)
+/* 802D9724 002D5384 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9728 002D5388 40 82 00 14 */ bne lbl_802D973C
+/* 802D972C 002D538C 38 A1 00 18 */ addi r5, r1, 0x18
+/* 802D9730 002D5390 38 80 00 0F */ li r4, 0xf
+/* 802D9734 002D5394 4B FF CC C9 */ bl l2c_csm_execute
+/* 802D9738 002D5398 4B FF F7 BC */ b lbl_802D8EF4
+lbl_802D973C:
+/* 802D973C 002D539C 38 A1 00 18 */ addi r5, r1, 0x18
+/* 802D9740 002D53A0 38 80 00 10 */ li r4, 0x10
+/* 802D9744 002D53A4 4B FF CC B9 */ bl l2c_csm_execute
+/* 802D9748 002D53A8 4B FF F7 AC */ b lbl_802D8EF4
+lbl_802D974C:
+/* 802D974C 002D53AC 88 1B BC 40 */ lbz r0, -0x43c0(r27)
+/* 802D9750 002D53B0 28 00 00 02 */ cmplwi r0, 2
+/* 802D9754 002D53B4 41 80 F7 A0 */ blt lbl_802D8EF4
+/* 802D9758 002D53B8 7E 25 8B 78 */ mr r5, r17
+/* 802D975C 002D53BC 38 7D 00 01 */ addi r3, r29, 1
+/* 802D9760 002D53C0 38 97 02 5C */ addi r4, r23, 0x25c
+/* 802D9764 002D53C4 4B FE 37 C5 */ bl LogMsg_1
+/* 802D9768 002D53C8 4B FF F7 8C */ b lbl_802D8EF4
+/* 802D976C 002D53CC 88 90 00 05 */ lbz r4, 5(r16)
+/* 802D9770 002D53D0 7D E3 7B 78 */ mr r3, r15
+/* 802D9774 002D53D4 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D9778 002D53D8 54 85 40 2E */ slwi r5, r4, 8
+/* 802D977C 002D53DC 88 D0 00 04 */ lbz r6, 4(r16)
+/* 802D9780 002D53E0 88 90 00 06 */ lbz r4, 6(r16)
+/* 802D9784 002D53E4 54 00 40 2E */ slwi r0, r0, 8
+/* 802D9788 002D53E8 7C A6 2A 14 */ add r5, r6, r5
+/* 802D978C 002D53EC 7C 04 02 14 */ add r0, r4, r0
+/* 802D9790 002D53F0 54 B0 04 3E */ clrlwi r16, r5, 0x10
+/* 802D9794 002D53F4 7E 04 83 78 */ mr r4, r16
+/* 802D9798 002D53F8 54 11 04 3E */ clrlwi r17, r0, 0x10
+/* 802D979C 002D53FC 48 00 19 A9 */ bl l2cu_find_ccb_by_cid
+/* 802D97A0 002D5400 2C 03 00 00 */ cmpwi r3, 0
+/* 802D97A4 002D5404 41 82 00 24 */ beq lbl_802D97C8
+/* 802D97A8 002D5408 A0 03 00 16 */ lhz r0, 0x16(r3)
+/* 802D97AC 002D540C 7C 00 88 40 */ cmplw r0, r17
+/* 802D97B0 002D5410 40 82 F7 44 */ bne lbl_802D8EF4
+/* 802D97B4 002D5414 9B 23 00 36 */ stb r25, 0x36(r3)
+/* 802D97B8 002D5418 38 A1 00 08 */ addi r5, r1, 8
+/* 802D97BC 002D541C 38 80 00 11 */ li r4, 0x11
+/* 802D97C0 002D5420 4B FF CC 3D */ bl l2c_csm_execute
+/* 802D97C4 002D5424 4B FF F7 30 */ b lbl_802D8EF4
+lbl_802D97C8:
+/* 802D97C8 002D5428 7D E3 7B 78 */ mr r3, r15
+/* 802D97CC 002D542C 7F 24 CB 78 */ mr r4, r25
+/* 802D97D0 002D5430 7E 05 83 78 */ mr r5, r16
+/* 802D97D4 002D5434 7E 26 8B 78 */ mr r6, r17
+/* 802D97D8 002D5438 48 00 12 4D */ bl l2cu_send_peer_disc_rsp
+/* 802D97DC 002D543C 4B FF F7 18 */ b lbl_802D8EF4
+/* 802D97E0 002D5440 88 90 00 05 */ lbz r4, 5(r16)
+/* 802D97E4 002D5444 7D E3 7B 78 */ mr r3, r15
+/* 802D97E8 002D5448 88 10 00 07 */ lbz r0, 7(r16)
+/* 802D97EC 002D544C 54 85 40 2E */ slwi r5, r4, 8
+/* 802D97F0 002D5450 88 D0 00 04 */ lbz r6, 4(r16)
+/* 802D97F4 002D5454 88 90 00 06 */ lbz r4, 6(r16)
+/* 802D97F8 002D5458 54 00 40 2E */ slwi r0, r0, 8
+/* 802D97FC 002D545C 7C A6 2A 14 */ add r5, r6, r5
+/* 802D9800 002D5460 7C 04 02 14 */ add r0, r4, r0
+/* 802D9804 002D5464 54 B0 04 3E */ clrlwi r16, r5, 0x10
+/* 802D9808 002D5468 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802D980C 002D546C 48 00 19 39 */ bl l2cu_find_ccb_by_cid
+/* 802D9810 002D5470 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9814 002D5474 41 82 F6 E0 */ beq lbl_802D8EF4
+/* 802D9818 002D5478 A0 03 00 16 */ lhz r0, 0x16(r3)
+/* 802D981C 002D547C 7C 00 80 40 */ cmplw r0, r16
+/* 802D9820 002D5480 40 82 F6 D4 */ bne lbl_802D8EF4
+/* 802D9824 002D5484 88 03 00 35 */ lbz r0, 0x35(r3)
+/* 802D9828 002D5488 7C 00 C8 40 */ cmplw r0, r25
+/* 802D982C 002D548C 40 82 F6 C8 */ bne lbl_802D8EF4
+/* 802D9830 002D5490 38 A1 00 08 */ addi r5, r1, 8
+/* 802D9834 002D5494 38 80 00 12 */ li r4, 0x12
+/* 802D9838 002D5498 4B FF CB C5 */ bl l2c_csm_execute
+/* 802D983C 002D549C 4B FF F6 B8 */ b lbl_802D8EF4
+/* 802D9840 002D54A0 A0 7E 00 7E */ lhz r3, 0x7e(r30)
+/* 802D9844 002D54A4 38 03 FF F4 */ addi r0, r3, -12
+/* 802D9848 002D54A8 7C 11 00 00 */ cmpw r17, r0
+/* 802D984C 002D54AC 40 80 00 1C */ bge lbl_802D9868
+/* 802D9850 002D54B0 7D E3 7B 78 */ mr r3, r15
+/* 802D9854 002D54B4 7F 24 CB 78 */ mr r4, r25
+/* 802D9858 002D54B8 7E 26 8B 78 */ mr r6, r17
+/* 802D985C 002D54BC 38 B0 00 04 */ addi r5, r16, 4
+/* 802D9860 002D54C0 48 00 13 F5 */ bl l2cu_send_peer_echo_rsp
+/* 802D9864 002D54C4 4B FF F6 90 */ b lbl_802D8EF4
+lbl_802D9868:
+/* 802D9868 002D54C8 7D E3 7B 78 */ mr r3, r15
+/* 802D986C 002D54CC 7F 24 CB 78 */ mr r4, r25
+/* 802D9870 002D54D0 38 A0 00 00 */ li r5, 0
+/* 802D9874 002D54D4 38 C0 00 00 */ li r6, 0
+/* 802D9878 002D54D8 48 00 13 DD */ bl l2cu_send_peer_echo_rsp
+/* 802D987C 002D54DC 4B FF F6 78 */ b lbl_802D8EF4
+/* 802D9880 002D54E0 81 8F 00 54 */ lwz r12, 0x54(r15)
+/* 802D9884 002D54E4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802D9888 002D54E8 41 82 F6 6C */ beq lbl_802D8EF4
+/* 802D988C 002D54EC 93 EF 00 54 */ stw r31, 0x54(r15)
+/* 802D9890 002D54F0 38 60 00 00 */ li r3, 0
+/* 802D9894 002D54F4 7D 89 03 A6 */ mtctr r12
+/* 802D9898 002D54F8 4E 80 04 21 */ bctrl
+/* 802D989C 002D54FC 4B FF F6 58 */ b lbl_802D8EF4
+/* 802D98A0 002D5500 88 10 00 05 */ lbz r0, 5(r16)
+/* 802D98A4 002D5504 7D E3 7B 78 */ mr r3, r15
+/* 802D98A8 002D5508 88 B0 00 04 */ lbz r5, 4(r16)
+/* 802D98AC 002D550C 7F 24 CB 78 */ mr r4, r25
+/* 802D98B0 002D5510 54 00 40 2E */ slwi r0, r0, 8
+/* 802D98B4 002D5514 7C 05 02 14 */ add r0, r5, r0
+/* 802D98B8 002D5518 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 802D98BC 002D551C 48 00 15 35 */ bl l2cu_send_peer_info_rsp
+/* 802D98C0 002D5520 4B FF F6 34 */ b lbl_802D8EF4
+lbl_802D98C4:
+/* 802D98C4 002D5524 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D98C8 002D5528 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D98CC 002D552C 28 00 00 02 */ cmplwi r0, 2
+/* 802D98D0 002D5530 41 80 00 18 */ blt lbl_802D98E8
+/* 802D98D4 002D5534 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D98D8 002D5538 7C E5 3B 78 */ mr r5, r7
+/* 802D98DC 002D553C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D98E0 002D5540 38 97 02 88 */ addi r4, r23, 0x288
+/* 802D98E4 002D5544 4B FE 36 45 */ bl LogMsg_1
+lbl_802D98E8:
+/* 802D98E8 002D5548 7D E3 7B 78 */ mr r3, r15
+/* 802D98EC 002D554C 7F 25 CB 78 */ mr r5, r25
+/* 802D98F0 002D5550 38 80 00 00 */ li r4, 0
+/* 802D98F4 002D5554 38 C0 00 00 */ li r6, 0
+/* 802D98F8 002D5558 38 E0 00 00 */ li r7, 0
+/* 802D98FC 002D555C 48 00 05 59 */ bl l2cu_send_peer_cmd_reject
+lbl_802D9900:
+/* 802D9900 002D5560 39 61 00 A0 */ addi r11, r1, 0xa0
+/* 802D9904 002D5564 4B EE D8 3D */ bl __restore_gpr
+/* 802D9908 002D5568 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 802D990C 002D556C 7C 08 03 A6 */ mtlr r0
+/* 802D9910 002D5570 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 802D9914 002D5574 4E 80 00 20 */ blr
+
+.global l2c_process_timeout
+l2c_process_timeout:
+/* 802D9918 002D5578 A0 03 00 14 */ lhz r0, 0x14(r3)
+/* 802D991C 002D557C 2C 00 00 04 */ cmpwi r0, 4
+/* 802D9920 002D5580 41 82 00 3C */ beq lbl_802D995C
+/* 802D9924 002D5584 40 80 00 14 */ bge lbl_802D9938
+/* 802D9928 002D5588 2C 00 00 02 */ cmpwi r0, 2
+/* 802D992C 002D558C 41 82 00 18 */ beq lbl_802D9944
+/* 802D9930 002D5590 40 80 00 1C */ bge lbl_802D994C
+/* 802D9934 002D5594 4E 80 00 20 */ blr
+lbl_802D9938:
+/* 802D9938 002D5598 2C 00 00 49 */ cmpwi r0, 0x49
+/* 802D993C 002D559C 4D 82 00 20 */ beqlr
+/* 802D9940 002D55A0 4E 80 00 20 */ blr
+lbl_802D9944:
+/* 802D9944 002D55A4 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802D9948 002D55A8 4B FF E4 FC */ b l2c_link_timeout
+lbl_802D994C:
+/* 802D994C 002D55AC 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802D9950 002D55B0 38 80 00 1E */ li r4, 0x1e
+/* 802D9954 002D55B4 38 A0 00 00 */ li r5, 0
+/* 802D9958 002D55B8 4B FF CA A4 */ b l2c_csm_execute
+lbl_802D995C:
+/* 802D995C 002D55BC 38 60 00 01 */ li r3, 1
+/* 802D9960 002D55C0 48 00 00 08 */ b l2c_process_held_packets
+/* 802D9964 002D55C4 4E 80 00 20 */ blr
+
+.global l2c_process_held_packets
+l2c_process_held_packets:
+/* 802D9968 002D55C8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D996C 002D55CC 7C 08 02 A6 */ mflr r0
+/* 802D9970 002D55D0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D9974 002D55D4 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D9978 002D55D8 4B EE D7 B1 */ bl _savegpr_27
+/* 802D997C 002D55DC 3F E0 80 57 */ lis r31, lbl_8056BC40@ha
+/* 802D9980 002D55E0 7C 7B 1B 78 */ mr r27, r3
+/* 802D9984 002D55E4 38 9F BC 40 */ addi r4, r31, lbl_8056BC40@l
+/* 802D9988 002D55E8 A0 04 07 C8 */ lhz r0, 0x7c8(r4)
+/* 802D998C 002D55EC 3B 84 07 C0 */ addi r28, r4, 0x7c0
+/* 802D9990 002D55F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9994 002D55F4 41 82 00 E8 */ beq lbl_802D9A7C
+/* 802D9998 002D55F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802D999C 002D55FC 40 82 00 30 */ bne lbl_802D99CC
+/* 802D99A0 002D5600 38 64 07 CC */ addi r3, r4, 0x7cc
+/* 802D99A4 002D5604 4B FE 3B A9 */ bl btu_stop_timer
+/* 802D99A8 002D5608 88 1F BC 40 */ lbz r0, -0x43c0(r31)
+/* 802D99AC 002D560C 28 00 00 02 */ cmplwi r0, 2
+/* 802D99B0 002D5610 41 80 00 3C */ blt lbl_802D99EC
+/* 802D99B4 002D5614 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D99B8 002D5618 3C 80 80 44 */ lis r4, lbl_8044414C@ha
+/* 802D99BC 002D561C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D99C0 002D5620 38 84 41 4C */ addi r4, r4, lbl_8044414C@l
+/* 802D99C4 002D5624 4B FE 35 4D */ bl LogMsg_0
+/* 802D99C8 002D5628 48 00 00 24 */ b lbl_802D99EC
+lbl_802D99CC:
+/* 802D99CC 002D562C 88 1F BC 40 */ lbz r0, -0x43c0(r31)
+/* 802D99D0 002D5630 28 00 00 02 */ cmplwi r0, 2
+/* 802D99D4 002D5634 41 80 00 18 */ blt lbl_802D99EC
+/* 802D99D8 002D5638 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D99DC 002D563C 3C 80 80 44 */ lis r4, lbl_80444160@ha
+/* 802D99E0 002D5640 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D99E4 002D5644 38 84 41 60 */ addi r4, r4, lbl_80444160@l
+/* 802D99E8 002D5648 4B FE 35 29 */ bl LogMsg_0
+lbl_802D99EC:
+/* 802D99EC 002D564C 7F 83 E3 78 */ mr r3, r28
+/* 802D99F0 002D5650 4B FE 0B 45 */ bl GKI_getfirst
+/* 802D99F4 002D5654 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
+/* 802D99F8 002D5658 7C 7E 1B 78 */ mr r30, r3
+/* 802D99FC 002D565C 3B E4 FF FF */ addi r31, r4, 0x0000FFFF@l
+/* 802D9A00 002D5660 48 00 00 50 */ b lbl_802D9A50
+lbl_802D9A04:
+/* 802D9A04 002D5664 7F C3 F3 78 */ mr r3, r30
+/* 802D9A08 002D5668 4B FE 0B 35 */ bl GKI_getnext
+/* 802D9A0C 002D566C 2C 1B 00 00 */ cmpwi r27, 0
+/* 802D9A10 002D5670 7C 7D 1B 78 */ mr r29, r3
+/* 802D9A14 002D5674 41 82 00 20 */ beq lbl_802D9A34
+/* 802D9A18 002D5678 A0 7E 00 06 */ lhz r3, 6(r30)
+/* 802D9A1C 002D567C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9A20 002D5680 41 82 00 14 */ beq lbl_802D9A34
+/* 802D9A24 002D5684 38 63 FF FF */ addi r3, r3, -1
+/* 802D9A28 002D5688 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802D9A2C 002D568C B0 7E 00 06 */ sth r3, 6(r30)
+/* 802D9A30 002D5690 40 82 00 1C */ bne lbl_802D9A4C
+lbl_802D9A34:
+/* 802D9A34 002D5694 7F 83 E3 78 */ mr r3, r28
+/* 802D9A38 002D5698 7F C4 F3 78 */ mr r4, r30
+/* 802D9A3C 002D569C 4B FE 0A 35 */ bl GKI_remove_from_queue
+/* 802D9A40 002D56A0 B3 FE 00 06 */ sth r31, 6(r30)
+/* 802D9A44 002D56A4 7F C3 F3 78 */ mr r3, r30
+/* 802D9A48 002D56A8 4B FF F1 31 */ bl l2c_rcv_acl_data
+lbl_802D9A4C:
+/* 802D9A4C 002D56AC 7F BE EB 78 */ mr r30, r29
+lbl_802D9A50:
+/* 802D9A50 002D56B0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802D9A54 002D56B4 40 82 FF B0 */ bne lbl_802D9A04
+/* 802D9A58 002D56B8 A0 1C 00 08 */ lhz r0, 8(r28)
+/* 802D9A5C 002D56BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9A60 002D56C0 41 82 00 1C */ beq lbl_802D9A7C
+/* 802D9A64 002D56C4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D9A68 002D56C8 38 80 00 04 */ li r4, 4
+/* 802D9A6C 002D56CC 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D9A70 002D56D0 38 A0 00 01 */ li r5, 1
+/* 802D9A74 002D56D4 38 63 07 CC */ addi r3, r3, 0x7cc
+/* 802D9A78 002D56D8 4B FE 3A 65 */ bl btu_start_timer
+lbl_802D9A7C:
+/* 802D9A7C 002D56DC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D9A80 002D56E0 4B EE D6 F5 */ bl _restgpr_27
+/* 802D9A84 002D56E4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D9A88 002D56E8 7C 08 03 A6 */ mtlr r0
+/* 802D9A8C 002D56EC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D9A90 002D56F0 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/l2c_utils.s b/asm/SDK/BTE/l2c_utils.s new file mode 100644 index 0000000..c1e99ba --- /dev/null +++ b/asm/SDK/BTE/l2c_utils.s @@ -0,0 +1,2212 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global l2cu_allocate_lcb
+l2cu_allocate_lcb:
+/* 802D9A94 002D56F4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D9A98 002D56F8 7C 08 02 A6 */ mflr r0
+/* 802D9A9C 002D56FC 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D9AA0 002D5700 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D9AA4 002D5704 38 00 00 04 */ li r0, 4
+/* 802D9AA8 002D5708 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D9AAC 002D570C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D9AB0 002D5710 3B E4 00 08 */ addi r31, r4, 8
+/* 802D9AB4 002D5714 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D9AB8 002D5718 7C 7E 1B 78 */ mr r30, r3
+/* 802D9ABC 002D571C 7C 09 03 A6 */ mtctr r0
+lbl_802D9AC0:
+/* 802D9AC0 002D5720 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802D9AC4 002D5724 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9AC8 002D5728 40 82 00 7C */ bne lbl_802D9B44
+/* 802D9ACC 002D572C 7F E3 FB 78 */ mr r3, r31
+/* 802D9AD0 002D5730 38 80 00 00 */ li r4, 0
+/* 802D9AD4 002D5734 38 A0 00 5C */ li r5, 0x5c
+/* 802D9AD8 002D5738 4B D2 A6 2D */ bl memset
+/* 802D9ADC 002D573C 38 00 00 01 */ li r0, 1
+/* 802D9AE0 002D5740 7F C4 F3 78 */ mr r4, r30
+/* 802D9AE4 002D5744 98 1F 00 00 */ stb r0, 0(r31)
+/* 802D9AE8 002D5748 38 7F 00 2A */ addi r3, r31, 0x2a
+/* 802D9AEC 002D574C 38 A0 00 06 */ li r5, 6
+/* 802D9AF0 002D5750 4B D2 A5 11 */ bl memcpy
+/* 802D9AF4 002D5754 38 A0 00 00 */ li r5, 0
+/* 802D9AF8 002D5758 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802D9AFC 002D575C 90 BF 00 04 */ stw r5, 4(r31)
+/* 802D9B00 002D5760 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802D9B04 002D5764 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D9B08 002D5768 B0 1F 00 28 */ sth r0, 0x28(r31)
+/* 802D9B0C 002D576C 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D9B10 002D5770 90 BF 00 50 */ stw r5, 0x50(r31)
+/* 802D9B14 002D5774 B0 1F 00 32 */ sth r0, 0x32(r31)
+/* 802D9B18 002D5778 93 FF 00 20 */ stw r31, 0x20(r31)
+/* 802D9B1C 002D577C B0 BF 00 38 */ sth r5, 0x38(r31)
+/* 802D9B20 002D5780 A0 04 07 BA */ lhz r0, 0x7ba(r4)
+/* 802D9B24 002D5784 B0 1F 00 58 */ sth r0, 0x58(r31)
+/* 802D9B28 002D5788 98 BF 00 31 */ stb r5, 0x31(r31)
+/* 802D9B2C 002D578C A0 64 07 B8 */ lhz r3, 0x7b8(r4)
+/* 802D9B30 002D5790 38 03 00 01 */ addi r0, r3, 1
+/* 802D9B34 002D5794 B0 04 07 B8 */ sth r0, 0x7b8(r4)
+/* 802D9B38 002D5798 4B FF E8 55 */ bl l2c_link_adjust_allocation
+/* 802D9B3C 002D579C 7F E3 FB 78 */ mr r3, r31
+/* 802D9B40 002D57A0 48 00 00 10 */ b lbl_802D9B50
+lbl_802D9B44:
+/* 802D9B44 002D57A4 3B FF 00 5C */ addi r31, r31, 0x5c
+/* 802D9B48 002D57A8 42 00 FF 78 */ bdnz lbl_802D9AC0
+/* 802D9B4C 002D57AC 38 60 00 00 */ li r3, 0
+lbl_802D9B50:
+/* 802D9B50 002D57B0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D9B54 002D57B4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D9B58 002D57B8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D9B5C 002D57BC 7C 08 03 A6 */ mtlr r0
+/* 802D9B60 002D57C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D9B64 002D57C4 4E 80 00 20 */ blr
+
+.global l2cu_release_lcb
+l2cu_release_lcb:
+/* 802D9B68 002D57C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D9B6C 002D57CC 7C 08 02 A6 */ mflr r0
+/* 802D9B70 002D57D0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D9B74 002D57D4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D9B78 002D57D8 3B E0 00 00 */ li r31, 0
+/* 802D9B7C 002D57DC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802D9B80 002D57E0 7C 7E 1B 78 */ mr r30, r3
+/* 802D9B84 002D57E4 9B E3 00 00 */ stb r31, 0(r3)
+/* 802D9B88 002D57E8 38 63 00 10 */ addi r3, r3, 0x10
+/* 802D9B8C 002D57EC 4B FE 39 C1 */ bl btu_stop_timer
+/* 802D9B90 002D57F0 80 7E 00 50 */ lwz r3, 0x50(r30)
+/* 802D9B94 002D57F4 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9B98 002D57F8 41 82 00 0C */ beq lbl_802D9BA4
+/* 802D9B9C 002D57FC 4B FE 01 99 */ bl GKI_freebuf
+/* 802D9BA0 002D5800 93 FE 00 50 */ stw r31, 0x50(r30)
+lbl_802D9BA4:
+/* 802D9BA4 002D5804 38 7E 00 2A */ addi r3, r30, 0x2a
+/* 802D9BA8 002D5808 4B FF 06 BD */ bl btm_remove_sco_links
+/* 802D9BAC 002D580C 80 7E 00 08 */ lwz r3, 8(r30)
+/* 802D9BB0 002D5810 48 00 00 0C */ b lbl_802D9BBC
+lbl_802D9BB4:
+/* 802D9BB4 002D5814 48 00 13 ED */ bl l2cu_release_ccb
+/* 802D9BB8 002D5818 80 7E 00 08 */ lwz r3, 8(r30)
+lbl_802D9BBC:
+/* 802D9BBC 002D581C 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9BC0 002D5820 40 82 FF F4 */ bne lbl_802D9BB4
+/* 802D9BC4 002D5824 80 7E 00 04 */ lwz r3, 4(r30)
+/* 802D9BC8 002D5828 38 03 FF FC */ addi r0, r3, -4
+/* 802D9BCC 002D582C 28 00 00 01 */ cmplwi r0, 1
+/* 802D9BD0 002D5830 41 81 00 1C */ bgt lbl_802D9BEC
+/* 802D9BD4 002D5834 38 7E 00 2A */ addi r3, r30, 0x2a
+/* 802D9BD8 002D5838 4B FE 9C 09 */ bl btm_acl_removed
+/* 802D9BDC 002D583C 48 00 00 10 */ b lbl_802D9BEC
+lbl_802D9BE0:
+/* 802D9BE0 002D5840 38 7E 00 44 */ addi r3, r30, 0x44
+/* 802D9BE4 002D5844 4B FE 07 ED */ bl GKI_dequeue
+/* 802D9BE8 002D5848 4B FE 01 4D */ bl GKI_freebuf
+lbl_802D9BEC:
+/* 802D9BEC 002D584C 80 1E 00 44 */ lwz r0, 0x44(r30)
+/* 802D9BF0 002D5850 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9BF4 002D5854 40 82 FF EC */ bne lbl_802D9BE0
+/* 802D9BF8 002D5858 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D9BFC 002D585C 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D9C00 002D5860 A0 64 07 B8 */ lhz r3, 0x7b8(r4)
+/* 802D9C04 002D5864 28 03 00 01 */ cmplwi r3, 1
+/* 802D9C08 002D5868 41 80 00 0C */ blt lbl_802D9C14
+/* 802D9C0C 002D586C 38 03 FF FF */ addi r0, r3, -1
+/* 802D9C10 002D5870 B0 04 07 B8 */ sth r0, 0x7b8(r4)
+lbl_802D9C14:
+/* 802D9C14 002D5874 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D9C18 002D5878 A0 1E 00 38 */ lhz r0, 0x38(r30)
+/* 802D9C1C 002D587C 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D9C20 002D5880 A0 64 00 04 */ lhz r3, 4(r4)
+/* 802D9C24 002D5884 7C 03 02 14 */ add r0, r3, r0
+/* 802D9C28 002D5888 B0 04 00 04 */ sth r0, 4(r4)
+/* 802D9C2C 002D588C 4B FF E7 61 */ bl l2c_link_adjust_allocation
+/* 802D9C30 002D5890 81 9E 00 54 */ lwz r12, 0x54(r30)
+/* 802D9C34 002D5894 2C 0C 00 00 */ cmpwi r12, 0
+/* 802D9C38 002D5898 41 82 00 18 */ beq lbl_802D9C50
+/* 802D9C3C 002D589C 38 00 00 00 */ li r0, 0
+/* 802D9C40 002D58A0 38 60 00 01 */ li r3, 1
+/* 802D9C44 002D58A4 90 1E 00 54 */ stw r0, 0x54(r30)
+/* 802D9C48 002D58A8 7D 89 03 A6 */ mtctr r12
+/* 802D9C4C 002D58AC 4E 80 04 21 */ bctrl
+lbl_802D9C50:
+/* 802D9C50 002D58B0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802D9C54 002D58B4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802D9C58 002D58B8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802D9C5C 002D58BC 7C 08 03 A6 */ mtlr r0
+/* 802D9C60 002D58C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802D9C64 002D58C4 4E 80 00 20 */ blr
+
+.global l2cu_find_lcb_by_bd_addr
+l2cu_find_lcb_by_bd_addr:
+/* 802D9C68 002D58C8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D9C6C 002D58CC 7C 08 02 A6 */ mflr r0
+/* 802D9C70 002D58D0 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D9C74 002D58D4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D9C78 002D58D8 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D9C7C 002D58DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D9C80 002D58E0 3B E0 00 00 */ li r31, 0
+/* 802D9C84 002D58E4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D9C88 002D58E8 3B C4 00 08 */ addi r30, r4, 8
+/* 802D9C8C 002D58EC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D9C90 002D58F0 7C 7D 1B 78 */ mr r29, r3
+lbl_802D9C94:
+/* 802D9C94 002D58F4 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802D9C98 002D58F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9C9C 002D58FC 41 82 00 24 */ beq lbl_802D9CC0
+/* 802D9CA0 002D5900 7F A4 EB 78 */ mr r4, r29
+/* 802D9CA4 002D5904 38 7E 00 2A */ addi r3, r30, 0x2a
+/* 802D9CA8 002D5908 38 A0 00 06 */ li r5, 6
+/* 802D9CAC 002D590C 4B EF 06 ED */ bl memcmp
+/* 802D9CB0 002D5910 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9CB4 002D5914 40 82 00 0C */ bne lbl_802D9CC0
+/* 802D9CB8 002D5918 7F C3 F3 78 */ mr r3, r30
+/* 802D9CBC 002D591C 48 00 00 18 */ b lbl_802D9CD4
+lbl_802D9CC0:
+/* 802D9CC0 002D5920 3B FF 00 01 */ addi r31, r31, 1
+/* 802D9CC4 002D5924 3B DE 00 5C */ addi r30, r30, 0x5c
+/* 802D9CC8 002D5928 2C 1F 00 04 */ cmpwi r31, 4
+/* 802D9CCC 002D592C 41 80 FF C8 */ blt lbl_802D9C94
+/* 802D9CD0 002D5930 38 60 00 00 */ li r3, 0
+lbl_802D9CD4:
+/* 802D9CD4 002D5934 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D9CD8 002D5938 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D9CDC 002D593C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D9CE0 002D5940 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D9CE4 002D5944 7C 08 03 A6 */ mtlr r0
+/* 802D9CE8 002D5948 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D9CEC 002D594C 4E 80 00 20 */ blr
+
+.global l2cu_find_lcb_by_handle
+l2cu_find_lcb_by_handle:
+/* 802D9CF0 002D5950 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802D9CF4 002D5954 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802D9CF8 002D5958 8C 04 00 08 */ lbzu r0, 8(r4)
+/* 802D9CFC 002D595C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9D00 002D5960 41 82 00 18 */ beq lbl_802D9D18
+/* 802D9D04 002D5964 A0 04 00 28 */ lhz r0, 0x28(r4)
+/* 802D9D08 002D5968 7C 00 18 40 */ cmplw r0, r3
+/* 802D9D0C 002D596C 40 82 00 0C */ bne lbl_802D9D18
+/* 802D9D10 002D5970 7C 83 23 78 */ mr r3, r4
+/* 802D9D14 002D5974 4E 80 00 20 */ blr
+lbl_802D9D18:
+/* 802D9D18 002D5978 8C 04 00 5C */ lbzu r0, 0x5c(r4)
+/* 802D9D1C 002D597C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9D20 002D5980 41 82 00 18 */ beq lbl_802D9D38
+/* 802D9D24 002D5984 A0 04 00 28 */ lhz r0, 0x28(r4)
+/* 802D9D28 002D5988 7C 00 18 40 */ cmplw r0, r3
+/* 802D9D2C 002D598C 40 82 00 0C */ bne lbl_802D9D38
+/* 802D9D30 002D5990 7C 83 23 78 */ mr r3, r4
+/* 802D9D34 002D5994 4E 80 00 20 */ blr
+lbl_802D9D38:
+/* 802D9D38 002D5998 8C 04 00 5C */ lbzu r0, 0x5c(r4)
+/* 802D9D3C 002D599C 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9D40 002D59A0 41 82 00 18 */ beq lbl_802D9D58
+/* 802D9D44 002D59A4 A0 04 00 28 */ lhz r0, 0x28(r4)
+/* 802D9D48 002D59A8 7C 00 18 40 */ cmplw r0, r3
+/* 802D9D4C 002D59AC 40 82 00 0C */ bne lbl_802D9D58
+/* 802D9D50 002D59B0 7C 83 23 78 */ mr r3, r4
+/* 802D9D54 002D59B4 4E 80 00 20 */ blr
+lbl_802D9D58:
+/* 802D9D58 002D59B8 8C 04 00 5C */ lbzu r0, 0x5c(r4)
+/* 802D9D5C 002D59BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802D9D60 002D59C0 41 82 00 18 */ beq lbl_802D9D78
+/* 802D9D64 002D59C4 A0 04 00 28 */ lhz r0, 0x28(r4)
+/* 802D9D68 002D59C8 7C 00 18 40 */ cmplw r0, r3
+/* 802D9D6C 002D59CC 40 82 00 0C */ bne lbl_802D9D78
+/* 802D9D70 002D59D0 7C 83 23 78 */ mr r3, r4
+/* 802D9D74 002D59D4 4E 80 00 20 */ blr
+lbl_802D9D78:
+/* 802D9D78 002D59D8 38 60 00 00 */ li r3, 0
+/* 802D9D7C 002D59DC 4E 80 00 20 */ blr
+
+.global l2cu_get_conn_role
+l2cu_get_conn_role:
+/* 802D9D80 002D59E0 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D9D84 002D59E4 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802D9D88 002D59E8 88 63 00 01 */ lbz r3, 1(r3)
+/* 802D9D8C 002D59EC 4E 80 00 20 */ blr
+
+.global l2cu_build_header
+l2cu_build_header:
+/* 802D9D90 002D59F0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D9D94 002D59F4 7C 08 02 A6 */ mflr r0
+/* 802D9D98 002D59F8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D9D9C 002D59FC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802D9DA0 002D5A00 7C DF 33 78 */ mr r31, r6
+/* 802D9DA4 002D5A04 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802D9DA8 002D5A08 7C BE 2B 78 */ mr r30, r5
+/* 802D9DAC 002D5A0C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802D9DB0 002D5A10 7C 9D 23 78 */ mr r29, r4
+/* 802D9DB4 002D5A14 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802D9DB8 002D5A18 7C 7C 1B 78 */ mr r28, r3
+/* 802D9DBC 002D5A1C 38 60 00 02 */ li r3, 2
+/* 802D9DC0 002D5A20 4B FD FE 8D */ bl GKI_getpoolbuf
+/* 802D9DC4 002D5A24 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9DC8 002D5A28 40 82 00 0C */ bne lbl_802D9DD4
+/* 802D9DCC 002D5A2C 38 60 00 00 */ li r3, 0
+/* 802D9DD0 002D5A30 48 00 00 64 */ b lbl_802D9E34
+lbl_802D9DD4:
+/* 802D9DD4 002D5A34 39 00 00 00 */ li r8, 0
+/* 802D9DD8 002D5A38 63 85 20 00 */ ori r5, r28, 0x2000
+/* 802D9DDC 002D5A3C B1 03 00 04 */ sth r8, 4(r3)
+/* 802D9DE0 002D5A40 38 1D 00 0C */ addi r0, r29, 0xc
+/* 802D9DE4 002D5A44 7C A7 46 70 */ srawi r7, r5, 8
+/* 802D9DE8 002D5A48 39 3D 00 08 */ addi r9, r29, 8
+/* 802D9DEC 002D5A4C B0 03 00 02 */ sth r0, 2(r3)
+/* 802D9DF0 002D5A50 7D 26 46 70 */ srawi r6, r9, 8
+/* 802D9DF4 002D5A54 39 5D 00 04 */ addi r10, r29, 4
+/* 802D9DF8 002D5A58 38 80 00 01 */ li r4, 1
+/* 802D9DFC 002D5A5C 98 A3 00 08 */ stb r5, 8(r3)
+/* 802D9E00 002D5A60 7D 45 46 70 */ srawi r5, r10, 8
+/* 802D9E04 002D5A64 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f
+/* 802D9E08 002D5A68 98 E3 00 09 */ stb r7, 9(r3)
+/* 802D9E0C 002D5A6C 99 23 00 0A */ stb r9, 0xa(r3)
+/* 802D9E10 002D5A70 98 C3 00 0B */ stb r6, 0xb(r3)
+/* 802D9E14 002D5A74 99 43 00 0C */ stb r10, 0xc(r3)
+/* 802D9E18 002D5A78 98 A3 00 0D */ stb r5, 0xd(r3)
+/* 802D9E1C 002D5A7C 98 83 00 0E */ stb r4, 0xe(r3)
+/* 802D9E20 002D5A80 99 03 00 0F */ stb r8, 0xf(r3)
+/* 802D9E24 002D5A84 9B C3 00 10 */ stb r30, 0x10(r3)
+/* 802D9E28 002D5A88 9B E3 00 11 */ stb r31, 0x11(r3)
+/* 802D9E2C 002D5A8C 9B A3 00 12 */ stb r29, 0x12(r3)
+/* 802D9E30 002D5A90 98 03 00 13 */ stb r0, 0x13(r3)
+lbl_802D9E34:
+/* 802D9E34 002D5A94 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D9E38 002D5A98 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802D9E3C 002D5A9C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802D9E40 002D5AA0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802D9E44 002D5AA4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802D9E48 002D5AA8 7C 08 03 A6 */ mtlr r0
+/* 802D9E4C 002D5AAC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D9E50 002D5AB0 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_cmd_reject
+l2cu_send_peer_cmd_reject:
+/* 802D9E54 002D5AB4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802D9E58 002D5AB8 7C 08 02 A6 */ mflr r0
+/* 802D9E5C 002D5ABC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802D9E60 002D5AC0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D9E64 002D5AC4 4B EE D2 C5 */ bl _savegpr_27
+/* 802D9E68 002D5AC8 28 04 00 01 */ cmplwi r4, 1
+/* 802D9E6C 002D5ACC 7C 7B 1B 78 */ mr r27, r3
+/* 802D9E70 002D5AD0 7C 9C 23 78 */ mr r28, r4
+/* 802D9E74 002D5AD4 7C DD 33 78 */ mr r29, r6
+/* 802D9E78 002D5AD8 7C FE 3B 78 */ mr r30, r7
+/* 802D9E7C 002D5ADC 40 82 00 0C */ bne lbl_802D9E88
+/* 802D9E80 002D5AE0 3B E0 00 02 */ li r31, 2
+/* 802D9E84 002D5AE4 48 00 00 18 */ b lbl_802D9E9C
+lbl_802D9E88:
+/* 802D9E88 002D5AE8 38 C4 FF FE */ addi r6, r4, -2
+/* 802D9E8C 002D5AEC 20 04 00 02 */ subfic r0, r4, 2
+/* 802D9E90 002D5AF0 7C C0 00 F8 */ nor r0, r6, r0
+/* 802D9E94 002D5AF4 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 802D9E98 002D5AF8 54 1F 07 7A */ rlwinm r31, r0, 0, 0x1d, 0x1d
+lbl_802D9E9C:
+/* 802D9E9C 002D5AFC 38 1F 00 02 */ addi r0, r31, 2
+/* 802D9EA0 002D5B00 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802D9EA4 002D5B04 7C A6 2B 78 */ mr r6, r5
+/* 802D9EA8 002D5B08 38 A0 00 01 */ li r5, 1
+/* 802D9EAC 002D5B0C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802D9EB0 002D5B10 4B FF FE E1 */ bl l2cu_build_header
+/* 802D9EB4 002D5B14 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9EB8 002D5B18 7C 65 1B 78 */ mr r5, r3
+/* 802D9EBC 002D5B1C 40 82 00 2C */ bne lbl_802D9EE8
+/* 802D9EC0 002D5B20 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D9EC4 002D5B24 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D9EC8 002D5B28 28 00 00 02 */ cmplwi r0, 2
+/* 802D9ECC 002D5B2C 41 80 00 6C */ blt lbl_802D9F38
+/* 802D9ED0 002D5B30 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D9ED4 002D5B34 3C 80 80 44 */ lis r4, lbl_80444178@ha
+/* 802D9ED8 002D5B38 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D9EDC 002D5B3C 38 84 41 78 */ addi r4, r4, lbl_80444178@l
+/* 802D9EE0 002D5B40 4B FE 30 31 */ bl LogMsg_0
+/* 802D9EE4 002D5B44 48 00 00 54 */ b lbl_802D9F38
+lbl_802D9EE8:
+/* 802D9EE8 002D5B48 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 802D9EEC 002D5B4C 9B 83 00 14 */ stb r28, 0x14(r3)
+/* 802D9EF0 002D5B50 57 84 C6 3E */ rlwinm r4, r28, 0x18, 0x18, 0x1f
+/* 802D9EF4 002D5B54 38 C3 00 16 */ addi r6, r3, 0x16
+/* 802D9EF8 002D5B58 28 00 00 02 */ cmplwi r0, 2
+/* 802D9EFC 002D5B5C 98 83 00 15 */ stb r4, 0x15(r3)
+/* 802D9F00 002D5B60 41 80 00 14 */ blt lbl_802D9F14
+/* 802D9F04 002D5B64 9B A6 00 00 */ stb r29, 0(r6)
+/* 802D9F08 002D5B68 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f
+/* 802D9F0C 002D5B6C 98 06 00 01 */ stb r0, 1(r6)
+/* 802D9F10 002D5B70 38 C6 00 02 */ addi r6, r6, 2
+lbl_802D9F14:
+/* 802D9F14 002D5B74 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 802D9F18 002D5B78 28 00 00 04 */ cmplwi r0, 4
+/* 802D9F1C 002D5B7C 41 80 00 10 */ blt lbl_802D9F2C
+/* 802D9F20 002D5B80 9B C6 00 00 */ stb r30, 0(r6)
+/* 802D9F24 002D5B84 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f
+/* 802D9F28 002D5B88 98 06 00 01 */ stb r0, 1(r6)
+lbl_802D9F2C:
+/* 802D9F2C 002D5B8C 7F 63 DB 78 */ mr r3, r27
+/* 802D9F30 002D5B90 38 80 00 00 */ li r4, 0
+/* 802D9F34 002D5B94 4B FF E1 8D */ bl l2c_link_check_send_pkts
+lbl_802D9F38:
+/* 802D9F38 002D5B98 39 61 00 20 */ addi r11, r1, 0x20
+/* 802D9F3C 002D5B9C 4B EE D2 39 */ bl _restgpr_27
+/* 802D9F40 002D5BA0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802D9F44 002D5BA4 7C 08 03 A6 */ mtlr r0
+/* 802D9F48 002D5BA8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802D9F4C 002D5BAC 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_connect_req
+l2cu_send_peer_connect_req:
+/* 802D9F50 002D5BB0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802D9F54 002D5BB4 7C 08 02 A6 */ mflr r0
+/* 802D9F58 002D5BB8 38 80 00 04 */ li r4, 4
+/* 802D9F5C 002D5BBC 38 A0 00 02 */ li r5, 2
+/* 802D9F60 002D5BC0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802D9F64 002D5BC4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802D9F68 002D5BC8 7C 7F 1B 78 */ mr r31, r3
+/* 802D9F6C 002D5BCC 80 E3 00 10 */ lwz r7, 0x10(r3)
+/* 802D9F70 002D5BD0 88 C7 00 31 */ lbz r6, 0x31(r7)
+/* 802D9F74 002D5BD4 38 06 00 01 */ addi r0, r6, 1
+/* 802D9F78 002D5BD8 98 07 00 31 */ stb r0, 0x31(r7)
+/* 802D9F7C 002D5BDC 54 06 06 3E */ clrlwi r6, r0, 0x18
+/* 802D9F80 002D5BE0 98 03 00 35 */ stb r0, 0x35(r3)
+/* 802D9F84 002D5BE4 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802D9F88 002D5BE8 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802D9F8C 002D5BEC 4B FF FE 05 */ bl l2cu_build_header
+/* 802D9F90 002D5BF0 2C 03 00 00 */ cmpwi r3, 0
+/* 802D9F94 002D5BF4 40 82 00 2C */ bne lbl_802D9FC0
+/* 802D9F98 002D5BF8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802D9F9C 002D5BFC 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802D9FA0 002D5C00 28 00 00 02 */ cmplwi r0, 2
+/* 802D9FA4 002D5C04 41 80 00 5C */ blt lbl_802DA000
+/* 802D9FA8 002D5C08 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802D9FAC 002D5C0C 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802D9FB0 002D5C10 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802D9FB4 002D5C14 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802D9FB8 002D5C18 4B FE 2F 59 */ bl LogMsg_0
+/* 802D9FBC 002D5C1C 48 00 00 44 */ b lbl_802DA000
+lbl_802D9FC0:
+/* 802D9FC0 002D5C20 80 DF 00 30 */ lwz r6, 0x30(r31)
+/* 802D9FC4 002D5C24 7C 65 1B 78 */ mr r5, r3
+/* 802D9FC8 002D5C28 38 80 00 00 */ li r4, 0
+/* 802D9FCC 002D5C2C A0 06 00 02 */ lhz r0, 2(r6)
+/* 802D9FD0 002D5C30 98 03 00 14 */ stb r0, 0x14(r3)
+/* 802D9FD4 002D5C34 80 DF 00 30 */ lwz r6, 0x30(r31)
+/* 802D9FD8 002D5C38 A0 06 00 02 */ lhz r0, 2(r6)
+/* 802D9FDC 002D5C3C 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D9FE0 002D5C40 98 03 00 15 */ stb r0, 0x15(r3)
+/* 802D9FE4 002D5C44 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802D9FE8 002D5C48 98 03 00 16 */ stb r0, 0x16(r3)
+/* 802D9FEC 002D5C4C A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802D9FF0 002D5C50 7C 00 46 70 */ srawi r0, r0, 8
+/* 802D9FF4 002D5C54 98 03 00 17 */ stb r0, 0x17(r3)
+/* 802D9FF8 002D5C58 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 802D9FFC 002D5C5C 4B FF E0 C5 */ bl l2c_link_check_send_pkts
+lbl_802DA000:
+/* 802DA000 002D5C60 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DA004 002D5C64 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DA008 002D5C68 7C 08 03 A6 */ mtlr r0
+/* 802DA00C 002D5C6C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DA010 002D5C70 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_connect_rsp
+l2cu_send_peer_connect_rsp:
+/* 802DA014 002D5C74 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DA018 002D5C78 7C 08 02 A6 */ mflr r0
+/* 802DA01C 002D5C7C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DA020 002D5C80 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DA024 002D5C84 7C BF 2B 78 */ mr r31, r5
+/* 802DA028 002D5C88 38 A0 00 03 */ li r5, 3
+/* 802DA02C 002D5C8C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DA030 002D5C90 7C 9E 23 78 */ mr r30, r4
+/* 802DA034 002D5C94 38 80 00 08 */ li r4, 8
+/* 802DA038 002D5C98 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DA03C 002D5C9C 7C 7D 1B 78 */ mr r29, r3
+/* 802DA040 002D5CA0 80 C3 00 10 */ lwz r6, 0x10(r3)
+/* 802DA044 002D5CA4 A0 66 00 28 */ lhz r3, 0x28(r6)
+/* 802DA048 002D5CA8 88 DD 00 36 */ lbz r6, 0x36(r29)
+/* 802DA04C 002D5CAC 4B FF FD 45 */ bl l2cu_build_header
+/* 802DA050 002D5CB0 2C 03 00 00 */ cmpwi r3, 0
+/* 802DA054 002D5CB4 40 82 00 2C */ bne lbl_802DA080
+/* 802DA058 002D5CB8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DA05C 002D5CBC 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DA060 002D5CC0 28 00 00 02 */ cmplwi r0, 2
+/* 802DA064 002D5CC4 41 80 00 6C */ blt lbl_802DA0D0
+/* 802DA068 002D5CC8 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DA06C 002D5CCC 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DA070 002D5CD0 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DA074 002D5CD4 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DA078 002D5CD8 4B FE 2E 99 */ bl LogMsg_0
+/* 802DA07C 002D5CDC 48 00 00 54 */ b lbl_802DA0D0
+lbl_802DA080:
+/* 802DA080 002D5CE0 A0 DD 00 14 */ lhz r6, 0x14(r29)
+/* 802DA084 002D5CE4 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f
+/* 802DA088 002D5CE8 7C 65 1B 78 */ mr r5, r3
+/* 802DA08C 002D5CEC 38 80 00 00 */ li r4, 0
+/* 802DA090 002D5CF0 98 C3 00 14 */ stb r6, 0x14(r3)
+/* 802DA094 002D5CF4 A0 DD 00 14 */ lhz r6, 0x14(r29)
+/* 802DA098 002D5CF8 7C C6 46 70 */ srawi r6, r6, 8
+/* 802DA09C 002D5CFC 98 C3 00 15 */ stb r6, 0x15(r3)
+/* 802DA0A0 002D5D00 A0 DD 00 16 */ lhz r6, 0x16(r29)
+/* 802DA0A4 002D5D04 98 C3 00 16 */ stb r6, 0x16(r3)
+/* 802DA0A8 002D5D08 A0 DD 00 16 */ lhz r6, 0x16(r29)
+/* 802DA0AC 002D5D0C 7C C6 46 70 */ srawi r6, r6, 8
+/* 802DA0B0 002D5D10 98 C3 00 17 */ stb r6, 0x17(r3)
+/* 802DA0B4 002D5D14 7F C6 46 70 */ srawi r6, r30, 8
+/* 802DA0B8 002D5D18 9B C3 00 18 */ stb r30, 0x18(r3)
+/* 802DA0BC 002D5D1C 98 C3 00 19 */ stb r6, 0x19(r3)
+/* 802DA0C0 002D5D20 9B E3 00 1A */ stb r31, 0x1a(r3)
+/* 802DA0C4 002D5D24 98 03 00 1B */ stb r0, 0x1b(r3)
+/* 802DA0C8 002D5D28 80 7D 00 10 */ lwz r3, 0x10(r29)
+/* 802DA0CC 002D5D2C 4B FF DF F5 */ bl l2c_link_check_send_pkts
+lbl_802DA0D0:
+/* 802DA0D0 002D5D30 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DA0D4 002D5D34 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DA0D8 002D5D38 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DA0DC 002D5D3C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DA0E0 002D5D40 7C 08 03 A6 */ mtlr r0
+/* 802DA0E4 002D5D44 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DA0E8 002D5D48 4E 80 00 20 */ blr
+
+.global l2cu_reject_connection
+l2cu_reject_connection:
+/* 802DA0EC 002D5D4C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DA0F0 002D5D50 7C 08 02 A6 */ mflr r0
+/* 802DA0F4 002D5D54 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DA0F8 002D5D58 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DA0FC 002D5D5C 7C DF 33 78 */ mr r31, r6
+/* 802DA100 002D5D60 7C A6 2B 78 */ mr r6, r5
+/* 802DA104 002D5D64 38 A0 00 03 */ li r5, 3
+/* 802DA108 002D5D68 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DA10C 002D5D6C 7C 9E 23 78 */ mr r30, r4
+/* 802DA110 002D5D70 38 80 00 08 */ li r4, 8
+/* 802DA114 002D5D74 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DA118 002D5D78 7C 7D 1B 78 */ mr r29, r3
+/* 802DA11C 002D5D7C A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DA120 002D5D80 4B FF FC 71 */ bl l2cu_build_header
+/* 802DA124 002D5D84 2C 03 00 00 */ cmpwi r3, 0
+/* 802DA128 002D5D88 40 82 00 2C */ bne lbl_802DA154
+/* 802DA12C 002D5D8C 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DA130 002D5D90 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DA134 002D5D94 28 00 00 02 */ cmplwi r0, 2
+/* 802DA138 002D5D98 41 80 00 58 */ blt lbl_802DA190
+/* 802DA13C 002D5D9C 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DA140 002D5DA0 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DA144 002D5DA4 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DA148 002D5DA8 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DA14C 002D5DAC 4B FE 2D C5 */ bl LogMsg_0
+/* 802DA150 002D5DB0 48 00 00 40 */ b lbl_802DA190
+lbl_802DA154:
+/* 802DA154 002D5DB4 38 E0 00 00 */ li r7, 0
+/* 802DA158 002D5DB8 7F C6 46 70 */ srawi r6, r30, 8
+/* 802DA15C 002D5DBC 98 E3 00 14 */ stb r7, 0x14(r3)
+/* 802DA160 002D5DC0 57 E0 C6 3E */ rlwinm r0, r31, 0x18, 0x18, 0x1f
+/* 802DA164 002D5DC4 7C 65 1B 78 */ mr r5, r3
+/* 802DA168 002D5DC8 38 80 00 00 */ li r4, 0
+/* 802DA16C 002D5DCC 98 E3 00 15 */ stb r7, 0x15(r3)
+/* 802DA170 002D5DD0 9B C3 00 16 */ stb r30, 0x16(r3)
+/* 802DA174 002D5DD4 98 C3 00 17 */ stb r6, 0x17(r3)
+/* 802DA178 002D5DD8 9B E3 00 18 */ stb r31, 0x18(r3)
+/* 802DA17C 002D5DDC 98 03 00 19 */ stb r0, 0x19(r3)
+/* 802DA180 002D5DE0 98 E3 00 1A */ stb r7, 0x1a(r3)
+/* 802DA184 002D5DE4 98 E3 00 1B */ stb r7, 0x1b(r3)
+/* 802DA188 002D5DE8 7F A3 EB 78 */ mr r3, r29
+/* 802DA18C 002D5DEC 4B FF DF 35 */ bl l2c_link_check_send_pkts
+lbl_802DA190:
+/* 802DA190 002D5DF0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DA194 002D5DF4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DA198 002D5DF8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DA19C 002D5DFC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DA1A0 002D5E00 7C 08 03 A6 */ mtlr r0
+/* 802DA1A4 002D5E04 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DA1A8 002D5E08 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_config_req
+l2cu_send_peer_config_req:
+/* 802DA1AC 002D5E0C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DA1B0 002D5E10 7C 08 02 A6 */ mflr r0
+/* 802DA1B4 002D5E14 38 E0 00 00 */ li r7, 0
+/* 802DA1B8 002D5E18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DA1BC 002D5E1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DA1C0 002D5E20 7C 9F 23 78 */ mr r31, r4
+/* 802DA1C4 002D5E24 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DA1C8 002D5E28 7C 7E 1B 78 */ mr r30, r3
+/* 802DA1CC 002D5E2C 80 C3 00 10 */ lwz r6, 0x10(r3)
+/* 802DA1D0 002D5E30 88 A6 00 31 */ lbz r5, 0x31(r6)
+/* 802DA1D4 002D5E34 38 05 00 01 */ addi r0, r5, 1
+/* 802DA1D8 002D5E38 98 06 00 31 */ stb r0, 0x31(r6)
+/* 802DA1DC 002D5E3C 98 03 00 35 */ stb r0, 0x35(r3)
+/* 802DA1E0 002D5E40 88 04 00 02 */ lbz r0, 2(r4)
+/* 802DA1E4 002D5E44 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA1E8 002D5E48 41 82 00 08 */ beq lbl_802DA1F0
+/* 802DA1EC 002D5E4C 38 E0 00 04 */ li r7, 4
+lbl_802DA1F0:
+/* 802DA1F0 002D5E50 88 04 00 20 */ lbz r0, 0x20(r4)
+/* 802DA1F4 002D5E54 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA1F8 002D5E58 41 82 00 0C */ beq lbl_802DA204
+/* 802DA1FC 002D5E5C 38 07 00 04 */ addi r0, r7, 4
+/* 802DA200 002D5E60 54 07 04 3E */ clrlwi r7, r0, 0x10
+lbl_802DA204:
+/* 802DA204 002D5E64 88 04 00 06 */ lbz r0, 6(r4)
+/* 802DA208 002D5E68 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA20C 002D5E6C 41 82 00 0C */ beq lbl_802DA218
+/* 802DA210 002D5E70 38 07 00 18 */ addi r0, r7, 0x18
+/* 802DA214 002D5E74 54 07 04 3E */ clrlwi r7, r0, 0x10
+lbl_802DA218:
+/* 802DA218 002D5E78 88 04 00 24 */ lbz r0, 0x24(r4)
+/* 802DA21C 002D5E7C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA220 002D5E80 41 82 00 0C */ beq lbl_802DA22C
+/* 802DA224 002D5E84 38 07 00 0B */ addi r0, r7, 0xb
+/* 802DA228 002D5E88 54 07 04 3E */ clrlwi r7, r0, 0x10
+lbl_802DA22C:
+/* 802DA22C 002D5E8C 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802DA230 002D5E90 38 07 00 04 */ addi r0, r7, 4
+/* 802DA234 002D5E94 88 DE 00 35 */ lbz r6, 0x35(r30)
+/* 802DA238 002D5E98 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802DA23C 002D5E9C A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DA240 002D5EA0 38 A0 00 04 */ li r5, 4
+/* 802DA244 002D5EA4 4B FF FB 4D */ bl l2cu_build_header
+/* 802DA248 002D5EA8 2C 03 00 00 */ cmpwi r3, 0
+/* 802DA24C 002D5EAC 7C 65 1B 78 */ mr r5, r3
+/* 802DA250 002D5EB0 40 82 00 2C */ bne lbl_802DA27C
+/* 802DA254 002D5EB4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DA258 002D5EB8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DA25C 002D5EBC 28 00 00 02 */ cmplwi r0, 2
+/* 802DA260 002D5EC0 41 80 02 2C */ blt lbl_802DA48C
+/* 802DA264 002D5EC4 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DA268 002D5EC8 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DA26C 002D5ECC 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DA270 002D5ED0 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DA274 002D5ED4 4B FE 2C 9D */ bl LogMsg_0
+/* 802DA278 002D5ED8 48 00 02 14 */ b lbl_802DA48C
+lbl_802DA27C:
+/* 802DA27C 002D5EDC A0 DE 00 16 */ lhz r6, 0x16(r30)
+/* 802DA280 002D5EE0 38 00 00 00 */ li r0, 0
+/* 802DA284 002D5EE4 38 83 00 18 */ addi r4, r3, 0x18
+/* 802DA288 002D5EE8 98 C3 00 14 */ stb r6, 0x14(r3)
+/* 802DA28C 002D5EEC A0 DE 00 16 */ lhz r6, 0x16(r30)
+/* 802DA290 002D5EF0 7C C6 46 70 */ srawi r6, r6, 8
+/* 802DA294 002D5EF4 98 C3 00 15 */ stb r6, 0x15(r3)
+/* 802DA298 002D5EF8 98 03 00 16 */ stb r0, 0x16(r3)
+/* 802DA29C 002D5EFC 98 03 00 17 */ stb r0, 0x17(r3)
+/* 802DA2A0 002D5F00 88 1F 00 02 */ lbz r0, 2(r31)
+/* 802DA2A4 002D5F04 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA2A8 002D5F08 41 82 00 2C */ beq lbl_802DA2D4
+/* 802DA2AC 002D5F0C 38 60 00 01 */ li r3, 1
+/* 802DA2B0 002D5F10 38 00 00 02 */ li r0, 2
+/* 802DA2B4 002D5F14 98 64 00 00 */ stb r3, 0(r4)
+/* 802DA2B8 002D5F18 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA2BC 002D5F1C A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802DA2C0 002D5F20 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA2C4 002D5F24 A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802DA2C8 002D5F28 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA2CC 002D5F2C 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA2D0 002D5F30 38 84 00 04 */ addi r4, r4, 4
+lbl_802DA2D4:
+/* 802DA2D4 002D5F34 88 1F 00 20 */ lbz r0, 0x20(r31)
+/* 802DA2D8 002D5F38 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA2DC 002D5F3C 41 82 00 28 */ beq lbl_802DA304
+/* 802DA2E0 002D5F40 38 00 00 02 */ li r0, 2
+/* 802DA2E4 002D5F44 98 04 00 00 */ stb r0, 0(r4)
+/* 802DA2E8 002D5F48 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA2EC 002D5F4C A0 1F 00 22 */ lhz r0, 0x22(r31)
+/* 802DA2F0 002D5F50 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA2F4 002D5F54 A0 1F 00 22 */ lhz r0, 0x22(r31)
+/* 802DA2F8 002D5F58 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA2FC 002D5F5C 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA300 002D5F60 38 84 00 04 */ addi r4, r4, 4
+lbl_802DA304:
+/* 802DA304 002D5F64 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802DA308 002D5F68 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA30C 002D5F6C 41 82 01 04 */ beq lbl_802DA410
+/* 802DA310 002D5F70 38 60 00 03 */ li r3, 3
+/* 802DA314 002D5F74 38 00 00 16 */ li r0, 0x16
+/* 802DA318 002D5F78 98 64 00 00 */ stb r3, 0(r4)
+/* 802DA31C 002D5F7C 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA320 002D5F80 88 1F 00 08 */ lbz r0, 8(r31)
+/* 802DA324 002D5F84 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA328 002D5F88 88 1F 00 09 */ lbz r0, 9(r31)
+/* 802DA32C 002D5F8C 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA330 002D5F90 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA334 002D5F94 98 04 00 04 */ stb r0, 4(r4)
+/* 802DA338 002D5F98 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA33C 002D5F9C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA340 002D5FA0 98 04 00 05 */ stb r0, 5(r4)
+/* 802DA344 002D5FA4 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA348 002D5FA8 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA34C 002D5FAC 98 04 00 06 */ stb r0, 6(r4)
+/* 802DA350 002D5FB0 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA354 002D5FB4 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA358 002D5FB8 98 04 00 07 */ stb r0, 7(r4)
+/* 802DA35C 002D5FBC 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA360 002D5FC0 98 04 00 08 */ stb r0, 8(r4)
+/* 802DA364 002D5FC4 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA368 002D5FC8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA36C 002D5FCC 98 04 00 09 */ stb r0, 9(r4)
+/* 802DA370 002D5FD0 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA374 002D5FD4 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA378 002D5FD8 98 04 00 0A */ stb r0, 0xa(r4)
+/* 802DA37C 002D5FDC 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA380 002D5FE0 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA384 002D5FE4 98 04 00 0B */ stb r0, 0xb(r4)
+/* 802DA388 002D5FE8 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA38C 002D5FEC 98 04 00 0C */ stb r0, 0xc(r4)
+/* 802DA390 002D5FF0 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA394 002D5FF4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA398 002D5FF8 98 04 00 0D */ stb r0, 0xd(r4)
+/* 802DA39C 002D5FFC 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA3A0 002D6000 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA3A4 002D6004 98 04 00 0E */ stb r0, 0xe(r4)
+/* 802DA3A8 002D6008 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA3AC 002D600C 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA3B0 002D6010 98 04 00 0F */ stb r0, 0xf(r4)
+/* 802DA3B4 002D6014 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA3B8 002D6018 98 04 00 10 */ stb r0, 0x10(r4)
+/* 802DA3BC 002D601C 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA3C0 002D6020 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA3C4 002D6024 98 04 00 11 */ stb r0, 0x11(r4)
+/* 802DA3C8 002D6028 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA3CC 002D602C 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA3D0 002D6030 98 04 00 12 */ stb r0, 0x12(r4)
+/* 802DA3D4 002D6034 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA3D8 002D6038 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA3DC 002D603C 98 04 00 13 */ stb r0, 0x13(r4)
+/* 802DA3E0 002D6040 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA3E4 002D6044 98 04 00 14 */ stb r0, 0x14(r4)
+/* 802DA3E8 002D6048 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA3EC 002D604C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA3F0 002D6050 98 04 00 15 */ stb r0, 0x15(r4)
+/* 802DA3F4 002D6054 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA3F8 002D6058 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA3FC 002D605C 98 04 00 16 */ stb r0, 0x16(r4)
+/* 802DA400 002D6060 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA404 002D6064 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA408 002D6068 98 04 00 17 */ stb r0, 0x17(r4)
+/* 802DA40C 002D606C 38 84 00 18 */ addi r4, r4, 0x18
+lbl_802DA410:
+/* 802DA410 002D6070 88 1F 00 24 */ lbz r0, 0x24(r31)
+/* 802DA414 002D6074 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA418 002D6078 41 82 00 68 */ beq lbl_802DA480
+/* 802DA41C 002D607C 38 60 00 04 */ li r3, 4
+/* 802DA420 002D6080 38 00 00 09 */ li r0, 9
+/* 802DA424 002D6084 98 64 00 00 */ stb r3, 0(r4)
+/* 802DA428 002D6088 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA42C 002D608C 88 1F 00 26 */ lbz r0, 0x26(r31)
+/* 802DA430 002D6090 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA434 002D6094 88 1F 00 27 */ lbz r0, 0x27(r31)
+/* 802DA438 002D6098 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA43C 002D609C 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802DA440 002D60A0 98 04 00 04 */ stb r0, 4(r4)
+/* 802DA444 002D60A4 A0 1F 00 2A */ lhz r0, 0x2a(r31)
+/* 802DA448 002D60A8 98 04 00 05 */ stb r0, 5(r4)
+/* 802DA44C 002D60AC A0 1F 00 2A */ lhz r0, 0x2a(r31)
+/* 802DA450 002D60B0 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA454 002D60B4 98 04 00 06 */ stb r0, 6(r4)
+/* 802DA458 002D60B8 A0 1F 00 2C */ lhz r0, 0x2c(r31)
+/* 802DA45C 002D60BC 98 04 00 07 */ stb r0, 7(r4)
+/* 802DA460 002D60C0 A0 1F 00 2C */ lhz r0, 0x2c(r31)
+/* 802DA464 002D60C4 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA468 002D60C8 98 04 00 08 */ stb r0, 8(r4)
+/* 802DA46C 002D60CC A0 1F 00 2E */ lhz r0, 0x2e(r31)
+/* 802DA470 002D60D0 98 04 00 09 */ stb r0, 9(r4)
+/* 802DA474 002D60D4 A0 1F 00 2E */ lhz r0, 0x2e(r31)
+/* 802DA478 002D60D8 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA47C 002D60DC 98 04 00 0A */ stb r0, 0xa(r4)
+lbl_802DA480:
+/* 802DA480 002D60E0 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 802DA484 002D60E4 38 80 00 00 */ li r4, 0
+/* 802DA488 002D60E8 4B FF DC 39 */ bl l2c_link_check_send_pkts
+lbl_802DA48C:
+/* 802DA48C 002D60EC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DA490 002D60F0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DA494 002D60F4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DA498 002D60F8 7C 08 03 A6 */ mtlr r0
+/* 802DA49C 002D60FC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DA4A0 002D6100 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_config_rsp
+l2cu_send_peer_config_rsp:
+/* 802DA4A4 002D6104 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DA4A8 002D6108 7C 08 02 A6 */ mflr r0
+/* 802DA4AC 002D610C 38 A0 00 00 */ li r5, 0
+/* 802DA4B0 002D6110 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DA4B4 002D6114 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DA4B8 002D6118 7C 9F 23 78 */ mr r31, r4
+/* 802DA4BC 002D611C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DA4C0 002D6120 7C 7E 1B 78 */ mr r30, r3
+/* 802DA4C4 002D6124 88 04 00 02 */ lbz r0, 2(r4)
+/* 802DA4C8 002D6128 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA4CC 002D612C 41 82 00 08 */ beq lbl_802DA4D4
+/* 802DA4D0 002D6130 38 A0 00 04 */ li r5, 4
+lbl_802DA4D4:
+/* 802DA4D4 002D6134 88 04 00 20 */ lbz r0, 0x20(r4)
+/* 802DA4D8 002D6138 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA4DC 002D613C 41 82 00 0C */ beq lbl_802DA4E8
+/* 802DA4E0 002D6140 38 05 00 04 */ addi r0, r5, 4
+/* 802DA4E4 002D6144 54 05 04 3E */ clrlwi r5, r0, 0x10
+lbl_802DA4E8:
+/* 802DA4E8 002D6148 88 04 00 06 */ lbz r0, 6(r4)
+/* 802DA4EC 002D614C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA4F0 002D6150 41 82 00 0C */ beq lbl_802DA4FC
+/* 802DA4F4 002D6154 38 05 00 18 */ addi r0, r5, 0x18
+/* 802DA4F8 002D6158 54 05 04 3E */ clrlwi r5, r0, 0x10
+lbl_802DA4FC:
+/* 802DA4FC 002D615C 88 04 00 24 */ lbz r0, 0x24(r4)
+/* 802DA500 002D6160 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA504 002D6164 41 82 00 0C */ beq lbl_802DA510
+/* 802DA508 002D6168 38 05 00 0B */ addi r0, r5, 0xb
+/* 802DA50C 002D616C 54 05 04 3E */ clrlwi r5, r0, 0x10
+lbl_802DA510:
+/* 802DA510 002D6170 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802DA514 002D6174 38 05 00 06 */ addi r0, r5, 6
+/* 802DA518 002D6178 88 DE 00 36 */ lbz r6, 0x36(r30)
+/* 802DA51C 002D617C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802DA520 002D6180 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DA524 002D6184 38 A0 00 05 */ li r5, 5
+/* 802DA528 002D6188 4B FF F8 69 */ bl l2cu_build_header
+/* 802DA52C 002D618C 2C 03 00 00 */ cmpwi r3, 0
+/* 802DA530 002D6190 7C 65 1B 78 */ mr r5, r3
+/* 802DA534 002D6194 40 82 00 2C */ bne lbl_802DA560
+/* 802DA538 002D6198 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DA53C 002D619C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DA540 002D61A0 28 00 00 02 */ cmplwi r0, 2
+/* 802DA544 002D61A4 41 80 02 40 */ blt lbl_802DA784
+/* 802DA548 002D61A8 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DA54C 002D61AC 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DA550 002D61B0 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DA554 002D61B4 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DA558 002D61B8 4B FE 29 B9 */ bl LogMsg_0
+/* 802DA55C 002D61BC 48 00 02 28 */ b lbl_802DA784
+lbl_802DA560:
+/* 802DA560 002D61C0 A0 DE 00 16 */ lhz r6, 0x16(r30)
+/* 802DA564 002D61C4 38 00 00 00 */ li r0, 0
+/* 802DA568 002D61C8 38 83 00 1A */ addi r4, r3, 0x1a
+/* 802DA56C 002D61CC 98 C3 00 14 */ stb r6, 0x14(r3)
+/* 802DA570 002D61D0 A0 DE 00 16 */ lhz r6, 0x16(r30)
+/* 802DA574 002D61D4 7C C6 46 70 */ srawi r6, r6, 8
+/* 802DA578 002D61D8 98 C3 00 15 */ stb r6, 0x15(r3)
+/* 802DA57C 002D61DC 98 03 00 16 */ stb r0, 0x16(r3)
+/* 802DA580 002D61E0 98 03 00 17 */ stb r0, 0x17(r3)
+/* 802DA584 002D61E4 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 802DA588 002D61E8 98 03 00 18 */ stb r0, 0x18(r3)
+/* 802DA58C 002D61EC A0 1F 00 00 */ lhz r0, 0(r31)
+/* 802DA590 002D61F0 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA594 002D61F4 98 03 00 19 */ stb r0, 0x19(r3)
+/* 802DA598 002D61F8 88 1F 00 02 */ lbz r0, 2(r31)
+/* 802DA59C 002D61FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA5A0 002D6200 41 82 00 2C */ beq lbl_802DA5CC
+/* 802DA5A4 002D6204 38 60 00 01 */ li r3, 1
+/* 802DA5A8 002D6208 38 00 00 02 */ li r0, 2
+/* 802DA5AC 002D620C 98 64 00 00 */ stb r3, 0(r4)
+/* 802DA5B0 002D6210 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA5B4 002D6214 A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802DA5B8 002D6218 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA5BC 002D621C A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802DA5C0 002D6220 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA5C4 002D6224 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA5C8 002D6228 38 84 00 04 */ addi r4, r4, 4
+lbl_802DA5CC:
+/* 802DA5CC 002D622C 88 1F 00 20 */ lbz r0, 0x20(r31)
+/* 802DA5D0 002D6230 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA5D4 002D6234 41 82 00 28 */ beq lbl_802DA5FC
+/* 802DA5D8 002D6238 38 00 00 02 */ li r0, 2
+/* 802DA5DC 002D623C 98 04 00 00 */ stb r0, 0(r4)
+/* 802DA5E0 002D6240 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA5E4 002D6244 A0 1F 00 22 */ lhz r0, 0x22(r31)
+/* 802DA5E8 002D6248 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA5EC 002D624C A0 1F 00 22 */ lhz r0, 0x22(r31)
+/* 802DA5F0 002D6250 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA5F4 002D6254 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA5F8 002D6258 38 84 00 04 */ addi r4, r4, 4
+lbl_802DA5FC:
+/* 802DA5FC 002D625C 88 1F 00 06 */ lbz r0, 6(r31)
+/* 802DA600 002D6260 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA604 002D6264 41 82 01 04 */ beq lbl_802DA708
+/* 802DA608 002D6268 38 60 00 03 */ li r3, 3
+/* 802DA60C 002D626C 38 00 00 16 */ li r0, 0x16
+/* 802DA610 002D6270 98 64 00 00 */ stb r3, 0(r4)
+/* 802DA614 002D6274 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA618 002D6278 88 1F 00 08 */ lbz r0, 8(r31)
+/* 802DA61C 002D627C 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA620 002D6280 88 1F 00 09 */ lbz r0, 9(r31)
+/* 802DA624 002D6284 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA628 002D6288 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA62C 002D628C 98 04 00 04 */ stb r0, 4(r4)
+/* 802DA630 002D6290 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA634 002D6294 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA638 002D6298 98 04 00 05 */ stb r0, 5(r4)
+/* 802DA63C 002D629C 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA640 002D62A0 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA644 002D62A4 98 04 00 06 */ stb r0, 6(r4)
+/* 802DA648 002D62A8 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DA64C 002D62AC 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA650 002D62B0 98 04 00 07 */ stb r0, 7(r4)
+/* 802DA654 002D62B4 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA658 002D62B8 98 04 00 08 */ stb r0, 8(r4)
+/* 802DA65C 002D62BC 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA660 002D62C0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA664 002D62C4 98 04 00 09 */ stb r0, 9(r4)
+/* 802DA668 002D62C8 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA66C 002D62CC 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA670 002D62D0 98 04 00 0A */ stb r0, 0xa(r4)
+/* 802DA674 002D62D4 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 802DA678 002D62D8 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA67C 002D62DC 98 04 00 0B */ stb r0, 0xb(r4)
+/* 802DA680 002D62E0 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA684 002D62E4 98 04 00 0C */ stb r0, 0xc(r4)
+/* 802DA688 002D62E8 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA68C 002D62EC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA690 002D62F0 98 04 00 0D */ stb r0, 0xd(r4)
+/* 802DA694 002D62F4 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA698 002D62F8 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA69C 002D62FC 98 04 00 0E */ stb r0, 0xe(r4)
+/* 802DA6A0 002D6300 80 1F 00 14 */ lwz r0, 0x14(r31)
+/* 802DA6A4 002D6304 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA6A8 002D6308 98 04 00 0F */ stb r0, 0xf(r4)
+/* 802DA6AC 002D630C 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA6B0 002D6310 98 04 00 10 */ stb r0, 0x10(r4)
+/* 802DA6B4 002D6314 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA6B8 002D6318 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA6BC 002D631C 98 04 00 11 */ stb r0, 0x11(r4)
+/* 802DA6C0 002D6320 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA6C4 002D6324 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA6C8 002D6328 98 04 00 12 */ stb r0, 0x12(r4)
+/* 802DA6CC 002D632C 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 802DA6D0 002D6330 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA6D4 002D6334 98 04 00 13 */ stb r0, 0x13(r4)
+/* 802DA6D8 002D6338 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA6DC 002D633C 98 04 00 14 */ stb r0, 0x14(r4)
+/* 802DA6E0 002D6340 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA6E4 002D6344 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802DA6E8 002D6348 98 04 00 15 */ stb r0, 0x15(r4)
+/* 802DA6EC 002D634C 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA6F0 002D6350 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802DA6F4 002D6354 98 04 00 16 */ stb r0, 0x16(r4)
+/* 802DA6F8 002D6358 80 1F 00 1C */ lwz r0, 0x1c(r31)
+/* 802DA6FC 002D635C 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802DA700 002D6360 98 04 00 17 */ stb r0, 0x17(r4)
+/* 802DA704 002D6364 38 84 00 18 */ addi r4, r4, 0x18
+lbl_802DA708:
+/* 802DA708 002D6368 88 1F 00 24 */ lbz r0, 0x24(r31)
+/* 802DA70C 002D636C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DA710 002D6370 41 82 00 68 */ beq lbl_802DA778
+/* 802DA714 002D6374 38 60 00 04 */ li r3, 4
+/* 802DA718 002D6378 38 00 00 09 */ li r0, 9
+/* 802DA71C 002D637C 98 64 00 00 */ stb r3, 0(r4)
+/* 802DA720 002D6380 98 04 00 01 */ stb r0, 1(r4)
+/* 802DA724 002D6384 88 1F 00 26 */ lbz r0, 0x26(r31)
+/* 802DA728 002D6388 98 04 00 02 */ stb r0, 2(r4)
+/* 802DA72C 002D638C 88 1F 00 27 */ lbz r0, 0x27(r31)
+/* 802DA730 002D6390 98 04 00 03 */ stb r0, 3(r4)
+/* 802DA734 002D6394 88 1F 00 28 */ lbz r0, 0x28(r31)
+/* 802DA738 002D6398 98 04 00 04 */ stb r0, 4(r4)
+/* 802DA73C 002D639C A0 1F 00 2A */ lhz r0, 0x2a(r31)
+/* 802DA740 002D63A0 98 04 00 05 */ stb r0, 5(r4)
+/* 802DA744 002D63A4 A0 1F 00 2A */ lhz r0, 0x2a(r31)
+/* 802DA748 002D63A8 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA74C 002D63AC 98 04 00 06 */ stb r0, 6(r4)
+/* 802DA750 002D63B0 A0 1F 00 2C */ lhz r0, 0x2c(r31)
+/* 802DA754 002D63B4 98 04 00 07 */ stb r0, 7(r4)
+/* 802DA758 002D63B8 A0 1F 00 2C */ lhz r0, 0x2c(r31)
+/* 802DA75C 002D63BC 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA760 002D63C0 98 04 00 08 */ stb r0, 8(r4)
+/* 802DA764 002D63C4 A0 1F 00 2E */ lhz r0, 0x2e(r31)
+/* 802DA768 002D63C8 98 04 00 09 */ stb r0, 9(r4)
+/* 802DA76C 002D63CC A0 1F 00 2E */ lhz r0, 0x2e(r31)
+/* 802DA770 002D63D0 7C 00 46 70 */ srawi r0, r0, 8
+/* 802DA774 002D63D4 98 04 00 0A */ stb r0, 0xa(r4)
+lbl_802DA778:
+/* 802DA778 002D63D8 80 7E 00 10 */ lwz r3, 0x10(r30)
+/* 802DA77C 002D63DC 38 80 00 00 */ li r4, 0
+/* 802DA780 002D63E0 4B FF D9 41 */ bl l2c_link_check_send_pkts
+lbl_802DA784:
+/* 802DA784 002D63E4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DA788 002D63E8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DA78C 002D63EC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DA790 002D63F0 7C 08 03 A6 */ mtlr r0
+/* 802DA794 002D63F4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DA798 002D63F8 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_config_rej
+l2cu_send_peer_config_rej:
+/* 802DA79C 002D63FC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802DA7A0 002D6400 7C 08 02 A6 */ mflr r0
+/* 802DA7A4 002D6404 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802DA7A8 002D6408 39 61 00 30 */ addi r11, r1, 0x30
+/* 802DA7AC 002D640C 4B EE C9 71 */ bl _savegpr_24
+/* 802DA7B0 002D6410 7C 79 1B 78 */ mr r25, r3
+/* 802DA7B4 002D6414 7C 9A 23 78 */ mr r26, r4
+/* 802DA7B8 002D6418 7C BB 2B 78 */ mr r27, r5
+/* 802DA7BC 002D641C 7C D8 33 78 */ mr r24, r6
+/* 802DA7C0 002D6420 38 60 00 02 */ li r3, 2
+/* 802DA7C4 002D6424 4B FD F4 89 */ bl GKI_getpoolbuf
+/* 802DA7C8 002D6428 2C 03 00 00 */ cmpwi r3, 0
+/* 802DA7CC 002D642C 7C 7F 1B 78 */ mr r31, r3
+/* 802DA7D0 002D6430 40 82 00 2C */ bne lbl_802DA7FC
+/* 802DA7D4 002D6434 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DA7D8 002D6438 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DA7DC 002D643C 28 00 00 02 */ cmplwi r0, 2
+/* 802DA7E0 002D6440 41 80 01 58 */ blt lbl_802DA938
+/* 802DA7E4 002D6444 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DA7E8 002D6448 3C 80 80 44 */ lis r4, lbl_804441B4@ha
+/* 802DA7EC 002D644C 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DA7F0 002D6450 38 84 41 B4 */ addi r4, r4, lbl_804441B4@l
+/* 802DA7F4 002D6454 4B FE 27 1D */ bl LogMsg_0
+/* 802DA7F8 002D6458 48 00 01 40 */ b lbl_802DA938
+lbl_802DA7FC:
+/* 802DA7FC 002D645C 38 E0 00 00 */ li r7, 0
+/* 802DA800 002D6460 3B C3 00 0A */ addi r30, r3, 0xa
+/* 802DA804 002D6464 B0 E3 00 04 */ sth r7, 4(r3)
+/* 802DA808 002D6468 39 18 00 0A */ addi r8, r24, 0xa
+/* 802DA80C 002D646C 38 A0 00 01 */ li r5, 1
+/* 802DA810 002D6470 38 80 00 05 */ li r4, 5
+/* 802DA814 002D6474 80 D9 00 10 */ lwz r6, 0x10(r25)
+/* 802DA818 002D6478 39 38 00 06 */ addi r9, r24, 6
+/* 802DA81C 002D647C 38 00 00 03 */ li r0, 3
+/* 802DA820 002D6480 7F DD F3 78 */ mr r29, r30
+/* 802DA824 002D6484 A0 C6 00 28 */ lhz r6, 0x28(r6)
+/* 802DA828 002D6488 7F 9A DA 14 */ add r28, r26, r27
+/* 802DA82C 002D648C 60 C6 20 00 */ ori r6, r6, 0x2000
+/* 802DA830 002D6490 98 C3 00 08 */ stb r6, 8(r3)
+/* 802DA834 002D6494 80 D9 00 10 */ lwz r6, 0x10(r25)
+/* 802DA838 002D6498 A0 C6 00 28 */ lhz r6, 0x28(r6)
+/* 802DA83C 002D649C 60 C6 20 00 */ ori r6, r6, 0x2000
+/* 802DA840 002D64A0 7C C6 46 70 */ srawi r6, r6, 8
+/* 802DA844 002D64A4 98 C3 00 09 */ stb r6, 9(r3)
+/* 802DA848 002D64A8 7D 06 46 70 */ srawi r6, r8, 8
+/* 802DA84C 002D64AC 7D 23 46 70 */ srawi r3, r9, 8
+/* 802DA850 002D64B0 99 1E 00 02 */ stb r8, 2(r30)
+/* 802DA854 002D64B4 98 DE 00 03 */ stb r6, 3(r30)
+/* 802DA858 002D64B8 98 BE 00 04 */ stb r5, 4(r30)
+/* 802DA85C 002D64BC 98 FE 00 05 */ stb r7, 5(r30)
+/* 802DA860 002D64C0 98 9E 00 06 */ stb r4, 6(r30)
+/* 802DA864 002D64C4 88 99 00 36 */ lbz r4, 0x36(r25)
+/* 802DA868 002D64C8 98 9E 00 07 */ stb r4, 7(r30)
+/* 802DA86C 002D64CC 99 3E 00 08 */ stb r9, 8(r30)
+/* 802DA870 002D64D0 98 7E 00 09 */ stb r3, 9(r30)
+/* 802DA874 002D64D4 A0 79 00 16 */ lhz r3, 0x16(r25)
+/* 802DA878 002D64D8 98 7E 00 0A */ stb r3, 0xa(r30)
+/* 802DA87C 002D64DC A0 79 00 16 */ lhz r3, 0x16(r25)
+/* 802DA880 002D64E0 7C 63 46 70 */ srawi r3, r3, 8
+/* 802DA884 002D64E4 98 7E 00 0B */ stb r3, 0xb(r30)
+/* 802DA888 002D64E8 98 FE 00 0C */ stb r7, 0xc(r30)
+/* 802DA88C 002D64EC 98 FE 00 0D */ stb r7, 0xd(r30)
+/* 802DA890 002D64F0 98 1E 00 0E */ stb r0, 0xe(r30)
+/* 802DA894 002D64F4 98 FE 00 0F */ stb r7, 0xf(r30)
+/* 802DA898 002D64F8 3B DE 00 10 */ addi r30, r30, 0x10
+/* 802DA89C 002D64FC 48 00 00 64 */ b lbl_802DA900
+lbl_802DA8A0:
+/* 802DA8A0 002D6500 88 9A 00 00 */ lbz r4, 0(r26)
+/* 802DA8A4 002D6504 88 7A 00 01 */ lbz r3, 1(r26)
+/* 802DA8A8 002D6508 54 80 06 7E */ clrlwi r0, r4, 0x19
+/* 802DA8AC 002D650C 2C 00 00 04 */ cmpwi r0, 4
+/* 802DA8B0 002D6510 40 80 00 1C */ bge lbl_802DA8CC
+/* 802DA8B4 002D6514 2C 00 00 01 */ cmpwi r0, 1
+/* 802DA8B8 002D6518 40 80 00 08 */ bge lbl_802DA8C0
+/* 802DA8BC 002D651C 48 00 00 10 */ b lbl_802DA8CC
+lbl_802DA8C0:
+/* 802DA8C0 002D6520 7C 63 D2 14 */ add r3, r3, r26
+/* 802DA8C4 002D6524 3B 43 00 02 */ addi r26, r3, 2
+/* 802DA8C8 002D6528 48 00 00 38 */ b lbl_802DA900
+lbl_802DA8CC:
+/* 802DA8CC 002D652C 3B 03 00 02 */ addi r24, r3, 2
+/* 802DA8D0 002D6530 7C 18 D8 00 */ cmpw r24, r27
+/* 802DA8D4 002D6534 41 81 00 28 */ bgt lbl_802DA8FC
+/* 802DA8D8 002D6538 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18
+/* 802DA8DC 002D653C 40 82 00 18 */ bne lbl_802DA8F4
+/* 802DA8E0 002D6540 7F C3 F3 78 */ mr r3, r30
+/* 802DA8E4 002D6544 7F 44 D3 78 */ mr r4, r26
+/* 802DA8E8 002D6548 7F 05 C3 78 */ mr r5, r24
+/* 802DA8EC 002D654C 4B D2 97 15 */ bl memcpy
+/* 802DA8F0 002D6550 7F DE C2 14 */ add r30, r30, r24
+lbl_802DA8F4:
+/* 802DA8F4 002D6554 7F 5A C2 14 */ add r26, r26, r24
+/* 802DA8F8 002D6558 48 00 00 08 */ b lbl_802DA900
+lbl_802DA8FC:
+/* 802DA8FC 002D655C 7F 9A E3 78 */ mr r26, r28
+lbl_802DA900:
+/* 802DA900 002D6560 7C 1A E0 40 */ cmplw r26, r28
+/* 802DA904 002D6564 41 80 FF 9C */ blt lbl_802DA8A0
+/* 802DA908 002D6568 7C 7D F0 50 */ subf r3, r29, r30
+/* 802DA90C 002D656C 7F 24 CB 78 */ mr r4, r25
+/* 802DA910 002D6570 38 63 FF FE */ addi r3, r3, -2
+/* 802DA914 002D6574 7F E5 FB 78 */ mr r5, r31
+/* 802DA918 002D6578 98 7D 00 00 */ stb r3, 0(r29)
+/* 802DA91C 002D657C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
+/* 802DA920 002D6580 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802DA924 002D6584 98 1D 00 01 */ stb r0, 1(r29)
+/* 802DA928 002D6588 38 03 00 04 */ addi r0, r3, 4
+/* 802DA92C 002D658C B0 1F 00 02 */ sth r0, 2(r31)
+/* 802DA930 002D6590 80 79 00 10 */ lwz r3, 0x10(r25)
+/* 802DA934 002D6594 4B FF D7 8D */ bl l2c_link_check_send_pkts
+lbl_802DA938:
+/* 802DA938 002D6598 39 61 00 30 */ addi r11, r1, 0x30
+/* 802DA93C 002D659C 4B EE C8 2D */ bl _restgpr_24
+/* 802DA940 002D65A0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802DA944 002D65A4 7C 08 03 A6 */ mtlr r0
+/* 802DA948 002D65A8 38 21 00 30 */ addi r1, r1, 0x30
+/* 802DA94C 002D65AC 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_disc_req
+l2cu_send_peer_disc_req:
+/* 802DA950 002D65B0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DA954 002D65B4 7C 08 02 A6 */ mflr r0
+/* 802DA958 002D65B8 38 80 00 04 */ li r4, 4
+/* 802DA95C 002D65BC 38 A0 00 06 */ li r5, 6
+/* 802DA960 002D65C0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DA964 002D65C4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DA968 002D65C8 7C 7F 1B 78 */ mr r31, r3
+/* 802DA96C 002D65CC 80 E3 00 10 */ lwz r7, 0x10(r3)
+/* 802DA970 002D65D0 88 C7 00 31 */ lbz r6, 0x31(r7)
+/* 802DA974 002D65D4 38 06 00 01 */ addi r0, r6, 1
+/* 802DA978 002D65D8 98 07 00 31 */ stb r0, 0x31(r7)
+/* 802DA97C 002D65DC 54 06 06 3E */ clrlwi r6, r0, 0x18
+/* 802DA980 002D65E0 98 03 00 35 */ stb r0, 0x35(r3)
+/* 802DA984 002D65E4 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802DA988 002D65E8 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DA98C 002D65EC 4B FF F4 05 */ bl l2cu_build_header
+/* 802DA990 002D65F0 2C 03 00 00 */ cmpwi r3, 0
+/* 802DA994 002D65F4 40 82 00 2C */ bne lbl_802DA9C0
+/* 802DA998 002D65F8 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DA99C 002D65FC 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DA9A0 002D6600 28 00 00 02 */ cmplwi r0, 2
+/* 802DA9A4 002D6604 41 80 00 6C */ blt lbl_802DAA10
+/* 802DA9A8 002D6608 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DA9AC 002D660C 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DA9B0 002D6610 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DA9B4 002D6614 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DA9B8 002D6618 4B FE 25 59 */ bl LogMsg_0
+/* 802DA9BC 002D661C 48 00 00 54 */ b lbl_802DAA10
+lbl_802DA9C0:
+/* 802DA9C0 002D6620 A0 BF 00 16 */ lhz r5, 0x16(r31)
+/* 802DA9C4 002D6624 38 00 00 00 */ li r0, 0
+/* 802DA9C8 002D6628 7C 64 1B 78 */ mr r4, r3
+/* 802DA9CC 002D662C 98 A3 00 14 */ stb r5, 0x14(r3)
+/* 802DA9D0 002D6630 A0 BF 00 16 */ lhz r5, 0x16(r31)
+/* 802DA9D4 002D6634 7C A5 46 70 */ srawi r5, r5, 8
+/* 802DA9D8 002D6638 98 A3 00 15 */ stb r5, 0x15(r3)
+/* 802DA9DC 002D663C A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802DA9E0 002D6640 98 A3 00 16 */ stb r5, 0x16(r3)
+/* 802DA9E4 002D6644 A0 BF 00 14 */ lhz r5, 0x14(r31)
+/* 802DA9E8 002D6648 7C A5 46 70 */ srawi r5, r5, 8
+/* 802DA9EC 002D664C 98 A3 00 17 */ stb r5, 0x17(r3)
+/* 802DA9F0 002D6650 B0 03 00 06 */ sth r0, 6(r3)
+/* 802DA9F4 002D6654 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 802DA9F8 002D6658 38 63 00 44 */ addi r3, r3, 0x44
+/* 802DA9FC 002D665C 4B FD F7 59 */ bl GKI_enqueue
+/* 802DAA00 002D6660 80 7F 00 10 */ lwz r3, 0x10(r31)
+/* 802DAA04 002D6664 38 80 00 00 */ li r4, 0
+/* 802DAA08 002D6668 38 A0 00 00 */ li r5, 0
+/* 802DAA0C 002D666C 4B FF D6 B5 */ bl l2c_link_check_send_pkts
+lbl_802DAA10:
+/* 802DAA10 002D6670 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DAA14 002D6674 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DAA18 002D6678 7C 08 03 A6 */ mtlr r0
+/* 802DAA1C 002D667C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DAA20 002D6680 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_disc_rsp
+l2cu_send_peer_disc_rsp:
+/* 802DAA24 002D6684 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DAA28 002D6688 7C 08 02 A6 */ mflr r0
+/* 802DAA2C 002D668C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DAA30 002D6690 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DAA34 002D6694 7C DF 33 78 */ mr r31, r6
+/* 802DAA38 002D6698 7C 86 23 78 */ mr r6, r4
+/* 802DAA3C 002D669C 38 80 00 04 */ li r4, 4
+/* 802DAA40 002D66A0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DAA44 002D66A4 7C BE 2B 78 */ mr r30, r5
+/* 802DAA48 002D66A8 38 A0 00 07 */ li r5, 7
+/* 802DAA4C 002D66AC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DAA50 002D66B0 7C 7D 1B 78 */ mr r29, r3
+/* 802DAA54 002D66B4 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DAA58 002D66B8 4B FF F3 39 */ bl l2cu_build_header
+/* 802DAA5C 002D66BC 2C 03 00 00 */ cmpwi r3, 0
+/* 802DAA60 002D66C0 40 82 00 2C */ bne lbl_802DAA8C
+/* 802DAA64 002D66C4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DAA68 002D66C8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DAA6C 002D66CC 28 00 00 02 */ cmplwi r0, 2
+/* 802DAA70 002D66D0 41 80 00 58 */ blt lbl_802DAAC8
+/* 802DAA74 002D66D4 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DAA78 002D66D8 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DAA7C 002D66DC 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DAA80 002D66E0 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DAA84 002D66E4 4B FE 24 8D */ bl LogMsg_0
+/* 802DAA88 002D66E8 48 00 00 40 */ b lbl_802DAAC8
+lbl_802DAA8C:
+/* 802DAA8C 002D66EC 9B C3 00 14 */ stb r30, 0x14(r3)
+/* 802DAA90 002D66F0 7F C4 46 70 */ srawi r4, r30, 8
+/* 802DAA94 002D66F4 57 E5 C6 3E */ rlwinm r5, r31, 0x18, 0x18, 0x1f
+/* 802DAA98 002D66F8 38 00 00 00 */ li r0, 0
+/* 802DAA9C 002D66FC 98 83 00 15 */ stb r4, 0x15(r3)
+/* 802DAAA0 002D6700 7C 64 1B 78 */ mr r4, r3
+/* 802DAAA4 002D6704 9B E3 00 16 */ stb r31, 0x16(r3)
+/* 802DAAA8 002D6708 98 A3 00 17 */ stb r5, 0x17(r3)
+/* 802DAAAC 002D670C B0 03 00 06 */ sth r0, 6(r3)
+/* 802DAAB0 002D6710 38 7D 00 44 */ addi r3, r29, 0x44
+/* 802DAAB4 002D6714 4B FD F6 A1 */ bl GKI_enqueue
+/* 802DAAB8 002D6718 7F A3 EB 78 */ mr r3, r29
+/* 802DAABC 002D671C 38 80 00 00 */ li r4, 0
+/* 802DAAC0 002D6720 38 A0 00 00 */ li r5, 0
+/* 802DAAC4 002D6724 4B FF D5 FD */ bl l2c_link_check_send_pkts
+lbl_802DAAC8:
+/* 802DAAC8 002D6728 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DAACC 002D672C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DAAD0 002D6730 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DAAD4 002D6734 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DAAD8 002D6738 7C 08 03 A6 */ mtlr r0
+/* 802DAADC 002D673C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DAAE0 002D6740 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_echo_req
+l2cu_send_peer_echo_req:
+/* 802DAAE4 002D6744 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DAAE8 002D6748 7C 08 02 A6 */ mflr r0
+/* 802DAAEC 002D674C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DAAF0 002D6750 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DAAF4 002D6754 7C BF 2B 78 */ mr r31, r5
+/* 802DAAF8 002D6758 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DAAFC 002D675C 7C 9E 23 78 */ mr r30, r4
+/* 802DAB00 002D6760 7F E4 FB 78 */ mr r4, r31
+/* 802DAB04 002D6764 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DAB08 002D6768 7C 7D 1B 78 */ mr r29, r3
+/* 802DAB0C 002D676C 88 A3 00 31 */ lbz r5, 0x31(r3)
+/* 802DAB10 002D6770 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DAB14 002D6774 38 05 00 01 */ addi r0, r5, 1
+/* 802DAB18 002D6778 38 A0 00 08 */ li r5, 8
+/* 802DAB1C 002D677C 98 1D 00 31 */ stb r0, 0x31(r29)
+/* 802DAB20 002D6780 54 06 06 3E */ clrlwi r6, r0, 0x18
+/* 802DAB24 002D6784 4B FF F2 6D */ bl l2cu_build_header
+/* 802DAB28 002D6788 2C 03 00 00 */ cmpwi r3, 0
+/* 802DAB2C 002D678C 7C 65 1B 78 */ mr r5, r3
+/* 802DAB30 002D6790 40 82 00 2C */ bne lbl_802DAB5C
+/* 802DAB34 002D6794 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DAB38 002D6798 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DAB3C 002D679C 28 00 00 02 */ cmplwi r0, 2
+/* 802DAB40 002D67A0 41 80 00 F8 */ blt lbl_802DAC38
+/* 802DAB44 002D67A4 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DAB48 002D67A8 3C 80 80 44 */ lis r4, lbl_804441D4@ha
+/* 802DAB4C 002D67AC 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DAB50 002D67B0 38 84 41 D4 */ addi r4, r4, lbl_804441D4@l
+/* 802DAB54 002D67B4 4B FE 23 BD */ bl LogMsg_0
+/* 802DAB58 002D67B8 48 00 00 E0 */ b lbl_802DAC38
+lbl_802DAB5C:
+/* 802DAB5C 002D67BC 2C 9F 00 00 */ cmpwi cr1, r31, 0
+/* 802DAB60 002D67C0 38 E3 00 14 */ addi r7, r3, 0x14
+/* 802DAB64 002D67C4 41 86 00 C8 */ beq cr1, lbl_802DAC2C
+/* 802DAB68 002D67C8 39 00 00 00 */ li r8, 0
+/* 802DAB6C 002D67CC 40 85 00 C0 */ ble cr1, lbl_802DAC2C
+/* 802DAB70 002D67D0 2C 1F 00 08 */ cmpwi r31, 8
+/* 802DAB74 002D67D4 38 9F FF F8 */ addi r4, r31, -8
+/* 802DAB78 002D67D8 40 81 00 8C */ ble lbl_802DAC04
+/* 802DAB7C 002D67DC 38 C0 00 00 */ li r6, 0
+/* 802DAB80 002D67E0 41 84 00 18 */ blt cr1, lbl_802DAB98
+/* 802DAB84 002D67E4 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
+/* 802DAB88 002D67E8 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
+/* 802DAB8C 002D67EC 7C 1F 00 00 */ cmpw r31, r0
+/* 802DAB90 002D67F0 41 81 00 08 */ bgt lbl_802DAB98
+/* 802DAB94 002D67F4 38 C0 00 01 */ li r6, 1
+lbl_802DAB98:
+/* 802DAB98 002D67F8 2C 06 00 00 */ cmpwi r6, 0
+/* 802DAB9C 002D67FC 41 82 00 68 */ beq lbl_802DAC04
+/* 802DABA0 002D6800 38 04 00 07 */ addi r0, r4, 7
+/* 802DABA4 002D6804 54 00 E8 FE */ srwi r0, r0, 3
+/* 802DABA8 002D6808 7C 09 03 A6 */ mtctr r0
+/* 802DABAC 002D680C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DABB0 002D6810 40 81 00 54 */ ble lbl_802DAC04
+lbl_802DABB4:
+/* 802DABB4 002D6814 7C 1E 40 AE */ lbzx r0, r30, r8
+/* 802DABB8 002D6818 7C 7E 42 14 */ add r3, r30, r8
+/* 802DABBC 002D681C 39 08 00 08 */ addi r8, r8, 8
+/* 802DABC0 002D6820 98 07 00 00 */ stb r0, 0(r7)
+/* 802DABC4 002D6824 88 03 00 01 */ lbz r0, 1(r3)
+/* 802DABC8 002D6828 98 07 00 01 */ stb r0, 1(r7)
+/* 802DABCC 002D682C 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DABD0 002D6830 98 07 00 02 */ stb r0, 2(r7)
+/* 802DABD4 002D6834 88 03 00 03 */ lbz r0, 3(r3)
+/* 802DABD8 002D6838 98 07 00 03 */ stb r0, 3(r7)
+/* 802DABDC 002D683C 88 03 00 04 */ lbz r0, 4(r3)
+/* 802DABE0 002D6840 98 07 00 04 */ stb r0, 4(r7)
+/* 802DABE4 002D6844 88 03 00 05 */ lbz r0, 5(r3)
+/* 802DABE8 002D6848 98 07 00 05 */ stb r0, 5(r7)
+/* 802DABEC 002D684C 88 03 00 06 */ lbz r0, 6(r3)
+/* 802DABF0 002D6850 98 07 00 06 */ stb r0, 6(r7)
+/* 802DABF4 002D6854 88 03 00 07 */ lbz r0, 7(r3)
+/* 802DABF8 002D6858 98 07 00 07 */ stb r0, 7(r7)
+/* 802DABFC 002D685C 38 E7 00 08 */ addi r7, r7, 8
+/* 802DAC00 002D6860 42 00 FF B4 */ bdnz lbl_802DABB4
+lbl_802DAC04:
+/* 802DAC04 002D6864 7C 08 F8 50 */ subf r0, r8, r31
+/* 802DAC08 002D6868 7C 7E 42 14 */ add r3, r30, r8
+/* 802DAC0C 002D686C 7C 09 03 A6 */ mtctr r0
+/* 802DAC10 002D6870 7C 08 F8 00 */ cmpw r8, r31
+/* 802DAC14 002D6874 40 80 00 18 */ bge lbl_802DAC2C
+lbl_802DAC18:
+/* 802DAC18 002D6878 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DAC1C 002D687C 38 63 00 01 */ addi r3, r3, 1
+/* 802DAC20 002D6880 98 07 00 00 */ stb r0, 0(r7)
+/* 802DAC24 002D6884 38 E7 00 01 */ addi r7, r7, 1
+/* 802DAC28 002D6888 42 00 FF F0 */ bdnz lbl_802DAC18
+lbl_802DAC2C:
+/* 802DAC2C 002D688C 7F A3 EB 78 */ mr r3, r29
+/* 802DAC30 002D6890 38 80 00 00 */ li r4, 0
+/* 802DAC34 002D6894 4B FF D4 8D */ bl l2c_link_check_send_pkts
+lbl_802DAC38:
+/* 802DAC38 002D6898 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DAC3C 002D689C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DAC40 002D68A0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DAC44 002D68A4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DAC48 002D68A8 7C 08 03 A6 */ mtlr r0
+/* 802DAC4C 002D68AC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DAC50 002D68B0 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_echo_rsp
+l2cu_send_peer_echo_rsp:
+/* 802DAC54 002D68B4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DAC58 002D68B8 7C 08 02 A6 */ mflr r0
+/* 802DAC5C 002D68BC 3C E0 80 57 */ lis r7, lbl_80568650@ha
+/* 802DAC60 002D68C0 7C 88 23 78 */ mr r8, r4
+/* 802DAC64 002D68C4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DAC68 002D68C8 38 E7 86 50 */ addi r7, r7, lbl_80568650@l
+/* 802DAC6C 002D68CC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DAC70 002D68D0 7C DF 33 78 */ mr r31, r6
+/* 802DAC74 002D68D4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DAC78 002D68D8 7C BE 2B 78 */ mr r30, r5
+/* 802DAC7C 002D68DC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DAC80 002D68E0 7C 7D 1B 78 */ mr r29, r3
+/* 802DAC84 002D68E4 A0 07 00 7E */ lhz r0, 0x7e(r7)
+/* 802DAC88 002D68E8 28 00 02 94 */ cmplwi r0, 0x294
+/* 802DAC8C 002D68EC 40 80 00 0C */ bge lbl_802DAC98
+/* 802DAC90 002D68F0 A0 87 00 7C */ lhz r4, 0x7c(r7)
+/* 802DAC94 002D68F4 48 00 00 08 */ b lbl_802DAC9C
+lbl_802DAC98:
+/* 802DAC98 002D68F8 38 80 02 94 */ li r4, 0x294
+lbl_802DAC9C:
+/* 802DAC9C 002D68FC 38 04 FF F4 */ addi r0, r4, -12
+/* 802DACA0 002D6900 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802DACA4 002D6904 7C 06 00 40 */ cmplw r6, r0
+/* 802DACA8 002D6908 40 81 00 08 */ ble lbl_802DACB0
+/* 802DACAC 002D690C 3B E0 00 00 */ li r31, 0
+lbl_802DACB0:
+/* 802DACB0 002D6910 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DACB4 002D6914 7F E4 FB 78 */ mr r4, r31
+/* 802DACB8 002D6918 7D 06 43 78 */ mr r6, r8
+/* 802DACBC 002D691C 38 A0 00 09 */ li r5, 9
+/* 802DACC0 002D6920 4B FF F0 D1 */ bl l2cu_build_header
+/* 802DACC4 002D6924 2C 03 00 00 */ cmpwi r3, 0
+/* 802DACC8 002D6928 7C 65 1B 78 */ mr r5, r3
+/* 802DACCC 002D692C 40 82 00 2C */ bne lbl_802DACF8
+/* 802DACD0 002D6930 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DACD4 002D6934 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DACD8 002D6938 28 00 00 02 */ cmplwi r0, 2
+/* 802DACDC 002D693C 41 80 00 F8 */ blt lbl_802DADD4
+/* 802DACE0 002D6940 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DACE4 002D6944 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DACE8 002D6948 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DACEC 002D694C 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DACF0 002D6950 4B FE 22 21 */ bl LogMsg_0
+/* 802DACF4 002D6954 48 00 00 E0 */ b lbl_802DADD4
+lbl_802DACF8:
+/* 802DACF8 002D6958 2C 9F 00 00 */ cmpwi cr1, r31, 0
+/* 802DACFC 002D695C 38 E3 00 14 */ addi r7, r3, 0x14
+/* 802DAD00 002D6960 41 86 00 C8 */ beq cr1, lbl_802DADC8
+/* 802DAD04 002D6964 39 00 00 00 */ li r8, 0
+/* 802DAD08 002D6968 40 85 00 C0 */ ble cr1, lbl_802DADC8
+/* 802DAD0C 002D696C 2C 1F 00 08 */ cmpwi r31, 8
+/* 802DAD10 002D6970 38 9F FF F8 */ addi r4, r31, -8
+/* 802DAD14 002D6974 40 81 00 8C */ ble lbl_802DADA0
+/* 802DAD18 002D6978 38 C0 00 00 */ li r6, 0
+/* 802DAD1C 002D697C 41 84 00 18 */ blt cr1, lbl_802DAD34
+/* 802DAD20 002D6980 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
+/* 802DAD24 002D6984 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
+/* 802DAD28 002D6988 7C 1F 00 00 */ cmpw r31, r0
+/* 802DAD2C 002D698C 41 81 00 08 */ bgt lbl_802DAD34
+/* 802DAD30 002D6990 38 C0 00 01 */ li r6, 1
+lbl_802DAD34:
+/* 802DAD34 002D6994 2C 06 00 00 */ cmpwi r6, 0
+/* 802DAD38 002D6998 41 82 00 68 */ beq lbl_802DADA0
+/* 802DAD3C 002D699C 38 04 00 07 */ addi r0, r4, 7
+/* 802DAD40 002D69A0 54 00 E8 FE */ srwi r0, r0, 3
+/* 802DAD44 002D69A4 7C 09 03 A6 */ mtctr r0
+/* 802DAD48 002D69A8 2C 04 00 00 */ cmpwi r4, 0
+/* 802DAD4C 002D69AC 40 81 00 54 */ ble lbl_802DADA0
+lbl_802DAD50:
+/* 802DAD50 002D69B0 7C 1E 40 AE */ lbzx r0, r30, r8
+/* 802DAD54 002D69B4 7C 7E 42 14 */ add r3, r30, r8
+/* 802DAD58 002D69B8 39 08 00 08 */ addi r8, r8, 8
+/* 802DAD5C 002D69BC 98 07 00 00 */ stb r0, 0(r7)
+/* 802DAD60 002D69C0 88 03 00 01 */ lbz r0, 1(r3)
+/* 802DAD64 002D69C4 98 07 00 01 */ stb r0, 1(r7)
+/* 802DAD68 002D69C8 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DAD6C 002D69CC 98 07 00 02 */ stb r0, 2(r7)
+/* 802DAD70 002D69D0 88 03 00 03 */ lbz r0, 3(r3)
+/* 802DAD74 002D69D4 98 07 00 03 */ stb r0, 3(r7)
+/* 802DAD78 002D69D8 88 03 00 04 */ lbz r0, 4(r3)
+/* 802DAD7C 002D69DC 98 07 00 04 */ stb r0, 4(r7)
+/* 802DAD80 002D69E0 88 03 00 05 */ lbz r0, 5(r3)
+/* 802DAD84 002D69E4 98 07 00 05 */ stb r0, 5(r7)
+/* 802DAD88 002D69E8 88 03 00 06 */ lbz r0, 6(r3)
+/* 802DAD8C 002D69EC 98 07 00 06 */ stb r0, 6(r7)
+/* 802DAD90 002D69F0 88 03 00 07 */ lbz r0, 7(r3)
+/* 802DAD94 002D69F4 98 07 00 07 */ stb r0, 7(r7)
+/* 802DAD98 002D69F8 38 E7 00 08 */ addi r7, r7, 8
+/* 802DAD9C 002D69FC 42 00 FF B4 */ bdnz lbl_802DAD50
+lbl_802DADA0:
+/* 802DADA0 002D6A00 7C 08 F8 50 */ subf r0, r8, r31
+/* 802DADA4 002D6A04 7C 7E 42 14 */ add r3, r30, r8
+/* 802DADA8 002D6A08 7C 09 03 A6 */ mtctr r0
+/* 802DADAC 002D6A0C 7C 08 F8 00 */ cmpw r8, r31
+/* 802DADB0 002D6A10 40 80 00 18 */ bge lbl_802DADC8
+lbl_802DADB4:
+/* 802DADB4 002D6A14 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DADB8 002D6A18 38 63 00 01 */ addi r3, r3, 1
+/* 802DADBC 002D6A1C 98 07 00 00 */ stb r0, 0(r7)
+/* 802DADC0 002D6A20 38 E7 00 01 */ addi r7, r7, 1
+/* 802DADC4 002D6A24 42 00 FF F0 */ bdnz lbl_802DADB4
+lbl_802DADC8:
+/* 802DADC8 002D6A28 7F A3 EB 78 */ mr r3, r29
+/* 802DADCC 002D6A2C 38 80 00 00 */ li r4, 0
+/* 802DADD0 002D6A30 4B FF D2 F1 */ bl l2c_link_check_send_pkts
+lbl_802DADD4:
+/* 802DADD4 002D6A34 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DADD8 002D6A38 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DADDC 002D6A3C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DADE0 002D6A40 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DADE4 002D6A44 7C 08 03 A6 */ mtlr r0
+/* 802DADE8 002D6A48 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DADEC 002D6A4C 4E 80 00 20 */ blr
+
+.global l2cu_send_peer_info_rsp
+l2cu_send_peer_info_rsp:
+/* 802DADF0 002D6A50 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DADF4 002D6A54 7C 08 02 A6 */ mflr r0
+/* 802DADF8 002D6A58 7C 86 23 78 */ mr r6, r4
+/* 802DADFC 002D6A5C 38 80 00 04 */ li r4, 4
+/* 802DAE00 002D6A60 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DAE04 002D6A64 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DAE08 002D6A68 7C BF 2B 78 */ mr r31, r5
+/* 802DAE0C 002D6A6C 38 A0 00 0B */ li r5, 0xb
+/* 802DAE10 002D6A70 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DAE14 002D6A74 7C 7E 1B 78 */ mr r30, r3
+/* 802DAE18 002D6A78 A0 63 00 28 */ lhz r3, 0x28(r3)
+/* 802DAE1C 002D6A7C 4B FF EF 75 */ bl l2cu_build_header
+/* 802DAE20 002D6A80 2C 03 00 00 */ cmpwi r3, 0
+/* 802DAE24 002D6A84 40 82 00 2C */ bne lbl_802DAE50
+/* 802DAE28 002D6A88 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DAE2C 002D6A8C 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DAE30 002D6A90 28 00 00 02 */ cmplwi r0, 2
+/* 802DAE34 002D6A94 41 80 00 48 */ blt lbl_802DAE7C
+/* 802DAE38 002D6A98 3C 60 00 08 */ lis r3, 0x00080001@ha
+/* 802DAE3C 002D6A9C 3C 80 80 44 */ lis r4, lbl_80444194@ha
+/* 802DAE40 002D6AA0 38 63 00 01 */ addi r3, r3, 0x00080001@l
+/* 802DAE44 002D6AA4 38 84 41 94 */ addi r4, r4, lbl_80444194@l
+/* 802DAE48 002D6AA8 4B FE 20 C9 */ bl LogMsg_0
+/* 802DAE4C 002D6AAC 48 00 00 30 */ b lbl_802DAE7C
+lbl_802DAE50:
+/* 802DAE50 002D6AB0 9B E3 00 14 */ stb r31, 0x14(r3)
+/* 802DAE54 002D6AB4 57 E4 C6 3E */ rlwinm r4, r31, 0x18, 0x18, 0x1f
+/* 802DAE58 002D6AB8 38 C0 00 01 */ li r6, 1
+/* 802DAE5C 002D6ABC 38 00 00 00 */ li r0, 0
+/* 802DAE60 002D6AC0 98 83 00 15 */ stb r4, 0x15(r3)
+/* 802DAE64 002D6AC4 7C 65 1B 78 */ mr r5, r3
+/* 802DAE68 002D6AC8 38 80 00 00 */ li r4, 0
+/* 802DAE6C 002D6ACC 98 C3 00 16 */ stb r6, 0x16(r3)
+/* 802DAE70 002D6AD0 98 03 00 17 */ stb r0, 0x17(r3)
+/* 802DAE74 002D6AD4 7F C3 F3 78 */ mr r3, r30
+/* 802DAE78 002D6AD8 4B FF D2 49 */ bl l2c_link_check_send_pkts
+lbl_802DAE7C:
+/* 802DAE7C 002D6ADC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DAE80 002D6AE0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DAE84 002D6AE4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DAE88 002D6AE8 7C 08 03 A6 */ mtlr r0
+/* 802DAE8C 002D6AEC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DAE90 002D6AF0 4E 80 00 20 */ blr
+
+.global l2cu_allocate_ccb
+l2cu_allocate_ccb:
+/* 802DAE94 002D6AF4 3C E0 80 57 */ lis r7, lbl_8056BC40@ha
+/* 802DAE98 002D6AF8 38 E7 BC 40 */ addi r7, r7, lbl_8056BC40@l
+/* 802DAE9C 002D6AFC 81 07 07 B0 */ lwz r8, 0x7b0(r7)
+/* 802DAEA0 002D6B00 2C 08 00 00 */ cmpwi r8, 0
+/* 802DAEA4 002D6B04 40 82 00 0C */ bne lbl_802DAEB0
+/* 802DAEA8 002D6B08 38 60 00 00 */ li r3, 0
+/* 802DAEAC 002D6B0C 4E 80 00 20 */ blr
+lbl_802DAEB0:
+/* 802DAEB0 002D6B10 38 07 01 78 */ addi r0, r7, 0x178
+/* 802DAEB4 002D6B14 3C 80 84 21 */ lis r4, 0x84210843@ha
+/* 802DAEB8 002D6B18 7C 00 40 50 */ subf r0, r0, r8
+/* 802DAEBC 002D6B1C 80 C8 00 08 */ lwz r6, 8(r8)
+/* 802DAEC0 002D6B20 38 84 08 43 */ addi r4, r4, 0x84210843@l
+/* 802DAEC4 002D6B24 38 A0 00 01 */ li r5, 1
+/* 802DAEC8 002D6B28 7C 84 00 96 */ mulhw r4, r4, r0
+/* 802DAECC 002D6B2C 90 C7 07 B0 */ stw r6, 0x7b0(r7)
+/* 802DAED0 002D6B30 98 A8 00 00 */ stb r5, 0(r8)
+/* 802DAED4 002D6B34 7C 04 02 14 */ add r0, r4, r0
+/* 802DAED8 002D6B38 7C 00 36 70 */ srawi r0, r0, 6
+/* 802DAEDC 002D6B3C 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 802DAEE0 002D6B40 7C 00 22 14 */ add r0, r0, r4
+/* 802DAEE4 002D6B44 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802DAEE8 002D6B48 38 04 00 40 */ addi r0, r4, 0x40
+/* 802DAEEC 002D6B4C B0 08 00 14 */ sth r0, 0x14(r8)
+/* 802DAEF0 002D6B50 90 68 00 10 */ stw r3, 0x10(r8)
+/* 802DAEF4 002D6B54 80 03 00 08 */ lwz r0, 8(r3)
+/* 802DAEF8 002D6B58 2C 00 00 00 */ cmpwi r0, 0
+/* 802DAEFC 002D6B5C 40 82 00 1C */ bne lbl_802DAF18
+/* 802DAF00 002D6B60 91 03 00 0C */ stw r8, 0xc(r3)
+/* 802DAF04 002D6B64 38 00 00 00 */ li r0, 0
+/* 802DAF08 002D6B68 91 03 00 08 */ stw r8, 8(r3)
+/* 802DAF0C 002D6B6C 90 08 00 08 */ stw r0, 8(r8)
+/* 802DAF10 002D6B70 90 08 00 0C */ stw r0, 0xc(r8)
+/* 802DAF14 002D6B74 48 00 00 20 */ b lbl_802DAF34
+lbl_802DAF18:
+/* 802DAF18 002D6B78 38 00 00 00 */ li r0, 0
+/* 802DAF1C 002D6B7C 90 08 00 08 */ stw r0, 8(r8)
+/* 802DAF20 002D6B80 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 802DAF24 002D6B84 90 08 00 0C */ stw r0, 0xc(r8)
+/* 802DAF28 002D6B88 80 83 00 0C */ lwz r4, 0xc(r3)
+/* 802DAF2C 002D6B8C 91 04 00 08 */ stw r8, 8(r4)
+/* 802DAF30 002D6B90 91 03 00 0C */ stw r8, 0xc(r3)
+lbl_802DAF34:
+/* 802DAF34 002D6B94 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802DAF38 002D6B98 38 C0 02 A0 */ li r6, 0x2a0
+/* 802DAF3C 002D6B9C 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
+/* 802DAF40 002D6BA0 38 A0 00 01 */ li r5, 1
+/* 802DAF44 002D6BA4 B0 08 00 3C */ sth r0, 0x3c(r8)
+/* 802DAF48 002D6BA8 38 80 00 00 */ li r4, 0
+/* 802DAF4C 002D6BAC 38 00 FF FF */ li r0, -1
+/* 802DAF50 002D6BB0 7D 03 43 78 */ mr r3, r8
+/* 802DAF54 002D6BB4 B0 C8 00 3A */ sth r6, 0x3a(r8)
+/* 802DAF58 002D6BB8 B0 C8 00 38 */ sth r6, 0x38(r8)
+/* 802DAF5C 002D6BBC 98 A8 00 59 */ stb r5, 0x59(r8)
+/* 802DAF60 002D6BC0 98 A8 00 41 */ stb r5, 0x41(r8)
+/* 802DAF64 002D6BC4 90 88 00 5C */ stw r4, 0x5c(r8)
+/* 802DAF68 002D6BC8 90 88 00 44 */ stw r4, 0x44(r8)
+/* 802DAF6C 002D6BCC 90 88 00 60 */ stw r4, 0x60(r8)
+/* 802DAF70 002D6BD0 90 88 00 48 */ stw r4, 0x48(r8)
+/* 802DAF74 002D6BD4 90 88 00 64 */ stw r4, 0x64(r8)
+/* 802DAF78 002D6BD8 90 88 00 4C */ stw r4, 0x4c(r8)
+/* 802DAF7C 002D6BDC 90 08 00 68 */ stw r0, 0x68(r8)
+/* 802DAF80 002D6BE0 90 08 00 50 */ stw r0, 0x50(r8)
+/* 802DAF84 002D6BE4 90 08 00 6C */ stw r0, 0x6c(r8)
+/* 802DAF88 002D6BE8 90 08 00 54 */ stw r0, 0x54(r8)
+/* 802DAF8C 002D6BEC 98 88 00 34 */ stb r4, 0x34(r8)
+/* 802DAF90 002D6BF0 90 88 00 04 */ stw r4, 4(r8)
+/* 802DAF94 002D6BF4 98 A8 00 37 */ stb r5, 0x37(r8)
+/* 802DAF98 002D6BF8 91 08 00 28 */ stw r8, 0x28(r8)
+/* 802DAF9C 002D6BFC 4E 80 00 20 */ blr
+
+.global l2cu_release_ccb
+l2cu_release_ccb:
+/* 802DAFA0 002D6C00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DAFA4 002D6C04 7C 08 02 A6 */ mflr r0
+/* 802DAFA8 002D6C08 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DAFAC 002D6C0C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DAFB0 002D6C10 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DAFB4 002D6C14 7C 7E 1B 78 */ mr r30, r3
+/* 802DAFB8 002D6C18 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DAFBC 002D6C1C 83 E3 00 10 */ lwz r31, 0x10(r3)
+/* 802DAFC0 002D6C20 2C 00 00 00 */ cmpwi r0, 0
+/* 802DAFC4 002D6C24 41 82 01 68 */ beq lbl_802DB12C
+/* 802DAFC8 002D6C28 38 00 00 00 */ li r0, 0
+/* 802DAFCC 002D6C2C 98 03 00 00 */ stb r0, 0(r3)
+/* 802DAFD0 002D6C30 38 63 00 18 */ addi r3, r3, 0x18
+/* 802DAFD4 002D6C34 4B FE 25 79 */ bl btu_stop_timer
+/* 802DAFD8 002D6C38 48 00 00 10 */ b lbl_802DAFE8
+lbl_802DAFDC:
+/* 802DAFDC 002D6C3C 38 7E 00 70 */ addi r3, r30, 0x70
+/* 802DAFE0 002D6C40 4B FD F3 F1 */ bl GKI_dequeue
+/* 802DAFE4 002D6C44 4B FD ED 51 */ bl GKI_freebuf
+lbl_802DAFE8:
+/* 802DAFE8 002D6C48 80 1E 00 70 */ lwz r0, 0x70(r30)
+/* 802DAFEC 002D6C4C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DAFF0 002D6C50 40 82 FF EC */ bne lbl_802DAFDC
+/* 802DAFF4 002D6C54 38 80 00 00 */ li r4, 0
+/* 802DAFF8 002D6C58 90 9E 00 10 */ stw r4, 0x10(r30)
+/* 802DAFFC 002D6C5C 80 1F 00 08 */ lwz r0, 8(r31)
+/* 802DB000 002D6C60 7C 00 F0 40 */ cmplw r0, r30
+/* 802DB004 002D6C64 40 82 00 1C */ bne lbl_802DB020
+/* 802DB008 002D6C68 80 7E 00 08 */ lwz r3, 8(r30)
+/* 802DB00C 002D6C6C 2C 03 00 00 */ cmpwi r3, 0
+/* 802DB010 002D6C70 90 7F 00 08 */ stw r3, 8(r31)
+/* 802DB014 002D6C74 41 82 00 40 */ beq lbl_802DB054
+/* 802DB018 002D6C78 90 83 00 0C */ stw r4, 0xc(r3)
+/* 802DB01C 002D6C7C 48 00 00 38 */ b lbl_802DB054
+lbl_802DB020:
+/* 802DB020 002D6C80 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 802DB024 002D6C84 7C 00 F0 40 */ cmplw r0, r30
+/* 802DB028 002D6C88 40 82 00 14 */ bne lbl_802DB03C
+/* 802DB02C 002D6C8C 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 802DB030 002D6C90 90 7F 00 0C */ stw r3, 0xc(r31)
+/* 802DB034 002D6C94 90 83 00 08 */ stw r4, 8(r3)
+/* 802DB038 002D6C98 48 00 00 1C */ b lbl_802DB054
+lbl_802DB03C:
+/* 802DB03C 002D6C9C 80 1E 00 08 */ lwz r0, 8(r30)
+/* 802DB040 002D6CA0 80 7E 00 0C */ lwz r3, 0xc(r30)
+/* 802DB044 002D6CA4 90 03 00 08 */ stw r0, 8(r3)
+/* 802DB048 002D6CA8 80 1E 00 0C */ lwz r0, 0xc(r30)
+/* 802DB04C 002D6CAC 80 7E 00 08 */ lwz r3, 8(r30)
+/* 802DB050 002D6CB0 90 03 00 0C */ stw r0, 0xc(r3)
+lbl_802DB054:
+/* 802DB054 002D6CB4 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802DB058 002D6CB8 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802DB05C 002D6CBC 80 04 07 B0 */ lwz r0, 0x7b0(r4)
+/* 802DB060 002D6CC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB064 002D6CC4 40 82 00 1C */ bne lbl_802DB080
+/* 802DB068 002D6CC8 93 C4 07 B0 */ stw r30, 0x7b0(r4)
+/* 802DB06C 002D6CCC 38 00 00 00 */ li r0, 0
+/* 802DB070 002D6CD0 93 C4 07 B4 */ stw r30, 0x7b4(r4)
+/* 802DB074 002D6CD4 90 1E 00 08 */ stw r0, 8(r30)
+/* 802DB078 002D6CD8 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 802DB07C 002D6CDC 48 00 00 20 */ b lbl_802DB09C
+lbl_802DB080:
+/* 802DB080 002D6CE0 38 00 00 00 */ li r0, 0
+/* 802DB084 002D6CE4 90 1E 00 08 */ stw r0, 8(r30)
+/* 802DB088 002D6CE8 80 04 07 B4 */ lwz r0, 0x7b4(r4)
+/* 802DB08C 002D6CEC 90 1E 00 0C */ stw r0, 0xc(r30)
+/* 802DB090 002D6CF0 80 64 07 B4 */ lwz r3, 0x7b4(r4)
+/* 802DB094 002D6CF4 93 C3 00 08 */ stw r30, 8(r3)
+/* 802DB098 002D6CF8 93 C4 07 B4 */ stw r30, 0x7b4(r4)
+lbl_802DB09C:
+/* 802DB09C 002D6CFC 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802DB0A0 002D6D00 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB0A4 002D6D04 41 82 00 88 */ beq lbl_802DB12C
+/* 802DB0A8 002D6D08 80 1F 00 04 */ lwz r0, 4(r31)
+/* 802DB0AC 002D6D0C 2C 00 00 04 */ cmpwi r0, 4
+/* 802DB0B0 002D6D10 40 82 00 7C */ bne lbl_802DB12C
+/* 802DB0B4 002D6D14 80 1F 00 08 */ lwz r0, 8(r31)
+/* 802DB0B8 002D6D18 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB0BC 002D6D1C 40 82 00 70 */ bne lbl_802DB12C
+/* 802DB0C0 002D6D20 A0 7F 00 58 */ lhz r3, 0x58(r31)
+/* 802DB0C4 002D6D24 2C 03 00 00 */ cmpwi r3, 0
+/* 802DB0C8 002D6D28 40 82 00 4C */ bne lbl_802DB114
+/* 802DB0CC 002D6D2C A0 7F 00 28 */ lhz r3, 0x28(r31)
+/* 802DB0D0 002D6D30 38 80 00 13 */ li r4, 0x13
+/* 802DB0D4 002D6D34 4B FF 18 A5 */ bl btm_sec_disconnect
+/* 802DB0D8 002D6D38 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 802DB0DC 002D6D3C 28 00 00 01 */ cmplwi r0, 1
+/* 802DB0E0 002D6D40 40 82 00 14 */ bne lbl_802DB0F4
+/* 802DB0E4 002D6D44 38 00 00 05 */ li r0, 5
+/* 802DB0E8 002D6D48 38 60 00 1E */ li r3, 0x1e
+/* 802DB0EC 002D6D4C 90 1F 00 04 */ stw r0, 4(r31)
+/* 802DB0F0 002D6D50 48 00 00 24 */ b lbl_802DB114
+lbl_802DB0F4:
+/* 802DB0F4 002D6D54 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB0F8 002D6D58 40 82 00 18 */ bne lbl_802DB110
+/* 802DB0FC 002D6D5C 38 00 00 05 */ li r0, 5
+/* 802DB100 002D6D60 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802DB104 002D6D64 90 1F 00 04 */ stw r0, 4(r31)
+/* 802DB108 002D6D68 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
+/* 802DB10C 002D6D6C 48 00 00 08 */ b lbl_802DB114
+lbl_802DB110:
+/* 802DB110 002D6D70 38 60 00 01 */ li r3, 1
+lbl_802DB114:
+/* 802DB114 002D6D74 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 802DB118 002D6D78 28 05 FF FF */ cmplwi r5, 0xffff
+/* 802DB11C 002D6D7C 41 82 00 10 */ beq lbl_802DB12C
+/* 802DB120 002D6D80 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802DB124 002D6D84 38 80 00 02 */ li r4, 2
+/* 802DB128 002D6D88 4B FE 23 B5 */ bl btu_start_timer
+lbl_802DB12C:
+/* 802DB12C 002D6D8C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DB130 002D6D90 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DB134 002D6D94 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DB138 002D6D98 7C 08 03 A6 */ mtlr r0
+/* 802DB13C 002D6D9C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DB140 002D6DA0 4E 80 00 20 */ blr
+
+.global l2cu_find_ccb_by_cid
+l2cu_find_ccb_by_cid:
+/* 802DB144 002D6DA4 28 04 00 40 */ cmplwi r4, 0x40
+/* 802DB148 002D6DA8 38 A0 00 00 */ li r5, 0
+/* 802DB14C 002D6DAC 41 80 00 4C */ blt lbl_802DB198
+/* 802DB150 002D6DB0 38 04 FF C0 */ addi r0, r4, -64
+/* 802DB154 002D6DB4 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802DB158 002D6DB8 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802DB15C 002D6DBC 1C 00 00 7C */ mulli r0, r0, 0x7c
+/* 802DB160 002D6DC0 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802DB164 002D6DC4 7C 84 02 14 */ add r4, r4, r0
+/* 802DB168 002D6DC8 88 04 01 78 */ lbz r0, 0x178(r4)
+/* 802DB16C 002D6DCC 38 A4 01 78 */ addi r5, r4, 0x178
+/* 802DB170 002D6DD0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB174 002D6DD4 40 82 00 0C */ bne lbl_802DB180
+/* 802DB178 002D6DD8 38 A0 00 00 */ li r5, 0
+/* 802DB17C 002D6DDC 48 00 00 1C */ b lbl_802DB198
+lbl_802DB180:
+/* 802DB180 002D6DE0 2C 03 00 00 */ cmpwi r3, 0
+/* 802DB184 002D6DE4 41 82 00 14 */ beq lbl_802DB198
+/* 802DB188 002D6DE8 80 05 00 10 */ lwz r0, 0x10(r5)
+/* 802DB18C 002D6DEC 7C 03 00 40 */ cmplw r3, r0
+/* 802DB190 002D6DF0 41 82 00 08 */ beq lbl_802DB198
+/* 802DB194 002D6DF4 38 A0 00 00 */ li r5, 0
+lbl_802DB198:
+/* 802DB198 002D6DF8 7C A3 2B 78 */ mr r3, r5
+/* 802DB19C 002D6DFC 4E 80 00 20 */ blr
+
+.global l2cu_allocate_rcb
+l2cu_allocate_rcb:
+/* 802DB1A0 002D6E00 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802DB1A4 002D6E04 38 00 00 08 */ li r0, 8
+/* 802DB1A8 002D6E08 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802DB1AC 002D6E0C 38 A0 00 00 */ li r5, 0
+/* 802DB1B0 002D6E10 38 84 06 50 */ addi r4, r4, 0x650
+/* 802DB1B4 002D6E14 7C 09 03 A6 */ mtctr r0
+lbl_802DB1B8:
+/* 802DB1B8 002D6E18 88 04 00 00 */ lbz r0, 0(r4)
+/* 802DB1BC 002D6E1C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB1C0 002D6E20 40 82 00 18 */ bne lbl_802DB1D8
+/* 802DB1C4 002D6E24 38 00 00 01 */ li r0, 1
+/* 802DB1C8 002D6E28 98 04 00 00 */ stb r0, 0(r4)
+/* 802DB1CC 002D6E2C B0 64 00 02 */ sth r3, 2(r4)
+/* 802DB1D0 002D6E30 7C 83 23 78 */ mr r3, r4
+/* 802DB1D4 002D6E34 4E 80 00 20 */ blr
+lbl_802DB1D8:
+/* 802DB1D8 002D6E38 38 A5 00 01 */ addi r5, r5, 1
+/* 802DB1DC 002D6E3C 38 84 00 2C */ addi r4, r4, 0x2c
+/* 802DB1E0 002D6E40 42 00 FF D8 */ bdnz lbl_802DB1B8
+/* 802DB1E4 002D6E44 38 60 00 00 */ li r3, 0
+/* 802DB1E8 002D6E48 4E 80 00 20 */ blr
+
+.global l2cu_release_rcb
+l2cu_release_rcb:
+/* 802DB1EC 002D6E4C 38 00 00 00 */ li r0, 0
+/* 802DB1F0 002D6E50 98 03 00 00 */ stb r0, 0(r3)
+/* 802DB1F4 002D6E54 B0 03 00 02 */ sth r0, 2(r3)
+/* 802DB1F8 002D6E58 4E 80 00 20 */ blr
+
+.global l2cu_find_rcb_by_psm
+l2cu_find_rcb_by_psm:
+/* 802DB1FC 002D6E5C 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802DB200 002D6E60 38 00 00 02 */ li r0, 2
+/* 802DB204 002D6E64 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802DB208 002D6E68 38 A0 00 00 */ li r5, 0
+/* 802DB20C 002D6E6C 38 84 06 50 */ addi r4, r4, 0x650
+/* 802DB210 002D6E70 7C 09 03 A6 */ mtctr r0
+lbl_802DB214:
+/* 802DB214 002D6E74 88 04 00 00 */ lbz r0, 0(r4)
+/* 802DB218 002D6E78 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB21C 002D6E7C 41 82 00 18 */ beq lbl_802DB234
+/* 802DB220 002D6E80 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802DB224 002D6E84 7C 00 18 40 */ cmplw r0, r3
+/* 802DB228 002D6E88 40 82 00 0C */ bne lbl_802DB234
+/* 802DB22C 002D6E8C 7C 83 23 78 */ mr r3, r4
+/* 802DB230 002D6E90 4E 80 00 20 */ blr
+lbl_802DB234:
+/* 802DB234 002D6E94 8C 04 00 2C */ lbzu r0, 0x2c(r4)
+/* 802DB238 002D6E98 38 A5 00 01 */ addi r5, r5, 1
+/* 802DB23C 002D6E9C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB240 002D6EA0 41 82 00 18 */ beq lbl_802DB258
+/* 802DB244 002D6EA4 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802DB248 002D6EA8 7C 00 18 40 */ cmplw r0, r3
+/* 802DB24C 002D6EAC 40 82 00 0C */ bne lbl_802DB258
+/* 802DB250 002D6EB0 7C 83 23 78 */ mr r3, r4
+/* 802DB254 002D6EB4 4E 80 00 20 */ blr
+lbl_802DB258:
+/* 802DB258 002D6EB8 8C 04 00 2C */ lbzu r0, 0x2c(r4)
+/* 802DB25C 002D6EBC 38 A5 00 01 */ addi r5, r5, 1
+/* 802DB260 002D6EC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB264 002D6EC4 41 82 00 18 */ beq lbl_802DB27C
+/* 802DB268 002D6EC8 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802DB26C 002D6ECC 7C 00 18 40 */ cmplw r0, r3
+/* 802DB270 002D6ED0 40 82 00 0C */ bne lbl_802DB27C
+/* 802DB274 002D6ED4 7C 83 23 78 */ mr r3, r4
+/* 802DB278 002D6ED8 4E 80 00 20 */ blr
+lbl_802DB27C:
+/* 802DB27C 002D6EDC 8C 04 00 2C */ lbzu r0, 0x2c(r4)
+/* 802DB280 002D6EE0 38 A5 00 01 */ addi r5, r5, 1
+/* 802DB284 002D6EE4 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB288 002D6EE8 41 82 00 18 */ beq lbl_802DB2A0
+/* 802DB28C 002D6EEC A0 04 00 02 */ lhz r0, 2(r4)
+/* 802DB290 002D6EF0 7C 00 18 40 */ cmplw r0, r3
+/* 802DB294 002D6EF4 40 82 00 0C */ bne lbl_802DB2A0
+/* 802DB298 002D6EF8 7C 83 23 78 */ mr r3, r4
+/* 802DB29C 002D6EFC 4E 80 00 20 */ blr
+lbl_802DB2A0:
+/* 802DB2A0 002D6F00 38 A5 00 01 */ addi r5, r5, 1
+/* 802DB2A4 002D6F04 38 84 00 2C */ addi r4, r4, 0x2c
+/* 802DB2A8 002D6F08 42 00 FF 6C */ bdnz lbl_802DB214
+/* 802DB2AC 002D6F0C 38 60 00 00 */ li r3, 0
+/* 802DB2B0 002D6F10 4E 80 00 20 */ blr
+
+.global l2cu_process_peer_cfg_req
+l2cu_process_peer_cfg_req:
+/* 802DB2B4 002D6F14 88 04 00 02 */ lbz r0, 2(r4)
+/* 802DB2B8 002D6F18 38 C0 00 01 */ li r6, 1
+/* 802DB2BC 002D6F1C 38 E0 00 01 */ li r7, 1
+/* 802DB2C0 002D6F20 39 00 00 01 */ li r8, 1
+/* 802DB2C4 002D6F24 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB2C8 002D6F28 41 82 00 38 */ beq lbl_802DB300
+/* 802DB2CC 002D6F2C A0 04 00 04 */ lhz r0, 4(r4)
+/* 802DB2D0 002D6F30 28 00 00 30 */ cmplwi r0, 0x30
+/* 802DB2D4 002D6F34 41 80 00 20 */ blt lbl_802DB2F4
+/* 802DB2D8 002D6F38 28 00 06 9B */ cmplwi r0, 0x69b
+/* 802DB2DC 002D6F3C B0 03 00 3A */ sth r0, 0x3a(r3)
+/* 802DB2E0 002D6F40 40 81 00 20 */ ble lbl_802DB300
+/* 802DB2E4 002D6F44 38 00 06 9B */ li r0, 0x69b
+/* 802DB2E8 002D6F48 B0 04 00 04 */ sth r0, 4(r4)
+/* 802DB2EC 002D6F4C B0 03 00 3A */ sth r0, 0x3a(r3)
+/* 802DB2F0 002D6F50 48 00 00 10 */ b lbl_802DB300
+lbl_802DB2F4:
+/* 802DB2F4 002D6F54 38 00 00 30 */ li r0, 0x30
+/* 802DB2F8 002D6F58 38 C0 00 00 */ li r6, 0
+/* 802DB2FC 002D6F5C B0 04 00 04 */ sth r0, 4(r4)
+lbl_802DB300:
+/* 802DB300 002D6F60 88 04 00 20 */ lbz r0, 0x20(r4)
+/* 802DB304 002D6F64 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB308 002D6F68 41 82 00 20 */ beq lbl_802DB328
+/* 802DB30C 002D6F6C A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802DB310 002D6F70 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB314 002D6F74 40 82 00 14 */ bne lbl_802DB328
+/* 802DB318 002D6F78 3C A0 00 01 */ lis r5, 0x0000FFFF@ha
+/* 802DB31C 002D6F7C 39 00 00 00 */ li r8, 0
+/* 802DB320 002D6F80 38 05 FF FF */ addi r0, r5, 0x0000FFFF@l
+/* 802DB324 002D6F84 B0 04 00 22 */ sth r0, 0x22(r4)
+lbl_802DB328:
+/* 802DB328 002D6F88 88 04 00 06 */ lbz r0, 6(r4)
+/* 802DB32C 002D6F8C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB330 002D6F90 41 82 00 50 */ beq lbl_802DB380
+/* 802DB334 002D6F94 88 04 00 09 */ lbz r0, 9(r4)
+/* 802DB338 002D6F98 28 00 00 02 */ cmplwi r0, 2
+/* 802DB33C 002D6F9C 41 81 00 38 */ bgt lbl_802DB374
+/* 802DB340 002D6FA0 80 A4 00 08 */ lwz r5, 8(r4)
+/* 802DB344 002D6FA4 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802DB348 002D6FA8 90 A3 00 40 */ stw r5, 0x40(r3)
+/* 802DB34C 002D6FAC 90 03 00 44 */ stw r0, 0x44(r3)
+/* 802DB350 002D6FB0 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 802DB354 002D6FB4 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 802DB358 002D6FB8 90 A3 00 48 */ stw r5, 0x48(r3)
+/* 802DB35C 002D6FBC 90 03 00 4C */ stw r0, 0x4c(r3)
+/* 802DB360 002D6FC0 80 A4 00 18 */ lwz r5, 0x18(r4)
+/* 802DB364 002D6FC4 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 802DB368 002D6FC8 90 A3 00 50 */ stw r5, 0x50(r3)
+/* 802DB36C 002D6FCC 90 03 00 54 */ stw r0, 0x54(r3)
+/* 802DB370 002D6FD0 48 00 00 10 */ b lbl_802DB380
+lbl_802DB374:
+/* 802DB374 002D6FD4 38 00 00 01 */ li r0, 1
+/* 802DB378 002D6FD8 38 E0 00 00 */ li r7, 0
+/* 802DB37C 002D6FDC 98 04 00 09 */ stb r0, 9(r4)
+lbl_802DB380:
+/* 802DB380 002D6FE0 2C 06 00 00 */ cmpwi r6, 0
+/* 802DB384 002D6FE4 38 60 00 00 */ li r3, 0
+/* 802DB388 002D6FE8 38 00 00 00 */ li r0, 0
+/* 802DB38C 002D6FEC 41 82 00 18 */ beq lbl_802DB3A4
+/* 802DB390 002D6FF0 2C 08 00 00 */ cmpwi r8, 0
+/* 802DB394 002D6FF4 41 82 00 10 */ beq lbl_802DB3A4
+/* 802DB398 002D6FF8 2C 07 00 00 */ cmpwi r7, 0
+/* 802DB39C 002D6FFC 41 82 00 08 */ beq lbl_802DB3A4
+/* 802DB3A0 002D7000 38 00 00 01 */ li r0, 1
+lbl_802DB3A4:
+/* 802DB3A4 002D7004 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB3A8 002D7008 41 82 00 08 */ beq lbl_802DB3B0
+/* 802DB3AC 002D700C 38 60 00 01 */ li r3, 1
+lbl_802DB3B0:
+/* 802DB3B0 002D7010 2C 03 00 00 */ cmpwi r3, 0
+/* 802DB3B4 002D7014 4C 82 00 20 */ bnelr
+/* 802DB3B8 002D7018 38 00 00 01 */ li r0, 1
+/* 802DB3BC 002D701C 2C 06 00 00 */ cmpwi r6, 0
+/* 802DB3C0 002D7020 B0 04 00 00 */ sth r0, 0(r4)
+/* 802DB3C4 002D7024 41 82 00 0C */ beq lbl_802DB3D0
+/* 802DB3C8 002D7028 38 00 00 00 */ li r0, 0
+/* 802DB3CC 002D702C 98 04 00 02 */ stb r0, 2(r4)
+lbl_802DB3D0:
+/* 802DB3D0 002D7030 2C 08 00 00 */ cmpwi r8, 0
+/* 802DB3D4 002D7034 41 82 00 0C */ beq lbl_802DB3E0
+/* 802DB3D8 002D7038 38 00 00 00 */ li r0, 0
+/* 802DB3DC 002D703C 98 04 00 20 */ stb r0, 0x20(r4)
+lbl_802DB3E0:
+/* 802DB3E0 002D7040 2C 07 00 00 */ cmpwi r7, 0
+/* 802DB3E4 002D7044 41 82 00 0C */ beq lbl_802DB3F0
+/* 802DB3E8 002D7048 38 00 00 00 */ li r0, 0
+/* 802DB3EC 002D704C 98 04 00 06 */ stb r0, 6(r4)
+lbl_802DB3F0:
+/* 802DB3F0 002D7050 38 00 00 00 */ li r0, 0
+/* 802DB3F4 002D7054 98 04 00 24 */ stb r0, 0x24(r4)
+/* 802DB3F8 002D7058 4E 80 00 20 */ blr
+
+.global l2cu_process_peer_cfg_rsp
+l2cu_process_peer_cfg_rsp:
+/* 802DB3FC 002D705C 88 04 00 06 */ lbz r0, 6(r4)
+/* 802DB400 002D7060 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB404 002D7064 4D 82 00 20 */ beqlr
+/* 802DB408 002D7068 80 A4 00 08 */ lwz r5, 8(r4)
+/* 802DB40C 002D706C 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802DB410 002D7070 90 A3 00 58 */ stw r5, 0x58(r3)
+/* 802DB414 002D7074 90 03 00 5C */ stw r0, 0x5c(r3)
+/* 802DB418 002D7078 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 802DB41C 002D707C 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 802DB420 002D7080 90 A3 00 60 */ stw r5, 0x60(r3)
+/* 802DB424 002D7084 90 03 00 64 */ stw r0, 0x64(r3)
+/* 802DB428 002D7088 80 A4 00 18 */ lwz r5, 0x18(r4)
+/* 802DB42C 002D708C 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 802DB430 002D7090 90 A3 00 68 */ stw r5, 0x68(r3)
+/* 802DB434 002D7094 90 03 00 6C */ stw r0, 0x6c(r3)
+/* 802DB438 002D7098 4E 80 00 20 */ blr
+
+.global l2cu_process_our_cfg_req
+l2cu_process_our_cfg_req:
+/* 802DB43C 002D709C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DB440 002D70A0 7C 08 02 A6 */ mflr r0
+/* 802DB444 002D70A4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DB448 002D70A8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DB44C 002D70AC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DB450 002D70B0 88 04 00 02 */ lbz r0, 2(r4)
+/* 802DB454 002D70B4 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB458 002D70B8 41 82 00 20 */ beq lbl_802DB478
+/* 802DB45C 002D70BC A0 04 00 04 */ lhz r0, 4(r4)
+/* 802DB460 002D70C0 28 00 06 9B */ cmplwi r0, 0x69b
+/* 802DB464 002D70C4 B0 03 00 38 */ sth r0, 0x38(r3)
+/* 802DB468 002D70C8 40 81 00 10 */ ble lbl_802DB478
+/* 802DB46C 002D70CC 38 00 06 9B */ li r0, 0x69b
+/* 802DB470 002D70D0 B0 04 00 04 */ sth r0, 4(r4)
+/* 802DB474 002D70D4 B0 03 00 38 */ sth r0, 0x38(r3)
+lbl_802DB478:
+/* 802DB478 002D70D8 88 04 00 06 */ lbz r0, 6(r4)
+/* 802DB47C 002D70DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB480 002D70E0 41 82 00 34 */ beq lbl_802DB4B4
+/* 802DB484 002D70E4 80 A4 00 08 */ lwz r5, 8(r4)
+/* 802DB488 002D70E8 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802DB48C 002D70EC 90 A3 00 58 */ stw r5, 0x58(r3)
+/* 802DB490 002D70F0 90 03 00 5C */ stw r0, 0x5c(r3)
+/* 802DB494 002D70F4 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 802DB498 002D70F8 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 802DB49C 002D70FC 90 A3 00 60 */ stw r5, 0x60(r3)
+/* 802DB4A0 002D7100 90 03 00 64 */ stw r0, 0x64(r3)
+/* 802DB4A4 002D7104 80 A4 00 18 */ lwz r5, 0x18(r4)
+/* 802DB4A8 002D7108 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 802DB4AC 002D710C 90 A3 00 68 */ stw r5, 0x68(r3)
+/* 802DB4B0 002D7110 90 03 00 6C */ stw r0, 0x6c(r3)
+lbl_802DB4B4:
+/* 802DB4B4 002D7114 88 04 00 20 */ lbz r0, 0x20(r4)
+/* 802DB4B8 002D7118 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB4BC 002D711C 41 82 00 78 */ beq lbl_802DB534
+/* 802DB4C0 002D7120 A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802DB4C4 002D7124 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB4C8 002D7128 41 82 00 6C */ beq lbl_802DB534
+/* 802DB4CC 002D712C B0 03 00 3C */ sth r0, 0x3c(r3)
+/* 802DB4D0 002D7130 83 E3 00 10 */ lwz r31, 0x10(r3)
+/* 802DB4D4 002D7134 A0 64 00 22 */ lhz r3, 0x22(r4)
+/* 802DB4D8 002D7138 A0 1F 00 32 */ lhz r0, 0x32(r31)
+/* 802DB4DC 002D713C 7C 03 00 40 */ cmplw r3, r0
+/* 802DB4E0 002D7140 40 80 00 54 */ bge lbl_802DB534
+/* 802DB4E4 002D7144 B0 7F 00 32 */ sth r3, 0x32(r31)
+/* 802DB4E8 002D7148 A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802DB4EC 002D714C 28 00 04 FF */ cmplwi r0, 0x4ff
+/* 802DB4F0 002D7150 41 81 00 44 */ bgt lbl_802DB534
+/* 802DB4F4 002D7154 54 03 1B 78 */ rlwinm r3, r0, 3, 0xd, 0x1c
+/* 802DB4F8 002D7158 3C 80 66 66 */ lis r4, 0x66666667@ha
+/* 802DB4FC 002D715C 38 03 00 03 */ addi r0, r3, 3
+/* 802DB500 002D7160 38 84 66 67 */ addi r4, r4, 0x66666667@l
+/* 802DB504 002D7164 38 60 00 02 */ li r3, 2
+/* 802DB508 002D7168 7C 04 00 96 */ mulhw r0, r4, r0
+/* 802DB50C 002D716C 7C 00 0E 70 */ srawi r0, r0, 1
+/* 802DB510 002D7170 54 04 0F FE */ srwi r4, r0, 0x1f
+/* 802DB514 002D7174 7C 00 22 14 */ add r0, r0, r4
+/* 802DB518 002D7178 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 802DB51C 002D717C 4B FD E7 31 */ bl GKI_getpoolbuf
+/* 802DB520 002D7180 2C 03 00 00 */ cmpwi r3, 0
+/* 802DB524 002D7184 41 82 00 10 */ beq lbl_802DB534
+/* 802DB528 002D7188 A0 9F 00 28 */ lhz r4, 0x28(r31)
+/* 802DB52C 002D718C 7F C5 F3 78 */ mr r5, r30
+/* 802DB530 002D7190 4B FF 65 F5 */ bl btsnd_hcic_write_auto_flush_tout
+lbl_802DB534:
+/* 802DB534 002D7194 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DB538 002D7198 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DB53C 002D719C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DB540 002D71A0 7C 08 03 A6 */ mtlr r0
+/* 802DB544 002D71A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DB548 002D71A8 4E 80 00 20 */ blr
+
+.global l2cu_process_our_cfg_rsp
+l2cu_process_our_cfg_rsp:
+/* 802DB54C 002D71AC 88 04 00 06 */ lbz r0, 6(r4)
+/* 802DB550 002D71B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB554 002D71B4 4D 82 00 20 */ beqlr
+/* 802DB558 002D71B8 80 A4 00 08 */ lwz r5, 8(r4)
+/* 802DB55C 002D71BC 80 04 00 0C */ lwz r0, 0xc(r4)
+/* 802DB560 002D71C0 90 A3 00 40 */ stw r5, 0x40(r3)
+/* 802DB564 002D71C4 90 03 00 44 */ stw r0, 0x44(r3)
+/* 802DB568 002D71C8 80 A4 00 10 */ lwz r5, 0x10(r4)
+/* 802DB56C 002D71CC 80 04 00 14 */ lwz r0, 0x14(r4)
+/* 802DB570 002D71D0 90 A3 00 48 */ stw r5, 0x48(r3)
+/* 802DB574 002D71D4 90 03 00 4C */ stw r0, 0x4c(r3)
+/* 802DB578 002D71D8 80 A4 00 18 */ lwz r5, 0x18(r4)
+/* 802DB57C 002D71DC 80 04 00 1C */ lwz r0, 0x1c(r4)
+/* 802DB580 002D71E0 90 A3 00 50 */ stw r5, 0x50(r3)
+/* 802DB584 002D71E4 90 03 00 54 */ stw r0, 0x54(r3)
+/* 802DB588 002D71E8 4E 80 00 20 */ blr
+
+.global l2cu_device_reset
+l2cu_device_reset:
+/* 802DB58C 002D71EC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DB590 002D71F0 7C 08 02 A6 */ mflr r0
+/* 802DB594 002D71F4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DB598 002D71F8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DB59C 002D71FC 38 63 BC 40 */ addi r3, r3, lbl_8056BC40@l
+/* 802DB5A0 002D7200 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DB5A4 002D7204 3B E0 00 00 */ li r31, 0
+/* 802DB5A8 002D7208 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DB5AC 002D720C 3B C3 00 08 */ addi r30, r3, 8
+lbl_802DB5B0:
+/* 802DB5B0 002D7210 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802DB5B4 002D7214 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB5B8 002D7218 41 82 00 18 */ beq lbl_802DB5D0
+/* 802DB5BC 002D721C A0 7E 00 28 */ lhz r3, 0x28(r30)
+/* 802DB5C0 002D7220 28 03 FF FF */ cmplwi r3, 0xffff
+/* 802DB5C4 002D7224 41 82 00 0C */ beq lbl_802DB5D0
+/* 802DB5C8 002D7228 38 80 00 FF */ li r4, 0xff
+/* 802DB5CC 002D722C 4B FF C7 4D */ bl l2c_link_hci_disc_comp
+lbl_802DB5D0:
+/* 802DB5D0 002D7230 3B FF 00 01 */ addi r31, r31, 1
+/* 802DB5D4 002D7234 3B DE 00 5C */ addi r30, r30, 0x5c
+/* 802DB5D8 002D7238 2C 1F 00 04 */ cmpwi r31, 4
+/* 802DB5DC 002D723C 41 80 FF D4 */ blt lbl_802DB5B0
+/* 802DB5E0 002D7240 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DB5E4 002D7244 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DB5E8 002D7248 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DB5EC 002D724C 7C 08 03 A6 */ mtlr r0
+/* 802DB5F0 002D7250 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DB5F4 002D7254 4E 80 00 20 */ blr
+
+.global l2cu_create_conn
+l2cu_create_conn:
+/* 802DB5F8 002D7258 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802DB5FC 002D725C 7C 08 02 A6 */ mflr r0
+/* 802DB600 002D7260 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802DB604 002D7264 39 61 00 30 */ addi r11, r1, 0x30
+/* 802DB608 002D7268 4B EE BB 15 */ bl _savegpr_24
+/* 802DB60C 002D726C 38 00 00 03 */ li r0, 3
+/* 802DB610 002D7270 3F 40 80 57 */ lis r26, lbl_8056BC40@ha
+/* 802DB614 002D7274 38 9A BC 40 */ addi r4, r26, lbl_8056BC40@l
+/* 802DB618 002D7278 3F C0 80 57 */ lis r30, lbl_80568B78@ha
+/* 802DB61C 002D727C 90 03 00 04 */ stw r0, 4(r3)
+/* 802DB620 002D7280 7C 7F 1B 78 */ mr r31, r3
+/* 802DB624 002D7284 3B 04 00 08 */ addi r24, r4, 8
+/* 802DB628 002D7288 3B DE 8B 78 */ addi r30, r30, lbl_80568B78@l
+/* 802DB62C 002D728C 3B 20 00 00 */ li r25, 0
+/* 802DB630 002D7290 3F 80 00 08 */ lis r28, 8
+/* 802DB634 002D7294 3F A0 80 44 */ lis r29, 0x8044
+lbl_802DB638:
+/* 802DB638 002D7298 7C 18 F8 40 */ cmplw r24, r31
+/* 802DB63C 002D729C 41 82 00 A4 */ beq lbl_802DB6E0
+/* 802DB640 002D72A0 88 18 00 00 */ lbz r0, 0(r24)
+/* 802DB644 002D72A4 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB648 002D72A8 41 82 00 98 */ beq lbl_802DB6E0
+/* 802DB64C 002D72AC 88 18 00 30 */ lbz r0, 0x30(r24)
+/* 802DB650 002D72B0 28 00 00 01 */ cmplwi r0, 1
+/* 802DB654 002D72B4 40 82 00 8C */ bne lbl_802DB6E0
+/* 802DB658 002D72B8 38 78 00 2A */ addi r3, r24, 0x2a
+/* 802DB65C 002D72BC 4B FE F1 D5 */ bl btm_is_sco_active_by_bdaddr
+/* 802DB660 002D72C0 88 1A BC 40 */ lbz r0, -0x43c0(r26)
+/* 802DB664 002D72C4 7C 7B 1B 78 */ mr r27, r3
+/* 802DB668 002D72C8 28 00 00 03 */ cmplwi r0, 3
+/* 802DB66C 002D72CC 41 80 00 24 */ blt lbl_802DB690
+/* 802DB670 002D72D0 57 60 06 3E */ clrlwi r0, r27, 0x18
+/* 802DB674 002D72D4 38 7C 00 02 */ addi r3, r28, 2
+/* 802DB678 002D72D8 28 00 00 01 */ cmplwi r0, 1
+/* 802DB67C 002D72DC 38 9D 41 F4 */ addi r4, r29, 0x41f4
+/* 802DB680 002D72E0 38 AD 8A 60 */ addi r5, r13, lbl_8063DD20-_SDA_BASE_
+/* 802DB684 002D72E4 40 82 00 08 */ bne lbl_802DB68C
+/* 802DB688 002D72E8 38 AD 8A 58 */ addi r5, r13, lbl_8063DD18-_SDA_BASE_
+lbl_802DB68C:
+/* 802DB68C 002D72EC 4B FE 18 9D */ bl LogMsg_1
+lbl_802DB690:
+/* 802DB690 002D72F0 57 60 06 3E */ clrlwi r0, r27, 0x18
+/* 802DB694 002D72F4 28 00 00 01 */ cmplwi r0, 1
+/* 802DB698 002D72F8 41 82 00 48 */ beq lbl_802DB6E0
+/* 802DB69C 002D72FC 88 1E 06 40 */ lbz r0, 0x640(r30)
+/* 802DB6A0 002D7300 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802DB6A4 002D7304 41 82 00 3C */ beq lbl_802DB6E0
+/* 802DB6A8 002D7308 38 60 00 02 */ li r3, 2
+/* 802DB6AC 002D730C 38 00 00 00 */ li r0, 0
+/* 802DB6B0 002D7310 90 7F 00 04 */ stw r3, 4(r31)
+/* 802DB6B4 002D7314 38 78 00 2A */ addi r3, r24, 0x2a
+/* 802DB6B8 002D7318 38 80 00 00 */ li r4, 0
+/* 802DB6BC 002D731C 38 A0 00 00 */ li r5, 0
+/* 802DB6C0 002D7320 98 1F 00 30 */ stb r0, 0x30(r31)
+/* 802DB6C4 002D7324 4B FE 82 45 */ bl BTM_SwitchRole
+/* 802DB6C8 002D7328 38 7F 00 10 */ addi r3, r31, 0x10
+/* 802DB6CC 002D732C 38 80 00 02 */ li r4, 2
+/* 802DB6D0 002D7330 38 A0 00 0A */ li r5, 0xa
+/* 802DB6D4 002D7334 4B FE 1E 09 */ bl btu_start_timer
+/* 802DB6D8 002D7338 38 60 00 01 */ li r3, 1
+/* 802DB6DC 002D733C 48 00 00 1C */ b lbl_802DB6F8
+lbl_802DB6E0:
+/* 802DB6E0 002D7340 3B 39 00 01 */ addi r25, r25, 1
+/* 802DB6E4 002D7344 3B 18 00 5C */ addi r24, r24, 0x5c
+/* 802DB6E8 002D7348 2C 19 00 04 */ cmpwi r25, 4
+/* 802DB6EC 002D734C 41 80 FF 4C */ blt lbl_802DB638
+/* 802DB6F0 002D7350 7F E3 FB 78 */ mr r3, r31
+/* 802DB6F4 002D7354 48 00 00 1D */ bl l2cu_create_conn_after_switch
+lbl_802DB6F8:
+/* 802DB6F8 002D7358 39 61 00 30 */ addi r11, r1, 0x30
+/* 802DB6FC 002D735C 4B EE BA 6D */ bl _restgpr_24
+/* 802DB700 002D7360 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802DB704 002D7364 7C 08 03 A6 */ mtlr r0
+/* 802DB708 002D7368 38 21 00 30 */ addi r1, r1, 0x30
+/* 802DB70C 002D736C 4E 80 00 20 */ blr
+
+.global l2cu_create_conn_after_switch
+l2cu_create_conn_after_switch:
+/* 802DB710 002D7370 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DB714 002D7374 7C 08 02 A6 */ mflr r0
+/* 802DB718 002D7378 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DB71C 002D737C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DB720 002D7380 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DB724 002D7384 7C 7E 1B 78 */ mr r30, r3
+/* 802DB728 002D7388 4B FE B2 39 */ bl BTM_ReadLocalFeatures
+/* 802DB72C 002D738C 88 83 00 00 */ lbz r4, 0(r3)
+/* 802DB730 002D7390 38 00 00 03 */ li r0, 3
+/* 802DB734 002D7394 38 7E 00 2A */ addi r3, r30, 0x2a
+/* 802DB738 002D7398 90 1E 00 04 */ stw r0, 4(r30)
+/* 802DB73C 002D739C 54 9F DF FE */ rlwinm r31, r4, 0x1b, 0x1f, 0x1f
+/* 802DB740 002D73A0 4B FE C5 E9 */ bl BTM_InqDbRead
+/* 802DB744 002D73A4 2C 03 00 00 */ cmpwi r3, 0
+/* 802DB748 002D73A8 41 82 00 18 */ beq lbl_802DB760
+/* 802DB74C 002D73AC A0 03 00 00 */ lhz r0, 0(r3)
+/* 802DB750 002D73B0 88 A3 00 0B */ lbz r5, 0xb(r3)
+/* 802DB754 002D73B4 88 C3 00 0D */ lbz r6, 0xd(r3)
+/* 802DB758 002D73B8 60 07 80 00 */ ori r7, r0, 0x8000
+/* 802DB75C 002D73BC 48 00 00 10 */ b lbl_802DB76C
+lbl_802DB760:
+/* 802DB760 002D73C0 38 A0 00 01 */ li r5, 1
+/* 802DB764 002D73C4 38 C0 00 00 */ li r6, 0
+/* 802DB768 002D73C8 38 E0 00 00 */ li r7, 0
+lbl_802DB76C:
+/* 802DB76C 002D73CC 7F E8 FB 78 */ mr r8, r31
+/* 802DB770 002D73D0 38 7E 00 2A */ addi r3, r30, 0x2a
+/* 802DB774 002D73D4 38 80 00 18 */ li r4, 0x18
+/* 802DB778 002D73D8 4B FF 48 39 */ bl btsnd_hcic_create_conn
+/* 802DB77C 002D73DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802DB780 002D73E0 40 82 00 34 */ bne lbl_802DB7B4
+/* 802DB784 002D73E4 3C 60 80 57 */ lis r3, lbl_8056BC40@ha
+/* 802DB788 002D73E8 88 03 BC 40 */ lbz r0, lbl_8056BC40@l(r3)
+/* 802DB78C 002D73EC 28 00 00 01 */ cmplwi r0, 1
+/* 802DB790 002D73F0 41 80 00 14 */ blt lbl_802DB7A4
+/* 802DB794 002D73F4 3C 80 80 44 */ lis r4, lbl_80444238@ha
+/* 802DB798 002D73F8 3C 60 00 08 */ lis r3, 8
+/* 802DB79C 002D73FC 38 84 42 38 */ addi r4, r4, lbl_80444238@l
+/* 802DB7A0 002D7400 4B FE 17 71 */ bl LogMsg_0
+lbl_802DB7A4:
+/* 802DB7A4 002D7404 7F C3 F3 78 */ mr r3, r30
+/* 802DB7A8 002D7408 4B FF E3 C1 */ bl l2cu_release_lcb
+/* 802DB7AC 002D740C 38 60 00 00 */ li r3, 0
+/* 802DB7B0 002D7410 48 00 00 18 */ b lbl_802DB7C8
+lbl_802DB7B4:
+/* 802DB7B4 002D7414 38 7E 00 10 */ addi r3, r30, 0x10
+/* 802DB7B8 002D7418 38 80 00 02 */ li r4, 2
+/* 802DB7BC 002D741C 38 A0 00 3C */ li r5, 0x3c
+/* 802DB7C0 002D7420 4B FE 1D 1D */ bl btu_start_timer
+/* 802DB7C4 002D7424 38 60 00 01 */ li r3, 1
+lbl_802DB7C8:
+/* 802DB7C8 002D7428 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DB7CC 002D742C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DB7D0 002D7430 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DB7D4 002D7434 7C 08 03 A6 */ mtlr r0
+/* 802DB7D8 002D7438 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DB7DC 002D743C 4E 80 00 20 */ blr
+
+.global l2cu_find_lcb_by_state
+l2cu_find_lcb_by_state:
+/* 802DB7E0 002D7440 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802DB7E4 002D7444 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802DB7E8 002D7448 8C 04 00 08 */ lbzu r0, 8(r4)
+/* 802DB7EC 002D744C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB7F0 002D7450 41 82 00 18 */ beq lbl_802DB808
+/* 802DB7F4 002D7454 80 04 00 04 */ lwz r0, 4(r4)
+/* 802DB7F8 002D7458 7C 00 18 00 */ cmpw r0, r3
+/* 802DB7FC 002D745C 40 82 00 0C */ bne lbl_802DB808
+/* 802DB800 002D7460 7C 83 23 78 */ mr r3, r4
+/* 802DB804 002D7464 4E 80 00 20 */ blr
+lbl_802DB808:
+/* 802DB808 002D7468 8C 04 00 5C */ lbzu r0, 0x5c(r4)
+/* 802DB80C 002D746C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB810 002D7470 41 82 00 18 */ beq lbl_802DB828
+/* 802DB814 002D7474 80 04 00 04 */ lwz r0, 4(r4)
+/* 802DB818 002D7478 7C 00 18 00 */ cmpw r0, r3
+/* 802DB81C 002D747C 40 82 00 0C */ bne lbl_802DB828
+/* 802DB820 002D7480 7C 83 23 78 */ mr r3, r4
+/* 802DB824 002D7484 4E 80 00 20 */ blr
+lbl_802DB828:
+/* 802DB828 002D7488 8C 04 00 5C */ lbzu r0, 0x5c(r4)
+/* 802DB82C 002D748C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB830 002D7490 41 82 00 18 */ beq lbl_802DB848
+/* 802DB834 002D7494 80 04 00 04 */ lwz r0, 4(r4)
+/* 802DB838 002D7498 7C 00 18 00 */ cmpw r0, r3
+/* 802DB83C 002D749C 40 82 00 0C */ bne lbl_802DB848
+/* 802DB840 002D74A0 7C 83 23 78 */ mr r3, r4
+/* 802DB844 002D74A4 4E 80 00 20 */ blr
+lbl_802DB848:
+/* 802DB848 002D74A8 8C 04 00 5C */ lbzu r0, 0x5c(r4)
+/* 802DB84C 002D74AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB850 002D74B0 41 82 00 18 */ beq lbl_802DB868
+/* 802DB854 002D74B4 80 04 00 04 */ lwz r0, 4(r4)
+/* 802DB858 002D74B8 7C 00 18 00 */ cmpw r0, r3
+/* 802DB85C 002D74BC 40 82 00 0C */ bne lbl_802DB868
+/* 802DB860 002D74C0 7C 83 23 78 */ mr r3, r4
+/* 802DB864 002D74C4 4E 80 00 20 */ blr
+lbl_802DB868:
+/* 802DB868 002D74C8 38 60 00 00 */ li r3, 0
+/* 802DB86C 002D74CC 4E 80 00 20 */ blr
+
+.global l2cu_lcb_disconnecting
+l2cu_lcb_disconnecting:
+/* 802DB870 002D74D0 3C 80 80 57 */ lis r4, lbl_8056BC40@ha
+/* 802DB874 002D74D4 38 00 00 02 */ li r0, 2
+/* 802DB878 002D74D8 38 84 BC 40 */ addi r4, r4, lbl_8056BC40@l
+/* 802DB87C 002D74DC 38 60 00 00 */ li r3, 0
+/* 802DB880 002D74E0 38 A4 00 08 */ addi r5, r4, 8
+/* 802DB884 002D74E4 38 C0 00 00 */ li r6, 0
+/* 802DB888 002D74E8 7C 09 03 A6 */ mtctr r0
+lbl_802DB88C:
+/* 802DB88C 002D74EC 88 05 00 00 */ lbz r0, 0(r5)
+/* 802DB890 002D74F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB894 002D74F4 41 82 00 54 */ beq lbl_802DB8E8
+/* 802DB898 002D74F8 80 85 00 08 */ lwz r4, 8(r5)
+/* 802DB89C 002D74FC 2C 04 00 00 */ cmpwi r4, 0
+/* 802DB8A0 002D7500 41 82 00 10 */ beq lbl_802DB8B0
+/* 802DB8A4 002D7504 80 05 00 04 */ lwz r0, 4(r5)
+/* 802DB8A8 002D7508 2C 00 00 05 */ cmpwi r0, 5
+/* 802DB8AC 002D750C 40 82 00 0C */ bne lbl_802DB8B8
+lbl_802DB8B0:
+/* 802DB8B0 002D7510 38 60 00 01 */ li r3, 1
+/* 802DB8B4 002D7514 4E 80 00 20 */ blr
+lbl_802DB8B8:
+/* 802DB8B8 002D7518 80 05 00 0C */ lwz r0, 0xc(r5)
+/* 802DB8BC 002D751C 7C 04 00 40 */ cmplw r4, r0
+/* 802DB8C0 002D7520 40 82 00 28 */ bne lbl_802DB8E8
+/* 802DB8C4 002D7524 88 04 00 00 */ lbz r0, 0(r4)
+/* 802DB8C8 002D7528 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB8CC 002D752C 41 82 00 1C */ beq lbl_802DB8E8
+/* 802DB8D0 002D7530 80 84 00 04 */ lwz r4, 4(r4)
+/* 802DB8D4 002D7534 38 04 FF F9 */ addi r0, r4, -7
+/* 802DB8D8 002D7538 28 00 00 01 */ cmplwi r0, 1
+/* 802DB8DC 002D753C 41 81 00 0C */ bgt lbl_802DB8E8
+/* 802DB8E0 002D7540 38 60 00 01 */ li r3, 1
+/* 802DB8E4 002D7544 4E 80 00 20 */ blr
+lbl_802DB8E8:
+/* 802DB8E8 002D7548 88 05 00 5C */ lbz r0, 0x5c(r5)
+/* 802DB8EC 002D754C 38 C6 00 01 */ addi r6, r6, 1
+/* 802DB8F0 002D7550 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB8F4 002D7554 41 82 00 54 */ beq lbl_802DB948
+/* 802DB8F8 002D7558 80 85 00 64 */ lwz r4, 0x64(r5)
+/* 802DB8FC 002D755C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DB900 002D7560 41 82 00 10 */ beq lbl_802DB910
+/* 802DB904 002D7564 80 05 00 60 */ lwz r0, 0x60(r5)
+/* 802DB908 002D7568 2C 00 00 05 */ cmpwi r0, 5
+/* 802DB90C 002D756C 40 82 00 0C */ bne lbl_802DB918
+lbl_802DB910:
+/* 802DB910 002D7570 38 60 00 01 */ li r3, 1
+/* 802DB914 002D7574 4E 80 00 20 */ blr
+lbl_802DB918:
+/* 802DB918 002D7578 80 05 00 68 */ lwz r0, 0x68(r5)
+/* 802DB91C 002D757C 7C 04 00 40 */ cmplw r4, r0
+/* 802DB920 002D7580 40 82 00 28 */ bne lbl_802DB948
+/* 802DB924 002D7584 88 04 00 00 */ lbz r0, 0(r4)
+/* 802DB928 002D7588 2C 00 00 00 */ cmpwi r0, 0
+/* 802DB92C 002D758C 41 82 00 1C */ beq lbl_802DB948
+/* 802DB930 002D7590 80 84 00 04 */ lwz r4, 4(r4)
+/* 802DB934 002D7594 38 04 FF F9 */ addi r0, r4, -7
+/* 802DB938 002D7598 28 00 00 01 */ cmplwi r0, 1
+/* 802DB93C 002D759C 41 81 00 0C */ bgt lbl_802DB948
+/* 802DB940 002D75A0 38 60 00 01 */ li r3, 1
+/* 802DB944 002D75A4 4E 80 00 20 */ blr
+lbl_802DB948:
+/* 802DB948 002D75A8 38 C6 00 01 */ addi r6, r6, 1
+/* 802DB94C 002D75AC 38 A5 00 B8 */ addi r5, r5, 0xb8
+/* 802DB950 002D75B0 42 00 FF 3C */ bdnz lbl_802DB88C
+/* 802DB954 002D75B4 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/port_api.s b/asm/SDK/BTE/port_api.s new file mode 100644 index 0000000..ccb4c6c --- /dev/null +++ b/asm/SDK/BTE/port_api.s @@ -0,0 +1,26 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global RFCOMM_Init
+RFCOMM_Init:
+/* 802DB958 002D75B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DB95C 002D75BC 7C 08 02 A6 */ mflr r0
+/* 802DB960 002D75C0 38 80 00 00 */ li r4, 0
+/* 802DB964 002D75C4 38 A0 04 18 */ li r5, 0x418
+/* 802DB968 002D75C8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DB96C 002D75CC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DB970 002D75D0 3F E0 80 57 */ lis r31, lbl_8056C428@ha
+/* 802DB974 002D75D4 38 7F C4 28 */ addi r3, r31, lbl_8056C428@l
+/* 802DB978 002D75D8 4B D2 87 8D */ bl memset
+/* 802DB97C 002D75DC 38 7F C4 28 */ addi r3, r31, -15320
+/* 802DB980 002D75E0 38 80 00 01 */ li r4, 1
+/* 802DB984 002D75E4 38 00 00 05 */ li r0, 5
+/* 802DB988 002D75E8 98 83 00 65 */ stb r4, 0x65(r3)
+/* 802DB98C 002D75EC 98 03 04 14 */ stb r0, 0x414(r3)
+/* 802DB990 002D75F0 48 00 19 ED */ bl rfcomm_l2cap_if_init
+/* 802DB994 002D75F4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DB998 002D75F8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DB99C 002D75FC 7C 08 03 A6 */ mtlr r0
+/* 802DB9A0 002D7600 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DB9A4 002D7604 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/port_rfc.s b/asm/SDK/BTE/port_rfc.s new file mode 100644 index 0000000..9295ebd --- /dev/null +++ b/asm/SDK/BTE/port_rfc.s @@ -0,0 +1,1450 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global PORT_StartCnf
+PORT_StartCnf:
+/* 802DB9A8 002D7608 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802DB9AC 002D760C 7C 08 02 A6 */ mflr r0
+/* 802DB9B0 002D7610 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802DB9B4 002D7614 39 61 00 40 */ addi r11, r1, 0x40
+/* 802DB9B8 002D7618 4B EE B7 55 */ bl _savegpr_20
+/* 802DB9BC 002D761C 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DB9C0 002D7620 7C 7D 1B 78 */ mr r29, r3
+/* 802DB9C4 002D7624 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DB9C8 002D7628 7C 9E 23 78 */ mr r30, r4
+/* 802DB9CC 002D762C 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DB9D0 002D7630 3B E0 00 01 */ li r31, 1
+/* 802DB9D4 002D7634 28 00 00 04 */ cmplwi r0, 4
+/* 802DB9D8 002D7638 41 80 00 1C */ blt lbl_802DB9F4
+/* 802DB9DC 002D763C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DB9E0 002D7640 3C 80 80 44 */ lis r4, lbl_80444298@ha
+/* 802DB9E4 002D7644 7F C5 F3 78 */ mr r5, r30
+/* 802DB9E8 002D7648 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DB9EC 002D764C 38 84 42 98 */ addi r4, r4, lbl_80444298@l
+/* 802DB9F0 002D7650 4B FE 15 39 */ bl LogMsg_1
+lbl_802DB9F4:
+/* 802DB9F4 002D7654 3E C0 80 57 */ lis r22, lbl_8056C428@ha
+/* 802DB9F8 002D7658 3A 80 00 00 */ li r20, 0
+/* 802DB9FC 002D765C 3A D6 C4 28 */ addi r22, r22, lbl_8056C428@l
+/* 802DBA00 002D7660 3E E0 00 09 */ lis r23, 9
+/* 802DBA04 002D7664 3F 00 80 44 */ lis r24, 0x8044
+/* 802DBA08 002D7668 3B 40 00 0C */ li r26, 0xc
+/* 802DBA0C 002D766C 3A B6 00 68 */ addi r21, r22, 0x68
+/* 802DBA10 002D7670 3B 20 00 18 */ li r25, 0x18
+/* 802DBA14 002D7674 3F 80 00 01 */ lis r28, 1
+/* 802DBA18 002D7678 3B 60 00 00 */ li r27, 0
+lbl_802DBA1C:
+/* 802DBA1C 002D767C 80 15 00 6C */ lwz r0, 0x6c(r21)
+/* 802DBA20 002D7680 7C 00 E8 40 */ cmplw r0, r29
+/* 802DBA24 002D7684 40 82 00 AC */ bne lbl_802DBAD0
+/* 802DBA28 002D7688 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DBA2C 002D768C 3B E0 00 00 */ li r31, 0
+/* 802DBA30 002D7690 40 82 00 18 */ bne lbl_802DBA48
+/* 802DBA34 002D7694 88 95 00 0D */ lbz r4, 0xd(r21)
+/* 802DBA38 002D7698 7F A3 EB 78 */ mr r3, r29
+/* 802DBA3C 002D769C A0 B5 00 12 */ lhz r5, 0x12(r21)
+/* 802DBA40 002D76A0 48 00 41 59 */ bl RFCOMM_ParNegReq
+/* 802DBA44 002D76A4 48 00 00 8C */ b lbl_802DBAD0
+lbl_802DBA48:
+/* 802DBA48 002D76A8 88 16 04 14 */ lbz r0, 0x414(r22)
+/* 802DBA4C 002D76AC 28 00 00 02 */ cmplwi r0, 2
+/* 802DBA50 002D76B0 41 80 00 14 */ blt lbl_802DBA64
+/* 802DBA54 002D76B4 7F C5 F3 78 */ mr r5, r30
+/* 802DBA58 002D76B8 38 77 00 01 */ addi r3, r23, 1
+/* 802DBA5C 002D76BC 38 98 42 B0 */ addi r4, r24, 0x42b0
+/* 802DBA60 002D76C0 4B FE 14 C9 */ bl LogMsg_1
+lbl_802DBA64:
+/* 802DBA64 002D76C4 28 1E 00 04 */ cmplwi r30, 4
+/* 802DBA68 002D76C8 40 82 00 0C */ bne lbl_802DBA74
+/* 802DBA6C 002D76CC 9B 35 00 0E */ stb r25, 0xe(r21)
+/* 802DBA70 002D76D0 48 00 00 08 */ b lbl_802DBA78
+lbl_802DBA74:
+/* 802DBA74 002D76D4 9B 55 00 0E */ stb r26, 0xe(r21)
+lbl_802DBA78:
+/* 802DBA78 002D76D8 7F A3 EB 78 */ mr r3, r29
+/* 802DBA7C 002D76DC 48 00 5D 69 */ bl rfc_release_multiplexer_channel
+/* 802DBA80 002D76E0 93 75 00 6C */ stw r27, 0x6c(r21)
+/* 802DBA84 002D76E4 81 95 00 8C */ lwz r12, 0x8c(r21)
+/* 802DBA88 002D76E8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DBA8C 002D76EC 41 82 00 20 */ beq lbl_802DBAAC
+/* 802DBA90 002D76F0 80 15 00 88 */ lwz r0, 0x88(r21)
+/* 802DBA94 002D76F4 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10
+/* 802DBA98 002D76F8 41 82 00 14 */ beq lbl_802DBAAC
+/* 802DBA9C 002D76FC 38 7C 80 00 */ addi r3, r28, -32768
+/* 802DBAA0 002D7700 88 95 00 00 */ lbz r4, 0(r21)
+/* 802DBAA4 002D7704 7D 89 03 A6 */ mtctr r12
+/* 802DBAA8 002D7708 4E 80 04 21 */ bctrl
+lbl_802DBAAC:
+/* 802DBAAC 002D770C 81 95 00 90 */ lwz r12, 0x90(r21)
+/* 802DBAB0 002D7710 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DBAB4 002D7714 41 82 00 14 */ beq lbl_802DBAC8
+/* 802DBAB8 002D7718 88 95 00 00 */ lbz r4, 0(r21)
+/* 802DBABC 002D771C 38 60 00 0C */ li r3, 0xc
+/* 802DBAC0 002D7720 7D 89 03 A6 */ mtctr r12
+/* 802DBAC4 002D7724 4E 80 04 21 */ bctrl
+lbl_802DBAC8:
+/* 802DBAC8 002D7728 7E A3 AB 78 */ mr r3, r21
+/* 802DBACC 002D772C 48 00 14 55 */ bl port_release_port
+lbl_802DBAD0:
+/* 802DBAD0 002D7730 3A 94 00 01 */ addi r20, r20, 1
+/* 802DBAD4 002D7734 3A B5 00 A4 */ addi r21, r21, 0xa4
+/* 802DBAD8 002D7738 2C 14 00 05 */ cmpwi r20, 5
+/* 802DBADC 002D773C 41 80 FF 40 */ blt lbl_802DBA1C
+/* 802DBAE0 002D7740 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DBAE4 002D7744 41 82 00 0C */ beq lbl_802DBAF0
+/* 802DBAE8 002D7748 7F A3 EB 78 */ mr r3, r29
+/* 802DBAEC 002D774C 48 00 5F 25 */ bl rfc_check_mcb_active
+lbl_802DBAF0:
+/* 802DBAF0 002D7750 39 61 00 40 */ addi r11, r1, 0x40
+/* 802DBAF4 002D7754 4B EE B6 65 */ bl _restgpr_20
+/* 802DBAF8 002D7758 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802DBAFC 002D775C 7C 08 03 A6 */ mtlr r0
+/* 802DBB00 002D7760 38 21 00 40 */ addi r1, r1, 0x40
+/* 802DBB04 002D7764 4E 80 00 20 */ blr
+
+.global PORT_StartInd
+PORT_StartInd:
+/* 802DBB08 002D7768 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DBB0C 002D776C 7C 08 02 A6 */ mflr r0
+/* 802DBB10 002D7770 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DBB14 002D7774 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DBB18 002D7778 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DBB1C 002D777C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DBB20 002D7780 7C 7F 1B 78 */ mr r31, r3
+/* 802DBB24 002D7784 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DBB28 002D7788 28 00 00 04 */ cmplwi r0, 4
+/* 802DBB2C 002D778C 41 80 00 18 */ blt lbl_802DBB44
+/* 802DBB30 002D7790 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DBB34 002D7794 3C 80 80 44 */ lis r4, lbl_804442D0@ha
+/* 802DBB38 002D7798 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DBB3C 002D779C 38 84 42 D0 */ addi r4, r4, lbl_804442D0@l
+/* 802DBB40 002D77A0 4B FE 13 D1 */ bl LogMsg_0
+lbl_802DBB44:
+/* 802DBB44 002D77A4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DBB48 002D77A8 38 00 00 05 */ li r0, 5
+/* 802DBB4C 002D77AC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DBB50 002D77B0 38 63 00 68 */ addi r3, r3, 0x68
+/* 802DBB54 002D77B4 7C 09 03 A6 */ mtctr r0
+lbl_802DBB58:
+/* 802DBB58 002D77B8 80 03 00 6C */ lwz r0, 0x6c(r3)
+/* 802DBB5C 002D77BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DBB60 002D77C0 41 82 00 0C */ beq lbl_802DBB6C
+/* 802DBB64 002D77C4 7C 00 F8 40 */ cmplw r0, r31
+/* 802DBB68 002D77C8 40 82 00 14 */ bne lbl_802DBB7C
+lbl_802DBB6C:
+/* 802DBB6C 002D77CC 7F E3 FB 78 */ mr r3, r31
+/* 802DBB70 002D77D0 38 80 00 00 */ li r4, 0
+/* 802DBB74 002D77D4 48 00 3F 21 */ bl RFCOMM_StartRsp
+/* 802DBB78 002D77D8 48 00 00 18 */ b lbl_802DBB90
+lbl_802DBB7C:
+/* 802DBB7C 002D77DC 38 63 00 A4 */ addi r3, r3, 0xa4
+/* 802DBB80 002D77E0 42 00 FF D8 */ bdnz lbl_802DBB58
+/* 802DBB84 002D77E4 7F E3 FB 78 */ mr r3, r31
+/* 802DBB88 002D77E8 38 80 00 01 */ li r4, 1
+/* 802DBB8C 002D77EC 48 00 3F 09 */ bl RFCOMM_StartRsp
+lbl_802DBB90:
+/* 802DBB90 002D77F0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DBB94 002D77F4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DBB98 002D77F8 7C 08 03 A6 */ mtlr r0
+/* 802DBB9C 002D77FC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DBBA0 002D7800 4E 80 00 20 */ blr
+
+.global PORT_ParNegInd
+PORT_ParNegInd:
+/* 802DBBA4 002D7804 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DBBA8 002D7808 7C 08 02 A6 */ mflr r0
+/* 802DBBAC 002D780C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DBBB0 002D7810 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DBBB4 002D7814 4B EE B5 71 */ bl _savegpr_26
+/* 802DBBB8 002D7818 7C 9F 23 78 */ mr r31, r4
+/* 802DBBBC 002D781C 7C 7E 1B 78 */ mr r30, r3
+/* 802DBBC0 002D7820 7C BA 2B 78 */ mr r26, r5
+/* 802DBBC4 002D7824 7C DB 33 78 */ mr r27, r6
+/* 802DBBC8 002D7828 7C FC 3B 78 */ mr r28, r7
+/* 802DBBCC 002D782C 48 00 14 31 */ bl port_find_mcb_dlci_port
+/* 802DBBD0 002D7830 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DBBD4 002D7834 7C 7D 1B 78 */ mr r29, r3
+/* 802DBBD8 002D7838 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DBBDC 002D783C 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DBBE0 002D7840 28 00 00 04 */ cmplwi r0, 4
+/* 802DBBE4 002D7844 41 80 00 20 */ blt lbl_802DBC04
+/* 802DBBE8 002D7848 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DBBEC 002D784C 3C 80 80 44 */ lis r4, lbl_804442E0@ha
+/* 802DBBF0 002D7850 7F E5 FB 78 */ mr r5, r31
+/* 802DBBF4 002D7854 7F 46 D3 78 */ mr r6, r26
+/* 802DBBF8 002D7858 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DBBFC 002D785C 38 84 42 E0 */ addi r4, r4, lbl_804442E0@l
+/* 802DBC00 002D7860 4B FE 13 41 */ bl LogMsg_2
+lbl_802DBC04:
+/* 802DBC04 002D7864 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DBC08 002D7868 40 82 00 68 */ bne lbl_802DBC70
+/* 802DBC0C 002D786C 7F E3 FB 78 */ mr r3, r31
+/* 802DBC10 002D7870 48 00 14 41 */ bl port_find_dlci_port
+/* 802DBC14 002D7874 2C 03 00 00 */ cmpwi r3, 0
+/* 802DBC18 002D7878 7C 7D 1B 78 */ mr r29, r3
+/* 802DBC1C 002D787C 40 82 00 48 */ bne lbl_802DBC64
+/* 802DBC20 002D7880 7F C3 F3 78 */ mr r3, r30
+/* 802DBC24 002D7884 7F E4 FB 78 */ mr r4, r31
+/* 802DBC28 002D7888 38 A0 00 00 */ li r5, 0
+/* 802DBC2C 002D788C 48 00 44 F5 */ bl rfc_send_dm
+/* 802DBC30 002D7890 7F C3 F3 78 */ mr r3, r30
+/* 802DBC34 002D7894 48 00 5D DD */ bl rfc_check_mcb_active
+/* 802DBC38 002D7898 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DBC3C 002D789C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DBC40 002D78A0 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DBC44 002D78A4 28 00 00 04 */ cmplwi r0, 4
+/* 802DBC48 002D78A8 41 80 00 F4 */ blt lbl_802DBD3C
+/* 802DBC4C 002D78AC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DBC50 002D78B0 3C 80 80 44 */ lis r4, lbl_80444300@ha
+/* 802DBC54 002D78B4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DBC58 002D78B8 38 84 43 00 */ addi r4, r4, lbl_80444300@l
+/* 802DBC5C 002D78BC 4B FE 12 B5 */ bl LogMsg_0
+/* 802DBC60 002D78C0 48 00 00 DC */ b lbl_802DBD3C
+lbl_802DBC64:
+/* 802DBC64 002D78C4 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DBC68 002D78C8 7C 7E FA 14 */ add r3, r30, r31
+/* 802DBC6C 002D78CC 98 03 00 24 */ stb r0, 0x24(r3)
+lbl_802DBC70:
+/* 802DBC70 002D78D0 38 7D 00 06 */ addi r3, r29, 6
+/* 802DBC74 002D78D4 38 9E 00 62 */ addi r4, r30, 0x62
+/* 802DBC78 002D78D8 38 A0 00 06 */ li r5, 6
+/* 802DBC7C 002D78DC 4B D2 83 85 */ bl memcpy
+/* 802DBC80 002D78E0 7F A3 EB 78 */ mr r3, r29
+/* 802DBC84 002D78E4 48 00 11 21 */ bl port_select_mtu
+/* 802DBC88 002D78E8 93 DD 00 6C */ stw r30, 0x6c(r29)
+/* 802DBC8C 002D78EC A0 1D 00 12 */ lhz r0, 0x12(r29)
+/* 802DBC90 002D78F0 7C 00 D0 40 */ cmplw r0, r26
+/* 802DBC94 002D78F4 40 80 00 08 */ bge lbl_802DBC9C
+/* 802DBC98 002D78F8 7C 1A 03 78 */ mr r26, r0
+lbl_802DBC9C:
+/* 802DBC9C 002D78FC B3 5D 00 12 */ sth r26, 0x12(r29)
+/* 802DBCA0 002D7900 B3 5D 00 14 */ sth r26, 0x14(r29)
+/* 802DBCA4 002D7904 88 1E 00 72 */ lbz r0, 0x72(r30)
+/* 802DBCA8 002D7908 2C 00 00 00 */ cmpwi r0, 0
+/* 802DBCAC 002D790C 40 82 00 20 */ bne lbl_802DBCCC
+/* 802DBCB0 002D7910 2C 1B 00 00 */ cmpwi r27, 0
+/* 802DBCB4 002D7914 40 82 00 10 */ bne lbl_802DBCC4
+/* 802DBCB8 002D7918 38 00 00 01 */ li r0, 1
+/* 802DBCBC 002D791C 98 1E 00 72 */ stb r0, 0x72(r30)
+/* 802DBCC0 002D7920 48 00 00 0C */ b lbl_802DBCCC
+lbl_802DBCC4:
+/* 802DBCC4 002D7924 38 00 00 02 */ li r0, 2
+/* 802DBCC8 002D7928 98 1E 00 72 */ stb r0, 0x72(r30)
+lbl_802DBCCC:
+/* 802DBCCC 002D792C 2C 1B 00 00 */ cmpwi r27, 0
+/* 802DBCD0 002D7930 40 82 00 10 */ bne lbl_802DBCE0
+/* 802DBCD4 002D7934 38 C0 00 00 */ li r6, 0
+/* 802DBCD8 002D7938 38 E0 00 00 */ li r7, 0
+/* 802DBCDC 002D793C 48 00 00 50 */ b lbl_802DBD2C
+lbl_802DBCE0:
+/* 802DBCE0 002D7940 88 1E 00 72 */ lbz r0, 0x72(r30)
+/* 802DBCE4 002D7944 28 00 00 02 */ cmplwi r0, 2
+/* 802DBCE8 002D7948 40 82 00 3C */ bne lbl_802DBD24
+/* 802DBCEC 002D794C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802DBCF0 002D7950 B3 9D 00 98 */ sth r28, 0x98(r29)
+/* 802DBCF4 002D7954 40 82 00 0C */ bne lbl_802DBD00
+/* 802DBCF8 002D7958 38 00 00 01 */ li r0, 1
+/* 802DBCFC 002D795C 98 1D 00 24 */ stb r0, 0x24(r29)
+lbl_802DBD00:
+/* 802DBD00 002D7960 A0 7D 00 9C */ lhz r3, 0x9c(r29)
+/* 802DBD04 002D7964 38 C0 00 E0 */ li r6, 0xe0
+/* 802DBD08 002D7968 38 00 00 07 */ li r0, 7
+/* 802DBD0C 002D796C 28 03 00 07 */ cmplwi r3, 7
+/* 802DBD10 002D7970 40 80 00 08 */ bge lbl_802DBD18
+/* 802DBD14 002D7974 7C 60 1B 78 */ mr r0, r3
+lbl_802DBD18:
+/* 802DBD18 002D7978 54 07 06 3E */ clrlwi r7, r0, 0x18
+/* 802DBD1C 002D797C B0 FD 00 9A */ sth r7, 0x9a(r29)
+/* 802DBD20 002D7980 48 00 00 0C */ b lbl_802DBD2C
+lbl_802DBD24:
+/* 802DBD24 002D7984 38 C0 00 00 */ li r6, 0
+/* 802DBD28 002D7988 38 E0 00 00 */ li r7, 0
+lbl_802DBD2C:
+/* 802DBD2C 002D798C A0 BD 00 12 */ lhz r5, 0x12(r29)
+/* 802DBD30 002D7990 7F C3 F3 78 */ mr r3, r30
+/* 802DBD34 002D7994 7F E4 FB 78 */ mr r4, r31
+/* 802DBD38 002D7998 48 00 3F 41 */ bl RFCOMM_ParNegRsp
+lbl_802DBD3C:
+/* 802DBD3C 002D799C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DBD40 002D79A0 4B EE B4 31 */ bl _restgpr_26
+/* 802DBD44 002D79A4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DBD48 002D79A8 7C 08 03 A6 */ mtlr r0
+/* 802DBD4C 002D79AC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DBD50 002D79B0 4E 80 00 20 */ blr
+
+.global PORT_ParNegCnf
+PORT_ParNegCnf:
+/* 802DBD54 002D79B4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DBD58 002D79B8 7C 08 02 A6 */ mflr r0
+/* 802DBD5C 002D79BC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DBD60 002D79C0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DBD64 002D79C4 4B EE B3 C1 */ bl _savegpr_26
+/* 802DBD68 002D79C8 7C 9B 23 78 */ mr r27, r4
+/* 802DBD6C 002D79CC 7C 7A 1B 78 */ mr r26, r3
+/* 802DBD70 002D79D0 7C BC 2B 78 */ mr r28, r5
+/* 802DBD74 002D79D4 7C DD 33 78 */ mr r29, r6
+/* 802DBD78 002D79D8 7C FE 3B 78 */ mr r30, r7
+/* 802DBD7C 002D79DC 48 00 12 81 */ bl port_find_mcb_dlci_port
+/* 802DBD80 002D79E0 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DBD84 002D79E4 7C 7F 1B 78 */ mr r31, r3
+/* 802DBD88 002D79E8 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DBD8C 002D79EC 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DBD90 002D79F0 28 00 00 04 */ cmplwi r0, 4
+/* 802DBD94 002D79F4 41 80 00 28 */ blt lbl_802DBDBC
+/* 802DBD98 002D79F8 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DBD9C 002D79FC 3C 80 80 44 */ lis r4, lbl_80444320@ha
+/* 802DBDA0 002D7A00 7F 65 DB 78 */ mr r5, r27
+/* 802DBDA4 002D7A04 7F 86 E3 78 */ mr r6, r28
+/* 802DBDA8 002D7A08 7F A7 EB 78 */ mr r7, r29
+/* 802DBDAC 002D7A0C 7F C8 F3 78 */ mr r8, r30
+/* 802DBDB0 002D7A10 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DBDB4 002D7A14 38 84 43 20 */ addi r4, r4, lbl_80444320@l
+/* 802DBDB8 002D7A18 4B FE 11 B9 */ bl LogMsg_4
+lbl_802DBDBC:
+/* 802DBDBC 002D7A1C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DBDC0 002D7A20 41 82 00 80 */ beq lbl_802DBE40
+/* 802DBDC4 002D7A24 88 1A 00 72 */ lbz r0, 0x72(r26)
+/* 802DBDC8 002D7A28 2C 00 00 00 */ cmpwi r0, 0
+/* 802DBDCC 002D7A2C 40 82 00 20 */ bne lbl_802DBDEC
+/* 802DBDD0 002D7A30 28 1D 00 E0 */ cmplwi r29, 0xe0
+/* 802DBDD4 002D7A34 40 82 00 10 */ bne lbl_802DBDE4
+/* 802DBDD8 002D7A38 38 00 00 02 */ li r0, 2
+/* 802DBDDC 002D7A3C 98 1A 00 72 */ stb r0, 0x72(r26)
+/* 802DBDE0 002D7A40 48 00 00 0C */ b lbl_802DBDEC
+lbl_802DBDE4:
+/* 802DBDE4 002D7A44 38 00 00 01 */ li r0, 1
+/* 802DBDE8 002D7A48 98 1A 00 72 */ stb r0, 0x72(r26)
+lbl_802DBDEC:
+/* 802DBDEC 002D7A4C A0 1F 00 12 */ lhz r0, 0x12(r31)
+/* 802DBDF0 002D7A50 7C 00 E0 40 */ cmplw r0, r28
+/* 802DBDF4 002D7A54 40 80 00 08 */ bge lbl_802DBDFC
+/* 802DBDF8 002D7A58 7C 1C 03 78 */ mr r28, r0
+lbl_802DBDFC:
+/* 802DBDFC 002D7A5C B3 9F 00 12 */ sth r28, 0x12(r31)
+/* 802DBE00 002D7A60 B3 9F 00 14 */ sth r28, 0x14(r31)
+/* 802DBE04 002D7A64 88 1A 00 72 */ lbz r0, 0x72(r26)
+/* 802DBE08 002D7A68 28 00 00 02 */ cmplwi r0, 2
+/* 802DBE0C 002D7A6C 40 82 00 18 */ bne lbl_802DBE24
+/* 802DBE10 002D7A70 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DBE14 002D7A74 B3 DF 00 98 */ sth r30, 0x98(r31)
+/* 802DBE18 002D7A78 40 82 00 0C */ bne lbl_802DBE24
+/* 802DBE1C 002D7A7C 38 00 00 01 */ li r0, 1
+/* 802DBE20 002D7A80 98 1F 00 24 */ stb r0, 0x24(r31)
+lbl_802DBE24:
+/* 802DBE24 002D7A84 88 1F 00 02 */ lbz r0, 2(r31)
+/* 802DBE28 002D7A88 28 00 00 01 */ cmplwi r0, 1
+/* 802DBE2C 002D7A8C 40 82 00 14 */ bne lbl_802DBE40
+/* 802DBE30 002D7A90 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DBE34 002D7A94 7F 43 D3 78 */ mr r3, r26
+/* 802DBE38 002D7A98 A0 BF 00 12 */ lhz r5, 0x12(r31)
+/* 802DBE3C 002D7A9C 48 00 3C 85 */ bl RFCOMM_DlcEstablishReq
+lbl_802DBE40:
+/* 802DBE40 002D7AA0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DBE44 002D7AA4 4B EE B3 2D */ bl _restgpr_26
+/* 802DBE48 002D7AA8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DBE4C 002D7AAC 7C 08 03 A6 */ mtlr r0
+/* 802DBE50 002D7AB0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DBE54 002D7AB4 4E 80 00 20 */ blr
+
+.global PORT_DlcEstablishInd
+PORT_DlcEstablishInd:
+/* 802DBE58 002D7AB8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DBE5C 002D7ABC 7C 08 02 A6 */ mflr r0
+/* 802DBE60 002D7AC0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DBE64 002D7AC4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DBE68 002D7AC8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DBE6C 002D7ACC 7C BE 2B 78 */ mr r30, r5
+/* 802DBE70 002D7AD0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DBE74 002D7AD4 7C 9D 23 78 */ mr r29, r4
+/* 802DBE78 002D7AD8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DBE7C 002D7ADC 7C 7C 1B 78 */ mr r28, r3
+/* 802DBE80 002D7AE0 48 00 11 7D */ bl port_find_mcb_dlci_port
+/* 802DBE84 002D7AE4 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DBE88 002D7AE8 7C 7F 1B 78 */ mr r31, r3
+/* 802DBE8C 002D7AEC 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DBE90 002D7AF0 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DBE94 002D7AF4 28 00 00 04 */ cmplwi r0, 4
+/* 802DBE98 002D7AF8 41 80 00 20 */ blt lbl_802DBEB8
+/* 802DBE9C 002D7AFC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DBEA0 002D7B00 3C 80 80 44 */ lis r4, lbl_8044434C@ha
+/* 802DBEA4 002D7B04 7F A5 EB 78 */ mr r5, r29
+/* 802DBEA8 002D7B08 7F C6 F3 78 */ mr r6, r30
+/* 802DBEAC 002D7B0C 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DBEB0 002D7B10 38 84 43 4C */ addi r4, r4, lbl_8044434C@l
+/* 802DBEB4 002D7B14 4B FE 10 8D */ bl LogMsg_2
+lbl_802DBEB8:
+/* 802DBEB8 002D7B18 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DBEBC 002D7B1C 40 82 00 3C */ bne lbl_802DBEF8
+/* 802DBEC0 002D7B20 7F A3 EB 78 */ mr r3, r29
+/* 802DBEC4 002D7B24 48 00 11 8D */ bl port_find_dlci_port
+/* 802DBEC8 002D7B28 2C 03 00 00 */ cmpwi r3, 0
+/* 802DBECC 002D7B2C 7C 7F 1B 78 */ mr r31, r3
+/* 802DBED0 002D7B30 40 82 00 1C */ bne lbl_802DBEEC
+/* 802DBED4 002D7B34 7F 83 E3 78 */ mr r3, r28
+/* 802DBED8 002D7B38 7F A4 EB 78 */ mr r4, r29
+/* 802DBEDC 002D7B3C 38 A0 00 00 */ li r5, 0
+/* 802DBEE0 002D7B40 38 C0 00 01 */ li r6, 1
+/* 802DBEE4 002D7B44 48 00 3C 45 */ bl RFCOMM_DlcEstablishRsp
+/* 802DBEE8 002D7B48 48 00 00 90 */ b lbl_802DBF78
+lbl_802DBEEC:
+/* 802DBEEC 002D7B4C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DBEF0 002D7B50 7C 7C EA 14 */ add r3, r28, r29
+/* 802DBEF4 002D7B54 98 03 00 24 */ stb r0, 0x24(r3)
+lbl_802DBEF8:
+/* 802DBEF8 002D7B58 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DBEFC 002D7B5C 41 82 00 14 */ beq lbl_802DBF10
+/* 802DBF00 002D7B60 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802DBF04 002D7B64 7C 1E 00 40 */ cmplw r30, r0
+/* 802DBF08 002D7B68 40 80 00 08 */ bge lbl_802DBF10
+/* 802DBF0C 002D7B6C B3 DF 00 14 */ sth r30, 0x14(r31)
+lbl_802DBF10:
+/* 802DBF10 002D7B70 7F 83 E3 78 */ mr r3, r28
+/* 802DBF14 002D7B74 48 00 59 CD */ bl rfc_timer_stop
+/* 802DBF18 002D7B78 A0 BF 00 12 */ lhz r5, 0x12(r31)
+/* 802DBF1C 002D7B7C 7F 83 E3 78 */ mr r3, r28
+/* 802DBF20 002D7B80 7F A4 EB 78 */ mr r4, r29
+/* 802DBF24 002D7B84 38 C0 00 00 */ li r6, 0
+/* 802DBF28 002D7B88 48 00 3C 01 */ bl RFCOMM_DlcEstablishRsp
+/* 802DBF2C 002D7B8C 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DBF30 002D7B90 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DBF34 002D7B94 41 82 00 20 */ beq lbl_802DBF54
+/* 802DBF38 002D7B98 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DBF3C 002D7B9C 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
+/* 802DBF40 002D7BA0 41 82 00 14 */ beq lbl_802DBF54
+/* 802DBF44 002D7BA4 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DBF48 002D7BA8 38 60 02 00 */ li r3, 0x200
+/* 802DBF4C 002D7BAC 7D 89 03 A6 */ mtctr r12
+/* 802DBF50 002D7BB0 4E 80 04 21 */ bctrl
+lbl_802DBF54:
+/* 802DBF54 002D7BB4 81 9F 00 90 */ lwz r12, 0x90(r31)
+/* 802DBF58 002D7BB8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DBF5C 002D7BBC 41 82 00 14 */ beq lbl_802DBF70
+/* 802DBF60 002D7BC0 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DBF64 002D7BC4 38 60 00 00 */ li r3, 0
+/* 802DBF68 002D7BC8 7D 89 03 A6 */ mtctr r12
+/* 802DBF6C 002D7BCC 4E 80 04 21 */ bctrl
+lbl_802DBF70:
+/* 802DBF70 002D7BD0 38 00 00 02 */ li r0, 2
+/* 802DBF74 002D7BD4 98 1F 00 02 */ stb r0, 2(r31)
+lbl_802DBF78:
+/* 802DBF78 002D7BD8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DBF7C 002D7BDC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DBF80 002D7BE0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DBF84 002D7BE4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DBF88 002D7BE8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DBF8C 002D7BEC 7C 08 03 A6 */ mtlr r0
+/* 802DBF90 002D7BF0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DBF94 002D7BF4 4E 80 00 20 */ blr
+
+.global PORT_DlcEstablishCnf
+PORT_DlcEstablishCnf:
+/* 802DBF98 002D7BF8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DBF9C 002D7BFC 7C 08 02 A6 */ mflr r0
+/* 802DBFA0 002D7C00 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DBFA4 002D7C04 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DBFA8 002D7C08 4B EE B1 81 */ bl _savegpr_27
+/* 802DBFAC 002D7C0C 7C 9C 23 78 */ mr r28, r4
+/* 802DBFB0 002D7C10 7C 7B 1B 78 */ mr r27, r3
+/* 802DBFB4 002D7C14 7C BD 2B 78 */ mr r29, r5
+/* 802DBFB8 002D7C18 7C DE 33 78 */ mr r30, r6
+/* 802DBFBC 002D7C1C 48 00 10 41 */ bl port_find_mcb_dlci_port
+/* 802DBFC0 002D7C20 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DBFC4 002D7C24 7C 7F 1B 78 */ mr r31, r3
+/* 802DBFC8 002D7C28 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DBFCC 002D7C2C 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DBFD0 002D7C30 28 00 00 04 */ cmplwi r0, 4
+/* 802DBFD4 002D7C34 41 80 00 24 */ blt lbl_802DBFF8
+/* 802DBFD8 002D7C38 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DBFDC 002D7C3C 3C 80 80 44 */ lis r4, lbl_80444370@ha
+/* 802DBFE0 002D7C40 7F 85 E3 78 */ mr r5, r28
+/* 802DBFE4 002D7C44 7F A6 EB 78 */ mr r6, r29
+/* 802DBFE8 002D7C48 7F C7 F3 78 */ mr r7, r30
+/* 802DBFEC 002D7C4C 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DBFF0 002D7C50 38 84 43 70 */ addi r4, r4, lbl_80444370@l
+/* 802DBFF4 002D7C54 4B FE 0F 65 */ bl LogMsg_3
+lbl_802DBFF8:
+/* 802DBFF8 002D7C58 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DBFFC 002D7C5C 41 82 00 C8 */ beq lbl_802DC0C4
+/* 802DC000 002D7C60 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DC004 002D7C64 41 82 00 1C */ beq lbl_802DC020
+/* 802DC008 002D7C68 38 00 00 0C */ li r0, 0xc
+/* 802DC00C 002D7C6C 7F E3 FB 78 */ mr r3, r31
+/* 802DC010 002D7C70 98 1F 00 0E */ stb r0, 0xe(r31)
+/* 802DC014 002D7C74 38 80 00 0C */ li r4, 0xc
+/* 802DC018 002D7C78 48 00 0B F9 */ bl port_rfc_closed
+/* 802DC01C 002D7C7C 48 00 00 A8 */ b lbl_802DC0C4
+lbl_802DC020:
+/* 802DC020 002D7C80 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DC024 002D7C84 41 82 00 14 */ beq lbl_802DC038
+/* 802DC028 002D7C88 A0 1F 00 14 */ lhz r0, 0x14(r31)
+/* 802DC02C 002D7C8C 7C 1D 00 40 */ cmplw r29, r0
+/* 802DC030 002D7C90 40 80 00 08 */ bge lbl_802DC038
+/* 802DC034 002D7C94 B3 BF 00 14 */ sth r29, 0x14(r31)
+lbl_802DC038:
+/* 802DC038 002D7C98 7F 63 DB 78 */ mr r3, r27
+/* 802DC03C 002D7C9C 48 00 58 A5 */ bl rfc_timer_stop
+/* 802DC040 002D7CA0 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DC044 002D7CA4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DC048 002D7CA8 41 82 00 20 */ beq lbl_802DC068
+/* 802DC04C 002D7CAC 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC050 002D7CB0 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
+/* 802DC054 002D7CB4 41 82 00 14 */ beq lbl_802DC068
+/* 802DC058 002D7CB8 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DC05C 002D7CBC 38 60 02 00 */ li r3, 0x200
+/* 802DC060 002D7CC0 7D 89 03 A6 */ mtctr r12
+/* 802DC064 002D7CC4 4E 80 04 21 */ bctrl
+lbl_802DC068:
+/* 802DC068 002D7CC8 81 9F 00 90 */ lwz r12, 0x90(r31)
+/* 802DC06C 002D7CCC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DC070 002D7CD0 41 82 00 14 */ beq lbl_802DC084
+/* 802DC074 002D7CD4 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DC078 002D7CD8 38 60 00 00 */ li r3, 0
+/* 802DC07C 002D7CDC 7D 89 03 A6 */ mtctr r12
+/* 802DC080 002D7CE0 4E 80 04 21 */ bctrl
+lbl_802DC084:
+/* 802DC084 002D7CE4 38 00 00 02 */ li r0, 2
+/* 802DC088 002D7CE8 98 1F 00 02 */ stb r0, 2(r31)
+/* 802DC08C 002D7CEC A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802DC090 002D7CF0 28 00 11 03 */ cmplwi r0, 0x1103
+/* 802DC094 002D7CF4 41 82 00 0C */ beq lbl_802DC0A0
+/* 802DC098 002D7CF8 28 00 11 11 */ cmplwi r0, 0x1111
+/* 802DC09C 002D7CFC 40 82 00 18 */ bne lbl_802DC0B4
+lbl_802DC0A0:
+/* 802DC0A0 002D7D00 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DC0A4 002D7D04 38 A0 00 00 */ li r5, 0
+/* 802DC0A8 002D7D08 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DC0AC 002D7D0C 48 00 3B F5 */ bl RFCOMM_PortNegReq
+/* 802DC0B0 002D7D10 48 00 00 14 */ b lbl_802DC0C4
+lbl_802DC0B4:
+/* 802DC0B4 002D7D14 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DC0B8 002D7D18 38 BF 00 5A */ addi r5, r31, 0x5a
+/* 802DC0BC 002D7D1C 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DC0C0 002D7D20 48 00 3C BD */ bl RFCOMM_ControlReq
+lbl_802DC0C4:
+/* 802DC0C4 002D7D24 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DC0C8 002D7D28 4B EE B0 AD */ bl _restgpr_27
+/* 802DC0CC 002D7D2C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC0D0 002D7D30 7C 08 03 A6 */ mtlr r0
+/* 802DC0D4 002D7D34 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC0D8 002D7D38 4E 80 00 20 */ blr
+
+.global PORT_PortNegInd
+PORT_PortNegInd:
+/* 802DC0DC 002D7D3C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC0E0 002D7D40 7C 08 02 A6 */ mflr r0
+/* 802DC0E4 002D7D44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC0E8 002D7D48 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DC0EC 002D7D4C 4B EE B0 3D */ bl _savegpr_27
+/* 802DC0F0 002D7D50 7C 9B 23 78 */ mr r27, r4
+/* 802DC0F4 002D7D54 7C 7E 1B 78 */ mr r30, r3
+/* 802DC0F8 002D7D58 7C BF 2B 78 */ mr r31, r5
+/* 802DC0FC 002D7D5C 7C DC 33 78 */ mr r28, r6
+/* 802DC100 002D7D60 48 00 0E FD */ bl port_find_mcb_dlci_port
+/* 802DC104 002D7D64 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC108 002D7D68 7C 7D 1B 78 */ mr r29, r3
+/* 802DC10C 002D7D6C 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC110 002D7D70 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC114 002D7D74 28 00 00 04 */ cmplwi r0, 4
+/* 802DC118 002D7D78 41 80 00 18 */ blt lbl_802DC130
+/* 802DC11C 002D7D7C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC120 002D7D80 3C 80 80 44 */ lis r4, lbl_804443A0@ha
+/* 802DC124 002D7D84 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC128 002D7D88 38 84 43 A0 */ addi r4, r4, lbl_804443A0@l
+/* 802DC12C 002D7D8C 4B FE 0D E5 */ bl LogMsg_0
+lbl_802DC130:
+/* 802DC130 002D7D90 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DC134 002D7D94 40 82 00 84 */ bne lbl_802DC1B8
+/* 802DC138 002D7D98 7F 63 DB 78 */ mr r3, r27
+/* 802DC13C 002D7D9C 48 00 0F 15 */ bl port_find_dlci_port
+/* 802DC140 002D7DA0 2C 03 00 00 */ cmpwi r3, 0
+/* 802DC144 002D7DA4 7C 7D 1B 78 */ mr r29, r3
+/* 802DC148 002D7DA8 40 82 00 64 */ bne lbl_802DC1AC
+/* 802DC14C 002D7DAC 88 FF 00 00 */ lbz r7, 0(r31)
+/* 802DC150 002D7DB0 7F 64 DB 78 */ mr r4, r27
+/* 802DC154 002D7DB4 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802DC158 002D7DB8 7F E5 FB 78 */ mr r5, r31
+/* 802DC15C 002D7DBC 38 C0 00 00 */ li r6, 0
+/* 802DC160 002D7DC0 98 E3 00 51 */ stb r7, 0x51(r3)
+/* 802DC164 002D7DC4 98 03 00 52 */ stb r0, 0x52(r3)
+/* 802DC168 002D7DC8 88 FF 00 02 */ lbz r7, 2(r31)
+/* 802DC16C 002D7DCC 88 1F 00 03 */ lbz r0, 3(r31)
+/* 802DC170 002D7DD0 98 E3 00 53 */ stb r7, 0x53(r3)
+/* 802DC174 002D7DD4 98 03 00 54 */ stb r0, 0x54(r3)
+/* 802DC178 002D7DD8 88 FF 00 04 */ lbz r7, 4(r31)
+/* 802DC17C 002D7DDC 88 1F 00 05 */ lbz r0, 5(r31)
+/* 802DC180 002D7DE0 98 E3 00 55 */ stb r7, 0x55(r3)
+/* 802DC184 002D7DE4 98 03 00 56 */ stb r0, 0x56(r3)
+/* 802DC188 002D7DE8 88 FF 00 06 */ lbz r7, 6(r31)
+/* 802DC18C 002D7DEC 88 1F 00 07 */ lbz r0, 7(r31)
+/* 802DC190 002D7DF0 98 E3 00 57 */ stb r7, 0x57(r3)
+/* 802DC194 002D7DF4 98 03 00 58 */ stb r0, 0x58(r3)
+/* 802DC198 002D7DF8 88 1F 00 08 */ lbz r0, 8(r31)
+/* 802DC19C 002D7DFC 98 03 00 59 */ stb r0, 0x59(r3)
+/* 802DC1A0 002D7E00 7F C3 F3 78 */ mr r3, r30
+/* 802DC1A4 002D7E04 48 00 3B B9 */ bl RFCOMM_PortNegRsp
+/* 802DC1A8 002D7E08 48 00 00 6C */ b lbl_802DC214
+lbl_802DC1AC:
+/* 802DC1AC 002D7E0C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DC1B0 002D7E10 7C 7E DA 14 */ add r3, r30, r27
+/* 802DC1B4 002D7E14 98 03 00 24 */ stb r0, 0x24(r3)
+lbl_802DC1B8:
+/* 802DC1B8 002D7E18 88 FF 00 00 */ lbz r7, 0(r31)
+/* 802DC1BC 002D7E1C 7F C3 F3 78 */ mr r3, r30
+/* 802DC1C0 002D7E20 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802DC1C4 002D7E24 7F 64 DB 78 */ mr r4, r27
+/* 802DC1C8 002D7E28 7F E5 FB 78 */ mr r5, r31
+/* 802DC1CC 002D7E2C 7F 86 E3 78 */ mr r6, r28
+/* 802DC1D0 002D7E30 98 FD 00 51 */ stb r7, 0x51(r29)
+/* 802DC1D4 002D7E34 98 1D 00 52 */ stb r0, 0x52(r29)
+/* 802DC1D8 002D7E38 88 FF 00 02 */ lbz r7, 2(r31)
+/* 802DC1DC 002D7E3C 88 1F 00 03 */ lbz r0, 3(r31)
+/* 802DC1E0 002D7E40 98 FD 00 53 */ stb r7, 0x53(r29)
+/* 802DC1E4 002D7E44 98 1D 00 54 */ stb r0, 0x54(r29)
+/* 802DC1E8 002D7E48 88 FF 00 04 */ lbz r7, 4(r31)
+/* 802DC1EC 002D7E4C 88 1F 00 05 */ lbz r0, 5(r31)
+/* 802DC1F0 002D7E50 98 FD 00 55 */ stb r7, 0x55(r29)
+/* 802DC1F4 002D7E54 98 1D 00 56 */ stb r0, 0x56(r29)
+/* 802DC1F8 002D7E58 88 FF 00 06 */ lbz r7, 6(r31)
+/* 802DC1FC 002D7E5C 88 1F 00 07 */ lbz r0, 7(r31)
+/* 802DC200 002D7E60 98 FD 00 57 */ stb r7, 0x57(r29)
+/* 802DC204 002D7E64 98 1D 00 58 */ stb r0, 0x58(r29)
+/* 802DC208 002D7E68 88 1F 00 08 */ lbz r0, 8(r31)
+/* 802DC20C 002D7E6C 98 1D 00 59 */ stb r0, 0x59(r29)
+/* 802DC210 002D7E70 48 00 3B 4D */ bl RFCOMM_PortNegRsp
+lbl_802DC214:
+/* 802DC214 002D7E74 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DC218 002D7E78 4B EE AF 5D */ bl _restgpr_27
+/* 802DC21C 002D7E7C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC220 002D7E80 7C 08 03 A6 */ mtlr r0
+/* 802DC224 002D7E84 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC228 002D7E88 4E 80 00 20 */ blr
+
+.global PORT_PortNegCnf
+PORT_PortNegCnf:
+/* 802DC22C 002D7E8C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC230 002D7E90 7C 08 02 A6 */ mflr r0
+/* 802DC234 002D7E94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC238 002D7E98 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DC23C 002D7E9C 3F E0 80 44 */ lis r31, lbl_80444260@ha
+/* 802DC240 002D7EA0 3B FF 42 60 */ addi r31, r31, lbl_80444260@l
+/* 802DC244 002D7EA4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DC248 002D7EA8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DC24C 002D7EAC 7C DD 33 78 */ mr r29, r6
+/* 802DC250 002D7EB0 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DC254 002D7EB4 7C 7C 1B 78 */ mr r28, r3
+/* 802DC258 002D7EB8 48 00 0D A5 */ bl port_find_mcb_dlci_port
+/* 802DC25C 002D7EBC 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC260 002D7EC0 7C 7E 1B 78 */ mr r30, r3
+/* 802DC264 002D7EC4 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC268 002D7EC8 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC26C 002D7ECC 28 00 00 04 */ cmplwi r0, 4
+/* 802DC270 002D7ED0 41 80 00 14 */ blt lbl_802DC284
+/* 802DC274 002D7ED4 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC278 002D7ED8 38 9F 01 50 */ addi r4, r31, 0x150
+/* 802DC27C 002D7EDC 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC280 002D7EE0 4B FE 0C 91 */ bl LogMsg_0
+lbl_802DC284:
+/* 802DC284 002D7EE4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DC288 002D7EE8 40 82 00 2C */ bne lbl_802DC2B4
+/* 802DC28C 002D7EEC 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DC290 002D7EF0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DC294 002D7EF4 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DC298 002D7EF8 28 00 00 02 */ cmplwi r0, 2
+/* 802DC29C 002D7EFC 41 80 00 88 */ blt lbl_802DC324
+/* 802DC2A0 002D7F00 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DC2A4 002D7F04 38 9F 01 60 */ addi r4, r31, 0x160
+/* 802DC2A8 002D7F08 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DC2AC 002D7F0C 4B FE 0C 65 */ bl LogMsg_0
+/* 802DC2B0 002D7F10 48 00 00 74 */ b lbl_802DC324
+lbl_802DC2B4:
+/* 802DC2B4 002D7F14 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DC2B8 002D7F18 41 82 00 28 */ beq lbl_802DC2E0
+/* 802DC2BC 002D7F1C 38 00 00 0E */ li r0, 0xe
+/* 802DC2C0 002D7F20 7F 83 E3 78 */ mr r3, r28
+/* 802DC2C4 002D7F24 98 1E 00 0E */ stb r0, 0xe(r30)
+/* 802DC2C8 002D7F28 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DC2CC 002D7F2C 48 00 3C 91 */ bl RFCOMM_DlcReleaseReq
+/* 802DC2D0 002D7F30 7F C3 F3 78 */ mr r3, r30
+/* 802DC2D4 002D7F34 38 80 00 0E */ li r4, 0xe
+/* 802DC2D8 002D7F38 48 00 09 39 */ bl port_rfc_closed
+/* 802DC2DC 002D7F3C 48 00 00 48 */ b lbl_802DC324
+lbl_802DC2E0:
+/* 802DC2E0 002D7F40 88 1E 00 64 */ lbz r0, 0x64(r30)
+/* 802DC2E4 002D7F44 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802DC2E8 002D7F48 40 82 00 18 */ bne lbl_802DC300
+/* 802DC2EC 002D7F4C 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DC2F0 002D7F50 38 BE 00 5A */ addi r5, r30, 0x5a
+/* 802DC2F4 002D7F54 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DC2F8 002D7F58 48 00 3A 85 */ bl RFCOMM_ControlReq
+/* 802DC2FC 002D7F5C 48 00 00 28 */ b lbl_802DC324
+lbl_802DC300:
+/* 802DC300 002D7F60 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DC304 002D7F64 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DC308 002D7F68 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DC30C 002D7F6C 28 00 00 02 */ cmplwi r0, 2
+/* 802DC310 002D7F70 41 80 00 14 */ blt lbl_802DC324
+/* 802DC314 002D7F74 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DC318 002D7F78 38 9F 01 78 */ addi r4, r31, 0x178
+/* 802DC31C 002D7F7C 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DC320 002D7F80 4B FE 0B F1 */ bl LogMsg_0
+lbl_802DC324:
+/* 802DC324 002D7F84 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC328 002D7F88 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DC32C 002D7F8C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DC330 002D7F90 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DC334 002D7F94 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DC338 002D7F98 7C 08 03 A6 */ mtlr r0
+/* 802DC33C 002D7F9C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC340 002D7FA0 4E 80 00 20 */ blr
+
+.global PORT_ControlInd
+PORT_ControlInd:
+/* 802DC344 002D7FA4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC348 002D7FA8 7C 08 02 A6 */ mflr r0
+/* 802DC34C 002D7FAC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC350 002D7FB0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DC354 002D7FB4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DC358 002D7FB8 7C BE 2B 78 */ mr r30, r5
+/* 802DC35C 002D7FBC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DC360 002D7FC0 48 00 0C 9D */ bl port_find_mcb_dlci_port
+/* 802DC364 002D7FC4 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC368 002D7FC8 7C 7F 1B 78 */ mr r31, r3
+/* 802DC36C 002D7FCC 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC370 002D7FD0 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC374 002D7FD4 28 00 00 04 */ cmplwi r0, 4
+/* 802DC378 002D7FD8 41 80 00 18 */ blt lbl_802DC390
+/* 802DC37C 002D7FDC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC380 002D7FE0 3C 80 80 44 */ lis r4, lbl_80444400@ha
+/* 802DC384 002D7FE4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC388 002D7FE8 38 84 44 00 */ addi r4, r4, lbl_80444400@l
+/* 802DC38C 002D7FEC 4B FE 0B 85 */ bl LogMsg_0
+lbl_802DC390:
+/* 802DC390 002D7FF0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DC394 002D7FF4 41 82 01 0C */ beq lbl_802DC4A0
+/* 802DC398 002D7FF8 88 9F 00 5F */ lbz r4, 0x5f(r31)
+/* 802DC39C 002D7FFC 7F E3 FB 78 */ mr r3, r31
+/* 802DC3A0 002D8000 88 BE 00 00 */ lbz r5, 0(r30)
+/* 802DC3A4 002D8004 48 00 0D A5 */ bl port_get_signal_changes
+/* 802DC3A8 002D8008 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802DC3AC 002D800C 7C 7D 1B 78 */ mr r29, r3
+/* 802DC3B0 002D8010 98 1F 00 5F */ stb r0, 0x5f(r31)
+/* 802DC3B4 002D8014 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802DC3B8 002D8018 98 1F 00 60 */ stb r0, 0x60(r31)
+/* 802DC3BC 002D801C 88 1E 00 02 */ lbz r0, 2(r30)
+/* 802DC3C0 002D8020 98 1F 00 61 */ stb r0, 0x61(r31)
+/* 802DC3C4 002D8024 88 1E 00 03 */ lbz r0, 3(r30)
+/* 802DC3C8 002D8028 98 1F 00 62 */ stb r0, 0x62(r31)
+/* 802DC3CC 002D802C 88 1E 00 04 */ lbz r0, 4(r30)
+/* 802DC3D0 002D8030 98 1F 00 63 */ stb r0, 0x63(r31)
+/* 802DC3D4 002D8034 88 9F 00 64 */ lbz r4, 0x64(r31)
+/* 802DC3D8 002D8038 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802DC3DC 002D803C 40 82 00 18 */ bne lbl_802DC3F4
+/* 802DC3E0 002D8040 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DC3E4 002D8044 38 BF 00 5A */ addi r5, r31, 0x5a
+/* 802DC3E8 002D8048 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DC3EC 002D804C 48 00 39 91 */ bl RFCOMM_ControlReq
+/* 802DC3F0 002D8050 48 00 00 2C */ b lbl_802DC41C
+lbl_802DC3F4:
+/* 802DC3F4 002D8054 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
+/* 802DC3F8 002D8058 40 82 00 10 */ bne lbl_802DC408
+/* 802DC3FC 002D805C 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC400 002D8060 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16
+/* 802DC404 002D8064 7C 7D 03 78 */ or r29, r3, r0
+lbl_802DC408:
+/* 802DC408 002D8068 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
+/* 802DC40C 002D806C 41 82 00 10 */ beq lbl_802DC41C
+/* 802DC410 002D8070 7F E3 FB 78 */ mr r3, r31
+/* 802DC414 002D8074 48 00 07 05 */ bl port_rfc_send_tx_data
+/* 802DC418 002D8078 7F BD 1B 78 */ or r29, r29, r3
+lbl_802DC41C:
+/* 802DC41C 002D807C 88 1F 00 64 */ lbz r0, 0x64(r31)
+/* 802DC420 002D8080 60 00 00 0C */ ori r0, r0, 0xc
+/* 802DC424 002D8084 98 1F 00 64 */ stb r0, 0x64(r31)
+/* 802DC428 002D8088 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802DC42C 002D808C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DC430 002D8090 41 82 00 10 */ beq lbl_802DC440
+/* 802DC434 002D8094 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC438 002D8098 54 00 06 72 */ rlwinm r0, r0, 0, 0x19, 0x19
+/* 802DC43C 002D809C 7F BD 03 78 */ or r29, r29, r0
+lbl_802DC440:
+/* 802DC440 002D80A0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DC444 002D80A4 41 82 00 20 */ beq lbl_802DC464
+/* 802DC448 002D80A8 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DC44C 002D80AC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DC450 002D80B0 41 82 00 14 */ beq lbl_802DC464
+/* 802DC454 002D80B4 7F A3 EB 78 */ mr r3, r29
+/* 802DC458 002D80B8 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DC45C 002D80BC 7D 89 03 A6 */ mtctr r12
+/* 802DC460 002D80C0 4E 80 04 21 */ bctrl
+lbl_802DC464:
+/* 802DC464 002D80C4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DC468 002D80C8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DC46C 002D80CC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DC470 002D80D0 28 00 00 04 */ cmplwi r0, 4
+/* 802DC474 002D80D4 41 80 00 2C */ blt lbl_802DC4A0
+/* 802DC478 002D80D8 88 1F 00 5F */ lbz r0, 0x5f(r31)
+/* 802DC47C 002D80DC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC480 002D80E0 3C 80 80 44 */ lis r4, lbl_80444410@ha
+/* 802DC484 002D80E4 54 08 EF FE */ rlwinm r8, r0, 0x1d, 0x1f, 0x1f
+/* 802DC488 002D80E8 54 07 F7 FE */ rlwinm r7, r0, 0x1e, 0x1f, 0x1f
+/* 802DC48C 002D80EC 54 06 FF FE */ rlwinm r6, r0, 0x1f, 0x1f, 0x1f
+/* 802DC490 002D80F0 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC494 002D80F4 38 84 44 10 */ addi r4, r4, lbl_80444410@l
+/* 802DC498 002D80F8 54 05 07 FE */ clrlwi r5, r0, 0x1f
+/* 802DC49C 002D80FC 4B FE 0A D5 */ bl LogMsg_4
+lbl_802DC4A0:
+/* 802DC4A0 002D8100 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC4A4 002D8104 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DC4A8 002D8108 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DC4AC 002D810C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DC4B0 002D8110 7C 08 03 A6 */ mtlr r0
+/* 802DC4B4 002D8114 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC4B8 002D8118 4E 80 00 20 */ blr
+
+.global PORT_ControlCnf
+PORT_ControlCnf:
+/* 802DC4BC 002D811C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DC4C0 002D8120 7C 08 02 A6 */ mflr r0
+/* 802DC4C4 002D8124 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DC4C8 002D8128 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DC4CC 002D812C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DC4D0 002D8130 48 00 0B 2D */ bl port_find_mcb_dlci_port
+/* 802DC4D4 002D8134 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC4D8 002D8138 7C 7F 1B 78 */ mr r31, r3
+/* 802DC4DC 002D813C 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC4E0 002D8140 3B C0 00 00 */ li r30, 0
+/* 802DC4E4 002D8144 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC4E8 002D8148 28 00 00 04 */ cmplwi r0, 4
+/* 802DC4EC 002D814C 41 80 00 18 */ blt lbl_802DC504
+/* 802DC4F0 002D8150 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC4F4 002D8154 3C 80 80 44 */ lis r4, lbl_80444450@ha
+/* 802DC4F8 002D8158 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC4FC 002D815C 38 84 44 50 */ addi r4, r4, lbl_80444450@l
+/* 802DC500 002D8160 4B FE 0A 11 */ bl LogMsg_0
+lbl_802DC504:
+/* 802DC504 002D8164 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DC508 002D8168 41 82 00 60 */ beq lbl_802DC568
+/* 802DC50C 002D816C 88 7F 00 64 */ lbz r3, 0x64(r31)
+/* 802DC510 002D8170 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 802DC514 002D8174 40 82 00 1C */ bne lbl_802DC530
+/* 802DC518 002D8178 60 63 00 02 */ ori r3, r3, 2
+/* 802DC51C 002D817C 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802DC520 002D8180 98 7F 00 64 */ stb r3, 0x64(r31)
+/* 802DC524 002D8184 41 82 00 0C */ beq lbl_802DC530
+/* 802DC528 002D8188 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC52C 002D818C 54 1E 05 AC */ rlwinm r30, r0, 0, 0x16, 0x16
+lbl_802DC530:
+/* 802DC530 002D8190 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802DC534 002D8194 41 82 00 10 */ beq lbl_802DC544
+/* 802DC538 002D8198 7F E3 FB 78 */ mr r3, r31
+/* 802DC53C 002D819C 48 00 05 DD */ bl port_rfc_send_tx_data
+/* 802DC540 002D81A0 7F DE 1B 78 */ or r30, r30, r3
+lbl_802DC544:
+/* 802DC544 002D81A4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DC548 002D81A8 41 82 00 20 */ beq lbl_802DC568
+/* 802DC54C 002D81AC 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DC550 002D81B0 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DC554 002D81B4 41 82 00 14 */ beq lbl_802DC568
+/* 802DC558 002D81B8 7F C3 F3 78 */ mr r3, r30
+/* 802DC55C 002D81BC 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DC560 002D81C0 7D 89 03 A6 */ mtctr r12
+/* 802DC564 002D81C4 4E 80 04 21 */ bctrl
+lbl_802DC568:
+/* 802DC568 002D81C8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DC56C 002D81CC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DC570 002D81D0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DC574 002D81D4 7C 08 03 A6 */ mtlr r0
+/* 802DC578 002D81D8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DC57C 002D81DC 4E 80 00 20 */ blr
+
+.global PORT_LineStatusInd
+PORT_LineStatusInd:
+/* 802DC580 002D81E0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC584 002D81E4 7C 08 02 A6 */ mflr r0
+/* 802DC588 002D81E8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC58C 002D81EC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DC590 002D81F0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DC594 002D81F4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DC598 002D81F8 7C BD 2B 78 */ mr r29, r5
+/* 802DC59C 002D81FC 48 00 0A 61 */ bl port_find_mcb_dlci_port
+/* 802DC5A0 002D8200 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC5A4 002D8204 7C 7F 1B 78 */ mr r31, r3
+/* 802DC5A8 002D8208 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC5AC 002D820C 3B C0 00 00 */ li r30, 0
+/* 802DC5B0 002D8210 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC5B4 002D8214 28 00 00 04 */ cmplwi r0, 4
+/* 802DC5B8 002D8218 41 80 00 18 */ blt lbl_802DC5D0
+/* 802DC5BC 002D821C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC5C0 002D8220 3C 80 80 44 */ lis r4, lbl_80444460@ha
+/* 802DC5C4 002D8224 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC5C8 002D8228 38 84 44 60 */ addi r4, r4, lbl_80444460@l
+/* 802DC5CC 002D822C 4B FE 09 45 */ bl LogMsg_0
+lbl_802DC5D0:
+/* 802DC5D0 002D8230 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DC5D4 002D8234 41 82 00 58 */ beq lbl_802DC62C
+/* 802DC5D8 002D8238 88 7F 00 0F */ lbz r3, 0xf(r31)
+/* 802DC5DC 002D823C 57 A0 07 BD */ rlwinm. r0, r29, 0, 0x1e, 0x1e
+/* 802DC5E0 002D8240 7C 60 EB 78 */ or r0, r3, r29
+/* 802DC5E4 002D8244 98 1F 00 0F */ stb r0, 0xf(r31)
+/* 802DC5E8 002D8248 41 82 00 08 */ beq lbl_802DC5F0
+/* 802DC5EC 002D824C 63 DE 20 00 */ ori r30, r30, 0x2000
+lbl_802DC5F0:
+/* 802DC5F0 002D8250 57 A0 07 FF */ clrlwi. r0, r29, 0x1f
+/* 802DC5F4 002D8254 41 82 00 08 */ beq lbl_802DC5FC
+/* 802DC5F8 002D8258 63 DE 00 40 */ ori r30, r30, 0x40
+lbl_802DC5FC:
+/* 802DC5FC 002D825C 57 A0 06 3B */ rlwinm. r0, r29, 0, 0x18, 0x1d
+/* 802DC600 002D8260 41 82 00 08 */ beq lbl_802DC608
+/* 802DC604 002D8264 63 DE 00 80 */ ori r30, r30, 0x80
+lbl_802DC608:
+/* 802DC608 002D8268 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DC60C 002D826C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DC610 002D8270 41 82 00 1C */ beq lbl_802DC62C
+/* 802DC614 002D8274 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC618 002D8278 7C 03 F0 39 */ and. r3, r0, r30
+/* 802DC61C 002D827C 41 82 00 10 */ beq lbl_802DC62C
+/* 802DC620 002D8280 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DC624 002D8284 7D 89 03 A6 */ mtctr r12
+/* 802DC628 002D8288 4E 80 04 21 */ bctrl
+lbl_802DC62C:
+/* 802DC62C 002D828C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC630 002D8290 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DC634 002D8294 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DC638 002D8298 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DC63C 002D829C 7C 08 03 A6 */ mtlr r0
+/* 802DC640 002D82A0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC644 002D82A4 4E 80 00 20 */ blr
+
+.global PORT_DlcReleaseInd
+PORT_DlcReleaseInd:
+/* 802DC648 002D82A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DC64C 002D82AC 7C 08 02 A6 */ mflr r0
+/* 802DC650 002D82B0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DC654 002D82B4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DC658 002D82B8 48 00 09 A5 */ bl port_find_mcb_dlci_port
+/* 802DC65C 002D82BC 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC660 002D82C0 7C 7F 1B 78 */ mr r31, r3
+/* 802DC664 002D82C4 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC668 002D82C8 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC66C 002D82CC 28 00 00 04 */ cmplwi r0, 4
+/* 802DC670 002D82D0 41 80 00 18 */ blt lbl_802DC688
+/* 802DC674 002D82D4 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC678 002D82D8 3C 80 80 44 */ lis r4, lbl_80444474@ha
+/* 802DC67C 002D82DC 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC680 002D82E0 38 84 44 74 */ addi r4, r4, lbl_80444474@l
+/* 802DC684 002D82E4 4B FE 08 8D */ bl LogMsg_0
+lbl_802DC688:
+/* 802DC688 002D82E8 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DC68C 002D82EC 41 82 00 10 */ beq lbl_802DC69C
+/* 802DC690 002D82F0 7F E3 FB 78 */ mr r3, r31
+/* 802DC694 002D82F4 38 80 00 13 */ li r4, 0x13
+/* 802DC698 002D82F8 48 00 05 79 */ bl port_rfc_closed
+lbl_802DC69C:
+/* 802DC69C 002D82FC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DC6A0 002D8300 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DC6A4 002D8304 7C 08 03 A6 */ mtlr r0
+/* 802DC6A8 002D8308 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DC6AC 002D830C 4E 80 00 20 */ blr
+
+.global PORT_CloseInd
+PORT_CloseInd:
+/* 802DC6B0 002D8310 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC6B4 002D8314 7C 08 02 A6 */ mflr r0
+/* 802DC6B8 002D8318 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC6BC 002D831C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC6C0 002D8320 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC6C4 002D8324 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DC6C8 002D8328 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DC6CC 002D832C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DC6D0 002D8330 7C 7D 1B 78 */ mr r29, r3
+/* 802DC6D4 002D8334 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC6D8 002D8338 28 00 00 04 */ cmplwi r0, 4
+/* 802DC6DC 002D833C 41 80 00 18 */ blt lbl_802DC6F4
+/* 802DC6E0 002D8340 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC6E4 002D8344 3C 80 80 44 */ lis r4, lbl_80444488@ha
+/* 802DC6E8 002D8348 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC6EC 002D834C 38 84 44 88 */ addi r4, r4, lbl_80444488@l
+/* 802DC6F0 002D8350 4B FE 08 21 */ bl LogMsg_0
+lbl_802DC6F4:
+/* 802DC6F4 002D8354 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DC6F8 002D8358 3B C0 00 00 */ li r30, 0
+/* 802DC6FC 002D835C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DC700 002D8360 3B E3 00 68 */ addi r31, r3, 0x68
+lbl_802DC704:
+/* 802DC704 002D8364 80 1F 00 6C */ lwz r0, 0x6c(r31)
+/* 802DC708 002D8368 7C 00 E8 40 */ cmplw r0, r29
+/* 802DC70C 002D836C 40 82 00 10 */ bne lbl_802DC71C
+/* 802DC710 002D8370 7F E3 FB 78 */ mr r3, r31
+/* 802DC714 002D8374 38 80 00 10 */ li r4, 0x10
+/* 802DC718 002D8378 48 00 04 F9 */ bl port_rfc_closed
+lbl_802DC71C:
+/* 802DC71C 002D837C 3B DE 00 01 */ addi r30, r30, 1
+/* 802DC720 002D8380 3B FF 00 A4 */ addi r31, r31, 0xa4
+/* 802DC724 002D8384 2C 1E 00 05 */ cmpwi r30, 5
+/* 802DC728 002D8388 41 80 FF DC */ blt lbl_802DC704
+/* 802DC72C 002D838C 7F A3 EB 78 */ mr r3, r29
+/* 802DC730 002D8390 48 00 50 B5 */ bl rfc_release_multiplexer_channel
+/* 802DC734 002D8394 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC738 002D8398 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DC73C 002D839C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DC740 002D83A0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DC744 002D83A4 7C 08 03 A6 */ mtlr r0
+/* 802DC748 002D83A8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC74C 002D83AC 4E 80 00 20 */ blr
+
+.global Port_TimeOutCloseMux
+Port_TimeOutCloseMux:
+/* 802DC750 002D83B0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC754 002D83B4 7C 08 02 A6 */ mflr r0
+/* 802DC758 002D83B8 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC75C 002D83BC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC760 002D83C0 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC764 002D83C4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DC768 002D83C8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DC76C 002D83CC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DC770 002D83D0 7C 7D 1B 78 */ mr r29, r3
+/* 802DC774 002D83D4 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC778 002D83D8 28 00 00 04 */ cmplwi r0, 4
+/* 802DC77C 002D83DC 41 80 00 18 */ blt lbl_802DC794
+/* 802DC780 002D83E0 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC784 002D83E4 3C 80 80 44 */ lis r4, lbl_80444498@ha
+/* 802DC788 002D83E8 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC78C 002D83EC 38 84 44 98 */ addi r4, r4, lbl_80444498@l
+/* 802DC790 002D83F0 4B FE 07 81 */ bl LogMsg_0
+lbl_802DC794:
+/* 802DC794 002D83F4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DC798 002D83F8 3B C0 00 00 */ li r30, 0
+/* 802DC79C 002D83FC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DC7A0 002D8400 3B E3 00 68 */ addi r31, r3, 0x68
+lbl_802DC7A4:
+/* 802DC7A4 002D8404 80 1F 00 6C */ lwz r0, 0x6c(r31)
+/* 802DC7A8 002D8408 7C 00 E8 40 */ cmplw r0, r29
+/* 802DC7AC 002D840C 40 82 00 10 */ bne lbl_802DC7BC
+/* 802DC7B0 002D8410 7F E3 FB 78 */ mr r3, r31
+/* 802DC7B4 002D8414 38 80 00 12 */ li r4, 0x12
+/* 802DC7B8 002D8418 48 00 04 59 */ bl port_rfc_closed
+lbl_802DC7BC:
+/* 802DC7BC 002D841C 3B DE 00 01 */ addi r30, r30, 1
+/* 802DC7C0 002D8420 3B FF 00 A4 */ addi r31, r31, 0xa4
+/* 802DC7C4 002D8424 2C 1E 00 05 */ cmpwi r30, 5
+/* 802DC7C8 002D8428 41 80 FF DC */ blt lbl_802DC7A4
+/* 802DC7CC 002D842C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC7D0 002D8430 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DC7D4 002D8434 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DC7D8 002D8438 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DC7DC 002D843C 7C 08 03 A6 */ mtlr r0
+/* 802DC7E0 002D8440 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC7E4 002D8444 4E 80 00 20 */ blr
+
+.global PORT_DataInd
+PORT_DataInd:
+/* 802DC7E8 002D8448 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC7EC 002D844C 7C 08 02 A6 */ mflr r0
+/* 802DC7F0 002D8450 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC7F4 002D8454 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DC7F8 002D8458 4B EE A9 31 */ bl _savegpr_27
+/* 802DC7FC 002D845C 7C 9C 23 78 */ mr r28, r4
+/* 802DC800 002D8460 7C 7B 1B 78 */ mr r27, r3
+/* 802DC804 002D8464 7C BD 2B 78 */ mr r29, r5
+/* 802DC808 002D8468 48 00 07 F5 */ bl port_find_mcb_dlci_port
+/* 802DC80C 002D846C 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DC810 002D8470 7C 7F 1B 78 */ mr r31, r3
+/* 802DC814 002D8474 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DC818 002D8478 3B C0 00 00 */ li r30, 0
+/* 802DC81C 002D847C 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DC820 002D8480 28 00 00 04 */ cmplwi r0, 4
+/* 802DC824 002D8484 41 80 00 1C */ blt lbl_802DC840
+/* 802DC828 002D8488 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC82C 002D848C 3C 80 80 44 */ lis r4, lbl_804444B0@ha
+/* 802DC830 002D8490 A0 BD 00 02 */ lhz r5, 2(r29)
+/* 802DC834 002D8494 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC838 002D8498 38 84 44 B0 */ addi r4, r4, lbl_804444B0@l
+/* 802DC83C 002D849C 4B FE 06 ED */ bl LogMsg_1
+lbl_802DC840:
+/* 802DC840 002D84A0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DC844 002D84A4 40 82 00 10 */ bne lbl_802DC854
+/* 802DC848 002D84A8 7F A3 EB 78 */ mr r3, r29
+/* 802DC84C 002D84AC 4B FD D4 E9 */ bl GKI_freebuf
+/* 802DC850 002D84B0 48 00 01 80 */ b lbl_802DC9D0
+lbl_802DC854:
+/* 802DC854 002D84B4 80 1F 00 94 */ lwz r0, 0x94(r31)
+/* 802DC858 002D84B8 2C 00 00 00 */ cmpwi r0, 0
+/* 802DC85C 002D84BC 41 82 00 40 */ beq lbl_802DC89C
+/* 802DC860 002D84C0 7F E3 FB 78 */ mr r3, r31
+/* 802DC864 002D84C4 38 80 00 01 */ li r4, 1
+/* 802DC868 002D84C8 38 A0 00 01 */ li r5, 1
+/* 802DC86C 002D84CC 48 00 09 45 */ bl port_flow_control_peer
+/* 802DC870 002D84D0 A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802DC874 002D84D4 81 9F 00 94 */ lwz r12, 0x94(r31)
+/* 802DC878 002D84D8 7C 9D 02 14 */ add r4, r29, r0
+/* 802DC87C 002D84DC 88 7F 00 00 */ lbz r3, 0(r31)
+/* 802DC880 002D84E0 38 84 00 08 */ addi r4, r4, 8
+/* 802DC884 002D84E4 A0 BD 00 02 */ lhz r5, 2(r29)
+/* 802DC888 002D84E8 7D 89 03 A6 */ mtctr r12
+/* 802DC88C 002D84EC 4E 80 04 21 */ bctrl
+/* 802DC890 002D84F0 7F A3 EB 78 */ mr r3, r29
+/* 802DC894 002D84F4 4B FD D4 A1 */ bl GKI_freebuf
+/* 802DC898 002D84F8 48 00 01 38 */ b lbl_802DC9D0
+lbl_802DC89C:
+/* 802DC89C 002D84FC A0 9D 00 02 */ lhz r4, 2(r29)
+/* 802DC8A0 002D8500 80 1F 00 40 */ lwz r0, 0x40(r31)
+/* 802DC8A4 002D8504 7C 00 22 14 */ add r0, r0, r4
+/* 802DC8A8 002D8508 28 00 2E E0 */ cmplwi r0, 0x2ee0
+/* 802DC8AC 002D850C 41 81 00 18 */ bgt lbl_802DC8C4
+/* 802DC8B0 002D8510 A0 7F 00 38 */ lhz r3, 0x38(r31)
+/* 802DC8B4 002D8514 A0 1F 00 A0 */ lhz r0, 0xa0(r31)
+/* 802DC8B8 002D8518 38 63 00 01 */ addi r3, r3, 1
+/* 802DC8BC 002D851C 7C 03 00 00 */ cmpw r3, r0
+/* 802DC8C0 002D8520 40 81 00 48 */ ble lbl_802DC908
+lbl_802DC8C4:
+/* 802DC8C4 002D8524 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DC8C8 002D8528 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DC8CC 002D852C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DC8D0 002D8530 28 00 00 04 */ cmplwi r0, 4
+/* 802DC8D4 002D8534 41 80 00 18 */ blt lbl_802DC8EC
+/* 802DC8D8 002D8538 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DC8DC 002D853C 3C 80 80 44 */ lis r4, lbl_804444D4@ha
+/* 802DC8E0 002D8540 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DC8E4 002D8544 38 84 44 D4 */ addi r4, r4, lbl_804444D4@l
+/* 802DC8E8 002D8548 4B FE 06 29 */ bl LogMsg_0
+lbl_802DC8EC:
+/* 802DC8EC 002D854C 7F A3 EB 78 */ mr r3, r29
+/* 802DC8F0 002D8550 4B FD D4 45 */ bl GKI_freebuf
+/* 802DC8F4 002D8554 7F 63 DB 78 */ mr r3, r27
+/* 802DC8F8 002D8558 7F 84 E3 78 */ mr r4, r28
+/* 802DC8FC 002D855C 38 A0 00 02 */ li r5, 2
+/* 802DC900 002D8560 48 00 35 C5 */ bl RFCOMM_LineStatusReq
+/* 802DC904 002D8564 48 00 00 CC */ b lbl_802DC9D0
+lbl_802DC908:
+/* 802DC908 002D8568 88 BF 00 4E */ lbz r5, 0x4e(r31)
+/* 802DC90C 002D856C 2C 05 00 00 */ cmpwi r5, 0
+/* 802DC910 002D8570 41 82 00 44 */ beq lbl_802DC954
+/* 802DC914 002D8574 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC918 002D8578 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802DC91C 002D857C 41 82 00 38 */ beq lbl_802DC954
+/* 802DC920 002D8580 A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802DC924 002D8584 7C 7D 02 14 */ add r3, r29, r0
+/* 802DC928 002D8588 38 63 00 08 */ addi r3, r3, 8
+/* 802DC92C 002D858C 7C 89 03 A6 */ mtctr r4
+/* 802DC930 002D8590 2C 04 00 00 */ cmpwi r4, 0
+/* 802DC934 002D8594 40 81 00 20 */ ble lbl_802DC954
+lbl_802DC938:
+/* 802DC938 002D8598 88 03 00 00 */ lbz r0, 0(r3)
+/* 802DC93C 002D859C 38 63 00 01 */ addi r3, r3, 1
+/* 802DC940 002D85A0 7C 00 28 40 */ cmplw r0, r5
+/* 802DC944 002D85A4 40 82 00 0C */ bne lbl_802DC950
+/* 802DC948 002D85A8 63 DE 00 02 */ ori r30, r30, 2
+/* 802DC94C 002D85AC 48 00 00 08 */ b lbl_802DC954
+lbl_802DC950:
+/* 802DC950 002D85B0 42 00 FF E8 */ bdnz lbl_802DC938
+lbl_802DC954:
+/* 802DC954 002D85B4 7F A4 EB 78 */ mr r4, r29
+/* 802DC958 002D85B8 38 7F 00 30 */ addi r3, r31, 0x30
+/* 802DC95C 002D85BC 4B FD D7 F9 */ bl GKI_enqueue
+/* 802DC960 002D85C0 80 DF 00 40 */ lwz r6, 0x40(r31)
+/* 802DC964 002D85C4 7F E3 FB 78 */ mr r3, r31
+/* 802DC968 002D85C8 A0 1D 00 02 */ lhz r0, 2(r29)
+/* 802DC96C 002D85CC 38 80 00 00 */ li r4, 0
+/* 802DC970 002D85D0 38 A0 00 00 */ li r5, 0
+/* 802DC974 002D85D4 7C 06 02 14 */ add r0, r6, r0
+/* 802DC978 002D85D8 90 1F 00 40 */ stw r0, 0x40(r31)
+/* 802DC97C 002D85DC 48 00 08 35 */ bl port_flow_control_peer
+/* 802DC980 002D85E0 88 1F 00 3D */ lbz r0, 0x3d(r31)
+/* 802DC984 002D85E4 2C 00 00 00 */ cmpwi r0, 0
+/* 802DC988 002D85E8 41 82 00 18 */ beq lbl_802DC9A0
+/* 802DC98C 002D85EC 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e
+/* 802DC990 002D85F0 41 82 00 40 */ beq lbl_802DC9D0
+/* 802DC994 002D85F4 38 00 00 01 */ li r0, 1
+/* 802DC998 002D85F8 98 1F 00 65 */ stb r0, 0x65(r31)
+/* 802DC99C 002D85FC 48 00 00 34 */ b lbl_802DC9D0
+lbl_802DC9A0:
+/* 802DC9A0 002D8600 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DC9A4 002D8604 63 DE 00 01 */ ori r30, r30, 1
+/* 802DC9A8 002D8608 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DC9AC 002D860C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DC9B0 002D8610 7F DE 00 38 */ and r30, r30, r0
+/* 802DC9B4 002D8614 41 82 00 1C */ beq lbl_802DC9D0
+/* 802DC9B8 002D8618 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DC9BC 002D861C 41 82 00 14 */ beq lbl_802DC9D0
+/* 802DC9C0 002D8620 7F C3 F3 78 */ mr r3, r30
+/* 802DC9C4 002D8624 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DC9C8 002D8628 7D 89 03 A6 */ mtctr r12
+/* 802DC9CC 002D862C 4E 80 04 21 */ bctrl
+lbl_802DC9D0:
+/* 802DC9D0 002D8630 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DC9D4 002D8634 4B EE A7 A1 */ bl _restgpr_27
+/* 802DC9D8 002D8638 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DC9DC 002D863C 7C 08 03 A6 */ mtlr r0
+/* 802DC9E0 002D8640 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DC9E4 002D8644 4E 80 00 20 */ blr
+
+.global PORT_FlowInd
+PORT_FlowInd:
+/* 802DC9E8 002D8648 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DC9EC 002D864C 7C 08 02 A6 */ mflr r0
+/* 802DC9F0 002D8650 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DC9F4 002D8654 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DC9F8 002D8658 4B EE A7 2D */ bl _savegpr_26
+/* 802DC9FC 002D865C 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DCA00 002D8660 7C 7A 1B 78 */ mr r26, r3
+/* 802DCA04 002D8664 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DCA08 002D8668 7C 9B 23 78 */ mr r27, r4
+/* 802DCA0C 002D866C 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DCA10 002D8670 7C BC 2B 78 */ mr r28, r5
+/* 802DCA14 002D8674 3B A0 00 00 */ li r29, 0
+/* 802DCA18 002D8678 28 00 00 04 */ cmplwi r0, 4
+/* 802DCA1C 002D867C 41 80 00 18 */ blt lbl_802DCA34
+/* 802DCA20 002D8680 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DCA24 002D8684 3C 80 80 44 */ lis r4, lbl_80444508@ha
+/* 802DCA28 002D8688 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DCA2C 002D868C 38 84 45 08 */ addi r4, r4, lbl_80444508@l
+/* 802DCA30 002D8690 4B FE 04 F9 */ bl LogMsg_1
+lbl_802DCA34:
+/* 802DCA34 002D8694 2C 1B 00 00 */ cmpwi r27, 0
+/* 802DCA38 002D8698 40 82 00 0C */ bne lbl_802DCA44
+/* 802DCA3C 002D869C 9B 9A 00 71 */ stb r28, 0x71(r26)
+/* 802DCA40 002D86A0 48 00 00 28 */ b lbl_802DCA68
+lbl_802DCA44:
+/* 802DCA44 002D86A4 7F 43 D3 78 */ mr r3, r26
+/* 802DCA48 002D86A8 7F 64 DB 78 */ mr r4, r27
+/* 802DCA4C 002D86AC 48 00 05 B1 */ bl port_find_mcb_dlci_port
+/* 802DCA50 002D86B0 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCA54 002D86B4 7C 7D 1B 78 */ mr r29, r3
+/* 802DCA58 002D86B8 41 82 00 A8 */ beq lbl_802DCB00
+/* 802DCA5C 002D86BC 7F 80 00 34 */ cntlzw r0, r28
+/* 802DCA60 002D86C0 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
+/* 802DCA64 002D86C4 98 03 00 24 */ stb r0, 0x24(r3)
+lbl_802DCA68:
+/* 802DCA68 002D86C8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCA6C 002D86CC 3B 80 00 00 */ li r28, 0
+/* 802DCA70 002D86D0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCA74 002D86D4 3B C3 00 68 */ addi r30, r3, 0x68
+lbl_802DCA78:
+/* 802DCA78 002D86D8 2C 1B 00 00 */ cmpwi r27, 0
+/* 802DCA7C 002D86DC 40 82 00 2C */ bne lbl_802DCAA8
+/* 802DCA80 002D86E0 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802DCA84 002D86E4 7F DD F3 78 */ mr r29, r30
+/* 802DCA88 002D86E8 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCA8C 002D86EC 41 82 00 64 */ beq lbl_802DCAF0
+/* 802DCA90 002D86F0 80 1E 00 6C */ lwz r0, 0x6c(r30)
+/* 802DCA94 002D86F4 7C 00 D0 40 */ cmplw r0, r26
+/* 802DCA98 002D86F8 40 82 00 58 */ bne lbl_802DCAF0
+/* 802DCA9C 002D86FC 88 1E 00 68 */ lbz r0, 0x68(r30)
+/* 802DCAA0 002D8700 28 00 00 04 */ cmplwi r0, 4
+/* 802DCAA4 002D8704 40 82 00 4C */ bne lbl_802DCAF0
+lbl_802DCAA8:
+/* 802DCAA8 002D8708 7F A3 EB 78 */ mr r3, r29
+/* 802DCAAC 002D870C 48 00 06 2D */ bl port_flow_control_user
+/* 802DCAB0 002D8710 7C 7F 1B 78 */ mr r31, r3
+/* 802DCAB4 002D8714 7F A3 EB 78 */ mr r3, r29
+/* 802DCAB8 002D8718 48 00 00 61 */ bl port_rfc_send_tx_data
+/* 802DCABC 002D871C 81 9D 00 8C */ lwz r12, 0x8c(r29)
+/* 802DCAC0 002D8720 7F E3 1B 78 */ or r3, r31, r3
+/* 802DCAC4 002D8724 80 1D 00 88 */ lwz r0, 0x88(r29)
+/* 802DCAC8 002D8728 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DCACC 002D872C 7C 63 00 38 */ and r3, r3, r0
+/* 802DCAD0 002D8730 41 82 00 18 */ beq lbl_802DCAE8
+/* 802DCAD4 002D8734 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCAD8 002D8738 41 82 00 10 */ beq lbl_802DCAE8
+/* 802DCADC 002D873C 88 9D 00 00 */ lbz r4, 0(r29)
+/* 802DCAE0 002D8740 7D 89 03 A6 */ mtctr r12
+/* 802DCAE4 002D8744 4E 80 04 21 */ bctrl
+lbl_802DCAE8:
+/* 802DCAE8 002D8748 2C 1B 00 00 */ cmpwi r27, 0
+/* 802DCAEC 002D874C 40 82 00 14 */ bne lbl_802DCB00
+lbl_802DCAF0:
+/* 802DCAF0 002D8750 3B 9C 00 01 */ addi r28, r28, 1
+/* 802DCAF4 002D8754 3B DE 00 A4 */ addi r30, r30, 0xa4
+/* 802DCAF8 002D8758 2C 1C 00 05 */ cmpwi r28, 5
+/* 802DCAFC 002D875C 41 80 FF 7C */ blt lbl_802DCA78
+lbl_802DCB00:
+/* 802DCB00 002D8760 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DCB04 002D8764 4B EE A6 6D */ bl _restgpr_26
+/* 802DCB08 002D8768 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DCB0C 002D876C 7C 08 03 A6 */ mtlr r0
+/* 802DCB10 002D8770 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DCB14 002D8774 4E 80 00 20 */ blr
+
+.global port_rfc_send_tx_data
+port_rfc_send_tx_data:
+/* 802DCB18 002D8778 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DCB1C 002D877C 7C 08 02 A6 */ mflr r0
+/* 802DCB20 002D8780 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DCB24 002D8784 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DCB28 002D8788 4B EE A5 FD */ bl _savegpr_26
+/* 802DCB2C 002D878C 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802DCB30 002D8790 7C 7A 1B 78 */ mr r26, r3
+/* 802DCB34 002D8794 3B 80 00 00 */ li r28, 0
+/* 802DCB38 002D8798 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCB3C 002D879C 41 82 00 B4 */ beq lbl_802DCBF0
+/* 802DCB40 002D87A0 3F A0 80 57 */ lis r29, lbl_8056C428@ha
+/* 802DCB44 002D87A4 3F C0 00 09 */ lis r30, 9
+/* 802DCB48 002D87A8 3B BD C4 28 */ addi r29, r29, lbl_8056C428@l
+/* 802DCB4C 002D87AC 3F E0 80 44 */ lis r31, 0x8044
+/* 802DCB50 002D87B0 48 00 00 70 */ b lbl_802DCBC0
+lbl_802DCB54:
+/* 802DCB54 002D87B4 38 7A 00 18 */ addi r3, r26, 0x18
+/* 802DCB58 002D87B8 4B FD D8 79 */ bl GKI_dequeue
+/* 802DCB5C 002D87BC 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCB60 002D87C0 7C 7B 1B 78 */ mr r27, r3
+/* 802DCB64 002D87C4 41 82 00 54 */ beq lbl_802DCBB8
+/* 802DCB68 002D87C8 88 1D 04 14 */ lbz r0, 0x414(r29)
+/* 802DCB6C 002D87CC 28 00 00 04 */ cmplwi r0, 4
+/* 802DCB70 002D87D0 41 80 00 10 */ blt lbl_802DCB80
+/* 802DCB74 002D87D4 38 7E 00 03 */ addi r3, r30, 3
+/* 802DCB78 002D87D8 38 9F 45 1C */ addi r4, r31, 0x451c
+/* 802DCB7C 002D87DC 4B FE 03 95 */ bl LogMsg_0
+lbl_802DCB80:
+/* 802DCB80 002D87E0 A0 9B 00 02 */ lhz r4, 2(r27)
+/* 802DCB84 002D87E4 7F 65 DB 78 */ mr r5, r27
+/* 802DCB88 002D87E8 80 1A 00 28 */ lwz r0, 0x28(r26)
+/* 802DCB8C 002D87EC 80 7A 00 6C */ lwz r3, 0x6c(r26)
+/* 802DCB90 002D87F0 7C 04 00 50 */ subf r0, r4, r0
+/* 802DCB94 002D87F4 88 9A 00 0D */ lbz r4, 0xd(r26)
+/* 802DCB98 002D87F8 90 1A 00 28 */ stw r0, 0x28(r26)
+/* 802DCB9C 002D87FC 48 00 33 ED */ bl RFCOMM_DataReq
+/* 802DCBA0 002D8800 80 1A 00 28 */ lwz r0, 0x28(r26)
+/* 802DCBA4 002D8804 63 9C 40 00 */ ori r28, r28, 0x4000
+/* 802DCBA8 002D8808 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCBAC 002D880C 40 82 00 14 */ bne lbl_802DCBC0
+/* 802DCBB0 002D8810 63 9C 00 04 */ ori r28, r28, 4
+/* 802DCBB4 002D8814 48 00 00 30 */ b lbl_802DCBE4
+lbl_802DCBB8:
+/* 802DCBB8 002D8818 63 9C 00 04 */ ori r28, r28, 4
+/* 802DCBBC 002D881C 48 00 00 28 */ b lbl_802DCBE4
+lbl_802DCBC0:
+/* 802DCBC0 002D8820 88 1A 00 24 */ lbz r0, 0x24(r26)
+/* 802DCBC4 002D8824 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCBC8 002D8828 40 82 00 1C */ bne lbl_802DCBE4
+/* 802DCBCC 002D882C 80 7A 00 6C */ lwz r3, 0x6c(r26)
+/* 802DCBD0 002D8830 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCBD4 002D8834 41 82 00 10 */ beq lbl_802DCBE4
+/* 802DCBD8 002D8838 88 03 00 71 */ lbz r0, 0x71(r3)
+/* 802DCBDC 002D883C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCBE0 002D8840 40 82 FF 74 */ bne lbl_802DCB54
+lbl_802DCBE4:
+/* 802DCBE4 002D8844 7F 43 D3 78 */ mr r3, r26
+/* 802DCBE8 002D8848 48 00 04 F1 */ bl port_flow_control_user
+/* 802DCBEC 002D884C 7F 9C 1B 78 */ or r28, r28, r3
+lbl_802DCBF0:
+/* 802DCBF0 002D8850 80 1A 00 88 */ lwz r0, 0x88(r26)
+/* 802DCBF4 002D8854 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DCBF8 002D8858 7F 83 00 38 */ and r3, r28, r0
+/* 802DCBFC 002D885C 4B EE A5 75 */ bl _restgpr_26
+/* 802DCC00 002D8860 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DCC04 002D8864 7C 08 03 A6 */ mtlr r0
+/* 802DCC08 002D8868 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DCC0C 002D886C 4E 80 00 20 */ blr
+
+.global port_rfc_closed
+port_rfc_closed:
+/* 802DCC10 002D8870 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DCC14 002D8874 7C 08 02 A6 */ mflr r0
+/* 802DCC18 002D8878 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DCC1C 002D887C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DCC20 002D8880 7C 7F 1B 78 */ mr r31, r3
+/* 802DCC24 002D8884 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DCC28 002D8888 3B C0 00 00 */ li r30, 0
+/* 802DCC2C 002D888C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DCC30 002D8890 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DCC34 002D8894 7C 9C 23 78 */ mr r28, r4
+/* 802DCC38 002D8898 88 A3 00 02 */ lbz r5, 2(r3)
+/* 802DCC3C 002D889C 83 A3 00 6C */ lwz r29, 0x6c(r3)
+/* 802DCC40 002D88A0 28 05 00 01 */ cmplwi r5, 1
+/* 802DCC44 002D88A4 40 82 00 78 */ bne lbl_802DCCBC
+/* 802DCC48 002D88A8 88 03 00 0C */ lbz r0, 0xc(r3)
+/* 802DCC4C 002D88AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCC50 002D88B0 41 82 00 6C */ beq lbl_802DCCBC
+/* 802DCC54 002D88B4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCC58 002D88B8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCC5C 002D88BC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCC60 002D88C0 28 00 00 04 */ cmplwi r0, 4
+/* 802DCC64 002D88C4 41 80 00 18 */ blt lbl_802DCC7C
+/* 802DCC68 002D88C8 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DCC6C 002D88CC 3C 80 80 44 */ lis r4, lbl_80444534@ha
+/* 802DCC70 002D88D0 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DCC74 002D88D4 38 84 45 34 */ addi r4, r4, lbl_80444534@l
+/* 802DCC78 002D88D8 4B FE 02 99 */ bl LogMsg_0
+lbl_802DCC7C:
+/* 802DCC7C 002D88DC 7F E3 FB 78 */ mr r3, r31
+/* 802DCC80 002D88E0 48 00 4D 39 */ bl rfc_port_timer_stop
+/* 802DCC84 002D88E4 3B C0 00 00 */ li r30, 0
+/* 802DCC88 002D88E8 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DCC8C 002D88EC 9B DF 00 68 */ stb r30, 0x68(r31)
+/* 802DCC90 002D88F0 41 82 00 1C */ beq lbl_802DCCAC
+/* 802DCC94 002D88F4 88 1F 00 0D */ lbz r0, 0xd(r31)
+/* 802DCC98 002D88F8 7F A3 EB 78 */ mr r3, r29
+/* 802DCC9C 002D88FC 7C 9D 02 14 */ add r4, r29, r0
+/* 802DCCA0 002D8900 9B C4 00 24 */ stb r30, 0x24(r4)
+/* 802DCCA4 002D8904 48 00 4D 6D */ bl rfc_check_mcb_active
+/* 802DCCA8 002D8908 93 DF 00 6C */ stw r30, 0x6c(r31)
+lbl_802DCCAC:
+/* 802DCCAC 002D890C 88 1F 00 0D */ lbz r0, 0xd(r31)
+/* 802DCCB0 002D8910 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e
+/* 802DCCB4 002D8914 98 1F 00 0D */ stb r0, 0xd(r31)
+/* 802DCCB8 002D8918 48 00 00 CC */ b lbl_802DCD84
+lbl_802DCCBC:
+/* 802DCCBC 002D891C 28 05 00 03 */ cmplwi r5, 3
+/* 802DCCC0 002D8920 41 82 00 44 */ beq lbl_802DCD04
+/* 802DCCC4 002D8924 2C 05 00 00 */ cmpwi r5, 0
+/* 802DCCC8 002D8928 41 82 00 3C */ beq lbl_802DCD04
+/* 802DCCCC 002D892C 88 A3 00 0F */ lbz r5, 0xf(r3)
+/* 802DCCD0 002D8930 38 00 FF F4 */ li r0, -12
+/* 802DCCD4 002D8934 88 83 00 5F */ lbz r4, 0x5f(r3)
+/* 802DCCD8 002D8938 60 A6 00 10 */ ori r6, r5, 0x10
+/* 802DCCDC 002D893C 7C 85 00 38 */ and r5, r4, r0
+/* 802DCCE0 002D8940 98 C3 00 0F */ stb r6, 0xf(r3)
+/* 802DCCE4 002D8944 98 A3 00 5F */ stb r5, 0x5f(r3)
+/* 802DCCE8 002D8948 7F E3 FB 78 */ mr r3, r31
+/* 802DCCEC 002D894C 48 00 04 5D */ bl port_get_signal_changes
+/* 802DCCF0 002D8950 80 1F 00 88 */ lwz r0, 0x88(r31)
+/* 802DCCF4 002D8954 7C 7E 1B 78 */ mr r30, r3
+/* 802DCCF8 002D8958 54 00 04 21 */ rlwinm. r0, r0, 0, 0x10, 0x10
+/* 802DCCFC 002D895C 41 82 00 08 */ beq lbl_802DCD04
+/* 802DCD00 002D8960 60 7E 80 00 */ ori r30, r3, 0x8000
+lbl_802DCD04:
+/* 802DCD04 002D8964 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCD08 002D8968 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCD0C 002D896C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCD10 002D8970 28 00 00 04 */ cmplwi r0, 4
+/* 802DCD14 002D8974 41 80 00 20 */ blt lbl_802DCD34
+/* 802DCD18 002D8978 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DCD1C 002D897C 3C 80 80 44 */ lis r4, lbl_80444560@ha
+/* 802DCD20 002D8980 88 BF 00 02 */ lbz r5, 2(r31)
+/* 802DCD24 002D8984 7F C6 F3 78 */ mr r6, r30
+/* 802DCD28 002D8988 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DCD2C 002D898C 38 84 45 60 */ addi r4, r4, lbl_80444560@l
+/* 802DCD30 002D8990 4B FE 02 11 */ bl LogMsg_2
+lbl_802DCD34:
+/* 802DCD34 002D8994 81 9F 00 8C */ lwz r12, 0x8c(r31)
+/* 802DCD38 002D8998 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DCD3C 002D899C 41 82 00 1C */ beq lbl_802DCD58
+/* 802DCD40 002D89A0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DCD44 002D89A4 41 82 00 14 */ beq lbl_802DCD58
+/* 802DCD48 002D89A8 7F C3 F3 78 */ mr r3, r30
+/* 802DCD4C 002D89AC 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DCD50 002D89B0 7D 89 03 A6 */ mtctr r12
+/* 802DCD54 002D89B4 4E 80 04 21 */ bctrl
+lbl_802DCD58:
+/* 802DCD58 002D89B8 81 9F 00 90 */ lwz r12, 0x90(r31)
+/* 802DCD5C 002D89BC 2C 0C 00 00 */ cmpwi r12, 0
+/* 802DCD60 002D89C0 41 82 00 14 */ beq lbl_802DCD74
+/* 802DCD64 002D89C4 7F 83 E3 78 */ mr r3, r28
+/* 802DCD68 002D89C8 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DCD6C 002D89CC 7D 89 03 A6 */ mtctr r12
+/* 802DCD70 002D89D0 4E 80 04 21 */ bctrl
+lbl_802DCD74:
+/* 802DCD74 002D89D4 38 00 00 00 */ li r0, 0
+/* 802DCD78 002D89D8 7F E3 FB 78 */ mr r3, r31
+/* 802DCD7C 002D89DC 98 1F 00 68 */ stb r0, 0x68(r31)
+/* 802DCD80 002D89E0 48 00 01 A1 */ bl port_release_port
+lbl_802DCD84:
+/* 802DCD84 002D89E4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DCD88 002D89E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DCD8C 002D89EC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DCD90 002D89F0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DCD94 002D89F4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DCD98 002D89F8 7C 08 03 A6 */ mtlr r0
+/* 802DCD9C 002D89FC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DCDA0 002D8A00 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/port_utils.s b/asm/SDK/BTE/port_utils.s new file mode 100644 index 0000000..f108768 --- /dev/null +++ b/asm/SDK/BTE/port_utils.s @@ -0,0 +1,434 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global port_select_mtu
+port_select_mtu:
+/* 802DCDA4 002D8A04 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DCDA8 002D8A08 7C 08 02 A6 */ mflr r0
+/* 802DCDAC 002D8A0C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DCDB0 002D8A10 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DCDB4 002D8A14 3F E0 80 44 */ lis r31, lbl_80444590@ha
+/* 802DCDB8 002D8A18 3B FF 45 90 */ addi r31, r31, lbl_80444590@l
+/* 802DCDBC 002D8A1C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DCDC0 002D8A20 7C 7E 1B 78 */ mr r30, r3
+/* 802DCDC4 002D8A24 A0 A3 00 12 */ lhz r5, 0x12(r3)
+/* 802DCDC8 002D8A28 2C 05 00 00 */ cmpwi r5, 0
+/* 802DCDCC 002D8A2C 40 82 00 C0 */ bne lbl_802DCE8C
+/* 802DCDD0 002D8A30 38 63 00 06 */ addi r3, r3, 6
+/* 802DCDD4 002D8A34 4B FE 79 59 */ bl btm_get_max_packet_size
+/* 802DCDD8 002D8A38 54 65 04 3F */ clrlwi. r5, r3, 0x10
+/* 802DCDDC 002D8A3C 40 82 00 34 */ bne lbl_802DCE10
+/* 802DCDE0 002D8A40 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCDE4 002D8A44 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCDE8 002D8A48 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCDEC 002D8A4C 28 00 00 02 */ cmplwi r0, 2
+/* 802DCDF0 002D8A50 41 80 00 14 */ blt lbl_802DCE04
+/* 802DCDF4 002D8A54 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DCDF8 002D8A58 38 9F 00 00 */ addi r4, r31, 0
+/* 802DCDFC 002D8A5C 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DCE00 002D8A60 4B FE 01 11 */ bl LogMsg_0
+lbl_802DCE04:
+/* 802DCE04 002D8A64 38 00 00 7F */ li r0, 0x7f
+/* 802DCE08 002D8A68 B0 1E 00 12 */ sth r0, 0x12(r30)
+/* 802DCE0C 002D8A6C 48 00 00 A4 */ b lbl_802DCEB0
+lbl_802DCE10:
+/* 802DCE10 002D8A70 28 05 06 9F */ cmplwi r5, 0x69f
+/* 802DCE14 002D8A74 41 81 00 44 */ bgt lbl_802DCE58
+/* 802DCE18 002D8A78 38 00 06 9F */ li r0, 0x69f
+/* 802DCE1C 002D8A7C 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DCE20 002D8A80 7C 00 2B D6 */ divw r0, r0, r5
+/* 802DCE24 002D8A84 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DCE28 002D8A88 7C 60 19 D6 */ mullw r3, r0, r3
+/* 802DCE2C 002D8A8C 38 A3 FF F6 */ addi r5, r3, -10
+/* 802DCE30 002D8A90 B0 BE 00 12 */ sth r5, 0x12(r30)
+/* 802DCE34 002D8A94 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802DCE38 002D8A98 28 00 00 05 */ cmplwi r0, 5
+/* 802DCE3C 002D8A9C 41 80 00 74 */ blt lbl_802DCEB0
+/* 802DCE40 002D8AA0 3C 60 00 09 */ lis r3, 0x00090004@ha
+/* 802DCE44 002D8AA4 38 9F 00 20 */ addi r4, r31, 0x20
+/* 802DCE48 002D8AA8 38 63 00 04 */ addi r3, r3, 0x00090004@l
+/* 802DCE4C 002D8AAC 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802DCE50 002D8AB0 4B FE 00 D9 */ bl LogMsg_1
+/* 802DCE54 002D8AB4 48 00 00 5C */ b lbl_802DCEB0
+lbl_802DCE58:
+/* 802DCE58 002D8AB8 38 00 06 95 */ li r0, 0x695
+/* 802DCE5C 002D8ABC 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCE60 002D8AC0 B0 1E 00 12 */ sth r0, 0x12(r30)
+/* 802DCE64 002D8AC4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCE68 002D8AC8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCE6C 002D8ACC 28 00 00 05 */ cmplwi r0, 5
+/* 802DCE70 002D8AD0 41 80 00 40 */ blt lbl_802DCEB0
+/* 802DCE74 002D8AD4 3C 60 00 09 */ lis r3, 0x00090004@ha
+/* 802DCE78 002D8AD8 38 9F 00 58 */ addi r4, r31, 0x58
+/* 802DCE7C 002D8ADC 38 63 00 04 */ addi r3, r3, 0x00090004@l
+/* 802DCE80 002D8AE0 38 A0 06 95 */ li r5, 0x695
+/* 802DCE84 002D8AE4 4B FE 00 A5 */ bl LogMsg_1
+/* 802DCE88 002D8AE8 48 00 00 28 */ b lbl_802DCEB0
+lbl_802DCE8C:
+/* 802DCE8C 002D8AEC 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCE90 002D8AF0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCE94 002D8AF4 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCE98 002D8AF8 28 00 00 05 */ cmplwi r0, 5
+/* 802DCE9C 002D8AFC 41 80 00 14 */ blt lbl_802DCEB0
+/* 802DCEA0 002D8B00 3C 60 00 09 */ lis r3, 0x00090004@ha
+/* 802DCEA4 002D8B04 38 9F 00 90 */ addi r4, r31, 0x90
+/* 802DCEA8 002D8B08 38 63 00 04 */ addi r3, r3, 0x00090004@l
+/* 802DCEAC 002D8B0C 4B FE 00 7D */ bl LogMsg_1
+lbl_802DCEB0:
+/* 802DCEB0 002D8B10 A0 FE 00 12 */ lhz r7, 0x12(r30)
+/* 802DCEB4 002D8B14 38 60 1F 40 */ li r3, 0x1f40
+/* 802DCEB8 002D8B18 38 80 13 88 */ li r4, 0x1388
+/* 802DCEBC 002D8B1C 38 00 2E E0 */ li r0, 0x2ee0
+/* 802DCEC0 002D8B20 7C A3 3B D6 */ divw r5, r3, r7
+/* 802DCEC4 002D8B24 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCEC8 002D8B28 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCECC 002D8B2C 7C C4 3B D6 */ divw r6, r4, r7
+/* 802DCED0 002D8B30 B0 BE 00 9C */ sth r5, 0x9c(r30)
+/* 802DCED4 002D8B34 7C E0 3B D6 */ divw r7, r0, r7
+/* 802DCED8 002D8B38 B0 DE 00 9E */ sth r6, 0x9e(r30)
+/* 802DCEDC 002D8B3C B0 FE 00 A0 */ sth r7, 0xa0(r30)
+/* 802DCEE0 002D8B40 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCEE4 002D8B44 28 00 00 05 */ cmplwi r0, 5
+/* 802DCEE8 002D8B48 41 80 00 20 */ blt lbl_802DCF08
+/* 802DCEEC 002D8B4C 3C 60 00 09 */ lis r3, 0x00090004@ha
+/* 802DCEF0 002D8B50 38 9F 00 B8 */ addi r4, r31, 0xb8
+/* 802DCEF4 002D8B54 38 63 00 04 */ addi r3, r3, 0x00090004@l
+/* 802DCEF8 002D8B58 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802DCEFC 002D8B5C 54 C6 04 3E */ clrlwi r6, r6, 0x10
+/* 802DCF00 002D8B60 54 E7 04 3E */ clrlwi r7, r7, 0x10
+/* 802DCF04 002D8B64 4B FE 00 55 */ bl LogMsg_3
+lbl_802DCF08:
+/* 802DCF08 002D8B68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DCF0C 002D8B6C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DCF10 002D8B70 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DCF14 002D8B74 7C 08 03 A6 */ mtlr r0
+/* 802DCF18 002D8B78 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DCF1C 002D8B7C 4E 80 00 20 */ blr
+
+.global port_release_port
+port_release_port:
+/* 802DCF20 002D8B80 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DCF24 002D8B84 7C 08 02 A6 */ mflr r0
+/* 802DCF28 002D8B88 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DCF2C 002D8B8C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DCF30 002D8B90 7C 7F 1B 78 */ mr r31, r3
+/* 802DCF34 002D8B94 48 00 00 08 */ b lbl_802DCF3C
+lbl_802DCF38:
+/* 802DCF38 002D8B98 4B FD CD FD */ bl GKI_freebuf
+lbl_802DCF3C:
+/* 802DCF3C 002D8B9C 38 7F 00 30 */ addi r3, r31, 0x30
+/* 802DCF40 002D8BA0 4B FD D4 91 */ bl GKI_dequeue
+/* 802DCF44 002D8BA4 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCF48 002D8BA8 40 82 FF F0 */ bne lbl_802DCF38
+/* 802DCF4C 002D8BAC 38 00 00 00 */ li r0, 0
+/* 802DCF50 002D8BB0 90 1F 00 40 */ stw r0, 0x40(r31)
+/* 802DCF54 002D8BB4 48 00 00 08 */ b lbl_802DCF5C
+lbl_802DCF58:
+/* 802DCF58 002D8BB8 4B FD CD DD */ bl GKI_freebuf
+lbl_802DCF5C:
+/* 802DCF5C 002D8BBC 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802DCF60 002D8BC0 4B FD D4 71 */ bl GKI_dequeue
+/* 802DCF64 002D8BC4 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCF68 002D8BC8 40 82 FF F0 */ bne lbl_802DCF58
+/* 802DCF6C 002D8BCC 88 1F 00 68 */ lbz r0, 0x68(r31)
+/* 802DCF70 002D8BD0 38 60 00 00 */ li r3, 0
+/* 802DCF74 002D8BD4 90 7F 00 28 */ stw r3, 0x28(r31)
+/* 802DCF78 002D8BD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802DCF7C 002D8BDC 98 7F 00 02 */ stb r3, 2(r31)
+/* 802DCF80 002D8BE0 40 82 00 68 */ bne lbl_802DCFE8
+/* 802DCF84 002D8BE4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DCF88 002D8BE8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DCF8C 002D8BEC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DCF90 002D8BF0 28 00 00 05 */ cmplwi r0, 5
+/* 802DCF94 002D8BF4 41 80 00 18 */ blt lbl_802DCFAC
+/* 802DCF98 002D8BF8 3C 60 00 09 */ lis r3, 0x00090004@ha
+/* 802DCF9C 002D8BFC 3C 80 80 44 */ lis r4, lbl_80444690@ha
+/* 802DCFA0 002D8C00 38 63 00 04 */ addi r3, r3, 0x00090004@l
+/* 802DCFA4 002D8C04 38 84 46 90 */ addi r4, r4, lbl_80444690@l
+/* 802DCFA8 002D8C08 4B FD FF 69 */ bl LogMsg_0
+lbl_802DCFAC:
+/* 802DCFAC 002D8C0C 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DCFB0 002D8C10 2C 03 00 00 */ cmpwi r3, 0
+/* 802DCFB4 002D8C14 41 82 00 1C */ beq lbl_802DCFD0
+/* 802DCFB8 002D8C18 88 1F 00 0D */ lbz r0, 0xd(r31)
+/* 802DCFBC 002D8C1C 38 80 00 00 */ li r4, 0
+/* 802DCFC0 002D8C20 7C 63 02 14 */ add r3, r3, r0
+/* 802DCFC4 002D8C24 98 83 00 24 */ stb r4, 0x24(r3)
+/* 802DCFC8 002D8C28 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DCFCC 002D8C2C 48 00 4A 45 */ bl rfc_check_mcb_active
+lbl_802DCFD0:
+/* 802DCFD0 002D8C30 7F E3 FB 78 */ mr r3, r31
+/* 802DCFD4 002D8C34 48 00 49 E5 */ bl rfc_port_timer_stop
+/* 802DCFD8 002D8C38 7F E3 FB 78 */ mr r3, r31
+/* 802DCFDC 002D8C3C 38 80 00 00 */ li r4, 0
+/* 802DCFE0 002D8C40 38 A0 00 A4 */ li r5, 0xa4
+/* 802DCFE4 002D8C44 4B D2 71 21 */ bl memset
+lbl_802DCFE8:
+/* 802DCFE8 002D8C48 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DCFEC 002D8C4C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DCFF0 002D8C50 7C 08 03 A6 */ mtlr r0
+/* 802DCFF4 002D8C54 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DCFF8 002D8C58 4E 80 00 20 */ blr
+
+.global port_find_mcb_dlci_port
+port_find_mcb_dlci_port:
+/* 802DCFFC 002D8C5C 2C 03 00 00 */ cmpwi r3, 0
+/* 802DD000 002D8C60 40 82 00 0C */ bne lbl_802DD00C
+/* 802DD004 002D8C64 38 60 00 00 */ li r3, 0
+/* 802DD008 002D8C68 4E 80 00 20 */ blr
+lbl_802DD00C:
+/* 802DD00C 002D8C6C 28 04 00 3D */ cmplwi r4, 0x3d
+/* 802DD010 002D8C70 40 81 00 0C */ ble lbl_802DD01C
+/* 802DD014 002D8C74 38 60 00 00 */ li r3, 0
+/* 802DD018 002D8C78 4E 80 00 20 */ blr
+lbl_802DD01C:
+/* 802DD01C 002D8C7C 7C 63 22 14 */ add r3, r3, r4
+/* 802DD020 002D8C80 88 63 00 24 */ lbz r3, 0x24(r3)
+/* 802DD024 002D8C84 2C 03 00 00 */ cmpwi r3, 0
+/* 802DD028 002D8C88 40 82 00 0C */ bne lbl_802DD034
+/* 802DD02C 002D8C8C 38 60 00 00 */ li r3, 0
+/* 802DD030 002D8C90 4E 80 00 20 */ blr
+lbl_802DD034:
+/* 802DD034 002D8C94 38 03 FF FF */ addi r0, r3, -1
+/* 802DD038 002D8C98 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD03C 002D8C9C 1C 00 00 A4 */ mulli r0, r0, 0xa4
+/* 802DD040 002D8CA0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD044 002D8CA4 7C 63 02 14 */ add r3, r3, r0
+/* 802DD048 002D8CA8 38 63 00 68 */ addi r3, r3, 0x68
+/* 802DD04C 002D8CAC 4E 80 00 20 */ blr
+
+.global port_find_dlci_port
+port_find_dlci_port:
+/* 802DD050 002D8CB0 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DD054 002D8CB4 38 00 00 05 */ li r0, 5
+/* 802DD058 002D8CB8 54 66 07 FE */ clrlwi r6, r3, 0x1f
+/* 802DD05C 002D8CBC 38 E3 FF FF */ addi r7, r3, -1
+/* 802DD060 002D8CC0 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DD064 002D8CC4 39 00 00 00 */ li r8, 0
+/* 802DD068 002D8CC8 7C 09 03 A6 */ mtctr r0
+lbl_802DD06C:
+/* 802DD06C 002D8CCC 55 00 04 3E */ clrlwi r0, r8, 0x10
+/* 802DD070 002D8CD0 1C 00 00 A4 */ mulli r0, r0, 0xa4
+/* 802DD074 002D8CD4 7C 85 02 14 */ add r4, r5, r0
+/* 802DD078 002D8CD8 88 04 00 69 */ lbz r0, 0x69(r4)
+/* 802DD07C 002D8CDC 39 24 00 68 */ addi r9, r4, 0x68
+/* 802DD080 002D8CE0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD084 002D8CE4 41 82 00 44 */ beq lbl_802DD0C8
+/* 802DD088 002D8CE8 80 09 00 6C */ lwz r0, 0x6c(r9)
+/* 802DD08C 002D8CEC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD090 002D8CF0 40 82 00 38 */ bne lbl_802DD0C8
+/* 802DD094 002D8CF4 88 89 00 0D */ lbz r4, 0xd(r9)
+/* 802DD098 002D8CF8 7C 04 18 40 */ cmplw r4, r3
+/* 802DD09C 002D8CFC 40 82 00 0C */ bne lbl_802DD0A8
+/* 802DD0A0 002D8D00 7D 23 4B 78 */ mr r3, r9
+/* 802DD0A4 002D8D04 4E 80 00 20 */ blr
+lbl_802DD0A8:
+/* 802DD0A8 002D8D08 2C 06 00 00 */ cmpwi r6, 0
+/* 802DD0AC 002D8D0C 41 82 00 1C */ beq lbl_802DD0C8
+/* 802DD0B0 002D8D10 7C 04 38 00 */ cmpw r4, r7
+/* 802DD0B4 002D8D14 40 82 00 14 */ bne lbl_802DD0C8
+/* 802DD0B8 002D8D18 38 04 00 01 */ addi r0, r4, 1
+/* 802DD0BC 002D8D1C 7D 23 4B 78 */ mr r3, r9
+/* 802DD0C0 002D8D20 98 09 00 0D */ stb r0, 0xd(r9)
+/* 802DD0C4 002D8D24 4E 80 00 20 */ blr
+lbl_802DD0C8:
+/* 802DD0C8 002D8D28 39 08 00 01 */ addi r8, r8, 1
+/* 802DD0CC 002D8D2C 42 00 FF A0 */ bdnz lbl_802DD06C
+/* 802DD0D0 002D8D30 38 60 00 00 */ li r3, 0
+/* 802DD0D4 002D8D34 4E 80 00 20 */ blr
+
+.global port_flow_control_user
+port_flow_control_user:
+/* 802DD0D8 002D8D38 88 03 00 24 */ lbz r0, 0x24(r3)
+/* 802DD0DC 002D8D3C 38 A0 00 00 */ li r5, 0
+/* 802DD0E0 002D8D40 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD0E4 002D8D44 40 82 00 34 */ bne lbl_802DD118
+/* 802DD0E8 002D8D48 80 83 00 6C */ lwz r4, 0x6c(r3)
+/* 802DD0EC 002D8D4C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD0F0 002D8D50 41 82 00 28 */ beq lbl_802DD118
+/* 802DD0F4 002D8D54 88 04 00 71 */ lbz r0, 0x71(r4)
+/* 802DD0F8 002D8D58 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD0FC 002D8D5C 41 82 00 1C */ beq lbl_802DD118
+/* 802DD100 002D8D60 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802DD104 002D8D64 28 00 1F 40 */ cmplwi r0, 0x1f40
+/* 802DD108 002D8D68 41 81 00 10 */ bgt lbl_802DD118
+/* 802DD10C 002D8D6C A0 03 00 20 */ lhz r0, 0x20(r3)
+/* 802DD110 002D8D70 28 00 00 10 */ cmplwi r0, 0x10
+/* 802DD114 002D8D74 40 81 00 08 */ ble lbl_802DD11C
+lbl_802DD118:
+/* 802DD118 002D8D78 38 A0 00 01 */ li r5, 1
+lbl_802DD11C:
+/* 802DD11C 002D8D7C 88 03 00 25 */ lbz r0, 0x25(r3)
+/* 802DD120 002D8D80 7C 00 28 40 */ cmplw r0, r5
+/* 802DD124 002D8D84 40 82 00 0C */ bne lbl_802DD130
+/* 802DD128 002D8D88 38 60 00 00 */ li r3, 0
+/* 802DD12C 002D8D8C 4E 80 00 20 */ blr
+lbl_802DD130:
+/* 802DD130 002D8D90 2C 05 00 00 */ cmpwi r5, 0
+/* 802DD134 002D8D94 98 A3 00 25 */ stb r5, 0x25(r3)
+/* 802DD138 002D8D98 3C 60 00 03 */ lis r3, 3
+/* 802DD13C 002D8D9C 4D 82 00 20 */ beqlr
+/* 802DD140 002D8DA0 3C 60 00 01 */ lis r3, 1
+/* 802DD144 002D8DA4 4E 80 00 20 */ blr
+
+.global port_get_signal_changes
+port_get_signal_changes:
+/* 802DD148 002D8DA8 7C A4 22 78 */ xor r4, r5, r4
+/* 802DD14C 002D8DAC 38 C0 00 00 */ li r6, 0
+/* 802DD150 002D8DB0 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802DD154 002D8DB4 41 82 00 14 */ beq lbl_802DD168
+/* 802DD158 002D8DB8 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
+/* 802DD15C 002D8DBC 60 C6 00 10 */ ori r6, r6, 0x10
+/* 802DD160 002D8DC0 41 82 00 08 */ beq lbl_802DD168
+/* 802DD164 002D8DC4 60 C6 08 00 */ ori r6, r6, 0x800
+lbl_802DD168:
+/* 802DD168 002D8DC8 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
+/* 802DD16C 002D8DCC 41 82 00 14 */ beq lbl_802DD180
+/* 802DD170 002D8DD0 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e
+/* 802DD174 002D8DD4 60 C6 00 08 */ ori r6, r6, 8
+/* 802DD178 002D8DD8 41 82 00 08 */ beq lbl_802DD180
+/* 802DD17C 002D8DDC 60 C6 04 00 */ ori r6, r6, 0x400
+lbl_802DD180:
+/* 802DD180 002D8DE0 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
+/* 802DD184 002D8DE4 41 82 00 08 */ beq lbl_802DD18C
+/* 802DD188 002D8DE8 60 C6 01 00 */ ori r6, r6, 0x100
+lbl_802DD18C:
+/* 802DD18C 002D8DEC 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
+/* 802DD190 002D8DF0 41 82 00 14 */ beq lbl_802DD1A4
+/* 802DD194 002D8DF4 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c
+/* 802DD198 002D8DF8 60 C6 00 20 */ ori r6, r6, 0x20
+/* 802DD19C 002D8DFC 41 82 00 08 */ beq lbl_802DD1A4
+/* 802DD1A0 002D8E00 60 C6 10 00 */ ori r6, r6, 0x1000
+lbl_802DD1A4:
+/* 802DD1A4 002D8E04 80 03 00 88 */ lwz r0, 0x88(r3)
+/* 802DD1A8 002D8E08 7C 03 30 38 */ and r3, r0, r6
+/* 802DD1AC 002D8E0C 4E 80 00 20 */ blr
+
+.global port_flow_control_peer
+port_flow_control_peer:
+/* 802DD1B0 002D8E10 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DD1B4 002D8E14 7C 08 02 A6 */ mflr r0
+/* 802DD1B8 002D8E18 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DD1BC 002D8E1C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DD1C0 002D8E20 7C 7F 1B 78 */ mr r31, r3
+/* 802DD1C4 002D8E24 80 C3 00 6C */ lwz r6, 0x6c(r3)
+/* 802DD1C8 002D8E28 2C 06 00 00 */ cmpwi r6, 0
+/* 802DD1CC 002D8E2C 41 82 01 9C */ beq lbl_802DD368
+/* 802DD1D0 002D8E30 88 06 00 72 */ lbz r0, 0x72(r6)
+/* 802DD1D4 002D8E34 28 00 00 02 */ cmplwi r0, 2
+/* 802DD1D8 002D8E38 40 82 00 B0 */ bne lbl_802DD288
+/* 802DD1DC 002D8E3C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD1E0 002D8E40 41 82 00 74 */ beq lbl_802DD254
+/* 802DD1E4 002D8E44 A0 03 00 9A */ lhz r0, 0x9a(r3)
+/* 802DD1E8 002D8E48 7C 05 00 40 */ cmplw r5, r0
+/* 802DD1EC 002D8E4C 40 81 00 10 */ ble lbl_802DD1FC
+/* 802DD1F0 002D8E50 38 00 00 00 */ li r0, 0
+/* 802DD1F4 002D8E54 B0 03 00 9A */ sth r0, 0x9a(r3)
+/* 802DD1F8 002D8E58 48 00 00 0C */ b lbl_802DD204
+lbl_802DD1FC:
+/* 802DD1FC 002D8E5C 7C 05 00 50 */ subf r0, r5, r0
+/* 802DD200 002D8E60 B0 03 00 9A */ sth r0, 0x9a(r3)
+lbl_802DD204:
+/* 802DD204 002D8E64 A0 83 00 9A */ lhz r4, 0x9a(r3)
+/* 802DD208 002D8E68 A0 03 00 9E */ lhz r0, 0x9e(r3)
+/* 802DD20C 002D8E6C 7C 04 00 40 */ cmplw r4, r0
+/* 802DD210 002D8E70 41 81 01 58 */ bgt lbl_802DD368
+/* 802DD214 002D8E74 88 03 00 3D */ lbz r0, 0x3d(r3)
+/* 802DD218 002D8E78 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD21C 002D8E7C 40 82 01 4C */ bne lbl_802DD368
+/* 802DD220 002D8E80 A0 03 00 9C */ lhz r0, 0x9c(r3)
+/* 802DD224 002D8E84 7C 00 20 40 */ cmplw r0, r4
+/* 802DD228 002D8E88 40 81 01 40 */ ble lbl_802DD368
+/* 802DD22C 002D8E8C 7C 04 00 50 */ subf r0, r4, r0
+/* 802DD230 002D8E90 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DD234 002D8E94 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DD238 002D8E98 54 05 06 3E */ clrlwi r5, r0, 0x18
+/* 802DD23C 002D8E9C 48 00 37 75 */ bl rfc_send_credit
+/* 802DD240 002D8EA0 A0 7F 00 9C */ lhz r3, 0x9c(r31)
+/* 802DD244 002D8EA4 38 00 00 00 */ li r0, 0
+/* 802DD248 002D8EA8 98 1F 00 3C */ stb r0, 0x3c(r31)
+/* 802DD24C 002D8EAC B0 7F 00 9A */ sth r3, 0x9a(r31)
+/* 802DD250 002D8EB0 48 00 01 18 */ b lbl_802DD368
+lbl_802DD254:
+/* 802DD254 002D8EB4 80 03 00 94 */ lwz r0, 0x94(r3)
+/* 802DD258 002D8EB8 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD25C 002D8EBC 41 82 00 10 */ beq lbl_802DD26C
+/* 802DD260 002D8EC0 38 00 00 01 */ li r0, 1
+/* 802DD264 002D8EC4 98 03 00 3C */ stb r0, 0x3c(r3)
+/* 802DD268 002D8EC8 48 00 01 00 */ b lbl_802DD368
+lbl_802DD26C:
+/* 802DD26C 002D8ECC A0 83 00 38 */ lhz r4, 0x38(r3)
+/* 802DD270 002D8ED0 A0 03 00 9C */ lhz r0, 0x9c(r3)
+/* 802DD274 002D8ED4 7C 04 00 40 */ cmplw r4, r0
+/* 802DD278 002D8ED8 41 80 00 F0 */ blt lbl_802DD368
+/* 802DD27C 002D8EDC 38 00 00 01 */ li r0, 1
+/* 802DD280 002D8EE0 98 03 00 3C */ stb r0, 0x3c(r3)
+/* 802DD284 002D8EE4 48 00 00 E4 */ b lbl_802DD368
+lbl_802DD288:
+/* 802DD288 002D8EE8 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD28C 002D8EEC 41 82 00 50 */ beq lbl_802DD2DC
+/* 802DD290 002D8EF0 88 03 00 3C */ lbz r0, 0x3c(r3)
+/* 802DD294 002D8EF4 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD298 002D8EF8 41 82 00 D0 */ beq lbl_802DD368
+/* 802DD29C 002D8EFC 80 03 00 40 */ lwz r0, 0x40(r3)
+/* 802DD2A0 002D8F00 28 00 13 88 */ cmplwi r0, 0x1388
+/* 802DD2A4 002D8F04 40 80 00 C4 */ bge lbl_802DD368
+/* 802DD2A8 002D8F08 A0 03 00 38 */ lhz r0, 0x38(r3)
+/* 802DD2AC 002D8F0C 28 00 00 08 */ cmplwi r0, 8
+/* 802DD2B0 002D8F10 40 80 00 B8 */ bge lbl_802DD368
+/* 802DD2B4 002D8F14 88 03 00 3D */ lbz r0, 0x3d(r3)
+/* 802DD2B8 002D8F18 38 80 00 00 */ li r4, 0
+/* 802DD2BC 002D8F1C 98 83 00 3C */ stb r4, 0x3c(r3)
+/* 802DD2C0 002D8F20 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD2C4 002D8F24 40 82 00 A4 */ bne lbl_802DD368
+/* 802DD2C8 002D8F28 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DD2CC 002D8F2C 7C C3 33 78 */ mr r3, r6
+/* 802DD2D0 002D8F30 38 A0 00 01 */ li r5, 1
+/* 802DD2D4 002D8F34 48 00 2B 4D */ bl RFCOMM_FlowReq
+/* 802DD2D8 002D8F38 48 00 00 90 */ b lbl_802DD368
+lbl_802DD2DC:
+/* 802DD2DC 002D8F3C 80 03 00 94 */ lwz r0, 0x94(r3)
+/* 802DD2E0 002D8F40 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD2E4 002D8F44 41 82 00 20 */ beq lbl_802DD304
+/* 802DD2E8 002D8F48 38 00 00 01 */ li r0, 1
+/* 802DD2EC 002D8F4C 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DD2F0 002D8F50 98 03 00 3C */ stb r0, 0x3c(r3)
+/* 802DD2F4 002D8F54 7C C3 33 78 */ mr r3, r6
+/* 802DD2F8 002D8F58 38 A0 00 00 */ li r5, 0
+/* 802DD2FC 002D8F5C 48 00 2B 25 */ bl RFCOMM_FlowReq
+/* 802DD300 002D8F60 48 00 00 68 */ b lbl_802DD368
+lbl_802DD304:
+/* 802DD304 002D8F64 80 03 00 40 */ lwz r0, 0x40(r3)
+/* 802DD308 002D8F68 28 00 1F 40 */ cmplwi r0, 0x1f40
+/* 802DD30C 002D8F6C 41 81 00 10 */ bgt lbl_802DD31C
+/* 802DD310 002D8F70 A0 03 00 38 */ lhz r0, 0x38(r3)
+/* 802DD314 002D8F74 28 00 00 10 */ cmplwi r0, 0x10
+/* 802DD318 002D8F78 40 81 00 50 */ ble lbl_802DD368
+lbl_802DD31C:
+/* 802DD31C 002D8F7C 88 03 00 3C */ lbz r0, 0x3c(r3)
+/* 802DD320 002D8F80 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD324 002D8F84 40 82 00 44 */ bne lbl_802DD368
+/* 802DD328 002D8F88 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD32C 002D8F8C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD330 002D8F90 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD334 002D8F94 28 00 00 04 */ cmplwi r0, 4
+/* 802DD338 002D8F98 41 80 00 18 */ blt lbl_802DD350
+/* 802DD33C 002D8F9C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DD340 002D8FA0 3C 80 80 44 */ lis r4, lbl_804446A8@ha
+/* 802DD344 002D8FA4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DD348 002D8FA8 38 84 46 A8 */ addi r4, r4, lbl_804446A8@l
+/* 802DD34C 002D8FAC 4B FD FB C5 */ bl LogMsg_0
+lbl_802DD350:
+/* 802DD350 002D8FB0 38 00 00 01 */ li r0, 1
+/* 802DD354 002D8FB4 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DD358 002D8FB8 98 1F 00 3C */ stb r0, 0x3c(r31)
+/* 802DD35C 002D8FBC 38 A0 00 00 */ li r5, 0
+/* 802DD360 002D8FC0 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DD364 002D8FC4 48 00 2A BD */ bl RFCOMM_FlowReq
+lbl_802DD368:
+/* 802DD368 002D8FC8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DD36C 002D8FCC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DD370 002D8FD0 7C 08 03 A6 */ mtlr r0
+/* 802DD374 002D8FD4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DD378 002D8FD8 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/rfc_l2cap_if.s b/asm/SDK/BTE/rfc_l2cap_if.s new file mode 100644 index 0000000..7b768b7 --- /dev/null +++ b/asm/SDK/BTE/rfc_l2cap_if.s @@ -0,0 +1,668 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global rfcomm_l2cap_if_init
+rfcomm_l2cap_if_init:
+/* 802DD37C 002D8FDC 3C 60 80 2E */ lis r3, RFCOMM_ConnectInd@ha
+/* 802DD380 002D8FE0 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DD384 002D8FE4 38 63 D3 F8 */ addi r3, r3, RFCOMM_ConnectInd@l
+/* 802DD388 002D8FE8 3D 60 80 2E */ lis r11, RFCOMM_ConnectCnf@ha
+/* 802DD38C 002D8FEC 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DD390 002D8FF0 3D 40 80 2E */ lis r10, RFCOMM_ConfigInd@ha
+/* 802DD394 002D8FF4 3D 20 80 2E */ lis r9, RFCOMM_ConfigCnf@ha
+/* 802DD398 002D8FF8 3D 00 80 2E */ lis r8, RFCOMM_DisconnectInd@ha
+/* 802DD39C 002D8FFC 3C E0 80 2E */ lis r7, RFCOMM_QoSViolationInd@ha
+/* 802DD3A0 002D9000 3C C0 80 2E */ lis r6, RFCOMM_BufDataInd@ha
+/* 802DD3A4 002D9004 3C A0 80 2E */ lis r5, RFCOMM_CongestionStatusInd@ha
+/* 802DD3A8 002D9008 94 64 00 14 */ stwu r3, 0x14(r4)
+/* 802DD3AC 002D900C 38 00 00 00 */ li r0, 0
+/* 802DD3B0 002D9010 39 6B D4 84 */ addi r11, r11, RFCOMM_ConnectCnf@l
+/* 802DD3B4 002D9014 39 4A D5 88 */ addi r10, r10, RFCOMM_ConfigInd@l
+/* 802DD3B8 002D9018 39 29 D6 90 */ addi r9, r9, RFCOMM_ConfigCnf@l
+/* 802DD3BC 002D901C 39 08 D7 9C */ addi r8, r8, RFCOMM_DisconnectInd@l
+/* 802DD3C0 002D9020 38 E7 D7 98 */ addi r7, r7, RFCOMM_QoSViolationInd@l
+/* 802DD3C4 002D9024 38 C6 D8 C0 */ addi r6, r6, RFCOMM_BufDataInd@l
+/* 802DD3C8 002D9028 38 A5 DB 60 */ addi r5, r5, RFCOMM_CongestionStatusInd@l
+/* 802DD3CC 002D902C 91 64 00 04 */ stw r11, 4(r4)
+/* 802DD3D0 002D9030 38 60 00 03 */ li r3, 3
+/* 802DD3D4 002D9034 90 04 00 08 */ stw r0, 8(r4)
+/* 802DD3D8 002D9038 91 44 00 0C */ stw r10, 0xc(r4)
+/* 802DD3DC 002D903C 91 24 00 10 */ stw r9, 0x10(r4)
+/* 802DD3E0 002D9040 91 04 00 14 */ stw r8, 0x14(r4)
+/* 802DD3E4 002D9044 90 04 00 18 */ stw r0, 0x18(r4)
+/* 802DD3E8 002D9048 90 E4 00 1C */ stw r7, 0x1c(r4)
+/* 802DD3EC 002D904C 90 C4 00 20 */ stw r6, 0x20(r4)
+/* 802DD3F0 002D9050 90 A4 00 24 */ stw r5, 0x24(r4)
+/* 802DD3F4 002D9054 4B FF 84 3C */ b L2CA_Register
+
+RFCOMM_ConnectInd:
+/* 802DD3F8 002D9058 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DD3FC 002D905C 7C 08 02 A6 */ mflr r0
+/* 802DD400 002D9060 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DD404 002D9064 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DD408 002D9068 7C 9F 23 78 */ mr r31, r4
+/* 802DD40C 002D906C 38 80 00 00 */ li r4, 0
+/* 802DD410 002D9070 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DD414 002D9074 7C 7E 1B 78 */ mr r30, r3
+/* 802DD418 002D9078 98 C1 00 08 */ stb r6, 8(r1)
+/* 802DD41C 002D907C 48 00 42 71 */ bl rfc_alloc_multiplexer_channel
+/* 802DD420 002D9080 38 1F FF C0 */ addi r0, r31, -64
+/* 802DD424 002D9084 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DD428 002D9088 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DD42C 002D908C 2C 03 00 00 */ cmpwi r3, 0
+/* 802DD430 002D9090 54 00 10 3A */ slwi r0, r0, 2
+/* 802DD434 002D9094 7C 84 02 14 */ add r4, r4, r0
+/* 802DD438 002D9098 90 64 00 3C */ stw r3, 0x3c(r4)
+/* 802DD43C 002D909C 40 82 00 20 */ bne lbl_802DD45C
+/* 802DD440 002D90A0 88 81 00 08 */ lbz r4, 8(r1)
+/* 802DD444 002D90A4 7F C3 F3 78 */ mr r3, r30
+/* 802DD448 002D90A8 7F E5 FB 78 */ mr r5, r31
+/* 802DD44C 002D90AC 38 C0 00 04 */ li r6, 4
+/* 802DD450 002D90B0 38 E0 00 00 */ li r7, 0
+/* 802DD454 002D90B4 4B FF 88 3D */ bl L2CA_ConnectRsp
+/* 802DD458 002D90B8 48 00 00 14 */ b lbl_802DD46C
+lbl_802DD45C:
+/* 802DD45C 002D90BC B3 E3 00 68 */ sth r31, 0x68(r3)
+/* 802DD460 002D90C0 38 A1 00 08 */ addi r5, r1, 8
+/* 802DD464 002D90C4 38 80 00 0A */ li r4, 0xa
+/* 802DD468 002D90C8 48 00 08 49 */ bl rfc_mx_sm_execute
+lbl_802DD46C:
+/* 802DD46C 002D90CC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DD470 002D90D0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DD474 002D90D4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DD478 002D90D8 7C 08 03 A6 */ mtlr r0
+/* 802DD47C 002D90DC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DD480 002D90E0 4E 80 00 20 */ blr
+
+RFCOMM_ConnectCnf:
+/* 802DD484 002D90E4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DD488 002D90E8 7C 08 02 A6 */ mflr r0
+/* 802DD48C 002D90EC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DD490 002D90F0 38 03 FF C0 */ addi r0, r3, -64
+/* 802DD494 002D90F4 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802DD498 002D90F8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DD49C 002D90FC 3F E0 80 44 */ lis r31, lbl_804446D8@ha
+/* 802DD4A0 002D9100 3B FF 46 D8 */ addi r31, r31, lbl_804446D8@l
+/* 802DD4A4 002D9104 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DD4A8 002D9108 7C 7E 1B 78 */ mr r30, r3
+/* 802DD4AC 002D910C B0 81 00 08 */ sth r4, 8(r1)
+/* 802DD4B0 002D9110 41 80 00 30 */ blt lbl_802DD4E0
+/* 802DD4B4 002D9114 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD4B8 002D9118 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD4BC 002D911C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD4C0 002D9120 28 00 00 01 */ cmplwi r0, 1
+/* 802DD4C4 002D9124 41 80 00 14 */ blt lbl_802DD4D8
+/* 802DD4C8 002D9128 7F C5 F3 78 */ mr r5, r30
+/* 802DD4CC 002D912C 38 9F 00 00 */ addi r4, r31, 0
+/* 802DD4D0 002D9130 3C 60 00 09 */ lis r3, 9
+/* 802DD4D4 002D9134 4B FD FA 55 */ bl LogMsg_1
+lbl_802DD4D8:
+/* 802DD4D8 002D9138 38 80 00 00 */ li r4, 0
+/* 802DD4DC 002D913C 48 00 00 50 */ b lbl_802DD52C
+lbl_802DD4E0:
+/* 802DD4E0 002D9140 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DD4E4 002D9144 54 00 10 3A */ slwi r0, r0, 2
+/* 802DD4E8 002D9148 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DD4EC 002D914C 7C 85 02 14 */ add r4, r5, r0
+/* 802DD4F0 002D9150 80 84 00 3C */ lwz r4, 0x3c(r4)
+/* 802DD4F4 002D9154 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD4F8 002D9158 41 82 00 34 */ beq lbl_802DD52C
+/* 802DD4FC 002D915C A0 C4 00 68 */ lhz r6, 0x68(r4)
+/* 802DD500 002D9160 7C 06 18 40 */ cmplw r6, r3
+/* 802DD504 002D9164 41 82 00 28 */ beq lbl_802DD52C
+/* 802DD508 002D9168 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DD50C 002D916C 28 00 00 02 */ cmplwi r0, 2
+/* 802DD510 002D9170 41 80 00 18 */ blt lbl_802DD528
+/* 802DD514 002D9174 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD518 002D9178 7F C5 F3 78 */ mr r5, r30
+/* 802DD51C 002D917C 38 9F 00 1C */ addi r4, r31, 0x1c
+/* 802DD520 002D9180 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD524 002D9184 4B FD FA 1D */ bl LogMsg_2
+lbl_802DD528:
+/* 802DD528 002D9188 38 80 00 00 */ li r4, 0
+lbl_802DD52C:
+/* 802DD52C 002D918C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD530 002D9190 40 82 00 2C */ bne lbl_802DD55C
+/* 802DD534 002D9194 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD538 002D9198 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD53C 002D919C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD540 002D91A0 28 00 00 01 */ cmplwi r0, 1
+/* 802DD544 002D91A4 41 80 00 2C */ blt lbl_802DD570
+/* 802DD548 002D91A8 7F C5 F3 78 */ mr r5, r30
+/* 802DD54C 002D91AC 38 9F 00 54 */ addi r4, r31, 0x54
+/* 802DD550 002D91B0 3C 60 00 09 */ lis r3, 9
+/* 802DD554 002D91B4 4B FD F9 D5 */ bl LogMsg_1
+/* 802DD558 002D91B8 48 00 00 18 */ b lbl_802DD570
+lbl_802DD55C:
+/* 802DD55C 002D91BC B3 C4 00 68 */ sth r30, 0x68(r4)
+/* 802DD560 002D91C0 7C 83 23 78 */ mr r3, r4
+/* 802DD564 002D91C4 38 A1 00 08 */ addi r5, r1, 8
+/* 802DD568 002D91C8 38 80 00 09 */ li r4, 9
+/* 802DD56C 002D91CC 48 00 07 45 */ bl rfc_mx_sm_execute
+lbl_802DD570:
+/* 802DD570 002D91D0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DD574 002D91D4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DD578 002D91D8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DD57C 002D91DC 7C 08 03 A6 */ mtlr r0
+/* 802DD580 002D91E0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DD584 002D91E4 4E 80 00 20 */ blr
+
+RFCOMM_ConfigInd:
+/* 802DD588 002D91E8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DD58C 002D91EC 7C 08 02 A6 */ mflr r0
+/* 802DD590 002D91F0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DD594 002D91F4 38 03 FF C0 */ addi r0, r3, -64
+/* 802DD598 002D91F8 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802DD59C 002D91FC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DD5A0 002D9200 3F E0 80 44 */ lis r31, lbl_804446D8@ha
+/* 802DD5A4 002D9204 3B FF 46 D8 */ addi r31, r31, lbl_804446D8@l
+/* 802DD5A8 002D9208 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DD5AC 002D920C 7C 9E 23 78 */ mr r30, r4
+/* 802DD5B0 002D9210 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DD5B4 002D9214 7C 7D 1B 78 */ mr r29, r3
+/* 802DD5B8 002D9218 41 80 00 30 */ blt lbl_802DD5E8
+/* 802DD5BC 002D921C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD5C0 002D9220 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD5C4 002D9224 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD5C8 002D9228 28 00 00 01 */ cmplwi r0, 1
+/* 802DD5CC 002D922C 41 80 00 14 */ blt lbl_802DD5E0
+/* 802DD5D0 002D9230 7F A5 EB 78 */ mr r5, r29
+/* 802DD5D4 002D9234 38 9F 00 00 */ addi r4, r31, 0
+/* 802DD5D8 002D9238 3C 60 00 09 */ lis r3, 9
+/* 802DD5DC 002D923C 4B FD F9 4D */ bl LogMsg_1
+lbl_802DD5E0:
+/* 802DD5E0 002D9240 38 80 00 00 */ li r4, 0
+/* 802DD5E4 002D9244 48 00 00 50 */ b lbl_802DD634
+lbl_802DD5E8:
+/* 802DD5E8 002D9248 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DD5EC 002D924C 54 00 10 3A */ slwi r0, r0, 2
+/* 802DD5F0 002D9250 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DD5F4 002D9254 7C 85 02 14 */ add r4, r5, r0
+/* 802DD5F8 002D9258 80 84 00 3C */ lwz r4, 0x3c(r4)
+/* 802DD5FC 002D925C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD600 002D9260 41 82 00 34 */ beq lbl_802DD634
+/* 802DD604 002D9264 A0 C4 00 68 */ lhz r6, 0x68(r4)
+/* 802DD608 002D9268 7C 06 18 40 */ cmplw r6, r3
+/* 802DD60C 002D926C 41 82 00 28 */ beq lbl_802DD634
+/* 802DD610 002D9270 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DD614 002D9274 28 00 00 02 */ cmplwi r0, 2
+/* 802DD618 002D9278 41 80 00 18 */ blt lbl_802DD630
+/* 802DD61C 002D927C 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD620 002D9280 7F A5 EB 78 */ mr r5, r29
+/* 802DD624 002D9284 38 9F 00 1C */ addi r4, r31, 0x1c
+/* 802DD628 002D9288 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD62C 002D928C 4B FD F9 15 */ bl LogMsg_2
+lbl_802DD630:
+/* 802DD630 002D9290 38 80 00 00 */ li r4, 0
+lbl_802DD634:
+/* 802DD634 002D9294 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD638 002D9298 40 82 00 2C */ bne lbl_802DD664
+/* 802DD63C 002D929C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD640 002D92A0 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD644 002D92A4 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD648 002D92A8 28 00 00 01 */ cmplwi r0, 1
+/* 802DD64C 002D92AC 41 80 00 28 */ blt lbl_802DD674
+/* 802DD650 002D92B0 7F A5 EB 78 */ mr r5, r29
+/* 802DD654 002D92B4 38 9F 00 70 */ addi r4, r31, 0x70
+/* 802DD658 002D92B8 3C 60 00 09 */ lis r3, 9
+/* 802DD65C 002D92BC 4B FD F8 CD */ bl LogMsg_1
+/* 802DD660 002D92C0 48 00 00 14 */ b lbl_802DD674
+lbl_802DD664:
+/* 802DD664 002D92C4 7C 83 23 78 */ mr r3, r4
+/* 802DD668 002D92C8 7F C5 F3 78 */ mr r5, r30
+/* 802DD66C 002D92CC 38 80 00 0C */ li r4, 0xc
+/* 802DD670 002D92D0 48 00 06 41 */ bl rfc_mx_sm_execute
+lbl_802DD674:
+/* 802DD674 002D92D4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DD678 002D92D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DD67C 002D92DC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DD680 002D92E0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DD684 002D92E4 7C 08 03 A6 */ mtlr r0
+/* 802DD688 002D92E8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DD68C 002D92EC 4E 80 00 20 */ blr
+
+RFCOMM_ConfigCnf:
+/* 802DD690 002D92F0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DD694 002D92F4 7C 08 02 A6 */ mflr r0
+/* 802DD698 002D92F8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DD69C 002D92FC 38 03 FF C0 */ addi r0, r3, -64
+/* 802DD6A0 002D9300 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802DD6A4 002D9304 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DD6A8 002D9308 3F E0 80 44 */ lis r31, lbl_804446D8@ha
+/* 802DD6AC 002D930C 3B FF 46 D8 */ addi r31, r31, lbl_804446D8@l
+/* 802DD6B0 002D9310 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DD6B4 002D9314 7C 9E 23 78 */ mr r30, r4
+/* 802DD6B8 002D9318 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DD6BC 002D931C 7C 7D 1B 78 */ mr r29, r3
+/* 802DD6C0 002D9320 41 80 00 30 */ blt lbl_802DD6F0
+/* 802DD6C4 002D9324 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD6C8 002D9328 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD6CC 002D932C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD6D0 002D9330 28 00 00 01 */ cmplwi r0, 1
+/* 802DD6D4 002D9334 41 80 00 14 */ blt lbl_802DD6E8
+/* 802DD6D8 002D9338 7F A5 EB 78 */ mr r5, r29
+/* 802DD6DC 002D933C 38 9F 00 00 */ addi r4, r31, 0
+/* 802DD6E0 002D9340 3C 60 00 09 */ lis r3, 9
+/* 802DD6E4 002D9344 4B FD F8 45 */ bl LogMsg_1
+lbl_802DD6E8:
+/* 802DD6E8 002D9348 38 80 00 00 */ li r4, 0
+/* 802DD6EC 002D934C 48 00 00 50 */ b lbl_802DD73C
+lbl_802DD6F0:
+/* 802DD6F0 002D9350 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DD6F4 002D9354 54 00 10 3A */ slwi r0, r0, 2
+/* 802DD6F8 002D9358 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DD6FC 002D935C 7C 85 02 14 */ add r4, r5, r0
+/* 802DD700 002D9360 80 84 00 3C */ lwz r4, 0x3c(r4)
+/* 802DD704 002D9364 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD708 002D9368 41 82 00 34 */ beq lbl_802DD73C
+/* 802DD70C 002D936C A0 C4 00 68 */ lhz r6, 0x68(r4)
+/* 802DD710 002D9370 7C 06 18 40 */ cmplw r6, r3
+/* 802DD714 002D9374 41 82 00 28 */ beq lbl_802DD73C
+/* 802DD718 002D9378 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DD71C 002D937C 28 00 00 02 */ cmplwi r0, 2
+/* 802DD720 002D9380 41 80 00 18 */ blt lbl_802DD738
+/* 802DD724 002D9384 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD728 002D9388 7F A5 EB 78 */ mr r5, r29
+/* 802DD72C 002D938C 38 9F 00 1C */ addi r4, r31, 0x1c
+/* 802DD730 002D9390 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD734 002D9394 4B FD F8 0D */ bl LogMsg_2
+lbl_802DD738:
+/* 802DD738 002D9398 38 80 00 00 */ li r4, 0
+lbl_802DD73C:
+/* 802DD73C 002D939C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DD740 002D93A0 40 82 00 2C */ bne lbl_802DD76C
+/* 802DD744 002D93A4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD748 002D93A8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD74C 002D93AC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD750 002D93B0 28 00 00 01 */ cmplwi r0, 1
+/* 802DD754 002D93B4 41 80 00 28 */ blt lbl_802DD77C
+/* 802DD758 002D93B8 7F A5 EB 78 */ mr r5, r29
+/* 802DD75C 002D93BC 38 9F 00 8C */ addi r4, r31, 0x8c
+/* 802DD760 002D93C0 3C 60 00 09 */ lis r3, 9
+/* 802DD764 002D93C4 4B FD F7 C5 */ bl LogMsg_1
+/* 802DD768 002D93C8 48 00 00 14 */ b lbl_802DD77C
+lbl_802DD76C:
+/* 802DD76C 002D93CC 7C 83 23 78 */ mr r3, r4
+/* 802DD770 002D93D0 7F C5 F3 78 */ mr r5, r30
+/* 802DD774 002D93D4 38 80 00 0B */ li r4, 0xb
+/* 802DD778 002D93D8 48 00 05 39 */ bl rfc_mx_sm_execute
+lbl_802DD77C:
+/* 802DD77C 002D93DC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DD780 002D93E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DD784 002D93E4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DD788 002D93E8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DD78C 002D93EC 7C 08 03 A6 */ mtlr r0
+/* 802DD790 002D93F0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DD794 002D93F4 4E 80 00 20 */ blr
+
+RFCOMM_QoSViolationInd:
+/* 802DD798 002D93F8 4E 80 00 20 */ blr
+
+RFCOMM_DisconnectInd:
+/* 802DD79C 002D93FC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DD7A0 002D9400 7C 08 02 A6 */ mflr r0
+/* 802DD7A4 002D9404 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DD7A8 002D9408 38 03 FF C0 */ addi r0, r3, -64
+/* 802DD7AC 002D940C 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802DD7B0 002D9410 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DD7B4 002D9414 3F E0 80 44 */ lis r31, lbl_804446D8@ha
+/* 802DD7B8 002D9418 3B FF 46 D8 */ addi r31, r31, lbl_804446D8@l
+/* 802DD7BC 002D941C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DD7C0 002D9420 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DD7C4 002D9424 7C 9D 23 78 */ mr r29, r4
+/* 802DD7C8 002D9428 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DD7CC 002D942C 7C 7C 1B 78 */ mr r28, r3
+/* 802DD7D0 002D9430 41 80 00 30 */ blt lbl_802DD800
+/* 802DD7D4 002D9434 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD7D8 002D9438 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD7DC 002D943C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD7E0 002D9440 28 00 00 01 */ cmplwi r0, 1
+/* 802DD7E4 002D9444 41 80 00 14 */ blt lbl_802DD7F8
+/* 802DD7E8 002D9448 7F 85 E3 78 */ mr r5, r28
+/* 802DD7EC 002D944C 38 9F 00 00 */ addi r4, r31, 0
+/* 802DD7F0 002D9450 3C 60 00 09 */ lis r3, 9
+/* 802DD7F4 002D9454 4B FD F7 35 */ bl LogMsg_1
+lbl_802DD7F8:
+/* 802DD7F8 002D9458 3B C0 00 00 */ li r30, 0
+/* 802DD7FC 002D945C 48 00 00 50 */ b lbl_802DD84C
+lbl_802DD800:
+/* 802DD800 002D9460 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DD804 002D9464 54 00 10 3A */ slwi r0, r0, 2
+/* 802DD808 002D9468 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DD80C 002D946C 7C 85 02 14 */ add r4, r5, r0
+/* 802DD810 002D9470 83 C4 00 3C */ lwz r30, 0x3c(r4)
+/* 802DD814 002D9474 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DD818 002D9478 41 82 00 34 */ beq lbl_802DD84C
+/* 802DD81C 002D947C A0 DE 00 68 */ lhz r6, 0x68(r30)
+/* 802DD820 002D9480 7C 06 18 40 */ cmplw r6, r3
+/* 802DD824 002D9484 41 82 00 28 */ beq lbl_802DD84C
+/* 802DD828 002D9488 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DD82C 002D948C 28 00 00 02 */ cmplwi r0, 2
+/* 802DD830 002D9490 41 80 00 18 */ blt lbl_802DD848
+/* 802DD834 002D9494 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD838 002D9498 7F 85 E3 78 */ mr r5, r28
+/* 802DD83C 002D949C 38 9F 00 1C */ addi r4, r31, 0x1c
+/* 802DD840 002D94A0 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD844 002D94A4 4B FD F6 FD */ bl LogMsg_2
+lbl_802DD848:
+/* 802DD848 002D94A8 3B C0 00 00 */ li r30, 0
+lbl_802DD84C:
+/* 802DD84C 002D94AC 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DD850 002D94B0 41 82 00 0C */ beq lbl_802DD85C
+/* 802DD854 002D94B4 7F 83 E3 78 */ mr r3, r28
+/* 802DD858 002D94B8 4B FF 87 F5 */ bl L2CA_DisconnectRsp
+lbl_802DD85C:
+/* 802DD85C 002D94BC 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DD860 002D94C0 40 82 00 30 */ bne lbl_802DD890
+/* 802DD864 002D94C4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD868 002D94C8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD86C 002D94CC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD870 002D94D0 28 00 00 02 */ cmplwi r0, 2
+/* 802DD874 002D94D4 41 80 00 2C */ blt lbl_802DD8A0
+/* 802DD878 002D94D8 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD87C 002D94DC 7F 85 E3 78 */ mr r5, r28
+/* 802DD880 002D94E0 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD884 002D94E4 38 9F 00 A8 */ addi r4, r31, 0xa8
+/* 802DD888 002D94E8 4B FD F6 A1 */ bl LogMsg_1
+/* 802DD88C 002D94EC 48 00 00 14 */ b lbl_802DD8A0
+lbl_802DD890:
+/* 802DD890 002D94F0 7F C3 F3 78 */ mr r3, r30
+/* 802DD894 002D94F4 38 80 00 0E */ li r4, 0xe
+/* 802DD898 002D94F8 38 A0 00 00 */ li r5, 0
+/* 802DD89C 002D94FC 48 00 04 15 */ bl rfc_mx_sm_execute
+lbl_802DD8A0:
+/* 802DD8A0 002D9500 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DD8A4 002D9504 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DD8A8 002D9508 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DD8AC 002D950C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DD8B0 002D9510 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DD8B4 002D9514 7C 08 03 A6 */ mtlr r0
+/* 802DD8B8 002D9518 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DD8BC 002D951C 4E 80 00 20 */ blr
+
+RFCOMM_BufDataInd:
+/* 802DD8C0 002D9520 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DD8C4 002D9524 7C 08 02 A6 */ mflr r0
+/* 802DD8C8 002D9528 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DD8CC 002D952C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DD8D0 002D9530 4B EE 98 59 */ bl _savegpr_27
+/* 802DD8D4 002D9534 38 03 FF C0 */ addi r0, r3, -64
+/* 802DD8D8 002D9538 3F A0 80 44 */ lis r29, lbl_804446D8@ha
+/* 802DD8DC 002D953C 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802DD8E0 002D9540 7C 7B 1B 78 */ mr r27, r3
+/* 802DD8E4 002D9544 7C 9F 23 78 */ mr r31, r4
+/* 802DD8E8 002D9548 3B BD 46 D8 */ addi r29, r29, lbl_804446D8@l
+/* 802DD8EC 002D954C 41 80 00 30 */ blt lbl_802DD91C
+/* 802DD8F0 002D9550 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD8F4 002D9554 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD8F8 002D9558 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD8FC 002D955C 28 00 00 01 */ cmplwi r0, 1
+/* 802DD900 002D9560 41 80 00 14 */ blt lbl_802DD914
+/* 802DD904 002D9564 7F 65 DB 78 */ mr r5, r27
+/* 802DD908 002D9568 38 9D 00 00 */ addi r4, r29, 0
+/* 802DD90C 002D956C 3C 60 00 09 */ lis r3, 9
+/* 802DD910 002D9570 4B FD F6 19 */ bl LogMsg_1
+lbl_802DD914:
+/* 802DD914 002D9574 3B 80 00 00 */ li r28, 0
+/* 802DD918 002D9578 48 00 00 50 */ b lbl_802DD968
+lbl_802DD91C:
+/* 802DD91C 002D957C 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DD920 002D9580 54 00 10 3A */ slwi r0, r0, 2
+/* 802DD924 002D9584 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DD928 002D9588 7C 85 02 14 */ add r4, r5, r0
+/* 802DD92C 002D958C 83 84 00 3C */ lwz r28, 0x3c(r4)
+/* 802DD930 002D9590 2C 1C 00 00 */ cmpwi r28, 0
+/* 802DD934 002D9594 41 82 00 34 */ beq lbl_802DD968
+/* 802DD938 002D9598 A0 DC 00 68 */ lhz r6, 0x68(r28)
+/* 802DD93C 002D959C 7C 06 18 40 */ cmplw r6, r3
+/* 802DD940 002D95A0 41 82 00 28 */ beq lbl_802DD968
+/* 802DD944 002D95A4 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DD948 002D95A8 28 00 00 02 */ cmplwi r0, 2
+/* 802DD94C 002D95AC 41 80 00 18 */ blt lbl_802DD964
+/* 802DD950 002D95B0 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD954 002D95B4 7F 65 DB 78 */ mr r5, r27
+/* 802DD958 002D95B8 38 9D 00 1C */ addi r4, r29, 0x1c
+/* 802DD95C 002D95BC 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD960 002D95C0 4B FD F5 E1 */ bl LogMsg_2
+lbl_802DD964:
+/* 802DD964 002D95C4 3B 80 00 00 */ li r28, 0
+lbl_802DD968:
+/* 802DD968 002D95C8 2C 1C 00 00 */ cmpwi r28, 0
+/* 802DD96C 002D95CC 40 82 00 38 */ bne lbl_802DD9A4
+/* 802DD970 002D95D0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DD974 002D95D4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DD978 002D95D8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DD97C 002D95DC 28 00 00 02 */ cmplwi r0, 2
+/* 802DD980 002D95E0 41 80 00 18 */ blt lbl_802DD998
+/* 802DD984 002D95E4 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DD988 002D95E8 7F 65 DB 78 */ mr r5, r27
+/* 802DD98C 002D95EC 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DD990 002D95F0 38 9D 00 C8 */ addi r4, r29, 0xc8
+/* 802DD994 002D95F4 4B FD F5 95 */ bl LogMsg_1
+lbl_802DD998:
+/* 802DD998 002D95F8 7F E3 FB 78 */ mr r3, r31
+/* 802DD99C 002D95FC 4B FD C3 99 */ bl GKI_freebuf
+/* 802DD9A0 002D9600 48 00 01 A8 */ b lbl_802DDB48
+lbl_802DD9A4:
+/* 802DD9A4 002D9604 3F C0 80 57 */ lis r30, lbl_8056C428@ha
+/* 802DD9A8 002D9608 7F 83 E3 78 */ mr r3, r28
+/* 802DD9AC 002D960C 7F E5 FB 78 */ mr r5, r31
+/* 802DD9B0 002D9610 38 9E C4 28 */ addi r4, r30, lbl_8056C428@l
+/* 802DD9B4 002D9614 48 00 30 BD */ bl rfc_parse_data
+/* 802DD9B8 002D9618 54 64 06 3E */ clrlwi r4, r3, 0x18
+/* 802DD9BC 002D961C 7C 7D 1B 78 */ mr r29, r3
+/* 802DD9C0 002D9620 28 04 00 32 */ cmplwi r4, 0x32
+/* 802DD9C4 002D9624 40 82 00 10 */ bne lbl_802DD9D4
+/* 802DD9C8 002D9628 7F E3 FB 78 */ mr r3, r31
+/* 802DD9CC 002D962C 4B FD C3 69 */ bl GKI_freebuf
+/* 802DD9D0 002D9630 48 00 01 78 */ b lbl_802DDB48
+lbl_802DD9D4:
+/* 802DD9D4 002D9634 88 1E C4 28 */ lbz r0, -0x3bd8(r30)
+/* 802DD9D8 002D9638 2C 00 00 00 */ cmpwi r0, 0
+/* 802DD9DC 002D963C 40 82 00 34 */ bne lbl_802DDA10
+/* 802DD9E0 002D9640 28 04 00 04 */ cmplwi r4, 4
+/* 802DD9E4 002D9644 40 82 00 14 */ bne lbl_802DD9F8
+/* 802DD9E8 002D9648 7F 83 E3 78 */ mr r3, r28
+/* 802DD9EC 002D964C 7F E4 FB 78 */ mr r4, r31
+/* 802DD9F0 002D9650 48 00 35 F5 */ bl rfc_process_mx_message
+/* 802DD9F4 002D9654 48 00 01 54 */ b lbl_802DDB48
+lbl_802DD9F8:
+/* 802DD9F8 002D9658 7F 83 E3 78 */ mr r3, r28
+/* 802DD9FC 002D965C 38 A0 00 00 */ li r5, 0
+/* 802DDA00 002D9660 48 00 02 B1 */ bl rfc_mx_sm_execute
+/* 802DDA04 002D9664 7F E3 FB 78 */ mr r3, r31
+/* 802DDA08 002D9668 4B FD C3 2D */ bl GKI_freebuf
+/* 802DDA0C 002D966C 48 00 01 3C */ b lbl_802DDB48
+lbl_802DDA10:
+/* 802DDA10 002D9670 7F 83 E3 78 */ mr r3, r28
+/* 802DDA14 002D9674 7C 04 03 78 */ mr r4, r0
+/* 802DDA18 002D9678 4B FF F5 E5 */ bl port_find_mcb_dlci_port
+/* 802DDA1C 002D967C 2C 03 00 00 */ cmpwi r3, 0
+/* 802DDA20 002D9680 7C 7B 1B 78 */ mr r27, r3
+/* 802DDA24 002D9684 41 82 00 10 */ beq lbl_802DDA34
+/* 802DDA28 002D9688 80 03 00 6C */ lwz r0, 0x6c(r3)
+/* 802DDA2C 002D968C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DDA30 002D9690 40 82 00 B4 */ bne lbl_802DDAE4
+lbl_802DDA34:
+/* 802DDA34 002D9694 57 A0 06 3F */ clrlwi. r0, r29, 0x18
+/* 802DDA38 002D9698 41 82 00 64 */ beq lbl_802DDA9C
+/* 802DDA3C 002D969C 88 9C 00 6D */ lbz r4, 0x6d(r28)
+/* 802DDA40 002D96A0 2C 04 00 00 */ cmpwi r4, 0
+/* 802DDA44 002D96A4 41 82 00 18 */ beq lbl_802DDA5C
+/* 802DDA48 002D96A8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDA4C 002D96AC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDA50 002D96B0 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DDA54 002D96B4 2C 00 00 00 */ cmpwi r0, 0
+/* 802DDA58 002D96B8 41 82 00 20 */ beq lbl_802DDA78
+lbl_802DDA5C:
+/* 802DDA5C 002D96BC 2C 04 00 00 */ cmpwi r4, 0
+/* 802DDA60 002D96C0 40 82 00 30 */ bne lbl_802DDA90
+/* 802DDA64 002D96C4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDA68 002D96C8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDA6C 002D96CC 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DDA70 002D96D0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DDA74 002D96D4 41 82 00 1C */ beq lbl_802DDA90
+lbl_802DDA78:
+/* 802DDA78 002D96D8 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DDA7C 002D96DC 7F 83 E3 78 */ mr r3, r28
+/* 802DDA80 002D96E0 38 A4 C4 28 */ addi r5, r4, lbl_8056C428@l
+/* 802DDA84 002D96E4 88 84 C4 28 */ lbz r4, -0x3bd8(r4)
+/* 802DDA88 002D96E8 88 A5 00 04 */ lbz r5, 4(r5)
+/* 802DDA8C 002D96EC 48 00 26 95 */ bl rfc_send_dm
+lbl_802DDA90:
+/* 802DDA90 002D96F0 7F E3 FB 78 */ mr r3, r31
+/* 802DDA94 002D96F4 4B FD C2 A1 */ bl GKI_freebuf
+/* 802DDA98 002D96F8 48 00 00 B0 */ b lbl_802DDB48
+lbl_802DDA9C:
+/* 802DDA9C 002D96FC 3F C0 80 57 */ lis r30, lbl_8056C428@ha
+/* 802DDAA0 002D9700 88 7E C4 28 */ lbz r3, lbl_8056C428@l(r30)
+/* 802DDAA4 002D9704 4B FF F5 AD */ bl port_find_dlci_port
+/* 802DDAA8 002D9708 2C 03 00 00 */ cmpwi r3, 0
+/* 802DDAAC 002D970C 7C 7B 1B 78 */ mr r27, r3
+/* 802DDAB0 002D9710 40 82 00 20 */ bne lbl_802DDAD0
+/* 802DDAB4 002D9714 88 9E C4 28 */ lbz r4, -0x3bd8(r30)
+/* 802DDAB8 002D9718 7F 83 E3 78 */ mr r3, r28
+/* 802DDABC 002D971C 38 A0 00 01 */ li r5, 1
+/* 802DDAC0 002D9720 48 00 26 61 */ bl rfc_send_dm
+/* 802DDAC4 002D9724 7F E3 FB 78 */ mr r3, r31
+/* 802DDAC8 002D9728 4B FD C2 6D */ bl GKI_freebuf
+/* 802DDACC 002D972C 48 00 00 7C */ b lbl_802DDB48
+lbl_802DDAD0:
+/* 802DDAD0 002D9730 88 1E C4 28 */ lbz r0, -0x3bd8(r30)
+/* 802DDAD4 002D9734 88 A3 00 00 */ lbz r5, 0(r3)
+/* 802DDAD8 002D9738 7C 9C 02 14 */ add r4, r28, r0
+/* 802DDADC 002D973C 98 A4 00 24 */ stb r5, 0x24(r4)
+/* 802DDAE0 002D9740 93 83 00 6C */ stw r28, 0x6c(r3)
+lbl_802DDAE4:
+/* 802DDAE4 002D9744 57 A4 06 3E */ clrlwi r4, r29, 0x18
+/* 802DDAE8 002D9748 28 04 00 04 */ cmplwi r4, 4
+/* 802DDAEC 002D974C 40 82 00 48 */ bne lbl_802DDB34
+/* 802DDAF0 002D9750 A0 1F 00 02 */ lhz r0, 2(r31)
+/* 802DDAF4 002D9754 2C 00 00 00 */ cmpwi r0, 0
+/* 802DDAF8 002D9758 41 82 00 14 */ beq lbl_802DDB0C
+/* 802DDAFC 002D975C 7F 63 DB 78 */ mr r3, r27
+/* 802DDB00 002D9760 7F E5 FB 78 */ mr r5, r31
+/* 802DDB04 002D9764 48 00 0D F1 */ bl rfc_port_sm_execute
+/* 802DDB08 002D9768 48 00 00 0C */ b lbl_802DDB14
+lbl_802DDB0C:
+/* 802DDB0C 002D976C 7F E3 FB 78 */ mr r3, r31
+/* 802DDB10 002D9770 4B FD C2 25 */ bl GKI_freebuf
+lbl_802DDB14:
+/* 802DDB14 002D9774 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDB18 002D9778 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDB1C 002D977C 88 83 00 05 */ lbz r4, 5(r3)
+/* 802DDB20 002D9780 2C 04 00 00 */ cmpwi r4, 0
+/* 802DDB24 002D9784 41 82 00 24 */ beq lbl_802DDB48
+/* 802DDB28 002D9788 7F 63 DB 78 */ mr r3, r27
+/* 802DDB2C 002D978C 48 00 41 91 */ bl rfc_inc_credit
+/* 802DDB30 002D9790 48 00 00 18 */ b lbl_802DDB48
+lbl_802DDB34:
+/* 802DDB34 002D9794 7F 63 DB 78 */ mr r3, r27
+/* 802DDB38 002D9798 38 A0 00 00 */ li r5, 0
+/* 802DDB3C 002D979C 48 00 0D B9 */ bl rfc_port_sm_execute
+/* 802DDB40 002D97A0 7F E3 FB 78 */ mr r3, r31
+/* 802DDB44 002D97A4 4B FD C1 F1 */ bl GKI_freebuf
+lbl_802DDB48:
+/* 802DDB48 002D97A8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DDB4C 002D97AC 4B EE 96 29 */ bl _restgpr_27
+/* 802DDB50 002D97B0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DDB54 002D97B4 7C 08 03 A6 */ mtlr r0
+/* 802DDB58 002D97B8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DDB5C 002D97BC 4E 80 00 20 */ blr
+
+RFCOMM_CongestionStatusInd:
+/* 802DDB60 002D97C0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DDB64 002D97C4 7C 08 02 A6 */ mflr r0
+/* 802DDB68 002D97C8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DDB6C 002D97CC 38 03 FF C0 */ addi r0, r3, -64
+/* 802DDB70 002D97D0 2C 00 00 0A */ cmpwi r0, 0xa
+/* 802DDB74 002D97D4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DDB78 002D97D8 3F E0 80 44 */ lis r31, lbl_804446D8@ha
+/* 802DDB7C 002D97DC 3B FF 46 D8 */ addi r31, r31, lbl_804446D8@l
+/* 802DDB80 002D97E0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DDB84 002D97E4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DDB88 002D97E8 7C 9D 23 78 */ mr r29, r4
+/* 802DDB8C 002D97EC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DDB90 002D97F0 7C 7C 1B 78 */ mr r28, r3
+/* 802DDB94 002D97F4 41 80 00 30 */ blt lbl_802DDBC4
+/* 802DDB98 002D97F8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDB9C 002D97FC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDBA0 002D9800 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDBA4 002D9804 28 00 00 01 */ cmplwi r0, 1
+/* 802DDBA8 002D9808 41 80 00 14 */ blt lbl_802DDBBC
+/* 802DDBAC 002D980C 7F 85 E3 78 */ mr r5, r28
+/* 802DDBB0 002D9810 38 9F 00 00 */ addi r4, r31, 0
+/* 802DDBB4 002D9814 3C 60 00 09 */ lis r3, 9
+/* 802DDBB8 002D9818 4B FD F3 71 */ bl LogMsg_1
+lbl_802DDBBC:
+/* 802DDBBC 002D981C 3B C0 00 00 */ li r30, 0
+/* 802DDBC0 002D9820 48 00 00 50 */ b lbl_802DDC10
+lbl_802DDBC4:
+/* 802DDBC4 002D9824 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DDBC8 002D9828 54 00 10 3A */ slwi r0, r0, 2
+/* 802DDBCC 002D982C 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DDBD0 002D9830 7C 85 02 14 */ add r4, r5, r0
+/* 802DDBD4 002D9834 83 C4 00 3C */ lwz r30, 0x3c(r4)
+/* 802DDBD8 002D9838 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DDBDC 002D983C 41 82 00 34 */ beq lbl_802DDC10
+/* 802DDBE0 002D9840 A0 DE 00 68 */ lhz r6, 0x68(r30)
+/* 802DDBE4 002D9844 7C 06 18 40 */ cmplw r6, r3
+/* 802DDBE8 002D9848 41 82 00 28 */ beq lbl_802DDC10
+/* 802DDBEC 002D984C 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DDBF0 002D9850 28 00 00 02 */ cmplwi r0, 2
+/* 802DDBF4 002D9854 41 80 00 18 */ blt lbl_802DDC0C
+/* 802DDBF8 002D9858 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DDBFC 002D985C 7F 85 E3 78 */ mr r5, r28
+/* 802DDC00 002D9860 38 9F 00 1C */ addi r4, r31, 0x1c
+/* 802DDC04 002D9864 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DDC08 002D9868 4B FD F3 39 */ bl LogMsg_2
+lbl_802DDC0C:
+/* 802DDC0C 002D986C 3B C0 00 00 */ li r30, 0
+lbl_802DDC10:
+/* 802DDC10 002D9870 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DDC14 002D9874 40 82 00 2C */ bne lbl_802DDC40
+/* 802DDC18 002D9878 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDC1C 002D987C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDC20 002D9880 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDC24 002D9884 28 00 00 01 */ cmplwi r0, 1
+/* 802DDC28 002D9888 41 80 00 4C */ blt lbl_802DDC74
+/* 802DDC2C 002D988C 7F 85 E3 78 */ mr r5, r28
+/* 802DDC30 002D9890 38 9F 00 E4 */ addi r4, r31, 0xe4
+/* 802DDC34 002D9894 3C 60 00 09 */ lis r3, 9
+/* 802DDC38 002D9898 4B FD F2 F1 */ bl LogMsg_1
+/* 802DDC3C 002D989C 48 00 00 38 */ b lbl_802DDC74
+lbl_802DDC40:
+/* 802DDC40 002D98A0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDC44 002D98A4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDC48 002D98A8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDC4C 002D98AC 28 00 00 04 */ cmplwi r0, 4
+/* 802DDC50 002D98B0 41 80 00 18 */ blt lbl_802DDC68
+/* 802DDC54 002D98B4 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DDC58 002D98B8 7F 85 E3 78 */ mr r5, r28
+/* 802DDC5C 002D98BC 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DDC60 002D98C0 38 9F 01 14 */ addi r4, r31, 0x114
+/* 802DDC64 002D98C4 4B FD F2 C5 */ bl LogMsg_1
+lbl_802DDC68:
+/* 802DDC68 002D98C8 7F C3 F3 78 */ mr r3, r30
+/* 802DDC6C 002D98CC 7F A4 EB 78 */ mr r4, r29
+/* 802DDC70 002D98D0 48 00 1C F9 */ bl rfc_process_l2cap_congestion
+lbl_802DDC74:
+/* 802DDC74 002D98D4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DDC78 002D98D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DDC7C 002D98DC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DDC80 002D98E0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DDC84 002D98E4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DDC88 002D98E8 7C 08 03 A6 */ mtlr r0
+/* 802DDC8C 002D98EC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DDC90 002D98F0 4E 80 00 20 */ blr
+
+.global rfc_save_lcid_mcb
+rfc_save_lcid_mcb:
+/* 802DDC94 002D98F4 38 04 FF C0 */ addi r0, r4, -64
+/* 802DDC98 002D98F8 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DDC9C 002D98FC 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DDCA0 002D9900 54 00 10 3A */ slwi r0, r0, 2
+/* 802DDCA4 002D9904 7C 84 02 14 */ add r4, r4, r0
+/* 802DDCA8 002D9908 90 64 00 3C */ stw r3, 0x3c(r4)
+/* 802DDCAC 002D990C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/rfc_mx_fsm.s b/asm/SDK/BTE/rfc_mx_fsm.s new file mode 100644 index 0000000..a6bf954 --- /dev/null +++ b/asm/SDK/BTE/rfc_mx_fsm.s @@ -0,0 +1,862 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global rfc_mx_sm_execute
+rfc_mx_sm_execute:
+/* 802DDCB0 002D9910 88 03 00 6C */ lbz r0, 0x6c(r3)
+/* 802DDCB4 002D9914 28 00 00 06 */ cmplwi r0, 6
+/* 802DDCB8 002D9918 4D 81 00 20 */ bgtlr
+/* 802DDCBC 002D991C 3C C0 80 44 */ lis r6, lbl_80444818@ha
+/* 802DDCC0 002D9920 54 00 10 3A */ slwi r0, r0, 2
+/* 802DDCC4 002D9924 38 C6 48 18 */ addi r6, r6, lbl_80444818@l
+/* 802DDCC8 002D9928 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802DDCCC 002D992C 7C C9 03 A6 */ mtctr r6
+/* 802DDCD0 002D9930 4E 80 04 20 */ bctr
+/* 802DDCD4 002D9934 48 00 00 20 */ b rfc_mx_sm_state_idle
+/* 802DDCD8 002D9938 48 00 02 30 */ b rfc_mx_sm_state_wait_conn_cnf
+/* 802DDCDC 002D993C 48 00 03 E8 */ b rfc_mx_sm_state_configure
+/* 802DDCE0 002D9940 48 00 05 0C */ b rfc_mx_sm_sabme_wait_ua
+/* 802DDCE4 002D9944 48 00 06 7C */ b rfc_mx_sm_state_wait_sabme
+/* 802DDCE8 002D9948 48 00 07 98 */ b rfc_mx_sm_state_connected
+/* 802DDCEC 002D994C 48 00 08 AC */ b rfc_mx_sm_state_disc_wait_ua
+/* 802DDCF0 002D9950 4E 80 00 20 */ blr
+
+rfc_mx_sm_state_idle:
+/* 802DDCF4 002D9954 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 802DDCF8 002D9958 7C 08 02 A6 */ mflr r0
+/* 802DDCFC 002D995C 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DDD00 002D9960 90 01 00 64 */ stw r0, 0x64(r1)
+/* 802DDD04 002D9964 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DDD08 002D9968 93 E1 00 5C */ stw r31, 0x5c(r1)
+/* 802DDD0C 002D996C 7C 7F 1B 78 */ mr r31, r3
+/* 802DDD10 002D9970 93 C1 00 58 */ stw r30, 0x58(r1)
+/* 802DDD14 002D9974 3F C0 80 44 */ lis r30, lbl_80444818@ha
+/* 802DDD18 002D9978 3B DE 48 18 */ addi r30, r30, lbl_80444818@l
+/* 802DDD1C 002D997C 93 A1 00 54 */ stw r29, 0x54(r1)
+/* 802DDD20 002D9980 7C BD 2B 78 */ mr r29, r5
+/* 802DDD24 002D9984 93 81 00 50 */ stw r28, 0x50(r1)
+/* 802DDD28 002D9988 7C 9C 23 78 */ mr r28, r4
+/* 802DDD2C 002D998C 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DDD30 002D9990 28 00 00 04 */ cmplwi r0, 4
+/* 802DDD34 002D9994 41 80 00 18 */ blt lbl_802DDD4C
+/* 802DDD38 002D9998 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DDD3C 002D999C 7F 85 E3 78 */ mr r5, r28
+/* 802DDD40 002D99A0 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DDD44 002D99A4 38 9E 00 1C */ addi r4, r30, 0x1c
+/* 802DDD48 002D99A8 4B FD F1 E1 */ bl LogMsg_1
+lbl_802DDD4C:
+/* 802DDD4C 002D99AC 28 1C 00 0C */ cmplwi r28, 0xc
+/* 802DDD50 002D99B0 41 81 01 6C */ bgt lbl_802DDEBC
+/* 802DDD54 002D99B4 3C 60 80 44 */ lis r3, lbl_804448B0@ha
+/* 802DDD58 002D99B8 57 80 10 3A */ slwi r0, r28, 2
+/* 802DDD5C 002D99BC 38 63 48 B0 */ addi r3, r3, lbl_804448B0@l
+/* 802DDD60 002D99C0 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802DDD64 002D99C4 7C 69 03 A6 */ mtctr r3
+/* 802DDD68 002D99C8 4E 80 04 20 */ bctr
+/* 802DDD6C 002D99CC 38 00 02 9A */ li r0, 0x29a
+/* 802DDD70 002D99D0 38 9F 00 62 */ addi r4, r31, 0x62
+/* 802DDD74 002D99D4 B0 1F 00 6A */ sth r0, 0x6a(r31)
+/* 802DDD78 002D99D8 38 60 00 03 */ li r3, 3
+/* 802DDD7C 002D99DC 4B FF 7C E1 */ bl L2CA_ConnectReq
+/* 802DDD80 002D99E0 54 64 04 3F */ clrlwi. r4, r3, 0x10
+/* 802DDD84 002D99E4 B0 7F 00 68 */ sth r3, 0x68(r31)
+/* 802DDD88 002D99E8 40 82 00 14 */ bne lbl_802DDD9C
+/* 802DDD8C 002D99EC 7F E3 FB 78 */ mr r3, r31
+/* 802DDD90 002D99F0 38 80 00 01 */ li r4, 1
+/* 802DDD94 002D99F4 4B FF DC 15 */ bl PORT_StartCnf
+/* 802DDD98 002D99F8 48 00 01 50 */ b lbl_802DDEE8
+lbl_802DDD9C:
+/* 802DDD9C 002D99FC 7F E3 FB 78 */ mr r3, r31
+/* 802DDDA0 002D9A00 4B FF FE F5 */ bl rfc_save_lcid_mcb
+/* 802DDDA4 002D9A04 38 00 00 01 */ li r0, 1
+/* 802DDDA8 002D9A08 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DDDAC 002D9A0C 48 00 01 3C */ b lbl_802DDEE8
+/* 802DDDB0 002D9A10 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDDB4 002D9A14 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDDB8 002D9A18 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDDBC 002D9A1C 28 00 00 01 */ cmplwi r0, 1
+/* 802DDDC0 002D9A20 41 80 01 28 */ blt lbl_802DDEE8
+/* 802DDDC4 002D9A24 88 BF 00 6C */ lbz r5, 0x6c(r31)
+/* 802DDDC8 002D9A28 7F 86 E3 78 */ mr r6, r28
+/* 802DDDCC 002D9A2C 38 9E 00 3C */ addi r4, r30, 0x3c
+/* 802DDDD0 002D9A30 3C 60 00 09 */ lis r3, 9
+/* 802DDDD4 002D9A34 4B FD F1 6D */ bl LogMsg_2
+/* 802DDDD8 002D9A38 48 00 01 10 */ b lbl_802DDEE8
+/* 802DDDDC 002D9A3C 88 1F 00 6D */ lbz r0, 0x6d(r31)
+/* 802DDDE0 002D9A40 2C 00 00 00 */ cmpwi r0, 0
+/* 802DDDE4 002D9A44 41 82 00 20 */ beq lbl_802DDE04
+/* 802DDDE8 002D9A48 88 9D 00 00 */ lbz r4, 0(r29)
+/* 802DDDEC 002D9A4C 38 7F 00 62 */ addi r3, r31, 0x62
+/* 802DDDF0 002D9A50 A0 BF 00 68 */ lhz r5, 0x68(r31)
+/* 802DDDF4 002D9A54 38 C0 00 01 */ li r6, 1
+/* 802DDDF8 002D9A58 38 E0 00 00 */ li r7, 0
+/* 802DDDFC 002D9A5C 4B FF 7E 95 */ bl L2CA_ConnectRsp
+/* 802DDE00 002D9A60 48 00 00 E8 */ b lbl_802DDEE8
+lbl_802DDE04:
+/* 802DDE04 002D9A64 7F E3 FB 78 */ mr r3, r31
+/* 802DDE08 002D9A68 38 80 00 78 */ li r4, 0x78
+/* 802DDE0C 002D9A6C 48 00 3A 61 */ bl rfc_timer_start
+/* 802DDE10 002D9A70 88 9D 00 00 */ lbz r4, 0(r29)
+/* 802DDE14 002D9A74 38 7F 00 62 */ addi r3, r31, 0x62
+/* 802DDE18 002D9A78 A0 BF 00 68 */ lhz r5, 0x68(r31)
+/* 802DDE1C 002D9A7C 38 C0 00 00 */ li r6, 0
+/* 802DDE20 002D9A80 38 E0 00 00 */ li r7, 0
+/* 802DDE24 002D9A84 4B FF 7E 6D */ bl L2CA_ConnectRsp
+/* 802DDE28 002D9A88 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDE2C 002D9A8C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDE30 002D9A90 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDE34 002D9A94 28 00 00 04 */ cmplwi r0, 4
+/* 802DDE38 002D9A98 41 80 00 14 */ blt lbl_802DDE4C
+/* 802DDE3C 002D9A9C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DDE40 002D9AA0 38 9E 00 58 */ addi r4, r30, 0x58
+/* 802DDE44 002D9AA4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DDE48 002D9AA8 4B FD F0 C9 */ bl LogMsg_0
+lbl_802DDE4C:
+/* 802DDE4C 002D9AAC 38 61 00 08 */ addi r3, r1, 8
+/* 802DDE50 002D9AB0 38 80 00 00 */ li r4, 0
+/* 802DDE54 002D9AB4 38 A0 00 3C */ li r5, 0x3c
+/* 802DDE58 002D9AB8 4B D2 62 AD */ bl memset
+/* 802DDE5C 002D9ABC 38 00 00 00 */ li r0, 0
+/* 802DDE60 002D9AC0 38 80 00 01 */ li r4, 1
+/* 802DDE64 002D9AC4 38 60 06 9B */ li r3, 0x69b
+/* 802DDE68 002D9AC8 98 81 00 0A */ stb r4, 0xa(r1)
+/* 802DDE6C 002D9ACC 38 81 00 08 */ addi r4, r1, 8
+/* 802DDE70 002D9AD0 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 802DDE74 002D9AD4 98 01 00 28 */ stb r0, 0x28(r1)
+/* 802DDE78 002D9AD8 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802DDE7C 002D9ADC A0 7F 00 68 */ lhz r3, 0x68(r31)
+/* 802DDE80 002D9AE0 4B FF 7F A1 */ bl L2CA_ConfigReq
+/* 802DDE84 002D9AE4 38 00 00 02 */ li r0, 2
+/* 802DDE88 002D9AE8 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DDE8C 002D9AEC 48 00 00 5C */ b lbl_802DDEE8
+/* 802DDE90 002D9AF0 48 00 00 58 */ b lbl_802DDEE8
+/* 802DDE94 002D9AF4 7F E3 FB 78 */ mr r3, r31
+/* 802DDE98 002D9AF8 38 80 00 00 */ li r4, 0
+/* 802DDE9C 002D9AFC 38 A0 00 01 */ li r5, 1
+/* 802DDEA0 002D9B00 48 00 22 81 */ bl rfc_send_dm
+/* 802DDEA4 002D9B04 48 00 00 44 */ b lbl_802DDEE8
+/* 802DDEA8 002D9B08 7F E3 FB 78 */ mr r3, r31
+/* 802DDEAC 002D9B0C 38 80 00 00 */ li r4, 0
+/* 802DDEB0 002D9B10 38 A0 00 00 */ li r5, 0
+/* 802DDEB4 002D9B14 48 00 22 6D */ bl rfc_send_dm
+/* 802DDEB8 002D9B18 48 00 00 30 */ b lbl_802DDEE8
+lbl_802DDEBC:
+/* 802DDEBC 002D9B1C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDEC0 002D9B20 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDEC4 002D9B24 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDEC8 002D9B28 28 00 00 04 */ cmplwi r0, 4
+/* 802DDECC 002D9B2C 41 80 00 1C */ blt lbl_802DDEE8
+/* 802DDED0 002D9B30 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DDED4 002D9B34 88 DF 00 6C */ lbz r6, 0x6c(r31)
+/* 802DDED8 002D9B38 7F 85 E3 78 */ mr r5, r28
+/* 802DDEDC 002D9B3C 38 9E 00 70 */ addi r4, r30, 0x70
+/* 802DDEE0 002D9B40 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DDEE4 002D9B44 4B FD F0 5D */ bl LogMsg_2
+lbl_802DDEE8:
+/* 802DDEE8 002D9B48 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 802DDEEC 002D9B4C 83 E1 00 5C */ lwz r31, 0x5c(r1)
+/* 802DDEF0 002D9B50 83 C1 00 58 */ lwz r30, 0x58(r1)
+/* 802DDEF4 002D9B54 83 A1 00 54 */ lwz r29, 0x54(r1)
+/* 802DDEF8 002D9B58 83 81 00 50 */ lwz r28, 0x50(r1)
+/* 802DDEFC 002D9B5C 7C 08 03 A6 */ mtlr r0
+/* 802DDF00 002D9B60 38 21 00 60 */ addi r1, r1, 0x60
+/* 802DDF04 002D9B64 4E 80 00 20 */ blr
+
+rfc_mx_sm_state_wait_conn_cnf:
+/* 802DDF08 002D9B68 94 21 FF A0 */ stwu r1, -0x60(r1)
+/* 802DDF0C 002D9B6C 7C 08 02 A6 */ mflr r0
+/* 802DDF10 002D9B70 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DDF14 002D9B74 90 01 00 64 */ stw r0, 0x64(r1)
+/* 802DDF18 002D9B78 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DDF1C 002D9B7C 93 E1 00 5C */ stw r31, 0x5c(r1)
+/* 802DDF20 002D9B80 7C 7F 1B 78 */ mr r31, r3
+/* 802DDF24 002D9B84 93 C1 00 58 */ stw r30, 0x58(r1)
+/* 802DDF28 002D9B88 3F C0 80 44 */ lis r30, lbl_80444818@ha
+/* 802DDF2C 002D9B8C 3B DE 48 18 */ addi r30, r30, lbl_80444818@l
+/* 802DDF30 002D9B90 93 A1 00 54 */ stw r29, 0x54(r1)
+/* 802DDF34 002D9B94 7C BD 2B 78 */ mr r29, r5
+/* 802DDF38 002D9B98 93 81 00 50 */ stw r28, 0x50(r1)
+/* 802DDF3C 002D9B9C 7C 9C 23 78 */ mr r28, r4
+/* 802DDF40 002D9BA0 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DDF44 002D9BA4 28 00 00 04 */ cmplwi r0, 4
+/* 802DDF48 002D9BA8 41 80 00 18 */ blt lbl_802DDF60
+/* 802DDF4C 002D9BAC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DDF50 002D9BB0 7F 85 E3 78 */ mr r5, r28
+/* 802DDF54 002D9BB4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DDF58 002D9BB8 38 9E 00 CC */ addi r4, r30, 0xcc
+/* 802DDF5C 002D9BBC 4B FD EF CD */ bl LogMsg_1
+lbl_802DDF60:
+/* 802DDF60 002D9BC0 2C 1C 00 09 */ cmpwi r28, 9
+/* 802DDF64 002D9BC4 41 82 00 58 */ beq lbl_802DDFBC
+/* 802DDF68 002D9BC8 40 80 00 1C */ bge lbl_802DDF84
+/* 802DDF6C 002D9BCC 2C 1C 00 06 */ cmpwi r28, 6
+/* 802DDF70 002D9BD0 41 82 00 20 */ beq lbl_802DDF90
+/* 802DDF74 002D9BD4 40 80 01 04 */ bge lbl_802DE078
+/* 802DDF78 002D9BD8 2C 1C 00 05 */ cmpwi r28, 5
+/* 802DDF7C 002D9BDC 40 80 00 E0 */ bge lbl_802DE05C
+/* 802DDF80 002D9BE0 48 00 00 F8 */ b lbl_802DE078
+lbl_802DDF84:
+/* 802DDF84 002D9BE4 2C 1C 00 0E */ cmpwi r28, 0xe
+/* 802DDF88 002D9BE8 41 82 00 C0 */ beq lbl_802DE048
+/* 802DDF8C 002D9BEC 48 00 00 EC */ b lbl_802DE078
+lbl_802DDF90:
+/* 802DDF90 002D9BF0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDF94 002D9BF4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDF98 002D9BF8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDF9C 002D9BFC 28 00 00 01 */ cmplwi r0, 1
+/* 802DDFA0 002D9C00 41 80 01 04 */ blt lbl_802DE0A4
+/* 802DDFA4 002D9C04 88 BF 00 6C */ lbz r5, 0x6c(r31)
+/* 802DDFA8 002D9C08 7F 86 E3 78 */ mr r6, r28
+/* 802DDFAC 002D9C0C 38 9E 00 3C */ addi r4, r30, 0x3c
+/* 802DDFB0 002D9C10 3C 60 00 09 */ lis r3, 9
+/* 802DDFB4 002D9C14 4B FD EF 8D */ bl LogMsg_2
+/* 802DDFB8 002D9C18 48 00 00 EC */ b lbl_802DE0A4
+lbl_802DDFBC:
+/* 802DDFBC 002D9C1C A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802DDFC0 002D9C20 2C 00 00 00 */ cmpwi r0, 0
+/* 802DDFC4 002D9C24 41 82 00 1C */ beq lbl_802DDFE0
+/* 802DDFC8 002D9C28 38 00 00 00 */ li r0, 0
+/* 802DDFCC 002D9C2C 7F E3 FB 78 */ mr r3, r31
+/* 802DDFD0 002D9C30 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DDFD4 002D9C34 A0 9D 00 00 */ lhz r4, 0(r29)
+/* 802DDFD8 002D9C38 4B FF D9 D1 */ bl PORT_StartCnf
+/* 802DDFDC 002D9C3C 48 00 00 C8 */ b lbl_802DE0A4
+lbl_802DDFE0:
+/* 802DDFE0 002D9C40 38 00 00 02 */ li r0, 2
+/* 802DDFE4 002D9C44 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DDFE8 002D9C48 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DDFEC 002D9C4C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DDFF0 002D9C50 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DDFF4 002D9C54 28 00 00 04 */ cmplwi r0, 4
+/* 802DDFF8 002D9C58 41 80 00 14 */ blt lbl_802DE00C
+/* 802DDFFC 002D9C5C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE000 002D9C60 38 9E 00 58 */ addi r4, r30, 0x58
+/* 802DE004 002D9C64 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE008 002D9C68 4B FD EF 09 */ bl LogMsg_0
+lbl_802DE00C:
+/* 802DE00C 002D9C6C 38 61 00 08 */ addi r3, r1, 8
+/* 802DE010 002D9C70 38 80 00 00 */ li r4, 0
+/* 802DE014 002D9C74 38 A0 00 3C */ li r5, 0x3c
+/* 802DE018 002D9C78 4B D2 60 ED */ bl memset
+/* 802DE01C 002D9C7C 38 00 00 00 */ li r0, 0
+/* 802DE020 002D9C80 38 80 00 01 */ li r4, 1
+/* 802DE024 002D9C84 38 60 06 9B */ li r3, 0x69b
+/* 802DE028 002D9C88 98 81 00 0A */ stb r4, 0xa(r1)
+/* 802DE02C 002D9C8C 38 81 00 08 */ addi r4, r1, 8
+/* 802DE030 002D9C90 B0 61 00 0C */ sth r3, 0xc(r1)
+/* 802DE034 002D9C94 98 01 00 28 */ stb r0, 0x28(r1)
+/* 802DE038 002D9C98 98 01 00 0E */ stb r0, 0xe(r1)
+/* 802DE03C 002D9C9C A0 7F 00 68 */ lhz r3, 0x68(r31)
+/* 802DE040 002D9CA0 4B FF 7D E1 */ bl L2CA_ConfigReq
+/* 802DE044 002D9CA4 48 00 00 60 */ b lbl_802DE0A4
+lbl_802DE048:
+/* 802DE048 002D9CA8 38 00 00 00 */ li r0, 0
+/* 802DE04C 002D9CAC 7F E3 FB 78 */ mr r3, r31
+/* 802DE050 002D9CB0 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DE054 002D9CB4 4B FF E6 5D */ bl PORT_CloseInd
+/* 802DE058 002D9CB8 48 00 00 4C */ b lbl_802DE0A4
+lbl_802DE05C:
+/* 802DE05C 002D9CBC 38 00 00 00 */ li r0, 0
+/* 802DE060 002D9CC0 A0 7F 00 68 */ lhz r3, 0x68(r31)
+/* 802DE064 002D9CC4 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DE068 002D9CC8 4B FF 7F 41 */ bl L2CA_DisconnectReq
+/* 802DE06C 002D9CCC 7F E3 FB 78 */ mr r3, r31
+/* 802DE070 002D9CD0 4B FF E6 41 */ bl PORT_CloseInd
+/* 802DE074 002D9CD4 48 00 00 30 */ b lbl_802DE0A4
+lbl_802DE078:
+/* 802DE078 002D9CD8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE07C 002D9CDC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE080 002D9CE0 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE084 002D9CE4 28 00 00 04 */ cmplwi r0, 4
+/* 802DE088 002D9CE8 41 80 00 1C */ blt lbl_802DE0A4
+/* 802DE08C 002D9CEC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE090 002D9CF0 88 DF 00 6C */ lbz r6, 0x6c(r31)
+/* 802DE094 002D9CF4 7F 85 E3 78 */ mr r5, r28
+/* 802DE098 002D9CF8 38 9E 00 70 */ addi r4, r30, 0x70
+/* 802DE09C 002D9CFC 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE0A0 002D9D00 4B FD EE A1 */ bl LogMsg_2
+lbl_802DE0A4:
+/* 802DE0A4 002D9D04 80 01 00 64 */ lwz r0, 0x64(r1)
+/* 802DE0A8 002D9D08 83 E1 00 5C */ lwz r31, 0x5c(r1)
+/* 802DE0AC 002D9D0C 83 C1 00 58 */ lwz r30, 0x58(r1)
+/* 802DE0B0 002D9D10 83 A1 00 54 */ lwz r29, 0x54(r1)
+/* 802DE0B4 002D9D14 83 81 00 50 */ lwz r28, 0x50(r1)
+/* 802DE0B8 002D9D18 7C 08 03 A6 */ mtlr r0
+/* 802DE0BC 002D9D1C 38 21 00 60 */ addi r1, r1, 0x60
+/* 802DE0C0 002D9D20 4E 80 00 20 */ blr
+
+rfc_mx_sm_state_configure:
+/* 802DE0C4 002D9D24 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DE0C8 002D9D28 7C 08 02 A6 */ mflr r0
+/* 802DE0CC 002D9D2C 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DE0D0 002D9D30 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DE0D4 002D9D34 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DE0D8 002D9D38 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DE0DC 002D9D3C 3F E0 80 44 */ lis r31, lbl_80444818@ha
+/* 802DE0E0 002D9D40 3B FF 48 18 */ addi r31, r31, lbl_80444818@l
+/* 802DE0E4 002D9D44 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DE0E8 002D9D48 7C BE 2B 78 */ mr r30, r5
+/* 802DE0EC 002D9D4C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DE0F0 002D9D50 7C 9D 23 78 */ mr r29, r4
+/* 802DE0F4 002D9D54 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DE0F8 002D9D58 7C 7C 1B 78 */ mr r28, r3
+/* 802DE0FC 002D9D5C 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DE100 002D9D60 28 00 00 04 */ cmplwi r0, 4
+/* 802DE104 002D9D64 41 80 00 18 */ blt lbl_802DE11C
+/* 802DE108 002D9D68 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE10C 002D9D6C 7F A5 EB 78 */ mr r5, r29
+/* 802DE110 002D9D70 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE114 002D9D74 38 9F 00 F4 */ addi r4, r31, 0xf4
+/* 802DE118 002D9D78 4B FD EE 11 */ bl LogMsg_1
+lbl_802DE11C:
+/* 802DE11C 002D9D7C 38 1D FF FA */ addi r0, r29, -6
+/* 802DE120 002D9D80 28 00 00 08 */ cmplwi r0, 8
+/* 802DE124 002D9D84 41 81 00 7C */ bgt lbl_802DE1A0
+/* 802DE128 002D9D88 3C 60 80 44 */ lis r3, lbl_80444930@ha
+/* 802DE12C 002D9D8C 54 00 10 3A */ slwi r0, r0, 2
+/* 802DE130 002D9D90 38 63 49 30 */ addi r3, r3, lbl_80444930@l
+/* 802DE134 002D9D94 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802DE138 002D9D98 7C 69 03 A6 */ mtctr r3
+/* 802DE13C 002D9D9C 4E 80 04 20 */ bctr
+/* 802DE140 002D9DA0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE144 002D9DA4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE148 002D9DA8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE14C 002D9DAC 28 00 00 01 */ cmplwi r0, 1
+/* 802DE150 002D9DB0 41 80 00 7C */ blt lbl_802DE1CC
+/* 802DE154 002D9DB4 88 BC 00 6C */ lbz r5, 0x6c(r28)
+/* 802DE158 002D9DB8 7F A6 EB 78 */ mr r6, r29
+/* 802DE15C 002D9DBC 38 9F 00 3C */ addi r4, r31, 0x3c
+/* 802DE160 002D9DC0 3C 60 00 09 */ lis r3, 9
+/* 802DE164 002D9DC4 4B FD ED DD */ bl LogMsg_2
+/* 802DE168 002D9DC8 48 00 00 64 */ b lbl_802DE1CC
+/* 802DE16C 002D9DCC 7F 83 E3 78 */ mr r3, r28
+/* 802DE170 002D9DD0 7F C4 F3 78 */ mr r4, r30
+/* 802DE174 002D9DD4 48 00 06 91 */ bl rfc_mx_conf_ind
+/* 802DE178 002D9DD8 48 00 00 54 */ b lbl_802DE1CC
+/* 802DE17C 002D9DDC 7F 83 E3 78 */ mr r3, r28
+/* 802DE180 002D9DE0 7F C4 F3 78 */ mr r4, r30
+/* 802DE184 002D9DE4 48 00 05 8D */ bl rfc_mx_conf_cnf
+/* 802DE188 002D9DE8 48 00 00 44 */ b lbl_802DE1CC
+/* 802DE18C 002D9DEC 38 00 00 00 */ li r0, 0
+/* 802DE190 002D9DF0 7F 83 E3 78 */ mr r3, r28
+/* 802DE194 002D9DF4 98 1C 00 6C */ stb r0, 0x6c(r28)
+/* 802DE198 002D9DF8 4B FF E5 19 */ bl PORT_CloseInd
+/* 802DE19C 002D9DFC 48 00 00 30 */ b lbl_802DE1CC
+lbl_802DE1A0:
+/* 802DE1A0 002D9E00 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE1A4 002D9E04 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE1A8 002D9E08 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE1AC 002D9E0C 28 00 00 04 */ cmplwi r0, 4
+/* 802DE1B0 002D9E10 41 80 00 1C */ blt lbl_802DE1CC
+/* 802DE1B4 002D9E14 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE1B8 002D9E18 88 DC 00 6C */ lbz r6, 0x6c(r28)
+/* 802DE1BC 002D9E1C 7F A5 EB 78 */ mr r5, r29
+/* 802DE1C0 002D9E20 38 9F 00 70 */ addi r4, r31, 0x70
+/* 802DE1C4 002D9E24 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE1C8 002D9E28 4B FD ED 79 */ bl LogMsg_2
+lbl_802DE1CC:
+/* 802DE1CC 002D9E2C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DE1D0 002D9E30 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DE1D4 002D9E34 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DE1D8 002D9E38 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DE1DC 002D9E3C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DE1E0 002D9E40 7C 08 03 A6 */ mtlr r0
+/* 802DE1E4 002D9E44 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DE1E8 002D9E48 4E 80 00 20 */ blr
+
+rfc_mx_sm_sabme_wait_ua:
+/* 802DE1EC 002D9E4C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DE1F0 002D9E50 7C 08 02 A6 */ mflr r0
+/* 802DE1F4 002D9E54 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DE1F8 002D9E58 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DE1FC 002D9E5C 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DE200 002D9E60 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DE204 002D9E64 7C 7F 1B 78 */ mr r31, r3
+/* 802DE208 002D9E68 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DE20C 002D9E6C 3F C0 80 44 */ lis r30, lbl_80444818@ha
+/* 802DE210 002D9E70 3B DE 48 18 */ addi r30, r30, lbl_80444818@l
+/* 802DE214 002D9E74 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DE218 002D9E78 7C BD 2B 78 */ mr r29, r5
+/* 802DE21C 002D9E7C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DE220 002D9E80 7C 9C 23 78 */ mr r28, r4
+/* 802DE224 002D9E84 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DE228 002D9E88 28 00 00 04 */ cmplwi r0, 4
+/* 802DE22C 002D9E8C 41 80 00 18 */ blt lbl_802DE244
+/* 802DE230 002D9E90 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE234 002D9E94 7F 85 E3 78 */ mr r5, r28
+/* 802DE238 002D9E98 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE23C 002D9E9C 38 9E 01 3C */ addi r4, r30, 0x13c
+/* 802DE240 002D9EA0 4B FD EC E9 */ bl LogMsg_1
+lbl_802DE244:
+/* 802DE244 002D9EA4 28 1C 00 0E */ cmplwi r28, 0xe
+/* 802DE248 002D9EA8 41 81 00 CC */ bgt lbl_802DE314
+/* 802DE24C 002D9EAC 3C 60 80 44 */ lis r3, lbl_80444978@ha
+/* 802DE250 002D9EB0 57 80 10 3A */ slwi r0, r28, 2
+/* 802DE254 002D9EB4 38 63 49 78 */ addi r3, r3, lbl_80444978@l
+/* 802DE258 002D9EB8 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802DE25C 002D9EBC 7C 69 03 A6 */ mtctr r3
+/* 802DE260 002D9EC0 4E 80 04 20 */ bctr
+/* 802DE264 002D9EC4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE268 002D9EC8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE26C 002D9ECC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE270 002D9ED0 28 00 00 01 */ cmplwi r0, 1
+/* 802DE274 002D9ED4 41 80 00 CC */ blt lbl_802DE340
+/* 802DE278 002D9ED8 88 BF 00 6C */ lbz r5, 0x6c(r31)
+/* 802DE27C 002D9EDC 7F 86 E3 78 */ mr r6, r28
+/* 802DE280 002D9EE0 38 9E 00 3C */ addi r4, r30, 0x3c
+/* 802DE284 002D9EE4 3C 60 00 09 */ lis r3, 9
+/* 802DE288 002D9EE8 4B FD EC B9 */ bl LogMsg_2
+/* 802DE28C 002D9EEC 48 00 00 B4 */ b lbl_802DE340
+/* 802DE290 002D9EF0 7F E3 FB 78 */ mr r3, r31
+/* 802DE294 002D9EF4 7F A4 EB 78 */ mr r4, r29
+/* 802DE298 002D9EF8 48 00 05 6D */ bl rfc_mx_conf_ind
+/* 802DE29C 002D9EFC 48 00 00 A4 */ b lbl_802DE340
+/* 802DE2A0 002D9F00 7F E3 FB 78 */ mr r3, r31
+/* 802DE2A4 002D9F04 7F A4 EB 78 */ mr r4, r29
+/* 802DE2A8 002D9F08 48 00 04 69 */ bl rfc_mx_conf_cnf
+/* 802DE2AC 002D9F0C 48 00 00 94 */ b lbl_802DE340
+/* 802DE2B0 002D9F10 38 00 00 00 */ li r0, 0
+/* 802DE2B4 002D9F14 7F E3 FB 78 */ mr r3, r31
+/* 802DE2B8 002D9F18 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DE2BC 002D9F1C 4B FF E3 F5 */ bl PORT_CloseInd
+/* 802DE2C0 002D9F20 48 00 00 80 */ b lbl_802DE340
+/* 802DE2C4 002D9F24 7F E3 FB 78 */ mr r3, r31
+/* 802DE2C8 002D9F28 48 00 36 19 */ bl rfc_timer_stop
+/* 802DE2CC 002D9F2C 38 60 00 05 */ li r3, 5
+/* 802DE2D0 002D9F30 38 00 00 01 */ li r0, 1
+/* 802DE2D4 002D9F34 98 7F 00 6C */ stb r3, 0x6c(r31)
+/* 802DE2D8 002D9F38 7F E3 FB 78 */ mr r3, r31
+/* 802DE2DC 002D9F3C 38 80 00 00 */ li r4, 0
+/* 802DE2E0 002D9F40 98 1F 00 71 */ stb r0, 0x71(r31)
+/* 802DE2E4 002D9F44 4B FF D6 C5 */ bl PORT_StartCnf
+/* 802DE2E8 002D9F48 48 00 00 58 */ b lbl_802DE340
+/* 802DE2EC 002D9F4C 7F E3 FB 78 */ mr r3, r31
+/* 802DE2F0 002D9F50 48 00 35 F1 */ bl rfc_timer_stop
+/* 802DE2F4 002D9F54 38 00 00 00 */ li r0, 0
+/* 802DE2F8 002D9F58 A0 7F 00 68 */ lhz r3, 0x68(r31)
+/* 802DE2FC 002D9F5C 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802DE300 002D9F60 4B FF 7C A9 */ bl L2CA_DisconnectReq
+/* 802DE304 002D9F64 7F E3 FB 78 */ mr r3, r31
+/* 802DE308 002D9F68 38 80 00 01 */ li r4, 1
+/* 802DE30C 002D9F6C 4B FF D6 9D */ bl PORT_StartCnf
+/* 802DE310 002D9F70 48 00 00 30 */ b lbl_802DE340
+lbl_802DE314:
+/* 802DE314 002D9F74 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE318 002D9F78 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE31C 002D9F7C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE320 002D9F80 28 00 00 04 */ cmplwi r0, 4
+/* 802DE324 002D9F84 41 80 00 1C */ blt lbl_802DE340
+/* 802DE328 002D9F88 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE32C 002D9F8C 88 DF 00 6C */ lbz r6, 0x6c(r31)
+/* 802DE330 002D9F90 7F 85 E3 78 */ mr r5, r28
+/* 802DE334 002D9F94 38 9E 00 70 */ addi r4, r30, 0x70
+/* 802DE338 002D9F98 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE33C 002D9F9C 4B FD EC 05 */ bl LogMsg_2
+lbl_802DE340:
+/* 802DE340 002D9FA0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DE344 002D9FA4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DE348 002D9FA8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DE34C 002D9FAC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DE350 002D9FB0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DE354 002D9FB4 7C 08 03 A6 */ mtlr r0
+/* 802DE358 002D9FB8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DE35C 002D9FBC 4E 80 00 20 */ blr
+
+rfc_mx_sm_state_wait_sabme:
+/* 802DE360 002D9FC0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DE364 002D9FC4 7C 08 02 A6 */ mflr r0
+/* 802DE368 002D9FC8 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DE36C 002D9FCC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DE370 002D9FD0 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DE374 002D9FD4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DE378 002D9FD8 7C BF 2B 78 */ mr r31, r5
+/* 802DE37C 002D9FDC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DE380 002D9FE0 7C 9E 23 78 */ mr r30, r4
+/* 802DE384 002D9FE4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DE388 002D9FE8 7C 7D 1B 78 */ mr r29, r3
+/* 802DE38C 002D9FEC 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DE390 002D9FF0 28 00 00 04 */ cmplwi r0, 4
+/* 802DE394 002D9FF4 41 80 00 1C */ blt lbl_802DE3B0
+/* 802DE398 002D9FF8 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE39C 002D9FFC 3C 80 80 44 */ lis r4, lbl_804449B4@ha
+/* 802DE3A0 002DA000 7F C5 F3 78 */ mr r5, r30
+/* 802DE3A4 002DA004 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE3A8 002DA008 38 84 49 B4 */ addi r4, r4, lbl_804449B4@l
+/* 802DE3AC 002DA00C 4B FD EB 7D */ bl LogMsg_1
+lbl_802DE3B0:
+/* 802DE3B0 002DA010 2C 1E 00 07 */ cmpwi r30, 7
+/* 802DE3B4 002DA014 41 82 00 40 */ beq lbl_802DE3F4
+/* 802DE3B8 002DA018 40 80 00 10 */ bge lbl_802DE3C8
+/* 802DE3BC 002DA01C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DE3C0 002DA020 41 82 00 28 */ beq lbl_802DE3E8
+/* 802DE3C4 002DA024 48 00 00 70 */ b lbl_802DE434
+lbl_802DE3C8:
+/* 802DE3C8 002DA028 2C 1E 00 0E */ cmpwi r30, 0xe
+/* 802DE3CC 002DA02C 41 82 00 08 */ beq lbl_802DE3D4
+/* 802DE3D0 002DA030 48 00 00 64 */ b lbl_802DE434
+lbl_802DE3D4:
+/* 802DE3D4 002DA034 38 00 00 00 */ li r0, 0
+/* 802DE3D8 002DA038 7F A3 EB 78 */ mr r3, r29
+/* 802DE3DC 002DA03C 98 1D 00 6C */ stb r0, 0x6c(r29)
+/* 802DE3E0 002DA040 4B FF E2 D1 */ bl PORT_CloseInd
+/* 802DE3E4 002DA044 48 00 00 80 */ b lbl_802DE464
+lbl_802DE3E8:
+/* 802DE3E8 002DA048 7F A3 EB 78 */ mr r3, r29
+/* 802DE3EC 002DA04C 4B FF D7 1D */ bl PORT_StartInd
+/* 802DE3F0 002DA050 48 00 00 74 */ b lbl_802DE464
+lbl_802DE3F4:
+/* 802DE3F4 002DA054 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 802DE3F8 002DA058 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE3FC 002DA05C 41 82 00 18 */ beq lbl_802DE414
+/* 802DE400 002DA060 7F A3 EB 78 */ mr r3, r29
+/* 802DE404 002DA064 38 80 00 00 */ li r4, 0
+/* 802DE408 002DA068 38 A0 00 01 */ li r5, 1
+/* 802DE40C 002DA06C 48 00 1D 15 */ bl rfc_send_dm
+/* 802DE410 002DA070 48 00 00 54 */ b lbl_802DE464
+lbl_802DE414:
+/* 802DE414 002DA074 7F A3 EB 78 */ mr r3, r29
+/* 802DE418 002DA078 38 80 00 00 */ li r4, 0
+/* 802DE41C 002DA07C 48 00 1C 55 */ bl rfc_send_ua
+/* 802DE420 002DA080 38 60 00 05 */ li r3, 5
+/* 802DE424 002DA084 38 00 00 01 */ li r0, 1
+/* 802DE428 002DA088 98 7D 00 6C */ stb r3, 0x6c(r29)
+/* 802DE42C 002DA08C 98 1D 00 71 */ stb r0, 0x71(r29)
+/* 802DE430 002DA090 48 00 00 34 */ b lbl_802DE464
+lbl_802DE434:
+/* 802DE434 002DA094 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE438 002DA098 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE43C 002DA09C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE440 002DA0A0 28 00 00 04 */ cmplwi r0, 4
+/* 802DE444 002DA0A4 41 80 00 20 */ blt lbl_802DE464
+/* 802DE448 002DA0A8 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE44C 002DA0AC 3C 80 80 44 */ lis r4, lbl_80444888@ha
+/* 802DE450 002DA0B0 88 DD 00 6C */ lbz r6, 0x6c(r29)
+/* 802DE454 002DA0B4 7F C5 F3 78 */ mr r5, r30
+/* 802DE458 002DA0B8 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE45C 002DA0BC 38 84 48 88 */ addi r4, r4, lbl_80444888@l
+/* 802DE460 002DA0C0 4B FD EA E1 */ bl LogMsg_2
+lbl_802DE464:
+/* 802DE464 002DA0C4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DE468 002DA0C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DE46C 002DA0CC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DE470 002DA0D0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DE474 002DA0D4 7C 08 03 A6 */ mtlr r0
+/* 802DE478 002DA0D8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DE47C 002DA0DC 4E 80 00 20 */ blr
+
+rfc_mx_sm_state_connected:
+/* 802DE480 002DA0E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DE484 002DA0E4 7C 08 02 A6 */ mflr r0
+/* 802DE488 002DA0E8 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DE48C 002DA0EC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DE490 002DA0F0 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DE494 002DA0F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DE498 002DA0F8 7C 9F 23 78 */ mr r31, r4
+/* 802DE49C 002DA0FC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DE4A0 002DA100 7C 7E 1B 78 */ mr r30, r3
+/* 802DE4A4 002DA104 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DE4A8 002DA108 28 00 00 04 */ cmplwi r0, 4
+/* 802DE4AC 002DA10C 41 80 00 1C */ blt lbl_802DE4C8
+/* 802DE4B0 002DA110 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE4B4 002DA114 3C 80 80 44 */ lis r4, lbl_804449D8@ha
+/* 802DE4B8 002DA118 7F E5 FB 78 */ mr r5, r31
+/* 802DE4BC 002DA11C 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE4C0 002DA120 38 84 49 D8 */ addi r4, r4, lbl_804449D8@l
+/* 802DE4C4 002DA124 4B FD EA 65 */ bl LogMsg_1
+lbl_802DE4C8:
+/* 802DE4C8 002DA128 38 1F FF FD */ addi r0, r31, -3
+/* 802DE4CC 002DA12C 28 00 00 0B */ cmplwi r0, 0xb
+/* 802DE4D0 002DA130 41 81 00 80 */ bgt lbl_802DE550
+/* 802DE4D4 002DA134 3C 60 80 44 */ lis r3, lbl_804449FC@ha
+/* 802DE4D8 002DA138 54 00 10 3A */ slwi r0, r0, 2
+/* 802DE4DC 002DA13C 38 63 49 FC */ addi r3, r3, lbl_804449FC@l
+/* 802DE4E0 002DA140 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802DE4E4 002DA144 7C 69 03 A6 */ mtctr r3
+/* 802DE4E8 002DA148 4E 80 04 20 */ bctr
+/* 802DE4EC 002DA14C 7F C3 F3 78 */ mr r3, r30
+/* 802DE4F0 002DA150 38 80 00 03 */ li r4, 3
+/* 802DE4F4 002DA154 48 00 33 79 */ bl rfc_timer_start
+/* 802DE4F8 002DA158 38 00 00 06 */ li r0, 6
+/* 802DE4FC 002DA15C 7F C3 F3 78 */ mr r3, r30
+/* 802DE500 002DA160 98 1E 00 6C */ stb r0, 0x6c(r30)
+/* 802DE504 002DA164 38 80 00 00 */ li r4, 0
+/* 802DE508 002DA168 48 00 1C DD */ bl rfc_send_disc
+/* 802DE50C 002DA16C 48 00 00 74 */ b lbl_802DE580
+/* 802DE510 002DA170 38 00 00 00 */ li r0, 0
+/* 802DE514 002DA174 7F C3 F3 78 */ mr r3, r30
+/* 802DE518 002DA178 98 1E 00 6C */ stb r0, 0x6c(r30)
+/* 802DE51C 002DA17C 4B FF E1 95 */ bl PORT_CloseInd
+/* 802DE520 002DA180 48 00 00 60 */ b lbl_802DE580
+/* 802DE524 002DA184 7F C3 F3 78 */ mr r3, r30
+/* 802DE528 002DA188 38 80 00 00 */ li r4, 0
+/* 802DE52C 002DA18C 48 00 1B 45 */ bl rfc_send_ua
+/* 802DE530 002DA190 88 1E 00 6D */ lbz r0, 0x6d(r30)
+/* 802DE534 002DA194 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE538 002DA198 41 82 00 0C */ beq lbl_802DE544
+/* 802DE53C 002DA19C A0 7E 00 68 */ lhz r3, 0x68(r30)
+/* 802DE540 002DA1A0 4B FF 7A 69 */ bl L2CA_DisconnectReq
+lbl_802DE544:
+/* 802DE544 002DA1A4 7F C3 F3 78 */ mr r3, r30
+/* 802DE548 002DA1A8 4B FF E1 69 */ bl PORT_CloseInd
+/* 802DE54C 002DA1AC 48 00 00 34 */ b lbl_802DE580
+lbl_802DE550:
+/* 802DE550 002DA1B0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE554 002DA1B4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE558 002DA1B8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE55C 002DA1BC 28 00 00 04 */ cmplwi r0, 4
+/* 802DE560 002DA1C0 41 80 00 20 */ blt lbl_802DE580
+/* 802DE564 002DA1C4 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE568 002DA1C8 3C 80 80 44 */ lis r4, lbl_80444888@ha
+/* 802DE56C 002DA1CC 88 DE 00 6C */ lbz r6, 0x6c(r30)
+/* 802DE570 002DA1D0 7F E5 FB 78 */ mr r5, r31
+/* 802DE574 002DA1D4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE578 002DA1D8 38 84 48 88 */ addi r4, r4, lbl_80444888@l
+/* 802DE57C 002DA1DC 4B FD E9 C5 */ bl LogMsg_2
+lbl_802DE580:
+/* 802DE580 002DA1E0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DE584 002DA1E4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DE588 002DA1E8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DE58C 002DA1EC 7C 08 03 A6 */ mtlr r0
+/* 802DE590 002DA1F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DE594 002DA1F4 4E 80 00 20 */ blr
+
+rfc_mx_sm_state_disc_wait_ua:
+/* 802DE598 002DA1F8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DE59C 002DA1FC 7C 08 02 A6 */ mflr r0
+/* 802DE5A0 002DA200 3C C0 80 57 */ lis r6, lbl_8056C428@ha
+/* 802DE5A4 002DA204 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DE5A8 002DA208 38 C6 C4 28 */ addi r6, r6, lbl_8056C428@l
+/* 802DE5AC 002DA20C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DE5B0 002DA210 7C BF 2B 78 */ mr r31, r5
+/* 802DE5B4 002DA214 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DE5B8 002DA218 7C 9E 23 78 */ mr r30, r4
+/* 802DE5BC 002DA21C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DE5C0 002DA220 7C 7D 1B 78 */ mr r29, r3
+/* 802DE5C4 002DA224 88 06 04 14 */ lbz r0, 0x414(r6)
+/* 802DE5C8 002DA228 28 00 00 04 */ cmplwi r0, 4
+/* 802DE5CC 002DA22C 41 80 00 1C */ blt lbl_802DE5E8
+/* 802DE5D0 002DA230 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE5D4 002DA234 3C 80 80 44 */ lis r4, lbl_80444A2C@ha
+/* 802DE5D8 002DA238 7F C5 F3 78 */ mr r5, r30
+/* 802DE5DC 002DA23C 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE5E0 002DA240 38 84 4A 2C */ addi r4, r4, lbl_80444A2C@l
+/* 802DE5E4 002DA244 4B FD E9 45 */ bl LogMsg_1
+lbl_802DE5E8:
+/* 802DE5E8 002DA248 28 1E 00 0E */ cmplwi r30, 0xe
+/* 802DE5EC 002DA24C 41 81 00 D8 */ bgt lbl_802DE6C4
+/* 802DE5F0 002DA250 3C 60 80 44 */ lis r3, lbl_80444A54@ha
+/* 802DE5F4 002DA254 57 C0 10 3A */ slwi r0, r30, 2
+/* 802DE5F8 002DA258 38 63 4A 54 */ addi r3, r3, lbl_80444A54@l
+/* 802DE5FC 002DA25C 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802DE600 002DA260 7C 69 03 A6 */ mtctr r3
+/* 802DE604 002DA264 4E 80 04 20 */ bctr
+/* 802DE608 002DA268 A0 7D 00 68 */ lhz r3, 0x68(r29)
+/* 802DE60C 002DA26C 4B FF 79 9D */ bl L2CA_DisconnectReq
+/* 802DE610 002DA270 88 1D 00 70 */ lbz r0, 0x70(r29)
+/* 802DE614 002DA274 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE618 002DA278 41 82 00 50 */ beq lbl_802DE668
+/* 802DE61C 002DA27C 38 9D 00 62 */ addi r4, r29, 0x62
+/* 802DE620 002DA280 38 60 00 03 */ li r3, 3
+/* 802DE624 002DA284 4B FF 74 39 */ bl L2CA_ConnectReq
+/* 802DE628 002DA288 54 64 04 3F */ clrlwi. r4, r3, 0x10
+/* 802DE62C 002DA28C B0 7D 00 68 */ sth r3, 0x68(r29)
+/* 802DE630 002DA290 40 82 00 14 */ bne lbl_802DE644
+/* 802DE634 002DA294 7F A3 EB 78 */ mr r3, r29
+/* 802DE638 002DA298 38 80 00 01 */ li r4, 1
+/* 802DE63C 002DA29C 4B FF D3 6D */ bl PORT_StartCnf
+/* 802DE640 002DA2A0 48 00 00 B4 */ b lbl_802DE6F4
+lbl_802DE644:
+/* 802DE644 002DA2A4 7F A3 EB 78 */ mr r3, r29
+/* 802DE648 002DA2A8 4B FF F6 4D */ bl rfc_save_lcid_mcb
+/* 802DE64C 002DA2AC 38 60 00 00 */ li r3, 0
+/* 802DE650 002DA2B0 38 00 00 01 */ li r0, 1
+/* 802DE654 002DA2B4 98 7D 00 70 */ stb r3, 0x70(r29)
+/* 802DE658 002DA2B8 98 7D 00 6E */ stb r3, 0x6e(r29)
+/* 802DE65C 002DA2BC 98 7D 00 6F */ stb r3, 0x6f(r29)
+/* 802DE660 002DA2C0 98 1D 00 6C */ stb r0, 0x6c(r29)
+/* 802DE664 002DA2C4 48 00 00 90 */ b lbl_802DE6F4
+lbl_802DE668:
+/* 802DE668 002DA2C8 7F A3 EB 78 */ mr r3, r29
+/* 802DE66C 002DA2CC 48 00 31 79 */ bl rfc_release_multiplexer_channel
+/* 802DE670 002DA2D0 48 00 00 84 */ b lbl_802DE6F4
+/* 802DE674 002DA2D4 7F A3 EB 78 */ mr r3, r29
+/* 802DE678 002DA2D8 38 80 00 00 */ li r4, 0
+/* 802DE67C 002DA2DC 48 00 19 F5 */ bl rfc_send_ua
+/* 802DE680 002DA2E0 48 00 00 74 */ b lbl_802DE6F4
+/* 802DE684 002DA2E4 7F E3 FB 78 */ mr r3, r31
+/* 802DE688 002DA2E8 4B FD B6 AD */ bl GKI_freebuf
+/* 802DE68C 002DA2EC 7F A3 EB 78 */ mr r3, r29
+/* 802DE690 002DA2F0 38 80 00 00 */ li r4, 0
+/* 802DE694 002DA2F4 38 A0 00 00 */ li r5, 0
+/* 802DE698 002DA2F8 48 00 1A 89 */ bl rfc_send_dm
+/* 802DE69C 002DA2FC 48 00 00 58 */ b lbl_802DE6F4
+/* 802DE6A0 002DA300 38 00 00 01 */ li r0, 1
+/* 802DE6A4 002DA304 98 1D 00 70 */ stb r0, 0x70(r29)
+/* 802DE6A8 002DA308 48 00 00 4C */ b lbl_802DE6F4
+/* 802DE6AC 002DA30C 38 00 00 00 */ li r0, 0
+/* 802DE6B0 002DA310 7F A3 EB 78 */ mr r3, r29
+/* 802DE6B4 002DA314 98 1D 00 6C */ stb r0, 0x6c(r29)
+/* 802DE6B8 002DA318 4B FF DF F9 */ bl PORT_CloseInd
+/* 802DE6BC 002DA31C 48 00 00 38 */ b lbl_802DE6F4
+/* 802DE6C0 002DA320 48 00 00 34 */ b lbl_802DE6F4
+lbl_802DE6C4:
+/* 802DE6C4 002DA324 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE6C8 002DA328 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE6CC 002DA32C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE6D0 002DA330 28 00 00 04 */ cmplwi r0, 4
+/* 802DE6D4 002DA334 41 80 00 20 */ blt lbl_802DE6F4
+/* 802DE6D8 002DA338 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE6DC 002DA33C 3C 80 80 44 */ lis r4, lbl_80444888@ha
+/* 802DE6E0 002DA340 88 DD 00 6C */ lbz r6, 0x6c(r29)
+/* 802DE6E4 002DA344 7F C5 F3 78 */ mr r5, r30
+/* 802DE6E8 002DA348 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE6EC 002DA34C 38 84 48 88 */ addi r4, r4, lbl_80444888@l
+/* 802DE6F0 002DA350 4B FD E8 51 */ bl LogMsg_2
+lbl_802DE6F4:
+/* 802DE6F4 002DA354 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DE6F8 002DA358 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DE6FC 002DA35C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DE700 002DA360 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DE704 002DA364 7C 08 03 A6 */ mtlr r0
+/* 802DE708 002DA368 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DE70C 002DA36C 4E 80 00 20 */ blr
+
+.global rfc_mx_conf_cnf
+rfc_mx_conf_cnf:
+/* 802DE710 002DA370 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DE714 002DA374 7C 08 02 A6 */ mflr r0
+/* 802DE718 002DA378 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DE71C 002DA37C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DE720 002DA380 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DE724 002DA384 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DE728 002DA388 7C 9F 23 78 */ mr r31, r4
+/* 802DE72C 002DA38C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DE730 002DA390 7C 7E 1B 78 */ mr r30, r3
+/* 802DE734 002DA394 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DE738 002DA398 28 00 00 04 */ cmplwi r0, 4
+/* 802DE73C 002DA39C 41 80 00 30 */ blt lbl_802DE76C
+/* 802DE740 002DA3A0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DE744 002DA3A4 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE748 002DA3A8 3C 80 80 44 */ lis r4, lbl_80444A90@ha
+/* 802DE74C 002DA3AC 7F E5 FB 78 */ mr r5, r31
+/* 802DE750 002DA3B0 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE754 002DA3B4 38 84 4A 90 */ addi r4, r4, lbl_80444A90@l
+/* 802DE758 002DA3B8 41 82 00 0C */ beq lbl_802DE764
+/* 802DE75C 002DA3BC A0 DF 00 00 */ lhz r6, 0(r31)
+/* 802DE760 002DA3C0 48 00 00 08 */ b lbl_802DE768
+lbl_802DE764:
+/* 802DE764 002DA3C4 38 C0 00 00 */ li r6, 0
+lbl_802DE768:
+/* 802DE768 002DA3C8 4B FD E7 D9 */ bl LogMsg_2
+lbl_802DE76C:
+/* 802DE76C 002DA3CC A0 9F 00 00 */ lhz r4, 0(r31)
+/* 802DE770 002DA3D0 2C 04 00 00 */ cmpwi r4, 0
+/* 802DE774 002DA3D4 41 82 00 2C */ beq lbl_802DE7A0
+/* 802DE778 002DA3D8 88 1E 00 6D */ lbz r0, 0x6d(r30)
+/* 802DE77C 002DA3DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE780 002DA3E0 41 82 00 14 */ beq lbl_802DE794
+/* 802DE784 002DA3E4 7F C3 F3 78 */ mr r3, r30
+/* 802DE788 002DA3E8 4B FF D2 21 */ bl PORT_StartCnf
+/* 802DE78C 002DA3EC A0 7E 00 68 */ lhz r3, 0x68(r30)
+/* 802DE790 002DA3F0 4B FF 78 19 */ bl L2CA_DisconnectReq
+lbl_802DE794:
+/* 802DE794 002DA3F4 7F C3 F3 78 */ mr r3, r30
+/* 802DE798 002DA3F8 48 00 30 4D */ bl rfc_release_multiplexer_channel
+/* 802DE79C 002DA3FC 48 00 00 50 */ b lbl_802DE7EC
+lbl_802DE7A0:
+/* 802DE7A0 002DA400 88 1E 00 6C */ lbz r0, 0x6c(r30)
+/* 802DE7A4 002DA404 38 60 00 01 */ li r3, 1
+/* 802DE7A8 002DA408 98 7E 00 6E */ stb r3, 0x6e(r30)
+/* 802DE7AC 002DA40C 28 00 00 02 */ cmplwi r0, 2
+/* 802DE7B0 002DA410 40 82 00 3C */ bne lbl_802DE7EC
+/* 802DE7B4 002DA414 88 1E 00 6F */ lbz r0, 0x6f(r30)
+/* 802DE7B8 002DA418 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE7BC 002DA41C 41 82 00 30 */ beq lbl_802DE7EC
+/* 802DE7C0 002DA420 88 1E 00 6D */ lbz r0, 0x6d(r30)
+/* 802DE7C4 002DA424 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE7C8 002DA428 41 82 00 1C */ beq lbl_802DE7E4
+/* 802DE7CC 002DA42C 38 00 00 03 */ li r0, 3
+/* 802DE7D0 002DA430 7F C3 F3 78 */ mr r3, r30
+/* 802DE7D4 002DA434 98 1E 00 6C */ stb r0, 0x6c(r30)
+/* 802DE7D8 002DA438 38 80 00 00 */ li r4, 0
+/* 802DE7DC 002DA43C 48 00 17 E5 */ bl rfc_send_sabme
+/* 802DE7E0 002DA440 48 00 00 0C */ b lbl_802DE7EC
+lbl_802DE7E4:
+/* 802DE7E4 002DA444 38 00 00 04 */ li r0, 4
+/* 802DE7E8 002DA448 98 1E 00 6C */ stb r0, 0x6c(r30)
+lbl_802DE7EC:
+/* 802DE7EC 002DA44C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DE7F0 002DA450 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DE7F4 002DA454 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DE7F8 002DA458 7C 08 03 A6 */ mtlr r0
+/* 802DE7FC 002DA45C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DE800 002DA460 4E 80 00 20 */ blr
+
+.global rfc_mx_conf_ind
+rfc_mx_conf_ind:
+/* 802DE804 002DA464 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DE808 002DA468 7C 08 02 A6 */ mflr r0
+/* 802DE80C 002DA46C 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DE810 002DA470 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DE814 002DA474 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DE818 002DA478 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DE81C 002DA47C 7C 9F 23 78 */ mr r31, r4
+/* 802DE820 002DA480 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DE824 002DA484 7C 7E 1B 78 */ mr r30, r3
+/* 802DE828 002DA488 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802DE82C 002DA48C 28 00 00 04 */ cmplwi r0, 4
+/* 802DE830 002DA490 41 80 00 1C */ blt lbl_802DE84C
+/* 802DE834 002DA494 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802DE838 002DA498 3C 80 80 44 */ lis r4, lbl_80444AB4@ha
+/* 802DE83C 002DA49C 7F E5 FB 78 */ mr r5, r31
+/* 802DE840 002DA4A0 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802DE844 002DA4A4 38 84 4A B4 */ addi r4, r4, lbl_80444AB4@l
+/* 802DE848 002DA4A8 4B FD E6 E1 */ bl LogMsg_1
+lbl_802DE84C:
+/* 802DE84C 002DA4AC 88 1F 00 02 */ lbz r0, 2(r31)
+/* 802DE850 002DA4B0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE854 002DA4B4 41 82 00 14 */ beq lbl_802DE868
+/* 802DE858 002DA4B8 A0 7F 00 04 */ lhz r3, 4(r31)
+/* 802DE85C 002DA4BC 38 03 FF FA */ addi r0, r3, -6
+/* 802DE860 002DA4C0 B0 1E 00 6A */ sth r0, 0x6a(r30)
+/* 802DE864 002DA4C4 48 00 00 0C */ b lbl_802DE870
+lbl_802DE868:
+/* 802DE868 002DA4C8 38 00 02 9A */ li r0, 0x29a
+/* 802DE86C 002DA4CC B0 1E 00 6A */ sth r0, 0x6a(r30)
+lbl_802DE870:
+/* 802DE870 002DA4D0 38 00 00 00 */ li r0, 0
+/* 802DE874 002DA4D4 7F E4 FB 78 */ mr r4, r31
+/* 802DE878 002DA4D8 98 1F 00 02 */ stb r0, 2(r31)
+/* 802DE87C 002DA4DC 98 1F 00 20 */ stb r0, 0x20(r31)
+/* 802DE880 002DA4E0 98 1F 00 06 */ stb r0, 6(r31)
+/* 802DE884 002DA4E4 B0 1F 00 00 */ sth r0, 0(r31)
+/* 802DE888 002DA4E8 A0 7E 00 68 */ lhz r3, 0x68(r30)
+/* 802DE88C 002DA4EC 4B FF 76 4D */ bl L2CA_ConfigRsp
+/* 802DE890 002DA4F0 88 1E 00 6C */ lbz r0, 0x6c(r30)
+/* 802DE894 002DA4F4 38 60 00 01 */ li r3, 1
+/* 802DE898 002DA4F8 98 7E 00 6F */ stb r3, 0x6f(r30)
+/* 802DE89C 002DA4FC 28 00 00 02 */ cmplwi r0, 2
+/* 802DE8A0 002DA500 40 82 00 3C */ bne lbl_802DE8DC
+/* 802DE8A4 002DA504 88 1E 00 6E */ lbz r0, 0x6e(r30)
+/* 802DE8A8 002DA508 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE8AC 002DA50C 41 82 00 30 */ beq lbl_802DE8DC
+/* 802DE8B0 002DA510 88 1E 00 6D */ lbz r0, 0x6d(r30)
+/* 802DE8B4 002DA514 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE8B8 002DA518 41 82 00 1C */ beq lbl_802DE8D4
+/* 802DE8BC 002DA51C 38 00 00 03 */ li r0, 3
+/* 802DE8C0 002DA520 7F C3 F3 78 */ mr r3, r30
+/* 802DE8C4 002DA524 98 1E 00 6C */ stb r0, 0x6c(r30)
+/* 802DE8C8 002DA528 38 80 00 00 */ li r4, 0
+/* 802DE8CC 002DA52C 48 00 16 F5 */ bl rfc_send_sabme
+/* 802DE8D0 002DA530 48 00 00 0C */ b lbl_802DE8DC
+lbl_802DE8D4:
+/* 802DE8D4 002DA534 38 00 00 04 */ li r0, 4
+/* 802DE8D8 002DA538 98 1E 00 6C */ stb r0, 0x6c(r30)
+lbl_802DE8DC:
+/* 802DE8DC 002DA53C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DE8E0 002DA540 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DE8E4 002DA544 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DE8E8 002DA548 7C 08 03 A6 */ mtlr r0
+/* 802DE8EC 002DA54C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DE8F0 002DA550 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/rfc_port_fsm.s b/asm/SDK/BTE/rfc_port_fsm.s new file mode 100644 index 0000000..d3a4597 --- /dev/null +++ b/asm/SDK/BTE/rfc_port_fsm.s @@ -0,0 +1,1244 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global rfc_port_sm_execute
+rfc_port_sm_execute:
+/* 802DE8F4 002DA554 2C 03 00 00 */ cmpwi r3, 0
+/* 802DE8F8 002DA558 7C 86 23 78 */ mr r6, r4
+/* 802DE8FC 002DA55C 40 82 00 34 */ bne lbl_802DE930
+/* 802DE900 002DA560 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DE904 002DA564 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DE908 002DA568 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DE90C 002DA56C 28 00 00 02 */ cmplwi r0, 2
+/* 802DE910 002DA570 4D 80 00 20 */ bltlr
+/* 802DE914 002DA574 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DE918 002DA578 3C 80 80 44 */ lis r4, lbl_80444AD0@ha
+/* 802DE91C 002DA57C 7C C5 33 78 */ mr r5, r6
+/* 802DE920 002DA580 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DE924 002DA584 38 84 4A D0 */ addi r4, r4, lbl_80444AD0@l
+/* 802DE928 002DA588 4B FD E6 00 */ b LogMsg_1
+/* 802DE92C 002DA58C 4E 80 00 20 */ blr
+lbl_802DE930:
+/* 802DE930 002DA590 88 03 00 68 */ lbz r0, 0x68(r3)
+/* 802DE934 002DA594 2C 00 00 03 */ cmpwi r0, 3
+/* 802DE938 002DA598 41 82 00 3C */ beq lbl_802DE974
+/* 802DE93C 002DA59C 40 80 00 1C */ bge lbl_802DE958
+/* 802DE940 002DA5A0 2C 00 00 01 */ cmpwi r0, 1
+/* 802DE944 002DA5A4 41 82 00 28 */ beq lbl_802DE96C
+/* 802DE948 002DA5A8 40 80 00 28 */ bge lbl_802DE970
+/* 802DE94C 002DA5AC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DE950 002DA5B0 40 80 00 18 */ bge lbl_802DE968
+/* 802DE954 002DA5B4 4E 80 00 20 */ blr
+lbl_802DE958:
+/* 802DE958 002DA5B8 2C 00 00 05 */ cmpwi r0, 5
+/* 802DE95C 002DA5BC 41 82 00 20 */ beq lbl_802DE97C
+/* 802DE960 002DA5C0 4C 80 00 20 */ bgelr
+/* 802DE964 002DA5C4 48 00 00 14 */ b lbl_802DE978
+lbl_802DE968:
+/* 802DE968 002DA5C8 48 00 00 1C */ b rfc_port_sm_state_closed
+lbl_802DE96C:
+/* 802DE96C 002DA5CC 48 00 01 8C */ b rfc_port_sm_sabme_wait_ua
+lbl_802DE970:
+/* 802DE970 002DA5D0 48 00 04 E0 */ b rfc_port_sm_orig_wait_sec_check
+lbl_802DE974:
+/* 802DE974 002DA5D4 48 00 03 20 */ b rfc_port_sm_term_wait_sec_check
+lbl_802DE978:
+/* 802DE978 002DA5D8 48 00 06 28 */ b rfc_port_sm_opened
+lbl_802DE97C:
+/* 802DE97C 002DA5DC 48 00 08 10 */ b rfc_port_sm_disc_wait_ua
+/* 802DE980 002DA5E0 4E 80 00 20 */ blr
+
+rfc_port_sm_state_closed:
+/* 802DE984 002DA5E4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DE988 002DA5E8 7C 08 02 A6 */ mflr r0
+/* 802DE98C 002DA5EC 28 04 00 0E */ cmplwi r4, 0xe
+/* 802DE990 002DA5F0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DE994 002DA5F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DE998 002DA5F8 7C 9F 23 78 */ mr r31, r4
+/* 802DE99C 002DA5FC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DE9A0 002DA600 7C 7E 1B 78 */ mr r30, r3
+/* 802DE9A4 002DA604 41 81 01 10 */ bgt lbl_802DEAB4
+/* 802DE9A8 002DA608 3C C0 80 44 */ lis r6, lbl_80444B28@ha
+/* 802DE9AC 002DA60C 54 80 10 3A */ slwi r0, r4, 2
+/* 802DE9B0 002DA610 38 C6 4B 28 */ addi r6, r6, lbl_80444B28@l
+/* 802DE9B4 002DA614 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802DE9B8 002DA618 7C C9 03 A6 */ mtctr r6
+/* 802DE9BC 002DA61C 4E 80 04 20 */ bctr
+/* 802DE9C0 002DA620 88 1E 00 0D */ lbz r0, 0xd(r30)
+/* 802DE9C4 002DA624 38 A0 00 02 */ li r5, 2
+/* 802DE9C8 002DA628 3D 00 80 2E */ lis r8, rfc_sec_check_complete@ha
+/* 802DE9CC 002DA62C 98 A3 00 68 */ stb r5, 0x68(r3)
+/* 802DE9D0 002DA630 80 83 00 6C */ lwz r4, 0x6c(r3)
+/* 802DE9D4 002DA634 7F C9 F3 78 */ mr r9, r30
+/* 802DE9D8 002DA638 54 07 F8 7E */ srwi r7, r0, 1
+/* 802DE9DC 002DA63C 39 08 1B 10 */ addi r8, r8, rfc_sec_check_complete@l
+/* 802DE9E0 002DA640 38 64 00 62 */ addi r3, r4, 0x62
+/* 802DE9E4 002DA644 38 80 00 03 */ li r4, 3
+/* 802DE9E8 002DA648 38 A0 00 01 */ li r5, 1
+/* 802DE9EC 002DA64C 38 C0 00 03 */ li r6, 3
+/* 802DE9F0 002DA650 4B FE CD 8D */ bl btm_sec_mx_access_request
+/* 802DE9F4 002DA654 48 00 00 EC */ b lbl_802DEAE0
+/* 802DE9F8 002DA658 48 00 00 E8 */ b lbl_802DEAE0
+/* 802DE9FC 002DA65C 7C A3 2B 78 */ mr r3, r5
+/* 802DEA00 002DA660 4B FD B3 35 */ bl GKI_freebuf
+/* 802DEA04 002DA664 48 00 00 B0 */ b lbl_802DEAB4
+/* 802DEA08 002DA668 88 1E 00 0D */ lbz r0, 0xd(r30)
+/* 802DEA0C 002DA66C 38 A0 00 03 */ li r5, 3
+/* 802DEA10 002DA670 3D 00 80 2E */ lis r8, rfc_sec_check_complete@ha
+/* 802DEA14 002DA674 98 A3 00 68 */ stb r5, 0x68(r3)
+/* 802DEA18 002DA678 80 83 00 6C */ lwz r4, 0x6c(r3)
+/* 802DEA1C 002DA67C 7F C9 F3 78 */ mr r9, r30
+/* 802DEA20 002DA680 54 07 F8 7E */ srwi r7, r0, 1
+/* 802DEA24 002DA684 39 08 1B 10 */ addi r8, r8, rfc_sec_check_complete@l
+/* 802DEA28 002DA688 38 64 00 62 */ addi r3, r4, 0x62
+/* 802DEA2C 002DA68C 38 80 00 03 */ li r4, 3
+/* 802DEA30 002DA690 38 A0 00 00 */ li r5, 0
+/* 802DEA34 002DA694 38 C0 00 03 */ li r6, 3
+/* 802DEA38 002DA698 4B FE CD 45 */ bl btm_sec_mx_access_request
+/* 802DEA3C 002DA69C 48 00 00 A4 */ b lbl_802DEAE0
+/* 802DEA40 002DA6A0 48 00 00 A0 */ b lbl_802DEAE0
+/* 802DEA44 002DA6A4 48 00 31 21 */ bl rfc_port_closed
+/* 802DEA48 002DA6A8 48 00 00 98 */ b lbl_802DEAE0
+/* 802DEA4C 002DA6AC 7C A3 2B 78 */ mr r3, r5
+/* 802DEA50 002DA6B0 4B FD B2 E5 */ bl GKI_freebuf
+/* 802DEA54 002DA6B4 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DEA58 002DA6B8 38 A0 00 00 */ li r5, 0
+/* 802DEA5C 002DA6BC 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEA60 002DA6C0 48 00 16 C1 */ bl rfc_send_dm
+/* 802DEA64 002DA6C4 48 00 00 7C */ b lbl_802DEAE0
+/* 802DEA68 002DA6C8 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEA6C 002DA6CC 38 A0 00 00 */ li r5, 0
+/* 802DEA70 002DA6D0 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEA74 002DA6D4 48 00 16 AD */ bl rfc_send_dm
+/* 802DEA78 002DA6D8 48 00 00 68 */ b lbl_802DEAE0
+/* 802DEA7C 002DA6DC 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEA80 002DA6E0 4B FF DC D1 */ bl Port_TimeOutCloseMux
+/* 802DEA84 002DA6E4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEA88 002DA6E8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEA8C 002DA6EC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEA90 002DA6F0 28 00 00 01 */ cmplwi r0, 1
+/* 802DEA94 002DA6F4 41 80 00 4C */ blt lbl_802DEAE0
+/* 802DEA98 002DA6F8 3C 80 80 44 */ lis r4, lbl_80444AE4@ha
+/* 802DEA9C 002DA6FC 88 BE 00 68 */ lbz r5, 0x68(r30)
+/* 802DEAA0 002DA700 7F E6 FB 78 */ mr r6, r31
+/* 802DEAA4 002DA704 3C 60 00 09 */ lis r3, 9
+/* 802DEAA8 002DA708 38 84 4A E4 */ addi r4, r4, lbl_80444AE4@l
+/* 802DEAAC 002DA70C 4B FD E4 95 */ bl LogMsg_2
+/* 802DEAB0 002DA710 48 00 00 30 */ b lbl_802DEAE0
+lbl_802DEAB4:
+/* 802DEAB4 002DA714 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEAB8 002DA718 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEABC 002DA71C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEAC0 002DA720 28 00 00 02 */ cmplwi r0, 2
+/* 802DEAC4 002DA724 41 80 00 1C */ blt lbl_802DEAE0
+/* 802DEAC8 002DA728 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DEACC 002DA72C 3C 80 80 44 */ lis r4, lbl_80444B04@ha
+/* 802DEAD0 002DA730 7F E5 FB 78 */ mr r5, r31
+/* 802DEAD4 002DA734 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DEAD8 002DA738 38 84 4B 04 */ addi r4, r4, lbl_80444B04@l
+/* 802DEADC 002DA73C 4B FD E4 4D */ bl LogMsg_1
+lbl_802DEAE0:
+/* 802DEAE0 002DA740 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DEAE4 002DA744 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DEAE8 002DA748 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DEAEC 002DA74C 7C 08 03 A6 */ mtlr r0
+/* 802DEAF0 002DA750 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DEAF4 002DA754 4E 80 00 20 */ blr
+
+rfc_port_sm_sabme_wait_ua:
+/* 802DEAF8 002DA758 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DEAFC 002DA75C 7C 08 02 A6 */ mflr r0
+/* 802DEB00 002DA760 28 04 00 0E */ cmplwi r4, 0xe
+/* 802DEB04 002DA764 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DEB08 002DA768 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DEB0C 002DA76C 7C 9F 23 78 */ mr r31, r4
+/* 802DEB10 002DA770 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DEB14 002DA774 7C 7E 1B 78 */ mr r30, r3
+/* 802DEB18 002DA778 41 81 01 38 */ bgt lbl_802DEC50
+/* 802DEB1C 002DA77C 3C C0 80 44 */ lis r6, lbl_80444B90@ha
+/* 802DEB20 002DA780 54 80 10 3A */ slwi r0, r4, 2
+/* 802DEB24 002DA784 38 C6 4B 90 */ addi r6, r6, lbl_80444B90@l
+/* 802DEB28 002DA788 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802DEB2C 002DA78C 7C C9 03 A6 */ mtctr r6
+/* 802DEB30 002DA790 4E 80 04 20 */ bctr
+/* 802DEB34 002DA794 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEB38 002DA798 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEB3C 002DA79C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEB40 002DA7A0 28 00 00 01 */ cmplwi r0, 1
+/* 802DEB44 002DA7A4 41 80 01 38 */ blt lbl_802DEC7C
+/* 802DEB48 002DA7A8 3C 80 80 44 */ lis r4, lbl_80444AE4@ha
+/* 802DEB4C 002DA7AC 88 BE 00 68 */ lbz r5, 0x68(r30)
+/* 802DEB50 002DA7B0 7F E6 FB 78 */ mr r6, r31
+/* 802DEB54 002DA7B4 3C 60 00 09 */ lis r3, 9
+/* 802DEB58 002DA7B8 38 84 4A E4 */ addi r4, r4, lbl_80444AE4@l
+/* 802DEB5C 002DA7BC 4B FD E3 E5 */ bl LogMsg_2
+/* 802DEB60 002DA7C0 48 00 01 1C */ b lbl_802DEC7C
+/* 802DEB64 002DA7C4 38 80 00 03 */ li r4, 3
+/* 802DEB68 002DA7C8 48 00 2D D1 */ bl rfc_port_timer_start
+/* 802DEB6C 002DA7CC 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DEB70 002DA7D0 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEB74 002DA7D4 48 00 16 71 */ bl rfc_send_disc
+/* 802DEB78 002DA7D8 38 60 00 00 */ li r3, 0
+/* 802DEB7C 002DA7DC 38 00 00 05 */ li r0, 5
+/* 802DEB80 002DA7E0 98 7E 00 69 */ stb r3, 0x69(r30)
+/* 802DEB84 002DA7E4 98 1E 00 68 */ stb r0, 0x68(r30)
+/* 802DEB88 002DA7E8 48 00 00 F4 */ b lbl_802DEC7C
+/* 802DEB8C 002DA7EC 48 00 2F D9 */ bl rfc_port_closed
+/* 802DEB90 002DA7F0 48 00 00 EC */ b lbl_802DEC7C
+/* 802DEB94 002DA7F4 7C A3 2B 78 */ mr r3, r5
+/* 802DEB98 002DA7F8 4B FD B1 9D */ bl GKI_freebuf
+/* 802DEB9C 002DA7FC 48 00 00 B4 */ b lbl_802DEC50
+/* 802DEBA0 002DA800 48 00 2E 19 */ bl rfc_port_timer_stop
+/* 802DEBA4 002DA804 38 00 00 04 */ li r0, 4
+/* 802DEBA8 002DA808 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DEBAC 002DA80C 98 1E 00 68 */ stb r0, 0x68(r30)
+/* 802DEBB0 002DA810 38 C0 00 00 */ li r6, 0
+/* 802DEBB4 002DA814 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEBB8 002DA818 A0 A3 00 6A */ lhz r5, 0x6a(r3)
+/* 802DEBBC 002DA81C 4B FF D3 DD */ bl PORT_DlcEstablishCnf
+/* 802DEBC0 002DA820 48 00 00 BC */ b lbl_802DEC7C
+/* 802DEBC4 002DA824 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEBC8 002DA828 38 C0 00 01 */ li r6, 1
+/* 802DEBCC 002DA82C 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEBD0 002DA830 A0 A3 00 6A */ lhz r5, 0x6a(r3)
+/* 802DEBD4 002DA834 4B FF D3 C5 */ bl PORT_DlcEstablishCnf
+/* 802DEBD8 002DA838 7F C3 F3 78 */ mr r3, r30
+/* 802DEBDC 002DA83C 48 00 2F 89 */ bl rfc_port_closed
+/* 802DEBE0 002DA840 48 00 00 9C */ b lbl_802DEC7C
+/* 802DEBE4 002DA844 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEBE8 002DA848 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEBEC 002DA84C 48 00 14 85 */ bl rfc_send_ua
+/* 802DEBF0 002DA850 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DEBF4 002DA854 38 C0 00 01 */ li r6, 1
+/* 802DEBF8 002DA858 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEBFC 002DA85C A0 A3 00 6A */ lhz r5, 0x6a(r3)
+/* 802DEC00 002DA860 4B FF D3 99 */ bl PORT_DlcEstablishCnf
+/* 802DEC04 002DA864 7F C3 F3 78 */ mr r3, r30
+/* 802DEC08 002DA868 48 00 2F 5D */ bl rfc_port_closed
+/* 802DEC0C 002DA86C 48 00 00 70 */ b lbl_802DEC7C
+/* 802DEC10 002DA870 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEC14 002DA874 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEC18 002DA878 48 00 14 59 */ bl rfc_send_ua
+/* 802DEC1C 002DA87C 48 00 00 60 */ b lbl_802DEC7C
+/* 802DEC20 002DA880 7C A3 2B 78 */ mr r3, r5
+/* 802DEC24 002DA884 4B FD B1 11 */ bl GKI_freebuf
+/* 802DEC28 002DA888 48 00 00 54 */ b lbl_802DEC7C
+/* 802DEC2C 002DA88C 38 00 00 00 */ li r0, 0
+/* 802DEC30 002DA890 80 A3 00 6C */ lwz r5, 0x6c(r3)
+/* 802DEC34 002DA894 98 03 00 68 */ stb r0, 0x68(r3)
+/* 802DEC38 002DA898 38 C0 00 01 */ li r6, 1
+/* 802DEC3C 002DA89C 7C A3 2B 78 */ mr r3, r5
+/* 802DEC40 002DA8A0 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEC44 002DA8A4 A0 A5 00 6A */ lhz r5, 0x6a(r5)
+/* 802DEC48 002DA8A8 4B FF D3 51 */ bl PORT_DlcEstablishCnf
+/* 802DEC4C 002DA8AC 48 00 00 30 */ b lbl_802DEC7C
+lbl_802DEC50:
+/* 802DEC50 002DA8B0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEC54 002DA8B4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEC58 002DA8B8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEC5C 002DA8BC 28 00 00 02 */ cmplwi r0, 2
+/* 802DEC60 002DA8C0 41 80 00 1C */ blt lbl_802DEC7C
+/* 802DEC64 002DA8C4 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DEC68 002DA8C8 3C 80 80 44 */ lis r4, lbl_80444B64@ha
+/* 802DEC6C 002DA8CC 7F E5 FB 78 */ mr r5, r31
+/* 802DEC70 002DA8D0 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DEC74 002DA8D4 38 84 4B 64 */ addi r4, r4, lbl_80444B64@l
+/* 802DEC78 002DA8D8 4B FD E2 B1 */ bl LogMsg_1
+lbl_802DEC7C:
+/* 802DEC7C 002DA8DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DEC80 002DA8E0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DEC84 002DA8E4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DEC88 002DA8E8 7C 08 03 A6 */ mtlr r0
+/* 802DEC8C 002DA8EC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DEC90 002DA8F0 4E 80 00 20 */ blr
+
+rfc_port_sm_term_wait_sec_check:
+/* 802DEC94 002DA8F4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DEC98 002DA8F8 7C 08 02 A6 */ mflr r0
+/* 802DEC9C 002DA8FC 3C E0 80 44 */ lis r7, lbl_80444AD0@ha
+/* 802DECA0 002DA900 28 04 00 0F */ cmplwi r4, 0xf
+/* 802DECA4 002DA904 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DECA8 002DA908 38 E7 4A D0 */ addi r7, r7, lbl_80444AD0@l
+/* 802DECAC 002DA90C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DECB0 002DA910 7C BF 2B 78 */ mr r31, r5
+/* 802DECB4 002DA914 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DECB8 002DA918 7C 7E 1B 78 */ mr r30, r3
+/* 802DECBC 002DA91C 41 81 01 54 */ bgt lbl_802DEE10
+/* 802DECC0 002DA920 3C C0 80 44 */ lis r6, lbl_80444C28@ha
+/* 802DECC4 002DA924 54 80 10 3A */ slwi r0, r4, 2
+/* 802DECC8 002DA928 38 C6 4C 28 */ addi r6, r6, lbl_80444C28@l
+/* 802DECCC 002DA92C 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802DECD0 002DA930 7C C9 03 A6 */ mtctr r6
+/* 802DECD4 002DA934 4E 80 04 20 */ bctr
+/* 802DECD8 002DA938 88 05 00 00 */ lbz r0, 0(r5)
+/* 802DECDC 002DA93C 2C 00 00 00 */ cmpwi r0, 0
+/* 802DECE0 002DA940 41 82 00 2C */ beq lbl_802DED0C
+/* 802DECE4 002DA944 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DECE8 002DA948 2C 03 00 00 */ cmpwi r3, 0
+/* 802DECEC 002DA94C 41 82 01 4C */ beq lbl_802DEE38
+/* 802DECF0 002DA950 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DECF4 002DA954 38 A0 00 01 */ li r5, 1
+/* 802DECF8 002DA958 48 00 14 29 */ bl rfc_send_dm
+/* 802DECFC 002DA95C 7F C3 F3 78 */ mr r3, r30
+/* 802DED00 002DA960 38 80 00 0F */ li r4, 0xf
+/* 802DED04 002DA964 4B FF DF 0D */ bl port_rfc_closed
+/* 802DED08 002DA968 48 00 01 30 */ b lbl_802DEE38
+lbl_802DED0C:
+/* 802DED0C 002DA96C 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DED10 002DA970 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DED14 002DA974 A0 A3 00 6A */ lhz r5, 0x6a(r3)
+/* 802DED18 002DA978 4B FF D1 41 */ bl PORT_DlcEstablishInd
+/* 802DED1C 002DA97C 48 00 01 1C */ b lbl_802DEE38
+/* 802DED20 002DA980 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DED24 002DA984 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DED28 002DA988 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DED2C 002DA98C 28 00 00 01 */ cmplwi r0, 1
+/* 802DED30 002DA990 41 80 01 08 */ blt lbl_802DEE38
+/* 802DED34 002DA994 88 BE 00 68 */ lbz r5, 0x68(r30)
+/* 802DED38 002DA998 7C 86 23 78 */ mr r6, r4
+/* 802DED3C 002DA99C 38 87 00 14 */ addi r4, r7, 0x14
+/* 802DED40 002DA9A0 3C 60 00 09 */ lis r3, 9
+/* 802DED44 002DA9A4 4B FD E1 FD */ bl LogMsg_2
+/* 802DED48 002DA9A8 48 00 00 F0 */ b lbl_802DEE38
+/* 802DED4C 002DA9AC 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DED50 002DA9B0 38 63 00 62 */ addi r3, r3, 0x62
+/* 802DED54 002DA9B4 4B FE CE 4D */ bl btm_sec_abort_access_req
+/* 802DED58 002DA9B8 7F C3 F3 78 */ mr r3, r30
+/* 802DED5C 002DA9BC 48 00 2E 09 */ bl rfc_port_closed
+/* 802DED60 002DA9C0 48 00 00 D8 */ b lbl_802DEE38
+/* 802DED64 002DA9C4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DED68 002DA9C8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DED6C 002DA9CC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DED70 002DA9D0 28 00 00 01 */ cmplwi r0, 1
+/* 802DED74 002DA9D4 41 80 00 10 */ blt lbl_802DED84
+/* 802DED78 002DA9D8 38 87 00 FC */ addi r4, r7, 0xfc
+/* 802DED7C 002DA9DC 3C 60 00 09 */ lis r3, 9
+/* 802DED80 002DA9E0 4B FD E1 91 */ bl LogMsg_0
+lbl_802DED84:
+/* 802DED84 002DA9E4 7F E3 FB 78 */ mr r3, r31
+/* 802DED88 002DA9E8 4B FD AF AD */ bl GKI_freebuf
+/* 802DED8C 002DA9EC 48 00 00 AC */ b lbl_802DEE38
+/* 802DED90 002DA9F0 48 00 00 A8 */ b lbl_802DEE38
+/* 802DED94 002DA9F4 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DED98 002DA9F8 38 63 00 62 */ addi r3, r3, 0x62
+/* 802DED9C 002DA9FC 4B FE CE 05 */ bl btm_sec_abort_access_req
+/* 802DEDA0 002DAA00 38 00 00 00 */ li r0, 0
+/* 802DEDA4 002DAA04 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DEDA8 002DAA08 98 1E 00 68 */ stb r0, 0x68(r30)
+/* 802DEDAC 002DAA0C 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEDB0 002DAA10 48 00 12 C1 */ bl rfc_send_ua
+/* 802DEDB4 002DAA14 80 7E 00 6C */ lwz r3, 0x6c(r30)
+/* 802DEDB8 002DAA18 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEDBC 002DAA1C 4B FF D8 8D */ bl PORT_DlcReleaseInd
+/* 802DEDC0 002DAA20 48 00 00 78 */ b lbl_802DEE38
+/* 802DEDC4 002DAA24 7F E3 FB 78 */ mr r3, r31
+/* 802DEDC8 002DAA28 4B FD AF 6D */ bl GKI_freebuf
+/* 802DEDCC 002DAA2C 48 00 00 6C */ b lbl_802DEE38
+/* 802DEDD0 002DAA30 88 05 00 00 */ lbz r0, 0(r5)
+/* 802DEDD4 002DAA34 2C 00 00 00 */ cmpwi r0, 0
+/* 802DEDD8 002DAA38 41 82 00 20 */ beq lbl_802DEDF8
+/* 802DEDDC 002DAA3C 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEDE0 002DAA40 2C 03 00 00 */ cmpwi r3, 0
+/* 802DEDE4 002DAA44 41 82 00 54 */ beq lbl_802DEE38
+/* 802DEDE8 002DAA48 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEDEC 002DAA4C 38 A0 00 01 */ li r5, 1
+/* 802DEDF0 002DAA50 48 00 13 31 */ bl rfc_send_dm
+/* 802DEDF4 002DAA54 48 00 00 44 */ b lbl_802DEE38
+lbl_802DEDF8:
+/* 802DEDF8 002DAA58 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEDFC 002DAA5C 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEE00 002DAA60 48 00 12 71 */ bl rfc_send_ua
+/* 802DEE04 002DAA64 38 00 00 04 */ li r0, 4
+/* 802DEE08 002DAA68 98 1E 00 68 */ stb r0, 0x68(r30)
+/* 802DEE0C 002DAA6C 48 00 00 2C */ b lbl_802DEE38
+lbl_802DEE10:
+/* 802DEE10 002DAA70 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEE14 002DAA74 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEE18 002DAA78 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEE1C 002DAA7C 28 00 00 02 */ cmplwi r0, 2
+/* 802DEE20 002DAA80 41 80 00 18 */ blt lbl_802DEE38
+/* 802DEE24 002DAA84 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DEE28 002DAA88 7C 85 23 78 */ mr r5, r4
+/* 802DEE2C 002DAA8C 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DEE30 002DAA90 38 87 01 28 */ addi r4, r7, 0x128
+/* 802DEE34 002DAA94 4B FD E0 F5 */ bl LogMsg_1
+lbl_802DEE38:
+/* 802DEE38 002DAA98 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DEE3C 002DAA9C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DEE40 002DAAA0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DEE44 002DAAA4 7C 08 03 A6 */ mtlr r0
+/* 802DEE48 002DAAA8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DEE4C 002DAAAC 4E 80 00 20 */ blr
+
+rfc_port_sm_orig_wait_sec_check:
+/* 802DEE50 002DAAB0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DEE54 002DAAB4 7C 08 02 A6 */ mflr r0
+/* 802DEE58 002DAAB8 3C E0 80 44 */ lis r7, lbl_80444AD0@ha
+/* 802DEE5C 002DAABC 28 04 00 0F */ cmplwi r4, 0xf
+/* 802DEE60 002DAAC0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DEE64 002DAAC4 38 E7 4A D0 */ addi r7, r7, lbl_80444AD0@l
+/* 802DEE68 002DAAC8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DEE6C 002DAACC 7C BF 2B 78 */ mr r31, r5
+/* 802DEE70 002DAAD0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DEE74 002DAAD4 7C 7E 1B 78 */ mr r30, r3
+/* 802DEE78 002DAAD8 41 81 00 E8 */ bgt lbl_802DEF60
+/* 802DEE7C 002DAADC 3C C0 80 44 */ lis r6, lbl_80444CC8@ha
+/* 802DEE80 002DAAE0 54 80 10 3A */ slwi r0, r4, 2
+/* 802DEE84 002DAAE4 38 C6 4C C8 */ addi r6, r6, lbl_80444CC8@l
+/* 802DEE88 002DAAE8 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802DEE8C 002DAAEC 7C C9 03 A6 */ mtctr r6
+/* 802DEE90 002DAAF0 4E 80 04 20 */ bctr
+/* 802DEE94 002DAAF4 88 05 00 00 */ lbz r0, 0(r5)
+/* 802DEE98 002DAAF8 2C 00 00 00 */ cmpwi r0, 0
+/* 802DEE9C 002DAAFC 41 82 00 24 */ beq lbl_802DEEC0
+/* 802DEEA0 002DAB00 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEEA4 002DAB04 38 A0 00 00 */ li r5, 0
+/* 802DEEA8 002DAB08 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEEAC 002DAB0C 38 C0 00 70 */ li r6, 0x70
+/* 802DEEB0 002DAB10 4B FF D0 E9 */ bl PORT_DlcEstablishCnf
+/* 802DEEB4 002DAB14 7F C3 F3 78 */ mr r3, r30
+/* 802DEEB8 002DAB18 48 00 2C AD */ bl rfc_port_closed
+/* 802DEEBC 002DAB1C 48 00 00 CC */ b lbl_802DEF88
+lbl_802DEEC0:
+/* 802DEEC0 002DAB20 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEEC4 002DAB24 88 9E 00 0D */ lbz r4, 0xd(r30)
+/* 802DEEC8 002DAB28 48 00 10 F9 */ bl rfc_send_sabme
+/* 802DEECC 002DAB2C 7F C3 F3 78 */ mr r3, r30
+/* 802DEED0 002DAB30 38 80 00 3C */ li r4, 0x3c
+/* 802DEED4 002DAB34 48 00 2A 65 */ bl rfc_port_timer_start
+/* 802DEED8 002DAB38 38 00 00 01 */ li r0, 1
+/* 802DEEDC 002DAB3C 98 1E 00 68 */ stb r0, 0x68(r30)
+/* 802DEEE0 002DAB40 48 00 00 A8 */ b lbl_802DEF88
+/* 802DEEE4 002DAB44 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEEE8 002DAB48 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEEEC 002DAB4C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEEF0 002DAB50 28 00 00 01 */ cmplwi r0, 1
+/* 802DEEF4 002DAB54 41 80 00 94 */ blt lbl_802DEF88
+/* 802DEEF8 002DAB58 88 BE 00 68 */ lbz r5, 0x68(r30)
+/* 802DEEFC 002DAB5C 7C 86 23 78 */ mr r6, r4
+/* 802DEF00 002DAB60 38 87 00 14 */ addi r4, r7, 0x14
+/* 802DEF04 002DAB64 3C 60 00 09 */ lis r3, 9
+/* 802DEF08 002DAB68 4B FD E0 39 */ bl LogMsg_2
+/* 802DEF0C 002DAB6C 48 00 00 7C */ b lbl_802DEF88
+/* 802DEF10 002DAB70 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DEF14 002DAB74 38 63 00 62 */ addi r3, r3, 0x62
+/* 802DEF18 002DAB78 4B FE CC 89 */ bl btm_sec_abort_access_req
+/* 802DEF1C 002DAB7C 7F C3 F3 78 */ mr r3, r30
+/* 802DEF20 002DAB80 48 00 2C 45 */ bl rfc_port_closed
+/* 802DEF24 002DAB84 48 00 00 64 */ b lbl_802DEF88
+/* 802DEF28 002DAB88 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEF2C 002DAB8C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEF30 002DAB90 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEF34 002DAB94 28 00 00 01 */ cmplwi r0, 1
+/* 802DEF38 002DAB98 41 80 00 10 */ blt lbl_802DEF48
+/* 802DEF3C 002DAB9C 38 87 01 98 */ addi r4, r7, 0x198
+/* 802DEF40 002DABA0 3C 60 00 09 */ lis r3, 9
+/* 802DEF44 002DABA4 4B FD DF CD */ bl LogMsg_0
+lbl_802DEF48:
+/* 802DEF48 002DABA8 7F E3 FB 78 */ mr r3, r31
+/* 802DEF4C 002DABAC 4B FD AD E9 */ bl GKI_freebuf
+/* 802DEF50 002DABB0 48 00 00 38 */ b lbl_802DEF88
+/* 802DEF54 002DABB4 7F E3 FB 78 */ mr r3, r31
+/* 802DEF58 002DABB8 4B FD AD DD */ bl GKI_freebuf
+/* 802DEF5C 002DABBC 48 00 00 2C */ b lbl_802DEF88
+lbl_802DEF60:
+/* 802DEF60 002DABC0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEF64 002DABC4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEF68 002DABC8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEF6C 002DABCC 28 00 00 02 */ cmplwi r0, 2
+/* 802DEF70 002DABD0 41 80 00 18 */ blt lbl_802DEF88
+/* 802DEF74 002DABD4 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DEF78 002DABD8 7C 85 23 78 */ mr r5, r4
+/* 802DEF7C 002DABDC 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DEF80 002DABE0 38 87 01 C8 */ addi r4, r7, 0x1c8
+/* 802DEF84 002DABE4 4B FD DF A5 */ bl LogMsg_1
+lbl_802DEF88:
+/* 802DEF88 002DABE8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DEF8C 002DABEC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DEF90 002DABF0 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DEF94 002DABF4 7C 08 03 A6 */ mtlr r0
+/* 802DEF98 002DABF8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DEF9C 002DABFC 4E 80 00 20 */ blr
+
+rfc_port_sm_opened:
+/* 802DEFA0 002DAC00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DEFA4 002DAC04 7C 08 02 A6 */ mflr r0
+/* 802DEFA8 002DAC08 28 04 00 0E */ cmplwi r4, 0xe
+/* 802DEFAC 002DAC0C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DEFB0 002DAC10 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DEFB4 002DAC14 7C 7F 1B 78 */ mr r31, r3
+/* 802DEFB8 002DAC18 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DEFBC 002DAC1C 7C 9E 23 78 */ mr r30, r4
+/* 802DEFC0 002DAC20 41 81 01 88 */ bgt lbl_802DF148
+/* 802DEFC4 002DAC24 3C C0 80 44 */ lis r6, lbl_80444D2C@ha
+/* 802DEFC8 002DAC28 54 80 10 3A */ slwi r0, r4, 2
+/* 802DEFCC 002DAC2C 38 C6 4D 2C */ addi r6, r6, lbl_80444D2C@l
+/* 802DEFD0 002DAC30 7C C6 00 2E */ lwzx r6, r6, r0
+/* 802DEFD4 002DAC34 7C C9 03 A6 */ mtctr r6
+/* 802DEFD8 002DAC38 4E 80 04 20 */ bctr
+/* 802DEFDC 002DAC3C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DEFE0 002DAC40 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DEFE4 002DAC44 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DEFE8 002DAC48 28 00 00 01 */ cmplwi r0, 1
+/* 802DEFEC 002DAC4C 41 80 01 88 */ blt lbl_802DF174
+/* 802DEFF0 002DAC50 3C 80 80 44 */ lis r4, lbl_80444AE4@ha
+/* 802DEFF4 002DAC54 88 BF 00 68 */ lbz r5, 0x68(r31)
+/* 802DEFF8 002DAC58 7F C6 F3 78 */ mr r6, r30
+/* 802DEFFC 002DAC5C 3C 60 00 09 */ lis r3, 9
+/* 802DF000 002DAC60 38 84 4A E4 */ addi r4, r4, lbl_80444AE4@l
+/* 802DF004 002DAC64 4B FD DF 3D */ bl LogMsg_2
+/* 802DF008 002DAC68 48 00 01 6C */ b lbl_802DF174
+/* 802DF00C 002DAC6C 38 80 00 03 */ li r4, 3
+/* 802DF010 002DAC70 48 00 29 29 */ bl rfc_port_timer_start
+/* 802DF014 002DAC74 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DF018 002DAC78 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF01C 002DAC7C 48 00 11 C9 */ bl rfc_send_disc
+/* 802DF020 002DAC80 38 60 00 00 */ li r3, 0
+/* 802DF024 002DAC84 38 00 00 05 */ li r0, 5
+/* 802DF028 002DAC88 98 7F 00 69 */ stb r3, 0x69(r31)
+/* 802DF02C 002DAC8C 98 1F 00 68 */ stb r0, 0x68(r31)
+/* 802DF030 002DAC90 48 00 01 44 */ b lbl_802DF174
+/* 802DF034 002DAC94 48 00 2B 31 */ bl rfc_port_closed
+/* 802DF038 002DAC98 48 00 01 3C */ b lbl_802DF174
+/* 802DF03C 002DAC9C 80 83 00 6C */ lwz r4, 0x6c(r3)
+/* 802DF040 002DACA0 88 04 00 72 */ lbz r0, 0x72(r4)
+/* 802DF044 002DACA4 28 00 00 02 */ cmplwi r0, 2
+/* 802DF048 002DACA8 40 82 00 48 */ bne lbl_802DF090
+/* 802DF04C 002DACAC A0 85 00 02 */ lhz r4, 2(r5)
+/* 802DF050 002DACB0 A0 03 00 14 */ lhz r0, 0x14(r3)
+/* 802DF054 002DACB4 7C 04 00 40 */ cmplw r4, r0
+/* 802DF058 002DACB8 40 80 00 38 */ bge lbl_802DF090
+/* 802DF05C 002DACBC 88 03 00 3D */ lbz r0, 0x3d(r3)
+/* 802DF060 002DACC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802DF064 002DACC4 40 82 00 2C */ bne lbl_802DF090
+/* 802DF068 002DACC8 A0 03 00 9A */ lhz r0, 0x9a(r3)
+/* 802DF06C 002DACCC A0 83 00 9C */ lhz r4, 0x9c(r3)
+/* 802DF070 002DACD0 7C 04 00 40 */ cmplw r4, r0
+/* 802DF074 002DACD4 40 81 00 1C */ ble lbl_802DF090
+/* 802DF078 002DACD8 7C 00 20 50 */ subf r0, r0, r4
+/* 802DF07C 002DACDC 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802DF080 002DACE0 B0 05 00 06 */ sth r0, 6(r5)
+/* 802DF084 002DACE4 A0 03 00 9C */ lhz r0, 0x9c(r3)
+/* 802DF088 002DACE8 B0 03 00 9A */ sth r0, 0x9a(r3)
+/* 802DF08C 002DACEC 48 00 00 0C */ b lbl_802DF098
+lbl_802DF090:
+/* 802DF090 002DACF0 38 00 00 00 */ li r0, 0
+/* 802DF094 002DACF4 B0 05 00 06 */ sth r0, 6(r5)
+lbl_802DF098:
+/* 802DF098 002DACF8 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF09C 002DACFC 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF0A0 002DAD00 48 00 11 F5 */ bl rfc_send_buf_uih
+/* 802DF0A4 002DAD04 7F E3 FB 78 */ mr r3, r31
+/* 802DF0A8 002DAD08 48 00 2C A1 */ bl rfc_dec_credit
+/* 802DF0AC 002DAD0C 48 00 00 C8 */ b lbl_802DF174
+/* 802DF0B0 002DAD10 48 00 00 C4 */ b lbl_802DF174
+/* 802DF0B4 002DAD14 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF0B8 002DAD18 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF0BC 002DAD1C 48 00 0F B5 */ bl rfc_send_ua
+/* 802DF0C0 002DAD20 48 00 00 B4 */ b lbl_802DF174
+/* 802DF0C4 002DAD24 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF0C8 002DAD28 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF0CC 002DAD2C 4B FF D5 7D */ bl PORT_DlcReleaseInd
+/* 802DF0D0 002DAD30 7F E3 FB 78 */ mr r3, r31
+/* 802DF0D4 002DAD34 48 00 2A 91 */ bl rfc_port_closed
+/* 802DF0D8 002DAD38 48 00 00 9C */ b lbl_802DF174
+/* 802DF0DC 002DAD3C 38 00 00 00 */ li r0, 0
+/* 802DF0E0 002DAD40 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF0E4 002DAD44 98 03 00 68 */ stb r0, 0x68(r3)
+/* 802DF0E8 002DAD48 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF0EC 002DAD4C 48 00 0F 85 */ bl rfc_send_ua
+/* 802DF0F0 002DAD50 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DF0F4 002DAD54 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF0F8 002DAD58 4B FF D5 51 */ bl PORT_DlcReleaseInd
+/* 802DF0FC 002DAD5C 48 00 00 78 */ b lbl_802DF174
+/* 802DF100 002DAD60 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF104 002DAD64 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF108 002DAD68 4B FF D6 E1 */ bl PORT_DataInd
+/* 802DF10C 002DAD6C 48 00 00 68 */ b lbl_802DF174
+/* 802DF110 002DAD70 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF114 002DAD74 4B FF D6 3D */ bl Port_TimeOutCloseMux
+/* 802DF118 002DAD78 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DF11C 002DAD7C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DF120 002DAD80 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DF124 002DAD84 28 00 00 01 */ cmplwi r0, 1
+/* 802DF128 002DAD88 41 80 00 4C */ blt lbl_802DF174
+/* 802DF12C 002DAD8C 3C 80 80 44 */ lis r4, lbl_80444AE4@ha
+/* 802DF130 002DAD90 88 BF 00 68 */ lbz r5, 0x68(r31)
+/* 802DF134 002DAD94 7F C6 F3 78 */ mr r6, r30
+/* 802DF138 002DAD98 3C 60 00 09 */ lis r3, 9
+/* 802DF13C 002DAD9C 38 84 4A E4 */ addi r4, r4, lbl_80444AE4@l
+/* 802DF140 002DADA0 4B FD DE 01 */ bl LogMsg_2
+/* 802DF144 002DADA4 48 00 00 30 */ b lbl_802DF174
+lbl_802DF148:
+/* 802DF148 002DADA8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DF14C 002DADAC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DF150 002DADB0 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DF154 002DADB4 28 00 00 02 */ cmplwi r0, 2
+/* 802DF158 002DADB8 41 80 00 1C */ blt lbl_802DF174
+/* 802DF15C 002DADBC 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DF160 002DADC0 3C 80 80 44 */ lis r4, lbl_80444D08@ha
+/* 802DF164 002DADC4 7F C5 F3 78 */ mr r5, r30
+/* 802DF168 002DADC8 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DF16C 002DADCC 38 84 4D 08 */ addi r4, r4, lbl_80444D08@l
+/* 802DF170 002DADD0 4B FD DD B9 */ bl LogMsg_1
+lbl_802DF174:
+/* 802DF174 002DADD4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DF178 002DADD8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DF17C 002DADDC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DF180 002DADE0 7C 08 03 A6 */ mtlr r0
+/* 802DF184 002DADE4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DF188 002DADE8 4E 80 00 20 */ blr
+
+rfc_port_sm_disc_wait_ua:
+/* 802DF18C 002DADEC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DF190 002DADF0 7C 08 02 A6 */ mflr r0
+/* 802DF194 002DADF4 28 04 00 0E */ cmplwi r4, 0xe
+/* 802DF198 002DADF8 7C 86 23 78 */ mr r6, r4
+/* 802DF19C 002DADFC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DF1A0 002DAE00 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DF1A4 002DAE04 7C 7F 1B 78 */ mr r31, r3
+/* 802DF1A8 002DAE08 41 81 00 C0 */ bgt lbl_802DF268
+/* 802DF1AC 002DAE0C 3C E0 80 44 */ lis r7, lbl_80444D94@ha
+/* 802DF1B0 002DAE10 54 80 10 3A */ slwi r0, r4, 2
+/* 802DF1B4 002DAE14 38 E7 4D 94 */ addi r7, r7, lbl_80444D94@l
+/* 802DF1B8 002DAE18 7C E7 00 2E */ lwzx r7, r7, r0
+/* 802DF1BC 002DAE1C 7C E9 03 A6 */ mtctr r7
+/* 802DF1C0 002DAE20 4E 80 04 20 */ bctr
+/* 802DF1C4 002DAE24 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DF1C8 002DAE28 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DF1CC 002DAE2C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DF1D0 002DAE30 28 00 00 01 */ cmplwi r0, 1
+/* 802DF1D4 002DAE34 41 80 00 C0 */ blt lbl_802DF294
+/* 802DF1D8 002DAE38 3C 80 80 44 */ lis r4, lbl_80444AE4@ha
+/* 802DF1DC 002DAE3C 88 BF 00 68 */ lbz r5, 0x68(r31)
+/* 802DF1E0 002DAE40 3C 60 00 09 */ lis r3, 9
+/* 802DF1E4 002DAE44 38 84 4A E4 */ addi r4, r4, lbl_80444AE4@l
+/* 802DF1E8 002DAE48 4B FD DD 59 */ bl LogMsg_2
+/* 802DF1EC 002DAE4C 48 00 00 A8 */ b lbl_802DF294
+/* 802DF1F0 002DAE50 48 00 29 75 */ bl rfc_port_closed
+/* 802DF1F4 002DAE54 48 00 00 A0 */ b lbl_802DF294
+/* 802DF1F8 002DAE58 7C A3 2B 78 */ mr r3, r5
+/* 802DF1FC 002DAE5C 4B FD AB 39 */ bl GKI_freebuf
+/* 802DF200 002DAE60 48 00 00 94 */ b lbl_802DF294
+/* 802DF204 002DAE64 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF208 002DAE68 38 00 00 01 */ li r0, 1
+/* 802DF20C 002DAE6C 98 03 00 74 */ stb r0, 0x74(r3)
+/* 802DF210 002DAE70 7F E3 FB 78 */ mr r3, r31
+/* 802DF214 002DAE74 48 00 29 51 */ bl rfc_port_closed
+/* 802DF218 002DAE78 48 00 00 7C */ b lbl_802DF294
+/* 802DF21C 002DAE7C 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF220 002DAE80 38 A0 00 01 */ li r5, 1
+/* 802DF224 002DAE84 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF228 002DAE88 48 00 0E F9 */ bl rfc_send_dm
+/* 802DF22C 002DAE8C 48 00 00 68 */ b lbl_802DF294
+/* 802DF230 002DAE90 80 63 00 6C */ lwz r3, 0x6c(r3)
+/* 802DF234 002DAE94 38 A0 00 01 */ li r5, 1
+/* 802DF238 002DAE98 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF23C 002DAE9C 48 00 0E E5 */ bl rfc_send_dm
+/* 802DF240 002DAEA0 48 00 00 54 */ b lbl_802DF294
+/* 802DF244 002DAEA4 7C A3 2B 78 */ mr r3, r5
+/* 802DF248 002DAEA8 4B FD AA ED */ bl GKI_freebuf
+/* 802DF24C 002DAEAC 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DF250 002DAEB0 38 A0 00 00 */ li r5, 0
+/* 802DF254 002DAEB4 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF258 002DAEB8 48 00 0E C9 */ bl rfc_send_dm
+/* 802DF25C 002DAEBC 48 00 00 38 */ b lbl_802DF294
+/* 802DF260 002DAEC0 48 00 29 05 */ bl rfc_port_closed
+/* 802DF264 002DAEC4 48 00 00 30 */ b lbl_802DF294
+lbl_802DF268:
+/* 802DF268 002DAEC8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DF26C 002DAECC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DF270 002DAED0 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DF274 002DAED4 28 00 00 02 */ cmplwi r0, 2
+/* 802DF278 002DAED8 41 80 00 1C */ blt lbl_802DF294
+/* 802DF27C 002DAEDC 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DF280 002DAEE0 3C 80 80 44 */ lis r4, lbl_80444D68@ha
+/* 802DF284 002DAEE4 7C C5 33 78 */ mr r5, r6
+/* 802DF288 002DAEE8 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DF28C 002DAEEC 38 84 4D 68 */ addi r4, r4, lbl_80444D68@l
+/* 802DF290 002DAEF0 4B FD DC 99 */ bl LogMsg_1
+lbl_802DF294:
+/* 802DF294 002DAEF4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DF298 002DAEF8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DF29C 002DAEFC 7C 08 03 A6 */ mtlr r0
+/* 802DF2A0 002DAF00 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DF2A4 002DAF04 4E 80 00 20 */ blr
+
+.global rfc_process_pn
+rfc_process_pn:
+/* 802DF2A8 002DAF08 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DF2AC 002DAF0C 7C 08 02 A6 */ mflr r0
+/* 802DF2B0 002DAF10 2C 04 00 00 */ cmpwi r4, 0
+/* 802DF2B4 002DAF14 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DF2B8 002DAF18 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DF2BC 002DAF1C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DF2C0 002DAF20 7C BE 2B 78 */ mr r30, r5
+/* 802DF2C4 002DAF24 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DF2C8 002DAF28 7C 7D 1B 78 */ mr r29, r3
+/* 802DF2CC 002DAF2C 8B E5 00 00 */ lbz r31, 0(r5)
+/* 802DF2D0 002DAF30 41 82 00 60 */ beq lbl_802DF330
+/* 802DF2D4 002DAF34 88 03 00 6C */ lbz r0, 0x6c(r3)
+/* 802DF2D8 002DAF38 28 00 00 06 */ cmplwi r0, 6
+/* 802DF2DC 002DAF3C 41 82 00 1C */ beq lbl_802DF2F8
+/* 802DF2E0 002DAF40 A0 A5 00 0E */ lhz r5, 0xe(r5)
+/* 802DF2E4 002DAF44 7F E4 FB 78 */ mr r4, r31
+/* 802DF2E8 002DAF48 88 DE 00 0A */ lbz r6, 0xa(r30)
+/* 802DF2EC 002DAF4C 88 FE 00 11 */ lbz r7, 0x11(r30)
+/* 802DF2F0 002DAF50 4B FF C8 B5 */ bl PORT_ParNegInd
+/* 802DF2F4 002DAF54 48 00 00 80 */ b lbl_802DF374
+lbl_802DF2F8:
+/* 802DF2F8 002DAF58 7F E4 FB 78 */ mr r4, r31
+/* 802DF2FC 002DAF5C 38 A0 00 00 */ li r5, 0
+/* 802DF300 002DAF60 48 00 0E 21 */ bl rfc_send_dm
+/* 802DF304 002DAF64 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DF308 002DAF68 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DF30C 002DAF6C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802DF310 002DAF70 28 00 00 02 */ cmplwi r0, 2
+/* 802DF314 002DAF74 41 80 00 60 */ blt lbl_802DF374
+/* 802DF318 002DAF78 3C 60 00 09 */ lis r3, 0x00090001@ha
+/* 802DF31C 002DAF7C 3C 80 80 44 */ lis r4, lbl_80444DD0@ha
+/* 802DF320 002DAF80 38 63 00 01 */ addi r3, r3, 0x00090001@l
+/* 802DF324 002DAF84 38 84 4D D0 */ addi r4, r4, lbl_80444DD0@l
+/* 802DF328 002DAF88 4B FD DB E9 */ bl LogMsg_0
+/* 802DF32C 002DAF8C 48 00 00 48 */ b lbl_802DF374
+lbl_802DF330:
+/* 802DF330 002DAF90 7F E4 FB 78 */ mr r4, r31
+/* 802DF334 002DAF94 4B FF DC C9 */ bl port_find_mcb_dlci_port
+/* 802DF338 002DAF98 2C 03 00 00 */ cmpwi r3, 0
+/* 802DF33C 002DAF9C 41 82 00 38 */ beq lbl_802DF374
+/* 802DF340 002DAFA0 88 83 00 69 */ lbz r4, 0x69(r3)
+/* 802DF344 002DAFA4 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802DF348 002DAFA8 40 82 00 08 */ bne lbl_802DF350
+/* 802DF34C 002DAFAC 48 00 00 28 */ b lbl_802DF374
+lbl_802DF350:
+/* 802DF350 002DAFB0 54 80 06 3C */ rlwinm r0, r4, 0, 0x18, 0x1e
+/* 802DF354 002DAFB4 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DF358 002DAFB8 48 00 26 61 */ bl rfc_port_timer_stop
+/* 802DF35C 002DAFBC A0 BE 00 0E */ lhz r5, 0xe(r30)
+/* 802DF360 002DAFC0 7F A3 EB 78 */ mr r3, r29
+/* 802DF364 002DAFC4 88 DE 00 0A */ lbz r6, 0xa(r30)
+/* 802DF368 002DAFC8 7F E4 FB 78 */ mr r4, r31
+/* 802DF36C 002DAFCC 88 FE 00 11 */ lbz r7, 0x11(r30)
+/* 802DF370 002DAFD0 4B FF C9 E5 */ bl PORT_ParNegCnf
+lbl_802DF374:
+/* 802DF374 002DAFD4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DF378 002DAFD8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DF37C 002DAFDC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DF380 002DAFE0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DF384 002DAFE4 7C 08 03 A6 */ mtlr r0
+/* 802DF388 002DAFE8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DF38C 002DAFEC 4E 80 00 20 */ blr
+
+.global rfc_process_rpn
+rfc_process_rpn:
+/* 802DF390 002DAFF0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802DF394 002DAFF4 7C 08 02 A6 */ mflr r0
+/* 802DF398 002DAFF8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802DF39C 002DAFFC 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 802DF3A0 002DB000 7C BF 2B 78 */ mr r31, r5
+/* 802DF3A4 002DB004 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 802DF3A8 002DB008 7C DE 33 78 */ mr r30, r6
+/* 802DF3AC 002DB00C 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 802DF3B0 002DB010 7C 7D 1B 78 */ mr r29, r3
+/* 802DF3B4 002DB014 93 81 00 20 */ stw r28, 0x20(r1)
+/* 802DF3B8 002DB018 7C 9C 23 78 */ mr r28, r4
+/* 802DF3BC 002DB01C 88 86 00 00 */ lbz r4, 0(r6)
+/* 802DF3C0 002DB020 4B FF DC 3D */ bl port_find_mcb_dlci_port
+/* 802DF3C4 002DB024 2C 03 00 00 */ cmpwi r3, 0
+/* 802DF3C8 002DB028 40 82 00 40 */ bne lbl_802DF408
+/* 802DF3CC 002DB02C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802DF3D0 002DB030 41 82 02 AC */ beq lbl_802DF67C
+/* 802DF3D4 002DB034 38 61 00 08 */ addi r3, r1, 8
+/* 802DF3D8 002DB038 38 80 00 00 */ li r4, 0
+/* 802DF3DC 002DB03C 38 A0 00 09 */ li r5, 9
+/* 802DF3E0 002DB040 4B D2 4D 25 */ bl memset
+/* 802DF3E4 002DB044 7F C4 F3 78 */ mr r4, r30
+/* 802DF3E8 002DB048 38 61 00 08 */ addi r3, r1, 8
+/* 802DF3EC 002DB04C 48 00 06 05 */ bl rfc_set_port_state
+/* 802DF3F0 002DB050 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF3F4 002DB054 7F A3 EB 78 */ mr r3, r29
+/* 802DF3F8 002DB058 A0 DE 00 12 */ lhz r6, 0x12(r30)
+/* 802DF3FC 002DB05C 38 A1 00 08 */ addi r5, r1, 8
+/* 802DF400 002DB060 4B FF CC DD */ bl PORT_PortNegInd
+/* 802DF404 002DB064 48 00 02 78 */ b lbl_802DF67C
+lbl_802DF408:
+/* 802DF408 002DB068 2C 1C 00 00 */ cmpwi r28, 0
+/* 802DF40C 002DB06C 41 82 00 70 */ beq lbl_802DF47C
+/* 802DF410 002DB070 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DF414 002DB074 41 82 00 68 */ beq lbl_802DF47C
+/* 802DF418 002DB078 88 83 00 51 */ lbz r4, 0x51(r3)
+/* 802DF41C 002DB07C 38 C3 00 51 */ addi r6, r3, 0x51
+/* 802DF420 002DB080 88 03 00 52 */ lbz r0, 0x52(r3)
+/* 802DF424 002DB084 38 A0 00 00 */ li r5, 0
+/* 802DF428 002DB088 38 E0 00 00 */ li r7, 0
+/* 802DF42C 002DB08C 98 81 00 08 */ stb r4, 8(r1)
+/* 802DF430 002DB090 98 01 00 09 */ stb r0, 9(r1)
+/* 802DF434 002DB094 88 83 00 53 */ lbz r4, 0x53(r3)
+/* 802DF438 002DB098 88 03 00 54 */ lbz r0, 0x54(r3)
+/* 802DF43C 002DB09C 98 81 00 0A */ stb r4, 0xa(r1)
+/* 802DF440 002DB0A0 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802DF444 002DB0A4 88 83 00 55 */ lbz r4, 0x55(r3)
+/* 802DF448 002DB0A8 88 03 00 56 */ lbz r0, 0x56(r3)
+/* 802DF44C 002DB0AC 98 81 00 0C */ stb r4, 0xc(r1)
+/* 802DF450 002DB0B0 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802DF454 002DB0B4 88 83 00 57 */ lbz r4, 0x57(r3)
+/* 802DF458 002DB0B8 88 03 00 58 */ lbz r0, 0x58(r3)
+/* 802DF45C 002DB0BC 98 81 00 0E */ stb r4, 0xe(r1)
+/* 802DF460 002DB0C0 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802DF464 002DB0C4 88 03 00 59 */ lbz r0, 0x59(r3)
+/* 802DF468 002DB0C8 7F A3 EB 78 */ mr r3, r29
+/* 802DF46C 002DB0CC 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802DF470 002DB0D0 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF474 002DB0D4 48 00 13 79 */ bl rfc_send_rpn
+/* 802DF478 002DB0D8 48 00 02 04 */ b lbl_802DF67C
+lbl_802DF47C:
+/* 802DF47C 002DB0DC 88 A3 00 51 */ lbz r5, 0x51(r3)
+/* 802DF480 002DB0E0 7F C4 F3 78 */ mr r4, r30
+/* 802DF484 002DB0E4 88 03 00 52 */ lbz r0, 0x52(r3)
+/* 802DF488 002DB0E8 98 A1 00 08 */ stb r5, 8(r1)
+/* 802DF48C 002DB0EC 98 01 00 09 */ stb r0, 9(r1)
+/* 802DF490 002DB0F0 88 A3 00 53 */ lbz r5, 0x53(r3)
+/* 802DF494 002DB0F4 88 03 00 54 */ lbz r0, 0x54(r3)
+/* 802DF498 002DB0F8 98 A1 00 0A */ stb r5, 0xa(r1)
+/* 802DF49C 002DB0FC 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802DF4A0 002DB100 88 A3 00 55 */ lbz r5, 0x55(r3)
+/* 802DF4A4 002DB104 88 03 00 56 */ lbz r0, 0x56(r3)
+/* 802DF4A8 002DB108 98 A1 00 0C */ stb r5, 0xc(r1)
+/* 802DF4AC 002DB10C 98 01 00 0D */ stb r0, 0xd(r1)
+/* 802DF4B0 002DB110 88 A3 00 57 */ lbz r5, 0x57(r3)
+/* 802DF4B4 002DB114 88 03 00 58 */ lbz r0, 0x58(r3)
+/* 802DF4B8 002DB118 98 A1 00 0E */ stb r5, 0xe(r1)
+/* 802DF4BC 002DB11C 98 01 00 0F */ stb r0, 0xf(r1)
+/* 802DF4C0 002DB120 88 03 00 59 */ lbz r0, 0x59(r3)
+/* 802DF4C4 002DB124 38 61 00 08 */ addi r3, r1, 8
+/* 802DF4C8 002DB128 98 01 00 10 */ stb r0, 0x10(r1)
+/* 802DF4CC 002DB12C 48 00 05 25 */ bl rfc_set_port_state
+/* 802DF4D0 002DB130 2C 1C 00 00 */ cmpwi r28, 0
+/* 802DF4D4 002DB134 41 82 00 1C */ beq lbl_802DF4F0
+/* 802DF4D8 002DB138 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF4DC 002DB13C 7F A3 EB 78 */ mr r3, r29
+/* 802DF4E0 002DB140 A0 DE 00 12 */ lhz r6, 0x12(r30)
+/* 802DF4E4 002DB144 38 A1 00 08 */ addi r5, r1, 8
+/* 802DF4E8 002DB148 4B FF CB F5 */ bl PORT_PortNegInd
+/* 802DF4EC 002DB14C 48 00 01 90 */ b lbl_802DF67C
+lbl_802DF4F0:
+/* 802DF4F0 002DB150 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF4F4 002DB154 7F A3 EB 78 */ mr r3, r29
+/* 802DF4F8 002DB158 4B FF DB 05 */ bl port_find_mcb_dlci_port
+/* 802DF4FC 002DB15C 2C 03 00 00 */ cmpwi r3, 0
+/* 802DF500 002DB160 7C 7F 1B 78 */ mr r31, r3
+/* 802DF504 002DB164 41 82 01 78 */ beq lbl_802DF67C
+/* 802DF508 002DB168 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DF50C 002DB16C 54 00 07 7D */ rlwinm. r0, r0, 0, 0x1d, 0x1e
+/* 802DF510 002DB170 40 82 00 08 */ bne lbl_802DF518
+/* 802DF514 002DB174 48 00 01 68 */ b lbl_802DF67C
+lbl_802DF518:
+/* 802DF518 002DB178 48 00 24 A1 */ bl rfc_port_timer_stop
+/* 802DF51C 002DB17C 88 7F 00 69 */ lbz r3, 0x69(r31)
+/* 802DF520 002DB180 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
+/* 802DF524 002DB184 41 82 00 B0 */ beq lbl_802DF5D4
+/* 802DF528 002DB188 54 60 07 FA */ rlwinm r0, r3, 0, 0x1f, 0x1d
+/* 802DF52C 002DB18C 98 1F 00 69 */ stb r0, 0x69(r31)
+/* 802DF530 002DB190 88 61 00 08 */ lbz r3, 8(r1)
+/* 802DF534 002DB194 88 01 00 09 */ lbz r0, 9(r1)
+/* 802DF538 002DB198 98 7F 00 51 */ stb r3, 0x51(r31)
+/* 802DF53C 002DB19C 98 1F 00 52 */ stb r0, 0x52(r31)
+/* 802DF540 002DB1A0 88 61 00 0A */ lbz r3, 0xa(r1)
+/* 802DF544 002DB1A4 88 01 00 0B */ lbz r0, 0xb(r1)
+/* 802DF548 002DB1A8 98 7F 00 53 */ stb r3, 0x53(r31)
+/* 802DF54C 002DB1AC 98 1F 00 54 */ stb r0, 0x54(r31)
+/* 802DF550 002DB1B0 88 61 00 0C */ lbz r3, 0xc(r1)
+/* 802DF554 002DB1B4 88 01 00 0D */ lbz r0, 0xd(r1)
+/* 802DF558 002DB1B8 98 7F 00 55 */ stb r3, 0x55(r31)
+/* 802DF55C 002DB1BC 98 1F 00 56 */ stb r0, 0x56(r31)
+/* 802DF560 002DB1C0 88 61 00 0E */ lbz r3, 0xe(r1)
+/* 802DF564 002DB1C4 88 01 00 0F */ lbz r0, 0xf(r1)
+/* 802DF568 002DB1C8 98 7F 00 57 */ stb r3, 0x57(r31)
+/* 802DF56C 002DB1CC 98 1F 00 58 */ stb r0, 0x58(r31)
+/* 802DF570 002DB1D0 88 01 00 10 */ lbz r0, 0x10(r1)
+/* 802DF574 002DB1D4 98 1F 00 59 */ stb r0, 0x59(r31)
+/* 802DF578 002DB1D8 88 01 00 0D */ lbz r0, 0xd(r1)
+/* 802DF57C 002DB1DC 28 00 00 0C */ cmplwi r0, 0xc
+/* 802DF580 002DB1E0 41 82 00 0C */ beq lbl_802DF58C
+/* 802DF584 002DB1E4 28 00 00 30 */ cmplwi r0, 0x30
+/* 802DF588 002DB1E8 40 82 00 10 */ bne lbl_802DF598
+lbl_802DF58C:
+/* 802DF58C 002DB1EC 38 00 3F 7F */ li r0, 0x3f7f
+/* 802DF590 002DB1F0 B0 1E 00 12 */ sth r0, 0x12(r30)
+/* 802DF594 002DB1F4 48 00 00 48 */ b lbl_802DF5DC
+lbl_802DF598:
+/* 802DF598 002DB1F8 38 00 00 0C */ li r0, 0xc
+/* 802DF59C 002DB1FC 7F A3 EB 78 */ mr r3, r29
+/* 802DF5A0 002DB200 98 1F 00 56 */ stb r0, 0x56(r31)
+/* 802DF5A4 002DB204 38 DF 00 51 */ addi r6, r31, 0x51
+/* 802DF5A8 002DB208 38 A0 00 01 */ li r5, 1
+/* 802DF5AC 002DB20C 38 E0 0C 00 */ li r7, 0xc00
+/* 802DF5B0 002DB210 88 1F 00 69 */ lbz r0, 0x69(r31)
+/* 802DF5B4 002DB214 60 00 00 04 */ ori r0, r0, 4
+/* 802DF5B8 002DB218 98 1F 00 69 */ stb r0, 0x69(r31)
+/* 802DF5BC 002DB21C 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF5C0 002DB220 48 00 12 2D */ bl rfc_send_rpn
+/* 802DF5C4 002DB224 7F E3 FB 78 */ mr r3, r31
+/* 802DF5C8 002DB228 38 80 00 3C */ li r4, 0x3c
+/* 802DF5CC 002DB22C 48 00 23 6D */ bl rfc_port_timer_start
+/* 802DF5D0 002DB230 48 00 00 AC */ b lbl_802DF67C
+lbl_802DF5D4:
+/* 802DF5D4 002DB234 54 60 07 B8 */ rlwinm r0, r3, 0, 0x1e, 0x1c
+/* 802DF5D8 002DB238 98 1F 00 69 */ stb r0, 0x69(r31)
+lbl_802DF5DC:
+/* 802DF5DC 002DB23C A0 7E 00 12 */ lhz r3, 0x12(r30)
+/* 802DF5E0 002DB240 54 60 05 2A */ rlwinm r0, r3, 0, 0x14, 0x15
+/* 802DF5E4 002DB244 2C 00 0C 00 */ cmpwi r0, 0xc00
+/* 802DF5E8 002DB248 41 82 00 10 */ beq lbl_802DF5F8
+/* 802DF5EC 002DB24C 54 60 04 A6 */ rlwinm r0, r3, 0, 0x12, 0x13
+/* 802DF5F0 002DB250 2C 00 30 00 */ cmpwi r0, 0x3000
+/* 802DF5F4 002DB254 40 82 00 1C */ bne lbl_802DF610
+lbl_802DF5F8:
+/* 802DF5F8 002DB258 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF5FC 002DB25C 7F A3 EB 78 */ mr r3, r29
+/* 802DF600 002DB260 38 A1 00 08 */ addi r5, r1, 8
+/* 802DF604 002DB264 38 C0 00 00 */ li r6, 0
+/* 802DF608 002DB268 4B FF CC 25 */ bl PORT_PortNegCnf
+/* 802DF60C 002DB26C 48 00 00 70 */ b lbl_802DF67C
+lbl_802DF610:
+/* 802DF610 002DB270 88 1F 00 56 */ lbz r0, 0x56(r31)
+/* 802DF614 002DB274 28 00 00 0C */ cmplwi r0, 0xc
+/* 802DF618 002DB278 40 82 00 40 */ bne lbl_802DF658
+/* 802DF61C 002DB27C 38 00 00 30 */ li r0, 0x30
+/* 802DF620 002DB280 7F A3 EB 78 */ mr r3, r29
+/* 802DF624 002DB284 98 1F 00 56 */ stb r0, 0x56(r31)
+/* 802DF628 002DB288 38 DF 00 51 */ addi r6, r31, 0x51
+/* 802DF62C 002DB28C 38 A0 00 01 */ li r5, 1
+/* 802DF630 002DB290 38 E0 30 00 */ li r7, 0x3000
+/* 802DF634 002DB294 88 1F 00 69 */ lbz r0, 0x69(r31)
+/* 802DF638 002DB298 60 00 00 04 */ ori r0, r0, 4
+/* 802DF63C 002DB29C 98 1F 00 69 */ stb r0, 0x69(r31)
+/* 802DF640 002DB2A0 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF644 002DB2A4 48 00 11 A9 */ bl rfc_send_rpn
+/* 802DF648 002DB2A8 7F E3 FB 78 */ mr r3, r31
+/* 802DF64C 002DB2AC 38 80 00 3C */ li r4, 0x3c
+/* 802DF650 002DB2B0 48 00 22 E9 */ bl rfc_port_timer_start
+/* 802DF654 002DB2B4 48 00 00 28 */ b lbl_802DF67C
+lbl_802DF658:
+/* 802DF658 002DB2B8 28 00 00 30 */ cmplwi r0, 0x30
+/* 802DF65C 002DB2BC 40 82 00 20 */ bne lbl_802DF67C
+/* 802DF660 002DB2C0 38 00 00 00 */ li r0, 0
+/* 802DF664 002DB2C4 7F A3 EB 78 */ mr r3, r29
+/* 802DF668 002DB2C8 98 1F 00 56 */ stb r0, 0x56(r31)
+/* 802DF66C 002DB2CC 38 A1 00 08 */ addi r5, r1, 8
+/* 802DF670 002DB2D0 38 C0 00 00 */ li r6, 0
+/* 802DF674 002DB2D4 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF678 002DB2D8 4B FF CB B5 */ bl PORT_PortNegCnf
+lbl_802DF67C:
+/* 802DF67C 002DB2DC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802DF680 002DB2E0 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 802DF684 002DB2E4 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 802DF688 002DB2E8 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 802DF68C 002DB2EC 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 802DF690 002DB2F0 7C 08 03 A6 */ mtlr r0
+/* 802DF694 002DB2F4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802DF698 002DB2F8 4E 80 00 20 */ blr
+
+.global rfc_process_msc
+rfc_process_msc:
+/* 802DF69C 002DB2FC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802DF6A0 002DB300 7C 08 02 A6 */ mflr r0
+/* 802DF6A4 002DB304 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802DF6A8 002DB308 39 61 00 30 */ addi r11, r1, 0x30
+/* 802DF6AC 002DB30C 4B EE 7A 7D */ bl _savegpr_27
+/* 802DF6B0 002DB310 7C 9D 23 78 */ mr r29, r4
+/* 802DF6B4 002DB314 8B 65 00 09 */ lbz r27, 9(r5)
+/* 802DF6B8 002DB318 88 85 00 00 */ lbz r4, 0(r5)
+/* 802DF6BC 002DB31C 7C 7C 1B 78 */ mr r28, r3
+/* 802DF6C0 002DB320 7C BE 2B 78 */ mr r30, r5
+/* 802DF6C4 002DB324 4B FF D9 39 */ bl port_find_mcb_dlci_port
+/* 802DF6C8 002DB328 2C 03 00 00 */ cmpwi r3, 0
+/* 802DF6CC 002DB32C 7C 7F 1B 78 */ mr r31, r3
+/* 802DF6D0 002DB330 41 82 01 20 */ beq lbl_802DF7F0
+/* 802DF6D4 002DB334 57 60 07 7B */ rlwinm. r0, r27, 0, 0x1d, 0x1d
+/* 802DF6D8 002DB338 38 00 00 00 */ li r0, 0
+/* 802DF6DC 002DB33C 98 01 00 08 */ stb r0, 8(r1)
+/* 802DF6E0 002DB340 41 82 00 0C */ beq lbl_802DF6EC
+/* 802DF6E4 002DB344 60 00 00 01 */ ori r0, r0, 1
+/* 802DF6E8 002DB348 98 01 00 08 */ stb r0, 8(r1)
+lbl_802DF6EC:
+/* 802DF6EC 002DB34C 57 60 07 39 */ rlwinm. r0, r27, 0, 0x1c, 0x1c
+/* 802DF6F0 002DB350 41 82 00 10 */ beq lbl_802DF700
+/* 802DF6F4 002DB354 88 01 00 08 */ lbz r0, 8(r1)
+/* 802DF6F8 002DB358 60 00 00 02 */ ori r0, r0, 2
+/* 802DF6FC 002DB35C 98 01 00 08 */ stb r0, 8(r1)
+lbl_802DF700:
+/* 802DF700 002DB360 57 60 06 73 */ rlwinm. r0, r27, 0, 0x19, 0x19
+/* 802DF704 002DB364 41 82 00 10 */ beq lbl_802DF714
+/* 802DF708 002DB368 88 01 00 08 */ lbz r0, 8(r1)
+/* 802DF70C 002DB36C 60 00 00 04 */ ori r0, r0, 4
+/* 802DF710 002DB370 98 01 00 08 */ stb r0, 8(r1)
+lbl_802DF714:
+/* 802DF714 002DB374 57 60 06 31 */ rlwinm. r0, r27, 0, 0x18, 0x18
+/* 802DF718 002DB378 41 82 00 10 */ beq lbl_802DF728
+/* 802DF71C 002DB37C 88 01 00 08 */ lbz r0, 8(r1)
+/* 802DF720 002DB380 60 00 00 08 */ ori r0, r0, 8
+/* 802DF724 002DB384 98 01 00 08 */ stb r0, 8(r1)
+lbl_802DF728:
+/* 802DF728 002DB388 57 60 FF FE */ rlwinm r0, r27, 0x1f, 0x1f, 0x1f
+/* 802DF72C 002DB38C 98 01 00 0C */ stb r0, 0xc(r1)
+/* 802DF730 002DB390 88 1E 00 0A */ lbz r0, 0xa(r30)
+/* 802DF734 002DB394 2C 00 00 00 */ cmpwi r0, 0
+/* 802DF738 002DB398 41 82 00 0C */ beq lbl_802DF744
+/* 802DF73C 002DB39C 88 BE 00 0B */ lbz r5, 0xb(r30)
+/* 802DF740 002DB3A0 48 00 00 08 */ b lbl_802DF748
+lbl_802DF744:
+/* 802DF744 002DB3A4 38 A0 00 00 */ li r5, 0
+lbl_802DF748:
+/* 802DF748 002DB3A8 38 80 00 00 */ li r4, 0
+/* 802DF74C 002DB3AC 38 00 00 01 */ li r0, 1
+/* 802DF750 002DB3B0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802DF754 002DB3B4 98 A1 00 09 */ stb r5, 9(r1)
+/* 802DF758 002DB3B8 98 81 00 0A */ stb r4, 0xa(r1)
+/* 802DF75C 002DB3BC 98 01 00 0B */ stb r0, 0xb(r1)
+/* 802DF760 002DB3C0 41 82 00 64 */ beq lbl_802DF7C4
+/* 802DF764 002DB3C4 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF768 002DB3C8 7F 83 E3 78 */ mr r3, r28
+/* 802DF76C 002DB3CC 38 C1 00 08 */ addi r6, r1, 8
+/* 802DF770 002DB3D0 38 A0 00 00 */ li r5, 0
+/* 802DF774 002DB3D4 48 00 0E A9 */ bl rfc_send_msc
+/* 802DF778 002DB3D8 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DF77C 002DB3DC 88 03 00 72 */ lbz r0, 0x72(r3)
+/* 802DF780 002DB3E0 28 00 00 02 */ cmplwi r0, 2
+/* 802DF784 002DB3E4 41 82 00 2C */ beq lbl_802DF7B0
+/* 802DF788 002DB3E8 88 61 00 0C */ lbz r3, 0xc(r1)
+/* 802DF78C 002DB3EC 98 7F 00 63 */ stb r3, 0x63(r31)
+/* 802DF790 002DB3F0 88 1F 00 24 */ lbz r0, 0x24(r31)
+/* 802DF794 002DB3F4 7C 03 00 40 */ cmplw r3, r0
+/* 802DF798 002DB3F8 41 82 00 18 */ beq lbl_802DF7B0
+/* 802DF79C 002DB3FC 7C 60 00 34 */ cntlzw r0, r3
+/* 802DF7A0 002DB400 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF7A4 002DB404 7F 83 E3 78 */ mr r3, r28
+/* 802DF7A8 002DB408 54 05 DE 3E */ rlwinm r5, r0, 0x1b, 0x18, 0x1f
+/* 802DF7AC 002DB40C 4B FF D2 3D */ bl PORT_FlowInd
+lbl_802DF7B0:
+/* 802DF7B0 002DB410 88 9E 00 00 */ lbz r4, 0(r30)
+/* 802DF7B4 002DB414 7F 83 E3 78 */ mr r3, r28
+/* 802DF7B8 002DB418 38 A1 00 08 */ addi r5, r1, 8
+/* 802DF7BC 002DB41C 4B FF CB 89 */ bl PORT_ControlInd
+/* 802DF7C0 002DB420 48 00 00 30 */ b lbl_802DF7F0
+lbl_802DF7C4:
+/* 802DF7C4 002DB424 88 83 00 69 */ lbz r4, 0x69(r3)
+/* 802DF7C8 002DB428 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
+/* 802DF7CC 002DB42C 41 82 00 24 */ beq lbl_802DF7F0
+/* 802DF7D0 002DB430 54 80 07 76 */ rlwinm r0, r4, 0, 0x1d, 0x1b
+/* 802DF7D4 002DB434 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DF7D8 002DB438 7F E3 FB 78 */ mr r3, r31
+/* 802DF7DC 002DB43C 48 00 21 DD */ bl rfc_port_timer_stop
+/* 802DF7E0 002DB440 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802DF7E4 002DB444 38 A1 00 08 */ addi r5, r1, 8
+/* 802DF7E8 002DB448 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802DF7EC 002DB44C 4B FF CC D1 */ bl PORT_ControlCnf
+lbl_802DF7F0:
+/* 802DF7F0 002DB450 39 61 00 30 */ addi r11, r1, 0x30
+/* 802DF7F4 002DB454 4B EE 79 81 */ bl _restgpr_27
+/* 802DF7F8 002DB458 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802DF7FC 002DB45C 7C 08 03 A6 */ mtlr r0
+/* 802DF800 002DB460 38 21 00 30 */ addi r1, r1, 0x30
+/* 802DF804 002DB464 4E 80 00 20 */ blr
+
+.global rfc_process_rls
+rfc_process_rls:
+/* 802DF808 002DB468 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DF80C 002DB46C 7C 08 02 A6 */ mflr r0
+/* 802DF810 002DB470 2C 04 00 00 */ cmpwi r4, 0
+/* 802DF814 002DB474 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DF818 002DB478 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DF81C 002DB47C 7C BF 2B 78 */ mr r31, r5
+/* 802DF820 002DB480 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DF824 002DB484 7C 7E 1B 78 */ mr r30, r3
+/* 802DF828 002DB488 41 82 00 28 */ beq lbl_802DF850
+/* 802DF82C 002DB48C 88 85 00 00 */ lbz r4, 0(r5)
+/* 802DF830 002DB490 88 A5 00 09 */ lbz r5, 9(r5)
+/* 802DF834 002DB494 4B FF CD 4D */ bl PORT_LineStatusInd
+/* 802DF838 002DB498 88 9F 00 00 */ lbz r4, 0(r31)
+/* 802DF83C 002DB49C 7F C3 F3 78 */ mr r3, r30
+/* 802DF840 002DB4A0 88 DF 00 09 */ lbz r6, 9(r31)
+/* 802DF844 002DB4A4 38 A0 00 00 */ li r5, 0
+/* 802DF848 002DB4A8 48 00 0E F5 */ bl rfc_send_rls
+/* 802DF84C 002DB4AC 48 00 00 30 */ b lbl_802DF87C
+lbl_802DF850:
+/* 802DF850 002DB4B0 88 85 00 00 */ lbz r4, 0(r5)
+/* 802DF854 002DB4B4 4B FF D7 A9 */ bl port_find_mcb_dlci_port
+/* 802DF858 002DB4B8 2C 03 00 00 */ cmpwi r3, 0
+/* 802DF85C 002DB4BC 41 82 00 20 */ beq lbl_802DF87C
+/* 802DF860 002DB4C0 88 83 00 69 */ lbz r4, 0x69(r3)
+/* 802DF864 002DB4C4 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
+/* 802DF868 002DB4C8 40 82 00 08 */ bne lbl_802DF870
+/* 802DF86C 002DB4CC 48 00 00 10 */ b lbl_802DF87C
+lbl_802DF870:
+/* 802DF870 002DB4D0 54 80 07 34 */ rlwinm r0, r4, 0, 0x1c, 0x1a
+/* 802DF874 002DB4D4 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DF878 002DB4D8 48 00 21 41 */ bl rfc_port_timer_stop
+lbl_802DF87C:
+/* 802DF87C 002DB4DC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DF880 002DB4E0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DF884 002DB4E4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DF888 002DB4E8 7C 08 03 A6 */ mtlr r0
+/* 802DF88C 002DB4EC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DF890 002DB4F0 4E 80 00 20 */ blr
+
+.global rfc_process_nsc
+rfc_process_nsc:
+/* 802DF894 002DB4F4 4E 80 00 20 */ blr
+
+.global rfc_process_test_rsp
+rfc_process_test_rsp:
+/* 802DF898 002DB4F8 7C 83 23 78 */ mr r3, r4
+/* 802DF89C 002DB4FC 4B FD A4 98 */ b GKI_freebuf
+
+.global rfc_process_fcon
+rfc_process_fcon:
+/* 802DF8A0 002DB500 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DF8A4 002DB504 7C 08 02 A6 */ mflr r0
+/* 802DF8A8 002DB508 2C 04 00 00 */ cmpwi r4, 0
+/* 802DF8AC 002DB50C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DF8B0 002DB510 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DF8B4 002DB514 7C 7F 1B 78 */ mr r31, r3
+/* 802DF8B8 002DB518 41 82 00 38 */ beq lbl_802DF8F0
+/* 802DF8BC 002DB51C 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802DF8C0 002DB520 38 00 00 00 */ li r0, 0
+/* 802DF8C4 002DB524 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802DF8C8 002DB528 38 80 00 00 */ li r4, 0
+/* 802DF8CC 002DB52C 98 05 00 64 */ stb r0, 0x64(r5)
+/* 802DF8D0 002DB530 48 00 0C 45 */ bl rfc_send_fcon
+/* 802DF8D4 002DB534 88 1F 00 73 */ lbz r0, 0x73(r31)
+/* 802DF8D8 002DB538 2C 00 00 00 */ cmpwi r0, 0
+/* 802DF8DC 002DB53C 40 82 00 14 */ bne lbl_802DF8F0
+/* 802DF8E0 002DB540 7F E3 FB 78 */ mr r3, r31
+/* 802DF8E4 002DB544 38 80 00 00 */ li r4, 0
+/* 802DF8E8 002DB548 38 A0 00 01 */ li r5, 1
+/* 802DF8EC 002DB54C 4B FF D0 FD */ bl PORT_FlowInd
+lbl_802DF8F0:
+/* 802DF8F0 002DB550 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DF8F4 002DB554 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DF8F8 002DB558 7C 08 03 A6 */ mtlr r0
+/* 802DF8FC 002DB55C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DF900 002DB560 4E 80 00 20 */ blr
+
+.global rfc_process_fcoff
+rfc_process_fcoff:
+/* 802DF904 002DB564 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DF908 002DB568 7C 08 02 A6 */ mflr r0
+/* 802DF90C 002DB56C 2C 04 00 00 */ cmpwi r4, 0
+/* 802DF910 002DB570 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DF914 002DB574 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DF918 002DB578 7C 7F 1B 78 */ mr r31, r3
+/* 802DF91C 002DB57C 41 82 00 38 */ beq lbl_802DF954
+/* 802DF920 002DB580 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802DF924 002DB584 38 00 00 01 */ li r0, 1
+/* 802DF928 002DB588 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802DF92C 002DB58C 98 04 00 64 */ stb r0, 0x64(r4)
+/* 802DF930 002DB590 88 03 00 73 */ lbz r0, 0x73(r3)
+/* 802DF934 002DB594 2C 00 00 00 */ cmpwi r0, 0
+/* 802DF938 002DB598 40 82 00 10 */ bne lbl_802DF948
+/* 802DF93C 002DB59C 38 80 00 00 */ li r4, 0
+/* 802DF940 002DB5A0 38 A0 00 00 */ li r5, 0
+/* 802DF944 002DB5A4 4B FF D0 A5 */ bl PORT_FlowInd
+lbl_802DF948:
+/* 802DF948 002DB5A8 7F E3 FB 78 */ mr r3, r31
+/* 802DF94C 002DB5AC 38 80 00 00 */ li r4, 0
+/* 802DF950 002DB5B0 48 00 0C 49 */ bl rfc_send_fcoff
+lbl_802DF954:
+/* 802DF954 002DB5B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DF958 002DB5B8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DF95C 002DB5BC 7C 08 03 A6 */ mtlr r0
+/* 802DF960 002DB5C0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DF964 002DB5C4 4E 80 00 20 */ blr
+
+.global rfc_process_l2cap_congestion
+rfc_process_l2cap_congestion:
+/* 802DF968 002DB5C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DF96C 002DB5CC 7C 08 02 A6 */ mflr r0
+/* 802DF970 002DB5D0 2C 04 00 00 */ cmpwi r4, 0
+/* 802DF974 002DB5D4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DF978 002DB5D8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DF97C 002DB5DC 7C 9F 23 78 */ mr r31, r4
+/* 802DF980 002DB5E0 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DF984 002DB5E4 7C 7E 1B 78 */ mr r30, r3
+/* 802DF988 002DB5E8 98 83 00 73 */ stb r4, 0x73(r3)
+/* 802DF98C 002DB5EC 40 82 00 0C */ bne lbl_802DF998
+/* 802DF990 002DB5F0 38 80 00 00 */ li r4, 0
+/* 802DF994 002DB5F4 48 00 23 F1 */ bl rfc_check_send_cmd
+lbl_802DF998:
+/* 802DF998 002DB5F8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802DF99C 002DB5FC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802DF9A0 002DB600 88 03 00 64 */ lbz r0, 0x64(r3)
+/* 802DF9A4 002DB604 2C 00 00 00 */ cmpwi r0, 0
+/* 802DF9A8 002DB608 40 82 00 30 */ bne lbl_802DF9D8
+/* 802DF9AC 002DB60C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802DF9B0 002DB610 40 82 00 18 */ bne lbl_802DF9C8
+/* 802DF9B4 002DB614 7F C3 F3 78 */ mr r3, r30
+/* 802DF9B8 002DB618 38 80 00 00 */ li r4, 0
+/* 802DF9BC 002DB61C 38 A0 00 01 */ li r5, 1
+/* 802DF9C0 002DB620 4B FF D0 29 */ bl PORT_FlowInd
+/* 802DF9C4 002DB624 48 00 00 14 */ b lbl_802DF9D8
+lbl_802DF9C8:
+/* 802DF9C8 002DB628 7F C3 F3 78 */ mr r3, r30
+/* 802DF9CC 002DB62C 38 80 00 00 */ li r4, 0
+/* 802DF9D0 002DB630 38 A0 00 00 */ li r5, 0
+/* 802DF9D4 002DB634 4B FF D0 15 */ bl PORT_FlowInd
+lbl_802DF9D8:
+/* 802DF9D8 002DB638 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DF9DC 002DB63C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DF9E0 002DB640 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DF9E4 002DB644 7C 08 03 A6 */ mtlr r0
+/* 802DF9E8 002DB648 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DF9EC 002DB64C 4E 80 00 20 */ blr
+
+.global rfc_set_port_state
+rfc_set_port_state:
+/* 802DF9F0 002DB650 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DF9F4 002DB654 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802DF9F8 002DB658 41 82 00 0C */ beq lbl_802DFA04
+/* 802DF9FC 002DB65C 88 04 00 0A */ lbz r0, 0xa(r4)
+/* 802DFA00 002DB660 98 03 00 00 */ stb r0, 0(r3)
+lbl_802DFA04:
+/* 802DFA04 002DB664 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA08 002DB668 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 802DFA0C 002DB66C 41 82 00 0C */ beq lbl_802DFA18
+/* 802DFA10 002DB670 88 04 00 0B */ lbz r0, 0xb(r4)
+/* 802DFA14 002DB674 98 03 00 01 */ stb r0, 1(r3)
+lbl_802DFA18:
+/* 802DFA18 002DB678 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA1C 002DB67C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 802DFA20 002DB680 41 82 00 0C */ beq lbl_802DFA2C
+/* 802DFA24 002DB684 88 04 00 0C */ lbz r0, 0xc(r4)
+/* 802DFA28 002DB688 98 03 00 02 */ stb r0, 2(r3)
+lbl_802DFA2C:
+/* 802DFA2C 002DB68C A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA30 002DB690 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 802DFA34 002DB694 41 82 00 0C */ beq lbl_802DFA40
+/* 802DFA38 002DB698 88 04 00 0D */ lbz r0, 0xd(r4)
+/* 802DFA3C 002DB69C 98 03 00 03 */ stb r0, 3(r3)
+lbl_802DFA40:
+/* 802DFA40 002DB6A0 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA44 002DB6A4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 802DFA48 002DB6A8 41 82 00 0C */ beq lbl_802DFA54
+/* 802DFA4C 002DB6AC 88 04 00 0E */ lbz r0, 0xe(r4)
+/* 802DFA50 002DB6B0 98 03 00 04 */ stb r0, 4(r3)
+lbl_802DFA54:
+/* 802DFA54 002DB6B4 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA58 002DB6B8 54 00 04 AF */ rlwinm. r0, r0, 0, 0x12, 0x17
+/* 802DFA5C 002DB6BC 41 82 00 0C */ beq lbl_802DFA68
+/* 802DFA60 002DB6C0 88 04 00 0F */ lbz r0, 0xf(r4)
+/* 802DFA64 002DB6C4 98 03 00 05 */ stb r0, 5(r3)
+lbl_802DFA68:
+/* 802DFA68 002DB6C8 A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA6C 002DB6CC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 802DFA70 002DB6D0 41 82 00 0C */ beq lbl_802DFA7C
+/* 802DFA74 002DB6D4 88 04 00 10 */ lbz r0, 0x10(r4)
+/* 802DFA78 002DB6D8 98 03 00 07 */ stb r0, 7(r3)
+lbl_802DFA7C:
+/* 802DFA7C 002DB6DC A0 04 00 12 */ lhz r0, 0x12(r4)
+/* 802DFA80 002DB6E0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
+/* 802DFA84 002DB6E4 4D 82 00 20 */ beqlr
+/* 802DFA88 002DB6E8 88 04 00 11 */ lbz r0, 0x11(r4)
+/* 802DFA8C 002DB6EC 98 03 00 08 */ stb r0, 8(r3)
+/* 802DFA90 002DB6F0 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/rfc_port_if.s b/asm/SDK/BTE/rfc_port_if.s new file mode 100644 index 0000000..52dcc81 --- /dev/null +++ b/asm/SDK/BTE/rfc_port_if.s @@ -0,0 +1,390 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global RFCOMM_StartRsp
+RFCOMM_StartRsp:
+/* 802DFA94 002DB6F4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DFA98 002DB6F8 7C 08 02 A6 */ mflr r0
+/* 802DFA9C 002DB6FC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DFAA0 002DB700 38 A1 00 08 */ addi r5, r1, 8
+/* 802DFAA4 002DB704 B0 81 00 08 */ sth r4, 8(r1)
+/* 802DFAA8 002DB708 38 80 00 07 */ li r4, 7
+/* 802DFAAC 002DB70C 4B FF E2 05 */ bl rfc_mx_sm_execute
+/* 802DFAB0 002DB710 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DFAB4 002DB714 7C 08 03 A6 */ mtlr r0
+/* 802DFAB8 002DB718 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DFABC 002DB71C 4E 80 00 20 */ blr
+
+.global RFCOMM_DlcEstablishReq
+RFCOMM_DlcEstablishReq:
+/* 802DFAC0 002DB720 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DFAC4 002DB724 7C 08 02 A6 */ mflr r0
+/* 802DFAC8 002DB728 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DFACC 002DB72C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DFAD0 002DB730 7C 9F 23 78 */ mr r31, r4
+/* 802DFAD4 002DB734 93 C1 00 08 */ stw r30, 8(r1)
+/* 802DFAD8 002DB738 7C 7E 1B 78 */ mr r30, r3
+/* 802DFADC 002DB73C 4B FF D5 21 */ bl port_find_mcb_dlci_port
+/* 802DFAE0 002DB740 88 1E 00 6C */ lbz r0, 0x6c(r30)
+/* 802DFAE4 002DB744 28 00 00 05 */ cmplwi r0, 5
+/* 802DFAE8 002DB748 41 82 00 1C */ beq lbl_802DFB04
+/* 802DFAEC 002DB74C 7F C3 F3 78 */ mr r3, r30
+/* 802DFAF0 002DB750 7F E4 FB 78 */ mr r4, r31
+/* 802DFAF4 002DB754 38 A0 00 00 */ li r5, 0
+/* 802DFAF8 002DB758 38 C0 00 01 */ li r6, 1
+/* 802DFAFC 002DB75C 4B FF C4 9D */ bl PORT_DlcEstablishCnf
+/* 802DFB00 002DB760 48 00 00 10 */ b lbl_802DFB10
+lbl_802DFB04:
+/* 802DFB04 002DB764 38 80 00 09 */ li r4, 9
+/* 802DFB08 002DB768 38 A0 00 00 */ li r5, 0
+/* 802DFB0C 002DB76C 4B FF ED E9 */ bl rfc_port_sm_execute
+lbl_802DFB10:
+/* 802DFB10 002DB770 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DFB14 002DB774 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DFB18 002DB778 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802DFB1C 002DB77C 7C 08 03 A6 */ mtlr r0
+/* 802DFB20 002DB780 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DFB24 002DB784 4E 80 00 20 */ blr
+
+.global RFCOMM_DlcEstablishRsp
+RFCOMM_DlcEstablishRsp:
+/* 802DFB28 002DB788 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFB2C 002DB78C 7C 08 02 A6 */ mflr r0
+/* 802DFB30 002DB790 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFB34 002DB794 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DFB38 002DB798 7C 9F 23 78 */ mr r31, r4
+/* 802DFB3C 002DB79C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DFB40 002DB7A0 7C 7E 1B 78 */ mr r30, r3
+/* 802DFB44 002DB7A4 B0 C1 00 08 */ sth r6, 8(r1)
+/* 802DFB48 002DB7A8 4B FF D4 B5 */ bl port_find_mcb_dlci_port
+/* 802DFB4C 002DB7AC 88 1E 00 6C */ lbz r0, 0x6c(r30)
+/* 802DFB50 002DB7B0 28 00 00 05 */ cmplwi r0, 5
+/* 802DFB54 002DB7B4 41 82 00 20 */ beq lbl_802DFB74
+/* 802DFB58 002DB7B8 A0 01 00 08 */ lhz r0, 8(r1)
+/* 802DFB5C 002DB7BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802DFB60 002DB7C0 40 82 00 14 */ bne lbl_802DFB74
+/* 802DFB64 002DB7C4 7F C3 F3 78 */ mr r3, r30
+/* 802DFB68 002DB7C8 7F E4 FB 78 */ mr r4, r31
+/* 802DFB6C 002DB7CC 4B FF CA DD */ bl PORT_DlcReleaseInd
+/* 802DFB70 002DB7D0 48 00 00 10 */ b lbl_802DFB80
+lbl_802DFB74:
+/* 802DFB74 002DB7D4 38 A1 00 08 */ addi r5, r1, 8
+/* 802DFB78 002DB7D8 38 80 00 0B */ li r4, 0xb
+/* 802DFB7C 002DB7DC 4B FF ED 79 */ bl rfc_port_sm_execute
+lbl_802DFB80:
+/* 802DFB80 002DB7E0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DFB84 002DB7E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DFB88 002DB7E8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DFB8C 002DB7EC 7C 08 03 A6 */ mtlr r0
+/* 802DFB90 002DB7F0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DFB94 002DB7F4 4E 80 00 20 */ blr
+
+.global RFCOMM_ParNegReq
+RFCOMM_ParNegReq:
+/* 802DFB98 002DB7F8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFB9C 002DB7FC 7C 08 02 A6 */ mflr r0
+/* 802DFBA0 002DB800 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFBA4 002DB804 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DFBA8 002DB808 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DFBAC 002DB80C 7C BE 2B 78 */ mr r30, r5
+/* 802DFBB0 002DB810 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DFBB4 002DB814 7C 9D 23 78 */ mr r29, r4
+/* 802DFBB8 002DB818 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DFBBC 002DB81C 7C 7C 1B 78 */ mr r28, r3
+/* 802DFBC0 002DB820 4B FF D4 3D */ bl port_find_mcb_dlci_port
+/* 802DFBC4 002DB824 88 1C 00 6C */ lbz r0, 0x6c(r28)
+/* 802DFBC8 002DB828 7C 7F 1B 78 */ mr r31, r3
+/* 802DFBCC 002DB82C 28 00 00 05 */ cmplwi r0, 5
+/* 802DFBD0 002DB830 41 82 00 10 */ beq lbl_802DFBE0
+/* 802DFBD4 002DB834 38 00 00 0D */ li r0, 0xd
+/* 802DFBD8 002DB838 98 03 00 0E */ stb r0, 0xe(r3)
+/* 802DFBDC 002DB83C 48 00 00 7C */ b lbl_802DFC58
+lbl_802DFBE0:
+/* 802DFBE0 002DB840 88 9C 00 72 */ lbz r4, 0x72(r28)
+/* 802DFBE4 002DB844 38 00 00 02 */ li r0, 2
+/* 802DFBE8 002DB848 2C 04 00 00 */ cmpwi r4, 0
+/* 802DFBEC 002DB84C 41 82 00 08 */ beq lbl_802DFBF4
+/* 802DFBF0 002DB850 7C 80 23 78 */ mr r0, r4
+lbl_802DFBF4:
+/* 802DFBF4 002DB854 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802DFBF8 002DB858 28 00 00 02 */ cmplwi r0, 2
+/* 802DFBFC 002DB85C 40 82 00 28 */ bne lbl_802DFC24
+/* 802DFC00 002DB860 A0 83 00 9C */ lhz r4, 0x9c(r3)
+/* 802DFC04 002DB864 38 E0 00 F0 */ li r7, 0xf0
+/* 802DFC08 002DB868 38 00 00 07 */ li r0, 7
+/* 802DFC0C 002DB86C 28 04 00 07 */ cmplwi r4, 7
+/* 802DFC10 002DB870 40 80 00 08 */ bge lbl_802DFC18
+/* 802DFC14 002DB874 7C 80 23 78 */ mr r0, r4
+lbl_802DFC18:
+/* 802DFC18 002DB878 54 08 06 3E */ clrlwi r8, r0, 0x18
+/* 802DFC1C 002DB87C B1 03 00 9A */ sth r8, 0x9a(r3)
+/* 802DFC20 002DB880 48 00 00 0C */ b lbl_802DFC2C
+lbl_802DFC24:
+/* 802DFC24 002DB884 38 E0 00 00 */ li r7, 0
+/* 802DFC28 002DB888 39 00 00 00 */ li r8, 0
+lbl_802DFC2C:
+/* 802DFC2C 002DB88C 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DFC30 002DB890 7F A4 EB 78 */ mr r4, r29
+/* 802DFC34 002DB894 7F C6 F3 78 */ mr r6, r30
+/* 802DFC38 002DB898 38 A0 00 01 */ li r5, 1
+/* 802DFC3C 002DB89C 60 00 00 01 */ ori r0, r0, 1
+/* 802DFC40 002DB8A0 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DFC44 002DB8A4 7F 83 E3 78 */ mr r3, r28
+/* 802DFC48 002DB8A8 48 00 07 E5 */ bl rfc_send_pn
+/* 802DFC4C 002DB8AC 7F E3 FB 78 */ mr r3, r31
+/* 802DFC50 002DB8B0 38 80 00 3C */ li r4, 0x3c
+/* 802DFC54 002DB8B4 48 00 1C E5 */ bl rfc_port_timer_start
+lbl_802DFC58:
+/* 802DFC58 002DB8B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DFC5C 002DB8BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DFC60 002DB8C0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DFC64 002DB8C4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DFC68 002DB8C8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DFC6C 002DB8CC 7C 08 03 A6 */ mtlr r0
+/* 802DFC70 002DB8D0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DFC74 002DB8D4 4E 80 00 20 */ blr
+
+.global RFCOMM_ParNegRsp
+RFCOMM_ParNegRsp:
+/* 802DFC78 002DB8D8 88 03 00 6C */ lbz r0, 0x6c(r3)
+/* 802DFC7C 002DB8DC 7C C9 33 78 */ mr r9, r6
+/* 802DFC80 002DB8E0 7C E8 3B 78 */ mr r8, r7
+/* 802DFC84 002DB8E4 28 00 00 05 */ cmplwi r0, 5
+/* 802DFC88 002DB8E8 4C 82 00 20 */ bnelr
+/* 802DFC8C 002DB8EC 7C A6 2B 78 */ mr r6, r5
+/* 802DFC90 002DB8F0 7D 27 4B 78 */ mr r7, r9
+/* 802DFC94 002DB8F4 38 A0 00 00 */ li r5, 0
+/* 802DFC98 002DB8F8 48 00 07 94 */ b rfc_send_pn
+/* 802DFC9C 002DB8FC 4E 80 00 20 */ blr
+
+.global RFCOMM_PortNegReq
+RFCOMM_PortNegReq:
+/* 802DFCA0 002DB900 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFCA4 002DB904 7C 08 02 A6 */ mflr r0
+/* 802DFCA8 002DB908 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFCAC 002DB90C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DFCB0 002DB910 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DFCB4 002DB914 7C BE 2B 78 */ mr r30, r5
+/* 802DFCB8 002DB918 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DFCBC 002DB91C 7C 9D 23 78 */ mr r29, r4
+/* 802DFCC0 002DB920 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DFCC4 002DB924 7C 7C 1B 78 */ mr r28, r3
+/* 802DFCC8 002DB928 4B FF D3 35 */ bl port_find_mcb_dlci_port
+/* 802DFCCC 002DB92C 88 1C 00 6C */ lbz r0, 0x6c(r28)
+/* 802DFCD0 002DB930 7C 7F 1B 78 */ mr r31, r3
+/* 802DFCD4 002DB934 28 00 00 05 */ cmplwi r0, 5
+/* 802DFCD8 002DB938 41 82 00 1C */ beq lbl_802DFCF4
+/* 802DFCDC 002DB93C 7F 83 E3 78 */ mr r3, r28
+/* 802DFCE0 002DB940 7F A4 EB 78 */ mr r4, r29
+/* 802DFCE4 002DB944 38 A0 00 00 */ li r5, 0
+/* 802DFCE8 002DB948 38 C0 00 01 */ li r6, 1
+/* 802DFCEC 002DB94C 4B FF C5 41 */ bl PORT_PortNegCnf
+/* 802DFCF0 002DB950 48 00 00 4C */ b lbl_802DFD3C
+lbl_802DFCF4:
+/* 802DFCF4 002DB954 2C 1E 00 00 */ cmpwi r30, 0
+/* 802DFCF8 002DB958 40 82 00 14 */ bne lbl_802DFD0C
+/* 802DFCFC 002DB95C 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DFD00 002DB960 60 00 00 02 */ ori r0, r0, 2
+/* 802DFD04 002DB964 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DFD08 002DB968 48 00 00 10 */ b lbl_802DFD18
+lbl_802DFD0C:
+/* 802DFD0C 002DB96C 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DFD10 002DB970 60 00 00 04 */ ori r0, r0, 4
+/* 802DFD14 002DB974 98 03 00 69 */ stb r0, 0x69(r3)
+lbl_802DFD18:
+/* 802DFD18 002DB978 7F 83 E3 78 */ mr r3, r28
+/* 802DFD1C 002DB97C 7F A4 EB 78 */ mr r4, r29
+/* 802DFD20 002DB980 7F C6 F3 78 */ mr r6, r30
+/* 802DFD24 002DB984 38 A0 00 01 */ li r5, 1
+/* 802DFD28 002DB988 38 E0 3F 7F */ li r7, 0x3f7f
+/* 802DFD2C 002DB98C 48 00 0A C1 */ bl rfc_send_rpn
+/* 802DFD30 002DB990 7F E3 FB 78 */ mr r3, r31
+/* 802DFD34 002DB994 38 80 00 3C */ li r4, 0x3c
+/* 802DFD38 002DB998 48 00 1C 01 */ bl rfc_port_timer_start
+lbl_802DFD3C:
+/* 802DFD3C 002DB99C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DFD40 002DB9A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DFD44 002DB9A4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DFD48 002DB9A8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DFD4C 002DB9AC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DFD50 002DB9B0 7C 08 03 A6 */ mtlr r0
+/* 802DFD54 002DB9B4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DFD58 002DB9B8 4E 80 00 20 */ blr
+
+.global RFCOMM_PortNegRsp
+RFCOMM_PortNegRsp:
+/* 802DFD5C 002DB9BC 88 03 00 6C */ lbz r0, 0x6c(r3)
+/* 802DFD60 002DB9C0 7C C7 33 78 */ mr r7, r6
+/* 802DFD64 002DB9C4 28 00 00 05 */ cmplwi r0, 5
+/* 802DFD68 002DB9C8 4C 82 00 20 */ bnelr
+/* 802DFD6C 002DB9CC 7C A6 2B 78 */ mr r6, r5
+/* 802DFD70 002DB9D0 38 A0 00 00 */ li r5, 0
+/* 802DFD74 002DB9D4 48 00 0A 78 */ b rfc_send_rpn
+/* 802DFD78 002DB9D8 4E 80 00 20 */ blr
+
+.global RFCOMM_ControlReq
+RFCOMM_ControlReq:
+/* 802DFD7C 002DB9DC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFD80 002DB9E0 7C 08 02 A6 */ mflr r0
+/* 802DFD84 002DB9E4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFD88 002DB9E8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DFD8C 002DB9EC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DFD90 002DB9F0 7C BE 2B 78 */ mr r30, r5
+/* 802DFD94 002DB9F4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DFD98 002DB9F8 7C 9D 23 78 */ mr r29, r4
+/* 802DFD9C 002DB9FC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DFDA0 002DBA00 7C 7C 1B 78 */ mr r28, r3
+/* 802DFDA4 002DBA04 4B FF D2 59 */ bl port_find_mcb_dlci_port
+/* 802DFDA8 002DBA08 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DFDAC 002DBA0C 7C 7F 1B 78 */ mr r31, r3
+/* 802DFDB0 002DBA10 28 00 00 02 */ cmplwi r0, 2
+/* 802DFDB4 002DBA14 40 82 00 4C */ bne lbl_802DFE00
+/* 802DFDB8 002DBA18 88 03 00 68 */ lbz r0, 0x68(r3)
+/* 802DFDBC 002DBA1C 28 00 00 04 */ cmplwi r0, 4
+/* 802DFDC0 002DBA20 41 82 00 08 */ beq lbl_802DFDC8
+/* 802DFDC4 002DBA24 48 00 00 3C */ b lbl_802DFE00
+lbl_802DFDC8:
+/* 802DFDC8 002DBA28 88 03 00 64 */ lbz r0, 0x64(r3)
+/* 802DFDCC 002DBA2C 7F A4 EB 78 */ mr r4, r29
+/* 802DFDD0 002DBA30 7F C6 F3 78 */ mr r6, r30
+/* 802DFDD4 002DBA34 38 A0 00 01 */ li r5, 1
+/* 802DFDD8 002DBA38 60 00 00 01 */ ori r0, r0, 1
+/* 802DFDDC 002DBA3C 98 03 00 64 */ stb r0, 0x64(r3)
+/* 802DFDE0 002DBA40 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DFDE4 002DBA44 60 00 00 08 */ ori r0, r0, 8
+/* 802DFDE8 002DBA48 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DFDEC 002DBA4C 7F 83 E3 78 */ mr r3, r28
+/* 802DFDF0 002DBA50 48 00 08 2D */ bl rfc_send_msc
+/* 802DFDF4 002DBA54 7F E3 FB 78 */ mr r3, r31
+/* 802DFDF8 002DBA58 38 80 00 3C */ li r4, 0x3c
+/* 802DFDFC 002DBA5C 48 00 1B 3D */ bl rfc_port_timer_start
+lbl_802DFE00:
+/* 802DFE00 002DBA60 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DFE04 002DBA64 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DFE08 002DBA68 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DFE0C 002DBA6C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DFE10 002DBA70 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DFE14 002DBA74 7C 08 03 A6 */ mtlr r0
+/* 802DFE18 002DBA78 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DFE1C 002DBA7C 4E 80 00 20 */ blr
+
+.global RFCOMM_FlowReq
+RFCOMM_FlowReq:
+/* 802DFE20 002DBA80 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFE24 002DBA84 7C 08 02 A6 */ mflr r0
+/* 802DFE28 002DBA88 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFE2C 002DBA8C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DFE30 002DBA90 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DFE34 002DBA94 7C BE 2B 78 */ mr r30, r5
+/* 802DFE38 002DBA98 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DFE3C 002DBA9C 7C 9D 23 78 */ mr r29, r4
+/* 802DFE40 002DBAA0 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DFE44 002DBAA4 7C 7C 1B 78 */ mr r28, r3
+/* 802DFE48 002DBAA8 4B FF D1 B5 */ bl port_find_mcb_dlci_port
+/* 802DFE4C 002DBAAC 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DFE50 002DBAB0 7C 7F 1B 78 */ mr r31, r3
+/* 802DFE54 002DBAB4 28 00 00 02 */ cmplwi r0, 2
+/* 802DFE58 002DBAB8 40 82 00 4C */ bne lbl_802DFEA4
+/* 802DFE5C 002DBABC 88 03 00 68 */ lbz r0, 0x68(r3)
+/* 802DFE60 002DBAC0 28 00 00 04 */ cmplwi r0, 4
+/* 802DFE64 002DBAC4 41 82 00 08 */ beq lbl_802DFE6C
+/* 802DFE68 002DBAC8 48 00 00 3C */ b lbl_802DFEA4
+lbl_802DFE6C:
+/* 802DFE6C 002DBACC 7F C0 00 34 */ cntlzw r0, r30
+/* 802DFE70 002DBAD0 7F A4 EB 78 */ mr r4, r29
+/* 802DFE74 002DBAD4 54 00 DE 3E */ rlwinm r0, r0, 0x1b, 0x18, 0x1f
+/* 802DFE78 002DBAD8 38 DF 00 5A */ addi r6, r31, 0x5a
+/* 802DFE7C 002DBADC 98 03 00 5E */ stb r0, 0x5e(r3)
+/* 802DFE80 002DBAE0 38 A0 00 01 */ li r5, 1
+/* 802DFE84 002DBAE4 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DFE88 002DBAE8 60 00 00 08 */ ori r0, r0, 8
+/* 802DFE8C 002DBAEC 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DFE90 002DBAF0 7F 83 E3 78 */ mr r3, r28
+/* 802DFE94 002DBAF4 48 00 07 89 */ bl rfc_send_msc
+/* 802DFE98 002DBAF8 7F E3 FB 78 */ mr r3, r31
+/* 802DFE9C 002DBAFC 38 80 00 3C */ li r4, 0x3c
+/* 802DFEA0 002DBB00 48 00 1A 99 */ bl rfc_port_timer_start
+lbl_802DFEA4:
+/* 802DFEA4 002DBB04 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DFEA8 002DBB08 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DFEAC 002DBB0C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DFEB0 002DBB10 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DFEB4 002DBB14 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DFEB8 002DBB18 7C 08 03 A6 */ mtlr r0
+/* 802DFEBC 002DBB1C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DFEC0 002DBB20 4E 80 00 20 */ blr
+
+.global RFCOMM_LineStatusReq
+RFCOMM_LineStatusReq:
+/* 802DFEC4 002DBB24 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFEC8 002DBB28 7C 08 02 A6 */ mflr r0
+/* 802DFECC 002DBB2C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFED0 002DBB30 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802DFED4 002DBB34 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802DFED8 002DBB38 7C BE 2B 78 */ mr r30, r5
+/* 802DFEDC 002DBB3C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802DFEE0 002DBB40 7C 9D 23 78 */ mr r29, r4
+/* 802DFEE4 002DBB44 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802DFEE8 002DBB48 7C 7C 1B 78 */ mr r28, r3
+/* 802DFEEC 002DBB4C 4B FF D1 11 */ bl port_find_mcb_dlci_port
+/* 802DFEF0 002DBB50 88 03 00 02 */ lbz r0, 2(r3)
+/* 802DFEF4 002DBB54 7C 7F 1B 78 */ mr r31, r3
+/* 802DFEF8 002DBB58 28 00 00 02 */ cmplwi r0, 2
+/* 802DFEFC 002DBB5C 40 82 00 40 */ bne lbl_802DFF3C
+/* 802DFF00 002DBB60 88 03 00 68 */ lbz r0, 0x68(r3)
+/* 802DFF04 002DBB64 28 00 00 04 */ cmplwi r0, 4
+/* 802DFF08 002DBB68 41 82 00 08 */ beq lbl_802DFF10
+/* 802DFF0C 002DBB6C 48 00 00 30 */ b lbl_802DFF3C
+lbl_802DFF10:
+/* 802DFF10 002DBB70 88 03 00 69 */ lbz r0, 0x69(r3)
+/* 802DFF14 002DBB74 7F A4 EB 78 */ mr r4, r29
+/* 802DFF18 002DBB78 7F C6 F3 78 */ mr r6, r30
+/* 802DFF1C 002DBB7C 38 A0 00 01 */ li r5, 1
+/* 802DFF20 002DBB80 60 00 00 10 */ ori r0, r0, 0x10
+/* 802DFF24 002DBB84 98 03 00 69 */ stb r0, 0x69(r3)
+/* 802DFF28 002DBB88 7F 83 E3 78 */ mr r3, r28
+/* 802DFF2C 002DBB8C 48 00 08 11 */ bl rfc_send_rls
+/* 802DFF30 002DBB90 7F E3 FB 78 */ mr r3, r31
+/* 802DFF34 002DBB94 38 80 00 3C */ li r4, 0x3c
+/* 802DFF38 002DBB98 48 00 1A 01 */ bl rfc_port_timer_start
+lbl_802DFF3C:
+/* 802DFF3C 002DBB9C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802DFF40 002DBBA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802DFF44 002DBBA4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802DFF48 002DBBA8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802DFF4C 002DBBAC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802DFF50 002DBBB0 7C 08 03 A6 */ mtlr r0
+/* 802DFF54 002DBBB4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802DFF58 002DBBB8 4E 80 00 20 */ blr
+
+.global RFCOMM_DlcReleaseReq
+RFCOMM_DlcReleaseReq:
+/* 802DFF5C 002DBBBC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DFF60 002DBBC0 7C 08 02 A6 */ mflr r0
+/* 802DFF64 002DBBC4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DFF68 002DBBC8 4B FF D0 95 */ bl port_find_mcb_dlci_port
+/* 802DFF6C 002DBBCC 38 80 00 0C */ li r4, 0xc
+/* 802DFF70 002DBBD0 38 A0 00 00 */ li r5, 0
+/* 802DFF74 002DBBD4 4B FF E9 81 */ bl rfc_port_sm_execute
+/* 802DFF78 002DBBD8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DFF7C 002DBBDC 7C 08 03 A6 */ mtlr r0
+/* 802DFF80 002DBBE0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DFF84 002DBBE4 4E 80 00 20 */ blr
+
+.global RFCOMM_DataReq
+RFCOMM_DataReq:
+/* 802DFF88 002DBBE8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802DFF8C 002DBBEC 7C 08 02 A6 */ mflr r0
+/* 802DFF90 002DBBF0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802DFF94 002DBBF4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802DFF98 002DBBF8 7C BF 2B 78 */ mr r31, r5
+/* 802DFF9C 002DBBFC 4B FF D0 61 */ bl port_find_mcb_dlci_port
+/* 802DFFA0 002DBC00 7F E5 FB 78 */ mr r5, r31
+/* 802DFFA4 002DBC04 38 80 00 0E */ li r4, 0xe
+/* 802DFFA8 002DBC08 4B FF E9 4D */ bl rfc_port_sm_execute
+/* 802DFFAC 002DBC0C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802DFFB0 002DBC10 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802DFFB4 002DBC14 7C 08 03 A6 */ mtlr r0
+/* 802DFFB8 002DBC18 38 21 00 10 */ addi r1, r1, 0x10
+/* 802DFFBC 002DBC1C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/rfc_ts_frames.s b/asm/SDK/BTE/rfc_ts_frames.s new file mode 100644 index 0000000..85f35c1 --- /dev/null +++ b/asm/SDK/BTE/rfc_ts_frames.s @@ -0,0 +1,1590 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global rfc_send_sabme
+rfc_send_sabme:
+/* 802DFFC0 002DBC20 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802DFFC4 002DBC24 7C 08 02 A6 */ mflr r0
+/* 802DFFC8 002DBC28 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802DFFCC 002DBC2C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802DFFD0 002DBC30 4B EE 71 59 */ bl _savegpr_27
+/* 802DFFD4 002DBC34 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 802DFFD8 002DBC38 7C 7B 1B 78 */ mr r27, r3
+/* 802DFFDC 002DBC3C 7C 9C 23 78 */ mr r28, r4
+/* 802DFFE0 002DBC40 38 60 00 01 */ li r3, 1
+/* 802DFFE4 002DBC44 2C 00 00 00 */ cmpwi r0, 0
+/* 802DFFE8 002DBC48 40 82 00 08 */ bne lbl_802DFFF0
+/* 802DFFEC 002DBC4C 38 60 00 00 */ li r3, 0
+lbl_802DFFF0:
+/* 802DFFF0 002DBC50 54 7D 0E 3C */ rlwinm r29, r3, 1, 0x18, 0x1e
+/* 802DFFF4 002DBC54 38 60 00 02 */ li r3, 2
+/* 802DFFF8 002DBC58 4B FD 9C 55 */ bl GKI_getpoolbuf
+/* 802DFFFC 002DBC5C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0000 002DBC60 7C 7E 1B 78 */ mr r30, r3
+/* 802E0004 002DBC64 41 82 00 54 */ beq lbl_802E0058
+/* 802E0008 002DBC68 38 00 00 09 */ li r0, 9
+/* 802E000C 002DBC6C 3B E3 00 11 */ addi r31, r3, 0x11
+/* 802E0010 002DBC70 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E0014 002DBC74 63 A3 00 01 */ ori r3, r29, 1
+/* 802E0018 002DBC78 57 80 15 BA */ rlwinm r0, r28, 2, 0x16, 0x1d
+/* 802E001C 002DBC7C 38 A0 00 3F */ li r5, 0x3f
+/* 802E0020 002DBC80 7C 63 03 78 */ or r3, r3, r0
+/* 802E0024 002DBC84 7F E4 FB 78 */ mr r4, r31
+/* 802E0028 002DBC88 98 7F 00 00 */ stb r3, 0(r31)
+/* 802E002C 002DBC8C 38 00 00 01 */ li r0, 1
+/* 802E0030 002DBC90 38 60 00 03 */ li r3, 3
+/* 802E0034 002DBC94 98 BF 00 01 */ stb r5, 1(r31)
+/* 802E0038 002DBC98 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E003C 002DBC9C 48 00 15 CD */ bl rfc_calc_fcs
+/* 802E0040 002DBCA0 98 7F 00 03 */ stb r3, 3(r31)
+/* 802E0044 002DBCA4 38 00 00 04 */ li r0, 4
+/* 802E0048 002DBCA8 7F 63 DB 78 */ mr r3, r27
+/* 802E004C 002DBCAC 7F C4 F3 78 */ mr r4, r30
+/* 802E0050 002DBCB0 B0 1E 00 02 */ sth r0, 2(r30)
+/* 802E0054 002DBCB4 48 00 1D 31 */ bl rfc_check_send_cmd
+lbl_802E0058:
+/* 802E0058 002DBCB8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E005C 002DBCBC 4B EE 71 19 */ bl _restgpr_27
+/* 802E0060 002DBCC0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0064 002DBCC4 7C 08 03 A6 */ mtlr r0
+/* 802E0068 002DBCC8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E006C 002DBCCC 4E 80 00 20 */ blr
+
+.global rfc_send_ua
+rfc_send_ua:
+/* 802E0070 002DBCD0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0074 002DBCD4 7C 08 02 A6 */ mflr r0
+/* 802E0078 002DBCD8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E007C 002DBCDC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E0080 002DBCE0 4B EE 70 A9 */ bl _savegpr_27
+/* 802E0084 002DBCE4 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 802E0088 002DBCE8 7C 7B 1B 78 */ mr r27, r3
+/* 802E008C 002DBCEC 7C 9C 23 78 */ mr r28, r4
+/* 802E0090 002DBCF0 38 60 00 01 */ li r3, 1
+/* 802E0094 002DBCF4 2C 00 00 00 */ cmpwi r0, 0
+/* 802E0098 002DBCF8 41 82 00 08 */ beq lbl_802E00A0
+/* 802E009C 002DBCFC 38 60 00 00 */ li r3, 0
+lbl_802E00A0:
+/* 802E00A0 002DBD00 54 7D 0E 3C */ rlwinm r29, r3, 1, 0x18, 0x1e
+/* 802E00A4 002DBD04 38 60 00 02 */ li r3, 2
+/* 802E00A8 002DBD08 4B FD 9B A5 */ bl GKI_getpoolbuf
+/* 802E00AC 002DBD0C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E00B0 002DBD10 7C 7E 1B 78 */ mr r30, r3
+/* 802E00B4 002DBD14 41 82 00 54 */ beq lbl_802E0108
+/* 802E00B8 002DBD18 38 00 00 09 */ li r0, 9
+/* 802E00BC 002DBD1C 3B E3 00 11 */ addi r31, r3, 0x11
+/* 802E00C0 002DBD20 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E00C4 002DBD24 63 A3 00 01 */ ori r3, r29, 1
+/* 802E00C8 002DBD28 57 80 15 BA */ rlwinm r0, r28, 2, 0x16, 0x1d
+/* 802E00CC 002DBD2C 38 A0 00 73 */ li r5, 0x73
+/* 802E00D0 002DBD30 7C 63 03 78 */ or r3, r3, r0
+/* 802E00D4 002DBD34 7F E4 FB 78 */ mr r4, r31
+/* 802E00D8 002DBD38 98 7F 00 00 */ stb r3, 0(r31)
+/* 802E00DC 002DBD3C 38 00 00 01 */ li r0, 1
+/* 802E00E0 002DBD40 38 60 00 03 */ li r3, 3
+/* 802E00E4 002DBD44 98 BF 00 01 */ stb r5, 1(r31)
+/* 802E00E8 002DBD48 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E00EC 002DBD4C 48 00 15 1D */ bl rfc_calc_fcs
+/* 802E00F0 002DBD50 98 7F 00 03 */ stb r3, 3(r31)
+/* 802E00F4 002DBD54 38 00 00 04 */ li r0, 4
+/* 802E00F8 002DBD58 7F 63 DB 78 */ mr r3, r27
+/* 802E00FC 002DBD5C 7F C4 F3 78 */ mr r4, r30
+/* 802E0100 002DBD60 B0 1E 00 02 */ sth r0, 2(r30)
+/* 802E0104 002DBD64 48 00 1C 81 */ bl rfc_check_send_cmd
+lbl_802E0108:
+/* 802E0108 002DBD68 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E010C 002DBD6C 4B EE 70 69 */ bl _restgpr_27
+/* 802E0110 002DBD70 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0114 002DBD74 7C 08 03 A6 */ mtlr r0
+/* 802E0118 002DBD78 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E011C 002DBD7C 4E 80 00 20 */ blr
+
+.global rfc_send_dm
+rfc_send_dm:
+/* 802E0120 002DBD80 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0124 002DBD84 7C 08 02 A6 */ mflr r0
+/* 802E0128 002DBD88 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E012C 002DBD8C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E0130 002DBD90 4B EE 6F F9 */ bl _savegpr_27
+/* 802E0134 002DBD94 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 802E0138 002DBD98 7C 7F 1B 78 */ mr r31, r3
+/* 802E013C 002DBD9C 7C 9B 23 78 */ mr r27, r4
+/* 802E0140 002DBDA0 7C BE 2B 78 */ mr r30, r5
+/* 802E0144 002DBDA4 2C 00 00 00 */ cmpwi r0, 0
+/* 802E0148 002DBDA8 38 00 00 01 */ li r0, 1
+/* 802E014C 002DBDAC 41 82 00 08 */ beq lbl_802E0154
+/* 802E0150 002DBDB0 38 00 00 00 */ li r0, 0
+lbl_802E0154:
+/* 802E0154 002DBDB4 54 1C 0E 3C */ rlwinm r28, r0, 1, 0x18, 0x1e
+/* 802E0158 002DBDB8 38 60 00 02 */ li r3, 2
+/* 802E015C 002DBDBC 4B FD 9A F1 */ bl GKI_getpoolbuf
+/* 802E0160 002DBDC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0164 002DBDC4 7C 7D 1B 78 */ mr r29, r3
+/* 802E0168 002DBDC8 41 82 00 64 */ beq lbl_802E01CC
+/* 802E016C 002DBDCC 7C 1E 00 D0 */ neg r0, r30
+/* 802E0170 002DBDD0 38 80 00 09 */ li r4, 9
+/* 802E0174 002DBDD4 7C 00 F3 78 */ or r0, r0, r30
+/* 802E0178 002DBDD8 B0 83 00 04 */ sth r4, 4(r3)
+/* 802E017C 002DBDDC 3B C3 00 11 */ addi r30, r3, 0x11
+/* 802E0180 002DBDE0 63 85 00 01 */ ori r5, r28, 1
+/* 802E0184 002DBDE4 7C 03 FE 70 */ srawi r3, r0, 0x1f
+/* 802E0188 002DBDE8 57 64 15 BA */ rlwinm r4, r27, 2, 0x16, 0x1d
+/* 802E018C 002DBDEC 7C A4 23 78 */ or r4, r5, r4
+/* 802E0190 002DBDF0 38 00 00 01 */ li r0, 1
+/* 802E0194 002DBDF4 54 63 06 F6 */ rlwinm r3, r3, 0, 0x1b, 0x1b
+/* 802E0198 002DBDF8 98 9E 00 00 */ stb r4, 0(r30)
+/* 802E019C 002DBDFC 60 63 00 0F */ ori r3, r3, 0xf
+/* 802E01A0 002DBE00 7F C4 F3 78 */ mr r4, r30
+/* 802E01A4 002DBE04 98 7E 00 01 */ stb r3, 1(r30)
+/* 802E01A8 002DBE08 38 60 00 03 */ li r3, 3
+/* 802E01AC 002DBE0C 98 1E 00 02 */ stb r0, 2(r30)
+/* 802E01B0 002DBE10 48 00 14 59 */ bl rfc_calc_fcs
+/* 802E01B4 002DBE14 98 7E 00 03 */ stb r3, 3(r30)
+/* 802E01B8 002DBE18 38 00 00 04 */ li r0, 4
+/* 802E01BC 002DBE1C 7F E3 FB 78 */ mr r3, r31
+/* 802E01C0 002DBE20 7F A4 EB 78 */ mr r4, r29
+/* 802E01C4 002DBE24 B0 1D 00 02 */ sth r0, 2(r29)
+/* 802E01C8 002DBE28 48 00 1B BD */ bl rfc_check_send_cmd
+lbl_802E01CC:
+/* 802E01CC 002DBE2C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E01D0 002DBE30 4B EE 6F A5 */ bl _restgpr_27
+/* 802E01D4 002DBE34 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E01D8 002DBE38 7C 08 03 A6 */ mtlr r0
+/* 802E01DC 002DBE3C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E01E0 002DBE40 4E 80 00 20 */ blr
+
+.global rfc_send_disc
+rfc_send_disc:
+/* 802E01E4 002DBE44 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E01E8 002DBE48 7C 08 02 A6 */ mflr r0
+/* 802E01EC 002DBE4C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E01F0 002DBE50 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E01F4 002DBE54 4B EE 6F 35 */ bl _savegpr_27
+/* 802E01F8 002DBE58 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 802E01FC 002DBE5C 7C 7B 1B 78 */ mr r27, r3
+/* 802E0200 002DBE60 7C 9C 23 78 */ mr r28, r4
+/* 802E0204 002DBE64 38 60 00 01 */ li r3, 1
+/* 802E0208 002DBE68 2C 00 00 00 */ cmpwi r0, 0
+/* 802E020C 002DBE6C 40 82 00 08 */ bne lbl_802E0214
+/* 802E0210 002DBE70 38 60 00 00 */ li r3, 0
+lbl_802E0214:
+/* 802E0214 002DBE74 54 7D 0E 3C */ rlwinm r29, r3, 1, 0x18, 0x1e
+/* 802E0218 002DBE78 38 60 00 02 */ li r3, 2
+/* 802E021C 002DBE7C 4B FD 9A 31 */ bl GKI_getpoolbuf
+/* 802E0220 002DBE80 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0224 002DBE84 7C 7E 1B 78 */ mr r30, r3
+/* 802E0228 002DBE88 41 82 00 54 */ beq lbl_802E027C
+/* 802E022C 002DBE8C 38 00 00 09 */ li r0, 9
+/* 802E0230 002DBE90 3B E3 00 11 */ addi r31, r3, 0x11
+/* 802E0234 002DBE94 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E0238 002DBE98 63 A3 00 01 */ ori r3, r29, 1
+/* 802E023C 002DBE9C 57 80 15 BA */ rlwinm r0, r28, 2, 0x16, 0x1d
+/* 802E0240 002DBEA0 38 A0 00 53 */ li r5, 0x53
+/* 802E0244 002DBEA4 7C 63 03 78 */ or r3, r3, r0
+/* 802E0248 002DBEA8 7F E4 FB 78 */ mr r4, r31
+/* 802E024C 002DBEAC 98 7F 00 00 */ stb r3, 0(r31)
+/* 802E0250 002DBEB0 38 00 00 01 */ li r0, 1
+/* 802E0254 002DBEB4 38 60 00 03 */ li r3, 3
+/* 802E0258 002DBEB8 98 BF 00 01 */ stb r5, 1(r31)
+/* 802E025C 002DBEBC 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E0260 002DBEC0 48 00 13 A9 */ bl rfc_calc_fcs
+/* 802E0264 002DBEC4 98 7F 00 03 */ stb r3, 3(r31)
+/* 802E0268 002DBEC8 38 00 00 04 */ li r0, 4
+/* 802E026C 002DBECC 7F 63 DB 78 */ mr r3, r27
+/* 802E0270 002DBED0 7F C4 F3 78 */ mr r4, r30
+/* 802E0274 002DBED4 B0 1E 00 02 */ sth r0, 2(r30)
+/* 802E0278 002DBED8 48 00 1B 0D */ bl rfc_check_send_cmd
+lbl_802E027C:
+/* 802E027C 002DBEDC 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E0280 002DBEE0 4B EE 6E F5 */ bl _restgpr_27
+/* 802E0284 002DBEE4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0288 002DBEE8 7C 08 03 A6 */ mtlr r0
+/* 802E028C 002DBEEC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0290 002DBEF0 4E 80 00 20 */ blr
+
+.global rfc_send_buf_uih
+rfc_send_buf_uih:
+/* 802E0294 002DBEF4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0298 002DBEF8 7C 08 02 A6 */ mflr r0
+/* 802E029C 002DBEFC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E02A0 002DBF00 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E02A4 002DBF04 7C BF 2B 78 */ mr r31, r5
+/* 802E02A8 002DBF08 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E02AC 002DBF0C 7C 9E 23 78 */ mr r30, r4
+/* 802E02B0 002DBF10 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E02B4 002DBF14 7C 7D 1B 78 */ mr r29, r3
+/* 802E02B8 002DBF18 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E02BC 002DBF1C 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 802E02C0 002DBF20 2C 00 00 00 */ cmpwi r0, 0
+/* 802E02C4 002DBF24 38 00 00 01 */ li r0, 1
+/* 802E02C8 002DBF28 40 82 00 08 */ bne lbl_802E02D0
+/* 802E02CC 002DBF2C 38 00 00 00 */ li r0, 0
+lbl_802E02D0:
+/* 802E02D0 002DBF30 A0 65 00 04 */ lhz r3, 4(r5)
+/* 802E02D4 002DBF34 54 06 0E 3C */ rlwinm r6, r0, 1, 0x18, 0x1e
+/* 802E02D8 002DBF38 A0 05 00 02 */ lhz r0, 2(r5)
+/* 802E02DC 002DBF3C 38 63 FF FD */ addi r3, r3, -3
+/* 802E02E0 002DBF40 28 00 00 7F */ cmplwi r0, 0x7f
+/* 802E02E4 002DBF44 B0 65 00 04 */ sth r3, 4(r5)
+/* 802E02E8 002DBF48 40 81 00 10 */ ble lbl_802E02F8
+/* 802E02EC 002DBF4C 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E02F0 002DBF50 38 03 FF FF */ addi r0, r3, -1
+/* 802E02F4 002DBF54 B0 05 00 04 */ sth r0, 4(r5)
+lbl_802E02F8:
+/* 802E02F8 002DBF58 2C 04 00 00 */ cmpwi r4, 0
+/* 802E02FC 002DBF5C 41 82 00 10 */ beq lbl_802E030C
+/* 802E0300 002DBF60 A0 05 00 06 */ lhz r0, 6(r5)
+/* 802E0304 002DBF64 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 802E0308 002DBF68 48 00 00 08 */ b lbl_802E0310
+lbl_802E030C:
+/* 802E030C 002DBF6C 38 00 00 00 */ li r0, 0
+lbl_802E0310:
+/* 802E0310 002DBF70 2C 00 00 00 */ cmpwi r0, 0
+/* 802E0314 002DBF74 41 82 00 10 */ beq lbl_802E0324
+/* 802E0318 002DBF78 A0 65 00 04 */ lhz r3, 4(r5)
+/* 802E031C 002DBF7C 38 63 FF FF */ addi r3, r3, -1
+/* 802E0320 002DBF80 B0 65 00 04 */ sth r3, 4(r5)
+lbl_802E0324:
+/* 802E0324 002DBF84 7C 60 00 D0 */ neg r3, r0
+/* 802E0328 002DBF88 A0 E5 00 04 */ lhz r7, 4(r5)
+/* 802E032C 002DBF8C 7C 63 03 78 */ or r3, r3, r0
+/* 802E0330 002DBF90 60 C6 00 01 */ ori r6, r6, 1
+/* 802E0334 002DBF94 54 84 15 BA */ rlwinm r4, r4, 2, 0x16, 0x1d
+/* 802E0338 002DBF98 7C E5 3A 14 */ add r7, r5, r7
+/* 802E033C 002DBF9C 7C C4 23 78 */ or r4, r6, r4
+/* 802E0340 002DBFA0 7C 63 FE 70 */ srawi r3, r3, 0x1f
+/* 802E0344 002DBFA4 54 63 06 F6 */ rlwinm r3, r3, 0, 0x1b, 0x1b
+/* 802E0348 002DBFA8 98 87 00 08 */ stb r4, 8(r7)
+/* 802E034C 002DBFAC 60 63 00 EF */ ori r3, r3, 0xef
+/* 802E0350 002DBFB0 38 87 00 0A */ addi r4, r7, 0xa
+/* 802E0354 002DBFB4 98 67 00 09 */ stb r3, 9(r7)
+/* 802E0358 002DBFB8 A0 65 00 02 */ lhz r3, 2(r5)
+/* 802E035C 002DBFBC 28 03 00 7F */ cmplwi r3, 0x7f
+/* 802E0360 002DBFC0 41 81 00 24 */ bgt lbl_802E0384
+/* 802E0364 002DBFC4 54 63 0B FC */ rlwinm r3, r3, 1, 0xf, 0x1e
+/* 802E0368 002DBFC8 60 63 00 01 */ ori r3, r3, 1
+/* 802E036C 002DBFCC 98 64 00 00 */ stb r3, 0(r4)
+/* 802E0370 002DBFD0 38 84 00 01 */ addi r4, r4, 1
+/* 802E0374 002DBFD4 A0 65 00 02 */ lhz r3, 2(r5)
+/* 802E0378 002DBFD8 38 63 00 03 */ addi r3, r3, 3
+/* 802E037C 002DBFDC B0 65 00 02 */ sth r3, 2(r5)
+/* 802E0380 002DBFE0 48 00 00 28 */ b lbl_802E03A8
+lbl_802E0384:
+/* 802E0384 002DBFE4 54 63 0E 3C */ rlwinm r3, r3, 1, 0x18, 0x1e
+/* 802E0388 002DBFE8 98 64 00 00 */ stb r3, 0(r4)
+/* 802E038C 002DBFEC A0 65 00 02 */ lhz r3, 2(r5)
+/* 802E0390 002DBFF0 7C 63 3E 70 */ srawi r3, r3, 7
+/* 802E0394 002DBFF4 98 64 00 01 */ stb r3, 1(r4)
+/* 802E0398 002DBFF8 38 84 00 02 */ addi r4, r4, 2
+/* 802E039C 002DBFFC A0 65 00 02 */ lhz r3, 2(r5)
+/* 802E03A0 002DC000 38 63 00 04 */ addi r3, r3, 4
+/* 802E03A4 002DC004 B0 65 00 02 */ sth r3, 2(r5)
+lbl_802E03A8:
+/* 802E03A8 002DC008 2C 00 00 00 */ cmpwi r0, 0
+/* 802E03AC 002DC00C 41 82 00 14 */ beq lbl_802E03C0
+/* 802E03B0 002DC010 98 04 00 00 */ stb r0, 0(r4)
+/* 802E03B4 002DC014 A0 65 00 02 */ lhz r3, 2(r5)
+/* 802E03B8 002DC018 38 03 00 01 */ addi r0, r3, 1
+/* 802E03BC 002DC01C B0 05 00 02 */ sth r0, 2(r5)
+lbl_802E03C0:
+/* 802E03C0 002DC020 A0 85 00 02 */ lhz r4, 2(r5)
+/* 802E03C4 002DC024 38 60 00 02 */ li r3, 2
+/* 802E03C8 002DC028 A0 C5 00 04 */ lhz r6, 4(r5)
+/* 802E03CC 002DC02C 38 04 00 01 */ addi r0, r4, 1
+/* 802E03D0 002DC030 7C C5 32 14 */ add r6, r5, r6
+/* 802E03D4 002DC034 B0 05 00 02 */ sth r0, 2(r5)
+/* 802E03D8 002DC038 7F 86 22 14 */ add r28, r6, r4
+/* 802E03DC 002DC03C 38 86 00 08 */ addi r4, r6, 8
+/* 802E03E0 002DC040 48 00 12 29 */ bl rfc_calc_fcs
+/* 802E03E4 002DC044 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E03E8 002DC048 98 7C 00 08 */ stb r3, 8(r28)
+/* 802E03EC 002DC04C 40 82 00 14 */ bne lbl_802E0400
+/* 802E03F0 002DC050 7F A3 EB 78 */ mr r3, r29
+/* 802E03F4 002DC054 7F E4 FB 78 */ mr r4, r31
+/* 802E03F8 002DC058 48 00 19 8D */ bl rfc_check_send_cmd
+/* 802E03FC 002DC05C 48 00 00 10 */ b lbl_802E040C
+lbl_802E0400:
+/* 802E0400 002DC060 A0 7D 00 68 */ lhz r3, 0x68(r29)
+/* 802E0404 002DC064 7F E4 FB 78 */ mr r4, r31
+/* 802E0408 002DC068 4B FF 5C E9 */ bl L2CA_DataWrite
+lbl_802E040C:
+/* 802E040C 002DC06C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0410 002DC070 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E0414 002DC074 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E0418 002DC078 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E041C 002DC07C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E0420 002DC080 7C 08 03 A6 */ mtlr r0
+/* 802E0424 002DC084 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0428 002DC088 4E 80 00 20 */ blr
+
+.global rfc_send_pn
+rfc_send_pn:
+/* 802E042C 002DC08C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0430 002DC090 7C 08 02 A6 */ mflr r0
+/* 802E0434 002DC094 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E0438 002DC098 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E043C 002DC09C 4B EE 6C E9 */ bl _savegpr_26
+/* 802E0440 002DC0A0 7C 7E 1B 78 */ mr r30, r3
+/* 802E0444 002DC0A4 7C 9A 23 78 */ mr r26, r4
+/* 802E0448 002DC0A8 7C BB 2B 78 */ mr r27, r5
+/* 802E044C 002DC0AC 7C DF 33 78 */ mr r31, r6
+/* 802E0450 002DC0B0 7C FC 3B 78 */ mr r28, r7
+/* 802E0454 002DC0B4 7D 1D 43 78 */ mr r29, r8
+/* 802E0458 002DC0B8 38 60 00 02 */ li r3, 2
+/* 802E045C 002DC0BC 4B FD 97 F1 */ bl GKI_getpoolbuf
+/* 802E0460 002DC0C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0464 002DC0C4 41 82 00 98 */ beq lbl_802E04FC
+/* 802E0468 002DC0C8 7C 1B 00 D0 */ neg r0, r27
+/* 802E046C 002DC0CC 38 80 00 0C */ li r4, 0xc
+/* 802E0470 002DC0D0 7C 00 DB 78 */ or r0, r0, r27
+/* 802E0474 002DC0D4 B0 83 00 04 */ sth r4, 4(r3)
+/* 802E0478 002DC0D8 7C 04 FE 70 */ srawi r4, r0, 0x1f
+/* 802E047C 002DC0DC 2C 1B 00 00 */ cmpwi r27, 0
+/* 802E0480 002DC0E0 54 84 07 BC */ rlwinm r4, r4, 0, 0x1e, 0x1e
+/* 802E0484 002DC0E4 38 00 00 11 */ li r0, 0x11
+/* 802E0488 002DC0E8 60 84 00 81 */ ori r4, r4, 0x81
+/* 802E048C 002DC0EC 39 03 00 18 */ addi r8, r3, 0x18
+/* 802E0490 002DC0F0 98 83 00 14 */ stb r4, 0x14(r3)
+/* 802E0494 002DC0F4 98 03 00 15 */ stb r0, 0x15(r3)
+/* 802E0498 002DC0F8 9B 43 00 16 */ stb r26, 0x16(r3)
+/* 802E049C 002DC0FC 9B 83 00 17 */ stb r28, 0x17(r3)
+/* 802E04A0 002DC100 41 82 00 14 */ beq lbl_802E04B4
+/* 802E04A4 002DC104 38 00 00 00 */ li r0, 0
+/* 802E04A8 002DC108 98 08 00 00 */ stb r0, 0(r8)
+/* 802E04AC 002DC10C 39 08 00 01 */ addi r8, r8, 1
+/* 802E04B0 002DC110 48 00 00 18 */ b lbl_802E04C8
+lbl_802E04B4:
+/* 802E04B4 002DC114 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802E04B8 002DC118 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802E04BC 002DC11C 88 04 00 0B */ lbz r0, 0xb(r4)
+/* 802E04C0 002DC120 98 08 00 00 */ stb r0, 0(r8)
+/* 802E04C4 002DC124 39 08 00 01 */ addi r8, r8, 1
+lbl_802E04C8:
+/* 802E04C8 002DC128 38 E0 00 00 */ li r7, 0
+/* 802E04CC 002DC12C 57 E6 C6 3E */ rlwinm r6, r31, 0x18, 0x18, 0x1f
+/* 802E04D0 002DC130 98 E8 00 00 */ stb r7, 0(r8)
+/* 802E04D4 002DC134 38 00 00 0A */ li r0, 0xa
+/* 802E04D8 002DC138 7C 65 1B 78 */ mr r5, r3
+/* 802E04DC 002DC13C 38 80 00 00 */ li r4, 0
+/* 802E04E0 002DC140 9B E8 00 01 */ stb r31, 1(r8)
+/* 802E04E4 002DC144 98 C8 00 02 */ stb r6, 2(r8)
+/* 802E04E8 002DC148 98 E8 00 03 */ stb r7, 3(r8)
+/* 802E04EC 002DC14C 9B A8 00 04 */ stb r29, 4(r8)
+/* 802E04F0 002DC150 B0 03 00 02 */ sth r0, 2(r3)
+/* 802E04F4 002DC154 7F C3 F3 78 */ mr r3, r30
+/* 802E04F8 002DC158 4B FF FD 9D */ bl rfc_send_buf_uih
+lbl_802E04FC:
+/* 802E04FC 002DC15C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E0500 002DC160 4B EE 6C 71 */ bl _restgpr_26
+/* 802E0504 002DC164 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0508 002DC168 7C 08 03 A6 */ mtlr r0
+/* 802E050C 002DC16C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0510 002DC170 4E 80 00 20 */ blr
+
+.global rfc_send_fcon
+rfc_send_fcon:
+/* 802E0514 002DC174 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E0518 002DC178 7C 08 02 A6 */ mflr r0
+/* 802E051C 002DC17C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E0520 002DC180 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E0524 002DC184 7C 9F 23 78 */ mr r31, r4
+/* 802E0528 002DC188 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E052C 002DC18C 7C 7E 1B 78 */ mr r30, r3
+/* 802E0530 002DC190 38 60 00 02 */ li r3, 2
+/* 802E0534 002DC194 4B FD 97 19 */ bl GKI_getpoolbuf
+/* 802E0538 002DC198 2C 03 00 00 */ cmpwi r3, 0
+/* 802E053C 002DC19C 41 82 00 44 */ beq lbl_802E0580
+/* 802E0540 002DC1A0 7C 1F 00 D0 */ neg r0, r31
+/* 802E0544 002DC1A4 38 80 00 0C */ li r4, 0xc
+/* 802E0548 002DC1A8 7C 00 FB 78 */ or r0, r0, r31
+/* 802E054C 002DC1AC B0 83 00 04 */ sth r4, 4(r3)
+/* 802E0550 002DC1B0 7C 04 FE 70 */ srawi r4, r0, 0x1f
+/* 802E0554 002DC1B4 38 C0 00 02 */ li r6, 2
+/* 802E0558 002DC1B8 54 84 07 BC */ rlwinm r4, r4, 0, 0x1e, 0x1e
+/* 802E055C 002DC1BC 38 00 00 01 */ li r0, 1
+/* 802E0560 002DC1C0 60 84 00 A1 */ ori r4, r4, 0xa1
+/* 802E0564 002DC1C4 7C 65 1B 78 */ mr r5, r3
+/* 802E0568 002DC1C8 98 83 00 14 */ stb r4, 0x14(r3)
+/* 802E056C 002DC1CC 38 80 00 00 */ li r4, 0
+/* 802E0570 002DC1D0 98 03 00 15 */ stb r0, 0x15(r3)
+/* 802E0574 002DC1D4 B0 C3 00 02 */ sth r6, 2(r3)
+/* 802E0578 002DC1D8 7F C3 F3 78 */ mr r3, r30
+/* 802E057C 002DC1DC 4B FF FD 19 */ bl rfc_send_buf_uih
+lbl_802E0580:
+/* 802E0580 002DC1E0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E0584 002DC1E4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E0588 002DC1E8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E058C 002DC1EC 7C 08 03 A6 */ mtlr r0
+/* 802E0590 002DC1F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E0594 002DC1F4 4E 80 00 20 */ blr
+
+.global rfc_send_fcoff
+rfc_send_fcoff:
+/* 802E0598 002DC1F8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E059C 002DC1FC 7C 08 02 A6 */ mflr r0
+/* 802E05A0 002DC200 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E05A4 002DC204 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E05A8 002DC208 7C 9F 23 78 */ mr r31, r4
+/* 802E05AC 002DC20C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E05B0 002DC210 7C 7E 1B 78 */ mr r30, r3
+/* 802E05B4 002DC214 38 60 00 02 */ li r3, 2
+/* 802E05B8 002DC218 4B FD 96 95 */ bl GKI_getpoolbuf
+/* 802E05BC 002DC21C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E05C0 002DC220 41 82 00 44 */ beq lbl_802E0604
+/* 802E05C4 002DC224 7C 1F 00 D0 */ neg r0, r31
+/* 802E05C8 002DC228 38 80 00 0C */ li r4, 0xc
+/* 802E05CC 002DC22C 7C 00 FB 78 */ or r0, r0, r31
+/* 802E05D0 002DC230 B0 83 00 04 */ sth r4, 4(r3)
+/* 802E05D4 002DC234 7C 04 FE 70 */ srawi r4, r0, 0x1f
+/* 802E05D8 002DC238 38 C0 00 02 */ li r6, 2
+/* 802E05DC 002DC23C 54 84 07 BC */ rlwinm r4, r4, 0, 0x1e, 0x1e
+/* 802E05E0 002DC240 38 00 00 01 */ li r0, 1
+/* 802E05E4 002DC244 60 84 00 61 */ ori r4, r4, 0x61
+/* 802E05E8 002DC248 7C 65 1B 78 */ mr r5, r3
+/* 802E05EC 002DC24C 98 83 00 14 */ stb r4, 0x14(r3)
+/* 802E05F0 002DC250 38 80 00 00 */ li r4, 0
+/* 802E05F4 002DC254 98 03 00 15 */ stb r0, 0x15(r3)
+/* 802E05F8 002DC258 B0 C3 00 02 */ sth r6, 2(r3)
+/* 802E05FC 002DC25C 7F C3 F3 78 */ mr r3, r30
+/* 802E0600 002DC260 4B FF FC 95 */ bl rfc_send_buf_uih
+lbl_802E0604:
+/* 802E0604 002DC264 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E0608 002DC268 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E060C 002DC26C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E0610 002DC270 7C 08 03 A6 */ mtlr r0
+/* 802E0614 002DC274 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E0618 002DC278 4E 80 00 20 */ blr
+
+.global rfc_send_msc
+rfc_send_msc:
+/* 802E061C 002DC27C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0620 002DC280 7C 08 02 A6 */ mflr r0
+/* 802E0624 002DC284 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E0628 002DC288 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E062C 002DC28C 4B EE 6A F9 */ bl _savegpr_26
+/* 802E0630 002DC290 8B E6 00 00 */ lbz r31, 0(r6)
+/* 802E0634 002DC294 7C 7C 1B 78 */ mr r28, r3
+/* 802E0638 002DC298 8B C6 00 01 */ lbz r30, 1(r6)
+/* 802E063C 002DC29C 7C 9A 23 78 */ mr r26, r4
+/* 802E0640 002DC2A0 7C BB 2B 78 */ mr r27, r5
+/* 802E0644 002DC2A4 7C DD 33 78 */ mr r29, r6
+/* 802E0648 002DC2A8 38 60 00 02 */ li r3, 2
+/* 802E064C 002DC2AC 4B FD 96 01 */ bl GKI_getpoolbuf
+/* 802E0650 002DC2B0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0654 002DC2B4 41 82 00 D0 */ beq lbl_802E0724
+/* 802E0658 002DC2B8 7C 1B 00 D0 */ neg r0, r27
+/* 802E065C 002DC2BC 7C 9E 00 D0 */ neg r4, r30
+/* 802E0660 002DC2C0 7C 00 DB 78 */ or r0, r0, r27
+/* 802E0664 002DC2C4 38 C0 00 0C */ li r6, 0xc
+/* 802E0668 002DC2C8 7C 85 F3 78 */ or r5, r4, r30
+/* 802E066C 002DC2CC B0 C3 00 04 */ sth r6, 4(r3)
+/* 802E0670 002DC2D0 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 802E0674 002DC2D4 57 44 15 BA */ rlwinm r4, r26, 2, 0x16, 0x1d
+/* 802E0678 002DC2D8 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 802E067C 002DC2DC 54 A5 0F FE */ srwi r5, r5, 0x1f
+/* 802E0680 002DC2E0 60 00 00 E1 */ ori r0, r0, 0xe1
+/* 802E0684 002DC2E4 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E0688 002DC2E8 39 25 00 02 */ addi r9, r5, 2
+/* 802E068C 002DC2EC 98 03 00 14 */ stb r0, 0x14(r3)
+/* 802E0690 002DC2F0 55 25 0D FC */ rlwinm r5, r9, 1, 0x17, 0x1e
+/* 802E0694 002DC2F4 57 E0 07 FE */ clrlwi r0, r31, 0x1f
+/* 802E0698 002DC2F8 60 A6 00 01 */ ori r6, r5, 1
+/* 802E069C 002DC2FC 60 85 00 03 */ ori r5, r4, 3
+/* 802E06A0 002DC300 98 C3 00 15 */ stb r6, 0x15(r3)
+/* 802E06A4 002DC304 57 E4 FF FE */ rlwinm r4, r31, 0x1f, 0x1f, 0x1f
+/* 802E06A8 002DC308 7D 00 00 D0 */ neg r8, r0
+/* 802E06AC 002DC30C 98 A3 00 16 */ stb r5, 0x16(r3)
+/* 802E06B0 002DC310 7C 84 00 D0 */ neg r4, r4
+/* 802E06B4 002DC314 57 E0 F7 FE */ rlwinm r0, r31, 0x1e, 0x1f, 0x1f
+/* 802E06B8 002DC318 88 FD 00 04 */ lbz r7, 4(r29)
+/* 802E06BC 002DC31C 54 8A 07 38 */ rlwinm r10, r4, 0, 0x1c, 0x1c
+/* 802E06C0 002DC320 7C C0 00 D0 */ neg r6, r0
+/* 802E06C4 002DC324 57 E0 EF FE */ rlwinm r0, r31, 0x1d, 0x1f, 0x1f
+/* 802E06C8 002DC328 7C 87 00 D0 */ neg r4, r7
+/* 802E06CC 002DC32C 7C 84 3B 78 */ or r4, r4, r7
+/* 802E06D0 002DC330 7C A0 00 D0 */ neg r5, r0
+/* 802E06D4 002DC334 7C 84 FE 70 */ srawi r4, r4, 0x1f
+/* 802E06D8 002DC338 61 40 00 01 */ ori r0, r10, 1
+/* 802E06DC 002DC33C 54 84 07 BC */ rlwinm r4, r4, 0, 0x1e, 0x1e
+/* 802E06E0 002DC340 38 E3 00 18 */ addi r7, r3, 0x18
+/* 802E06E4 002DC344 51 04 07 7A */ rlwimi r4, r8, 0, 0x1d, 0x1d
+/* 802E06E8 002DC348 50 C4 06 72 */ rlwimi r4, r6, 0, 0x19, 0x19
+/* 802E06EC 002DC34C 50 A4 06 30 */ rlwimi r4, r5, 0, 0x18, 0x18
+/* 802E06F0 002DC350 7C 80 03 78 */ or r0, r4, r0
+/* 802E06F4 002DC354 98 03 00 17 */ stb r0, 0x17(r3)
+/* 802E06F8 002DC358 41 82 00 10 */ beq lbl_802E0708
+/* 802E06FC 002DC35C 57 C0 25 36 */ rlwinm r0, r30, 4, 0x14, 0x1b
+/* 802E0700 002DC360 60 00 00 03 */ ori r0, r0, 3
+/* 802E0704 002DC364 98 07 00 00 */ stb r0, 0(r7)
+lbl_802E0708:
+/* 802E0708 002DC368 55 24 06 3E */ clrlwi r4, r9, 0x18
+/* 802E070C 002DC36C 7C 65 1B 78 */ mr r5, r3
+/* 802E0710 002DC370 38 04 00 02 */ addi r0, r4, 2
+/* 802E0714 002DC374 B0 03 00 02 */ sth r0, 2(r3)
+/* 802E0718 002DC378 38 80 00 00 */ li r4, 0
+/* 802E071C 002DC37C 7F 83 E3 78 */ mr r3, r28
+/* 802E0720 002DC380 4B FF FB 75 */ bl rfc_send_buf_uih
+lbl_802E0724:
+/* 802E0724 002DC384 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E0728 002DC388 4B EE 6A 49 */ bl _restgpr_26
+/* 802E072C 002DC38C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0730 002DC390 7C 08 03 A6 */ mtlr r0
+/* 802E0734 002DC394 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0738 002DC398 4E 80 00 20 */ blr
+
+.global rfc_send_rls
+rfc_send_rls:
+/* 802E073C 002DC39C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0740 002DC3A0 7C 08 02 A6 */ mflr r0
+/* 802E0744 002DC3A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E0748 002DC3A8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E074C 002DC3AC 7C DF 33 78 */ mr r31, r6
+/* 802E0750 002DC3B0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E0754 002DC3B4 7C BE 2B 78 */ mr r30, r5
+/* 802E0758 002DC3B8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E075C 002DC3BC 7C 9D 23 78 */ mr r29, r4
+/* 802E0760 002DC3C0 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E0764 002DC3C4 7C 7C 1B 78 */ mr r28, r3
+/* 802E0768 002DC3C8 38 60 00 02 */ li r3, 2
+/* 802E076C 002DC3CC 4B FD 94 E1 */ bl GKI_getpoolbuf
+/* 802E0770 002DC3D0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0774 002DC3D4 41 82 00 58 */ beq lbl_802E07CC
+/* 802E0778 002DC3D8 7C 1E 00 D0 */ neg r0, r30
+/* 802E077C 002DC3DC 38 A0 00 0C */ li r5, 0xc
+/* 802E0780 002DC3E0 7C 04 F3 78 */ or r4, r0, r30
+/* 802E0784 002DC3E4 B0 A3 00 04 */ sth r5, 4(r3)
+/* 802E0788 002DC3E8 7C 84 FE 70 */ srawi r4, r4, 0x1f
+/* 802E078C 002DC3EC 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d
+/* 802E0790 002DC3F0 54 85 07 BC */ rlwinm r5, r4, 0, 0x1e, 0x1e
+/* 802E0794 002DC3F4 63 E6 00 01 */ ori r6, r31, 1
+/* 802E0798 002DC3F8 60 A5 00 51 */ ori r5, r5, 0x51
+/* 802E079C 002DC3FC 60 07 00 03 */ ori r7, r0, 3
+/* 802E07A0 002DC400 98 A3 00 14 */ stb r5, 0x14(r3)
+/* 802E07A4 002DC404 38 80 00 05 */ li r4, 5
+/* 802E07A8 002DC408 38 00 00 04 */ li r0, 4
+/* 802E07AC 002DC40C 7C 65 1B 78 */ mr r5, r3
+/* 802E07B0 002DC410 98 83 00 15 */ stb r4, 0x15(r3)
+/* 802E07B4 002DC414 38 80 00 00 */ li r4, 0
+/* 802E07B8 002DC418 98 E3 00 16 */ stb r7, 0x16(r3)
+/* 802E07BC 002DC41C 98 C3 00 17 */ stb r6, 0x17(r3)
+/* 802E07C0 002DC420 B0 03 00 02 */ sth r0, 2(r3)
+/* 802E07C4 002DC424 7F 83 E3 78 */ mr r3, r28
+/* 802E07C8 002DC428 4B FF FA CD */ bl rfc_send_buf_uih
+lbl_802E07CC:
+/* 802E07CC 002DC42C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E07D0 002DC430 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E07D4 002DC434 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E07D8 002DC438 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E07DC 002DC43C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E07E0 002DC440 7C 08 03 A6 */ mtlr r0
+/* 802E07E4 002DC444 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E07E8 002DC448 4E 80 00 20 */ blr
+
+.global rfc_send_rpn
+rfc_send_rpn:
+/* 802E07EC 002DC44C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E07F0 002DC450 7C 08 02 A6 */ mflr r0
+/* 802E07F4 002DC454 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E07F8 002DC458 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E07FC 002DC45C 4B EE 69 2D */ bl _savegpr_27
+/* 802E0800 002DC460 7C 7D 1B 78 */ mr r29, r3
+/* 802E0804 002DC464 7C 9B 23 78 */ mr r27, r4
+/* 802E0808 002DC468 7C BC 2B 78 */ mr r28, r5
+/* 802E080C 002DC46C 7C DE 33 78 */ mr r30, r6
+/* 802E0810 002DC470 7C FF 3B 78 */ mr r31, r7
+/* 802E0814 002DC474 38 60 00 02 */ li r3, 2
+/* 802E0818 002DC478 4B FD 94 35 */ bl GKI_getpoolbuf
+/* 802E081C 002DC47C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0820 002DC480 7C 65 1B 78 */ mr r5, r3
+/* 802E0824 002DC484 41 82 00 CC */ beq lbl_802E08F0
+/* 802E0828 002DC488 7C 1C 00 D0 */ neg r0, r28
+/* 802E082C 002DC48C 38 80 00 0C */ li r4, 0xc
+/* 802E0830 002DC490 7C 00 E3 78 */ or r0, r0, r28
+/* 802E0834 002DC494 B0 83 00 04 */ sth r4, 4(r3)
+/* 802E0838 002DC498 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 802E083C 002DC49C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E0840 002DC4A0 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 802E0844 002DC4A4 38 83 00 15 */ addi r4, r3, 0x15
+/* 802E0848 002DC4A8 60 00 00 91 */ ori r0, r0, 0x91
+/* 802E084C 002DC4AC 98 03 00 14 */ stb r0, 0x14(r3)
+/* 802E0850 002DC4B0 40 82 00 20 */ bne lbl_802E0870
+/* 802E0854 002DC4B4 38 C0 00 03 */ li r6, 3
+/* 802E0858 002DC4B8 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d
+/* 802E085C 002DC4BC 98 C4 00 00 */ stb r6, 0(r4)
+/* 802E0860 002DC4C0 60 00 00 03 */ ori r0, r0, 3
+/* 802E0864 002DC4C4 98 04 00 01 */ stb r0, 1(r4)
+/* 802E0868 002DC4C8 B0 C3 00 02 */ sth r6, 2(r3)
+/* 802E086C 002DC4CC 48 00 00 78 */ b lbl_802E08E4
+lbl_802E0870:
+/* 802E0870 002DC4D0 38 C0 00 11 */ li r6, 0x11
+/* 802E0874 002DC4D4 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d
+/* 802E0878 002DC4D8 98 C4 00 00 */ stb r6, 0(r4)
+/* 802E087C 002DC4DC 60 07 00 03 */ ori r7, r0, 3
+/* 802E0880 002DC4E0 57 E6 C6 3E */ rlwinm r6, r31, 0x18, 0x18, 0x1f
+/* 802E0884 002DC4E4 38 00 00 0A */ li r0, 0xa
+/* 802E0888 002DC4E8 98 E4 00 01 */ stb r7, 1(r4)
+/* 802E088C 002DC4EC 88 FE 00 00 */ lbz r7, 0(r30)
+/* 802E0890 002DC4F0 98 E4 00 02 */ stb r7, 2(r4)
+/* 802E0894 002DC4F4 88 FE 00 02 */ lbz r7, 2(r30)
+/* 802E0898 002DC4F8 89 3E 00 03 */ lbz r9, 3(r30)
+/* 802E089C 002DC4FC 89 5E 00 04 */ lbz r10, 4(r30)
+/* 802E08A0 002DC500 54 E7 10 3A */ slwi r7, r7, 2
+/* 802E08A4 002DC504 89 1E 00 01 */ lbz r8, 1(r30)
+/* 802E08A8 002DC508 55 29 18 38 */ slwi r9, r9, 3
+/* 802E08AC 002DC50C 55 4A 20 36 */ slwi r10, r10, 4
+/* 802E08B0 002DC510 7D 07 3B 78 */ or r7, r8, r7
+/* 802E08B4 002DC514 7D 27 3B 78 */ or r7, r9, r7
+/* 802E08B8 002DC518 7D 47 3B 78 */ or r7, r10, r7
+/* 802E08BC 002DC51C 98 E4 00 03 */ stb r7, 3(r4)
+/* 802E08C0 002DC520 88 FE 00 05 */ lbz r7, 5(r30)
+/* 802E08C4 002DC524 98 E4 00 04 */ stb r7, 4(r4)
+/* 802E08C8 002DC528 88 FE 00 07 */ lbz r7, 7(r30)
+/* 802E08CC 002DC52C 98 E4 00 05 */ stb r7, 5(r4)
+/* 802E08D0 002DC530 88 FE 00 08 */ lbz r7, 8(r30)
+/* 802E08D4 002DC534 98 E4 00 06 */ stb r7, 6(r4)
+/* 802E08D8 002DC538 9B E4 00 07 */ stb r31, 7(r4)
+/* 802E08DC 002DC53C 98 C4 00 08 */ stb r6, 8(r4)
+/* 802E08E0 002DC540 B0 03 00 02 */ sth r0, 2(r3)
+lbl_802E08E4:
+/* 802E08E4 002DC544 7F A3 EB 78 */ mr r3, r29
+/* 802E08E8 002DC548 38 80 00 00 */ li r4, 0
+/* 802E08EC 002DC54C 4B FF F9 A9 */ bl rfc_send_buf_uih
+lbl_802E08F0:
+/* 802E08F0 002DC550 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E08F4 002DC554 4B EE 68 81 */ bl _restgpr_27
+/* 802E08F8 002DC558 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E08FC 002DC55C 7C 08 03 A6 */ mtlr r0
+/* 802E0900 002DC560 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0904 002DC564 4E 80 00 20 */ blr
+
+.global rfc_send_test
+rfc_send_test:
+/* 802E0908 002DC568 A0 05 00 04 */ lhz r0, 4(r5)
+/* 802E090C 002DC56C 28 00 00 10 */ cmplwi r0, 0x10
+/* 802E0910 002DC570 40 80 00 50 */ bge lbl_802E0960
+/* 802E0914 002DC574 A0 C5 00 02 */ lhz r6, 2(r5)
+/* 802E0918 002DC578 7C 05 02 14 */ add r0, r5, r0
+/* 802E091C 002DC57C 39 00 00 00 */ li r8, 0
+/* 802E0920 002DC580 7C E0 32 14 */ add r7, r0, r6
+/* 802E0924 002DC584 7C C5 32 14 */ add r6, r5, r6
+/* 802E0928 002DC588 38 E7 00 07 */ addi r7, r7, 7
+/* 802E092C 002DC58C 39 26 00 17 */ addi r9, r6, 0x17
+/* 802E0930 002DC590 48 00 00 18 */ b lbl_802E0948
+lbl_802E0934:
+/* 802E0934 002DC594 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E0938 002DC598 39 08 00 01 */ addi r8, r8, 1
+/* 802E093C 002DC59C 38 E7 FF FF */ addi r7, r7, -1
+/* 802E0940 002DC5A0 98 09 00 00 */ stb r0, 0(r9)
+/* 802E0944 002DC5A4 39 29 FF FF */ addi r9, r9, -1
+lbl_802E0948:
+/* 802E0948 002DC5A8 A0 05 00 02 */ lhz r0, 2(r5)
+/* 802E094C 002DC5AC 55 06 04 3E */ clrlwi r6, r8, 0x10
+/* 802E0950 002DC5B0 7C 06 00 40 */ cmplw r6, r0
+/* 802E0954 002DC5B4 41 80 FF E0 */ blt lbl_802E0934
+/* 802E0958 002DC5B8 38 00 00 10 */ li r0, 0x10
+/* 802E095C 002DC5BC B0 05 00 04 */ sth r0, 4(r5)
+lbl_802E0960:
+/* 802E0960 002DC5C0 7C 04 00 D0 */ neg r0, r4
+/* 802E0964 002DC5C4 A0 C5 00 04 */ lhz r6, 4(r5)
+/* 802E0968 002DC5C8 7C 00 23 78 */ or r0, r0, r4
+/* 802E096C 002DC5CC 38 86 FF FE */ addi r4, r6, -2
+/* 802E0970 002DC5D0 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 802E0974 002DC5D4 B0 85 00 04 */ sth r4, 4(r5)
+/* 802E0978 002DC5D8 54 86 04 3E */ clrlwi r6, r4, 0x10
+/* 802E097C 002DC5DC 38 80 00 00 */ li r4, 0
+/* 802E0980 002DC5E0 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 802E0984 002DC5E4 7C C5 32 14 */ add r6, r5, r6
+/* 802E0988 002DC5E8 60 00 00 21 */ ori r0, r0, 0x21
+/* 802E098C 002DC5EC 98 06 00 08 */ stb r0, 8(r6)
+/* 802E0990 002DC5F0 A0 05 00 02 */ lhz r0, 2(r5)
+/* 802E0994 002DC5F4 54 00 08 3C */ slwi r0, r0, 1
+/* 802E0998 002DC5F8 60 00 00 01 */ ori r0, r0, 1
+/* 802E099C 002DC5FC 98 06 00 09 */ stb r0, 9(r6)
+/* 802E09A0 002DC600 A0 C5 00 02 */ lhz r6, 2(r5)
+/* 802E09A4 002DC604 38 06 00 02 */ addi r0, r6, 2
+/* 802E09A8 002DC608 B0 05 00 02 */ sth r0, 2(r5)
+/* 802E09AC 002DC60C 4B FF F8 E8 */ b rfc_send_buf_uih
+
+.global rfc_send_credit
+rfc_send_credit:
+/* 802E09B0 002DC610 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E09B4 002DC614 7C 08 02 A6 */ mflr r0
+/* 802E09B8 002DC618 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E09BC 002DC61C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E09C0 002DC620 4B EE 67 69 */ bl _savegpr_27
+/* 802E09C4 002DC624 88 03 00 6D */ lbz r0, 0x6d(r3)
+/* 802E09C8 002DC628 7C 7B 1B 78 */ mr r27, r3
+/* 802E09CC 002DC62C 7C 9C 23 78 */ mr r28, r4
+/* 802E09D0 002DC630 7C BD 2B 78 */ mr r29, r5
+/* 802E09D4 002DC634 2C 00 00 00 */ cmpwi r0, 0
+/* 802E09D8 002DC638 38 00 00 01 */ li r0, 1
+/* 802E09DC 002DC63C 40 82 00 08 */ bne lbl_802E09E4
+/* 802E09E0 002DC640 38 00 00 00 */ li r0, 0
+lbl_802E09E4:
+/* 802E09E4 002DC644 54 1E 0E 3C */ rlwinm r30, r0, 1, 0x18, 0x1e
+/* 802E09E8 002DC648 38 60 00 02 */ li r3, 2
+/* 802E09EC 002DC64C 4B FD 92 61 */ bl GKI_getpoolbuf
+/* 802E09F0 002DC650 2C 03 00 00 */ cmpwi r3, 0
+/* 802E09F4 002DC654 7C 7F 1B 78 */ mr r31, r3
+/* 802E09F8 002DC658 41 82 00 60 */ beq lbl_802E0A58
+/* 802E09FC 002DC65C 38 A0 00 09 */ li r5, 9
+/* 802E0A00 002DC660 63 C4 00 01 */ ori r4, r30, 1
+/* 802E0A04 002DC664 57 80 15 BA */ rlwinm r0, r28, 2, 0x16, 0x1d
+/* 802E0A08 002DC668 B0 A3 00 04 */ sth r5, 4(r3)
+/* 802E0A0C 002DC66C 7C 80 03 78 */ or r0, r4, r0
+/* 802E0A10 002DC670 38 80 00 FF */ li r4, 0xff
+/* 802E0A14 002DC674 98 03 00 11 */ stb r0, 0x11(r3)
+/* 802E0A18 002DC678 38 00 00 01 */ li r0, 1
+/* 802E0A1C 002DC67C 3B DF 00 15 */ addi r30, r31, 0x15
+/* 802E0A20 002DC680 98 83 00 12 */ stb r4, 0x12(r3)
+/* 802E0A24 002DC684 98 03 00 13 */ stb r0, 0x13(r3)
+/* 802E0A28 002DC688 9B A3 00 14 */ stb r29, 0x14(r3)
+/* 802E0A2C 002DC68C 38 60 00 02 */ li r3, 2
+/* 802E0A30 002DC690 A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802E0A34 002DC694 7C 9F 02 14 */ add r4, r31, r0
+/* 802E0A38 002DC698 38 84 00 08 */ addi r4, r4, 8
+/* 802E0A3C 002DC69C 48 00 0B CD */ bl rfc_calc_fcs
+/* 802E0A40 002DC6A0 98 7E 00 00 */ stb r3, 0(r30)
+/* 802E0A44 002DC6A4 38 00 00 05 */ li r0, 5
+/* 802E0A48 002DC6A8 7F 63 DB 78 */ mr r3, r27
+/* 802E0A4C 002DC6AC 7F E4 FB 78 */ mr r4, r31
+/* 802E0A50 002DC6B0 B0 1F 00 02 */ sth r0, 2(r31)
+/* 802E0A54 002DC6B4 48 00 13 31 */ bl rfc_check_send_cmd
+lbl_802E0A58:
+/* 802E0A58 002DC6B8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E0A5C 002DC6BC 4B EE 67 19 */ bl _restgpr_27
+/* 802E0A60 002DC6C0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0A64 002DC6C4 7C 08 03 A6 */ mtlr r0
+/* 802E0A68 002DC6C8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0A6C 002DC6CC 4E 80 00 20 */ blr
+
+.global rfc_parse_data
+rfc_parse_data:
+/* 802E0A70 002DC6D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0A74 002DC6D4 7C 08 02 A6 */ mflr r0
+/* 802E0A78 002DC6D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E0A7C 002DC6DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E0A80 002DC6E0 3F E0 80 44 */ lis r31, lbl_80444DF8@ha
+/* 802E0A84 002DC6E4 3B FF 4D F8 */ addi r31, r31, lbl_80444DF8@l
+/* 802E0A88 002DC6E8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E0A8C 002DC6EC 7C 9E 23 78 */ mr r30, r4
+/* 802E0A90 002DC6F0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E0A94 002DC6F4 7C 7D 1B 78 */ mr r29, r3
+/* 802E0A98 002DC6F8 A0 05 00 04 */ lhz r0, 4(r5)
+/* 802E0A9C 002DC6FC A1 05 00 02 */ lhz r8, 2(r5)
+/* 802E0AA0 002DC700 7C C5 02 14 */ add r6, r5, r0
+/* 802E0AA4 002DC704 38 E6 00 08 */ addi r7, r6, 8
+/* 802E0AA8 002DC708 28 08 00 03 */ cmplwi r8, 3
+/* 802E0AAC 002DC70C 7C E0 3B 78 */ mr r0, r7
+/* 802E0AB0 002DC710 40 80 00 30 */ bge lbl_802E0AE0
+/* 802E0AB4 002DC714 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0AB8 002DC718 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0ABC 002DC71C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0AC0 002DC720 28 00 00 01 */ cmplwi r0, 1
+/* 802E0AC4 002DC724 41 80 00 14 */ blt lbl_802E0AD8
+/* 802E0AC8 002DC728 7D 05 43 78 */ mr r5, r8
+/* 802E0ACC 002DC72C 38 9F 00 00 */ addi r4, r31, 0
+/* 802E0AD0 002DC730 3C 60 00 09 */ lis r3, 9
+/* 802E0AD4 002DC734 4B FD C4 55 */ bl LogMsg_1
+lbl_802E0AD8:
+/* 802E0AD8 002DC738 38 60 00 32 */ li r3, 0x32
+/* 802E0ADC 002DC73C 48 00 04 EC */ b lbl_802E0FC8
+lbl_802E0AE0:
+/* 802E0AE0 002DC740 89 07 00 00 */ lbz r8, 0(r7)
+/* 802E0AE4 002DC744 55 06 07 BC */ rlwinm r6, r8, 0, 0x1e, 0x1e
+/* 802E0AE8 002DC748 55 09 07 FF */ clrlwi. r9, r8, 0x1f
+/* 802E0AEC 002DC74C 7C C6 0E 70 */ srawi r6, r6, 1
+/* 802E0AF0 002DC750 98 C4 00 02 */ stb r6, 2(r4)
+/* 802E0AF4 002DC754 88 C7 00 00 */ lbz r6, 0(r7)
+/* 802E0AF8 002DC758 38 E7 00 01 */ addi r7, r7, 1
+/* 802E0AFC 002DC75C 7C C8 16 70 */ srawi r8, r6, 2
+/* 802E0B00 002DC760 99 04 00 00 */ stb r8, 0(r4)
+/* 802E0B04 002DC764 40 82 00 1C */ bne lbl_802E0B20
+/* 802E0B08 002DC768 88 C7 00 00 */ lbz r6, 0(r7)
+/* 802E0B0C 002DC76C 55 08 06 3E */ clrlwi r8, r8, 0x18
+/* 802E0B10 002DC770 38 E7 00 01 */ addi r7, r7, 1
+/* 802E0B14 002DC774 54 C6 30 32 */ slwi r6, r6, 6
+/* 802E0B18 002DC778 7C C8 32 14 */ add r6, r8, r6
+/* 802E0B1C 002DC77C 98 C4 00 00 */ stb r6, 0(r4)
+lbl_802E0B20:
+/* 802E0B20 002DC780 88 C7 00 00 */ lbz r6, 0(r7)
+/* 802E0B24 002DC784 54 C6 07 34 */ rlwinm r6, r6, 0, 0x1c, 0x1a
+/* 802E0B28 002DC788 98 C4 00 01 */ stb r6, 1(r4)
+/* 802E0B2C 002DC78C 88 C7 00 00 */ lbz r6, 0(r7)
+/* 802E0B30 002DC790 54 C6 06 F6 */ rlwinm r6, r6, 0, 0x1b, 0x1b
+/* 802E0B34 002DC794 7C C6 26 70 */ srawi r6, r6, 4
+/* 802E0B38 002DC798 98 C4 00 04 */ stb r6, 4(r4)
+/* 802E0B3C 002DC79C 88 C7 00 01 */ lbz r6, 1(r7)
+/* 802E0B40 002DC7A0 38 E7 00 02 */ addi r7, r7, 2
+/* 802E0B44 002DC7A4 54 CA 07 FF */ clrlwi. r10, r6, 0x1f
+/* 802E0B48 002DC7A8 7C C8 0E 70 */ srawi r8, r6, 1
+/* 802E0B4C 002DC7AC 40 82 00 18 */ bne lbl_802E0B64
+/* 802E0B50 002DC7B0 88 C7 00 00 */ lbz r6, 0(r7)
+/* 802E0B54 002DC7B4 38 E7 00 01 */ addi r7, r7, 1
+/* 802E0B58 002DC7B8 54 C6 38 30 */ slwi r6, r6, 7
+/* 802E0B5C 002DC7BC 7C C8 32 14 */ add r6, r8, r6
+/* 802E0B60 002DC7C0 54 C8 04 3E */ clrlwi r8, r6, 0x10
+lbl_802E0B64:
+/* 802E0B64 002DC7C4 7D 46 00 34 */ cntlzw r6, r10
+/* 802E0B68 002DC7C8 7D 29 00 34 */ cntlzw r9, r9
+/* 802E0B6C 002DC7CC 54 CB D9 7E */ srwi r11, r6, 5
+/* 802E0B70 002DC7D0 A0 C5 00 04 */ lhz r6, 4(r5)
+/* 802E0B74 002DC7D4 55 2A D9 7E */ srwi r10, r9, 5
+/* 802E0B78 002DC7D8 A1 25 00 02 */ lhz r9, 2(r5)
+/* 802E0B7C 002DC7DC 7D 6A 5A 14 */ add r11, r10, r11
+/* 802E0B80 002DC7E0 39 4B 00 04 */ addi r10, r11, 4
+/* 802E0B84 002DC7E4 7C CB 32 14 */ add r6, r11, r6
+/* 802E0B88 002DC7E8 7D 2A 48 50 */ subf r9, r10, r9
+/* 802E0B8C 002DC7EC 38 C6 00 03 */ addi r6, r6, 3
+/* 802E0B90 002DC7F0 B1 25 00 02 */ sth r9, 2(r5)
+/* 802E0B94 002DC7F4 B0 C5 00 04 */ sth r6, 4(r5)
+/* 802E0B98 002DC7F8 88 C3 00 72 */ lbz r6, 0x72(r3)
+/* 802E0B9C 002DC7FC 28 06 00 02 */ cmplwi r6, 2
+/* 802E0BA0 002DC800 40 82 00 50 */ bne lbl_802E0BF0
+/* 802E0BA4 002DC804 88 C4 00 01 */ lbz r6, 1(r4)
+/* 802E0BA8 002DC808 28 06 00 EF */ cmplwi r6, 0xef
+/* 802E0BAC 002DC80C 40 82 00 44 */ bne lbl_802E0BF0
+/* 802E0BB0 002DC810 88 C4 00 00 */ lbz r6, 0(r4)
+/* 802E0BB4 002DC814 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0BB8 002DC818 41 82 00 38 */ beq lbl_802E0BF0
+/* 802E0BBC 002DC81C 88 C4 00 04 */ lbz r6, 4(r4)
+/* 802E0BC0 002DC820 28 06 00 01 */ cmplwi r6, 1
+/* 802E0BC4 002DC824 40 82 00 2C */ bne lbl_802E0BF0
+/* 802E0BC8 002DC828 88 C7 00 00 */ lbz r6, 0(r7)
+/* 802E0BCC 002DC82C 38 E7 00 01 */ addi r7, r7, 1
+/* 802E0BD0 002DC830 98 C4 00 05 */ stb r6, 5(r4)
+/* 802E0BD4 002DC834 A1 25 00 02 */ lhz r9, 2(r5)
+/* 802E0BD8 002DC838 A0 C5 00 04 */ lhz r6, 4(r5)
+/* 802E0BDC 002DC83C 39 29 FF FF */ addi r9, r9, -1
+/* 802E0BE0 002DC840 38 C6 00 01 */ addi r6, r6, 1
+/* 802E0BE4 002DC844 B1 25 00 02 */ sth r9, 2(r5)
+/* 802E0BE8 002DC848 B0 C5 00 04 */ sth r6, 4(r5)
+/* 802E0BEC 002DC84C 48 00 00 0C */ b lbl_802E0BF8
+lbl_802E0BF0:
+/* 802E0BF0 002DC850 38 C0 00 00 */ li r6, 0
+/* 802E0BF4 002DC854 98 C4 00 05 */ stb r6, 5(r4)
+lbl_802E0BF8:
+/* 802E0BF8 002DC858 A0 A5 00 02 */ lhz r5, 2(r5)
+/* 802E0BFC 002DC85C 55 06 04 3E */ clrlwi r6, r8, 0x10
+/* 802E0C00 002DC860 7C 05 30 40 */ cmplw r5, r6
+/* 802E0C04 002DC864 41 82 00 2C */ beq lbl_802E0C30
+/* 802E0C08 002DC868 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0C0C 002DC86C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0C10 002DC870 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0C14 002DC874 28 00 00 01 */ cmplwi r0, 1
+/* 802E0C18 002DC878 41 80 00 10 */ blt lbl_802E0C28
+/* 802E0C1C 002DC87C 38 9F 00 10 */ addi r4, r31, 0x10
+/* 802E0C20 002DC880 3C 60 00 09 */ lis r3, 9
+/* 802E0C24 002DC884 4B FD C3 1D */ bl LogMsg_2
+lbl_802E0C28:
+/* 802E0C28 002DC888 38 60 00 32 */ li r3, 0x32
+/* 802E0C2C 002DC88C 48 00 03 9C */ b lbl_802E0FC8
+lbl_802E0C30:
+/* 802E0C30 002DC890 89 24 00 01 */ lbz r9, 1(r4)
+/* 802E0C34 002DC894 7C A7 30 AE */ lbzx r5, r7, r6
+/* 802E0C38 002DC898 2C 09 00 43 */ cmpwi r9, 0x43
+/* 802E0C3C 002DC89C 41 82 02 0C */ beq lbl_802E0E48
+/* 802E0C40 002DC8A0 40 80 00 1C */ bge lbl_802E0C5C
+/* 802E0C44 002DC8A4 2C 09 00 2F */ cmpwi r9, 0x2f
+/* 802E0C48 002DC8A8 41 82 00 2C */ beq lbl_802E0C74
+/* 802E0C4C 002DC8AC 40 80 03 78 */ bge lbl_802E0FC4
+/* 802E0C50 002DC8B0 2C 09 00 0F */ cmpwi r9, 0xf
+/* 802E0C54 002DC8B4 41 82 01 60 */ beq lbl_802E0DB4
+/* 802E0C58 002DC8B8 48 00 03 6C */ b lbl_802E0FC4
+lbl_802E0C5C:
+/* 802E0C5C 002DC8BC 2C 09 00 EF */ cmpwi r9, 0xef
+/* 802E0C60 002DC8C0 41 82 02 88 */ beq lbl_802E0EE8
+/* 802E0C64 002DC8C4 40 80 03 60 */ bge lbl_802E0FC4
+/* 802E0C68 002DC8C8 2C 09 00 63 */ cmpwi r9, 0x63
+/* 802E0C6C 002DC8CC 41 82 00 A8 */ beq lbl_802E0D14
+/* 802E0C70 002DC8D0 48 00 03 54 */ b lbl_802E0FC4
+lbl_802E0C74:
+/* 802E0C74 002DC8D4 88 C3 00 6D */ lbz r6, 0x6d(r3)
+/* 802E0C78 002DC8D8 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0C7C 002DC8DC 41 82 00 10 */ beq lbl_802E0C8C
+/* 802E0C80 002DC8E0 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0C84 002DC8E4 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0C88 002DC8E8 40 82 00 5C */ bne lbl_802E0CE4
+lbl_802E0C8C:
+/* 802E0C8C 002DC8EC 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0C90 002DC8F0 40 82 00 10 */ bne lbl_802E0CA0
+/* 802E0C94 002DC8F4 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0C98 002DC8F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0C9C 002DC8FC 41 82 00 48 */ beq lbl_802E0CE4
+lbl_802E0CA0:
+/* 802E0CA0 002DC900 88 64 00 04 */ lbz r3, 4(r4)
+/* 802E0CA4 002DC904 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0CA8 002DC908 41 82 00 3C */ beq lbl_802E0CE4
+/* 802E0CAC 002DC90C 55 03 04 3F */ clrlwi. r3, r8, 0x10
+/* 802E0CB0 002DC910 40 82 00 34 */ bne lbl_802E0CE4
+/* 802E0CB4 002DC914 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E0CB8 002DC918 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0CBC 002DC91C 41 82 00 14 */ beq lbl_802E0CD0
+/* 802E0CC0 002DC920 28 03 00 02 */ cmplwi r3, 2
+/* 802E0CC4 002DC924 41 80 00 20 */ blt lbl_802E0CE4
+/* 802E0CC8 002DC928 28 03 00 3D */ cmplwi r3, 0x3d
+/* 802E0CCC 002DC92C 41 81 00 18 */ bgt lbl_802E0CE4
+lbl_802E0CD0:
+/* 802E0CD0 002DC930 7C 04 03 78 */ mr r4, r0
+/* 802E0CD4 002DC934 38 60 00 03 */ li r3, 3
+/* 802E0CD8 002DC938 48 00 09 69 */ bl rfc_check_fcs
+/* 802E0CDC 002DC93C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E0CE0 002DC940 40 82 00 2C */ bne lbl_802E0D0C
+lbl_802E0CE4:
+/* 802E0CE4 002DC944 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0CE8 002DC948 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0CEC 002DC94C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0CF0 002DC950 28 00 00 01 */ cmplwi r0, 1
+/* 802E0CF4 002DC954 41 80 00 10 */ blt lbl_802E0D04
+/* 802E0CF8 002DC958 38 9F 00 24 */ addi r4, r31, 0x24
+/* 802E0CFC 002DC95C 3C 60 00 09 */ lis r3, 9
+/* 802E0D00 002DC960 4B FD C2 11 */ bl LogMsg_0
+lbl_802E0D04:
+/* 802E0D04 002DC964 38 60 00 32 */ li r3, 0x32
+/* 802E0D08 002DC968 48 00 02 C0 */ b lbl_802E0FC8
+lbl_802E0D0C:
+/* 802E0D0C 002DC96C 38 60 00 00 */ li r3, 0
+/* 802E0D10 002DC970 48 00 02 B8 */ b lbl_802E0FC8
+lbl_802E0D14:
+/* 802E0D14 002DC974 88 C3 00 6D */ lbz r6, 0x6d(r3)
+/* 802E0D18 002DC978 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0D1C 002DC97C 41 82 00 10 */ beq lbl_802E0D2C
+/* 802E0D20 002DC980 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0D24 002DC984 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0D28 002DC988 41 82 00 5C */ beq lbl_802E0D84
+lbl_802E0D2C:
+/* 802E0D2C 002DC98C 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0D30 002DC990 40 82 00 10 */ bne lbl_802E0D40
+/* 802E0D34 002DC994 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0D38 002DC998 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0D3C 002DC99C 40 82 00 48 */ bne lbl_802E0D84
+lbl_802E0D40:
+/* 802E0D40 002DC9A0 88 64 00 04 */ lbz r3, 4(r4)
+/* 802E0D44 002DC9A4 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0D48 002DC9A8 41 82 00 3C */ beq lbl_802E0D84
+/* 802E0D4C 002DC9AC 55 03 04 3F */ clrlwi. r3, r8, 0x10
+/* 802E0D50 002DC9B0 40 82 00 34 */ bne lbl_802E0D84
+/* 802E0D54 002DC9B4 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E0D58 002DC9B8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0D5C 002DC9BC 41 82 00 14 */ beq lbl_802E0D70
+/* 802E0D60 002DC9C0 28 03 00 02 */ cmplwi r3, 2
+/* 802E0D64 002DC9C4 41 80 00 20 */ blt lbl_802E0D84
+/* 802E0D68 002DC9C8 28 03 00 3D */ cmplwi r3, 0x3d
+/* 802E0D6C 002DC9CC 41 81 00 18 */ bgt lbl_802E0D84
+lbl_802E0D70:
+/* 802E0D70 002DC9D0 7C 04 03 78 */ mr r4, r0
+/* 802E0D74 002DC9D4 38 60 00 03 */ li r3, 3
+/* 802E0D78 002DC9D8 48 00 08 C9 */ bl rfc_check_fcs
+/* 802E0D7C 002DC9DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E0D80 002DC9E0 40 82 00 2C */ bne lbl_802E0DAC
+lbl_802E0D84:
+/* 802E0D84 002DC9E4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0D88 002DC9E8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0D8C 002DC9EC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0D90 002DC9F0 28 00 00 01 */ cmplwi r0, 1
+/* 802E0D94 002DC9F4 41 80 00 10 */ blt lbl_802E0DA4
+/* 802E0D98 002DC9F8 3C 60 00 09 */ lis r3, 9
+/* 802E0D9C 002DC9FC 38 8D 8A 68 */ addi r4, r13, lbl_8063DD28-_SDA_BASE_
+/* 802E0DA0 002DCA00 4B FD C1 71 */ bl LogMsg_0
+lbl_802E0DA4:
+/* 802E0DA4 002DCA04 38 60 00 32 */ li r3, 0x32
+/* 802E0DA8 002DCA08 48 00 02 20 */ b lbl_802E0FC8
+lbl_802E0DAC:
+/* 802E0DAC 002DCA0C 38 60 00 01 */ li r3, 1
+/* 802E0DB0 002DCA10 48 00 02 18 */ b lbl_802E0FC8
+lbl_802E0DB4:
+/* 802E0DB4 002DCA14 88 C3 00 6D */ lbz r6, 0x6d(r3)
+/* 802E0DB8 002DCA18 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0DBC 002DCA1C 41 82 00 10 */ beq lbl_802E0DCC
+/* 802E0DC0 002DCA20 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0DC4 002DCA24 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0DC8 002DCA28 41 82 00 50 */ beq lbl_802E0E18
+lbl_802E0DCC:
+/* 802E0DCC 002DCA2C 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0DD0 002DCA30 40 82 00 10 */ bne lbl_802E0DE0
+/* 802E0DD4 002DCA34 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0DD8 002DCA38 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0DDC 002DCA3C 40 82 00 3C */ bne lbl_802E0E18
+lbl_802E0DE0:
+/* 802E0DE0 002DCA40 55 03 04 3F */ clrlwi. r3, r8, 0x10
+/* 802E0DE4 002DCA44 40 82 00 34 */ bne lbl_802E0E18
+/* 802E0DE8 002DCA48 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E0DEC 002DCA4C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0DF0 002DCA50 41 82 00 14 */ beq lbl_802E0E04
+/* 802E0DF4 002DCA54 28 03 00 02 */ cmplwi r3, 2
+/* 802E0DF8 002DCA58 41 80 00 20 */ blt lbl_802E0E18
+/* 802E0DFC 002DCA5C 28 03 00 3D */ cmplwi r3, 0x3d
+/* 802E0E00 002DCA60 41 81 00 18 */ bgt lbl_802E0E18
+lbl_802E0E04:
+/* 802E0E04 002DCA64 7C 04 03 78 */ mr r4, r0
+/* 802E0E08 002DCA68 38 60 00 03 */ li r3, 3
+/* 802E0E0C 002DCA6C 48 00 08 35 */ bl rfc_check_fcs
+/* 802E0E10 002DCA70 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E0E14 002DCA74 40 82 00 2C */ bne lbl_802E0E40
+lbl_802E0E18:
+/* 802E0E18 002DCA78 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0E1C 002DCA7C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0E20 002DCA80 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0E24 002DCA84 28 00 00 01 */ cmplwi r0, 1
+/* 802E0E28 002DCA88 41 80 00 10 */ blt lbl_802E0E38
+/* 802E0E2C 002DCA8C 3C 60 00 09 */ lis r3, 9
+/* 802E0E30 002DCA90 38 8D 8A 70 */ addi r4, r13, lbl_8063DD30-_SDA_BASE_
+/* 802E0E34 002DCA94 4B FD C0 DD */ bl LogMsg_0
+lbl_802E0E38:
+/* 802E0E38 002DCA98 38 60 00 32 */ li r3, 0x32
+/* 802E0E3C 002DCA9C 48 00 01 8C */ b lbl_802E0FC8
+lbl_802E0E40:
+/* 802E0E40 002DCAA0 38 60 00 02 */ li r3, 2
+/* 802E0E44 002DCAA4 48 00 01 84 */ b lbl_802E0FC8
+lbl_802E0E48:
+/* 802E0E48 002DCAA8 88 C3 00 6D */ lbz r6, 0x6d(r3)
+/* 802E0E4C 002DCAAC 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0E50 002DCAB0 41 82 00 10 */ beq lbl_802E0E60
+/* 802E0E54 002DCAB4 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0E58 002DCAB8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0E5C 002DCABC 40 82 00 5C */ bne lbl_802E0EB8
+lbl_802E0E60:
+/* 802E0E60 002DCAC0 2C 06 00 00 */ cmpwi r6, 0
+/* 802E0E64 002DCAC4 40 82 00 10 */ bne lbl_802E0E74
+/* 802E0E68 002DCAC8 88 64 00 02 */ lbz r3, 2(r4)
+/* 802E0E6C 002DCACC 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0E70 002DCAD0 41 82 00 48 */ beq lbl_802E0EB8
+lbl_802E0E74:
+/* 802E0E74 002DCAD4 88 64 00 04 */ lbz r3, 4(r4)
+/* 802E0E78 002DCAD8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0E7C 002DCADC 41 82 00 3C */ beq lbl_802E0EB8
+/* 802E0E80 002DCAE0 55 03 04 3F */ clrlwi. r3, r8, 0x10
+/* 802E0E84 002DCAE4 40 82 00 34 */ bne lbl_802E0EB8
+/* 802E0E88 002DCAE8 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E0E8C 002DCAEC 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0E90 002DCAF0 41 82 00 14 */ beq lbl_802E0EA4
+/* 802E0E94 002DCAF4 28 03 00 02 */ cmplwi r3, 2
+/* 802E0E98 002DCAF8 41 80 00 20 */ blt lbl_802E0EB8
+/* 802E0E9C 002DCAFC 28 03 00 3D */ cmplwi r3, 0x3d
+/* 802E0EA0 002DCB00 41 81 00 18 */ bgt lbl_802E0EB8
+lbl_802E0EA4:
+/* 802E0EA4 002DCB04 7C 04 03 78 */ mr r4, r0
+/* 802E0EA8 002DCB08 38 60 00 03 */ li r3, 3
+/* 802E0EAC 002DCB0C 48 00 07 95 */ bl rfc_check_fcs
+/* 802E0EB0 002DCB10 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E0EB4 002DCB14 40 82 00 2C */ bne lbl_802E0EE0
+lbl_802E0EB8:
+/* 802E0EB8 002DCB18 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0EBC 002DCB1C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0EC0 002DCB20 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0EC4 002DCB24 28 00 00 01 */ cmplwi r0, 1
+/* 802E0EC8 002DCB28 41 80 00 10 */ blt lbl_802E0ED8
+/* 802E0ECC 002DCB2C 38 9F 00 30 */ addi r4, r31, 0x30
+/* 802E0ED0 002DCB30 3C 60 00 09 */ lis r3, 9
+/* 802E0ED4 002DCB34 4B FD C0 3D */ bl LogMsg_0
+lbl_802E0ED8:
+/* 802E0ED8 002DCB38 38 60 00 32 */ li r3, 0x32
+/* 802E0EDC 002DCB3C 48 00 00 EC */ b lbl_802E0FC8
+lbl_802E0EE0:
+/* 802E0EE0 002DCB40 38 60 00 03 */ li r3, 3
+/* 802E0EE4 002DCB44 48 00 00 E4 */ b lbl_802E0FC8
+lbl_802E0EE8:
+/* 802E0EE8 002DCB48 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E0EEC 002DCB4C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0EF0 002DCB50 41 82 00 3C */ beq lbl_802E0F2C
+/* 802E0EF4 002DCB54 28 03 00 02 */ cmplwi r3, 2
+/* 802E0EF8 002DCB58 41 80 00 0C */ blt lbl_802E0F04
+/* 802E0EFC 002DCB5C 28 03 00 3D */ cmplwi r3, 0x3d
+/* 802E0F00 002DCB60 40 81 00 2C */ ble lbl_802E0F2C
+lbl_802E0F04:
+/* 802E0F04 002DCB64 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0F08 002DCB68 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0F0C 002DCB6C 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0F10 002DCB70 28 00 00 01 */ cmplwi r0, 1
+/* 802E0F14 002DCB74 41 80 00 10 */ blt lbl_802E0F24
+/* 802E0F18 002DCB78 38 9F 00 3C */ addi r4, r31, 0x3c
+/* 802E0F1C 002DCB7C 3C 60 00 09 */ lis r3, 9
+/* 802E0F20 002DCB80 4B FD BF F1 */ bl LogMsg_0
+lbl_802E0F24:
+/* 802E0F24 002DCB84 38 60 00 32 */ li r3, 0x32
+/* 802E0F28 002DCB88 48 00 00 A0 */ b lbl_802E0FC8
+lbl_802E0F2C:
+/* 802E0F2C 002DCB8C 7C 04 03 78 */ mr r4, r0
+/* 802E0F30 002DCB90 38 60 00 02 */ li r3, 2
+/* 802E0F34 002DCB94 48 00 07 0D */ bl rfc_check_fcs
+/* 802E0F38 002DCB98 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E0F3C 002DCB9C 40 82 00 2C */ bne lbl_802E0F68
+/* 802E0F40 002DCBA0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0F44 002DCBA4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0F48 002DCBA8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0F4C 002DCBAC 28 00 00 01 */ cmplwi r0, 1
+/* 802E0F50 002DCBB0 41 80 00 10 */ blt lbl_802E0F60
+/* 802E0F54 002DCBB4 38 9F 00 54 */ addi r4, r31, 0x54
+/* 802E0F58 002DCBB8 3C 60 00 09 */ lis r3, 9
+/* 802E0F5C 002DCBBC 4B FD BF B5 */ bl LogMsg_0
+lbl_802E0F60:
+/* 802E0F60 002DCBC0 38 60 00 32 */ li r3, 0x32
+/* 802E0F64 002DCBC4 48 00 00 64 */ b lbl_802E0FC8
+lbl_802E0F68:
+/* 802E0F68 002DCBC8 88 7D 00 6D */ lbz r3, 0x6d(r29)
+/* 802E0F6C 002DCBCC 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0F70 002DCBD0 41 82 00 10 */ beq lbl_802E0F80
+/* 802E0F74 002DCBD4 88 1E 00 02 */ lbz r0, 2(r30)
+/* 802E0F78 002DCBD8 2C 00 00 00 */ cmpwi r0, 0
+/* 802E0F7C 002DCBDC 40 82 00 18 */ bne lbl_802E0F94
+lbl_802E0F80:
+/* 802E0F80 002DCBE0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E0F84 002DCBE4 40 82 00 38 */ bne lbl_802E0FBC
+/* 802E0F88 002DCBE8 88 1E 00 02 */ lbz r0, 2(r30)
+/* 802E0F8C 002DCBEC 2C 00 00 00 */ cmpwi r0, 0
+/* 802E0F90 002DCBF0 40 82 00 2C */ bne lbl_802E0FBC
+lbl_802E0F94:
+/* 802E0F94 002DCBF4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E0F98 002DCBF8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E0F9C 002DCBFC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E0FA0 002DCC00 28 00 00 01 */ cmplwi r0, 1
+/* 802E0FA4 002DCC04 41 80 00 10 */ blt lbl_802E0FB4
+/* 802E0FA8 002DCC08 38 9F 00 64 */ addi r4, r31, 0x64
+/* 802E0FAC 002DCC0C 3C 60 00 09 */ lis r3, 9
+/* 802E0FB0 002DCC10 4B FD BF 61 */ bl LogMsg_0
+lbl_802E0FB4:
+/* 802E0FB4 002DCC14 38 60 00 04 */ li r3, 4
+/* 802E0FB8 002DCC18 48 00 00 10 */ b lbl_802E0FC8
+lbl_802E0FBC:
+/* 802E0FBC 002DCC1C 38 60 00 04 */ li r3, 4
+/* 802E0FC0 002DCC20 48 00 00 08 */ b lbl_802E0FC8
+lbl_802E0FC4:
+/* 802E0FC4 002DCC24 38 60 00 32 */ li r3, 0x32
+lbl_802E0FC8:
+/* 802E0FC8 002DCC28 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E0FCC 002DCC2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E0FD0 002DCC30 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E0FD4 002DCC34 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E0FD8 002DCC38 7C 08 03 A6 */ mtlr r0
+/* 802E0FDC 002DCC3C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E0FE0 002DCC40 4E 80 00 20 */ blr
+
+.global rfc_process_mx_message
+rfc_process_mx_message:
+/* 802E0FE4 002DCC44 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E0FE8 002DCC48 7C 08 02 A6 */ mflr r0
+/* 802E0FEC 002DCC4C 3C E0 80 44 */ lis r7, lbl_80444DF8@ha
+/* 802E0FF0 002DCC50 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E0FF4 002DCC54 38 E7 4D F8 */ addi r7, r7, lbl_80444DF8@l
+/* 802E0FF8 002DCC58 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E0FFC 002DCC5C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E1000 002DCC60 3F C0 80 57 */ lis r30, lbl_8056C428@ha
+/* 802E1004 002DCC64 3B DE C4 28 */ addi r30, r30, lbl_8056C428@l
+/* 802E1008 002DCC68 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E100C 002DCC6C 7C 9D 23 78 */ mr r29, r4
+/* 802E1010 002DCC70 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E1014 002DCC74 7C 7C 1B 78 */ mr r28, r3
+/* 802E1018 002DCC78 A0 04 00 04 */ lhz r0, 4(r4)
+/* 802E101C 002DCC7C A0 C4 00 02 */ lhz r6, 2(r4)
+/* 802E1020 002DCC80 7C A4 02 14 */ add r5, r4, r0
+/* 802E1024 002DCC84 88 05 00 08 */ lbz r0, 8(r5)
+/* 802E1028 002DCC88 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802E102C 002DCC8C 98 1E 00 03 */ stb r0, 3(r30)
+/* 802E1030 002DCC90 88 05 00 08 */ lbz r0, 8(r5)
+/* 802E1034 002DCC94 54 1F FF FE */ rlwinm r31, r0, 0x1f, 0x1f, 0x1f
+/* 802E1038 002DCC98 9B FE 00 02 */ stb r31, 2(r30)
+/* 802E103C 002DCC9C 88 05 00 08 */ lbz r0, 8(r5)
+/* 802E1040 002DCCA0 54 00 06 3A */ rlwinm r0, r0, 0, 0x18, 0x1d
+/* 802E1044 002DCCA4 98 1E 00 01 */ stb r0, 1(r30)
+/* 802E1048 002DCCA8 41 82 00 0C */ beq lbl_802E1054
+/* 802E104C 002DCCAC 2C 06 00 00 */ cmpwi r6, 0
+/* 802E1050 002DCCB0 40 82 00 34 */ bne lbl_802E1084
+lbl_802E1054:
+/* 802E1054 002DCCB4 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1058 002DCCB8 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E105C 002DCCBC 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E1060 002DCCC0 28 00 00 01 */ cmplwi r0, 1
+/* 802E1064 002DCCC4 41 80 00 14 */ blt lbl_802E1078
+/* 802E1068 002DCCC8 88 BE 00 03 */ lbz r5, 3(r30)
+/* 802E106C 002DCCCC 38 87 00 78 */ addi r4, r7, 0x78
+/* 802E1070 002DCCD0 3C 60 00 09 */ lis r3, 9
+/* 802E1074 002DCCD4 4B FD BE CD */ bl LogMsg_2
+lbl_802E1078:
+/* 802E1078 002DCCD8 7F A3 EB 78 */ mr r3, r29
+/* 802E107C 002DCCDC 4B FD 8C B9 */ bl GKI_freebuf
+/* 802E1080 002DCCE0 48 00 05 68 */ b lbl_802E15E8
+lbl_802E1084:
+/* 802E1084 002DCCE4 88 65 00 09 */ lbz r3, 9(r5)
+/* 802E1088 002DCCE8 3C C6 00 01 */ addis r6, r6, 1
+/* 802E108C 002DCCEC 38 A5 00 0A */ addi r5, r5, 0xa
+/* 802E1090 002DCCF0 54 60 07 FF */ clrlwi. r0, r3, 0x1f
+/* 802E1094 002DCCF4 7C 68 0E 70 */ srawi r8, r3, 1
+/* 802E1098 002DCCF8 38 C6 FF FE */ addi r6, r6, -2
+/* 802E109C 002DCCFC 40 82 00 1C */ bne lbl_802E10B8
+/* 802E10A0 002DCD00 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E10A4 002DCD04 38 C6 FF FF */ addi r6, r6, -1
+/* 802E10A8 002DCD08 38 A5 00 01 */ addi r5, r5, 1
+/* 802E10AC 002DCD0C 54 00 38 30 */ slwi r0, r0, 7
+/* 802E10B0 002DCD10 7C 08 02 14 */ add r0, r8, r0
+/* 802E10B4 002DCD14 54 08 06 3E */ clrlwi r8, r0, 0x18
+lbl_802E10B8:
+/* 802E10B8 002DCD18 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 802E10BC 002DCD1C 54 C3 04 3E */ clrlwi r3, r6, 0x10
+/* 802E10C0 002DCD20 7C 00 18 00 */ cmpw r0, r3
+/* 802E10C4 002DCD24 41 82 00 30 */ beq lbl_802E10F4
+/* 802E10C8 002DCD28 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E10CC 002DCD2C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E10D0 002DCD30 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E10D4 002DCD34 28 00 00 01 */ cmplwi r0, 1
+/* 802E10D8 002DCD38 41 80 00 10 */ blt lbl_802E10E8
+/* 802E10DC 002DCD3C 38 87 00 98 */ addi r4, r7, 0x98
+/* 802E10E0 002DCD40 3C 60 00 09 */ lis r3, 9
+/* 802E10E4 002DCD44 4B FD BE 2D */ bl LogMsg_0
+lbl_802E10E8:
+/* 802E10E8 002DCD48 7F A3 EB 78 */ mr r3, r29
+/* 802E10EC 002DCD4C 4B FD 8C 49 */ bl GKI_freebuf
+/* 802E10F0 002DCD50 48 00 04 F8 */ b lbl_802E15E8
+lbl_802E10F4:
+/* 802E10F4 002DCD54 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802E10F8 002DCD58 2C 00 00 80 */ cmpwi r0, 0x80
+/* 802E10FC 002DCD5C 41 82 00 5C */ beq lbl_802E1158
+/* 802E1100 002DCD60 40 80 00 34 */ bge lbl_802E1134
+/* 802E1104 002DCD64 2C 00 00 50 */ cmpwi r0, 0x50
+/* 802E1108 002DCD68 41 82 03 DC */ beq lbl_802E14E4
+/* 802E110C 002DCD6C 40 80 00 1C */ bge lbl_802E1128
+/* 802E1110 002DCD70 2C 00 00 20 */ cmpwi r0, 0x20
+/* 802E1114 002DCD74 41 82 01 18 */ beq lbl_802E122C
+/* 802E1118 002DCD78 40 80 04 60 */ bge lbl_802E1578
+/* 802E111C 002DCD7C 2C 00 00 10 */ cmpwi r0, 0x10
+/* 802E1120 002DCD80 41 82 02 5C */ beq lbl_802E137C
+/* 802E1124 002DCD84 48 00 04 54 */ b lbl_802E1578
+lbl_802E1128:
+/* 802E1128 002DCD88 2C 00 00 60 */ cmpwi r0, 0x60
+/* 802E112C 002DCD8C 41 82 01 74 */ beq lbl_802E12A0
+/* 802E1130 002DCD90 48 00 04 48 */ b lbl_802E1578
+lbl_802E1134:
+/* 802E1134 002DCD94 2C 00 00 A0 */ cmpwi r0, 0xa0
+/* 802E1138 002DCD98 41 82 01 48 */ beq lbl_802E1280
+/* 802E113C 002DCD9C 40 80 00 10 */ bge lbl_802E114C
+/* 802E1140 002DCDA0 2C 00 00 90 */ cmpwi r0, 0x90
+/* 802E1144 002DCDA4 41 82 02 88 */ beq lbl_802E13CC
+/* 802E1148 002DCDA8 48 00 04 30 */ b lbl_802E1578
+lbl_802E114C:
+/* 802E114C 002DCDAC 2C 00 00 E0 */ cmpwi r0, 0xe0
+/* 802E1150 002DCDB0 41 82 01 70 */ beq lbl_802E12C0
+/* 802E1154 002DCDB4 48 00 04 24 */ b lbl_802E1578
+lbl_802E1158:
+/* 802E1158 002DCDB8 28 03 00 08 */ cmplwi r3, 8
+/* 802E115C 002DCDBC 40 82 04 1C */ bne lbl_802E1578
+/* 802E1160 002DCDC0 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E1164 002DCDC4 54 04 06 BF */ clrlwi. r4, r0, 0x1a
+/* 802E1168 002DCDC8 98 9E 00 00 */ stb r4, 0(r30)
+/* 802E116C 002DCDCC 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E1170 002DCDD0 54 00 07 3E */ clrlwi r0, r0, 0x1c
+/* 802E1174 002DCDD4 98 1E 00 09 */ stb r0, 9(r30)
+/* 802E1178 002DCDD8 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E117C 002DCDDC 54 00 06 36 */ rlwinm r0, r0, 0, 0x18, 0x1b
+/* 802E1180 002DCDE0 98 1E 00 0A */ stb r0, 0xa(r30)
+/* 802E1184 002DCDE4 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E1188 002DCDE8 54 00 06 BE */ clrlwi r0, r0, 0x1a
+/* 802E118C 002DCDEC 98 1E 00 0B */ stb r0, 0xb(r30)
+/* 802E1190 002DCDF0 88 05 00 03 */ lbz r0, 3(r5)
+/* 802E1194 002DCDF4 98 1E 00 0C */ stb r0, 0xc(r30)
+/* 802E1198 002DCDF8 88 05 00 05 */ lbz r0, 5(r5)
+/* 802E119C 002DCDFC 88 65 00 04 */ lbz r3, 4(r5)
+/* 802E11A0 002DCE00 54 00 40 2E */ slwi r0, r0, 8
+/* 802E11A4 002DCE04 7C 03 02 14 */ add r0, r3, r0
+/* 802E11A8 002DCE08 B0 1E 00 0E */ sth r0, 0xe(r30)
+/* 802E11AC 002DCE0C 88 05 00 06 */ lbz r0, 6(r5)
+/* 802E11B0 002DCE10 98 1E 00 10 */ stb r0, 0x10(r30)
+/* 802E11B4 002DCE14 88 05 00 07 */ lbz r0, 7(r5)
+/* 802E11B8 002DCE18 54 00 07 7E */ clrlwi r0, r0, 0x1d
+/* 802E11BC 002DCE1C 98 1E 00 11 */ stb r0, 0x11(r30)
+/* 802E11C0 002DCE20 41 82 00 2C */ beq lbl_802E11EC
+/* 802E11C4 002DCE24 41 82 00 14 */ beq lbl_802E11D8
+/* 802E11C8 002DCE28 28 04 00 02 */ cmplwi r4, 2
+/* 802E11CC 002DCE2C 41 80 00 20 */ blt lbl_802E11EC
+/* 802E11D0 002DCE30 28 04 00 3D */ cmplwi r4, 0x3d
+/* 802E11D4 002DCE34 41 81 00 18 */ bgt lbl_802E11EC
+lbl_802E11D8:
+/* 802E11D8 002DCE38 A0 1E 00 0E */ lhz r0, 0xe(r30)
+/* 802E11DC 002DCE3C 28 00 00 17 */ cmplwi r0, 0x17
+/* 802E11E0 002DCE40 41 80 00 0C */ blt lbl_802E11EC
+/* 802E11E4 002DCE44 28 00 7F FF */ cmplwi r0, 0x7fff
+/* 802E11E8 002DCE48 40 81 00 28 */ ble lbl_802E1210
+lbl_802E11EC:
+/* 802E11EC 002DCE4C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E11F0 002DCE50 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E11F4 002DCE54 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E11F8 002DCE58 28 00 00 01 */ cmplwi r0, 1
+/* 802E11FC 002DCE5C 41 80 03 7C */ blt lbl_802E1578
+/* 802E1200 002DCE60 38 87 00 A8 */ addi r4, r7, 0xa8
+/* 802E1204 002DCE64 3C 60 00 09 */ lis r3, 9
+/* 802E1208 002DCE68 4B FD BD 09 */ bl LogMsg_0
+/* 802E120C 002DCE6C 48 00 03 6C */ b lbl_802E1578
+lbl_802E1210:
+/* 802E1210 002DCE70 7F A3 EB 78 */ mr r3, r29
+/* 802E1214 002DCE74 4B FD 8B 21 */ bl GKI_freebuf
+/* 802E1218 002DCE78 7F 83 E3 78 */ mr r3, r28
+/* 802E121C 002DCE7C 7F E4 FB 78 */ mr r4, r31
+/* 802E1220 002DCE80 7F C5 F3 78 */ mr r5, r30
+/* 802E1224 002DCE84 4B FF E0 85 */ bl rfc_process_pn
+/* 802E1228 002DCE88 48 00 03 C0 */ b lbl_802E15E8
+lbl_802E122C:
+/* 802E122C 002DCE8C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E1230 002DCE90 41 82 03 48 */ beq lbl_802E1578
+/* 802E1234 002DCE94 90 BE 00 08 */ stw r5, 8(r30)
+/* 802E1238 002DCE98 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E123C 002DCE9C B0 DE 00 0C */ sth r6, 0xc(r30)
+/* 802E1240 002DCEA0 A0 A4 00 04 */ lhz r5, 4(r4)
+/* 802E1244 002DCEA4 A0 64 00 02 */ lhz r3, 2(r4)
+/* 802E1248 002DCEA8 38 A5 00 02 */ addi r5, r5, 2
+/* 802E124C 002DCEAC 38 03 FF FE */ addi r0, r3, -2
+/* 802E1250 002DCEB0 B0 A4 00 04 */ sth r5, 4(r4)
+/* 802E1254 002DCEB4 B0 04 00 02 */ sth r0, 2(r4)
+/* 802E1258 002DCEB8 41 82 00 18 */ beq lbl_802E1270
+/* 802E125C 002DCEBC 7F 83 E3 78 */ mr r3, r28
+/* 802E1260 002DCEC0 7F A5 EB 78 */ mr r5, r29
+/* 802E1264 002DCEC4 38 80 00 00 */ li r4, 0
+/* 802E1268 002DCEC8 4B FF F6 A1 */ bl rfc_send_test
+/* 802E126C 002DCECC 48 00 03 7C */ b lbl_802E15E8
+lbl_802E1270:
+/* 802E1270 002DCED0 7F 83 E3 78 */ mr r3, r28
+/* 802E1274 002DCED4 7F A4 EB 78 */ mr r4, r29
+/* 802E1278 002DCED8 4B FF E6 21 */ bl rfc_process_test_rsp
+/* 802E127C 002DCEDC 48 00 03 6C */ b lbl_802E15E8
+lbl_802E1280:
+/* 802E1280 002DCEE0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E1284 002DCEE4 40 82 02 F4 */ bne lbl_802E1578
+/* 802E1288 002DCEE8 7F A3 EB 78 */ mr r3, r29
+/* 802E128C 002DCEEC 4B FD 8A A9 */ bl GKI_freebuf
+/* 802E1290 002DCEF0 7F 83 E3 78 */ mr r3, r28
+/* 802E1294 002DCEF4 7F E4 FB 78 */ mr r4, r31
+/* 802E1298 002DCEF8 4B FF E6 09 */ bl rfc_process_fcon
+/* 802E129C 002DCEFC 48 00 03 4C */ b lbl_802E15E8
+lbl_802E12A0:
+/* 802E12A0 002DCF00 2C 03 00 00 */ cmpwi r3, 0
+/* 802E12A4 002DCF04 40 82 02 D4 */ bne lbl_802E1578
+/* 802E12A8 002DCF08 7F A3 EB 78 */ mr r3, r29
+/* 802E12AC 002DCF0C 4B FD 8A 89 */ bl GKI_freebuf
+/* 802E12B0 002DCF10 7F 83 E3 78 */ mr r3, r28
+/* 802E12B4 002DCF14 7F E4 FB 78 */ mr r4, r31
+/* 802E12B8 002DCF18 4B FF E6 4D */ bl rfc_process_fcoff
+/* 802E12BC 002DCF1C 48 00 03 2C */ b lbl_802E15E8
+lbl_802E12C0:
+/* 802E12C0 002DCF20 88 85 00 00 */ lbz r4, 0(r5)
+/* 802E12C4 002DCF24 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e
+/* 802E12C8 002DCF28 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802E12CC 002DCF2C 7C 60 0E 70 */ srawi r0, r3, 1
+/* 802E12D0 002DCF30 7C 83 16 70 */ srawi r3, r4, 2
+/* 802E12D4 002DCF34 98 7E 00 00 */ stb r3, 0(r30)
+/* 802E12D8 002DCF38 41 82 00 28 */ beq lbl_802E1300
+/* 802E12DC 002DCF3C 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802E12E0 002DCF40 41 82 00 20 */ beq lbl_802E1300
+/* 802E12E4 002DCF44 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E12E8 002DCF48 41 82 00 18 */ beq lbl_802E1300
+/* 802E12EC 002DCF4C 41 82 00 38 */ beq lbl_802E1324
+/* 802E12F0 002DCF50 28 00 00 02 */ cmplwi r0, 2
+/* 802E12F4 002DCF54 41 80 00 0C */ blt lbl_802E1300
+/* 802E12F8 002DCF58 28 00 00 3D */ cmplwi r0, 0x3d
+/* 802E12FC 002DCF5C 40 81 00 28 */ ble lbl_802E1324
+lbl_802E1300:
+/* 802E1300 002DCF60 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1304 002DCF64 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1308 002DCF68 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E130C 002DCF6C 28 00 00 01 */ cmplwi r0, 1
+/* 802E1310 002DCF70 41 80 02 68 */ blt lbl_802E1578
+/* 802E1314 002DCF74 38 87 00 B8 */ addi r4, r7, 0xb8
+/* 802E1318 002DCF78 3C 60 00 09 */ lis r3, 9
+/* 802E131C 002DCF7C 4B FD BB F5 */ bl LogMsg_0
+/* 802E1320 002DCF80 48 00 02 58 */ b lbl_802E1578
+lbl_802E1324:
+/* 802E1324 002DCF84 55 00 06 3E */ clrlwi r0, r8, 0x18
+/* 802E1328 002DCF88 88 65 00 01 */ lbz r3, 1(r5)
+/* 802E132C 002DCF8C 28 00 00 03 */ cmplwi r0, 3
+/* 802E1330 002DCF90 98 7E 00 09 */ stb r3, 9(r30)
+/* 802E1334 002DCF94 40 82 00 20 */ bne lbl_802E1354
+/* 802E1338 002DCF98 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E133C 002DCF9C 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 802E1340 002DCFA0 98 1E 00 0A */ stb r0, 0xa(r30)
+/* 802E1344 002DCFA4 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E1348 002DCFA8 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f
+/* 802E134C 002DCFAC 98 1E 00 0B */ stb r0, 0xb(r30)
+/* 802E1350 002DCFB0 48 00 00 10 */ b lbl_802E1360
+lbl_802E1354:
+/* 802E1354 002DCFB4 38 00 00 00 */ li r0, 0
+/* 802E1358 002DCFB8 98 1E 00 0A */ stb r0, 0xa(r30)
+/* 802E135C 002DCFBC 98 1E 00 0B */ stb r0, 0xb(r30)
+lbl_802E1360:
+/* 802E1360 002DCFC0 7F A3 EB 78 */ mr r3, r29
+/* 802E1364 002DCFC4 4B FD 89 D1 */ bl GKI_freebuf
+/* 802E1368 002DCFC8 7F 83 E3 78 */ mr r3, r28
+/* 802E136C 002DCFCC 7F E4 FB 78 */ mr r4, r31
+/* 802E1370 002DCFD0 7F C5 F3 78 */ mr r5, r30
+/* 802E1374 002DCFD4 4B FF E3 29 */ bl rfc_process_msc
+/* 802E1378 002DCFD8 48 00 02 70 */ b lbl_802E15E8
+lbl_802E137C:
+/* 802E137C 002DCFDC 28 03 00 01 */ cmplwi r3, 1
+/* 802E1380 002DCFE0 40 82 01 F8 */ bne lbl_802E1578
+/* 802E1384 002DCFE4 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E1388 002DCFE8 41 82 01 F0 */ beq lbl_802E1578
+/* 802E138C 002DCFEC 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E1390 002DCFF0 7F A3 EB 78 */ mr r3, r29
+/* 802E1394 002DCFF4 54 00 07 FE */ clrlwi r0, r0, 0x1f
+/* 802E1398 002DCFF8 98 1E 00 08 */ stb r0, 8(r30)
+/* 802E139C 002DCFFC 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E13A0 002DD000 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e
+/* 802E13A4 002DD004 7C 00 0E 70 */ srawi r0, r0, 1
+/* 802E13A8 002DD008 98 1E 00 09 */ stb r0, 9(r30)
+/* 802E13AC 002DD00C 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E13B0 002DD010 7C 00 16 70 */ srawi r0, r0, 2
+/* 802E13B4 002DD014 98 1E 00 0A */ stb r0, 0xa(r30)
+/* 802E13B8 002DD018 4B FD 89 7D */ bl GKI_freebuf
+/* 802E13BC 002DD01C 7F 83 E3 78 */ mr r3, r28
+/* 802E13C0 002DD020 7F C4 F3 78 */ mr r4, r30
+/* 802E13C4 002DD024 4B FF E4 D1 */ bl rfc_process_nsc
+/* 802E13C8 002DD028 48 00 02 20 */ b lbl_802E15E8
+lbl_802E13CC:
+/* 802E13CC 002DD02C 28 03 00 01 */ cmplwi r3, 1
+/* 802E13D0 002DD030 41 82 00 0C */ beq lbl_802E13DC
+/* 802E13D4 002DD034 28 03 00 08 */ cmplwi r3, 8
+/* 802E13D8 002DD038 40 82 01 A0 */ bne lbl_802E1578
+lbl_802E13DC:
+/* 802E13DC 002DD03C 88 85 00 00 */ lbz r4, 0(r5)
+/* 802E13E0 002DD040 54 83 07 BC */ rlwinm r3, r4, 0, 0x1e, 0x1e
+/* 802E13E4 002DD044 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 802E13E8 002DD048 7C 60 0E 70 */ srawi r0, r3, 1
+/* 802E13EC 002DD04C 7C 83 16 70 */ srawi r3, r4, 2
+/* 802E13F0 002DD050 98 7E 00 00 */ stb r3, 0(r30)
+/* 802E13F4 002DD054 41 82 00 28 */ beq lbl_802E141C
+/* 802E13F8 002DD058 54 00 06 3F */ clrlwi. r0, r0, 0x18
+/* 802E13FC 002DD05C 41 82 00 20 */ beq lbl_802E141C
+/* 802E1400 002DD060 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E1404 002DD064 41 82 00 18 */ beq lbl_802E141C
+/* 802E1408 002DD068 41 82 00 38 */ beq lbl_802E1440
+/* 802E140C 002DD06C 28 00 00 02 */ cmplwi r0, 2
+/* 802E1410 002DD070 41 80 00 0C */ blt lbl_802E141C
+/* 802E1414 002DD074 28 00 00 3D */ cmplwi r0, 0x3d
+/* 802E1418 002DD078 40 81 00 28 */ ble lbl_802E1440
+lbl_802E141C:
+/* 802E141C 002DD07C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1420 002DD080 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1424 002DD084 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E1428 002DD088 28 00 00 01 */ cmplwi r0, 1
+/* 802E142C 002DD08C 41 80 01 4C */ blt lbl_802E1578
+/* 802E1430 002DD090 38 87 00 C8 */ addi r4, r7, 0xc8
+/* 802E1434 002DD094 3C 60 00 09 */ lis r3, 9
+/* 802E1438 002DD098 4B FD BA D9 */ bl LogMsg_0
+/* 802E143C 002DD09C 48 00 01 3C */ b lbl_802E1578
+lbl_802E1440:
+/* 802E1440 002DD0A0 54 C3 04 3E */ clrlwi r3, r6, 0x10
+/* 802E1444 002DD0A4 38 03 FF FF */ addi r0, r3, -1
+/* 802E1448 002DD0A8 7C 00 00 34 */ cntlzw r0, r0
+/* 802E144C 002DD0AC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
+/* 802E1450 002DD0B0 98 1E 00 09 */ stb r0, 9(r30)
+/* 802E1454 002DD0B4 40 82 00 70 */ bne lbl_802E14C4
+/* 802E1458 002DD0B8 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E145C 002DD0BC 98 1E 00 0A */ stb r0, 0xa(r30)
+/* 802E1460 002DD0C0 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E1464 002DD0C4 54 00 07 BE */ clrlwi r0, r0, 0x1e
+/* 802E1468 002DD0C8 98 1E 00 0B */ stb r0, 0xb(r30)
+/* 802E146C 002DD0CC 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E1470 002DD0D0 54 00 F7 FE */ rlwinm r0, r0, 0x1e, 0x1f, 0x1f
+/* 802E1474 002DD0D4 98 1E 00 0C */ stb r0, 0xc(r30)
+/* 802E1478 002DD0D8 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E147C 002DD0DC 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f
+/* 802E1480 002DD0E0 98 1E 00 0D */ stb r0, 0xd(r30)
+/* 802E1484 002DD0E4 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E1488 002DD0E8 54 00 E7 BE */ rlwinm r0, r0, 0x1c, 0x1e, 0x1f
+/* 802E148C 002DD0EC 98 1E 00 0E */ stb r0, 0xe(r30)
+/* 802E1490 002DD0F0 88 05 00 03 */ lbz r0, 3(r5)
+/* 802E1494 002DD0F4 54 00 06 BE */ clrlwi r0, r0, 0x1a
+/* 802E1498 002DD0F8 98 1E 00 0F */ stb r0, 0xf(r30)
+/* 802E149C 002DD0FC 88 05 00 04 */ lbz r0, 4(r5)
+/* 802E14A0 002DD100 98 1E 00 10 */ stb r0, 0x10(r30)
+/* 802E14A4 002DD104 88 05 00 05 */ lbz r0, 5(r5)
+/* 802E14A8 002DD108 98 1E 00 11 */ stb r0, 0x11(r30)
+/* 802E14AC 002DD10C 88 05 00 07 */ lbz r0, 7(r5)
+/* 802E14B0 002DD110 88 65 00 06 */ lbz r3, 6(r5)
+/* 802E14B4 002DD114 54 00 40 2E */ slwi r0, r0, 8
+/* 802E14B8 002DD118 7C 03 02 14 */ add r0, r3, r0
+/* 802E14BC 002DD11C 70 00 3F 7F */ andi. r0, r0, 0x3f7f
+/* 802E14C0 002DD120 B0 1E 00 12 */ sth r0, 0x12(r30)
+lbl_802E14C4:
+/* 802E14C4 002DD124 7F A3 EB 78 */ mr r3, r29
+/* 802E14C8 002DD128 4B FD 88 6D */ bl GKI_freebuf
+/* 802E14CC 002DD12C 88 BE 00 09 */ lbz r5, 9(r30)
+/* 802E14D0 002DD130 7F 83 E3 78 */ mr r3, r28
+/* 802E14D4 002DD134 7F E4 FB 78 */ mr r4, r31
+/* 802E14D8 002DD138 7F C6 F3 78 */ mr r6, r30
+/* 802E14DC 002DD13C 4B FF DE B5 */ bl rfc_process_rpn
+/* 802E14E0 002DD140 48 00 01 08 */ b lbl_802E15E8
+lbl_802E14E4:
+/* 802E14E4 002DD144 28 03 00 02 */ cmplwi r3, 2
+/* 802E14E8 002DD148 40 82 00 90 */ bne lbl_802E1578
+/* 802E14EC 002DD14C 88 C5 00 00 */ lbz r6, 0(r5)
+/* 802E14F0 002DD150 54 C3 07 BC */ rlwinm r3, r6, 0, 0x1e, 0x1e
+/* 802E14F4 002DD154 54 C0 07 FF */ clrlwi. r0, r6, 0x1f
+/* 802E14F8 002DD158 7C 64 0E 70 */ srawi r4, r3, 1
+/* 802E14FC 002DD15C 7C C3 16 70 */ srawi r3, r6, 2
+/* 802E1500 002DD160 98 7E 00 00 */ stb r3, 0(r30)
+/* 802E1504 002DD164 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E1508 002DD168 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e
+/* 802E150C 002DD16C 98 1E 00 09 */ stb r0, 9(r30)
+/* 802E1510 002DD170 41 82 00 28 */ beq lbl_802E1538
+/* 802E1514 002DD174 54 80 06 3F */ clrlwi. r0, r4, 0x18
+/* 802E1518 002DD178 41 82 00 20 */ beq lbl_802E1538
+/* 802E151C 002DD17C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E1520 002DD180 41 82 00 18 */ beq lbl_802E1538
+/* 802E1524 002DD184 41 82 00 38 */ beq lbl_802E155C
+/* 802E1528 002DD188 28 00 00 02 */ cmplwi r0, 2
+/* 802E152C 002DD18C 41 80 00 0C */ blt lbl_802E1538
+/* 802E1530 002DD190 28 00 00 3D */ cmplwi r0, 0x3d
+/* 802E1534 002DD194 40 81 00 28 */ ble lbl_802E155C
+lbl_802E1538:
+/* 802E1538 002DD198 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E153C 002DD19C 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1540 002DD1A0 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E1544 002DD1A4 28 00 00 01 */ cmplwi r0, 1
+/* 802E1548 002DD1A8 41 80 00 30 */ blt lbl_802E1578
+/* 802E154C 002DD1AC 38 87 00 C8 */ addi r4, r7, 0xc8
+/* 802E1550 002DD1B0 3C 60 00 09 */ lis r3, 9
+/* 802E1554 002DD1B4 4B FD B9 BD */ bl LogMsg_0
+/* 802E1558 002DD1B8 48 00 00 20 */ b lbl_802E1578
+lbl_802E155C:
+/* 802E155C 002DD1BC 7F A3 EB 78 */ mr r3, r29
+/* 802E1560 002DD1C0 4B FD 87 D5 */ bl GKI_freebuf
+/* 802E1564 002DD1C4 7F 83 E3 78 */ mr r3, r28
+/* 802E1568 002DD1C8 7F E4 FB 78 */ mr r4, r31
+/* 802E156C 002DD1CC 7F C5 F3 78 */ mr r5, r30
+/* 802E1570 002DD1D0 4B FF E2 99 */ bl rfc_process_rls
+/* 802E1574 002DD1D4 48 00 00 74 */ b lbl_802E15E8
+lbl_802E1578:
+/* 802E1578 002DD1D8 7F A3 EB 78 */ mr r3, r29
+/* 802E157C 002DD1DC 4B FD 87 B9 */ bl GKI_freebuf
+/* 802E1580 002DD1E0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E1584 002DD1E4 41 82 00 64 */ beq lbl_802E15E8
+/* 802E1588 002DD1E8 38 60 00 02 */ li r3, 2
+/* 802E158C 002DD1EC 4B FD 86 C1 */ bl GKI_getpoolbuf
+/* 802E1590 002DD1F0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E1594 002DD1F4 41 82 00 54 */ beq lbl_802E15E8
+/* 802E1598 002DD1F8 38 00 00 0C */ li r0, 0xc
+/* 802E159C 002DD1FC 3C E0 80 57 */ lis r7, lbl_8056C428@ha
+/* 802E15A0 002DD200 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E15A4 002DD204 38 00 00 11 */ li r0, 0x11
+/* 802E15A8 002DD208 39 00 00 03 */ li r8, 3
+/* 802E15AC 002DD20C 38 E7 C4 28 */ addi r7, r7, lbl_8056C428@l
+/* 802E15B0 002DD210 98 03 00 14 */ stb r0, 0x14(r3)
+/* 802E15B4 002DD214 7C 65 1B 78 */ mr r5, r3
+/* 802E15B8 002DD218 38 80 00 00 */ li r4, 0
+/* 802E15BC 002DD21C 99 03 00 15 */ stb r8, 0x15(r3)
+/* 802E15C0 002DD220 88 07 00 02 */ lbz r0, 2(r7)
+/* 802E15C4 002DD224 88 C7 00 03 */ lbz r6, 3(r7)
+/* 802E15C8 002DD228 54 00 08 3C */ slwi r0, r0, 1
+/* 802E15CC 002DD22C 88 E7 00 01 */ lbz r7, 1(r7)
+/* 802E15D0 002DD230 7C C0 03 78 */ or r0, r6, r0
+/* 802E15D4 002DD234 7C E0 03 78 */ or r0, r7, r0
+/* 802E15D8 002DD238 98 03 00 16 */ stb r0, 0x16(r3)
+/* 802E15DC 002DD23C B1 03 00 02 */ sth r8, 2(r3)
+/* 802E15E0 002DD240 7F 83 E3 78 */ mr r3, r28
+/* 802E15E4 002DD244 4B FF EC B1 */ bl rfc_send_buf_uih
+lbl_802E15E8:
+/* 802E15E8 002DD248 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E15EC 002DD24C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E15F0 002DD250 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E15F4 002DD254 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E15F8 002DD258 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E15FC 002DD25C 7C 08 03 A6 */ mtlr r0
+/* 802E1600 002DD260 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E1604 002DD264 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/rfc_utils.s b/asm/SDK/BTE/rfc_utils.s new file mode 100644 index 0000000..86563f6 --- /dev/null +++ b/asm/SDK/BTE/rfc_utils.s @@ -0,0 +1,590 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global rfc_calc_fcs
+rfc_calc_fcs:
+/* 802E1608 002DD268 3C A0 80 40 */ lis r5, lbl_803FDE10@ha
+/* 802E160C 002DD26C 38 C0 00 FF */ li r6, 0xff
+/* 802E1610 002DD270 38 A5 DE 10 */ addi r5, r5, lbl_803FDE10@l
+/* 802E1614 002DD274 48 00 00 14 */ b lbl_802E1628
+lbl_802E1618:
+/* 802E1618 002DD278 88 04 00 00 */ lbz r0, 0(r4)
+/* 802E161C 002DD27C 38 84 00 01 */ addi r4, r4, 1
+/* 802E1620 002DD280 7C C0 02 78 */ xor r0, r6, r0
+/* 802E1624 002DD284 7C C5 00 AE */ lbzx r6, r5, r0
+lbl_802E1628:
+/* 802E1628 002DD288 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802E162C 002DD28C 38 63 FF FF */ addi r3, r3, -1
+/* 802E1630 002DD290 40 82 FF E8 */ bne lbl_802E1618
+/* 802E1634 002DD294 20 06 00 FF */ subfic r0, r6, 0xff
+/* 802E1638 002DD298 54 03 06 3E */ clrlwi r3, r0, 0x18
+/* 802E163C 002DD29C 4E 80 00 20 */ blr
+
+.global rfc_check_fcs
+rfc_check_fcs:
+/* 802E1640 002DD2A0 3C C0 80 40 */ lis r6, lbl_803FDE10@ha
+/* 802E1644 002DD2A4 38 E0 00 FF */ li r7, 0xff
+/* 802E1648 002DD2A8 38 C6 DE 10 */ addi r6, r6, lbl_803FDE10@l
+/* 802E164C 002DD2AC 48 00 00 14 */ b lbl_802E1660
+lbl_802E1650:
+/* 802E1650 002DD2B0 88 04 00 00 */ lbz r0, 0(r4)
+/* 802E1654 002DD2B4 38 84 00 01 */ addi r4, r4, 1
+/* 802E1658 002DD2B8 7C E0 02 78 */ xor r0, r7, r0
+/* 802E165C 002DD2BC 7C E6 00 AE */ lbzx r7, r6, r0
+lbl_802E1660:
+/* 802E1660 002DD2C0 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802E1664 002DD2C4 38 63 FF FF */ addi r3, r3, -1
+/* 802E1668 002DD2C8 40 82 FF E8 */ bne lbl_802E1650
+/* 802E166C 002DD2CC 3C 60 80 40 */ lis r3, lbl_803FDE10@ha
+/* 802E1670 002DD2D0 7C E0 2A 78 */ xor r0, r7, r5
+/* 802E1674 002DD2D4 38 63 DE 10 */ addi r3, r3, lbl_803FDE10@l
+/* 802E1678 002DD2D8 7C 63 00 AE */ lbzx r3, r3, r0
+/* 802E167C 002DD2DC 38 03 FF 31 */ addi r0, r3, -207
+/* 802E1680 002DD2E0 7C 00 00 34 */ cntlzw r0, r0
+/* 802E1684 002DD2E4 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802E1688 002DD2E8 4E 80 00 20 */ blr
+
+.global rfc_alloc_multiplexer_channel
+rfc_alloc_multiplexer_channel:
+/* 802E168C 002DD2EC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E1690 002DD2F0 7C 08 02 A6 */ mflr r0
+/* 802E1694 002DD2F4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E1698 002DD2F8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E169C 002DD2FC 4B EE 5A 8D */ bl _savegpr_27
+/* 802E16A0 002DD300 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802E16A4 002DD304 7C 7B 1B 78 */ mr r27, r3
+/* 802E16A8 002DD308 3B E5 C4 28 */ addi r31, r5, lbl_8056C428@l
+/* 802E16AC 002DD30C 7C 9C 23 78 */ mr r28, r4
+/* 802E16B0 002DD310 88 1F 04 08 */ lbz r0, 0x408(r31)
+/* 802E16B4 002DD314 38 7F 03 FE */ addi r3, r31, 0x3fe
+/* 802E16B8 002DD318 3B C0 00 00 */ li r30, 0
+/* 802E16BC 002DD31C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E16C0 002DD320 41 82 00 5C */ beq lbl_802E171C
+/* 802E16C4 002DD324 7F 64 DB 78 */ mr r4, r27
+/* 802E16C8 002DD328 38 A0 00 06 */ li r5, 6
+/* 802E16CC 002DD32C 4B EE 8C CD */ bl memcmp
+/* 802E16D0 002DD330 2C 03 00 00 */ cmpwi r3, 0
+/* 802E16D4 002DD334 40 82 00 48 */ bne lbl_802E171C
+/* 802E16D8 002DD338 88 1F 04 14 */ lbz r0, 0x414(r31)
+/* 802E16DC 002DD33C 28 00 00 04 */ cmplwi r0, 4
+/* 802E16E0 002DD340 41 80 00 18 */ blt lbl_802E16F8
+/* 802E16E4 002DD344 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E16E8 002DD348 3C 80 80 44 */ lis r4, lbl_80444ED0@ha
+/* 802E16EC 002DD34C 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E16F0 002DD350 38 84 4E D0 */ addi r4, r4, lbl_80444ED0@l
+/* 802E16F4 002DD354 4B FD B8 1D */ bl LogMsg_0
+lbl_802E16F8:
+/* 802E16F8 002DD358 1C 1E 00 78 */ mulli r0, r30, 0x78
+/* 802E16FC 002DD35C 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1700 002DD360 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1704 002DD364 7C 63 02 14 */ add r3, r3, r0
+/* 802E1708 002DD368 3B E3 03 9C */ addi r31, r3, 0x39c
+/* 802E170C 002DD36C 7F E3 FB 78 */ mr r3, r31
+/* 802E1710 002DD370 4B FD BE 3D */ bl btu_stop_timer
+/* 802E1714 002DD374 7F E3 FB 78 */ mr r3, r31
+/* 802E1718 002DD378 48 00 00 B4 */ b lbl_802E17CC
+lbl_802E171C:
+/* 802E171C 002DD37C 3F E0 80 57 */ lis r31, lbl_8056C428@ha
+/* 802E1720 002DD380 3B FF C4 28 */ addi r31, r31, lbl_8056C428@l
+/* 802E1724 002DD384 88 7F 00 65 */ lbz r3, 0x65(r31)
+/* 802E1728 002DD388 3B C3 00 01 */ addi r30, r3, 1
+/* 802E172C 002DD38C 2C 1E 00 01 */ cmpwi r30, 1
+/* 802E1730 002DD390 41 80 00 08 */ blt lbl_802E1738
+/* 802E1734 002DD394 3B C0 00 00 */ li r30, 0
+lbl_802E1738:
+/* 802E1738 002DD398 1C 1E 00 78 */ mulli r0, r30, 0x78
+/* 802E173C 002DD39C 7C 7F 02 14 */ add r3, r31, r0
+/* 802E1740 002DD3A0 88 03 04 08 */ lbz r0, 0x408(r3)
+/* 802E1744 002DD3A4 3B A3 03 9C */ addi r29, r3, 0x39c
+/* 802E1748 002DD3A8 2C 00 00 00 */ cmpwi r0, 0
+/* 802E174C 002DD3AC 40 82 00 7C */ bne lbl_802E17C8
+/* 802E1750 002DD3B0 7F A3 EB 78 */ mr r3, r29
+/* 802E1754 002DD3B4 38 80 00 00 */ li r4, 0
+/* 802E1758 002DD3B8 38 A0 00 78 */ li r5, 0x78
+/* 802E175C 002DD3BC 4B D2 29 A9 */ bl memset
+/* 802E1760 002DD3C0 7F 64 DB 78 */ mr r4, r27
+/* 802E1764 002DD3C4 38 7D 00 62 */ addi r3, r29, 0x62
+/* 802E1768 002DD3C8 38 A0 00 06 */ li r5, 6
+/* 802E176C 002DD3CC 4B D2 28 95 */ bl memcpy
+/* 802E1770 002DD3D0 38 7D 00 18 */ addi r3, r29, 0x18
+/* 802E1774 002DD3D4 4B FD 83 25 */ bl GKI_init_q
+/* 802E1778 002DD3D8 9B 9D 00 6D */ stb r28, 0x6d(r29)
+/* 802E177C 002DD3DC 88 1F 04 14 */ lbz r0, 0x414(r31)
+/* 802E1780 002DD3E0 28 00 00 04 */ cmplwi r0, 4
+/* 802E1784 002DD3E4 41 80 00 1C */ blt lbl_802E17A0
+/* 802E1788 002DD3E8 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E178C 002DD3EC 3C 80 80 44 */ lis r4, lbl_80444EE0@ha
+/* 802E1790 002DD3F0 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1794 002DD3F4 38 A0 00 3C */ li r5, 0x3c
+/* 802E1798 002DD3F8 38 84 4E E0 */ addi r4, r4, lbl_80444EE0@l
+/* 802E179C 002DD3FC 4B FD B7 8D */ bl LogMsg_1
+lbl_802E17A0:
+/* 802E17A0 002DD400 93 BD 00 10 */ stw r29, 0x10(r29)
+/* 802E17A4 002DD404 7F A3 EB 78 */ mr r3, r29
+/* 802E17A8 002DD408 38 80 00 0B */ li r4, 0xb
+/* 802E17AC 002DD40C 38 A0 00 3C */ li r5, 0x3c
+/* 802E17B0 002DD410 4B FD BD 2D */ bl btu_start_timer
+/* 802E17B4 002DD414 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802E17B8 002DD418 7F A3 EB 78 */ mr r3, r29
+/* 802E17BC 002DD41C 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802E17C0 002DD420 9B C4 00 65 */ stb r30, 0x65(r4)
+/* 802E17C4 002DD424 48 00 00 08 */ b lbl_802E17CC
+lbl_802E17C8:
+/* 802E17C8 002DD428 38 60 00 00 */ li r3, 0
+lbl_802E17CC:
+/* 802E17CC 002DD42C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E17D0 002DD430 4B EE 59 A5 */ bl _restgpr_27
+/* 802E17D4 002DD434 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E17D8 002DD438 7C 08 03 A6 */ mtlr r0
+/* 802E17DC 002DD43C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E17E0 002DD440 4E 80 00 20 */ blr
+
+.global rfc_release_multiplexer_channel
+rfc_release_multiplexer_channel:
+/* 802E17E4 002DD444 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E17E8 002DD448 7C 08 02 A6 */ mflr r0
+/* 802E17EC 002DD44C 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802E17F0 002DD450 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E17F4 002DD454 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802E17F8 002DD458 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E17FC 002DD45C 7C 7F 1B 78 */ mr r31, r3
+/* 802E1800 002DD460 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802E1804 002DD464 28 00 00 04 */ cmplwi r0, 4
+/* 802E1808 002DD468 41 80 00 18 */ blt lbl_802E1820
+/* 802E180C 002DD46C 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E1810 002DD470 3C 80 80 44 */ lis r4, lbl_80444ED0@ha
+/* 802E1814 002DD474 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1818 002DD478 38 84 4E D0 */ addi r4, r4, lbl_80444ED0@l
+/* 802E181C 002DD47C 4B FD B6 F5 */ bl LogMsg_0
+lbl_802E1820:
+/* 802E1820 002DD480 7F E3 FB 78 */ mr r3, r31
+/* 802E1824 002DD484 4B FD BD 29 */ bl btu_stop_timer
+/* 802E1828 002DD488 48 00 00 08 */ b lbl_802E1830
+lbl_802E182C:
+/* 802E182C 002DD48C 4B FD 85 09 */ bl GKI_freebuf
+lbl_802E1830:
+/* 802E1830 002DD490 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802E1834 002DD494 4B FD 8B 9D */ bl GKI_dequeue
+/* 802E1838 002DD498 2C 03 00 00 */ cmpwi r3, 0
+/* 802E183C 002DD49C 40 82 FF F0 */ bne lbl_802E182C
+/* 802E1840 002DD4A0 7F E3 FB 78 */ mr r3, r31
+/* 802E1844 002DD4A4 38 80 00 00 */ li r4, 0
+/* 802E1848 002DD4A8 38 A0 00 78 */ li r5, 0x78
+/* 802E184C 002DD4AC 4B D2 28 B9 */ bl memset
+/* 802E1850 002DD4B0 38 00 00 00 */ li r0, 0
+/* 802E1854 002DD4B4 98 1F 00 6C */ stb r0, 0x6c(r31)
+/* 802E1858 002DD4B8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E185C 002DD4BC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1860 002DD4C0 7C 08 03 A6 */ mtlr r0
+/* 802E1864 002DD4C4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1868 002DD4C8 4E 80 00 20 */ blr
+
+.global rfc_timer_start
+rfc_timer_start:
+/* 802E186C 002DD4CC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E1870 002DD4D0 7C 08 02 A6 */ mflr r0
+/* 802E1874 002DD4D4 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802E1878 002DD4D8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E187C 002DD4DC 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802E1880 002DD4E0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E1884 002DD4E4 7C 9F 23 78 */ mr r31, r4
+/* 802E1888 002DD4E8 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E188C 002DD4EC 7C 7E 1B 78 */ mr r30, r3
+/* 802E1890 002DD4F0 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802E1894 002DD4F4 28 00 00 04 */ cmplwi r0, 4
+/* 802E1898 002DD4F8 41 80 00 1C */ blt lbl_802E18B4
+/* 802E189C 002DD4FC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E18A0 002DD500 3C 80 80 44 */ lis r4, lbl_80444EE0@ha
+/* 802E18A4 002DD504 7F E5 FB 78 */ mr r5, r31
+/* 802E18A8 002DD508 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E18AC 002DD50C 38 84 4E E0 */ addi r4, r4, lbl_80444EE0@l
+/* 802E18B0 002DD510 4B FD B6 79 */ bl LogMsg_1
+lbl_802E18B4:
+/* 802E18B4 002DD514 93 DE 00 10 */ stw r30, 0x10(r30)
+/* 802E18B8 002DD518 7F C3 F3 78 */ mr r3, r30
+/* 802E18BC 002DD51C 7F E5 FB 78 */ mr r5, r31
+/* 802E18C0 002DD520 38 80 00 0B */ li r4, 0xb
+/* 802E18C4 002DD524 4B FD BC 19 */ bl btu_start_timer
+/* 802E18C8 002DD528 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E18CC 002DD52C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E18D0 002DD530 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E18D4 002DD534 7C 08 03 A6 */ mtlr r0
+/* 802E18D8 002DD538 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E18DC 002DD53C 4E 80 00 20 */ blr
+
+.global rfc_timer_stop
+rfc_timer_stop:
+/* 802E18E0 002DD540 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E18E4 002DD544 7C 08 02 A6 */ mflr r0
+/* 802E18E8 002DD548 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802E18EC 002DD54C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E18F0 002DD550 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802E18F4 002DD554 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E18F8 002DD558 7C 7F 1B 78 */ mr r31, r3
+/* 802E18FC 002DD55C 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802E1900 002DD560 28 00 00 04 */ cmplwi r0, 4
+/* 802E1904 002DD564 41 80 00 18 */ blt lbl_802E191C
+/* 802E1908 002DD568 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E190C 002DD56C 3C 80 80 44 */ lis r4, lbl_80444ED0@ha
+/* 802E1910 002DD570 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1914 002DD574 38 84 4E D0 */ addi r4, r4, lbl_80444ED0@l
+/* 802E1918 002DD578 4B FD B5 F9 */ bl LogMsg_0
+lbl_802E191C:
+/* 802E191C 002DD57C 7F E3 FB 78 */ mr r3, r31
+/* 802E1920 002DD580 4B FD BC 2D */ bl btu_stop_timer
+/* 802E1924 002DD584 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1928 002DD588 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E192C 002DD58C 7C 08 03 A6 */ mtlr r0
+/* 802E1930 002DD590 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1934 002DD594 4E 80 00 20 */ blr
+
+.global rfc_port_timer_start
+rfc_port_timer_start:
+/* 802E1938 002DD598 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E193C 002DD59C 7C 08 02 A6 */ mflr r0
+/* 802E1940 002DD5A0 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802E1944 002DD5A4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E1948 002DD5A8 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802E194C 002DD5AC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E1950 002DD5B0 3B E3 00 70 */ addi r31, r3, 0x70
+/* 802E1954 002DD5B4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E1958 002DD5B8 7C 9E 23 78 */ mr r30, r4
+/* 802E195C 002DD5BC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E1960 002DD5C0 7C 7D 1B 78 */ mr r29, r3
+/* 802E1964 002DD5C4 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802E1968 002DD5C8 28 00 00 04 */ cmplwi r0, 4
+/* 802E196C 002DD5CC 41 80 00 1C */ blt lbl_802E1988
+/* 802E1970 002DD5D0 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E1974 002DD5D4 3C 80 80 44 */ lis r4, lbl_80444F00@ha
+/* 802E1978 002DD5D8 7F C5 F3 78 */ mr r5, r30
+/* 802E197C 002DD5DC 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1980 002DD5E0 38 84 4F 00 */ addi r4, r4, lbl_80444F00@l
+/* 802E1984 002DD5E4 4B FD B5 A5 */ bl LogMsg_1
+lbl_802E1988:
+/* 802E1988 002DD5E8 93 BF 00 10 */ stw r29, 0x10(r31)
+/* 802E198C 002DD5EC 7F E3 FB 78 */ mr r3, r31
+/* 802E1990 002DD5F0 7F C5 F3 78 */ mr r5, r30
+/* 802E1994 002DD5F4 38 80 00 0C */ li r4, 0xc
+/* 802E1998 002DD5F8 4B FD BB 45 */ bl btu_start_timer
+/* 802E199C 002DD5FC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E19A0 002DD600 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E19A4 002DD604 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E19A8 002DD608 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E19AC 002DD60C 7C 08 03 A6 */ mtlr r0
+/* 802E19B0 002DD610 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E19B4 002DD614 4E 80 00 20 */ blr
+
+.global rfc_port_timer_stop
+rfc_port_timer_stop:
+/* 802E19B8 002DD618 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E19BC 002DD61C 7C 08 02 A6 */ mflr r0
+/* 802E19C0 002DD620 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802E19C4 002DD624 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E19C8 002DD628 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802E19CC 002DD62C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E19D0 002DD630 7C 7F 1B 78 */ mr r31, r3
+/* 802E19D4 002DD634 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802E19D8 002DD638 28 00 00 04 */ cmplwi r0, 4
+/* 802E19DC 002DD63C 41 80 00 18 */ blt lbl_802E19F4
+/* 802E19E0 002DD640 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E19E4 002DD644 3C 80 80 44 */ lis r4, lbl_80444F24@ha
+/* 802E19E8 002DD648 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E19EC 002DD64C 38 84 4F 24 */ addi r4, r4, lbl_80444F24@l
+/* 802E19F0 002DD650 4B FD B5 21 */ bl LogMsg_0
+lbl_802E19F4:
+/* 802E19F4 002DD654 38 7F 00 70 */ addi r3, r31, 0x70
+/* 802E19F8 002DD658 4B FD BB 55 */ bl btu_stop_timer
+/* 802E19FC 002DD65C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1A00 002DD660 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E1A04 002DD664 7C 08 03 A6 */ mtlr r0
+/* 802E1A08 002DD668 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1A0C 002DD66C 4E 80 00 20 */ blr
+
+.global rfc_check_mcb_active
+rfc_check_mcb_active:
+/* 802E1A10 002DD670 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E1A14 002DD674 7C 08 02 A6 */ mflr r0
+/* 802E1A18 002DD678 38 A0 00 00 */ li r5, 0
+/* 802E1A1C 002DD67C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E1A20 002DD680 38 00 00 3D */ li r0, 0x3d
+/* 802E1A24 002DD684 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E1A28 002DD688 7C 7F 1B 78 */ mr r31, r3
+/* 802E1A2C 002DD68C 7C 09 03 A6 */ mtctr r0
+lbl_802E1A30:
+/* 802E1A30 002DD690 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 802E1A34 002DD694 7C 83 02 14 */ add r4, r3, r0
+/* 802E1A38 002DD698 88 04 00 24 */ lbz r0, 0x24(r4)
+/* 802E1A3C 002DD69C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1A40 002DD6A0 41 82 00 10 */ beq lbl_802E1A50
+/* 802E1A44 002DD6A4 38 00 00 00 */ li r0, 0
+/* 802E1A48 002DD6A8 98 03 00 74 */ stb r0, 0x74(r3)
+/* 802E1A4C 002DD6AC 48 00 00 74 */ b lbl_802E1AC0
+lbl_802E1A50:
+/* 802E1A50 002DD6B0 38 A5 00 01 */ addi r5, r5, 1
+/* 802E1A54 002DD6B4 42 00 FF DC */ bdnz lbl_802E1A30
+/* 802E1A58 002DD6B8 88 03 00 74 */ lbz r0, 0x74(r3)
+/* 802E1A5C 002DD6BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1A60 002DD6C0 41 82 00 20 */ beq lbl_802E1A80
+/* 802E1A64 002DD6C4 38 00 00 00 */ li r0, 0
+/* 802E1A68 002DD6C8 38 80 00 08 */ li r4, 8
+/* 802E1A6C 002DD6CC 98 03 00 74 */ stb r0, 0x74(r3)
+/* 802E1A70 002DD6D0 7F E3 FB 78 */ mr r3, r31
+/* 802E1A74 002DD6D4 38 A0 00 00 */ li r5, 0
+/* 802E1A78 002DD6D8 4B FF C2 39 */ bl rfc_mx_sm_execute
+/* 802E1A7C 002DD6DC 48 00 00 44 */ b lbl_802E1AC0
+lbl_802E1A80:
+/* 802E1A80 002DD6E0 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1A84 002DD6E4 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1A88 002DD6E8 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E1A8C 002DD6EC 28 00 00 04 */ cmplwi r0, 4
+/* 802E1A90 002DD6F0 41 80 00 1C */ blt lbl_802E1AAC
+/* 802E1A94 002DD6F4 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E1A98 002DD6F8 3C 80 80 44 */ lis r4, lbl_80444EE0@ha
+/* 802E1A9C 002DD6FC 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1AA0 002DD700 38 A0 00 02 */ li r5, 2
+/* 802E1AA4 002DD704 38 84 4E E0 */ addi r4, r4, lbl_80444EE0@l
+/* 802E1AA8 002DD708 4B FD B4 81 */ bl LogMsg_1
+lbl_802E1AAC:
+/* 802E1AAC 002DD70C 93 FF 00 10 */ stw r31, 0x10(r31)
+/* 802E1AB0 002DD710 7F E3 FB 78 */ mr r3, r31
+/* 802E1AB4 002DD714 38 80 00 0B */ li r4, 0xb
+/* 802E1AB8 002DD718 38 A0 00 02 */ li r5, 2
+/* 802E1ABC 002DD71C 4B FD BA 21 */ bl btu_start_timer
+lbl_802E1AC0:
+/* 802E1AC0 002DD720 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1AC4 002DD724 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E1AC8 002DD728 7C 08 03 A6 */ mtlr r0
+/* 802E1ACC 002DD72C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1AD0 002DD730 4E 80 00 20 */ blr
+
+.global rfcomm_process_timeout
+rfcomm_process_timeout:
+/* 802E1AD4 002DD734 A0 03 00 14 */ lhz r0, 0x14(r3)
+/* 802E1AD8 002DD738 2C 00 00 0C */ cmpwi r0, 0xc
+/* 802E1ADC 002DD73C 41 82 00 20 */ beq lbl_802E1AFC
+/* 802E1AE0 002DD740 4C 80 00 20 */ bgelr
+/* 802E1AE4 002DD744 2C 00 00 0B */ cmpwi r0, 0xb
+/* 802E1AE8 002DD748 4D 80 00 20 */ bltlr
+/* 802E1AEC 002DD74C 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802E1AF0 002DD750 38 80 00 05 */ li r4, 5
+/* 802E1AF4 002DD754 38 A0 00 00 */ li r5, 0
+/* 802E1AF8 002DD758 4B FF C1 B8 */ b rfc_mx_sm_execute
+lbl_802E1AFC:
+/* 802E1AFC 002DD75C 80 63 00 10 */ lwz r3, 0x10(r3)
+/* 802E1B00 002DD760 38 80 00 05 */ li r4, 5
+/* 802E1B04 002DD764 38 A0 00 00 */ li r5, 0
+/* 802E1B08 002DD768 4B FF CD EC */ b rfc_port_sm_execute
+/* 802E1B0C 002DD76C 4E 80 00 20 */ blr
+
+.global rfc_sec_check_complete
+rfc_sec_check_complete:
+/* 802E1B10 002DD770 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E1B14 002DD774 7C 08 02 A6 */ mflr r0
+/* 802E1B18 002DD778 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E1B1C 002DD77C 98 A1 00 08 */ stb r5, 8(r1)
+/* 802E1B20 002DD780 88 04 00 01 */ lbz r0, 1(r4)
+/* 802E1B24 002DD784 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1B28 002DD788 41 82 00 2C */ beq lbl_802E1B54
+/* 802E1B2C 002DD78C 88 04 00 68 */ lbz r0, 0x68(r4)
+/* 802E1B30 002DD790 28 00 00 02 */ cmplwi r0, 2
+/* 802E1B34 002DD794 41 82 00 10 */ beq lbl_802E1B44
+/* 802E1B38 002DD798 28 00 00 03 */ cmplwi r0, 3
+/* 802E1B3C 002DD79C 41 82 00 08 */ beq lbl_802E1B44
+/* 802E1B40 002DD7A0 48 00 00 14 */ b lbl_802E1B54
+lbl_802E1B44:
+/* 802E1B44 002DD7A4 7C 83 23 78 */ mr r3, r4
+/* 802E1B48 002DD7A8 38 A1 00 08 */ addi r5, r1, 8
+/* 802E1B4C 002DD7AC 38 80 00 0F */ li r4, 0xf
+/* 802E1B50 002DD7B0 4B FF CD A5 */ bl rfc_port_sm_execute
+lbl_802E1B54:
+/* 802E1B54 002DD7B4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1B58 002DD7B8 7C 08 03 A6 */ mtlr r0
+/* 802E1B5C 002DD7BC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1B60 002DD7C0 4E 80 00 20 */ blr
+
+.global rfc_port_closed
+rfc_port_closed:
+/* 802E1B64 002DD7C4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E1B68 002DD7C8 7C 08 02 A6 */ mflr r0
+/* 802E1B6C 002DD7CC 3C 80 80 57 */ lis r4, lbl_8056C428@ha
+/* 802E1B70 002DD7D0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E1B74 002DD7D4 38 84 C4 28 */ addi r4, r4, lbl_8056C428@l
+/* 802E1B78 002DD7D8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E1B7C 002DD7DC 3F E0 80 44 */ lis r31, lbl_80444ED0@ha
+/* 802E1B80 002DD7E0 3B FF 4E D0 */ addi r31, r31, lbl_80444ED0@l
+/* 802E1B84 002DD7E4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E1B88 002DD7E8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E1B8C 002DD7EC 7C 7D 1B 78 */ mr r29, r3
+/* 802E1B90 002DD7F0 88 04 04 14 */ lbz r0, 0x414(r4)
+/* 802E1B94 002DD7F4 83 C3 00 6C */ lwz r30, 0x6c(r3)
+/* 802E1B98 002DD7F8 28 00 00 05 */ cmplwi r0, 5
+/* 802E1B9C 002DD7FC 41 80 00 14 */ blt lbl_802E1BB0
+/* 802E1BA0 002DD800 3C 60 00 09 */ lis r3, 0x00090004@ha
+/* 802E1BA4 002DD804 38 9F 00 68 */ addi r4, r31, 0x68
+/* 802E1BA8 002DD808 38 63 00 04 */ addi r3, r3, 0x00090004@l
+/* 802E1BAC 002DD80C 4B FD B3 65 */ bl LogMsg_0
+lbl_802E1BB0:
+/* 802E1BB0 002DD810 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1BB4 002DD814 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1BB8 002DD818 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E1BBC 002DD81C 28 00 00 04 */ cmplwi r0, 4
+/* 802E1BC0 002DD820 41 80 00 14 */ blt lbl_802E1BD4
+/* 802E1BC4 002DD824 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E1BC8 002DD828 38 9F 00 54 */ addi r4, r31, 0x54
+/* 802E1BCC 002DD82C 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1BD0 002DD830 4B FD B3 41 */ bl LogMsg_0
+lbl_802E1BD4:
+/* 802E1BD4 002DD834 38 7D 00 70 */ addi r3, r29, 0x70
+/* 802E1BD8 002DD838 4B FD B9 75 */ bl btu_stop_timer
+/* 802E1BDC 002DD83C 38 80 00 00 */ li r4, 0
+/* 802E1BE0 002DD840 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E1BE4 002DD844 98 9D 00 68 */ stb r4, 0x68(r29)
+/* 802E1BE8 002DD848 41 82 00 AC */ beq lbl_802E1C94
+/* 802E1BEC 002DD84C 88 7D 00 0D */ lbz r3, 0xd(r29)
+/* 802E1BF0 002DD850 38 00 00 3D */ li r0, 0x3d
+/* 802E1BF4 002DD854 38 A0 00 00 */ li r5, 0
+/* 802E1BF8 002DD858 7C 7E 1A 14 */ add r3, r30, r3
+/* 802E1BFC 002DD85C 98 83 00 24 */ stb r4, 0x24(r3)
+/* 802E1C00 002DD860 98 9D 00 0D */ stb r4, 0xd(r29)
+/* 802E1C04 002DD864 7C 09 03 A6 */ mtctr r0
+lbl_802E1C08:
+/* 802E1C08 002DD868 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 802E1C0C 002DD86C 7C 7E 02 14 */ add r3, r30, r0
+/* 802E1C10 002DD870 88 03 00 24 */ lbz r0, 0x24(r3)
+/* 802E1C14 002DD874 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1C18 002DD878 41 82 00 10 */ beq lbl_802E1C28
+/* 802E1C1C 002DD87C 38 00 00 00 */ li r0, 0
+/* 802E1C20 002DD880 98 1E 00 74 */ stb r0, 0x74(r30)
+/* 802E1C24 002DD884 48 00 00 70 */ b lbl_802E1C94
+lbl_802E1C28:
+/* 802E1C28 002DD888 38 A5 00 01 */ addi r5, r5, 1
+/* 802E1C2C 002DD88C 42 00 FF DC */ bdnz lbl_802E1C08
+/* 802E1C30 002DD890 88 1E 00 74 */ lbz r0, 0x74(r30)
+/* 802E1C34 002DD894 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1C38 002DD898 41 82 00 20 */ beq lbl_802E1C58
+/* 802E1C3C 002DD89C 38 00 00 00 */ li r0, 0
+/* 802E1C40 002DD8A0 7F C3 F3 78 */ mr r3, r30
+/* 802E1C44 002DD8A4 98 1E 00 74 */ stb r0, 0x74(r30)
+/* 802E1C48 002DD8A8 38 80 00 08 */ li r4, 8
+/* 802E1C4C 002DD8AC 38 A0 00 00 */ li r5, 0
+/* 802E1C50 002DD8B0 4B FF C0 61 */ bl rfc_mx_sm_execute
+/* 802E1C54 002DD8B4 48 00 00 40 */ b lbl_802E1C94
+lbl_802E1C58:
+/* 802E1C58 002DD8B8 3C 60 80 57 */ lis r3, lbl_8056C428@ha
+/* 802E1C5C 002DD8BC 38 63 C4 28 */ addi r3, r3, lbl_8056C428@l
+/* 802E1C60 002DD8C0 88 03 04 14 */ lbz r0, 0x414(r3)
+/* 802E1C64 002DD8C4 28 00 00 04 */ cmplwi r0, 4
+/* 802E1C68 002DD8C8 41 80 00 18 */ blt lbl_802E1C80
+/* 802E1C6C 002DD8CC 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E1C70 002DD8D0 38 9F 00 10 */ addi r4, r31, 0x10
+/* 802E1C74 002DD8D4 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1C78 002DD8D8 38 A0 00 02 */ li r5, 2
+/* 802E1C7C 002DD8DC 4B FD B2 AD */ bl LogMsg_1
+lbl_802E1C80:
+/* 802E1C80 002DD8E0 93 DE 00 10 */ stw r30, 0x10(r30)
+/* 802E1C84 002DD8E4 7F C3 F3 78 */ mr r3, r30
+/* 802E1C88 002DD8E8 38 80 00 0B */ li r4, 0xb
+/* 802E1C8C 002DD8EC 38 A0 00 02 */ li r5, 2
+/* 802E1C90 002DD8F0 4B FD B8 4D */ bl btu_start_timer
+lbl_802E1C94:
+/* 802E1C94 002DD8F4 7F A3 EB 78 */ mr r3, r29
+/* 802E1C98 002DD8F8 38 80 00 13 */ li r4, 0x13
+/* 802E1C9C 002DD8FC 4B FF AF 75 */ bl port_rfc_closed
+/* 802E1CA0 002DD900 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E1CA4 002DD904 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E1CA8 002DD908 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E1CAC 002DD90C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E1CB0 002DD910 7C 08 03 A6 */ mtlr r0
+/* 802E1CB4 002DD914 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E1CB8 002DD918 4E 80 00 20 */ blr
+
+.global rfc_inc_credit
+rfc_inc_credit:
+/* 802E1CBC 002DD91C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E1CC0 002DD920 7C 08 02 A6 */ mflr r0
+/* 802E1CC4 002DD924 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E1CC8 002DD928 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E1CCC 002DD92C 7C 7F 1B 78 */ mr r31, r3
+/* 802E1CD0 002DD930 80 A3 00 6C */ lwz r5, 0x6c(r3)
+/* 802E1CD4 002DD934 88 05 00 72 */ lbz r0, 0x72(r5)
+/* 802E1CD8 002DD938 28 00 00 02 */ cmplwi r0, 2
+/* 802E1CDC 002DD93C 40 82 00 58 */ bne lbl_802E1D34
+/* 802E1CE0 002DD940 A0 03 00 98 */ lhz r0, 0x98(r3)
+/* 802E1CE4 002DD944 3C A0 80 57 */ lis r5, lbl_8056C428@ha
+/* 802E1CE8 002DD948 38 A5 C4 28 */ addi r5, r5, lbl_8056C428@l
+/* 802E1CEC 002DD94C 7C C0 22 14 */ add r6, r0, r4
+/* 802E1CF0 002DD950 B0 C3 00 98 */ sth r6, 0x98(r3)
+/* 802E1CF4 002DD954 88 05 04 14 */ lbz r0, 0x414(r5)
+/* 802E1CF8 002DD958 28 00 00 04 */ cmplwi r0, 4
+/* 802E1CFC 002DD95C 41 80 00 1C */ blt lbl_802E1D18
+/* 802E1D00 002DD960 3C 60 00 09 */ lis r3, 0x00090003@ha
+/* 802E1D04 002DD964 3C 80 80 44 */ lis r4, lbl_80444F48@ha
+/* 802E1D08 002DD968 38 63 00 03 */ addi r3, r3, 0x00090003@l
+/* 802E1D0C 002DD96C 54 C5 04 3E */ clrlwi r5, r6, 0x10
+/* 802E1D10 002DD970 38 84 4F 48 */ addi r4, r4, lbl_80444F48@l
+/* 802E1D14 002DD974 4B FD B2 15 */ bl LogMsg_1
+lbl_802E1D18:
+/* 802E1D18 002DD978 88 1F 00 24 */ lbz r0, 0x24(r31)
+/* 802E1D1C 002DD97C 28 00 00 01 */ cmplwi r0, 1
+/* 802E1D20 002DD980 40 82 00 14 */ bne lbl_802E1D34
+/* 802E1D24 002DD984 80 7F 00 6C */ lwz r3, 0x6c(r31)
+/* 802E1D28 002DD988 38 A0 00 01 */ li r5, 1
+/* 802E1D2C 002DD98C 88 9F 00 0D */ lbz r4, 0xd(r31)
+/* 802E1D30 002DD990 4B FF AC B9 */ bl PORT_FlowInd
+lbl_802E1D34:
+/* 802E1D34 002DD994 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1D38 002DD998 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E1D3C 002DD99C 7C 08 03 A6 */ mtlr r0
+/* 802E1D40 002DD9A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1D44 002DD9A4 4E 80 00 20 */ blr
+
+.global rfc_dec_credit
+rfc_dec_credit:
+/* 802E1D48 002DD9A8 80 83 00 6C */ lwz r4, 0x6c(r3)
+/* 802E1D4C 002DD9AC 88 04 00 72 */ lbz r0, 0x72(r4)
+/* 802E1D50 002DD9B0 28 00 00 02 */ cmplwi r0, 2
+/* 802E1D54 002DD9B4 4C 82 00 20 */ bnelr
+/* 802E1D58 002DD9B8 A0 83 00 98 */ lhz r4, 0x98(r3)
+/* 802E1D5C 002DD9BC 2C 04 00 00 */ cmpwi r4, 0
+/* 802E1D60 002DD9C0 41 82 00 0C */ beq lbl_802E1D6C
+/* 802E1D64 002DD9C4 38 04 FF FF */ addi r0, r4, -1
+/* 802E1D68 002DD9C8 B0 03 00 98 */ sth r0, 0x98(r3)
+lbl_802E1D6C:
+/* 802E1D6C 002DD9CC A0 03 00 98 */ lhz r0, 0x98(r3)
+/* 802E1D70 002DD9D0 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1D74 002DD9D4 4C 82 00 20 */ bnelr
+/* 802E1D78 002DD9D8 38 00 00 01 */ li r0, 1
+/* 802E1D7C 002DD9DC 98 03 00 24 */ stb r0, 0x24(r3)
+/* 802E1D80 002DD9E0 4E 80 00 20 */ blr
+
+.global rfc_check_send_cmd
+rfc_check_send_cmd:
+/* 802E1D84 002DD9E4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E1D88 002DD9E8 7C 08 02 A6 */ mflr r0
+/* 802E1D8C 002DD9EC 2C 04 00 00 */ cmpwi r4, 0
+/* 802E1D90 002DD9F0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E1D94 002DD9F4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E1D98 002DD9F8 7C 7F 1B 78 */ mr r31, r3
+/* 802E1D9C 002DD9FC 41 82 00 2C */ beq lbl_802E1DC8
+/* 802E1DA0 002DDA00 38 63 00 18 */ addi r3, r3, 0x18
+/* 802E1DA4 002DDA04 4B FD 83 B1 */ bl GKI_enqueue
+/* 802E1DA8 002DDA08 48 00 00 20 */ b lbl_802E1DC8
+lbl_802E1DAC:
+/* 802E1DAC 002DDA0C 38 7F 00 18 */ addi r3, r31, 0x18
+/* 802E1DB0 002DDA10 4B FD 86 21 */ bl GKI_dequeue
+/* 802E1DB4 002DDA14 2C 03 00 00 */ cmpwi r3, 0
+/* 802E1DB8 002DDA18 7C 64 1B 78 */ mr r4, r3
+/* 802E1DBC 002DDA1C 41 82 00 18 */ beq lbl_802E1DD4
+/* 802E1DC0 002DDA20 A0 7F 00 68 */ lhz r3, 0x68(r31)
+/* 802E1DC4 002DDA24 4B FF 43 2D */ bl L2CA_DataWrite
+lbl_802E1DC8:
+/* 802E1DC8 002DDA28 88 1F 00 73 */ lbz r0, 0x73(r31)
+/* 802E1DCC 002DDA2C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E1DD0 002DDA30 41 82 FF DC */ beq lbl_802E1DAC
+lbl_802E1DD4:
+/* 802E1DD4 002DDA34 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E1DD8 002DDA38 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E1DDC 002DDA3C 7C 08 03 A6 */ mtlr r0
+/* 802E1DE0 002DDA40 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E1DE4 002DDA44 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/sdp_api.s b/asm/SDK/BTE/sdp_api.s new file mode 100644 index 0000000..7ed2d40 --- /dev/null +++ b/asm/SDK/BTE/sdp_api.s @@ -0,0 +1,1039 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global SDP_InitDiscoveryDb
+SDP_InitDiscoveryDb:
+/* 802E1DE8 002DDA48 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E1DEC 002DDA4C 7C 08 02 A6 */ mflr r0
+/* 802E1DF0 002DDA50 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E1DF4 002DDA54 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E1DF8 002DDA58 4B EE 53 2D */ bl _savegpr_26
+/* 802E1DFC 002DDA5C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E1E00 002DDA60 7C 7B 1B 78 */ mr r27, r3
+/* 802E1E04 002DDA64 7C 9A 23 78 */ mr r26, r4
+/* 802E1E08 002DDA68 7C BC 2B 78 */ mr r28, r5
+/* 802E1E0C 002DDA6C 7C DD 33 78 */ mr r29, r6
+/* 802E1E10 002DDA70 7C FE 3B 78 */ mr r30, r7
+/* 802E1E14 002DDA74 7D 1F 43 78 */ mr r31, r8
+/* 802E1E18 002DDA78 41 82 00 1C */ beq lbl_802E1E34
+/* 802E1E1C 002DDA7C 28 04 00 6C */ cmplwi r4, 0x6c
+/* 802E1E20 002DDA80 41 80 00 14 */ blt lbl_802E1E34
+/* 802E1E24 002DDA84 28 07 00 0C */ cmplwi r7, 0xc
+/* 802E1E28 002DDA88 41 81 00 0C */ bgt lbl_802E1E34
+/* 802E1E2C 002DDA8C 28 05 00 03 */ cmplwi r5, 3
+/* 802E1E30 002DDA90 40 81 00 40 */ ble lbl_802E1E70
+lbl_802E1E34:
+/* 802E1E34 002DDA94 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E1E38 002DDA98 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E1E3C 002DDA9C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E1E40 002DDAA0 28 00 00 01 */ cmplwi r0, 1
+/* 802E1E44 002DDAA4 41 80 00 24 */ blt lbl_802E1E68
+/* 802E1E48 002DDAA8 3C 80 80 44 */ lis r4, lbl_80444F60@ha
+/* 802E1E4C 002DDAAC 7F 65 DB 78 */ mr r5, r27
+/* 802E1E50 002DDAB0 7F 46 D3 78 */ mr r6, r26
+/* 802E1E54 002DDAB4 7F 87 E3 78 */ mr r7, r28
+/* 802E1E58 002DDAB8 7F C8 F3 78 */ mr r8, r30
+/* 802E1E5C 002DDABC 38 84 4F 60 */ addi r4, r4, lbl_80444F60@l
+/* 802E1E60 002DDAC0 3C 60 00 0A */ lis r3, 0xa
+/* 802E1E64 002DDAC4 4B FD B1 0D */ bl LogMsg_4
+lbl_802E1E68:
+/* 802E1E68 002DDAC8 38 60 00 00 */ li r3, 0
+/* 802E1E6C 002DDACC 48 00 02 DC */ b lbl_802E2148
+lbl_802E1E70:
+/* 802E1E70 002DDAD0 7F 45 D3 78 */ mr r5, r26
+/* 802E1E74 002DDAD4 38 80 00 00 */ li r4, 0
+/* 802E1E78 002DDAD8 4B D2 22 8D */ bl memset
+/* 802E1E7C 002DDADC 38 BA FF 94 */ addi r5, r26, -108
+/* 802E1E80 002DDAE0 38 1B 00 6C */ addi r0, r27, 0x6c
+/* 802E1E84 002DDAE4 38 60 00 00 */ li r3, 0
+/* 802E1E88 002DDAE8 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E1E8C 002DDAEC 90 BB 00 00 */ stw r5, 0(r27)
+/* 802E1E90 002DDAF0 38 80 00 00 */ li r4, 0
+/* 802E1E94 002DDAF4 90 BB 00 04 */ stw r5, 4(r27)
+/* 802E1E98 002DDAF8 90 7B 00 08 */ stw r3, 8(r27)
+/* 802E1E9C 002DDAFC 90 1B 00 68 */ stw r0, 0x68(r27)
+/* 802E1EA0 002DDB00 41 82 01 D8 */ beq lbl_802E2078
+/* 802E1EA4 002DDB04 28 1C 00 08 */ cmplwi r28, 8
+/* 802E1EA8 002DDB08 3C 7C 00 01 */ addis r3, r28, 1
+/* 802E1EAC 002DDB0C 38 63 FF F8 */ addi r3, r3, -8
+/* 802E1EB0 002DDB10 40 81 01 74 */ ble lbl_802E2024
+/* 802E1EB4 002DDB14 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E1EB8 002DDB18 38 03 00 07 */ addi r0, r3, 7
+/* 802E1EBC 002DDB1C 54 00 E8 FE */ srwi r0, r0, 3
+/* 802E1EC0 002DDB20 7C 09 03 A6 */ mtctr r0
+/* 802E1EC4 002DDB24 28 03 00 00 */ cmplwi r3, 0
+/* 802E1EC8 002DDB28 40 81 01 5C */ ble lbl_802E2024
+lbl_802E1ECC:
+/* 802E1ECC 002DDB2C 54 80 04 3E */ clrlwi r0, r4, 0x10
+/* 802E1ED0 002DDB30 80 BD 00 00 */ lwz r5, 0(r29)
+/* 802E1ED4 002DDB34 1C 60 00 14 */ mulli r3, r0, 0x14
+/* 802E1ED8 002DDB38 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802E1EDC 002DDB3C 38 84 00 08 */ addi r4, r4, 8
+/* 802E1EE0 002DDB40 7C 7B 1A 14 */ add r3, r27, r3
+/* 802E1EE4 002DDB44 90 A3 00 10 */ stw r5, 0x10(r3)
+/* 802E1EE8 002DDB48 90 03 00 14 */ stw r0, 0x14(r3)
+/* 802E1EEC 002DDB4C 80 BD 00 08 */ lwz r5, 8(r29)
+/* 802E1EF0 002DDB50 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 802E1EF4 002DDB54 90 A3 00 18 */ stw r5, 0x18(r3)
+/* 802E1EF8 002DDB58 90 03 00 1C */ stw r0, 0x1c(r3)
+/* 802E1EFC 002DDB5C 80 1D 00 10 */ lwz r0, 0x10(r29)
+/* 802E1F00 002DDB60 90 03 00 20 */ stw r0, 0x20(r3)
+/* 802E1F04 002DDB64 80 BD 00 14 */ lwz r5, 0x14(r29)
+/* 802E1F08 002DDB68 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 802E1F0C 002DDB6C 90 A3 00 24 */ stw r5, 0x24(r3)
+/* 802E1F10 002DDB70 90 03 00 28 */ stw r0, 0x28(r3)
+/* 802E1F14 002DDB74 80 BD 00 1C */ lwz r5, 0x1c(r29)
+/* 802E1F18 002DDB78 80 1D 00 20 */ lwz r0, 0x20(r29)
+/* 802E1F1C 002DDB7C 90 A3 00 2C */ stw r5, 0x2c(r3)
+/* 802E1F20 002DDB80 90 03 00 30 */ stw r0, 0x30(r3)
+/* 802E1F24 002DDB84 80 1D 00 24 */ lwz r0, 0x24(r29)
+/* 802E1F28 002DDB88 90 03 00 34 */ stw r0, 0x34(r3)
+/* 802E1F2C 002DDB8C 80 BD 00 28 */ lwz r5, 0x28(r29)
+/* 802E1F30 002DDB90 80 1D 00 2C */ lwz r0, 0x2c(r29)
+/* 802E1F34 002DDB94 90 A3 00 38 */ stw r5, 0x38(r3)
+/* 802E1F38 002DDB98 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 802E1F3C 002DDB9C 80 BD 00 30 */ lwz r5, 0x30(r29)
+/* 802E1F40 002DDBA0 80 1D 00 34 */ lwz r0, 0x34(r29)
+/* 802E1F44 002DDBA4 90 A3 00 40 */ stw r5, 0x40(r3)
+/* 802E1F48 002DDBA8 90 03 00 44 */ stw r0, 0x44(r3)
+/* 802E1F4C 002DDBAC 80 1D 00 38 */ lwz r0, 0x38(r29)
+/* 802E1F50 002DDBB0 90 03 00 48 */ stw r0, 0x48(r3)
+/* 802E1F54 002DDBB4 80 BD 00 3C */ lwz r5, 0x3c(r29)
+/* 802E1F58 002DDBB8 80 1D 00 40 */ lwz r0, 0x40(r29)
+/* 802E1F5C 002DDBBC 90 A3 00 4C */ stw r5, 0x4c(r3)
+/* 802E1F60 002DDBC0 90 03 00 50 */ stw r0, 0x50(r3)
+/* 802E1F64 002DDBC4 80 BD 00 44 */ lwz r5, 0x44(r29)
+/* 802E1F68 002DDBC8 80 1D 00 48 */ lwz r0, 0x48(r29)
+/* 802E1F6C 002DDBCC 90 A3 00 54 */ stw r5, 0x54(r3)
+/* 802E1F70 002DDBD0 90 03 00 58 */ stw r0, 0x58(r3)
+/* 802E1F74 002DDBD4 80 1D 00 4C */ lwz r0, 0x4c(r29)
+/* 802E1F78 002DDBD8 90 03 00 5C */ stw r0, 0x5c(r3)
+/* 802E1F7C 002DDBDC 80 BD 00 50 */ lwz r5, 0x50(r29)
+/* 802E1F80 002DDBE0 80 1D 00 54 */ lwz r0, 0x54(r29)
+/* 802E1F84 002DDBE4 90 A3 00 60 */ stw r5, 0x60(r3)
+/* 802E1F88 002DDBE8 90 03 00 64 */ stw r0, 0x64(r3)
+/* 802E1F8C 002DDBEC 80 BD 00 58 */ lwz r5, 0x58(r29)
+/* 802E1F90 002DDBF0 80 1D 00 5C */ lwz r0, 0x5c(r29)
+/* 802E1F94 002DDBF4 90 A3 00 68 */ stw r5, 0x68(r3)
+/* 802E1F98 002DDBF8 90 03 00 6C */ stw r0, 0x6c(r3)
+/* 802E1F9C 002DDBFC 80 1D 00 60 */ lwz r0, 0x60(r29)
+/* 802E1FA0 002DDC00 90 03 00 70 */ stw r0, 0x70(r3)
+/* 802E1FA4 002DDC04 80 BD 00 64 */ lwz r5, 0x64(r29)
+/* 802E1FA8 002DDC08 80 1D 00 68 */ lwz r0, 0x68(r29)
+/* 802E1FAC 002DDC0C 90 A3 00 74 */ stw r5, 0x74(r3)
+/* 802E1FB0 002DDC10 90 03 00 78 */ stw r0, 0x78(r3)
+/* 802E1FB4 002DDC14 80 BD 00 6C */ lwz r5, 0x6c(r29)
+/* 802E1FB8 002DDC18 80 1D 00 70 */ lwz r0, 0x70(r29)
+/* 802E1FBC 002DDC1C 90 A3 00 7C */ stw r5, 0x7c(r3)
+/* 802E1FC0 002DDC20 90 03 00 80 */ stw r0, 0x80(r3)
+/* 802E1FC4 002DDC24 80 1D 00 74 */ lwz r0, 0x74(r29)
+/* 802E1FC8 002DDC28 90 03 00 84 */ stw r0, 0x84(r3)
+/* 802E1FCC 002DDC2C 80 BD 00 78 */ lwz r5, 0x78(r29)
+/* 802E1FD0 002DDC30 80 1D 00 7C */ lwz r0, 0x7c(r29)
+/* 802E1FD4 002DDC34 90 A3 00 88 */ stw r5, 0x88(r3)
+/* 802E1FD8 002DDC38 90 03 00 8C */ stw r0, 0x8c(r3)
+/* 802E1FDC 002DDC3C 80 BD 00 80 */ lwz r5, 0x80(r29)
+/* 802E1FE0 002DDC40 80 1D 00 84 */ lwz r0, 0x84(r29)
+/* 802E1FE4 002DDC44 90 A3 00 90 */ stw r5, 0x90(r3)
+/* 802E1FE8 002DDC48 90 03 00 94 */ stw r0, 0x94(r3)
+/* 802E1FEC 002DDC4C 80 1D 00 88 */ lwz r0, 0x88(r29)
+/* 802E1FF0 002DDC50 90 03 00 98 */ stw r0, 0x98(r3)
+/* 802E1FF4 002DDC54 80 BD 00 8C */ lwz r5, 0x8c(r29)
+/* 802E1FF8 002DDC58 80 1D 00 90 */ lwz r0, 0x90(r29)
+/* 802E1FFC 002DDC5C 90 A3 00 9C */ stw r5, 0x9c(r3)
+/* 802E2000 002DDC60 90 03 00 A0 */ stw r0, 0xa0(r3)
+/* 802E2004 002DDC64 80 BD 00 94 */ lwz r5, 0x94(r29)
+/* 802E2008 002DDC68 80 1D 00 98 */ lwz r0, 0x98(r29)
+/* 802E200C 002DDC6C 90 A3 00 A4 */ stw r5, 0xa4(r3)
+/* 802E2010 002DDC70 90 03 00 A8 */ stw r0, 0xa8(r3)
+/* 802E2014 002DDC74 80 1D 00 9C */ lwz r0, 0x9c(r29)
+/* 802E2018 002DDC78 3B BD 00 A0 */ addi r29, r29, 0xa0
+/* 802E201C 002DDC7C 90 03 00 AC */ stw r0, 0xac(r3)
+/* 802E2020 002DDC80 42 00 FE AC */ bdnz lbl_802E1ECC
+lbl_802E2024:
+/* 802E2024 002DDC84 54 83 04 3E */ clrlwi r3, r4, 0x10
+/* 802E2028 002DDC88 7C 03 E0 50 */ subf r0, r3, r28
+/* 802E202C 002DDC8C 7C 09 03 A6 */ mtctr r0
+/* 802E2030 002DDC90 7C 03 E0 40 */ cmplw r3, r28
+/* 802E2034 002DDC94 40 80 00 44 */ bge lbl_802E2078
+lbl_802E2038:
+/* 802E2038 002DDC98 54 80 04 3E */ clrlwi r0, r4, 0x10
+/* 802E203C 002DDC9C 80 7D 00 00 */ lwz r3, 0(r29)
+/* 802E2040 002DDCA0 1C A0 00 14 */ mulli r5, r0, 0x14
+/* 802E2044 002DDCA4 80 1D 00 04 */ lwz r0, 4(r29)
+/* 802E2048 002DDCA8 38 84 00 01 */ addi r4, r4, 1
+/* 802E204C 002DDCAC 7C BB 2A 14 */ add r5, r27, r5
+/* 802E2050 002DDCB0 90 65 00 10 */ stw r3, 0x10(r5)
+/* 802E2054 002DDCB4 90 05 00 14 */ stw r0, 0x14(r5)
+/* 802E2058 002DDCB8 80 7D 00 08 */ lwz r3, 8(r29)
+/* 802E205C 002DDCBC 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 802E2060 002DDCC0 90 65 00 18 */ stw r3, 0x18(r5)
+/* 802E2064 002DDCC4 90 05 00 1C */ stw r0, 0x1c(r5)
+/* 802E2068 002DDCC8 80 1D 00 10 */ lwz r0, 0x10(r29)
+/* 802E206C 002DDCCC 3B BD 00 14 */ addi r29, r29, 0x14
+/* 802E2070 002DDCD0 90 05 00 20 */ stw r0, 0x20(r5)
+/* 802E2074 002DDCD4 42 00 FF C4 */ bdnz lbl_802E2038
+lbl_802E2078:
+/* 802E2078 002DDCD8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E207C 002DDCDC B3 9B 00 0C */ sth r28, 0xc(r27)
+/* 802E2080 002DDCE0 38 A0 00 00 */ li r5, 0
+/* 802E2084 002DDCE4 41 82 00 B0 */ beq lbl_802E2134
+/* 802E2088 002DDCE8 28 1E 00 08 */ cmplwi r30, 8
+/* 802E208C 002DDCEC 3C 7E 00 01 */ addis r3, r30, 1
+/* 802E2090 002DDCF0 38 63 FF F8 */ addi r3, r3, -8
+/* 802E2094 002DDCF4 40 81 00 70 */ ble lbl_802E2104
+/* 802E2098 002DDCF8 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E209C 002DDCFC 38 03 00 07 */ addi r0, r3, 7
+/* 802E20A0 002DDD00 54 00 E8 FE */ srwi r0, r0, 3
+/* 802E20A4 002DDD04 7C 09 03 A6 */ mtctr r0
+/* 802E20A8 002DDD08 28 03 00 00 */ cmplwi r3, 0
+/* 802E20AC 002DDD0C 40 81 00 58 */ ble lbl_802E2104
+lbl_802E20B0:
+/* 802E20B0 002DDD10 54 A3 0B FC */ rlwinm r3, r5, 1, 0xf, 0x1e
+/* 802E20B4 002DDD14 A0 1F 00 00 */ lhz r0, 0(r31)
+/* 802E20B8 002DDD18 7C 7B 1A 14 */ add r3, r27, r3
+/* 802E20BC 002DDD1C 38 A5 00 08 */ addi r5, r5, 8
+/* 802E20C0 002DDD20 B0 03 00 4E */ sth r0, 0x4e(r3)
+/* 802E20C4 002DDD24 A0 1F 00 02 */ lhz r0, 2(r31)
+/* 802E20C8 002DDD28 B0 03 00 50 */ sth r0, 0x50(r3)
+/* 802E20CC 002DDD2C A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802E20D0 002DDD30 B0 03 00 52 */ sth r0, 0x52(r3)
+/* 802E20D4 002DDD34 A0 1F 00 06 */ lhz r0, 6(r31)
+/* 802E20D8 002DDD38 B0 03 00 54 */ sth r0, 0x54(r3)
+/* 802E20DC 002DDD3C A0 1F 00 08 */ lhz r0, 8(r31)
+/* 802E20E0 002DDD40 B0 03 00 56 */ sth r0, 0x56(r3)
+/* 802E20E4 002DDD44 A0 1F 00 0A */ lhz r0, 0xa(r31)
+/* 802E20E8 002DDD48 B0 03 00 58 */ sth r0, 0x58(r3)
+/* 802E20EC 002DDD4C A0 1F 00 0C */ lhz r0, 0xc(r31)
+/* 802E20F0 002DDD50 B0 03 00 5A */ sth r0, 0x5a(r3)
+/* 802E20F4 002DDD54 A0 1F 00 0E */ lhz r0, 0xe(r31)
+/* 802E20F8 002DDD58 3B FF 00 10 */ addi r31, r31, 0x10
+/* 802E20FC 002DDD5C B0 03 00 5C */ sth r0, 0x5c(r3)
+/* 802E2100 002DDD60 42 00 FF B0 */ bdnz lbl_802E20B0
+lbl_802E2104:
+/* 802E2104 002DDD64 54 A3 04 3E */ clrlwi r3, r5, 0x10
+/* 802E2108 002DDD68 7C 03 F0 50 */ subf r0, r3, r30
+/* 802E210C 002DDD6C 7C 09 03 A6 */ mtctr r0
+/* 802E2110 002DDD70 7C 03 F0 40 */ cmplw r3, r30
+/* 802E2114 002DDD74 40 80 00 20 */ bge lbl_802E2134
+lbl_802E2118:
+/* 802E2118 002DDD78 54 A0 0B FC */ rlwinm r0, r5, 1, 0xf, 0x1e
+/* 802E211C 002DDD7C A0 9F 00 00 */ lhz r4, 0(r31)
+/* 802E2120 002DDD80 7C 7B 02 14 */ add r3, r27, r0
+/* 802E2124 002DDD84 38 A5 00 01 */ addi r5, r5, 1
+/* 802E2128 002DDD88 B0 83 00 4E */ sth r4, 0x4e(r3)
+/* 802E212C 002DDD8C 3B FF 00 02 */ addi r31, r31, 2
+/* 802E2130 002DDD90 42 00 FF E8 */ bdnz lbl_802E2118
+lbl_802E2134:
+/* 802E2134 002DDD94 7F C3 F3 78 */ mr r3, r30
+/* 802E2138 002DDD98 7F 64 DB 78 */ mr r4, r27
+/* 802E213C 002DDD9C 48 00 52 C5 */ bl sdpu_sort_attr_list
+/* 802E2140 002DDDA0 B3 DB 00 4C */ sth r30, 0x4c(r27)
+/* 802E2144 002DDDA4 38 60 00 01 */ li r3, 1
+lbl_802E2148:
+/* 802E2148 002DDDA8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802E214C 002DDDAC 4B EE 50 25 */ bl _restgpr_26
+/* 802E2150 002DDDB0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E2154 002DDDB4 7C 08 03 A6 */ mtlr r0
+/* 802E2158 002DDDB8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E215C 002DDDBC 4E 80 00 20 */ blr
+
+.global SDP_ServiceSearchRequest
+SDP_ServiceSearchRequest:
+/* 802E2160 002DDDC0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E2164 002DDDC4 7C 08 02 A6 */ mflr r0
+/* 802E2168 002DDDC8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E216C 002DDDCC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E2170 002DDDD0 7C BF 2B 78 */ mr r31, r5
+/* 802E2174 002DDDD4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E2178 002DDDD8 7C 9E 23 78 */ mr r30, r4
+/* 802E217C 002DDDDC 48 00 32 91 */ bl sdp_conn_originate
+/* 802E2180 002DDDE0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2184 002DDDE4 40 82 00 0C */ bne lbl_802E2190
+/* 802E2188 002DDDE8 38 60 00 00 */ li r3, 0
+/* 802E218C 002DDDEC 48 00 00 18 */ b lbl_802E21A4
+lbl_802E2190:
+/* 802E2190 002DDDF0 38 00 00 00 */ li r0, 0
+/* 802E2194 002DDDF4 98 03 04 74 */ stb r0, 0x474(r3)
+/* 802E2198 002DDDF8 93 C3 04 10 */ stw r30, 0x410(r3)
+/* 802E219C 002DDDFC 93 E3 04 14 */ stw r31, 0x414(r3)
+/* 802E21A0 002DDE00 38 60 00 01 */ li r3, 1
+lbl_802E21A4:
+/* 802E21A4 002DDE04 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E21A8 002DDE08 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E21AC 002DDE0C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E21B0 002DDE10 7C 08 03 A6 */ mtlr r0
+/* 802E21B4 002DDE14 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E21B8 002DDE18 4E 80 00 20 */ blr
+
+.global SDP_ServiceSearchAttributeRequest
+SDP_ServiceSearchAttributeRequest:
+/* 802E21BC 002DDE1C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E21C0 002DDE20 7C 08 02 A6 */ mflr r0
+/* 802E21C4 002DDE24 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E21C8 002DDE28 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E21CC 002DDE2C 7C BF 2B 78 */ mr r31, r5
+/* 802E21D0 002DDE30 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E21D4 002DDE34 7C 9E 23 78 */ mr r30, r4
+/* 802E21D8 002DDE38 48 00 32 35 */ bl sdp_conn_originate
+/* 802E21DC 002DDE3C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E21E0 002DDE40 40 82 00 0C */ bne lbl_802E21EC
+/* 802E21E4 002DDE44 38 60 00 00 */ li r3, 0
+/* 802E21E8 002DDE48 48 00 00 20 */ b lbl_802E2208
+lbl_802E21EC:
+/* 802E21EC 002DDE4C 38 80 00 00 */ li r4, 0
+/* 802E21F0 002DDE50 38 00 00 01 */ li r0, 1
+/* 802E21F4 002DDE54 98 83 04 74 */ stb r4, 0x474(r3)
+/* 802E21F8 002DDE58 93 C3 04 10 */ stw r30, 0x410(r3)
+/* 802E21FC 002DDE5C 93 E3 04 14 */ stw r31, 0x414(r3)
+/* 802E2200 002DDE60 98 03 04 75 */ stb r0, 0x475(r3)
+/* 802E2204 002DDE64 38 60 00 01 */ li r3, 1
+lbl_802E2208:
+/* 802E2208 002DDE68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E220C 002DDE6C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E2210 002DDE70 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E2214 002DDE74 7C 08 03 A6 */ mtlr r0
+/* 802E2218 002DDE78 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E221C 002DDE7C 4E 80 00 20 */ blr
+
+.global SDP_FindAttributeInRec
+SDP_FindAttributeInRec:
+/* 802E2220 002DDE80 80 63 00 00 */ lwz r3, 0(r3)
+/* 802E2224 002DDE84 48 00 00 14 */ b lbl_802E2238
+lbl_802E2228:
+/* 802E2228 002DDE88 A0 03 00 04 */ lhz r0, 4(r3)
+/* 802E222C 002DDE8C 7C 00 20 40 */ cmplw r0, r4
+/* 802E2230 002DDE90 4D 82 00 20 */ beqlr
+/* 802E2234 002DDE94 80 63 00 00 */ lwz r3, 0(r3)
+lbl_802E2238:
+/* 802E2238 002DDE98 2C 03 00 00 */ cmpwi r3, 0
+/* 802E223C 002DDE9C 40 82 FF EC */ bne lbl_802E2228
+/* 802E2240 002DDEA0 38 60 00 00 */ li r3, 0
+/* 802E2244 002DDEA4 4E 80 00 20 */ blr
+
+.global SDP_FindServiceInDb
+SDP_FindServiceInDb:
+/* 802E2248 002DDEA8 2C 05 00 00 */ cmpwi r5, 0
+/* 802E224C 002DDEAC 40 82 00 0C */ bne lbl_802E2258
+/* 802E2250 002DDEB0 80 63 00 08 */ lwz r3, 8(r3)
+/* 802E2254 002DDEB4 48 00 00 B0 */ b lbl_802E2304
+lbl_802E2258:
+/* 802E2258 002DDEB8 80 65 00 04 */ lwz r3, 4(r5)
+/* 802E225C 002DDEBC 48 00 00 A8 */ b lbl_802E2304
+lbl_802E2260:
+/* 802E2260 002DDEC0 80 C3 00 00 */ lwz r6, 0(r3)
+/* 802E2264 002DDEC4 48 00 00 94 */ b lbl_802E22F8
+lbl_802E2268:
+/* 802E2268 002DDEC8 A0 A6 00 04 */ lhz r5, 4(r6)
+/* 802E226C 002DDECC 28 05 00 01 */ cmplwi r5, 1
+/* 802E2270 002DDED0 40 82 00 54 */ bne lbl_802E22C4
+/* 802E2274 002DDED4 A0 06 00 06 */ lhz r0, 6(r6)
+/* 802E2278 002DDED8 7C 00 66 70 */ srawi r0, r0, 0xc
+/* 802E227C 002DDEDC 2C 00 00 06 */ cmpwi r0, 6
+/* 802E2280 002DDEE0 40 82 00 44 */ bne lbl_802E22C4
+/* 802E2284 002DDEE4 80 C6 00 08 */ lwz r6, 8(r6)
+/* 802E2288 002DDEE8 48 00 00 30 */ b lbl_802E22B8
+lbl_802E228C:
+/* 802E228C 002DDEEC A0 A6 00 06 */ lhz r5, 6(r6)
+/* 802E2290 002DDEF0 7C A0 66 70 */ srawi r0, r5, 0xc
+/* 802E2294 002DDEF4 2C 00 00 03 */ cmpwi r0, 3
+/* 802E2298 002DDEF8 40 82 00 1C */ bne lbl_802E22B4
+/* 802E229C 002DDEFC 54 A0 05 3E */ clrlwi r0, r5, 0x14
+/* 802E22A0 002DDF00 2C 00 00 02 */ cmpwi r0, 2
+/* 802E22A4 002DDF04 40 82 00 10 */ bne lbl_802E22B4
+/* 802E22A8 002DDF08 A0 06 00 08 */ lhz r0, 8(r6)
+/* 802E22AC 002DDF0C 7C 00 20 40 */ cmplw r0, r4
+/* 802E22B0 002DDF10 4D 82 00 20 */ beqlr
+lbl_802E22B4:
+/* 802E22B4 002DDF14 80 C6 00 00 */ lwz r6, 0(r6)
+lbl_802E22B8:
+/* 802E22B8 002DDF18 2C 06 00 00 */ cmpwi r6, 0
+/* 802E22BC 002DDF1C 40 82 FF D0 */ bne lbl_802E228C
+/* 802E22C0 002DDF20 48 00 00 40 */ b lbl_802E2300
+lbl_802E22C4:
+/* 802E22C4 002DDF24 28 05 00 03 */ cmplwi r5, 3
+/* 802E22C8 002DDF28 40 82 00 2C */ bne lbl_802E22F4
+/* 802E22CC 002DDF2C A0 A6 00 06 */ lhz r5, 6(r6)
+/* 802E22D0 002DDF30 7C A0 66 70 */ srawi r0, r5, 0xc
+/* 802E22D4 002DDF34 2C 00 00 03 */ cmpwi r0, 3
+/* 802E22D8 002DDF38 40 82 00 1C */ bne lbl_802E22F4
+/* 802E22DC 002DDF3C 54 A0 05 3E */ clrlwi r0, r5, 0x14
+/* 802E22E0 002DDF40 2C 00 00 02 */ cmpwi r0, 2
+/* 802E22E4 002DDF44 40 82 00 10 */ bne lbl_802E22F4
+/* 802E22E8 002DDF48 A0 06 00 08 */ lhz r0, 8(r6)
+/* 802E22EC 002DDF4C 7C 00 20 40 */ cmplw r0, r4
+/* 802E22F0 002DDF50 4D 82 00 20 */ beqlr
+lbl_802E22F4:
+/* 802E22F4 002DDF54 80 C6 00 00 */ lwz r6, 0(r6)
+lbl_802E22F8:
+/* 802E22F8 002DDF58 2C 06 00 00 */ cmpwi r6, 0
+/* 802E22FC 002DDF5C 40 82 FF 6C */ bne lbl_802E2268
+lbl_802E2300:
+/* 802E2300 002DDF60 80 63 00 04 */ lwz r3, 4(r3)
+lbl_802E2304:
+/* 802E2304 002DDF64 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2308 002DDF68 40 82 FF 58 */ bne lbl_802E2260
+/* 802E230C 002DDF6C 38 60 00 00 */ li r3, 0
+/* 802E2310 002DDF70 4E 80 00 20 */ blr
+
+.global SDP_FindServiceUUIDInDb
+SDP_FindServiceUUIDInDb:
+/* 802E2314 002DDF74 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E2318 002DDF78 7C 08 02 A6 */ mflr r0
+/* 802E231C 002DDF7C 2C 05 00 00 */ cmpwi r5, 0
+/* 802E2320 002DDF80 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E2324 002DDF84 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E2328 002DDF88 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E232C 002DDF8C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E2330 002DDF90 7C 9D 23 78 */ mr r29, r4
+/* 802E2334 002DDF94 40 82 00 0C */ bne lbl_802E2340
+/* 802E2338 002DDF98 83 E3 00 08 */ lwz r31, 8(r3)
+/* 802E233C 002DDF9C 48 00 00 B8 */ b lbl_802E23F4
+lbl_802E2340:
+/* 802E2340 002DDFA0 83 E5 00 04 */ lwz r31, 4(r5)
+/* 802E2344 002DDFA4 48 00 00 B0 */ b lbl_802E23F4
+lbl_802E2348:
+/* 802E2348 002DDFA8 83 DF 00 00 */ lwz r30, 0(r31)
+/* 802E234C 002DDFAC 48 00 00 9C */ b lbl_802E23E8
+lbl_802E2350:
+/* 802E2350 002DDFB0 A0 7E 00 04 */ lhz r3, 4(r30)
+/* 802E2354 002DDFB4 28 03 00 01 */ cmplwi r3, 1
+/* 802E2358 002DDFB8 40 82 00 58 */ bne lbl_802E23B0
+/* 802E235C 002DDFBC A0 1E 00 06 */ lhz r0, 6(r30)
+/* 802E2360 002DDFC0 7C 00 66 70 */ srawi r0, r0, 0xc
+/* 802E2364 002DDFC4 2C 00 00 06 */ cmpwi r0, 6
+/* 802E2368 002DDFC8 40 82 00 48 */ bne lbl_802E23B0
+/* 802E236C 002DDFCC 83 DE 00 08 */ lwz r30, 8(r30)
+/* 802E2370 002DDFD0 48 00 00 34 */ b lbl_802E23A4
+lbl_802E2374:
+/* 802E2374 002DDFD4 A0 1E 00 06 */ lhz r0, 6(r30)
+/* 802E2378 002DDFD8 7C 00 66 70 */ srawi r0, r0, 0xc
+/* 802E237C 002DDFDC 2C 00 00 03 */ cmpwi r0, 3
+/* 802E2380 002DDFE0 40 82 00 20 */ bne lbl_802E23A0
+/* 802E2384 002DDFE4 7F A3 EB 78 */ mr r3, r29
+/* 802E2388 002DDFE8 7F C4 F3 78 */ mr r4, r30
+/* 802E238C 002DDFEC 48 00 4F E5 */ bl sdpu_compare_uuid_with_attr
+/* 802E2390 002DDFF0 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2394 002DDFF4 41 82 00 0C */ beq lbl_802E23A0
+/* 802E2398 002DDFF8 7F E3 FB 78 */ mr r3, r31
+/* 802E239C 002DDFFC 48 00 00 64 */ b lbl_802E2400
+lbl_802E23A0:
+/* 802E23A0 002DE000 83 DE 00 00 */ lwz r30, 0(r30)
+lbl_802E23A4:
+/* 802E23A4 002DE004 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E23A8 002DE008 40 82 FF CC */ bne lbl_802E2374
+/* 802E23AC 002DE00C 48 00 00 44 */ b lbl_802E23F0
+lbl_802E23B0:
+/* 802E23B0 002DE010 28 03 00 03 */ cmplwi r3, 3
+/* 802E23B4 002DE014 40 82 00 30 */ bne lbl_802E23E4
+/* 802E23B8 002DE018 A0 1E 00 06 */ lhz r0, 6(r30)
+/* 802E23BC 002DE01C 7C 00 66 70 */ srawi r0, r0, 0xc
+/* 802E23C0 002DE020 2C 00 00 03 */ cmpwi r0, 3
+/* 802E23C4 002DE024 40 82 00 20 */ bne lbl_802E23E4
+/* 802E23C8 002DE028 7F A3 EB 78 */ mr r3, r29
+/* 802E23CC 002DE02C 7F C4 F3 78 */ mr r4, r30
+/* 802E23D0 002DE030 48 00 4F A1 */ bl sdpu_compare_uuid_with_attr
+/* 802E23D4 002DE034 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E23D8 002DE038 41 82 00 0C */ beq lbl_802E23E4
+/* 802E23DC 002DE03C 7F E3 FB 78 */ mr r3, r31
+/* 802E23E0 002DE040 48 00 00 20 */ b lbl_802E2400
+lbl_802E23E4:
+/* 802E23E4 002DE044 83 DE 00 00 */ lwz r30, 0(r30)
+lbl_802E23E8:
+/* 802E23E8 002DE048 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E23EC 002DE04C 40 82 FF 64 */ bne lbl_802E2350
+lbl_802E23F0:
+/* 802E23F0 002DE050 83 FF 00 04 */ lwz r31, 4(r31)
+lbl_802E23F4:
+/* 802E23F4 002DE054 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E23F8 002DE058 40 82 FF 50 */ bne lbl_802E2348
+/* 802E23FC 002DE05C 38 60 00 00 */ li r3, 0
+lbl_802E2400:
+/* 802E2400 002DE060 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E2404 002DE064 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E2408 002DE068 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E240C 002DE06C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E2410 002DE070 7C 08 03 A6 */ mtlr r0
+/* 802E2414 002DE074 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E2418 002DE078 4E 80 00 20 */ blr
+
+.global SDP_SetLocalDiRecord
+SDP_SetLocalDiRecord:
+/* 802E241C 002DE07C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E2420 002DE080 7C 08 02 A6 */ mflr r0
+/* 802E2424 002DE084 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2428 002DE088 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E242C 002DE08C 38 00 12 00 */ li r0, 0x1200
+/* 802E2430 002DE090 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E2434 002DE094 3B E0 00 00 */ li r31, 0
+/* 802E2438 002DE098 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E243C 002DE09C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E2440 002DE0A0 7C 7D 1B 78 */ mr r29, r3
+/* 802E2444 002DE0A4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E2448 002DE0A8 7C 9C 23 78 */ mr r28, r4
+/* 802E244C 002DE0AC B0 01 00 0C */ sth r0, 0xc(r1)
+/* 802E2450 002DE0B0 93 E4 00 00 */ stw r31, 0(r4)
+/* 802E2454 002DE0B4 40 82 00 0C */ bne lbl_802E2460
+/* 802E2458 002DE0B8 38 60 00 0B */ li r3, 0xb
+/* 802E245C 002DE0BC 48 00 03 00 */ b lbl_802E275C
+lbl_802E2460:
+/* 802E2460 002DE0C0 88 03 00 08 */ lbz r0, 8(r3)
+/* 802E2464 002DE0C4 28 00 00 01 */ cmplwi r0, 1
+/* 802E2468 002DE0C8 40 82 00 1C */ bne lbl_802E2484
+/* 802E246C 002DE0CC 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E2470 002DE0D0 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E2474 002DE0D4 83 C3 12 1C */ lwz r30, 0x121c(r3)
+/* 802E2478 002DE0D8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E247C 002DE0DC 41 82 00 08 */ beq lbl_802E2484
+/* 802E2480 002DE0E0 48 00 00 1C */ b lbl_802E249C
+lbl_802E2484:
+/* 802E2484 002DE0E4 48 00 0A 7D */ bl SDP_CreateRecord
+/* 802E2488 002DE0E8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E248C 002DE0EC 7C 7E 1B 78 */ mr r30, r3
+/* 802E2490 002DE0F0 40 82 00 0C */ bne lbl_802E249C
+/* 802E2494 002DE0F4 38 60 00 06 */ li r3, 6
+/* 802E2498 002DE0F8 48 00 02 C4 */ b lbl_802E275C
+lbl_802E249C:
+/* 802E249C 002DE0FC 93 DC 00 00 */ stw r30, 0(r28)
+/* 802E24A0 002DE100 7F C3 F3 78 */ mr r3, r30
+/* 802E24A4 002DE104 38 A1 00 0C */ addi r5, r1, 0xc
+/* 802E24A8 002DE108 38 80 00 01 */ li r4, 1
+/* 802E24AC 002DE10C 48 00 10 B9 */ bl SDP_AddServiceClassIdList
+/* 802E24B0 002DE110 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E24B4 002DE114 40 82 00 08 */ bne lbl_802E24BC
+/* 802E24B8 002DE118 3B E0 00 07 */ li r31, 7
+lbl_802E24BC:
+/* 802E24BC 002DE11C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E24C0 002DE120 40 82 00 38 */ bne lbl_802E24F8
+/* 802E24C4 002DE124 38 60 00 00 */ li r3, 0
+/* 802E24C8 002DE128 38 00 00 09 */ li r0, 9
+/* 802E24CC 002DE12C 98 61 00 08 */ stb r3, 8(r1)
+/* 802E24D0 002DE130 38 E1 00 08 */ addi r7, r1, 8
+/* 802E24D4 002DE134 7F C3 F3 78 */ mr r3, r30
+/* 802E24D8 002DE138 38 80 02 00 */ li r4, 0x200
+/* 802E24DC 002DE13C 98 01 00 09 */ stb r0, 9(r1)
+/* 802E24E0 002DE140 38 A0 00 01 */ li r5, 1
+/* 802E24E4 002DE144 38 C0 00 02 */ li r6, 2
+/* 802E24E8 002DE148 48 00 0C 0D */ bl SDP_AddAttribute
+/* 802E24EC 002DE14C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E24F0 002DE150 40 82 00 08 */ bne lbl_802E24F8
+/* 802E24F4 002DE154 3B E0 00 07 */ li r31, 7
+lbl_802E24F8:
+/* 802E24F8 002DE158 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E24FC 002DE15C 40 82 00 54 */ bne lbl_802E2550
+/* 802E2500 002DE160 88 1D 00 09 */ lbz r0, 9(r29)
+/* 802E2504 002DE164 7C 00 07 75 */ extsb. r0, r0
+/* 802E2508 002DE168 41 82 00 48 */ beq lbl_802E2550
+/* 802E250C 002DE16C 38 7D 00 09 */ addi r3, r29, 9
+/* 802E2510 002DE170 4B EE 46 55 */ bl strlen
+/* 802E2514 002DE174 38 03 00 01 */ addi r0, r3, 1
+/* 802E2518 002DE178 28 00 00 50 */ cmplwi r0, 0x50
+/* 802E251C 002DE17C 41 81 00 30 */ bgt lbl_802E254C
+/* 802E2520 002DE180 38 7D 00 09 */ addi r3, r29, 9
+/* 802E2524 002DE184 4B EE 46 41 */ bl strlen
+/* 802E2528 002DE188 7C 64 1B 78 */ mr r4, r3
+/* 802E252C 002DE18C 7F C3 F3 78 */ mr r3, r30
+/* 802E2530 002DE190 38 C4 00 01 */ addi r6, r4, 1
+/* 802E2534 002DE194 38 FD 00 09 */ addi r7, r29, 9
+/* 802E2538 002DE198 38 80 00 0B */ li r4, 0xb
+/* 802E253C 002DE19C 38 A0 00 08 */ li r5, 8
+/* 802E2540 002DE1A0 48 00 0B B5 */ bl SDP_AddAttribute
+/* 802E2544 002DE1A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2548 002DE1A8 40 82 00 08 */ bne lbl_802E2550
+lbl_802E254C:
+/* 802E254C 002DE1AC 3B E0 00 07 */ li r31, 7
+lbl_802E2550:
+/* 802E2550 002DE1B0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E2554 002DE1B4 40 82 00 54 */ bne lbl_802E25A8
+/* 802E2558 002DE1B8 88 1D 00 59 */ lbz r0, 0x59(r29)
+/* 802E255C 002DE1BC 7C 00 07 75 */ extsb. r0, r0
+/* 802E2560 002DE1C0 41 82 00 48 */ beq lbl_802E25A8
+/* 802E2564 002DE1C4 38 7D 00 59 */ addi r3, r29, 0x59
+/* 802E2568 002DE1C8 4B EE 45 FD */ bl strlen
+/* 802E256C 002DE1CC 38 03 00 01 */ addi r0, r3, 1
+/* 802E2570 002DE1D0 28 00 00 50 */ cmplwi r0, 0x50
+/* 802E2574 002DE1D4 41 81 00 30 */ bgt lbl_802E25A4
+/* 802E2578 002DE1D8 38 7D 00 59 */ addi r3, r29, 0x59
+/* 802E257C 002DE1DC 4B EE 45 E9 */ bl strlen
+/* 802E2580 002DE1E0 7C 64 1B 78 */ mr r4, r3
+/* 802E2584 002DE1E4 7F C3 F3 78 */ mr r3, r30
+/* 802E2588 002DE1E8 38 C4 00 01 */ addi r6, r4, 1
+/* 802E258C 002DE1EC 38 FD 00 59 */ addi r7, r29, 0x59
+/* 802E2590 002DE1F0 38 80 01 01 */ li r4, 0x101
+/* 802E2594 002DE1F4 38 A0 00 04 */ li r5, 4
+/* 802E2598 002DE1F8 48 00 0B 5D */ bl SDP_AddAttribute
+/* 802E259C 002DE1FC 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E25A0 002DE200 40 82 00 08 */ bne lbl_802E25A8
+lbl_802E25A4:
+/* 802E25A4 002DE204 3B E0 00 07 */ li r31, 7
+lbl_802E25A8:
+/* 802E25A8 002DE208 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E25AC 002DE20C 40 82 00 54 */ bne lbl_802E2600
+/* 802E25B0 002DE210 88 1D 00 A9 */ lbz r0, 0xa9(r29)
+/* 802E25B4 002DE214 7C 00 07 75 */ extsb. r0, r0
+/* 802E25B8 002DE218 41 82 00 48 */ beq lbl_802E2600
+/* 802E25BC 002DE21C 38 7D 00 A9 */ addi r3, r29, 0xa9
+/* 802E25C0 002DE220 4B EE 45 A5 */ bl strlen
+/* 802E25C4 002DE224 38 03 00 01 */ addi r0, r3, 1
+/* 802E25C8 002DE228 28 00 00 50 */ cmplwi r0, 0x50
+/* 802E25CC 002DE22C 41 81 00 30 */ bgt lbl_802E25FC
+/* 802E25D0 002DE230 38 7D 00 A9 */ addi r3, r29, 0xa9
+/* 802E25D4 002DE234 4B EE 45 91 */ bl strlen
+/* 802E25D8 002DE238 7C 64 1B 78 */ mr r4, r3
+/* 802E25DC 002DE23C 7F C3 F3 78 */ mr r3, r30
+/* 802E25E0 002DE240 38 C4 00 01 */ addi r6, r4, 1
+/* 802E25E4 002DE244 38 FD 00 A9 */ addi r7, r29, 0xa9
+/* 802E25E8 002DE248 38 80 00 0A */ li r4, 0xa
+/* 802E25EC 002DE24C 38 A0 00 08 */ li r5, 8
+/* 802E25F0 002DE250 48 00 0B 05 */ bl SDP_AddAttribute
+/* 802E25F4 002DE254 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E25F8 002DE258 40 82 00 08 */ bne lbl_802E2600
+lbl_802E25FC:
+/* 802E25FC 002DE25C 3B E0 00 07 */ li r31, 7
+lbl_802E2600:
+/* 802E2600 002DE260 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E2604 002DE264 40 82 00 3C */ bne lbl_802E2640
+/* 802E2608 002DE268 A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802E260C 002DE26C 38 E1 00 08 */ addi r7, r1, 8
+/* 802E2610 002DE270 7F C3 F3 78 */ mr r3, r30
+/* 802E2614 002DE274 38 80 02 01 */ li r4, 0x201
+/* 802E2618 002DE278 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E261C 002DE27C 38 A0 00 01 */ li r5, 1
+/* 802E2620 002DE280 98 01 00 08 */ stb r0, 8(r1)
+/* 802E2624 002DE284 38 C0 00 02 */ li r6, 2
+/* 802E2628 002DE288 A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802E262C 002DE28C 98 01 00 09 */ stb r0, 9(r1)
+/* 802E2630 002DE290 48 00 0A C5 */ bl SDP_AddAttribute
+/* 802E2634 002DE294 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2638 002DE298 40 82 00 08 */ bne lbl_802E2640
+/* 802E263C 002DE29C 3B E0 00 07 */ li r31, 7
+lbl_802E2640:
+/* 802E2640 002DE2A0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E2644 002DE2A4 40 82 00 3C */ bne lbl_802E2680
+/* 802E2648 002DE2A8 A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802E264C 002DE2AC 38 E1 00 08 */ addi r7, r1, 8
+/* 802E2650 002DE2B0 7F C3 F3 78 */ mr r3, r30
+/* 802E2654 002DE2B4 38 80 02 02 */ li r4, 0x202
+/* 802E2658 002DE2B8 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E265C 002DE2BC 38 A0 00 01 */ li r5, 1
+/* 802E2660 002DE2C0 98 01 00 08 */ stb r0, 8(r1)
+/* 802E2664 002DE2C4 38 C0 00 02 */ li r6, 2
+/* 802E2668 002DE2C8 A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802E266C 002DE2CC 98 01 00 09 */ stb r0, 9(r1)
+/* 802E2670 002DE2D0 48 00 0A 85 */ bl SDP_AddAttribute
+/* 802E2674 002DE2D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2678 002DE2D8 40 82 00 08 */ bne lbl_802E2680
+/* 802E267C 002DE2DC 3B E0 00 07 */ li r31, 7
+lbl_802E2680:
+/* 802E2680 002DE2E0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E2684 002DE2E4 40 82 00 3C */ bne lbl_802E26C0
+/* 802E2688 002DE2E8 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802E268C 002DE2EC 38 E1 00 08 */ addi r7, r1, 8
+/* 802E2690 002DE2F0 7F C3 F3 78 */ mr r3, r30
+/* 802E2694 002DE2F4 38 80 02 03 */ li r4, 0x203
+/* 802E2698 002DE2F8 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E269C 002DE2FC 38 A0 00 01 */ li r5, 1
+/* 802E26A0 002DE300 98 01 00 08 */ stb r0, 8(r1)
+/* 802E26A4 002DE304 38 C0 00 02 */ li r6, 2
+/* 802E26A8 002DE308 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802E26AC 002DE30C 98 01 00 09 */ stb r0, 9(r1)
+/* 802E26B0 002DE310 48 00 0A 45 */ bl SDP_AddAttribute
+/* 802E26B4 002DE314 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E26B8 002DE318 40 82 00 08 */ bne lbl_802E26C0
+/* 802E26BC 002DE31C 3B E0 00 07 */ li r31, 7
+lbl_802E26C0:
+/* 802E26C0 002DE320 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E26C4 002DE324 40 82 00 28 */ bne lbl_802E26EC
+/* 802E26C8 002DE328 7F C3 F3 78 */ mr r3, r30
+/* 802E26CC 002DE32C 38 FD 00 08 */ addi r7, r29, 8
+/* 802E26D0 002DE330 38 80 02 04 */ li r4, 0x204
+/* 802E26D4 002DE334 38 A0 00 05 */ li r5, 5
+/* 802E26D8 002DE338 38 C0 00 01 */ li r6, 1
+/* 802E26DC 002DE33C 48 00 0A 19 */ bl SDP_AddAttribute
+/* 802E26E0 002DE340 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E26E4 002DE344 40 82 00 08 */ bne lbl_802E26EC
+/* 802E26E8 002DE348 3B E0 00 07 */ li r31, 7
+lbl_802E26EC:
+/* 802E26EC 002DE34C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E26F0 002DE350 40 82 00 3C */ bne lbl_802E272C
+/* 802E26F4 002DE354 A0 1D 00 02 */ lhz r0, 2(r29)
+/* 802E26F8 002DE358 38 E1 00 08 */ addi r7, r1, 8
+/* 802E26FC 002DE35C 7F C3 F3 78 */ mr r3, r30
+/* 802E2700 002DE360 38 80 02 05 */ li r4, 0x205
+/* 802E2704 002DE364 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E2708 002DE368 38 A0 00 01 */ li r5, 1
+/* 802E270C 002DE36C 98 01 00 08 */ stb r0, 8(r1)
+/* 802E2710 002DE370 38 C0 00 02 */ li r6, 2
+/* 802E2714 002DE374 A0 1D 00 02 */ lhz r0, 2(r29)
+/* 802E2718 002DE378 98 01 00 09 */ stb r0, 9(r1)
+/* 802E271C 002DE37C 48 00 09 D9 */ bl SDP_AddAttribute
+/* 802E2720 002DE380 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2724 002DE384 40 82 00 08 */ bne lbl_802E272C
+/* 802E2728 002DE388 3B E0 00 07 */ li r31, 7
+lbl_802E272C:
+/* 802E272C 002DE38C 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E2730 002DE390 41 82 00 10 */ beq lbl_802E2740
+/* 802E2734 002DE394 7F C3 F3 78 */ mr r3, r30
+/* 802E2738 002DE398 48 00 08 A9 */ bl SDP_DeleteRecord
+/* 802E273C 002DE39C 48 00 00 1C */ b lbl_802E2758
+lbl_802E2740:
+/* 802E2740 002DE3A0 88 1D 00 08 */ lbz r0, 8(r29)
+/* 802E2744 002DE3A4 28 00 00 01 */ cmplwi r0, 1
+/* 802E2748 002DE3A8 40 82 00 10 */ bne lbl_802E2758
+/* 802E274C 002DE3AC 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E2750 002DE3B0 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E2754 002DE3B4 93 C3 12 1C */ stw r30, 0x121c(r3)
+lbl_802E2758:
+/* 802E2758 002DE3B8 7F E3 FB 78 */ mr r3, r31
+lbl_802E275C:
+/* 802E275C 002DE3BC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E2760 002DE3C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E2764 002DE3C4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E2768 002DE3C8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E276C 002DE3CC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E2770 002DE3D0 7C 08 03 A6 */ mtlr r0
+/* 802E2774 002DE3D4 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E2778 002DE3D8 4E 80 00 20 */ blr
+
+.global SDP_GetLocalDiRecord
+SDP_GetLocalDiRecord:
+/* 802E277C 002DE3DC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E2780 002DE3E0 7C 08 02 A6 */ mflr r0
+/* 802E2784 002DE3E4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E2788 002DE3E8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E278C 002DE3EC 3B E0 00 09 */ li r31, 9
+/* 802E2790 002DE3F0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E2794 002DE3F4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E2798 002DE3F8 7C 7D 1B 78 */ mr r29, r3
+/* 802E279C 002DE3FC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E27A0 002DE400 7C 9C 23 78 */ mr r28, r4
+/* 802E27A4 002DE404 80 04 00 00 */ lwz r0, 0(r4)
+/* 802E27A8 002DE408 2C 00 00 00 */ cmpwi r0, 0
+/* 802E27AC 002DE40C 40 82 00 14 */ bne lbl_802E27C0
+/* 802E27B0 002DE410 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E27B4 002DE414 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E27B8 002DE418 80 03 12 1C */ lwz r0, 0x121c(r3)
+/* 802E27BC 002DE41C 90 04 00 00 */ stw r0, 0(r4)
+lbl_802E27C0:
+/* 802E27C0 002DE420 80 64 00 00 */ lwz r3, 0(r4)
+/* 802E27C4 002DE424 48 00 06 A1 */ bl sdp_db_find_record
+/* 802E27C8 002DE428 2C 03 00 00 */ cmpwi r3, 0
+/* 802E27CC 002DE42C 7C 7E 1B 78 */ mr r30, r3
+/* 802E27D0 002DE430 41 82 04 30 */ beq lbl_802E2C00
+/* 802E27D4 002DE434 7F A3 EB 78 */ mr r3, r29
+/* 802E27D8 002DE438 38 80 00 00 */ li r4, 0
+/* 802E27DC 002DE43C 38 A0 00 FA */ li r5, 0xfa
+/* 802E27E0 002DE440 4B D2 19 25 */ bl memset
+/* 802E27E4 002DE444 7F C3 F3 78 */ mr r3, r30
+/* 802E27E8 002DE448 3B E0 00 00 */ li r31, 0
+/* 802E27EC 002DE44C 38 80 02 00 */ li r4, 0x200
+/* 802E27F0 002DE450 38 A0 02 00 */ li r5, 0x200
+/* 802E27F4 002DE454 48 00 06 CD */ bl sdp_db_find_attr_in_rec
+/* 802E27F8 002DE458 2C 03 00 00 */ cmpwi r3, 0
+/* 802E27FC 002DE45C 41 82 00 1C */ beq lbl_802E2818
+/* 802E2800 002DE460 80 83 00 04 */ lwz r4, 4(r3)
+/* 802E2804 002DE464 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E2808 002DE468 88 04 00 01 */ lbz r0, 1(r4)
+/* 802E280C 002DE46C 54 63 40 2E */ slwi r3, r3, 8
+/* 802E2810 002DE470 7C 03 02 14 */ add r0, r3, r0
+/* 802E2814 002DE474 B0 1D 00 00 */ sth r0, 0(r29)
+lbl_802E2818:
+/* 802E2818 002DE478 7F C3 F3 78 */ mr r3, r30
+/* 802E281C 002DE47C 38 80 02 01 */ li r4, 0x201
+/* 802E2820 002DE480 38 A0 02 01 */ li r5, 0x201
+/* 802E2824 002DE484 48 00 06 9D */ bl sdp_db_find_attr_in_rec
+/* 802E2828 002DE488 2C 03 00 00 */ cmpwi r3, 0
+/* 802E282C 002DE48C 41 82 00 1C */ beq lbl_802E2848
+/* 802E2830 002DE490 80 83 00 04 */ lwz r4, 4(r3)
+/* 802E2834 002DE494 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E2838 002DE498 88 04 00 01 */ lbz r0, 1(r4)
+/* 802E283C 002DE49C 54 63 40 2E */ slwi r3, r3, 8
+/* 802E2840 002DE4A0 7C 03 02 14 */ add r0, r3, r0
+/* 802E2844 002DE4A4 B0 1D 00 02 */ sth r0, 2(r29)
+lbl_802E2848:
+/* 802E2848 002DE4A8 7F C3 F3 78 */ mr r3, r30
+/* 802E284C 002DE4AC 38 80 02 02 */ li r4, 0x202
+/* 802E2850 002DE4B0 38 A0 02 02 */ li r5, 0x202
+/* 802E2854 002DE4B4 48 00 06 6D */ bl sdp_db_find_attr_in_rec
+/* 802E2858 002DE4B8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E285C 002DE4BC 41 82 00 1C */ beq lbl_802E2878
+/* 802E2860 002DE4C0 80 83 00 04 */ lwz r4, 4(r3)
+/* 802E2864 002DE4C4 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E2868 002DE4C8 88 04 00 01 */ lbz r0, 1(r4)
+/* 802E286C 002DE4CC 54 63 40 2E */ slwi r3, r3, 8
+/* 802E2870 002DE4D0 7C 03 02 14 */ add r0, r3, r0
+/* 802E2874 002DE4D4 B0 1D 00 06 */ sth r0, 6(r29)
+lbl_802E2878:
+/* 802E2878 002DE4D8 7F C3 F3 78 */ mr r3, r30
+/* 802E287C 002DE4DC 38 80 02 03 */ li r4, 0x203
+/* 802E2880 002DE4E0 38 A0 02 03 */ li r5, 0x203
+/* 802E2884 002DE4E4 48 00 06 3D */ bl sdp_db_find_attr_in_rec
+/* 802E2888 002DE4E8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E288C 002DE4EC 41 82 00 1C */ beq lbl_802E28A8
+/* 802E2890 002DE4F0 80 83 00 04 */ lwz r4, 4(r3)
+/* 802E2894 002DE4F4 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E2898 002DE4F8 88 04 00 01 */ lbz r0, 1(r4)
+/* 802E289C 002DE4FC 54 63 40 2E */ slwi r3, r3, 8
+/* 802E28A0 002DE500 7C 03 02 14 */ add r0, r3, r0
+/* 802E28A4 002DE504 B0 1D 00 08 */ sth r0, 8(r29)
+lbl_802E28A8:
+/* 802E28A8 002DE508 7F C3 F3 78 */ mr r3, r30
+/* 802E28AC 002DE50C 38 80 02 05 */ li r4, 0x205
+/* 802E28B0 002DE510 38 A0 02 05 */ li r5, 0x205
+/* 802E28B4 002DE514 48 00 06 0D */ bl sdp_db_find_attr_in_rec
+/* 802E28B8 002DE518 2C 03 00 00 */ cmpwi r3, 0
+/* 802E28BC 002DE51C 41 82 00 1C */ beq lbl_802E28D8
+/* 802E28C0 002DE520 80 83 00 04 */ lwz r4, 4(r3)
+/* 802E28C4 002DE524 88 64 00 00 */ lbz r3, 0(r4)
+/* 802E28C8 002DE528 88 04 00 01 */ lbz r0, 1(r4)
+/* 802E28CC 002DE52C 54 63 40 2E */ slwi r3, r3, 8
+/* 802E28D0 002DE530 7C 03 02 14 */ add r0, r3, r0
+/* 802E28D4 002DE534 B0 1D 00 04 */ sth r0, 4(r29)
+lbl_802E28D8:
+/* 802E28D8 002DE538 7F C3 F3 78 */ mr r3, r30
+/* 802E28DC 002DE53C 38 80 02 04 */ li r4, 0x204
+/* 802E28E0 002DE540 38 A0 02 04 */ li r5, 0x204
+/* 802E28E4 002DE544 48 00 05 DD */ bl sdp_db_find_attr_in_rec
+/* 802E28E8 002DE548 2C 03 00 00 */ cmpwi r3, 0
+/* 802E28EC 002DE54C 41 82 00 10 */ beq lbl_802E28FC
+/* 802E28F0 002DE550 80 63 00 04 */ lwz r3, 4(r3)
+/* 802E28F4 002DE554 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E28F8 002DE558 98 1D 00 0A */ stb r0, 0xa(r29)
+lbl_802E28FC:
+/* 802E28FC 002DE55C 7F C3 F3 78 */ mr r3, r30
+/* 802E2900 002DE560 38 80 00 0B */ li r4, 0xb
+/* 802E2904 002DE564 38 A0 00 0B */ li r5, 0xb
+/* 802E2908 002DE568 48 00 05 B9 */ bl sdp_db_find_attr_in_rec
+/* 802E290C 002DE56C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2910 002DE570 41 82 00 EC */ beq lbl_802E29FC
+/* 802E2914 002DE574 80 03 00 00 */ lwz r0, 0(r3)
+/* 802E2918 002DE578 38 80 00 50 */ li r4, 0x50
+/* 802E291C 002DE57C 28 00 00 50 */ cmplwi r0, 0x50
+/* 802E2920 002DE580 40 80 00 08 */ bge lbl_802E2928
+/* 802E2924 002DE584 7C 04 03 78 */ mr r4, r0
+lbl_802E2928:
+/* 802E2928 002DE588 2C 84 00 00 */ cmpwi cr1, r4, 0
+/* 802E292C 002DE58C 80 E3 00 04 */ lwz r7, 4(r3)
+/* 802E2930 002DE590 39 00 00 00 */ li r8, 0
+/* 802E2934 002DE594 40 85 00 C8 */ ble cr1, lbl_802E29FC
+/* 802E2938 002DE598 2C 04 00 08 */ cmpwi r4, 8
+/* 802E293C 002DE59C 38 A4 FF F8 */ addi r5, r4, -8
+/* 802E2940 002DE5A0 40 81 00 90 */ ble lbl_802E29D0
+/* 802E2944 002DE5A4 38 C0 00 00 */ li r6, 0
+/* 802E2948 002DE5A8 41 84 00 18 */ blt cr1, lbl_802E2960
+/* 802E294C 002DE5AC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
+/* 802E2950 002DE5B0 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
+/* 802E2954 002DE5B4 7C 04 00 00 */ cmpw r4, r0
+/* 802E2958 002DE5B8 41 81 00 08 */ bgt lbl_802E2960
+/* 802E295C 002DE5BC 38 C0 00 01 */ li r6, 1
+lbl_802E2960:
+/* 802E2960 002DE5C0 2C 06 00 00 */ cmpwi r6, 0
+/* 802E2964 002DE5C4 41 82 00 6C */ beq lbl_802E29D0
+/* 802E2968 002DE5C8 38 05 00 07 */ addi r0, r5, 7
+/* 802E296C 002DE5CC 38 7D 00 0B */ addi r3, r29, 0xb
+/* 802E2970 002DE5D0 54 00 E8 FE */ srwi r0, r0, 3
+/* 802E2974 002DE5D4 7C 09 03 A6 */ mtctr r0
+/* 802E2978 002DE5D8 2C 05 00 00 */ cmpwi r5, 0
+/* 802E297C 002DE5DC 40 81 00 54 */ ble lbl_802E29D0
+lbl_802E2980:
+/* 802E2980 002DE5E0 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E2984 002DE5E4 39 08 00 08 */ addi r8, r8, 8
+/* 802E2988 002DE5E8 98 03 00 00 */ stb r0, 0(r3)
+/* 802E298C 002DE5EC 88 07 00 01 */ lbz r0, 1(r7)
+/* 802E2990 002DE5F0 98 03 00 01 */ stb r0, 1(r3)
+/* 802E2994 002DE5F4 88 07 00 02 */ lbz r0, 2(r7)
+/* 802E2998 002DE5F8 98 03 00 02 */ stb r0, 2(r3)
+/* 802E299C 002DE5FC 88 07 00 03 */ lbz r0, 3(r7)
+/* 802E29A0 002DE600 98 03 00 03 */ stb r0, 3(r3)
+/* 802E29A4 002DE604 88 07 00 04 */ lbz r0, 4(r7)
+/* 802E29A8 002DE608 98 03 00 04 */ stb r0, 4(r3)
+/* 802E29AC 002DE60C 88 07 00 05 */ lbz r0, 5(r7)
+/* 802E29B0 002DE610 98 03 00 05 */ stb r0, 5(r3)
+/* 802E29B4 002DE614 88 07 00 06 */ lbz r0, 6(r7)
+/* 802E29B8 002DE618 98 03 00 06 */ stb r0, 6(r3)
+/* 802E29BC 002DE61C 88 07 00 07 */ lbz r0, 7(r7)
+/* 802E29C0 002DE620 38 E7 00 08 */ addi r7, r7, 8
+/* 802E29C4 002DE624 98 03 00 07 */ stb r0, 7(r3)
+/* 802E29C8 002DE628 38 63 00 08 */ addi r3, r3, 8
+/* 802E29CC 002DE62C 42 00 FF B4 */ bdnz lbl_802E2980
+lbl_802E29D0:
+/* 802E29D0 002DE630 7C 7D 42 14 */ add r3, r29, r8
+/* 802E29D4 002DE634 7C 08 20 50 */ subf r0, r8, r4
+/* 802E29D8 002DE638 38 63 00 0B */ addi r3, r3, 0xb
+/* 802E29DC 002DE63C 7C 09 03 A6 */ mtctr r0
+/* 802E29E0 002DE640 7C 08 20 00 */ cmpw r8, r4
+/* 802E29E4 002DE644 40 80 00 18 */ bge lbl_802E29FC
+lbl_802E29E8:
+/* 802E29E8 002DE648 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E29EC 002DE64C 38 E7 00 01 */ addi r7, r7, 1
+/* 802E29F0 002DE650 98 03 00 00 */ stb r0, 0(r3)
+/* 802E29F4 002DE654 38 63 00 01 */ addi r3, r3, 1
+/* 802E29F8 002DE658 42 00 FF F0 */ bdnz lbl_802E29E8
+lbl_802E29FC:
+/* 802E29FC 002DE65C 7F C3 F3 78 */ mr r3, r30
+/* 802E2A00 002DE660 38 80 01 01 */ li r4, 0x101
+/* 802E2A04 002DE664 38 A0 01 01 */ li r5, 0x101
+/* 802E2A08 002DE668 48 00 04 B9 */ bl sdp_db_find_attr_in_rec
+/* 802E2A0C 002DE66C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2A10 002DE670 41 82 00 EC */ beq lbl_802E2AFC
+/* 802E2A14 002DE674 80 03 00 00 */ lwz r0, 0(r3)
+/* 802E2A18 002DE678 38 80 00 50 */ li r4, 0x50
+/* 802E2A1C 002DE67C 28 00 00 50 */ cmplwi r0, 0x50
+/* 802E2A20 002DE680 40 80 00 08 */ bge lbl_802E2A28
+/* 802E2A24 002DE684 7C 04 03 78 */ mr r4, r0
+lbl_802E2A28:
+/* 802E2A28 002DE688 2C 84 00 00 */ cmpwi cr1, r4, 0
+/* 802E2A2C 002DE68C 80 E3 00 04 */ lwz r7, 4(r3)
+/* 802E2A30 002DE690 39 00 00 00 */ li r8, 0
+/* 802E2A34 002DE694 40 85 00 C8 */ ble cr1, lbl_802E2AFC
+/* 802E2A38 002DE698 2C 04 00 08 */ cmpwi r4, 8
+/* 802E2A3C 002DE69C 38 A4 FF F8 */ addi r5, r4, -8
+/* 802E2A40 002DE6A0 40 81 00 90 */ ble lbl_802E2AD0
+/* 802E2A44 002DE6A4 38 C0 00 00 */ li r6, 0
+/* 802E2A48 002DE6A8 41 84 00 18 */ blt cr1, lbl_802E2A60
+/* 802E2A4C 002DE6AC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
+/* 802E2A50 002DE6B0 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
+/* 802E2A54 002DE6B4 7C 04 00 00 */ cmpw r4, r0
+/* 802E2A58 002DE6B8 41 81 00 08 */ bgt lbl_802E2A60
+/* 802E2A5C 002DE6BC 38 C0 00 01 */ li r6, 1
+lbl_802E2A60:
+/* 802E2A60 002DE6C0 2C 06 00 00 */ cmpwi r6, 0
+/* 802E2A64 002DE6C4 41 82 00 6C */ beq lbl_802E2AD0
+/* 802E2A68 002DE6C8 38 05 00 07 */ addi r0, r5, 7
+/* 802E2A6C 002DE6CC 38 7D 00 5B */ addi r3, r29, 0x5b
+/* 802E2A70 002DE6D0 54 00 E8 FE */ srwi r0, r0, 3
+/* 802E2A74 002DE6D4 7C 09 03 A6 */ mtctr r0
+/* 802E2A78 002DE6D8 2C 05 00 00 */ cmpwi r5, 0
+/* 802E2A7C 002DE6DC 40 81 00 54 */ ble lbl_802E2AD0
+lbl_802E2A80:
+/* 802E2A80 002DE6E0 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E2A84 002DE6E4 39 08 00 08 */ addi r8, r8, 8
+/* 802E2A88 002DE6E8 98 03 00 00 */ stb r0, 0(r3)
+/* 802E2A8C 002DE6EC 88 07 00 01 */ lbz r0, 1(r7)
+/* 802E2A90 002DE6F0 98 03 00 01 */ stb r0, 1(r3)
+/* 802E2A94 002DE6F4 88 07 00 02 */ lbz r0, 2(r7)
+/* 802E2A98 002DE6F8 98 03 00 02 */ stb r0, 2(r3)
+/* 802E2A9C 002DE6FC 88 07 00 03 */ lbz r0, 3(r7)
+/* 802E2AA0 002DE700 98 03 00 03 */ stb r0, 3(r3)
+/* 802E2AA4 002DE704 88 07 00 04 */ lbz r0, 4(r7)
+/* 802E2AA8 002DE708 98 03 00 04 */ stb r0, 4(r3)
+/* 802E2AAC 002DE70C 88 07 00 05 */ lbz r0, 5(r7)
+/* 802E2AB0 002DE710 98 03 00 05 */ stb r0, 5(r3)
+/* 802E2AB4 002DE714 88 07 00 06 */ lbz r0, 6(r7)
+/* 802E2AB8 002DE718 98 03 00 06 */ stb r0, 6(r3)
+/* 802E2ABC 002DE71C 88 07 00 07 */ lbz r0, 7(r7)
+/* 802E2AC0 002DE720 38 E7 00 08 */ addi r7, r7, 8
+/* 802E2AC4 002DE724 98 03 00 07 */ stb r0, 7(r3)
+/* 802E2AC8 002DE728 38 63 00 08 */ addi r3, r3, 8
+/* 802E2ACC 002DE72C 42 00 FF B4 */ bdnz lbl_802E2A80
+lbl_802E2AD0:
+/* 802E2AD0 002DE730 7C 7D 42 14 */ add r3, r29, r8
+/* 802E2AD4 002DE734 7C 08 20 50 */ subf r0, r8, r4
+/* 802E2AD8 002DE738 38 63 00 5B */ addi r3, r3, 0x5b
+/* 802E2ADC 002DE73C 7C 09 03 A6 */ mtctr r0
+/* 802E2AE0 002DE740 7C 08 20 00 */ cmpw r8, r4
+/* 802E2AE4 002DE744 40 80 00 18 */ bge lbl_802E2AFC
+lbl_802E2AE8:
+/* 802E2AE8 002DE748 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E2AEC 002DE74C 38 E7 00 01 */ addi r7, r7, 1
+/* 802E2AF0 002DE750 98 03 00 00 */ stb r0, 0(r3)
+/* 802E2AF4 002DE754 38 63 00 01 */ addi r3, r3, 1
+/* 802E2AF8 002DE758 42 00 FF F0 */ bdnz lbl_802E2AE8
+lbl_802E2AFC:
+/* 802E2AFC 002DE75C 7F C3 F3 78 */ mr r3, r30
+/* 802E2B00 002DE760 38 80 00 0A */ li r4, 0xa
+/* 802E2B04 002DE764 38 A0 00 0A */ li r5, 0xa
+/* 802E2B08 002DE768 48 00 03 B9 */ bl sdp_db_find_attr_in_rec
+/* 802E2B0C 002DE76C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2B10 002DE770 41 82 00 F8 */ beq lbl_802E2C08
+/* 802E2B14 002DE774 80 03 00 00 */ lwz r0, 0(r3)
+/* 802E2B18 002DE778 38 80 00 50 */ li r4, 0x50
+/* 802E2B1C 002DE77C 28 00 00 50 */ cmplwi r0, 0x50
+/* 802E2B20 002DE780 40 80 00 08 */ bge lbl_802E2B28
+/* 802E2B24 002DE784 7C 04 03 78 */ mr r4, r0
+lbl_802E2B28:
+/* 802E2B28 002DE788 2C 84 00 00 */ cmpwi cr1, r4, 0
+/* 802E2B2C 002DE78C 80 E3 00 04 */ lwz r7, 4(r3)
+/* 802E2B30 002DE790 39 00 00 00 */ li r8, 0
+/* 802E2B34 002DE794 40 85 00 D4 */ ble cr1, lbl_802E2C08
+/* 802E2B38 002DE798 2C 04 00 08 */ cmpwi r4, 8
+/* 802E2B3C 002DE79C 38 A4 FF F8 */ addi r5, r4, -8
+/* 802E2B40 002DE7A0 40 81 00 90 */ ble lbl_802E2BD0
+/* 802E2B44 002DE7A4 38 C0 00 00 */ li r6, 0
+/* 802E2B48 002DE7A8 41 84 00 18 */ blt cr1, lbl_802E2B60
+/* 802E2B4C 002DE7AC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
+/* 802E2B50 002DE7B0 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
+/* 802E2B54 002DE7B4 7C 04 00 00 */ cmpw r4, r0
+/* 802E2B58 002DE7B8 41 81 00 08 */ bgt lbl_802E2B60
+/* 802E2B5C 002DE7BC 38 C0 00 01 */ li r6, 1
+lbl_802E2B60:
+/* 802E2B60 002DE7C0 2C 06 00 00 */ cmpwi r6, 0
+/* 802E2B64 002DE7C4 41 82 00 6C */ beq lbl_802E2BD0
+/* 802E2B68 002DE7C8 38 05 00 07 */ addi r0, r5, 7
+/* 802E2B6C 002DE7CC 38 7D 00 AB */ addi r3, r29, 0xab
+/* 802E2B70 002DE7D0 54 00 E8 FE */ srwi r0, r0, 3
+/* 802E2B74 002DE7D4 7C 09 03 A6 */ mtctr r0
+/* 802E2B78 002DE7D8 2C 05 00 00 */ cmpwi r5, 0
+/* 802E2B7C 002DE7DC 40 81 00 54 */ ble lbl_802E2BD0
+lbl_802E2B80:
+/* 802E2B80 002DE7E0 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E2B84 002DE7E4 39 08 00 08 */ addi r8, r8, 8
+/* 802E2B88 002DE7E8 98 03 00 00 */ stb r0, 0(r3)
+/* 802E2B8C 002DE7EC 88 07 00 01 */ lbz r0, 1(r7)
+/* 802E2B90 002DE7F0 98 03 00 01 */ stb r0, 1(r3)
+/* 802E2B94 002DE7F4 88 07 00 02 */ lbz r0, 2(r7)
+/* 802E2B98 002DE7F8 98 03 00 02 */ stb r0, 2(r3)
+/* 802E2B9C 002DE7FC 88 07 00 03 */ lbz r0, 3(r7)
+/* 802E2BA0 002DE800 98 03 00 03 */ stb r0, 3(r3)
+/* 802E2BA4 002DE804 88 07 00 04 */ lbz r0, 4(r7)
+/* 802E2BA8 002DE808 98 03 00 04 */ stb r0, 4(r3)
+/* 802E2BAC 002DE80C 88 07 00 05 */ lbz r0, 5(r7)
+/* 802E2BB0 002DE810 98 03 00 05 */ stb r0, 5(r3)
+/* 802E2BB4 002DE814 88 07 00 06 */ lbz r0, 6(r7)
+/* 802E2BB8 002DE818 98 03 00 06 */ stb r0, 6(r3)
+/* 802E2BBC 002DE81C 88 07 00 07 */ lbz r0, 7(r7)
+/* 802E2BC0 002DE820 38 E7 00 08 */ addi r7, r7, 8
+/* 802E2BC4 002DE824 98 03 00 07 */ stb r0, 7(r3)
+/* 802E2BC8 002DE828 38 63 00 08 */ addi r3, r3, 8
+/* 802E2BCC 002DE82C 42 00 FF B4 */ bdnz lbl_802E2B80
+lbl_802E2BD0:
+/* 802E2BD0 002DE830 7C 7D 42 14 */ add r3, r29, r8
+/* 802E2BD4 002DE834 7C 08 20 50 */ subf r0, r8, r4
+/* 802E2BD8 002DE838 38 63 00 AB */ addi r3, r3, 0xab
+/* 802E2BDC 002DE83C 7C 09 03 A6 */ mtctr r0
+/* 802E2BE0 002DE840 7C 08 20 00 */ cmpw r8, r4
+/* 802E2BE4 002DE844 40 80 00 24 */ bge lbl_802E2C08
+lbl_802E2BE8:
+/* 802E2BE8 002DE848 88 07 00 00 */ lbz r0, 0(r7)
+/* 802E2BEC 002DE84C 38 E7 00 01 */ addi r7, r7, 1
+/* 802E2BF0 002DE850 98 03 00 00 */ stb r0, 0(r3)
+/* 802E2BF4 002DE854 38 63 00 01 */ addi r3, r3, 1
+/* 802E2BF8 002DE858 42 00 FF F0 */ bdnz lbl_802E2BE8
+/* 802E2BFC 002DE85C 48 00 00 0C */ b lbl_802E2C08
+lbl_802E2C00:
+/* 802E2C00 002DE860 38 00 00 00 */ li r0, 0
+/* 802E2C04 002DE864 90 1C 00 00 */ stw r0, 0(r28)
+lbl_802E2C08:
+/* 802E2C08 002DE868 7F E3 FB 78 */ mr r3, r31
+/* 802E2C0C 002DE86C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E2C10 002DE870 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E2C14 002DE874 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E2C18 002DE878 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E2C1C 002DE87C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E2C20 002DE880 7C 08 03 A6 */ mtlr r0
+/* 802E2C24 002DE884 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E2C28 002DE888 4E 80 00 20 */ blr
+
+.global SDP_SetTraceLevel
+SDP_SetTraceLevel:
+/* 802E2C2C 002DE88C 28 03 00 FF */ cmplwi r3, 0xff
+/* 802E2C30 002DE890 41 82 00 10 */ beq lbl_802E2C40
+/* 802E2C34 002DE894 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E2C38 002DE898 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E2C3C 002DE89C 98 64 46 30 */ stb r3, 0x4630(r4)
+lbl_802E2C40:
+/* 802E2C40 002DE8A0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E2C44 002DE8A4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E2C48 002DE8A8 88 63 46 30 */ lbz r3, 0x4630(r3)
+/* 802E2C4C 002DE8AC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/sdp_db.s b/asm/SDK/BTE/sdp_db.s new file mode 100644 index 0000000..6f587c5 --- /dev/null +++ b/asm/SDK/BTE/sdp_db.s @@ -0,0 +1,935 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global sdp_db_service_search
+sdp_db_service_search:
+/* 802E2C50 002DE8B0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E2C54 002DE8B4 7C 08 02 A6 */ mflr r0
+/* 802E2C58 002DE8B8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E2C5C 002DE8BC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E2C60 002DE8C0 4B EE 44 BD */ bl _savegpr_24
+/* 802E2C64 002DE8C4 3C A0 80 57 */ lis r5, lbl_8056C840@ha
+/* 802E2C68 002DE8C8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2C6C 002DE8CC 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
+/* 802E2C70 002DE8D0 7C 9D 23 78 */ mr r29, r4
+/* 802E2C74 002DE8D4 A0 05 12 22 */ lhz r0, 0x1222(r5)
+/* 802E2C78 002DE8D8 1C 00 02 98 */ mulli r0, r0, 0x298
+/* 802E2C7C 002DE8DC 7C 85 02 14 */ add r4, r5, r0
+/* 802E2C80 002DE8E0 3B C4 12 24 */ addi r30, r4, 0x1224
+/* 802E2C84 002DE8E4 40 82 00 0C */ bne lbl_802E2C90
+/* 802E2C88 002DE8E8 3B 85 12 24 */ addi r28, r5, 0x1224
+/* 802E2C8C 002DE8EC 48 00 00 DC */ b lbl_802E2D68
+lbl_802E2C90:
+/* 802E2C90 002DE8F0 3B 83 02 98 */ addi r28, r3, 0x298
+/* 802E2C94 002DE8F4 48 00 00 D4 */ b lbl_802E2D68
+lbl_802E2C98:
+/* 802E2C98 002DE8F8 3B E0 00 00 */ li r31, 0
+/* 802E2C9C 002DE8FC 48 00 00 A0 */ b lbl_802E2D3C
+lbl_802E2CA0:
+/* 802E2CA0 002DE900 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 802E2CA4 002DE904 3B 1C 00 0C */ addi r24, r28, 0xc
+/* 802E2CA8 002DE908 1C 00 00 12 */ mulli r0, r0, 0x12
+/* 802E2CAC 002DE90C 3B 20 00 00 */ li r25, 0
+/* 802E2CB0 002DE910 7F 7D 02 14 */ add r27, r29, r0
+/* 802E2CB4 002DE914 3B 5B 00 04 */ addi r26, r27, 4
+/* 802E2CB8 002DE918 48 00 00 60 */ b lbl_802E2D18
+lbl_802E2CBC:
+/* 802E2CBC 002DE91C 88 18 00 0A */ lbz r0, 0xa(r24)
+/* 802E2CC0 002DE920 28 00 00 03 */ cmplwi r0, 3
+/* 802E2CC4 002DE924 40 82 00 24 */ bne lbl_802E2CE8
+/* 802E2CC8 002DE928 80 78 00 04 */ lwz r3, 4(r24)
+/* 802E2CCC 002DE92C 7F 45 D3 78 */ mr r5, r26
+/* 802E2CD0 002DE930 80 98 00 00 */ lwz r4, 0(r24)
+/* 802E2CD4 002DE934 A0 DB 00 02 */ lhz r6, 2(r27)
+/* 802E2CD8 002DE938 48 00 44 25 */ bl sdpu_compare_uuid_arrays
+/* 802E2CDC 002DE93C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2CE0 002DE940 40 82 00 48 */ bne lbl_802E2D28
+/* 802E2CE4 002DE944 48 00 00 2C */ b lbl_802E2D10
+lbl_802E2CE8:
+/* 802E2CE8 002DE948 28 00 00 06 */ cmplwi r0, 6
+/* 802E2CEC 002DE94C 40 82 00 24 */ bne lbl_802E2D10
+/* 802E2CF0 002DE950 80 78 00 04 */ lwz r3, 4(r24)
+/* 802E2CF4 002DE954 7F 45 D3 78 */ mr r5, r26
+/* 802E2CF8 002DE958 80 98 00 00 */ lwz r4, 0(r24)
+/* 802E2CFC 002DE95C 38 E0 00 00 */ li r7, 0
+/* 802E2D00 002DE960 A0 DB 00 02 */ lhz r6, 2(r27)
+/* 802E2D04 002DE964 48 00 00 89 */ bl find_uuid_in_seq
+/* 802E2D08 002DE968 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2D0C 002DE96C 40 82 00 1C */ bne lbl_802E2D28
+lbl_802E2D10:
+/* 802E2D10 002DE970 3B 39 00 01 */ addi r25, r25, 1
+/* 802E2D14 002DE974 3B 18 00 0C */ addi r24, r24, 0xc
+lbl_802E2D18:
+/* 802E2D18 002DE978 A0 1C 00 08 */ lhz r0, 8(r28)
+/* 802E2D1C 002DE97C 57 23 04 3E */ clrlwi r3, r25, 0x10
+/* 802E2D20 002DE980 7C 03 00 40 */ cmplw r3, r0
+/* 802E2D24 002DE984 41 80 FF 98 */ blt lbl_802E2CBC
+lbl_802E2D28:
+/* 802E2D28 002DE988 A0 1C 00 08 */ lhz r0, 8(r28)
+/* 802E2D2C 002DE98C 57 23 04 3E */ clrlwi r3, r25, 0x10
+/* 802E2D30 002DE990 7C 03 00 40 */ cmplw r3, r0
+/* 802E2D34 002DE994 41 82 00 18 */ beq lbl_802E2D4C
+/* 802E2D38 002DE998 3B FF 00 01 */ addi r31, r31, 1
+lbl_802E2D3C:
+/* 802E2D3C 002DE99C A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802E2D40 002DE9A0 57 E3 04 3E */ clrlwi r3, r31, 0x10
+/* 802E2D44 002DE9A4 7C 03 00 40 */ cmplw r3, r0
+/* 802E2D48 002DE9A8 41 80 FF 58 */ blt lbl_802E2CA0
+lbl_802E2D4C:
+/* 802E2D4C 002DE9AC A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802E2D50 002DE9B0 57 E3 04 3E */ clrlwi r3, r31, 0x10
+/* 802E2D54 002DE9B4 7C 03 00 40 */ cmplw r3, r0
+/* 802E2D58 002DE9B8 40 82 00 0C */ bne lbl_802E2D64
+/* 802E2D5C 002DE9BC 7F 83 E3 78 */ mr r3, r28
+/* 802E2D60 002DE9C0 48 00 00 14 */ b lbl_802E2D74
+lbl_802E2D64:
+/* 802E2D64 002DE9C4 3B 9C 02 98 */ addi r28, r28, 0x298
+lbl_802E2D68:
+/* 802E2D68 002DE9C8 7C 1C F0 40 */ cmplw r28, r30
+/* 802E2D6C 002DE9CC 41 80 FF 2C */ blt lbl_802E2C98
+/* 802E2D70 002DE9D0 38 60 00 00 */ li r3, 0
+lbl_802E2D74:
+/* 802E2D74 002DE9D4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E2D78 002DE9D8 4B EE 43 F1 */ bl _restgpr_24
+/* 802E2D7C 002DE9DC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E2D80 002DE9E0 7C 08 03 A6 */ mtlr r0
+/* 802E2D84 002DE9E4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E2D88 002DE9E8 4E 80 00 20 */ blr
+
+.global find_uuid_in_seq
+find_uuid_in_seq:
+/* 802E2D8C 002DE9EC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E2D90 002DE9F0 7C 08 02 A6 */ mflr r0
+/* 802E2D94 002DE9F4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E2D98 002DE9F8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E2D9C 002DE9FC 4B EE 43 89 */ bl _savegpr_26
+/* 802E2DA0 002DEA00 2C 07 00 03 */ cmpwi r7, 3
+/* 802E2DA4 002DEA04 7C 7A 1B 78 */ mr r26, r3
+/* 802E2DA8 002DEA08 7C BB 2B 78 */ mr r27, r5
+/* 802E2DAC 002DEA0C 7C DC 33 78 */ mr r28, r6
+/* 802E2DB0 002DEA10 7C FD 3B 78 */ mr r29, r7
+/* 802E2DB4 002DEA14 7F E3 22 14 */ add r31, r3, r4
+/* 802E2DB8 002DEA18 40 81 00 88 */ ble lbl_802E2E40
+/* 802E2DBC 002DEA1C 38 60 00 00 */ li r3, 0
+/* 802E2DC0 002DEA20 48 00 00 8C */ b lbl_802E2E4C
+/* 802E2DC4 002DEA24 48 00 00 7C */ b lbl_802E2E40
+lbl_802E2DC8:
+/* 802E2DC8 002DEA28 8B DA 00 00 */ lbz r30, 0(r26)
+/* 802E2DCC 002DEA2C 38 7A 00 01 */ addi r3, r26, 1
+/* 802E2DD0 002DEA30 38 A1 00 08 */ addi r5, r1, 8
+/* 802E2DD4 002DEA34 7F C4 F3 78 */ mr r4, r30
+/* 802E2DD8 002DEA38 48 00 41 75 */ bl sdpu_get_len_from_type
+/* 802E2DDC 002DEA3C 57 C0 EE FE */ rlwinm r0, r30, 0x1d, 0x1b, 0x1f
+/* 802E2DE0 002DEA40 7C 7A 1B 78 */ mr r26, r3
+/* 802E2DE4 002DEA44 28 00 00 03 */ cmplwi r0, 3
+/* 802E2DE8 002DEA48 40 82 00 24 */ bne lbl_802E2E0C
+/* 802E2DEC 002DEA4C 80 81 00 08 */ lwz r4, 8(r1)
+/* 802E2DF0 002DEA50 7F 65 DB 78 */ mr r5, r27
+/* 802E2DF4 002DEA54 7F 86 E3 78 */ mr r6, r28
+/* 802E2DF8 002DEA58 48 00 43 05 */ bl sdpu_compare_uuid_arrays
+/* 802E2DFC 002DEA5C 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2E00 002DEA60 41 82 00 38 */ beq lbl_802E2E38
+/* 802E2E04 002DEA64 38 60 00 01 */ li r3, 1
+/* 802E2E08 002DEA68 48 00 00 44 */ b lbl_802E2E4C
+lbl_802E2E0C:
+/* 802E2E0C 002DEA6C 28 00 00 06 */ cmplwi r0, 6
+/* 802E2E10 002DEA70 40 82 00 28 */ bne lbl_802E2E38
+/* 802E2E14 002DEA74 80 81 00 08 */ lwz r4, 8(r1)
+/* 802E2E18 002DEA78 7F 65 DB 78 */ mr r5, r27
+/* 802E2E1C 002DEA7C 7F 86 E3 78 */ mr r6, r28
+/* 802E2E20 002DEA80 38 FD 00 01 */ addi r7, r29, 1
+/* 802E2E24 002DEA84 4B FF FF 69 */ bl find_uuid_in_seq
+/* 802E2E28 002DEA88 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E2E2C 002DEA8C 41 82 00 0C */ beq lbl_802E2E38
+/* 802E2E30 002DEA90 38 60 00 01 */ li r3, 1
+/* 802E2E34 002DEA94 48 00 00 18 */ b lbl_802E2E4C
+lbl_802E2E38:
+/* 802E2E38 002DEA98 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E2E3C 002DEA9C 7F 5A 02 14 */ add r26, r26, r0
+lbl_802E2E40:
+/* 802E2E40 002DEAA0 7C 1A F8 40 */ cmplw r26, r31
+/* 802E2E44 002DEAA4 41 80 FF 84 */ blt lbl_802E2DC8
+/* 802E2E48 002DEAA8 38 60 00 00 */ li r3, 0
+lbl_802E2E4C:
+/* 802E2E4C 002DEAAC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E2E50 002DEAB0 4B EE 43 21 */ bl _restgpr_26
+/* 802E2E54 002DEAB4 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E2E58 002DEAB8 7C 08 03 A6 */ mtlr r0
+/* 802E2E5C 002DEABC 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E2E60 002DEAC0 4E 80 00 20 */ blr
+
+.global sdp_db_find_record
+sdp_db_find_record:
+/* 802E2E64 002DEAC4 3C A0 80 57 */ lis r5, lbl_8056C840@ha
+/* 802E2E68 002DEAC8 38 00 02 98 */ li r0, 0x298
+/* 802E2E6C 002DEACC 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
+/* 802E2E70 002DEAD0 A0 85 12 22 */ lhz r4, 0x1222(r5)
+/* 802E2E74 002DEAD4 38 C5 12 24 */ addi r6, r5, 0x1224
+/* 802E2E78 002DEAD8 1C 84 02 98 */ mulli r4, r4, 0x298
+/* 802E2E7C 002DEADC 7C 85 22 14 */ add r4, r5, r4
+/* 802E2E80 002DEAE0 38 A4 12 24 */ addi r5, r4, 0x1224
+/* 802E2E84 002DEAE4 38 85 02 97 */ addi r4, r5, 0x297
+/* 802E2E88 002DEAE8 7C 86 20 50 */ subf r4, r6, r4
+/* 802E2E8C 002DEAEC 7C 84 03 96 */ divwu r4, r4, r0
+/* 802E2E90 002DEAF0 7C 89 03 A6 */ mtctr r4
+/* 802E2E94 002DEAF4 7C 06 28 40 */ cmplw r6, r5
+/* 802E2E98 002DEAF8 40 80 00 20 */ bge lbl_802E2EB8
+lbl_802E2E9C:
+/* 802E2E9C 002DEAFC 80 06 00 00 */ lwz r0, 0(r6)
+/* 802E2EA0 002DEB00 7C 00 18 40 */ cmplw r0, r3
+/* 802E2EA4 002DEB04 40 82 00 0C */ bne lbl_802E2EB0
+/* 802E2EA8 002DEB08 7C C3 33 78 */ mr r3, r6
+/* 802E2EAC 002DEB0C 4E 80 00 20 */ blr
+lbl_802E2EB0:
+/* 802E2EB0 002DEB10 38 C6 02 98 */ addi r6, r6, 0x298
+/* 802E2EB4 002DEB14 42 00 FF E8 */ bdnz lbl_802E2E9C
+lbl_802E2EB8:
+/* 802E2EB8 002DEB18 38 60 00 00 */ li r3, 0
+/* 802E2EBC 002DEB1C 4E 80 00 20 */ blr
+
+.global sdp_db_find_attr_in_rec
+sdp_db_find_attr_in_rec:
+/* 802E2EC0 002DEB20 A0 C3 00 08 */ lhz r6, 8(r3)
+/* 802E2EC4 002DEB24 38 63 00 0C */ addi r3, r3, 0xc
+/* 802E2EC8 002DEB28 38 E0 00 00 */ li r7, 0
+/* 802E2ECC 002DEB2C 48 00 00 20 */ b lbl_802E2EEC
+lbl_802E2ED0:
+/* 802E2ED0 002DEB30 A0 03 00 08 */ lhz r0, 8(r3)
+/* 802E2ED4 002DEB34 7C 00 20 40 */ cmplw r0, r4
+/* 802E2ED8 002DEB38 41 80 00 0C */ blt lbl_802E2EE4
+/* 802E2EDC 002DEB3C 7C 00 28 40 */ cmplw r0, r5
+/* 802E2EE0 002DEB40 4C 81 00 20 */ blelr
+lbl_802E2EE4:
+/* 802E2EE4 002DEB44 38 E7 00 01 */ addi r7, r7, 1
+/* 802E2EE8 002DEB48 38 63 00 0C */ addi r3, r3, 0xc
+lbl_802E2EEC:
+/* 802E2EEC 002DEB4C 54 E0 04 3E */ clrlwi r0, r7, 0x10
+/* 802E2EF0 002DEB50 7C 00 30 40 */ cmplw r0, r6
+/* 802E2EF4 002DEB54 41 80 FF DC */ blt lbl_802E2ED0
+/* 802E2EF8 002DEB58 38 60 00 00 */ li r3, 0
+/* 802E2EFC 002DEB5C 4E 80 00 20 */ blr
+
+.global SDP_CreateRecord
+SDP_CreateRecord:
+/* 802E2F00 002DEB60 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E2F04 002DEB64 7C 08 02 A6 */ mflr r0
+/* 802E2F08 002DEB68 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E2F0C 002DEB6C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E2F10 002DEB70 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E2F14 002DEB74 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E2F18 002DEB78 3B E3 12 1C */ addi r31, r3, 0x121c
+/* 802E2F1C 002DEB7C A0 03 12 22 */ lhz r0, 0x1222(r3)
+/* 802E2F20 002DEB80 28 00 00 14 */ cmplwi r0, 0x14
+/* 802E2F24 002DEB84 40 80 00 A4 */ bge lbl_802E2FC8
+/* 802E2F28 002DEB88 1C 00 02 98 */ mulli r0, r0, 0x298
+/* 802E2F2C 002DEB8C 38 80 00 00 */ li r4, 0
+/* 802E2F30 002DEB90 38 A0 02 98 */ li r5, 0x298
+/* 802E2F34 002DEB94 7C 7F 02 14 */ add r3, r31, r0
+/* 802E2F38 002DEB98 38 63 00 08 */ addi r3, r3, 8
+/* 802E2F3C 002DEB9C 4B D2 11 C9 */ bl memset
+/* 802E2F40 002DEBA0 A0 9F 00 06 */ lhz r4, 6(r31)
+/* 802E2F44 002DEBA4 2C 04 00 00 */ cmpwi r4, 0
+/* 802E2F48 002DEBA8 41 82 00 1C */ beq lbl_802E2F64
+/* 802E2F4C 002DEBAC 38 04 FF FF */ addi r0, r4, -1
+/* 802E2F50 002DEBB0 1C 00 02 98 */ mulli r0, r0, 0x298
+/* 802E2F54 002DEBB4 7C 7F 02 14 */ add r3, r31, r0
+/* 802E2F58 002DEBB8 80 63 00 08 */ lwz r3, 8(r3)
+/* 802E2F5C 002DEBBC 38 63 00 01 */ addi r3, r3, 1
+/* 802E2F60 002DEBC0 48 00 00 08 */ b lbl_802E2F68
+lbl_802E2F64:
+/* 802E2F64 002DEBC4 3C 60 00 01 */ lis r3, 1
+lbl_802E2F68:
+/* 802E2F68 002DEBC8 1C 84 02 98 */ mulli r4, r4, 0x298
+/* 802E2F6C 002DEBCC 54 60 46 3E */ srwi r0, r3, 0x18
+/* 802E2F70 002DEBD0 54 66 86 3E */ rlwinm r6, r3, 0x10, 0x18, 0x1f
+/* 802E2F74 002DEBD4 98 01 00 08 */ stb r0, 8(r1)
+/* 802E2F78 002DEBD8 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
+/* 802E2F7C 002DEBDC 7C 9F 22 14 */ add r4, r31, r4
+/* 802E2F80 002DEBE0 90 64 00 08 */ stw r3, 8(r4)
+/* 802E2F84 002DEBE4 38 E1 00 08 */ addi r7, r1, 8
+/* 802E2F88 002DEBE8 38 80 00 00 */ li r4, 0
+/* 802E2F8C 002DEBEC 38 A0 00 01 */ li r5, 1
+/* 802E2F90 002DEBF0 A1 1F 00 06 */ lhz r8, 6(r31)
+/* 802E2F94 002DEBF4 98 C1 00 09 */ stb r6, 9(r1)
+/* 802E2F98 002DEBF8 38 C0 00 04 */ li r6, 4
+/* 802E2F9C 002DEBFC 39 08 00 01 */ addi r8, r8, 1
+/* 802E2FA0 002DEC00 B1 1F 00 06 */ sth r8, 6(r31)
+/* 802E2FA4 002DEC04 98 01 00 0A */ stb r0, 0xa(r1)
+/* 802E2FA8 002DEC08 98 61 00 0B */ stb r3, 0xb(r1)
+/* 802E2FAC 002DEC0C 48 00 01 49 */ bl SDP_AddAttribute
+/* 802E2FB0 002DEC10 A0 7F 00 06 */ lhz r3, 6(r31)
+/* 802E2FB4 002DEC14 38 03 FF FF */ addi r0, r3, -1
+/* 802E2FB8 002DEC18 1C 00 02 98 */ mulli r0, r0, 0x298
+/* 802E2FBC 002DEC1C 7C 7F 02 14 */ add r3, r31, r0
+/* 802E2FC0 002DEC20 80 63 00 08 */ lwz r3, 8(r3)
+/* 802E2FC4 002DEC24 48 00 00 08 */ b lbl_802E2FCC
+lbl_802E2FC8:
+/* 802E2FC8 002DEC28 38 60 00 00 */ li r3, 0
+lbl_802E2FCC:
+/* 802E2FCC 002DEC2C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E2FD0 002DEC30 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E2FD4 002DEC34 7C 08 03 A6 */ mtlr r0
+/* 802E2FD8 002DEC38 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E2FDC 002DEC3C 4E 80 00 20 */ blr
+
+.global SDP_DeleteRecord
+SDP_DeleteRecord:
+/* 802E2FE0 002DEC40 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E2FE4 002DEC44 2C 03 00 00 */ cmpwi r3, 0
+/* 802E2FE8 002DEC48 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E2FEC 002DEC4C 39 44 12 24 */ addi r10, r4, 0x1224
+/* 802E2FF0 002DEC50 41 82 00 10 */ beq lbl_802E3000
+/* 802E2FF4 002DEC54 A0 84 12 22 */ lhz r4, 0x1222(r4)
+/* 802E2FF8 002DEC58 2C 04 00 00 */ cmpwi r4, 0
+/* 802E2FFC 002DEC5C 40 82 00 24 */ bne lbl_802E3020
+lbl_802E3000:
+/* 802E3000 002DEC60 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E3004 002DEC64 38 00 00 00 */ li r0, 0
+/* 802E3008 002DEC68 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E300C 002DEC6C 38 60 00 01 */ li r3, 1
+/* 802E3010 002DEC70 B0 04 12 22 */ sth r0, 0x1222(r4)
+/* 802E3014 002DEC74 90 04 12 1C */ stw r0, 0x121c(r4)
+/* 802E3018 002DEC78 98 04 12 20 */ stb r0, 0x1220(r4)
+/* 802E301C 002DEC7C 4E 80 00 20 */ blr
+lbl_802E3020:
+/* 802E3020 002DEC80 39 20 00 00 */ li r9, 0
+/* 802E3024 002DEC84 48 00 00 BC */ b lbl_802E30E0
+lbl_802E3028:
+/* 802E3028 002DEC88 80 0A 00 00 */ lwz r0, 0(r10)
+/* 802E302C 002DEC8C 7C 00 18 40 */ cmplw r0, r3
+/* 802E3030 002DEC90 40 82 00 A8 */ bne lbl_802E30D8
+/* 802E3034 002DEC94 3C A0 80 57 */ lis r5, lbl_8056C840@ha
+/* 802E3038 002DEC98 38 E0 00 53 */ li r7, 0x53
+/* 802E303C 002DEC9C 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
+/* 802E3040 002DECA0 48 00 00 60 */ b lbl_802E30A0
+lbl_802E3044:
+/* 802E3044 002DECA4 39 0A FF FC */ addi r8, r10, -4
+/* 802E3048 002DECA8 38 CA 02 94 */ addi r6, r10, 0x294
+/* 802E304C 002DECAC 7C E9 03 A6 */ mtctr r7
+lbl_802E3050:
+/* 802E3050 002DECB0 80 86 00 04 */ lwz r4, 4(r6)
+/* 802E3054 002DECB4 84 06 00 08 */ lwzu r0, 8(r6)
+/* 802E3058 002DECB8 90 88 00 04 */ stw r4, 4(r8)
+/* 802E305C 002DECBC 94 08 00 08 */ stwu r0, 8(r8)
+/* 802E3060 002DECC0 42 00 FF F0 */ bdnz lbl_802E3050
+/* 802E3064 002DECC4 39 00 00 00 */ li r8, 0
+/* 802E3068 002DECC8 48 00 00 20 */ b lbl_802E3088
+lbl_802E306C:
+/* 802E306C 002DECCC 55 00 04 3E */ clrlwi r0, r8, 0x10
+/* 802E3070 002DECD0 39 08 00 01 */ addi r8, r8, 1
+/* 802E3074 002DECD4 1C 00 00 0C */ mulli r0, r0, 0xc
+/* 802E3078 002DECD8 7C CA 02 14 */ add r6, r10, r0
+/* 802E307C 002DECDC 80 86 00 10 */ lwz r4, 0x10(r6)
+/* 802E3080 002DECE0 38 04 FD 68 */ addi r0, r4, -664
+/* 802E3084 002DECE4 90 06 00 10 */ stw r0, 0x10(r6)
+lbl_802E3088:
+/* 802E3088 002DECE8 A0 0A 00 08 */ lhz r0, 8(r10)
+/* 802E308C 002DECEC 55 04 04 3E */ clrlwi r4, r8, 0x10
+/* 802E3090 002DECF0 7C 04 00 40 */ cmplw r4, r0
+/* 802E3094 002DECF4 41 80 FF D8 */ blt lbl_802E306C
+/* 802E3098 002DECF8 39 29 00 01 */ addi r9, r9, 1
+/* 802E309C 002DECFC 39 4A 02 98 */ addi r10, r10, 0x298
+lbl_802E30A0:
+/* 802E30A0 002DED00 A0 85 12 22 */ lhz r4, 0x1222(r5)
+/* 802E30A4 002DED04 55 20 04 3E */ clrlwi r0, r9, 0x10
+/* 802E30A8 002DED08 7C 00 20 40 */ cmplw r0, r4
+/* 802E30AC 002DED0C 41 80 FF 98 */ blt lbl_802E3044
+/* 802E30B0 002DED10 80 05 12 1C */ lwz r0, 0x121c(r5)
+/* 802E30B4 002DED14 38 84 FF FF */ addi r4, r4, -1
+/* 802E30B8 002DED18 B0 85 12 22 */ sth r4, 0x1222(r5)
+/* 802E30BC 002DED1C 7C 00 18 40 */ cmplw r0, r3
+/* 802E30C0 002DED20 40 82 00 10 */ bne lbl_802E30D0
+/* 802E30C4 002DED24 38 00 00 00 */ li r0, 0
+/* 802E30C8 002DED28 90 05 12 1C */ stw r0, 0x121c(r5)
+/* 802E30CC 002DED2C 98 05 12 20 */ stb r0, 0x1220(r5)
+lbl_802E30D0:
+/* 802E30D0 002DED30 38 60 00 01 */ li r3, 1
+/* 802E30D4 002DED34 4E 80 00 20 */ blr
+lbl_802E30D8:
+/* 802E30D8 002DED38 39 29 00 01 */ addi r9, r9, 1
+/* 802E30DC 002DED3C 39 4A 02 98 */ addi r10, r10, 0x298
+lbl_802E30E0:
+/* 802E30E0 002DED40 55 20 04 3E */ clrlwi r0, r9, 0x10
+/* 802E30E4 002DED44 7C 00 20 40 */ cmplw r0, r4
+/* 802E30E8 002DED48 41 80 FF 40 */ blt lbl_802E3028
+/* 802E30EC 002DED4C 38 60 00 00 */ li r3, 0
+/* 802E30F0 002DED50 4E 80 00 20 */ blr
+
+.global SDP_AddAttribute
+SDP_AddAttribute:
+/* 802E30F4 002DED54 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E30F8 002DED58 7C 08 02 A6 */ mflr r0
+/* 802E30FC 002DED5C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E3100 002DED60 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E3104 002DED64 4B EE 40 15 */ bl _savegpr_23
+/* 802E3108 002DED68 3D 00 80 57 */ lis r8, lbl_8056C840@ha
+/* 802E310C 002DED6C 7C BA 2B 78 */ mr r26, r5
+/* 802E3110 002DED70 39 08 C8 40 */ addi r8, r8, lbl_8056C840@l
+/* 802E3114 002DED74 7C 78 1B 78 */ mr r24, r3
+/* 802E3118 002DED78 A1 28 12 22 */ lhz r9, 0x1222(r8)
+/* 802E311C 002DED7C 7C 99 23 78 */ mr r25, r4
+/* 802E3120 002DED80 7C DB 33 78 */ mr r27, r6
+/* 802E3124 002DED84 7C FC 3B 78 */ mr r28, r7
+/* 802E3128 002DED88 3B C8 12 24 */ addi r30, r8, 0x1224
+/* 802E312C 002DED8C 38 A0 00 00 */ li r5, 0
+/* 802E3130 002DED90 48 00 03 34 */ b lbl_802E3464
+lbl_802E3134:
+/* 802E3134 002DED94 80 1E 00 00 */ lwz r0, 0(r30)
+/* 802E3138 002DED98 7C 00 18 40 */ cmplw r0, r3
+/* 802E313C 002DED9C 40 82 03 20 */ bne lbl_802E345C
+/* 802E3140 002DEDA0 A0 7E 00 08 */ lhz r3, 8(r30)
+/* 802E3144 002DEDA4 3B BE 00 0C */ addi r29, r30, 0xc
+/* 802E3148 002DEDA8 3B E0 00 00 */ li r31, 0
+/* 802E314C 002DEDAC 48 00 00 2C */ b lbl_802E3178
+lbl_802E3150:
+/* 802E3150 002DEDB0 A0 1D 00 08 */ lhz r0, 8(r29)
+/* 802E3154 002DEDB4 7C 00 20 40 */ cmplw r0, r4
+/* 802E3158 002DEDB8 40 82 00 14 */ bne lbl_802E316C
+/* 802E315C 002DEDBC 7F 03 C3 78 */ mr r3, r24
+/* 802E3160 002DEDC0 7F 24 CB 78 */ mr r4, r25
+/* 802E3164 002DEDC4 48 00 05 7D */ bl SDP_DeleteAttribute
+/* 802E3168 002DEDC8 48 00 00 1C */ b lbl_802E3184
+lbl_802E316C:
+/* 802E316C 002DEDCC 41 81 00 18 */ bgt lbl_802E3184
+/* 802E3170 002DEDD0 3B FF 00 01 */ addi r31, r31, 1
+/* 802E3174 002DEDD4 3B BD 00 0C */ addi r29, r29, 0xc
+lbl_802E3178:
+/* 802E3178 002DEDD8 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 802E317C 002DEDDC 7C 00 18 40 */ cmplw r0, r3
+/* 802E3180 002DEDE0 41 80 FF D0 */ blt lbl_802E3150
+lbl_802E3184:
+/* 802E3184 002DEDE4 A0 BE 00 08 */ lhz r5, 8(r30)
+/* 802E3188 002DEDE8 28 05 00 19 */ cmplwi r5, 0x19
+/* 802E318C 002DEDEC 40 82 00 0C */ bne lbl_802E3198
+/* 802E3190 002DEDF0 38 60 00 00 */ li r3, 0
+/* 802E3194 002DEDF4 48 00 02 E0 */ b lbl_802E3474
+lbl_802E3198:
+/* 802E3198 002DEDF8 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 802E319C 002DEDFC 7C 00 28 40 */ cmplw r0, r5
+/* 802E31A0 002DEE00 40 82 00 14 */ bne lbl_802E31B4
+/* 802E31A4 002DEE04 1C 05 00 0C */ mulli r0, r5, 0xc
+/* 802E31A8 002DEE08 7C 7E 02 14 */ add r3, r30, r0
+/* 802E31AC 002DEE0C 3B A3 00 0C */ addi r29, r3, 0xc
+/* 802E31B0 002DEE10 48 00 01 C8 */ b lbl_802E3378
+lbl_802E31B4:
+/* 802E31B4 002DEE14 7C 85 00 40 */ cmplw cr1, r5, r0
+/* 802E31B8 002DEE18 40 85 01 C0 */ ble cr1, lbl_802E3378
+/* 802E31BC 002DEE1C 7C 1F 28 50 */ subf r0, r31, r5
+/* 802E31C0 002DEE20 38 7F 00 08 */ addi r3, r31, 8
+/* 802E31C4 002DEE24 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E31C8 002DEE28 28 00 00 08 */ cmplwi r0, 8
+/* 802E31CC 002DEE2C 40 81 01 68 */ ble lbl_802E3334
+/* 802E31D0 002DEE30 41 84 01 64 */ blt cr1, lbl_802E3334
+/* 802E31D4 002DEE34 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E31D8 002DEE38 38 05 00 07 */ addi r0, r5, 7
+/* 802E31DC 002DEE3C 7C 03 00 50 */ subf r0, r3, r0
+/* 802E31E0 002DEE40 54 00 E8 FE */ srwi r0, r0, 3
+/* 802E31E4 002DEE44 7C 09 03 A6 */ mtctr r0
+/* 802E31E8 002DEE48 7C 05 18 40 */ cmplw r5, r3
+/* 802E31EC 002DEE4C 40 81 01 48 */ ble lbl_802E3334
+lbl_802E31F0:
+/* 802E31F0 002DEE50 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 802E31F4 002DEE54 3C 65 00 01 */ addis r3, r5, 1
+/* 802E31F8 002DEE58 1C 80 00 0C */ mulli r4, r0, 0xc
+/* 802E31FC 002DEE5C 7D 24 F0 6E */ lwzux r9, r4, r30
+/* 802E3200 002DEE60 38 C3 FF FF */ addi r6, r3, -1
+/* 802E3204 002DEE64 38 03 FF FE */ addi r0, r3, -2
+/* 802E3208 002DEE68 80 E4 00 04 */ lwz r7, 4(r4)
+/* 802E320C 002DEE6C 54 C6 04 3E */ clrlwi r6, r6, 0x10
+/* 802E3210 002DEE70 1D 06 00 0C */ mulli r8, r6, 0xc
+/* 802E3214 002DEE74 38 A5 FF F8 */ addi r5, r5, -8
+/* 802E3218 002DEE78 91 24 00 0C */ stw r9, 0xc(r4)
+/* 802E321C 002DEE7C 54 06 04 3E */ clrlwi r6, r0, 0x10
+/* 802E3220 002DEE80 38 03 FF FD */ addi r0, r3, -3
+/* 802E3224 002DEE84 90 E4 00 10 */ stw r7, 0x10(r4)
+/* 802E3228 002DEE88 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E322C 002DEE8C 7E FE 42 14 */ add r23, r30, r8
+/* 802E3230 002DEE90 81 64 00 08 */ lwz r11, 8(r4)
+/* 802E3234 002DEE94 1D 46 00 0C */ mulli r10, r6, 0xc
+/* 802E3238 002DEE98 38 C3 FF FC */ addi r6, r3, -4
+/* 802E323C 002DEE9C 91 64 00 14 */ stw r11, 0x14(r4)
+/* 802E3240 002DEEA0 1D 20 00 0C */ mulli r9, r0, 0xc
+/* 802E3244 002DEEA4 38 03 FF FB */ addi r0, r3, -5
+/* 802E3248 002DEEA8 7D 9E 40 2E */ lwzx r12, r30, r8
+/* 802E324C 002DEEAC 54 C6 04 3E */ clrlwi r6, r6, 0x10
+/* 802E3250 002DEEB0 81 77 00 04 */ lwz r11, 4(r23)
+/* 802E3254 002DEEB4 54 07 04 3E */ clrlwi r7, r0, 0x10
+/* 802E3258 002DEEB8 91 84 00 00 */ stw r12, 0(r4)
+/* 802E325C 002DEEBC 7D 9E 52 14 */ add r12, r30, r10
+/* 802E3260 002DEEC0 38 03 FF FA */ addi r0, r3, -6
+/* 802E3264 002DEEC4 7D 5E 4A 14 */ add r10, r30, r9
+/* 802E3268 002DEEC8 1D 06 00 0C */ mulli r8, r6, 0xc
+/* 802E326C 002DEECC 91 64 00 04 */ stw r11, 4(r4)
+/* 802E3270 002DEED0 54 06 04 3E */ clrlwi r6, r0, 0x10
+/* 802E3274 002DEED4 38 03 FF F9 */ addi r0, r3, -7
+/* 802E3278 002DEED8 1C 66 00 0C */ mulli r3, r6, 0xc
+/* 802E327C 002DEEDC 80 D7 00 08 */ lwz r6, 8(r23)
+/* 802E3280 002DEEE0 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E3284 002DEEE4 90 C4 00 08 */ stw r6, 8(r4)
+/* 802E3288 002DEEE8 7D 3E 42 14 */ add r9, r30, r8
+/* 802E328C 002DEEEC 1C E7 00 0C */ mulli r7, r7, 0xc
+/* 802E3290 002DEEF0 81 6C 00 00 */ lwz r11, 0(r12)
+/* 802E3294 002DEEF4 7D 1E 3A 14 */ add r8, r30, r7
+/* 802E3298 002DEEF8 7C FE 1A 14 */ add r7, r30, r3
+/* 802E329C 002DEEFC 80 6C 00 04 */ lwz r3, 4(r12)
+/* 802E32A0 002DEF00 1C 00 00 0C */ mulli r0, r0, 0xc
+/* 802E32A4 002DEF04 91 64 FF F4 */ stw r11, -0xc(r4)
+/* 802E32A8 002DEF08 90 64 FF F8 */ stw r3, -8(r4)
+/* 802E32AC 002DEF0C 7C DE 02 14 */ add r6, r30, r0
+/* 802E32B0 002DEF10 80 0C 00 08 */ lwz r0, 8(r12)
+/* 802E32B4 002DEF14 90 04 FF FC */ stw r0, -4(r4)
+/* 802E32B8 002DEF18 80 6A 00 00 */ lwz r3, 0(r10)
+/* 802E32BC 002DEF1C 80 0A 00 04 */ lwz r0, 4(r10)
+/* 802E32C0 002DEF20 90 64 FF E8 */ stw r3, -0x18(r4)
+/* 802E32C4 002DEF24 90 04 FF EC */ stw r0, -0x14(r4)
+/* 802E32C8 002DEF28 80 0A 00 08 */ lwz r0, 8(r10)
+/* 802E32CC 002DEF2C 90 04 FF F0 */ stw r0, -0x10(r4)
+/* 802E32D0 002DEF30 80 69 00 00 */ lwz r3, 0(r9)
+/* 802E32D4 002DEF34 80 09 00 04 */ lwz r0, 4(r9)
+/* 802E32D8 002DEF38 90 64 FF DC */ stw r3, -0x24(r4)
+/* 802E32DC 002DEF3C 90 04 FF E0 */ stw r0, -0x20(r4)
+/* 802E32E0 002DEF40 80 09 00 08 */ lwz r0, 8(r9)
+/* 802E32E4 002DEF44 90 04 FF E4 */ stw r0, -0x1c(r4)
+/* 802E32E8 002DEF48 80 68 00 00 */ lwz r3, 0(r8)
+/* 802E32EC 002DEF4C 80 08 00 04 */ lwz r0, 4(r8)
+/* 802E32F0 002DEF50 90 64 FF D0 */ stw r3, -0x30(r4)
+/* 802E32F4 002DEF54 90 04 FF D4 */ stw r0, -0x2c(r4)
+/* 802E32F8 002DEF58 80 08 00 08 */ lwz r0, 8(r8)
+/* 802E32FC 002DEF5C 90 04 FF D8 */ stw r0, -0x28(r4)
+/* 802E3300 002DEF60 80 67 00 00 */ lwz r3, 0(r7)
+/* 802E3304 002DEF64 80 07 00 04 */ lwz r0, 4(r7)
+/* 802E3308 002DEF68 90 64 FF C4 */ stw r3, -0x3c(r4)
+/* 802E330C 002DEF6C 90 04 FF C8 */ stw r0, -0x38(r4)
+/* 802E3310 002DEF70 80 07 00 08 */ lwz r0, 8(r7)
+/* 802E3314 002DEF74 90 04 FF CC */ stw r0, -0x34(r4)
+/* 802E3318 002DEF78 80 66 00 00 */ lwz r3, 0(r6)
+/* 802E331C 002DEF7C 80 06 00 04 */ lwz r0, 4(r6)
+/* 802E3320 002DEF80 90 64 FF B8 */ stw r3, -0x48(r4)
+/* 802E3324 002DEF84 90 04 FF BC */ stw r0, -0x44(r4)
+/* 802E3328 002DEF88 80 06 00 08 */ lwz r0, 8(r6)
+/* 802E332C 002DEF8C 90 04 FF C0 */ stw r0, -0x40(r4)
+/* 802E3330 002DEF90 42 00 FE C0 */ bdnz lbl_802E31F0
+lbl_802E3334:
+/* 802E3334 002DEF94 57 E3 04 3E */ clrlwi r3, r31, 0x10
+/* 802E3338 002DEF98 54 A4 04 3E */ clrlwi r4, r5, 0x10
+/* 802E333C 002DEF9C 7C 03 20 50 */ subf r0, r3, r4
+/* 802E3340 002DEFA0 7C 09 03 A6 */ mtctr r0
+/* 802E3344 002DEFA4 7C 04 18 40 */ cmplw r4, r3
+/* 802E3348 002DEFA8 40 81 00 30 */ ble lbl_802E3378
+lbl_802E334C:
+/* 802E334C 002DEFAC 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 802E3350 002DEFB0 38 A5 FF FF */ addi r5, r5, -1
+/* 802E3354 002DEFB4 1C 00 00 0C */ mulli r0, r0, 0xc
+/* 802E3358 002DEFB8 7C 9E 02 14 */ add r4, r30, r0
+/* 802E335C 002DEFBC 7C 7E 00 2E */ lwzx r3, r30, r0
+/* 802E3360 002DEFC0 80 04 00 04 */ lwz r0, 4(r4)
+/* 802E3364 002DEFC4 90 64 00 0C */ stw r3, 0xc(r4)
+/* 802E3368 002DEFC8 90 04 00 10 */ stw r0, 0x10(r4)
+/* 802E336C 002DEFCC 80 04 00 08 */ lwz r0, 8(r4)
+/* 802E3370 002DEFD0 90 04 00 14 */ stw r0, 0x14(r4)
+/* 802E3374 002DEFD4 42 00 FF D8 */ bdnz lbl_802E334C
+lbl_802E3378:
+/* 802E3378 002DEFD8 A0 7E 00 08 */ lhz r3, 8(r30)
+/* 802E337C 002DEFDC 38 03 00 01 */ addi r0, r3, 1
+/* 802E3380 002DEFE0 B0 1E 00 08 */ sth r0, 8(r30)
+/* 802E3384 002DEFE4 B3 3D 00 08 */ sth r25, 8(r29)
+/* 802E3388 002DEFE8 93 7D 00 00 */ stw r27, 0(r29)
+/* 802E338C 002DEFEC 9B 5D 00 0A */ stb r26, 0xa(r29)
+/* 802E3390 002DEFF0 80 DE 00 04 */ lwz r6, 4(r30)
+/* 802E3394 002DEFF4 7C 06 DA 14 */ add r0, r6, r27
+/* 802E3398 002DEFF8 28 00 01 5E */ cmplwi r0, 0x15e
+/* 802E339C 002DEFFC 41 80 00 50 */ blt lbl_802E33EC
+/* 802E33A0 002DF000 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E33A4 002DF004 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E33A8 002DF008 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E33AC 002DF00C 28 00 00 02 */ cmplwi r0, 2
+/* 802E33B0 002DF010 41 80 00 20 */ blt lbl_802E33D0
+/* 802E33B4 002DF014 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E33B8 002DF018 3C 80 80 44 */ lis r4, lbl_80444FB0@ha
+/* 802E33BC 002DF01C 7F 65 DB 78 */ mr r5, r27
+/* 802E33C0 002DF020 20 C6 01 5E */ subfic r6, r6, 0x15e
+/* 802E33C4 002DF024 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E33C8 002DF028 38 84 4F B0 */ addi r4, r4, lbl_80444FB0@l
+/* 802E33CC 002DF02C 4B FD 9B 75 */ bl LogMsg_2
+lbl_802E33D0:
+/* 802E33D0 002DF030 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802E33D4 002DF034 38 60 00 00 */ li r3, 0
+/* 802E33D8 002DF038 23 60 01 5E */ subfic r27, r0, 0x15e
+/* 802E33DC 002DF03C 7C 7C D9 AE */ stbx r3, r28, r27
+/* 802E33E0 002DF040 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802E33E4 002DF044 20 00 01 5F */ subfic r0, r0, 0x15f
+/* 802E33E8 002DF048 7C 7C 01 AE */ stbx r3, r28, r0
+lbl_802E33EC:
+/* 802E33EC 002DF04C 2C 1B 00 00 */ cmpwi r27, 0
+/* 802E33F0 002DF050 41 82 00 40 */ beq lbl_802E3430
+/* 802E33F4 002DF054 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E33F8 002DF058 41 82 00 38 */ beq lbl_802E3430
+/* 802E33FC 002DF05C 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802E3400 002DF060 7F 84 E3 78 */ mr r4, r28
+/* 802E3404 002DF064 7F 65 DB 78 */ mr r5, r27
+/* 802E3408 002DF068 7C 7E 02 14 */ add r3, r30, r0
+/* 802E340C 002DF06C 38 63 01 38 */ addi r3, r3, 0x138
+/* 802E3410 002DF070 4B D2 0B F1 */ bl memcpy
+/* 802E3414 002DF074 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802E3418 002DF078 7C 7E 02 14 */ add r3, r30, r0
+/* 802E341C 002DF07C 38 03 01 38 */ addi r0, r3, 0x138
+/* 802E3420 002DF080 90 1D 00 04 */ stw r0, 4(r29)
+/* 802E3424 002DF084 80 1E 00 04 */ lwz r0, 4(r30)
+/* 802E3428 002DF088 7C 00 DA 14 */ add r0, r0, r27
+/* 802E342C 002DF08C 90 1E 00 04 */ stw r0, 4(r30)
+lbl_802E3430:
+/* 802E3430 002DF090 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E3434 002DF094 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E3438 002DF098 80 03 12 1C */ lwz r0, 0x121c(r3)
+/* 802E343C 002DF09C 7C 18 00 40 */ cmplw r24, r0
+/* 802E3440 002DF0A0 40 82 00 14 */ bne lbl_802E3454
+/* 802E3444 002DF0A4 28 19 80 01 */ cmplwi r25, 0x8001
+/* 802E3448 002DF0A8 40 82 00 0C */ bne lbl_802E3454
+/* 802E344C 002DF0AC 38 00 00 01 */ li r0, 1
+/* 802E3450 002DF0B0 98 03 12 20 */ stb r0, 0x1220(r3)
+lbl_802E3454:
+/* 802E3454 002DF0B4 38 60 00 01 */ li r3, 1
+/* 802E3458 002DF0B8 48 00 00 1C */ b lbl_802E3474
+lbl_802E345C:
+/* 802E345C 002DF0BC 38 A5 00 01 */ addi r5, r5, 1
+/* 802E3460 002DF0C0 3B DE 02 98 */ addi r30, r30, 0x298
+lbl_802E3464:
+/* 802E3464 002DF0C4 54 A0 04 3E */ clrlwi r0, r5, 0x10
+/* 802E3468 002DF0C8 7C 00 48 40 */ cmplw r0, r9
+/* 802E346C 002DF0CC 41 80 FC C8 */ blt lbl_802E3134
+/* 802E3470 002DF0D0 38 60 00 00 */ li r3, 0
+lbl_802E3474:
+/* 802E3474 002DF0D4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E3478 002DF0D8 4B EE 3C ED */ bl _restgpr_23
+/* 802E347C 002DF0DC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E3480 002DF0E0 7C 08 03 A6 */ mtlr r0
+/* 802E3484 002DF0E4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E3488 002DF0E8 4E 80 00 20 */ blr
+
+.global SDP_AddUuidSequence
+SDP_AddUuidSequence:
+/* 802E348C 002DF0EC 94 21 FF 40 */ stwu r1, -0xc0(r1)
+/* 802E3490 002DF0F0 7C 08 02 A6 */ mflr r0
+/* 802E3494 002DF0F4 38 E0 00 00 */ li r7, 0
+/* 802E3498 002DF0F8 90 01 00 C4 */ stw r0, 0xc4(r1)
+/* 802E349C 002DF0FC 93 E1 00 BC */ stw r31, 0xbc(r1)
+/* 802E34A0 002DF100 3B E1 00 08 */ addi r31, r1, 8
+/* 802E34A4 002DF104 93 C1 00 B8 */ stw r30, 0xb8(r1)
+/* 802E34A8 002DF108 7C 9E 23 78 */ mr r30, r4
+/* 802E34AC 002DF10C 38 80 00 19 */ li r4, 0x19
+/* 802E34B0 002DF110 93 A1 00 B4 */ stw r29, 0xb4(r1)
+/* 802E34B4 002DF114 7C 7D 1B 78 */ mr r29, r3
+/* 802E34B8 002DF118 7F E3 FB 78 */ mr r3, r31
+/* 802E34BC 002DF11C 7C A9 03 A6 */ mtctr r5
+/* 802E34C0 002DF120 28 05 00 00 */ cmplwi r5, 0
+/* 802E34C4 002DF124 40 81 00 6C */ ble lbl_802E3530
+lbl_802E34C8:
+/* 802E34C8 002DF128 98 9F 00 00 */ stb r4, 0(r31)
+/* 802E34CC 002DF12C A0 06 00 00 */ lhz r0, 0(r6)
+/* 802E34D0 002DF130 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E34D4 002DF134 98 1F 00 01 */ stb r0, 1(r31)
+/* 802E34D8 002DF138 A0 06 00 00 */ lhz r0, 0(r6)
+/* 802E34DC 002DF13C 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E34E0 002DF140 3B FF 00 03 */ addi r31, r31, 3
+/* 802E34E4 002DF144 7C 03 F8 50 */ subf r0, r3, r31
+/* 802E34E8 002DF148 2C 00 00 4D */ cmpwi r0, 0x4d
+/* 802E34EC 002DF14C 40 81 00 38 */ ble lbl_802E3524
+/* 802E34F0 002DF150 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E34F4 002DF154 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E34F8 002DF158 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E34FC 002DF15C 28 00 00 02 */ cmplwi r0, 2
+/* 802E3500 002DF160 41 80 00 30 */ blt lbl_802E3530
+/* 802E3504 002DF164 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E3508 002DF168 3C 80 80 44 */ lis r4, lbl_80444FEC@ha
+/* 802E350C 002DF16C 7C A6 2B 78 */ mr r6, r5
+/* 802E3510 002DF170 54 E5 04 3E */ clrlwi r5, r7, 0x10
+/* 802E3514 002DF174 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E3518 002DF178 38 84 4F EC */ addi r4, r4, lbl_80444FEC@l
+/* 802E351C 002DF17C 4B FD 9A 25 */ bl LogMsg_2
+/* 802E3520 002DF180 48 00 00 10 */ b lbl_802E3530
+lbl_802E3524:
+/* 802E3524 002DF184 38 E7 00 01 */ addi r7, r7, 1
+/* 802E3528 002DF188 38 C6 00 02 */ addi r6, r6, 2
+/* 802E352C 002DF18C 42 00 FF 9C */ bdnz lbl_802E34C8
+lbl_802E3530:
+/* 802E3530 002DF190 38 E1 00 08 */ addi r7, r1, 8
+/* 802E3534 002DF194 7F A3 EB 78 */ mr r3, r29
+/* 802E3538 002DF198 7F C4 F3 78 */ mr r4, r30
+/* 802E353C 002DF19C 38 A0 00 06 */ li r5, 6
+/* 802E3540 002DF1A0 7C C7 F8 50 */ subf r6, r7, r31
+/* 802E3544 002DF1A4 4B FF FB B1 */ bl SDP_AddAttribute
+/* 802E3548 002DF1A8 80 01 00 C4 */ lwz r0, 0xc4(r1)
+/* 802E354C 002DF1AC 83 E1 00 BC */ lwz r31, 0xbc(r1)
+/* 802E3550 002DF1B0 83 C1 00 B8 */ lwz r30, 0xb8(r1)
+/* 802E3554 002DF1B4 83 A1 00 B4 */ lwz r29, 0xb4(r1)
+/* 802E3558 002DF1B8 7C 08 03 A6 */ mtlr r0
+/* 802E355C 002DF1BC 38 21 00 C0 */ addi r1, r1, 0xc0
+/* 802E3560 002DF1C0 4E 80 00 20 */ blr
+
+.global SDP_AddServiceClassIdList
+SDP_AddServiceClassIdList:
+/* 802E3564 002DF1C4 94 21 FF 50 */ stwu r1, -0xb0(r1)
+/* 802E3568 002DF1C8 7C 08 02 A6 */ mflr r0
+/* 802E356C 002DF1CC 2C 04 00 00 */ cmpwi r4, 0
+/* 802E3570 002DF1D0 38 C0 00 00 */ li r6, 0
+/* 802E3574 002DF1D4 90 01 00 B4 */ stw r0, 0xb4(r1)
+/* 802E3578 002DF1D8 39 01 00 08 */ addi r8, r1, 8
+/* 802E357C 002DF1DC 41 82 01 40 */ beq lbl_802E36BC
+/* 802E3580 002DF1E0 28 04 00 08 */ cmplwi r4, 8
+/* 802E3584 002DF1E4 3C E4 00 01 */ addis r7, r4, 1
+/* 802E3588 002DF1E8 38 E7 FF F8 */ addi r7, r7, -8
+/* 802E358C 002DF1EC 40 81 00 F0 */ ble lbl_802E367C
+/* 802E3590 002DF1F0 54 E9 04 3E */ clrlwi r9, r7, 0x10
+/* 802E3594 002DF1F4 38 00 00 19 */ li r0, 0x19
+/* 802E3598 002DF1F8 38 E9 00 07 */ addi r7, r9, 7
+/* 802E359C 002DF1FC 54 E7 E8 FE */ srwi r7, r7, 3
+/* 802E35A0 002DF200 7C E9 03 A6 */ mtctr r7
+/* 802E35A4 002DF204 28 09 00 00 */ cmplwi r9, 0
+/* 802E35A8 002DF208 40 81 00 D4 */ ble lbl_802E367C
+lbl_802E35AC:
+/* 802E35AC 002DF20C 98 08 00 00 */ stb r0, 0(r8)
+/* 802E35B0 002DF210 38 C6 00 08 */ addi r6, r6, 8
+/* 802E35B4 002DF214 A0 E5 00 00 */ lhz r7, 0(r5)
+/* 802E35B8 002DF218 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E35BC 002DF21C 98 E8 00 01 */ stb r7, 1(r8)
+/* 802E35C0 002DF220 A0 E5 00 00 */ lhz r7, 0(r5)
+/* 802E35C4 002DF224 98 E8 00 02 */ stb r7, 2(r8)
+/* 802E35C8 002DF228 98 08 00 03 */ stb r0, 3(r8)
+/* 802E35CC 002DF22C A0 E5 00 02 */ lhz r7, 2(r5)
+/* 802E35D0 002DF230 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E35D4 002DF234 98 E8 00 04 */ stb r7, 4(r8)
+/* 802E35D8 002DF238 A0 E5 00 02 */ lhz r7, 2(r5)
+/* 802E35DC 002DF23C 98 E8 00 05 */ stb r7, 5(r8)
+/* 802E35E0 002DF240 98 08 00 06 */ stb r0, 6(r8)
+/* 802E35E4 002DF244 A0 E5 00 04 */ lhz r7, 4(r5)
+/* 802E35E8 002DF248 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E35EC 002DF24C 98 E8 00 07 */ stb r7, 7(r8)
+/* 802E35F0 002DF250 A0 E5 00 04 */ lhz r7, 4(r5)
+/* 802E35F4 002DF254 98 E8 00 08 */ stb r7, 8(r8)
+/* 802E35F8 002DF258 98 08 00 09 */ stb r0, 9(r8)
+/* 802E35FC 002DF25C A0 E5 00 06 */ lhz r7, 6(r5)
+/* 802E3600 002DF260 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E3604 002DF264 98 E8 00 0A */ stb r7, 0xa(r8)
+/* 802E3608 002DF268 A0 E5 00 06 */ lhz r7, 6(r5)
+/* 802E360C 002DF26C 98 E8 00 0B */ stb r7, 0xb(r8)
+/* 802E3610 002DF270 98 08 00 0C */ stb r0, 0xc(r8)
+/* 802E3614 002DF274 A0 E5 00 08 */ lhz r7, 8(r5)
+/* 802E3618 002DF278 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E361C 002DF27C 98 E8 00 0D */ stb r7, 0xd(r8)
+/* 802E3620 002DF280 A0 E5 00 08 */ lhz r7, 8(r5)
+/* 802E3624 002DF284 98 E8 00 0E */ stb r7, 0xe(r8)
+/* 802E3628 002DF288 98 08 00 0F */ stb r0, 0xf(r8)
+/* 802E362C 002DF28C A0 E5 00 0A */ lhz r7, 0xa(r5)
+/* 802E3630 002DF290 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E3634 002DF294 98 E8 00 10 */ stb r7, 0x10(r8)
+/* 802E3638 002DF298 A0 E5 00 0A */ lhz r7, 0xa(r5)
+/* 802E363C 002DF29C 98 E8 00 11 */ stb r7, 0x11(r8)
+/* 802E3640 002DF2A0 98 08 00 12 */ stb r0, 0x12(r8)
+/* 802E3644 002DF2A4 A0 E5 00 0C */ lhz r7, 0xc(r5)
+/* 802E3648 002DF2A8 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E364C 002DF2AC 98 E8 00 13 */ stb r7, 0x13(r8)
+/* 802E3650 002DF2B0 A0 E5 00 0C */ lhz r7, 0xc(r5)
+/* 802E3654 002DF2B4 98 E8 00 14 */ stb r7, 0x14(r8)
+/* 802E3658 002DF2B8 98 08 00 15 */ stb r0, 0x15(r8)
+/* 802E365C 002DF2BC A0 E5 00 0E */ lhz r7, 0xe(r5)
+/* 802E3660 002DF2C0 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E3664 002DF2C4 98 E8 00 16 */ stb r7, 0x16(r8)
+/* 802E3668 002DF2C8 A0 E5 00 0E */ lhz r7, 0xe(r5)
+/* 802E366C 002DF2CC 38 A5 00 10 */ addi r5, r5, 0x10
+/* 802E3670 002DF2D0 98 E8 00 17 */ stb r7, 0x17(r8)
+/* 802E3674 002DF2D4 39 08 00 18 */ addi r8, r8, 0x18
+/* 802E3678 002DF2D8 42 00 FF 34 */ bdnz lbl_802E35AC
+lbl_802E367C:
+/* 802E367C 002DF2DC 54 C7 04 3E */ clrlwi r7, r6, 0x10
+/* 802E3680 002DF2E0 39 20 00 19 */ li r9, 0x19
+/* 802E3684 002DF2E4 7C 07 20 50 */ subf r0, r7, r4
+/* 802E3688 002DF2E8 7C 09 03 A6 */ mtctr r0
+/* 802E368C 002DF2EC 7C 07 20 40 */ cmplw r7, r4
+/* 802E3690 002DF2F0 40 80 00 2C */ bge lbl_802E36BC
+lbl_802E3694:
+/* 802E3694 002DF2F4 99 28 00 00 */ stb r9, 0(r8)
+/* 802E3698 002DF2F8 38 C6 00 01 */ addi r6, r6, 1
+/* 802E369C 002DF2FC A0 05 00 00 */ lhz r0, 0(r5)
+/* 802E36A0 002DF300 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E36A4 002DF304 98 08 00 01 */ stb r0, 1(r8)
+/* 802E36A8 002DF308 A0 05 00 00 */ lhz r0, 0(r5)
+/* 802E36AC 002DF30C 38 A5 00 02 */ addi r5, r5, 2
+/* 802E36B0 002DF310 98 08 00 02 */ stb r0, 2(r8)
+/* 802E36B4 002DF314 39 08 00 03 */ addi r8, r8, 3
+/* 802E36B8 002DF318 42 00 FF DC */ bdnz lbl_802E3694
+lbl_802E36BC:
+/* 802E36BC 002DF31C 38 E1 00 08 */ addi r7, r1, 8
+/* 802E36C0 002DF320 38 80 00 01 */ li r4, 1
+/* 802E36C4 002DF324 7C C7 40 50 */ subf r6, r7, r8
+/* 802E36C8 002DF328 38 A0 00 06 */ li r5, 6
+/* 802E36CC 002DF32C 4B FF FA 29 */ bl SDP_AddAttribute
+/* 802E36D0 002DF330 80 01 00 B4 */ lwz r0, 0xb4(r1)
+/* 802E36D4 002DF334 7C 08 03 A6 */ mtlr r0
+/* 802E36D8 002DF338 38 21 00 B0 */ addi r1, r1, 0xb0
+/* 802E36DC 002DF33C 4E 80 00 20 */ blr
+
+.global SDP_DeleteAttribute
+SDP_DeleteAttribute:
+/* 802E36E0 002DF340 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E36E4 002DF344 7C 08 02 A6 */ mflr r0
+/* 802E36E8 002DF348 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E36EC 002DF34C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E36F0 002DF350 4B EE 3A 31 */ bl _savegpr_25
+/* 802E36F4 002DF354 3F 60 80 57 */ lis r27, lbl_8056C840@ha
+/* 802E36F8 002DF358 7C 79 1B 78 */ mr r25, r3
+/* 802E36FC 002DF35C 3B 7B C8 40 */ addi r27, r27, lbl_8056C840@l
+/* 802E3700 002DF360 7C 9A 23 78 */ mr r26, r4
+/* 802E3704 002DF364 3B FB 12 24 */ addi r31, r27, 0x1224
+/* 802E3708 002DF368 38 60 00 00 */ li r3, 0
+/* 802E370C 002DF36C 3F 80 00 0A */ lis r28, 0xa
+/* 802E3710 002DF370 3F A0 80 44 */ lis r29, 0x8044
+/* 802E3714 002DF374 48 00 01 DC */ b lbl_802E38F0
+lbl_802E3718:
+/* 802E3718 002DF378 80 1F 00 00 */ lwz r0, 0(r31)
+/* 802E371C 002DF37C 7C 00 C8 40 */ cmplw r0, r25
+/* 802E3720 002DF380 40 82 01 C8 */ bne lbl_802E38E8
+/* 802E3724 002DF384 88 1B 46 30 */ lbz r0, 0x4630(r27)
+/* 802E3728 002DF388 3B DF 00 0C */ addi r30, r31, 0xc
+/* 802E372C 002DF38C 28 00 00 03 */ cmplwi r0, 3
+/* 802E3730 002DF390 41 80 00 18 */ blt lbl_802E3748
+/* 802E3734 002DF394 7F 45 D3 78 */ mr r5, r26
+/* 802E3738 002DF398 7F 26 CB 78 */ mr r6, r25
+/* 802E373C 002DF39C 38 7C 00 02 */ addi r3, r28, 2
+/* 802E3740 002DF3A0 38 9D 50 20 */ addi r4, r29, 0x5020
+/* 802E3744 002DF3A4 4B FD 97 FD */ bl LogMsg_2
+lbl_802E3748:
+/* 802E3748 002DF3A8 A0 9F 00 08 */ lhz r4, 8(r31)
+/* 802E374C 002DF3AC 38 60 00 00 */ li r3, 0
+/* 802E3750 002DF3B0 48 00 01 8C */ b lbl_802E38DC
+lbl_802E3754:
+/* 802E3754 002DF3B4 A0 1E 00 08 */ lhz r0, 8(r30)
+/* 802E3758 002DF3B8 7C 00 D0 40 */ cmplw r0, r26
+/* 802E375C 002DF3BC 40 82 01 78 */ bne lbl_802E38D4
+/* 802E3760 002DF3C0 80 1E 00 00 */ lwz r0, 0(r30)
+/* 802E3764 002DF3C4 80 9E 00 04 */ lwz r4, 4(r30)
+/* 802E3768 002DF3C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802E376C 002DF3CC 41 82 00 40 */ beq lbl_802E37AC
+/* 802E3770 002DF3D0 38 E0 00 00 */ li r7, 0
+/* 802E3774 002DF3D4 48 00 00 28 */ b lbl_802E379C
+lbl_802E3778:
+/* 802E3778 002DF3D8 54 E5 04 3E */ clrlwi r5, r7, 0x10
+/* 802E377C 002DF3DC 1C A5 00 0C */ mulli r5, r5, 0xc
+/* 802E3780 002DF3E0 7C DF 2A 14 */ add r6, r31, r5
+/* 802E3784 002DF3E4 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 802E3788 002DF3E8 7C 05 20 40 */ cmplw r5, r4
+/* 802E378C 002DF3EC 40 81 00 0C */ ble lbl_802E3798
+/* 802E3790 002DF3F0 7C A0 28 50 */ subf r5, r0, r5
+/* 802E3794 002DF3F4 90 A6 00 10 */ stw r5, 0x10(r6)
+lbl_802E3798:
+/* 802E3798 002DF3F8 38 E7 00 01 */ addi r7, r7, 1
+lbl_802E379C:
+/* 802E379C 002DF3FC A0 BF 00 08 */ lhz r5, 8(r31)
+/* 802E37A0 002DF400 54 E6 04 3E */ clrlwi r6, r7, 0x10
+/* 802E37A4 002DF404 7C 06 28 40 */ cmplw r6, r5
+/* 802E37A8 002DF408 41 80 FF D0 */ blt lbl_802E3778
+lbl_802E37AC:
+/* 802E37AC 002DF40C A0 BF 00 08 */ lhz r5, 8(r31)
+/* 802E37B0 002DF410 38 A5 FF FF */ addi r5, r5, -1
+/* 802E37B4 002DF414 B0 BF 00 08 */ sth r5, 8(r31)
+/* 802E37B8 002DF418 48 00 00 24 */ b lbl_802E37DC
+lbl_802E37BC:
+/* 802E37BC 002DF41C 80 DE 00 0C */ lwz r6, 0xc(r30)
+/* 802E37C0 002DF420 38 63 00 01 */ addi r3, r3, 1
+/* 802E37C4 002DF424 80 BE 00 10 */ lwz r5, 0x10(r30)
+/* 802E37C8 002DF428 90 DE 00 00 */ stw r6, 0(r30)
+/* 802E37CC 002DF42C 90 BE 00 04 */ stw r5, 4(r30)
+/* 802E37D0 002DF430 80 BE 00 14 */ lwz r5, 0x14(r30)
+/* 802E37D4 002DF434 90 BE 00 08 */ stw r5, 8(r30)
+/* 802E37D8 002DF438 3B DE 00 0C */ addi r30, r30, 0xc
+lbl_802E37DC:
+/* 802E37DC 002DF43C A0 BF 00 08 */ lhz r5, 8(r31)
+/* 802E37E0 002DF440 54 66 04 3E */ clrlwi r6, r3, 0x10
+/* 802E37E4 002DF444 7C 06 28 40 */ cmplw r6, r5
+/* 802E37E8 002DF448 41 80 FF D4 */ blt lbl_802E37BC
+/* 802E37EC 002DF44C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E37F0 002DF450 41 82 00 DC */ beq lbl_802E38CC
+/* 802E37F4 002DF454 38 BF 01 38 */ addi r5, r31, 0x138
+/* 802E37F8 002DF458 7C C4 02 14 */ add r6, r4, r0
+/* 802E37FC 002DF45C 80 7F 00 04 */ lwz r3, 4(r31)
+/* 802E3800 002DF460 7C A5 30 50 */ subf r5, r5, r6
+/* 802E3804 002DF464 38 E0 00 00 */ li r7, 0
+/* 802E3808 002DF468 7C 65 18 50 */ subf r3, r5, r3
+/* 802E380C 002DF46C 54 68 04 3F */ clrlwi. r8, r3, 0x10
+/* 802E3810 002DF470 41 82 00 B0 */ beq lbl_802E38C0
+/* 802E3814 002DF474 28 08 00 08 */ cmplwi r8, 8
+/* 802E3818 002DF478 3C 68 00 01 */ addis r3, r8, 1
+/* 802E381C 002DF47C 38 63 FF F8 */ addi r3, r3, -8
+/* 802E3820 002DF480 40 81 00 70 */ ble lbl_802E3890
+/* 802E3824 002DF484 54 65 04 3E */ clrlwi r5, r3, 0x10
+/* 802E3828 002DF488 38 65 00 07 */ addi r3, r5, 7
+/* 802E382C 002DF48C 54 63 E8 FE */ srwi r3, r3, 3
+/* 802E3830 002DF490 7C 69 03 A6 */ mtctr r3
+/* 802E3834 002DF494 28 05 00 00 */ cmplwi r5, 0
+/* 802E3838 002DF498 40 81 00 58 */ ble lbl_802E3890
+lbl_802E383C:
+/* 802E383C 002DF49C 88 66 00 00 */ lbz r3, 0(r6)
+/* 802E3840 002DF4A0 7C A4 02 14 */ add r5, r4, r0
+/* 802E3844 002DF4A4 38 E7 00 08 */ addi r7, r7, 8
+/* 802E3848 002DF4A8 38 C6 00 08 */ addi r6, r6, 8
+/* 802E384C 002DF4AC 98 64 00 00 */ stb r3, 0(r4)
+/* 802E3850 002DF4B0 88 65 00 01 */ lbz r3, 1(r5)
+/* 802E3854 002DF4B4 98 64 00 01 */ stb r3, 1(r4)
+/* 802E3858 002DF4B8 88 65 00 02 */ lbz r3, 2(r5)
+/* 802E385C 002DF4BC 98 64 00 02 */ stb r3, 2(r4)
+/* 802E3860 002DF4C0 88 65 00 03 */ lbz r3, 3(r5)
+/* 802E3864 002DF4C4 98 64 00 03 */ stb r3, 3(r4)
+/* 802E3868 002DF4C8 88 65 00 04 */ lbz r3, 4(r5)
+/* 802E386C 002DF4CC 98 64 00 04 */ stb r3, 4(r4)
+/* 802E3870 002DF4D0 88 65 00 05 */ lbz r3, 5(r5)
+/* 802E3874 002DF4D4 98 64 00 05 */ stb r3, 5(r4)
+/* 802E3878 002DF4D8 88 65 00 06 */ lbz r3, 6(r5)
+/* 802E387C 002DF4DC 98 64 00 06 */ stb r3, 6(r4)
+/* 802E3880 002DF4E0 88 65 00 07 */ lbz r3, 7(r5)
+/* 802E3884 002DF4E4 98 64 00 07 */ stb r3, 7(r4)
+/* 802E3888 002DF4E8 38 84 00 08 */ addi r4, r4, 8
+/* 802E388C 002DF4EC 42 00 FF B0 */ bdnz lbl_802E383C
+lbl_802E3890:
+/* 802E3890 002DF4F0 54 E6 04 3E */ clrlwi r6, r7, 0x10
+/* 802E3894 002DF4F4 7C A0 22 14 */ add r5, r0, r4
+/* 802E3898 002DF4F8 7C 66 40 50 */ subf r3, r6, r8
+/* 802E389C 002DF4FC 7C 69 03 A6 */ mtctr r3
+/* 802E38A0 002DF500 7C 06 40 40 */ cmplw r6, r8
+/* 802E38A4 002DF504 40 80 00 1C */ bge lbl_802E38C0
+lbl_802E38A8:
+/* 802E38A8 002DF508 88 65 00 00 */ lbz r3, 0(r5)
+/* 802E38AC 002DF50C 38 E7 00 01 */ addi r7, r7, 1
+/* 802E38B0 002DF510 38 A5 00 01 */ addi r5, r5, 1
+/* 802E38B4 002DF514 98 64 00 00 */ stb r3, 0(r4)
+/* 802E38B8 002DF518 38 84 00 01 */ addi r4, r4, 1
+/* 802E38BC 002DF51C 42 00 FF EC */ bdnz lbl_802E38A8
+lbl_802E38C0:
+/* 802E38C0 002DF520 80 7F 00 04 */ lwz r3, 4(r31)
+/* 802E38C4 002DF524 7C 00 18 50 */ subf r0, r0, r3
+/* 802E38C8 002DF528 90 1F 00 04 */ stw r0, 4(r31)
+lbl_802E38CC:
+/* 802E38CC 002DF52C 38 60 00 01 */ li r3, 1
+/* 802E38D0 002DF530 48 00 00 34 */ b lbl_802E3904
+lbl_802E38D4:
+/* 802E38D4 002DF534 38 63 00 01 */ addi r3, r3, 1
+/* 802E38D8 002DF538 3B DE 00 0C */ addi r30, r30, 0xc
+lbl_802E38DC:
+/* 802E38DC 002DF53C 54 60 04 3E */ clrlwi r0, r3, 0x10
+/* 802E38E0 002DF540 7C 00 20 40 */ cmplw r0, r4
+/* 802E38E4 002DF544 41 80 FE 70 */ blt lbl_802E3754
+lbl_802E38E8:
+/* 802E38E8 002DF548 38 63 00 01 */ addi r3, r3, 1
+/* 802E38EC 002DF54C 3B FF 02 98 */ addi r31, r31, 0x298
+lbl_802E38F0:
+/* 802E38F0 002DF550 A0 1B 12 22 */ lhz r0, 0x1222(r27)
+/* 802E38F4 002DF554 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802E38F8 002DF558 7C 04 00 40 */ cmplw r4, r0
+/* 802E38FC 002DF55C 41 80 FE 1C */ blt lbl_802E3718
+/* 802E3900 002DF560 38 60 00 00 */ li r3, 0
+lbl_802E3904:
+/* 802E3904 002DF564 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E3908 002DF568 4B EE 38 65 */ bl _restgpr_25
+/* 802E390C 002DF56C 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E3910 002DF570 7C 08 03 A6 */ mtlr r0
+/* 802E3914 002DF574 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E3918 002DF578 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/sdp_discovery.s b/asm/SDK/BTE/sdp_discovery.s new file mode 100644 index 0000000..f1b842c --- /dev/null +++ b/asm/SDK/BTE/sdp_discovery.s @@ -0,0 +1,1325 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global sdpu_build_uuid_seq
+sdpu_build_uuid_seq:
+/* 802E391C 002DF57C 38 00 00 35 */ li r0, 0x35
+/* 802E3920 002DF580 39 63 00 01 */ addi r11, r3, 1
+/* 802E3924 002DF584 7D 6A 5B 78 */ mr r10, r11
+/* 802E3928 002DF588 98 03 00 00 */ stb r0, 0(r3)
+/* 802E392C 002DF58C 39 20 00 00 */ li r9, 0
+/* 802E3930 002DF590 38 C0 00 1C */ li r6, 0x1c
+/* 802E3934 002DF594 38 E0 00 1A */ li r7, 0x1a
+/* 802E3938 002DF598 39 00 00 19 */ li r8, 0x19
+/* 802E393C 002DF59C 7C 89 03 A6 */ mtctr r4
+/* 802E3940 002DF5A0 28 04 00 00 */ cmplwi r4, 0
+/* 802E3944 002DF5A4 39 6B 00 01 */ addi r11, r11, 1
+/* 802E3948 002DF5A8 40 81 00 AC */ ble lbl_802E39F4
+lbl_802E394C:
+/* 802E394C 002DF5AC A0 05 00 00 */ lhz r0, 0(r5)
+/* 802E3950 002DF5B0 28 00 00 02 */ cmplwi r0, 2
+/* 802E3954 002DF5B4 40 82 00 24 */ bne lbl_802E3978
+/* 802E3958 002DF5B8 99 0B 00 00 */ stb r8, 0(r11)
+/* 802E395C 002DF5BC A0 05 00 04 */ lhz r0, 4(r5)
+/* 802E3960 002DF5C0 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E3964 002DF5C4 98 0B 00 01 */ stb r0, 1(r11)
+/* 802E3968 002DF5C8 A0 05 00 04 */ lhz r0, 4(r5)
+/* 802E396C 002DF5CC 98 0B 00 02 */ stb r0, 2(r11)
+/* 802E3970 002DF5D0 39 6B 00 03 */ addi r11, r11, 3
+/* 802E3974 002DF5D4 48 00 00 74 */ b lbl_802E39E8
+lbl_802E3978:
+/* 802E3978 002DF5D8 28 00 00 04 */ cmplwi r0, 4
+/* 802E397C 002DF5DC 40 82 00 3C */ bne lbl_802E39B8
+/* 802E3980 002DF5E0 98 EB 00 00 */ stb r7, 0(r11)
+/* 802E3984 002DF5E4 80 05 00 04 */ lwz r0, 4(r5)
+/* 802E3988 002DF5E8 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802E398C 002DF5EC 98 0B 00 01 */ stb r0, 1(r11)
+/* 802E3990 002DF5F0 80 05 00 04 */ lwz r0, 4(r5)
+/* 802E3994 002DF5F4 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802E3998 002DF5F8 98 0B 00 02 */ stb r0, 2(r11)
+/* 802E399C 002DF5FC 80 05 00 04 */ lwz r0, 4(r5)
+/* 802E39A0 002DF600 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802E39A4 002DF604 98 0B 00 03 */ stb r0, 3(r11)
+/* 802E39A8 002DF608 80 05 00 04 */ lwz r0, 4(r5)
+/* 802E39AC 002DF60C 98 0B 00 04 */ stb r0, 4(r11)
+/* 802E39B0 002DF610 39 6B 00 05 */ addi r11, r11, 5
+/* 802E39B4 002DF614 48 00 00 34 */ b lbl_802E39E8
+lbl_802E39B8:
+/* 802E39B8 002DF618 98 CB 00 00 */ stb r6, 0(r11)
+/* 802E39BC 002DF61C 38 80 00 00 */ li r4, 0
+/* 802E39C0 002DF620 39 6B 00 01 */ addi r11, r11, 1
+/* 802E39C4 002DF624 48 00 00 18 */ b lbl_802E39DC
+lbl_802E39C8:
+/* 802E39C8 002DF628 7C 65 22 14 */ add r3, r5, r4
+/* 802E39CC 002DF62C 38 84 00 01 */ addi r4, r4, 1
+/* 802E39D0 002DF630 88 03 00 04 */ lbz r0, 4(r3)
+/* 802E39D4 002DF634 98 0B 00 00 */ stb r0, 0(r11)
+/* 802E39D8 002DF638 39 6B 00 01 */ addi r11, r11, 1
+lbl_802E39DC:
+/* 802E39DC 002DF63C A0 05 00 00 */ lhz r0, 0(r5)
+/* 802E39E0 002DF640 7C 04 00 00 */ cmpw r4, r0
+/* 802E39E4 002DF644 41 80 FF E4 */ blt lbl_802E39C8
+lbl_802E39E8:
+/* 802E39E8 002DF648 39 29 00 01 */ addi r9, r9, 1
+/* 802E39EC 002DF64C 38 A5 00 14 */ addi r5, r5, 0x14
+/* 802E39F0 002DF650 42 00 FF 5C */ bdnz lbl_802E394C
+lbl_802E39F4:
+/* 802E39F4 002DF654 7C 8A 58 50 */ subf r4, r10, r11
+/* 802E39F8 002DF658 7D 63 5B 78 */ mr r3, r11
+/* 802E39FC 002DF65C 38 04 FF FF */ addi r0, r4, -1
+/* 802E3A00 002DF660 98 0A 00 00 */ stb r0, 0(r10)
+/* 802E3A04 002DF664 4E 80 00 20 */ blr
+
+.global sdp_snd_service_search_req
+sdp_snd_service_search_req:
+/* 802E3A08 002DF668 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E3A0C 002DF66C 7C 08 02 A6 */ mflr r0
+/* 802E3A10 002DF670 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E3A14 002DF674 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E3A18 002DF678 4B EE 37 09 */ bl _savegpr_25
+/* 802E3A1C 002DF67C 7C 7A 1B 78 */ mr r26, r3
+/* 802E3A20 002DF680 7C 9B 23 78 */ mr r27, r4
+/* 802E3A24 002DF684 7C BC 2B 78 */ mr r28, r5
+/* 802E3A28 002DF688 38 60 00 02 */ li r3, 2
+/* 802E3A2C 002DF68C 4B FD 62 21 */ bl GKI_getpoolbuf
+/* 802E3A30 002DF690 2C 03 00 00 */ cmpwi r3, 0
+/* 802E3A34 002DF694 7C 7D 1B 78 */ mr r29, r3
+/* 802E3A38 002DF698 40 82 00 14 */ bne lbl_802E3A4C
+/* 802E3A3C 002DF69C 7F 43 D3 78 */ mr r3, r26
+/* 802E3A40 002DF6A0 38 80 00 06 */ li r4, 6
+/* 802E3A44 002DF6A4 48 00 1A DD */ bl sdp_disconnect
+/* 802E3A48 002DF6A8 48 00 00 D8 */ b lbl_802E3B20
+lbl_802E3A4C:
+/* 802E3A4C 002DF6AC 38 00 00 09 */ li r0, 9
+/* 802E3A50 002DF6B0 3B C3 00 11 */ addi r30, r3, 0x11
+/* 802E3A54 002DF6B4 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E3A58 002DF6B8 38 00 00 02 */ li r0, 2
+/* 802E3A5C 002DF6BC 3B FE 00 03 */ addi r31, r30, 3
+/* 802E3A60 002DF6C0 98 03 00 11 */ stb r0, 0x11(r3)
+/* 802E3A64 002DF6C4 38 7F 00 02 */ addi r3, r31, 2
+/* 802E3A68 002DF6C8 A0 1A 04 70 */ lhz r0, 0x470(r26)
+/* 802E3A6C 002DF6CC 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E3A70 002DF6D0 98 1E 00 01 */ stb r0, 1(r30)
+/* 802E3A74 002DF6D4 A0 1A 04 70 */ lhz r0, 0x470(r26)
+/* 802E3A78 002DF6D8 98 1E 00 02 */ stb r0, 2(r30)
+/* 802E3A7C 002DF6DC A0 9A 04 70 */ lhz r4, 0x470(r26)
+/* 802E3A80 002DF6E0 80 DA 04 10 */ lwz r6, 0x410(r26)
+/* 802E3A84 002DF6E4 38 04 00 01 */ addi r0, r4, 1
+/* 802E3A88 002DF6E8 B0 1A 04 70 */ sth r0, 0x470(r26)
+/* 802E3A8C 002DF6EC 38 A6 00 10 */ addi r5, r6, 0x10
+/* 802E3A90 002DF6F0 A0 86 00 0C */ lhz r4, 0xc(r6)
+/* 802E3A94 002DF6F4 4B FF FE 89 */ bl sdpu_build_uuid_seq
+/* 802E3A98 002DF6F8 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E3A9C 002DF6FC 2C 1B 00 00 */ cmpwi r27, 0
+/* 802E3AA0 002DF700 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E3AA4 002DF704 3B 23 00 03 */ addi r25, r3, 3
+/* 802E3AA8 002DF708 A0 04 46 2E */ lhz r0, 0x462e(r4)
+/* 802E3AAC 002DF70C 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E3AB0 002DF710 98 03 00 00 */ stb r0, 0(r3)
+/* 802E3AB4 002DF714 A0 04 46 2E */ lhz r0, 0x462e(r4)
+/* 802E3AB8 002DF718 98 03 00 01 */ stb r0, 1(r3)
+/* 802E3ABC 002DF71C 9B 63 00 02 */ stb r27, 2(r3)
+/* 802E3AC0 002DF720 41 82 00 20 */ beq lbl_802E3AE0
+/* 802E3AC4 002DF724 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E3AC8 002DF728 41 82 00 18 */ beq lbl_802E3AE0
+/* 802E3ACC 002DF72C 7F 23 CB 78 */ mr r3, r25
+/* 802E3AD0 002DF730 7F 84 E3 78 */ mr r4, r28
+/* 802E3AD4 002DF734 7F 65 DB 78 */ mr r5, r27
+/* 802E3AD8 002DF738 4B D2 05 29 */ bl memcpy
+/* 802E3ADC 002DF73C 7F 39 DA 14 */ add r25, r25, r27
+lbl_802E3AE0:
+/* 802E3AE0 002DF740 7C 9F C8 50 */ subf r4, r31, r25
+/* 802E3AE4 002DF744 38 60 00 01 */ li r3, 1
+/* 802E3AE8 002DF748 38 C4 FF FE */ addi r6, r4, -2
+/* 802E3AEC 002DF74C 7C 1E C8 50 */ subf r0, r30, r25
+/* 802E3AF0 002DF750 54 C5 C6 3E */ rlwinm r5, r6, 0x18, 0x18, 0x1f
+/* 802E3AF4 002DF754 7F A4 EB 78 */ mr r4, r29
+/* 802E3AF8 002DF758 98 BF 00 00 */ stb r5, 0(r31)
+/* 802E3AFC 002DF75C 98 DF 00 01 */ stb r6, 1(r31)
+/* 802E3B00 002DF760 98 7A 04 74 */ stb r3, 0x474(r26)
+/* 802E3B04 002DF764 B0 1D 00 02 */ sth r0, 2(r29)
+/* 802E3B08 002DF768 A0 7A 00 22 */ lhz r3, 0x22(r26)
+/* 802E3B0C 002DF76C 4B FF 25 E5 */ bl L2CA_DataWrite
+/* 802E3B10 002DF770 38 7A 00 08 */ addi r3, r26, 8
+/* 802E3B14 002DF774 38 80 00 05 */ li r4, 5
+/* 802E3B18 002DF778 38 A0 00 1E */ li r5, 0x1e
+/* 802E3B1C 002DF77C 4B FD 99 C1 */ bl btu_start_timer
+lbl_802E3B20:
+/* 802E3B20 002DF780 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E3B24 002DF784 4B EE 36 49 */ bl _restgpr_25
+/* 802E3B28 002DF788 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E3B2C 002DF78C 7C 08 03 A6 */ mtlr r0
+/* 802E3B30 002DF790 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E3B34 002DF794 4E 80 00 20 */ blr
+
+.global sdp_disc_connected
+sdp_disc_connected:
+/* 802E3B38 002DF798 88 03 04 75 */ lbz r0, 0x475(r3)
+/* 802E3B3C 002DF79C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E3B40 002DF7A0 41 82 00 18 */ beq lbl_802E3B58
+/* 802E3B44 002DF7A4 38 00 00 03 */ li r0, 3
+/* 802E3B48 002DF7A8 38 80 00 00 */ li r4, 0
+/* 802E3B4C 002DF7AC 98 03 04 74 */ stb r0, 0x474(r3)
+/* 802E3B50 002DF7B0 38 A0 00 00 */ li r5, 0
+/* 802E3B54 002DF7B4 48 00 05 48 */ b process_service_search_attr_rsp
+lbl_802E3B58:
+/* 802E3B58 002DF7B8 38 00 00 00 */ li r0, 0
+/* 802E3B5C 002DF7BC 38 80 00 00 */ li r4, 0
+/* 802E3B60 002DF7C0 B0 03 04 6C */ sth r0, 0x46c(r3)
+/* 802E3B64 002DF7C4 38 A0 00 00 */ li r5, 0
+/* 802E3B68 002DF7C8 4B FF FE A0 */ b sdp_snd_service_search_req
+
+.global sdp_disc_server_rsp
+sdp_disc_server_rsp:
+/* 802E3B6C 002DF7CC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E3B70 002DF7D0 7C 08 02 A6 */ mflr r0
+/* 802E3B74 002DF7D4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E3B78 002DF7D8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E3B7C 002DF7DC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E3B80 002DF7E0 3B C0 00 01 */ li r30, 1
+/* 802E3B84 002DF7E4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E3B88 002DF7E8 7C 9D 23 78 */ mr r29, r4
+/* 802E3B8C 002DF7EC 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E3B90 002DF7F0 7C 7C 1B 78 */ mr r28, r3
+/* 802E3B94 002DF7F4 38 63 00 08 */ addi r3, r3, 8
+/* 802E3B98 002DF7F8 4B FD 99 B5 */ bl btu_stop_timer
+/* 802E3B9C 002DF7FC A0 1D 00 04 */ lhz r0, 4(r29)
+/* 802E3BA0 002DF800 A0 7D 00 02 */ lhz r3, 2(r29)
+/* 802E3BA4 002DF804 7C 9D 02 14 */ add r4, r29, r0
+/* 802E3BA8 002DF808 8B E4 00 08 */ lbz r31, 8(r4)
+/* 802E3BAC 002DF80C 38 A3 FF FF */ addi r5, r3, -1
+/* 802E3BB0 002DF810 2C 1F 00 05 */ cmpwi r31, 5
+/* 802E3BB4 002DF814 B0 BD 00 02 */ sth r5, 2(r29)
+/* 802E3BB8 002DF818 41 82 00 44 */ beq lbl_802E3BFC
+/* 802E3BBC 002DF81C 40 80 00 10 */ bge lbl_802E3BCC
+/* 802E3BC0 002DF820 2C 1F 00 03 */ cmpwi r31, 3
+/* 802E3BC4 002DF824 41 82 00 14 */ beq lbl_802E3BD8
+/* 802E3BC8 002DF828 48 00 00 78 */ b lbl_802E3C40
+lbl_802E3BCC:
+/* 802E3BCC 002DF82C 2C 1F 00 07 */ cmpwi r31, 7
+/* 802E3BD0 002DF830 41 82 00 50 */ beq lbl_802E3C20
+/* 802E3BD4 002DF834 48 00 00 6C */ b lbl_802E3C40
+lbl_802E3BD8:
+/* 802E3BD8 002DF838 88 1C 04 74 */ lbz r0, 0x474(r28)
+/* 802E3BDC 002DF83C 28 00 00 01 */ cmplwi r0, 1
+/* 802E3BE0 002DF840 40 82 00 60 */ bne lbl_802E3C40
+/* 802E3BE4 002DF844 7F 83 E3 78 */ mr r3, r28
+/* 802E3BE8 002DF848 38 84 00 09 */ addi r4, r4, 9
+/* 802E3BEC 002DF84C 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802E3BF0 002DF850 48 00 00 BD */ bl process_service_search_rsp
+/* 802E3BF4 002DF854 3B C0 00 00 */ li r30, 0
+/* 802E3BF8 002DF858 48 00 00 48 */ b lbl_802E3C40
+lbl_802E3BFC:
+/* 802E3BFC 002DF85C 88 1C 04 74 */ lbz r0, 0x474(r28)
+/* 802E3C00 002DF860 28 00 00 02 */ cmplwi r0, 2
+/* 802E3C04 002DF864 40 82 00 3C */ bne lbl_802E3C40
+/* 802E3C08 002DF868 7F 83 E3 78 */ mr r3, r28
+/* 802E3C0C 002DF86C 38 84 00 09 */ addi r4, r4, 9
+/* 802E3C10 002DF870 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802E3C14 002DF874 48 00 01 E1 */ bl process_service_attr_rsp
+/* 802E3C18 002DF878 3B C0 00 00 */ li r30, 0
+/* 802E3C1C 002DF87C 48 00 00 24 */ b lbl_802E3C40
+lbl_802E3C20:
+/* 802E3C20 002DF880 88 1C 04 74 */ lbz r0, 0x474(r28)
+/* 802E3C24 002DF884 28 00 00 03 */ cmplwi r0, 3
+/* 802E3C28 002DF888 40 82 00 18 */ bne lbl_802E3C40
+/* 802E3C2C 002DF88C 7F 83 E3 78 */ mr r3, r28
+/* 802E3C30 002DF890 38 84 00 09 */ addi r4, r4, 9
+/* 802E3C34 002DF894 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802E3C38 002DF898 48 00 04 65 */ bl process_service_search_attr_rsp
+/* 802E3C3C 002DF89C 3B C0 00 00 */ li r30, 0
+lbl_802E3C40:
+/* 802E3C40 002DF8A0 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E3C44 002DF8A4 41 82 00 48 */ beq lbl_802E3C8C
+/* 802E3C48 002DF8A8 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E3C4C 002DF8AC 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E3C50 002DF8B0 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E3C54 002DF8B4 28 00 00 02 */ cmplwi r0, 2
+/* 802E3C58 002DF8B8 41 80 00 20 */ blt lbl_802E3C78
+/* 802E3C5C 002DF8BC 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E3C60 002DF8C0 3C 80 80 44 */ lis r4, lbl_80445048@ha
+/* 802E3C64 002DF8C4 88 DC 04 74 */ lbz r6, 0x474(r28)
+/* 802E3C68 002DF8C8 7F E5 FB 78 */ mr r5, r31
+/* 802E3C6C 002DF8CC 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E3C70 002DF8D0 38 84 50 48 */ addi r4, r4, lbl_80445048@l
+/* 802E3C74 002DF8D4 4B FD 92 CD */ bl LogMsg_2
+lbl_802E3C78:
+/* 802E3C78 002DF8D8 3C 80 00 01 */ lis r4, 0x0000FFF3@ha
+/* 802E3C7C 002DF8DC 7F 83 E3 78 */ mr r3, r28
+/* 802E3C80 002DF8E0 38 04 FF F3 */ addi r0, r4, 0x0000FFF3@l
+/* 802E3C84 002DF8E4 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E3C88 002DF8E8 48 00 18 99 */ bl sdp_disconnect
+lbl_802E3C8C:
+/* 802E3C8C 002DF8EC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E3C90 002DF8F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E3C94 002DF8F4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E3C98 002DF8F8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E3C9C 002DF8FC 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E3CA0 002DF900 7C 08 03 A6 */ mtlr r0
+/* 802E3CA4 002DF904 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E3CA8 002DF908 4E 80 00 20 */ blr
+
+.global process_service_search_rsp
+process_service_search_rsp:
+/* 802E3CAC 002DF90C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E3CB0 002DF910 7C 08 02 A6 */ mflr r0
+/* 802E3CB4 002DF914 38 A4 00 08 */ addi r5, r4, 8
+/* 802E3CB8 002DF918 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E3CBC 002DF91C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E3CC0 002DF920 7C 7F 1B 78 */ mr r31, r3
+/* 802E3CC4 002DF924 88 C4 00 06 */ lbz r6, 6(r4)
+/* 802E3CC8 002DF928 88 04 00 07 */ lbz r0, 7(r4)
+/* 802E3CCC 002DF92C 54 C4 40 2E */ slwi r4, r6, 8
+/* 802E3CD0 002DF930 A1 23 04 6C */ lhz r9, 0x46c(r3)
+/* 802E3CD4 002DF934 7C 04 02 14 */ add r0, r4, r0
+/* 802E3CD8 002DF938 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E3CDC 002DF93C 7C 09 02 14 */ add r0, r9, r0
+/* 802E3CE0 002DF940 54 06 04 3F */ clrlwi. r6, r0, 0x10
+/* 802E3CE4 002DF944 B0 03 04 6C */ sth r0, 0x46c(r3)
+/* 802E3CE8 002DF948 40 82 00 44 */ bne lbl_802E3D2C
+/* 802E3CEC 002DF94C 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E3CF0 002DF950 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E3CF4 002DF954 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E3CF8 002DF958 28 00 00 02 */ cmplwi r0, 2
+/* 802E3CFC 002DF95C 41 80 00 18 */ blt lbl_802E3D14
+/* 802E3D00 002DF960 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E3D04 002DF964 3C 80 80 44 */ lis r4, lbl_80445070@ha
+/* 802E3D08 002DF968 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E3D0C 002DF96C 38 84 50 70 */ addi r4, r4, lbl_80445070@l
+/* 802E3D10 002DF970 4B FD 92 01 */ bl LogMsg_0
+lbl_802E3D14:
+/* 802E3D14 002DF974 3C 80 00 01 */ lis r4, 0x0000FFF0@ha
+/* 802E3D18 002DF978 7F E3 FB 78 */ mr r3, r31
+/* 802E3D1C 002DF97C 38 04 FF F0 */ addi r0, r4, 0x0000FFF0@l
+/* 802E3D20 002DF980 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E3D24 002DF984 48 00 17 FD */ bl sdp_disconnect
+/* 802E3D28 002DF988 48 00 00 B8 */ b lbl_802E3DE0
+lbl_802E3D2C:
+/* 802E3D2C 002DF98C 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E3D30 002DF990 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E3D34 002DF994 A0 04 46 2E */ lhz r0, 0x462e(r4)
+/* 802E3D38 002DF998 7C 06 00 40 */ cmplw r6, r0
+/* 802E3D3C 002DF99C 40 81 00 48 */ ble lbl_802E3D84
+/* 802E3D40 002DF9A0 B0 03 04 6C */ sth r0, 0x46c(r3)
+/* 802E3D44 002DF9A4 48 00 00 40 */ b lbl_802E3D84
+lbl_802E3D48:
+/* 802E3D48 002DF9A8 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d
+/* 802E3D4C 002DF9AC 88 E5 00 00 */ lbz r7, 0(r5)
+/* 802E3D50 002DF9B0 88 C5 00 01 */ lbz r6, 1(r5)
+/* 802E3D54 002DF9B4 7C 83 02 14 */ add r4, r3, r0
+/* 802E3D58 002DF9B8 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E3D5C 002DF9BC 54 E8 C0 0E */ slwi r8, r7, 0x18
+/* 802E3D60 002DF9C0 88 E5 00 03 */ lbz r7, 3(r5)
+/* 802E3D64 002DF9C4 54 C6 80 1E */ slwi r6, r6, 0x10
+/* 802E3D68 002DF9C8 54 00 40 2E */ slwi r0, r0, 8
+/* 802E3D6C 002DF9CC 38 A5 00 04 */ addi r5, r5, 4
+/* 802E3D70 002DF9D0 7C C8 32 14 */ add r6, r8, r6
+/* 802E3D74 002DF9D4 39 29 00 01 */ addi r9, r9, 1
+/* 802E3D78 002DF9D8 7C 07 02 14 */ add r0, r7, r0
+/* 802E3D7C 002DF9DC 7C 06 02 14 */ add r0, r6, r0
+/* 802E3D80 002DF9E0 90 04 04 18 */ stw r0, 0x418(r4)
+lbl_802E3D84:
+/* 802E3D84 002DF9E4 A0 03 04 6C */ lhz r0, 0x46c(r3)
+/* 802E3D88 002DF9E8 55 24 04 3E */ clrlwi r4, r9, 0x10
+/* 802E3D8C 002DF9EC 7C 04 00 40 */ cmplw r4, r0
+/* 802E3D90 002DF9F0 41 80 FF B8 */ blt lbl_802E3D48
+/* 802E3D94 002DF9F4 88 85 00 00 */ lbz r4, 0(r5)
+/* 802E3D98 002DF9F8 2C 04 00 00 */ cmpwi r4, 0
+/* 802E3D9C 002DF9FC 41 82 00 2C */ beq lbl_802E3DC8
+/* 802E3DA0 002DFA00 28 04 00 10 */ cmplwi r4, 0x10
+/* 802E3DA4 002DFA04 40 81 00 14 */ ble lbl_802E3DB8
+/* 802E3DA8 002DFA08 7F E3 FB 78 */ mr r3, r31
+/* 802E3DAC 002DFA0C 38 80 00 05 */ li r4, 5
+/* 802E3DB0 002DFA10 48 00 17 71 */ bl sdp_disconnect
+/* 802E3DB4 002DFA14 48 00 00 2C */ b lbl_802E3DE0
+lbl_802E3DB8:
+/* 802E3DB8 002DFA18 7F E3 FB 78 */ mr r3, r31
+/* 802E3DBC 002DFA1C 38 A5 00 01 */ addi r5, r5, 1
+/* 802E3DC0 002DFA20 4B FF FC 49 */ bl sdp_snd_service_search_req
+/* 802E3DC4 002DFA24 48 00 00 1C */ b lbl_802E3DE0
+lbl_802E3DC8:
+/* 802E3DC8 002DFA28 38 00 00 02 */ li r0, 2
+/* 802E3DCC 002DFA2C 38 80 00 00 */ li r4, 0
+/* 802E3DD0 002DFA30 98 03 04 74 */ stb r0, 0x474(r3)
+/* 802E3DD4 002DFA34 7F E3 FB 78 */ mr r3, r31
+/* 802E3DD8 002DFA38 38 A0 00 00 */ li r5, 0
+/* 802E3DDC 002DFA3C 48 00 00 19 */ bl process_service_attr_rsp
+lbl_802E3DE0:
+/* 802E3DE0 002DFA40 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E3DE4 002DFA44 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E3DE8 002DFA48 7C 08 03 A6 */ mtlr r0
+/* 802E3DEC 002DFA4C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E3DF0 002DFA50 4E 80 00 20 */ blr
+
+.global process_service_attr_rsp
+process_service_attr_rsp:
+/* 802E3DF4 002DFA54 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E3DF8 002DFA58 7C 08 02 A6 */ mflr r0
+/* 802E3DFC 002DFA5C 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E3E00 002DFA60 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E3E04 002DFA64 4B EE 33 1D */ bl _savegpr_25
+/* 802E3E08 002DFA68 2C 04 00 00 */ cmpwi r4, 0
+/* 802E3E0C 002DFA6C 7C 7A 1B 78 */ mr r26, r3
+/* 802E3E10 002DFA70 7C 9B 23 78 */ mr r27, r4
+/* 802E3E14 002DFA74 3B A0 00 00 */ li r29, 0
+/* 802E3E18 002DFA78 41 82 00 D0 */ beq lbl_802E3EE8
+/* 802E3E1C 002DFA7C 88 A4 00 04 */ lbz r5, 4(r4)
+/* 802E3E20 002DFA80 3B 64 00 06 */ addi r27, r4, 6
+/* 802E3E24 002DFA84 88 04 00 05 */ lbz r0, 5(r4)
+/* 802E3E28 002DFA88 54 A4 40 2E */ slwi r4, r5, 8
+/* 802E3E2C 002DFA8C A0 A3 00 24 */ lhz r5, 0x24(r3)
+/* 802E3E30 002DFA90 7C 04 02 14 */ add r0, r4, r0
+/* 802E3E34 002DFA94 54 19 04 3E */ clrlwi r25, r0, 0x10
+/* 802E3E38 002DFA98 7C 05 CA 14 */ add r0, r5, r25
+/* 802E3E3C 002DFA9C 2C 00 03 E8 */ cmpwi r0, 0x3e8
+/* 802E3E40 002DFAA0 40 81 00 10 */ ble lbl_802E3E50
+/* 802E3E44 002DFAA4 38 80 00 04 */ li r4, 4
+/* 802E3E48 002DFAA8 48 00 16 D9 */ bl sdp_disconnect
+/* 802E3E4C 002DFAAC 48 00 02 38 */ b lbl_802E4084
+lbl_802E3E50:
+/* 802E3E50 002DFAB0 7C 63 2A 14 */ add r3, r3, r5
+/* 802E3E54 002DFAB4 7F 64 DB 78 */ mr r4, r27
+/* 802E3E58 002DFAB8 7F 25 CB 78 */ mr r5, r25
+/* 802E3E5C 002DFABC 38 63 00 26 */ addi r3, r3, 0x26
+/* 802E3E60 002DFAC0 4B D2 01 A1 */ bl memcpy
+/* 802E3E64 002DFAC4 A0 1A 00 24 */ lhz r0, 0x24(r26)
+/* 802E3E68 002DFAC8 7C 00 CA 14 */ add r0, r0, r25
+/* 802E3E6C 002DFACC B0 1A 00 24 */ sth r0, 0x24(r26)
+/* 802E3E70 002DFAD0 7C 7B C8 EE */ lbzux r3, r27, r25
+/* 802E3E74 002DFAD4 2C 03 00 00 */ cmpwi r3, 0
+/* 802E3E78 002DFAD8 41 82 00 24 */ beq lbl_802E3E9C
+/* 802E3E7C 002DFADC 28 03 00 10 */ cmplwi r3, 0x10
+/* 802E3E80 002DFAE0 40 81 00 14 */ ble lbl_802E3E94
+/* 802E3E84 002DFAE4 7F 43 D3 78 */ mr r3, r26
+/* 802E3E88 002DFAE8 38 80 00 05 */ li r4, 5
+/* 802E3E8C 002DFAEC 48 00 16 95 */ bl sdp_disconnect
+/* 802E3E90 002DFAF0 48 00 01 F4 */ b lbl_802E4084
+lbl_802E3E94:
+/* 802E3E94 002DFAF4 3B A0 00 01 */ li r29, 1
+/* 802E3E98 002DFAF8 48 00 00 50 */ b lbl_802E3EE8
+lbl_802E3E9C:
+/* 802E3E9C 002DFAFC 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E3EA0 002DFB00 7F 43 D3 78 */ mr r3, r26
+/* 802E3EA4 002DFB04 7C BA 02 14 */ add r5, r26, r0
+/* 802E3EA8 002DFB08 38 9A 00 26 */ addi r4, r26, 0x26
+/* 802E3EAC 002DFB0C 38 A5 00 26 */ addi r5, r5, 0x26
+/* 802E3EB0 002DFB10 48 00 04 C1 */ bl save_attr_seq
+/* 802E3EB4 002DFB14 2C 03 00 00 */ cmpwi r3, 0
+/* 802E3EB8 002DFB18 40 82 00 1C */ bne lbl_802E3ED4
+/* 802E3EBC 002DFB1C 3C 80 00 01 */ lis r4, 0x0000FFF4@ha
+/* 802E3EC0 002DFB20 7F 43 D3 78 */ mr r3, r26
+/* 802E3EC4 002DFB24 38 04 FF F4 */ addi r0, r4, 0x0000FFF4@l
+/* 802E3EC8 002DFB28 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E3ECC 002DFB2C 48 00 16 55 */ bl sdp_disconnect
+/* 802E3ED0 002DFB30 48 00 01 B4 */ b lbl_802E4084
+lbl_802E3ED4:
+/* 802E3ED4 002DFB34 A0 7A 04 6E */ lhz r3, 0x46e(r26)
+/* 802E3ED8 002DFB38 38 00 00 00 */ li r0, 0
+/* 802E3EDC 002DFB3C B0 1A 00 24 */ sth r0, 0x24(r26)
+/* 802E3EE0 002DFB40 38 03 00 01 */ addi r0, r3, 1
+/* 802E3EE4 002DFB44 B0 1A 04 6E */ sth r0, 0x46e(r26)
+lbl_802E3EE8:
+/* 802E3EE8 002DFB48 A0 7A 04 6E */ lhz r3, 0x46e(r26)
+/* 802E3EEC 002DFB4C A0 1A 04 6C */ lhz r0, 0x46c(r26)
+/* 802E3EF0 002DFB50 7C 03 00 40 */ cmplw r3, r0
+/* 802E3EF4 002DFB54 40 80 01 84 */ bge lbl_802E4078
+/* 802E3EF8 002DFB58 38 60 00 02 */ li r3, 2
+/* 802E3EFC 002DFB5C 4B FD 5D 51 */ bl GKI_getpoolbuf
+/* 802E3F00 002DFB60 2C 03 00 00 */ cmpwi r3, 0
+/* 802E3F04 002DFB64 7C 7C 1B 78 */ mr r28, r3
+/* 802E3F08 002DFB68 40 82 00 14 */ bne lbl_802E3F1C
+/* 802E3F0C 002DFB6C 7F 43 D3 78 */ mr r3, r26
+/* 802E3F10 002DFB70 38 80 00 06 */ li r4, 6
+/* 802E3F14 002DFB74 48 00 16 0D */ bl sdp_disconnect
+/* 802E3F18 002DFB78 48 00 01 6C */ b lbl_802E4084
+lbl_802E3F1C:
+/* 802E3F1C 002DFB7C 38 00 00 09 */ li r0, 9
+/* 802E3F20 002DFB80 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E3F24 002DFB84 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E3F28 002DFB88 3B E3 00 11 */ addi r31, r3, 0x11
+/* 802E3F2C 002DFB8C 38 00 00 04 */ li r0, 4
+/* 802E3F30 002DFB90 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E3F34 002DFB94 98 1F 00 00 */ stb r0, 0(r31)
+/* 802E3F38 002DFB98 38 7F 00 03 */ addi r3, r31, 3
+/* 802E3F3C 002DFB9C 7C 7E 1B 78 */ mr r30, r3
+/* 802E3F40 002DFBA0 A0 1A 04 70 */ lhz r0, 0x470(r26)
+/* 802E3F44 002DFBA4 38 63 00 08 */ addi r3, r3, 8
+/* 802E3F48 002DFBA8 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E3F4C 002DFBAC 98 1F 00 01 */ stb r0, 1(r31)
+/* 802E3F50 002DFBB0 A0 1A 04 70 */ lhz r0, 0x470(r26)
+/* 802E3F54 002DFBB4 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E3F58 002DFBB8 A0 BA 04 70 */ lhz r5, 0x470(r26)
+/* 802E3F5C 002DFBBC A0 1A 04 6E */ lhz r0, 0x46e(r26)
+/* 802E3F60 002DFBC0 38 A5 00 01 */ addi r5, r5, 1
+/* 802E3F64 002DFBC4 54 00 10 3A */ slwi r0, r0, 2
+/* 802E3F68 002DFBC8 B0 BA 04 70 */ sth r5, 0x470(r26)
+/* 802E3F6C 002DFBCC 7C BA 02 14 */ add r5, r26, r0
+/* 802E3F70 002DFBD0 80 05 04 18 */ lwz r0, 0x418(r5)
+/* 802E3F74 002DFBD4 54 00 46 3E */ srwi r0, r0, 0x18
+/* 802E3F78 002DFBD8 98 1F 00 05 */ stb r0, 5(r31)
+/* 802E3F7C 002DFBDC A0 1A 04 6E */ lhz r0, 0x46e(r26)
+/* 802E3F80 002DFBE0 54 00 10 3A */ slwi r0, r0, 2
+/* 802E3F84 002DFBE4 7C BA 02 14 */ add r5, r26, r0
+/* 802E3F88 002DFBE8 80 05 04 18 */ lwz r0, 0x418(r5)
+/* 802E3F8C 002DFBEC 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
+/* 802E3F90 002DFBF0 98 1F 00 06 */ stb r0, 6(r31)
+/* 802E3F94 002DFBF4 A0 1A 04 6E */ lhz r0, 0x46e(r26)
+/* 802E3F98 002DFBF8 54 00 10 3A */ slwi r0, r0, 2
+/* 802E3F9C 002DFBFC 7C BA 02 14 */ add r5, r26, r0
+/* 802E3FA0 002DFC00 80 05 04 18 */ lwz r0, 0x418(r5)
+/* 802E3FA4 002DFC04 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
+/* 802E3FA8 002DFC08 98 1F 00 07 */ stb r0, 7(r31)
+/* 802E3FAC 002DFC0C A0 1A 04 6E */ lhz r0, 0x46e(r26)
+/* 802E3FB0 002DFC10 54 00 10 3A */ slwi r0, r0, 2
+/* 802E3FB4 002DFC14 7C BA 02 14 */ add r5, r26, r0
+/* 802E3FB8 002DFC18 80 05 04 18 */ lwz r0, 0x418(r5)
+/* 802E3FBC 002DFC1C 98 1F 00 08 */ stb r0, 8(r31)
+/* 802E3FC0 002DFC20 A0 04 46 2C */ lhz r0, 0x462c(r4)
+/* 802E3FC4 002DFC24 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E3FC8 002DFC28 98 1F 00 09 */ stb r0, 9(r31)
+/* 802E3FCC 002DFC2C A0 04 46 2C */ lhz r0, 0x462c(r4)
+/* 802E3FD0 002DFC30 98 1F 00 0A */ stb r0, 0xa(r31)
+/* 802E3FD4 002DFC34 80 9A 04 10 */ lwz r4, 0x410(r26)
+/* 802E3FD8 002DFC38 A0 A4 00 4C */ lhz r5, 0x4c(r4)
+/* 802E3FDC 002DFC3C 2C 05 00 00 */ cmpwi r5, 0
+/* 802E3FE0 002DFC40 41 82 00 14 */ beq lbl_802E3FF4
+/* 802E3FE4 002DFC44 38 84 00 4E */ addi r4, r4, 0x4e
+/* 802E3FE8 002DFC48 48 00 25 65 */ bl sdpu_build_attrib_seq
+/* 802E3FEC 002DFC4C 7C 79 1B 78 */ mr r25, r3
+/* 802E3FF0 002DFC50 48 00 00 14 */ b lbl_802E4004
+lbl_802E3FF4:
+/* 802E3FF4 002DFC54 38 80 00 00 */ li r4, 0
+/* 802E3FF8 002DFC58 38 A0 00 00 */ li r5, 0
+/* 802E3FFC 002DFC5C 48 00 25 51 */ bl sdpu_build_attrib_seq
+/* 802E4000 002DFC60 7C 79 1B 78 */ mr r25, r3
+lbl_802E4004:
+/* 802E4004 002DFC64 2C 1D 00 00 */ cmpwi r29, 0
+/* 802E4008 002DFC68 41 82 00 28 */ beq lbl_802E4030
+/* 802E400C 002DFC6C 88 BB 00 00 */ lbz r5, 0(r27)
+/* 802E4010 002DFC70 7F 23 CB 78 */ mr r3, r25
+/* 802E4014 002DFC74 7F 64 DB 78 */ mr r4, r27
+/* 802E4018 002DFC78 38 A5 00 01 */ addi r5, r5, 1
+/* 802E401C 002DFC7C 4B D1 FF E5 */ bl memcpy
+/* 802E4020 002DFC80 88 1B 00 00 */ lbz r0, 0(r27)
+/* 802E4024 002DFC84 7C 60 CA 14 */ add r3, r0, r25
+/* 802E4028 002DFC88 38 83 00 01 */ addi r4, r3, 1
+/* 802E402C 002DFC8C 48 00 00 10 */ b lbl_802E403C
+lbl_802E4030:
+/* 802E4030 002DFC90 38 00 00 00 */ li r0, 0
+/* 802E4034 002DFC94 38 99 00 01 */ addi r4, r25, 1
+/* 802E4038 002DFC98 98 19 00 00 */ stb r0, 0(r25)
+lbl_802E403C:
+/* 802E403C 002DFC9C 7C 7E 20 50 */ subf r3, r30, r4
+/* 802E4040 002DFCA0 7C 1F 20 50 */ subf r0, r31, r4
+/* 802E4044 002DFCA4 38 A3 FF FE */ addi r5, r3, -2
+/* 802E4048 002DFCA8 7F 84 E3 78 */ mr r4, r28
+/* 802E404C 002DFCAC 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
+/* 802E4050 002DFCB0 98 7E 00 00 */ stb r3, 0(r30)
+/* 802E4054 002DFCB4 98 BE 00 01 */ stb r5, 1(r30)
+/* 802E4058 002DFCB8 B0 1C 00 02 */ sth r0, 2(r28)
+/* 802E405C 002DFCBC A0 7A 00 22 */ lhz r3, 0x22(r26)
+/* 802E4060 002DFCC0 4B FF 20 91 */ bl L2CA_DataWrite
+/* 802E4064 002DFCC4 38 7A 00 08 */ addi r3, r26, 8
+/* 802E4068 002DFCC8 38 80 00 05 */ li r4, 5
+/* 802E406C 002DFCCC 38 A0 00 1E */ li r5, 0x1e
+/* 802E4070 002DFCD0 4B FD 94 6D */ bl btu_start_timer
+/* 802E4074 002DFCD4 48 00 00 10 */ b lbl_802E4084
+lbl_802E4078:
+/* 802E4078 002DFCD8 7F 43 D3 78 */ mr r3, r26
+/* 802E407C 002DFCDC 38 80 00 00 */ li r4, 0
+/* 802E4080 002DFCE0 48 00 14 A1 */ bl sdp_disconnect
+lbl_802E4084:
+/* 802E4084 002DFCE4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E4088 002DFCE8 4B EE 30 E5 */ bl _restgpr_25
+/* 802E408C 002DFCEC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E4090 002DFCF0 7C 08 03 A6 */ mtlr r0
+/* 802E4094 002DFCF4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E4098 002DFCF8 4E 80 00 20 */ blr
+
+.global process_service_search_attr_rsp
+process_service_search_attr_rsp:
+/* 802E409C 002DFCFC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E40A0 002DFD00 7C 08 02 A6 */ mflr r0
+/* 802E40A4 002DFD04 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E40A8 002DFD08 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E40AC 002DFD0C 4B EE 30 79 */ bl _savegpr_26
+/* 802E40B0 002DFD10 2C 04 00 00 */ cmpwi r4, 0
+/* 802E40B4 002DFD14 7C 7B 1B 78 */ mr r27, r3
+/* 802E40B8 002DFD18 7C 9C 23 78 */ mr r28, r4
+/* 802E40BC 002DFD1C 3B A0 00 00 */ li r29, 0
+/* 802E40C0 002DFD20 41 82 00 80 */ beq lbl_802E4140
+/* 802E40C4 002DFD24 88 A4 00 04 */ lbz r5, 4(r4)
+/* 802E40C8 002DFD28 3B 84 00 06 */ addi r28, r4, 6
+/* 802E40CC 002DFD2C 88 04 00 05 */ lbz r0, 5(r4)
+/* 802E40D0 002DFD30 54 A4 40 2E */ slwi r4, r5, 8
+/* 802E40D4 002DFD34 A0 A3 00 24 */ lhz r5, 0x24(r3)
+/* 802E40D8 002DFD38 7C 04 02 14 */ add r0, r4, r0
+/* 802E40DC 002DFD3C 54 1A 04 3E */ clrlwi r26, r0, 0x10
+/* 802E40E0 002DFD40 7C 05 D2 14 */ add r0, r5, r26
+/* 802E40E4 002DFD44 2C 00 03 E8 */ cmpwi r0, 0x3e8
+/* 802E40E8 002DFD48 40 81 00 10 */ ble lbl_802E40F8
+/* 802E40EC 002DFD4C 38 80 00 04 */ li r4, 4
+/* 802E40F0 002DFD50 48 00 14 31 */ bl sdp_disconnect
+/* 802E40F4 002DFD54 48 00 02 64 */ b lbl_802E4358
+lbl_802E40F8:
+/* 802E40F8 002DFD58 7C 63 2A 14 */ add r3, r3, r5
+/* 802E40FC 002DFD5C 7F 84 E3 78 */ mr r4, r28
+/* 802E4100 002DFD60 7F 45 D3 78 */ mr r5, r26
+/* 802E4104 002DFD64 38 63 00 26 */ addi r3, r3, 0x26
+/* 802E4108 002DFD68 4B D1 FE F9 */ bl memcpy
+/* 802E410C 002DFD6C A0 1B 00 24 */ lhz r0, 0x24(r27)
+/* 802E4110 002DFD70 7C 00 D2 14 */ add r0, r0, r26
+/* 802E4114 002DFD74 B0 1B 00 24 */ sth r0, 0x24(r27)
+/* 802E4118 002DFD78 7C 1C D0 EE */ lbzux r0, r28, r26
+/* 802E411C 002DFD7C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E4120 002DFD80 41 82 00 20 */ beq lbl_802E4140
+/* 802E4124 002DFD84 28 00 00 10 */ cmplwi r0, 0x10
+/* 802E4128 002DFD88 40 81 00 14 */ ble lbl_802E413C
+/* 802E412C 002DFD8C 7F 63 DB 78 */ mr r3, r27
+/* 802E4130 002DFD90 38 80 00 05 */ li r4, 5
+/* 802E4134 002DFD94 48 00 13 ED */ bl sdp_disconnect
+/* 802E4138 002DFD98 48 00 02 20 */ b lbl_802E4358
+lbl_802E413C:
+/* 802E413C 002DFD9C 3B A0 00 01 */ li r29, 1
+lbl_802E4140:
+/* 802E4140 002DFDA0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802E4144 002DFDA4 40 82 00 0C */ bne lbl_802E4150
+/* 802E4148 002DFDA8 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E414C 002DFDAC 40 82 01 40 */ bne lbl_802E428C
+lbl_802E4150:
+/* 802E4150 002DFDB0 38 60 00 02 */ li r3, 2
+/* 802E4154 002DFDB4 4B FD 5A F9 */ bl GKI_getpoolbuf
+/* 802E4158 002DFDB8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E415C 002DFDBC 7C 7E 1B 78 */ mr r30, r3
+/* 802E4160 002DFDC0 40 82 00 14 */ bne lbl_802E4174
+/* 802E4164 002DFDC4 7F 63 DB 78 */ mr r3, r27
+/* 802E4168 002DFDC8 38 80 00 06 */ li r4, 6
+/* 802E416C 002DFDCC 48 00 13 B5 */ bl sdp_disconnect
+/* 802E4170 002DFDD0 48 00 01 E8 */ b lbl_802E4358
+lbl_802E4174:
+/* 802E4174 002DFDD4 38 00 00 09 */ li r0, 9
+/* 802E4178 002DFDD8 3B E3 00 11 */ addi r31, r3, 0x11
+/* 802E417C 002DFDDC B0 03 00 04 */ sth r0, 4(r3)
+/* 802E4180 002DFDE0 38 00 00 06 */ li r0, 6
+/* 802E4184 002DFDE4 3B BF 00 03 */ addi r29, r31, 3
+/* 802E4188 002DFDE8 98 03 00 11 */ stb r0, 0x11(r3)
+/* 802E418C 002DFDEC 38 7D 00 02 */ addi r3, r29, 2
+/* 802E4190 002DFDF0 A0 1B 04 70 */ lhz r0, 0x470(r27)
+/* 802E4194 002DFDF4 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E4198 002DFDF8 98 1F 00 01 */ stb r0, 1(r31)
+/* 802E419C 002DFDFC A0 1B 04 70 */ lhz r0, 0x470(r27)
+/* 802E41A0 002DFE00 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E41A4 002DFE04 A0 9B 04 70 */ lhz r4, 0x470(r27)
+/* 802E41A8 002DFE08 80 DB 04 10 */ lwz r6, 0x410(r27)
+/* 802E41AC 002DFE0C 38 04 00 01 */ addi r0, r4, 1
+/* 802E41B0 002DFE10 B0 1B 04 70 */ sth r0, 0x470(r27)
+/* 802E41B4 002DFE14 38 A6 00 10 */ addi r5, r6, 0x10
+/* 802E41B8 002DFE18 A0 86 00 0C */ lhz r4, 0xc(r6)
+/* 802E41BC 002DFE1C 4B FF F7 61 */ bl sdpu_build_uuid_seq
+/* 802E41C0 002DFE20 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E41C4 002DFE24 38 C3 00 02 */ addi r6, r3, 2
+/* 802E41C8 002DFE28 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E41CC 002DFE2C A0 04 46 2C */ lhz r0, 0x462c(r4)
+/* 802E41D0 002DFE30 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E41D4 002DFE34 98 03 00 00 */ stb r0, 0(r3)
+/* 802E41D8 002DFE38 A0 04 46 2C */ lhz r0, 0x462c(r4)
+/* 802E41DC 002DFE3C 98 03 00 01 */ stb r0, 1(r3)
+/* 802E41E0 002DFE40 80 9B 04 10 */ lwz r4, 0x410(r27)
+/* 802E41E4 002DFE44 A0 A4 00 4C */ lhz r5, 0x4c(r4)
+/* 802E41E8 002DFE48 2C 05 00 00 */ cmpwi r5, 0
+/* 802E41EC 002DFE4C 41 82 00 18 */ beq lbl_802E4204
+/* 802E41F0 002DFE50 7C C3 33 78 */ mr r3, r6
+/* 802E41F4 002DFE54 38 84 00 4E */ addi r4, r4, 0x4e
+/* 802E41F8 002DFE58 48 00 23 55 */ bl sdpu_build_attrib_seq
+/* 802E41FC 002DFE5C 7C 7A 1B 78 */ mr r26, r3
+/* 802E4200 002DFE60 48 00 00 18 */ b lbl_802E4218
+lbl_802E4204:
+/* 802E4204 002DFE64 7C C3 33 78 */ mr r3, r6
+/* 802E4208 002DFE68 38 80 00 00 */ li r4, 0
+/* 802E420C 002DFE6C 38 A0 00 00 */ li r5, 0
+/* 802E4210 002DFE70 48 00 23 3D */ bl sdpu_build_attrib_seq
+/* 802E4214 002DFE74 7C 7A 1B 78 */ mr r26, r3
+lbl_802E4218:
+/* 802E4218 002DFE78 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E421C 002DFE7C 41 82 00 28 */ beq lbl_802E4244
+/* 802E4220 002DFE80 88 BC 00 00 */ lbz r5, 0(r28)
+/* 802E4224 002DFE84 7F 43 D3 78 */ mr r3, r26
+/* 802E4228 002DFE88 7F 84 E3 78 */ mr r4, r28
+/* 802E422C 002DFE8C 38 A5 00 01 */ addi r5, r5, 1
+/* 802E4230 002DFE90 4B D1 FD D1 */ bl memcpy
+/* 802E4234 002DFE94 88 1C 00 00 */ lbz r0, 0(r28)
+/* 802E4238 002DFE98 7C 60 D2 14 */ add r3, r0, r26
+/* 802E423C 002DFE9C 38 83 00 01 */ addi r4, r3, 1
+/* 802E4240 002DFEA0 48 00 00 10 */ b lbl_802E4250
+lbl_802E4244:
+/* 802E4244 002DFEA4 38 00 00 00 */ li r0, 0
+/* 802E4248 002DFEA8 38 9A 00 01 */ addi r4, r26, 1
+/* 802E424C 002DFEAC 98 1A 00 00 */ stb r0, 0(r26)
+lbl_802E4250:
+/* 802E4250 002DFEB0 7C 7D 20 50 */ subf r3, r29, r4
+/* 802E4254 002DFEB4 7C 1F 20 50 */ subf r0, r31, r4
+/* 802E4258 002DFEB8 38 A3 FF FE */ addi r5, r3, -2
+/* 802E425C 002DFEBC 7F C4 F3 78 */ mr r4, r30
+/* 802E4260 002DFEC0 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
+/* 802E4264 002DFEC4 98 7D 00 00 */ stb r3, 0(r29)
+/* 802E4268 002DFEC8 98 BD 00 01 */ stb r5, 1(r29)
+/* 802E426C 002DFECC B0 1E 00 02 */ sth r0, 2(r30)
+/* 802E4270 002DFED0 A0 7B 00 22 */ lhz r3, 0x22(r27)
+/* 802E4274 002DFED4 4B FF 1E 7D */ bl L2CA_DataWrite
+/* 802E4278 002DFED8 38 7B 00 08 */ addi r3, r27, 8
+/* 802E427C 002DFEDC 38 80 00 05 */ li r4, 5
+/* 802E4280 002DFEE0 38 A0 00 1E */ li r5, 0x1e
+/* 802E4284 002DFEE4 4B FD 92 59 */ bl btu_start_timer
+/* 802E4288 002DFEE8 48 00 00 D0 */ b lbl_802E4358
+lbl_802E428C:
+/* 802E428C 002DFEEC 88 BB 00 26 */ lbz r5, 0x26(r27)
+/* 802E4290 002DFEF0 38 7B 00 27 */ addi r3, r27, 0x27
+/* 802E4294 002DFEF4 7C A0 1E 70 */ srawi r0, r5, 3
+/* 802E4298 002DFEF8 2C 00 00 06 */ cmpwi r0, 6
+/* 802E429C 002DFEFC 41 82 00 30 */ beq lbl_802E42CC
+/* 802E42A0 002DFF00 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E42A4 002DFF04 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E42A8 002DFF08 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E42AC 002DFF0C 28 00 00 02 */ cmplwi r0, 2
+/* 802E42B0 002DFF10 41 80 00 A8 */ blt lbl_802E4358
+/* 802E42B4 002DFF14 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E42B8 002DFF18 3C 80 80 44 */ lis r4, lbl_80445098@ha
+/* 802E42BC 002DFF1C 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E42C0 002DFF20 38 84 50 98 */ addi r4, r4, lbl_80445098@l
+/* 802E42C4 002DFF24 4B FD 8C 65 */ bl LogMsg_1
+/* 802E42C8 002DFF28 48 00 00 90 */ b lbl_802E4358
+lbl_802E42CC:
+/* 802E42CC 002DFF2C 7C A4 2B 78 */ mr r4, r5
+/* 802E42D0 002DFF30 38 A1 00 08 */ addi r5, r1, 8
+/* 802E42D4 002DFF34 48 00 2C 79 */ bl sdpu_get_len_from_type
+/* 802E42D8 002DFF38 A0 BB 00 24 */ lhz r5, 0x24(r27)
+/* 802E42DC 002DFF3C 7C 64 1B 78 */ mr r4, r3
+/* 802E42E0 002DFF40 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E42E4 002DFF44 7C BB 2A 14 */ add r5, r27, r5
+/* 802E42E8 002DFF48 3B 45 00 26 */ addi r26, r5, 0x26
+/* 802E42EC 002DFF4C 7C 03 02 14 */ add r0, r3, r0
+/* 802E42F0 002DFF50 7C 00 D0 40 */ cmplw r0, r26
+/* 802E42F4 002DFF54 41 82 00 50 */ beq lbl_802E4344
+/* 802E42F8 002DFF58 7F 63 DB 78 */ mr r3, r27
+/* 802E42FC 002DFF5C 38 80 00 05 */ li r4, 5
+/* 802E4300 002DFF60 48 00 12 21 */ bl sdp_disconnect
+/* 802E4304 002DFF64 48 00 00 54 */ b lbl_802E4358
+/* 802E4308 002DFF68 48 00 00 3C */ b lbl_802E4344
+lbl_802E430C:
+/* 802E430C 002DFF6C A0 1B 00 24 */ lhz r0, 0x24(r27)
+/* 802E4310 002DFF70 7F 63 DB 78 */ mr r3, r27
+/* 802E4314 002DFF74 7C BB 02 14 */ add r5, r27, r0
+/* 802E4318 002DFF78 38 A5 00 26 */ addi r5, r5, 0x26
+/* 802E431C 002DFF7C 48 00 00 55 */ bl save_attr_seq
+/* 802E4320 002DFF80 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4324 002DFF84 7C 64 1B 78 */ mr r4, r3
+/* 802E4328 002DFF88 40 82 00 1C */ bne lbl_802E4344
+/* 802E432C 002DFF8C 3C 80 00 01 */ lis r4, 0x0000FFF4@ha
+/* 802E4330 002DFF90 7F 63 DB 78 */ mr r3, r27
+/* 802E4334 002DFF94 38 04 FF F4 */ addi r0, r4, 0x0000FFF4@l
+/* 802E4338 002DFF98 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E433C 002DFF9C 48 00 11 E5 */ bl sdp_disconnect
+/* 802E4340 002DFFA0 48 00 00 18 */ b lbl_802E4358
+lbl_802E4344:
+/* 802E4344 002DFFA4 7C 04 D0 40 */ cmplw r4, r26
+/* 802E4348 002DFFA8 41 80 FF C4 */ blt lbl_802E430C
+/* 802E434C 002DFFAC 7F 63 DB 78 */ mr r3, r27
+/* 802E4350 002DFFB0 38 80 00 00 */ li r4, 0
+/* 802E4354 002DFFB4 48 00 11 CD */ bl sdp_disconnect
+lbl_802E4358:
+/* 802E4358 002DFFB8 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E435C 002DFFBC 4B EE 2E 15 */ bl _restgpr_26
+/* 802E4360 002DFFC0 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E4364 002DFFC4 7C 08 03 A6 */ mtlr r0
+/* 802E4368 002DFFC8 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E436C 002DFFCC 4E 80 00 20 */ blr
+
+.global save_attr_seq
+save_attr_seq:
+/* 802E4370 002DFFD0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E4374 002DFFD4 7C 08 02 A6 */ mflr r0
+/* 802E4378 002DFFD8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E437C 002DFFDC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E4380 002DFFE0 4B EE 2D A5 */ bl _savegpr_26
+/* 802E4384 002DFFE4 88 C4 00 00 */ lbz r6, 0(r4)
+/* 802E4388 002DFFE8 3F E0 80 44 */ lis r31, lbl_80445048@ha
+/* 802E438C 002DFFEC 7C 7A 1B 78 */ mr r26, r3
+/* 802E4390 002DFFF0 7C BB 2B 78 */ mr r27, r5
+/* 802E4394 002DFFF4 7C C0 1E 70 */ srawi r0, r6, 3
+/* 802E4398 002DFFF8 3B FF 50 48 */ addi r31, r31, lbl_80445048@l
+/* 802E439C 002DFFFC 2C 00 00 06 */ cmpwi r0, 6
+/* 802E43A0 002E0000 38 64 00 01 */ addi r3, r4, 1
+/* 802E43A4 002E0004 41 82 00 34 */ beq lbl_802E43D8
+/* 802E43A8 002E0008 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E43AC 002E000C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E43B0 002E0010 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E43B4 002E0014 28 00 00 02 */ cmplwi r0, 2
+/* 802E43B8 002E0018 41 80 00 18 */ blt lbl_802E43D0
+/* 802E43BC 002E001C 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E43C0 002E0020 7C C5 33 78 */ mr r5, r6
+/* 802E43C4 002E0024 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E43C8 002E0028 38 9F 00 50 */ addi r4, r31, 0x50
+/* 802E43CC 002E002C 4B FD 8B 5D */ bl LogMsg_1
+lbl_802E43D0:
+/* 802E43D0 002E0030 38 60 00 00 */ li r3, 0
+/* 802E43D4 002E0034 48 00 01 70 */ b lbl_802E4544
+lbl_802E43D8:
+/* 802E43D8 002E0038 7C C4 33 78 */ mr r4, r6
+/* 802E43DC 002E003C 38 A1 00 0C */ addi r5, r1, 0xc
+/* 802E43E0 002E0040 48 00 2B 6D */ bl sdpu_get_len_from_type
+/* 802E43E4 002E0044 80 A1 00 0C */ lwz r5, 0xc(r1)
+/* 802E43E8 002E0048 7C 7E 1B 78 */ mr r30, r3
+/* 802E43EC 002E004C 7C 03 2A 14 */ add r0, r3, r5
+/* 802E43F0 002E0050 7C 00 D8 40 */ cmplw r0, r27
+/* 802E43F4 002E0054 40 81 00 30 */ ble lbl_802E4424
+/* 802E43F8 002E0058 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E43FC 002E005C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4400 002E0060 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4404 002E0064 28 00 00 02 */ cmplwi r0, 2
+/* 802E4408 002E0068 41 80 00 14 */ blt lbl_802E441C
+/* 802E440C 002E006C 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4410 002E0070 38 9F 00 78 */ addi r4, r31, 0x78
+/* 802E4414 002E0074 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E4418 002E0078 4B FD 8B 11 */ bl LogMsg_1
+lbl_802E441C:
+/* 802E441C 002E007C 38 60 00 00 */ li r3, 0
+/* 802E4420 002E0080 48 00 01 24 */ b lbl_802E4544
+lbl_802E4424:
+/* 802E4424 002E0084 80 7A 04 10 */ lwz r3, 0x410(r26)
+/* 802E4428 002E0088 38 9A 00 02 */ addi r4, r26, 2
+/* 802E442C 002E008C 48 00 01 31 */ bl add_record
+/* 802E4430 002E0090 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4434 002E0094 7C 7B 1B 78 */ mr r27, r3
+/* 802E4438 002E0098 40 82 00 30 */ bne lbl_802E4468
+/* 802E443C 002E009C 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E4440 002E00A0 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4444 002E00A4 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4448 002E00A8 28 00 00 02 */ cmplwi r0, 2
+/* 802E444C 002E00AC 41 80 00 14 */ blt lbl_802E4460
+/* 802E4450 002E00B0 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4454 002E00B4 38 9F 00 98 */ addi r4, r31, 0x98
+/* 802E4458 002E00B8 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E445C 002E00BC 4B FD 8A B5 */ bl LogMsg_0
+lbl_802E4460:
+/* 802E4460 002E00C0 38 60 00 00 */ li r3, 0
+/* 802E4464 002E00C4 48 00 00 E0 */ b lbl_802E4544
+lbl_802E4468:
+/* 802E4468 002E00C8 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 802E446C 002E00CC 7F 9E 02 14 */ add r28, r30, r0
+/* 802E4470 002E00D0 48 00 00 C8 */ b lbl_802E4538
+lbl_802E4474:
+/* 802E4474 002E00D4 8B BE 00 00 */ lbz r29, 0(r30)
+/* 802E4478 002E00D8 38 7E 00 01 */ addi r3, r30, 1
+/* 802E447C 002E00DC 38 A1 00 08 */ addi r5, r1, 8
+/* 802E4480 002E00E0 7F A4 EB 78 */ mr r4, r29
+/* 802E4484 002E00E4 48 00 2A C9 */ bl sdpu_get_len_from_type
+/* 802E4488 002E00E8 57 A0 EE FE */ rlwinm r0, r29, 0x1d, 0x1b, 0x1f
+/* 802E448C 002E00EC 2C 00 00 01 */ cmpwi r0, 1
+/* 802E4490 002E00F0 40 82 00 10 */ bne lbl_802E44A0
+/* 802E4494 002E00F4 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E4498 002E00F8 28 00 00 02 */ cmplwi r0, 2
+/* 802E449C 002E00FC 41 82 00 38 */ beq lbl_802E44D4
+lbl_802E44A0:
+/* 802E44A0 002E0100 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E44A4 002E0104 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E44A8 002E0108 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E44AC 002E010C 28 00 00 02 */ cmplwi r0, 2
+/* 802E44B0 002E0110 41 80 00 1C */ blt lbl_802E44CC
+/* 802E44B4 002E0114 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E44B8 002E0118 80 C1 00 08 */ lwz r6, 8(r1)
+/* 802E44BC 002E011C 7F A5 EB 78 */ mr r5, r29
+/* 802E44C0 002E0120 38 9F 00 A8 */ addi r4, r31, 0xa8
+/* 802E44C4 002E0124 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E44C8 002E0128 4B FD 8A 79 */ bl LogMsg_2
+lbl_802E44CC:
+/* 802E44CC 002E012C 38 60 00 00 */ li r3, 0
+/* 802E44D0 002E0130 48 00 00 74 */ b lbl_802E4544
+lbl_802E44D4:
+/* 802E44D4 002E0134 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E44D8 002E0138 7F 65 DB 78 */ mr r5, r27
+/* 802E44DC 002E013C 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E44E0 002E0140 38 E0 00 00 */ li r7, 0
+/* 802E44E4 002E0144 54 86 40 2E */ slwi r6, r4, 8
+/* 802E44E8 002E0148 80 9A 04 10 */ lwz r4, 0x410(r26)
+/* 802E44EC 002E014C 7C 06 02 14 */ add r0, r6, r0
+/* 802E44F0 002E0150 39 00 00 00 */ li r8, 0
+/* 802E44F4 002E0154 54 06 04 3E */ clrlwi r6, r0, 0x10
+/* 802E44F8 002E0158 38 63 00 02 */ addi r3, r3, 2
+/* 802E44FC 002E015C 48 00 01 01 */ bl add_attr
+/* 802E4500 002E0160 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4504 002E0164 7C 7E 1B 78 */ mr r30, r3
+/* 802E4508 002E0168 40 82 00 30 */ bne lbl_802E4538
+/* 802E450C 002E016C 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E4510 002E0170 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4514 002E0174 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4518 002E0178 28 00 00 02 */ cmplwi r0, 2
+/* 802E451C 002E017C 41 80 00 14 */ blt lbl_802E4530
+/* 802E4520 002E0180 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4524 002E0184 38 9F 00 98 */ addi r4, r31, 0x98
+/* 802E4528 002E0188 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E452C 002E018C 4B FD 89 E5 */ bl LogMsg_0
+lbl_802E4530:
+/* 802E4530 002E0190 38 60 00 00 */ li r3, 0
+/* 802E4534 002E0194 48 00 00 10 */ b lbl_802E4544
+lbl_802E4538:
+/* 802E4538 002E0198 7C 1E E0 40 */ cmplw r30, r28
+/* 802E453C 002E019C 41 80 FF 38 */ blt lbl_802E4474
+/* 802E4540 002E01A0 7F C3 F3 78 */ mr r3, r30
+lbl_802E4544:
+/* 802E4544 002E01A4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E4548 002E01A8 4B EE 2C 29 */ bl _restgpr_26
+/* 802E454C 002E01AC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E4550 002E01B0 7C 08 03 A6 */ mtlr r0
+/* 802E4554 002E01B4 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E4558 002E01B8 4E 80 00 20 */ blr
+
+.global add_record
+add_record:
+/* 802E455C 002E01BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E4560 002E01C0 7C 08 02 A6 */ mflr r0
+/* 802E4564 002E01C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E4568 002E01C8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E456C 002E01CC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E4570 002E01D0 7C 7E 1B 78 */ mr r30, r3
+/* 802E4574 002E01D4 80 A3 00 04 */ lwz r5, 4(r3)
+/* 802E4578 002E01D8 28 05 00 14 */ cmplwi r5, 0x14
+/* 802E457C 002E01DC 40 80 00 0C */ bge lbl_802E4588
+/* 802E4580 002E01E0 38 60 00 00 */ li r3, 0
+/* 802E4584 002E01E4 48 00 00 60 */ b lbl_802E45E4
+lbl_802E4588:
+/* 802E4588 002E01E8 83 E3 00 68 */ lwz r31, 0x68(r3)
+/* 802E458C 002E01EC 38 05 FF EC */ addi r0, r5, -20
+/* 802E4590 002E01F0 90 03 00 04 */ stw r0, 4(r3)
+/* 802E4594 002E01F4 38 00 00 00 */ li r0, 0
+/* 802E4598 002E01F8 38 DF 00 14 */ addi r6, r31, 0x14
+/* 802E459C 002E01FC 38 A0 00 06 */ li r5, 6
+/* 802E45A0 002E0200 90 C3 00 68 */ stw r6, 0x68(r3)
+/* 802E45A4 002E0204 38 7F 00 0C */ addi r3, r31, 0xc
+/* 802E45A8 002E0208 90 1F 00 00 */ stw r0, 0(r31)
+/* 802E45AC 002E020C 90 1F 00 04 */ stw r0, 4(r31)
+/* 802E45B0 002E0210 4B D1 FA 51 */ bl memcpy
+/* 802E45B4 002E0214 80 7E 00 08 */ lwz r3, 8(r30)
+/* 802E45B8 002E0218 2C 03 00 00 */ cmpwi r3, 0
+/* 802E45BC 002E021C 40 82 00 14 */ bne lbl_802E45D0
+/* 802E45C0 002E0220 93 FE 00 08 */ stw r31, 8(r30)
+/* 802E45C4 002E0224 48 00 00 1C */ b lbl_802E45E0
+/* 802E45C8 002E0228 48 00 00 08 */ b lbl_802E45D0
+lbl_802E45CC:
+/* 802E45CC 002E022C 7C 03 03 78 */ mr r3, r0
+lbl_802E45D0:
+/* 802E45D0 002E0230 80 03 00 04 */ lwz r0, 4(r3)
+/* 802E45D4 002E0234 2C 00 00 00 */ cmpwi r0, 0
+/* 802E45D8 002E0238 40 82 FF F4 */ bne lbl_802E45CC
+/* 802E45DC 002E023C 93 E3 00 04 */ stw r31, 4(r3)
+lbl_802E45E0:
+/* 802E45E0 002E0240 7F E3 FB 78 */ mr r3, r31
+lbl_802E45E4:
+/* 802E45E4 002E0244 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E45E8 002E0248 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E45EC 002E024C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E45F0 002E0250 7C 08 03 A6 */ mtlr r0
+/* 802E45F4 002E0254 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E45F8 002E0258 4E 80 00 20 */ blr
+
+.global add_attr
+add_attr:
+/* 802E45FC 002E025C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802E4600 002E0260 7C 08 02 A6 */ mflr r0
+/* 802E4604 002E0264 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802E4608 002E0268 39 61 00 40 */ addi r11, r1, 0x40
+/* 802E460C 002E026C 4B EE 2B 05 */ bl _savegpr_21
+/* 802E4610 002E0270 8A A3 00 00 */ lbz r21, 0(r3)
+/* 802E4614 002E0274 3F E0 80 44 */ lis r31, lbl_80445048@ha
+/* 802E4618 002E0278 7C 97 23 78 */ mr r23, r4
+/* 802E461C 002E027C 7C B8 2B 78 */ mr r24, r5
+/* 802E4620 002E0280 7C D9 33 78 */ mr r25, r6
+/* 802E4624 002E0284 7C FA 3B 78 */ mr r26, r7
+/* 802E4628 002E0288 7E A4 AB 78 */ mr r4, r21
+/* 802E462C 002E028C 3B FF 50 48 */ addi r31, r31, lbl_80445048@l
+/* 802E4630 002E0290 55 1C 06 30 */ rlwinm r28, r8, 0, 0x18, 0x18
+/* 802E4634 002E0294 55 1B 06 7E */ clrlwi r27, r8, 0x19
+/* 802E4638 002E0298 38 A1 00 08 */ addi r5, r1, 8
+/* 802E463C 002E029C 38 63 00 01 */ addi r3, r3, 1
+/* 802E4640 002E02A0 48 00 29 0D */ bl sdpu_get_len_from_type
+/* 802E4644 002E02A4 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E4648 002E02A8 7C 76 1B 78 */ mr r22, r3
+/* 802E464C 002E02AC 56 A6 EF 3E */ rlwinm r6, r21, 0x1d, 0x1c, 0x1f
+/* 802E4650 002E02B0 38 80 00 0C */ li r4, 0xc
+/* 802E4654 002E02B4 54 05 05 3E */ clrlwi r5, r0, 0x14
+/* 802E4658 002E02B8 28 05 00 04 */ cmplwi r5, 4
+/* 802E465C 002E02BC 90 A1 00 08 */ stw r5, 8(r1)
+/* 802E4660 002E02C0 40 81 00 08 */ ble lbl_802E4668
+/* 802E4664 002E02C4 38 85 00 08 */ addi r4, r5, 8
+lbl_802E4668:
+/* 802E4668 002E02C8 38 84 00 03 */ addi r4, r4, 3
+/* 802E466C 002E02CC 80 17 00 04 */ lwz r0, 4(r23)
+/* 802E4670 002E02D0 54 9E 00 3A */ rlwinm r30, r4, 0, 0, 0x1d
+/* 802E4674 002E02D4 7C 00 F0 40 */ cmplw r0, r30
+/* 802E4678 002E02D8 40 80 00 0C */ bge lbl_802E4684
+/* 802E467C 002E02DC 38 60 00 00 */ li r3, 0
+/* 802E4680 002E02E0 48 00 04 FC */ b lbl_802E4B7C
+lbl_802E4684:
+/* 802E4684 002E02E4 83 B7 00 68 */ lwz r29, 0x68(r23)
+/* 802E4688 002E02E8 54 C0 61 26 */ rlwinm r0, r6, 0xc, 4, 0x13
+/* 802E468C 002E02EC 28 06 00 08 */ cmplwi r6, 8
+/* 802E4690 002E02F0 38 80 00 00 */ li r4, 0
+/* 802E4694 002E02F4 B3 3D 00 04 */ sth r25, 4(r29)
+/* 802E4698 002E02F8 80 A1 00 08 */ lwz r5, 8(r1)
+/* 802E469C 002E02FC 54 A5 04 3E */ clrlwi r5, r5, 0x10
+/* 802E46A0 002E0300 7C A5 03 78 */ or r5, r5, r0
+/* 802E46A4 002E0304 B0 BD 00 06 */ sth r5, 6(r29)
+/* 802E46A8 002E0308 90 9D 00 00 */ stw r4, 0(r29)
+/* 802E46AC 002E030C 41 81 04 50 */ bgt lbl_802E4AFC
+/* 802E46B0 002E0310 3C A0 80 44 */ lis r5, lbl_80445180@ha
+/* 802E46B4 002E0314 54 C4 10 3A */ slwi r4, r6, 2
+/* 802E46B8 002E0318 38 A5 51 80 */ addi r5, r5, lbl_80445180@l
+/* 802E46BC 002E031C 7C A5 20 2E */ lwzx r5, r5, r4
+/* 802E46C0 002E0320 7C A9 03 A6 */ mtctr r5
+/* 802E46C4 002E0324 4E 80 04 20 */ bctr
+/* 802E46C8 002E0328 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E46CC 002E032C 41 82 00 AC */ beq lbl_802E4778
+/* 802E46D0 002E0330 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E46D4 002E0334 28 00 00 02 */ cmplwi r0, 2
+/* 802E46D8 002E0338 40 82 00 A0 */ bne lbl_802E4778
+/* 802E46DC 002E033C 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E46E0 002E0340 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E46E4 002E0344 54 84 40 2E */ slwi r4, r4, 8
+/* 802E46E8 002E0348 7C 04 02 14 */ add r0, r4, r0
+/* 802E46EC 002E034C 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E46F0 002E0350 28 00 00 04 */ cmplwi r0, 4
+/* 802E46F4 002E0354 40 82 00 84 */ bne lbl_802E4778
+/* 802E46F8 002E0358 80 B7 00 68 */ lwz r5, 0x68(r23)
+/* 802E46FC 002E035C 28 1B 00 05 */ cmplwi r27, 5
+/* 802E4700 002E0360 80 97 00 04 */ lwz r4, 4(r23)
+/* 802E4704 002E0364 3B C0 00 00 */ li r30, 0
+/* 802E4708 002E0368 38 A5 00 0C */ addi r5, r5, 0xc
+/* 802E470C 002E036C 38 04 FF F4 */ addi r0, r4, -12
+/* 802E4710 002E0370 90 B7 00 68 */ stw r5, 0x68(r23)
+/* 802E4714 002E0374 90 17 00 04 */ stw r0, 4(r23)
+/* 802E4718 002E0378 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E471C 002E037C 7C 83 02 14 */ add r4, r3, r0
+/* 802E4720 002E0380 3A A4 00 02 */ addi r21, r4, 2
+/* 802E4724 002E0384 41 80 00 2C */ blt lbl_802E4750
+/* 802E4728 002E0388 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E472C 002E038C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4730 002E0390 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4734 002E0394 28 00 00 01 */ cmplwi r0, 1
+/* 802E4738 002E0398 41 80 00 10 */ blt lbl_802E4748
+/* 802E473C 002E039C 38 9F 00 D8 */ addi r4, r31, 0xd8
+/* 802E4740 002E03A0 3C 60 00 0A */ lis r3, 0xa
+/* 802E4744 002E03A4 4B FD 87 CD */ bl LogMsg_0
+lbl_802E4748:
+/* 802E4748 002E03A8 7E A3 AB 78 */ mr r3, r21
+/* 802E474C 002E03AC 48 00 04 30 */ b lbl_802E4B7C
+lbl_802E4750:
+/* 802E4750 002E03B0 38 1B 00 01 */ addi r0, r27, 1
+/* 802E4754 002E03B4 7E E4 BB 78 */ mr r4, r23
+/* 802E4758 002E03B8 7F 05 C3 78 */ mr r5, r24
+/* 802E475C 002E03BC 7F A7 EB 78 */ mr r7, r29
+/* 802E4760 002E03C0 54 08 06 3E */ clrlwi r8, r0, 0x18
+/* 802E4764 002E03C4 38 C0 00 04 */ li r6, 4
+/* 802E4768 002E03C8 38 63 00 02 */ addi r3, r3, 2
+/* 802E476C 002E03CC 4B FF FE 91 */ bl add_attr
+/* 802E4770 002E03D0 7C 76 1B 78 */ mr r22, r3
+/* 802E4774 002E03D4 48 00 03 88 */ b lbl_802E4AFC
+lbl_802E4778:
+/* 802E4778 002E03D8 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E477C 002E03DC 2C 00 00 03 */ cmpwi r0, 3
+/* 802E4780 002E03E0 41 82 00 84 */ beq lbl_802E4804
+/* 802E4784 002E03E4 40 80 00 14 */ bge lbl_802E4798
+/* 802E4788 002E03E8 2C 00 00 01 */ cmpwi r0, 1
+/* 802E478C 002E03EC 41 82 00 18 */ beq lbl_802E47A4
+/* 802E4790 002E03F0 40 80 00 24 */ bge lbl_802E47B4
+/* 802E4794 002E03F4 48 00 00 70 */ b lbl_802E4804
+lbl_802E4798:
+/* 802E4798 002E03F8 2C 00 00 05 */ cmpwi r0, 5
+/* 802E479C 002E03FC 40 80 00 68 */ bge lbl_802E4804
+/* 802E47A0 002E0400 48 00 00 30 */ b lbl_802E47D0
+lbl_802E47A4:
+/* 802E47A4 002E0404 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E47A8 002E0408 3A C3 00 01 */ addi r22, r3, 1
+/* 802E47AC 002E040C 98 1D 00 08 */ stb r0, 8(r29)
+/* 802E47B0 002E0410 48 00 03 4C */ b lbl_802E4AFC
+lbl_802E47B4:
+/* 802E47B4 002E0414 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E47B8 002E0418 3A C3 00 02 */ addi r22, r3, 2
+/* 802E47BC 002E041C 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E47C0 002E0420 54 83 40 2E */ slwi r3, r4, 8
+/* 802E47C4 002E0424 7C 03 02 14 */ add r0, r3, r0
+/* 802E47C8 002E0428 B0 1D 00 08 */ sth r0, 8(r29)
+/* 802E47CC 002E042C 48 00 03 30 */ b lbl_802E4AFC
+lbl_802E47D0:
+/* 802E47D0 002E0430 88 A3 00 00 */ lbz r5, 0(r3)
+/* 802E47D4 002E0434 3A C3 00 04 */ addi r22, r3, 4
+/* 802E47D8 002E0438 88 03 00 02 */ lbz r0, 2(r3)
+/* 802E47DC 002E043C 88 83 00 01 */ lbz r4, 1(r3)
+/* 802E47E0 002E0440 54 A6 C0 0E */ slwi r6, r5, 0x18
+/* 802E47E4 002E0444 54 00 40 2E */ slwi r0, r0, 8
+/* 802E47E8 002E0448 54 85 80 1E */ slwi r5, r4, 0x10
+/* 802E47EC 002E044C 88 83 00 03 */ lbz r4, 3(r3)
+/* 802E47F0 002E0450 7C 66 2A 14 */ add r3, r6, r5
+/* 802E47F4 002E0454 7C 04 02 14 */ add r0, r4, r0
+/* 802E47F8 002E0458 7C 03 02 14 */ add r0, r3, r0
+/* 802E47FC 002E045C 90 1D 00 08 */ stw r0, 8(r29)
+/* 802E4800 002E0460 48 00 02 FC */ b lbl_802E4AFC
+lbl_802E4804:
+/* 802E4804 002E0464 38 7D 00 08 */ addi r3, r29, 8
+/* 802E4808 002E0468 38 80 00 00 */ li r4, 0
+/* 802E480C 002E046C 48 00 00 18 */ b lbl_802E4824
+lbl_802E4810:
+/* 802E4810 002E0470 88 16 00 00 */ lbz r0, 0(r22)
+/* 802E4814 002E0474 38 84 00 01 */ addi r4, r4, 1
+/* 802E4818 002E0478 3A D6 00 01 */ addi r22, r22, 1
+/* 802E481C 002E047C 98 03 00 00 */ stb r0, 0(r3)
+/* 802E4820 002E0480 38 63 00 01 */ addi r3, r3, 1
+lbl_802E4824:
+/* 802E4824 002E0484 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E4828 002E0488 7C 04 00 00 */ cmpw r4, r0
+/* 802E482C 002E048C 41 80 FF E4 */ blt lbl_802E4810
+/* 802E4830 002E0490 48 00 02 CC */ b lbl_802E4AFC
+/* 802E4834 002E0494 80 A1 00 08 */ lwz r5, 8(r1)
+/* 802E4838 002E0498 2C 05 00 04 */ cmpwi r5, 4
+/* 802E483C 002E049C 41 82 00 3C */ beq lbl_802E4878
+/* 802E4840 002E04A0 40 80 00 10 */ bge lbl_802E4850
+/* 802E4844 002E04A4 2C 05 00 02 */ cmpwi r5, 2
+/* 802E4848 002E04A8 41 82 00 14 */ beq lbl_802E485C
+/* 802E484C 002E04AC 48 00 01 4C */ b lbl_802E4998
+lbl_802E4850:
+/* 802E4850 002E04B0 2C 05 00 10 */ cmpwi r5, 0x10
+/* 802E4854 002E04B4 41 82 00 7C */ beq lbl_802E48D0
+/* 802E4858 002E04B8 48 00 01 40 */ b lbl_802E4998
+lbl_802E485C:
+/* 802E485C 002E04BC 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E4860 002E04C0 3A C3 00 02 */ addi r22, r3, 2
+/* 802E4864 002E04C4 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E4868 002E04C8 54 83 40 2E */ slwi r3, r4, 8
+/* 802E486C 002E04CC 7C 03 02 14 */ add r0, r3, r0
+/* 802E4870 002E04D0 B0 1D 00 08 */ sth r0, 8(r29)
+/* 802E4874 002E04D4 48 00 02 88 */ b lbl_802E4AFC
+lbl_802E4878:
+/* 802E4878 002E04D8 88 E3 00 00 */ lbz r7, 0(r3)
+/* 802E487C 002E04DC 3A C3 00 04 */ addi r22, r3, 4
+/* 802E4880 002E04E0 88 C3 00 01 */ lbz r6, 1(r3)
+/* 802E4884 002E04E4 3C 80 00 01 */ lis r4, 1
+/* 802E4888 002E04E8 54 E8 C0 0E */ slwi r8, r7, 0x18
+/* 802E488C 002E04EC 88 A3 00 02 */ lbz r5, 2(r3)
+/* 802E4890 002E04F0 54 C7 80 1E */ slwi r7, r6, 0x10
+/* 802E4894 002E04F4 88 C3 00 03 */ lbz r6, 3(r3)
+/* 802E4898 002E04F8 54 A3 40 2E */ slwi r3, r5, 8
+/* 802E489C 002E04FC 7C A8 3A 14 */ add r5, r8, r7
+/* 802E48A0 002E0500 7C 66 1A 14 */ add r3, r6, r3
+/* 802E48A4 002E0504 7C 65 1A 14 */ add r3, r5, r3
+/* 802E48A8 002E0508 7C 03 20 40 */ cmplw r3, r4
+/* 802E48AC 002E050C 90 7D 00 08 */ stw r3, 8(r29)
+/* 802E48B0 002E0510 40 80 02 4C */ bge lbl_802E4AFC
+/* 802E48B4 002E0514 38 60 00 02 */ li r3, 2
+/* 802E48B8 002E0518 60 00 00 02 */ ori r0, r0, 2
+/* 802E48BC 002E051C 90 61 00 08 */ stw r3, 8(r1)
+/* 802E48C0 002E0520 B0 1D 00 06 */ sth r0, 6(r29)
+/* 802E48C4 002E0524 80 1D 00 08 */ lwz r0, 8(r29)
+/* 802E48C8 002E0528 B0 1D 00 08 */ sth r0, 8(r29)
+/* 802E48CC 002E052C 48 00 02 30 */ b lbl_802E4AFC
+lbl_802E48D0:
+/* 802E48D0 002E0530 7E C3 B3 78 */ mr r3, r22
+/* 802E48D4 002E0534 48 00 27 49 */ bl sdpu_is_base_uuid
+/* 802E48D8 002E0538 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E48DC 002E053C 41 82 00 8C */ beq lbl_802E4968
+/* 802E48E0 002E0540 88 16 00 00 */ lbz r0, 0(r22)
+/* 802E48E4 002E0544 2C 00 00 00 */ cmpwi r0, 0
+/* 802E48E8 002E0548 40 82 00 3C */ bne lbl_802E4924
+/* 802E48EC 002E054C 88 16 00 01 */ lbz r0, 1(r22)
+/* 802E48F0 002E0550 2C 00 00 00 */ cmpwi r0, 0
+/* 802E48F4 002E0554 40 82 00 30 */ bne lbl_802E4924
+/* 802E48F8 002E0558 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802E48FC 002E055C 54 00 00 26 */ rlwinm r0, r0, 0, 0, 0x13
+/* 802E4900 002E0560 60 00 00 02 */ ori r0, r0, 2
+/* 802E4904 002E0564 B0 1D 00 06 */ sth r0, 6(r29)
+/* 802E4908 002E0568 88 76 00 02 */ lbz r3, 2(r22)
+/* 802E490C 002E056C 88 16 00 03 */ lbz r0, 3(r22)
+/* 802E4910 002E0570 3A D6 00 10 */ addi r22, r22, 0x10
+/* 802E4914 002E0574 54 63 40 2E */ slwi r3, r3, 8
+/* 802E4918 002E0578 7C 03 02 14 */ add r0, r3, r0
+/* 802E491C 002E057C B0 1D 00 08 */ sth r0, 8(r29)
+/* 802E4920 002E0580 48 00 01 DC */ b lbl_802E4AFC
+lbl_802E4924:
+/* 802E4924 002E0584 A0 1D 00 06 */ lhz r0, 6(r29)
+/* 802E4928 002E0588 54 00 00 26 */ rlwinm r0, r0, 0, 0, 0x13
+/* 802E492C 002E058C 60 00 00 04 */ ori r0, r0, 4
+/* 802E4930 002E0590 B0 1D 00 06 */ sth r0, 6(r29)
+/* 802E4934 002E0594 88 96 00 00 */ lbz r4, 0(r22)
+/* 802E4938 002E0598 88 76 00 01 */ lbz r3, 1(r22)
+/* 802E493C 002E059C 88 16 00 02 */ lbz r0, 2(r22)
+/* 802E4940 002E05A0 54 85 C0 0E */ slwi r5, r4, 0x18
+/* 802E4944 002E05A4 88 96 00 03 */ lbz r4, 3(r22)
+/* 802E4948 002E05A8 54 63 80 1E */ slwi r3, r3, 0x10
+/* 802E494C 002E05AC 54 00 40 2E */ slwi r0, r0, 8
+/* 802E4950 002E05B0 3A D6 00 10 */ addi r22, r22, 0x10
+/* 802E4954 002E05B4 7C 65 1A 14 */ add r3, r5, r3
+/* 802E4958 002E05B8 7C 04 02 14 */ add r0, r4, r0
+/* 802E495C 002E05BC 7C 03 02 14 */ add r0, r3, r0
+/* 802E4960 002E05C0 90 1D 00 08 */ stw r0, 8(r29)
+/* 802E4964 002E05C4 48 00 01 98 */ b lbl_802E4AFC
+lbl_802E4968:
+/* 802E4968 002E05C8 38 7D 00 08 */ addi r3, r29, 8
+/* 802E496C 002E05CC 38 80 00 00 */ li r4, 0
+/* 802E4970 002E05D0 48 00 00 18 */ b lbl_802E4988
+lbl_802E4974:
+/* 802E4974 002E05D4 88 16 00 00 */ lbz r0, 0(r22)
+/* 802E4978 002E05D8 38 84 00 01 */ addi r4, r4, 1
+/* 802E497C 002E05DC 3A D6 00 01 */ addi r22, r22, 1
+/* 802E4980 002E05E0 98 03 00 00 */ stb r0, 0(r3)
+/* 802E4984 002E05E4 38 63 00 01 */ addi r3, r3, 1
+lbl_802E4988:
+/* 802E4988 002E05E8 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E498C 002E05EC 7C 04 00 00 */ cmpw r4, r0
+/* 802E4990 002E05F0 41 80 FF E4 */ blt lbl_802E4974
+/* 802E4994 002E05F4 48 00 01 68 */ b lbl_802E4AFC
+lbl_802E4998:
+/* 802E4998 002E05F8 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E499C 002E05FC 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E49A0 002E0600 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E49A4 002E0604 28 00 00 02 */ cmplwi r0, 2
+/* 802E49A8 002E0608 41 80 00 14 */ blt lbl_802E49BC
+/* 802E49AC 002E060C 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E49B0 002E0610 38 9F 00 F4 */ addi r4, r31, 0xf4
+/* 802E49B4 002E0614 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E49B8 002E0618 4B FD 85 71 */ bl LogMsg_1
+lbl_802E49BC:
+/* 802E49BC 002E061C 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E49C0 002E0620 7C 76 02 14 */ add r3, r22, r0
+/* 802E49C4 002E0624 48 00 01 B8 */ b lbl_802E4B7C
+/* 802E49C8 002E0628 80 B7 00 68 */ lwz r5, 0x68(r23)
+/* 802E49CC 002E062C 28 1B 00 05 */ cmplwi r27, 5
+/* 802E49D0 002E0630 80 97 00 04 */ lwz r4, 4(r23)
+/* 802E49D4 002E0634 3B C0 00 00 */ li r30, 0
+/* 802E49D8 002E0638 38 A5 00 0C */ addi r5, r5, 0xc
+/* 802E49DC 002E063C 38 04 FF F4 */ addi r0, r4, -12
+/* 802E49E0 002E0640 90 B7 00 68 */ stw r5, 0x68(r23)
+/* 802E49E4 002E0644 90 17 00 04 */ stw r0, 4(r23)
+/* 802E49E8 002E0648 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E49EC 002E064C 7E A3 02 14 */ add r21, r3, r0
+/* 802E49F0 002E0650 41 80 00 2C */ blt lbl_802E4A1C
+/* 802E49F4 002E0654 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E49F8 002E0658 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E49FC 002E065C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4A00 002E0660 28 00 00 01 */ cmplwi r0, 1
+/* 802E4A04 002E0664 41 80 00 10 */ blt lbl_802E4A14
+/* 802E4A08 002E0668 38 9F 00 D8 */ addi r4, r31, 0xd8
+/* 802E4A0C 002E066C 3C 60 00 0A */ lis r3, 0xa
+/* 802E4A10 002E0670 4B FD 85 01 */ bl LogMsg_0
+lbl_802E4A14:
+/* 802E4A14 002E0674 7E A3 AB 78 */ mr r3, r21
+/* 802E4A18 002E0678 48 00 01 64 */ b lbl_802E4B7C
+lbl_802E4A1C:
+/* 802E4A1C 002E067C 2C 1C 00 00 */ cmpwi r28, 0
+/* 802E4A20 002E0680 40 82 00 0C */ bne lbl_802E4A2C
+/* 802E4A24 002E0684 28 19 00 0D */ cmplwi r25, 0xd
+/* 802E4A28 002E0688 40 82 00 0C */ bne lbl_802E4A34
+lbl_802E4A2C:
+/* 802E4A2C 002E068C 63 60 00 80 */ ori r0, r27, 0x80
+/* 802E4A30 002E0690 54 1B 06 3E */ clrlwi r27, r0, 0x18
+lbl_802E4A34:
+/* 802E4A34 002E0694 57 63 06 3E */ clrlwi r3, r27, 0x18
+/* 802E4A38 002E0698 3B 23 00 01 */ addi r25, r3, 1
+/* 802E4A3C 002E069C 48 00 00 34 */ b lbl_802E4A70
+lbl_802E4A40:
+/* 802E4A40 002E06A0 7E C3 B3 78 */ mr r3, r22
+/* 802E4A44 002E06A4 7E E4 BB 78 */ mr r4, r23
+/* 802E4A48 002E06A8 7F 05 C3 78 */ mr r5, r24
+/* 802E4A4C 002E06AC 7F A7 EB 78 */ mr r7, r29
+/* 802E4A50 002E06B0 57 28 06 3E */ clrlwi r8, r25, 0x18
+/* 802E4A54 002E06B4 38 C0 00 00 */ li r6, 0
+/* 802E4A58 002E06B8 4B FF FB A5 */ bl add_attr
+/* 802E4A5C 002E06BC 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4A60 002E06C0 7C 76 1B 78 */ mr r22, r3
+/* 802E4A64 002E06C4 40 82 00 0C */ bne lbl_802E4A70
+/* 802E4A68 002E06C8 38 60 00 00 */ li r3, 0
+/* 802E4A6C 002E06CC 48 00 01 10 */ b lbl_802E4B7C
+lbl_802E4A70:
+/* 802E4A70 002E06D0 7C 16 A8 40 */ cmplw r22, r21
+/* 802E4A74 002E06D4 41 80 FF CC */ blt lbl_802E4A40
+/* 802E4A78 002E06D8 48 00 00 84 */ b lbl_802E4AFC
+/* 802E4A7C 002E06DC 38 7D 00 08 */ addi r3, r29, 8
+/* 802E4A80 002E06E0 38 80 00 00 */ li r4, 0
+/* 802E4A84 002E06E4 48 00 00 18 */ b lbl_802E4A9C
+lbl_802E4A88:
+/* 802E4A88 002E06E8 88 16 00 00 */ lbz r0, 0(r22)
+/* 802E4A8C 002E06EC 38 84 00 01 */ addi r4, r4, 1
+/* 802E4A90 002E06F0 3A D6 00 01 */ addi r22, r22, 1
+/* 802E4A94 002E06F4 98 03 00 00 */ stb r0, 0(r3)
+/* 802E4A98 002E06F8 38 63 00 01 */ addi r3, r3, 1
+lbl_802E4A9C:
+/* 802E4A9C 002E06FC 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E4AA0 002E0700 7C 04 00 00 */ cmpw r4, r0
+/* 802E4AA4 002E0704 41 80 FF E4 */ blt lbl_802E4A88
+/* 802E4AA8 002E0708 48 00 00 54 */ b lbl_802E4AFC
+/* 802E4AAC 002E070C 80 A1 00 08 */ lwz r5, 8(r1)
+/* 802E4AB0 002E0710 2C 05 00 01 */ cmpwi r5, 1
+/* 802E4AB4 002E0714 41 82 00 08 */ beq lbl_802E4ABC
+/* 802E4AB8 002E0718 48 00 00 14 */ b lbl_802E4ACC
+lbl_802E4ABC:
+/* 802E4ABC 002E071C 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E4AC0 002E0720 3A C3 00 01 */ addi r22, r3, 1
+/* 802E4AC4 002E0724 98 1D 00 08 */ stb r0, 8(r29)
+/* 802E4AC8 002E0728 48 00 00 34 */ b lbl_802E4AFC
+lbl_802E4ACC:
+/* 802E4ACC 002E072C 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E4AD0 002E0730 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4AD4 002E0734 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4AD8 002E0738 28 00 00 02 */ cmplwi r0, 2
+/* 802E4ADC 002E073C 41 80 00 14 */ blt lbl_802E4AF0
+/* 802E4AE0 002E0740 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4AE4 002E0744 38 9F 01 14 */ addi r4, r31, 0x114
+/* 802E4AE8 002E0748 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E4AEC 002E074C 4B FD 84 3D */ bl LogMsg_1
+lbl_802E4AF0:
+/* 802E4AF0 002E0750 80 01 00 08 */ lwz r0, 8(r1)
+/* 802E4AF4 002E0754 7C 76 02 14 */ add r3, r22, r0
+/* 802E4AF8 002E0758 48 00 00 84 */ b lbl_802E4B7C
+lbl_802E4AFC:
+/* 802E4AFC 002E075C 80 77 00 68 */ lwz r3, 0x68(r23)
+/* 802E4B00 002E0760 2C 1A 00 00 */ cmpwi r26, 0
+/* 802E4B04 002E0764 80 17 00 04 */ lwz r0, 4(r23)
+/* 802E4B08 002E0768 7C 63 F2 14 */ add r3, r3, r30
+/* 802E4B0C 002E076C 7C 1E 00 50 */ subf r0, r30, r0
+/* 802E4B10 002E0770 90 77 00 68 */ stw r3, 0x68(r23)
+/* 802E4B14 002E0774 90 17 00 04 */ stw r0, 4(r23)
+/* 802E4B18 002E0778 40 82 00 34 */ bne lbl_802E4B4C
+/* 802E4B1C 002E077C 80 78 00 00 */ lwz r3, 0(r24)
+/* 802E4B20 002E0780 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4B24 002E0784 40 82 00 14 */ bne lbl_802E4B38
+/* 802E4B28 002E0788 93 B8 00 00 */ stw r29, 0(r24)
+/* 802E4B2C 002E078C 48 00 00 4C */ b lbl_802E4B78
+/* 802E4B30 002E0790 48 00 00 08 */ b lbl_802E4B38
+lbl_802E4B34:
+/* 802E4B34 002E0794 7C 03 03 78 */ mr r3, r0
+lbl_802E4B38:
+/* 802E4B38 002E0798 80 03 00 00 */ lwz r0, 0(r3)
+/* 802E4B3C 002E079C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E4B40 002E07A0 40 82 FF F4 */ bne lbl_802E4B34
+/* 802E4B44 002E07A4 93 A3 00 00 */ stw r29, 0(r3)
+/* 802E4B48 002E07A8 48 00 00 30 */ b lbl_802E4B78
+lbl_802E4B4C:
+/* 802E4B4C 002E07AC 80 7A 00 08 */ lwz r3, 8(r26)
+/* 802E4B50 002E07B0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4B54 002E07B4 40 82 00 14 */ bne lbl_802E4B68
+/* 802E4B58 002E07B8 93 BA 00 08 */ stw r29, 8(r26)
+/* 802E4B5C 002E07BC 48 00 00 1C */ b lbl_802E4B78
+/* 802E4B60 002E07C0 48 00 00 08 */ b lbl_802E4B68
+lbl_802E4B64:
+/* 802E4B64 002E07C4 7C 03 03 78 */ mr r3, r0
+lbl_802E4B68:
+/* 802E4B68 002E07C8 80 03 00 00 */ lwz r0, 0(r3)
+/* 802E4B6C 002E07CC 2C 00 00 00 */ cmpwi r0, 0
+/* 802E4B70 002E07D0 40 82 FF F4 */ bne lbl_802E4B64
+/* 802E4B74 002E07D4 93 A3 00 00 */ stw r29, 0(r3)
+lbl_802E4B78:
+/* 802E4B78 002E07D8 7E C3 B3 78 */ mr r3, r22
+lbl_802E4B7C:
+/* 802E4B7C 002E07DC 39 61 00 40 */ addi r11, r1, 0x40
+/* 802E4B80 002E07E0 4B EE 25 DD */ bl _restgpr_21
+/* 802E4B84 002E07E4 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802E4B88 002E07E8 7C 08 03 A6 */ mtlr r0
+/* 802E4B8C 002E07EC 38 21 00 40 */ addi r1, r1, 0x40
+/* 802E4B90 002E07F0 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/sdp_main.s b/asm/SDK/BTE/sdp_main.s new file mode 100644 index 0000000..7ec1542 --- /dev/null +++ b/asm/SDK/BTE/sdp_main.s @@ -0,0 +1,812 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global sdp_init
+sdp_init:
+/* 802E4B94 002E07F4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E4B98 002E07F8 7C 08 02 A6 */ mflr r0
+/* 802E4B9C 002E07FC 38 80 00 00 */ li r4, 0
+/* 802E4BA0 002E0800 38 A0 46 34 */ li r5, 0x4634
+/* 802E4BA4 002E0804 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E4BA8 002E0808 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E4BAC 002E080C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E4BB0 002E0810 3F C0 80 44 */ lis r30, lbl_804451A8@ha
+/* 802E4BB4 002E0814 3B DE 51 A8 */ addi r30, r30, lbl_804451A8@l
+/* 802E4BB8 002E0818 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E4BBC 002E081C 3F A0 80 57 */ lis r29, lbl_8056C840@ha
+/* 802E4BC0 002E0820 38 7D C8 40 */ addi r3, r29, lbl_8056C840@l
+/* 802E4BC4 002E0824 4B D1 F5 41 */ bl memset
+/* 802E4BC8 002E0828 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
+/* 802E4BCC 002E082C 3B FD C8 40 */ addi r31, r29, -14272
+/* 802E4BD0 002E0830 38 E0 00 01 */ li r7, 1
+/* 802E4BD4 002E0834 38 A0 01 00 */ li r5, 0x100
+/* 802E4BD8 002E0838 39 63 FF FF */ addi r11, r3, 0x0000FFFF@l
+/* 802E4BDC 002E083C 39 40 00 F0 */ li r10, 0xf0
+/* 802E4BE0 002E0840 38 00 00 15 */ li r0, 0x15
+/* 802E4BE4 002E0844 B0 BF 00 04 */ sth r5, 4(r31)
+/* 802E4BE8 002E0848 38 9E 00 00 */ addi r4, r30, 0
+/* 802E4BEC 002E084C 3B A0 00 00 */ li r29, 0
+/* 802E4BF0 002E0850 98 FF 00 02 */ stb r7, 2(r31)
+/* 802E4BF4 002E0854 38 60 00 00 */ li r3, 0
+/* 802E4BF8 002E0858 38 A0 00 00 */ li r5, 0
+/* 802E4BFC 002E085C 38 C0 00 00 */ li r6, 0
+/* 802E4C00 002E0860 98 FF 00 20 */ stb r7, 0x20(r31)
+/* 802E4C04 002E0864 38 E0 00 01 */ li r7, 1
+/* 802E4C08 002E0868 39 00 00 00 */ li r8, 0
+/* 802E4C0C 002E086C 39 20 00 00 */ li r9, 0
+/* 802E4C10 002E0870 B1 7F 00 22 */ sth r11, 0x22(r31)
+/* 802E4C14 002E0874 B1 5F 46 2C */ sth r10, 0x462c(r31)
+/* 802E4C18 002E0878 B0 1F 46 2E */ sth r0, 0x462e(r31)
+/* 802E4C1C 002E087C 4B FE 5E 69 */ bl BTM_SetSecurityLevel
+/* 802E4C20 002E0880 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E4C24 002E0884 40 82 00 20 */ bne lbl_802E4C44
+/* 802E4C28 002E0888 88 1F 46 30 */ lbz r0, 0x4630(r31)
+/* 802E4C2C 002E088C 28 00 00 01 */ cmplwi r0, 1
+/* 802E4C30 002E0890 41 80 00 E8 */ blt lbl_802E4D18
+/* 802E4C34 002E0894 38 9E 00 14 */ addi r4, r30, 0x14
+/* 802E4C38 002E0898 3C 60 00 0A */ lis r3, 0xa
+/* 802E4C3C 002E089C 4B FD 82 D5 */ bl LogMsg_0
+/* 802E4C40 002E08A0 48 00 00 D8 */ b lbl_802E4D18
+lbl_802E4C44:
+/* 802E4C44 002E08A4 38 9E 00 00 */ addi r4, r30, 0
+/* 802E4C48 002E08A8 38 60 00 01 */ li r3, 1
+/* 802E4C4C 002E08AC 38 A0 00 00 */ li r5, 0
+/* 802E4C50 002E08B0 38 C0 00 00 */ li r6, 0
+/* 802E4C54 002E08B4 38 E0 00 01 */ li r7, 1
+/* 802E4C58 002E08B8 39 00 00 00 */ li r8, 0
+/* 802E4C5C 002E08BC 39 20 00 00 */ li r9, 0
+/* 802E4C60 002E08C0 4B FE 5E 25 */ bl BTM_SetSecurityLevel
+/* 802E4C64 002E08C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E4C68 002E08C8 40 82 00 20 */ bne lbl_802E4C88
+/* 802E4C6C 002E08CC 88 1F 46 30 */ lbz r0, 0x4630(r31)
+/* 802E4C70 002E08D0 28 00 00 01 */ cmplwi r0, 1
+/* 802E4C74 002E08D4 41 80 00 A4 */ blt lbl_802E4D18
+/* 802E4C78 002E08D8 38 9E 00 38 */ addi r4, r30, 0x38
+/* 802E4C7C 002E08DC 3C 60 00 0A */ lis r3, 0xa
+/* 802E4C80 002E08E0 4B FD 82 91 */ bl LogMsg_0
+/* 802E4C84 002E08E4 48 00 00 94 */ b lbl_802E4D18
+lbl_802E4C88:
+/* 802E4C88 002E08E8 3D 60 80 2E */ lis r11, sdp_connect_ind@ha
+/* 802E4C8C 002E08EC 3D 40 80 2E */ lis r10, sdp_connect_cfm@ha
+/* 802E4C90 002E08F0 3D 20 80 2E */ lis r9, sdp_config_ind@ha
+/* 802E4C94 002E08F4 3D 00 80 2E */ lis r8, sdp_config_cfm@ha
+/* 802E4C98 002E08F8 3C E0 80 2E */ lis r7, sdp_disconnect_ind@ha
+/* 802E4C9C 002E08FC 3C C0 80 2E */ lis r6, sdp_disconnect_cfm@ha
+/* 802E4CA0 002E0900 3C A0 80 2E */ lis r5, sdp_data_ind@ha
+/* 802E4CA4 002E0904 39 6B 4D 34 */ addi r11, r11, sdp_connect_ind@l
+/* 802E4CA8 002E0908 39 4A 4D F8 */ addi r10, r10, sdp_connect_cfm@l
+/* 802E4CAC 002E090C 39 29 4F 88 */ addi r9, r9, sdp_config_ind@l
+/* 802E4CB0 002E0910 39 08 50 C4 */ addi r8, r8, sdp_config_cfm@l
+/* 802E4CB4 002E0914 38 E7 52 40 */ addi r7, r7, sdp_disconnect_ind@l
+/* 802E4CB8 002E0918 38 C6 55 BC */ addi r6, r6, sdp_disconnect_cfm@l
+/* 802E4CBC 002E091C 38 A5 53 38 */ addi r5, r5, sdp_data_ind@l
+/* 802E4CC0 002E0920 9B BF 46 30 */ stb r29, 0x4630(r31)
+/* 802E4CC4 002E0924 38 9F 46 04 */ addi r4, r31, 0x4604
+/* 802E4CC8 002E0928 38 60 00 01 */ li r3, 1
+/* 802E4CCC 002E092C 91 7F 46 04 */ stw r11, 0x4604(r31)
+/* 802E4CD0 002E0930 91 5F 46 08 */ stw r10, 0x4608(r31)
+/* 802E4CD4 002E0934 93 BF 46 0C */ stw r29, 0x460c(r31)
+/* 802E4CD8 002E0938 91 3F 46 10 */ stw r9, 0x4610(r31)
+/* 802E4CDC 002E093C 91 1F 46 14 */ stw r8, 0x4614(r31)
+/* 802E4CE0 002E0940 90 FF 46 18 */ stw r7, 0x4618(r31)
+/* 802E4CE4 002E0944 90 DF 46 1C */ stw r6, 0x461c(r31)
+/* 802E4CE8 002E0948 93 BF 46 20 */ stw r29, 0x4620(r31)
+/* 802E4CEC 002E094C 90 BF 46 24 */ stw r5, 0x4624(r31)
+/* 802E4CF0 002E0950 93 BF 46 28 */ stw r29, 0x4628(r31)
+/* 802E4CF4 002E0954 4B FF 0B 3D */ bl L2CA_Register
+/* 802E4CF8 002E0958 54 60 06 3F */ clrlwi. r0, r3, 0x18
+/* 802E4CFC 002E095C 40 82 00 1C */ bne lbl_802E4D18
+/* 802E4D00 002E0960 88 1F 46 30 */ lbz r0, 0x4630(r31)
+/* 802E4D04 002E0964 28 00 00 01 */ cmplwi r0, 1
+/* 802E4D08 002E0968 41 80 00 10 */ blt lbl_802E4D18
+/* 802E4D0C 002E096C 38 9E 00 60 */ addi r4, r30, 0x60
+/* 802E4D10 002E0970 3C 60 00 0A */ lis r3, 0xa
+/* 802E4D14 002E0974 4B FD 81 FD */ bl LogMsg_0
+lbl_802E4D18:
+/* 802E4D18 002E0978 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E4D1C 002E097C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E4D20 002E0980 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E4D24 002E0984 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E4D28 002E0988 7C 08 03 A6 */ mtlr r0
+/* 802E4D2C 002E098C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E4D30 002E0990 4E 80 00 20 */ blr
+
+sdp_connect_ind:
+/* 802E4D34 002E0994 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E4D38 002E0998 7C 08 02 A6 */ mflr r0
+/* 802E4D3C 002E099C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E4D40 002E09A0 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E4D44 002E09A4 7C DF 33 78 */ mr r31, r6
+/* 802E4D48 002E09A8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E4D4C 002E09AC 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E4D50 002E09B0 7C 9D 23 78 */ mr r29, r4
+/* 802E4D54 002E09B4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E4D58 002E09B8 7C 7C 1B 78 */ mr r28, r3
+/* 802E4D5C 002E09BC 48 00 17 45 */ bl sdpu_allocate_ccb
+/* 802E4D60 002E09C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4D64 002E09C4 7C 7E 1B 78 */ mr r30, r3
+/* 802E4D68 002E09C8 41 82 00 70 */ beq lbl_802E4DD8
+/* 802E4D6C 002E09CC 38 00 00 02 */ li r0, 2
+/* 802E4D70 002E09D0 7F 84 E3 78 */ mr r4, r28
+/* 802E4D74 002E09D4 98 03 00 00 */ stb r0, 0(r3)
+/* 802E4D78 002E09D8 38 A0 00 06 */ li r5, 6
+/* 802E4D7C 002E09DC 38 63 00 02 */ addi r3, r3, 2
+/* 802E4D80 002E09E0 4B D1 F2 81 */ bl memcpy
+/* 802E4D84 002E09E4 B3 BE 00 22 */ sth r29, 0x22(r30)
+/* 802E4D88 002E09E8 7F 83 E3 78 */ mr r3, r28
+/* 802E4D8C 002E09EC 7F E4 FB 78 */ mr r4, r31
+/* 802E4D90 002E09F0 7F A5 EB 78 */ mr r5, r29
+/* 802E4D94 002E09F4 38 C0 00 00 */ li r6, 0
+/* 802E4D98 002E09F8 38 E0 00 00 */ li r7, 0
+/* 802E4D9C 002E09FC 4B FF 0E F5 */ bl L2CA_ConnectRsp
+/* 802E4DA0 002E0A00 3F E0 80 57 */ lis r31, lbl_8056C840@ha
+/* 802E4DA4 002E0A04 7F A3 EB 78 */ mr r3, r29
+/* 802E4DA8 002E0A08 38 9F C8 40 */ addi r4, r31, lbl_8056C840@l
+/* 802E4DAC 002E0A0C 4B FF 10 75 */ bl L2CA_ConfigReq
+/* 802E4DB0 002E0A10 38 7F C8 40 */ addi r3, r31, -14272
+/* 802E4DB4 002E0A14 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4DB8 002E0A18 28 00 00 04 */ cmplwi r0, 4
+/* 802E4DBC 002E0A1C 41 80 00 1C */ blt lbl_802E4DD8
+/* 802E4DC0 002E0A20 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E4DC4 002E0A24 3C 80 80 44 */ lis r4, lbl_80445220@ha
+/* 802E4DC8 002E0A28 A0 BE 00 22 */ lhz r5, 0x22(r30)
+/* 802E4DCC 002E0A2C 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E4DD0 002E0A30 38 84 52 20 */ addi r4, r4, lbl_80445220@l
+/* 802E4DD4 002E0A34 4B FD 81 55 */ bl LogMsg_1
+lbl_802E4DD8:
+/* 802E4DD8 002E0A38 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E4DDC 002E0A3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E4DE0 002E0A40 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E4DE4 002E0A44 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E4DE8 002E0A48 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E4DEC 002E0A4C 7C 08 03 A6 */ mtlr r0
+/* 802E4DF0 002E0A50 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E4DF4 002E0A54 4E 80 00 20 */ blr
+
+sdp_connect_cfm:
+/* 802E4DF8 002E0A58 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E4DFC 002E0A5C 7C 08 02 A6 */ mflr r0
+/* 802E4E00 002E0A60 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E4E04 002E0A64 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E4E08 002E0A68 7C 9F 23 78 */ mr r31, r4
+/* 802E4E0C 002E0A6C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E4E10 002E0A70 3F C0 80 44 */ lis r30, lbl_804451A8@ha
+/* 802E4E14 002E0A74 3B DE 51 A8 */ addi r30, r30, lbl_804451A8@l
+/* 802E4E18 002E0A78 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E4E1C 002E0A7C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E4E20 002E0A80 7C 7C 1B 78 */ mr r28, r3
+/* 802E4E24 002E0A84 48 00 15 ED */ bl sdpu_find_ccb_by_cid
+/* 802E4E28 002E0A88 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4E2C 002E0A8C 7C 7D 1B 78 */ mr r29, r3
+/* 802E4E30 002E0A90 40 82 00 30 */ bne lbl_802E4E60
+/* 802E4E34 002E0A94 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E4E38 002E0A98 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4E3C 002E0A9C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4E40 002E0AA0 28 00 00 02 */ cmplwi r0, 2
+/* 802E4E44 002E0AA4 41 80 01 24 */ blt lbl_802E4F68
+/* 802E4E48 002E0AA8 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4E4C 002E0AAC 7F 85 E3 78 */ mr r5, r28
+/* 802E4E50 002E0AB0 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E4E54 002E0AB4 38 9E 00 B0 */ addi r4, r30, 0xb0
+/* 802E4E58 002E0AB8 4B FD 80 D1 */ bl LogMsg_1
+/* 802E4E5C 002E0ABC 48 00 01 0C */ b lbl_802E4F68
+lbl_802E4E60:
+/* 802E4E60 002E0AC0 2C 1F 00 00 */ cmpwi r31, 0
+/* 802E4E64 002E0AC4 40 82 00 50 */ bne lbl_802E4EB4
+/* 802E4E68 002E0AC8 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E4E6C 002E0ACC 28 00 00 01 */ cmplwi r0, 1
+/* 802E4E70 002E0AD0 40 82 00 44 */ bne lbl_802E4EB4
+/* 802E4E74 002E0AD4 38 00 00 02 */ li r0, 2
+/* 802E4E78 002E0AD8 3F E0 80 57 */ lis r31, lbl_8056C840@ha
+/* 802E4E7C 002E0ADC 98 03 00 00 */ stb r0, 0(r3)
+/* 802E4E80 002E0AE0 7F 83 E3 78 */ mr r3, r28
+/* 802E4E84 002E0AE4 38 9F C8 40 */ addi r4, r31, lbl_8056C840@l
+/* 802E4E88 002E0AE8 4B FF 0F 99 */ bl L2CA_ConfigReq
+/* 802E4E8C 002E0AEC 38 7F C8 40 */ addi r3, r31, -14272
+/* 802E4E90 002E0AF0 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4E94 002E0AF4 28 00 00 04 */ cmplwi r0, 4
+/* 802E4E98 002E0AF8 41 80 00 D0 */ blt lbl_802E4F68
+/* 802E4E9C 002E0AFC 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E4EA0 002E0B00 A0 BD 00 22 */ lhz r5, 0x22(r29)
+/* 802E4EA4 002E0B04 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E4EA8 002E0B08 38 9E 00 DC */ addi r4, r30, 0xdc
+/* 802E4EAC 002E0B0C 4B FD 80 7D */ bl LogMsg_1
+/* 802E4EB0 002E0B10 48 00 00 B8 */ b lbl_802E4F68
+lbl_802E4EB4:
+/* 802E4EB4 002E0B14 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E4EB8 002E0B18 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4EBC 002E0B1C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4EC0 002E0B20 28 00 00 02 */ cmplwi r0, 2
+/* 802E4EC4 002E0B24 41 80 00 1C */ blt lbl_802E4EE0
+/* 802E4EC8 002E0B28 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4ECC 002E0B2C A0 DD 00 22 */ lhz r6, 0x22(r29)
+/* 802E4ED0 002E0B30 7F E5 FB 78 */ mr r5, r31
+/* 802E4ED4 002E0B34 38 9E 01 08 */ addi r4, r30, 0x108
+/* 802E4ED8 002E0B38 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E4EDC 002E0B3C 4B FD 80 65 */ bl LogMsg_2
+lbl_802E4EE0:
+/* 802E4EE0 002E0B40 81 9D 04 14 */ lwz r12, 0x414(r29)
+/* 802E4EE4 002E0B44 2C 0C 00 00 */ cmpwi r12, 0
+/* 802E4EE8 002E0B48 41 82 00 78 */ beq lbl_802E4F60
+/* 802E4EEC 002E0B4C 28 1F 00 0E */ cmplwi r31, 0xe
+/* 802E4EF0 002E0B50 41 82 00 24 */ beq lbl_802E4F14
+/* 802E4EF4 002E0B54 28 1F 00 05 */ cmplwi r31, 5
+/* 802E4EF8 002E0B58 41 82 00 1C */ beq lbl_802E4F14
+/* 802E4EFC 002E0B5C 28 1F 00 18 */ cmplwi r31, 0x18
+/* 802E4F00 002E0B60 41 82 00 14 */ beq lbl_802E4F14
+/* 802E4F04 002E0B64 28 1F 00 29 */ cmplwi r31, 0x29
+/* 802E4F08 002E0B68 41 82 00 0C */ beq lbl_802E4F14
+/* 802E4F0C 002E0B6C 28 1F 00 06 */ cmplwi r31, 6
+/* 802E4F10 002E0B70 40 82 00 1C */ bne lbl_802E4F2C
+lbl_802E4F14:
+/* 802E4F14 002E0B74 3C 60 00 01 */ lis r3, 0x0000FFF6@ha
+/* 802E4F18 002E0B78 38 03 FF F6 */ addi r0, r3, 0x0000FFF6@l
+/* 802E4F1C 002E0B7C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E4F20 002E0B80 7D 89 03 A6 */ mtctr r12
+/* 802E4F24 002E0B84 4E 80 04 21 */ bctrl
+/* 802E4F28 002E0B88 48 00 00 38 */ b lbl_802E4F60
+lbl_802E4F2C:
+/* 802E4F2C 002E0B8C 28 1F 00 0F */ cmplwi r31, 0xf
+/* 802E4F30 002E0B90 40 82 00 1C */ bne lbl_802E4F4C
+/* 802E4F34 002E0B94 3C 60 00 01 */ lis r3, 0x0000FFF7@ha
+/* 802E4F38 002E0B98 38 03 FF F7 */ addi r0, r3, 0x0000FFF7@l
+/* 802E4F3C 002E0B9C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E4F40 002E0BA0 7D 89 03 A6 */ mtctr r12
+/* 802E4F44 002E0BA4 4E 80 04 21 */ bctrl
+/* 802E4F48 002E0BA8 48 00 00 18 */ b lbl_802E4F60
+lbl_802E4F4C:
+/* 802E4F4C 002E0BAC 3C 60 00 01 */ lis r3, 0x0000FFF1@ha
+/* 802E4F50 002E0BB0 38 03 FF F1 */ addi r0, r3, 0x0000FFF1@l
+/* 802E4F54 002E0BB4 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E4F58 002E0BB8 7D 89 03 A6 */ mtctr r12
+/* 802E4F5C 002E0BBC 4E 80 04 21 */ bctrl
+lbl_802E4F60:
+/* 802E4F60 002E0BC0 7F A3 EB 78 */ mr r3, r29
+/* 802E4F64 002E0BC4 48 00 15 B1 */ bl sdpu_release_ccb
+lbl_802E4F68:
+/* 802E4F68 002E0BC8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E4F6C 002E0BCC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E4F70 002E0BD0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E4F74 002E0BD4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E4F78 002E0BD8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E4F7C 002E0BDC 7C 08 03 A6 */ mtlr r0
+/* 802E4F80 002E0BE0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E4F84 002E0BE4 4E 80 00 20 */ blr
+
+sdp_config_ind:
+/* 802E4F88 002E0BE8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E4F8C 002E0BEC 7C 08 02 A6 */ mflr r0
+/* 802E4F90 002E0BF0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E4F94 002E0BF4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E4F98 002E0BF8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E4F9C 002E0BFC 7C 9E 23 78 */ mr r30, r4
+/* 802E4FA0 002E0C00 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E4FA4 002E0C04 7C 7D 1B 78 */ mr r29, r3
+/* 802E4FA8 002E0C08 48 00 14 69 */ bl sdpu_find_ccb_by_cid
+/* 802E4FAC 002E0C0C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E4FB0 002E0C10 7C 7F 1B 78 */ mr r31, r3
+/* 802E4FB4 002E0C14 40 82 00 34 */ bne lbl_802E4FE8
+/* 802E4FB8 002E0C18 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E4FBC 002E0C1C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E4FC0 002E0C20 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E4FC4 002E0C24 28 00 00 02 */ cmplwi r0, 2
+/* 802E4FC8 002E0C28 41 80 00 E0 */ blt lbl_802E50A8
+/* 802E4FCC 002E0C2C 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E4FD0 002E0C30 3C 80 80 44 */ lis r4, lbl_804452E0@ha
+/* 802E4FD4 002E0C34 7F A5 EB 78 */ mr r5, r29
+/* 802E4FD8 002E0C38 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E4FDC 002E0C3C 38 84 52 E0 */ addi r4, r4, lbl_804452E0@l
+/* 802E4FE0 002E0C40 4B FD 7F 49 */ bl LogMsg_1
+/* 802E4FE4 002E0C44 48 00 00 C4 */ b lbl_802E50A8
+lbl_802E4FE8:
+/* 802E4FE8 002E0C48 88 1E 00 02 */ lbz r0, 2(r30)
+/* 802E4FEC 002E0C4C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E4FF0 002E0C50 40 82 00 10 */ bne lbl_802E5000
+/* 802E4FF4 002E0C54 38 00 01 00 */ li r0, 0x100
+/* 802E4FF8 002E0C58 B0 03 00 20 */ sth r0, 0x20(r3)
+/* 802E4FFC 002E0C5C 48 00 00 20 */ b lbl_802E501C
+lbl_802E5000:
+/* 802E5000 002E0C60 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802E5004 002E0C64 28 00 01 00 */ cmplwi r0, 0x100
+/* 802E5008 002E0C68 40 81 00 10 */ ble lbl_802E5018
+/* 802E500C 002E0C6C 38 00 01 00 */ li r0, 0x100
+/* 802E5010 002E0C70 B0 03 00 20 */ sth r0, 0x20(r3)
+/* 802E5014 002E0C74 48 00 00 08 */ b lbl_802E501C
+lbl_802E5018:
+/* 802E5018 002E0C78 B0 03 00 20 */ sth r0, 0x20(r3)
+lbl_802E501C:
+/* 802E501C 002E0C7C 38 00 00 00 */ li r0, 0
+/* 802E5020 002E0C80 7F A3 EB 78 */ mr r3, r29
+/* 802E5024 002E0C84 98 1E 00 20 */ stb r0, 0x20(r30)
+/* 802E5028 002E0C88 7F C4 F3 78 */ mr r4, r30
+/* 802E502C 002E0C8C 98 1E 00 02 */ stb r0, 2(r30)
+/* 802E5030 002E0C90 B0 1E 00 00 */ sth r0, 0(r30)
+/* 802E5034 002E0C94 4B FF 0E A5 */ bl L2CA_ConfigRsp
+/* 802E5038 002E0C98 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E503C 002E0C9C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5040 002E0CA0 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E5044 002E0CA4 28 00 00 04 */ cmplwi r0, 4
+/* 802E5048 002E0CA8 41 80 00 1C */ blt lbl_802E5064
+/* 802E504C 002E0CAC 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E5050 002E0CB0 3C 80 80 44 */ lis r4, lbl_8044530C@ha
+/* 802E5054 002E0CB4 7F A5 EB 78 */ mr r5, r29
+/* 802E5058 002E0CB8 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E505C 002E0CBC 38 84 53 0C */ addi r4, r4, lbl_8044530C@l
+/* 802E5060 002E0CC0 4B FD 7E C9 */ bl LogMsg_1
+lbl_802E5064:
+/* 802E5064 002E0CC4 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802E5068 002E0CC8 60 03 00 02 */ ori r3, r0, 2
+/* 802E506C 002E0CCC 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
+/* 802E5070 002E0CD0 98 7F 00 01 */ stb r3, 1(r31)
+/* 802E5074 002E0CD4 41 82 00 34 */ beq lbl_802E50A8
+/* 802E5078 002E0CD8 38 00 00 03 */ li r0, 3
+/* 802E507C 002E0CDC 98 1F 00 00 */ stb r0, 0(r31)
+/* 802E5080 002E0CE0 88 1F 00 01 */ lbz r0, 1(r31)
+/* 802E5084 002E0CE4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802E5088 002E0CE8 41 82 00 10 */ beq lbl_802E5098
+/* 802E508C 002E0CEC 7F E3 FB 78 */ mr r3, r31
+/* 802E5090 002E0CF0 4B FF EA A9 */ bl sdp_disc_connected
+/* 802E5094 002E0CF4 48 00 00 14 */ b lbl_802E50A8
+lbl_802E5098:
+/* 802E5098 002E0CF8 38 7F 00 08 */ addi r3, r31, 8
+/* 802E509C 002E0CFC 38 80 00 05 */ li r4, 5
+/* 802E50A0 002E0D00 38 A0 00 1E */ li r5, 0x1e
+/* 802E50A4 002E0D04 4B FD 84 39 */ bl btu_start_timer
+lbl_802E50A8:
+/* 802E50A8 002E0D08 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E50AC 002E0D0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E50B0 002E0D10 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E50B4 002E0D14 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E50B8 002E0D18 7C 08 03 A6 */ mtlr r0
+/* 802E50BC 002E0D1C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E50C0 002E0D20 4E 80 00 20 */ blr
+
+sdp_config_cfm:
+/* 802E50C4 002E0D24 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E50C8 002E0D28 7C 08 02 A6 */ mflr r0
+/* 802E50CC 002E0D2C 3C A0 80 57 */ lis r5, lbl_8056C840@ha
+/* 802E50D0 002E0D30 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E50D4 002E0D34 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
+/* 802E50D8 002E0D38 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E50DC 002E0D3C 3F E0 80 44 */ lis r31, lbl_804451A8@ha
+/* 802E50E0 002E0D40 3B FF 51 A8 */ addi r31, r31, lbl_804451A8@l
+/* 802E50E4 002E0D44 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E50E8 002E0D48 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E50EC 002E0D4C 7C 9D 23 78 */ mr r29, r4
+/* 802E50F0 002E0D50 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E50F4 002E0D54 7C 7C 1B 78 */ mr r28, r3
+/* 802E50F8 002E0D58 88 05 46 30 */ lbz r0, 0x4630(r5)
+/* 802E50FC 002E0D5C 28 00 00 04 */ cmplwi r0, 4
+/* 802E5100 002E0D60 41 80 00 1C */ blt lbl_802E511C
+/* 802E5104 002E0D64 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E5108 002E0D68 A0 DD 00 00 */ lhz r6, 0(r29)
+/* 802E510C 002E0D6C 7F 85 E3 78 */ mr r5, r28
+/* 802E5110 002E0D70 38 9F 01 90 */ addi r4, r31, 0x190
+/* 802E5114 002E0D74 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E5118 002E0D78 4B FD 7E 29 */ bl LogMsg_2
+lbl_802E511C:
+/* 802E511C 002E0D7C 7F 83 E3 78 */ mr r3, r28
+/* 802E5120 002E0D80 48 00 12 F1 */ bl sdpu_find_ccb_by_cid
+/* 802E5124 002E0D84 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5128 002E0D88 7C 7E 1B 78 */ mr r30, r3
+/* 802E512C 002E0D8C 40 82 00 30 */ bne lbl_802E515C
+/* 802E5130 002E0D90 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5134 002E0D94 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5138 002E0D98 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E513C 002E0D9C 28 00 00 02 */ cmplwi r0, 2
+/* 802E5140 002E0DA0 41 80 00 E0 */ blt lbl_802E5220
+/* 802E5144 002E0DA4 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E5148 002E0DA8 7F 85 E3 78 */ mr r5, r28
+/* 802E514C 002E0DAC 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E5150 002E0DB0 38 9F 01 38 */ addi r4, r31, 0x138
+/* 802E5154 002E0DB4 4B FD 7D D5 */ bl LogMsg_1
+/* 802E5158 002E0DB8 48 00 00 C8 */ b lbl_802E5220
+lbl_802E515C:
+/* 802E515C 002E0DBC A0 1D 00 00 */ lhz r0, 0(r29)
+/* 802E5160 002E0DC0 2C 00 00 00 */ cmpwi r0, 0
+/* 802E5164 002E0DC4 40 82 00 48 */ bne lbl_802E51AC
+/* 802E5168 002E0DC8 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E516C 002E0DCC 60 04 00 04 */ ori r4, r0, 4
+/* 802E5170 002E0DD0 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
+/* 802E5174 002E0DD4 98 83 00 01 */ stb r4, 1(r3)
+/* 802E5178 002E0DD8 41 82 00 A8 */ beq lbl_802E5220
+/* 802E517C 002E0DDC 38 00 00 03 */ li r0, 3
+/* 802E5180 002E0DE0 98 03 00 00 */ stb r0, 0(r3)
+/* 802E5184 002E0DE4 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E5188 002E0DE8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802E518C 002E0DEC 41 82 00 0C */ beq lbl_802E5198
+/* 802E5190 002E0DF0 4B FF E9 A9 */ bl sdp_disc_connected
+/* 802E5194 002E0DF4 48 00 00 8C */ b lbl_802E5220
+lbl_802E5198:
+/* 802E5198 002E0DF8 38 80 00 05 */ li r4, 5
+/* 802E519C 002E0DFC 38 A0 00 1E */ li r5, 0x1e
+/* 802E51A0 002E0E00 38 63 00 08 */ addi r3, r3, 8
+/* 802E51A4 002E0E04 4B FD 83 39 */ bl btu_start_timer
+/* 802E51A8 002E0E08 48 00 00 78 */ b lbl_802E5220
+lbl_802E51AC:
+/* 802E51AC 002E0E0C 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E51B0 002E0E10 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E51B4 002E0E14 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E51B8 002E0E18 28 00 00 04 */ cmplwi r0, 4
+/* 802E51BC 002E0E1C 41 80 00 18 */ blt lbl_802E51D4
+/* 802E51C0 002E0E20 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E51C4 002E0E24 A0 BE 00 22 */ lhz r5, 0x22(r30)
+/* 802E51C8 002E0E28 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E51CC 002E0E2C 38 9F 01 BC */ addi r4, r31, 0x1bc
+/* 802E51D0 002E0E30 4B FD 7D 59 */ bl LogMsg_1
+lbl_802E51D4:
+/* 802E51D4 002E0E34 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802E51D8 002E0E38 28 00 00 01 */ cmplwi r0, 1
+/* 802E51DC 002E0E3C 41 82 00 1C */ beq lbl_802E51F8
+/* 802E51E0 002E0E40 A0 7E 00 22 */ lhz r3, 0x22(r30)
+/* 802E51E4 002E0E44 4B FF 0D C5 */ bl L2CA_DisconnectReq
+/* 802E51E8 002E0E48 3C 60 00 01 */ lis r3, 0x0000FFF2@ha
+/* 802E51EC 002E0E4C 38 03 FF F2 */ addi r0, r3, 0x0000FFF2@l
+/* 802E51F0 002E0E50 B0 1E 04 72 */ sth r0, 0x472(r30)
+/* 802E51F4 002E0E54 48 00 00 2C */ b lbl_802E5220
+lbl_802E51F8:
+/* 802E51F8 002E0E58 81 9E 04 14 */ lwz r12, 0x414(r30)
+/* 802E51FC 002E0E5C 2C 0C 00 00 */ cmpwi r12, 0
+/* 802E5200 002E0E60 41 82 00 18 */ beq lbl_802E5218
+/* 802E5204 002E0E64 3C 60 00 01 */ lis r3, 0x0000FFF2@ha
+/* 802E5208 002E0E68 38 03 FF F2 */ addi r0, r3, 0x0000FFF2@l
+/* 802E520C 002E0E6C 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E5210 002E0E70 7D 89 03 A6 */ mtctr r12
+/* 802E5214 002E0E74 4E 80 04 21 */ bctrl
+lbl_802E5218:
+/* 802E5218 002E0E78 7F C3 F3 78 */ mr r3, r30
+/* 802E521C 002E0E7C 48 00 12 F9 */ bl sdpu_release_ccb
+lbl_802E5220:
+/* 802E5220 002E0E80 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E5224 002E0E84 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E5228 002E0E88 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E522C 002E0E8C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E5230 002E0E90 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E5234 002E0E94 7C 08 03 A6 */ mtlr r0
+/* 802E5238 002E0E98 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E523C 002E0E9C 4E 80 00 20 */ blr
+
+sdp_disconnect_ind:
+/* 802E5240 002E0EA0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E5244 002E0EA4 7C 08 02 A6 */ mflr r0
+/* 802E5248 002E0EA8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E524C 002E0EAC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E5250 002E0EB0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E5254 002E0EB4 7C 9E 23 78 */ mr r30, r4
+/* 802E5258 002E0EB8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E525C 002E0EBC 7C 7D 1B 78 */ mr r29, r3
+/* 802E5260 002E0EC0 48 00 11 B1 */ bl sdpu_find_ccb_by_cid
+/* 802E5264 002E0EC4 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5268 002E0EC8 7C 7F 1B 78 */ mr r31, r3
+/* 802E526C 002E0ECC 40 82 00 34 */ bne lbl_802E52A0
+/* 802E5270 002E0ED0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5274 002E0ED4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5278 002E0ED8 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E527C 002E0EDC 28 00 00 02 */ cmplwi r0, 2
+/* 802E5280 002E0EE0 41 80 00 9C */ blt lbl_802E531C
+/* 802E5284 002E0EE4 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E5288 002E0EE8 3C 80 80 44 */ lis r4, lbl_80445380@ha
+/* 802E528C 002E0EEC 7F A5 EB 78 */ mr r5, r29
+/* 802E5290 002E0EF0 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E5294 002E0EF4 38 84 53 80 */ addi r4, r4, lbl_80445380@l
+/* 802E5298 002E0EF8 4B FD 7C 91 */ bl LogMsg_1
+/* 802E529C 002E0EFC 48 00 00 80 */ b lbl_802E531C
+lbl_802E52A0:
+/* 802E52A0 002E0F00 2C 1E 00 00 */ cmpwi r30, 0
+/* 802E52A4 002E0F04 41 82 00 0C */ beq lbl_802E52B0
+/* 802E52A8 002E0F08 7F A3 EB 78 */ mr r3, r29
+/* 802E52AC 002E0F0C 4B FF 0D A1 */ bl L2CA_DisconnectRsp
+lbl_802E52B0:
+/* 802E52B0 002E0F10 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E52B4 002E0F14 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E52B8 002E0F18 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E52BC 002E0F1C 28 00 00 04 */ cmplwi r0, 4
+/* 802E52C0 002E0F20 41 80 00 1C */ blt lbl_802E52DC
+/* 802E52C4 002E0F24 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E52C8 002E0F28 3C 80 80 44 */ lis r4, lbl_804453AC@ha
+/* 802E52CC 002E0F2C 7F A5 EB 78 */ mr r5, r29
+/* 802E52D0 002E0F30 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E52D4 002E0F34 38 84 53 AC */ addi r4, r4, lbl_804453AC@l
+/* 802E52D8 002E0F38 4B FD 7C 51 */ bl LogMsg_1
+lbl_802E52DC:
+/* 802E52DC 002E0F3C 81 9F 04 14 */ lwz r12, 0x414(r31)
+/* 802E52E0 002E0F40 2C 0C 00 00 */ cmpwi r12, 0
+/* 802E52E4 002E0F44 41 82 00 30 */ beq lbl_802E5314
+/* 802E52E8 002E0F48 88 BF 00 00 */ lbz r5, 0(r31)
+/* 802E52EC 002E0F4C 3C 60 00 01 */ lis r3, 0x0000FFF1@ha
+/* 802E52F0 002E0F50 38 03 FF F1 */ addi r0, r3, 0x0000FFF1@l
+/* 802E52F4 002E0F54 38 85 FF FD */ addi r4, r5, -3
+/* 802E52F8 002E0F58 20 65 00 03 */ subfic r3, r5, 3
+/* 802E52FC 002E0F5C 7C 83 18 F8 */ nor r3, r4, r3
+/* 802E5300 002E0F60 7C 63 FE 70 */ srawi r3, r3, 0x1f
+/* 802E5304 002E0F64 7C 00 18 78 */ andc r0, r0, r3
+/* 802E5308 002E0F68 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E530C 002E0F6C 7D 89 03 A6 */ mtctr r12
+/* 802E5310 002E0F70 4E 80 04 21 */ bctrl
+lbl_802E5314:
+/* 802E5314 002E0F74 7F E3 FB 78 */ mr r3, r31
+/* 802E5318 002E0F78 48 00 11 FD */ bl sdpu_release_ccb
+lbl_802E531C:
+/* 802E531C 002E0F7C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E5320 002E0F80 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E5324 002E0F84 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E5328 002E0F88 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E532C 002E0F8C 7C 08 03 A6 */ mtlr r0
+/* 802E5330 002E0F90 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E5334 002E0F94 4E 80 00 20 */ blr
+
+sdp_data_ind:
+/* 802E5338 002E0F98 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E533C 002E0F9C 7C 08 02 A6 */ mflr r0
+/* 802E5340 002E0FA0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E5344 002E0FA4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E5348 002E0FA8 7C 9F 23 78 */ mr r31, r4
+/* 802E534C 002E0FAC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E5350 002E0FB0 7C 7E 1B 78 */ mr r30, r3
+/* 802E5354 002E0FB4 48 00 10 BD */ bl sdpu_find_ccb_by_cid
+/* 802E5358 002E0FB8 2C 03 00 00 */ cmpwi r3, 0
+/* 802E535C 002E0FBC 41 82 00 64 */ beq lbl_802E53C0
+/* 802E5360 002E0FC0 88 A3 00 00 */ lbz r5, 0(r3)
+/* 802E5364 002E0FC4 28 05 00 03 */ cmplwi r5, 3
+/* 802E5368 002E0FC8 40 82 00 28 */ bne lbl_802E5390
+/* 802E536C 002E0FCC 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E5370 002E0FD0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 802E5374 002E0FD4 41 82 00 10 */ beq lbl_802E5384
+/* 802E5378 002E0FD8 7F E4 FB 78 */ mr r4, r31
+/* 802E537C 002E0FDC 4B FF E7 F1 */ bl sdp_disc_server_rsp
+/* 802E5380 002E0FE0 48 00 00 6C */ b lbl_802E53EC
+lbl_802E5384:
+/* 802E5384 002E0FE4 7F E4 FB 78 */ mr r4, r31
+/* 802E5388 002E0FE8 48 00 03 79 */ bl sdp_server_handle_client_req
+/* 802E538C 002E0FEC 48 00 00 60 */ b lbl_802E53EC
+lbl_802E5390:
+/* 802E5390 002E0FF0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5394 002E0FF4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5398 002E0FF8 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E539C 002E0FFC 28 00 00 02 */ cmplwi r0, 2
+/* 802E53A0 002E1000 41 80 00 4C */ blt lbl_802E53EC
+/* 802E53A4 002E1004 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E53A8 002E1008 3C 80 80 44 */ lis r4, lbl_804453D0@ha
+/* 802E53AC 002E100C 7F C6 F3 78 */ mr r6, r30
+/* 802E53B0 002E1010 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E53B4 002E1014 38 84 53 D0 */ addi r4, r4, lbl_804453D0@l
+/* 802E53B8 002E1018 4B FD 7B 89 */ bl LogMsg_2
+/* 802E53BC 002E101C 48 00 00 30 */ b lbl_802E53EC
+lbl_802E53C0:
+/* 802E53C0 002E1020 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E53C4 002E1024 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E53C8 002E1028 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E53CC 002E102C 28 00 00 02 */ cmplwi r0, 2
+/* 802E53D0 002E1030 41 80 00 1C */ blt lbl_802E53EC
+/* 802E53D4 002E1034 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E53D8 002E1038 3C 80 80 44 */ lis r4, lbl_80445408@ha
+/* 802E53DC 002E103C 7F C5 F3 78 */ mr r5, r30
+/* 802E53E0 002E1040 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E53E4 002E1044 38 84 54 08 */ addi r4, r4, lbl_80445408@l
+/* 802E53E8 002E1048 4B FD 7B 41 */ bl LogMsg_1
+lbl_802E53EC:
+/* 802E53EC 002E104C 7F E3 FB 78 */ mr r3, r31
+/* 802E53F0 002E1050 4B FD 49 45 */ bl GKI_freebuf
+/* 802E53F4 002E1054 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E53F8 002E1058 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E53FC 002E105C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E5400 002E1060 7C 08 03 A6 */ mtlr r0
+/* 802E5404 002E1064 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E5408 002E1068 4E 80 00 20 */ blr
+
+.global sdp_conn_originate
+sdp_conn_originate:
+/* 802E540C 002E106C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E5410 002E1070 7C 08 02 A6 */ mflr r0
+/* 802E5414 002E1074 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E5418 002E1078 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E541C 002E107C 3F E0 80 44 */ lis r31, lbl_804451A8@ha
+/* 802E5420 002E1080 3B FF 51 A8 */ addi r31, r31, lbl_804451A8@l
+/* 802E5424 002E1084 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E5428 002E1088 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E542C 002E108C 7C 7D 1B 78 */ mr r29, r3
+/* 802E5430 002E1090 48 00 10 71 */ bl sdpu_allocate_ccb
+/* 802E5434 002E1094 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5438 002E1098 7C 7E 1B 78 */ mr r30, r3
+/* 802E543C 002E109C 40 82 00 30 */ bne lbl_802E546C
+/* 802E5440 002E10A0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5444 002E10A4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5448 002E10A8 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E544C 002E10AC 28 00 00 02 */ cmplwi r0, 2
+/* 802E5450 002E10B0 41 80 00 14 */ blt lbl_802E5464
+/* 802E5454 002E10B4 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E5458 002E10B8 38 9F 02 8C */ addi r4, r31, 0x28c
+/* 802E545C 002E10BC 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E5460 002E10C0 4B FD 7A B1 */ bl LogMsg_0
+lbl_802E5464:
+/* 802E5464 002E10C4 38 60 00 00 */ li r3, 0
+/* 802E5468 002E10C8 48 00 00 9C */ b lbl_802E5504
+lbl_802E546C:
+/* 802E546C 002E10CC 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5470 002E10D0 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5474 002E10D4 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E5478 002E10D8 28 00 00 04 */ cmplwi r0, 4
+/* 802E547C 002E10DC 41 80 00 14 */ blt lbl_802E5490
+/* 802E5480 002E10E0 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E5484 002E10E4 38 9F 02 A8 */ addi r4, r31, 0x2a8
+/* 802E5488 002E10E8 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E548C 002E10EC 4B FD 7A 85 */ bl LogMsg_0
+lbl_802E5490:
+/* 802E5490 002E10F0 88 1E 00 01 */ lbz r0, 1(r30)
+/* 802E5494 002E10F4 7F A4 EB 78 */ mr r4, r29
+/* 802E5498 002E10F8 38 7E 00 02 */ addi r3, r30, 2
+/* 802E549C 002E10FC 38 A0 00 06 */ li r5, 6
+/* 802E54A0 002E1100 60 00 00 01 */ ori r0, r0, 1
+/* 802E54A4 002E1104 98 1E 00 01 */ stb r0, 1(r30)
+/* 802E54A8 002E1108 4B D1 EB 59 */ bl memcpy
+/* 802E54AC 002E110C 38 00 00 01 */ li r0, 1
+/* 802E54B0 002E1110 7F A4 EB 78 */ mr r4, r29
+/* 802E54B4 002E1114 98 1E 00 00 */ stb r0, 0(r30)
+/* 802E54B8 002E1118 38 60 00 01 */ li r3, 1
+/* 802E54BC 002E111C 4B FF 05 A1 */ bl L2CA_ConnectReq
+/* 802E54C0 002E1120 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802E54C4 002E1124 41 82 00 10 */ beq lbl_802E54D4
+/* 802E54C8 002E1128 B0 7E 00 22 */ sth r3, 0x22(r30)
+/* 802E54CC 002E112C 7F C3 F3 78 */ mr r3, r30
+/* 802E54D0 002E1130 48 00 00 34 */ b lbl_802E5504
+lbl_802E54D4:
+/* 802E54D4 002E1134 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E54D8 002E1138 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E54DC 002E113C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E54E0 002E1140 28 00 00 02 */ cmplwi r0, 2
+/* 802E54E4 002E1144 41 80 00 14 */ blt lbl_802E54F8
+/* 802E54E8 002E1148 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E54EC 002E114C 38 9F 02 C0 */ addi r4, r31, 0x2c0
+/* 802E54F0 002E1150 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E54F4 002E1154 4B FD 7A 1D */ bl LogMsg_0
+lbl_802E54F8:
+/* 802E54F8 002E1158 7F C3 F3 78 */ mr r3, r30
+/* 802E54FC 002E115C 48 00 10 19 */ bl sdpu_release_ccb
+/* 802E5500 002E1160 38 60 00 00 */ li r3, 0
+lbl_802E5504:
+/* 802E5504 002E1164 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E5508 002E1168 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E550C 002E116C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E5510 002E1170 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E5514 002E1174 7C 08 03 A6 */ mtlr r0
+/* 802E5518 002E1178 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E551C 002E117C 4E 80 00 20 */ blr
+
+.global sdp_disconnect
+sdp_disconnect:
+/* 802E5520 002E1180 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E5524 002E1184 7C 08 02 A6 */ mflr r0
+/* 802E5528 002E1188 3C A0 80 57 */ lis r5, lbl_8056C840@ha
+/* 802E552C 002E118C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E5530 002E1190 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
+/* 802E5534 002E1194 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E5538 002E1198 7C 9F 23 78 */ mr r31, r4
+/* 802E553C 002E119C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E5540 002E11A0 7C 7E 1B 78 */ mr r30, r3
+/* 802E5544 002E11A4 88 05 46 30 */ lbz r0, 0x4630(r5)
+/* 802E5548 002E11A8 28 00 00 04 */ cmplwi r0, 4
+/* 802E554C 002E11AC 41 80 00 1C */ blt lbl_802E5568
+/* 802E5550 002E11B0 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E5554 002E11B4 3C 80 80 44 */ lis r4, lbl_80445364@ha
+/* 802E5558 002E11B8 A0 BE 00 22 */ lhz r5, 0x22(r30)
+/* 802E555C 002E11BC 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E5560 002E11C0 38 84 53 64 */ addi r4, r4, lbl_80445364@l
+/* 802E5564 002E11C4 4B FD 79 C5 */ bl LogMsg_1
+lbl_802E5568:
+/* 802E5568 002E11C8 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802E556C 002E11CC 28 00 00 01 */ cmplwi r0, 1
+/* 802E5570 002E11D0 41 82 00 14 */ beq lbl_802E5584
+/* 802E5574 002E11D4 A0 7E 00 22 */ lhz r3, 0x22(r30)
+/* 802E5578 002E11D8 4B FF 0A 31 */ bl L2CA_DisconnectReq
+/* 802E557C 002E11DC B3 FE 04 72 */ sth r31, 0x472(r30)
+/* 802E5580 002E11E0 48 00 00 24 */ b lbl_802E55A4
+lbl_802E5584:
+/* 802E5584 002E11E4 81 9E 04 14 */ lwz r12, 0x414(r30)
+/* 802E5588 002E11E8 2C 0C 00 00 */ cmpwi r12, 0
+/* 802E558C 002E11EC 41 82 00 10 */ beq lbl_802E559C
+/* 802E5590 002E11F0 7F E3 FB 78 */ mr r3, r31
+/* 802E5594 002E11F4 7D 89 03 A6 */ mtctr r12
+/* 802E5598 002E11F8 4E 80 04 21 */ bctrl
+lbl_802E559C:
+/* 802E559C 002E11FC 7F C3 F3 78 */ mr r3, r30
+/* 802E55A0 002E1200 48 00 0F 75 */ bl sdpu_release_ccb
+lbl_802E55A4:
+/* 802E55A4 002E1204 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E55A8 002E1208 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E55AC 002E120C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E55B0 002E1210 7C 08 03 A6 */ mtlr r0
+/* 802E55B4 002E1214 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E55B8 002E1218 4E 80 00 20 */ blr
+
+sdp_disconnect_cfm:
+/* 802E55BC 002E121C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E55C0 002E1220 7C 08 02 A6 */ mflr r0
+/* 802E55C4 002E1224 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E55C8 002E1228 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E55CC 002E122C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802E55D0 002E1230 7C 7E 1B 78 */ mr r30, r3
+/* 802E55D4 002E1234 48 00 0E 3D */ bl sdpu_find_ccb_by_cid
+/* 802E55D8 002E1238 2C 03 00 00 */ cmpwi r3, 0
+/* 802E55DC 002E123C 7C 7F 1B 78 */ mr r31, r3
+/* 802E55E0 002E1240 40 82 00 34 */ bne lbl_802E5614
+/* 802E55E4 002E1244 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E55E8 002E1248 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E55EC 002E124C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E55F0 002E1250 28 00 00 02 */ cmplwi r0, 2
+/* 802E55F4 002E1254 41 80 00 6C */ blt lbl_802E5660
+/* 802E55F8 002E1258 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E55FC 002E125C 3C 80 80 44 */ lis r4, lbl_80445480@ha
+/* 802E5600 002E1260 7F C5 F3 78 */ mr r5, r30
+/* 802E5604 002E1264 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E5608 002E1268 38 84 54 80 */ addi r4, r4, lbl_80445480@l
+/* 802E560C 002E126C 4B FD 79 1D */ bl LogMsg_1
+/* 802E5610 002E1270 48 00 00 50 */ b lbl_802E5660
+lbl_802E5614:
+/* 802E5614 002E1274 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5618 002E1278 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E561C 002E127C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E5620 002E1280 28 00 00 04 */ cmplwi r0, 4
+/* 802E5624 002E1284 41 80 00 1C */ blt lbl_802E5640
+/* 802E5628 002E1288 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E562C 002E128C 3C 80 80 44 */ lis r4, lbl_804454B0@ha
+/* 802E5630 002E1290 7F C5 F3 78 */ mr r5, r30
+/* 802E5634 002E1294 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E5638 002E1298 38 84 54 B0 */ addi r4, r4, lbl_804454B0@l
+/* 802E563C 002E129C 4B FD 78 ED */ bl LogMsg_1
+lbl_802E5640:
+/* 802E5640 002E12A0 81 9F 04 14 */ lwz r12, 0x414(r31)
+/* 802E5644 002E12A4 2C 0C 00 00 */ cmpwi r12, 0
+/* 802E5648 002E12A8 41 82 00 10 */ beq lbl_802E5658
+/* 802E564C 002E12AC A0 7F 04 72 */ lhz r3, 0x472(r31)
+/* 802E5650 002E12B0 7D 89 03 A6 */ mtctr r12
+/* 802E5654 002E12B4 4E 80 04 21 */ bctrl
+lbl_802E5658:
+/* 802E5658 002E12B8 7F E3 FB 78 */ mr r3, r31
+/* 802E565C 002E12BC 48 00 0E B9 */ bl sdpu_release_ccb
+lbl_802E5660:
+/* 802E5660 002E12C0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E5664 002E12C4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E5668 002E12C8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802E566C 002E12CC 7C 08 03 A6 */ mtlr r0
+/* 802E5670 002E12D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E5674 002E12D4 4E 80 00 20 */ blr
+
+.global sdp_conn_timeout
+sdp_conn_timeout:
+/* 802E5678 002E12D8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E567C 002E12DC 7C 08 02 A6 */ mflr r0
+/* 802E5680 002E12E0 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E5684 002E12E4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E5688 002E12E8 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E568C 002E12EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E5690 002E12F0 7C 7F 1B 78 */ mr r31, r3
+/* 802E5694 002E12F4 88 04 46 30 */ lbz r0, 0x4630(r4)
+/* 802E5698 002E12F8 28 00 00 04 */ cmplwi r0, 4
+/* 802E569C 002E12FC 41 80 00 20 */ blt lbl_802E56BC
+/* 802E56A0 002E1300 3C 60 00 0A */ lis r3, 0x000A0003@ha
+/* 802E56A4 002E1304 3C 80 80 44 */ lis r4, lbl_804454D8@ha
+/* 802E56A8 002E1308 88 BF 00 00 */ lbz r5, 0(r31)
+/* 802E56AC 002E130C 38 63 00 03 */ addi r3, r3, 0x000A0003@l
+/* 802E56B0 002E1310 A0 DF 00 22 */ lhz r6, 0x22(r31)
+/* 802E56B4 002E1314 38 84 54 D8 */ addi r4, r4, lbl_804454D8@l
+/* 802E56B8 002E1318 4B FD 78 89 */ bl LogMsg_2
+lbl_802E56BC:
+/* 802E56BC 002E131C A0 7F 00 22 */ lhz r3, 0x22(r31)
+/* 802E56C0 002E1320 4B FF 08 E9 */ bl L2CA_DisconnectReq
+/* 802E56C4 002E1324 81 9F 04 14 */ lwz r12, 0x414(r31)
+/* 802E56C8 002E1328 2C 0C 00 00 */ cmpwi r12, 0
+/* 802E56CC 002E132C 41 82 00 18 */ beq lbl_802E56E4
+/* 802E56D0 002E1330 3C 60 00 01 */ lis r3, 0x0000FFF1@ha
+/* 802E56D4 002E1334 38 03 FF F1 */ addi r0, r3, 0x0000FFF1@l
+/* 802E56D8 002E1338 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E56DC 002E133C 7D 89 03 A6 */ mtctr r12
+/* 802E56E0 002E1340 4E 80 04 21 */ bctrl
+lbl_802E56E4:
+/* 802E56E4 002E1344 7F E3 FB 78 */ mr r3, r31
+/* 802E56E8 002E1348 48 00 0E 2D */ bl sdpu_release_ccb
+/* 802E56EC 002E134C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E56F0 002E1350 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E56F4 002E1354 7C 08 03 A6 */ mtlr r0
+/* 802E56F8 002E1358 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E56FC 002E135C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/sdp_server.s b/asm/SDK/BTE/sdp_server.s new file mode 100644 index 0000000..097445b --- /dev/null +++ b/asm/SDK/BTE/sdp_server.s @@ -0,0 +1,924 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global sdp_server_handle_client_req
+sdp_server_handle_client_req:
+/* 802E5700 002E1360 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802E5704 002E1364 7C 08 02 A6 */ mflr r0
+/* 802E5708 002E1368 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802E570C 002E136C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802E5710 002E1370 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802E5714 002E1374 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802E5718 002E1378 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802E571C 002E137C 7C 7C 1B 78 */ mr r28, r3
+/* 802E5720 002E1380 38 63 00 08 */ addi r3, r3, 8
+/* 802E5724 002E1384 A0 A4 00 04 */ lhz r5, 4(r4)
+/* 802E5728 002E1388 A0 04 00 02 */ lhz r0, 2(r4)
+/* 802E572C 002E138C 7C A4 2A 14 */ add r5, r4, r5
+/* 802E5730 002E1390 38 80 00 05 */ li r4, 5
+/* 802E5734 002E1394 3B E5 00 08 */ addi r31, r5, 8
+/* 802E5738 002E1398 38 A0 00 1E */ li r5, 0x1e
+/* 802E573C 002E139C 7F DF 02 14 */ add r30, r31, r0
+/* 802E5740 002E13A0 4B FD 7D 9D */ bl btu_start_timer
+/* 802E5744 002E13A4 88 7F 00 03 */ lbz r3, 3(r31)
+/* 802E5748 002E13A8 88 1F 00 04 */ lbz r0, 4(r31)
+/* 802E574C 002E13AC 54 63 40 2E */ slwi r3, r3, 8
+/* 802E5750 002E13B0 88 DF 00 01 */ lbz r6, 1(r31)
+/* 802E5754 002E13B4 7C 03 02 14 */ add r0, r3, r0
+/* 802E5758 002E13B8 8B BF 00 00 */ lbz r29, 0(r31)
+/* 802E575C 002E13BC 88 9F 00 02 */ lbz r4, 2(r31)
+/* 802E5760 002E13C0 54 05 04 3E */ clrlwi r5, r0, 0x10
+/* 802E5764 002E13C4 3B FF 00 01 */ addi r31, r31, 1
+/* 802E5768 002E13C8 54 C6 40 2E */ slwi r6, r6, 8
+/* 802E576C 002E13CC 7C 7F 2A 14 */ add r3, r31, r5
+/* 802E5770 002E13D0 38 03 00 04 */ addi r0, r3, 4
+/* 802E5774 002E13D4 7C 66 22 14 */ add r3, r6, r4
+/* 802E5778 002E13D8 7C 00 F0 40 */ cmplw r0, r30
+/* 802E577C 002E13DC 54 64 04 3E */ clrlwi r4, r3, 0x10
+/* 802E5780 002E13E0 40 81 00 18 */ ble lbl_802E5798
+/* 802E5784 002E13E4 7F 83 E3 78 */ mr r3, r28
+/* 802E5788 002E13E8 38 A0 00 04 */ li r5, 4
+/* 802E578C 002E13EC 38 C0 00 00 */ li r6, 0
+/* 802E5790 002E13F0 48 00 10 E1 */ bl sdpu_build_n_send_error
+/* 802E5794 002E13F4 48 00 00 A0 */ b lbl_802E5834
+lbl_802E5798:
+/* 802E5798 002E13F8 2C 1D 00 04 */ cmpwi r29, 4
+/* 802E579C 002E13FC 41 82 00 34 */ beq lbl_802E57D0
+/* 802E57A0 002E1400 40 80 00 10 */ bge lbl_802E57B0
+/* 802E57A4 002E1404 2C 1D 00 02 */ cmpwi r29, 2
+/* 802E57A8 002E1408 41 82 00 14 */ beq lbl_802E57BC
+/* 802E57AC 002E140C 48 00 00 4C */ b lbl_802E57F8
+lbl_802E57B0:
+/* 802E57B0 002E1410 2C 1D 00 06 */ cmpwi r29, 6
+/* 802E57B4 002E1414 41 82 00 30 */ beq lbl_802E57E4
+/* 802E57B8 002E1418 48 00 00 40 */ b lbl_802E57F8
+lbl_802E57BC:
+/* 802E57BC 002E141C 7F 83 E3 78 */ mr r3, r28
+/* 802E57C0 002E1420 7F C7 F3 78 */ mr r7, r30
+/* 802E57C4 002E1424 38 DF 00 04 */ addi r6, r31, 4
+/* 802E57C8 002E1428 48 00 00 8D */ bl process_service_search
+/* 802E57CC 002E142C 48 00 00 68 */ b lbl_802E5834
+lbl_802E57D0:
+/* 802E57D0 002E1430 7F 83 E3 78 */ mr r3, r28
+/* 802E57D4 002E1434 7F C7 F3 78 */ mr r7, r30
+/* 802E57D8 002E1438 38 DF 00 04 */ addi r6, r31, 4
+/* 802E57DC 002E143C 48 00 04 89 */ bl process_service_attr_req
+/* 802E57E0 002E1440 48 00 00 54 */ b lbl_802E5834
+lbl_802E57E4:
+/* 802E57E4 002E1444 7F 83 E3 78 */ mr r3, r28
+/* 802E57E8 002E1448 7F C7 F3 78 */ mr r7, r30
+/* 802E57EC 002E144C 38 DF 00 04 */ addi r6, r31, 4
+/* 802E57F0 002E1450 48 00 08 05 */ bl process_service_search_attr_req
+/* 802E57F4 002E1454 48 00 00 40 */ b lbl_802E5834
+lbl_802E57F8:
+/* 802E57F8 002E1458 7F 83 E3 78 */ mr r3, r28
+/* 802E57FC 002E145C 38 A0 00 03 */ li r5, 3
+/* 802E5800 002E1460 38 C0 00 00 */ li r6, 0
+/* 802E5804 002E1464 48 00 10 6D */ bl sdpu_build_n_send_error
+/* 802E5808 002E1468 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E580C 002E146C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5810 002E1470 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E5814 002E1474 28 00 00 02 */ cmplwi r0, 2
+/* 802E5818 002E1478 41 80 00 1C */ blt lbl_802E5834
+/* 802E581C 002E147C 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E5820 002E1480 3C 80 80 44 */ lis r4, lbl_80445508@ha
+/* 802E5824 002E1484 7F A5 EB 78 */ mr r5, r29
+/* 802E5828 002E1488 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E582C 002E148C 38 84 55 08 */ addi r4, r4, lbl_80445508@l
+/* 802E5830 002E1490 4B FD 76 F9 */ bl LogMsg_1
+lbl_802E5834:
+/* 802E5834 002E1494 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802E5838 002E1498 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802E583C 002E149C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802E5840 002E14A0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802E5844 002E14A4 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802E5848 002E14A8 7C 08 03 A6 */ mtlr r0
+/* 802E584C 002E14AC 38 21 00 20 */ addi r1, r1, 0x20
+/* 802E5850 002E14B0 4E 80 00 20 */ blr
+
+.global process_service_search
+process_service_search:
+/* 802E5854 002E14B4 94 21 FE 30 */ stwu r1, -0x1d0(r1)
+/* 802E5858 002E14B8 7C 08 02 A6 */ mflr r0
+/* 802E585C 002E14BC 90 01 01 D4 */ stw r0, 0x1d4(r1)
+/* 802E5860 002E14C0 39 61 01 D0 */ addi r11, r1, 0x1d0
+/* 802E5864 002E14C4 4B EE 18 91 */ bl __save_gpr
+/* 802E5868 002E14C8 38 00 00 00 */ li r0, 0
+/* 802E586C 002E14CC 7C 7E 1B 78 */ mr r30, r3
+/* 802E5870 002E14D0 98 01 01 7C */ stb r0, 0x17c(r1)
+/* 802E5874 002E14D4 7C 91 23 78 */ mr r17, r4
+/* 802E5878 002E14D8 7C A4 2B 78 */ mr r4, r5
+/* 802E587C 002E14DC 7C C3 33 78 */ mr r3, r6
+/* 802E5880 002E14E0 38 A1 00 58 */ addi r5, r1, 0x58
+/* 802E5884 002E14E4 3A 60 00 00 */ li r19, 0
+/* 802E5888 002E14E8 48 00 11 25 */ bl sdpu_extract_uid_seq
+/* 802E588C 002E14EC 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5890 002E14F0 7C 6F 1B 78 */ mr r15, r3
+/* 802E5894 002E14F4 41 82 00 10 */ beq lbl_802E58A4
+/* 802E5898 002E14F8 A0 01 00 58 */ lhz r0, 0x58(r1)
+/* 802E589C 002E14FC 2C 00 00 00 */ cmpwi r0, 0
+/* 802E58A0 002E1500 40 82 00 1C */ bne lbl_802E58BC
+lbl_802E58A4:
+/* 802E58A4 002E1504 7F C3 F3 78 */ mr r3, r30
+/* 802E58A8 002E1508 7E 24 8B 78 */ mr r4, r17
+/* 802E58AC 002E150C 38 A0 00 03 */ li r5, 3
+/* 802E58B0 002E1510 38 C0 00 00 */ li r6, 0
+/* 802E58B4 002E1514 48 00 0F BD */ bl sdpu_build_n_send_error
+/* 802E58B8 002E1518 48 00 03 94 */ b lbl_802E5C4C
+lbl_802E58BC:
+/* 802E58BC 002E151C 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E58C0 002E1520 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E58C4 002E1524 54 83 40 2E */ slwi r3, r4, 8
+/* 802E58C8 002E1528 7C 03 02 14 */ add r0, r3, r0
+/* 802E58CC 002E152C 54 12 04 3E */ clrlwi r18, r0, 0x10
+/* 802E58D0 002E1530 28 12 00 14 */ cmplwi r18, 0x14
+/* 802E58D4 002E1534 40 81 00 08 */ ble lbl_802E58DC
+/* 802E58D8 002E1538 3A 40 00 14 */ li r18, 0x14
+lbl_802E58DC:
+/* 802E58DC 002E153C 39 C1 00 08 */ addi r14, r1, 8
+/* 802E58E0 002E1540 3A 00 00 00 */ li r16, 0
+/* 802E58E4 002E1544 48 00 00 2C */ b lbl_802E5910
+lbl_802E58E8:
+/* 802E58E8 002E1548 7E 63 9B 78 */ mr r3, r19
+/* 802E58EC 002E154C 38 81 00 58 */ addi r4, r1, 0x58
+/* 802E58F0 002E1550 4B FF D3 61 */ bl sdp_db_service_search
+/* 802E58F4 002E1554 2C 03 00 00 */ cmpwi r3, 0
+/* 802E58F8 002E1558 7C 73 1B 78 */ mr r19, r3
+/* 802E58FC 002E155C 41 82 00 20 */ beq lbl_802E591C
+/* 802E5900 002E1560 80 63 00 00 */ lwz r3, 0(r3)
+/* 802E5904 002E1564 56 00 13 BA */ rlwinm r0, r16, 2, 0xe, 0x1d
+/* 802E5908 002E1568 3A 10 00 01 */ addi r16, r16, 1
+/* 802E590C 002E156C 7C 6E 01 2E */ stwx r3, r14, r0
+lbl_802E5910:
+/* 802E5910 002E1570 56 00 04 3E */ clrlwi r0, r16, 0x10
+/* 802E5914 002E1574 7C 00 90 40 */ cmplw r0, r18
+/* 802E5918 002E1578 41 80 FF D0 */ blt lbl_802E58E8
+lbl_802E591C:
+/* 802E591C 002E157C 88 0F 00 02 */ lbz r0, 2(r15)
+/* 802E5920 002E1580 2C 00 00 00 */ cmpwi r0, 0
+/* 802E5924 002E1584 41 82 00 6C */ beq lbl_802E5990
+/* 802E5928 002E1588 28 00 00 02 */ cmplwi r0, 2
+/* 802E592C 002E158C 38 6F 00 03 */ addi r3, r15, 3
+/* 802E5930 002E1590 41 82 00 1C */ beq lbl_802E594C
+/* 802E5934 002E1594 7F C3 F3 78 */ mr r3, r30
+/* 802E5938 002E1598 7E 24 8B 78 */ mr r4, r17
+/* 802E593C 002E159C 38 A0 00 05 */ li r5, 5
+/* 802E5940 002E15A0 38 C0 00 00 */ li r6, 0
+/* 802E5944 002E15A4 48 00 0F 2D */ bl sdpu_build_n_send_error
+/* 802E5948 002E15A8 48 00 03 04 */ b lbl_802E5C4C
+lbl_802E594C:
+/* 802E594C 002E15AC 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E5950 002E15B0 88 63 00 01 */ lbz r3, 1(r3)
+/* 802E5954 002E15B4 54 04 40 2E */ slwi r4, r0, 8
+/* 802E5958 002E15B8 A0 1E 04 76 */ lhz r0, 0x476(r30)
+/* 802E595C 002E15BC 7C 64 1A 14 */ add r3, r4, r3
+/* 802E5960 002E15C0 54 7F 04 3E */ clrlwi r31, r3, 0x10
+/* 802E5964 002E15C4 7C 1F 00 40 */ cmplw r31, r0
+/* 802E5968 002E15C8 41 82 00 1C */ beq lbl_802E5984
+/* 802E596C 002E15CC 7F C3 F3 78 */ mr r3, r30
+/* 802E5970 002E15D0 7E 24 8B 78 */ mr r4, r17
+/* 802E5974 002E15D4 38 A0 00 05 */ li r5, 5
+/* 802E5978 002E15D8 38 C0 00 00 */ li r6, 0
+/* 802E597C 002E15DC 48 00 0E F5 */ bl sdpu_build_n_send_error
+/* 802E5980 002E15E0 48 00 02 CC */ b lbl_802E5C4C
+lbl_802E5984:
+/* 802E5984 002E15E4 7C 1F 80 50 */ subf r0, r31, r16
+/* 802E5988 002E15E8 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E598C 002E15EC 48 00 00 0C */ b lbl_802E5998
+lbl_802E5990:
+/* 802E5990 002E15F0 7E 04 83 78 */ mr r4, r16
+/* 802E5994 002E15F4 3B E0 00 00 */ li r31, 0
+lbl_802E5998:
+/* 802E5998 002E15F8 A0 7E 00 20 */ lhz r3, 0x20(r30)
+/* 802E599C 002E15FC 54 80 04 3E */ clrlwi r0, r4, 0x10
+/* 802E59A0 002E1600 38 63 FF F4 */ addi r3, r3, -12
+/* 802E59A4 002E1604 7C 63 16 70 */ srawi r3, r3, 2
+/* 802E59A8 002E1608 7C 63 01 94 */ addze r3, r3
+/* 802E59AC 002E160C 54 6F 04 3E */ clrlwi r15, r3, 0x10
+/* 802E59B0 002E1610 7C 00 78 40 */ cmplw r0, r15
+/* 802E59B4 002E1614 41 81 00 0C */ bgt lbl_802E59C0
+/* 802E59B8 002E1618 7C 8F 23 78 */ mr r15, r4
+/* 802E59BC 002E161C 48 00 00 18 */ b lbl_802E59D4
+lbl_802E59C0:
+/* 802E59C0 002E1620 A0 7E 04 76 */ lhz r3, 0x476(r30)
+/* 802E59C4 002E1624 38 00 00 01 */ li r0, 1
+/* 802E59C8 002E1628 98 01 01 7C */ stb r0, 0x17c(r1)
+/* 802E59CC 002E162C 7C 03 7A 14 */ add r0, r3, r15
+/* 802E59D0 002E1630 B0 1E 04 76 */ sth r0, 0x476(r30)
+lbl_802E59D4:
+/* 802E59D4 002E1634 38 60 00 02 */ li r3, 2
+/* 802E59D8 002E1638 4B FD 42 75 */ bl GKI_getpoolbuf
+/* 802E59DC 002E163C 2C 03 00 00 */ cmpwi r3, 0
+/* 802E59E0 002E1640 40 82 00 2C */ bne lbl_802E5A0C
+/* 802E59E4 002E1644 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E59E8 002E1648 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E59EC 002E164C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E59F0 002E1650 28 00 00 01 */ cmplwi r0, 1
+/* 802E59F4 002E1654 41 80 02 58 */ blt lbl_802E5C4C
+/* 802E59F8 002E1658 3C 80 80 44 */ lis r4, lbl_8044552C@ha
+/* 802E59FC 002E165C 3C 60 00 0A */ lis r3, 0xa
+/* 802E5A00 002E1660 38 84 55 2C */ addi r4, r4, lbl_8044552C@l
+/* 802E5A04 002E1664 4B FD 75 0D */ bl LogMsg_0
+/* 802E5A08 002E1668 48 00 02 44 */ b lbl_802E5C4C
+lbl_802E5A0C:
+/* 802E5A0C 002E166C 38 00 00 09 */ li r0, 9
+/* 802E5A10 002E1670 39 C3 00 11 */ addi r14, r3, 0x11
+/* 802E5A14 002E1674 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E5A18 002E1678 38 80 00 03 */ li r4, 3
+/* 802E5A1C 002E167C 55 E0 04 3E */ clrlwi r0, r15, 0x10
+/* 802E5A20 002E1680 39 6E 00 03 */ addi r11, r14, 3
+/* 802E5A24 002E1684 98 83 00 11 */ stb r4, 0x11(r3)
+/* 802E5A28 002E1688 7D 5F 02 14 */ add r10, r31, r0
+/* 802E5A2C 002E168C 7E 25 46 70 */ srawi r5, r17, 8
+/* 802E5A30 002E1690 56 04 C6 3E */ rlwinm r4, r16, 0x18, 0x18, 0x1f
+/* 802E5A34 002E1694 98 A3 00 12 */ stb r5, 0x12(r3)
+/* 802E5A38 002E1698 55 E0 C6 3E */ rlwinm r0, r15, 0x18, 0x18, 0x1f
+/* 802E5A3C 002E169C 7C 1F 50 00 */ cmpw r31, r10
+/* 802E5A40 002E16A0 9A 23 00 13 */ stb r17, 0x13(r3)
+/* 802E5A44 002E16A4 98 83 00 16 */ stb r4, 0x16(r3)
+/* 802E5A48 002E16A8 9A 03 00 17 */ stb r16, 0x17(r3)
+/* 802E5A4C 002E16AC 98 03 00 18 */ stb r0, 0x18(r3)
+/* 802E5A50 002E16B0 91 61 01 80 */ stw r11, 0x180(r1)
+/* 802E5A54 002E16B4 39 6B 00 06 */ addi r11, r11, 6
+/* 802E5A58 002E16B8 99 E3 00 19 */ stb r15, 0x19(r3)
+/* 802E5A5C 002E16BC 40 80 01 84 */ bge lbl_802E5BE0
+/* 802E5A60 002E16C0 55 45 04 3E */ clrlwi r5, r10, 0x10
+/* 802E5A64 002E16C4 38 0A FF F8 */ addi r0, r10, -8
+/* 802E5A68 002E16C8 7C 9F 28 50 */ subf r4, r31, r5
+/* 802E5A6C 002E16CC 54 84 04 3E */ clrlwi r4, r4, 0x10
+/* 802E5A70 002E16D0 28 04 00 08 */ cmplwi r4, 8
+/* 802E5A74 002E16D4 40 81 01 2C */ ble lbl_802E5BA0
+/* 802E5A78 002E16D8 7C 1F 28 40 */ cmplw r31, r5
+/* 802E5A7C 002E16DC 41 81 01 24 */ bgt lbl_802E5BA0
+/* 802E5A80 002E16E0 48 00 01 14 */ b lbl_802E5B94
+lbl_802E5A84:
+/* 802E5A84 002E16E4 57 E4 13 BA */ rlwinm r4, r31, 2, 0xe, 0x1d
+/* 802E5A88 002E16E8 3A 21 00 08 */ addi r17, r1, 8
+/* 802E5A8C 002E16EC 7D 11 20 6E */ lwzux r8, r17, r4
+/* 802E5A90 002E16F0 3B FF 00 08 */ addi r31, r31, 8
+/* 802E5A94 002E16F4 55 05 46 3E */ srwi r5, r8, 0x18
+/* 802E5A98 002E16F8 83 11 00 04 */ lwz r24, 4(r17)
+/* 802E5A9C 002E16FC 98 AB 00 00 */ stb r5, 0(r11)
+/* 802E5AA0 002E1700 55 06 86 3E */ rlwinm r6, r8, 0x10, 0x18, 0x1f
+/* 802E5AA4 002E1704 80 91 00 08 */ lwz r4, 8(r17)
+/* 802E5AA8 002E1708 55 07 C6 3E */ rlwinm r7, r8, 0x18, 0x18, 0x1f
+/* 802E5AAC 002E170C 98 CB 00 01 */ stb r6, 1(r11)
+/* 802E5AB0 002E1710 57 09 46 3E */ srwi r9, r24, 0x18
+/* 802E5AB4 002E1714 80 D1 00 10 */ lwz r6, 0x10(r17)
+/* 802E5AB8 002E1718 57 12 86 3E */ rlwinm r18, r24, 0x10, 0x18, 0x1f
+/* 802E5ABC 002E171C 98 EB 00 02 */ stb r7, 2(r11)
+/* 802E5AC0 002E1720 57 15 C6 3E */ rlwinm r21, r24, 0x18, 0x18, 0x1f
+/* 802E5AC4 002E1724 80 F1 00 14 */ lwz r7, 0x14(r17)
+/* 802E5AC8 002E1728 54 9B 46 3E */ srwi r27, r4, 0x18
+/* 802E5ACC 002E172C 99 0B 00 03 */ stb r8, 3(r11)
+/* 802E5AD0 002E1730 54 8C 86 3E */ rlwinm r12, r4, 0x10, 0x18, 0x1f
+/* 802E5AD4 002E1734 81 11 00 18 */ lwz r8, 0x18(r17)
+/* 802E5AD8 002E1738 54 8F C6 3E */ rlwinm r15, r4, 0x18, 0x18, 0x1f
+/* 802E5ADC 002E173C 99 2B 00 04 */ stb r9, 4(r11)
+/* 802E5AE0 002E1740 54 D3 46 3E */ srwi r19, r6, 0x18
+/* 802E5AE4 002E1744 81 31 00 1C */ lwz r9, 0x1c(r17)
+/* 802E5AE8 002E1748 54 D4 86 3E */ rlwinm r20, r6, 0x10, 0x18, 0x1f
+/* 802E5AEC 002E174C 9A 4B 00 05 */ stb r18, 5(r11)
+/* 802E5AF0 002E1750 54 F6 46 3E */ srwi r22, r7, 0x18
+/* 802E5AF4 002E1754 80 B1 00 0C */ lwz r5, 0xc(r17)
+/* 802E5AF8 002E1758 54 F7 86 3E */ rlwinm r23, r7, 0x10, 0x18, 0x1f
+/* 802E5AFC 002E175C 9A AB 00 06 */ stb r21, 6(r11)
+/* 802E5B00 002E1760 54 D5 C6 3E */ rlwinm r21, r6, 0x18, 0x18, 0x1f
+/* 802E5B04 002E1764 54 B0 46 3E */ srwi r16, r5, 0x18
+/* 802E5B08 002E1768 54 B1 86 3E */ rlwinm r17, r5, 0x10, 0x18, 0x1f
+/* 802E5B0C 002E176C 9B 0B 00 07 */ stb r24, 7(r11)
+/* 802E5B10 002E1770 54 B2 C6 3E */ rlwinm r18, r5, 0x18, 0x18, 0x1f
+/* 802E5B14 002E1774 54 F8 C6 3E */ rlwinm r24, r7, 0x18, 0x18, 0x1f
+/* 802E5B18 002E1778 55 19 46 3E */ srwi r25, r8, 0x18
+/* 802E5B1C 002E177C 9B 6B 00 08 */ stb r27, 8(r11)
+/* 802E5B20 002E1780 55 1A 86 3E */ rlwinm r26, r8, 0x10, 0x18, 0x1f
+/* 802E5B24 002E1784 55 1B C6 3E */ rlwinm r27, r8, 0x18, 0x18, 0x1f
+/* 802E5B28 002E1788 55 3C 46 3E */ srwi r28, r9, 0x18
+/* 802E5B2C 002E178C 99 8B 00 09 */ stb r12, 9(r11)
+/* 802E5B30 002E1790 55 3D 86 3E */ rlwinm r29, r9, 0x10, 0x18, 0x1f
+/* 802E5B34 002E1794 55 2C C6 3E */ rlwinm r12, r9, 0x18, 0x18, 0x1f
+/* 802E5B38 002E1798 99 EB 00 0A */ stb r15, 0xa(r11)
+/* 802E5B3C 002E179C 98 8B 00 0B */ stb r4, 0xb(r11)
+/* 802E5B40 002E17A0 9A 0B 00 0C */ stb r16, 0xc(r11)
+/* 802E5B44 002E17A4 9A 2B 00 0D */ stb r17, 0xd(r11)
+/* 802E5B48 002E17A8 9A 4B 00 0E */ stb r18, 0xe(r11)
+/* 802E5B4C 002E17AC 98 AB 00 0F */ stb r5, 0xf(r11)
+/* 802E5B50 002E17B0 9A 6B 00 10 */ stb r19, 0x10(r11)
+/* 802E5B54 002E17B4 9A 8B 00 11 */ stb r20, 0x11(r11)
+/* 802E5B58 002E17B8 9A AB 00 12 */ stb r21, 0x12(r11)
+/* 802E5B5C 002E17BC 98 CB 00 13 */ stb r6, 0x13(r11)
+/* 802E5B60 002E17C0 9A CB 00 14 */ stb r22, 0x14(r11)
+/* 802E5B64 002E17C4 9A EB 00 15 */ stb r23, 0x15(r11)
+/* 802E5B68 002E17C8 9B 0B 00 16 */ stb r24, 0x16(r11)
+/* 802E5B6C 002E17CC 98 EB 00 17 */ stb r7, 0x17(r11)
+/* 802E5B70 002E17D0 9B 2B 00 18 */ stb r25, 0x18(r11)
+/* 802E5B74 002E17D4 9B 4B 00 19 */ stb r26, 0x19(r11)
+/* 802E5B78 002E17D8 9B 6B 00 1A */ stb r27, 0x1a(r11)
+/* 802E5B7C 002E17DC 99 0B 00 1B */ stb r8, 0x1b(r11)
+/* 802E5B80 002E17E0 9B 8B 00 1C */ stb r28, 0x1c(r11)
+/* 802E5B84 002E17E4 9B AB 00 1D */ stb r29, 0x1d(r11)
+/* 802E5B88 002E17E8 99 8B 00 1E */ stb r12, 0x1e(r11)
+/* 802E5B8C 002E17EC 99 2B 00 1F */ stb r9, 0x1f(r11)
+/* 802E5B90 002E17F0 39 6B 00 20 */ addi r11, r11, 0x20
+lbl_802E5B94:
+/* 802E5B94 002E17F4 57 E4 04 3E */ clrlwi r4, r31, 0x10
+/* 802E5B98 002E17F8 7C 04 00 00 */ cmpw r4, r0
+/* 802E5B9C 002E17FC 41 80 FE E8 */ blt lbl_802E5A84
+lbl_802E5BA0:
+/* 802E5BA0 002E1800 38 A1 00 08 */ addi r5, r1, 8
+/* 802E5BA4 002E1804 48 00 00 30 */ b lbl_802E5BD4
+lbl_802E5BA8:
+/* 802E5BA8 002E1808 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d
+/* 802E5BAC 002E180C 3B FF 00 01 */ addi r31, r31, 1
+/* 802E5BB0 002E1810 7C C5 00 2E */ lwzx r6, r5, r0
+/* 802E5BB4 002E1814 54 C0 46 3E */ srwi r0, r6, 0x18
+/* 802E5BB8 002E1818 54 C4 86 3E */ rlwinm r4, r6, 0x10, 0x18, 0x1f
+/* 802E5BBC 002E181C 98 0B 00 00 */ stb r0, 0(r11)
+/* 802E5BC0 002E1820 54 C0 C6 3E */ rlwinm r0, r6, 0x18, 0x18, 0x1f
+/* 802E5BC4 002E1824 98 8B 00 01 */ stb r4, 1(r11)
+/* 802E5BC8 002E1828 98 0B 00 02 */ stb r0, 2(r11)
+/* 802E5BCC 002E182C 98 CB 00 03 */ stb r6, 3(r11)
+/* 802E5BD0 002E1830 39 6B 00 04 */ addi r11, r11, 4
+lbl_802E5BD4:
+/* 802E5BD4 002E1834 57 E0 04 3E */ clrlwi r0, r31, 0x10
+/* 802E5BD8 002E1838 7C 00 50 00 */ cmpw r0, r10
+/* 802E5BDC 002E183C 41 80 FF CC */ blt lbl_802E5BA8
+lbl_802E5BE0:
+/* 802E5BE0 002E1840 88 01 01 7C */ lbz r0, 0x17c(r1)
+/* 802E5BE4 002E1844 2C 00 00 00 */ cmpwi r0, 0
+/* 802E5BE8 002E1848 41 82 00 28 */ beq lbl_802E5C10
+/* 802E5BEC 002E184C 38 00 00 02 */ li r0, 2
+/* 802E5BF0 002E1850 98 0B 00 00 */ stb r0, 0(r11)
+/* 802E5BF4 002E1854 A0 1E 04 76 */ lhz r0, 0x476(r30)
+/* 802E5BF8 002E1858 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E5BFC 002E185C 98 0B 00 01 */ stb r0, 1(r11)
+/* 802E5C00 002E1860 A0 1E 04 76 */ lhz r0, 0x476(r30)
+/* 802E5C04 002E1864 98 0B 00 02 */ stb r0, 2(r11)
+/* 802E5C08 002E1868 39 6B 00 03 */ addi r11, r11, 3
+/* 802E5C0C 002E186C 48 00 00 10 */ b lbl_802E5C1C
+lbl_802E5C10:
+/* 802E5C10 002E1870 38 00 00 00 */ li r0, 0
+/* 802E5C14 002E1874 98 0B 00 00 */ stb r0, 0(r11)
+/* 802E5C18 002E1878 39 6B 00 01 */ addi r11, r11, 1
+lbl_802E5C1C:
+/* 802E5C1C 002E187C 80 01 01 80 */ lwz r0, 0x180(r1)
+/* 802E5C20 002E1880 80 A1 01 80 */ lwz r5, 0x180(r1)
+/* 802E5C24 002E1884 7C 80 58 50 */ subf r4, r0, r11
+/* 802E5C28 002E1888 7C 0E 58 50 */ subf r0, r14, r11
+/* 802E5C2C 002E188C 38 E4 FF FE */ addi r7, r4, -2
+/* 802E5C30 002E1890 54 E6 C6 3E */ rlwinm r6, r7, 0x18, 0x18, 0x1f
+/* 802E5C34 002E1894 7C 64 1B 78 */ mr r4, r3
+/* 802E5C38 002E1898 98 C5 00 00 */ stb r6, 0(r5)
+/* 802E5C3C 002E189C 98 E5 00 01 */ stb r7, 1(r5)
+/* 802E5C40 002E18A0 B0 03 00 02 */ sth r0, 2(r3)
+/* 802E5C44 002E18A4 A0 7E 00 22 */ lhz r3, 0x22(r30)
+/* 802E5C48 002E18A8 4B FF 04 A9 */ bl L2CA_DataWrite
+lbl_802E5C4C:
+/* 802E5C4C 002E18AC 39 61 01 D0 */ addi r11, r1, 0x1d0
+/* 802E5C50 002E18B0 4B EE 14 F1 */ bl __restore_gpr
+/* 802E5C54 002E18B4 80 01 01 D4 */ lwz r0, 0x1d4(r1)
+/* 802E5C58 002E18B8 7C 08 03 A6 */ mtlr r0
+/* 802E5C5C 002E18BC 38 21 01 D0 */ addi r1, r1, 0x1d0
+/* 802E5C60 002E18C0 4E 80 00 20 */ blr
+
+.global process_service_attr_req
+process_service_attr_req:
+/* 802E5C64 002E18C4 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 802E5C68 002E18C8 7C 08 02 A6 */ mflr r0
+/* 802E5C6C 002E18CC 90 01 00 74 */ stw r0, 0x74(r1)
+/* 802E5C70 002E18D0 39 61 00 70 */ addi r11, r1, 0x70
+/* 802E5C74 002E18D4 4B EE 14 A9 */ bl _savegpr_24
+/* 802E5C78 002E18D8 89 26 00 00 */ lbz r9, 0(r6)
+/* 802E5C7C 002E18DC 38 06 00 04 */ addi r0, r6, 4
+/* 802E5C80 002E18E0 89 06 00 01 */ lbz r8, 1(r6)
+/* 802E5C84 002E18E4 7C 00 38 40 */ cmplw r0, r7
+/* 802E5C88 002E18E8 88 06 00 02 */ lbz r0, 2(r6)
+/* 802E5C8C 002E18EC 55 2A C0 0E */ slwi r10, r9, 0x18
+/* 802E5C90 002E18F0 55 08 80 1E */ slwi r8, r8, 0x10
+/* 802E5C94 002E18F4 89 26 00 03 */ lbz r9, 3(r6)
+/* 802E5C98 002E18F8 54 00 40 2E */ slwi r0, r0, 8
+/* 802E5C9C 002E18FC 7C 79 1B 78 */ mr r25, r3
+/* 802E5CA0 002E1900 7D 0A 42 14 */ add r8, r10, r8
+/* 802E5CA4 002E1904 7C 9A 23 78 */ mr r26, r4
+/* 802E5CA8 002E1908 7C 09 02 14 */ add r0, r9, r0
+/* 802E5CAC 002E190C 7C F8 3B 78 */ mr r24, r7
+/* 802E5CB0 002E1910 7F 68 02 14 */ add r27, r8, r0
+/* 802E5CB4 002E1914 40 81 00 14 */ ble lbl_802E5CC8
+/* 802E5CB8 002E1918 38 A0 00 02 */ li r5, 2
+/* 802E5CBC 002E191C 38 C0 00 00 */ li r6, 0
+/* 802E5CC0 002E1920 48 00 0B B1 */ bl sdpu_build_n_send_error
+/* 802E5CC4 002E1924 48 00 03 18 */ b lbl_802E5FDC
+lbl_802E5CC8:
+/* 802E5CC8 002E1928 88 86 00 04 */ lbz r4, 4(r6)
+/* 802E5CCC 002E192C 88 06 00 05 */ lbz r0, 5(r6)
+/* 802E5CD0 002E1930 54 84 40 2E */ slwi r4, r4, 8
+/* 802E5CD4 002E1934 A0 63 00 20 */ lhz r3, 0x20(r3)
+/* 802E5CD8 002E1938 7C 04 02 14 */ add r0, r4, r0
+/* 802E5CDC 002E193C 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 802E5CE0 002E1940 38 03 FF F6 */ addi r0, r3, -10
+/* 802E5CE4 002E1944 7C 1E 00 00 */ cmpw r30, r0
+/* 802E5CE8 002E1948 40 81 00 08 */ ble lbl_802E5CF0
+/* 802E5CEC 002E194C 54 1E 04 3E */ clrlwi r30, r0, 0x10
+lbl_802E5CF0:
+/* 802E5CF0 002E1950 7C A4 2B 78 */ mr r4, r5
+/* 802E5CF4 002E1954 38 66 00 06 */ addi r3, r6, 6
+/* 802E5CF8 002E1958 38 A1 00 08 */ addi r5, r1, 8
+/* 802E5CFC 002E195C 48 00 10 01 */ bl sdpu_extract_attr_seq
+/* 802E5D00 002E1960 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5D04 002E1964 7C 7C 1B 78 */ mr r28, r3
+/* 802E5D08 002E1968 41 82 00 18 */ beq lbl_802E5D20
+/* 802E5D0C 002E196C A0 01 00 08 */ lhz r0, 8(r1)
+/* 802E5D10 002E1970 2C 00 00 00 */ cmpwi r0, 0
+/* 802E5D14 002E1974 41 82 00 0C */ beq lbl_802E5D20
+/* 802E5D18 002E1978 7C 03 C0 40 */ cmplw r3, r24
+/* 802E5D1C 002E197C 40 81 00 1C */ ble lbl_802E5D38
+lbl_802E5D20:
+/* 802E5D20 002E1980 7F 23 CB 78 */ mr r3, r25
+/* 802E5D24 002E1984 7F 44 D3 78 */ mr r4, r26
+/* 802E5D28 002E1988 38 A0 00 03 */ li r5, 3
+/* 802E5D2C 002E198C 38 C0 00 00 */ li r6, 0
+/* 802E5D30 002E1990 48 00 0B 41 */ bl sdpu_build_n_send_error
+/* 802E5D34 002E1994 48 00 02 A8 */ b lbl_802E5FDC
+lbl_802E5D38:
+/* 802E5D38 002E1998 7F 63 DB 78 */ mr r3, r27
+/* 802E5D3C 002E199C 4B FF D1 29 */ bl sdp_db_find_record
+/* 802E5D40 002E19A0 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5D44 002E19A4 7C 7B 1B 78 */ mr r27, r3
+/* 802E5D48 002E19A8 40 82 00 1C */ bne lbl_802E5D64
+/* 802E5D4C 002E19AC 7F 23 CB 78 */ mr r3, r25
+/* 802E5D50 002E19B0 7F 44 D3 78 */ mr r4, r26
+/* 802E5D54 002E19B4 38 A0 00 02 */ li r5, 2
+/* 802E5D58 002E19B8 38 C0 00 00 */ li r6, 0
+/* 802E5D5C 002E19BC 48 00 0B 15 */ bl sdpu_build_n_send_error
+/* 802E5D60 002E19C0 48 00 02 7C */ b lbl_802E5FDC
+lbl_802E5D64:
+/* 802E5D64 002E19C4 88 1C 00 00 */ lbz r0, 0(r28)
+/* 802E5D68 002E19C8 2C 00 00 00 */ cmpwi r0, 0
+/* 802E5D6C 002E19CC 41 82 00 5C */ beq lbl_802E5DC8
+/* 802E5D70 002E19D0 28 00 00 02 */ cmplwi r0, 2
+/* 802E5D74 002E19D4 41 82 00 1C */ beq lbl_802E5D90
+/* 802E5D78 002E19D8 7F 23 CB 78 */ mr r3, r25
+/* 802E5D7C 002E19DC 7F 44 D3 78 */ mr r4, r26
+/* 802E5D80 002E19E0 38 A0 00 05 */ li r5, 5
+/* 802E5D84 002E19E4 38 C0 00 00 */ li r6, 0
+/* 802E5D88 002E19E8 48 00 0A E9 */ bl sdpu_build_n_send_error
+/* 802E5D8C 002E19EC 48 00 02 50 */ b lbl_802E5FDC
+lbl_802E5D90:
+/* 802E5D90 002E19F0 88 1C 00 01 */ lbz r0, 1(r28)
+/* 802E5D94 002E19F4 88 7C 00 02 */ lbz r3, 2(r28)
+/* 802E5D98 002E19F8 54 04 40 2E */ slwi r4, r0, 8
+/* 802E5D9C 002E19FC A0 19 04 76 */ lhz r0, 0x476(r25)
+/* 802E5DA0 002E1A00 7C 64 1A 14 */ add r3, r4, r3
+/* 802E5DA4 002E1A04 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E5DA8 002E1A08 7C 03 00 40 */ cmplw r3, r0
+/* 802E5DAC 002E1A0C 41 82 01 14 */ beq lbl_802E5EC0
+/* 802E5DB0 002E1A10 7F 23 CB 78 */ mr r3, r25
+/* 802E5DB4 002E1A14 7F 44 D3 78 */ mr r4, r26
+/* 802E5DB8 002E1A18 38 A0 00 05 */ li r5, 5
+/* 802E5DBC 002E1A1C 38 C0 00 00 */ li r6, 0
+/* 802E5DC0 002E1A20 48 00 0A B1 */ bl sdpu_build_n_send_error
+/* 802E5DC4 002E1A24 48 00 02 18 */ b lbl_802E5FDC
+lbl_802E5DC8:
+/* 802E5DC8 002E1A28 38 00 00 00 */ li r0, 0
+/* 802E5DCC 002E1A2C 3B B9 00 29 */ addi r29, r25, 0x29
+/* 802E5DD0 002E1A30 B0 19 04 76 */ sth r0, 0x476(r25)
+/* 802E5DD4 002E1A34 3B 80 00 00 */ li r28, 0
+/* 802E5DD8 002E1A38 48 00 00 84 */ b lbl_802E5E5C
+lbl_802E5DDC:
+/* 802E5DDC 002E1A3C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
+/* 802E5DE0 002E1A40 3B E1 00 08 */ addi r31, r1, 8
+/* 802E5DE4 002E1A44 7F FF 02 14 */ add r31, r31, r0
+/* 802E5DE8 002E1A48 7F 63 DB 78 */ mr r3, r27
+/* 802E5DEC 002E1A4C A0 9F 00 02 */ lhz r4, 2(r31)
+/* 802E5DF0 002E1A50 A0 BF 00 04 */ lhz r5, 4(r31)
+/* 802E5DF4 002E1A54 4B FF D0 CD */ bl sdp_db_find_attr_in_rec
+/* 802E5DF8 002E1A58 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5DFC 002E1A5C 7C 78 1B 78 */ mr r24, r3
+/* 802E5E00 002E1A60 41 82 00 58 */ beq lbl_802E5E58
+/* 802E5E04 002E1A64 38 19 00 26 */ addi r0, r25, 0x26
+/* 802E5E08 002E1A68 80 83 00 00 */ lwz r4, 0(r3)
+/* 802E5E0C 002E1A6C 7C 00 E8 50 */ subf r0, r0, r29
+/* 802E5E10 002E1A70 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E5E14 002E1A74 20 00 03 E8 */ subfic r0, r0, 0x3e8
+/* 802E5E18 002E1A78 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E5E1C 002E1A7C 38 03 FF FA */ addi r0, r3, -6
+/* 802E5E20 002E1A80 7C 04 00 40 */ cmplw r4, r0
+/* 802E5E24 002E1A84 41 81 00 48 */ bgt lbl_802E5E6C
+/* 802E5E28 002E1A88 7F A3 EB 78 */ mr r3, r29
+/* 802E5E2C 002E1A8C 7F 04 C3 78 */ mr r4, r24
+/* 802E5E30 002E1A90 48 00 08 ED */ bl sdpu_build_attrib_entry
+/* 802E5E34 002E1A94 A0 9F 00 02 */ lhz r4, 2(r31)
+/* 802E5E38 002E1A98 7C 7D 1B 78 */ mr r29, r3
+/* 802E5E3C 002E1A9C A0 1F 00 04 */ lhz r0, 4(r31)
+/* 802E5E40 002E1AA0 7C 04 00 40 */ cmplw r4, r0
+/* 802E5E44 002E1AA4 41 82 00 14 */ beq lbl_802E5E58
+/* 802E5E48 002E1AA8 A0 78 00 08 */ lhz r3, 8(r24)
+/* 802E5E4C 002E1AAC 3B 9C FF FF */ addi r28, r28, -1
+/* 802E5E50 002E1AB0 38 03 00 01 */ addi r0, r3, 1
+/* 802E5E54 002E1AB4 B0 1F 00 02 */ sth r0, 2(r31)
+lbl_802E5E58:
+/* 802E5E58 002E1AB8 3B 9C 00 01 */ addi r28, r28, 1
+lbl_802E5E5C:
+/* 802E5E5C 002E1ABC A0 01 00 08 */ lhz r0, 8(r1)
+/* 802E5E60 002E1AC0 57 83 04 3E */ clrlwi r3, r28, 0x10
+/* 802E5E64 002E1AC4 7C 03 00 40 */ cmplw r3, r0
+/* 802E5E68 002E1AC8 41 80 FF 74 */ blt lbl_802E5DDC
+lbl_802E5E6C:
+/* 802E5E6C 002E1ACC 38 19 00 26 */ addi r0, r25, 0x26
+/* 802E5E70 002E1AD0 7C 00 E8 50 */ subf r0, r0, r29
+/* 802E5E74 002E1AD4 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E5E78 002E1AD8 B0 19 00 24 */ sth r0, 0x24(r25)
+/* 802E5E7C 002E1ADC 28 04 00 FF */ cmplwi r4, 0xff
+/* 802E5E80 002E1AE0 40 81 00 20 */ ble lbl_802E5EA0
+/* 802E5E84 002E1AE4 38 64 FF FD */ addi r3, r4, -3
+/* 802E5E88 002E1AE8 38 80 00 36 */ li r4, 0x36
+/* 802E5E8C 002E1AEC 7C 60 46 70 */ srawi r0, r3, 8
+/* 802E5E90 002E1AF0 98 99 00 26 */ stb r4, 0x26(r25)
+/* 802E5E94 002E1AF4 98 19 00 27 */ stb r0, 0x27(r25)
+/* 802E5E98 002E1AF8 98 79 00 28 */ stb r3, 0x28(r25)
+/* 802E5E9C 002E1AFC 48 00 00 24 */ b lbl_802E5EC0
+lbl_802E5EA0:
+/* 802E5EA0 002E1B00 38 64 FF FD */ addi r3, r4, -3
+/* 802E5EA4 002E1B04 38 04 FF FF */ addi r0, r4, -1
+/* 802E5EA8 002E1B08 38 A0 00 01 */ li r5, 1
+/* 802E5EAC 002E1B0C 38 80 00 35 */ li r4, 0x35
+/* 802E5EB0 002E1B10 B0 B9 04 76 */ sth r5, 0x476(r25)
+/* 802E5EB4 002E1B14 98 99 00 27 */ stb r4, 0x27(r25)
+/* 802E5EB8 002E1B18 98 79 00 28 */ stb r3, 0x28(r25)
+/* 802E5EBC 002E1B1C B0 19 00 24 */ sth r0, 0x24(r25)
+lbl_802E5EC0:
+/* 802E5EC0 002E1B20 38 60 00 02 */ li r3, 2
+/* 802E5EC4 002E1B24 4B FD 3D 89 */ bl GKI_getpoolbuf
+/* 802E5EC8 002E1B28 2C 03 00 00 */ cmpwi r3, 0
+/* 802E5ECC 002E1B2C 7C 7B 1B 78 */ mr r27, r3
+/* 802E5ED0 002E1B30 40 82 00 2C */ bne lbl_802E5EFC
+/* 802E5ED4 002E1B34 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E5ED8 002E1B38 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E5EDC 002E1B3C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E5EE0 002E1B40 28 00 00 01 */ cmplwi r0, 1
+/* 802E5EE4 002E1B44 41 80 00 F8 */ blt lbl_802E5FDC
+/* 802E5EE8 002E1B48 3C 80 80 44 */ lis r4, lbl_8044552C@ha
+/* 802E5EEC 002E1B4C 3C 60 00 0A */ lis r3, 0xa
+/* 802E5EF0 002E1B50 38 84 55 2C */ addi r4, r4, lbl_8044552C@l
+/* 802E5EF4 002E1B54 4B FD 70 1D */ bl LogMsg_0
+/* 802E5EF8 002E1B58 48 00 00 E4 */ b lbl_802E5FDC
+lbl_802E5EFC:
+/* 802E5EFC 002E1B5C 38 00 00 09 */ li r0, 9
+/* 802E5F00 002E1B60 3B A3 00 11 */ addi r29, r3, 0x11
+/* 802E5F04 002E1B64 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E5F08 002E1B68 38 60 00 05 */ li r3, 5
+/* 802E5F0C 002E1B6C 3B FD 00 03 */ addi r31, r29, 3
+/* 802E5F10 002E1B70 57 40 C6 3E */ rlwinm r0, r26, 0x18, 0x18, 0x1f
+/* 802E5F14 002E1B74 98 7D 00 00 */ stb r3, 0(r29)
+/* 802E5F18 002E1B78 7F FC FB 78 */ mr r28, r31
+/* 802E5F1C 002E1B7C 98 1D 00 01 */ stb r0, 1(r29)
+/* 802E5F20 002E1B80 9B 5D 00 02 */ stb r26, 2(r29)
+/* 802E5F24 002E1B84 A0 19 00 24 */ lhz r0, 0x24(r25)
+/* 802E5F28 002E1B88 7C 00 F0 40 */ cmplw r0, r30
+/* 802E5F2C 002E1B8C 41 81 00 08 */ bgt lbl_802E5F34
+/* 802E5F30 002E1B90 7C 1E 03 78 */ mr r30, r0
+lbl_802E5F34:
+/* 802E5F34 002E1B94 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f
+/* 802E5F38 002E1B98 57 C5 04 3E */ clrlwi r5, r30, 0x10
+/* 802E5F3C 002E1B9C 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E5F40 002E1BA0 9B DF 00 03 */ stb r30, 3(r31)
+/* 802E5F44 002E1BA4 3B FF 00 04 */ addi r31, r31, 4
+/* 802E5F48 002E1BA8 7F E3 FB 78 */ mr r3, r31
+/* 802E5F4C 002E1BAC A0 19 04 76 */ lhz r0, 0x476(r25)
+/* 802E5F50 002E1BB0 7C 99 02 14 */ add r4, r25, r0
+/* 802E5F54 002E1BB4 38 84 00 26 */ addi r4, r4, 0x26
+/* 802E5F58 002E1BB8 4B D1 E0 A9 */ bl memcpy
+/* 802E5F5C 002E1BBC A0 19 00 24 */ lhz r0, 0x24(r25)
+/* 802E5F60 002E1BC0 57 C3 04 3E */ clrlwi r3, r30, 0x10
+/* 802E5F64 002E1BC4 7F FF 1A 14 */ add r31, r31, r3
+/* 802E5F68 002E1BC8 A0 99 04 76 */ lhz r4, 0x476(r25)
+/* 802E5F6C 002E1BCC 7C 7E 00 50 */ subf r3, r30, r0
+/* 802E5F70 002E1BD0 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802E5F74 002E1BD4 B0 79 00 24 */ sth r3, 0x24(r25)
+/* 802E5F78 002E1BD8 7C 04 F2 14 */ add r0, r4, r30
+/* 802E5F7C 002E1BDC B0 19 04 76 */ sth r0, 0x476(r25)
+/* 802E5F80 002E1BE0 41 82 00 28 */ beq lbl_802E5FA8
+/* 802E5F84 002E1BE4 38 00 00 02 */ li r0, 2
+/* 802E5F88 002E1BE8 98 1F 00 00 */ stb r0, 0(r31)
+/* 802E5F8C 002E1BEC A0 19 04 76 */ lhz r0, 0x476(r25)
+/* 802E5F90 002E1BF0 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E5F94 002E1BF4 98 1F 00 01 */ stb r0, 1(r31)
+/* 802E5F98 002E1BF8 A0 19 04 76 */ lhz r0, 0x476(r25)
+/* 802E5F9C 002E1BFC 98 1F 00 02 */ stb r0, 2(r31)
+/* 802E5FA0 002E1C00 3B FF 00 03 */ addi r31, r31, 3
+/* 802E5FA4 002E1C04 48 00 00 10 */ b lbl_802E5FB4
+lbl_802E5FA8:
+/* 802E5FA8 002E1C08 38 00 00 00 */ li r0, 0
+/* 802E5FAC 002E1C0C 98 1F 00 00 */ stb r0, 0(r31)
+/* 802E5FB0 002E1C10 3B FF 00 01 */ addi r31, r31, 1
+lbl_802E5FB4:
+/* 802E5FB4 002E1C14 7C 7C F8 50 */ subf r3, r28, r31
+/* 802E5FB8 002E1C18 7C 1D F8 50 */ subf r0, r29, r31
+/* 802E5FBC 002E1C1C 38 A3 FF FE */ addi r5, r3, -2
+/* 802E5FC0 002E1C20 7F 64 DB 78 */ mr r4, r27
+/* 802E5FC4 002E1C24 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
+/* 802E5FC8 002E1C28 98 7C 00 00 */ stb r3, 0(r28)
+/* 802E5FCC 002E1C2C 98 BC 00 01 */ stb r5, 1(r28)
+/* 802E5FD0 002E1C30 B0 1B 00 02 */ sth r0, 2(r27)
+/* 802E5FD4 002E1C34 A0 79 00 22 */ lhz r3, 0x22(r25)
+/* 802E5FD8 002E1C38 4B FF 01 19 */ bl L2CA_DataWrite
+lbl_802E5FDC:
+/* 802E5FDC 002E1C3C 39 61 00 70 */ addi r11, r1, 0x70
+/* 802E5FE0 002E1C40 4B EE 11 89 */ bl _restgpr_24
+/* 802E5FE4 002E1C44 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 802E5FE8 002E1C48 7C 08 03 A6 */ mtlr r0
+/* 802E5FEC 002E1C4C 38 21 00 70 */ addi r1, r1, 0x70
+/* 802E5FF0 002E1C50 4E 80 00 20 */ blr
+
+.global process_service_search_attr_req
+process_service_search_attr_req:
+/* 802E5FF4 002E1C54 94 21 FE 10 */ stwu r1, -0x1f0(r1)
+/* 802E5FF8 002E1C58 7C 08 02 A6 */ mflr r0
+/* 802E5FFC 002E1C5C 90 01 01 F4 */ stw r0, 0x1f4(r1)
+/* 802E6000 002E1C60 39 61 01 F0 */ addi r11, r1, 0x1f0
+/* 802E6004 002E1C64 4B EE 11 09 */ bl _savegpr_20
+/* 802E6008 002E1C68 7C B4 2B 78 */ mr r20, r5
+/* 802E600C 002E1C6C 7C 75 1B 78 */ mr r21, r3
+/* 802E6010 002E1C70 7C 96 23 78 */ mr r22, r4
+/* 802E6014 002E1C74 7C C3 33 78 */ mr r3, r6
+/* 802E6018 002E1C78 7E 84 A3 78 */ mr r4, r20
+/* 802E601C 002E1C7C 38 A1 00 90 */ addi r5, r1, 0x90
+/* 802E6020 002E1C80 3B 00 00 00 */ li r24, 0
+/* 802E6024 002E1C84 48 00 09 89 */ bl sdpu_extract_uid_seq
+/* 802E6028 002E1C88 2C 03 00 00 */ cmpwi r3, 0
+/* 802E602C 002E1C8C 41 82 00 10 */ beq lbl_802E603C
+/* 802E6030 002E1C90 A0 01 00 90 */ lhz r0, 0x90(r1)
+/* 802E6034 002E1C94 2C 00 00 00 */ cmpwi r0, 0
+/* 802E6038 002E1C98 40 82 00 1C */ bne lbl_802E6054
+lbl_802E603C:
+/* 802E603C 002E1C9C 7E A3 AB 78 */ mr r3, r21
+/* 802E6040 002E1CA0 7E C4 B3 78 */ mr r4, r22
+/* 802E6044 002E1CA4 38 A0 00 03 */ li r5, 3
+/* 802E6048 002E1CA8 38 C0 00 00 */ li r6, 0
+/* 802E604C 002E1CAC 48 00 08 25 */ bl sdpu_build_n_send_error
+/* 802E6050 002E1CB0 48 00 03 A8 */ b lbl_802E63F8
+lbl_802E6054:
+/* 802E6054 002E1CB4 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E6058 002E1CB8 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E605C 002E1CBC 54 85 40 2E */ slwi r5, r4, 8
+/* 802E6060 002E1CC0 A0 95 00 20 */ lhz r4, 0x20(r21)
+/* 802E6064 002E1CC4 7C 05 02 14 */ add r0, r5, r0
+/* 802E6068 002E1CC8 54 1D 04 3E */ clrlwi r29, r0, 0x10
+/* 802E606C 002E1CCC 38 04 FF F6 */ addi r0, r4, -10
+/* 802E6070 002E1CD0 7C 1D 00 00 */ cmpw r29, r0
+/* 802E6074 002E1CD4 40 81 00 08 */ ble lbl_802E607C
+/* 802E6078 002E1CD8 54 1D 04 3E */ clrlwi r29, r0, 0x10
+lbl_802E607C:
+/* 802E607C 002E1CDC 7E 84 A3 78 */ mr r4, r20
+/* 802E6080 002E1CE0 38 A1 00 4C */ addi r5, r1, 0x4c
+/* 802E6084 002E1CE4 38 63 00 02 */ addi r3, r3, 2
+/* 802E6088 002E1CE8 48 00 0C 75 */ bl sdpu_extract_attr_seq
+/* 802E608C 002E1CEC 2C 03 00 00 */ cmpwi r3, 0
+/* 802E6090 002E1CF0 41 82 00 10 */ beq lbl_802E60A0
+/* 802E6094 002E1CF4 A0 01 00 4C */ lhz r0, 0x4c(r1)
+/* 802E6098 002E1CF8 2C 00 00 00 */ cmpwi r0, 0
+/* 802E609C 002E1CFC 40 82 00 1C */ bne lbl_802E60B8
+lbl_802E60A0:
+/* 802E60A0 002E1D00 7E A3 AB 78 */ mr r3, r21
+/* 802E60A4 002E1D04 7E C4 B3 78 */ mr r4, r22
+/* 802E60A8 002E1D08 38 A0 00 03 */ li r5, 3
+/* 802E60AC 002E1D0C 38 C0 00 00 */ li r6, 0
+/* 802E60B0 002E1D10 48 00 07 C1 */ bl sdpu_build_n_send_error
+/* 802E60B4 002E1D14 48 00 03 44 */ b lbl_802E63F8
+lbl_802E60B8:
+/* 802E60B8 002E1D18 38 00 00 08 */ li r0, 8
+/* 802E60BC 002E1D1C 38 C1 00 04 */ addi r6, r1, 4
+/* 802E60C0 002E1D20 38 A1 00 48 */ addi r5, r1, 0x48
+/* 802E60C4 002E1D24 7C 09 03 A6 */ mtctr r0
+lbl_802E60C8:
+/* 802E60C8 002E1D28 80 85 00 04 */ lwz r4, 4(r5)
+/* 802E60CC 002E1D2C 84 05 00 08 */ lwzu r0, 8(r5)
+/* 802E60D0 002E1D30 90 86 00 04 */ stw r4, 4(r6)
+/* 802E60D4 002E1D34 94 06 00 08 */ stwu r0, 8(r6)
+/* 802E60D8 002E1D38 42 00 FF F0 */ bdnz lbl_802E60C8
+/* 802E60DC 002E1D3C A0 05 00 04 */ lhz r0, 4(r5)
+/* 802E60E0 002E1D40 B0 06 00 04 */ sth r0, 4(r6)
+/* 802E60E4 002E1D44 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E60E8 002E1D48 2C 00 00 00 */ cmpwi r0, 0
+/* 802E60EC 002E1D4C 41 82 00 5C */ beq lbl_802E6148
+/* 802E60F0 002E1D50 28 00 00 02 */ cmplwi r0, 2
+/* 802E60F4 002E1D54 41 82 00 1C */ beq lbl_802E6110
+/* 802E60F8 002E1D58 7E A3 AB 78 */ mr r3, r21
+/* 802E60FC 002E1D5C 7E C4 B3 78 */ mr r4, r22
+/* 802E6100 002E1D60 38 A0 00 05 */ li r5, 5
+/* 802E6104 002E1D64 38 C0 00 00 */ li r6, 0
+/* 802E6108 002E1D68 48 00 07 69 */ bl sdpu_build_n_send_error
+/* 802E610C 002E1D6C 48 00 02 EC */ b lbl_802E63F8
+lbl_802E6110:
+/* 802E6110 002E1D70 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E6114 002E1D74 88 63 00 02 */ lbz r3, 2(r3)
+/* 802E6118 002E1D78 54 04 40 2E */ slwi r4, r0, 8
+/* 802E611C 002E1D7C A0 15 04 76 */ lhz r0, 0x476(r21)
+/* 802E6120 002E1D80 7C 64 1A 14 */ add r3, r4, r3
+/* 802E6124 002E1D84 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E6128 002E1D88 7C 03 00 40 */ cmplw r3, r0
+/* 802E612C 002E1D8C 41 82 01 B0 */ beq lbl_802E62DC
+/* 802E6130 002E1D90 7E A3 AB 78 */ mr r3, r21
+/* 802E6134 002E1D94 7E C4 B3 78 */ mr r4, r22
+/* 802E6138 002E1D98 38 A0 00 05 */ li r5, 5
+/* 802E613C 002E1D9C 38 C0 00 00 */ li r6, 0
+/* 802E6140 002E1DA0 48 00 07 31 */ bl sdpu_build_n_send_error
+/* 802E6144 002E1DA4 48 00 02 B4 */ b lbl_802E63F8
+lbl_802E6148:
+/* 802E6148 002E1DA8 38 00 00 00 */ li r0, 0
+/* 802E614C 002E1DAC 3B 95 00 29 */ addi r28, r21, 0x29
+/* 802E6150 002E1DB0 B0 15 04 76 */ sth r0, 0x476(r21)
+/* 802E6154 002E1DB4 38 81 00 90 */ addi r4, r1, 0x90
+/* 802E6158 002E1DB8 38 60 00 00 */ li r3, 0
+/* 802E615C 002E1DBC 4B FF CA F5 */ bl sdp_db_service_search
+/* 802E6160 002E1DC0 7C 7A 1B 78 */ mr r26, r3
+/* 802E6164 002E1DC4 3B E0 00 08 */ li r31, 8
+/* 802E6168 002E1DC8 3A 80 00 36 */ li r20, 0x36
+/* 802E616C 002E1DCC 48 00 01 14 */ b lbl_802E6280
+lbl_802E6170:
+/* 802E6170 002E1DD0 38 A1 00 48 */ addi r5, r1, 0x48
+/* 802E6174 002E1DD4 38 81 00 04 */ addi r4, r1, 4
+/* 802E6178 002E1DD8 7F E9 03 A6 */ mtctr r31
+lbl_802E617C:
+/* 802E617C 002E1DDC 80 64 00 04 */ lwz r3, 4(r4)
+/* 802E6180 002E1DE0 84 04 00 08 */ lwzu r0, 8(r4)
+/* 802E6184 002E1DE4 90 65 00 04 */ stw r3, 4(r5)
+/* 802E6188 002E1DE8 94 05 00 08 */ stwu r0, 8(r5)
+/* 802E618C 002E1DEC 42 00 FF F0 */ bdnz lbl_802E617C
+/* 802E6190 002E1DF0 A0 04 00 04 */ lhz r0, 4(r4)
+/* 802E6194 002E1DF4 7F 97 E3 78 */ mr r23, r28
+/* 802E6198 002E1DF8 3B 60 00 00 */ li r27, 0
+/* 802E619C 002E1DFC 3B 9C 00 03 */ addi r28, r28, 3
+/* 802E61A0 002E1E00 B0 05 00 04 */ sth r0, 4(r5)
+/* 802E61A4 002E1E04 48 00 00 8C */ b lbl_802E6230
+lbl_802E61A8:
+/* 802E61A8 002E1E08 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
+/* 802E61AC 002E1E0C 3B C1 00 4C */ addi r30, r1, 0x4c
+/* 802E61B0 002E1E10 7F DE 02 14 */ add r30, r30, r0
+/* 802E61B4 002E1E14 7F 43 D3 78 */ mr r3, r26
+/* 802E61B8 002E1E18 A0 9E 00 02 */ lhz r4, 2(r30)
+/* 802E61BC 002E1E1C A0 BE 00 04 */ lhz r5, 4(r30)
+/* 802E61C0 002E1E20 4B FF CD 01 */ bl sdp_db_find_attr_in_rec
+/* 802E61C4 002E1E24 2C 03 00 00 */ cmpwi r3, 0
+/* 802E61C8 002E1E28 7C 79 1B 78 */ mr r25, r3
+/* 802E61CC 002E1E2C 41 82 00 60 */ beq lbl_802E622C
+/* 802E61D0 002E1E30 38 15 00 26 */ addi r0, r21, 0x26
+/* 802E61D4 002E1E34 80 83 00 00 */ lwz r4, 0(r3)
+/* 802E61D8 002E1E38 7C 00 E0 50 */ subf r0, r0, r28
+/* 802E61DC 002E1E3C 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E61E0 002E1E40 20 00 03 E8 */ subfic r0, r0, 0x3e8
+/* 802E61E4 002E1E44 54 03 04 3E */ clrlwi r3, r0, 0x10
+/* 802E61E8 002E1E48 38 03 FF FA */ addi r0, r3, -6
+/* 802E61EC 002E1E4C 7C 04 00 40 */ cmplw r4, r0
+/* 802E61F0 002E1E50 40 81 00 0C */ ble lbl_802E61FC
+/* 802E61F4 002E1E54 3B 00 00 01 */ li r24, 1
+/* 802E61F8 002E1E58 48 00 00 48 */ b lbl_802E6240
+lbl_802E61FC:
+/* 802E61FC 002E1E5C 7F 83 E3 78 */ mr r3, r28
+/* 802E6200 002E1E60 7F 24 CB 78 */ mr r4, r25
+/* 802E6204 002E1E64 48 00 05 19 */ bl sdpu_build_attrib_entry
+/* 802E6208 002E1E68 A0 9E 00 02 */ lhz r4, 2(r30)
+/* 802E620C 002E1E6C 7C 7C 1B 78 */ mr r28, r3
+/* 802E6210 002E1E70 A0 1E 00 04 */ lhz r0, 4(r30)
+/* 802E6214 002E1E74 7C 04 00 40 */ cmplw r4, r0
+/* 802E6218 002E1E78 41 82 00 14 */ beq lbl_802E622C
+/* 802E621C 002E1E7C A0 79 00 08 */ lhz r3, 8(r25)
+/* 802E6220 002E1E80 3B 7B FF FF */ addi r27, r27, -1
+/* 802E6224 002E1E84 38 03 00 01 */ addi r0, r3, 1
+/* 802E6228 002E1E88 B0 1E 00 02 */ sth r0, 2(r30)
+lbl_802E622C:
+/* 802E622C 002E1E8C 3B 7B 00 01 */ addi r27, r27, 1
+lbl_802E6230:
+/* 802E6230 002E1E90 A0 01 00 4C */ lhz r0, 0x4c(r1)
+/* 802E6234 002E1E94 57 63 04 3E */ clrlwi r3, r27, 0x10
+/* 802E6238 002E1E98 7C 03 00 40 */ cmplw r3, r0
+/* 802E623C 002E1E9C 41 80 FF 6C */ blt lbl_802E61A8
+lbl_802E6240:
+/* 802E6240 002E1EA0 2C 18 00 00 */ cmpwi r24, 0
+/* 802E6244 002E1EA4 40 82 00 44 */ bne lbl_802E6288
+/* 802E6248 002E1EA8 7C 77 E0 50 */ subf r3, r23, r28
+/* 802E624C 002E1EAC 38 03 FF FD */ addi r0, r3, -3
+/* 802E6250 002E1EB0 54 03 04 3F */ clrlwi. r3, r0, 0x10
+/* 802E6254 002E1EB4 41 82 00 18 */ beq lbl_802E626C
+/* 802E6258 002E1EB8 9A 97 00 00 */ stb r20, 0(r23)
+/* 802E625C 002E1EBC 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
+/* 802E6260 002E1EC0 98 17 00 01 */ stb r0, 1(r23)
+/* 802E6264 002E1EC4 98 77 00 02 */ stb r3, 2(r23)
+/* 802E6268 002E1EC8 48 00 00 08 */ b lbl_802E6270
+lbl_802E626C:
+/* 802E626C 002E1ECC 7E FC BB 78 */ mr r28, r23
+lbl_802E6270:
+/* 802E6270 002E1ED0 7F 43 D3 78 */ mr r3, r26
+/* 802E6274 002E1ED4 38 81 00 90 */ addi r4, r1, 0x90
+/* 802E6278 002E1ED8 4B FF C9 D9 */ bl sdp_db_service_search
+/* 802E627C 002E1EDC 7C 7A 1B 78 */ mr r26, r3
+lbl_802E6280:
+/* 802E6280 002E1EE0 2C 1A 00 00 */ cmpwi r26, 0
+/* 802E6284 002E1EE4 40 82 FE EC */ bne lbl_802E6170
+lbl_802E6288:
+/* 802E6288 002E1EE8 38 15 00 26 */ addi r0, r21, 0x26
+/* 802E628C 002E1EEC 7C 00 E0 50 */ subf r0, r0, r28
+/* 802E6290 002E1EF0 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 802E6294 002E1EF4 B0 15 00 24 */ sth r0, 0x24(r21)
+/* 802E6298 002E1EF8 28 04 00 FF */ cmplwi r4, 0xff
+/* 802E629C 002E1EFC 40 81 00 20 */ ble lbl_802E62BC
+/* 802E62A0 002E1F00 38 64 FF FD */ addi r3, r4, -3
+/* 802E62A4 002E1F04 38 80 00 36 */ li r4, 0x36
+/* 802E62A8 002E1F08 7C 60 46 70 */ srawi r0, r3, 8
+/* 802E62AC 002E1F0C 98 95 00 26 */ stb r4, 0x26(r21)
+/* 802E62B0 002E1F10 98 15 00 27 */ stb r0, 0x27(r21)
+/* 802E62B4 002E1F14 98 75 00 28 */ stb r3, 0x28(r21)
+/* 802E62B8 002E1F18 48 00 00 24 */ b lbl_802E62DC
+lbl_802E62BC:
+/* 802E62BC 002E1F1C 38 64 FF FD */ addi r3, r4, -3
+/* 802E62C0 002E1F20 38 04 FF FF */ addi r0, r4, -1
+/* 802E62C4 002E1F24 38 A0 00 01 */ li r5, 1
+/* 802E62C8 002E1F28 38 80 00 35 */ li r4, 0x35
+/* 802E62CC 002E1F2C B0 B5 04 76 */ sth r5, 0x476(r21)
+/* 802E62D0 002E1F30 98 95 00 27 */ stb r4, 0x27(r21)
+/* 802E62D4 002E1F34 98 75 00 28 */ stb r3, 0x28(r21)
+/* 802E62D8 002E1F38 B0 15 00 24 */ sth r0, 0x24(r21)
+lbl_802E62DC:
+/* 802E62DC 002E1F3C 38 60 00 02 */ li r3, 2
+/* 802E62E0 002E1F40 4B FD 39 6D */ bl GKI_getpoolbuf
+/* 802E62E4 002E1F44 2C 03 00 00 */ cmpwi r3, 0
+/* 802E62E8 002E1F48 7C 79 1B 78 */ mr r25, r3
+/* 802E62EC 002E1F4C 40 82 00 2C */ bne lbl_802E6318
+/* 802E62F0 002E1F50 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E62F4 002E1F54 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E62F8 002E1F58 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E62FC 002E1F5C 28 00 00 01 */ cmplwi r0, 1
+/* 802E6300 002E1F60 41 80 00 F8 */ blt lbl_802E63F8
+/* 802E6304 002E1F64 3C 80 80 44 */ lis r4, lbl_8044552C@ha
+/* 802E6308 002E1F68 3C 60 00 0A */ lis r3, 0xa
+/* 802E630C 002E1F6C 38 84 55 2C */ addi r4, r4, lbl_8044552C@l
+/* 802E6310 002E1F70 4B FD 6C 01 */ bl LogMsg_0
+/* 802E6314 002E1F74 48 00 00 E4 */ b lbl_802E63F8
+lbl_802E6318:
+/* 802E6318 002E1F78 38 00 00 09 */ li r0, 9
+/* 802E631C 002E1F7C 3B 83 00 11 */ addi r28, r3, 0x11
+/* 802E6320 002E1F80 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E6324 002E1F84 38 60 00 07 */ li r3, 7
+/* 802E6328 002E1F88 3B DC 00 03 */ addi r30, r28, 3
+/* 802E632C 002E1F8C 56 C0 C6 3E */ rlwinm r0, r22, 0x18, 0x18, 0x1f
+/* 802E6330 002E1F90 98 7C 00 00 */ stb r3, 0(r28)
+/* 802E6334 002E1F94 7F DF F3 78 */ mr r31, r30
+/* 802E6338 002E1F98 98 1C 00 01 */ stb r0, 1(r28)
+/* 802E633C 002E1F9C 9A DC 00 02 */ stb r22, 2(r28)
+/* 802E6340 002E1FA0 A0 15 00 24 */ lhz r0, 0x24(r21)
+/* 802E6344 002E1FA4 7C 00 E8 40 */ cmplw r0, r29
+/* 802E6348 002E1FA8 41 81 00 08 */ bgt lbl_802E6350
+/* 802E634C 002E1FAC 7C 1D 03 78 */ mr r29, r0
+lbl_802E6350:
+/* 802E6350 002E1FB0 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f
+/* 802E6354 002E1FB4 57 A5 04 3E */ clrlwi r5, r29, 0x10
+/* 802E6358 002E1FB8 98 1E 00 02 */ stb r0, 2(r30)
+/* 802E635C 002E1FBC 9B BE 00 03 */ stb r29, 3(r30)
+/* 802E6360 002E1FC0 3B DE 00 04 */ addi r30, r30, 4
+/* 802E6364 002E1FC4 7F C3 F3 78 */ mr r3, r30
+/* 802E6368 002E1FC8 A0 15 04 76 */ lhz r0, 0x476(r21)
+/* 802E636C 002E1FCC 7C 95 02 14 */ add r4, r21, r0
+/* 802E6370 002E1FD0 38 84 00 26 */ addi r4, r4, 0x26
+/* 802E6374 002E1FD4 4B D1 DC 8D */ bl memcpy
+/* 802E6378 002E1FD8 A0 15 00 24 */ lhz r0, 0x24(r21)
+/* 802E637C 002E1FDC 57 A3 04 3E */ clrlwi r3, r29, 0x10
+/* 802E6380 002E1FE0 7F DE 1A 14 */ add r30, r30, r3
+/* 802E6384 002E1FE4 A0 95 04 76 */ lhz r4, 0x476(r21)
+/* 802E6388 002E1FE8 7C 7D 00 50 */ subf r3, r29, r0
+/* 802E638C 002E1FEC 54 60 04 3F */ clrlwi. r0, r3, 0x10
+/* 802E6390 002E1FF0 B0 75 00 24 */ sth r3, 0x24(r21)
+/* 802E6394 002E1FF4 7C 04 EA 14 */ add r0, r4, r29
+/* 802E6398 002E1FF8 B0 15 04 76 */ sth r0, 0x476(r21)
+/* 802E639C 002E1FFC 41 82 00 28 */ beq lbl_802E63C4
+/* 802E63A0 002E2000 38 00 00 02 */ li r0, 2
+/* 802E63A4 002E2004 98 1E 00 00 */ stb r0, 0(r30)
+/* 802E63A8 002E2008 A0 15 04 76 */ lhz r0, 0x476(r21)
+/* 802E63AC 002E200C 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E63B0 002E2010 98 1E 00 01 */ stb r0, 1(r30)
+/* 802E63B4 002E2014 A0 15 04 76 */ lhz r0, 0x476(r21)
+/* 802E63B8 002E2018 98 1E 00 02 */ stb r0, 2(r30)
+/* 802E63BC 002E201C 3B DE 00 03 */ addi r30, r30, 3
+/* 802E63C0 002E2020 48 00 00 10 */ b lbl_802E63D0
+lbl_802E63C4:
+/* 802E63C4 002E2024 38 00 00 00 */ li r0, 0
+/* 802E63C8 002E2028 98 1E 00 00 */ stb r0, 0(r30)
+/* 802E63CC 002E202C 3B DE 00 01 */ addi r30, r30, 1
+lbl_802E63D0:
+/* 802E63D0 002E2030 7C 7F F0 50 */ subf r3, r31, r30
+/* 802E63D4 002E2034 7C 1C F0 50 */ subf r0, r28, r30
+/* 802E63D8 002E2038 38 A3 FF FE */ addi r5, r3, -2
+/* 802E63DC 002E203C 7F 24 CB 78 */ mr r4, r25
+/* 802E63E0 002E2040 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
+/* 802E63E4 002E2044 98 7F 00 00 */ stb r3, 0(r31)
+/* 802E63E8 002E2048 98 BF 00 01 */ stb r5, 1(r31)
+/* 802E63EC 002E204C B0 19 00 02 */ sth r0, 2(r25)
+/* 802E63F0 002E2050 A0 75 00 22 */ lhz r3, 0x22(r21)
+/* 802E63F4 002E2054 4B FE FC FD */ bl L2CA_DataWrite
+lbl_802E63F8:
+/* 802E63F8 002E2058 39 61 01 F0 */ addi r11, r1, 0x1f0
+/* 802E63FC 002E205C 4B EE 0D 5D */ bl _restgpr_20
+/* 802E6400 002E2060 80 01 01 F4 */ lwz r0, 0x1f4(r1)
+/* 802E6404 002E2064 7C 08 03 A6 */ mtlr r0
+/* 802E6408 002E2068 38 21 01 F0 */ addi r1, r1, 0x1f0
+/* 802E640C 002E206C 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/sdp_utils.s b/asm/SDK/BTE/sdp_utils.s new file mode 100644 index 0000000..ccb3880 --- /dev/null +++ b/asm/SDK/BTE/sdp_utils.s @@ -0,0 +1,1183 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global sdpu_find_ccb_by_cid
+sdpu_find_ccb_by_cid:
+/* 802E6410 002E2070 3C 80 80 57 */ lis r4, lbl_8056C840@ha
+/* 802E6414 002E2074 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
+/* 802E6418 002E2078 8C 04 00 3C */ lbzu r0, 0x3c(r4)
+/* 802E641C 002E207C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E6420 002E2080 41 82 00 18 */ beq lbl_802E6438
+/* 802E6424 002E2084 A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802E6428 002E2088 7C 00 18 40 */ cmplw r0, r3
+/* 802E642C 002E208C 40 82 00 0C */ bne lbl_802E6438
+/* 802E6430 002E2090 7C 83 23 78 */ mr r3, r4
+/* 802E6434 002E2094 4E 80 00 20 */ blr
+lbl_802E6438:
+/* 802E6438 002E2098 8C 04 04 78 */ lbzu r0, 0x478(r4)
+/* 802E643C 002E209C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E6440 002E20A0 41 82 00 18 */ beq lbl_802E6458
+/* 802E6444 002E20A4 A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802E6448 002E20A8 7C 00 18 40 */ cmplw r0, r3
+/* 802E644C 002E20AC 40 82 00 0C */ bne lbl_802E6458
+/* 802E6450 002E20B0 7C 83 23 78 */ mr r3, r4
+/* 802E6454 002E20B4 4E 80 00 20 */ blr
+lbl_802E6458:
+/* 802E6458 002E20B8 8C 04 04 78 */ lbzu r0, 0x478(r4)
+/* 802E645C 002E20BC 2C 00 00 00 */ cmpwi r0, 0
+/* 802E6460 002E20C0 41 82 00 18 */ beq lbl_802E6478
+/* 802E6464 002E20C4 A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802E6468 002E20C8 7C 00 18 40 */ cmplw r0, r3
+/* 802E646C 002E20CC 40 82 00 0C */ bne lbl_802E6478
+/* 802E6470 002E20D0 7C 83 23 78 */ mr r3, r4
+/* 802E6474 002E20D4 4E 80 00 20 */ blr
+lbl_802E6478:
+/* 802E6478 002E20D8 8C 04 04 78 */ lbzu r0, 0x478(r4)
+/* 802E647C 002E20DC 2C 00 00 00 */ cmpwi r0, 0
+/* 802E6480 002E20E0 41 82 00 18 */ beq lbl_802E6498
+/* 802E6484 002E20E4 A0 04 00 22 */ lhz r0, 0x22(r4)
+/* 802E6488 002E20E8 7C 00 18 40 */ cmplw r0, r3
+/* 802E648C 002E20EC 40 82 00 0C */ bne lbl_802E6498
+/* 802E6490 002E20F0 7C 83 23 78 */ mr r3, r4
+/* 802E6494 002E20F4 4E 80 00 20 */ blr
+lbl_802E6498:
+/* 802E6498 002E20F8 38 60 00 00 */ li r3, 0
+/* 802E649C 002E20FC 4E 80 00 20 */ blr
+
+.global sdpu_allocate_ccb
+sdpu_allocate_ccb:
+/* 802E64A0 002E2100 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E64A4 002E2104 7C 08 02 A6 */ mflr r0
+/* 802E64A8 002E2108 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E64AC 002E210C 38 80 00 00 */ li r4, 0
+/* 802E64B0 002E2110 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E64B4 002E2114 38 00 00 04 */ li r0, 4
+/* 802E64B8 002E2118 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E64BC 002E211C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E64C0 002E2120 3B E3 00 3C */ addi r31, r3, 0x3c
+/* 802E64C4 002E2124 7C 09 03 A6 */ mtctr r0
+lbl_802E64C8:
+/* 802E64C8 002E2128 88 1F 00 00 */ lbz r0, 0(r31)
+/* 802E64CC 002E212C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E64D0 002E2130 40 82 00 20 */ bne lbl_802E64F0
+/* 802E64D4 002E2134 7F E3 FB 78 */ mr r3, r31
+/* 802E64D8 002E2138 38 80 00 00 */ li r4, 0
+/* 802E64DC 002E213C 38 A0 04 78 */ li r5, 0x478
+/* 802E64E0 002E2140 4B D1 DC 25 */ bl memset
+/* 802E64E4 002E2144 93 FF 00 18 */ stw r31, 0x18(r31)
+/* 802E64E8 002E2148 7F E3 FB 78 */ mr r3, r31
+/* 802E64EC 002E214C 48 00 00 14 */ b lbl_802E6500
+lbl_802E64F0:
+/* 802E64F0 002E2150 38 84 00 01 */ addi r4, r4, 1
+/* 802E64F4 002E2154 3B FF 04 78 */ addi r31, r31, 0x478
+/* 802E64F8 002E2158 42 00 FF D0 */ bdnz lbl_802E64C8
+/* 802E64FC 002E215C 38 60 00 00 */ li r3, 0
+lbl_802E6500:
+/* 802E6500 002E2160 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E6504 002E2164 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E6508 002E2168 7C 08 03 A6 */ mtlr r0
+/* 802E650C 002E216C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E6510 002E2170 4E 80 00 20 */ blr
+
+.global sdpu_release_ccb
+sdpu_release_ccb:
+/* 802E6514 002E2174 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E6518 002E2178 7C 08 02 A6 */ mflr r0
+/* 802E651C 002E217C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E6520 002E2180 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802E6524 002E2184 7C 7F 1B 78 */ mr r31, r3
+/* 802E6528 002E2188 38 63 00 08 */ addi r3, r3, 8
+/* 802E652C 002E218C 4B FD 70 21 */ bl btu_stop_timer
+/* 802E6530 002E2190 38 00 00 00 */ li r0, 0
+/* 802E6534 002E2194 98 1F 00 00 */ stb r0, 0(r31)
+/* 802E6538 002E2198 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802E653C 002E219C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E6540 002E21A0 7C 08 03 A6 */ mtlr r0
+/* 802E6544 002E21A4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E6548 002E21A8 4E 80 00 20 */ blr
+
+.global sdpu_build_attrib_seq
+sdpu_build_attrib_seq:
+/* 802E654C 002E21AC 2C 04 00 00 */ cmpwi r4, 0
+/* 802E6550 002E21B0 41 82 00 14 */ beq lbl_802E6564
+/* 802E6554 002E21B4 54 A0 10 3A */ slwi r0, r5, 2
+/* 802E6558 002E21B8 7C 05 00 50 */ subf r0, r5, r0
+/* 802E655C 002E21BC 54 07 04 3E */ clrlwi r7, r0, 0x10
+/* 802E6560 002E21C0 48 00 00 08 */ b lbl_802E6568
+lbl_802E6564:
+/* 802E6564 002E21C4 38 E0 00 05 */ li r7, 5
+lbl_802E6568:
+/* 802E6568 002E21C8 28 07 00 FF */ cmplwi r7, 0xff
+/* 802E656C 002E21CC 40 81 00 20 */ ble lbl_802E658C
+/* 802E6570 002E21D0 54 E0 C6 3E */ rlwinm r0, r7, 0x18, 0x18, 0x1f
+/* 802E6574 002E21D4 38 C0 00 36 */ li r6, 0x36
+/* 802E6578 002E21D8 98 C3 00 00 */ stb r6, 0(r3)
+/* 802E657C 002E21DC 38 C3 00 03 */ addi r6, r3, 3
+/* 802E6580 002E21E0 98 03 00 01 */ stb r0, 1(r3)
+/* 802E6584 002E21E4 98 E3 00 02 */ stb r7, 2(r3)
+/* 802E6588 002E21E8 48 00 00 14 */ b lbl_802E659C
+lbl_802E658C:
+/* 802E658C 002E21EC 38 00 00 35 */ li r0, 0x35
+/* 802E6590 002E21F0 98 E3 00 01 */ stb r7, 1(r3)
+/* 802E6594 002E21F4 38 C3 00 02 */ addi r6, r3, 2
+/* 802E6598 002E21F8 98 03 00 00 */ stb r0, 0(r3)
+lbl_802E659C:
+/* 802E659C 002E21FC 2C 04 00 00 */ cmpwi r4, 0
+/* 802E65A0 002E2200 40 82 00 2C */ bne lbl_802E65CC
+/* 802E65A4 002E2204 38 00 00 0A */ li r0, 0xa
+/* 802E65A8 002E2208 38 60 00 00 */ li r3, 0
+/* 802E65AC 002E220C 98 06 00 00 */ stb r0, 0(r6)
+/* 802E65B0 002E2210 38 00 00 FF */ li r0, 0xff
+/* 802E65B4 002E2214 98 66 00 01 */ stb r3, 1(r6)
+/* 802E65B8 002E2218 98 66 00 02 */ stb r3, 2(r6)
+/* 802E65BC 002E221C 98 06 00 03 */ stb r0, 3(r6)
+/* 802E65C0 002E2220 98 06 00 04 */ stb r0, 4(r6)
+/* 802E65C4 002E2224 38 C6 00 05 */ addi r6, r6, 5
+/* 802E65C8 002E2228 48 00 01 4C */ b lbl_802E6714
+lbl_802E65CC:
+/* 802E65CC 002E222C 2C 05 00 00 */ cmpwi r5, 0
+/* 802E65D0 002E2230 38 60 00 00 */ li r3, 0
+/* 802E65D4 002E2234 41 82 01 40 */ beq lbl_802E6714
+/* 802E65D8 002E2238 28 05 00 08 */ cmplwi r5, 8
+/* 802E65DC 002E223C 3C E5 00 01 */ addis r7, r5, 1
+/* 802E65E0 002E2240 38 E7 FF F8 */ addi r7, r7, -8
+/* 802E65E4 002E2244 40 81 00 F0 */ ble lbl_802E66D4
+/* 802E65E8 002E2248 54 E8 04 3E */ clrlwi r8, r7, 0x10
+/* 802E65EC 002E224C 38 00 00 09 */ li r0, 9
+/* 802E65F0 002E2250 38 E8 00 07 */ addi r7, r8, 7
+/* 802E65F4 002E2254 54 E7 E8 FE */ srwi r7, r7, 3
+/* 802E65F8 002E2258 7C E9 03 A6 */ mtctr r7
+/* 802E65FC 002E225C 28 08 00 00 */ cmplwi r8, 0
+/* 802E6600 002E2260 40 81 00 D4 */ ble lbl_802E66D4
+lbl_802E6604:
+/* 802E6604 002E2264 98 06 00 00 */ stb r0, 0(r6)
+/* 802E6608 002E2268 38 63 00 08 */ addi r3, r3, 8
+/* 802E660C 002E226C A0 E4 00 00 */ lhz r7, 0(r4)
+/* 802E6610 002E2270 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E6614 002E2274 98 E6 00 01 */ stb r7, 1(r6)
+/* 802E6618 002E2278 A0 E4 00 00 */ lhz r7, 0(r4)
+/* 802E661C 002E227C 98 E6 00 02 */ stb r7, 2(r6)
+/* 802E6620 002E2280 98 06 00 03 */ stb r0, 3(r6)
+/* 802E6624 002E2284 A0 E4 00 02 */ lhz r7, 2(r4)
+/* 802E6628 002E2288 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E662C 002E228C 98 E6 00 04 */ stb r7, 4(r6)
+/* 802E6630 002E2290 A0 E4 00 02 */ lhz r7, 2(r4)
+/* 802E6634 002E2294 98 E6 00 05 */ stb r7, 5(r6)
+/* 802E6638 002E2298 98 06 00 06 */ stb r0, 6(r6)
+/* 802E663C 002E229C A0 E4 00 04 */ lhz r7, 4(r4)
+/* 802E6640 002E22A0 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E6644 002E22A4 98 E6 00 07 */ stb r7, 7(r6)
+/* 802E6648 002E22A8 A0 E4 00 04 */ lhz r7, 4(r4)
+/* 802E664C 002E22AC 98 E6 00 08 */ stb r7, 8(r6)
+/* 802E6650 002E22B0 98 06 00 09 */ stb r0, 9(r6)
+/* 802E6654 002E22B4 A0 E4 00 06 */ lhz r7, 6(r4)
+/* 802E6658 002E22B8 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E665C 002E22BC 98 E6 00 0A */ stb r7, 0xa(r6)
+/* 802E6660 002E22C0 A0 E4 00 06 */ lhz r7, 6(r4)
+/* 802E6664 002E22C4 98 E6 00 0B */ stb r7, 0xb(r6)
+/* 802E6668 002E22C8 98 06 00 0C */ stb r0, 0xc(r6)
+/* 802E666C 002E22CC A0 E4 00 08 */ lhz r7, 8(r4)
+/* 802E6670 002E22D0 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E6674 002E22D4 98 E6 00 0D */ stb r7, 0xd(r6)
+/* 802E6678 002E22D8 A0 E4 00 08 */ lhz r7, 8(r4)
+/* 802E667C 002E22DC 98 E6 00 0E */ stb r7, 0xe(r6)
+/* 802E6680 002E22E0 98 06 00 0F */ stb r0, 0xf(r6)
+/* 802E6684 002E22E4 A0 E4 00 0A */ lhz r7, 0xa(r4)
+/* 802E6688 002E22E8 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E668C 002E22EC 98 E6 00 10 */ stb r7, 0x10(r6)
+/* 802E6690 002E22F0 A0 E4 00 0A */ lhz r7, 0xa(r4)
+/* 802E6694 002E22F4 98 E6 00 11 */ stb r7, 0x11(r6)
+/* 802E6698 002E22F8 98 06 00 12 */ stb r0, 0x12(r6)
+/* 802E669C 002E22FC A0 E4 00 0C */ lhz r7, 0xc(r4)
+/* 802E66A0 002E2300 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E66A4 002E2304 98 E6 00 13 */ stb r7, 0x13(r6)
+/* 802E66A8 002E2308 A0 E4 00 0C */ lhz r7, 0xc(r4)
+/* 802E66AC 002E230C 98 E6 00 14 */ stb r7, 0x14(r6)
+/* 802E66B0 002E2310 98 06 00 15 */ stb r0, 0x15(r6)
+/* 802E66B4 002E2314 A0 E4 00 0E */ lhz r7, 0xe(r4)
+/* 802E66B8 002E2318 7C E7 46 70 */ srawi r7, r7, 8
+/* 802E66BC 002E231C 98 E6 00 16 */ stb r7, 0x16(r6)
+/* 802E66C0 002E2320 A0 E4 00 0E */ lhz r7, 0xe(r4)
+/* 802E66C4 002E2324 38 84 00 10 */ addi r4, r4, 0x10
+/* 802E66C8 002E2328 98 E6 00 17 */ stb r7, 0x17(r6)
+/* 802E66CC 002E232C 38 C6 00 18 */ addi r6, r6, 0x18
+/* 802E66D0 002E2330 42 00 FF 34 */ bdnz lbl_802E6604
+lbl_802E66D4:
+/* 802E66D4 002E2334 54 67 04 3E */ clrlwi r7, r3, 0x10
+/* 802E66D8 002E2338 39 00 00 09 */ li r8, 9
+/* 802E66DC 002E233C 7C 07 28 50 */ subf r0, r7, r5
+/* 802E66E0 002E2340 7C 09 03 A6 */ mtctr r0
+/* 802E66E4 002E2344 7C 07 28 40 */ cmplw r7, r5
+/* 802E66E8 002E2348 40 80 00 2C */ bge lbl_802E6714
+lbl_802E66EC:
+/* 802E66EC 002E234C 99 06 00 00 */ stb r8, 0(r6)
+/* 802E66F0 002E2350 38 63 00 01 */ addi r3, r3, 1
+/* 802E66F4 002E2354 A0 04 00 00 */ lhz r0, 0(r4)
+/* 802E66F8 002E2358 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E66FC 002E235C 98 06 00 01 */ stb r0, 1(r6)
+/* 802E6700 002E2360 A0 04 00 00 */ lhz r0, 0(r4)
+/* 802E6704 002E2364 38 84 00 02 */ addi r4, r4, 2
+/* 802E6708 002E2368 98 06 00 02 */ stb r0, 2(r6)
+/* 802E670C 002E236C 38 C6 00 03 */ addi r6, r6, 3
+/* 802E6710 002E2370 42 00 FF DC */ bdnz lbl_802E66EC
+lbl_802E6714:
+/* 802E6714 002E2374 7C C3 33 78 */ mr r3, r6
+/* 802E6718 002E2378 4E 80 00 20 */ blr
+
+.global sdpu_build_attrib_entry
+sdpu_build_attrib_entry:
+/* 802E671C 002E237C 38 00 00 09 */ li r0, 9
+/* 802E6720 002E2380 98 03 00 00 */ stb r0, 0(r3)
+/* 802E6724 002E2384 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802E6728 002E2388 7C 00 46 70 */ srawi r0, r0, 8
+/* 802E672C 002E238C 98 03 00 01 */ stb r0, 1(r3)
+/* 802E6730 002E2390 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802E6734 002E2394 98 03 00 02 */ stb r0, 2(r3)
+/* 802E6738 002E2398 88 C4 00 0A */ lbz r6, 0xa(r4)
+/* 802E673C 002E239C 2C 06 00 05 */ cmpwi r6, 5
+/* 802E6740 002E23A0 41 82 00 64 */ beq lbl_802E67A4
+/* 802E6744 002E23A4 40 80 00 10 */ bge lbl_802E6754
+/* 802E6748 002E23A8 2C 06 00 04 */ cmpwi r6, 4
+/* 802E674C 002E23AC 40 80 00 10 */ bge lbl_802E675C
+/* 802E6750 002E23B0 48 00 00 54 */ b lbl_802E67A4
+lbl_802E6754:
+/* 802E6754 002E23B4 2C 06 00 09 */ cmpwi r6, 9
+/* 802E6758 002E23B8 40 80 00 4C */ bge lbl_802E67A4
+lbl_802E675C:
+/* 802E675C 002E23BC 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
+/* 802E6760 002E23C0 38 C3 00 05 */ addi r6, r3, 5
+/* 802E6764 002E23C4 60 00 00 05 */ ori r0, r0, 5
+/* 802E6768 002E23C8 38 A0 00 00 */ li r5, 0
+/* 802E676C 002E23CC 98 03 00 03 */ stb r0, 3(r3)
+/* 802E6770 002E23D0 80 04 00 00 */ lwz r0, 0(r4)
+/* 802E6774 002E23D4 98 03 00 04 */ stb r0, 4(r3)
+/* 802E6778 002E23D8 48 00 00 18 */ b lbl_802E6790
+lbl_802E677C:
+/* 802E677C 002E23DC 80 64 00 04 */ lwz r3, 4(r4)
+/* 802E6780 002E23E0 7C 03 28 AE */ lbzx r0, r3, r5
+/* 802E6784 002E23E4 38 A5 00 01 */ addi r5, r5, 1
+/* 802E6788 002E23E8 98 06 00 00 */ stb r0, 0(r6)
+/* 802E678C 002E23EC 38 C6 00 01 */ addi r6, r6, 1
+lbl_802E6790:
+/* 802E6790 002E23F0 80 04 00 00 */ lwz r0, 0(r4)
+/* 802E6794 002E23F4 7C 05 00 00 */ cmpw r5, r0
+/* 802E6798 002E23F8 41 80 FF E4 */ blt lbl_802E677C
+/* 802E679C 002E23FC 7C C3 33 78 */ mr r3, r6
+/* 802E67A0 002E2400 4E 80 00 20 */ blr
+lbl_802E67A4:
+/* 802E67A4 002E2404 80 04 00 00 */ lwz r0, 0(r4)
+/* 802E67A8 002E2408 28 00 00 10 */ cmplwi r0, 0x10
+/* 802E67AC 002E240C 41 81 00 7C */ bgt lbl_802E6828
+/* 802E67B0 002E2410 3C A0 80 44 */ lis r5, lbl_80445548@ha
+/* 802E67B4 002E2414 54 00 10 3A */ slwi r0, r0, 2
+/* 802E67B8 002E2418 38 A5 55 48 */ addi r5, r5, lbl_80445548@l
+/* 802E67BC 002E241C 7C A5 00 2E */ lwzx r5, r5, r0
+/* 802E67C0 002E2420 7C A9 03 A6 */ mtctr r5
+/* 802E67C4 002E2424 4E 80 04 20 */ bctr
+/* 802E67C8 002E2428 54 C0 1E 38 */ rlwinm r0, r6, 3, 0x18, 0x1c
+/* 802E67CC 002E242C 38 C3 00 04 */ addi r6, r3, 4
+/* 802E67D0 002E2430 98 03 00 03 */ stb r0, 3(r3)
+/* 802E67D4 002E2434 48 00 00 6C */ b lbl_802E6840
+/* 802E67D8 002E2438 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
+/* 802E67DC 002E243C 38 C3 00 04 */ addi r6, r3, 4
+/* 802E67E0 002E2440 60 00 00 01 */ ori r0, r0, 1
+/* 802E67E4 002E2444 98 03 00 03 */ stb r0, 3(r3)
+/* 802E67E8 002E2448 48 00 00 58 */ b lbl_802E6840
+/* 802E67EC 002E244C 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
+/* 802E67F0 002E2450 38 C3 00 04 */ addi r6, r3, 4
+/* 802E67F4 002E2454 60 00 00 02 */ ori r0, r0, 2
+/* 802E67F8 002E2458 98 03 00 03 */ stb r0, 3(r3)
+/* 802E67FC 002E245C 48 00 00 44 */ b lbl_802E6840
+/* 802E6800 002E2460 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
+/* 802E6804 002E2464 38 C3 00 04 */ addi r6, r3, 4
+/* 802E6808 002E2468 60 00 00 03 */ ori r0, r0, 3
+/* 802E680C 002E246C 98 03 00 03 */ stb r0, 3(r3)
+/* 802E6810 002E2470 48 00 00 30 */ b lbl_802E6840
+/* 802E6814 002E2474 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
+/* 802E6818 002E2478 38 C3 00 04 */ addi r6, r3, 4
+/* 802E681C 002E247C 60 00 00 04 */ ori r0, r0, 4
+/* 802E6820 002E2480 98 03 00 03 */ stb r0, 3(r3)
+/* 802E6824 002E2484 48 00 00 1C */ b lbl_802E6840
+lbl_802E6828:
+/* 802E6828 002E2488 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c
+/* 802E682C 002E248C 38 C3 00 05 */ addi r6, r3, 5
+/* 802E6830 002E2490 60 00 00 05 */ ori r0, r0, 5
+/* 802E6834 002E2494 98 03 00 03 */ stb r0, 3(r3)
+/* 802E6838 002E2498 80 04 00 00 */ lwz r0, 0(r4)
+/* 802E683C 002E249C 98 03 00 04 */ stb r0, 4(r3)
+lbl_802E6840:
+/* 802E6840 002E24A0 38 A0 00 00 */ li r5, 0
+/* 802E6844 002E24A4 48 00 00 18 */ b lbl_802E685C
+lbl_802E6848:
+/* 802E6848 002E24A8 80 64 00 04 */ lwz r3, 4(r4)
+/* 802E684C 002E24AC 7C 03 28 AE */ lbzx r0, r3, r5
+/* 802E6850 002E24B0 38 A5 00 01 */ addi r5, r5, 1
+/* 802E6854 002E24B4 98 06 00 00 */ stb r0, 0(r6)
+/* 802E6858 002E24B8 38 C6 00 01 */ addi r6, r6, 1
+lbl_802E685C:
+/* 802E685C 002E24BC 80 04 00 00 */ lwz r0, 0(r4)
+/* 802E6860 002E24C0 7C 05 00 00 */ cmpw r5, r0
+/* 802E6864 002E24C4 41 80 FF E4 */ blt lbl_802E6848
+/* 802E6868 002E24C8 7C C3 33 78 */ mr r3, r6
+/* 802E686C 002E24CC 4E 80 00 20 */ blr
+
+.global sdpu_build_n_send_error
+sdpu_build_n_send_error:
+/* 802E6870 002E24D0 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802E6874 002E24D4 7C 08 02 A6 */ mflr r0
+/* 802E6878 002E24D8 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802E687C 002E24DC 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E6880 002E24E0 4B EE 08 9D */ bl _savegpr_24
+/* 802E6884 002E24E4 3C E0 80 57 */ lis r7, lbl_8056C840@ha
+/* 802E6888 002E24E8 7C 7F 1B 78 */ mr r31, r3
+/* 802E688C 002E24EC 38 E7 C8 40 */ addi r7, r7, lbl_8056C840@l
+/* 802E6890 002E24F0 7C 9E 23 78 */ mr r30, r4
+/* 802E6894 002E24F4 88 07 46 30 */ lbz r0, 0x4630(r7)
+/* 802E6898 002E24F8 7C B9 2B 78 */ mr r25, r5
+/* 802E689C 002E24FC 7C D8 33 78 */ mr r24, r6
+/* 802E68A0 002E2500 28 00 00 02 */ cmplwi r0, 2
+/* 802E68A4 002E2504 41 80 00 1C */ blt lbl_802E68C0
+/* 802E68A8 002E2508 3C 60 00 0A */ lis r3, 0x000A0001@ha
+/* 802E68AC 002E250C 3C 80 80 44 */ lis r4, lbl_8044558C@ha
+/* 802E68B0 002E2510 A0 DF 00 22 */ lhz r6, 0x22(r31)
+/* 802E68B4 002E2514 38 63 00 01 */ addi r3, r3, 0x000A0001@l
+/* 802E68B8 002E2518 38 84 55 8C */ addi r4, r4, lbl_8044558C@l
+/* 802E68BC 002E251C 4B FD 66 85 */ bl LogMsg_2
+lbl_802E68C0:
+/* 802E68C0 002E2520 38 60 00 02 */ li r3, 2
+/* 802E68C4 002E2524 4B FD 33 89 */ bl GKI_getpoolbuf
+/* 802E68C8 002E2528 2C 03 00 00 */ cmpwi r3, 0
+/* 802E68CC 002E252C 7C 7A 1B 78 */ mr r26, r3
+/* 802E68D0 002E2530 40 82 00 2C */ bne lbl_802E68FC
+/* 802E68D4 002E2534 3C 60 80 57 */ lis r3, lbl_8056C840@ha
+/* 802E68D8 002E2538 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
+/* 802E68DC 002E253C 88 03 46 30 */ lbz r0, 0x4630(r3)
+/* 802E68E0 002E2540 28 00 00 01 */ cmplwi r0, 1
+/* 802E68E4 002E2544 41 80 00 B0 */ blt lbl_802E6994
+/* 802E68E8 002E2548 3C 80 80 44 */ lis r4, lbl_804455C4@ha
+/* 802E68EC 002E254C 3C 60 00 0A */ lis r3, 0xa
+/* 802E68F0 002E2550 38 84 55 C4 */ addi r4, r4, lbl_804455C4@l
+/* 802E68F4 002E2554 4B FD 66 1D */ bl LogMsg_0
+/* 802E68F8 002E2558 48 00 00 9C */ b lbl_802E6994
+lbl_802E68FC:
+/* 802E68FC 002E255C 38 00 00 09 */ li r0, 9
+/* 802E6900 002E2560 3B 83 00 11 */ addi r28, r3, 0x11
+/* 802E6904 002E2564 B0 03 00 04 */ sth r0, 4(r3)
+/* 802E6908 002E2568 38 00 00 01 */ li r0, 1
+/* 802E690C 002E256C 3B BC 00 03 */ addi r29, r28, 3
+/* 802E6910 002E2570 7F C3 46 70 */ srawi r3, r30, 8
+/* 802E6914 002E2574 98 1C 00 00 */ stb r0, 0(r28)
+/* 802E6918 002E2578 7F BB EB 78 */ mr r27, r29
+/* 802E691C 002E257C 57 20 C6 3E */ rlwinm r0, r25, 0x18, 0x18, 0x1f
+/* 802E6920 002E2580 2C 18 00 00 */ cmpwi r24, 0
+/* 802E6924 002E2584 98 7C 00 01 */ stb r3, 1(r28)
+/* 802E6928 002E2588 3B BD 00 04 */ addi r29, r29, 4
+/* 802E692C 002E258C 9B DC 00 02 */ stb r30, 2(r28)
+/* 802E6930 002E2590 98 1C 00 05 */ stb r0, 5(r28)
+/* 802E6934 002E2594 9B 3C 00 06 */ stb r25, 6(r28)
+/* 802E6938 002E2598 41 82 00 34 */ beq lbl_802E696C
+/* 802E693C 002E259C 7F 1E C3 78 */ mr r30, r24
+/* 802E6940 002E25A0 3B 20 00 00 */ li r25, 0
+/* 802E6944 002E25A4 48 00 00 18 */ b lbl_802E695C
+lbl_802E6948:
+/* 802E6948 002E25A8 88 1E 00 00 */ lbz r0, 0(r30)
+/* 802E694C 002E25AC 3B 39 00 01 */ addi r25, r25, 1
+/* 802E6950 002E25B0 3B DE 00 01 */ addi r30, r30, 1
+/* 802E6954 002E25B4 98 1D 00 00 */ stb r0, 0(r29)
+/* 802E6958 002E25B8 3B BD 00 01 */ addi r29, r29, 1
+lbl_802E695C:
+/* 802E695C 002E25BC 7F 03 C3 78 */ mr r3, r24
+/* 802E6960 002E25C0 4B EE 02 05 */ bl strlen
+/* 802E6964 002E25C4 7C 19 18 00 */ cmpw r25, r3
+/* 802E6968 002E25C8 41 80 FF E0 */ blt lbl_802E6948
+lbl_802E696C:
+/* 802E696C 002E25CC 7C 7B E8 50 */ subf r3, r27, r29
+/* 802E6970 002E25D0 7C 1C E8 50 */ subf r0, r28, r29
+/* 802E6974 002E25D4 38 A3 FF FE */ addi r5, r3, -2
+/* 802E6978 002E25D8 7F 44 D3 78 */ mr r4, r26
+/* 802E697C 002E25DC 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
+/* 802E6980 002E25E0 98 7B 00 00 */ stb r3, 0(r27)
+/* 802E6984 002E25E4 98 BB 00 01 */ stb r5, 1(r27)
+/* 802E6988 002E25E8 B0 1A 00 02 */ sth r0, 2(r26)
+/* 802E698C 002E25EC A0 7F 00 22 */ lhz r3, 0x22(r31)
+/* 802E6990 002E25F0 4B FE F7 61 */ bl L2CA_DataWrite
+lbl_802E6994:
+/* 802E6994 002E25F4 39 61 00 30 */ addi r11, r1, 0x30
+/* 802E6998 002E25F8 4B EE 07 D1 */ bl _restgpr_24
+/* 802E699C 002E25FC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802E69A0 002E2600 7C 08 03 A6 */ mtlr r0
+/* 802E69A4 002E2604 38 21 00 30 */ addi r1, r1, 0x30
+/* 802E69A8 002E2608 4E 80 00 20 */ blr
+
+.global sdpu_extract_uid_seq
+sdpu_extract_uid_seq:
+/* 802E69AC 002E260C 38 00 00 00 */ li r0, 0
+/* 802E69B0 002E2610 39 03 00 01 */ addi r8, r3, 1
+/* 802E69B4 002E2614 B0 05 00 00 */ sth r0, 0(r5)
+/* 802E69B8 002E2618 88 63 00 00 */ lbz r3, 0(r3)
+/* 802E69BC 002E261C 7C 60 1E 70 */ srawi r0, r3, 3
+/* 802E69C0 002E2620 54 66 07 7E */ clrlwi r6, r3, 0x1d
+/* 802E69C4 002E2624 28 00 00 06 */ cmplwi r0, 6
+/* 802E69C8 002E2628 41 82 00 0C */ beq lbl_802E69D4
+/* 802E69CC 002E262C 38 60 00 00 */ li r3, 0
+/* 802E69D0 002E2630 4E 80 00 20 */ blr
+lbl_802E69D4:
+/* 802E69D4 002E2634 28 06 00 07 */ cmplwi r6, 7
+/* 802E69D8 002E2638 41 81 00 8C */ bgt lbl_802E6A64
+/* 802E69DC 002E263C 3C 60 80 44 */ lis r3, lbl_80445600@ha
+/* 802E69E0 002E2640 54 C0 10 3A */ slwi r0, r6, 2
+/* 802E69E4 002E2644 38 63 56 00 */ addi r3, r3, lbl_80445600@l
+/* 802E69E8 002E2648 7C 63 00 2E */ lwzx r3, r3, r0
+/* 802E69EC 002E264C 7C 69 03 A6 */ mtctr r3
+/* 802E69F0 002E2650 4E 80 04 20 */ bctr
+/* 802E69F4 002E2654 38 00 00 02 */ li r0, 2
+/* 802E69F8 002E2658 48 00 00 74 */ b lbl_802E6A6C
+/* 802E69FC 002E265C 38 00 00 04 */ li r0, 4
+/* 802E6A00 002E2660 48 00 00 6C */ b lbl_802E6A6C
+/* 802E6A04 002E2664 38 00 00 10 */ li r0, 0x10
+/* 802E6A08 002E2668 48 00 00 64 */ b lbl_802E6A6C
+/* 802E6A0C 002E266C 88 08 00 00 */ lbz r0, 0(r8)
+/* 802E6A10 002E2670 39 08 00 01 */ addi r8, r8, 1
+/* 802E6A14 002E2674 48 00 00 58 */ b lbl_802E6A6C
+/* 802E6A18 002E2678 88 68 00 00 */ lbz r3, 0(r8)
+/* 802E6A1C 002E267C 88 08 00 01 */ lbz r0, 1(r8)
+/* 802E6A20 002E2680 39 08 00 02 */ addi r8, r8, 2
+/* 802E6A24 002E2684 54 63 40 2E */ slwi r3, r3, 8
+/* 802E6A28 002E2688 7C 03 02 14 */ add r0, r3, r0
+/* 802E6A2C 002E268C 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E6A30 002E2690 48 00 00 3C */ b lbl_802E6A6C
+/* 802E6A34 002E2694 88 C8 00 00 */ lbz r6, 0(r8)
+/* 802E6A38 002E2698 88 68 00 01 */ lbz r3, 1(r8)
+/* 802E6A3C 002E269C 88 08 00 02 */ lbz r0, 2(r8)
+/* 802E6A40 002E26A0 54 C7 C0 0E */ slwi r7, r6, 0x18
+/* 802E6A44 002E26A4 88 C8 00 03 */ lbz r6, 3(r8)
+/* 802E6A48 002E26A8 54 63 80 1E */ slwi r3, r3, 0x10
+/* 802E6A4C 002E26AC 54 00 40 2E */ slwi r0, r0, 8
+/* 802E6A50 002E26B0 39 08 00 04 */ addi r8, r8, 4
+/* 802E6A54 002E26B4 7C 67 1A 14 */ add r3, r7, r3
+/* 802E6A58 002E26B8 7C 06 02 14 */ add r0, r6, r0
+/* 802E6A5C 002E26BC 7C 03 02 14 */ add r0, r3, r0
+/* 802E6A60 002E26C0 48 00 00 0C */ b lbl_802E6A6C
+lbl_802E6A64:
+/* 802E6A64 002E26C4 38 60 00 00 */ li r3, 0
+/* 802E6A68 002E26C8 4E 80 00 20 */ blr
+lbl_802E6A6C:
+/* 802E6A6C 002E26CC 7C 00 20 40 */ cmplw r0, r4
+/* 802E6A70 002E26D0 41 80 00 0C */ blt lbl_802E6A7C
+/* 802E6A74 002E26D4 38 60 00 00 */ li r3, 0
+/* 802E6A78 002E26D8 4E 80 00 20 */ blr
+lbl_802E6A7C:
+/* 802E6A7C 002E26DC 7C 08 02 14 */ add r0, r8, r0
+/* 802E6A80 002E26E0 3C 80 80 44 */ lis r4, 0x8044
+/* 802E6A84 002E26E4 3C 60 80 00 */ lis r3, 0x8000
+/* 802E6A88 002E26E8 48 00 02 58 */ b lbl_802E6CE0
+lbl_802E6A8C:
+/* 802E6A8C 002E26EC 88 E8 00 00 */ lbz r7, 0(r8)
+/* 802E6A90 002E26F0 39 08 00 01 */ addi r8, r8, 1
+/* 802E6A94 002E26F4 7C E6 1E 70 */ srawi r6, r7, 3
+/* 802E6A98 002E26F8 54 E9 07 7E */ clrlwi r9, r7, 0x1d
+/* 802E6A9C 002E26FC 28 06 00 03 */ cmplwi r6, 3
+/* 802E6AA0 002E2700 41 82 00 0C */ beq lbl_802E6AAC
+/* 802E6AA4 002E2704 38 60 00 00 */ li r3, 0
+/* 802E6AA8 002E2708 4E 80 00 20 */ blr
+lbl_802E6AAC:
+/* 802E6AAC 002E270C 28 09 00 07 */ cmplwi r9, 7
+/* 802E6AB0 002E2710 41 81 00 88 */ bgt lbl_802E6B38
+/* 802E6AB4 002E2714 38 E4 55 E0 */ addi r7, r4, 0x55e0
+/* 802E6AB8 002E2718 55 26 10 3A */ slwi r6, r9, 2
+/* 802E6ABC 002E271C 7C E7 30 2E */ lwzx r7, r7, r6
+/* 802E6AC0 002E2720 7C E9 03 A6 */ mtctr r7
+/* 802E6AC4 002E2724 4E 80 04 20 */ bctr
+/* 802E6AC8 002E2728 38 C0 00 02 */ li r6, 2
+/* 802E6ACC 002E272C 48 00 00 74 */ b lbl_802E6B40
+/* 802E6AD0 002E2730 38 C0 00 04 */ li r6, 4
+/* 802E6AD4 002E2734 48 00 00 6C */ b lbl_802E6B40
+/* 802E6AD8 002E2738 38 C0 00 10 */ li r6, 0x10
+/* 802E6ADC 002E273C 48 00 00 64 */ b lbl_802E6B40
+/* 802E6AE0 002E2740 88 C8 00 00 */ lbz r6, 0(r8)
+/* 802E6AE4 002E2744 39 08 00 01 */ addi r8, r8, 1
+/* 802E6AE8 002E2748 48 00 00 58 */ b lbl_802E6B40
+/* 802E6AEC 002E274C 88 E8 00 00 */ lbz r7, 0(r8)
+/* 802E6AF0 002E2750 88 C8 00 01 */ lbz r6, 1(r8)
+/* 802E6AF4 002E2754 39 08 00 02 */ addi r8, r8, 2
+/* 802E6AF8 002E2758 54 E7 40 2E */ slwi r7, r7, 8
+/* 802E6AFC 002E275C 7C C7 32 14 */ add r6, r7, r6
+/* 802E6B00 002E2760 54 C6 04 3E */ clrlwi r6, r6, 0x10
+/* 802E6B04 002E2764 48 00 00 3C */ b lbl_802E6B40
+/* 802E6B08 002E2768 89 28 00 00 */ lbz r9, 0(r8)
+/* 802E6B0C 002E276C 88 E8 00 01 */ lbz r7, 1(r8)
+/* 802E6B10 002E2770 88 C8 00 02 */ lbz r6, 2(r8)
+/* 802E6B14 002E2774 55 2A C0 0E */ slwi r10, r9, 0x18
+/* 802E6B18 002E2778 89 28 00 03 */ lbz r9, 3(r8)
+/* 802E6B1C 002E277C 54 E7 80 1E */ slwi r7, r7, 0x10
+/* 802E6B20 002E2780 54 C6 40 2E */ slwi r6, r6, 8
+/* 802E6B24 002E2784 39 08 00 04 */ addi r8, r8, 4
+/* 802E6B28 002E2788 7C EA 3A 14 */ add r7, r10, r7
+/* 802E6B2C 002E278C 7C C9 32 14 */ add r6, r9, r6
+/* 802E6B30 002E2790 7C C7 32 14 */ add r6, r7, r6
+/* 802E6B34 002E2794 48 00 00 0C */ b lbl_802E6B40
+lbl_802E6B38:
+/* 802E6B38 002E2798 38 60 00 00 */ li r3, 0
+/* 802E6B3C 002E279C 4E 80 00 20 */ blr
+lbl_802E6B40:
+/* 802E6B40 002E27A0 28 06 00 02 */ cmplwi r6, 2
+/* 802E6B44 002E27A4 41 82 00 14 */ beq lbl_802E6B58
+/* 802E6B48 002E27A8 28 06 00 04 */ cmplwi r6, 4
+/* 802E6B4C 002E27AC 41 82 00 0C */ beq lbl_802E6B58
+/* 802E6B50 002E27B0 28 06 00 10 */ cmplwi r6, 0x10
+/* 802E6B54 002E27B4 40 82 01 70 */ bne lbl_802E6CC4
+lbl_802E6B58:
+/* 802E6B58 002E27B8 A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6B5C 002E27BC 2C 86 00 00 */ cmpwi cr1, r6, 0
+/* 802E6B60 002E27C0 38 E0 00 00 */ li r7, 0
+/* 802E6B64 002E27C4 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6B68 002E27C8 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6B6C 002E27CC B0 C9 00 02 */ sth r6, 2(r9)
+/* 802E6B70 002E27D0 40 85 01 44 */ ble cr1, lbl_802E6CB4
+/* 802E6B74 002E27D4 2C 06 00 08 */ cmpwi r6, 8
+/* 802E6B78 002E27D8 39 46 FF F8 */ addi r10, r6, -8
+/* 802E6B7C 002E27DC 40 81 01 04 */ ble lbl_802E6C80
+/* 802E6B80 002E27E0 39 60 00 00 */ li r11, 0
+/* 802E6B84 002E27E4 41 84 00 14 */ blt cr1, lbl_802E6B98
+/* 802E6B88 002E27E8 39 23 FF FE */ addi r9, r3, -2
+/* 802E6B8C 002E27EC 7C 06 48 00 */ cmpw r6, r9
+/* 802E6B90 002E27F0 41 81 00 08 */ bgt lbl_802E6B98
+/* 802E6B94 002E27F4 39 60 00 01 */ li r11, 1
+lbl_802E6B98:
+/* 802E6B98 002E27F8 2C 0B 00 00 */ cmpwi r11, 0
+/* 802E6B9C 002E27FC 41 82 00 E4 */ beq lbl_802E6C80
+/* 802E6BA0 002E2800 39 2A 00 07 */ addi r9, r10, 7
+/* 802E6BA4 002E2804 55 29 E8 FE */ srwi r9, r9, 3
+/* 802E6BA8 002E2808 7D 29 03 A6 */ mtctr r9
+/* 802E6BAC 002E280C 2C 0A 00 00 */ cmpwi r10, 0
+/* 802E6BB0 002E2810 40 81 00 D0 */ ble lbl_802E6C80
+lbl_802E6BB4:
+/* 802E6BB4 002E2814 A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6BB8 002E2818 89 48 00 00 */ lbz r10, 0(r8)
+/* 802E6BBC 002E281C 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6BC0 002E2820 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6BC4 002E2824 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6BC8 002E2828 99 49 00 04 */ stb r10, 4(r9)
+/* 802E6BCC 002E282C A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6BD0 002E2830 89 48 00 01 */ lbz r10, 1(r8)
+/* 802E6BD4 002E2834 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6BD8 002E2838 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6BDC 002E283C 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6BE0 002E2840 99 49 00 05 */ stb r10, 5(r9)
+/* 802E6BE4 002E2844 A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6BE8 002E2848 89 48 00 02 */ lbz r10, 2(r8)
+/* 802E6BEC 002E284C 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6BF0 002E2850 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6BF4 002E2854 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6BF8 002E2858 99 49 00 06 */ stb r10, 6(r9)
+/* 802E6BFC 002E285C A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6C00 002E2860 89 48 00 03 */ lbz r10, 3(r8)
+/* 802E6C04 002E2864 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6C08 002E2868 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6C0C 002E286C 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6C10 002E2870 99 49 00 07 */ stb r10, 7(r9)
+/* 802E6C14 002E2874 A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6C18 002E2878 89 48 00 04 */ lbz r10, 4(r8)
+/* 802E6C1C 002E287C 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6C20 002E2880 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6C24 002E2884 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6C28 002E2888 99 49 00 08 */ stb r10, 8(r9)
+/* 802E6C2C 002E288C A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6C30 002E2890 89 48 00 05 */ lbz r10, 5(r8)
+/* 802E6C34 002E2894 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6C38 002E2898 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6C3C 002E289C 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6C40 002E28A0 99 49 00 09 */ stb r10, 9(r9)
+/* 802E6C44 002E28A4 A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6C48 002E28A8 89 48 00 06 */ lbz r10, 6(r8)
+/* 802E6C4C 002E28AC 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6C50 002E28B0 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6C54 002E28B4 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6C58 002E28B8 99 49 00 0A */ stb r10, 0xa(r9)
+/* 802E6C5C 002E28BC A1 25 00 00 */ lhz r9, 0(r5)
+/* 802E6C60 002E28C0 89 48 00 07 */ lbz r10, 7(r8)
+/* 802E6C64 002E28C4 39 08 00 08 */ addi r8, r8, 8
+/* 802E6C68 002E28C8 1D 29 00 12 */ mulli r9, r9, 0x12
+/* 802E6C6C 002E28CC 7D 25 4A 14 */ add r9, r5, r9
+/* 802E6C70 002E28D0 7D 29 3A 14 */ add r9, r9, r7
+/* 802E6C74 002E28D4 38 E7 00 08 */ addi r7, r7, 8
+/* 802E6C78 002E28D8 99 49 00 0B */ stb r10, 0xb(r9)
+/* 802E6C7C 002E28DC 42 00 FF 38 */ bdnz lbl_802E6BB4
+lbl_802E6C80:
+/* 802E6C80 002E28E0 7D 27 30 50 */ subf r9, r7, r6
+/* 802E6C84 002E28E4 7D 29 03 A6 */ mtctr r9
+/* 802E6C88 002E28E8 7C 07 30 00 */ cmpw r7, r6
+/* 802E6C8C 002E28EC 40 80 00 28 */ bge lbl_802E6CB4
+lbl_802E6C90:
+/* 802E6C90 002E28F0 A0 C5 00 00 */ lhz r6, 0(r5)
+/* 802E6C94 002E28F4 89 28 00 00 */ lbz r9, 0(r8)
+/* 802E6C98 002E28F8 39 08 00 01 */ addi r8, r8, 1
+/* 802E6C9C 002E28FC 1C C6 00 12 */ mulli r6, r6, 0x12
+/* 802E6CA0 002E2900 7C C5 32 14 */ add r6, r5, r6
+/* 802E6CA4 002E2904 7C C6 3A 14 */ add r6, r6, r7
+/* 802E6CA8 002E2908 38 E7 00 01 */ addi r7, r7, 1
+/* 802E6CAC 002E290C 99 26 00 04 */ stb r9, 4(r6)
+/* 802E6CB0 002E2910 42 00 FF E0 */ bdnz lbl_802E6C90
+lbl_802E6CB4:
+/* 802E6CB4 002E2914 A0 C5 00 00 */ lhz r6, 0(r5)
+/* 802E6CB8 002E2918 38 C6 00 01 */ addi r6, r6, 1
+/* 802E6CBC 002E291C B0 C5 00 00 */ sth r6, 0(r5)
+/* 802E6CC0 002E2920 48 00 00 0C */ b lbl_802E6CCC
+lbl_802E6CC4:
+/* 802E6CC4 002E2924 38 60 00 00 */ li r3, 0
+/* 802E6CC8 002E2928 4E 80 00 20 */ blr
+lbl_802E6CCC:
+/* 802E6CCC 002E292C 54 C6 04 3E */ clrlwi r6, r6, 0x10
+/* 802E6CD0 002E2930 28 06 00 10 */ cmplwi r6, 0x10
+/* 802E6CD4 002E2934 41 80 00 0C */ blt lbl_802E6CE0
+/* 802E6CD8 002E2938 38 60 00 00 */ li r3, 0
+/* 802E6CDC 002E293C 4E 80 00 20 */ blr
+lbl_802E6CE0:
+/* 802E6CE0 002E2940 7C 08 00 40 */ cmplw r8, r0
+/* 802E6CE4 002E2944 41 80 FD A8 */ blt lbl_802E6A8C
+/* 802E6CE8 002E2948 41 82 00 0C */ beq lbl_802E6CF4
+/* 802E6CEC 002E294C 38 60 00 00 */ li r3, 0
+/* 802E6CF0 002E2950 4E 80 00 20 */ blr
+lbl_802E6CF4:
+/* 802E6CF4 002E2954 7D 03 43 78 */ mr r3, r8
+/* 802E6CF8 002E2958 4E 80 00 20 */ blr
+
+.global sdpu_extract_attr_seq
+sdpu_extract_attr_seq:
+/* 802E6CFC 002E295C 38 00 00 00 */ li r0, 0
+/* 802E6D00 002E2960 B0 05 00 00 */ sth r0, 0(r5)
+/* 802E6D04 002E2964 88 C3 00 00 */ lbz r6, 0(r3)
+/* 802E6D08 002E2968 7C C0 1E 70 */ srawi r0, r6, 3
+/* 802E6D0C 002E296C 54 C6 07 7E */ clrlwi r6, r6, 0x1d
+/* 802E6D10 002E2970 28 00 00 06 */ cmplwi r0, 6
+/* 802E6D14 002E2974 41 82 00 0C */ beq lbl_802E6D20
+/* 802E6D18 002E2978 38 63 00 01 */ addi r3, r3, 1
+/* 802E6D1C 002E297C 4E 80 00 20 */ blr
+lbl_802E6D20:
+/* 802E6D20 002E2980 2C 06 00 06 */ cmpwi r6, 6
+/* 802E6D24 002E2984 41 82 00 2C */ beq lbl_802E6D50
+/* 802E6D28 002E2988 40 80 00 10 */ bge lbl_802E6D38
+/* 802E6D2C 002E298C 2C 06 00 05 */ cmpwi r6, 5
+/* 802E6D30 002E2990 40 80 00 14 */ bge lbl_802E6D44
+/* 802E6D34 002E2994 48 00 00 68 */ b lbl_802E6D9C
+lbl_802E6D38:
+/* 802E6D38 002E2998 2C 06 00 08 */ cmpwi r6, 8
+/* 802E6D3C 002E299C 40 80 00 60 */ bge lbl_802E6D9C
+/* 802E6D40 002E29A0 48 00 00 2C */ b lbl_802E6D6C
+lbl_802E6D44:
+/* 802E6D44 002E29A4 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E6D48 002E29A8 38 C3 00 02 */ addi r6, r3, 2
+/* 802E6D4C 002E29AC 48 00 00 58 */ b lbl_802E6DA4
+lbl_802E6D50:
+/* 802E6D50 002E29B0 88 E3 00 01 */ lbz r7, 1(r3)
+/* 802E6D54 002E29B4 38 C3 00 03 */ addi r6, r3, 3
+/* 802E6D58 002E29B8 88 03 00 02 */ lbz r0, 2(r3)
+/* 802E6D5C 002E29BC 54 E3 40 2E */ slwi r3, r7, 8
+/* 802E6D60 002E29C0 7C 03 02 14 */ add r0, r3, r0
+/* 802E6D64 002E29C4 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E6D68 002E29C8 48 00 00 3C */ b lbl_802E6DA4
+lbl_802E6D6C:
+/* 802E6D6C 002E29CC 89 03 00 01 */ lbz r8, 1(r3)
+/* 802E6D70 002E29D0 38 C3 00 05 */ addi r6, r3, 5
+/* 802E6D74 002E29D4 88 E3 00 02 */ lbz r7, 2(r3)
+/* 802E6D78 002E29D8 88 03 00 03 */ lbz r0, 3(r3)
+/* 802E6D7C 002E29DC 55 08 C0 0E */ slwi r8, r8, 0x18
+/* 802E6D80 002E29E0 88 63 00 04 */ lbz r3, 4(r3)
+/* 802E6D84 002E29E4 54 E7 80 1E */ slwi r7, r7, 0x10
+/* 802E6D88 002E29E8 54 00 40 2E */ slwi r0, r0, 8
+/* 802E6D8C 002E29EC 7C 67 1A 14 */ add r3, r7, r3
+/* 802E6D90 002E29F0 7C 08 02 14 */ add r0, r8, r0
+/* 802E6D94 002E29F4 7C 03 02 14 */ add r0, r3, r0
+/* 802E6D98 002E29F8 48 00 00 0C */ b lbl_802E6DA4
+lbl_802E6D9C:
+/* 802E6D9C 002E29FC 38 63 00 01 */ addi r3, r3, 1
+/* 802E6DA0 002E2A00 4E 80 00 20 */ blr
+lbl_802E6DA4:
+/* 802E6DA4 002E2A04 7C 00 20 40 */ cmplw r0, r4
+/* 802E6DA8 002E2A08 40 81 00 0C */ ble lbl_802E6DB4
+/* 802E6DAC 002E2A0C 7C C3 33 78 */ mr r3, r6
+/* 802E6DB0 002E2A10 4E 80 00 20 */ blr
+lbl_802E6DB4:
+/* 802E6DB4 002E2A14 7C 06 02 14 */ add r0, r6, r0
+/* 802E6DB8 002E2A18 48 00 01 84 */ b lbl_802E6F3C
+lbl_802E6DBC:
+/* 802E6DBC 002E2A1C 88 86 00 00 */ lbz r4, 0(r6)
+/* 802E6DC0 002E2A20 38 C6 00 01 */ addi r6, r6, 1
+/* 802E6DC4 002E2A24 7C 83 1E 70 */ srawi r3, r4, 3
+/* 802E6DC8 002E2A28 54 84 07 7E */ clrlwi r4, r4, 0x1d
+/* 802E6DCC 002E2A2C 28 03 00 01 */ cmplwi r3, 1
+/* 802E6DD0 002E2A30 41 82 00 0C */ beq lbl_802E6DDC
+/* 802E6DD4 002E2A34 7C C3 33 78 */ mr r3, r6
+/* 802E6DD8 002E2A38 4E 80 00 20 */ blr
+lbl_802E6DDC:
+/* 802E6DDC 002E2A3C 2C 04 00 05 */ cmpwi r4, 5
+/* 802E6DE0 002E2A40 41 82 00 40 */ beq lbl_802E6E20
+/* 802E6DE4 002E2A44 40 80 00 1C */ bge lbl_802E6E00
+/* 802E6DE8 002E2A48 2C 04 00 02 */ cmpwi r4, 2
+/* 802E6DEC 002E2A4C 41 82 00 2C */ beq lbl_802E6E18
+/* 802E6DF0 002E2A50 40 80 00 88 */ bge lbl_802E6E78
+/* 802E6DF4 002E2A54 2C 04 00 01 */ cmpwi r4, 1
+/* 802E6DF8 002E2A58 40 80 00 18 */ bge lbl_802E6E10
+/* 802E6DFC 002E2A5C 48 00 00 7C */ b lbl_802E6E78
+lbl_802E6E00:
+/* 802E6E00 002E2A60 2C 04 00 07 */ cmpwi r4, 7
+/* 802E6E04 002E2A64 41 82 00 44 */ beq lbl_802E6E48
+/* 802E6E08 002E2A68 40 80 00 70 */ bge lbl_802E6E78
+/* 802E6E0C 002E2A6C 48 00 00 20 */ b lbl_802E6E2C
+lbl_802E6E10:
+/* 802E6E10 002E2A70 38 60 00 02 */ li r3, 2
+/* 802E6E14 002E2A74 48 00 00 6C */ b lbl_802E6E80
+lbl_802E6E18:
+/* 802E6E18 002E2A78 38 60 00 04 */ li r3, 4
+/* 802E6E1C 002E2A7C 48 00 00 64 */ b lbl_802E6E80
+lbl_802E6E20:
+/* 802E6E20 002E2A80 88 66 00 00 */ lbz r3, 0(r6)
+/* 802E6E24 002E2A84 38 C6 00 01 */ addi r6, r6, 1
+/* 802E6E28 002E2A88 48 00 00 58 */ b lbl_802E6E80
+lbl_802E6E2C:
+/* 802E6E2C 002E2A8C 88 86 00 00 */ lbz r4, 0(r6)
+/* 802E6E30 002E2A90 88 66 00 01 */ lbz r3, 1(r6)
+/* 802E6E34 002E2A94 38 C6 00 02 */ addi r6, r6, 2
+/* 802E6E38 002E2A98 54 84 40 2E */ slwi r4, r4, 8
+/* 802E6E3C 002E2A9C 7C 64 1A 14 */ add r3, r4, r3
+/* 802E6E40 002E2AA0 54 63 04 3E */ clrlwi r3, r3, 0x10
+/* 802E6E44 002E2AA4 48 00 00 3C */ b lbl_802E6E80
+lbl_802E6E48:
+/* 802E6E48 002E2AA8 88 E6 00 00 */ lbz r7, 0(r6)
+/* 802E6E4C 002E2AAC 88 86 00 01 */ lbz r4, 1(r6)
+/* 802E6E50 002E2AB0 88 66 00 02 */ lbz r3, 2(r6)
+/* 802E6E54 002E2AB4 54 E8 C0 0E */ slwi r8, r7, 0x18
+/* 802E6E58 002E2AB8 88 E6 00 03 */ lbz r7, 3(r6)
+/* 802E6E5C 002E2ABC 54 84 80 1E */ slwi r4, r4, 0x10
+/* 802E6E60 002E2AC0 54 63 40 2E */ slwi r3, r3, 8
+/* 802E6E64 002E2AC4 38 C6 00 04 */ addi r6, r6, 4
+/* 802E6E68 002E2AC8 7C 88 22 14 */ add r4, r8, r4
+/* 802E6E6C 002E2ACC 7C 67 1A 14 */ add r3, r7, r3
+/* 802E6E70 002E2AD0 7C 64 1A 14 */ add r3, r4, r3
+/* 802E6E74 002E2AD4 48 00 00 0C */ b lbl_802E6E80
+lbl_802E6E78:
+/* 802E6E78 002E2AD8 38 60 00 00 */ li r3, 0
+/* 802E6E7C 002E2ADC 4E 80 00 20 */ blr
+lbl_802E6E80:
+/* 802E6E80 002E2AE0 28 03 00 02 */ cmplwi r3, 2
+/* 802E6E84 002E2AE4 40 82 00 40 */ bne lbl_802E6EC4
+/* 802E6E88 002E2AE8 88 E6 00 00 */ lbz r7, 0(r6)
+/* 802E6E8C 002E2AEC A0 65 00 00 */ lhz r3, 0(r5)
+/* 802E6E90 002E2AF0 88 86 00 01 */ lbz r4, 1(r6)
+/* 802E6E94 002E2AF4 54 E7 40 2E */ slwi r7, r7, 8
+/* 802E6E98 002E2AF8 54 63 10 3A */ slwi r3, r3, 2
+/* 802E6E9C 002E2AFC 38 C6 00 02 */ addi r6, r6, 2
+/* 802E6EA0 002E2B00 7C 87 22 14 */ add r4, r7, r4
+/* 802E6EA4 002E2B04 7C 65 1A 14 */ add r3, r5, r3
+/* 802E6EA8 002E2B08 B0 83 00 02 */ sth r4, 2(r3)
+/* 802E6EAC 002E2B0C A0 65 00 00 */ lhz r3, 0(r5)
+/* 802E6EB0 002E2B10 54 63 10 3A */ slwi r3, r3, 2
+/* 802E6EB4 002E2B14 7C 85 1A 14 */ add r4, r5, r3
+/* 802E6EB8 002E2B18 A0 64 00 02 */ lhz r3, 2(r4)
+/* 802E6EBC 002E2B1C B0 64 00 04 */ sth r3, 4(r4)
+/* 802E6EC0 002E2B20 48 00 00 5C */ b lbl_802E6F1C
+lbl_802E6EC4:
+/* 802E6EC4 002E2B24 28 03 00 04 */ cmplwi r3, 4
+/* 802E6EC8 002E2B28 40 82 00 4C */ bne lbl_802E6F14
+/* 802E6ECC 002E2B2C 88 E6 00 00 */ lbz r7, 0(r6)
+/* 802E6ED0 002E2B30 A0 65 00 00 */ lhz r3, 0(r5)
+/* 802E6ED4 002E2B34 88 86 00 01 */ lbz r4, 1(r6)
+/* 802E6ED8 002E2B38 54 E7 40 2E */ slwi r7, r7, 8
+/* 802E6EDC 002E2B3C 54 63 10 3A */ slwi r3, r3, 2
+/* 802E6EE0 002E2B40 7C 87 22 14 */ add r4, r7, r4
+/* 802E6EE4 002E2B44 7C 65 1A 14 */ add r3, r5, r3
+/* 802E6EE8 002E2B48 B0 83 00 02 */ sth r4, 2(r3)
+/* 802E6EEC 002E2B4C 88 E6 00 02 */ lbz r7, 2(r6)
+/* 802E6EF0 002E2B50 A0 65 00 00 */ lhz r3, 0(r5)
+/* 802E6EF4 002E2B54 88 86 00 03 */ lbz r4, 3(r6)
+/* 802E6EF8 002E2B58 54 E7 40 2E */ slwi r7, r7, 8
+/* 802E6EFC 002E2B5C 54 63 10 3A */ slwi r3, r3, 2
+/* 802E6F00 002E2B60 38 C6 00 04 */ addi r6, r6, 4
+/* 802E6F04 002E2B64 7C 87 22 14 */ add r4, r7, r4
+/* 802E6F08 002E2B68 7C 65 1A 14 */ add r3, r5, r3
+/* 802E6F0C 002E2B6C B0 83 00 04 */ sth r4, 4(r3)
+/* 802E6F10 002E2B70 48 00 00 0C */ b lbl_802E6F1C
+lbl_802E6F14:
+/* 802E6F14 002E2B74 38 60 00 00 */ li r3, 0
+/* 802E6F18 002E2B78 4E 80 00 20 */ blr
+lbl_802E6F1C:
+/* 802E6F1C 002E2B7C A0 65 00 00 */ lhz r3, 0(r5)
+/* 802E6F20 002E2B80 38 83 00 01 */ addi r4, r3, 1
+/* 802E6F24 002E2B84 54 83 04 3E */ clrlwi r3, r4, 0x10
+/* 802E6F28 002E2B88 B0 85 00 00 */ sth r4, 0(r5)
+/* 802E6F2C 002E2B8C 28 03 00 10 */ cmplwi r3, 0x10
+/* 802E6F30 002E2B90 41 80 00 0C */ blt lbl_802E6F3C
+/* 802E6F34 002E2B94 38 60 00 00 */ li r3, 0
+/* 802E6F38 002E2B98 4E 80 00 20 */ blr
+lbl_802E6F3C:
+/* 802E6F3C 002E2B9C 7C 06 00 40 */ cmplw r6, r0
+/* 802E6F40 002E2BA0 41 80 FE 7C */ blt lbl_802E6DBC
+/* 802E6F44 002E2BA4 7C C3 33 78 */ mr r3, r6
+/* 802E6F48 002E2BA8 4E 80 00 20 */ blr
+
+.global sdpu_get_len_from_type
+sdpu_get_len_from_type:
+/* 802E6F4C 002E2BAC 54 80 07 7E */ clrlwi r0, r4, 0x1d
+/* 802E6F50 002E2BB0 7C 68 1B 78 */ mr r8, r3
+/* 802E6F54 002E2BB4 28 00 00 07 */ cmplwi r0, 7
+/* 802E6F58 002E2BB8 41 81 00 BC */ bgt lbl_802E7014
+/* 802E6F5C 002E2BBC 3C 80 80 44 */ lis r4, lbl_80445620@ha
+/* 802E6F60 002E2BC0 54 00 10 3A */ slwi r0, r0, 2
+/* 802E6F64 002E2BC4 38 84 56 20 */ addi r4, r4, lbl_80445620@l
+/* 802E6F68 002E2BC8 7C 84 00 2E */ lwzx r4, r4, r0
+/* 802E6F6C 002E2BCC 7C 89 03 A6 */ mtctr r4
+/* 802E6F70 002E2BD0 4E 80 04 20 */ bctr
+/* 802E6F74 002E2BD4 38 00 00 01 */ li r0, 1
+/* 802E6F78 002E2BD8 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6F7C 002E2BDC 48 00 00 98 */ b lbl_802E7014
+/* 802E6F80 002E2BE0 38 00 00 02 */ li r0, 2
+/* 802E6F84 002E2BE4 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6F88 002E2BE8 48 00 00 8C */ b lbl_802E7014
+/* 802E6F8C 002E2BEC 38 00 00 04 */ li r0, 4
+/* 802E6F90 002E2BF0 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6F94 002E2BF4 48 00 00 80 */ b lbl_802E7014
+/* 802E6F98 002E2BF8 38 00 00 08 */ li r0, 8
+/* 802E6F9C 002E2BFC 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6FA0 002E2C00 48 00 00 74 */ b lbl_802E7014
+/* 802E6FA4 002E2C04 38 00 00 10 */ li r0, 0x10
+/* 802E6FA8 002E2C08 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6FAC 002E2C0C 48 00 00 68 */ b lbl_802E7014
+/* 802E6FB0 002E2C10 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E6FB4 002E2C14 39 03 00 01 */ addi r8, r3, 1
+/* 802E6FB8 002E2C18 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6FBC 002E2C1C 48 00 00 58 */ b lbl_802E7014
+/* 802E6FC0 002E2C20 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E6FC4 002E2C24 39 03 00 02 */ addi r8, r3, 2
+/* 802E6FC8 002E2C28 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E6FCC 002E2C2C 54 83 40 2E */ slwi r3, r4, 8
+/* 802E6FD0 002E2C30 7C 03 02 14 */ add r0, r3, r0
+/* 802E6FD4 002E2C34 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E6FD8 002E2C38 90 05 00 00 */ stw r0, 0(r5)
+/* 802E6FDC 002E2C3C 48 00 00 38 */ b lbl_802E7014
+/* 802E6FE0 002E2C40 88 C3 00 00 */ lbz r6, 0(r3)
+/* 802E6FE4 002E2C44 39 03 00 04 */ addi r8, r3, 4
+/* 802E6FE8 002E2C48 88 03 00 02 */ lbz r0, 2(r3)
+/* 802E6FEC 002E2C4C 88 83 00 01 */ lbz r4, 1(r3)
+/* 802E6FF0 002E2C50 54 C7 C0 0E */ slwi r7, r6, 0x18
+/* 802E6FF4 002E2C54 54 00 40 2E */ slwi r0, r0, 8
+/* 802E6FF8 002E2C58 54 86 80 1E */ slwi r6, r4, 0x10
+/* 802E6FFC 002E2C5C 88 83 00 03 */ lbz r4, 3(r3)
+/* 802E7000 002E2C60 7C 67 32 14 */ add r3, r7, r6
+/* 802E7004 002E2C64 7C 04 02 14 */ add r0, r4, r0
+/* 802E7008 002E2C68 7C 03 02 14 */ add r0, r3, r0
+/* 802E700C 002E2C6C 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 802E7010 002E2C70 90 05 00 00 */ stw r0, 0(r5)
+lbl_802E7014:
+/* 802E7014 002E2C74 7D 03 43 78 */ mr r3, r8
+/* 802E7018 002E2C78 4E 80 00 20 */ blr
+
+.global sdpu_is_base_uuid
+sdpu_is_base_uuid:
+/* 802E701C 002E2C7C 3C A0 80 40 */ lis r5, lbl_803FDF10@ha
+/* 802E7020 002E2C80 38 00 00 02 */ li r0, 2
+/* 802E7024 002E2C84 38 A5 DF 10 */ addi r5, r5, lbl_803FDF10@l
+/* 802E7028 002E2C88 38 C0 00 04 */ li r6, 4
+/* 802E702C 002E2C8C 7C 09 03 A6 */ mtctr r0
+lbl_802E7030:
+/* 802E7030 002E2C90 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802E7034 002E2C94 7C 85 00 AE */ lbzx r4, r5, r0
+/* 802E7038 002E2C98 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802E703C 002E2C9C 7C 04 00 40 */ cmplw r4, r0
+/* 802E7040 002E2CA0 41 82 00 0C */ beq lbl_802E704C
+/* 802E7044 002E2CA4 38 60 00 00 */ li r3, 0
+/* 802E7048 002E2CA8 4E 80 00 20 */ blr
+lbl_802E704C:
+/* 802E704C 002E2CAC 38 C6 00 01 */ addi r6, r6, 1
+/* 802E7050 002E2CB0 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802E7054 002E2CB4 7C 85 00 AE */ lbzx r4, r5, r0
+/* 802E7058 002E2CB8 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802E705C 002E2CBC 7C 04 00 40 */ cmplw r4, r0
+/* 802E7060 002E2CC0 41 82 00 0C */ beq lbl_802E706C
+/* 802E7064 002E2CC4 38 60 00 00 */ li r3, 0
+/* 802E7068 002E2CC8 4E 80 00 20 */ blr
+lbl_802E706C:
+/* 802E706C 002E2CCC 38 C6 00 01 */ addi r6, r6, 1
+/* 802E7070 002E2CD0 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802E7074 002E2CD4 7C 85 00 AE */ lbzx r4, r5, r0
+/* 802E7078 002E2CD8 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802E707C 002E2CDC 7C 04 00 40 */ cmplw r4, r0
+/* 802E7080 002E2CE0 41 82 00 0C */ beq lbl_802E708C
+/* 802E7084 002E2CE4 38 60 00 00 */ li r3, 0
+/* 802E7088 002E2CE8 4E 80 00 20 */ blr
+lbl_802E708C:
+/* 802E708C 002E2CEC 38 C6 00 01 */ addi r6, r6, 1
+/* 802E7090 002E2CF0 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802E7094 002E2CF4 7C 85 00 AE */ lbzx r4, r5, r0
+/* 802E7098 002E2CF8 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802E709C 002E2CFC 7C 04 00 40 */ cmplw r4, r0
+/* 802E70A0 002E2D00 41 82 00 0C */ beq lbl_802E70AC
+/* 802E70A4 002E2D04 38 60 00 00 */ li r3, 0
+/* 802E70A8 002E2D08 4E 80 00 20 */ blr
+lbl_802E70AC:
+/* 802E70AC 002E2D0C 38 C6 00 01 */ addi r6, r6, 1
+/* 802E70B0 002E2D10 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802E70B4 002E2D14 7C 85 00 AE */ lbzx r4, r5, r0
+/* 802E70B8 002E2D18 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802E70BC 002E2D1C 7C 04 00 40 */ cmplw r4, r0
+/* 802E70C0 002E2D20 41 82 00 0C */ beq lbl_802E70CC
+/* 802E70C4 002E2D24 38 60 00 00 */ li r3, 0
+/* 802E70C8 002E2D28 4E 80 00 20 */ blr
+lbl_802E70CC:
+/* 802E70CC 002E2D2C 38 C6 00 01 */ addi r6, r6, 1
+/* 802E70D0 002E2D30 54 C0 04 3E */ clrlwi r0, r6, 0x10
+/* 802E70D4 002E2D34 7C 85 00 AE */ lbzx r4, r5, r0
+/* 802E70D8 002E2D38 7C 03 00 AE */ lbzx r0, r3, r0
+/* 802E70DC 002E2D3C 7C 04 00 40 */ cmplw r4, r0
+/* 802E70E0 002E2D40 41 82 00 0C */ beq lbl_802E70EC
+/* 802E70E4 002E2D44 38 60 00 00 */ li r3, 0
+/* 802E70E8 002E2D48 4E 80 00 20 */ blr
+lbl_802E70EC:
+/* 802E70EC 002E2D4C 38 C6 00 01 */ addi r6, r6, 1
+/* 802E70F0 002E2D50 42 00 FF 40 */ bdnz lbl_802E7030
+/* 802E70F4 002E2D54 38 60 00 01 */ li r3, 1
+/* 802E70F8 002E2D58 4E 80 00 20 */ blr
+
+.global sdpu_compare_uuid_arrays
+sdpu_compare_uuid_arrays:
+/* 802E70FC 002E2D5C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 802E7100 002E2D60 7C 08 02 A6 */ mflr r0
+/* 802E7104 002E2D64 7C 04 30 40 */ cmplw r4, r6
+/* 802E7108 002E2D68 90 01 00 44 */ stw r0, 0x44(r1)
+/* 802E710C 002E2D6C 93 E1 00 3C */ stw r31, 0x3c(r1)
+/* 802E7110 002E2D70 7C DF 33 78 */ mr r31, r6
+/* 802E7114 002E2D74 93 C1 00 38 */ stw r30, 0x38(r1)
+/* 802E7118 002E2D78 7C BE 2B 78 */ mr r30, r5
+/* 802E711C 002E2D7C 93 A1 00 34 */ stw r29, 0x34(r1)
+/* 802E7120 002E2D80 7C 9D 23 78 */ mr r29, r4
+/* 802E7124 002E2D84 93 81 00 30 */ stw r28, 0x30(r1)
+/* 802E7128 002E2D88 7C 7C 1B 78 */ mr r28, r3
+/* 802E712C 002E2D8C 40 82 00 AC */ bne lbl_802E71D8
+/* 802E7130 002E2D90 28 04 00 02 */ cmplwi r4, 2
+/* 802E7134 002E2D94 40 82 00 34 */ bne lbl_802E7168
+/* 802E7138 002E2D98 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E713C 002E2D9C 38 C0 00 00 */ li r6, 0
+/* 802E7140 002E2DA0 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E7144 002E2DA4 7C 04 00 40 */ cmplw r4, r0
+/* 802E7148 002E2DA8 40 82 00 18 */ bne lbl_802E7160
+/* 802E714C 002E2DAC 88 63 00 01 */ lbz r3, 1(r3)
+/* 802E7150 002E2DB0 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E7154 002E2DB4 7C 03 00 40 */ cmplw r3, r0
+/* 802E7158 002E2DB8 40 82 00 08 */ bne lbl_802E7160
+/* 802E715C 002E2DBC 38 C0 00 01 */ li r6, 1
+lbl_802E7160:
+/* 802E7160 002E2DC0 7C C3 33 78 */ mr r3, r6
+/* 802E7164 002E2DC4 48 00 01 EC */ b lbl_802E7350
+lbl_802E7168:
+/* 802E7168 002E2DC8 28 04 00 04 */ cmplwi r4, 4
+/* 802E716C 002E2DCC 40 82 00 50 */ bne lbl_802E71BC
+/* 802E7170 002E2DD0 88 83 00 00 */ lbz r4, 0(r3)
+/* 802E7174 002E2DD4 38 C0 00 00 */ li r6, 0
+/* 802E7178 002E2DD8 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E717C 002E2DDC 7C 04 00 40 */ cmplw r4, r0
+/* 802E7180 002E2DE0 40 82 00 50 */ bne lbl_802E71D0
+/* 802E7184 002E2DE4 88 83 00 01 */ lbz r4, 1(r3)
+/* 802E7188 002E2DE8 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E718C 002E2DEC 7C 04 00 40 */ cmplw r4, r0
+/* 802E7190 002E2DF0 40 82 00 40 */ bne lbl_802E71D0
+/* 802E7194 002E2DF4 88 83 00 02 */ lbz r4, 2(r3)
+/* 802E7198 002E2DF8 88 05 00 02 */ lbz r0, 2(r5)
+/* 802E719C 002E2DFC 7C 04 00 40 */ cmplw r4, r0
+/* 802E71A0 002E2E00 40 82 00 30 */ bne lbl_802E71D0
+/* 802E71A4 002E2E04 88 63 00 03 */ lbz r3, 3(r3)
+/* 802E71A8 002E2E08 88 05 00 03 */ lbz r0, 3(r5)
+/* 802E71AC 002E2E0C 7C 03 00 40 */ cmplw r3, r0
+/* 802E71B0 002E2E10 40 82 00 20 */ bne lbl_802E71D0
+/* 802E71B4 002E2E14 38 C0 00 01 */ li r6, 1
+/* 802E71B8 002E2E18 48 00 00 18 */ b lbl_802E71D0
+lbl_802E71BC:
+/* 802E71BC 002E2E1C 7F C4 F3 78 */ mr r4, r30
+/* 802E71C0 002E2E20 7F A5 EB 78 */ mr r5, r29
+/* 802E71C4 002E2E24 4B EE 31 D5 */ bl memcmp
+/* 802E71C8 002E2E28 7C 60 00 34 */ cntlzw r0, r3
+/* 802E71CC 002E2E2C 54 06 DE 3E */ rlwinm r6, r0, 0x1b, 0x18, 0x1f
+lbl_802E71D0:
+/* 802E71D0 002E2E30 7C C3 33 78 */ mr r3, r6
+/* 802E71D4 002E2E34 48 00 01 7C */ b lbl_802E7350
+lbl_802E71D8:
+/* 802E71D8 002E2E38 40 81 00 C0 */ ble lbl_802E7298
+/* 802E71DC 002E2E3C 28 04 00 04 */ cmplwi r4, 4
+/* 802E71E0 002E2E40 40 82 00 4C */ bne lbl_802E722C
+/* 802E71E4 002E2E44 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E71E8 002E2E48 38 C0 00 00 */ li r6, 0
+/* 802E71EC 002E2E4C 2C 00 00 00 */ cmpwi r0, 0
+/* 802E71F0 002E2E50 40 82 00 34 */ bne lbl_802E7224
+/* 802E71F4 002E2E54 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E71F8 002E2E58 2C 00 00 00 */ cmpwi r0, 0
+/* 802E71FC 002E2E5C 40 82 00 28 */ bne lbl_802E7224
+/* 802E7200 002E2E60 88 83 00 02 */ lbz r4, 2(r3)
+/* 802E7204 002E2E64 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E7208 002E2E68 7C 04 00 40 */ cmplw r4, r0
+/* 802E720C 002E2E6C 40 82 00 18 */ bne lbl_802E7224
+/* 802E7210 002E2E70 88 63 00 03 */ lbz r3, 3(r3)
+/* 802E7214 002E2E74 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E7218 002E2E78 7C 03 00 40 */ cmplw r3, r0
+/* 802E721C 002E2E7C 40 82 00 08 */ bne lbl_802E7224
+/* 802E7220 002E2E80 38 C0 00 01 */ li r6, 1
+lbl_802E7224:
+/* 802E7224 002E2E84 7C C3 33 78 */ mr r3, r6
+/* 802E7228 002E2E88 48 00 01 28 */ b lbl_802E7350
+lbl_802E722C:
+/* 802E722C 002E2E8C 7F 84 E3 78 */ mr r4, r28
+/* 802E7230 002E2E90 38 61 00 18 */ addi r3, r1, 0x18
+/* 802E7234 002E2E94 38 A0 00 10 */ li r5, 0x10
+/* 802E7238 002E2E98 4B D1 CD C9 */ bl memcpy
+/* 802E723C 002E2E9C 3C 80 80 40 */ lis r4, lbl_803FDF10@ha
+/* 802E7240 002E2EA0 38 61 00 08 */ addi r3, r1, 8
+/* 802E7244 002E2EA4 38 84 DF 10 */ addi r4, r4, lbl_803FDF10@l
+/* 802E7248 002E2EA8 38 A0 00 10 */ li r5, 0x10
+/* 802E724C 002E2EAC 4B D1 CD B5 */ bl memcpy
+/* 802E7250 002E2EB0 28 1F 00 04 */ cmplwi r31, 4
+/* 802E7254 002E2EB4 40 82 00 18 */ bne lbl_802E726C
+/* 802E7258 002E2EB8 7F C4 F3 78 */ mr r4, r30
+/* 802E725C 002E2EBC 7F E5 FB 78 */ mr r5, r31
+/* 802E7260 002E2EC0 38 61 00 08 */ addi r3, r1, 8
+/* 802E7264 002E2EC4 4B D1 CD 9D */ bl memcpy
+/* 802E7268 002E2EC8 48 00 00 14 */ b lbl_802E727C
+lbl_802E726C:
+/* 802E726C 002E2ECC 7F C4 F3 78 */ mr r4, r30
+/* 802E7270 002E2ED0 7F E5 FB 78 */ mr r5, r31
+/* 802E7274 002E2ED4 38 61 00 0A */ addi r3, r1, 0xa
+/* 802E7278 002E2ED8 4B D1 CD 89 */ bl memcpy
+lbl_802E727C:
+/* 802E727C 002E2EDC 38 61 00 18 */ addi r3, r1, 0x18
+/* 802E7280 002E2EE0 38 81 00 08 */ addi r4, r1, 8
+/* 802E7284 002E2EE4 38 A0 00 10 */ li r5, 0x10
+/* 802E7288 002E2EE8 4B EE 31 11 */ bl memcmp
+/* 802E728C 002E2EEC 7C 60 00 34 */ cntlzw r0, r3
+/* 802E7290 002E2EF0 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802E7294 002E2EF4 48 00 00 BC */ b lbl_802E7350
+lbl_802E7298:
+/* 802E7298 002E2EF8 28 06 00 04 */ cmplwi r6, 4
+/* 802E729C 002E2EFC 40 82 00 4C */ bne lbl_802E72E8
+/* 802E72A0 002E2F00 88 05 00 00 */ lbz r0, 0(r5)
+/* 802E72A4 002E2F04 38 C0 00 00 */ li r6, 0
+/* 802E72A8 002E2F08 2C 00 00 00 */ cmpwi r0, 0
+/* 802E72AC 002E2F0C 40 82 00 34 */ bne lbl_802E72E0
+/* 802E72B0 002E2F10 88 05 00 01 */ lbz r0, 1(r5)
+/* 802E72B4 002E2F14 2C 00 00 00 */ cmpwi r0, 0
+/* 802E72B8 002E2F18 40 82 00 28 */ bne lbl_802E72E0
+/* 802E72BC 002E2F1C 88 85 00 02 */ lbz r4, 2(r5)
+/* 802E72C0 002E2F20 88 03 00 00 */ lbz r0, 0(r3)
+/* 802E72C4 002E2F24 7C 04 00 40 */ cmplw r4, r0
+/* 802E72C8 002E2F28 40 82 00 18 */ bne lbl_802E72E0
+/* 802E72CC 002E2F2C 88 85 00 03 */ lbz r4, 3(r5)
+/* 802E72D0 002E2F30 88 03 00 01 */ lbz r0, 1(r3)
+/* 802E72D4 002E2F34 7C 04 00 40 */ cmplw r4, r0
+/* 802E72D8 002E2F38 40 82 00 08 */ bne lbl_802E72E0
+/* 802E72DC 002E2F3C 38 C0 00 01 */ li r6, 1
+lbl_802E72E0:
+/* 802E72E0 002E2F40 7C C3 33 78 */ mr r3, r6
+/* 802E72E4 002E2F44 48 00 00 6C */ b lbl_802E7350
+lbl_802E72E8:
+/* 802E72E8 002E2F48 7F C4 F3 78 */ mr r4, r30
+/* 802E72EC 002E2F4C 38 61 00 08 */ addi r3, r1, 8
+/* 802E72F0 002E2F50 38 A0 00 10 */ li r5, 0x10
+/* 802E72F4 002E2F54 4B D1 CD 0D */ bl memcpy
+/* 802E72F8 002E2F58 3C 80 80 40 */ lis r4, lbl_803FDF10@ha
+/* 802E72FC 002E2F5C 38 61 00 18 */ addi r3, r1, 0x18
+/* 802E7300 002E2F60 38 84 DF 10 */ addi r4, r4, lbl_803FDF10@l
+/* 802E7304 002E2F64 38 A0 00 10 */ li r5, 0x10
+/* 802E7308 002E2F68 4B D1 CC F9 */ bl memcpy
+/* 802E730C 002E2F6C 28 1D 00 04 */ cmplwi r29, 4
+/* 802E7310 002E2F70 40 82 00 18 */ bne lbl_802E7328
+/* 802E7314 002E2F74 7F 84 E3 78 */ mr r4, r28
+/* 802E7318 002E2F78 7F A5 EB 78 */ mr r5, r29
+/* 802E731C 002E2F7C 38 61 00 18 */ addi r3, r1, 0x18
+/* 802E7320 002E2F80 4B D1 CC E1 */ bl memcpy
+/* 802E7324 002E2F84 48 00 00 14 */ b lbl_802E7338
+lbl_802E7328:
+/* 802E7328 002E2F88 7F 84 E3 78 */ mr r4, r28
+/* 802E732C 002E2F8C 7F A5 EB 78 */ mr r5, r29
+/* 802E7330 002E2F90 38 61 00 1A */ addi r3, r1, 0x1a
+/* 802E7334 002E2F94 4B D1 CC CD */ bl memcpy
+lbl_802E7338:
+/* 802E7338 002E2F98 38 61 00 18 */ addi r3, r1, 0x18
+/* 802E733C 002E2F9C 38 81 00 08 */ addi r4, r1, 8
+/* 802E7340 002E2FA0 38 A0 00 10 */ li r5, 0x10
+/* 802E7344 002E2FA4 4B EE 30 55 */ bl memcmp
+/* 802E7348 002E2FA8 7C 60 00 34 */ cntlzw r0, r3
+/* 802E734C 002E2FAC 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+lbl_802E7350:
+/* 802E7350 002E2FB0 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 802E7354 002E2FB4 83 E1 00 3C */ lwz r31, 0x3c(r1)
+/* 802E7358 002E2FB8 83 C1 00 38 */ lwz r30, 0x38(r1)
+/* 802E735C 002E2FBC 83 A1 00 34 */ lwz r29, 0x34(r1)
+/* 802E7360 002E2FC0 83 81 00 30 */ lwz r28, 0x30(r1)
+/* 802E7364 002E2FC4 7C 08 03 A6 */ mtlr r0
+/* 802E7368 002E2FC8 38 21 00 40 */ addi r1, r1, 0x40
+/* 802E736C 002E2FCC 4E 80 00 20 */ blr
+
+.global sdpu_compare_uuid_with_attr
+sdpu_compare_uuid_with_attr:
+/* 802E7370 002E2FD0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802E7374 002E2FD4 7C 08 02 A6 */ mflr r0
+/* 802E7378 002E2FD8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802E737C 002E2FDC A0 04 00 06 */ lhz r0, 6(r4)
+/* 802E7380 002E2FE0 A0 A3 00 00 */ lhz r5, 0(r3)
+/* 802E7384 002E2FE4 54 00 05 3E */ clrlwi r0, r0, 0x14
+/* 802E7388 002E2FE8 7C 05 00 40 */ cmplw r5, r0
+/* 802E738C 002E2FEC 41 82 00 0C */ beq lbl_802E7398
+/* 802E7390 002E2FF0 38 60 00 00 */ li r3, 0
+/* 802E7394 002E2FF4 48 00 00 5C */ b lbl_802E73F0
+lbl_802E7398:
+/* 802E7398 002E2FF8 28 05 00 02 */ cmplwi r5, 2
+/* 802E739C 002E2FFC 40 82 00 1C */ bne lbl_802E73B8
+/* 802E73A0 002E3000 A0 63 00 04 */ lhz r3, 4(r3)
+/* 802E73A4 002E3004 A0 04 00 08 */ lhz r0, 8(r4)
+/* 802E73A8 002E3008 7C 03 00 50 */ subf r0, r3, r0
+/* 802E73AC 002E300C 7C 00 00 34 */ cntlzw r0, r0
+/* 802E73B0 002E3010 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802E73B4 002E3014 48 00 00 3C */ b lbl_802E73F0
+lbl_802E73B8:
+/* 802E73B8 002E3018 28 05 00 04 */ cmplwi r5, 4
+/* 802E73BC 002E301C 40 82 00 1C */ bne lbl_802E73D8
+/* 802E73C0 002E3020 80 63 00 04 */ lwz r3, 4(r3)
+/* 802E73C4 002E3024 80 04 00 08 */ lwz r0, 8(r4)
+/* 802E73C8 002E3028 7C 03 00 50 */ subf r0, r3, r0
+/* 802E73CC 002E302C 7C 00 00 34 */ cntlzw r0, r0
+/* 802E73D0 002E3030 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+/* 802E73D4 002E3034 48 00 00 1C */ b lbl_802E73F0
+lbl_802E73D8:
+/* 802E73D8 002E3038 38 A0 00 10 */ li r5, 0x10
+/* 802E73DC 002E303C 38 63 00 04 */ addi r3, r3, 4
+/* 802E73E0 002E3040 38 84 00 08 */ addi r4, r4, 8
+/* 802E73E4 002E3044 4B EE 2F B5 */ bl memcmp
+/* 802E73E8 002E3048 7C 60 00 34 */ cntlzw r0, r3
+/* 802E73EC 002E304C 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
+lbl_802E73F0:
+/* 802E73F0 002E3050 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802E73F4 002E3054 7C 08 03 A6 */ mtlr r0
+/* 802E73F8 002E3058 38 21 00 10 */ addi r1, r1, 0x10
+/* 802E73FC 002E305C 4E 80 00 20 */ blr
+
+.global sdpu_sort_attr_list
+sdpu_sort_attr_list:
+/* 802E7400 002E3060 28 03 00 01 */ cmplwi r3, 1
+/* 802E7404 002E3064 4C 81 00 20 */ blelr
+/* 802E7408 002E3068 38 A3 FF FF */ addi r5, r3, -1
+/* 802E740C 002E306C 39 00 00 00 */ li r8, 0
+/* 802E7410 002E3070 3C 60 00 01 */ lis r3, 1
+/* 802E7414 002E3074 48 00 00 2C */ b lbl_802E7440
+lbl_802E7418:
+/* 802E7418 002E3078 55 00 0B FC */ rlwinm r0, r8, 1, 0xf, 0x1e
+/* 802E741C 002E307C 7C E4 02 14 */ add r7, r4, r0
+/* 802E7420 002E3080 A0 C7 00 50 */ lhz r6, 0x50(r7)
+/* 802E7424 002E3084 A0 07 00 4E */ lhz r0, 0x4e(r7)
+/* 802E7428 002E3088 7C 00 30 40 */ cmplw r0, r6
+/* 802E742C 002E308C 40 81 00 10 */ ble lbl_802E743C
+/* 802E7430 002E3090 B0 C7 00 4E */ sth r6, 0x4e(r7)
+/* 802E7434 002E3094 39 03 FF FF */ addi r8, r3, -1
+/* 802E7438 002E3098 B0 07 00 50 */ sth r0, 0x50(r7)
+lbl_802E743C:
+/* 802E743C 002E309C 39 08 00 01 */ addi r8, r8, 1
+lbl_802E7440:
+/* 802E7440 002E30A0 55 00 04 3E */ clrlwi r0, r8, 0x10
+/* 802E7444 002E30A4 7C 00 28 00 */ cmpw r0, r5
+/* 802E7448 002E30A8 41 80 FF D0 */ blt lbl_802E7418
+/* 802E744C 002E30AC 4E 80 00 20 */ blr
diff --git a/asm/SDK/BTE/uusb_ppc.s b/asm/SDK/BTE/uusb_ppc.s index aaeb352..bbc0a08 100644 --- a/asm/SDK/BTE/uusb_ppc.s +++ b/asm/SDK/BTE/uusb_ppc.s @@ -308,12 +308,12 @@ lbl_802BBCB0: /* 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
+/* 802BBCE0 002B7940 48 01 C9 3D */ bl l2cap_link_chk_pkt_start
/* 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
+/* 802BBCF4 002B7954 48 01 CA F9 */ bl l2cap_link_chk_pkt_end
/* 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
diff --git a/asm/SDK/BTE/wbt_ext.s b/asm/SDK/BTE/wbt_ext.s index 0278e2a..1e6080f 100644 --- a/asm/SDK/BTE/wbt_ext.s +++ b/asm/SDK/BTE/wbt_ext.s @@ -15,7 +15,7 @@ WBT_ExtCreateRecord: /* 802CEB70 002CA7D0 93 C1 01 18 */ stw r30, 0x118(r1)
/* 802CEB74 002CA7D4 93 E1 00 10 */ stw r31, 0x10(r1)
/* 802CEB78 002CA7D8 B0 01 00 08 */ sth r0, 8(r1)
-/* 802CEB7C 002CA7DC 48 01 3C 01 */ bl func_802E277C
+/* 802CEB7C 002CA7DC 48 01 3C 01 */ bl SDP_GetLocalDiRecord
/* 802CEB80 002CA7E0 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802CEB84 002CA7E4 41 82 00 4C */ beq lbl_802CEBD0
/* 802CEB88 002CA7E8 3B C1 00 16 */ addi r30, r1, 0x16
@@ -30,7 +30,7 @@ WBT_ExtCreateRecord: /* 802CEBAC 002CA80C 38 81 00 10 */ addi r4, r1, 0x10
/* 802CEBB0 002CA810 B0 01 00 18 */ sth r0, 0x18(r1)
/* 802CEBB4 002CA814 98 01 00 1E */ stb r0, 0x1e(r1)
-/* 802CEBB8 002CA818 48 01 38 65 */ bl func_802E241C
+/* 802CEBB8 002CA818 48 01 38 65 */ bl SDP_SetLocalDiRecord
/* 802CEBBC 002CA81C 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802CEBC0 002CA820 41 82 00 10 */ beq lbl_802CEBD0
/* 802CEBC4 002CA824 93 E1 00 10 */ stw r31, 0x10(r1)
@@ -41,7 +41,7 @@ lbl_802CEBD0: /* 802CEBD4 002CA834 38 C1 00 08 */ addi r6, r1, 8
/* 802CEBD8 002CA838 38 80 00 05 */ li r4, 5
/* 802CEBDC 002CA83C 38 A0 00 01 */ li r5, 1
-/* 802CEBE0 002CA840 48 01 48 AD */ bl func_802E348C
+/* 802CEBE0 002CA840 48 01 48 AD */ bl SDP_AddUuidSequence
/* 802CEBE4 002CA844 38 00 00 00 */ li r0, 0
/* 802CEBE8 002CA848 38 80 00 01 */ li r4, 1
/* 802CEBEC 002CA84C 3C 60 00 01 */ lis r3, 0x00008001@ha
@@ -53,7 +53,7 @@ lbl_802CEBD0: /* 802CEC04 002CA864 38 E1 00 0C */ addi r7, r1, 0xc
/* 802CEC08 002CA868 38 A0 00 01 */ li r5, 1
/* 802CEC0C 002CA86C 38 C0 00 02 */ li r6, 2
-/* 802CEC10 002CA870 48 01 44 E5 */ bl func_802E30F4
+/* 802CEC10 002CA870 48 01 44 E5 */ bl SDP_AddAttribute
/* 802CEC14 002CA874 38 60 00 01 */ li r3, 1
lbl_802CEC18:
/* 802CEC18 002CA878 80 01 01 24 */ lwz r0, 0x124(r1)
diff --git a/asm/SDK/WUD/WUD.s b/asm/SDK/WUD/WUD.s index 1eb7afe..20273c7 100644 --- a/asm/SDK/WUD/WUD.s +++ b/asm/SDK/WUD/WUD.s @@ -1898,9 +1898,9 @@ lbl_802B66F0: /* 802B6704 002B2364 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
/* 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
+/* 802B6710 002B2370 48 01 FC CD */ bl L2CA_SetTraceLevel
/* 802B6714 002B2374 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
-/* 802B6718 002B2378 48 02 C5 15 */ bl func_802E2C2C
+/* 802B6718 002B2378 48 02 C5 15 */ bl SDP_SetTraceLevel
/* 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
|