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
|