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
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global USB_LOG
USB_LOG:
/* 802B3C20 002AF880 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802B3C24 002AF884 7C 08 02 A6 */ mflr r0
/* 802B3C28 002AF888 90 01 00 84 */ stw r0, 0x84(r1)
/* 802B3C2C 002AF88C 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 802B3C30 002AF890 7C 7F 1B 78 */ mr r31, r3
/* 802B3C34 002AF894 40 86 00 24 */ bne cr1, lbl_802B3C58
/* 802B3C38 002AF898 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 802B3C3C 002AF89C D8 41 00 30 */ stfd f2, 0x30(r1)
/* 802B3C40 002AF8A0 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 802B3C44 002AF8A4 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 802B3C48 002AF8A8 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 802B3C4C 002AF8AC D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 802B3C50 002AF8B0 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 802B3C54 002AF8B4 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_802B3C58:
/* 802B3C58 002AF8B8 88 0D AE A0 */ lbz r0, lbl_80640160-_SDA_BASE_(r13)
/* 802B3C5C 002AF8BC 90 61 00 08 */ stw r3, 8(r1)
/* 802B3C60 002AF8C0 2C 00 00 00 */ cmpwi r0, 0
/* 802B3C64 002AF8C4 90 81 00 0C */ stw r4, 0xc(r1)
/* 802B3C68 002AF8C8 90 A1 00 10 */ stw r5, 0x10(r1)
/* 802B3C6C 002AF8CC 90 C1 00 14 */ stw r6, 0x14(r1)
/* 802B3C70 002AF8D0 90 E1 00 18 */ stw r7, 0x18(r1)
/* 802B3C74 002AF8D4 91 01 00 1C */ stw r8, 0x1c(r1)
/* 802B3C78 002AF8D8 91 21 00 20 */ stw r9, 0x20(r1)
/* 802B3C7C 002AF8DC 91 41 00 24 */ stw r10, 0x24(r1)
/* 802B3C80 002AF8E0 41 82 00 34 */ beq lbl_802B3CB4
/* 802B3C84 002AF8E4 38 6D 89 B4 */ addi r3, r13, lbl_8063DC74-_SDA_BASE_
/* 802B3C88 002AF8E8 4C C6 31 82 */ crclr 6
/* 802B3C8C 002AF8EC 4B D5 3E 39 */ bl OSReport
/* 802B3C90 002AF8F0 38 A1 00 88 */ addi r5, r1, 0x88
/* 802B3C94 002AF8F4 38 01 00 08 */ addi r0, r1, 8
/* 802B3C98 002AF8F8 3C 60 01 00 */ lis r3, 0x100
/* 802B3C9C 002AF8FC 90 A1 00 6C */ stw r5, 0x6c(r1)
/* 802B3CA0 002AF900 38 81 00 68 */ addi r4, r1, 0x68
/* 802B3CA4 002AF904 90 61 00 68 */ stw r3, 0x68(r1)
/* 802B3CA8 002AF908 7F E3 FB 78 */ mr r3, r31
/* 802B3CAC 002AF90C 90 01 00 70 */ stw r0, 0x70(r1)
/* 802B3CB0 002AF910 4B F1 8C 7D */ bl vprintf
lbl_802B3CB4:
/* 802B3CB4 002AF914 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802B3CB8 002AF918 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 802B3CBC 002AF91C 7C 08 03 A6 */ mtlr r0
/* 802B3CC0 002AF920 38 21 00 80 */ addi r1, r1, 0x80
/* 802B3CC4 002AF924 4E 80 00 20 */ blr
.global USB_ERR
USB_ERR:
/* 802B3CC8 002AF928 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802B3CCC 002AF92C 7C 08 02 A6 */ mflr r0
/* 802B3CD0 002AF930 90 01 00 84 */ stw r0, 0x84(r1)
/* 802B3CD4 002AF934 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 802B3CD8 002AF938 7C 7F 1B 78 */ mr r31, r3
/* 802B3CDC 002AF93C 40 86 00 24 */ bne cr1, lbl_802B3D00
/* 802B3CE0 002AF940 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 802B3CE4 002AF944 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 802B3CE8 002AF948 D8 61 00 38 */ stfd f3, 0x38(r1)
/* 802B3CEC 002AF94C D8 81 00 40 */ stfd f4, 0x40(r1)
/* 802B3CF0 002AF950 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 802B3CF4 002AF954 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 802B3CF8 002AF958 D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 802B3CFC 002AF95C D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_802B3D00:
/* 802B3D00 002AF960 88 0D AE A0 */ lbz r0, lbl_80640160-_SDA_BASE_(r13)
/* 802B3D04 002AF964 90 61 00 08 */ stw r3, 8(r1)
/* 802B3D08 002AF968 2C 00 00 00 */ cmpwi r0, 0
/* 802B3D0C 002AF96C 90 81 00 0C */ stw r4, 0xc(r1)
/* 802B3D10 002AF970 90 A1 00 10 */ stw r5, 0x10(r1)
/* 802B3D14 002AF974 90 C1 00 14 */ stw r6, 0x14(r1)
/* 802B3D18 002AF978 90 E1 00 18 */ stw r7, 0x18(r1)
/* 802B3D1C 002AF97C 91 01 00 1C */ stw r8, 0x1c(r1)
/* 802B3D20 002AF980 91 21 00 20 */ stw r9, 0x20(r1)
/* 802B3D24 002AF984 91 41 00 24 */ stw r10, 0x24(r1)
/* 802B3D28 002AF988 41 82 00 38 */ beq lbl_802B3D60
/* 802B3D2C 002AF98C 3C 60 80 44 */ lis r3, lbl_8043DA28@ha
/* 802B3D30 002AF990 38 63 DA 28 */ addi r3, r3, lbl_8043DA28@l
/* 802B3D34 002AF994 4C C6 31 82 */ crclr 6
/* 802B3D38 002AF998 4B D5 3D 8D */ bl OSReport
/* 802B3D3C 002AF99C 38 A1 00 88 */ addi r5, r1, 0x88
/* 802B3D40 002AF9A0 38 01 00 08 */ addi r0, r1, 8
/* 802B3D44 002AF9A4 3C 60 01 00 */ lis r3, 0x100
/* 802B3D48 002AF9A8 90 A1 00 6C */ stw r5, 0x6c(r1)
/* 802B3D4C 002AF9AC 38 81 00 68 */ addi r4, r1, 0x68
/* 802B3D50 002AF9B0 90 61 00 68 */ stw r3, 0x68(r1)
/* 802B3D54 002AF9B4 7F E3 FB 78 */ mr r3, r31
/* 802B3D58 002AF9B8 90 01 00 70 */ stw r0, 0x70(r1)
/* 802B3D5C 002AF9BC 4B F1 8B D1 */ bl vprintf
lbl_802B3D60:
/* 802B3D60 002AF9C0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802B3D64 002AF9C4 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 802B3D68 002AF9C8 7C 08 03 A6 */ mtlr r0
/* 802B3D6C 002AF9CC 38 21 00 80 */ addi r1, r1, 0x80
/* 802B3D70 002AF9D0 4E 80 00 20 */ blr
.global IUSB_OpenLib
IUSB_OpenLib:
/* 802B3D74 002AF9D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B3D78 002AF9D8 7C 08 02 A6 */ mflr r0
/* 802B3D7C 002AF9DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B3D80 002AF9E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B3D84 002AF9E4 3F E0 80 44 */ lis r31, lbl_8043DA28@ha
/* 802B3D88 002AF9E8 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l
/* 802B3D8C 002AF9EC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B3D90 002AF9F0 3B C0 00 00 */ li r30, 0
/* 802B3D94 002AF9F4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802B3D98 002AF9F8 4B FB A9 C5 */ bl OSDisableInterrupts
/* 802B3D9C 002AF9FC 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B3DA0 002AFA00 7C 7D 1B 78 */ mr r29, r3
/* 802B3DA4 002AFA04 2C 04 FF FF */ cmpwi r4, -1
/* 802B3DA8 002AFA08 41 82 00 14 */ beq lbl_802B3DBC
/* 802B3DAC 002AFA0C 38 7F 00 0C */ addi r3, r31, 0xc
/* 802B3DB0 002AFA10 4C C6 31 82 */ crclr 6
/* 802B3DB4 002AFA14 4B FF FE 6D */ bl USB_LOG
/* 802B3DB8 002AFA18 48 00 00 8C */ b lbl_802B3E44
lbl_802B3DBC:
/* 802B3DBC 002AFA1C 80 0D AE 98 */ lwz r0, lbl_80640158-_SDA_BASE_(r13)
/* 802B3DC0 002AFA20 2C 00 00 00 */ cmpwi r0, 0
/* 802B3DC4 002AFA24 40 82 00 58 */ bne lbl_802B3E1C
/* 802B3DC8 002AFA28 4B FE EB 2D */ bl IPCGetBufferLo
/* 802B3DCC 002AFA2C 90 6D AE 98 */ stw r3, lbl_80640158-_SDA_BASE_(r13)
/* 802B3DD0 002AFA30 4B FE EB 1D */ bl IPCGetBufferHi
/* 802B3DD4 002AFA34 90 6D AE 9C */ stw r3, lbl_8064015C-_SDA_BASE_(r13)
/* 802B3DD8 002AFA38 7C 66 1B 78 */ mr r6, r3
/* 802B3DDC 002AFA3C 80 AD AE 98 */ lwz r5, lbl_80640158-_SDA_BASE_(r13)
/* 802B3DE0 002AFA40 38 7F 00 3C */ addi r3, r31, 0x3c
/* 802B3DE4 002AFA44 38 80 00 80 */ li r4, 0x80
/* 802B3DE8 002AFA48 4C C6 31 82 */ crclr 6
/* 802B3DEC 002AFA4C 4B FF FE 35 */ bl USB_LOG
/* 802B3DF0 002AFA50 80 6D AE 98 */ lwz r3, lbl_80640158-_SDA_BASE_(r13)
/* 802B3DF4 002AFA54 80 0D AE 9C */ lwz r0, lbl_8064015C-_SDA_BASE_(r13)
/* 802B3DF8 002AFA58 38 63 10 00 */ addi r3, r3, 0x1000
/* 802B3DFC 002AFA5C 7C 03 00 40 */ cmplw r3, r0
/* 802B3E00 002AFA60 40 81 00 18 */ ble lbl_802B3E18
/* 802B3E04 002AFA64 38 7F 00 5C */ addi r3, r31, 0x5c
/* 802B3E08 002AFA68 4C C6 31 82 */ crclr 6
/* 802B3E0C 002AFA6C 4B FF FE BD */ bl USB_ERR
/* 802B3E10 002AFA70 3B C0 FF EA */ li r30, -22
/* 802B3E14 002AFA74 48 00 00 30 */ b lbl_802B3E44
lbl_802B3E18:
/* 802B3E18 002AFA78 4B FE EA E5 */ bl IPCSetBufferLo
lbl_802B3E1C:
/* 802B3E1C 002AFA7C 80 6D AE 98 */ lwz r3, lbl_80640158-_SDA_BASE_(r13)
/* 802B3E20 002AFA80 38 80 10 00 */ li r4, 0x1000
/* 802B3E24 002AFA84 4B FF 01 E1 */ bl iosCreateHeap
/* 802B3E28 002AFA88 2C 03 00 00 */ cmpwi r3, 0
/* 802B3E2C 002AFA8C 90 6D 89 B0 */ stw r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B3E30 002AFA90 40 80 00 14 */ bge lbl_802B3E44
/* 802B3E34 002AFA94 38 7F 00 74 */ addi r3, r31, 0x74
/* 802B3E38 002AFA98 4C C6 31 82 */ crclr 6
/* 802B3E3C 002AFA9C 4B FF FE 8D */ bl USB_ERR
/* 802B3E40 002AFAA0 3B C0 FF EA */ li r30, -22
lbl_802B3E44:
/* 802B3E44 002AFAA4 7F A3 EB 78 */ mr r3, r29
/* 802B3E48 002AFAA8 4B FB A9 3D */ bl OSRestoreInterrupts
/* 802B3E4C 002AFAAC 7F C3 F3 78 */ mr r3, r30
/* 802B3E50 002AFAB0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B3E54 002AFAB4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B3E58 002AFAB8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802B3E5C 002AFABC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B3E60 002AFAC0 7C 08 03 A6 */ mtlr r0
/* 802B3E64 002AFAC4 38 21 00 20 */ addi r1, r1, 0x20
/* 802B3E68 002AFAC8 4E 80 00 20 */ blr
.global IUSB_CloseLib
IUSB_CloseLib:
/* 802B3E6C 002AFACC 38 60 00 00 */ li r3, 0
/* 802B3E70 002AFAD0 4E 80 00 20 */ blr
_intBlkCtrlCb:
/* 802B3E74 002AFAD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B3E78 002AFAD8 7C 08 02 A6 */ mflr r0
/* 802B3E7C 002AFADC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B3E80 002AFAE0 39 61 00 20 */ addi r11, r1, 0x20
/* 802B3E84 002AFAE4 4B F1 32 A1 */ bl _savegpr_26
/* 802B3E88 002AFAE8 3F E0 80 44 */ lis r31, lbl_8043DA28@ha
/* 802B3E8C 002AFAEC 7C 7A 1B 78 */ mr r26, r3
/* 802B3E90 002AFAF0 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l
/* 802B3E94 002AFAF4 7C 9B 23 78 */ mr r27, r4
/* 802B3E98 002AFAF8 7F 44 D3 78 */ mr r4, r26
/* 802B3E9C 002AFAFC 38 7F 00 88 */ addi r3, r31, 0x88
/* 802B3EA0 002AFB00 4C C6 31 82 */ crclr 6
/* 802B3EA4 002AFB04 4B FF FD 7D */ bl USB_LOG
/* 802B3EA8 002AFB08 80 9B 00 2C */ lwz r4, 0x2c(r27)
/* 802B3EAC 002AFB0C 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 802B3EB0 002AFB10 4C C6 31 82 */ crclr 6
/* 802B3EB4 002AFB14 4B FF FD 6D */ bl USB_LOG
/* 802B3EB8 002AFB18 80 1B 00 2C */ lwz r0, 0x2c(r27)
/* 802B3EBC 002AFB1C 28 00 00 07 */ cmplwi r0, 7
/* 802B3EC0 002AFB20 41 82 00 24 */ beq lbl_802B3EE4
/* 802B3EC4 002AFB24 28 00 00 03 */ cmplwi r0, 3
/* 802B3EC8 002AFB28 41 82 00 1C */ beq lbl_802B3EE4
/* 802B3ECC 002AFB2C 2C 00 00 00 */ cmpwi r0, 0
/* 802B3ED0 002AFB30 41 82 00 14 */ beq lbl_802B3EE4
/* 802B3ED4 002AFB34 38 7F 00 C8 */ addi r3, r31, 0xc8
/* 802B3ED8 002AFB38 4C C6 31 82 */ crclr 6
/* 802B3EDC 002AFB3C 4B FF FD ED */ bl USB_ERR
/* 802B3EE0 002AFB40 48 00 00 70 */ b lbl_802B3F50
lbl_802B3EE4:
/* 802B3EE4 002AFB44 7F 7D DB 78 */ mr r29, r27
/* 802B3EE8 002AFB48 3B 80 00 00 */ li r28, 0
/* 802B3EEC 002AFB4C 48 00 00 58 */ b lbl_802B3F44
lbl_802B3EF0:
/* 802B3EF0 002AFB50 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 802B3EF4 002AFB54 7F 84 E3 78 */ mr r4, r28
/* 802B3EF8 002AFB58 38 7F 00 F0 */ addi r3, r31, 0xf0
/* 802B3EFC 002AFB5C 4C C6 31 82 */ crclr 6
/* 802B3F00 002AFB60 4B FF FD 21 */ bl USB_LOG
/* 802B3F04 002AFB64 83 DD 00 0C */ lwz r30, 0xc(r29)
/* 802B3F08 002AFB68 2C 1E 00 00 */ cmpwi r30, 0
/* 802B3F0C 002AFB6C 41 82 00 30 */ beq lbl_802B3F3C
/* 802B3F10 002AFB70 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B3F14 002AFB74 7F C4 F3 78 */ mr r4, r30
/* 802B3F18 002AFB78 4B FF 04 25 */ bl iosFree
/* 802B3F1C 002AFB7C 2C 03 00 00 */ cmpwi r3, 0
/* 802B3F20 002AFB80 40 80 00 1C */ bge lbl_802B3F3C
/* 802B3F24 002AFB84 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B3F28 002AFB88 7C 66 1B 78 */ mr r6, r3
/* 802B3F2C 002AFB8C 7F C5 F3 78 */ mr r5, r30
/* 802B3F30 002AFB90 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B3F34 002AFB94 4C C6 31 82 */ crclr 6
/* 802B3F38 002AFB98 4B FF FD 91 */ bl USB_ERR
lbl_802B3F3C:
/* 802B3F3C 002AFB9C 3B BD 00 04 */ addi r29, r29, 4
/* 802B3F40 002AFBA0 3B 9C 00 01 */ addi r28, r28, 1
lbl_802B3F44:
/* 802B3F44 002AFBA4 80 1B 00 2C */ lwz r0, 0x2c(r27)
/* 802B3F48 002AFBA8 7C 1C 00 40 */ cmplw r28, r0
/* 802B3F4C 002AFBAC 41 80 FF A4 */ blt lbl_802B3EF0
lbl_802B3F50:
/* 802B3F50 002AFBB0 80 9B 00 00 */ lwz r4, 0(r27)
/* 802B3F54 002AFBB4 38 7F 01 28 */ addi r3, r31, 0x128
/* 802B3F58 002AFBB8 80 BB 00 04 */ lwz r5, 4(r27)
/* 802B3F5C 002AFBBC 4C C6 31 82 */ crclr 6
/* 802B3F60 002AFBC0 4B FF FC C1 */ bl USB_LOG
/* 802B3F64 002AFBC4 81 9B 00 00 */ lwz r12, 0(r27)
/* 802B3F68 002AFBC8 2C 0C 00 00 */ cmpwi r12, 0
/* 802B3F6C 002AFBCC 41 82 00 14 */ beq lbl_802B3F80
/* 802B3F70 002AFBD0 7F 43 D3 78 */ mr r3, r26
/* 802B3F74 002AFBD4 80 9B 00 04 */ lwz r4, 4(r27)
/* 802B3F78 002AFBD8 7D 89 03 A6 */ mtctr r12
/* 802B3F7C 002AFBDC 4E 80 04 21 */ bctrl
lbl_802B3F80:
/* 802B3F80 002AFBE0 2C 1B 00 00 */ cmpwi r27, 0
/* 802B3F84 002AFBE4 41 82 00 30 */ beq lbl_802B3FB4
/* 802B3F88 002AFBE8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B3F8C 002AFBEC 7F 64 DB 78 */ mr r4, r27
/* 802B3F90 002AFBF0 4B FF 03 AD */ bl iosFree
/* 802B3F94 002AFBF4 2C 03 00 00 */ cmpwi r3, 0
/* 802B3F98 002AFBF8 40 80 00 1C */ bge lbl_802B3FB4
/* 802B3F9C 002AFBFC 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B3FA0 002AFC00 7C 66 1B 78 */ mr r6, r3
/* 802B3FA4 002AFC04 7F 65 DB 78 */ mr r5, r27
/* 802B3FA8 002AFC08 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B3FAC 002AFC0C 4C C6 31 82 */ crclr 6
/* 802B3FB0 002AFC10 4B FF FD 19 */ bl USB_ERR
lbl_802B3FB4:
/* 802B3FB4 002AFC14 39 61 00 20 */ addi r11, r1, 0x20
/* 802B3FB8 002AFC18 7F 43 D3 78 */ mr r3, r26
/* 802B3FBC 002AFC1C 4B F1 31 B5 */ bl _restgpr_26
/* 802B3FC0 002AFC20 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B3FC4 002AFC24 7C 08 03 A6 */ mtlr r0
/* 802B3FC8 002AFC28 38 21 00 20 */ addi r1, r1, 0x20
/* 802B3FCC 002AFC2C 4E 80 00 20 */ blr
.global IUSB_OpenDeviceIds
IUSB_OpenDeviceIds:
/* 802B3FD0 002AFC30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B3FD4 002AFC34 7C 08 02 A6 */ mflr r0
/* 802B3FD8 002AFC38 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B3FDC 002AFC3C 39 61 00 20 */ addi r11, r1, 0x20
/* 802B3FE0 002AFC40 4B F1 31 45 */ bl _savegpr_26
/* 802B3FE4 002AFC44 2C 06 00 00 */ cmpwi r6, 0
/* 802B3FE8 002AFC48 3F E0 80 44 */ lis r31, lbl_8043DA28@ha
/* 802B3FEC 002AFC4C 7C 7A 1B 78 */ mr r26, r3
/* 802B3FF0 002AFC50 7C 9B 23 78 */ mr r27, r4
/* 802B3FF4 002AFC54 7C BE 2B 78 */ mr r30, r5
/* 802B3FF8 002AFC58 7C DC 33 78 */ mr r28, r6
/* 802B3FFC 002AFC5C 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l
/* 802B4000 002AFC60 3B A0 00 00 */ li r29, 0
/* 802B4004 002AFC64 40 82 00 0C */ bne lbl_802B4010
/* 802B4008 002AFC68 3B C0 FF FC */ li r30, -4
/* 802B400C 002AFC6C 48 00 00 A8 */ b lbl_802B40B4
lbl_802B4010:
/* 802B4010 002AFC70 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4014 002AFC74 38 80 00 80 */ li r4, 0x80
/* 802B4018 002AFC78 38 A0 00 20 */ li r5, 0x20
/* 802B401C 002AFC7C 4B FF 03 1D */ bl iosAllocAligned
/* 802B4020 002AFC80 2C 03 00 00 */ cmpwi r3, 0
/* 802B4024 002AFC84 7C 7D 1B 78 */ mr r29, r3
/* 802B4028 002AFC88 40 82 00 1C */ bne lbl_802B4044
/* 802B402C 002AFC8C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4030 002AFC90 7F A6 EB 78 */ mr r6, r29
/* 802B4034 002AFC94 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B4038 002AFC98 38 A0 00 80 */ li r5, 0x80
/* 802B403C 002AFC9C 4C C6 31 82 */ crclr 6
/* 802B4040 002AFCA0 4B FF FC 89 */ bl USB_ERR
lbl_802B4044:
/* 802B4044 002AFCA4 2C 1D 00 00 */ cmpwi r29, 0
/* 802B4048 002AFCA8 40 82 00 18 */ bne lbl_802B4060
/* 802B404C 002AFCAC 38 7F 01 60 */ addi r3, r31, 0x160
/* 802B4050 002AFCB0 4C C6 31 82 */ crclr 6
/* 802B4054 002AFCB4 4B FF FC 75 */ bl USB_ERR
/* 802B4058 002AFCB8 3B C0 FF EA */ li r30, -22
/* 802B405C 002AFCBC 48 00 00 58 */ b lbl_802B40B4
lbl_802B4060:
/* 802B4060 002AFCC0 7F 46 D3 78 */ mr r6, r26
/* 802B4064 002AFCC4 7F 67 DB 78 */ mr r7, r27
/* 802B4068 002AFCC8 7F C8 F3 78 */ mr r8, r30
/* 802B406C 002AFCCC 38 7D 00 40 */ addi r3, r29, 0x40
/* 802B4070 002AFCD0 38 BF 01 84 */ addi r5, r31, 0x184
/* 802B4074 002AFCD4 38 80 00 40 */ li r4, 0x40
/* 802B4078 002AFCD8 4C C6 31 82 */ crclr 6
/* 802B407C 002AFCDC 4B F1 89 A9 */ bl snprintf
/* 802B4080 002AFCE0 38 7F 01 98 */ addi r3, r31, 0x198
/* 802B4084 002AFCE4 38 9D 00 40 */ addi r4, r29, 0x40
/* 802B4088 002AFCE8 4C C6 31 82 */ crclr 6
/* 802B408C 002AFCEC 4B FF FB 95 */ bl USB_LOG
/* 802B4090 002AFCF0 38 7D 00 40 */ addi r3, r29, 0x40
/* 802B4094 002AFCF4 38 80 00 00 */ li r4, 0
/* 802B4098 002AFCF8 4B FE F0 C1 */ bl IOS_Open
/* 802B409C 002AFCFC 7C 7E 1B 78 */ mr r30, r3
/* 802B40A0 002AFD00 38 7F 01 AC */ addi r3, r31, 0x1ac
/* 802B40A4 002AFD04 7F C4 F3 78 */ mr r4, r30
/* 802B40A8 002AFD08 4C C6 31 82 */ crclr 6
/* 802B40AC 002AFD0C 4B FF FB 75 */ bl USB_LOG
/* 802B40B0 002AFD10 93 DC 00 00 */ stw r30, 0(r28)
lbl_802B40B4:
/* 802B40B4 002AFD14 2C 1D 00 00 */ cmpwi r29, 0
/* 802B40B8 002AFD18 41 82 00 30 */ beq lbl_802B40E8
/* 802B40BC 002AFD1C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B40C0 002AFD20 7F A4 EB 78 */ mr r4, r29
/* 802B40C4 002AFD24 4B FF 02 79 */ bl iosFree
/* 802B40C8 002AFD28 2C 03 00 00 */ cmpwi r3, 0
/* 802B40CC 002AFD2C 40 80 00 1C */ bge lbl_802B40E8
/* 802B40D0 002AFD30 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B40D4 002AFD34 7C 66 1B 78 */ mr r6, r3
/* 802B40D8 002AFD38 7F A5 EB 78 */ mr r5, r29
/* 802B40DC 002AFD3C 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B40E0 002AFD40 4C C6 31 82 */ crclr 6
/* 802B40E4 002AFD44 4B FF FB E5 */ bl USB_ERR
lbl_802B40E8:
/* 802B40E8 002AFD48 39 61 00 20 */ addi r11, r1, 0x20
/* 802B40EC 002AFD4C 7F C3 F3 78 */ mr r3, r30
/* 802B40F0 002AFD50 4B F1 30 81 */ bl _restgpr_26
/* 802B40F4 002AFD54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B40F8 002AFD58 7C 08 03 A6 */ mtlr r0
/* 802B40FC 002AFD5C 38 21 00 20 */ addi r1, r1, 0x20
/* 802B4100 002AFD60 4E 80 00 20 */ blr
.global IUSB_CloseDeviceAsync
IUSB_CloseDeviceAsync:
/* 802B4104 002AFD64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B4108 002AFD68 7C 08 02 A6 */ mflr r0
/* 802B410C 002AFD6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B4110 002AFD70 39 61 00 20 */ addi r11, r1, 0x20
/* 802B4114 002AFD74 4B F1 30 15 */ bl _savegpr_27
/* 802B4118 002AFD78 3F E0 80 44 */ lis r31, lbl_8043DA28@ha
/* 802B411C 002AFD7C 7C 7B 1B 78 */ mr r27, r3
/* 802B4120 002AFD80 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l
/* 802B4124 002AFD84 7C 9C 23 78 */ mr r28, r4
/* 802B4128 002AFD88 7C BD 2B 78 */ mr r29, r5
/* 802B412C 002AFD8C 38 7F 01 FC */ addi r3, r31, 0x1fc
/* 802B4130 002AFD90 4C C6 31 82 */ crclr 6
/* 802B4134 002AFD94 4B FF FA ED */ bl USB_LOG
/* 802B4138 002AFD98 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B413C 002AFD9C 38 80 00 80 */ li r4, 0x80
/* 802B4140 002AFDA0 38 A0 00 20 */ li r5, 0x20
/* 802B4144 002AFDA4 4B FF 01 F5 */ bl iosAllocAligned
/* 802B4148 002AFDA8 2C 03 00 00 */ cmpwi r3, 0
/* 802B414C 002AFDAC 7C 7E 1B 78 */ mr r30, r3
/* 802B4150 002AFDB0 40 82 00 1C */ bne lbl_802B416C
/* 802B4154 002AFDB4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4158 002AFDB8 7F C6 F3 78 */ mr r6, r30
/* 802B415C 002AFDBC 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B4160 002AFDC0 38 A0 00 80 */ li r5, 0x80
/* 802B4164 002AFDC4 4C C6 31 82 */ crclr 6
/* 802B4168 002AFDC8 4B FF FB 61 */ bl USB_ERR
lbl_802B416C:
/* 802B416C 002AFDCC 2C 1E 00 00 */ cmpwi r30, 0
/* 802B4170 002AFDD0 40 82 00 18 */ bne lbl_802B4188
/* 802B4174 002AFDD4 38 7F 02 28 */ addi r3, r31, 0x228
/* 802B4178 002AFDD8 4C C6 31 82 */ crclr 6
/* 802B417C 002AFDDC 4B FF FB 4D */ bl USB_ERR
/* 802B4180 002AFDE0 3B A0 FF EA */ li r29, -22
/* 802B4184 002AFDE4 48 00 00 78 */ b lbl_802B41FC
lbl_802B4188:
/* 802B4188 002AFDE8 93 9E 00 00 */ stw r28, 0(r30)
/* 802B418C 002AFDEC 3C 80 80 2B */ lis r4, _intBlkCtrlCb@ha
/* 802B4190 002AFDF0 38 00 00 00 */ li r0, 0
/* 802B4194 002AFDF4 7F 63 DB 78 */ mr r3, r27
/* 802B4198 002AFDF8 93 BE 00 04 */ stw r29, 4(r30)
/* 802B419C 002AFDFC 7F C5 F3 78 */ mr r5, r30
/* 802B41A0 002AFE00 38 84 3E 74 */ addi r4, r4, _intBlkCtrlCb@l
/* 802B41A4 002AFE04 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802B41A8 002AFE08 4B FE F0 D1 */ bl IOS_CloseAsync
/* 802B41AC 002AFE0C 7C 7D 1B 78 */ mr r29, r3
/* 802B41B0 002AFE10 38 7F 02 0C */ addi r3, r31, 0x20c
/* 802B41B4 002AFE14 7F A4 EB 78 */ mr r4, r29
/* 802B41B8 002AFE18 4C C6 31 82 */ crclr 6
/* 802B41BC 002AFE1C 4B FF FA 65 */ bl USB_LOG
/* 802B41C0 002AFE20 2C 1D 00 00 */ cmpwi r29, 0
/* 802B41C4 002AFE24 40 80 00 38 */ bge lbl_802B41FC
/* 802B41C8 002AFE28 2C 1E 00 00 */ cmpwi r30, 0
/* 802B41CC 002AFE2C 41 82 00 30 */ beq lbl_802B41FC
/* 802B41D0 002AFE30 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B41D4 002AFE34 7F C4 F3 78 */ mr r4, r30
/* 802B41D8 002AFE38 4B FF 01 65 */ bl iosFree
/* 802B41DC 002AFE3C 2C 03 00 00 */ cmpwi r3, 0
/* 802B41E0 002AFE40 40 80 00 1C */ bge lbl_802B41FC
/* 802B41E4 002AFE44 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B41E8 002AFE48 7C 66 1B 78 */ mr r6, r3
/* 802B41EC 002AFE4C 7F C5 F3 78 */ mr r5, r30
/* 802B41F0 002AFE50 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B41F4 002AFE54 4C C6 31 82 */ crclr 6
/* 802B41F8 002AFE58 4B FF FA D1 */ bl USB_ERR
lbl_802B41FC:
/* 802B41FC 002AFE5C 39 61 00 20 */ addi r11, r1, 0x20
/* 802B4200 002AFE60 7F A3 EB 78 */ mr r3, r29
/* 802B4204 002AFE64 4B F1 2F 71 */ bl _restgpr_27
/* 802B4208 002AFE68 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B420C 002AFE6C 7C 08 03 A6 */ mtlr r0
/* 802B4210 002AFE70 38 21 00 20 */ addi r1, r1, 0x20
/* 802B4214 002AFE74 4E 80 00 20 */ blr
.global __IntrBlkMsgInt
__IntrBlkMsgInt:
/* 802B4218 002AFE78 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802B421C 002AFE7C 7C 08 02 A6 */ mflr r0
/* 802B4220 002AFE80 90 01 00 44 */ stw r0, 0x44(r1)
/* 802B4224 002AFE84 39 61 00 40 */ addi r11, r1, 0x40
/* 802B4228 002AFE88 4B F1 2E E5 */ bl _savegpr_20
/* 802B422C 002AFE8C 7C 74 1B 78 */ mr r20, r3
/* 802B4230 002AFE90 3F E0 80 44 */ lis r31, lbl_8043DA28@ha
/* 802B4234 002AFE94 7C 9E 23 78 */ mr r30, r4
/* 802B4238 002AFE98 7C B5 2B 78 */ mr r21, r5
/* 802B423C 002AFE9C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4240 002AFEA0 7C D6 33 78 */ mr r22, r6
/* 802B4244 002AFEA4 7C F7 3B 78 */ mr r23, r7
/* 802B4248 002AFEA8 7D 18 43 78 */ mr r24, r8
/* 802B424C 002AFEAC 7D 39 4B 78 */ mr r25, r9
/* 802B4250 002AFEB0 7D 5D 53 78 */ mr r29, r10
/* 802B4254 002AFEB4 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l
/* 802B4258 002AFEB8 38 80 00 60 */ li r4, 0x60
/* 802B425C 002AFEBC 38 A0 00 20 */ li r5, 0x20
/* 802B4260 002AFEC0 4B FF 00 D9 */ bl iosAllocAligned
/* 802B4264 002AFEC4 2C 03 00 00 */ cmpwi r3, 0
/* 802B4268 002AFEC8 7C 7C 1B 78 */ mr r28, r3
/* 802B426C 002AFECC 40 82 00 1C */ bne lbl_802B4288
/* 802B4270 002AFED0 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4274 002AFED4 7F 86 E3 78 */ mr r6, r28
/* 802B4278 002AFED8 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B427C 002AFEDC 38 A0 00 60 */ li r5, 0x60
/* 802B4280 002AFEE0 4C C6 31 82 */ crclr 6
/* 802B4284 002AFEE4 4B FF FA 45 */ bl USB_ERR
lbl_802B4288:
/* 802B4288 002AFEE8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B428C 002AFEEC 38 80 00 20 */ li r4, 0x20
/* 802B4290 002AFEF0 38 A0 00 20 */ li r5, 0x20
/* 802B4294 002AFEF4 4B FF 00 A5 */ bl iosAllocAligned
/* 802B4298 002AFEF8 2C 03 00 00 */ cmpwi r3, 0
/* 802B429C 002AFEFC 7C 7B 1B 78 */ mr r27, r3
/* 802B42A0 002AFF00 40 82 00 1C */ bne lbl_802B42BC
/* 802B42A4 002AFF04 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B42A8 002AFF08 7F 66 DB 78 */ mr r6, r27
/* 802B42AC 002AFF0C 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B42B0 002AFF10 38 A0 00 20 */ li r5, 0x20
/* 802B42B4 002AFF14 4C C6 31 82 */ crclr 6
/* 802B42B8 002AFF18 4B FF FA 11 */ bl USB_ERR
lbl_802B42BC:
/* 802B42BC 002AFF1C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B42C0 002AFF20 38 80 00 20 */ li r4, 0x20
/* 802B42C4 002AFF24 38 A0 00 20 */ li r5, 0x20
/* 802B42C8 002AFF28 4B FF 00 71 */ bl iosAllocAligned
/* 802B42CC 002AFF2C 2C 03 00 00 */ cmpwi r3, 0
/* 802B42D0 002AFF30 7C 7A 1B 78 */ mr r26, r3
/* 802B42D4 002AFF34 40 82 00 1C */ bne lbl_802B42F0
/* 802B42D8 002AFF38 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B42DC 002AFF3C 7F 46 D3 78 */ mr r6, r26
/* 802B42E0 002AFF40 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B42E4 002AFF44 38 A0 00 20 */ li r5, 0x20
/* 802B42E8 002AFF48 4C C6 31 82 */ crclr 6
/* 802B42EC 002AFF4C 4B FF F9 DD */ bl USB_ERR
lbl_802B42F0:
/* 802B42F0 002AFF50 2C 1C 00 00 */ cmpwi r28, 0
/* 802B42F4 002AFF54 41 82 00 14 */ beq lbl_802B4308
/* 802B42F8 002AFF58 2C 1B 00 00 */ cmpwi r27, 0
/* 802B42FC 002AFF5C 41 82 00 0C */ beq lbl_802B4308
/* 802B4300 002AFF60 2C 1A 00 00 */ cmpwi r26, 0
/* 802B4304 002AFF64 40 82 00 18 */ bne lbl_802B431C
lbl_802B4308:
/* 802B4308 002AFF68 38 7F 02 94 */ addi r3, r31, 0x294
/* 802B430C 002AFF6C 4C C6 31 82 */ crclr 6
/* 802B4310 002AFF70 4B FF F9 B9 */ bl USB_ERR
/* 802B4314 002AFF74 3B A0 FF EA */ li r29, -22
/* 802B4318 002AFF78 48 00 01 74 */ b lbl_802B448C
lbl_802B431C:
/* 802B431C 002AFF7C 9B DB 00 00 */ stb r30, 0(r27)
/* 802B4320 002AFF80 38 A0 00 01 */ li r5, 1
/* 802B4324 002AFF84 38 00 00 02 */ li r0, 2
/* 802B4328 002AFF88 7F 63 DB 78 */ mr r3, r27
/* 802B432C 002AFF8C B2 BA 00 00 */ sth r21, 0(r26)
/* 802B4330 002AFF90 38 80 00 20 */ li r4, 0x20
/* 802B4334 002AFF94 93 7C 00 00 */ stw r27, 0(r28)
/* 802B4338 002AFF98 90 BC 00 04 */ stw r5, 4(r28)
/* 802B433C 002AFF9C 93 5C 00 08 */ stw r26, 8(r28)
/* 802B4340 002AFFA0 90 1C 00 0C */ stw r0, 0xc(r28)
/* 802B4344 002AFFA4 92 DC 00 10 */ stw r22, 0x10(r28)
/* 802B4348 002AFFA8 92 BC 00 14 */ stw r21, 0x14(r28)
/* 802B434C 002AFFAC 4B FB 63 09 */ bl DCFlushRange
/* 802B4350 002AFFB0 7F 43 D3 78 */ mr r3, r26
/* 802B4354 002AFFB4 38 80 00 20 */ li r4, 0x20
/* 802B4358 002AFFB8 4B FB 62 FD */ bl DCFlushRange
/* 802B435C 002AFFBC 7F 83 E3 78 */ mr r3, r28
/* 802B4360 002AFFC0 38 80 00 60 */ li r4, 0x60
/* 802B4364 002AFFC4 4B FB 62 F1 */ bl DCFlushRange
/* 802B4368 002AFFC8 2C 1D 00 00 */ cmpwi r29, 0
/* 802B436C 002AFFCC 40 82 00 34 */ bne lbl_802B43A0
/* 802B4370 002AFFD0 7E 83 A3 78 */ mr r3, r20
/* 802B4374 002AFFD4 7E E4 BB 78 */ mr r4, r23
/* 802B4378 002AFFD8 7F 87 E3 78 */ mr r7, r28
/* 802B437C 002AFFDC 38 A0 00 02 */ li r5, 2
/* 802B4380 002AFFE0 38 C0 00 01 */ li r6, 1
/* 802B4384 002AFFE4 4B FE FA BD */ bl IOS_Ioctlv
/* 802B4388 002AFFE8 7C 7D 1B 78 */ mr r29, r3
/* 802B438C 002AFFEC 38 7F 02 B8 */ addi r3, r31, 0x2b8
/* 802B4390 002AFFF0 7F A4 EB 78 */ mr r4, r29
/* 802B4394 002AFFF4 4C C6 31 82 */ crclr 6
/* 802B4398 002AFFF8 4B FF F8 89 */ bl USB_LOG
/* 802B439C 002AFFFC 48 00 00 F0 */ b lbl_802B448C
lbl_802B43A0:
/* 802B43A0 002B0000 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B43A4 002B0004 38 80 00 80 */ li r4, 0x80
/* 802B43A8 002B0008 38 A0 00 20 */ li r5, 0x20
/* 802B43AC 002B000C 4B FE FF 8D */ bl iosAllocAligned
/* 802B43B0 002B0010 2C 03 00 00 */ cmpwi r3, 0
/* 802B43B4 002B0014 7C 7E 1B 78 */ mr r30, r3
/* 802B43B8 002B0018 40 82 00 1C */ bne lbl_802B43D4
/* 802B43BC 002B001C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B43C0 002B0020 7F C6 F3 78 */ mr r6, r30
/* 802B43C4 002B0024 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B43C8 002B0028 38 A0 00 80 */ li r5, 0x80
/* 802B43CC 002B002C 4C C6 31 82 */ crclr 6
/* 802B43D0 002B0030 4B FF F8 F9 */ bl USB_ERR
lbl_802B43D4:
/* 802B43D4 002B0034 2C 1E 00 00 */ cmpwi r30, 0
/* 802B43D8 002B0038 40 82 00 18 */ bne lbl_802B43F0
/* 802B43DC 002B003C 38 7F 02 D8 */ addi r3, r31, 0x2d8
/* 802B43E0 002B0040 4C C6 31 82 */ crclr 6
/* 802B43E4 002B0044 4B FF F8 E5 */ bl USB_ERR
/* 802B43E8 002B0048 3B A0 FF EA */ li r29, -22
/* 802B43EC 002B004C 48 00 00 A0 */ b lbl_802B448C
lbl_802B43F0:
/* 802B43F0 002B0050 93 1E 00 00 */ stw r24, 0(r30)
/* 802B43F4 002B0054 7F 04 C3 78 */ mr r4, r24
/* 802B43F8 002B0058 7F 25 CB 78 */ mr r5, r25
/* 802B43FC 002B005C 38 7F 03 04 */ addi r3, r31, 0x304
/* 802B4400 002B0060 93 3E 00 04 */ stw r25, 4(r30)
/* 802B4404 002B0064 4C C6 31 82 */ crclr 6
/* 802B4408 002B0068 4B FF F8 19 */ bl USB_LOG
/* 802B440C 002B006C 38 00 00 03 */ li r0, 3
/* 802B4410 002B0070 3D 00 80 2B */ lis r8, _intBlkCtrlCb@ha
/* 802B4414 002B0074 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802B4418 002B0078 7E 83 A3 78 */ mr r3, r20
/* 802B441C 002B007C 7E E4 BB 78 */ mr r4, r23
/* 802B4420 002B0080 7F 87 E3 78 */ mr r7, r28
/* 802B4424 002B0084 93 7E 00 0C */ stw r27, 0xc(r30)
/* 802B4428 002B0088 7F C9 F3 78 */ mr r9, r30
/* 802B442C 002B008C 39 08 3E 74 */ addi r8, r8, _intBlkCtrlCb@l
/* 802B4430 002B0090 38 A0 00 02 */ li r5, 2
/* 802B4434 002B0094 93 5E 00 10 */ stw r26, 0x10(r30)
/* 802B4438 002B0098 38 C0 00 01 */ li r6, 1
/* 802B443C 002B009C 93 9E 00 14 */ stw r28, 0x14(r30)
/* 802B4440 002B00A0 92 DE 00 40 */ stw r22, 0x40(r30)
/* 802B4444 002B00A4 B2 BE 00 44 */ sth r21, 0x44(r30)
/* 802B4448 002B00A8 4B FE F9 15 */ bl IOS_IoctlvAsync
/* 802B444C 002B00AC 2C 03 00 00 */ cmpwi r3, 0
/* 802B4450 002B00B0 7C 7D 1B 78 */ mr r29, r3
/* 802B4454 002B00B4 40 80 00 D4 */ bge lbl_802B4528
/* 802B4458 002B00B8 2C 1E 00 00 */ cmpwi r30, 0
/* 802B445C 002B00BC 41 82 00 30 */ beq lbl_802B448C
/* 802B4460 002B00C0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4464 002B00C4 7F C4 F3 78 */ mr r4, r30
/* 802B4468 002B00C8 4B FE FE D5 */ bl iosFree
/* 802B446C 002B00CC 2C 03 00 00 */ cmpwi r3, 0
/* 802B4470 002B00D0 40 80 00 1C */ bge lbl_802B448C
/* 802B4474 002B00D4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4478 002B00D8 7C 66 1B 78 */ mr r6, r3
/* 802B447C 002B00DC 7F C5 F3 78 */ mr r5, r30
/* 802B4480 002B00E0 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4484 002B00E4 4C C6 31 82 */ crclr 6
/* 802B4488 002B00E8 4B FF F8 41 */ bl USB_ERR
lbl_802B448C:
/* 802B448C 002B00EC 2C 1B 00 00 */ cmpwi r27, 0
/* 802B4490 002B00F0 41 82 00 30 */ beq lbl_802B44C0
/* 802B4494 002B00F4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4498 002B00F8 7F 64 DB 78 */ mr r4, r27
/* 802B449C 002B00FC 4B FE FE A1 */ bl iosFree
/* 802B44A0 002B0100 2C 03 00 00 */ cmpwi r3, 0
/* 802B44A4 002B0104 40 80 00 1C */ bge lbl_802B44C0
/* 802B44A8 002B0108 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B44AC 002B010C 7C 66 1B 78 */ mr r6, r3
/* 802B44B0 002B0110 7F 65 DB 78 */ mr r5, r27
/* 802B44B4 002B0114 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B44B8 002B0118 4C C6 31 82 */ crclr 6
/* 802B44BC 002B011C 4B FF F8 0D */ bl USB_ERR
lbl_802B44C0:
/* 802B44C0 002B0120 2C 1A 00 00 */ cmpwi r26, 0
/* 802B44C4 002B0124 41 82 00 30 */ beq lbl_802B44F4
/* 802B44C8 002B0128 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B44CC 002B012C 7F 44 D3 78 */ mr r4, r26
/* 802B44D0 002B0130 4B FE FE 6D */ bl iosFree
/* 802B44D4 002B0134 2C 03 00 00 */ cmpwi r3, 0
/* 802B44D8 002B0138 40 80 00 1C */ bge lbl_802B44F4
/* 802B44DC 002B013C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B44E0 002B0140 7C 66 1B 78 */ mr r6, r3
/* 802B44E4 002B0144 7F 45 D3 78 */ mr r5, r26
/* 802B44E8 002B0148 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B44EC 002B014C 4C C6 31 82 */ crclr 6
/* 802B44F0 002B0150 4B FF F7 D9 */ bl USB_ERR
lbl_802B44F4:
/* 802B44F4 002B0154 2C 1C 00 00 */ cmpwi r28, 0
/* 802B44F8 002B0158 41 82 00 30 */ beq lbl_802B4528
/* 802B44FC 002B015C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4500 002B0160 7F 84 E3 78 */ mr r4, r28
/* 802B4504 002B0164 4B FE FE 39 */ bl iosFree
/* 802B4508 002B0168 2C 03 00 00 */ cmpwi r3, 0
/* 802B450C 002B016C 40 80 00 1C */ bge lbl_802B4528
/* 802B4510 002B0170 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4514 002B0174 7C 66 1B 78 */ mr r6, r3
/* 802B4518 002B0178 7F 85 E3 78 */ mr r5, r28
/* 802B451C 002B017C 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4520 002B0180 4C C6 31 82 */ crclr 6
/* 802B4524 002B0184 4B FF F7 A5 */ bl USB_ERR
lbl_802B4528:
/* 802B4528 002B0188 39 61 00 40 */ addi r11, r1, 0x40
/* 802B452C 002B018C 7F A3 EB 78 */ mr r3, r29
/* 802B4530 002B0190 4B F1 2C 29 */ bl _restgpr_20
/* 802B4534 002B0194 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802B4538 002B0198 7C 08 03 A6 */ mtlr r0
/* 802B453C 002B019C 38 21 00 40 */ addi r1, r1, 0x40
/* 802B4540 002B01A0 4E 80 00 20 */ blr
.global IUSB_ReadIntrMsgAsync
IUSB_ReadIntrMsgAsync:
/* 802B4544 002B01A4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B4548 002B01A8 7C 08 02 A6 */ mflr r0
/* 802B454C 002B01AC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B4550 002B01B0 39 61 00 20 */ addi r11, r1, 0x20
/* 802B4554 002B01B4 4B F1 2B D1 */ bl _savegpr_26
/* 802B4558 002B01B8 7C BC 2B 78 */ mr r28, r5
/* 802B455C 002B01BC 7C DD 33 78 */ mr r29, r6
/* 802B4560 002B01C0 7C 7A 1B 78 */ mr r26, r3
/* 802B4564 002B01C4 7C 9B 23 78 */ mr r27, r4
/* 802B4568 002B01C8 7C FE 3B 78 */ mr r30, r7
/* 802B456C 002B01CC 7D 1F 43 78 */ mr r31, r8
/* 802B4570 002B01D0 7F A3 EB 78 */ mr r3, r29
/* 802B4574 002B01D4 7F 84 E3 78 */ mr r4, r28
/* 802B4578 002B01D8 4B FB 60 B1 */ bl DCInvalidateRange
/* 802B457C 002B01DC 7F 43 D3 78 */ mr r3, r26
/* 802B4580 002B01E0 7F 64 DB 78 */ mr r4, r27
/* 802B4584 002B01E4 7F 85 E3 78 */ mr r5, r28
/* 802B4588 002B01E8 7F A6 EB 78 */ mr r6, r29
/* 802B458C 002B01EC 7F C8 F3 78 */ mr r8, r30
/* 802B4590 002B01F0 7F E9 FB 78 */ mr r9, r31
/* 802B4594 002B01F4 38 E0 00 02 */ li r7, 2
/* 802B4598 002B01F8 39 40 00 01 */ li r10, 1
/* 802B459C 002B01FC 4B FF FC 7D */ bl __IntrBlkMsgInt
/* 802B45A0 002B0200 39 61 00 20 */ addi r11, r1, 0x20
/* 802B45A4 002B0204 4B F1 2B CD */ bl _restgpr_26
/* 802B45A8 002B0208 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B45AC 002B020C 7C 08 03 A6 */ mtlr r0
/* 802B45B0 002B0210 38 21 00 20 */ addi r1, r1, 0x20
/* 802B45B4 002B0214 4E 80 00 20 */ blr
.global IUSB_ReadBlkMsgAsync
IUSB_ReadBlkMsgAsync:
/* 802B45B8 002B0218 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B45BC 002B021C 7C 08 02 A6 */ mflr r0
/* 802B45C0 002B0220 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B45C4 002B0224 39 61 00 20 */ addi r11, r1, 0x20
/* 802B45C8 002B0228 4B F1 2B 5D */ bl _savegpr_26
/* 802B45CC 002B022C 7C BC 2B 78 */ mr r28, r5
/* 802B45D0 002B0230 7C DD 33 78 */ mr r29, r6
/* 802B45D4 002B0234 7C 7A 1B 78 */ mr r26, r3
/* 802B45D8 002B0238 7C 9B 23 78 */ mr r27, r4
/* 802B45DC 002B023C 7C FE 3B 78 */ mr r30, r7
/* 802B45E0 002B0240 7D 1F 43 78 */ mr r31, r8
/* 802B45E4 002B0244 7F A3 EB 78 */ mr r3, r29
/* 802B45E8 002B0248 7F 84 E3 78 */ mr r4, r28
/* 802B45EC 002B024C 4B FB 60 3D */ bl DCInvalidateRange
/* 802B45F0 002B0250 7F 43 D3 78 */ mr r3, r26
/* 802B45F4 002B0254 7F 64 DB 78 */ mr r4, r27
/* 802B45F8 002B0258 7F 85 E3 78 */ mr r5, r28
/* 802B45FC 002B025C 7F A6 EB 78 */ mr r6, r29
/* 802B4600 002B0260 7F C8 F3 78 */ mr r8, r30
/* 802B4604 002B0264 7F E9 FB 78 */ mr r9, r31
/* 802B4608 002B0268 38 E0 00 01 */ li r7, 1
/* 802B460C 002B026C 39 40 00 01 */ li r10, 1
/* 802B4610 002B0270 4B FF FC 09 */ bl __IntrBlkMsgInt
/* 802B4614 002B0274 39 61 00 20 */ addi r11, r1, 0x20
/* 802B4618 002B0278 4B F1 2B 59 */ bl _restgpr_26
/* 802B461C 002B027C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B4620 002B0280 7C 08 03 A6 */ mtlr r0
/* 802B4624 002B0284 38 21 00 20 */ addi r1, r1, 0x20
/* 802B4628 002B0288 4E 80 00 20 */ blr
.global IUSB_WriteBlkMsgAsync
IUSB_WriteBlkMsgAsync:
/* 802B462C 002B028C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B4630 002B0290 7C 08 02 A6 */ mflr r0
/* 802B4634 002B0294 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B4638 002B0298 39 61 00 20 */ addi r11, r1, 0x20
/* 802B463C 002B029C 4B F1 2A E9 */ bl _savegpr_26
/* 802B4640 002B02A0 7C BC 2B 78 */ mr r28, r5
/* 802B4644 002B02A4 7C DD 33 78 */ mr r29, r6
/* 802B4648 002B02A8 7C 7A 1B 78 */ mr r26, r3
/* 802B464C 002B02AC 7C 9B 23 78 */ mr r27, r4
/* 802B4650 002B02B0 7C FE 3B 78 */ mr r30, r7
/* 802B4654 002B02B4 7D 1F 43 78 */ mr r31, r8
/* 802B4658 002B02B8 7F A3 EB 78 */ mr r3, r29
/* 802B465C 002B02BC 7F 84 E3 78 */ mr r4, r28
/* 802B4660 002B02C0 4B FB 5F F5 */ bl DCFlushRange
/* 802B4664 002B02C4 7F 43 D3 78 */ mr r3, r26
/* 802B4668 002B02C8 7F 64 DB 78 */ mr r4, r27
/* 802B466C 002B02CC 7F 85 E3 78 */ mr r5, r28
/* 802B4670 002B02D0 7F A6 EB 78 */ mr r6, r29
/* 802B4674 002B02D4 7F C8 F3 78 */ mr r8, r30
/* 802B4678 002B02D8 7F E9 FB 78 */ mr r9, r31
/* 802B467C 002B02DC 38 E0 00 01 */ li r7, 1
/* 802B4680 002B02E0 39 40 00 01 */ li r10, 1
/* 802B4684 002B02E4 4B FF FB 95 */ bl __IntrBlkMsgInt
/* 802B4688 002B02E8 39 61 00 20 */ addi r11, r1, 0x20
/* 802B468C 002B02EC 4B F1 2A E5 */ bl _restgpr_26
/* 802B4690 002B02F0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B4694 002B02F4 7C 08 03 A6 */ mtlr r0
/* 802B4698 002B02F8 38 21 00 20 */ addi r1, r1, 0x20
/* 802B469C 002B02FC 4E 80 00 20 */ blr
.global __CtrlMsgInt
__CtrlMsgInt:
/* 802B46A0 002B0300 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802B46A4 002B0304 7C 08 02 A6 */ mflr r0
/* 802B46A8 002B0308 90 01 00 54 */ stw r0, 0x54(r1)
/* 802B46AC 002B030C 39 61 00 50 */ addi r11, r1, 0x50
/* 802B46B0 002B0310 4B F1 2A 45 */ bl __save_gpr
/* 802B46B4 002B0314 2C 09 00 00 */ cmpwi r9, 0
/* 802B46B8 002B0318 3F E0 80 44 */ lis r31, lbl_8043DA28@ha
/* 802B46BC 002B031C 82 E1 00 58 */ lwz r23, 0x58(r1)
/* 802B46C0 002B0320 7C 6F 1B 78 */ mr r15, r3
/* 802B46C4 002B0324 89 C1 00 5F */ lbz r14, 0x5f(r1)
/* 802B46C8 002B0328 7C 90 23 78 */ mr r16, r4
/* 802B46CC 002B032C 7C B1 2B 78 */ mr r17, r5
/* 802B46D0 002B0330 7C D2 33 78 */ mr r18, r6
/* 802B46D4 002B0334 7C F3 3B 78 */ mr r19, r7
/* 802B46D8 002B0338 7D 14 43 78 */ mr r20, r8
/* 802B46DC 002B033C 7D 35 4B 78 */ mr r21, r9
/* 802B46E0 002B0340 7D 56 53 78 */ mr r22, r10
/* 802B46E4 002B0344 3B FF DA 28 */ addi r31, r31, lbl_8043DA28@l
/* 802B46E8 002B0348 40 82 00 0C */ bne lbl_802B46F4
/* 802B46EC 002B034C 2C 08 00 00 */ cmpwi r8, 0
/* 802B46F0 002B0350 40 82 00 0C */ bne lbl_802B46FC
lbl_802B46F4:
/* 802B46F4 002B0354 55 20 06 FF */ clrlwi. r0, r9, 0x1b
/* 802B46F8 002B0358 41 82 00 18 */ beq lbl_802B4710
lbl_802B46FC:
/* 802B46FC 002B035C 38 7F 03 28 */ addi r3, r31, 0x328
/* 802B4700 002B0360 39 E0 FF FC */ li r15, -4
/* 802B4704 002B0364 4C C6 31 82 */ crclr 6
/* 802B4708 002B0368 4B FF F5 C1 */ bl USB_ERR
/* 802B470C 002B036C 48 00 05 0C */ b lbl_802B4C18
lbl_802B4710:
/* 802B4710 002B0370 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4714 002B0374 38 80 00 E0 */ li r4, 0xe0
/* 802B4718 002B0378 38 A0 00 20 */ li r5, 0x20
/* 802B471C 002B037C 4B FE FC 1D */ bl iosAllocAligned
/* 802B4720 002B0380 2C 03 00 00 */ cmpwi r3, 0
/* 802B4724 002B0384 7C 7E 1B 78 */ mr r30, r3
/* 802B4728 002B0388 40 82 00 1C */ bne lbl_802B4744
/* 802B472C 002B038C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4730 002B0390 7F C6 F3 78 */ mr r6, r30
/* 802B4734 002B0394 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B4738 002B0398 38 A0 00 E0 */ li r5, 0xe0
/* 802B473C 002B039C 4C C6 31 82 */ crclr 6
/* 802B4740 002B03A0 4B FF F5 89 */ bl USB_ERR
lbl_802B4744:
/* 802B4744 002B03A4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4748 002B03A8 38 80 00 20 */ li r4, 0x20
/* 802B474C 002B03AC 38 A0 00 20 */ li r5, 0x20
/* 802B4750 002B03B0 4B FE FB E9 */ bl iosAllocAligned
/* 802B4754 002B03B4 2C 03 00 00 */ cmpwi r3, 0
/* 802B4758 002B03B8 7C 7D 1B 78 */ mr r29, r3
/* 802B475C 002B03BC 40 82 00 1C */ bne lbl_802B4778
/* 802B4760 002B03C0 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4764 002B03C4 7F A6 EB 78 */ mr r6, r29
/* 802B4768 002B03C8 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B476C 002B03CC 38 A0 00 20 */ li r5, 0x20
/* 802B4770 002B03D0 4C C6 31 82 */ crclr 6
/* 802B4774 002B03D4 4B FF F5 55 */ bl USB_ERR
lbl_802B4778:
/* 802B4778 002B03D8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B477C 002B03DC 38 80 00 20 */ li r4, 0x20
/* 802B4780 002B03E0 38 A0 00 20 */ li r5, 0x20
/* 802B4784 002B03E4 4B FE FB B5 */ bl iosAllocAligned
/* 802B4788 002B03E8 2C 03 00 00 */ cmpwi r3, 0
/* 802B478C 002B03EC 7C 7C 1B 78 */ mr r28, r3
/* 802B4790 002B03F0 40 82 00 1C */ bne lbl_802B47AC
/* 802B4794 002B03F4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4798 002B03F8 7F 86 E3 78 */ mr r6, r28
/* 802B479C 002B03FC 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B47A0 002B0400 38 A0 00 20 */ li r5, 0x20
/* 802B47A4 002B0404 4C C6 31 82 */ crclr 6
/* 802B47A8 002B0408 4B FF F5 21 */ bl USB_ERR
lbl_802B47AC:
/* 802B47AC 002B040C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B47B0 002B0410 38 80 00 20 */ li r4, 0x20
/* 802B47B4 002B0414 38 A0 00 20 */ li r5, 0x20
/* 802B47B8 002B0418 4B FE FB 81 */ bl iosAllocAligned
/* 802B47BC 002B041C 2C 03 00 00 */ cmpwi r3, 0
/* 802B47C0 002B0420 7C 7B 1B 78 */ mr r27, r3
/* 802B47C4 002B0424 40 82 00 1C */ bne lbl_802B47E0
/* 802B47C8 002B0428 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B47CC 002B042C 7F 66 DB 78 */ mr r6, r27
/* 802B47D0 002B0430 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B47D4 002B0434 38 A0 00 20 */ li r5, 0x20
/* 802B47D8 002B0438 4C C6 31 82 */ crclr 6
/* 802B47DC 002B043C 4B FF F4 ED */ bl USB_ERR
lbl_802B47E0:
/* 802B47E0 002B0440 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B47E4 002B0444 38 80 00 20 */ li r4, 0x20
/* 802B47E8 002B0448 38 A0 00 20 */ li r5, 0x20
/* 802B47EC 002B044C 4B FE FB 4D */ bl iosAllocAligned
/* 802B47F0 002B0450 2C 03 00 00 */ cmpwi r3, 0
/* 802B47F4 002B0454 7C 7A 1B 78 */ mr r26, r3
/* 802B47F8 002B0458 40 82 00 1C */ bne lbl_802B4814
/* 802B47FC 002B045C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4800 002B0460 7F 46 D3 78 */ mr r6, r26
/* 802B4804 002B0464 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B4808 002B0468 38 A0 00 20 */ li r5, 0x20
/* 802B480C 002B046C 4C C6 31 82 */ crclr 6
/* 802B4810 002B0470 4B FF F4 B9 */ bl USB_ERR
lbl_802B4814:
/* 802B4814 002B0474 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4818 002B0478 38 80 00 20 */ li r4, 0x20
/* 802B481C 002B047C 38 A0 00 20 */ li r5, 0x20
/* 802B4820 002B0480 4B FE FB 19 */ bl iosAllocAligned
/* 802B4824 002B0484 2C 03 00 00 */ cmpwi r3, 0
/* 802B4828 002B0488 7C 79 1B 78 */ mr r25, r3
/* 802B482C 002B048C 40 82 00 1C */ bne lbl_802B4848
/* 802B4830 002B0490 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4834 002B0494 7F 26 CB 78 */ mr r6, r25
/* 802B4838 002B0498 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B483C 002B049C 38 A0 00 20 */ li r5, 0x20
/* 802B4840 002B04A0 4C C6 31 82 */ crclr 6
/* 802B4844 002B04A4 4B FF F4 85 */ bl USB_ERR
lbl_802B4848:
/* 802B4848 002B04A8 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B484C 002B04AC 38 80 00 20 */ li r4, 0x20
/* 802B4850 002B04B0 38 A0 00 20 */ li r5, 0x20
/* 802B4854 002B04B4 4B FE FA E5 */ bl iosAllocAligned
/* 802B4858 002B04B8 2C 03 00 00 */ cmpwi r3, 0
/* 802B485C 002B04BC 7C 78 1B 78 */ mr r24, r3
/* 802B4860 002B04C0 40 82 00 1C */ bne lbl_802B487C
/* 802B4864 002B04C4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4868 002B04C8 7F 06 C3 78 */ mr r6, r24
/* 802B486C 002B04CC 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B4870 002B04D0 38 A0 00 20 */ li r5, 0x20
/* 802B4874 002B04D4 4C C6 31 82 */ crclr 6
/* 802B4878 002B04D8 4B FF F4 51 */ bl USB_ERR
lbl_802B487C:
/* 802B487C 002B04DC 2C 1D 00 00 */ cmpwi r29, 0
/* 802B4880 002B04E0 41 82 00 34 */ beq lbl_802B48B4
/* 802B4884 002B04E4 2C 1C 00 00 */ cmpwi r28, 0
/* 802B4888 002B04E8 41 82 00 2C */ beq lbl_802B48B4
/* 802B488C 002B04EC 2C 1B 00 00 */ cmpwi r27, 0
/* 802B4890 002B04F0 41 82 00 24 */ beq lbl_802B48B4
/* 802B4894 002B04F4 2C 1A 00 00 */ cmpwi r26, 0
/* 802B4898 002B04F8 41 82 00 1C */ beq lbl_802B48B4
/* 802B489C 002B04FC 2C 19 00 00 */ cmpwi r25, 0
/* 802B48A0 002B0500 41 82 00 14 */ beq lbl_802B48B4
/* 802B48A4 002B0504 2C 18 00 00 */ cmpwi r24, 0
/* 802B48A8 002B0508 41 82 00 0C */ beq lbl_802B48B4
/* 802B48AC 002B050C 2C 1E 00 00 */ cmpwi r30, 0
/* 802B48B0 002B0510 40 82 00 18 */ bne lbl_802B48C8
lbl_802B48B4:
/* 802B48B4 002B0514 38 7F 03 44 */ addi r3, r31, 0x344
/* 802B48B8 002B0518 4C C6 31 82 */ crclr 6
/* 802B48BC 002B051C 4B FF F4 0D */ bl USB_ERR
/* 802B48C0 002B0520 39 E0 FF EA */ li r15, -22
/* 802B48C4 002B0524 48 00 01 E8 */ b lbl_802B4AAC
lbl_802B48C8:
/* 802B48C8 002B0528 9A 1D 00 00 */ stb r16, 0(r29)
/* 802B48CC 002B052C 38 C0 00 00 */ li r6, 0
/* 802B48D0 002B0530 38 A0 00 01 */ li r5, 1
/* 802B48D4 002B0534 38 00 00 02 */ li r0, 2
/* 802B48D8 002B0538 9A 3C 00 00 */ stb r17, 0(r28)
/* 802B48DC 002B053C 7F A3 EB 78 */ mr r3, r29
/* 802B48E0 002B0540 38 80 00 20 */ li r4, 0x20
/* 802B48E4 002B0544 7E 40 D7 2C */ sthbrx r18, 0, r26
/* 802B48E8 002B0548 7E 60 CF 2C */ sthbrx r19, 0, r25
/* 802B48EC 002B054C 7E 80 C7 2C */ sthbrx r20, 0, r24
/* 802B48F0 002B0550 98 DB 00 00 */ stb r6, 0(r27)
/* 802B48F4 002B0554 93 BE 00 00 */ stw r29, 0(r30)
/* 802B48F8 002B0558 90 BE 00 04 */ stw r5, 4(r30)
/* 802B48FC 002B055C 93 9E 00 08 */ stw r28, 8(r30)
/* 802B4900 002B0560 90 BE 00 0C */ stw r5, 0xc(r30)
/* 802B4904 002B0564 93 5E 00 10 */ stw r26, 0x10(r30)
/* 802B4908 002B0568 90 1E 00 14 */ stw r0, 0x14(r30)
/* 802B490C 002B056C 93 3E 00 18 */ stw r25, 0x18(r30)
/* 802B4910 002B0570 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 802B4914 002B0574 93 1E 00 20 */ stw r24, 0x20(r30)
/* 802B4918 002B0578 90 1E 00 24 */ stw r0, 0x24(r30)
/* 802B491C 002B057C 93 7E 00 28 */ stw r27, 0x28(r30)
/* 802B4920 002B0580 90 BE 00 2C */ stw r5, 0x2c(r30)
/* 802B4924 002B0584 92 BE 00 30 */ stw r21, 0x30(r30)
/* 802B4928 002B0588 92 9E 00 34 */ stw r20, 0x34(r30)
/* 802B492C 002B058C 4B FB 5D 29 */ bl DCFlushRange
/* 802B4930 002B0590 7F 83 E3 78 */ mr r3, r28
/* 802B4934 002B0594 38 80 00 20 */ li r4, 0x20
/* 802B4938 002B0598 4B FB 5D 1D */ bl DCFlushRange
/* 802B493C 002B059C 7F 63 DB 78 */ mr r3, r27
/* 802B4940 002B05A0 38 80 00 20 */ li r4, 0x20
/* 802B4944 002B05A4 4B FB 5D 11 */ bl DCFlushRange
/* 802B4948 002B05A8 7F 43 D3 78 */ mr r3, r26
/* 802B494C 002B05AC 38 80 00 20 */ li r4, 0x20
/* 802B4950 002B05B0 4B FB 5D 05 */ bl DCFlushRange
/* 802B4954 002B05B4 7F 23 CB 78 */ mr r3, r25
/* 802B4958 002B05B8 38 80 00 20 */ li r4, 0x20
/* 802B495C 002B05BC 4B FB 5C F9 */ bl DCFlushRange
/* 802B4960 002B05C0 7F 03 C3 78 */ mr r3, r24
/* 802B4964 002B05C4 38 80 00 20 */ li r4, 0x20
/* 802B4968 002B05C8 4B FB 5C ED */ bl DCFlushRange
/* 802B496C 002B05CC 7F C3 F3 78 */ mr r3, r30
/* 802B4970 002B05D0 38 80 00 E0 */ li r4, 0xe0
/* 802B4974 002B05D4 4B FB 5C E1 */ bl DCFlushRange
/* 802B4978 002B05D8 2C 0E 00 00 */ cmpwi r14, 0
/* 802B497C 002B05DC 40 82 00 24 */ bne lbl_802B49A0
/* 802B4980 002B05E0 7D E3 7B 78 */ mr r3, r15
/* 802B4984 002B05E4 7F C7 F3 78 */ mr r7, r30
/* 802B4988 002B05E8 38 80 00 00 */ li r4, 0
/* 802B498C 002B05EC 38 A0 00 06 */ li r5, 6
/* 802B4990 002B05F0 38 C0 00 01 */ li r6, 1
/* 802B4994 002B05F4 4B FE F4 AD */ bl IOS_Ioctlv
/* 802B4998 002B05F8 7C 6F 1B 78 */ mr r15, r3
/* 802B499C 002B05FC 48 00 01 10 */ b lbl_802B4AAC
lbl_802B49A0:
/* 802B49A0 002B0600 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B49A4 002B0604 38 80 00 80 */ li r4, 0x80
/* 802B49A8 002B0608 38 A0 00 20 */ li r5, 0x20
/* 802B49AC 002B060C 4B FE F9 8D */ bl iosAllocAligned
/* 802B49B0 002B0610 2C 03 00 00 */ cmpwi r3, 0
/* 802B49B4 002B0614 7C 6E 1B 78 */ mr r14, r3
/* 802B49B8 002B0618 40 82 00 1C */ bne lbl_802B49D4
/* 802B49BC 002B061C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B49C0 002B0620 7D C6 73 78 */ mr r6, r14
/* 802B49C4 002B0624 38 7F 01 3C */ addi r3, r31, 0x13c
/* 802B49C8 002B0628 38 A0 00 80 */ li r5, 0x80
/* 802B49CC 002B062C 4C C6 31 82 */ crclr 6
/* 802B49D0 002B0630 4B FF F2 F9 */ bl USB_ERR
lbl_802B49D4:
/* 802B49D4 002B0634 2C 0E 00 00 */ cmpwi r14, 0
/* 802B49D8 002B0638 40 82 00 18 */ bne lbl_802B49F0
/* 802B49DC 002B063C 38 7F 03 64 */ addi r3, r31, 0x364
/* 802B49E0 002B0640 4C C6 31 82 */ crclr 6
/* 802B49E4 002B0644 4B FF F2 E5 */ bl USB_ERR
/* 802B49E8 002B0648 39 E0 FF EA */ li r15, -22
/* 802B49EC 002B064C 48 00 00 C0 */ b lbl_802B4AAC
lbl_802B49F0:
/* 802B49F0 002B0650 92 CE 00 00 */ stw r22, 0(r14)
/* 802B49F4 002B0654 7E C4 B3 78 */ mr r4, r22
/* 802B49F8 002B0658 7E E5 BB 78 */ mr r5, r23
/* 802B49FC 002B065C 38 7F 03 8C */ addi r3, r31, 0x38c
/* 802B4A00 002B0660 92 EE 00 04 */ stw r23, 4(r14)
/* 802B4A04 002B0664 4C C6 31 82 */ crclr 6
/* 802B4A08 002B0668 4B FF F2 19 */ bl USB_LOG
/* 802B4A0C 002B066C 38 00 00 07 */ li r0, 7
/* 802B4A10 002B0670 3D 00 80 2B */ lis r8, _intBlkCtrlCb@ha
/* 802B4A14 002B0674 90 0E 00 2C */ stw r0, 0x2c(r14)
/* 802B4A18 002B0678 7D E3 7B 78 */ mr r3, r15
/* 802B4A1C 002B067C 7F C7 F3 78 */ mr r7, r30
/* 802B4A20 002B0680 7D C9 73 78 */ mr r9, r14
/* 802B4A24 002B0684 93 AE 00 0C */ stw r29, 0xc(r14)
/* 802B4A28 002B0688 39 08 3E 74 */ addi r8, r8, _intBlkCtrlCb@l
/* 802B4A2C 002B068C 38 80 00 00 */ li r4, 0
/* 802B4A30 002B0690 38 A0 00 06 */ li r5, 6
/* 802B4A34 002B0694 93 8E 00 10 */ stw r28, 0x10(r14)
/* 802B4A38 002B0698 38 C0 00 01 */ li r6, 1
/* 802B4A3C 002B069C 93 4E 00 14 */ stw r26, 0x14(r14)
/* 802B4A40 002B06A0 93 2E 00 18 */ stw r25, 0x18(r14)
/* 802B4A44 002B06A4 93 0E 00 1C */ stw r24, 0x1c(r14)
/* 802B4A48 002B06A8 93 6E 00 20 */ stw r27, 0x20(r14)
/* 802B4A4C 002B06AC 93 CE 00 24 */ stw r30, 0x24(r14)
/* 802B4A50 002B06B0 92 AE 00 40 */ stw r21, 0x40(r14)
/* 802B4A54 002B06B4 B2 8E 00 44 */ sth r20, 0x44(r14)
/* 802B4A58 002B06B8 4B FE F3 05 */ bl IOS_IoctlvAsync
/* 802B4A5C 002B06BC 7C 6F 1B 78 */ mr r15, r3
/* 802B4A60 002B06C0 38 7F 03 B0 */ addi r3, r31, 0x3b0
/* 802B4A64 002B06C4 7D E4 7B 78 */ mr r4, r15
/* 802B4A68 002B06C8 4C C6 31 82 */ crclr 6
/* 802B4A6C 002B06CC 4B FF F1 B5 */ bl USB_LOG
/* 802B4A70 002B06D0 2C 0F 00 00 */ cmpwi r15, 0
/* 802B4A74 002B06D4 40 80 01 A4 */ bge lbl_802B4C18
/* 802B4A78 002B06D8 2C 0E 00 00 */ cmpwi r14, 0
/* 802B4A7C 002B06DC 41 82 00 30 */ beq lbl_802B4AAC
/* 802B4A80 002B06E0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4A84 002B06E4 7D C4 73 78 */ mr r4, r14
/* 802B4A88 002B06E8 4B FE F8 B5 */ bl iosFree
/* 802B4A8C 002B06EC 2C 03 00 00 */ cmpwi r3, 0
/* 802B4A90 002B06F0 40 80 00 1C */ bge lbl_802B4AAC
/* 802B4A94 002B06F4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4A98 002B06F8 7C 66 1B 78 */ mr r6, r3
/* 802B4A9C 002B06FC 7D C5 73 78 */ mr r5, r14
/* 802B4AA0 002B0700 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4AA4 002B0704 4C C6 31 82 */ crclr 6
/* 802B4AA8 002B0708 4B FF F2 21 */ bl USB_ERR
lbl_802B4AAC:
/* 802B4AAC 002B070C 2C 1D 00 00 */ cmpwi r29, 0
/* 802B4AB0 002B0710 41 82 00 30 */ beq lbl_802B4AE0
/* 802B4AB4 002B0714 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4AB8 002B0718 7F A4 EB 78 */ mr r4, r29
/* 802B4ABC 002B071C 4B FE F8 81 */ bl iosFree
/* 802B4AC0 002B0720 2C 03 00 00 */ cmpwi r3, 0
/* 802B4AC4 002B0724 40 80 00 1C */ bge lbl_802B4AE0
/* 802B4AC8 002B0728 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4ACC 002B072C 7C 66 1B 78 */ mr r6, r3
/* 802B4AD0 002B0730 7F A5 EB 78 */ mr r5, r29
/* 802B4AD4 002B0734 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4AD8 002B0738 4C C6 31 82 */ crclr 6
/* 802B4ADC 002B073C 4B FF F1 ED */ bl USB_ERR
lbl_802B4AE0:
/* 802B4AE0 002B0740 2C 1C 00 00 */ cmpwi r28, 0
/* 802B4AE4 002B0744 41 82 00 30 */ beq lbl_802B4B14
/* 802B4AE8 002B0748 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4AEC 002B074C 7F 84 E3 78 */ mr r4, r28
/* 802B4AF0 002B0750 4B FE F8 4D */ bl iosFree
/* 802B4AF4 002B0754 2C 03 00 00 */ cmpwi r3, 0
/* 802B4AF8 002B0758 40 80 00 1C */ bge lbl_802B4B14
/* 802B4AFC 002B075C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B00 002B0760 7C 66 1B 78 */ mr r6, r3
/* 802B4B04 002B0764 7F 85 E3 78 */ mr r5, r28
/* 802B4B08 002B0768 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4B0C 002B076C 4C C6 31 82 */ crclr 6
/* 802B4B10 002B0770 4B FF F1 B9 */ bl USB_ERR
lbl_802B4B14:
/* 802B4B14 002B0774 2C 1A 00 00 */ cmpwi r26, 0
/* 802B4B18 002B0778 41 82 00 30 */ beq lbl_802B4B48
/* 802B4B1C 002B077C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B20 002B0780 7F 44 D3 78 */ mr r4, r26
/* 802B4B24 002B0784 4B FE F8 19 */ bl iosFree
/* 802B4B28 002B0788 2C 03 00 00 */ cmpwi r3, 0
/* 802B4B2C 002B078C 40 80 00 1C */ bge lbl_802B4B48
/* 802B4B30 002B0790 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B34 002B0794 7C 66 1B 78 */ mr r6, r3
/* 802B4B38 002B0798 7F 45 D3 78 */ mr r5, r26
/* 802B4B3C 002B079C 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4B40 002B07A0 4C C6 31 82 */ crclr 6
/* 802B4B44 002B07A4 4B FF F1 85 */ bl USB_ERR
lbl_802B4B48:
/* 802B4B48 002B07A8 2C 19 00 00 */ cmpwi r25, 0
/* 802B4B4C 002B07AC 41 82 00 30 */ beq lbl_802B4B7C
/* 802B4B50 002B07B0 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B54 002B07B4 7F 24 CB 78 */ mr r4, r25
/* 802B4B58 002B07B8 4B FE F7 E5 */ bl iosFree
/* 802B4B5C 002B07BC 2C 03 00 00 */ cmpwi r3, 0
/* 802B4B60 002B07C0 40 80 00 1C */ bge lbl_802B4B7C
/* 802B4B64 002B07C4 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B68 002B07C8 7C 66 1B 78 */ mr r6, r3
/* 802B4B6C 002B07CC 7F 25 CB 78 */ mr r5, r25
/* 802B4B70 002B07D0 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4B74 002B07D4 4C C6 31 82 */ crclr 6
/* 802B4B78 002B07D8 4B FF F1 51 */ bl USB_ERR
lbl_802B4B7C:
/* 802B4B7C 002B07DC 2C 18 00 00 */ cmpwi r24, 0
/* 802B4B80 002B07E0 41 82 00 30 */ beq lbl_802B4BB0
/* 802B4B84 002B07E4 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B88 002B07E8 7F 04 C3 78 */ mr r4, r24
/* 802B4B8C 002B07EC 4B FE F7 B1 */ bl iosFree
/* 802B4B90 002B07F0 2C 03 00 00 */ cmpwi r3, 0
/* 802B4B94 002B07F4 40 80 00 1C */ bge lbl_802B4BB0
/* 802B4B98 002B07F8 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4B9C 002B07FC 7C 66 1B 78 */ mr r6, r3
/* 802B4BA0 002B0800 7F 05 C3 78 */ mr r5, r24
/* 802B4BA4 002B0804 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4BA8 002B0808 4C C6 31 82 */ crclr 6
/* 802B4BAC 002B080C 4B FF F1 1D */ bl USB_ERR
lbl_802B4BB0:
/* 802B4BB0 002B0810 2C 1B 00 00 */ cmpwi r27, 0
/* 802B4BB4 002B0814 41 82 00 30 */ beq lbl_802B4BE4
/* 802B4BB8 002B0818 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4BBC 002B081C 7F 64 DB 78 */ mr r4, r27
/* 802B4BC0 002B0820 4B FE F7 7D */ bl iosFree
/* 802B4BC4 002B0824 2C 03 00 00 */ cmpwi r3, 0
/* 802B4BC8 002B0828 40 80 00 1C */ bge lbl_802B4BE4
/* 802B4BCC 002B082C 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4BD0 002B0830 7C 66 1B 78 */ mr r6, r3
/* 802B4BD4 002B0834 7F 65 DB 78 */ mr r5, r27
/* 802B4BD8 002B0838 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4BDC 002B083C 4C C6 31 82 */ crclr 6
/* 802B4BE0 002B0840 4B FF F0 E9 */ bl USB_ERR
lbl_802B4BE4:
/* 802B4BE4 002B0844 2C 1E 00 00 */ cmpwi r30, 0
/* 802B4BE8 002B0848 41 82 00 30 */ beq lbl_802B4C18
/* 802B4BEC 002B084C 80 6D 89 B0 */ lwz r3, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4BF0 002B0850 7F C4 F3 78 */ mr r4, r30
/* 802B4BF4 002B0854 4B FE F7 49 */ bl iosFree
/* 802B4BF8 002B0858 2C 03 00 00 */ cmpwi r3, 0
/* 802B4BFC 002B085C 40 80 00 1C */ bge lbl_802B4C18
/* 802B4C00 002B0860 80 8D 89 B0 */ lwz r4, lbl_8063DC70-_SDA_BASE_(r13)
/* 802B4C04 002B0864 7C 66 1B 78 */ mr r6, r3
/* 802B4C08 002B0868 7F C5 F3 78 */ mr r5, r30
/* 802B4C0C 002B086C 38 7F 01 08 */ addi r3, r31, 0x108
/* 802B4C10 002B0870 4C C6 31 82 */ crclr 6
/* 802B4C14 002B0874 4B FF F0 B5 */ bl USB_ERR
lbl_802B4C18:
/* 802B4C18 002B0878 39 61 00 50 */ addi r11, r1, 0x50
/* 802B4C1C 002B087C 7D E3 7B 78 */ mr r3, r15
/* 802B4C20 002B0880 4B F1 25 21 */ bl __restore_gpr
/* 802B4C24 002B0884 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802B4C28 002B0888 7C 08 03 A6 */ mtlr r0
/* 802B4C2C 002B088C 38 21 00 50 */ addi r1, r1, 0x50
/* 802B4C30 002B0890 4E 80 00 20 */ blr
.global IUSB_WriteCtrlMsgAsync
IUSB_WriteCtrlMsgAsync:
/* 802B4C34 002B0894 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802B4C38 002B0898 7C 08 02 A6 */ mflr r0
/* 802B4C3C 002B089C 90 01 00 44 */ stw r0, 0x44(r1)
/* 802B4C40 002B08A0 39 61 00 40 */ addi r11, r1, 0x40
/* 802B4C44 002B08A4 4B F1 24 D5 */ bl _savegpr_23
/* 802B4C48 002B08A8 7D 1C 43 78 */ mr r28, r8
/* 802B4C4C 002B08AC 7D 3D 4B 78 */ mr r29, r9
/* 802B4C50 002B08B0 7C 77 1B 78 */ mr r23, r3
/* 802B4C54 002B08B4 7C 98 23 78 */ mr r24, r4
/* 802B4C58 002B08B8 83 E1 00 48 */ lwz r31, 0x48(r1)
/* 802B4C5C 002B08BC 7C B9 2B 78 */ mr r25, r5
/* 802B4C60 002B08C0 7C DA 33 78 */ mr r26, r6
/* 802B4C64 002B08C4 7C FB 3B 78 */ mr r27, r7
/* 802B4C68 002B08C8 7D 5E 53 78 */ mr r30, r10
/* 802B4C6C 002B08CC 7F A3 EB 78 */ mr r3, r29
/* 802B4C70 002B08D0 7F 84 E3 78 */ mr r4, r28
/* 802B4C74 002B08D4 4B FB 59 E1 */ bl DCFlushRange
/* 802B4C78 002B08D8 93 E1 00 08 */ stw r31, 8(r1)
/* 802B4C7C 002B08DC 38 00 00 01 */ li r0, 1
/* 802B4C80 002B08E0 7E E3 BB 78 */ mr r3, r23
/* 802B4C84 002B08E4 7F 04 C3 78 */ mr r4, r24
/* 802B4C88 002B08E8 90 01 00 0C */ stw r0, 0xc(r1)
/* 802B4C8C 002B08EC 7F 25 CB 78 */ mr r5, r25
/* 802B4C90 002B08F0 7F 46 D3 78 */ mr r6, r26
/* 802B4C94 002B08F4 7F 67 DB 78 */ mr r7, r27
/* 802B4C98 002B08F8 7F 88 E3 78 */ mr r8, r28
/* 802B4C9C 002B08FC 7F A9 EB 78 */ mr r9, r29
/* 802B4CA0 002B0900 7F CA F3 78 */ mr r10, r30
/* 802B4CA4 002B0904 4B FF F9 FD */ bl __CtrlMsgInt
/* 802B4CA8 002B0908 39 61 00 40 */ addi r11, r1, 0x40
/* 802B4CAC 002B090C 4B F1 24 B9 */ bl _restgpr_23
/* 802B4CB0 002B0910 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802B4CB4 002B0914 7C 08 03 A6 */ mtlr r0
/* 802B4CB8 002B0918 38 21 00 40 */ addi r1, r1, 0x40
/* 802B4CBC 002B091C 4E 80 00 20 */ blr
|