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