diff options
author | Max <mparisi@stevens.edu> | 2020-10-06 16:02:44 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-10-06 16:02:44 -0400 |
commit | 7420d656ee1c84a7295fe122f2caa82efb439619 (patch) | |
tree | 41c60ab903c3a1b7617350360c7824567c46dcd3 /asm/SDK | |
parent | 903017852ad40fe61189a427c26e950ac4d90534 (diff) |
split rfc_ts_frames, rfc_utils, sdp_api, sdp_db, sdp_discovery, sdp_main, sdp_server, sdp_utils
Diffstat (limited to 'asm/SDK')
-rw-r--r-- | asm/SDK/BTE/bta_dm_act.s | 8 | ||||
-rw-r--r-- | asm/SDK/BTE/btm_discovery.s | 4 | ||||
-rw-r--r-- | asm/SDK/BTE/btu_init.s | 2 | ||||
-rw-r--r-- | asm/SDK/BTE/btu_task1.s | 4 | ||||
-rw-r--r-- | asm/SDK/BTE/hidh_api.s | 36 | ||||
-rw-r--r-- | asm/SDK/BTE/port_rfc.s | 18 | ||||
-rw-r--r-- | asm/SDK/BTE/port_utils.s | 6 | ||||
-rw-r--r-- | asm/SDK/BTE/rfc_l2cap_if.s | 12 | ||||
-rw-r--r-- | asm/SDK/BTE/rfc_mx_fsm.s | 32 | ||||
-rw-r--r-- | asm/SDK/BTE/rfc_port_fsm.s | 106 | ||||
-rw-r--r-- | asm/SDK/BTE/rfc_port_if.s | 24 | ||||
-rw-r--r-- | asm/SDK/BTE/rfc_ts_frames.s | 1590 | ||||
-rw-r--r-- | asm/SDK/BTE/rfc_utils.s | 590 | ||||
-rw-r--r-- | asm/SDK/BTE/sdp_api.s | 1039 | ||||
-rw-r--r-- | asm/SDK/BTE/sdp_db.s | 935 | ||||
-rw-r--r-- | asm/SDK/BTE/sdp_discovery.s | 1325 | ||||
-rw-r--r-- | asm/SDK/BTE/sdp_main.s | 812 | ||||
-rw-r--r-- | asm/SDK/BTE/sdp_server.s | 924 | ||||
-rw-r--r-- | asm/SDK/BTE/sdp_utils.s | 1183 | ||||
-rw-r--r-- | asm/SDK/BTE/wbt_ext.s | 8 | ||||
-rw-r--r-- | asm/SDK/WUD/WUD.s | 2 |
21 files changed, 8529 insertions, 131 deletions
diff --git a/asm/SDK/BTE/bta_dm_act.s b/asm/SDK/BTE/bta_dm_act.s index 6eb9280..f5bda74 100644 --- a/asm/SDK/BTE/bta_dm_act.s +++ b/asm/SDK/BTE/bta_dm_act.s @@ -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)
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/btu_init.s b/asm/SDK/BTE/btu_init.s index 9e1ac3f..d25e10f 100644 --- a/asm/SDK/BTE/btu_init.s +++ b/asm/SDK/BTE/btu_init.s @@ -9,7 +9,7 @@ btu_init_core: /* 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 l2c_init
-/* 802CEAEC 002CA74C 48 01 60 A9 */ bl func_802E4B94
+/* 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 66b87d8..1c42365 100644 --- a/asm/SDK/BTE/btu_task1.s +++ b/asm/SDK/BTE/btu_task1.s @@ -204,7 +204,7 @@ lbl_802BD3AC: /* 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,7 +214,7 @@ 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
diff --git a/asm/SDK/BTE/hidh_api.s b/asm/SDK/BTE/hidh_api.s index f59bf73..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)
diff --git a/asm/SDK/BTE/port_rfc.s b/asm/SDK/BTE/port_rfc.s index d230811..9295ebd 100644 --- a/asm/SDK/BTE/port_rfc.s +++ b/asm/SDK/BTE/port_rfc.s @@ -63,7 +63,7 @@ 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 func_802E17E4
+/* 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
@@ -94,7 +94,7 @@ lbl_802DBAD0: /* 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 func_802E1A10
+/* 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
@@ -187,9 +187,9 @@ lbl_802DBC04: /* 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 func_802E0120
+/* 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 func_802E1A10
+/* 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)
@@ -400,7 +400,7 @@ lbl_802DBEF8: /* 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 func_802E18E0
+/* 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
@@ -483,7 +483,7 @@ lbl_802DC020: /* 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 func_802E18E0
+/* 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
@@ -984,7 +984,7 @@ lbl_802DC71C: /* 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 func_802E17E4
+/* 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)
@@ -1368,7 +1368,7 @@ port_rfc_closed: /* 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 func_802E19B8
+/* 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)
@@ -1377,7 +1377,7 @@ lbl_802DCC7C: /* 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 func_802E1A10
+/* 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)
diff --git a/asm/SDK/BTE/port_utils.s b/asm/SDK/BTE/port_utils.s index 902762c..f108768 100644 --- a/asm/SDK/BTE/port_utils.s +++ b/asm/SDK/BTE/port_utils.s @@ -156,10 +156,10 @@ lbl_802DCFAC: /* 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 func_802E1A10
+/* 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 func_802E19B8
+/* 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
@@ -344,7 +344,7 @@ lbl_802DD204: /* 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 func_802E09B0
+/* 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)
diff --git a/asm/SDK/BTE/rfc_l2cap_if.s b/asm/SDK/BTE/rfc_l2cap_if.s index 1d97cf6..7b768b7 100644 --- a/asm/SDK/BTE/rfc_l2cap_if.s +++ b/asm/SDK/BTE/rfc_l2cap_if.s @@ -46,7 +46,7 @@ RFCOMM_ConnectInd: /* 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 func_802E168C
+/* 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
@@ -449,7 +449,7 @@ lbl_802DD9A4: /* 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 func_802E0A70
+/* 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
@@ -465,7 +465,7 @@ lbl_802DD9D4: /* 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 func_802E0FE4
+/* 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
@@ -509,7 +509,7 @@ lbl_802DDA78: /* 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 func_802E0120
+/* 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
@@ -524,7 +524,7 @@ lbl_802DDA9C: /* 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 func_802E0120
+/* 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
@@ -555,7 +555,7 @@ lbl_802DDB14: /* 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 func_802E1CBC
+/* 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
diff --git a/asm/SDK/BTE/rfc_mx_fsm.s b/asm/SDK/BTE/rfc_mx_fsm.s index 1659b8f..a6bf954 100644 --- a/asm/SDK/BTE/rfc_mx_fsm.s +++ b/asm/SDK/BTE/rfc_mx_fsm.s @@ -96,7 +96,7 @@ lbl_802DDD9C: 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 func_802E186C
+/* 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)
@@ -134,12 +134,12 @@ lbl_802DDE4C: /* 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 func_802E0120
+/* 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 func_802E0120
+/* 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
@@ -422,7 +422,7 @@ lbl_802DE244: /* 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 func_802E18E0
+/* 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)
@@ -432,7 +432,7 @@ lbl_802DE244: /* 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 func_802E18E0
+/* 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)
@@ -512,12 +512,12 @@ lbl_802DE3F4: /* 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 func_802E0120
+/* 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 func_802E0070
+/* 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)
@@ -576,12 +576,12 @@ lbl_802DE4C8: /* 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 func_802E186C
+/* 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 func_802E01E4
+/* 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
@@ -590,7 +590,7 @@ lbl_802DE4C8: /* 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 func_802E0070
+/* 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
@@ -678,18 +678,18 @@ lbl_802DE644: /* 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 func_802E17E4
+/* 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 func_802E0070
+/* 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 func_802E0120
+/* 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)
@@ -762,7 +762,7 @@ lbl_802DE76C: /* 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 func_802E17E4
+/* 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)
@@ -780,7 +780,7 @@ lbl_802DE7A0: /* 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 func_802DFFC0
+/* 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
@@ -848,7 +848,7 @@ lbl_802DE870: /* 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 func_802DFFC0
+/* 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
diff --git a/asm/SDK/BTE/rfc_port_fsm.s b/asm/SDK/BTE/rfc_port_fsm.s index 91431ff..d3a4597 100644 --- a/asm/SDK/BTE/rfc_port_fsm.s +++ b/asm/SDK/BTE/rfc_port_fsm.s @@ -67,12 +67,12 @@ rfc_port_sm_state_closed: /* 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, lbl_802E1B10@ha
+/* 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, lbl_802E1B10@l
+/* 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
@@ -85,12 +85,12 @@ rfc_port_sm_state_closed: /* 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, lbl_802E1B10@ha
+/* 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, lbl_802E1B10@l
+/* 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
@@ -98,19 +98,19 @@ rfc_port_sm_state_closed: /* 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 func_802E1B64
+/* 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 func_802E0120
+/* 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 func_802E0120
+/* 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
@@ -175,21 +175,21 @@ rfc_port_sm_sabme_wait_ua: /* 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 func_802E1938
+/* 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 func_802E01E4
+/* 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 func_802E1B64
+/* 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 func_802E19B8
+/* 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)
@@ -204,22 +204,22 @@ rfc_port_sm_sabme_wait_ua: /* 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 func_802E1B64
+/* 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 func_802E0070
+/* 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 func_802E1B64
+/* 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 func_802E0070
+/* 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
@@ -279,7 +279,7 @@ rfc_port_sm_term_wait_sec_check: /* 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 func_802E0120
+/* 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
@@ -305,7 +305,7 @@ lbl_802DED0C: /* 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 func_802E1B64
+/* 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
@@ -327,7 +327,7 @@ lbl_802DED84: /* 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 func_802E0070
+/* 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
@@ -343,12 +343,12 @@ lbl_802DED84: /* 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 func_802E0120
+/* 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 func_802E0070
+/* 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
@@ -398,15 +398,15 @@ rfc_port_sm_orig_wait_sec_check: /* 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 func_802E1B64
+/* 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 func_802DFFC0
+/* 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 func_802E1938
+/* 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
@@ -425,7 +425,7 @@ lbl_802DEEC0: /* 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 func_802E1B64
+/* 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
@@ -490,16 +490,16 @@ rfc_port_sm_opened: /* 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 func_802E1938
+/* 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 func_802E01E4
+/* 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 func_802E1B64
+/* 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)
@@ -528,26 +528,26 @@ lbl_802DF090: 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 func_802E0294
+/* 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 func_802E1D48
+/* 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 func_802E0070
+/* 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 func_802E1B64
+/* 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 func_802E0070
+/* 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
@@ -616,7 +616,7 @@ rfc_port_sm_disc_wait_ua: /* 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 func_802E1B64
+/* 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
@@ -625,26 +625,26 @@ rfc_port_sm_disc_wait_ua: /* 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 func_802E1B64
+/* 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 func_802E0120
+/* 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 func_802E0120
+/* 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 func_802E0120
+/* 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 func_802E1B64
+/* 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
@@ -690,7 +690,7 @@ rfc_process_pn: 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 func_802E0120
+/* 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)
@@ -714,7 +714,7 @@ lbl_802DF330: 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 func_802E19B8
+/* 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)
@@ -790,7 +790,7 @@ lbl_802DF408: /* 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 func_802E07EC
+/* 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)
@@ -834,7 +834,7 @@ lbl_802DF4F0: /* 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 func_802E19B8
+/* 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
@@ -878,10 +878,10 @@ lbl_802DF598: /* 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 func_802E07EC
+/* 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 func_802E1938
+/* 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
@@ -915,10 +915,10 @@ lbl_802DF610: /* 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 func_802E07EC
+/* 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 func_802E1938
+/* 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
@@ -1002,7 +1002,7 @@ lbl_802DF748: /* 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 func_802E061C
+/* 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
@@ -1030,7 +1030,7 @@ lbl_802DF7C4: /* 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 func_802E19B8
+/* 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)
@@ -1061,7 +1061,7 @@ rfc_process_rls: /* 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 func_802E073C
+/* 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)
@@ -1075,7 +1075,7 @@ lbl_802DF850: 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 func_802E19B8
+/* 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)
@@ -1107,7 +1107,7 @@ rfc_process_fcon: /* 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 func_802E0514
+/* 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
@@ -1144,7 +1144,7 @@ rfc_process_fcoff: 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 func_802E0598
+/* 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)
@@ -1165,7 +1165,7 @@ rfc_process_l2cap_congestion: /* 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 func_802E1D84
+/* 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
diff --git a/asm/SDK/BTE/rfc_port_if.s b/asm/SDK/BTE/rfc_port_if.s index 4c4696b..52dcc81 100644 --- a/asm/SDK/BTE/rfc_port_if.s +++ b/asm/SDK/BTE/rfc_port_if.s @@ -131,10 +131,10 @@ lbl_802DFC2C: /* 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 func_802E042C
+/* 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 func_802E1938
+/* 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)
@@ -155,7 +155,7 @@ RFCOMM_ParNegRsp: /* 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 func_802E042C
+/* 802DFC98 002DB8F8 48 00 07 94 */ b rfc_send_pn
/* 802DFC9C 002DB8FC 4E 80 00 20 */ blr
.global RFCOMM_PortNegReq
@@ -198,10 +198,10 @@ lbl_802DFD18: /* 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 func_802E07EC
+/* 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 func_802E1938
+/* 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)
@@ -220,7 +220,7 @@ RFCOMM_PortNegRsp: /* 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 func_802E07EC
+/* 802DFD74 002DB9D4 48 00 0A 78 */ b rfc_send_rpn
/* 802DFD78 002DB9D8 4E 80 00 20 */ blr
.global RFCOMM_ControlReq
@@ -255,10 +255,10 @@ lbl_802DFDC8: /* 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 func_802E061C
+/* 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 func_802E1938
+/* 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)
@@ -301,10 +301,10 @@ lbl_802DFE6C: /* 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 func_802E061C
+/* 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 func_802E1938
+/* 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)
@@ -344,10 +344,10 @@ lbl_802DFF10: /* 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 func_802E073C
+/* 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 func_802E1938
+/* 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)
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/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 8306d45..20273c7 100644 --- a/asm/SDK/WUD/WUD.s +++ b/asm/SDK/WUD/WUD.s @@ -1900,7 +1900,7 @@ lbl_802B66F0: /* 802B670C 002B236C 88 6D AE AC */ lbz r3, lbl_8064016C-_SDA_BASE_(r13)
/* 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
|