summaryrefslogtreecommitdiff
path: root/asm/SDK/DWC/dwc_match/dwc_transport.s
blob: 4135abf3b9b0db8a1702f129bd58c607ef561693 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
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