summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/sdp_discovery.s
blob: f1b842c8ca627b3fe9283d88e91cd29e8b5dc851 (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
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
.include "macros.inc"

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

.global sdpu_build_uuid_seq
sdpu_build_uuid_seq:
/* 802E391C 002DF57C  38 00 00 35 */	li r0, 0x35
/* 802E3920 002DF580  39 63 00 01 */	addi r11, r3, 1
/* 802E3924 002DF584  7D 6A 5B 78 */	mr r10, r11
/* 802E3928 002DF588  98 03 00 00 */	stb r0, 0(r3)
/* 802E392C 002DF58C  39 20 00 00 */	li r9, 0
/* 802E3930 002DF590  38 C0 00 1C */	li r6, 0x1c
/* 802E3934 002DF594  38 E0 00 1A */	li r7, 0x1a
/* 802E3938 002DF598  39 00 00 19 */	li r8, 0x19
/* 802E393C 002DF59C  7C 89 03 A6 */	mtctr r4
/* 802E3940 002DF5A0  28 04 00 00 */	cmplwi r4, 0
/* 802E3944 002DF5A4  39 6B 00 01 */	addi r11, r11, 1
/* 802E3948 002DF5A8  40 81 00 AC */	ble lbl_802E39F4
lbl_802E394C:
/* 802E394C 002DF5AC  A0 05 00 00 */	lhz r0, 0(r5)
/* 802E3950 002DF5B0  28 00 00 02 */	cmplwi r0, 2
/* 802E3954 002DF5B4  40 82 00 24 */	bne lbl_802E3978
/* 802E3958 002DF5B8  99 0B 00 00 */	stb r8, 0(r11)
/* 802E395C 002DF5BC  A0 05 00 04 */	lhz r0, 4(r5)
/* 802E3960 002DF5C0  7C 00 46 70 */	srawi r0, r0, 8
/* 802E3964 002DF5C4  98 0B 00 01 */	stb r0, 1(r11)
/* 802E3968 002DF5C8  A0 05 00 04 */	lhz r0, 4(r5)
/* 802E396C 002DF5CC  98 0B 00 02 */	stb r0, 2(r11)
/* 802E3970 002DF5D0  39 6B 00 03 */	addi r11, r11, 3
/* 802E3974 002DF5D4  48 00 00 74 */	b lbl_802E39E8
lbl_802E3978:
/* 802E3978 002DF5D8  28 00 00 04 */	cmplwi r0, 4
/* 802E397C 002DF5DC  40 82 00 3C */	bne lbl_802E39B8
/* 802E3980 002DF5E0  98 EB 00 00 */	stb r7, 0(r11)
/* 802E3984 002DF5E4  80 05 00 04 */	lwz r0, 4(r5)
/* 802E3988 002DF5E8  54 00 46 3E */	srwi r0, r0, 0x18
/* 802E398C 002DF5EC  98 0B 00 01 */	stb r0, 1(r11)
/* 802E3990 002DF5F0  80 05 00 04 */	lwz r0, 4(r5)
/* 802E3994 002DF5F4  54 00 86 3E */	rlwinm r0, r0, 0x10, 0x18, 0x1f
/* 802E3998 002DF5F8  98 0B 00 02 */	stb r0, 2(r11)
/* 802E399C 002DF5FC  80 05 00 04 */	lwz r0, 4(r5)
/* 802E39A0 002DF600  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 802E39A4 002DF604  98 0B 00 03 */	stb r0, 3(r11)
/* 802E39A8 002DF608  80 05 00 04 */	lwz r0, 4(r5)
/* 802E39AC 002DF60C  98 0B 00 04 */	stb r0, 4(r11)
/* 802E39B0 002DF610  39 6B 00 05 */	addi r11, r11, 5
/* 802E39B4 002DF614  48 00 00 34 */	b lbl_802E39E8
lbl_802E39B8:
/* 802E39B8 002DF618  98 CB 00 00 */	stb r6, 0(r11)
/* 802E39BC 002DF61C  38 80 00 00 */	li r4, 0
/* 802E39C0 002DF620  39 6B 00 01 */	addi r11, r11, 1
/* 802E39C4 002DF624  48 00 00 18 */	b lbl_802E39DC
lbl_802E39C8:
/* 802E39C8 002DF628  7C 65 22 14 */	add r3, r5, r4
/* 802E39CC 002DF62C  38 84 00 01 */	addi r4, r4, 1
/* 802E39D0 002DF630  88 03 00 04 */	lbz r0, 4(r3)
/* 802E39D4 002DF634  98 0B 00 00 */	stb r0, 0(r11)
/* 802E39D8 002DF638  39 6B 00 01 */	addi r11, r11, 1
lbl_802E39DC:
/* 802E39DC 002DF63C  A0 05 00 00 */	lhz r0, 0(r5)
/* 802E39E0 002DF640  7C 04 00 00 */	cmpw r4, r0
/* 802E39E4 002DF644  41 80 FF E4 */	blt lbl_802E39C8
lbl_802E39E8:
/* 802E39E8 002DF648  39 29 00 01 */	addi r9, r9, 1
/* 802E39EC 002DF64C  38 A5 00 14 */	addi r5, r5, 0x14
/* 802E39F0 002DF650  42 00 FF 5C */	bdnz lbl_802E394C
lbl_802E39F4:
/* 802E39F4 002DF654  7C 8A 58 50 */	subf r4, r10, r11
/* 802E39F8 002DF658  7D 63 5B 78 */	mr r3, r11
/* 802E39FC 002DF65C  38 04 FF FF */	addi r0, r4, -1
/* 802E3A00 002DF660  98 0A 00 00 */	stb r0, 0(r10)
/* 802E3A04 002DF664  4E 80 00 20 */	blr

.global sdp_snd_service_search_req
sdp_snd_service_search_req:
/* 802E3A08 002DF668  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E3A0C 002DF66C  7C 08 02 A6 */	mflr r0
/* 802E3A10 002DF670  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E3A14 002DF674  39 61 00 30 */	addi r11, r1, 0x30
/* 802E3A18 002DF678  4B EE 37 09 */	bl _savegpr_25
/* 802E3A1C 002DF67C  7C 7A 1B 78 */	mr r26, r3
/* 802E3A20 002DF680  7C 9B 23 78 */	mr r27, r4
/* 802E3A24 002DF684  7C BC 2B 78 */	mr r28, r5
/* 802E3A28 002DF688  38 60 00 02 */	li r3, 2
/* 802E3A2C 002DF68C  4B FD 62 21 */	bl GKI_getpoolbuf
/* 802E3A30 002DF690  2C 03 00 00 */	cmpwi r3, 0
/* 802E3A34 002DF694  7C 7D 1B 78 */	mr r29, r3
/* 802E3A38 002DF698  40 82 00 14 */	bne lbl_802E3A4C
/* 802E3A3C 002DF69C  7F 43 D3 78 */	mr r3, r26
/* 802E3A40 002DF6A0  38 80 00 06 */	li r4, 6
/* 802E3A44 002DF6A4  48 00 1A DD */	bl sdp_disconnect
/* 802E3A48 002DF6A8  48 00 00 D8 */	b lbl_802E3B20
lbl_802E3A4C:
/* 802E3A4C 002DF6AC  38 00 00 09 */	li r0, 9
/* 802E3A50 002DF6B0  3B C3 00 11 */	addi r30, r3, 0x11
/* 802E3A54 002DF6B4  B0 03 00 04 */	sth r0, 4(r3)
/* 802E3A58 002DF6B8  38 00 00 02 */	li r0, 2
/* 802E3A5C 002DF6BC  3B FE 00 03 */	addi r31, r30, 3
/* 802E3A60 002DF6C0  98 03 00 11 */	stb r0, 0x11(r3)
/* 802E3A64 002DF6C4  38 7F 00 02 */	addi r3, r31, 2
/* 802E3A68 002DF6C8  A0 1A 04 70 */	lhz r0, 0x470(r26)
/* 802E3A6C 002DF6CC  7C 00 46 70 */	srawi r0, r0, 8
/* 802E3A70 002DF6D0  98 1E 00 01 */	stb r0, 1(r30)
/* 802E3A74 002DF6D4  A0 1A 04 70 */	lhz r0, 0x470(r26)
/* 802E3A78 002DF6D8  98 1E 00 02 */	stb r0, 2(r30)
/* 802E3A7C 002DF6DC  A0 9A 04 70 */	lhz r4, 0x470(r26)
/* 802E3A80 002DF6E0  80 DA 04 10 */	lwz r6, 0x410(r26)
/* 802E3A84 002DF6E4  38 04 00 01 */	addi r0, r4, 1
/* 802E3A88 002DF6E8  B0 1A 04 70 */	sth r0, 0x470(r26)
/* 802E3A8C 002DF6EC  38 A6 00 10 */	addi r5, r6, 0x10
/* 802E3A90 002DF6F0  A0 86 00 0C */	lhz r4, 0xc(r6)
/* 802E3A94 002DF6F4  4B FF FE 89 */	bl sdpu_build_uuid_seq
/* 802E3A98 002DF6F8  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E3A9C 002DF6FC  2C 1B 00 00 */	cmpwi r27, 0
/* 802E3AA0 002DF700  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E3AA4 002DF704  3B 23 00 03 */	addi r25, r3, 3
/* 802E3AA8 002DF708  A0 04 46 2E */	lhz r0, 0x462e(r4)
/* 802E3AAC 002DF70C  7C 00 46 70 */	srawi r0, r0, 8
/* 802E3AB0 002DF710  98 03 00 00 */	stb r0, 0(r3)
/* 802E3AB4 002DF714  A0 04 46 2E */	lhz r0, 0x462e(r4)
/* 802E3AB8 002DF718  98 03 00 01 */	stb r0, 1(r3)
/* 802E3ABC 002DF71C  9B 63 00 02 */	stb r27, 2(r3)
/* 802E3AC0 002DF720  41 82 00 20 */	beq lbl_802E3AE0
/* 802E3AC4 002DF724  2C 1C 00 00 */	cmpwi r28, 0
/* 802E3AC8 002DF728  41 82 00 18 */	beq lbl_802E3AE0
/* 802E3ACC 002DF72C  7F 23 CB 78 */	mr r3, r25
/* 802E3AD0 002DF730  7F 84 E3 78 */	mr r4, r28
/* 802E3AD4 002DF734  7F 65 DB 78 */	mr r5, r27
/* 802E3AD8 002DF738  4B D2 05 29 */	bl memcpy
/* 802E3ADC 002DF73C  7F 39 DA 14 */	add r25, r25, r27
lbl_802E3AE0:
/* 802E3AE0 002DF740  7C 9F C8 50 */	subf r4, r31, r25
/* 802E3AE4 002DF744  38 60 00 01 */	li r3, 1
/* 802E3AE8 002DF748  38 C4 FF FE */	addi r6, r4, -2
/* 802E3AEC 002DF74C  7C 1E C8 50 */	subf r0, r30, r25
/* 802E3AF0 002DF750  54 C5 C6 3E */	rlwinm r5, r6, 0x18, 0x18, 0x1f
/* 802E3AF4 002DF754  7F A4 EB 78 */	mr r4, r29
/* 802E3AF8 002DF758  98 BF 00 00 */	stb r5, 0(r31)
/* 802E3AFC 002DF75C  98 DF 00 01 */	stb r6, 1(r31)
/* 802E3B00 002DF760  98 7A 04 74 */	stb r3, 0x474(r26)
/* 802E3B04 002DF764  B0 1D 00 02 */	sth r0, 2(r29)
/* 802E3B08 002DF768  A0 7A 00 22 */	lhz r3, 0x22(r26)
/* 802E3B0C 002DF76C  4B FF 25 E5 */	bl L2CA_DataWrite
/* 802E3B10 002DF770  38 7A 00 08 */	addi r3, r26, 8
/* 802E3B14 002DF774  38 80 00 05 */	li r4, 5
/* 802E3B18 002DF778  38 A0 00 1E */	li r5, 0x1e
/* 802E3B1C 002DF77C  4B FD 99 C1 */	bl btu_start_timer
lbl_802E3B20:
/* 802E3B20 002DF780  39 61 00 30 */	addi r11, r1, 0x30
/* 802E3B24 002DF784  4B EE 36 49 */	bl _restgpr_25
/* 802E3B28 002DF788  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E3B2C 002DF78C  7C 08 03 A6 */	mtlr r0
/* 802E3B30 002DF790  38 21 00 30 */	addi r1, r1, 0x30
/* 802E3B34 002DF794  4E 80 00 20 */	blr

.global sdp_disc_connected
sdp_disc_connected:
/* 802E3B38 002DF798  88 03 04 75 */	lbz r0, 0x475(r3)
/* 802E3B3C 002DF79C  2C 00 00 00 */	cmpwi r0, 0
/* 802E3B40 002DF7A0  41 82 00 18 */	beq lbl_802E3B58
/* 802E3B44 002DF7A4  38 00 00 03 */	li r0, 3
/* 802E3B48 002DF7A8  38 80 00 00 */	li r4, 0
/* 802E3B4C 002DF7AC  98 03 04 74 */	stb r0, 0x474(r3)
/* 802E3B50 002DF7B0  38 A0 00 00 */	li r5, 0
/* 802E3B54 002DF7B4  48 00 05 48 */	b process_service_search_attr_rsp
lbl_802E3B58:
/* 802E3B58 002DF7B8  38 00 00 00 */	li r0, 0
/* 802E3B5C 002DF7BC  38 80 00 00 */	li r4, 0
/* 802E3B60 002DF7C0  B0 03 04 6C */	sth r0, 0x46c(r3)
/* 802E3B64 002DF7C4  38 A0 00 00 */	li r5, 0
/* 802E3B68 002DF7C8  4B FF FE A0 */	b sdp_snd_service_search_req

.global sdp_disc_server_rsp
sdp_disc_server_rsp:
/* 802E3B6C 002DF7CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E3B70 002DF7D0  7C 08 02 A6 */	mflr r0
/* 802E3B74 002DF7D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E3B78 002DF7D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E3B7C 002DF7DC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802E3B80 002DF7E0  3B C0 00 01 */	li r30, 1
/* 802E3B84 002DF7E4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802E3B88 002DF7E8  7C 9D 23 78 */	mr r29, r4
/* 802E3B8C 002DF7EC  93 81 00 10 */	stw r28, 0x10(r1)
/* 802E3B90 002DF7F0  7C 7C 1B 78 */	mr r28, r3
/* 802E3B94 002DF7F4  38 63 00 08 */	addi r3, r3, 8
/* 802E3B98 002DF7F8  4B FD 99 B5 */	bl btu_stop_timer
/* 802E3B9C 002DF7FC  A0 1D 00 04 */	lhz r0, 4(r29)
/* 802E3BA0 002DF800  A0 7D 00 02 */	lhz r3, 2(r29)
/* 802E3BA4 002DF804  7C 9D 02 14 */	add r4, r29, r0
/* 802E3BA8 002DF808  8B E4 00 08 */	lbz r31, 8(r4)
/* 802E3BAC 002DF80C  38 A3 FF FF */	addi r5, r3, -1
/* 802E3BB0 002DF810  2C 1F 00 05 */	cmpwi r31, 5
/* 802E3BB4 002DF814  B0 BD 00 02 */	sth r5, 2(r29)
/* 802E3BB8 002DF818  41 82 00 44 */	beq lbl_802E3BFC
/* 802E3BBC 002DF81C  40 80 00 10 */	bge lbl_802E3BCC
/* 802E3BC0 002DF820  2C 1F 00 03 */	cmpwi r31, 3
/* 802E3BC4 002DF824  41 82 00 14 */	beq lbl_802E3BD8
/* 802E3BC8 002DF828  48 00 00 78 */	b lbl_802E3C40
lbl_802E3BCC:
/* 802E3BCC 002DF82C  2C 1F 00 07 */	cmpwi r31, 7
/* 802E3BD0 002DF830  41 82 00 50 */	beq lbl_802E3C20
/* 802E3BD4 002DF834  48 00 00 6C */	b lbl_802E3C40
lbl_802E3BD8:
/* 802E3BD8 002DF838  88 1C 04 74 */	lbz r0, 0x474(r28)
/* 802E3BDC 002DF83C  28 00 00 01 */	cmplwi r0, 1
/* 802E3BE0 002DF840  40 82 00 60 */	bne lbl_802E3C40
/* 802E3BE4 002DF844  7F 83 E3 78 */	mr r3, r28
/* 802E3BE8 002DF848  38 84 00 09 */	addi r4, r4, 9
/* 802E3BEC 002DF84C  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802E3BF0 002DF850  48 00 00 BD */	bl process_service_search_rsp
/* 802E3BF4 002DF854  3B C0 00 00 */	li r30, 0
/* 802E3BF8 002DF858  48 00 00 48 */	b lbl_802E3C40
lbl_802E3BFC:
/* 802E3BFC 002DF85C  88 1C 04 74 */	lbz r0, 0x474(r28)
/* 802E3C00 002DF860  28 00 00 02 */	cmplwi r0, 2
/* 802E3C04 002DF864  40 82 00 3C */	bne lbl_802E3C40
/* 802E3C08 002DF868  7F 83 E3 78 */	mr r3, r28
/* 802E3C0C 002DF86C  38 84 00 09 */	addi r4, r4, 9
/* 802E3C10 002DF870  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802E3C14 002DF874  48 00 01 E1 */	bl process_service_attr_rsp
/* 802E3C18 002DF878  3B C0 00 00 */	li r30, 0
/* 802E3C1C 002DF87C  48 00 00 24 */	b lbl_802E3C40
lbl_802E3C20:
/* 802E3C20 002DF880  88 1C 04 74 */	lbz r0, 0x474(r28)
/* 802E3C24 002DF884  28 00 00 03 */	cmplwi r0, 3
/* 802E3C28 002DF888  40 82 00 18 */	bne lbl_802E3C40
/* 802E3C2C 002DF88C  7F 83 E3 78 */	mr r3, r28
/* 802E3C30 002DF890  38 84 00 09 */	addi r4, r4, 9
/* 802E3C34 002DF894  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802E3C38 002DF898  48 00 04 65 */	bl process_service_search_attr_rsp
/* 802E3C3C 002DF89C  3B C0 00 00 */	li r30, 0
lbl_802E3C40:
/* 802E3C40 002DF8A0  2C 1E 00 00 */	cmpwi r30, 0
/* 802E3C44 002DF8A4  41 82 00 48 */	beq lbl_802E3C8C
/* 802E3C48 002DF8A8  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E3C4C 002DF8AC  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E3C50 002DF8B0  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E3C54 002DF8B4  28 00 00 02 */	cmplwi r0, 2
/* 802E3C58 002DF8B8  41 80 00 20 */	blt lbl_802E3C78
/* 802E3C5C 002DF8BC  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E3C60 002DF8C0  3C 80 80 44 */	lis r4, lbl_80445048@ha
/* 802E3C64 002DF8C4  88 DC 04 74 */	lbz r6, 0x474(r28)
/* 802E3C68 002DF8C8  7F E5 FB 78 */	mr r5, r31
/* 802E3C6C 002DF8CC  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E3C70 002DF8D0  38 84 50 48 */	addi r4, r4, lbl_80445048@l
/* 802E3C74 002DF8D4  4B FD 92 CD */	bl LogMsg_2
lbl_802E3C78:
/* 802E3C78 002DF8D8  3C 80 00 01 */	lis r4, 0x0000FFF3@ha
/* 802E3C7C 002DF8DC  7F 83 E3 78 */	mr r3, r28
/* 802E3C80 002DF8E0  38 04 FF F3 */	addi r0, r4, 0x0000FFF3@l
/* 802E3C84 002DF8E4  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802E3C88 002DF8E8  48 00 18 99 */	bl sdp_disconnect
lbl_802E3C8C:
/* 802E3C8C 002DF8EC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E3C90 002DF8F0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E3C94 002DF8F4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802E3C98 002DF8F8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802E3C9C 002DF8FC  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802E3CA0 002DF900  7C 08 03 A6 */	mtlr r0
/* 802E3CA4 002DF904  38 21 00 20 */	addi r1, r1, 0x20
/* 802E3CA8 002DF908  4E 80 00 20 */	blr

.global process_service_search_rsp
process_service_search_rsp:
/* 802E3CAC 002DF90C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E3CB0 002DF910  7C 08 02 A6 */	mflr r0
/* 802E3CB4 002DF914  38 A4 00 08 */	addi r5, r4, 8
/* 802E3CB8 002DF918  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E3CBC 002DF91C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E3CC0 002DF920  7C 7F 1B 78 */	mr r31, r3
/* 802E3CC4 002DF924  88 C4 00 06 */	lbz r6, 6(r4)
/* 802E3CC8 002DF928  88 04 00 07 */	lbz r0, 7(r4)
/* 802E3CCC 002DF92C  54 C4 40 2E */	slwi r4, r6, 8
/* 802E3CD0 002DF930  A1 23 04 6C */	lhz r9, 0x46c(r3)
/* 802E3CD4 002DF934  7C 04 02 14 */	add r0, r4, r0
/* 802E3CD8 002DF938  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E3CDC 002DF93C  7C 09 02 14 */	add r0, r9, r0
/* 802E3CE0 002DF940  54 06 04 3F */	clrlwi. r6, r0, 0x10
/* 802E3CE4 002DF944  B0 03 04 6C */	sth r0, 0x46c(r3)
/* 802E3CE8 002DF948  40 82 00 44 */	bne lbl_802E3D2C
/* 802E3CEC 002DF94C  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E3CF0 002DF950  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E3CF4 002DF954  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E3CF8 002DF958  28 00 00 02 */	cmplwi r0, 2
/* 802E3CFC 002DF95C  41 80 00 18 */	blt lbl_802E3D14
/* 802E3D00 002DF960  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E3D04 002DF964  3C 80 80 44 */	lis r4, lbl_80445070@ha
/* 802E3D08 002DF968  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E3D0C 002DF96C  38 84 50 70 */	addi r4, r4, lbl_80445070@l
/* 802E3D10 002DF970  4B FD 92 01 */	bl LogMsg_0
lbl_802E3D14:
/* 802E3D14 002DF974  3C 80 00 01 */	lis r4, 0x0000FFF0@ha
/* 802E3D18 002DF978  7F E3 FB 78 */	mr r3, r31
/* 802E3D1C 002DF97C  38 04 FF F0 */	addi r0, r4, 0x0000FFF0@l
/* 802E3D20 002DF980  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802E3D24 002DF984  48 00 17 FD */	bl sdp_disconnect
/* 802E3D28 002DF988  48 00 00 B8 */	b lbl_802E3DE0
lbl_802E3D2C:
/* 802E3D2C 002DF98C  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E3D30 002DF990  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E3D34 002DF994  A0 04 46 2E */	lhz r0, 0x462e(r4)
/* 802E3D38 002DF998  7C 06 00 40 */	cmplw r6, r0
/* 802E3D3C 002DF99C  40 81 00 48 */	ble lbl_802E3D84
/* 802E3D40 002DF9A0  B0 03 04 6C */	sth r0, 0x46c(r3)
/* 802E3D44 002DF9A4  48 00 00 40 */	b lbl_802E3D84
lbl_802E3D48:
/* 802E3D48 002DF9A8  55 20 13 BA */	rlwinm r0, r9, 2, 0xe, 0x1d
/* 802E3D4C 002DF9AC  88 E5 00 00 */	lbz r7, 0(r5)
/* 802E3D50 002DF9B0  88 C5 00 01 */	lbz r6, 1(r5)
/* 802E3D54 002DF9B4  7C 83 02 14 */	add r4, r3, r0
/* 802E3D58 002DF9B8  88 05 00 02 */	lbz r0, 2(r5)
/* 802E3D5C 002DF9BC  54 E8 C0 0E */	slwi r8, r7, 0x18
/* 802E3D60 002DF9C0  88 E5 00 03 */	lbz r7, 3(r5)
/* 802E3D64 002DF9C4  54 C6 80 1E */	slwi r6, r6, 0x10
/* 802E3D68 002DF9C8  54 00 40 2E */	slwi r0, r0, 8
/* 802E3D6C 002DF9CC  38 A5 00 04 */	addi r5, r5, 4
/* 802E3D70 002DF9D0  7C C8 32 14 */	add r6, r8, r6
/* 802E3D74 002DF9D4  39 29 00 01 */	addi r9, r9, 1
/* 802E3D78 002DF9D8  7C 07 02 14 */	add r0, r7, r0
/* 802E3D7C 002DF9DC  7C 06 02 14 */	add r0, r6, r0
/* 802E3D80 002DF9E0  90 04 04 18 */	stw r0, 0x418(r4)
lbl_802E3D84:
/* 802E3D84 002DF9E4  A0 03 04 6C */	lhz r0, 0x46c(r3)
/* 802E3D88 002DF9E8  55 24 04 3E */	clrlwi r4, r9, 0x10
/* 802E3D8C 002DF9EC  7C 04 00 40 */	cmplw r4, r0
/* 802E3D90 002DF9F0  41 80 FF B8 */	blt lbl_802E3D48
/* 802E3D94 002DF9F4  88 85 00 00 */	lbz r4, 0(r5)
/* 802E3D98 002DF9F8  2C 04 00 00 */	cmpwi r4, 0
/* 802E3D9C 002DF9FC  41 82 00 2C */	beq lbl_802E3DC8
/* 802E3DA0 002DFA00  28 04 00 10 */	cmplwi r4, 0x10
/* 802E3DA4 002DFA04  40 81 00 14 */	ble lbl_802E3DB8
/* 802E3DA8 002DFA08  7F E3 FB 78 */	mr r3, r31
/* 802E3DAC 002DFA0C  38 80 00 05 */	li r4, 5
/* 802E3DB0 002DFA10  48 00 17 71 */	bl sdp_disconnect
/* 802E3DB4 002DFA14  48 00 00 2C */	b lbl_802E3DE0
lbl_802E3DB8:
/* 802E3DB8 002DFA18  7F E3 FB 78 */	mr r3, r31
/* 802E3DBC 002DFA1C  38 A5 00 01 */	addi r5, r5, 1
/* 802E3DC0 002DFA20  4B FF FC 49 */	bl sdp_snd_service_search_req
/* 802E3DC4 002DFA24  48 00 00 1C */	b lbl_802E3DE0
lbl_802E3DC8:
/* 802E3DC8 002DFA28  38 00 00 02 */	li r0, 2
/* 802E3DCC 002DFA2C  38 80 00 00 */	li r4, 0
/* 802E3DD0 002DFA30  98 03 04 74 */	stb r0, 0x474(r3)
/* 802E3DD4 002DFA34  7F E3 FB 78 */	mr r3, r31
/* 802E3DD8 002DFA38  38 A0 00 00 */	li r5, 0
/* 802E3DDC 002DFA3C  48 00 00 19 */	bl process_service_attr_rsp
lbl_802E3DE0:
/* 802E3DE0 002DFA40  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E3DE4 002DFA44  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E3DE8 002DFA48  7C 08 03 A6 */	mtlr r0
/* 802E3DEC 002DFA4C  38 21 00 10 */	addi r1, r1, 0x10
/* 802E3DF0 002DFA50  4E 80 00 20 */	blr

.global process_service_attr_rsp
process_service_attr_rsp:
/* 802E3DF4 002DFA54  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E3DF8 002DFA58  7C 08 02 A6 */	mflr r0
/* 802E3DFC 002DFA5C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E3E00 002DFA60  39 61 00 30 */	addi r11, r1, 0x30
/* 802E3E04 002DFA64  4B EE 33 1D */	bl _savegpr_25
/* 802E3E08 002DFA68  2C 04 00 00 */	cmpwi r4, 0
/* 802E3E0C 002DFA6C  7C 7A 1B 78 */	mr r26, r3
/* 802E3E10 002DFA70  7C 9B 23 78 */	mr r27, r4
/* 802E3E14 002DFA74  3B A0 00 00 */	li r29, 0
/* 802E3E18 002DFA78  41 82 00 D0 */	beq lbl_802E3EE8
/* 802E3E1C 002DFA7C  88 A4 00 04 */	lbz r5, 4(r4)
/* 802E3E20 002DFA80  3B 64 00 06 */	addi r27, r4, 6
/* 802E3E24 002DFA84  88 04 00 05 */	lbz r0, 5(r4)
/* 802E3E28 002DFA88  54 A4 40 2E */	slwi r4, r5, 8
/* 802E3E2C 002DFA8C  A0 A3 00 24 */	lhz r5, 0x24(r3)
/* 802E3E30 002DFA90  7C 04 02 14 */	add r0, r4, r0
/* 802E3E34 002DFA94  54 19 04 3E */	clrlwi r25, r0, 0x10
/* 802E3E38 002DFA98  7C 05 CA 14 */	add r0, r5, r25
/* 802E3E3C 002DFA9C  2C 00 03 E8 */	cmpwi r0, 0x3e8
/* 802E3E40 002DFAA0  40 81 00 10 */	ble lbl_802E3E50
/* 802E3E44 002DFAA4  38 80 00 04 */	li r4, 4
/* 802E3E48 002DFAA8  48 00 16 D9 */	bl sdp_disconnect
/* 802E3E4C 002DFAAC  48 00 02 38 */	b lbl_802E4084
lbl_802E3E50:
/* 802E3E50 002DFAB0  7C 63 2A 14 */	add r3, r3, r5
/* 802E3E54 002DFAB4  7F 64 DB 78 */	mr r4, r27
/* 802E3E58 002DFAB8  7F 25 CB 78 */	mr r5, r25
/* 802E3E5C 002DFABC  38 63 00 26 */	addi r3, r3, 0x26
/* 802E3E60 002DFAC0  4B D2 01 A1 */	bl memcpy
/* 802E3E64 002DFAC4  A0 1A 00 24 */	lhz r0, 0x24(r26)
/* 802E3E68 002DFAC8  7C 00 CA 14 */	add r0, r0, r25
/* 802E3E6C 002DFACC  B0 1A 00 24 */	sth r0, 0x24(r26)
/* 802E3E70 002DFAD0  7C 7B C8 EE */	lbzux r3, r27, r25
/* 802E3E74 002DFAD4  2C 03 00 00 */	cmpwi r3, 0
/* 802E3E78 002DFAD8  41 82 00 24 */	beq lbl_802E3E9C
/* 802E3E7C 002DFADC  28 03 00 10 */	cmplwi r3, 0x10
/* 802E3E80 002DFAE0  40 81 00 14 */	ble lbl_802E3E94
/* 802E3E84 002DFAE4  7F 43 D3 78 */	mr r3, r26
/* 802E3E88 002DFAE8  38 80 00 05 */	li r4, 5
/* 802E3E8C 002DFAEC  48 00 16 95 */	bl sdp_disconnect
/* 802E3E90 002DFAF0  48 00 01 F4 */	b lbl_802E4084
lbl_802E3E94:
/* 802E3E94 002DFAF4  3B A0 00 01 */	li r29, 1
/* 802E3E98 002DFAF8  48 00 00 50 */	b lbl_802E3EE8
lbl_802E3E9C:
/* 802E3E9C 002DFAFC  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E3EA0 002DFB00  7F 43 D3 78 */	mr r3, r26
/* 802E3EA4 002DFB04  7C BA 02 14 */	add r5, r26, r0
/* 802E3EA8 002DFB08  38 9A 00 26 */	addi r4, r26, 0x26
/* 802E3EAC 002DFB0C  38 A5 00 26 */	addi r5, r5, 0x26
/* 802E3EB0 002DFB10  48 00 04 C1 */	bl save_attr_seq
/* 802E3EB4 002DFB14  2C 03 00 00 */	cmpwi r3, 0
/* 802E3EB8 002DFB18  40 82 00 1C */	bne lbl_802E3ED4
/* 802E3EBC 002DFB1C  3C 80 00 01 */	lis r4, 0x0000FFF4@ha
/* 802E3EC0 002DFB20  7F 43 D3 78 */	mr r3, r26
/* 802E3EC4 002DFB24  38 04 FF F4 */	addi r0, r4, 0x0000FFF4@l
/* 802E3EC8 002DFB28  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802E3ECC 002DFB2C  48 00 16 55 */	bl sdp_disconnect
/* 802E3ED0 002DFB30  48 00 01 B4 */	b lbl_802E4084
lbl_802E3ED4:
/* 802E3ED4 002DFB34  A0 7A 04 6E */	lhz r3, 0x46e(r26)
/* 802E3ED8 002DFB38  38 00 00 00 */	li r0, 0
/* 802E3EDC 002DFB3C  B0 1A 00 24 */	sth r0, 0x24(r26)
/* 802E3EE0 002DFB40  38 03 00 01 */	addi r0, r3, 1
/* 802E3EE4 002DFB44  B0 1A 04 6E */	sth r0, 0x46e(r26)
lbl_802E3EE8:
/* 802E3EE8 002DFB48  A0 7A 04 6E */	lhz r3, 0x46e(r26)
/* 802E3EEC 002DFB4C  A0 1A 04 6C */	lhz r0, 0x46c(r26)
/* 802E3EF0 002DFB50  7C 03 00 40 */	cmplw r3, r0
/* 802E3EF4 002DFB54  40 80 01 84 */	bge lbl_802E4078
/* 802E3EF8 002DFB58  38 60 00 02 */	li r3, 2
/* 802E3EFC 002DFB5C  4B FD 5D 51 */	bl GKI_getpoolbuf
/* 802E3F00 002DFB60  2C 03 00 00 */	cmpwi r3, 0
/* 802E3F04 002DFB64  7C 7C 1B 78 */	mr r28, r3
/* 802E3F08 002DFB68  40 82 00 14 */	bne lbl_802E3F1C
/* 802E3F0C 002DFB6C  7F 43 D3 78 */	mr r3, r26
/* 802E3F10 002DFB70  38 80 00 06 */	li r4, 6
/* 802E3F14 002DFB74  48 00 16 0D */	bl sdp_disconnect
/* 802E3F18 002DFB78  48 00 01 6C */	b lbl_802E4084
lbl_802E3F1C:
/* 802E3F1C 002DFB7C  38 00 00 09 */	li r0, 9
/* 802E3F20 002DFB80  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E3F24 002DFB84  B0 03 00 04 */	sth r0, 4(r3)
/* 802E3F28 002DFB88  3B E3 00 11 */	addi r31, r3, 0x11
/* 802E3F2C 002DFB8C  38 00 00 04 */	li r0, 4
/* 802E3F30 002DFB90  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E3F34 002DFB94  98 1F 00 00 */	stb r0, 0(r31)
/* 802E3F38 002DFB98  38 7F 00 03 */	addi r3, r31, 3
/* 802E3F3C 002DFB9C  7C 7E 1B 78 */	mr r30, r3
/* 802E3F40 002DFBA0  A0 1A 04 70 */	lhz r0, 0x470(r26)
/* 802E3F44 002DFBA4  38 63 00 08 */	addi r3, r3, 8
/* 802E3F48 002DFBA8  7C 00 46 70 */	srawi r0, r0, 8
/* 802E3F4C 002DFBAC  98 1F 00 01 */	stb r0, 1(r31)
/* 802E3F50 002DFBB0  A0 1A 04 70 */	lhz r0, 0x470(r26)
/* 802E3F54 002DFBB4  98 1F 00 02 */	stb r0, 2(r31)
/* 802E3F58 002DFBB8  A0 BA 04 70 */	lhz r5, 0x470(r26)
/* 802E3F5C 002DFBBC  A0 1A 04 6E */	lhz r0, 0x46e(r26)
/* 802E3F60 002DFBC0  38 A5 00 01 */	addi r5, r5, 1
/* 802E3F64 002DFBC4  54 00 10 3A */	slwi r0, r0, 2
/* 802E3F68 002DFBC8  B0 BA 04 70 */	sth r5, 0x470(r26)
/* 802E3F6C 002DFBCC  7C BA 02 14 */	add r5, r26, r0
/* 802E3F70 002DFBD0  80 05 04 18 */	lwz r0, 0x418(r5)
/* 802E3F74 002DFBD4  54 00 46 3E */	srwi r0, r0, 0x18
/* 802E3F78 002DFBD8  98 1F 00 05 */	stb r0, 5(r31)
/* 802E3F7C 002DFBDC  A0 1A 04 6E */	lhz r0, 0x46e(r26)
/* 802E3F80 002DFBE0  54 00 10 3A */	slwi r0, r0, 2
/* 802E3F84 002DFBE4  7C BA 02 14 */	add r5, r26, r0
/* 802E3F88 002DFBE8  80 05 04 18 */	lwz r0, 0x418(r5)
/* 802E3F8C 002DFBEC  54 00 86 3E */	rlwinm r0, r0, 0x10, 0x18, 0x1f
/* 802E3F90 002DFBF0  98 1F 00 06 */	stb r0, 6(r31)
/* 802E3F94 002DFBF4  A0 1A 04 6E */	lhz r0, 0x46e(r26)
/* 802E3F98 002DFBF8  54 00 10 3A */	slwi r0, r0, 2
/* 802E3F9C 002DFBFC  7C BA 02 14 */	add r5, r26, r0
/* 802E3FA0 002DFC00  80 05 04 18 */	lwz r0, 0x418(r5)
/* 802E3FA4 002DFC04  54 00 C6 3E */	rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 802E3FA8 002DFC08  98 1F 00 07 */	stb r0, 7(r31)
/* 802E3FAC 002DFC0C  A0 1A 04 6E */	lhz r0, 0x46e(r26)
/* 802E3FB0 002DFC10  54 00 10 3A */	slwi r0, r0, 2
/* 802E3FB4 002DFC14  7C BA 02 14 */	add r5, r26, r0
/* 802E3FB8 002DFC18  80 05 04 18 */	lwz r0, 0x418(r5)
/* 802E3FBC 002DFC1C  98 1F 00 08 */	stb r0, 8(r31)
/* 802E3FC0 002DFC20  A0 04 46 2C */	lhz r0, 0x462c(r4)
/* 802E3FC4 002DFC24  7C 00 46 70 */	srawi r0, r0, 8
/* 802E3FC8 002DFC28  98 1F 00 09 */	stb r0, 9(r31)
/* 802E3FCC 002DFC2C  A0 04 46 2C */	lhz r0, 0x462c(r4)
/* 802E3FD0 002DFC30  98 1F 00 0A */	stb r0, 0xa(r31)
/* 802E3FD4 002DFC34  80 9A 04 10 */	lwz r4, 0x410(r26)
/* 802E3FD8 002DFC38  A0 A4 00 4C */	lhz r5, 0x4c(r4)
/* 802E3FDC 002DFC3C  2C 05 00 00 */	cmpwi r5, 0
/* 802E3FE0 002DFC40  41 82 00 14 */	beq lbl_802E3FF4
/* 802E3FE4 002DFC44  38 84 00 4E */	addi r4, r4, 0x4e
/* 802E3FE8 002DFC48  48 00 25 65 */	bl sdpu_build_attrib_seq
/* 802E3FEC 002DFC4C  7C 79 1B 78 */	mr r25, r3
/* 802E3FF0 002DFC50  48 00 00 14 */	b lbl_802E4004
lbl_802E3FF4:
/* 802E3FF4 002DFC54  38 80 00 00 */	li r4, 0
/* 802E3FF8 002DFC58  38 A0 00 00 */	li r5, 0
/* 802E3FFC 002DFC5C  48 00 25 51 */	bl sdpu_build_attrib_seq
/* 802E4000 002DFC60  7C 79 1B 78 */	mr r25, r3
lbl_802E4004:
/* 802E4004 002DFC64  2C 1D 00 00 */	cmpwi r29, 0
/* 802E4008 002DFC68  41 82 00 28 */	beq lbl_802E4030
/* 802E400C 002DFC6C  88 BB 00 00 */	lbz r5, 0(r27)
/* 802E4010 002DFC70  7F 23 CB 78 */	mr r3, r25
/* 802E4014 002DFC74  7F 64 DB 78 */	mr r4, r27
/* 802E4018 002DFC78  38 A5 00 01 */	addi r5, r5, 1
/* 802E401C 002DFC7C  4B D1 FF E5 */	bl memcpy
/* 802E4020 002DFC80  88 1B 00 00 */	lbz r0, 0(r27)
/* 802E4024 002DFC84  7C 60 CA 14 */	add r3, r0, r25
/* 802E4028 002DFC88  38 83 00 01 */	addi r4, r3, 1
/* 802E402C 002DFC8C  48 00 00 10 */	b lbl_802E403C
lbl_802E4030:
/* 802E4030 002DFC90  38 00 00 00 */	li r0, 0
/* 802E4034 002DFC94  38 99 00 01 */	addi r4, r25, 1
/* 802E4038 002DFC98  98 19 00 00 */	stb r0, 0(r25)
lbl_802E403C:
/* 802E403C 002DFC9C  7C 7E 20 50 */	subf r3, r30, r4
/* 802E4040 002DFCA0  7C 1F 20 50 */	subf r0, r31, r4
/* 802E4044 002DFCA4  38 A3 FF FE */	addi r5, r3, -2
/* 802E4048 002DFCA8  7F 84 E3 78 */	mr r4, r28
/* 802E404C 002DFCAC  54 A3 C6 3E */	rlwinm r3, r5, 0x18, 0x18, 0x1f
/* 802E4050 002DFCB0  98 7E 00 00 */	stb r3, 0(r30)
/* 802E4054 002DFCB4  98 BE 00 01 */	stb r5, 1(r30)
/* 802E4058 002DFCB8  B0 1C 00 02 */	sth r0, 2(r28)
/* 802E405C 002DFCBC  A0 7A 00 22 */	lhz r3, 0x22(r26)
/* 802E4060 002DFCC0  4B FF 20 91 */	bl L2CA_DataWrite
/* 802E4064 002DFCC4  38 7A 00 08 */	addi r3, r26, 8
/* 802E4068 002DFCC8  38 80 00 05 */	li r4, 5
/* 802E406C 002DFCCC  38 A0 00 1E */	li r5, 0x1e
/* 802E4070 002DFCD0  4B FD 94 6D */	bl btu_start_timer
/* 802E4074 002DFCD4  48 00 00 10 */	b lbl_802E4084
lbl_802E4078:
/* 802E4078 002DFCD8  7F 43 D3 78 */	mr r3, r26
/* 802E407C 002DFCDC  38 80 00 00 */	li r4, 0
/* 802E4080 002DFCE0  48 00 14 A1 */	bl sdp_disconnect
lbl_802E4084:
/* 802E4084 002DFCE4  39 61 00 30 */	addi r11, r1, 0x30
/* 802E4088 002DFCE8  4B EE 30 E5 */	bl _restgpr_25
/* 802E408C 002DFCEC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E4090 002DFCF0  7C 08 03 A6 */	mtlr r0
/* 802E4094 002DFCF4  38 21 00 30 */	addi r1, r1, 0x30
/* 802E4098 002DFCF8  4E 80 00 20 */	blr

.global process_service_search_attr_rsp
process_service_search_attr_rsp:
/* 802E409C 002DFCFC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E40A0 002DFD00  7C 08 02 A6 */	mflr r0
/* 802E40A4 002DFD04  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E40A8 002DFD08  39 61 00 30 */	addi r11, r1, 0x30
/* 802E40AC 002DFD0C  4B EE 30 79 */	bl _savegpr_26
/* 802E40B0 002DFD10  2C 04 00 00 */	cmpwi r4, 0
/* 802E40B4 002DFD14  7C 7B 1B 78 */	mr r27, r3
/* 802E40B8 002DFD18  7C 9C 23 78 */	mr r28, r4
/* 802E40BC 002DFD1C  3B A0 00 00 */	li r29, 0
/* 802E40C0 002DFD20  41 82 00 80 */	beq lbl_802E4140
/* 802E40C4 002DFD24  88 A4 00 04 */	lbz r5, 4(r4)
/* 802E40C8 002DFD28  3B 84 00 06 */	addi r28, r4, 6
/* 802E40CC 002DFD2C  88 04 00 05 */	lbz r0, 5(r4)
/* 802E40D0 002DFD30  54 A4 40 2E */	slwi r4, r5, 8
/* 802E40D4 002DFD34  A0 A3 00 24 */	lhz r5, 0x24(r3)
/* 802E40D8 002DFD38  7C 04 02 14 */	add r0, r4, r0
/* 802E40DC 002DFD3C  54 1A 04 3E */	clrlwi r26, r0, 0x10
/* 802E40E0 002DFD40  7C 05 D2 14 */	add r0, r5, r26
/* 802E40E4 002DFD44  2C 00 03 E8 */	cmpwi r0, 0x3e8
/* 802E40E8 002DFD48  40 81 00 10 */	ble lbl_802E40F8
/* 802E40EC 002DFD4C  38 80 00 04 */	li r4, 4
/* 802E40F0 002DFD50  48 00 14 31 */	bl sdp_disconnect
/* 802E40F4 002DFD54  48 00 02 64 */	b lbl_802E4358
lbl_802E40F8:
/* 802E40F8 002DFD58  7C 63 2A 14 */	add r3, r3, r5
/* 802E40FC 002DFD5C  7F 84 E3 78 */	mr r4, r28
/* 802E4100 002DFD60  7F 45 D3 78 */	mr r5, r26
/* 802E4104 002DFD64  38 63 00 26 */	addi r3, r3, 0x26
/* 802E4108 002DFD68  4B D1 FE F9 */	bl memcpy
/* 802E410C 002DFD6C  A0 1B 00 24 */	lhz r0, 0x24(r27)
/* 802E4110 002DFD70  7C 00 D2 14 */	add r0, r0, r26
/* 802E4114 002DFD74  B0 1B 00 24 */	sth r0, 0x24(r27)
/* 802E4118 002DFD78  7C 1C D0 EE */	lbzux r0, r28, r26
/* 802E411C 002DFD7C  2C 00 00 00 */	cmpwi r0, 0
/* 802E4120 002DFD80  41 82 00 20 */	beq lbl_802E4140
/* 802E4124 002DFD84  28 00 00 10 */	cmplwi r0, 0x10
/* 802E4128 002DFD88  40 81 00 14 */	ble lbl_802E413C
/* 802E412C 002DFD8C  7F 63 DB 78 */	mr r3, r27
/* 802E4130 002DFD90  38 80 00 05 */	li r4, 5
/* 802E4134 002DFD94  48 00 13 ED */	bl sdp_disconnect
/* 802E4138 002DFD98  48 00 02 20 */	b lbl_802E4358
lbl_802E413C:
/* 802E413C 002DFD9C  3B A0 00 01 */	li r29, 1
lbl_802E4140:
/* 802E4140 002DFDA0  2C 1D 00 00 */	cmpwi r29, 0
/* 802E4144 002DFDA4  40 82 00 0C */	bne lbl_802E4150
/* 802E4148 002DFDA8  2C 1C 00 00 */	cmpwi r28, 0
/* 802E414C 002DFDAC  40 82 01 40 */	bne lbl_802E428C
lbl_802E4150:
/* 802E4150 002DFDB0  38 60 00 02 */	li r3, 2
/* 802E4154 002DFDB4  4B FD 5A F9 */	bl GKI_getpoolbuf
/* 802E4158 002DFDB8  2C 03 00 00 */	cmpwi r3, 0
/* 802E415C 002DFDBC  7C 7E 1B 78 */	mr r30, r3
/* 802E4160 002DFDC0  40 82 00 14 */	bne lbl_802E4174
/* 802E4164 002DFDC4  7F 63 DB 78 */	mr r3, r27
/* 802E4168 002DFDC8  38 80 00 06 */	li r4, 6
/* 802E416C 002DFDCC  48 00 13 B5 */	bl sdp_disconnect
/* 802E4170 002DFDD0  48 00 01 E8 */	b lbl_802E4358
lbl_802E4174:
/* 802E4174 002DFDD4  38 00 00 09 */	li r0, 9
/* 802E4178 002DFDD8  3B E3 00 11 */	addi r31, r3, 0x11
/* 802E417C 002DFDDC  B0 03 00 04 */	sth r0, 4(r3)
/* 802E4180 002DFDE0  38 00 00 06 */	li r0, 6
/* 802E4184 002DFDE4  3B BF 00 03 */	addi r29, r31, 3
/* 802E4188 002DFDE8  98 03 00 11 */	stb r0, 0x11(r3)
/* 802E418C 002DFDEC  38 7D 00 02 */	addi r3, r29, 2
/* 802E4190 002DFDF0  A0 1B 04 70 */	lhz r0, 0x470(r27)
/* 802E4194 002DFDF4  7C 00 46 70 */	srawi r0, r0, 8
/* 802E4198 002DFDF8  98 1F 00 01 */	stb r0, 1(r31)
/* 802E419C 002DFDFC  A0 1B 04 70 */	lhz r0, 0x470(r27)
/* 802E41A0 002DFE00  98 1F 00 02 */	stb r0, 2(r31)
/* 802E41A4 002DFE04  A0 9B 04 70 */	lhz r4, 0x470(r27)
/* 802E41A8 002DFE08  80 DB 04 10 */	lwz r6, 0x410(r27)
/* 802E41AC 002DFE0C  38 04 00 01 */	addi r0, r4, 1
/* 802E41B0 002DFE10  B0 1B 04 70 */	sth r0, 0x470(r27)
/* 802E41B4 002DFE14  38 A6 00 10 */	addi r5, r6, 0x10
/* 802E41B8 002DFE18  A0 86 00 0C */	lhz r4, 0xc(r6)
/* 802E41BC 002DFE1C  4B FF F7 61 */	bl sdpu_build_uuid_seq
/* 802E41C0 002DFE20  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E41C4 002DFE24  38 C3 00 02 */	addi r6, r3, 2
/* 802E41C8 002DFE28  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E41CC 002DFE2C  A0 04 46 2C */	lhz r0, 0x462c(r4)
/* 802E41D0 002DFE30  7C 00 46 70 */	srawi r0, r0, 8
/* 802E41D4 002DFE34  98 03 00 00 */	stb r0, 0(r3)
/* 802E41D8 002DFE38  A0 04 46 2C */	lhz r0, 0x462c(r4)
/* 802E41DC 002DFE3C  98 03 00 01 */	stb r0, 1(r3)
/* 802E41E0 002DFE40  80 9B 04 10 */	lwz r4, 0x410(r27)
/* 802E41E4 002DFE44  A0 A4 00 4C */	lhz r5, 0x4c(r4)
/* 802E41E8 002DFE48  2C 05 00 00 */	cmpwi r5, 0
/* 802E41EC 002DFE4C  41 82 00 18 */	beq lbl_802E4204
/* 802E41F0 002DFE50  7C C3 33 78 */	mr r3, r6
/* 802E41F4 002DFE54  38 84 00 4E */	addi r4, r4, 0x4e
/* 802E41F8 002DFE58  48 00 23 55 */	bl sdpu_build_attrib_seq
/* 802E41FC 002DFE5C  7C 7A 1B 78 */	mr r26, r3
/* 802E4200 002DFE60  48 00 00 18 */	b lbl_802E4218
lbl_802E4204:
/* 802E4204 002DFE64  7C C3 33 78 */	mr r3, r6
/* 802E4208 002DFE68  38 80 00 00 */	li r4, 0
/* 802E420C 002DFE6C  38 A0 00 00 */	li r5, 0
/* 802E4210 002DFE70  48 00 23 3D */	bl sdpu_build_attrib_seq
/* 802E4214 002DFE74  7C 7A 1B 78 */	mr r26, r3
lbl_802E4218:
/* 802E4218 002DFE78  2C 1C 00 00 */	cmpwi r28, 0
/* 802E421C 002DFE7C  41 82 00 28 */	beq lbl_802E4244
/* 802E4220 002DFE80  88 BC 00 00 */	lbz r5, 0(r28)
/* 802E4224 002DFE84  7F 43 D3 78 */	mr r3, r26
/* 802E4228 002DFE88  7F 84 E3 78 */	mr r4, r28
/* 802E422C 002DFE8C  38 A5 00 01 */	addi r5, r5, 1
/* 802E4230 002DFE90  4B D1 FD D1 */	bl memcpy
/* 802E4234 002DFE94  88 1C 00 00 */	lbz r0, 0(r28)
/* 802E4238 002DFE98  7C 60 D2 14 */	add r3, r0, r26
/* 802E423C 002DFE9C  38 83 00 01 */	addi r4, r3, 1
/* 802E4240 002DFEA0  48 00 00 10 */	b lbl_802E4250
lbl_802E4244:
/* 802E4244 002DFEA4  38 00 00 00 */	li r0, 0
/* 802E4248 002DFEA8  38 9A 00 01 */	addi r4, r26, 1
/* 802E424C 002DFEAC  98 1A 00 00 */	stb r0, 0(r26)
lbl_802E4250:
/* 802E4250 002DFEB0  7C 7D 20 50 */	subf r3, r29, r4
/* 802E4254 002DFEB4  7C 1F 20 50 */	subf r0, r31, r4
/* 802E4258 002DFEB8  38 A3 FF FE */	addi r5, r3, -2
/* 802E425C 002DFEBC  7F C4 F3 78 */	mr r4, r30
/* 802E4260 002DFEC0  54 A3 C6 3E */	rlwinm r3, r5, 0x18, 0x18, 0x1f
/* 802E4264 002DFEC4  98 7D 00 00 */	stb r3, 0(r29)
/* 802E4268 002DFEC8  98 BD 00 01 */	stb r5, 1(r29)
/* 802E426C 002DFECC  B0 1E 00 02 */	sth r0, 2(r30)
/* 802E4270 002DFED0  A0 7B 00 22 */	lhz r3, 0x22(r27)
/* 802E4274 002DFED4  4B FF 1E 7D */	bl L2CA_DataWrite
/* 802E4278 002DFED8  38 7B 00 08 */	addi r3, r27, 8
/* 802E427C 002DFEDC  38 80 00 05 */	li r4, 5
/* 802E4280 002DFEE0  38 A0 00 1E */	li r5, 0x1e
/* 802E4284 002DFEE4  4B FD 92 59 */	bl btu_start_timer
/* 802E4288 002DFEE8  48 00 00 D0 */	b lbl_802E4358
lbl_802E428C:
/* 802E428C 002DFEEC  88 BB 00 26 */	lbz r5, 0x26(r27)
/* 802E4290 002DFEF0  38 7B 00 27 */	addi r3, r27, 0x27
/* 802E4294 002DFEF4  7C A0 1E 70 */	srawi r0, r5, 3
/* 802E4298 002DFEF8  2C 00 00 06 */	cmpwi r0, 6
/* 802E429C 002DFEFC  41 82 00 30 */	beq lbl_802E42CC
/* 802E42A0 002DFF00  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E42A4 002DFF04  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E42A8 002DFF08  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E42AC 002DFF0C  28 00 00 02 */	cmplwi r0, 2
/* 802E42B0 002DFF10  41 80 00 A8 */	blt lbl_802E4358
/* 802E42B4 002DFF14  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E42B8 002DFF18  3C 80 80 44 */	lis r4, lbl_80445098@ha
/* 802E42BC 002DFF1C  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E42C0 002DFF20  38 84 50 98 */	addi r4, r4, lbl_80445098@l
/* 802E42C4 002DFF24  4B FD 8C 65 */	bl LogMsg_1
/* 802E42C8 002DFF28  48 00 00 90 */	b lbl_802E4358
lbl_802E42CC:
/* 802E42CC 002DFF2C  7C A4 2B 78 */	mr r4, r5
/* 802E42D0 002DFF30  38 A1 00 08 */	addi r5, r1, 8
/* 802E42D4 002DFF34  48 00 2C 79 */	bl sdpu_get_len_from_type
/* 802E42D8 002DFF38  A0 BB 00 24 */	lhz r5, 0x24(r27)
/* 802E42DC 002DFF3C  7C 64 1B 78 */	mr r4, r3
/* 802E42E0 002DFF40  80 01 00 08 */	lwz r0, 8(r1)
/* 802E42E4 002DFF44  7C BB 2A 14 */	add r5, r27, r5
/* 802E42E8 002DFF48  3B 45 00 26 */	addi r26, r5, 0x26
/* 802E42EC 002DFF4C  7C 03 02 14 */	add r0, r3, r0
/* 802E42F0 002DFF50  7C 00 D0 40 */	cmplw r0, r26
/* 802E42F4 002DFF54  41 82 00 50 */	beq lbl_802E4344
/* 802E42F8 002DFF58  7F 63 DB 78 */	mr r3, r27
/* 802E42FC 002DFF5C  38 80 00 05 */	li r4, 5
/* 802E4300 002DFF60  48 00 12 21 */	bl sdp_disconnect
/* 802E4304 002DFF64  48 00 00 54 */	b lbl_802E4358
/* 802E4308 002DFF68  48 00 00 3C */	b lbl_802E4344
lbl_802E430C:
/* 802E430C 002DFF6C  A0 1B 00 24 */	lhz r0, 0x24(r27)
/* 802E4310 002DFF70  7F 63 DB 78 */	mr r3, r27
/* 802E4314 002DFF74  7C BB 02 14 */	add r5, r27, r0
/* 802E4318 002DFF78  38 A5 00 26 */	addi r5, r5, 0x26
/* 802E431C 002DFF7C  48 00 00 55 */	bl save_attr_seq
/* 802E4320 002DFF80  2C 03 00 00 */	cmpwi r3, 0
/* 802E4324 002DFF84  7C 64 1B 78 */	mr r4, r3
/* 802E4328 002DFF88  40 82 00 1C */	bne lbl_802E4344
/* 802E432C 002DFF8C  3C 80 00 01 */	lis r4, 0x0000FFF4@ha
/* 802E4330 002DFF90  7F 63 DB 78 */	mr r3, r27
/* 802E4334 002DFF94  38 04 FF F4 */	addi r0, r4, 0x0000FFF4@l
/* 802E4338 002DFF98  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 802E433C 002DFF9C  48 00 11 E5 */	bl sdp_disconnect
/* 802E4340 002DFFA0  48 00 00 18 */	b lbl_802E4358
lbl_802E4344:
/* 802E4344 002DFFA4  7C 04 D0 40 */	cmplw r4, r26
/* 802E4348 002DFFA8  41 80 FF C4 */	blt lbl_802E430C
/* 802E434C 002DFFAC  7F 63 DB 78 */	mr r3, r27
/* 802E4350 002DFFB0  38 80 00 00 */	li r4, 0
/* 802E4354 002DFFB4  48 00 11 CD */	bl sdp_disconnect
lbl_802E4358:
/* 802E4358 002DFFB8  39 61 00 30 */	addi r11, r1, 0x30
/* 802E435C 002DFFBC  4B EE 2E 15 */	bl _restgpr_26
/* 802E4360 002DFFC0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E4364 002DFFC4  7C 08 03 A6 */	mtlr r0
/* 802E4368 002DFFC8  38 21 00 30 */	addi r1, r1, 0x30
/* 802E436C 002DFFCC  4E 80 00 20 */	blr

.global save_attr_seq
save_attr_seq:
/* 802E4370 002DFFD0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E4374 002DFFD4  7C 08 02 A6 */	mflr r0
/* 802E4378 002DFFD8  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E437C 002DFFDC  39 61 00 30 */	addi r11, r1, 0x30
/* 802E4380 002DFFE0  4B EE 2D A5 */	bl _savegpr_26
/* 802E4384 002DFFE4  88 C4 00 00 */	lbz r6, 0(r4)
/* 802E4388 002DFFE8  3F E0 80 44 */	lis r31, lbl_80445048@ha
/* 802E438C 002DFFEC  7C 7A 1B 78 */	mr r26, r3
/* 802E4390 002DFFF0  7C BB 2B 78 */	mr r27, r5
/* 802E4394 002DFFF4  7C C0 1E 70 */	srawi r0, r6, 3
/* 802E4398 002DFFF8  3B FF 50 48 */	addi r31, r31, lbl_80445048@l
/* 802E439C 002DFFFC  2C 00 00 06 */	cmpwi r0, 6
/* 802E43A0 002E0000  38 64 00 01 */	addi r3, r4, 1
/* 802E43A4 002E0004  41 82 00 34 */	beq lbl_802E43D8
/* 802E43A8 002E0008  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E43AC 002E000C  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E43B0 002E0010  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E43B4 002E0014  28 00 00 02 */	cmplwi r0, 2
/* 802E43B8 002E0018  41 80 00 18 */	blt lbl_802E43D0
/* 802E43BC 002E001C  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E43C0 002E0020  7C C5 33 78 */	mr r5, r6
/* 802E43C4 002E0024  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E43C8 002E0028  38 9F 00 50 */	addi r4, r31, 0x50
/* 802E43CC 002E002C  4B FD 8B 5D */	bl LogMsg_1
lbl_802E43D0:
/* 802E43D0 002E0030  38 60 00 00 */	li r3, 0
/* 802E43D4 002E0034  48 00 01 70 */	b lbl_802E4544
lbl_802E43D8:
/* 802E43D8 002E0038  7C C4 33 78 */	mr r4, r6
/* 802E43DC 002E003C  38 A1 00 0C */	addi r5, r1, 0xc
/* 802E43E0 002E0040  48 00 2B 6D */	bl sdpu_get_len_from_type
/* 802E43E4 002E0044  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 802E43E8 002E0048  7C 7E 1B 78 */	mr r30, r3
/* 802E43EC 002E004C  7C 03 2A 14 */	add r0, r3, r5
/* 802E43F0 002E0050  7C 00 D8 40 */	cmplw r0, r27
/* 802E43F4 002E0054  40 81 00 30 */	ble lbl_802E4424
/* 802E43F8 002E0058  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E43FC 002E005C  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E4400 002E0060  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E4404 002E0064  28 00 00 02 */	cmplwi r0, 2
/* 802E4408 002E0068  41 80 00 14 */	blt lbl_802E441C
/* 802E440C 002E006C  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E4410 002E0070  38 9F 00 78 */	addi r4, r31, 0x78
/* 802E4414 002E0074  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E4418 002E0078  4B FD 8B 11 */	bl LogMsg_1
lbl_802E441C:
/* 802E441C 002E007C  38 60 00 00 */	li r3, 0
/* 802E4420 002E0080  48 00 01 24 */	b lbl_802E4544
lbl_802E4424:
/* 802E4424 002E0084  80 7A 04 10 */	lwz r3, 0x410(r26)
/* 802E4428 002E0088  38 9A 00 02 */	addi r4, r26, 2
/* 802E442C 002E008C  48 00 01 31 */	bl add_record
/* 802E4430 002E0090  2C 03 00 00 */	cmpwi r3, 0
/* 802E4434 002E0094  7C 7B 1B 78 */	mr r27, r3
/* 802E4438 002E0098  40 82 00 30 */	bne lbl_802E4468
/* 802E443C 002E009C  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E4440 002E00A0  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E4444 002E00A4  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E4448 002E00A8  28 00 00 02 */	cmplwi r0, 2
/* 802E444C 002E00AC  41 80 00 14 */	blt lbl_802E4460
/* 802E4450 002E00B0  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E4454 002E00B4  38 9F 00 98 */	addi r4, r31, 0x98
/* 802E4458 002E00B8  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E445C 002E00BC  4B FD 8A B5 */	bl LogMsg_0
lbl_802E4460:
/* 802E4460 002E00C0  38 60 00 00 */	li r3, 0
/* 802E4464 002E00C4  48 00 00 E0 */	b lbl_802E4544
lbl_802E4468:
/* 802E4468 002E00C8  80 01 00 0C */	lwz r0, 0xc(r1)
/* 802E446C 002E00CC  7F 9E 02 14 */	add r28, r30, r0
/* 802E4470 002E00D0  48 00 00 C8 */	b lbl_802E4538
lbl_802E4474:
/* 802E4474 002E00D4  8B BE 00 00 */	lbz r29, 0(r30)
/* 802E4478 002E00D8  38 7E 00 01 */	addi r3, r30, 1
/* 802E447C 002E00DC  38 A1 00 08 */	addi r5, r1, 8
/* 802E4480 002E00E0  7F A4 EB 78 */	mr r4, r29
/* 802E4484 002E00E4  48 00 2A C9 */	bl sdpu_get_len_from_type
/* 802E4488 002E00E8  57 A0 EE FE */	rlwinm r0, r29, 0x1d, 0x1b, 0x1f
/* 802E448C 002E00EC  2C 00 00 01 */	cmpwi r0, 1
/* 802E4490 002E00F0  40 82 00 10 */	bne lbl_802E44A0
/* 802E4494 002E00F4  80 01 00 08 */	lwz r0, 8(r1)
/* 802E4498 002E00F8  28 00 00 02 */	cmplwi r0, 2
/* 802E449C 002E00FC  41 82 00 38 */	beq lbl_802E44D4
lbl_802E44A0:
/* 802E44A0 002E0100  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E44A4 002E0104  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E44A8 002E0108  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E44AC 002E010C  28 00 00 02 */	cmplwi r0, 2
/* 802E44B0 002E0110  41 80 00 1C */	blt lbl_802E44CC
/* 802E44B4 002E0114  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E44B8 002E0118  80 C1 00 08 */	lwz r6, 8(r1)
/* 802E44BC 002E011C  7F A5 EB 78 */	mr r5, r29
/* 802E44C0 002E0120  38 9F 00 A8 */	addi r4, r31, 0xa8
/* 802E44C4 002E0124  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E44C8 002E0128  4B FD 8A 79 */	bl LogMsg_2
lbl_802E44CC:
/* 802E44CC 002E012C  38 60 00 00 */	li r3, 0
/* 802E44D0 002E0130  48 00 00 74 */	b lbl_802E4544
lbl_802E44D4:
/* 802E44D4 002E0134  88 83 00 00 */	lbz r4, 0(r3)
/* 802E44D8 002E0138  7F 65 DB 78 */	mr r5, r27
/* 802E44DC 002E013C  88 03 00 01 */	lbz r0, 1(r3)
/* 802E44E0 002E0140  38 E0 00 00 */	li r7, 0
/* 802E44E4 002E0144  54 86 40 2E */	slwi r6, r4, 8
/* 802E44E8 002E0148  80 9A 04 10 */	lwz r4, 0x410(r26)
/* 802E44EC 002E014C  7C 06 02 14 */	add r0, r6, r0
/* 802E44F0 002E0150  39 00 00 00 */	li r8, 0
/* 802E44F4 002E0154  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 802E44F8 002E0158  38 63 00 02 */	addi r3, r3, 2
/* 802E44FC 002E015C  48 00 01 01 */	bl add_attr
/* 802E4500 002E0160  2C 03 00 00 */	cmpwi r3, 0
/* 802E4504 002E0164  7C 7E 1B 78 */	mr r30, r3
/* 802E4508 002E0168  40 82 00 30 */	bne lbl_802E4538
/* 802E450C 002E016C  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E4510 002E0170  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E4514 002E0174  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E4518 002E0178  28 00 00 02 */	cmplwi r0, 2
/* 802E451C 002E017C  41 80 00 14 */	blt lbl_802E4530
/* 802E4520 002E0180  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E4524 002E0184  38 9F 00 98 */	addi r4, r31, 0x98
/* 802E4528 002E0188  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E452C 002E018C  4B FD 89 E5 */	bl LogMsg_0
lbl_802E4530:
/* 802E4530 002E0190  38 60 00 00 */	li r3, 0
/* 802E4534 002E0194  48 00 00 10 */	b lbl_802E4544
lbl_802E4538:
/* 802E4538 002E0198  7C 1E E0 40 */	cmplw r30, r28
/* 802E453C 002E019C  41 80 FF 38 */	blt lbl_802E4474
/* 802E4540 002E01A0  7F C3 F3 78 */	mr r3, r30
lbl_802E4544:
/* 802E4544 002E01A4  39 61 00 30 */	addi r11, r1, 0x30
/* 802E4548 002E01A8  4B EE 2C 29 */	bl _restgpr_26
/* 802E454C 002E01AC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E4550 002E01B0  7C 08 03 A6 */	mtlr r0
/* 802E4554 002E01B4  38 21 00 30 */	addi r1, r1, 0x30
/* 802E4558 002E01B8  4E 80 00 20 */	blr

.global add_record
add_record:
/* 802E455C 002E01BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802E4560 002E01C0  7C 08 02 A6 */	mflr r0
/* 802E4564 002E01C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 802E4568 002E01C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802E456C 002E01CC  93 C1 00 08 */	stw r30, 8(r1)
/* 802E4570 002E01D0  7C 7E 1B 78 */	mr r30, r3
/* 802E4574 002E01D4  80 A3 00 04 */	lwz r5, 4(r3)
/* 802E4578 002E01D8  28 05 00 14 */	cmplwi r5, 0x14
/* 802E457C 002E01DC  40 80 00 0C */	bge lbl_802E4588
/* 802E4580 002E01E0  38 60 00 00 */	li r3, 0
/* 802E4584 002E01E4  48 00 00 60 */	b lbl_802E45E4
lbl_802E4588:
/* 802E4588 002E01E8  83 E3 00 68 */	lwz r31, 0x68(r3)
/* 802E458C 002E01EC  38 05 FF EC */	addi r0, r5, -20
/* 802E4590 002E01F0  90 03 00 04 */	stw r0, 4(r3)
/* 802E4594 002E01F4  38 00 00 00 */	li r0, 0
/* 802E4598 002E01F8  38 DF 00 14 */	addi r6, r31, 0x14
/* 802E459C 002E01FC  38 A0 00 06 */	li r5, 6
/* 802E45A0 002E0200  90 C3 00 68 */	stw r6, 0x68(r3)
/* 802E45A4 002E0204  38 7F 00 0C */	addi r3, r31, 0xc
/* 802E45A8 002E0208  90 1F 00 00 */	stw r0, 0(r31)
/* 802E45AC 002E020C  90 1F 00 04 */	stw r0, 4(r31)
/* 802E45B0 002E0210  4B D1 FA 51 */	bl memcpy
/* 802E45B4 002E0214  80 7E 00 08 */	lwz r3, 8(r30)
/* 802E45B8 002E0218  2C 03 00 00 */	cmpwi r3, 0
/* 802E45BC 002E021C  40 82 00 14 */	bne lbl_802E45D0
/* 802E45C0 002E0220  93 FE 00 08 */	stw r31, 8(r30)
/* 802E45C4 002E0224  48 00 00 1C */	b lbl_802E45E0
/* 802E45C8 002E0228  48 00 00 08 */	b lbl_802E45D0
lbl_802E45CC:
/* 802E45CC 002E022C  7C 03 03 78 */	mr r3, r0
lbl_802E45D0:
/* 802E45D0 002E0230  80 03 00 04 */	lwz r0, 4(r3)
/* 802E45D4 002E0234  2C 00 00 00 */	cmpwi r0, 0
/* 802E45D8 002E0238  40 82 FF F4 */	bne lbl_802E45CC
/* 802E45DC 002E023C  93 E3 00 04 */	stw r31, 4(r3)
lbl_802E45E0:
/* 802E45E0 002E0240  7F E3 FB 78 */	mr r3, r31
lbl_802E45E4:
/* 802E45E4 002E0244  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802E45E8 002E0248  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802E45EC 002E024C  83 C1 00 08 */	lwz r30, 8(r1)
/* 802E45F0 002E0250  7C 08 03 A6 */	mtlr r0
/* 802E45F4 002E0254  38 21 00 10 */	addi r1, r1, 0x10
/* 802E45F8 002E0258  4E 80 00 20 */	blr

.global add_attr
add_attr:
/* 802E45FC 002E025C  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802E4600 002E0260  7C 08 02 A6 */	mflr r0
/* 802E4604 002E0264  90 01 00 44 */	stw r0, 0x44(r1)
/* 802E4608 002E0268  39 61 00 40 */	addi r11, r1, 0x40
/* 802E460C 002E026C  4B EE 2B 05 */	bl _savegpr_21
/* 802E4610 002E0270  8A A3 00 00 */	lbz r21, 0(r3)
/* 802E4614 002E0274  3F E0 80 44 */	lis r31, lbl_80445048@ha
/* 802E4618 002E0278  7C 97 23 78 */	mr r23, r4
/* 802E461C 002E027C  7C B8 2B 78 */	mr r24, r5
/* 802E4620 002E0280  7C D9 33 78 */	mr r25, r6
/* 802E4624 002E0284  7C FA 3B 78 */	mr r26, r7
/* 802E4628 002E0288  7E A4 AB 78 */	mr r4, r21
/* 802E462C 002E028C  3B FF 50 48 */	addi r31, r31, lbl_80445048@l
/* 802E4630 002E0290  55 1C 06 30 */	rlwinm r28, r8, 0, 0x18, 0x18
/* 802E4634 002E0294  55 1B 06 7E */	clrlwi r27, r8, 0x19
/* 802E4638 002E0298  38 A1 00 08 */	addi r5, r1, 8
/* 802E463C 002E029C  38 63 00 01 */	addi r3, r3, 1
/* 802E4640 002E02A0  48 00 29 0D */	bl sdpu_get_len_from_type
/* 802E4644 002E02A4  80 01 00 08 */	lwz r0, 8(r1)
/* 802E4648 002E02A8  7C 76 1B 78 */	mr r22, r3
/* 802E464C 002E02AC  56 A6 EF 3E */	rlwinm r6, r21, 0x1d, 0x1c, 0x1f
/* 802E4650 002E02B0  38 80 00 0C */	li r4, 0xc
/* 802E4654 002E02B4  54 05 05 3E */	clrlwi r5, r0, 0x14
/* 802E4658 002E02B8  28 05 00 04 */	cmplwi r5, 4
/* 802E465C 002E02BC  90 A1 00 08 */	stw r5, 8(r1)
/* 802E4660 002E02C0  40 81 00 08 */	ble lbl_802E4668
/* 802E4664 002E02C4  38 85 00 08 */	addi r4, r5, 8
lbl_802E4668:
/* 802E4668 002E02C8  38 84 00 03 */	addi r4, r4, 3
/* 802E466C 002E02CC  80 17 00 04 */	lwz r0, 4(r23)
/* 802E4670 002E02D0  54 9E 00 3A */	rlwinm r30, r4, 0, 0, 0x1d
/* 802E4674 002E02D4  7C 00 F0 40 */	cmplw r0, r30
/* 802E4678 002E02D8  40 80 00 0C */	bge lbl_802E4684
/* 802E467C 002E02DC  38 60 00 00 */	li r3, 0
/* 802E4680 002E02E0  48 00 04 FC */	b lbl_802E4B7C
lbl_802E4684:
/* 802E4684 002E02E4  83 B7 00 68 */	lwz r29, 0x68(r23)
/* 802E4688 002E02E8  54 C0 61 26 */	rlwinm r0, r6, 0xc, 4, 0x13
/* 802E468C 002E02EC  28 06 00 08 */	cmplwi r6, 8
/* 802E4690 002E02F0  38 80 00 00 */	li r4, 0
/* 802E4694 002E02F4  B3 3D 00 04 */	sth r25, 4(r29)
/* 802E4698 002E02F8  80 A1 00 08 */	lwz r5, 8(r1)
/* 802E469C 002E02FC  54 A5 04 3E */	clrlwi r5, r5, 0x10
/* 802E46A0 002E0300  7C A5 03 78 */	or r5, r5, r0
/* 802E46A4 002E0304  B0 BD 00 06 */	sth r5, 6(r29)
/* 802E46A8 002E0308  90 9D 00 00 */	stw r4, 0(r29)
/* 802E46AC 002E030C  41 81 04 50 */	bgt lbl_802E4AFC
/* 802E46B0 002E0310  3C A0 80 44 */	lis r5, lbl_80445180@ha
/* 802E46B4 002E0314  54 C4 10 3A */	slwi r4, r6, 2
/* 802E46B8 002E0318  38 A5 51 80 */	addi r5, r5, lbl_80445180@l
/* 802E46BC 002E031C  7C A5 20 2E */	lwzx r5, r5, r4
/* 802E46C0 002E0320  7C A9 03 A6 */	mtctr r5
/* 802E46C4 002E0324  4E 80 04 20 */	bctr
/* 802E46C8 002E0328  2C 1C 00 00 */	cmpwi r28, 0
/* 802E46CC 002E032C  41 82 00 AC */	beq lbl_802E4778
/* 802E46D0 002E0330  80 01 00 08 */	lwz r0, 8(r1)
/* 802E46D4 002E0334  28 00 00 02 */	cmplwi r0, 2
/* 802E46D8 002E0338  40 82 00 A0 */	bne lbl_802E4778
/* 802E46DC 002E033C  88 83 00 00 */	lbz r4, 0(r3)
/* 802E46E0 002E0340  88 03 00 01 */	lbz r0, 1(r3)
/* 802E46E4 002E0344  54 84 40 2E */	slwi r4, r4, 8
/* 802E46E8 002E0348  7C 04 02 14 */	add r0, r4, r0
/* 802E46EC 002E034C  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E46F0 002E0350  28 00 00 04 */	cmplwi r0, 4
/* 802E46F4 002E0354  40 82 00 84 */	bne lbl_802E4778
/* 802E46F8 002E0358  80 B7 00 68 */	lwz r5, 0x68(r23)
/* 802E46FC 002E035C  28 1B 00 05 */	cmplwi r27, 5
/* 802E4700 002E0360  80 97 00 04 */	lwz r4, 4(r23)
/* 802E4704 002E0364  3B C0 00 00 */	li r30, 0
/* 802E4708 002E0368  38 A5 00 0C */	addi r5, r5, 0xc
/* 802E470C 002E036C  38 04 FF F4 */	addi r0, r4, -12
/* 802E4710 002E0370  90 B7 00 68 */	stw r5, 0x68(r23)
/* 802E4714 002E0374  90 17 00 04 */	stw r0, 4(r23)
/* 802E4718 002E0378  80 01 00 08 */	lwz r0, 8(r1)
/* 802E471C 002E037C  7C 83 02 14 */	add r4, r3, r0
/* 802E4720 002E0380  3A A4 00 02 */	addi r21, r4, 2
/* 802E4724 002E0384  41 80 00 2C */	blt lbl_802E4750
/* 802E4728 002E0388  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E472C 002E038C  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E4730 002E0390  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E4734 002E0394  28 00 00 01 */	cmplwi r0, 1
/* 802E4738 002E0398  41 80 00 10 */	blt lbl_802E4748
/* 802E473C 002E039C  38 9F 00 D8 */	addi r4, r31, 0xd8
/* 802E4740 002E03A0  3C 60 00 0A */	lis r3, 0xa
/* 802E4744 002E03A4  4B FD 87 CD */	bl LogMsg_0
lbl_802E4748:
/* 802E4748 002E03A8  7E A3 AB 78 */	mr r3, r21
/* 802E474C 002E03AC  48 00 04 30 */	b lbl_802E4B7C
lbl_802E4750:
/* 802E4750 002E03B0  38 1B 00 01 */	addi r0, r27, 1
/* 802E4754 002E03B4  7E E4 BB 78 */	mr r4, r23
/* 802E4758 002E03B8  7F 05 C3 78 */	mr r5, r24
/* 802E475C 002E03BC  7F A7 EB 78 */	mr r7, r29
/* 802E4760 002E03C0  54 08 06 3E */	clrlwi r8, r0, 0x18
/* 802E4764 002E03C4  38 C0 00 04 */	li r6, 4
/* 802E4768 002E03C8  38 63 00 02 */	addi r3, r3, 2
/* 802E476C 002E03CC  4B FF FE 91 */	bl add_attr
/* 802E4770 002E03D0  7C 76 1B 78 */	mr r22, r3
/* 802E4774 002E03D4  48 00 03 88 */	b lbl_802E4AFC
lbl_802E4778:
/* 802E4778 002E03D8  80 01 00 08 */	lwz r0, 8(r1)
/* 802E477C 002E03DC  2C 00 00 03 */	cmpwi r0, 3
/* 802E4780 002E03E0  41 82 00 84 */	beq lbl_802E4804
/* 802E4784 002E03E4  40 80 00 14 */	bge lbl_802E4798
/* 802E4788 002E03E8  2C 00 00 01 */	cmpwi r0, 1
/* 802E478C 002E03EC  41 82 00 18 */	beq lbl_802E47A4
/* 802E4790 002E03F0  40 80 00 24 */	bge lbl_802E47B4
/* 802E4794 002E03F4  48 00 00 70 */	b lbl_802E4804
lbl_802E4798:
/* 802E4798 002E03F8  2C 00 00 05 */	cmpwi r0, 5
/* 802E479C 002E03FC  40 80 00 68 */	bge lbl_802E4804
/* 802E47A0 002E0400  48 00 00 30 */	b lbl_802E47D0
lbl_802E47A4:
/* 802E47A4 002E0404  88 03 00 00 */	lbz r0, 0(r3)
/* 802E47A8 002E0408  3A C3 00 01 */	addi r22, r3, 1
/* 802E47AC 002E040C  98 1D 00 08 */	stb r0, 8(r29)
/* 802E47B0 002E0410  48 00 03 4C */	b lbl_802E4AFC
lbl_802E47B4:
/* 802E47B4 002E0414  88 83 00 00 */	lbz r4, 0(r3)
/* 802E47B8 002E0418  3A C3 00 02 */	addi r22, r3, 2
/* 802E47BC 002E041C  88 03 00 01 */	lbz r0, 1(r3)
/* 802E47C0 002E0420  54 83 40 2E */	slwi r3, r4, 8
/* 802E47C4 002E0424  7C 03 02 14 */	add r0, r3, r0
/* 802E47C8 002E0428  B0 1D 00 08 */	sth r0, 8(r29)
/* 802E47CC 002E042C  48 00 03 30 */	b lbl_802E4AFC
lbl_802E47D0:
/* 802E47D0 002E0430  88 A3 00 00 */	lbz r5, 0(r3)
/* 802E47D4 002E0434  3A C3 00 04 */	addi r22, r3, 4
/* 802E47D8 002E0438  88 03 00 02 */	lbz r0, 2(r3)
/* 802E47DC 002E043C  88 83 00 01 */	lbz r4, 1(r3)
/* 802E47E0 002E0440  54 A6 C0 0E */	slwi r6, r5, 0x18
/* 802E47E4 002E0444  54 00 40 2E */	slwi r0, r0, 8
/* 802E47E8 002E0448  54 85 80 1E */	slwi r5, r4, 0x10
/* 802E47EC 002E044C  88 83 00 03 */	lbz r4, 3(r3)
/* 802E47F0 002E0450  7C 66 2A 14 */	add r3, r6, r5
/* 802E47F4 002E0454  7C 04 02 14 */	add r0, r4, r0
/* 802E47F8 002E0458  7C 03 02 14 */	add r0, r3, r0
/* 802E47FC 002E045C  90 1D 00 08 */	stw r0, 8(r29)
/* 802E4800 002E0460  48 00 02 FC */	b lbl_802E4AFC
lbl_802E4804:
/* 802E4804 002E0464  38 7D 00 08 */	addi r3, r29, 8
/* 802E4808 002E0468  38 80 00 00 */	li r4, 0
/* 802E480C 002E046C  48 00 00 18 */	b lbl_802E4824
lbl_802E4810:
/* 802E4810 002E0470  88 16 00 00 */	lbz r0, 0(r22)
/* 802E4814 002E0474  38 84 00 01 */	addi r4, r4, 1
/* 802E4818 002E0478  3A D6 00 01 */	addi r22, r22, 1
/* 802E481C 002E047C  98 03 00 00 */	stb r0, 0(r3)
/* 802E4820 002E0480  38 63 00 01 */	addi r3, r3, 1
lbl_802E4824:
/* 802E4824 002E0484  80 01 00 08 */	lwz r0, 8(r1)
/* 802E4828 002E0488  7C 04 00 00 */	cmpw r4, r0
/* 802E482C 002E048C  41 80 FF E4 */	blt lbl_802E4810
/* 802E4830 002E0490  48 00 02 CC */	b lbl_802E4AFC
/* 802E4834 002E0494  80 A1 00 08 */	lwz r5, 8(r1)
/* 802E4838 002E0498  2C 05 00 04 */	cmpwi r5, 4
/* 802E483C 002E049C  41 82 00 3C */	beq lbl_802E4878
/* 802E4840 002E04A0  40 80 00 10 */	bge lbl_802E4850
/* 802E4844 002E04A4  2C 05 00 02 */	cmpwi r5, 2
/* 802E4848 002E04A8  41 82 00 14 */	beq lbl_802E485C
/* 802E484C 002E04AC  48 00 01 4C */	b lbl_802E4998
lbl_802E4850:
/* 802E4850 002E04B0  2C 05 00 10 */	cmpwi r5, 0x10
/* 802E4854 002E04B4  41 82 00 7C */	beq lbl_802E48D0
/* 802E4858 002E04B8  48 00 01 40 */	b lbl_802E4998
lbl_802E485C:
/* 802E485C 002E04BC  88 83 00 00 */	lbz r4, 0(r3)
/* 802E4860 002E04C0  3A C3 00 02 */	addi r22, r3, 2
/* 802E4864 002E04C4  88 03 00 01 */	lbz r0, 1(r3)
/* 802E4868 002E04C8  54 83 40 2E */	slwi r3, r4, 8
/* 802E486C 002E04CC  7C 03 02 14 */	add r0, r3, r0
/* 802E4870 002E04D0  B0 1D 00 08 */	sth r0, 8(r29)
/* 802E4874 002E04D4  48 00 02 88 */	b lbl_802E4AFC
lbl_802E4878:
/* 802E4878 002E04D8  88 E3 00 00 */	lbz r7, 0(r3)
/* 802E487C 002E04DC  3A C3 00 04 */	addi r22, r3, 4
/* 802E4880 002E04E0  88 C3 00 01 */	lbz r6, 1(r3)
/* 802E4884 002E04E4  3C 80 00 01 */	lis r4, 1
/* 802E4888 002E04E8  54 E8 C0 0E */	slwi r8, r7, 0x18
/* 802E488C 002E04EC  88 A3 00 02 */	lbz r5, 2(r3)
/* 802E4890 002E04F0  54 C7 80 1E */	slwi r7, r6, 0x10
/* 802E4894 002E04F4  88 C3 00 03 */	lbz r6, 3(r3)
/* 802E4898 002E04F8  54 A3 40 2E */	slwi r3, r5, 8
/* 802E489C 002E04FC  7C A8 3A 14 */	add r5, r8, r7
/* 802E48A0 002E0500  7C 66 1A 14 */	add r3, r6, r3
/* 802E48A4 002E0504  7C 65 1A 14 */	add r3, r5, r3
/* 802E48A8 002E0508  7C 03 20 40 */	cmplw r3, r4
/* 802E48AC 002E050C  90 7D 00 08 */	stw r3, 8(r29)
/* 802E48B0 002E0510  40 80 02 4C */	bge lbl_802E4AFC
/* 802E48B4 002E0514  38 60 00 02 */	li r3, 2
/* 802E48B8 002E0518  60 00 00 02 */	ori r0, r0, 2
/* 802E48BC 002E051C  90 61 00 08 */	stw r3, 8(r1)
/* 802E48C0 002E0520  B0 1D 00 06 */	sth r0, 6(r29)
/* 802E48C4 002E0524  80 1D 00 08 */	lwz r0, 8(r29)
/* 802E48C8 002E0528  B0 1D 00 08 */	sth r0, 8(r29)
/* 802E48CC 002E052C  48 00 02 30 */	b lbl_802E4AFC
lbl_802E48D0:
/* 802E48D0 002E0530  7E C3 B3 78 */	mr r3, r22
/* 802E48D4 002E0534  48 00 27 49 */	bl sdpu_is_base_uuid
/* 802E48D8 002E0538  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E48DC 002E053C  41 82 00 8C */	beq lbl_802E4968
/* 802E48E0 002E0540  88 16 00 00 */	lbz r0, 0(r22)
/* 802E48E4 002E0544  2C 00 00 00 */	cmpwi r0, 0
/* 802E48E8 002E0548  40 82 00 3C */	bne lbl_802E4924
/* 802E48EC 002E054C  88 16 00 01 */	lbz r0, 1(r22)
/* 802E48F0 002E0550  2C 00 00 00 */	cmpwi r0, 0
/* 802E48F4 002E0554  40 82 00 30 */	bne lbl_802E4924
/* 802E48F8 002E0558  A0 1D 00 06 */	lhz r0, 6(r29)
/* 802E48FC 002E055C  54 00 00 26 */	rlwinm r0, r0, 0, 0, 0x13
/* 802E4900 002E0560  60 00 00 02 */	ori r0, r0, 2
/* 802E4904 002E0564  B0 1D 00 06 */	sth r0, 6(r29)
/* 802E4908 002E0568  88 76 00 02 */	lbz r3, 2(r22)
/* 802E490C 002E056C  88 16 00 03 */	lbz r0, 3(r22)
/* 802E4910 002E0570  3A D6 00 10 */	addi r22, r22, 0x10
/* 802E4914 002E0574  54 63 40 2E */	slwi r3, r3, 8
/* 802E4918 002E0578  7C 03 02 14 */	add r0, r3, r0
/* 802E491C 002E057C  B0 1D 00 08 */	sth r0, 8(r29)
/* 802E4920 002E0580  48 00 01 DC */	b lbl_802E4AFC
lbl_802E4924:
/* 802E4924 002E0584  A0 1D 00 06 */	lhz r0, 6(r29)
/* 802E4928 002E0588  54 00 00 26 */	rlwinm r0, r0, 0, 0, 0x13
/* 802E492C 002E058C  60 00 00 04 */	ori r0, r0, 4
/* 802E4930 002E0590  B0 1D 00 06 */	sth r0, 6(r29)
/* 802E4934 002E0594  88 96 00 00 */	lbz r4, 0(r22)
/* 802E4938 002E0598  88 76 00 01 */	lbz r3, 1(r22)
/* 802E493C 002E059C  88 16 00 02 */	lbz r0, 2(r22)
/* 802E4940 002E05A0  54 85 C0 0E */	slwi r5, r4, 0x18
/* 802E4944 002E05A4  88 96 00 03 */	lbz r4, 3(r22)
/* 802E4948 002E05A8  54 63 80 1E */	slwi r3, r3, 0x10
/* 802E494C 002E05AC  54 00 40 2E */	slwi r0, r0, 8
/* 802E4950 002E05B0  3A D6 00 10 */	addi r22, r22, 0x10
/* 802E4954 002E05B4  7C 65 1A 14 */	add r3, r5, r3
/* 802E4958 002E05B8  7C 04 02 14 */	add r0, r4, r0
/* 802E495C 002E05BC  7C 03 02 14 */	add r0, r3, r0
/* 802E4960 002E05C0  90 1D 00 08 */	stw r0, 8(r29)
/* 802E4964 002E05C4  48 00 01 98 */	b lbl_802E4AFC
lbl_802E4968:
/* 802E4968 002E05C8  38 7D 00 08 */	addi r3, r29, 8
/* 802E496C 002E05CC  38 80 00 00 */	li r4, 0
/* 802E4970 002E05D0  48 00 00 18 */	b lbl_802E4988
lbl_802E4974:
/* 802E4974 002E05D4  88 16 00 00 */	lbz r0, 0(r22)
/* 802E4978 002E05D8  38 84 00 01 */	addi r4, r4, 1
/* 802E497C 002E05DC  3A D6 00 01 */	addi r22, r22, 1
/* 802E4980 002E05E0  98 03 00 00 */	stb r0, 0(r3)
/* 802E4984 002E05E4  38 63 00 01 */	addi r3, r3, 1
lbl_802E4988:
/* 802E4988 002E05E8  80 01 00 08 */	lwz r0, 8(r1)
/* 802E498C 002E05EC  7C 04 00 00 */	cmpw r4, r0
/* 802E4990 002E05F0  41 80 FF E4 */	blt lbl_802E4974
/* 802E4994 002E05F4  48 00 01 68 */	b lbl_802E4AFC
lbl_802E4998:
/* 802E4998 002E05F8  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E499C 002E05FC  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E49A0 002E0600  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E49A4 002E0604  28 00 00 02 */	cmplwi r0, 2
/* 802E49A8 002E0608  41 80 00 14 */	blt lbl_802E49BC
/* 802E49AC 002E060C  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E49B0 002E0610  38 9F 00 F4 */	addi r4, r31, 0xf4
/* 802E49B4 002E0614  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E49B8 002E0618  4B FD 85 71 */	bl LogMsg_1
lbl_802E49BC:
/* 802E49BC 002E061C  80 01 00 08 */	lwz r0, 8(r1)
/* 802E49C0 002E0620  7C 76 02 14 */	add r3, r22, r0
/* 802E49C4 002E0624  48 00 01 B8 */	b lbl_802E4B7C
/* 802E49C8 002E0628  80 B7 00 68 */	lwz r5, 0x68(r23)
/* 802E49CC 002E062C  28 1B 00 05 */	cmplwi r27, 5
/* 802E49D0 002E0630  80 97 00 04 */	lwz r4, 4(r23)
/* 802E49D4 002E0634  3B C0 00 00 */	li r30, 0
/* 802E49D8 002E0638  38 A5 00 0C */	addi r5, r5, 0xc
/* 802E49DC 002E063C  38 04 FF F4 */	addi r0, r4, -12
/* 802E49E0 002E0640  90 B7 00 68 */	stw r5, 0x68(r23)
/* 802E49E4 002E0644  90 17 00 04 */	stw r0, 4(r23)
/* 802E49E8 002E0648  80 01 00 08 */	lwz r0, 8(r1)
/* 802E49EC 002E064C  7E A3 02 14 */	add r21, r3, r0
/* 802E49F0 002E0650  41 80 00 2C */	blt lbl_802E4A1C
/* 802E49F4 002E0654  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E49F8 002E0658  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E49FC 002E065C  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E4A00 002E0660  28 00 00 01 */	cmplwi r0, 1
/* 802E4A04 002E0664  41 80 00 10 */	blt lbl_802E4A14
/* 802E4A08 002E0668  38 9F 00 D8 */	addi r4, r31, 0xd8
/* 802E4A0C 002E066C  3C 60 00 0A */	lis r3, 0xa
/* 802E4A10 002E0670  4B FD 85 01 */	bl LogMsg_0
lbl_802E4A14:
/* 802E4A14 002E0674  7E A3 AB 78 */	mr r3, r21
/* 802E4A18 002E0678  48 00 01 64 */	b lbl_802E4B7C
lbl_802E4A1C:
/* 802E4A1C 002E067C  2C 1C 00 00 */	cmpwi r28, 0
/* 802E4A20 002E0680  40 82 00 0C */	bne lbl_802E4A2C
/* 802E4A24 002E0684  28 19 00 0D */	cmplwi r25, 0xd
/* 802E4A28 002E0688  40 82 00 0C */	bne lbl_802E4A34
lbl_802E4A2C:
/* 802E4A2C 002E068C  63 60 00 80 */	ori r0, r27, 0x80
/* 802E4A30 002E0690  54 1B 06 3E */	clrlwi r27, r0, 0x18
lbl_802E4A34:
/* 802E4A34 002E0694  57 63 06 3E */	clrlwi r3, r27, 0x18
/* 802E4A38 002E0698  3B 23 00 01 */	addi r25, r3, 1
/* 802E4A3C 002E069C  48 00 00 34 */	b lbl_802E4A70
lbl_802E4A40:
/* 802E4A40 002E06A0  7E C3 B3 78 */	mr r3, r22
/* 802E4A44 002E06A4  7E E4 BB 78 */	mr r4, r23
/* 802E4A48 002E06A8  7F 05 C3 78 */	mr r5, r24
/* 802E4A4C 002E06AC  7F A7 EB 78 */	mr r7, r29
/* 802E4A50 002E06B0  57 28 06 3E */	clrlwi r8, r25, 0x18
/* 802E4A54 002E06B4  38 C0 00 00 */	li r6, 0
/* 802E4A58 002E06B8  4B FF FB A5 */	bl add_attr
/* 802E4A5C 002E06BC  2C 03 00 00 */	cmpwi r3, 0
/* 802E4A60 002E06C0  7C 76 1B 78 */	mr r22, r3
/* 802E4A64 002E06C4  40 82 00 0C */	bne lbl_802E4A70
/* 802E4A68 002E06C8  38 60 00 00 */	li r3, 0
/* 802E4A6C 002E06CC  48 00 01 10 */	b lbl_802E4B7C
lbl_802E4A70:
/* 802E4A70 002E06D0  7C 16 A8 40 */	cmplw r22, r21
/* 802E4A74 002E06D4  41 80 FF CC */	blt lbl_802E4A40
/* 802E4A78 002E06D8  48 00 00 84 */	b lbl_802E4AFC
/* 802E4A7C 002E06DC  38 7D 00 08 */	addi r3, r29, 8
/* 802E4A80 002E06E0  38 80 00 00 */	li r4, 0
/* 802E4A84 002E06E4  48 00 00 18 */	b lbl_802E4A9C
lbl_802E4A88:
/* 802E4A88 002E06E8  88 16 00 00 */	lbz r0, 0(r22)
/* 802E4A8C 002E06EC  38 84 00 01 */	addi r4, r4, 1
/* 802E4A90 002E06F0  3A D6 00 01 */	addi r22, r22, 1
/* 802E4A94 002E06F4  98 03 00 00 */	stb r0, 0(r3)
/* 802E4A98 002E06F8  38 63 00 01 */	addi r3, r3, 1
lbl_802E4A9C:
/* 802E4A9C 002E06FC  80 01 00 08 */	lwz r0, 8(r1)
/* 802E4AA0 002E0700  7C 04 00 00 */	cmpw r4, r0
/* 802E4AA4 002E0704  41 80 FF E4 */	blt lbl_802E4A88
/* 802E4AA8 002E0708  48 00 00 54 */	b lbl_802E4AFC
/* 802E4AAC 002E070C  80 A1 00 08 */	lwz r5, 8(r1)
/* 802E4AB0 002E0710  2C 05 00 01 */	cmpwi r5, 1
/* 802E4AB4 002E0714  41 82 00 08 */	beq lbl_802E4ABC
/* 802E4AB8 002E0718  48 00 00 14 */	b lbl_802E4ACC
lbl_802E4ABC:
/* 802E4ABC 002E071C  88 03 00 00 */	lbz r0, 0(r3)
/* 802E4AC0 002E0720  3A C3 00 01 */	addi r22, r3, 1
/* 802E4AC4 002E0724  98 1D 00 08 */	stb r0, 8(r29)
/* 802E4AC8 002E0728  48 00 00 34 */	b lbl_802E4AFC
lbl_802E4ACC:
/* 802E4ACC 002E072C  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E4AD0 002E0730  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E4AD4 002E0734  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E4AD8 002E0738  28 00 00 02 */	cmplwi r0, 2
/* 802E4ADC 002E073C  41 80 00 14 */	blt lbl_802E4AF0
/* 802E4AE0 002E0740  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E4AE4 002E0744  38 9F 01 14 */	addi r4, r31, 0x114
/* 802E4AE8 002E0748  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E4AEC 002E074C  4B FD 84 3D */	bl LogMsg_1
lbl_802E4AF0:
/* 802E4AF0 002E0750  80 01 00 08 */	lwz r0, 8(r1)
/* 802E4AF4 002E0754  7C 76 02 14 */	add r3, r22, r0
/* 802E4AF8 002E0758  48 00 00 84 */	b lbl_802E4B7C
lbl_802E4AFC:
/* 802E4AFC 002E075C  80 77 00 68 */	lwz r3, 0x68(r23)
/* 802E4B00 002E0760  2C 1A 00 00 */	cmpwi r26, 0
/* 802E4B04 002E0764  80 17 00 04 */	lwz r0, 4(r23)
/* 802E4B08 002E0768  7C 63 F2 14 */	add r3, r3, r30
/* 802E4B0C 002E076C  7C 1E 00 50 */	subf r0, r30, r0
/* 802E4B10 002E0770  90 77 00 68 */	stw r3, 0x68(r23)
/* 802E4B14 002E0774  90 17 00 04 */	stw r0, 4(r23)
/* 802E4B18 002E0778  40 82 00 34 */	bne lbl_802E4B4C
/* 802E4B1C 002E077C  80 78 00 00 */	lwz r3, 0(r24)
/* 802E4B20 002E0780  2C 03 00 00 */	cmpwi r3, 0
/* 802E4B24 002E0784  40 82 00 14 */	bne lbl_802E4B38
/* 802E4B28 002E0788  93 B8 00 00 */	stw r29, 0(r24)
/* 802E4B2C 002E078C  48 00 00 4C */	b lbl_802E4B78
/* 802E4B30 002E0790  48 00 00 08 */	b lbl_802E4B38
lbl_802E4B34:
/* 802E4B34 002E0794  7C 03 03 78 */	mr r3, r0
lbl_802E4B38:
/* 802E4B38 002E0798  80 03 00 00 */	lwz r0, 0(r3)
/* 802E4B3C 002E079C  2C 00 00 00 */	cmpwi r0, 0
/* 802E4B40 002E07A0  40 82 FF F4 */	bne lbl_802E4B34
/* 802E4B44 002E07A4  93 A3 00 00 */	stw r29, 0(r3)
/* 802E4B48 002E07A8  48 00 00 30 */	b lbl_802E4B78
lbl_802E4B4C:
/* 802E4B4C 002E07AC  80 7A 00 08 */	lwz r3, 8(r26)
/* 802E4B50 002E07B0  2C 03 00 00 */	cmpwi r3, 0
/* 802E4B54 002E07B4  40 82 00 14 */	bne lbl_802E4B68
/* 802E4B58 002E07B8  93 BA 00 08 */	stw r29, 8(r26)
/* 802E4B5C 002E07BC  48 00 00 1C */	b lbl_802E4B78
/* 802E4B60 002E07C0  48 00 00 08 */	b lbl_802E4B68
lbl_802E4B64:
/* 802E4B64 002E07C4  7C 03 03 78 */	mr r3, r0
lbl_802E4B68:
/* 802E4B68 002E07C8  80 03 00 00 */	lwz r0, 0(r3)
/* 802E4B6C 002E07CC  2C 00 00 00 */	cmpwi r0, 0
/* 802E4B70 002E07D0  40 82 FF F4 */	bne lbl_802E4B64
/* 802E4B74 002E07D4  93 A3 00 00 */	stw r29, 0(r3)
lbl_802E4B78:
/* 802E4B78 002E07D8  7E C3 B3 78 */	mr r3, r22
lbl_802E4B7C:
/* 802E4B7C 002E07DC  39 61 00 40 */	addi r11, r1, 0x40
/* 802E4B80 002E07E0  4B EE 25 DD */	bl _restgpr_21
/* 802E4B84 002E07E4  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802E4B88 002E07E8  7C 08 03 A6 */	mtlr r0
/* 802E4B8C 002E07EC  38 21 00 40 */	addi r1, r1, 0x40
/* 802E4B90 002E07F0  4E 80 00 20 */	blr