summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/sdp_utils.s
blob: ccb3880f3be07b55a97c17152f005adea452cb5e (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
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global sdpu_find_ccb_by_cid
sdpu_find_ccb_by_cid:
/* 802E6410 002E2070  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E6414 002E2074  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E6418 002E2078  8C 04 00 3C */	lbzu r0, 0x3c(r4)
/* 802E641C 002E207C  2C 00 00 00 */	cmpwi r0, 0
/* 802E6420 002E2080  41 82 00 18 */	beq lbl_802E6438
/* 802E6424 002E2084  A0 04 00 22 */	lhz r0, 0x22(r4)
/* 802E6428 002E2088  7C 00 18 40 */	cmplw r0, r3
/* 802E642C 002E208C  40 82 00 0C */	bne lbl_802E6438
/* 802E6430 002E2090  7C 83 23 78 */	mr r3, r4
/* 802E6434 002E2094  4E 80 00 20 */	blr
lbl_802E6438:
/* 802E6438 002E2098  8C 04 04 78 */	lbzu r0, 0x478(r4)
/* 802E643C 002E209C  2C 00 00 00 */	cmpwi r0, 0
/* 802E6440 002E20A0  41 82 00 18 */	beq lbl_802E6458
/* 802E6444 002E20A4  A0 04 00 22 */	lhz r0, 0x22(r4)
/* 802E6448 002E20A8  7C 00 18 40 */	cmplw r0, r3
/* 802E644C 002E20AC  40 82 00 0C */	bne lbl_802E6458
/* 802E6450 002E20B0  7C 83 23 78 */	mr r3, r4
/* 802E6454 002E20B4  4E 80 00 20 */	blr
lbl_802E6458:
/* 802E6458 002E20B8  8C 04 04 78 */	lbzu r0, 0x478(r4)
/* 802E645C 002E20BC  2C 00 00 00 */	cmpwi r0, 0
/* 802E6460 002E20C0  41 82 00 18 */	beq lbl_802E6478
/* 802E6464 002E20C4  A0 04 00 22 */	lhz r0, 0x22(r4)
/* 802E6468 002E20C8  7C 00 18 40 */	cmplw r0, r3
/* 802E646C 002E20CC  40 82 00 0C */	bne lbl_802E6478
/* 802E6470 002E20D0  7C 83 23 78 */	mr r3, r4
/* 802E6474 002E20D4  4E 80 00 20 */	blr
lbl_802E6478:
/* 802E6478 002E20D8  8C 04 04 78 */	lbzu r0, 0x478(r4)
/* 802E647C 002E20DC  2C 00 00 00 */	cmpwi r0, 0
/* 802E6480 002E20E0  41 82 00 18 */	beq lbl_802E6498
/* 802E6484 002E20E4  A0 04 00 22 */	lhz r0, 0x22(r4)
/* 802E6488 002E20E8  7C 00 18 40 */	cmplw r0, r3
/* 802E648C 002E20EC  40 82 00 0C */	bne lbl_802E6498
/* 802E6490 002E20F0  7C 83 23 78 */	mr r3, r4
/* 802E6494 002E20F4  4E 80 00 20 */	blr
lbl_802E6498:
/* 802E6498 002E20F8  38 60 00 00 */	li r3, 0
/* 802E649C 002E20FC  4E 80 00 20 */	blr

.global sdpu_allocate_ccb
sdpu_allocate_ccb:
/* 802E64A0 002E2100  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E64A4 002E2104  7C 08 02 A6 */	mflr r0
/* 802E64A8 002E2108  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E64AC 002E210C  38 80 00 00 */	li r4, 0
/* 802E64B0 002E2110  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E64B4 002E2114  38 00 00 04 */	li r0, 4
/* 802E64B8 002E2118  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E64BC 002E211C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E64C0 002E2120  3B E3 00 3C */	addi r31, r3, 0x3c
/* 802E64C4 002E2124  7C 09 03 A6 */	mtctr r0
lbl_802E64C8:
/* 802E64C8 002E2128  88 1F 00 00 */	lbz r0, 0(r31)
/* 802E64CC 002E212C  2C 00 00 00 */	cmpwi r0, 0
/* 802E64D0 002E2130  40 82 00 20 */	bne lbl_802E64F0
/* 802E64D4 002E2134  7F E3 FB 78 */	mr r3, r31
/* 802E64D8 002E2138  38 80 00 00 */	li r4, 0
/* 802E64DC 002E213C  38 A0 04 78 */	li r5, 0x478
/* 802E64E0 002E2140  4B D1 DC 25 */	bl memset
/* 802E64E4 002E2144  93 FF 00 18 */	stw r31, 0x18(r31)
/* 802E64E8 002E2148  7F E3 FB 78 */	mr r3, r31
/* 802E64EC 002E214C  48 00 00 14 */	b lbl_802E6500
lbl_802E64F0:
/* 802E64F0 002E2150  38 84 00 01 */	addi r4, r4, 1
/* 802E64F4 002E2154  3B FF 04 78 */	addi r31, r31, 0x478
/* 802E64F8 002E2158  42 00 FF D0 */	bdnz lbl_802E64C8
/* 802E64FC 002E215C  38 60 00 00 */	li r3, 0
lbl_802E6500:
/* 802E6500 002E2160  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E6504 002E2164  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E6508 002E2168  7C 08 03 A6 */	mtlr r0
/* 802E650C 002E216C  38 21 00 10 */	addi r1, r1, 0x10
/* 802E6510 002E2170  4E 80 00 20 */	blr

.global sdpu_release_ccb
sdpu_release_ccb:
/* 802E6514 002E2174  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E6518 002E2178  7C 08 02 A6 */	mflr r0
/* 802E651C 002E217C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E6520 002E2180  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E6524 002E2184  7C 7F 1B 78 */	mr r31, r3
/* 802E6528 002E2188  38 63 00 08 */	addi r3, r3, 8
/* 802E652C 002E218C  4B FD 70 21 */	bl btu_stop_timer
/* 802E6530 002E2190  38 00 00 00 */	li r0, 0
/* 802E6534 002E2194  98 1F 00 00 */	stb r0, 0(r31)
/* 802E6538 002E2198  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E653C 002E219C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E6540 002E21A0  7C 08 03 A6 */	mtlr r0
/* 802E6544 002E21A4  38 21 00 10 */	addi r1, r1, 0x10
/* 802E6548 002E21A8  4E 80 00 20 */	blr

.global sdpu_build_attrib_seq
sdpu_build_attrib_seq:
/* 802E654C 002E21AC  2C 04 00 00 */	cmpwi r4, 0
/* 802E6550 002E21B0  41 82 00 14 */	beq lbl_802E6564
/* 802E6554 002E21B4  54 A0 10 3A */	slwi r0, r5, 2
/* 802E6558 002E21B8  7C 05 00 50 */	subf r0, r5, r0
/* 802E655C 002E21BC  54 07 04 3E */	clrlwi r7, r0, 0x10
/* 802E6560 002E21C0  48 00 00 08 */	b lbl_802E6568
lbl_802E6564:
/* 802E6564 002E21C4  38 E0 00 05 */	li r7, 5
lbl_802E6568:
/* 802E6568 002E21C8  28 07 00 FF */	cmplwi r7, 0xff
/* 802E656C 002E21CC  40 81 00 20 */	ble lbl_802E658C
/* 802E6570 002E21D0  54 E0 C6 3E */	rlwinm r0, r7, 0x18, 0x18, 0x1f
/* 802E6574 002E21D4  38 C0 00 36 */	li r6, 0x36
/* 802E6578 002E21D8  98 C3 00 00 */	stb r6, 0(r3)
/* 802E657C 002E21DC  38 C3 00 03 */	addi r6, r3, 3
/* 802E6580 002E21E0  98 03 00 01 */	stb r0, 1(r3)
/* 802E6584 002E21E4  98 E3 00 02 */	stb r7, 2(r3)
/* 802E6588 002E21E8  48 00 00 14 */	b lbl_802E659C
lbl_802E658C:
/* 802E658C 002E21EC  38 00 00 35 */	li r0, 0x35
/* 802E6590 002E21F0  98 E3 00 01 */	stb r7, 1(r3)
/* 802E6594 002E21F4  38 C3 00 02 */	addi r6, r3, 2
/* 802E6598 002E21F8  98 03 00 00 */	stb r0, 0(r3)
lbl_802E659C:
/* 802E659C 002E21FC  2C 04 00 00 */	cmpwi r4, 0
/* 802E65A0 002E2200  40 82 00 2C */	bne lbl_802E65CC
/* 802E65A4 002E2204  38 00 00 0A */	li r0, 0xa
/* 802E65A8 002E2208  38 60 00 00 */	li r3, 0
/* 802E65AC 002E220C  98 06 00 00 */	stb r0, 0(r6)
/* 802E65B0 002E2210  38 00 00 FF */	li r0, 0xff
/* 802E65B4 002E2214  98 66 00 01 */	stb r3, 1(r6)
/* 802E65B8 002E2218  98 66 00 02 */	stb r3, 2(r6)
/* 802E65BC 002E221C  98 06 00 03 */	stb r0, 3(r6)
/* 802E65C0 002E2220  98 06 00 04 */	stb r0, 4(r6)
/* 802E65C4 002E2224  38 C6 00 05 */	addi r6, r6, 5
/* 802E65C8 002E2228  48 00 01 4C */	b lbl_802E6714
lbl_802E65CC:
/* 802E65CC 002E222C  2C 05 00 00 */	cmpwi r5, 0
/* 802E65D0 002E2230  38 60 00 00 */	li r3, 0
/* 802E65D4 002E2234  41 82 01 40 */	beq lbl_802E6714
/* 802E65D8 002E2238  28 05 00 08 */	cmplwi r5, 8
/* 802E65DC 002E223C  3C E5 00 01 */	addis r7, r5, 1
/* 802E65E0 002E2240  38 E7 FF F8 */	addi r7, r7, -8
/* 802E65E4 002E2244  40 81 00 F0 */	ble lbl_802E66D4
/* 802E65E8 002E2248  54 E8 04 3E */	clrlwi r8, r7, 0x10
/* 802E65EC 002E224C  38 00 00 09 */	li r0, 9
/* 802E65F0 002E2250  38 E8 00 07 */	addi r7, r8, 7
/* 802E65F4 002E2254  54 E7 E8 FE */	srwi r7, r7, 3
/* 802E65F8 002E2258  7C E9 03 A6 */	mtctr r7
/* 802E65FC 002E225C  28 08 00 00 */	cmplwi r8, 0
/* 802E6600 002E2260  40 81 00 D4 */	ble lbl_802E66D4
lbl_802E6604:
/* 802E6604 002E2264  98 06 00 00 */	stb r0, 0(r6)
/* 802E6608 002E2268  38 63 00 08 */	addi r3, r3, 8
/* 802E660C 002E226C  A0 E4 00 00 */	lhz r7, 0(r4)
/* 802E6610 002E2270  7C E7 46 70 */	srawi r7, r7, 8
/* 802E6614 002E2274  98 E6 00 01 */	stb r7, 1(r6)
/* 802E6618 002E2278  A0 E4 00 00 */	lhz r7, 0(r4)
/* 802E661C 002E227C  98 E6 00 02 */	stb r7, 2(r6)
/* 802E6620 002E2280  98 06 00 03 */	stb r0, 3(r6)
/* 802E6624 002E2284  A0 E4 00 02 */	lhz r7, 2(r4)
/* 802E6628 002E2288  7C E7 46 70 */	srawi r7, r7, 8
/* 802E662C 002E228C  98 E6 00 04 */	stb r7, 4(r6)
/* 802E6630 002E2290  A0 E4 00 02 */	lhz r7, 2(r4)
/* 802E6634 002E2294  98 E6 00 05 */	stb r7, 5(r6)
/* 802E6638 002E2298  98 06 00 06 */	stb r0, 6(r6)
/* 802E663C 002E229C  A0 E4 00 04 */	lhz r7, 4(r4)
/* 802E6640 002E22A0  7C E7 46 70 */	srawi r7, r7, 8
/* 802E6644 002E22A4  98 E6 00 07 */	stb r7, 7(r6)
/* 802E6648 002E22A8  A0 E4 00 04 */	lhz r7, 4(r4)
/* 802E664C 002E22AC  98 E6 00 08 */	stb r7, 8(r6)
/* 802E6650 002E22B0  98 06 00 09 */	stb r0, 9(r6)
/* 802E6654 002E22B4  A0 E4 00 06 */	lhz r7, 6(r4)
/* 802E6658 002E22B8  7C E7 46 70 */	srawi r7, r7, 8
/* 802E665C 002E22BC  98 E6 00 0A */	stb r7, 0xa(r6)
/* 802E6660 002E22C0  A0 E4 00 06 */	lhz r7, 6(r4)
/* 802E6664 002E22C4  98 E6 00 0B */	stb r7, 0xb(r6)
/* 802E6668 002E22C8  98 06 00 0C */	stb r0, 0xc(r6)
/* 802E666C 002E22CC  A0 E4 00 08 */	lhz r7, 8(r4)
/* 802E6670 002E22D0  7C E7 46 70 */	srawi r7, r7, 8
/* 802E6674 002E22D4  98 E6 00 0D */	stb r7, 0xd(r6)
/* 802E6678 002E22D8  A0 E4 00 08 */	lhz r7, 8(r4)
/* 802E667C 002E22DC  98 E6 00 0E */	stb r7, 0xe(r6)
/* 802E6680 002E22E0  98 06 00 0F */	stb r0, 0xf(r6)
/* 802E6684 002E22E4  A0 E4 00 0A */	lhz r7, 0xa(r4)
/* 802E6688 002E22E8  7C E7 46 70 */	srawi r7, r7, 8
/* 802E668C 002E22EC  98 E6 00 10 */	stb r7, 0x10(r6)
/* 802E6690 002E22F0  A0 E4 00 0A */	lhz r7, 0xa(r4)
/* 802E6694 002E22F4  98 E6 00 11 */	stb r7, 0x11(r6)
/* 802E6698 002E22F8  98 06 00 12 */	stb r0, 0x12(r6)
/* 802E669C 002E22FC  A0 E4 00 0C */	lhz r7, 0xc(r4)
/* 802E66A0 002E2300  7C E7 46 70 */	srawi r7, r7, 8
/* 802E66A4 002E2304  98 E6 00 13 */	stb r7, 0x13(r6)
/* 802E66A8 002E2308  A0 E4 00 0C */	lhz r7, 0xc(r4)
/* 802E66AC 002E230C  98 E6 00 14 */	stb r7, 0x14(r6)
/* 802E66B0 002E2310  98 06 00 15 */	stb r0, 0x15(r6)
/* 802E66B4 002E2314  A0 E4 00 0E */	lhz r7, 0xe(r4)
/* 802E66B8 002E2318  7C E7 46 70 */	srawi r7, r7, 8
/* 802E66BC 002E231C  98 E6 00 16 */	stb r7, 0x16(r6)
/* 802E66C0 002E2320  A0 E4 00 0E */	lhz r7, 0xe(r4)
/* 802E66C4 002E2324  38 84 00 10 */	addi r4, r4, 0x10
/* 802E66C8 002E2328  98 E6 00 17 */	stb r7, 0x17(r6)
/* 802E66CC 002E232C  38 C6 00 18 */	addi r6, r6, 0x18
/* 802E66D0 002E2330  42 00 FF 34 */	bdnz lbl_802E6604
lbl_802E66D4:
/* 802E66D4 002E2334  54 67 04 3E */	clrlwi r7, r3, 0x10
/* 802E66D8 002E2338  39 00 00 09 */	li r8, 9
/* 802E66DC 002E233C  7C 07 28 50 */	subf r0, r7, r5
/* 802E66E0 002E2340  7C 09 03 A6 */	mtctr r0
/* 802E66E4 002E2344  7C 07 28 40 */	cmplw r7, r5
/* 802E66E8 002E2348  40 80 00 2C */	bge lbl_802E6714
lbl_802E66EC:
/* 802E66EC 002E234C  99 06 00 00 */	stb r8, 0(r6)
/* 802E66F0 002E2350  38 63 00 01 */	addi r3, r3, 1
/* 802E66F4 002E2354  A0 04 00 00 */	lhz r0, 0(r4)
/* 802E66F8 002E2358  7C 00 46 70 */	srawi r0, r0, 8
/* 802E66FC 002E235C  98 06 00 01 */	stb r0, 1(r6)
/* 802E6700 002E2360  A0 04 00 00 */	lhz r0, 0(r4)
/* 802E6704 002E2364  38 84 00 02 */	addi r4, r4, 2
/* 802E6708 002E2368  98 06 00 02 */	stb r0, 2(r6)
/* 802E670C 002E236C  38 C6 00 03 */	addi r6, r6, 3
/* 802E6710 002E2370  42 00 FF DC */	bdnz lbl_802E66EC
lbl_802E6714:
/* 802E6714 002E2374  7C C3 33 78 */	mr r3, r6
/* 802E6718 002E2378  4E 80 00 20 */	blr

.global sdpu_build_attrib_entry
sdpu_build_attrib_entry:
/* 802E671C 002E237C  38 00 00 09 */	li r0, 9
/* 802E6720 002E2380  98 03 00 00 */	stb r0, 0(r3)
/* 802E6724 002E2384  A0 04 00 08 */	lhz r0, 8(r4)
/* 802E6728 002E2388  7C 00 46 70 */	srawi r0, r0, 8
/* 802E672C 002E238C  98 03 00 01 */	stb r0, 1(r3)
/* 802E6730 002E2390  A0 04 00 08 */	lhz r0, 8(r4)
/* 802E6734 002E2394  98 03 00 02 */	stb r0, 2(r3)
/* 802E6738 002E2398  88 C4 00 0A */	lbz r6, 0xa(r4)
/* 802E673C 002E239C  2C 06 00 05 */	cmpwi r6, 5
/* 802E6740 002E23A0  41 82 00 64 */	beq lbl_802E67A4
/* 802E6744 002E23A4  40 80 00 10 */	bge lbl_802E6754
/* 802E6748 002E23A8  2C 06 00 04 */	cmpwi r6, 4
/* 802E674C 002E23AC  40 80 00 10 */	bge lbl_802E675C
/* 802E6750 002E23B0  48 00 00 54 */	b lbl_802E67A4
lbl_802E6754:
/* 802E6754 002E23B4  2C 06 00 09 */	cmpwi r6, 9
/* 802E6758 002E23B8  40 80 00 4C */	bge lbl_802E67A4
lbl_802E675C:
/* 802E675C 002E23BC  54 C0 1D 78 */	rlwinm r0, r6, 3, 0x15, 0x1c
/* 802E6760 002E23C0  38 C3 00 05 */	addi r6, r3, 5
/* 802E6764 002E23C4  60 00 00 05 */	ori r0, r0, 5
/* 802E6768 002E23C8  38 A0 00 00 */	li r5, 0
/* 802E676C 002E23CC  98 03 00 03 */	stb r0, 3(r3)
/* 802E6770 002E23D0  80 04 00 00 */	lwz r0, 0(r4)
/* 802E6774 002E23D4  98 03 00 04 */	stb r0, 4(r3)
/* 802E6778 002E23D8  48 00 00 18 */	b lbl_802E6790
lbl_802E677C:
/* 802E677C 002E23DC  80 64 00 04 */	lwz r3, 4(r4)
/* 802E6780 002E23E0  7C 03 28 AE */	lbzx r0, r3, r5
/* 802E6784 002E23E4  38 A5 00 01 */	addi r5, r5, 1
/* 802E6788 002E23E8  98 06 00 00 */	stb r0, 0(r6)
/* 802E678C 002E23EC  38 C6 00 01 */	addi r6, r6, 1
lbl_802E6790:
/* 802E6790 002E23F0  80 04 00 00 */	lwz r0, 0(r4)
/* 802E6794 002E23F4  7C 05 00 00 */	cmpw r5, r0
/* 802E6798 002E23F8  41 80 FF E4 */	blt lbl_802E677C
/* 802E679C 002E23FC  7C C3 33 78 */	mr r3, r6
/* 802E67A0 002E2400  4E 80 00 20 */	blr
lbl_802E67A4:
/* 802E67A4 002E2404  80 04 00 00 */	lwz r0, 0(r4)
/* 802E67A8 002E2408  28 00 00 10 */	cmplwi r0, 0x10
/* 802E67AC 002E240C  41 81 00 7C */	bgt lbl_802E6828
/* 802E67B0 002E2410  3C A0 80 44 */	lis r5, lbl_80445548@ha
/* 802E67B4 002E2414  54 00 10 3A */	slwi r0, r0, 2
/* 802E67B8 002E2418  38 A5 55 48 */	addi r5, r5, lbl_80445548@l
/* 802E67BC 002E241C  7C A5 00 2E */	lwzx r5, r5, r0
/* 802E67C0 002E2420  7C A9 03 A6 */	mtctr r5
/* 802E67C4 002E2424  4E 80 04 20 */	bctr
/* 802E67C8 002E2428  54 C0 1E 38 */	rlwinm r0, r6, 3, 0x18, 0x1c
/* 802E67CC 002E242C  38 C3 00 04 */	addi r6, r3, 4
/* 802E67D0 002E2430  98 03 00 03 */	stb r0, 3(r3)
/* 802E67D4 002E2434  48 00 00 6C */	b lbl_802E6840
/* 802E67D8 002E2438  54 C0 1D 78 */	rlwinm r0, r6, 3, 0x15, 0x1c
/* 802E67DC 002E243C  38 C3 00 04 */	addi r6, r3, 4
/* 802E67E0 002E2440  60 00 00 01 */	ori r0, r0, 1
/* 802E67E4 002E2444  98 03 00 03 */	stb r0, 3(r3)
/* 802E67E8 002E2448  48 00 00 58 */	b lbl_802E6840
/* 802E67EC 002E244C  54 C0 1D 78 */	rlwinm r0, r6, 3, 0x15, 0x1c
/* 802E67F0 002E2450  38 C3 00 04 */	addi r6, r3, 4
/* 802E67F4 002E2454  60 00 00 02 */	ori r0, r0, 2
/* 802E67F8 002E2458  98 03 00 03 */	stb r0, 3(r3)
/* 802E67FC 002E245C  48 00 00 44 */	b lbl_802E6840
/* 802E6800 002E2460  54 C0 1D 78 */	rlwinm r0, r6, 3, 0x15, 0x1c
/* 802E6804 002E2464  38 C3 00 04 */	addi r6, r3, 4
/* 802E6808 002E2468  60 00 00 03 */	ori r0, r0, 3
/* 802E680C 002E246C  98 03 00 03 */	stb r0, 3(r3)
/* 802E6810 002E2470  48 00 00 30 */	b lbl_802E6840
/* 802E6814 002E2474  54 C0 1D 78 */	rlwinm r0, r6, 3, 0x15, 0x1c
/* 802E6818 002E2478  38 C3 00 04 */	addi r6, r3, 4
/* 802E681C 002E247C  60 00 00 04 */	ori r0, r0, 4
/* 802E6820 002E2480  98 03 00 03 */	stb r0, 3(r3)
/* 802E6824 002E2484  48 00 00 1C */	b lbl_802E6840
lbl_802E6828:
/* 802E6828 002E2488  54 C0 1D 78 */	rlwinm r0, r6, 3, 0x15, 0x1c
/* 802E682C 002E248C  38 C3 00 05 */	addi r6, r3, 5
/* 802E6830 002E2490  60 00 00 05 */	ori r0, r0, 5
/* 802E6834 002E2494  98 03 00 03 */	stb r0, 3(r3)
/* 802E6838 002E2498  80 04 00 00 */	lwz r0, 0(r4)
/* 802E683C 002E249C  98 03 00 04 */	stb r0, 4(r3)
lbl_802E6840:
/* 802E6840 002E24A0  38 A0 00 00 */	li r5, 0
/* 802E6844 002E24A4  48 00 00 18 */	b lbl_802E685C
lbl_802E6848:
/* 802E6848 002E24A8  80 64 00 04 */	lwz r3, 4(r4)
/* 802E684C 002E24AC  7C 03 28 AE */	lbzx r0, r3, r5
/* 802E6850 002E24B0  38 A5 00 01 */	addi r5, r5, 1
/* 802E6854 002E24B4  98 06 00 00 */	stb r0, 0(r6)
/* 802E6858 002E24B8  38 C6 00 01 */	addi r6, r6, 1
lbl_802E685C:
/* 802E685C 002E24BC  80 04 00 00 */	lwz r0, 0(r4)
/* 802E6860 002E24C0  7C 05 00 00 */	cmpw r5, r0
/* 802E6864 002E24C4  41 80 FF E4 */	blt lbl_802E6848
/* 802E6868 002E24C8  7C C3 33 78 */	mr r3, r6
/* 802E686C 002E24CC  4E 80 00 20 */	blr

.global sdpu_build_n_send_error
sdpu_build_n_send_error:
/* 802E6870 002E24D0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E6874 002E24D4  7C 08 02 A6 */	mflr r0
/* 802E6878 002E24D8  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E687C 002E24DC  39 61 00 30 */	addi r11, r1, 0x30
/* 802E6880 002E24E0  4B EE 08 9D */	bl _savegpr_24
/* 802E6884 002E24E4  3C E0 80 57 */	lis r7, lbl_8056C840@ha
/* 802E6888 002E24E8  7C 7F 1B 78 */	mr r31, r3
/* 802E688C 002E24EC  38 E7 C8 40 */	addi r7, r7, lbl_8056C840@l
/* 802E6890 002E24F0  7C 9E 23 78 */	mr r30, r4
/* 802E6894 002E24F4  88 07 46 30 */	lbz r0, 0x4630(r7)
/* 802E6898 002E24F8  7C B9 2B 78 */	mr r25, r5
/* 802E689C 002E24FC  7C D8 33 78 */	mr r24, r6
/* 802E68A0 002E2500  28 00 00 02 */	cmplwi r0, 2
/* 802E68A4 002E2504  41 80 00 1C */	blt lbl_802E68C0
/* 802E68A8 002E2508  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E68AC 002E250C  3C 80 80 44 */	lis r4, lbl_8044558C@ha
/* 802E68B0 002E2510  A0 DF 00 22 */	lhz r6, 0x22(r31)
/* 802E68B4 002E2514  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E68B8 002E2518  38 84 55 8C */	addi r4, r4, lbl_8044558C@l
/* 802E68BC 002E251C  4B FD 66 85 */	bl LogMsg_2
lbl_802E68C0:
/* 802E68C0 002E2520  38 60 00 02 */	li r3, 2
/* 802E68C4 002E2524  4B FD 33 89 */	bl GKI_getpoolbuf
/* 802E68C8 002E2528  2C 03 00 00 */	cmpwi r3, 0
/* 802E68CC 002E252C  7C 7A 1B 78 */	mr r26, r3
/* 802E68D0 002E2530  40 82 00 2C */	bne lbl_802E68FC
/* 802E68D4 002E2534  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E68D8 002E2538  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E68DC 002E253C  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E68E0 002E2540  28 00 00 01 */	cmplwi r0, 1
/* 802E68E4 002E2544  41 80 00 B0 */	blt lbl_802E6994
/* 802E68E8 002E2548  3C 80 80 44 */	lis r4, lbl_804455C4@ha
/* 802E68EC 002E254C  3C 60 00 0A */	lis r3, 0xa
/* 802E68F0 002E2550  38 84 55 C4 */	addi r4, r4, lbl_804455C4@l
/* 802E68F4 002E2554  4B FD 66 1D */	bl LogMsg_0
/* 802E68F8 002E2558  48 00 00 9C */	b lbl_802E6994
lbl_802E68FC:
/* 802E68FC 002E255C  38 00 00 09 */	li r0, 9
/* 802E6900 002E2560  3B 83 00 11 */	addi r28, r3, 0x11
/* 802E6904 002E2564  B0 03 00 04 */	sth r0, 4(r3)
/* 802E6908 002E2568  38 00 00 01 */	li r0, 1
/* 802E690C 002E256C  3B BC 00 03 */	addi r29, r28, 3
/* 802E6910 002E2570  7F C3 46 70 */	srawi r3, r30, 8
/* 802E6914 002E2574  98 1C 00 00 */	stb r0, 0(r28)
/* 802E6918 002E2578  7F BB EB 78 */	mr r27, r29
/* 802E691C 002E257C  57 20 C6 3E */	rlwinm r0, r25, 0x18, 0x18, 0x1f
/* 802E6920 002E2580  2C 18 00 00 */	cmpwi r24, 0
/* 802E6924 002E2584  98 7C 00 01 */	stb r3, 1(r28)
/* 802E6928 002E2588  3B BD 00 04 */	addi r29, r29, 4
/* 802E692C 002E258C  9B DC 00 02 */	stb r30, 2(r28)
/* 802E6930 002E2590  98 1C 00 05 */	stb r0, 5(r28)
/* 802E6934 002E2594  9B 3C 00 06 */	stb r25, 6(r28)
/* 802E6938 002E2598  41 82 00 34 */	beq lbl_802E696C
/* 802E693C 002E259C  7F 1E C3 78 */	mr r30, r24
/* 802E6940 002E25A0  3B 20 00 00 */	li r25, 0
/* 802E6944 002E25A4  48 00 00 18 */	b lbl_802E695C
lbl_802E6948:
/* 802E6948 002E25A8  88 1E 00 00 */	lbz r0, 0(r30)
/* 802E694C 002E25AC  3B 39 00 01 */	addi r25, r25, 1
/* 802E6950 002E25B0  3B DE 00 01 */	addi r30, r30, 1
/* 802E6954 002E25B4  98 1D 00 00 */	stb r0, 0(r29)
/* 802E6958 002E25B8  3B BD 00 01 */	addi r29, r29, 1
lbl_802E695C:
/* 802E695C 002E25BC  7F 03 C3 78 */	mr r3, r24
/* 802E6960 002E25C0  4B EE 02 05 */	bl strlen
/* 802E6964 002E25C4  7C 19 18 00 */	cmpw r25, r3
/* 802E6968 002E25C8  41 80 FF E0 */	blt lbl_802E6948
lbl_802E696C:
/* 802E696C 002E25CC  7C 7B E8 50 */	subf r3, r27, r29
/* 802E6970 002E25D0  7C 1C E8 50 */	subf r0, r28, r29
/* 802E6974 002E25D4  38 A3 FF FE */	addi r5, r3, -2
/* 802E6978 002E25D8  7F 44 D3 78 */	mr r4, r26
/* 802E697C 002E25DC  54 A3 C6 3E */	rlwinm r3, r5, 0x18, 0x18, 0x1f
/* 802E6980 002E25E0  98 7B 00 00 */	stb r3, 0(r27)
/* 802E6984 002E25E4  98 BB 00 01 */	stb r5, 1(r27)
/* 802E6988 002E25E8  B0 1A 00 02 */	sth r0, 2(r26)
/* 802E698C 002E25EC  A0 7F 00 22 */	lhz r3, 0x22(r31)
/* 802E6990 002E25F0  4B FE F7 61 */	bl L2CA_DataWrite
lbl_802E6994:
/* 802E6994 002E25F4  39 61 00 30 */	addi r11, r1, 0x30
/* 802E6998 002E25F8  4B EE 07 D1 */	bl _restgpr_24
/* 802E699C 002E25FC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E69A0 002E2600  7C 08 03 A6 */	mtlr r0
/* 802E69A4 002E2604  38 21 00 30 */	addi r1, r1, 0x30
/* 802E69A8 002E2608  4E 80 00 20 */	blr

.global sdpu_extract_uid_seq
sdpu_extract_uid_seq:
/* 802E69AC 002E260C  38 00 00 00 */	li r0, 0
/* 802E69B0 002E2610  39 03 00 01 */	addi r8, r3, 1
/* 802E69B4 002E2614  B0 05 00 00 */	sth r0, 0(r5)
/* 802E69B8 002E2618  88 63 00 00 */	lbz r3, 0(r3)
/* 802E69BC 002E261C  7C 60 1E 70 */	srawi r0, r3, 3
/* 802E69C0 002E2620  54 66 07 7E */	clrlwi r6, r3, 0x1d
/* 802E69C4 002E2624  28 00 00 06 */	cmplwi r0, 6
/* 802E69C8 002E2628  41 82 00 0C */	beq lbl_802E69D4
/* 802E69CC 002E262C  38 60 00 00 */	li r3, 0
/* 802E69D0 002E2630  4E 80 00 20 */	blr
lbl_802E69D4:
/* 802E69D4 002E2634  28 06 00 07 */	cmplwi r6, 7
/* 802E69D8 002E2638  41 81 00 8C */	bgt lbl_802E6A64
/* 802E69DC 002E263C  3C 60 80 44 */	lis r3, lbl_80445600@ha
/* 802E69E0 002E2640  54 C0 10 3A */	slwi r0, r6, 2
/* 802E69E4 002E2644  38 63 56 00 */	addi r3, r3, lbl_80445600@l
/* 802E69E8 002E2648  7C 63 00 2E */	lwzx r3, r3, r0
/* 802E69EC 002E264C  7C 69 03 A6 */	mtctr r3
/* 802E69F0 002E2650  4E 80 04 20 */	bctr
/* 802E69F4 002E2654  38 00 00 02 */	li r0, 2
/* 802E69F8 002E2658  48 00 00 74 */	b lbl_802E6A6C
/* 802E69FC 002E265C  38 00 00 04 */	li r0, 4
/* 802E6A00 002E2660  48 00 00 6C */	b lbl_802E6A6C
/* 802E6A04 002E2664  38 00 00 10 */	li r0, 0x10
/* 802E6A08 002E2668  48 00 00 64 */	b lbl_802E6A6C
/* 802E6A0C 002E266C  88 08 00 00 */	lbz r0, 0(r8)
/* 802E6A10 002E2670  39 08 00 01 */	addi r8, r8, 1
/* 802E6A14 002E2674  48 00 00 58 */	b lbl_802E6A6C
/* 802E6A18 002E2678  88 68 00 00 */	lbz r3, 0(r8)
/* 802E6A1C 002E267C  88 08 00 01 */	lbz r0, 1(r8)
/* 802E6A20 002E2680  39 08 00 02 */	addi r8, r8, 2
/* 802E6A24 002E2684  54 63 40 2E */	slwi r3, r3, 8
/* 802E6A28 002E2688  7C 03 02 14 */	add r0, r3, r0
/* 802E6A2C 002E268C  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E6A30 002E2690  48 00 00 3C */	b lbl_802E6A6C
/* 802E6A34 002E2694  88 C8 00 00 */	lbz r6, 0(r8)
/* 802E6A38 002E2698  88 68 00 01 */	lbz r3, 1(r8)
/* 802E6A3C 002E269C  88 08 00 02 */	lbz r0, 2(r8)
/* 802E6A40 002E26A0  54 C7 C0 0E */	slwi r7, r6, 0x18
/* 802E6A44 002E26A4  88 C8 00 03 */	lbz r6, 3(r8)
/* 802E6A48 002E26A8  54 63 80 1E */	slwi r3, r3, 0x10
/* 802E6A4C 002E26AC  54 00 40 2E */	slwi r0, r0, 8
/* 802E6A50 002E26B0  39 08 00 04 */	addi r8, r8, 4
/* 802E6A54 002E26B4  7C 67 1A 14 */	add r3, r7, r3
/* 802E6A58 002E26B8  7C 06 02 14 */	add r0, r6, r0
/* 802E6A5C 002E26BC  7C 03 02 14 */	add r0, r3, r0
/* 802E6A60 002E26C0  48 00 00 0C */	b lbl_802E6A6C
lbl_802E6A64:
/* 802E6A64 002E26C4  38 60 00 00 */	li r3, 0
/* 802E6A68 002E26C8  4E 80 00 20 */	blr
lbl_802E6A6C:
/* 802E6A6C 002E26CC  7C 00 20 40 */	cmplw r0, r4
/* 802E6A70 002E26D0  41 80 00 0C */	blt lbl_802E6A7C
/* 802E6A74 002E26D4  38 60 00 00 */	li r3, 0
/* 802E6A78 002E26D8  4E 80 00 20 */	blr
lbl_802E6A7C:
/* 802E6A7C 002E26DC  7C 08 02 14 */	add r0, r8, r0
/* 802E6A80 002E26E0  3C 80 80 44 */	lis r4, 0x8044
/* 802E6A84 002E26E4  3C 60 80 00 */	lis r3, 0x8000
/* 802E6A88 002E26E8  48 00 02 58 */	b lbl_802E6CE0
lbl_802E6A8C:
/* 802E6A8C 002E26EC  88 E8 00 00 */	lbz r7, 0(r8)
/* 802E6A90 002E26F0  39 08 00 01 */	addi r8, r8, 1
/* 802E6A94 002E26F4  7C E6 1E 70 */	srawi r6, r7, 3
/* 802E6A98 002E26F8  54 E9 07 7E */	clrlwi r9, r7, 0x1d
/* 802E6A9C 002E26FC  28 06 00 03 */	cmplwi r6, 3
/* 802E6AA0 002E2700  41 82 00 0C */	beq lbl_802E6AAC
/* 802E6AA4 002E2704  38 60 00 00 */	li r3, 0
/* 802E6AA8 002E2708  4E 80 00 20 */	blr
lbl_802E6AAC:
/* 802E6AAC 002E270C  28 09 00 07 */	cmplwi r9, 7
/* 802E6AB0 002E2710  41 81 00 88 */	bgt lbl_802E6B38
/* 802E6AB4 002E2714  38 E4 55 E0 */	addi r7, r4, 0x55e0
/* 802E6AB8 002E2718  55 26 10 3A */	slwi r6, r9, 2
/* 802E6ABC 002E271C  7C E7 30 2E */	lwzx r7, r7, r6
/* 802E6AC0 002E2720  7C E9 03 A6 */	mtctr r7
/* 802E6AC4 002E2724  4E 80 04 20 */	bctr
/* 802E6AC8 002E2728  38 C0 00 02 */	li r6, 2
/* 802E6ACC 002E272C  48 00 00 74 */	b lbl_802E6B40
/* 802E6AD0 002E2730  38 C0 00 04 */	li r6, 4
/* 802E6AD4 002E2734  48 00 00 6C */	b lbl_802E6B40
/* 802E6AD8 002E2738  38 C0 00 10 */	li r6, 0x10
/* 802E6ADC 002E273C  48 00 00 64 */	b lbl_802E6B40
/* 802E6AE0 002E2740  88 C8 00 00 */	lbz r6, 0(r8)
/* 802E6AE4 002E2744  39 08 00 01 */	addi r8, r8, 1
/* 802E6AE8 002E2748  48 00 00 58 */	b lbl_802E6B40
/* 802E6AEC 002E274C  88 E8 00 00 */	lbz r7, 0(r8)
/* 802E6AF0 002E2750  88 C8 00 01 */	lbz r6, 1(r8)
/* 802E6AF4 002E2754  39 08 00 02 */	addi r8, r8, 2
/* 802E6AF8 002E2758  54 E7 40 2E */	slwi r7, r7, 8
/* 802E6AFC 002E275C  7C C7 32 14 */	add r6, r7, r6
/* 802E6B00 002E2760  54 C6 04 3E */	clrlwi r6, r6, 0x10
/* 802E6B04 002E2764  48 00 00 3C */	b lbl_802E6B40
/* 802E6B08 002E2768  89 28 00 00 */	lbz r9, 0(r8)
/* 802E6B0C 002E276C  88 E8 00 01 */	lbz r7, 1(r8)
/* 802E6B10 002E2770  88 C8 00 02 */	lbz r6, 2(r8)
/* 802E6B14 002E2774  55 2A C0 0E */	slwi r10, r9, 0x18
/* 802E6B18 002E2778  89 28 00 03 */	lbz r9, 3(r8)
/* 802E6B1C 002E277C  54 E7 80 1E */	slwi r7, r7, 0x10
/* 802E6B20 002E2780  54 C6 40 2E */	slwi r6, r6, 8
/* 802E6B24 002E2784  39 08 00 04 */	addi r8, r8, 4
/* 802E6B28 002E2788  7C EA 3A 14 */	add r7, r10, r7
/* 802E6B2C 002E278C  7C C9 32 14 */	add r6, r9, r6
/* 802E6B30 002E2790  7C C7 32 14 */	add r6, r7, r6
/* 802E6B34 002E2794  48 00 00 0C */	b lbl_802E6B40
lbl_802E6B38:
/* 802E6B38 002E2798  38 60 00 00 */	li r3, 0
/* 802E6B3C 002E279C  4E 80 00 20 */	blr
lbl_802E6B40:
/* 802E6B40 002E27A0  28 06 00 02 */	cmplwi r6, 2
/* 802E6B44 002E27A4  41 82 00 14 */	beq lbl_802E6B58
/* 802E6B48 002E27A8  28 06 00 04 */	cmplwi r6, 4
/* 802E6B4C 002E27AC  41 82 00 0C */	beq lbl_802E6B58
/* 802E6B50 002E27B0  28 06 00 10 */	cmplwi r6, 0x10
/* 802E6B54 002E27B4  40 82 01 70 */	bne lbl_802E6CC4
lbl_802E6B58:
/* 802E6B58 002E27B8  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6B5C 002E27BC  2C 86 00 00 */	cmpwi cr1, r6, 0
/* 802E6B60 002E27C0  38 E0 00 00 */	li r7, 0
/* 802E6B64 002E27C4  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6B68 002E27C8  7D 25 4A 14 */	add r9, r5, r9
/* 802E6B6C 002E27CC  B0 C9 00 02 */	sth r6, 2(r9)
/* 802E6B70 002E27D0  40 85 01 44 */	ble cr1, lbl_802E6CB4
/* 802E6B74 002E27D4  2C 06 00 08 */	cmpwi r6, 8
/* 802E6B78 002E27D8  39 46 FF F8 */	addi r10, r6, -8
/* 802E6B7C 002E27DC  40 81 01 04 */	ble lbl_802E6C80
/* 802E6B80 002E27E0  39 60 00 00 */	li r11, 0
/* 802E6B84 002E27E4  41 84 00 14 */	blt cr1, lbl_802E6B98
/* 802E6B88 002E27E8  39 23 FF FE */	addi r9, r3, -2
/* 802E6B8C 002E27EC  7C 06 48 00 */	cmpw r6, r9
/* 802E6B90 002E27F0  41 81 00 08 */	bgt lbl_802E6B98
/* 802E6B94 002E27F4  39 60 00 01 */	li r11, 1
lbl_802E6B98:
/* 802E6B98 002E27F8  2C 0B 00 00 */	cmpwi r11, 0
/* 802E6B9C 002E27FC  41 82 00 E4 */	beq lbl_802E6C80
/* 802E6BA0 002E2800  39 2A 00 07 */	addi r9, r10, 7
/* 802E6BA4 002E2804  55 29 E8 FE */	srwi r9, r9, 3
/* 802E6BA8 002E2808  7D 29 03 A6 */	mtctr r9
/* 802E6BAC 002E280C  2C 0A 00 00 */	cmpwi r10, 0
/* 802E6BB0 002E2810  40 81 00 D0 */	ble lbl_802E6C80
lbl_802E6BB4:
/* 802E6BB4 002E2814  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6BB8 002E2818  89 48 00 00 */	lbz r10, 0(r8)
/* 802E6BBC 002E281C  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6BC0 002E2820  7D 25 4A 14 */	add r9, r5, r9
/* 802E6BC4 002E2824  7D 29 3A 14 */	add r9, r9, r7
/* 802E6BC8 002E2828  99 49 00 04 */	stb r10, 4(r9)
/* 802E6BCC 002E282C  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6BD0 002E2830  89 48 00 01 */	lbz r10, 1(r8)
/* 802E6BD4 002E2834  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6BD8 002E2838  7D 25 4A 14 */	add r9, r5, r9
/* 802E6BDC 002E283C  7D 29 3A 14 */	add r9, r9, r7
/* 802E6BE0 002E2840  99 49 00 05 */	stb r10, 5(r9)
/* 802E6BE4 002E2844  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6BE8 002E2848  89 48 00 02 */	lbz r10, 2(r8)
/* 802E6BEC 002E284C  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6BF0 002E2850  7D 25 4A 14 */	add r9, r5, r9
/* 802E6BF4 002E2854  7D 29 3A 14 */	add r9, r9, r7
/* 802E6BF8 002E2858  99 49 00 06 */	stb r10, 6(r9)
/* 802E6BFC 002E285C  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6C00 002E2860  89 48 00 03 */	lbz r10, 3(r8)
/* 802E6C04 002E2864  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6C08 002E2868  7D 25 4A 14 */	add r9, r5, r9
/* 802E6C0C 002E286C  7D 29 3A 14 */	add r9, r9, r7
/* 802E6C10 002E2870  99 49 00 07 */	stb r10, 7(r9)
/* 802E6C14 002E2874  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6C18 002E2878  89 48 00 04 */	lbz r10, 4(r8)
/* 802E6C1C 002E287C  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6C20 002E2880  7D 25 4A 14 */	add r9, r5, r9
/* 802E6C24 002E2884  7D 29 3A 14 */	add r9, r9, r7
/* 802E6C28 002E2888  99 49 00 08 */	stb r10, 8(r9)
/* 802E6C2C 002E288C  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6C30 002E2890  89 48 00 05 */	lbz r10, 5(r8)
/* 802E6C34 002E2894  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6C38 002E2898  7D 25 4A 14 */	add r9, r5, r9
/* 802E6C3C 002E289C  7D 29 3A 14 */	add r9, r9, r7
/* 802E6C40 002E28A0  99 49 00 09 */	stb r10, 9(r9)
/* 802E6C44 002E28A4  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6C48 002E28A8  89 48 00 06 */	lbz r10, 6(r8)
/* 802E6C4C 002E28AC  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6C50 002E28B0  7D 25 4A 14 */	add r9, r5, r9
/* 802E6C54 002E28B4  7D 29 3A 14 */	add r9, r9, r7
/* 802E6C58 002E28B8  99 49 00 0A */	stb r10, 0xa(r9)
/* 802E6C5C 002E28BC  A1 25 00 00 */	lhz r9, 0(r5)
/* 802E6C60 002E28C0  89 48 00 07 */	lbz r10, 7(r8)
/* 802E6C64 002E28C4  39 08 00 08 */	addi r8, r8, 8
/* 802E6C68 002E28C8  1D 29 00 12 */	mulli r9, r9, 0x12
/* 802E6C6C 002E28CC  7D 25 4A 14 */	add r9, r5, r9
/* 802E6C70 002E28D0  7D 29 3A 14 */	add r9, r9, r7
/* 802E6C74 002E28D4  38 E7 00 08 */	addi r7, r7, 8
/* 802E6C78 002E28D8  99 49 00 0B */	stb r10, 0xb(r9)
/* 802E6C7C 002E28DC  42 00 FF 38 */	bdnz lbl_802E6BB4
lbl_802E6C80:
/* 802E6C80 002E28E0  7D 27 30 50 */	subf r9, r7, r6
/* 802E6C84 002E28E4  7D 29 03 A6 */	mtctr r9
/* 802E6C88 002E28E8  7C 07 30 00 */	cmpw r7, r6
/* 802E6C8C 002E28EC  40 80 00 28 */	bge lbl_802E6CB4
lbl_802E6C90:
/* 802E6C90 002E28F0  A0 C5 00 00 */	lhz r6, 0(r5)
/* 802E6C94 002E28F4  89 28 00 00 */	lbz r9, 0(r8)
/* 802E6C98 002E28F8  39 08 00 01 */	addi r8, r8, 1
/* 802E6C9C 002E28FC  1C C6 00 12 */	mulli r6, r6, 0x12
/* 802E6CA0 002E2900  7C C5 32 14 */	add r6, r5, r6
/* 802E6CA4 002E2904  7C C6 3A 14 */	add r6, r6, r7
/* 802E6CA8 002E2908  38 E7 00 01 */	addi r7, r7, 1
/* 802E6CAC 002E290C  99 26 00 04 */	stb r9, 4(r6)
/* 802E6CB0 002E2910  42 00 FF E0 */	bdnz lbl_802E6C90
lbl_802E6CB4:
/* 802E6CB4 002E2914  A0 C5 00 00 */	lhz r6, 0(r5)
/* 802E6CB8 002E2918  38 C6 00 01 */	addi r6, r6, 1
/* 802E6CBC 002E291C  B0 C5 00 00 */	sth r6, 0(r5)
/* 802E6CC0 002E2920  48 00 00 0C */	b lbl_802E6CCC
lbl_802E6CC4:
/* 802E6CC4 002E2924  38 60 00 00 */	li r3, 0
/* 802E6CC8 002E2928  4E 80 00 20 */	blr
lbl_802E6CCC:
/* 802E6CCC 002E292C  54 C6 04 3E */	clrlwi r6, r6, 0x10
/* 802E6CD0 002E2930  28 06 00 10 */	cmplwi r6, 0x10
/* 802E6CD4 002E2934  41 80 00 0C */	blt lbl_802E6CE0
/* 802E6CD8 002E2938  38 60 00 00 */	li r3, 0
/* 802E6CDC 002E293C  4E 80 00 20 */	blr
lbl_802E6CE0:
/* 802E6CE0 002E2940  7C 08 00 40 */	cmplw r8, r0
/* 802E6CE4 002E2944  41 80 FD A8 */	blt lbl_802E6A8C
/* 802E6CE8 002E2948  41 82 00 0C */	beq lbl_802E6CF4
/* 802E6CEC 002E294C  38 60 00 00 */	li r3, 0
/* 802E6CF0 002E2950  4E 80 00 20 */	blr
lbl_802E6CF4:
/* 802E6CF4 002E2954  7D 03 43 78 */	mr r3, r8
/* 802E6CF8 002E2958  4E 80 00 20 */	blr

.global sdpu_extract_attr_seq
sdpu_extract_attr_seq:
/* 802E6CFC 002E295C  38 00 00 00 */	li r0, 0
/* 802E6D00 002E2960  B0 05 00 00 */	sth r0, 0(r5)
/* 802E6D04 002E2964  88 C3 00 00 */	lbz r6, 0(r3)
/* 802E6D08 002E2968  7C C0 1E 70 */	srawi r0, r6, 3
/* 802E6D0C 002E296C  54 C6 07 7E */	clrlwi r6, r6, 0x1d
/* 802E6D10 002E2970  28 00 00 06 */	cmplwi r0, 6
/* 802E6D14 002E2974  41 82 00 0C */	beq lbl_802E6D20
/* 802E6D18 002E2978  38 63 00 01 */	addi r3, r3, 1
/* 802E6D1C 002E297C  4E 80 00 20 */	blr
lbl_802E6D20:
/* 802E6D20 002E2980  2C 06 00 06 */	cmpwi r6, 6
/* 802E6D24 002E2984  41 82 00 2C */	beq lbl_802E6D50
/* 802E6D28 002E2988  40 80 00 10 */	bge lbl_802E6D38
/* 802E6D2C 002E298C  2C 06 00 05 */	cmpwi r6, 5
/* 802E6D30 002E2990  40 80 00 14 */	bge lbl_802E6D44
/* 802E6D34 002E2994  48 00 00 68 */	b lbl_802E6D9C
lbl_802E6D38:
/* 802E6D38 002E2998  2C 06 00 08 */	cmpwi r6, 8
/* 802E6D3C 002E299C  40 80 00 60 */	bge lbl_802E6D9C
/* 802E6D40 002E29A0  48 00 00 2C */	b lbl_802E6D6C
lbl_802E6D44:
/* 802E6D44 002E29A4  88 03 00 01 */	lbz r0, 1(r3)
/* 802E6D48 002E29A8  38 C3 00 02 */	addi r6, r3, 2
/* 802E6D4C 002E29AC  48 00 00 58 */	b lbl_802E6DA4
lbl_802E6D50:
/* 802E6D50 002E29B0  88 E3 00 01 */	lbz r7, 1(r3)
/* 802E6D54 002E29B4  38 C3 00 03 */	addi r6, r3, 3
/* 802E6D58 002E29B8  88 03 00 02 */	lbz r0, 2(r3)
/* 802E6D5C 002E29BC  54 E3 40 2E */	slwi r3, r7, 8
/* 802E6D60 002E29C0  7C 03 02 14 */	add r0, r3, r0
/* 802E6D64 002E29C4  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E6D68 002E29C8  48 00 00 3C */	b lbl_802E6DA4
lbl_802E6D6C:
/* 802E6D6C 002E29CC  89 03 00 01 */	lbz r8, 1(r3)
/* 802E6D70 002E29D0  38 C3 00 05 */	addi r6, r3, 5
/* 802E6D74 002E29D4  88 E3 00 02 */	lbz r7, 2(r3)
/* 802E6D78 002E29D8  88 03 00 03 */	lbz r0, 3(r3)
/* 802E6D7C 002E29DC  55 08 C0 0E */	slwi r8, r8, 0x18
/* 802E6D80 002E29E0  88 63 00 04 */	lbz r3, 4(r3)
/* 802E6D84 002E29E4  54 E7 80 1E */	slwi r7, r7, 0x10
/* 802E6D88 002E29E8  54 00 40 2E */	slwi r0, r0, 8
/* 802E6D8C 002E29EC  7C 67 1A 14 */	add r3, r7, r3
/* 802E6D90 002E29F0  7C 08 02 14 */	add r0, r8, r0
/* 802E6D94 002E29F4  7C 03 02 14 */	add r0, r3, r0
/* 802E6D98 002E29F8  48 00 00 0C */	b lbl_802E6DA4
lbl_802E6D9C:
/* 802E6D9C 002E29FC  38 63 00 01 */	addi r3, r3, 1
/* 802E6DA0 002E2A00  4E 80 00 20 */	blr
lbl_802E6DA4:
/* 802E6DA4 002E2A04  7C 00 20 40 */	cmplw r0, r4
/* 802E6DA8 002E2A08  40 81 00 0C */	ble lbl_802E6DB4
/* 802E6DAC 002E2A0C  7C C3 33 78 */	mr r3, r6
/* 802E6DB0 002E2A10  4E 80 00 20 */	blr
lbl_802E6DB4:
/* 802E6DB4 002E2A14  7C 06 02 14 */	add r0, r6, r0
/* 802E6DB8 002E2A18  48 00 01 84 */	b lbl_802E6F3C
lbl_802E6DBC:
/* 802E6DBC 002E2A1C  88 86 00 00 */	lbz r4, 0(r6)
/* 802E6DC0 002E2A20  38 C6 00 01 */	addi r6, r6, 1
/* 802E6DC4 002E2A24  7C 83 1E 70 */	srawi r3, r4, 3
/* 802E6DC8 002E2A28  54 84 07 7E */	clrlwi r4, r4, 0x1d
/* 802E6DCC 002E2A2C  28 03 00 01 */	cmplwi r3, 1
/* 802E6DD0 002E2A30  41 82 00 0C */	beq lbl_802E6DDC
/* 802E6DD4 002E2A34  7C C3 33 78 */	mr r3, r6
/* 802E6DD8 002E2A38  4E 80 00 20 */	blr
lbl_802E6DDC:
/* 802E6DDC 002E2A3C  2C 04 00 05 */	cmpwi r4, 5
/* 802E6DE0 002E2A40  41 82 00 40 */	beq lbl_802E6E20
/* 802E6DE4 002E2A44  40 80 00 1C */	bge lbl_802E6E00
/* 802E6DE8 002E2A48  2C 04 00 02 */	cmpwi r4, 2
/* 802E6DEC 002E2A4C  41 82 00 2C */	beq lbl_802E6E18
/* 802E6DF0 002E2A50  40 80 00 88 */	bge lbl_802E6E78
/* 802E6DF4 002E2A54  2C 04 00 01 */	cmpwi r4, 1
/* 802E6DF8 002E2A58  40 80 00 18 */	bge lbl_802E6E10
/* 802E6DFC 002E2A5C  48 00 00 7C */	b lbl_802E6E78
lbl_802E6E00:
/* 802E6E00 002E2A60  2C 04 00 07 */	cmpwi r4, 7
/* 802E6E04 002E2A64  41 82 00 44 */	beq lbl_802E6E48
/* 802E6E08 002E2A68  40 80 00 70 */	bge lbl_802E6E78
/* 802E6E0C 002E2A6C  48 00 00 20 */	b lbl_802E6E2C
lbl_802E6E10:
/* 802E6E10 002E2A70  38 60 00 02 */	li r3, 2
/* 802E6E14 002E2A74  48 00 00 6C */	b lbl_802E6E80
lbl_802E6E18:
/* 802E6E18 002E2A78  38 60 00 04 */	li r3, 4
/* 802E6E1C 002E2A7C  48 00 00 64 */	b lbl_802E6E80
lbl_802E6E20:
/* 802E6E20 002E2A80  88 66 00 00 */	lbz r3, 0(r6)
/* 802E6E24 002E2A84  38 C6 00 01 */	addi r6, r6, 1
/* 802E6E28 002E2A88  48 00 00 58 */	b lbl_802E6E80
lbl_802E6E2C:
/* 802E6E2C 002E2A8C  88 86 00 00 */	lbz r4, 0(r6)
/* 802E6E30 002E2A90  88 66 00 01 */	lbz r3, 1(r6)
/* 802E6E34 002E2A94  38 C6 00 02 */	addi r6, r6, 2
/* 802E6E38 002E2A98  54 84 40 2E */	slwi r4, r4, 8
/* 802E6E3C 002E2A9C  7C 64 1A 14 */	add r3, r4, r3
/* 802E6E40 002E2AA0  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802E6E44 002E2AA4  48 00 00 3C */	b lbl_802E6E80
lbl_802E6E48:
/* 802E6E48 002E2AA8  88 E6 00 00 */	lbz r7, 0(r6)
/* 802E6E4C 002E2AAC  88 86 00 01 */	lbz r4, 1(r6)
/* 802E6E50 002E2AB0  88 66 00 02 */	lbz r3, 2(r6)
/* 802E6E54 002E2AB4  54 E8 C0 0E */	slwi r8, r7, 0x18
/* 802E6E58 002E2AB8  88 E6 00 03 */	lbz r7, 3(r6)
/* 802E6E5C 002E2ABC  54 84 80 1E */	slwi r4, r4, 0x10
/* 802E6E60 002E2AC0  54 63 40 2E */	slwi r3, r3, 8
/* 802E6E64 002E2AC4  38 C6 00 04 */	addi r6, r6, 4
/* 802E6E68 002E2AC8  7C 88 22 14 */	add r4, r8, r4
/* 802E6E6C 002E2ACC  7C 67 1A 14 */	add r3, r7, r3
/* 802E6E70 002E2AD0  7C 64 1A 14 */	add r3, r4, r3
/* 802E6E74 002E2AD4  48 00 00 0C */	b lbl_802E6E80
lbl_802E6E78:
/* 802E6E78 002E2AD8  38 60 00 00 */	li r3, 0
/* 802E6E7C 002E2ADC  4E 80 00 20 */	blr
lbl_802E6E80:
/* 802E6E80 002E2AE0  28 03 00 02 */	cmplwi r3, 2
/* 802E6E84 002E2AE4  40 82 00 40 */	bne lbl_802E6EC4
/* 802E6E88 002E2AE8  88 E6 00 00 */	lbz r7, 0(r6)
/* 802E6E8C 002E2AEC  A0 65 00 00 */	lhz r3, 0(r5)
/* 802E6E90 002E2AF0  88 86 00 01 */	lbz r4, 1(r6)
/* 802E6E94 002E2AF4  54 E7 40 2E */	slwi r7, r7, 8
/* 802E6E98 002E2AF8  54 63 10 3A */	slwi r3, r3, 2
/* 802E6E9C 002E2AFC  38 C6 00 02 */	addi r6, r6, 2
/* 802E6EA0 002E2B00  7C 87 22 14 */	add r4, r7, r4
/* 802E6EA4 002E2B04  7C 65 1A 14 */	add r3, r5, r3
/* 802E6EA8 002E2B08  B0 83 00 02 */	sth r4, 2(r3)
/* 802E6EAC 002E2B0C  A0 65 00 00 */	lhz r3, 0(r5)
/* 802E6EB0 002E2B10  54 63 10 3A */	slwi r3, r3, 2
/* 802E6EB4 002E2B14  7C 85 1A 14 */	add r4, r5, r3
/* 802E6EB8 002E2B18  A0 64 00 02 */	lhz r3, 2(r4)
/* 802E6EBC 002E2B1C  B0 64 00 04 */	sth r3, 4(r4)
/* 802E6EC0 002E2B20  48 00 00 5C */	b lbl_802E6F1C
lbl_802E6EC4:
/* 802E6EC4 002E2B24  28 03 00 04 */	cmplwi r3, 4
/* 802E6EC8 002E2B28  40 82 00 4C */	bne lbl_802E6F14
/* 802E6ECC 002E2B2C  88 E6 00 00 */	lbz r7, 0(r6)
/* 802E6ED0 002E2B30  A0 65 00 00 */	lhz r3, 0(r5)
/* 802E6ED4 002E2B34  88 86 00 01 */	lbz r4, 1(r6)
/* 802E6ED8 002E2B38  54 E7 40 2E */	slwi r7, r7, 8
/* 802E6EDC 002E2B3C  54 63 10 3A */	slwi r3, r3, 2
/* 802E6EE0 002E2B40  7C 87 22 14 */	add r4, r7, r4
/* 802E6EE4 002E2B44  7C 65 1A 14 */	add r3, r5, r3
/* 802E6EE8 002E2B48  B0 83 00 02 */	sth r4, 2(r3)
/* 802E6EEC 002E2B4C  88 E6 00 02 */	lbz r7, 2(r6)
/* 802E6EF0 002E2B50  A0 65 00 00 */	lhz r3, 0(r5)
/* 802E6EF4 002E2B54  88 86 00 03 */	lbz r4, 3(r6)
/* 802E6EF8 002E2B58  54 E7 40 2E */	slwi r7, r7, 8
/* 802E6EFC 002E2B5C  54 63 10 3A */	slwi r3, r3, 2
/* 802E6F00 002E2B60  38 C6 00 04 */	addi r6, r6, 4
/* 802E6F04 002E2B64  7C 87 22 14 */	add r4, r7, r4
/* 802E6F08 002E2B68  7C 65 1A 14 */	add r3, r5, r3
/* 802E6F0C 002E2B6C  B0 83 00 04 */	sth r4, 4(r3)
/* 802E6F10 002E2B70  48 00 00 0C */	b lbl_802E6F1C
lbl_802E6F14:
/* 802E6F14 002E2B74  38 60 00 00 */	li r3, 0
/* 802E6F18 002E2B78  4E 80 00 20 */	blr
lbl_802E6F1C:
/* 802E6F1C 002E2B7C  A0 65 00 00 */	lhz r3, 0(r5)
/* 802E6F20 002E2B80  38 83 00 01 */	addi r4, r3, 1
/* 802E6F24 002E2B84  54 83 04 3E */	clrlwi r3, r4, 0x10
/* 802E6F28 002E2B88  B0 85 00 00 */	sth r4, 0(r5)
/* 802E6F2C 002E2B8C  28 03 00 10 */	cmplwi r3, 0x10
/* 802E6F30 002E2B90  41 80 00 0C */	blt lbl_802E6F3C
/* 802E6F34 002E2B94  38 60 00 00 */	li r3, 0
/* 802E6F38 002E2B98  4E 80 00 20 */	blr
lbl_802E6F3C:
/* 802E6F3C 002E2B9C  7C 06 00 40 */	cmplw r6, r0
/* 802E6F40 002E2BA0  41 80 FE 7C */	blt lbl_802E6DBC
/* 802E6F44 002E2BA4  7C C3 33 78 */	mr r3, r6
/* 802E6F48 002E2BA8  4E 80 00 20 */	blr

.global sdpu_get_len_from_type
sdpu_get_len_from_type:
/* 802E6F4C 002E2BAC  54 80 07 7E */	clrlwi r0, r4, 0x1d
/* 802E6F50 002E2BB0  7C 68 1B 78 */	mr r8, r3
/* 802E6F54 002E2BB4  28 00 00 07 */	cmplwi r0, 7
/* 802E6F58 002E2BB8  41 81 00 BC */	bgt lbl_802E7014
/* 802E6F5C 002E2BBC  3C 80 80 44 */	lis r4, lbl_80445620@ha
/* 802E6F60 002E2BC0  54 00 10 3A */	slwi r0, r0, 2
/* 802E6F64 002E2BC4  38 84 56 20 */	addi r4, r4, lbl_80445620@l
/* 802E6F68 002E2BC8  7C 84 00 2E */	lwzx r4, r4, r0
/* 802E6F6C 002E2BCC  7C 89 03 A6 */	mtctr r4
/* 802E6F70 002E2BD0  4E 80 04 20 */	bctr
/* 802E6F74 002E2BD4  38 00 00 01 */	li r0, 1
/* 802E6F78 002E2BD8  90 05 00 00 */	stw r0, 0(r5)
/* 802E6F7C 002E2BDC  48 00 00 98 */	b lbl_802E7014
/* 802E6F80 002E2BE0  38 00 00 02 */	li r0, 2
/* 802E6F84 002E2BE4  90 05 00 00 */	stw r0, 0(r5)
/* 802E6F88 002E2BE8  48 00 00 8C */	b lbl_802E7014
/* 802E6F8C 002E2BEC  38 00 00 04 */	li r0, 4
/* 802E6F90 002E2BF0  90 05 00 00 */	stw r0, 0(r5)
/* 802E6F94 002E2BF4  48 00 00 80 */	b lbl_802E7014
/* 802E6F98 002E2BF8  38 00 00 08 */	li r0, 8
/* 802E6F9C 002E2BFC  90 05 00 00 */	stw r0, 0(r5)
/* 802E6FA0 002E2C00  48 00 00 74 */	b lbl_802E7014
/* 802E6FA4 002E2C04  38 00 00 10 */	li r0, 0x10
/* 802E6FA8 002E2C08  90 05 00 00 */	stw r0, 0(r5)
/* 802E6FAC 002E2C0C  48 00 00 68 */	b lbl_802E7014
/* 802E6FB0 002E2C10  88 03 00 00 */	lbz r0, 0(r3)
/* 802E6FB4 002E2C14  39 03 00 01 */	addi r8, r3, 1
/* 802E6FB8 002E2C18  90 05 00 00 */	stw r0, 0(r5)
/* 802E6FBC 002E2C1C  48 00 00 58 */	b lbl_802E7014
/* 802E6FC0 002E2C20  88 83 00 00 */	lbz r4, 0(r3)
/* 802E6FC4 002E2C24  39 03 00 02 */	addi r8, r3, 2
/* 802E6FC8 002E2C28  88 03 00 01 */	lbz r0, 1(r3)
/* 802E6FCC 002E2C2C  54 83 40 2E */	slwi r3, r4, 8
/* 802E6FD0 002E2C30  7C 03 02 14 */	add r0, r3, r0
/* 802E6FD4 002E2C34  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E6FD8 002E2C38  90 05 00 00 */	stw r0, 0(r5)
/* 802E6FDC 002E2C3C  48 00 00 38 */	b lbl_802E7014
/* 802E6FE0 002E2C40  88 C3 00 00 */	lbz r6, 0(r3)
/* 802E6FE4 002E2C44  39 03 00 04 */	addi r8, r3, 4
/* 802E6FE8 002E2C48  88 03 00 02 */	lbz r0, 2(r3)
/* 802E6FEC 002E2C4C  88 83 00 01 */	lbz r4, 1(r3)
/* 802E6FF0 002E2C50  54 C7 C0 0E */	slwi r7, r6, 0x18
/* 802E6FF4 002E2C54  54 00 40 2E */	slwi r0, r0, 8
/* 802E6FF8 002E2C58  54 86 80 1E */	slwi r6, r4, 0x10
/* 802E6FFC 002E2C5C  88 83 00 03 */	lbz r4, 3(r3)
/* 802E7000 002E2C60  7C 67 32 14 */	add r3, r7, r6
/* 802E7004 002E2C64  7C 04 02 14 */	add r0, r4, r0
/* 802E7008 002E2C68  7C 03 02 14 */	add r0, r3, r0
/* 802E700C 002E2C6C  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E7010 002E2C70  90 05 00 00 */	stw r0, 0(r5)
lbl_802E7014:
/* 802E7014 002E2C74  7D 03 43 78 */	mr r3, r8
/* 802E7018 002E2C78  4E 80 00 20 */	blr

.global sdpu_is_base_uuid
sdpu_is_base_uuid:
/* 802E701C 002E2C7C  3C A0 80 40 */	lis r5, lbl_803FDF10@ha
/* 802E7020 002E2C80  38 00 00 02 */	li r0, 2
/* 802E7024 002E2C84  38 A5 DF 10 */	addi r5, r5, lbl_803FDF10@l
/* 802E7028 002E2C88  38 C0 00 04 */	li r6, 4
/* 802E702C 002E2C8C  7C 09 03 A6 */	mtctr r0
lbl_802E7030:
/* 802E7030 002E2C90  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 802E7034 002E2C94  7C 85 00 AE */	lbzx r4, r5, r0
/* 802E7038 002E2C98  7C 03 00 AE */	lbzx r0, r3, r0
/* 802E703C 002E2C9C  7C 04 00 40 */	cmplw r4, r0
/* 802E7040 002E2CA0  41 82 00 0C */	beq lbl_802E704C
/* 802E7044 002E2CA4  38 60 00 00 */	li r3, 0
/* 802E7048 002E2CA8  4E 80 00 20 */	blr
lbl_802E704C:
/* 802E704C 002E2CAC  38 C6 00 01 */	addi r6, r6, 1
/* 802E7050 002E2CB0  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 802E7054 002E2CB4  7C 85 00 AE */	lbzx r4, r5, r0
/* 802E7058 002E2CB8  7C 03 00 AE */	lbzx r0, r3, r0
/* 802E705C 002E2CBC  7C 04 00 40 */	cmplw r4, r0
/* 802E7060 002E2CC0  41 82 00 0C */	beq lbl_802E706C
/* 802E7064 002E2CC4  38 60 00 00 */	li r3, 0
/* 802E7068 002E2CC8  4E 80 00 20 */	blr
lbl_802E706C:
/* 802E706C 002E2CCC  38 C6 00 01 */	addi r6, r6, 1
/* 802E7070 002E2CD0  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 802E7074 002E2CD4  7C 85 00 AE */	lbzx r4, r5, r0
/* 802E7078 002E2CD8  7C 03 00 AE */	lbzx r0, r3, r0
/* 802E707C 002E2CDC  7C 04 00 40 */	cmplw r4, r0
/* 802E7080 002E2CE0  41 82 00 0C */	beq lbl_802E708C
/* 802E7084 002E2CE4  38 60 00 00 */	li r3, 0
/* 802E7088 002E2CE8  4E 80 00 20 */	blr
lbl_802E708C:
/* 802E708C 002E2CEC  38 C6 00 01 */	addi r6, r6, 1
/* 802E7090 002E2CF0  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 802E7094 002E2CF4  7C 85 00 AE */	lbzx r4, r5, r0
/* 802E7098 002E2CF8  7C 03 00 AE */	lbzx r0, r3, r0
/* 802E709C 002E2CFC  7C 04 00 40 */	cmplw r4, r0
/* 802E70A0 002E2D00  41 82 00 0C */	beq lbl_802E70AC
/* 802E70A4 002E2D04  38 60 00 00 */	li r3, 0
/* 802E70A8 002E2D08  4E 80 00 20 */	blr
lbl_802E70AC:
/* 802E70AC 002E2D0C  38 C6 00 01 */	addi r6, r6, 1
/* 802E70B0 002E2D10  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 802E70B4 002E2D14  7C 85 00 AE */	lbzx r4, r5, r0
/* 802E70B8 002E2D18  7C 03 00 AE */	lbzx r0, r3, r0
/* 802E70BC 002E2D1C  7C 04 00 40 */	cmplw r4, r0
/* 802E70C0 002E2D20  41 82 00 0C */	beq lbl_802E70CC
/* 802E70C4 002E2D24  38 60 00 00 */	li r3, 0
/* 802E70C8 002E2D28  4E 80 00 20 */	blr
lbl_802E70CC:
/* 802E70CC 002E2D2C  38 C6 00 01 */	addi r6, r6, 1
/* 802E70D0 002E2D30  54 C0 04 3E */	clrlwi r0, r6, 0x10
/* 802E70D4 002E2D34  7C 85 00 AE */	lbzx r4, r5, r0
/* 802E70D8 002E2D38  7C 03 00 AE */	lbzx r0, r3, r0
/* 802E70DC 002E2D3C  7C 04 00 40 */	cmplw r4, r0
/* 802E70E0 002E2D40  41 82 00 0C */	beq lbl_802E70EC
/* 802E70E4 002E2D44  38 60 00 00 */	li r3, 0
/* 802E70E8 002E2D48  4E 80 00 20 */	blr
lbl_802E70EC:
/* 802E70EC 002E2D4C  38 C6 00 01 */	addi r6, r6, 1
/* 802E70F0 002E2D50  42 00 FF 40 */	bdnz lbl_802E7030
/* 802E70F4 002E2D54  38 60 00 01 */	li r3, 1
/* 802E70F8 002E2D58  4E 80 00 20 */	blr

.global sdpu_compare_uuid_arrays
sdpu_compare_uuid_arrays:
/* 802E70FC 002E2D5C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802E7100 002E2D60  7C 08 02 A6 */	mflr r0
/* 802E7104 002E2D64  7C 04 30 40 */	cmplw r4, r6
/* 802E7108 002E2D68  90 01 00 44 */	stw r0, 0x44(r1)
/* 802E710C 002E2D6C  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 802E7110 002E2D70  7C DF 33 78 */	mr r31, r6
/* 802E7114 002E2D74  93 C1 00 38 */	stw r30, 0x38(r1)
/* 802E7118 002E2D78  7C BE 2B 78 */	mr r30, r5
/* 802E711C 002E2D7C  93 A1 00 34 */	stw r29, 0x34(r1)
/* 802E7120 002E2D80  7C 9D 23 78 */	mr r29, r4
/* 802E7124 002E2D84  93 81 00 30 */	stw r28, 0x30(r1)
/* 802E7128 002E2D88  7C 7C 1B 78 */	mr r28, r3
/* 802E712C 002E2D8C  40 82 00 AC */	bne lbl_802E71D8
/* 802E7130 002E2D90  28 04 00 02 */	cmplwi r4, 2
/* 802E7134 002E2D94  40 82 00 34 */	bne lbl_802E7168
/* 802E7138 002E2D98  88 83 00 00 */	lbz r4, 0(r3)
/* 802E713C 002E2D9C  38 C0 00 00 */	li r6, 0
/* 802E7140 002E2DA0  88 05 00 00 */	lbz r0, 0(r5)
/* 802E7144 002E2DA4  7C 04 00 40 */	cmplw r4, r0
/* 802E7148 002E2DA8  40 82 00 18 */	bne lbl_802E7160
/* 802E714C 002E2DAC  88 63 00 01 */	lbz r3, 1(r3)
/* 802E7150 002E2DB0  88 05 00 01 */	lbz r0, 1(r5)
/* 802E7154 002E2DB4  7C 03 00 40 */	cmplw r3, r0
/* 802E7158 002E2DB8  40 82 00 08 */	bne lbl_802E7160
/* 802E715C 002E2DBC  38 C0 00 01 */	li r6, 1
lbl_802E7160:
/* 802E7160 002E2DC0  7C C3 33 78 */	mr r3, r6
/* 802E7164 002E2DC4  48 00 01 EC */	b lbl_802E7350
lbl_802E7168:
/* 802E7168 002E2DC8  28 04 00 04 */	cmplwi r4, 4
/* 802E716C 002E2DCC  40 82 00 50 */	bne lbl_802E71BC
/* 802E7170 002E2DD0  88 83 00 00 */	lbz r4, 0(r3)
/* 802E7174 002E2DD4  38 C0 00 00 */	li r6, 0
/* 802E7178 002E2DD8  88 05 00 00 */	lbz r0, 0(r5)
/* 802E717C 002E2DDC  7C 04 00 40 */	cmplw r4, r0
/* 802E7180 002E2DE0  40 82 00 50 */	bne lbl_802E71D0
/* 802E7184 002E2DE4  88 83 00 01 */	lbz r4, 1(r3)
/* 802E7188 002E2DE8  88 05 00 01 */	lbz r0, 1(r5)
/* 802E718C 002E2DEC  7C 04 00 40 */	cmplw r4, r0
/* 802E7190 002E2DF0  40 82 00 40 */	bne lbl_802E71D0
/* 802E7194 002E2DF4  88 83 00 02 */	lbz r4, 2(r3)
/* 802E7198 002E2DF8  88 05 00 02 */	lbz r0, 2(r5)
/* 802E719C 002E2DFC  7C 04 00 40 */	cmplw r4, r0
/* 802E71A0 002E2E00  40 82 00 30 */	bne lbl_802E71D0
/* 802E71A4 002E2E04  88 63 00 03 */	lbz r3, 3(r3)
/* 802E71A8 002E2E08  88 05 00 03 */	lbz r0, 3(r5)
/* 802E71AC 002E2E0C  7C 03 00 40 */	cmplw r3, r0
/* 802E71B0 002E2E10  40 82 00 20 */	bne lbl_802E71D0
/* 802E71B4 002E2E14  38 C0 00 01 */	li r6, 1
/* 802E71B8 002E2E18  48 00 00 18 */	b lbl_802E71D0
lbl_802E71BC:
/* 802E71BC 002E2E1C  7F C4 F3 78 */	mr r4, r30
/* 802E71C0 002E2E20  7F A5 EB 78 */	mr r5, r29
/* 802E71C4 002E2E24  4B EE 31 D5 */	bl memcmp
/* 802E71C8 002E2E28  7C 60 00 34 */	cntlzw r0, r3
/* 802E71CC 002E2E2C  54 06 DE 3E */	rlwinm r6, r0, 0x1b, 0x18, 0x1f
lbl_802E71D0:
/* 802E71D0 002E2E30  7C C3 33 78 */	mr r3, r6
/* 802E71D4 002E2E34  48 00 01 7C */	b lbl_802E7350
lbl_802E71D8:
/* 802E71D8 002E2E38  40 81 00 C0 */	ble lbl_802E7298
/* 802E71DC 002E2E3C  28 04 00 04 */	cmplwi r4, 4
/* 802E71E0 002E2E40  40 82 00 4C */	bne lbl_802E722C
/* 802E71E4 002E2E44  88 03 00 00 */	lbz r0, 0(r3)
/* 802E71E8 002E2E48  38 C0 00 00 */	li r6, 0
/* 802E71EC 002E2E4C  2C 00 00 00 */	cmpwi r0, 0
/* 802E71F0 002E2E50  40 82 00 34 */	bne lbl_802E7224
/* 802E71F4 002E2E54  88 03 00 01 */	lbz r0, 1(r3)
/* 802E71F8 002E2E58  2C 00 00 00 */	cmpwi r0, 0
/* 802E71FC 002E2E5C  40 82 00 28 */	bne lbl_802E7224
/* 802E7200 002E2E60  88 83 00 02 */	lbz r4, 2(r3)
/* 802E7204 002E2E64  88 05 00 00 */	lbz r0, 0(r5)
/* 802E7208 002E2E68  7C 04 00 40 */	cmplw r4, r0
/* 802E720C 002E2E6C  40 82 00 18 */	bne lbl_802E7224
/* 802E7210 002E2E70  88 63 00 03 */	lbz r3, 3(r3)
/* 802E7214 002E2E74  88 05 00 01 */	lbz r0, 1(r5)
/* 802E7218 002E2E78  7C 03 00 40 */	cmplw r3, r0
/* 802E721C 002E2E7C  40 82 00 08 */	bne lbl_802E7224
/* 802E7220 002E2E80  38 C0 00 01 */	li r6, 1
lbl_802E7224:
/* 802E7224 002E2E84  7C C3 33 78 */	mr r3, r6
/* 802E7228 002E2E88  48 00 01 28 */	b lbl_802E7350
lbl_802E722C:
/* 802E722C 002E2E8C  7F 84 E3 78 */	mr r4, r28
/* 802E7230 002E2E90  38 61 00 18 */	addi r3, r1, 0x18
/* 802E7234 002E2E94  38 A0 00 10 */	li r5, 0x10
/* 802E7238 002E2E98  4B D1 CD C9 */	bl memcpy
/* 802E723C 002E2E9C  3C 80 80 40 */	lis r4, lbl_803FDF10@ha
/* 802E7240 002E2EA0  38 61 00 08 */	addi r3, r1, 8
/* 802E7244 002E2EA4  38 84 DF 10 */	addi r4, r4, lbl_803FDF10@l
/* 802E7248 002E2EA8  38 A0 00 10 */	li r5, 0x10
/* 802E724C 002E2EAC  4B D1 CD B5 */	bl memcpy
/* 802E7250 002E2EB0  28 1F 00 04 */	cmplwi r31, 4
/* 802E7254 002E2EB4  40 82 00 18 */	bne lbl_802E726C
/* 802E7258 002E2EB8  7F C4 F3 78 */	mr r4, r30
/* 802E725C 002E2EBC  7F E5 FB 78 */	mr r5, r31
/* 802E7260 002E2EC0  38 61 00 08 */	addi r3, r1, 8
/* 802E7264 002E2EC4  4B D1 CD 9D */	bl memcpy
/* 802E7268 002E2EC8  48 00 00 14 */	b lbl_802E727C
lbl_802E726C:
/* 802E726C 002E2ECC  7F C4 F3 78 */	mr r4, r30
/* 802E7270 002E2ED0  7F E5 FB 78 */	mr r5, r31
/* 802E7274 002E2ED4  38 61 00 0A */	addi r3, r1, 0xa
/* 802E7278 002E2ED8  4B D1 CD 89 */	bl memcpy
lbl_802E727C:
/* 802E727C 002E2EDC  38 61 00 18 */	addi r3, r1, 0x18
/* 802E7280 002E2EE0  38 81 00 08 */	addi r4, r1, 8
/* 802E7284 002E2EE4  38 A0 00 10 */	li r5, 0x10
/* 802E7288 002E2EE8  4B EE 31 11 */	bl memcmp
/* 802E728C 002E2EEC  7C 60 00 34 */	cntlzw r0, r3
/* 802E7290 002E2EF0  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802E7294 002E2EF4  48 00 00 BC */	b lbl_802E7350
lbl_802E7298:
/* 802E7298 002E2EF8  28 06 00 04 */	cmplwi r6, 4
/* 802E729C 002E2EFC  40 82 00 4C */	bne lbl_802E72E8
/* 802E72A0 002E2F00  88 05 00 00 */	lbz r0, 0(r5)
/* 802E72A4 002E2F04  38 C0 00 00 */	li r6, 0
/* 802E72A8 002E2F08  2C 00 00 00 */	cmpwi r0, 0
/* 802E72AC 002E2F0C  40 82 00 34 */	bne lbl_802E72E0
/* 802E72B0 002E2F10  88 05 00 01 */	lbz r0, 1(r5)
/* 802E72B4 002E2F14  2C 00 00 00 */	cmpwi r0, 0
/* 802E72B8 002E2F18  40 82 00 28 */	bne lbl_802E72E0
/* 802E72BC 002E2F1C  88 85 00 02 */	lbz r4, 2(r5)
/* 802E72C0 002E2F20  88 03 00 00 */	lbz r0, 0(r3)
/* 802E72C4 002E2F24  7C 04 00 40 */	cmplw r4, r0
/* 802E72C8 002E2F28  40 82 00 18 */	bne lbl_802E72E0
/* 802E72CC 002E2F2C  88 85 00 03 */	lbz r4, 3(r5)
/* 802E72D0 002E2F30  88 03 00 01 */	lbz r0, 1(r3)
/* 802E72D4 002E2F34  7C 04 00 40 */	cmplw r4, r0
/* 802E72D8 002E2F38  40 82 00 08 */	bne lbl_802E72E0
/* 802E72DC 002E2F3C  38 C0 00 01 */	li r6, 1
lbl_802E72E0:
/* 802E72E0 002E2F40  7C C3 33 78 */	mr r3, r6
/* 802E72E4 002E2F44  48 00 00 6C */	b lbl_802E7350
lbl_802E72E8:
/* 802E72E8 002E2F48  7F C4 F3 78 */	mr r4, r30
/* 802E72EC 002E2F4C  38 61 00 08 */	addi r3, r1, 8
/* 802E72F0 002E2F50  38 A0 00 10 */	li r5, 0x10
/* 802E72F4 002E2F54  4B D1 CD 0D */	bl memcpy
/* 802E72F8 002E2F58  3C 80 80 40 */	lis r4, lbl_803FDF10@ha
/* 802E72FC 002E2F5C  38 61 00 18 */	addi r3, r1, 0x18
/* 802E7300 002E2F60  38 84 DF 10 */	addi r4, r4, lbl_803FDF10@l
/* 802E7304 002E2F64  38 A0 00 10 */	li r5, 0x10
/* 802E7308 002E2F68  4B D1 CC F9 */	bl memcpy
/* 802E730C 002E2F6C  28 1D 00 04 */	cmplwi r29, 4
/* 802E7310 002E2F70  40 82 00 18 */	bne lbl_802E7328
/* 802E7314 002E2F74  7F 84 E3 78 */	mr r4, r28
/* 802E7318 002E2F78  7F A5 EB 78 */	mr r5, r29
/* 802E731C 002E2F7C  38 61 00 18 */	addi r3, r1, 0x18
/* 802E7320 002E2F80  4B D1 CC E1 */	bl memcpy
/* 802E7324 002E2F84  48 00 00 14 */	b lbl_802E7338
lbl_802E7328:
/* 802E7328 002E2F88  7F 84 E3 78 */	mr r4, r28
/* 802E732C 002E2F8C  7F A5 EB 78 */	mr r5, r29
/* 802E7330 002E2F90  38 61 00 1A */	addi r3, r1, 0x1a
/* 802E7334 002E2F94  4B D1 CC CD */	bl memcpy
lbl_802E7338:
/* 802E7338 002E2F98  38 61 00 18 */	addi r3, r1, 0x18
/* 802E733C 002E2F9C  38 81 00 08 */	addi r4, r1, 8
/* 802E7340 002E2FA0  38 A0 00 10 */	li r5, 0x10
/* 802E7344 002E2FA4  4B EE 30 55 */	bl memcmp
/* 802E7348 002E2FA8  7C 60 00 34 */	cntlzw r0, r3
/* 802E734C 002E2FAC  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
lbl_802E7350:
/* 802E7350 002E2FB0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802E7354 002E2FB4  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 802E7358 002E2FB8  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 802E735C 002E2FBC  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 802E7360 002E2FC0  83 81 00 30 */	lwz r28, 0x30(r1)
/* 802E7364 002E2FC4  7C 08 03 A6 */	mtlr r0
/* 802E7368 002E2FC8  38 21 00 40 */	addi r1, r1, 0x40
/* 802E736C 002E2FCC  4E 80 00 20 */	blr

.global sdpu_compare_uuid_with_attr
sdpu_compare_uuid_with_attr:
/* 802E7370 002E2FD0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E7374 002E2FD4  7C 08 02 A6 */	mflr r0
/* 802E7378 002E2FD8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E737C 002E2FDC  A0 04 00 06 */	lhz r0, 6(r4)
/* 802E7380 002E2FE0  A0 A3 00 00 */	lhz r5, 0(r3)
/* 802E7384 002E2FE4  54 00 05 3E */	clrlwi r0, r0, 0x14
/* 802E7388 002E2FE8  7C 05 00 40 */	cmplw r5, r0
/* 802E738C 002E2FEC  41 82 00 0C */	beq lbl_802E7398
/* 802E7390 002E2FF0  38 60 00 00 */	li r3, 0
/* 802E7394 002E2FF4  48 00 00 5C */	b lbl_802E73F0
lbl_802E7398:
/* 802E7398 002E2FF8  28 05 00 02 */	cmplwi r5, 2
/* 802E739C 002E2FFC  40 82 00 1C */	bne lbl_802E73B8
/* 802E73A0 002E3000  A0 63 00 04 */	lhz r3, 4(r3)
/* 802E73A4 002E3004  A0 04 00 08 */	lhz r0, 8(r4)
/* 802E73A8 002E3008  7C 03 00 50 */	subf r0, r3, r0
/* 802E73AC 002E300C  7C 00 00 34 */	cntlzw r0, r0
/* 802E73B0 002E3010  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802E73B4 002E3014  48 00 00 3C */	b lbl_802E73F0
lbl_802E73B8:
/* 802E73B8 002E3018  28 05 00 04 */	cmplwi r5, 4
/* 802E73BC 002E301C  40 82 00 1C */	bne lbl_802E73D8
/* 802E73C0 002E3020  80 63 00 04 */	lwz r3, 4(r3)
/* 802E73C4 002E3024  80 04 00 08 */	lwz r0, 8(r4)
/* 802E73C8 002E3028  7C 03 00 50 */	subf r0, r3, r0
/* 802E73CC 002E302C  7C 00 00 34 */	cntlzw r0, r0
/* 802E73D0 002E3030  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
/* 802E73D4 002E3034  48 00 00 1C */	b lbl_802E73F0
lbl_802E73D8:
/* 802E73D8 002E3038  38 A0 00 10 */	li r5, 0x10
/* 802E73DC 002E303C  38 63 00 04 */	addi r3, r3, 4
/* 802E73E0 002E3040  38 84 00 08 */	addi r4, r4, 8
/* 802E73E4 002E3044  4B EE 2F B5 */	bl memcmp
/* 802E73E8 002E3048  7C 60 00 34 */	cntlzw r0, r3
/* 802E73EC 002E304C  54 03 DE 3E */	rlwinm r3, r0, 0x1b, 0x18, 0x1f
lbl_802E73F0:
/* 802E73F0 002E3050  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E73F4 002E3054  7C 08 03 A6 */	mtlr r0
/* 802E73F8 002E3058  38 21 00 10 */	addi r1, r1, 0x10
/* 802E73FC 002E305C  4E 80 00 20 */	blr

.global sdpu_sort_attr_list
sdpu_sort_attr_list:
/* 802E7400 002E3060  28 03 00 01 */	cmplwi r3, 1
/* 802E7404 002E3064  4C 81 00 20 */	blelr
/* 802E7408 002E3068  38 A3 FF FF */	addi r5, r3, -1
/* 802E740C 002E306C  39 00 00 00 */	li r8, 0
/* 802E7410 002E3070  3C 60 00 01 */	lis r3, 1
/* 802E7414 002E3074  48 00 00 2C */	b lbl_802E7440
lbl_802E7418:
/* 802E7418 002E3078  55 00 0B FC */	rlwinm r0, r8, 1, 0xf, 0x1e
/* 802E741C 002E307C  7C E4 02 14 */	add r7, r4, r0
/* 802E7420 002E3080  A0 C7 00 50 */	lhz r6, 0x50(r7)
/* 802E7424 002E3084  A0 07 00 4E */	lhz r0, 0x4e(r7)
/* 802E7428 002E3088  7C 00 30 40 */	cmplw r0, r6
/* 802E742C 002E308C  40 81 00 10 */	ble lbl_802E743C
/* 802E7430 002E3090  B0 C7 00 4E */	sth r6, 0x4e(r7)
/* 802E7434 002E3094  39 03 FF FF */	addi r8, r3, -1
/* 802E7438 002E3098  B0 07 00 50 */	sth r0, 0x50(r7)
lbl_802E743C:
/* 802E743C 002E309C  39 08 00 01 */	addi r8, r8, 1
lbl_802E7440:
/* 802E7440 002E30A0  55 00 04 3E */	clrlwi r0, r8, 0x10
/* 802E7444 002E30A4  7C 00 28 00 */	cmpw r0, r5
/* 802E7448 002E30A8  41 80 FF D0 */	blt lbl_802E7418
/* 802E744C 002E30AC  4E 80 00 20 */	blr