diff options
Diffstat (limited to 'asm/SDK/DWC/dwc_match')
-rw-r--r-- | asm/SDK/DWC/dwc_match/dwc_main.s | 12 | ||||
-rw-r--r-- | asm/SDK/DWC/dwc_match/dwc_match.s | 3 | ||||
-rw-r--r-- | asm/SDK/DWC/dwc_match/dwc_transport.s | 1012 |
3 files changed, 1020 insertions, 7 deletions
diff --git a/asm/SDK/DWC/dwc_match/dwc_main.s b/asm/SDK/DWC/dwc_match/dwc_main.s index 3ac37c2..e30eb1e 100644 --- a/asm/SDK/DWC/dwc_match/dwc_main.s +++ b/asm/SDK/DWC/dwc_match/dwc_main.s @@ -144,7 +144,7 @@ lbl_80321CD4: /* 80321E18 0031DA78 48 00 2B F5 */ bl DWCi_MatchInit
/* 80321E1C 0031DA7C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13)
/* 80321E20 0031DA80 38 63 07 F8 */ addi r3, r3, 0x7f8
-/* 80321E24 0031DA84 48 00 F1 D1 */ bl func_80330FF4
+/* 80321E24 0031DA84 48 00 F1 D1 */ bl DWCi_InitTransport
/* 80321E28 0031DA88 7F 63 DB 78 */ mr r3, r27
/* 80321E2C 0031DA8C 4B EA 4D 39 */ bl strlen
/* 80321E30 0031DA90 28 03 01 00 */ cmplwi r3, 0x100
@@ -246,7 +246,7 @@ lbl_80321F90: /* 80321F90 0031DBF0 4B FF F2 C5 */ bl DWCi_ShutdownLogin
/* 80321F94 0031DBF4 4B FF DD D5 */ bl DWCi_ShutdownFriend
/* 80321F98 0031DBF8 48 00 5E F5 */ bl DWCi_ShutdownMatch
-/* 80321F9C 0031DBFC 48 00 F4 B5 */ bl func_80331450
+/* 80321F9C 0031DBFC 48 00 F4 B5 */ bl DWCi_ShutdownTransport
/* 80321FA0 0031DC00 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13)
/* 80321FA4 0031DC04 80 63 00 00 */ lwz r3, 0(r3)
/* 80321FA8 0031DC08 2C 03 00 00 */ cmpwi r3, 0
@@ -404,7 +404,7 @@ lbl_803221C4: /* 803221CC 0031DE2C 4B FF D3 B1 */ bl DWCi_FriendProcess
/* 803221D0 0031DE30 48 00 00 48 */ b lbl_80322218
lbl_803221D4:
-/* 803221D4 0031DE34 48 00 EF ED */ bl func_803311C0
+/* 803221D4 0031DE34 48 00 EF ED */ bl DWCi_TransportProcess
/* 803221D8 0031DE38 4B FF D3 A5 */ bl DWCi_FriendProcess
/* 803221DC 0031DE3C 80 6D B0 58 */ lwz r3, lbl_80640318-_SDA_BASE_(r13)
/* 803221E0 0031DE40 88 03 03 75 */ lbz r0, 0x375(r3)
@@ -2505,7 +2505,7 @@ lbl_80323E08: /* 80323E1C 0031FA7C 4E 80 00 20 */ blr
DWCi_GT2ReceivedCallback:
-/* 80323E20 0031FA80 48 00 D2 0C */ b func_8033102C
+/* 80323E20 0031FA80 48 00 D2 0C */ b DWCi_RecvCallback
DWCi_GT2ClosedCallback:
/* 80323E24 0031FA84 94 21 FF C0 */ stwu r1, -0x40(r1)
@@ -2569,7 +2569,7 @@ lbl_80323EAC: /* 80323EF8 0031FB58 7C 04 00 D0 */ neg r0, r4
/* 80323EFC 0031FB5C 7C 00 23 78 */ or r0, r0, r4
/* 80323F00 0031FB60 54 1A 0F FE */ srwi r26, r0, 0x1f
-/* 80323F04 0031FB64 48 00 D4 D1 */ bl func_803313D4
+/* 80323F04 0031FB64 48 00 D4 D1 */ bl DWCi_ClearTransConnection
/* 80323F08 0031FB68 7F A5 EB 78 */ mr r5, r29
/* 80323F0C 0031FB6C 7F 46 D3 78 */ mr r6, r26
/* 80323F10 0031FB70 38 9E 08 F0 */ addi r4, r30, 0x8f0
@@ -2831,7 +2831,7 @@ DWCi_GT2PingCallback: /* 803242A8 0031FF08 4B FF 88 8D */ bl DWC_Printf
/* 803242AC 0031FF0C 7F C3 F3 78 */ mr r3, r30
/* 803242B0 0031FF10 7F E4 FB 78 */ mr r4, r31
-/* 803242B4 0031FF14 48 00 CE B5 */ bl func_80331168
+/* 803242B4 0031FF14 48 00 CE B5 */ bl DWCi_PingCallback
/* 803242B8 0031FF18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803242BC 0031FF1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803242C0 0031FF20 83 C1 00 08 */ lwz r30, 8(r1)
diff --git a/asm/SDK/DWC/dwc_match/dwc_match.s b/asm/SDK/DWC/dwc_match/dwc_match.s index 4a41dd0..fed403d 100644 --- a/asm/SDK/DWC/dwc_match/dwc_match.s +++ b/asm/SDK/DWC/dwc_match/dwc_match.s @@ -86,6 +86,7 @@ lbl_80324430: /* 80324438 00320098 38 21 00 10 */ addi r1, r1, 0x10 /* 8032443C 0032009C 4E 80 00 20 */ blr +# note: might be DWC_AddMatchKeyString .global DWC_AddMatchKeyInt DWC_AddMatchKeyInt: /* 80324440 003200A0 94 21 FF E0 */ stwu r1, -0x20(r1) @@ -9944,7 +9945,7 @@ lbl_8032D124: /* 8032D128 00328D88 7F C4 F3 78 */ mr r4, r30 /* 8032D12C 00328D8C 38 A1 00 08 */ addi r5, r1, 8 /* 8032D130 00328D90 38 C0 00 04 */ li r6, 4 -/* 8032D134 00328D94 48 00 39 D9 */ bl func_80330B0C +/* 8032D134 00328D94 48 00 39 D9 */ bl DWCi_SendReliable /* 8032D138 00328D98 4B F4 56 81 */ bl OSGetTime /* 8032D13C 00328D9C 80 AD B0 68 */ lwz r5, lbl_80640328-_SDA_BASE_(r13) /* 8032D140 00328DA0 90 85 01 F4 */ stw r4, 0x1f4(r5) diff --git a/asm/SDK/DWC/dwc_match/dwc_transport.s b/asm/SDK/DWC/dwc_match/dwc_transport.s new file mode 100644 index 0000000..4135abf --- /dev/null +++ b/asm/SDK/DWC/dwc_match/dwc_transport.s @@ -0,0 +1,1012 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global DWCi_SendReliable
+DWCi_SendReliable:
+/* 80330B0C 0032C76C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80330B10 0032C770 7C 08 02 A6 */ mflr r0
+/* 80330B14 0032C774 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80330B18 0032C778 39 61 00 30 */ addi r11, r1, 0x30
+/* 80330B1C 0032C77C 4B E9 66 01 */ bl _savegpr_24
+/* 80330B20 0032C780 1F 04 00 38 */ mulli r24, r4, 0x38
+/* 80330B24 0032C784 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80330B28 0032C788 3F 40 80 45 */ lis r26, lbl_804498B8@ha
+/* 80330B2C 0032C78C 7C 7B 1B 78 */ mr r27, r3
+/* 80330B30 0032C790 7C 9C 23 78 */ mr r28, r4
+/* 80330B34 0032C794 7C BD 2B 78 */ mr r29, r5
+/* 80330B38 0032C798 7C DE 33 78 */ mr r30, r6
+/* 80330B3C 0032C79C 3B 5A 98 B8 */ addi r26, r26, lbl_804498B8@l
+/* 80330B40 0032C7A0 7F E0 C2 14 */ add r31, r0, r24
+/* 80330B44 0032C7A4 4B FE BA 29 */ bl DWCi_IsError
+/* 80330B48 0032C7A8 2C 03 00 00 */ cmpwi r3, 0
+/* 80330B4C 0032C7AC 40 82 00 2C */ bne lbl_80330B78
+/* 80330B50 0032C7B0 28 1B 00 01 */ cmplwi r27, 1
+/* 80330B54 0032C7B4 40 82 00 14 */ bne lbl_80330B68
+/* 80330B58 0032C7B8 7F 83 E3 78 */ mr r3, r28
+/* 80330B5C 0032C7BC 4B FF 22 6D */ bl DWC_IsValidAID
+/* 80330B60 0032C7C0 2C 03 00 00 */ cmpwi r3, 0
+/* 80330B64 0032C7C4 41 82 00 14 */ beq lbl_80330B78
+lbl_80330B68:
+/* 80330B68 0032C7C8 7F 83 E3 78 */ mr r3, r28
+/* 80330B6C 0032C7CC 4B FF 26 A5 */ bl DWCi_IsValidAID
+/* 80330B70 0032C7D0 2C 03 00 00 */ cmpwi r3, 0
+/* 80330B74 0032C7D4 40 82 00 20 */ bne lbl_80330B94
+lbl_80330B78:
+/* 80330B78 0032C7D8 7F 85 E3 78 */ mr r5, r28
+/* 80330B7C 0032C7DC 38 9A 00 00 */ addi r4, r26, 0
+/* 80330B80 0032C7E0 38 60 00 08 */ li r3, 8
+/* 80330B84 0032C7E4 4C C6 31 82 */ crclr 6
+/* 80330B88 0032C7E8 4B FE BF AD */ bl DWC_Printf
+/* 80330B8C 0032C7EC 38 00 00 00 */ li r0, 0
+/* 80330B90 0032C7F0 48 00 00 DC */ b lbl_80330C6C
+lbl_80330B94:
+/* 80330B94 0032C7F4 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80330B98 0032C7F8 7C 60 C2 14 */ add r3, r0, r24
+/* 80330B9C 0032C7FC 88 03 00 1C */ lbz r0, 0x1c(r3)
+/* 80330BA0 0032C800 2C 00 00 01 */ cmpwi r0, 1
+/* 80330BA4 0032C804 40 82 00 2C */ bne lbl_80330BD0
+/* 80330BA8 0032C808 4B FF 20 51 */ bl DWC_GetMyAID
+/* 80330BAC 0032C80C 3C E0 00 01 */ lis r7, 0x00008000@ha
+/* 80330BB0 0032C810 54 66 06 3E */ clrlwi r6, r3, 0x18
+/* 80330BB4 0032C814 7F 85 E3 78 */ mr r5, r28
+/* 80330BB8 0032C818 38 9A 00 18 */ addi r4, r26, 0x18
+/* 80330BBC 0032C81C 38 67 80 00 */ addi r3, r7, 0x00008000@l
+/* 80330BC0 0032C820 4C C6 31 82 */ crclr 6
+/* 80330BC4 0032C824 4B FE BF 71 */ bl DWC_Printf
+/* 80330BC8 0032C828 38 00 00 00 */ li r0, 0
+/* 80330BCC 0032C82C 48 00 00 A0 */ b lbl_80330C6C
+lbl_80330BD0:
+/* 80330BD0 0032C830 7F 83 E3 78 */ mr r3, r28
+/* 80330BD4 0032C834 4B FF 23 B5 */ bl DWCi_GetGT2Connection
+/* 80330BD8 0032C838 48 01 92 01 */ bl gt2GetOutgoingBufferFreeSpace
+/* 80330BDC 0032C83C 38 63 FD F9 */ addi r3, r3, -519
+/* 80330BE0 0032C840 2C 1B 00 05 */ cmpwi r27, 5
+/* 80330BE4 0032C844 7C 03 00 D0 */ neg r0, r3
+/* 80330BE8 0032C848 7C 00 18 78 */ andc r0, r0, r3
+/* 80330BEC 0032C84C 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 80330BF0 0032C850 7C 78 00 38 */ and r24, r3, r0
+/* 80330BF4 0032C854 40 80 00 18 */ bge lbl_80330C0C
+/* 80330BF8 0032C858 2C 1B 00 02 */ cmpwi r27, 2
+/* 80330BFC 0032C85C 40 80 00 08 */ bge lbl_80330C04
+/* 80330C00 0032C860 48 00 00 0C */ b lbl_80330C0C
+lbl_80330C04:
+/* 80330C04 0032C864 38 00 00 0C */ li r0, 0xc
+/* 80330C08 0032C868 48 00 00 08 */ b lbl_80330C10
+lbl_80330C0C:
+/* 80330C0C 0032C86C 38 00 00 08 */ li r0, 8
+lbl_80330C10:
+/* 80330C10 0032C870 7C 18 00 00 */ cmpw r24, r0
+/* 80330C14 0032C874 40 80 00 54 */ bge lbl_80330C68
+/* 80330C18 0032C878 2C 1B 00 05 */ cmpwi r27, 5
+/* 80330C1C 0032C87C 40 80 00 18 */ bge lbl_80330C34
+/* 80330C20 0032C880 2C 1B 00 02 */ cmpwi r27, 2
+/* 80330C24 0032C884 40 80 00 08 */ bge lbl_80330C2C
+/* 80330C28 0032C888 48 00 00 0C */ b lbl_80330C34
+lbl_80330C2C:
+/* 80330C2C 0032C88C 3B 20 00 0C */ li r25, 0xc
+/* 80330C30 0032C890 48 00 00 08 */ b lbl_80330C38
+lbl_80330C34:
+/* 80330C34 0032C894 3B 20 00 08 */ li r25, 8
+lbl_80330C38:
+/* 80330C38 0032C898 4B FF 1F C1 */ bl DWC_GetMyAID
+/* 80330C3C 0032C89C 3C 80 00 01 */ lis r4, 0x00008000@ha
+/* 80330C40 0032C8A0 54 66 06 3E */ clrlwi r6, r3, 0x18
+/* 80330C44 0032C8A4 38 64 80 00 */ addi r3, r4, 0x00008000@l
+/* 80330C48 0032C8A8 7F 85 E3 78 */ mr r5, r28
+/* 80330C4C 0032C8AC 7F 07 C3 78 */ mr r7, r24
+/* 80330C50 0032C8B0 7F 28 CB 78 */ mr r8, r25
+/* 80330C54 0032C8B4 38 9A 00 40 */ addi r4, r26, 0x40
+/* 80330C58 0032C8B8 4C C6 31 82 */ crclr 6
+/* 80330C5C 0032C8BC 4B FE BE D9 */ bl DWC_Printf
+/* 80330C60 0032C8C0 38 00 00 00 */ li r0, 0
+/* 80330C64 0032C8C4 48 00 00 08 */ b lbl_80330C6C
+lbl_80330C68:
+/* 80330C68 0032C8C8 38 00 00 01 */ li r0, 1
+lbl_80330C6C:
+/* 80330C6C 0032C8CC 2C 00 00 00 */ cmpwi r0, 0
+/* 80330C70 0032C8D0 40 82 00 0C */ bne lbl_80330C7C
+/* 80330C74 0032C8D4 38 60 00 00 */ li r3, 0
+/* 80330C78 0032C8D8 48 00 00 F8 */ b lbl_80330D70
+lbl_80330C7C:
+/* 80330C7C 0032C8DC 38 60 00 01 */ li r3, 1
+/* 80330C80 0032C8E0 38 00 00 00 */ li r0, 0
+/* 80330C84 0032C8E4 98 7F 00 1C */ stb r3, 0x1c(r31)
+/* 80330C88 0032C8E8 38 61 00 0E */ addi r3, r1, 0xe
+/* 80330C8C 0032C8EC 38 8D 8E 18 */ addi r4, r13, lbl_8063E0D8-_SDA_BASE_
+/* 80330C90 0032C8F0 38 A0 00 02 */ li r5, 2
+/* 80330C94 0032C8F4 93 BF 00 00 */ stw r29, 0(r31)
+/* 80330C98 0032C8F8 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80330C9C 0032C8FC 93 DF 00 14 */ stw r30, 0x14(r31)
+/* 80330CA0 0032C900 4B E9 D6 F1 */ bl strncpy
+/* 80330CA4 0032C904 57 C4 C2 1E */ rlwinm r4, r30, 0x18, 8, 0xf
+/* 80330CA8 0032C908 57 C0 40 0E */ rlwinm r0, r30, 8, 0, 7
+/* 80330CAC 0032C90C 53 C4 C6 3E */ rlwimi r4, r30, 0x18, 0x18, 0x1f
+/* 80330CB0 0032C910 57 65 42 2E */ rlwinm r5, r27, 8, 8, 0x17
+/* 80330CB4 0032C914 53 C0 44 2E */ rlwimi r0, r30, 8, 0x10, 0x17
+/* 80330CB8 0032C918 7F 83 E3 78 */ mr r3, r28
+/* 80330CBC 0032C91C 7C 80 03 78 */ or r0, r4, r0
+/* 80330CC0 0032C920 53 65 C6 3E */ rlwimi r5, r27, 0x18, 0x18, 0x1f
+/* 80330CC4 0032C924 54 00 80 3E */ rotlwi r0, r0, 0x10
+/* 80330CC8 0032C928 B0 A1 00 0C */ sth r5, 0xc(r1)
+/* 80330CCC 0032C92C 90 01 00 08 */ stw r0, 8(r1)
+/* 80330CD0 0032C930 4B FF 22 B9 */ bl DWCi_GetGT2Connection
+/* 80330CD4 0032C934 38 81 00 08 */ addi r4, r1, 8
+/* 80330CD8 0032C938 38 A0 00 08 */ li r5, 8
+/* 80330CDC 0032C93C 38 C0 00 01 */ li r6, 1
+/* 80330CE0 0032C940 48 01 8F 5D */ bl gt2Send
+/* 80330CE4 0032C944 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80330CE8 0032C948 A0 03 07 10 */ lhz r0, 0x710(r3)
+/* 80330CEC 0032C94C 7C 1E 00 00 */ cmpw r30, r0
+/* 80330CF0 0032C950 40 81 00 08 */ ble lbl_80330CF8
+/* 80330CF4 0032C954 7C 1E 03 78 */ mr r30, r0
+lbl_80330CF8:
+/* 80330CF8 0032C958 7F 83 E3 78 */ mr r3, r28
+/* 80330CFC 0032C95C 4B FF 22 8D */ bl DWCi_GetGT2Connection
+/* 80330D00 0032C960 48 01 90 D9 */ bl gt2GetOutgoingBufferFreeSpace
+/* 80330D04 0032C964 7F 83 E3 78 */ mr r3, r28
+/* 80330D08 0032C968 4B FF 22 81 */ bl DWCi_GetGT2Connection
+/* 80330D0C 0032C96C 7F A4 EB 78 */ mr r4, r29
+/* 80330D10 0032C970 7F C5 F3 78 */ mr r5, r30
+/* 80330D14 0032C974 38 C0 00 01 */ li r6, 1
+/* 80330D18 0032C978 48 01 8F 25 */ bl gt2Send
+/* 80330D1C 0032C97C 80 1F 00 0C */ lwz r0, 0xc(r31)
+/* 80330D20 0032C980 7C 00 F2 14 */ add r0, r0, r30
+/* 80330D24 0032C984 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80330D28 0032C988 80 7F 00 14 */ lwz r3, 0x14(r31)
+/* 80330D2C 0032C98C 7C 00 18 00 */ cmpw r0, r3
+/* 80330D30 0032C990 40 82 00 3C */ bne lbl_80330D6C
+/* 80330D34 0032C994 38 00 00 00 */ li r0, 0
+/* 80330D38 0032C998 98 1F 00 1C */ stb r0, 0x1c(r31)
+/* 80330D3C 0032C99C 90 1F 00 00 */ stw r0, 0(r31)
+/* 80330D40 0032C9A0 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80330D44 0032C9A4 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 80330D48 0032C9A8 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80330D4C 0032C9AC 81 84 07 00 */ lwz r12, 0x700(r4)
+/* 80330D50 0032C9B0 2C 0C 00 00 */ cmpwi r12, 0
+/* 80330D54 0032C9B4 41 82 00 18 */ beq lbl_80330D6C
+/* 80330D58 0032C9B8 28 1B 00 01 */ cmplwi r27, 1
+/* 80330D5C 0032C9BC 40 82 00 10 */ bne lbl_80330D6C
+/* 80330D60 0032C9C0 7F 84 E3 78 */ mr r4, r28
+/* 80330D64 0032C9C4 7D 89 03 A6 */ mtctr r12
+/* 80330D68 0032C9C8 4E 80 04 21 */ bctrl
+lbl_80330D6C:
+/* 80330D6C 0032C9CC 38 60 00 01 */ li r3, 1
+lbl_80330D70:
+/* 80330D70 0032C9D0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80330D74 0032C9D4 4B E9 63 F5 */ bl _restgpr_24
+/* 80330D78 0032C9D8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 80330D7C 0032C9DC 7C 08 03 A6 */ mtlr r0
+/* 80330D80 0032C9E0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80330D84 0032C9E4 4E 80 00 20 */ blr
+
+.global DWC_SendUnreliable
+DWC_SendUnreliable:
+/* 80330D88 0032C9E8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80330D8C 0032C9EC 7C 08 02 A6 */ mflr r0
+/* 80330D90 0032C9F0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80330D94 0032C9F4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80330D98 0032C9F8 7C BF 2B 78 */ mr r31, r5
+/* 80330D9C 0032C9FC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80330DA0 0032CA00 7C 9E 23 78 */ mr r30, r4
+/* 80330DA4 0032CA04 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80330DA8 0032CA08 7C 7D 1B 78 */ mr r29, r3
+/* 80330DAC 0032CA0C 4B FE B7 C1 */ bl DWCi_IsError
+/* 80330DB0 0032CA10 2C 03 00 00 */ cmpwi r3, 0
+/* 80330DB4 0032CA14 41 82 00 0C */ beq lbl_80330DC0
+/* 80330DB8 0032CA18 38 60 00 00 */ li r3, 0
+/* 80330DBC 0032CA1C 48 00 00 A4 */ b lbl_80330E60
+lbl_80330DC0:
+/* 80330DC0 0032CA20 7F A3 EB 78 */ mr r3, r29
+/* 80330DC4 0032CA24 4B FF 20 05 */ bl DWC_IsValidAID
+/* 80330DC8 0032CA28 2C 03 00 00 */ cmpwi r3, 0
+/* 80330DCC 0032CA2C 40 82 00 24 */ bne lbl_80330DF0
+/* 80330DD0 0032CA30 3C 80 80 45 */ lis r4, lbl_80449940@ha
+/* 80330DD4 0032CA34 7F A5 EB 78 */ mr r5, r29
+/* 80330DD8 0032CA38 38 84 99 40 */ addi r4, r4, lbl_80449940@l
+/* 80330DDC 0032CA3C 38 60 00 08 */ li r3, 8
+/* 80330DE0 0032CA40 4C C6 31 82 */ crclr 6
+/* 80330DE4 0032CA44 4B FE BD 51 */ bl DWC_Printf
+/* 80330DE8 0032CA48 38 60 00 00 */ li r3, 0
+/* 80330DEC 0032CA4C 48 00 00 74 */ b lbl_80330E60
+lbl_80330DF0:
+/* 80330DF0 0032CA50 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80330DF4 0032CA54 A0 C3 07 10 */ lhz r6, 0x710(r3)
+/* 80330DF8 0032CA58 7C 1F 30 00 */ cmpw r31, r6
+/* 80330DFC 0032CA5C 40 81 00 28 */ ble lbl_80330E24
+/* 80330E00 0032CA60 3C 60 00 01 */ lis r3, 0x00008000@ha
+/* 80330E04 0032CA64 3C 80 80 45 */ lis r4, lbl_8044995C@ha
+/* 80330E08 0032CA68 7F E5 FB 78 */ mr r5, r31
+/* 80330E0C 0032CA6C 38 63 80 00 */ addi r3, r3, 0x00008000@l
+/* 80330E10 0032CA70 38 84 99 5C */ addi r4, r4, lbl_8044995C@l
+/* 80330E14 0032CA74 4C C6 31 82 */ crclr 6
+/* 80330E18 0032CA78 4B FE BD 1D */ bl DWC_Printf
+/* 80330E1C 0032CA7C 38 60 00 00 */ li r3, 0
+/* 80330E20 0032CA80 48 00 00 40 */ b lbl_80330E60
+lbl_80330E24:
+/* 80330E24 0032CA84 7F A3 EB 78 */ mr r3, r29
+/* 80330E28 0032CA88 4B FF 21 61 */ bl DWCi_GetGT2Connection
+/* 80330E2C 0032CA8C 7F C4 F3 78 */ mr r4, r30
+/* 80330E30 0032CA90 7F E5 FB 78 */ mr r5, r31
+/* 80330E34 0032CA94 38 C0 00 00 */ li r6, 0
+/* 80330E38 0032CA98 48 01 8E 05 */ bl gt2Send
+/* 80330E3C 0032CA9C 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80330E40 0032CAA0 81 83 07 00 */ lwz r12, 0x700(r3)
+/* 80330E44 0032CAA4 2C 0C 00 00 */ cmpwi r12, 0
+/* 80330E48 0032CAA8 41 82 00 14 */ beq lbl_80330E5C
+/* 80330E4C 0032CAAC 7F E3 FB 78 */ mr r3, r31
+/* 80330E50 0032CAB0 7F A4 EB 78 */ mr r4, r29
+/* 80330E54 0032CAB4 7D 89 03 A6 */ mtctr r12
+/* 80330E58 0032CAB8 4E 80 04 21 */ bctrl
+lbl_80330E5C:
+/* 80330E5C 0032CABC 38 60 00 01 */ li r3, 1
+lbl_80330E60:
+/* 80330E60 0032CAC0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80330E64 0032CAC4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80330E68 0032CAC8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80330E6C 0032CACC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80330E70 0032CAD0 7C 08 03 A6 */ mtlr r0
+/* 80330E74 0032CAD4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80330E78 0032CAD8 4E 80 00 20 */ blr
+
+.global DWC_SetRecvBuffer
+DWC_SetRecvBuffer:
+/* 80330E7C 0032CADC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80330E80 0032CAE0 7C 08 02 A6 */ mflr r0
+/* 80330E84 0032CAE4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80330E88 0032CAE8 1C 03 00 38 */ mulli r0, r3, 0x38
+/* 80330E8C 0032CAEC 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80330E90 0032CAF0 7C C3 02 14 */ add r6, r3, r0
+/* 80330E94 0032CAF4 88 06 00 1D */ lbz r0, 0x1d(r6)
+/* 80330E98 0032CAF8 2C 00 00 02 */ cmpwi r0, 2
+/* 80330E9C 0032CAFC 40 82 00 20 */ bne lbl_80330EBC
+/* 80330EA0 0032CB00 3C 80 80 45 */ lis r4, lbl_80449990@ha
+/* 80330EA4 0032CB04 3C 60 00 01 */ lis r3, 1
+/* 80330EA8 0032CB08 38 84 99 90 */ addi r4, r4, lbl_80449990@l
+/* 80330EAC 0032CB0C 4C C6 31 82 */ crclr 6
+/* 80330EB0 0032CB10 4B FE BC 85 */ bl DWC_Printf
+/* 80330EB4 0032CB14 38 60 00 00 */ li r3, 0
+/* 80330EB8 0032CB18 48 00 00 24 */ b lbl_80330EDC
+lbl_80330EBC:
+/* 80330EBC 0032CB1C 90 86 00 04 */ stw r4, 4(r6)
+/* 80330EC0 0032CB20 38 80 00 01 */ li r4, 1
+/* 80330EC4 0032CB24 38 00 00 00 */ li r0, 0
+/* 80330EC8 0032CB28 38 60 00 01 */ li r3, 1
+/* 80330ECC 0032CB2C 90 A6 00 08 */ stw r5, 8(r6)
+/* 80330ED0 0032CB30 98 86 00 1D */ stb r4, 0x1d(r6)
+/* 80330ED4 0032CB34 90 06 00 10 */ stw r0, 0x10(r6)
+/* 80330ED8 0032CB38 90 06 00 18 */ stw r0, 0x18(r6)
+lbl_80330EDC:
+/* 80330EDC 0032CB3C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80330EE0 0032CB40 7C 08 03 A6 */ mtlr r0
+/* 80330EE4 0032CB44 38 21 00 10 */ addi r1, r1, 0x10
+/* 80330EE8 0032CB48 4E 80 00 20 */ blr
+
+.global DWC_Ping
+DWC_Ping:
+/* 80330EEC 0032CB4C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80330EF0 0032CB50 7C 08 02 A6 */ mflr r0
+/* 80330EF4 0032CB54 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80330EF8 0032CB58 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80330EFC 0032CB5C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80330F00 0032CB60 7C 7E 1B 78 */ mr r30, r3
+/* 80330F04 0032CB64 4B FE B6 69 */ bl DWCi_IsError
+/* 80330F08 0032CB68 2C 03 00 00 */ cmpwi r3, 0
+/* 80330F0C 0032CB6C 41 82 00 0C */ beq lbl_80330F18
+/* 80330F10 0032CB70 38 60 00 00 */ li r3, 0
+/* 80330F14 0032CB74 48 00 00 68 */ b lbl_80330F7C
+lbl_80330F18:
+/* 80330F18 0032CB78 7F C3 F3 78 */ mr r3, r30
+/* 80330F1C 0032CB7C 4B FF 20 6D */ bl DWCi_GetGT2Connection
+/* 80330F20 0032CB80 7C 7F 1B 78 */ mr r31, r3
+/* 80330F24 0032CB84 4B FF 1C D5 */ bl DWC_GetMyAID
+/* 80330F28 0032CB88 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 80330F2C 0032CB8C 7C 1E 00 40 */ cmplw r30, r0
+/* 80330F30 0032CB90 41 82 00 1C */ beq lbl_80330F4C
+/* 80330F34 0032CB94 2C 1F 00 00 */ cmpwi r31, 0
+/* 80330F38 0032CB98 41 82 00 14 */ beq lbl_80330F4C
+/* 80330F3C 0032CB9C 7F E3 FB 78 */ mr r3, r31
+/* 80330F40 0032CBA0 48 01 8E 45 */ bl func_80349D84
+/* 80330F44 0032CBA4 2C 03 00 01 */ cmpwi r3, 1
+/* 80330F48 0032CBA8 41 82 00 28 */ beq lbl_80330F70
+lbl_80330F4C:
+/* 80330F4C 0032CBAC 3C 60 00 01 */ lis r3, 0x00008000@ha
+/* 80330F50 0032CBB0 3C 80 80 45 */ lis r4, lbl_804499AC@ha
+/* 80330F54 0032CBB4 7F C5 F3 78 */ mr r5, r30
+/* 80330F58 0032CBB8 38 63 80 00 */ addi r3, r3, 0x00008000@l
+/* 80330F5C 0032CBBC 38 84 99 AC */ addi r4, r4, lbl_804499AC@l
+/* 80330F60 0032CBC0 4C C6 31 82 */ crclr 6
+/* 80330F64 0032CBC4 4B FE BB D1 */ bl DWC_Printf
+/* 80330F68 0032CBC8 38 60 00 00 */ li r3, 0
+/* 80330F6C 0032CBCC 48 00 00 10 */ b lbl_80330F7C
+lbl_80330F70:
+/* 80330F70 0032CBD0 7F E3 FB 78 */ mr r3, r31
+/* 80330F74 0032CBD4 48 01 8D C5 */ bl func_80349D38
+/* 80330F78 0032CBD8 38 60 00 01 */ li r3, 1
+lbl_80330F7C:
+/* 80330F7C 0032CBDC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80330F80 0032CBE0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80330F84 0032CBE4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80330F88 0032CBE8 7C 08 03 A6 */ mtlr r0
+/* 80330F8C 0032CBEC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80330F90 0032CBF0 4E 80 00 20 */ blr
+
+.global DWC_SetUserSendCallback
+DWC_SetUserSendCallback:
+/* 80330F94 0032CBF4 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80330F98 0032CBF8 2C 04 00 00 */ cmpwi r4, 0
+/* 80330F9C 0032CBFC 40 82 00 0C */ bne lbl_80330FA8
+/* 80330FA0 0032CC00 38 60 00 00 */ li r3, 0
+/* 80330FA4 0032CC04 4E 80 00 20 */ blr
+lbl_80330FA8:
+/* 80330FA8 0032CC08 90 64 07 00 */ stw r3, 0x700(r4)
+/* 80330FAC 0032CC0C 38 60 00 01 */ li r3, 1
+/* 80330FB0 0032CC10 4E 80 00 20 */ blr
+
+.global DWC_SetUserRecvCallback
+DWC_SetUserRecvCallback:
+/* 80330FB4 0032CC14 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80330FB8 0032CC18 2C 04 00 00 */ cmpwi r4, 0
+/* 80330FBC 0032CC1C 40 82 00 0C */ bne lbl_80330FC8
+/* 80330FC0 0032CC20 38 60 00 00 */ li r3, 0
+/* 80330FC4 0032CC24 4E 80 00 20 */ blr
+lbl_80330FC8:
+/* 80330FC8 0032CC28 90 64 07 04 */ stw r3, 0x704(r4)
+/* 80330FCC 0032CC2C 38 60 00 01 */ li r3, 1
+/* 80330FD0 0032CC30 4E 80 00 20 */ blr
+
+.global DWC_SetUserPingCallback
+DWC_SetUserPingCallback:
+/* 80330FD4 0032CC34 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80330FD8 0032CC38 2C 04 00 00 */ cmpwi r4, 0
+/* 80330FDC 0032CC3C 40 82 00 0C */ bne lbl_80330FE8
+/* 80330FE0 0032CC40 38 60 00 00 */ li r3, 0
+/* 80330FE4 0032CC44 4E 80 00 20 */ blr
+lbl_80330FE8:
+/* 80330FE8 0032CC48 90 64 07 0C */ stw r3, 0x70c(r4)
+/* 80330FEC 0032CC4C 38 60 00 01 */ li r3, 1
+/* 80330FF0 0032CC50 4E 80 00 20 */ blr
+
+.global DWCi_InitTransport
+DWCi_InitTransport:
+/* 80330FF4 0032CC54 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80330FF8 0032CC58 7C 08 02 A6 */ mflr r0
+/* 80330FFC 0032CC5C 38 80 00 00 */ li r4, 0
+/* 80331000 0032CC60 38 A0 07 18 */ li r5, 0x718
+/* 80331004 0032CC64 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80331008 0032CC68 90 6D B0 70 */ stw r3, lbl_80640330-_SDA_BASE_(r13)
+/* 8033100C 0032CC6C 4B CD 30 F9 */ bl memset
+/* 80331010 0032CC70 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80331014 0032CC74 38 00 05 B9 */ li r0, 0x5b9
+/* 80331018 0032CC78 B0 03 07 10 */ sth r0, 0x710(r3)
+/* 8033101C 0032CC7C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80331020 0032CC80 7C 08 03 A6 */ mtlr r0
+/* 80331024 0032CC84 38 21 00 10 */ addi r1, r1, 0x10
+/* 80331028 0032CC88 4E 80 00 20 */ blr
+
+.global DWCi_RecvCallback
+DWCi_RecvCallback:
+/* 8033102C 0032CC8C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80331030 0032CC90 7C 08 02 A6 */ mflr r0
+/* 80331034 0032CC94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80331038 0032CC98 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8033103C 0032CC9C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80331040 0032CCA0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80331044 0032CCA4 7C BD 2B 78 */ mr r29, r5
+/* 80331048 0032CCA8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 8033104C 0032CCAC 7C 9C 23 78 */ mr r28, r4
+/* 80331050 0032CCB0 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331054 0032CCB4 2C 00 00 00 */ cmpwi r0, 0
+/* 80331058 0032CCB8 41 82 00 F0 */ beq lbl_80331148
+/* 8033105C 0032CCBC 2C 04 00 00 */ cmpwi r4, 0
+/* 80331060 0032CCC0 41 82 00 0C */ beq lbl_8033106C
+/* 80331064 0032CCC4 2C 05 00 00 */ cmpwi r5, 0
+/* 80331068 0032CCC8 40 82 00 24 */ bne lbl_8033108C
+lbl_8033106C:
+/* 8033106C 0032CCCC 3C 80 80 45 */ lis r4, lbl_804499CC@ha
+/* 80331070 0032CCD0 7F 85 E3 78 */ mr r5, r28
+/* 80331074 0032CCD4 7F A6 EB 78 */ mr r6, r29
+/* 80331078 0032CCD8 38 60 00 08 */ li r3, 8
+/* 8033107C 0032CCDC 38 84 99 CC */ addi r4, r4, lbl_804499CC@l
+/* 80331080 0032CCE0 4C C6 31 82 */ crclr 6
+/* 80331084 0032CCE4 4B FE BA B1 */ bl DWC_Printf
+/* 80331088 0032CCE8 48 00 00 C0 */ b lbl_80331148
+lbl_8033108C:
+/* 8033108C 0032CCEC 2C 06 00 00 */ cmpwi r6, 0
+/* 80331090 0032CCF0 41 82 00 0C */ beq lbl_8033109C
+/* 80331094 0032CCF4 48 00 03 C9 */ bl DWCs_HandleReliableMessage
+/* 80331098 0032CCF8 48 00 00 B0 */ b lbl_80331148
+lbl_8033109C:
+/* 8033109C 0032CCFC 4B FF 1F 89 */ bl DWCi_GetConnectionAID
+/* 803310A0 0032CD00 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 803310A4 0032CD04 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 803310A8 0032CD08 1C 00 00 38 */ mulli r0, r0, 0x38
+/* 803310AC 0032CD0C 7C 7F 1B 78 */ mr r31, r3
+/* 803310B0 0032CD10 7F C4 02 14 */ add r30, r4, r0
+/* 803310B4 0032CD14 80 7E 00 04 */ lwz r3, 4(r30)
+/* 803310B8 0032CD18 2C 03 00 00 */ cmpwi r3, 0
+/* 803310BC 0032CD1C 41 82 00 20 */ beq lbl_803310DC
+/* 803310C0 0032CD20 80 1E 00 08 */ lwz r0, 8(r30)
+/* 803310C4 0032CD24 7C 00 E8 00 */ cmpw r0, r29
+/* 803310C8 0032CD28 41 80 00 14 */ blt lbl_803310DC
+/* 803310CC 0032CD2C 7F 84 E3 78 */ mr r4, r28
+/* 803310D0 0032CD30 7F A5 EB 78 */ mr r5, r29
+/* 803310D4 0032CD34 4B CD 2F 2D */ bl memcpy
+/* 803310D8 0032CD38 48 00 00 24 */ b lbl_803310FC
+lbl_803310DC:
+/* 803310DC 0032CD3C 3C 80 80 45 */ lis r4, lbl_804499F0@ha
+/* 803310E0 0032CD40 80 DE 00 08 */ lwz r6, 8(r30)
+/* 803310E4 0032CD44 7F A5 EB 78 */ mr r5, r29
+/* 803310E8 0032CD48 3C 60 00 01 */ lis r3, 1
+/* 803310EC 0032CD4C 38 84 99 F0 */ addi r4, r4, lbl_804499F0@l
+/* 803310F0 0032CD50 4C C6 31 82 */ crclr 6
+/* 803310F4 0032CD54 4B FE BA 41 */ bl DWC_Printf
+/* 803310F8 0032CD58 48 00 00 50 */ b lbl_80331148
+lbl_803310FC:
+/* 803310FC 0032CD5C 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80331100 0032CD60 81 83 07 04 */ lwz r12, 0x704(r3)
+/* 80331104 0032CD64 2C 0C 00 00 */ cmpwi r12, 0
+/* 80331108 0032CD68 41 82 00 18 */ beq lbl_80331120
+/* 8033110C 0032CD6C 7F A5 EB 78 */ mr r5, r29
+/* 80331110 0032CD70 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 80331114 0032CD74 80 9E 00 04 */ lwz r4, 4(r30)
+/* 80331118 0032CD78 7D 89 03 A6 */ mtctr r12
+/* 8033111C 0032CD7C 4E 80 04 21 */ bctrl
+lbl_80331120:
+/* 80331120 0032CD80 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80331124 0032CD84 80 03 07 08 */ lwz r0, 0x708(r3)
+/* 80331128 0032CD88 2C 00 00 00 */ cmpwi r0, 0
+/* 8033112C 0032CD8C 41 82 00 1C */ beq lbl_80331148
+/* 80331130 0032CD90 80 1E 00 30 */ lwz r0, 0x30(r30)
+/* 80331134 0032CD94 2C 00 00 00 */ cmpwi r0, 0
+/* 80331138 0032CD98 41 82 00 10 */ beq lbl_80331148
+/* 8033113C 0032CD9C 4B F4 16 7D */ bl OSGetTime
+/* 80331140 0032CDA0 90 9E 00 2C */ stw r4, 0x2c(r30)
+/* 80331144 0032CDA4 90 7E 00 28 */ stw r3, 0x28(r30)
+lbl_80331148:
+/* 80331148 0032CDA8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8033114C 0032CDAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80331150 0032CDB0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80331154 0032CDB4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80331158 0032CDB8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 8033115C 0032CDBC 7C 08 03 A6 */ mtlr r0
+/* 80331160 0032CDC0 38 21 00 20 */ addi r1, r1, 0x20
+/* 80331164 0032CDC4 4E 80 00 20 */ blr
+
+.global DWCi_PingCallback
+DWCi_PingCallback:
+/* 80331168 0032CDC8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8033116C 0032CDCC 7C 08 02 A6 */ mflr r0
+/* 80331170 0032CDD0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80331174 0032CDD4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80331178 0032CDD8 7C 9F 23 78 */ mr r31, r4
+/* 8033117C 0032CDDC 80 AD B0 70 */ lwz r5, lbl_80640330-_SDA_BASE_(r13)
+/* 80331180 0032CDE0 80 05 07 0C */ lwz r0, 0x70c(r5)
+/* 80331184 0032CDE4 2C 00 00 00 */ cmpwi r0, 0
+/* 80331188 0032CDE8 41 82 00 24 */ beq lbl_803311AC
+/* 8033118C 0032CDEC 4B FF 1E 99 */ bl DWCi_GetConnectionAID
+/* 80331190 0032CDF0 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80331194 0032CDF4 7C 60 1B 78 */ mr r0, r3
+/* 80331198 0032CDF8 7F E3 FB 78 */ mr r3, r31
+/* 8033119C 0032CDFC 81 84 07 0C */ lwz r12, 0x70c(r4)
+/* 803311A0 0032CE00 54 04 06 3E */ clrlwi r4, r0, 0x18
+/* 803311A4 0032CE04 7D 89 03 A6 */ mtctr r12
+/* 803311A8 0032CE08 4E 80 04 21 */ bctrl
+lbl_803311AC:
+/* 803311AC 0032CE0C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803311B0 0032CE10 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803311B4 0032CE14 7C 08 03 A6 */ mtlr r0
+/* 803311B8 0032CE18 38 21 00 10 */ addi r1, r1, 0x10
+/* 803311BC 0032CE1C 4E 80 00 20 */ blr
+
+.global DWCi_TransportProcess
+DWCi_TransportProcess:
+/* 803311C0 0032CE20 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 803311C4 0032CE24 7C 08 02 A6 */ mflr r0
+/* 803311C8 0032CE28 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803311CC 0032CE2C 39 61 00 40 */ addi r11, r1, 0x40
+/* 803311D0 0032CE30 4B E9 5F 3D */ bl _savegpr_20
+/* 803311D4 0032CE34 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803311D8 0032CE38 2C 00 00 00 */ cmpwi r0, 0
+/* 803311DC 0032CE3C 41 82 01 E0 */ beq lbl_803313BC
+/* 803311E0 0032CE40 38 61 00 08 */ addi r3, r1, 8
+/* 803311E4 0032CE44 4B FF 1A 31 */ bl DWC_GetAIDList
+/* 803311E8 0032CE48 7C 79 1B 78 */ mr r25, r3
+/* 803311EC 0032CE4C 3A E0 00 00 */ li r23, 0
+/* 803311F0 0032CE50 3F 60 80 00 */ lis r27, 0x8000
+/* 803311F4 0032CE54 3F 80 10 62 */ lis r28, 0x1062
+/* 803311F8 0032CE58 3F A0 80 45 */ lis r29, 0x8045
+/* 803311FC 0032CE5C 3F C0 00 01 */ lis r30, 1
+/* 80331200 0032CE60 3F E0 80 45 */ lis r31, 0x8045
+/* 80331204 0032CE64 3A A0 00 00 */ li r21, 0
+/* 80331208 0032CE68 48 00 01 AC */ b lbl_803313B4
+lbl_8033120C:
+/* 8033120C 0032CE6C 80 61 00 08 */ lwz r3, 8(r1)
+/* 80331210 0032CE70 7E C3 B8 AE */ lbzx r22, r3, r23
+/* 80331214 0032CE74 7E C3 B3 78 */ mr r3, r22
+/* 80331218 0032CE78 4B FF 1B B1 */ bl DWC_IsValidAID
+/* 8033121C 0032CE7C 2C 03 00 00 */ cmpwi r3, 0
+/* 80331220 0032CE80 41 82 00 A0 */ beq lbl_803312C0
+/* 80331224 0032CE84 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80331228 0032CE88 1C 76 00 38 */ mulli r3, r22, 0x38
+/* 8033122C 0032CE8C 80 04 07 08 */ lwz r0, 0x708(r4)
+/* 80331230 0032CE90 7F 04 1A 14 */ add r24, r4, r3
+/* 80331234 0032CE94 2C 00 00 00 */ cmpwi r0, 0
+/* 80331238 0032CE98 41 82 00 88 */ beq lbl_803312C0
+/* 8033123C 0032CE9C 80 18 00 30 */ lwz r0, 0x30(r24)
+/* 80331240 0032CEA0 2C 00 00 00 */ cmpwi r0, 0
+/* 80331244 0032CEA4 41 82 00 7C */ beq lbl_803312C0
+/* 80331248 0032CEA8 4B F4 15 71 */ bl OSGetTime
+/* 8033124C 0032CEAC 80 1B 00 F8 */ lwz r0, 0xf8(r27)
+/* 80331250 0032CEB0 38 BC 4D D3 */ addi r5, r28, 0x4dd3
+/* 80331254 0032CEB4 80 F8 00 2C */ lwz r7, 0x2c(r24)
+/* 80331258 0032CEB8 7C 9A 23 78 */ mr r26, r4
+/* 8033125C 0032CEBC 54 00 F0 BE */ srwi r0, r0, 2
+/* 80331260 0032CEC0 80 D8 00 28 */ lwz r6, 0x28(r24)
+/* 80331264 0032CEC4 7C 05 00 16 */ mulhwu r0, r5, r0
+/* 80331268 0032CEC8 7C 87 20 10 */ subfc r4, r7, r4
+/* 8033126C 0032CECC 7C 74 1B 78 */ mr r20, r3
+/* 80331270 0032CED0 7C 66 19 10 */ subfe r3, r6, r3
+/* 80331274 0032CED4 38 A0 00 00 */ li r5, 0
+/* 80331278 0032CED8 54 06 D1 BE */ srwi r6, r0, 6
+/* 8033127C 0032CEDC 4B E9 5F FD */ bl __div2i
+/* 80331280 0032CEE0 80 F8 00 30 */ lwz r7, 0x30(r24)
+/* 80331284 0032CEE4 7C 04 38 40 */ cmplw r4, r7
+/* 80331288 0032CEE8 40 81 00 38 */ ble lbl_803312C0
+/* 8033128C 0032CEEC 7C 86 23 78 */ mr r6, r4
+/* 80331290 0032CEF0 7E C5 B3 78 */ mr r5, r22
+/* 80331294 0032CEF4 38 9D 9A 18 */ addi r4, r29, -26088
+/* 80331298 0032CEF8 3C 60 00 01 */ lis r3, 1
+/* 8033129C 0032CEFC 4C C6 31 82 */ crclr 6
+/* 803312A0 0032CF00 4B FE B8 95 */ bl DWC_Printf
+/* 803312A4 0032CF04 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 803312A8 0032CF08 7E C3 B3 78 */ mr r3, r22
+/* 803312AC 0032CF0C 81 84 07 08 */ lwz r12, 0x708(r4)
+/* 803312B0 0032CF10 7D 89 03 A6 */ mtctr r12
+/* 803312B4 0032CF14 4E 80 04 21 */ bctrl
+/* 803312B8 0032CF18 93 58 00 2C */ stw r26, 0x2c(r24)
+/* 803312BC 0032CF1C 92 98 00 28 */ stw r20, 0x28(r24)
+lbl_803312C0:
+/* 803312C0 0032CF20 4B FF 19 39 */ bl DWC_GetMyAID
+/* 803312C4 0032CF24 54 60 06 3E */ clrlwi r0, r3, 0x18
+/* 803312C8 0032CF28 7C 16 00 40 */ cmplw r22, r0
+/* 803312CC 0032CF2C 41 82 00 E4 */ beq lbl_803313B0
+/* 803312D0 0032CF30 1C 16 00 38 */ mulli r0, r22, 0x38
+/* 803312D4 0032CF34 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 803312D8 0032CF38 7F 04 02 14 */ add r24, r4, r0
+/* 803312DC 0032CF3C 88 18 00 1C */ lbz r0, 0x1c(r24)
+/* 803312E0 0032CF40 2C 00 00 01 */ cmpwi r0, 1
+/* 803312E4 0032CF44 40 82 00 CC */ bne lbl_803313B0
+/* 803312E8 0032CF48 80 78 00 0C */ lwz r3, 0xc(r24)
+/* 803312EC 0032CF4C 80 18 00 14 */ lwz r0, 0x14(r24)
+/* 803312F0 0032CF50 A0 84 07 10 */ lhz r4, 0x710(r4)
+/* 803312F4 0032CF54 7F 43 00 50 */ subf r26, r3, r0
+/* 803312F8 0032CF58 7C 1A 20 00 */ cmpw r26, r4
+/* 803312FC 0032CF5C 40 81 00 08 */ ble lbl_80331304
+/* 80331300 0032CF60 7C 9A 23 78 */ mr r26, r4
+lbl_80331304:
+/* 80331304 0032CF64 7E C3 B3 78 */ mr r3, r22
+/* 80331308 0032CF68 4B FF 1C 81 */ bl DWCi_GetGT2Connection
+/* 8033130C 0032CF6C 48 01 8A CD */ bl gt2GetOutgoingBufferFreeSpace
+/* 80331310 0032CF70 38 63 FD F9 */ addi r3, r3, -519
+/* 80331314 0032CF74 7C 03 00 D0 */ neg r0, r3
+/* 80331318 0032CF78 7C 00 18 78 */ andc r0, r0, r3
+/* 8033131C 0032CF7C 7C 00 FE 70 */ srawi r0, r0, 0x1f
+/* 80331320 0032CF80 7C 66 00 38 */ and r6, r3, r0
+/* 80331324 0032CF84 7C 06 D0 00 */ cmpw r6, r26
+/* 80331328 0032CF88 40 80 00 20 */ bge lbl_80331348
+/* 8033132C 0032CF8C 7E C5 B3 78 */ mr r5, r22
+/* 80331330 0032CF90 7F 47 D3 78 */ mr r7, r26
+/* 80331334 0032CF94 38 7E 80 00 */ addi r3, r30, -32768
+/* 80331338 0032CF98 38 9F 9A 60 */ addi r4, r31, -26016
+/* 8033133C 0032CF9C 4C C6 31 82 */ crclr 6
+/* 80331340 0032CFA0 4B FE B7 F5 */ bl DWC_Printf
+/* 80331344 0032CFA4 48 00 00 6C */ b lbl_803313B0
+lbl_80331348:
+/* 80331348 0032CFA8 80 98 00 00 */ lwz r4, 0(r24)
+/* 8033134C 0032CFAC 7E C3 B3 78 */ mr r3, r22
+/* 80331350 0032CFB0 80 18 00 0C */ lwz r0, 0xc(r24)
+/* 80331354 0032CFB4 7E 84 02 14 */ add r20, r4, r0
+/* 80331358 0032CFB8 4B FF 1C 31 */ bl DWCi_GetGT2Connection
+/* 8033135C 0032CFBC 7E 84 A3 78 */ mr r4, r20
+/* 80331360 0032CFC0 7F 45 D3 78 */ mr r5, r26
+/* 80331364 0032CFC4 38 C0 00 01 */ li r6, 1
+/* 80331368 0032CFC8 48 01 88 D5 */ bl gt2Send
+/* 8033136C 0032CFCC 80 18 00 0C */ lwz r0, 0xc(r24)
+/* 80331370 0032CFD0 7C 00 D2 14 */ add r0, r0, r26
+/* 80331374 0032CFD4 90 18 00 0C */ stw r0, 0xc(r24)
+/* 80331378 0032CFD8 80 78 00 14 */ lwz r3, 0x14(r24)
+/* 8033137C 0032CFDC 7C 00 18 00 */ cmpw r0, r3
+/* 80331380 0032CFE0 40 82 00 30 */ bne lbl_803313B0
+/* 80331384 0032CFE4 9A B8 00 1C */ stb r21, 0x1c(r24)
+/* 80331388 0032CFE8 92 B8 00 00 */ stw r21, 0(r24)
+/* 8033138C 0032CFEC 92 B8 00 0C */ stw r21, 0xc(r24)
+/* 80331390 0032CFF0 92 B8 00 14 */ stw r21, 0x14(r24)
+/* 80331394 0032CFF4 80 8D B0 70 */ lwz r4, lbl_80640330-_SDA_BASE_(r13)
+/* 80331398 0032CFF8 81 84 07 00 */ lwz r12, 0x700(r4)
+/* 8033139C 0032CFFC 2C 0C 00 00 */ cmpwi r12, 0
+/* 803313A0 0032D000 41 82 00 10 */ beq lbl_803313B0
+/* 803313A4 0032D004 7E C4 B3 78 */ mr r4, r22
+/* 803313A8 0032D008 7D 89 03 A6 */ mtctr r12
+/* 803313AC 0032D00C 4E 80 04 21 */ bctrl
+lbl_803313B0:
+/* 803313B0 0032D010 3A F7 00 01 */ addi r23, r23, 1
+lbl_803313B4:
+/* 803313B4 0032D014 7C 17 C8 00 */ cmpw r23, r25
+/* 803313B8 0032D018 41 80 FE 54 */ blt lbl_8033120C
+lbl_803313BC:
+/* 803313BC 0032D01C 39 61 00 40 */ addi r11, r1, 0x40
+/* 803313C0 0032D020 4B E9 5D 99 */ bl _restgpr_20
+/* 803313C4 0032D024 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 803313C8 0032D028 7C 08 03 A6 */ mtlr r0
+/* 803313CC 0032D02C 38 21 00 40 */ addi r1, r1, 0x40
+/* 803313D0 0032D030 4E 80 00 20 */ blr
+
+.global DWCi_ClearTransConnection
+DWCi_ClearTransConnection:
+/* 803313D4 0032D034 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803313D8 0032D038 2C 00 00 00 */ cmpwi r0, 0
+/* 803313DC 0032D03C 4D 82 00 20 */ beqlr
+/* 803313E0 0032D040 1C A3 00 38 */ mulli r5, r3, 0x38
+/* 803313E4 0032D044 38 80 00 00 */ li r4, 0
+/* 803313E8 0032D048 7C 60 2A 14 */ add r3, r0, r5
+/* 803313EC 0032D04C 90 83 00 0C */ stw r4, 0xc(r3)
+/* 803313F0 0032D050 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803313F4 0032D054 7C 60 2A 14 */ add r3, r0, r5
+/* 803313F8 0032D058 90 83 00 10 */ stw r4, 0x10(r3)
+/* 803313FC 0032D05C 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331400 0032D060 7C 60 2A 14 */ add r3, r0, r5
+/* 80331404 0032D064 90 83 00 14 */ stw r4, 0x14(r3)
+/* 80331408 0032D068 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 8033140C 0032D06C 7C 60 2A 14 */ add r3, r0, r5
+/* 80331410 0032D070 90 83 00 18 */ stw r4, 0x18(r3)
+/* 80331414 0032D074 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331418 0032D078 7C 60 2A 14 */ add r3, r0, r5
+/* 8033141C 0032D07C 98 83 00 1C */ stb r4, 0x1c(r3)
+/* 80331420 0032D080 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331424 0032D084 7C 60 2A 14 */ add r3, r0, r5
+/* 80331428 0032D088 88 03 00 1D */ lbz r0, 0x1d(r3)
+/* 8033142C 0032D08C 2C 00 00 00 */ cmpwi r0, 0
+/* 80331430 0032D090 41 82 00 0C */ beq lbl_8033143C
+/* 80331434 0032D094 38 00 00 01 */ li r0, 1
+/* 80331438 0032D098 98 03 00 1D */ stb r0, 0x1d(r3)
+lbl_8033143C:
+/* 8033143C 0032D09C 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331440 0032D0A0 38 80 00 00 */ li r4, 0
+/* 80331444 0032D0A4 7C 60 2A 14 */ add r3, r0, r5
+/* 80331448 0032D0A8 B0 83 00 22 */ sth r4, 0x22(r3)
+/* 8033144C 0032D0AC 4E 80 00 20 */ blr
+
+.global DWCi_ShutdownTransport
+DWCi_ShutdownTransport:
+/* 80331450 0032D0B0 38 00 00 00 */ li r0, 0
+/* 80331454 0032D0B4 90 0D B0 70 */ stw r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331458 0032D0B8 4E 80 00 20 */ blr
+
+.global DWCs_HandleReliableMessage
+DWCs_HandleReliableMessage:
+/* 8033145C 0032D0BC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 80331460 0032D0C0 7C 08 02 A6 */ mflr r0
+/* 80331464 0032D0C4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80331468 0032D0C8 39 61 00 30 */ addi r11, r1, 0x30
+/* 8033146C 0032D0CC 4B E9 5C BD */ bl _savegpr_27
+/* 80331470 0032D0D0 3F C0 80 45 */ lis r30, lbl_804498B8@ha
+/* 80331474 0032D0D4 7C 9B 23 78 */ mr r27, r4
+/* 80331478 0032D0D8 7C BC 2B 78 */ mr r28, r5
+/* 8033147C 0032D0DC 3B DE 98 B8 */ addi r30, r30, lbl_804498B8@l
+/* 80331480 0032D0E0 4B FF 1B A5 */ bl DWCi_GetConnectionAID
+/* 80331484 0032D0E4 54 66 06 3E */ clrlwi r6, r3, 0x18
+/* 80331488 0032D0E8 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 8033148C 0032D0EC 1F A6 00 38 */ mulli r29, r6, 0x38
+/* 80331490 0032D0F0 7C 7F 1B 78 */ mr r31, r3
+/* 80331494 0032D0F4 7C 60 EA 14 */ add r3, r0, r29
+/* 80331498 0032D0F8 88 A3 00 1D */ lbz r5, 0x1d(r3)
+/* 8033149C 0032D0FC 2C 05 00 02 */ cmpwi r5, 2
+/* 803314A0 0032D100 41 82 00 B4 */ beq lbl_80331554
+/* 803314A4 0032D104 40 80 00 14 */ bge lbl_803314B8
+/* 803314A8 0032D108 2C 05 00 00 */ cmpwi r5, 0
+/* 803314AC 0032D10C 41 82 00 1C */ beq lbl_803314C8
+/* 803314B0 0032D110 40 80 00 90 */ bge lbl_80331540
+/* 803314B4 0032D114 48 00 01 2C */ b lbl_803315E0
+lbl_803314B8:
+/* 803314B8 0032D118 2C 05 00 04 */ cmpwi r5, 4
+/* 803314BC 0032D11C 41 82 00 DC */ beq lbl_80331598
+/* 803314C0 0032D120 40 80 01 20 */ bge lbl_803315E0
+/* 803314C4 0032D124 48 00 00 A4 */ b lbl_80331568
+lbl_803314C8:
+/* 803314C8 0032D128 7F 64 DB 78 */ mr r4, r27
+/* 803314CC 0032D12C 38 61 00 08 */ addi r3, r1, 8
+/* 803314D0 0032D130 38 A0 00 08 */ li r5, 8
+/* 803314D4 0032D134 4B CD 2B 2D */ bl memcpy
+/* 803314D8 0032D138 38 61 00 0E */ addi r3, r1, 0xe
+/* 803314DC 0032D13C 38 8D 8E 18 */ addi r4, r13, lbl_8063E0D8-_SDA_BASE_
+/* 803314E0 0032D140 38 A0 00 02 */ li r5, 2
+/* 803314E4 0032D144 4B E9 8E B5 */ bl memcmp
+/* 803314E8 0032D148 2C 03 00 00 */ cmpwi r3, 0
+/* 803314EC 0032D14C 40 82 00 18 */ bne lbl_80331504
+/* 803314F0 0032D150 A0 61 00 0C */ lhz r3, 0xc(r1)
+/* 803314F4 0032D154 7C 60 46 70 */ srawi r0, r3, 8
+/* 803314F8 0032D158 50 60 42 2E */ rlwimi r0, r3, 8, 8, 0x17
+/* 803314FC 0032D15C 54 00 04 3E */ clrlwi r0, r0, 0x10
+/* 80331500 0032D160 48 00 00 08 */ b lbl_80331508
+lbl_80331504:
+/* 80331504 0032D164 38 00 00 00 */ li r0, 0
+lbl_80331508:
+/* 80331508 0032D168 28 00 00 02 */ cmplwi r0, 2
+/* 8033150C 0032D16C 41 80 00 20 */ blt lbl_8033152C
+/* 80331510 0032D170 28 00 00 04 */ cmplwi r0, 4
+/* 80331514 0032D174 41 81 00 18 */ bgt lbl_8033152C
+/* 80331518 0032D178 7F 64 DB 78 */ mr r4, r27
+/* 8033151C 0032D17C 7F 85 E3 78 */ mr r5, r28
+/* 80331520 0032D180 57 E3 06 3E */ clrlwi r3, r31, 0x18
+/* 80331524 0032D184 48 00 00 F5 */ bl DWCs_RecvDataHeader
+/* 80331528 0032D188 48 00 00 D8 */ b lbl_80331600
+lbl_8033152C:
+/* 8033152C 0032D18C 38 9E 01 E4 */ addi r4, r30, 0x1e4
+/* 80331530 0032D190 3C 60 00 01 */ lis r3, 1
+/* 80331534 0032D194 4C C6 31 82 */ crclr 6
+/* 80331538 0032D198 4B FE B5 FD */ bl DWC_Printf
+/* 8033153C 0032D19C 48 00 00 C4 */ b lbl_80331600
+lbl_80331540:
+/* 80331540 0032D1A0 7C C3 33 78 */ mr r3, r6
+/* 80331544 0032D1A4 7F 64 DB 78 */ mr r4, r27
+/* 80331548 0032D1A8 7F 85 E3 78 */ mr r5, r28
+/* 8033154C 0032D1AC 48 00 00 CD */ bl DWCs_RecvDataHeader
+/* 80331550 0032D1B0 48 00 00 B0 */ b lbl_80331600
+lbl_80331554:
+/* 80331554 0032D1B4 7C C3 33 78 */ mr r3, r6
+/* 80331558 0032D1B8 7F 64 DB 78 */ mr r4, r27
+/* 8033155C 0032D1BC 7F 85 E3 78 */ mr r5, r28
+/* 80331560 0032D1C0 48 00 02 39 */ bl DWCs_RecvDataBody
+/* 80331564 0032D1C4 48 00 00 9C */ b lbl_80331600
+lbl_80331568:
+/* 80331568 0032D1C8 88 03 00 1E */ lbz r0, 0x1e(r3)
+/* 8033156C 0032D1CC 98 03 00 1D */ stb r0, 0x1d(r3)
+/* 80331570 0032D1D0 A0 83 00 22 */ lhz r4, 0x22(r3)
+/* 80331574 0032D1D4 2C 04 00 05 */ cmpwi r4, 5
+/* 80331578 0032D1D8 40 80 00 88 */ bge lbl_80331600
+/* 8033157C 0032D1DC 2C 04 00 02 */ cmpwi r4, 2
+/* 80331580 0032D1E0 40 80 00 08 */ bge lbl_80331588
+/* 80331584 0032D1E4 48 00 00 7C */ b lbl_80331600
+lbl_80331588:
+/* 80331588 0032D1E8 7C C3 33 78 */ mr r3, r6
+/* 8033158C 0032D1EC 7F 65 DB 78 */ mr r5, r27
+/* 80331590 0032D1F0 4B FF 5B 2D */ bl DWCi_ProcessMatchSynPacket
+/* 80331594 0032D1F4 48 00 00 6C */ b lbl_80331600
+lbl_80331598:
+/* 80331598 0032D1F8 80 A3 00 08 */ lwz r5, 8(r3)
+/* 8033159C 0032D1FC 7F 86 E3 78 */ mr r6, r28
+/* 803315A0 0032D200 38 9E 02 00 */ addi r4, r30, 0x200
+/* 803315A4 0032D204 3C 60 00 01 */ lis r3, 1
+/* 803315A8 0032D208 4C C6 31 82 */ crclr 6
+/* 803315AC 0032D20C 4B FE B5 89 */ bl DWC_Printf
+/* 803315B0 0032D210 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803315B4 0032D214 38 A0 00 01 */ li r5, 1
+/* 803315B8 0032D218 38 80 00 00 */ li r4, 0
+/* 803315BC 0032D21C 7C 60 EA 14 */ add r3, r0, r29
+/* 803315C0 0032D220 98 A3 00 1D */ stb r5, 0x1d(r3)
+/* 803315C4 0032D224 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803315C8 0032D228 7C 60 EA 14 */ add r3, r0, r29
+/* 803315CC 0032D22C 90 83 00 10 */ stw r4, 0x10(r3)
+/* 803315D0 0032D230 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803315D4 0032D234 7C 60 EA 14 */ add r3, r0, r29
+/* 803315D8 0032D238 90 83 00 18 */ stw r4, 0x18(r3)
+/* 803315DC 0032D23C 48 00 00 24 */ b lbl_80331600
+lbl_803315E0:
+/* 803315E0 0032D240 38 9E 02 38 */ addi r4, r30, 0x238
+/* 803315E4 0032D244 38 60 00 02 */ li r3, 2
+/* 803315E8 0032D248 4C C6 31 82 */ crclr 6
+/* 803315EC 0032D24C 4B FE B5 49 */ bl DWC_Printf
+/* 803315F0 0032D250 3C 80 FF FF */ lis r4, 0xFFFE82B6@ha
+/* 803315F4 0032D254 38 60 00 06 */ li r3, 6
+/* 803315F8 0032D258 38 84 82 B6 */ addi r4, r4, 0xFFFE82B6@l
+/* 803315FC 0032D25C 4B FE AF 85 */ bl DWCi_SetError
+lbl_80331600:
+/* 80331600 0032D260 39 61 00 30 */ addi r11, r1, 0x30
+/* 80331604 0032D264 4B E9 5B 71 */ bl _restgpr_27
+/* 80331608 0032D268 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8033160C 0032D26C 7C 08 03 A6 */ mtlr r0
+/* 80331610 0032D270 38 21 00 30 */ addi r1, r1, 0x30
+/* 80331614 0032D274 4E 80 00 20 */ blr
+
+.global DWCs_RecvDataHeader
+DWCs_RecvDataHeader:
+/* 80331618 0032D278 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8033161C 0032D27C 7C 08 02 A6 */ mflr r0
+/* 80331620 0032D280 90 01 00 34 */ stw r0, 0x34(r1)
+/* 80331624 0032D284 39 61 00 30 */ addi r11, r1, 0x30
+/* 80331628 0032D288 4B E9 5B 01 */ bl _savegpr_27
+/* 8033162C 0032D28C 1C 03 00 38 */ mulli r0, r3, 0x38
+/* 80331630 0032D290 80 CD B0 70 */ lwz r6, lbl_80640330-_SDA_BASE_(r13)
+/* 80331634 0032D294 7C 7B 1B 78 */ mr r27, r3
+/* 80331638 0032D298 7C BD 2B 78 */ mr r29, r5
+/* 8033163C 0032D29C 7F E6 02 14 */ add r31, r6, r0
+/* 80331640 0032D2A0 7C 9C 23 78 */ mr r28, r4
+/* 80331644 0032D2A4 88 1F 00 1D */ lbz r0, 0x1d(r31)
+/* 80331648 0032D2A8 38 61 00 08 */ addi r3, r1, 8
+/* 8033164C 0032D2AC 38 A0 00 08 */ li r5, 8
+/* 80331650 0032D2B0 98 1F 00 1E */ stb r0, 0x1e(r31)
+/* 80331654 0032D2B4 4B CD 29 AD */ bl memcpy
+/* 80331658 0032D2B8 38 61 00 0E */ addi r3, r1, 0xe
+/* 8033165C 0032D2BC 38 8D 8E 18 */ addi r4, r13, lbl_8063E0D8-_SDA_BASE_
+/* 80331660 0032D2C0 38 A0 00 02 */ li r5, 2
+/* 80331664 0032D2C4 4B E9 8D 35 */ bl memcmp
+/* 80331668 0032D2C8 2C 03 00 00 */ cmpwi r3, 0
+/* 8033166C 0032D2CC 40 82 00 18 */ bne lbl_80331684
+/* 80331670 0032D2D0 A0 61 00 0C */ lhz r3, 0xc(r1)
+/* 80331674 0032D2D4 7C 60 46 70 */ srawi r0, r3, 8
+/* 80331678 0032D2D8 50 60 42 2E */ rlwimi r0, r3, 8, 8, 0x17
+/* 8033167C 0032D2DC 54 1E 04 3E */ clrlwi r30, r0, 0x10
+/* 80331680 0032D2E0 48 00 00 08 */ b lbl_80331688
+lbl_80331684:
+/* 80331684 0032D2E4 3B C0 00 00 */ li r30, 0
+lbl_80331688:
+/* 80331688 0032D2E8 2C 1E 00 01 */ cmpwi r30, 1
+/* 8033168C 0032D2EC 41 82 00 14 */ beq lbl_803316A0
+/* 80331690 0032D2F0 41 80 00 D4 */ blt lbl_80331764
+/* 80331694 0032D2F4 2C 1E 00 05 */ cmpwi r30, 5
+/* 80331698 0032D2F8 40 80 00 CC */ bge lbl_80331764
+/* 8033169C 0032D2FC 48 00 00 A8 */ b lbl_80331744
+lbl_803316A0:
+/* 803316A0 0032D300 28 1D 00 08 */ cmplwi r29, 8
+/* 803316A4 0032D304 41 82 00 20 */ beq lbl_803316C4
+/* 803316A8 0032D308 3C 80 80 45 */ lis r4, lbl_80449B10@ha
+/* 803316AC 0032D30C 7F 65 DB 78 */ mr r5, r27
+/* 803316B0 0032D310 38 84 9B 10 */ addi r4, r4, lbl_80449B10@l
+/* 803316B4 0032D314 3C 60 00 01 */ lis r3, 1
+/* 803316B8 0032D318 4C C6 31 82 */ crclr 6
+/* 803316BC 0032D31C 4B FE B4 79 */ bl DWC_Printf
+/* 803316C0 0032D320 48 00 00 C0 */ b lbl_80331780
+lbl_803316C4:
+/* 803316C4 0032D324 7F 84 E3 78 */ mr r4, r28
+/* 803316C8 0032D328 38 61 00 10 */ addi r3, r1, 0x10
+/* 803316CC 0032D32C 38 A0 00 08 */ li r5, 8
+/* 803316D0 0032D330 4B CD 29 31 */ bl memcpy
+/* 803316D4 0032D334 80 C1 00 10 */ lwz r6, 0x10(r1)
+/* 803316D8 0032D338 38 00 00 00 */ li r0, 0
+/* 803316DC 0032D33C A0 E1 00 14 */ lhz r7, 0x14(r1)
+/* 803316E0 0032D340 54 C5 C2 1E */ rlwinm r5, r6, 0x18, 8, 0xf
+/* 803316E4 0032D344 54 C4 40 0E */ rlwinm r4, r6, 8, 0, 7
+/* 803316E8 0032D348 50 C5 C6 3E */ rlwimi r5, r6, 0x18, 0x18, 0x1f
+/* 803316EC 0032D34C 7C E3 46 70 */ srawi r3, r7, 8
+/* 803316F0 0032D350 50 C4 44 2E */ rlwimi r4, r6, 8, 0x10, 0x17
+/* 803316F4 0032D354 7C A4 23 78 */ or r4, r5, r4
+/* 803316F8 0032D358 50 E3 42 2E */ rlwimi r3, r7, 8, 8, 0x17
+/* 803316FC 0032D35C 54 84 80 3E */ rotlwi r4, r4, 0x10
+/* 80331700 0032D360 B0 61 00 14 */ sth r3, 0x14(r1)
+/* 80331704 0032D364 90 81 00 10 */ stw r4, 0x10(r1)
+/* 80331708 0032D368 90 9F 00 18 */ stw r4, 0x18(r31)
+/* 8033170C 0032D36C 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80331710 0032D370 80 1F 00 04 */ lwz r0, 4(r31)
+/* 80331714 0032D374 2C 00 00 00 */ cmpwi r0, 0
+/* 80331718 0032D378 41 82 00 20 */ beq lbl_80331738
+/* 8033171C 0032D37C 80 7F 00 08 */ lwz r3, 8(r31)
+/* 80331720 0032D380 80 1F 00 18 */ lwz r0, 0x18(r31)
+/* 80331724 0032D384 7C 03 00 00 */ cmpw r3, r0
+/* 80331728 0032D388 41 80 00 10 */ blt lbl_80331738
+/* 8033172C 0032D38C 38 00 00 02 */ li r0, 2
+/* 80331730 0032D390 98 1F 00 1D */ stb r0, 0x1d(r31)
+/* 80331734 0032D394 48 00 00 48 */ b lbl_8033177C
+lbl_80331738:
+/* 80331738 0032D398 38 00 00 04 */ li r0, 4
+/* 8033173C 0032D39C 98 1F 00 1D */ stb r0, 0x1d(r31)
+/* 80331740 0032D3A0 48 00 00 3C */ b lbl_8033177C
+lbl_80331744:
+/* 80331744 0032D3A4 3C 80 80 45 */ lis r4, lbl_80449B30@ha
+/* 80331748 0032D3A8 3C 60 00 01 */ lis r3, 1
+/* 8033174C 0032D3AC 38 84 9B 30 */ addi r4, r4, lbl_80449B30@l
+/* 80331750 0032D3B0 4C C6 31 82 */ crclr 6
+/* 80331754 0032D3B4 4B FE B3 E1 */ bl DWC_Printf
+/* 80331758 0032D3B8 38 00 00 03 */ li r0, 3
+/* 8033175C 0032D3BC 98 1F 00 1D */ stb r0, 0x1d(r31)
+/* 80331760 0032D3C0 48 00 00 1C */ b lbl_8033177C
+lbl_80331764:
+/* 80331764 0032D3C4 3C 80 80 45 */ lis r4, lbl_80449B10@ha
+/* 80331768 0032D3C8 7F 65 DB 78 */ mr r5, r27
+/* 8033176C 0032D3CC 38 84 9B 10 */ addi r4, r4, lbl_80449B10@l
+/* 80331770 0032D3D0 3C 60 00 01 */ lis r3, 1
+/* 80331774 0032D3D4 4C C6 31 82 */ crclr 6
+/* 80331778 0032D3D8 4B FE B3 BD */ bl DWC_Printf
+lbl_8033177C:
+/* 8033177C 0032D3DC B3 DF 00 22 */ sth r30, 0x22(r31)
+lbl_80331780:
+/* 80331780 0032D3E0 39 61 00 30 */ addi r11, r1, 0x30
+/* 80331784 0032D3E4 4B E9 59 F1 */ bl _restgpr_27
+/* 80331788 0032D3E8 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8033178C 0032D3EC 7C 08 03 A6 */ mtlr r0
+/* 80331790 0032D3F0 38 21 00 30 */ addi r1, r1, 0x30
+/* 80331794 0032D3F4 4E 80 00 20 */ blr
+
+.global DWCs_RecvDataBody
+DWCs_RecvDataBody:
+/* 80331798 0032D3F8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8033179C 0032D3FC 7C 08 02 A6 */ mflr r0
+/* 803317A0 0032D400 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803317A4 0032D404 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803317A8 0032D408 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803317AC 0032D40C 7C 7E 1B 78 */ mr r30, r3
+/* 803317B0 0032D410 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803317B4 0032D414 1F A3 00 38 */ mulli r29, r3, 0x38
+/* 803317B8 0032D418 93 81 00 10 */ stw r28, 0x10(r1)
+/* 803317BC 0032D41C 7C BC 2B 78 */ mr r28, r5
+/* 803317C0 0032D420 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 803317C4 0032D424 7F E0 EA 14 */ add r31, r0, r29
+/* 803317C8 0032D428 88 1F 00 1D */ lbz r0, 0x1d(r31)
+/* 803317CC 0032D42C 2C 00 00 02 */ cmpwi r0, 2
+/* 803317D0 0032D430 40 82 00 4C */ bne lbl_8033181C
+/* 803317D4 0032D434 80 DF 00 10 */ lwz r6, 0x10(r31)
+/* 803317D8 0032D438 80 1F 00 08 */ lwz r0, 8(r31)
+/* 803317DC 0032D43C 7C 66 2A 14 */ add r3, r6, r5
+/* 803317E0 0032D440 7C 03 00 00 */ cmpw r3, r0
+/* 803317E4 0032D444 40 81 00 2C */ ble lbl_80331810
+/* 803317E8 0032D448 3C 80 80 45 */ lis r4, lbl_80449B50@ha
+/* 803317EC 0032D44C 38 60 00 02 */ li r3, 2
+/* 803317F0 0032D450 38 84 9B 50 */ addi r4, r4, lbl_80449B50@l
+/* 803317F4 0032D454 4C C6 31 82 */ crclr 6
+/* 803317F8 0032D458 4B FE B3 3D */ bl DWC_Printf
+/* 803317FC 0032D45C 3C 80 FF FF */ lis r4, 0xFFFE82AC@ha
+/* 80331800 0032D460 38 60 00 06 */ li r3, 6
+/* 80331804 0032D464 38 84 82 AC */ addi r4, r4, 0xFFFE82AC@l
+/* 80331808 0032D468 4B FE AD 79 */ bl DWCi_SetError
+/* 8033180C 0032D46C 48 00 00 C8 */ b lbl_803318D4
+lbl_80331810:
+/* 80331810 0032D470 80 1F 00 04 */ lwz r0, 4(r31)
+/* 80331814 0032D474 7C 60 32 14 */ add r3, r0, r6
+/* 80331818 0032D478 4B CD 27 E9 */ bl memcpy
+lbl_8033181C:
+/* 8033181C 0032D47C 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80331820 0032D480 7F C3 F3 78 */ mr r3, r30
+/* 80331824 0032D484 7C 00 E2 14 */ add r0, r0, r28
+/* 80331828 0032D488 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 8033182C 0032D48C 80 0D B0 70 */ lwz r0, lbl_80640330-_SDA_BASE_(r13)
+/* 80331830 0032D490 7C 80 EA 14 */ add r4, r0, r29
+/* 80331834 0032D494 8B A4 00 1D */ lbz r29, 0x1d(r4)
+/* 80331838 0032D498 4B FF 17 51 */ bl DWCi_GetGT2Connection
+/* 8033183C 0032D49C 48 01 85 8D */ bl gt2GetIncomingBufferFreeSpace
+/* 80331840 0032D4A0 3C 80 80 45 */ lis r4, lbl_80449B68@ha
+/* 80331844 0032D4A4 80 DF 00 10 */ lwz r6, 0x10(r31)
+/* 80331848 0032D4A8 7C 69 1B 78 */ mr r9, r3
+/* 8033184C 0032D4AC 80 FF 00 18 */ lwz r7, 0x18(r31)
+/* 80331850 0032D4B0 7F C5 F3 78 */ mr r5, r30
+/* 80331854 0032D4B4 7F A8 EB 78 */ mr r8, r29
+/* 80331858 0032D4B8 38 84 9B 68 */ addi r4, r4, lbl_80449B68@l
+/* 8033185C 0032D4BC 3C 60 00 01 */ lis r3, 1
+/* 80331860 0032D4C0 4C C6 31 82 */ crclr 6
+/* 80331864 0032D4C4 4B FE B2 D1 */ bl DWC_Printf
+/* 80331868 0032D4C8 80 BF 00 18 */ lwz r5, 0x18(r31)
+/* 8033186C 0032D4CC 80 1F 00 10 */ lwz r0, 0x10(r31)
+/* 80331870 0032D4D0 7C 00 28 00 */ cmpw r0, r5
+/* 80331874 0032D4D4 40 82 00 38 */ bne lbl_803318AC
+/* 80331878 0032D4D8 38 60 00 01 */ li r3, 1
+/* 8033187C 0032D4DC 38 00 00 00 */ li r0, 0
+/* 80331880 0032D4E0 98 7F 00 1D */ stb r3, 0x1d(r31)
+/* 80331884 0032D4E4 90 1F 00 10 */ stw r0, 0x10(r31)
+/* 80331888 0032D4E8 90 1F 00 18 */ stw r0, 0x18(r31)
+/* 8033188C 0032D4EC 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 80331890 0032D4F0 81 83 07 04 */ lwz r12, 0x704(r3)
+/* 80331894 0032D4F4 2C 0C 00 00 */ cmpwi r12, 0
+/* 80331898 0032D4F8 41 82 00 14 */ beq lbl_803318AC
+/* 8033189C 0032D4FC 7F C3 F3 78 */ mr r3, r30
+/* 803318A0 0032D500 80 9F 00 04 */ lwz r4, 4(r31)
+/* 803318A4 0032D504 7D 89 03 A6 */ mtctr r12
+/* 803318A8 0032D508 4E 80 04 21 */ bctrl
+lbl_803318AC:
+/* 803318AC 0032D50C 80 6D B0 70 */ lwz r3, lbl_80640330-_SDA_BASE_(r13)
+/* 803318B0 0032D510 80 03 07 08 */ lwz r0, 0x708(r3)
+/* 803318B4 0032D514 2C 00 00 00 */ cmpwi r0, 0
+/* 803318B8 0032D518 41 82 00 1C */ beq lbl_803318D4
+/* 803318BC 0032D51C 80 1F 00 30 */ lwz r0, 0x30(r31)
+/* 803318C0 0032D520 2C 00 00 00 */ cmpwi r0, 0
+/* 803318C4 0032D524 41 82 00 10 */ beq lbl_803318D4
+/* 803318C8 0032D528 4B F4 0E F1 */ bl OSGetTime
+/* 803318CC 0032D52C 90 9F 00 2C */ stw r4, 0x2c(r31)
+/* 803318D0 0032D530 90 7F 00 28 */ stw r3, 0x28(r31)
+lbl_803318D4:
+/* 803318D4 0032D534 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803318D8 0032D538 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803318DC 0032D53C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803318E0 0032D540 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803318E4 0032D544 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 803318E8 0032D548 7C 08 03 A6 */ mtlr r0
+/* 803318EC 0032D54C 38 21 00 20 */ addi r1, r1, 0x20
+/* 803318F0 0032D550 4E 80 00 20 */ blr
|