summaryrefslogtreecommitdiff
path: root/asm/SDK/BTE/sdp_db.s
blob: 6f587c50c7572ffd9920e2cc123a71e356fd29d7 (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
.include "macros.inc"

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

.global sdp_db_service_search
sdp_db_service_search:
/* 802E2C50 002DE8B0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E2C54 002DE8B4  7C 08 02 A6 */	mflr r0
/* 802E2C58 002DE8B8  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E2C5C 002DE8BC  39 61 00 30 */	addi r11, r1, 0x30
/* 802E2C60 002DE8C0  4B EE 44 BD */	bl _savegpr_24
/* 802E2C64 002DE8C4  3C A0 80 57 */	lis r5, lbl_8056C840@ha
/* 802E2C68 002DE8C8  2C 03 00 00 */	cmpwi r3, 0
/* 802E2C6C 002DE8CC  38 A5 C8 40 */	addi r5, r5, lbl_8056C840@l
/* 802E2C70 002DE8D0  7C 9D 23 78 */	mr r29, r4
/* 802E2C74 002DE8D4  A0 05 12 22 */	lhz r0, 0x1222(r5)
/* 802E2C78 002DE8D8  1C 00 02 98 */	mulli r0, r0, 0x298
/* 802E2C7C 002DE8DC  7C 85 02 14 */	add r4, r5, r0
/* 802E2C80 002DE8E0  3B C4 12 24 */	addi r30, r4, 0x1224
/* 802E2C84 002DE8E4  40 82 00 0C */	bne lbl_802E2C90
/* 802E2C88 002DE8E8  3B 85 12 24 */	addi r28, r5, 0x1224
/* 802E2C8C 002DE8EC  48 00 00 DC */	b lbl_802E2D68
lbl_802E2C90:
/* 802E2C90 002DE8F0  3B 83 02 98 */	addi r28, r3, 0x298
/* 802E2C94 002DE8F4  48 00 00 D4 */	b lbl_802E2D68
lbl_802E2C98:
/* 802E2C98 002DE8F8  3B E0 00 00 */	li r31, 0
/* 802E2C9C 002DE8FC  48 00 00 A0 */	b lbl_802E2D3C
lbl_802E2CA0:
/* 802E2CA0 002DE900  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 802E2CA4 002DE904  3B 1C 00 0C */	addi r24, r28, 0xc
/* 802E2CA8 002DE908  1C 00 00 12 */	mulli r0, r0, 0x12
/* 802E2CAC 002DE90C  3B 20 00 00 */	li r25, 0
/* 802E2CB0 002DE910  7F 7D 02 14 */	add r27, r29, r0
/* 802E2CB4 002DE914  3B 5B 00 04 */	addi r26, r27, 4
/* 802E2CB8 002DE918  48 00 00 60 */	b lbl_802E2D18
lbl_802E2CBC:
/* 802E2CBC 002DE91C  88 18 00 0A */	lbz r0, 0xa(r24)
/* 802E2CC0 002DE920  28 00 00 03 */	cmplwi r0, 3
/* 802E2CC4 002DE924  40 82 00 24 */	bne lbl_802E2CE8
/* 802E2CC8 002DE928  80 78 00 04 */	lwz r3, 4(r24)
/* 802E2CCC 002DE92C  7F 45 D3 78 */	mr r5, r26
/* 802E2CD0 002DE930  80 98 00 00 */	lwz r4, 0(r24)
/* 802E2CD4 002DE934  A0 DB 00 02 */	lhz r6, 2(r27)
/* 802E2CD8 002DE938  48 00 44 25 */	bl sdpu_compare_uuid_arrays
/* 802E2CDC 002DE93C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E2CE0 002DE940  40 82 00 48 */	bne lbl_802E2D28
/* 802E2CE4 002DE944  48 00 00 2C */	b lbl_802E2D10
lbl_802E2CE8:
/* 802E2CE8 002DE948  28 00 00 06 */	cmplwi r0, 6
/* 802E2CEC 002DE94C  40 82 00 24 */	bne lbl_802E2D10
/* 802E2CF0 002DE950  80 78 00 04 */	lwz r3, 4(r24)
/* 802E2CF4 002DE954  7F 45 D3 78 */	mr r5, r26
/* 802E2CF8 002DE958  80 98 00 00 */	lwz r4, 0(r24)
/* 802E2CFC 002DE95C  38 E0 00 00 */	li r7, 0
/* 802E2D00 002DE960  A0 DB 00 02 */	lhz r6, 2(r27)
/* 802E2D04 002DE964  48 00 00 89 */	bl find_uuid_in_seq
/* 802E2D08 002DE968  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E2D0C 002DE96C  40 82 00 1C */	bne lbl_802E2D28
lbl_802E2D10:
/* 802E2D10 002DE970  3B 39 00 01 */	addi r25, r25, 1
/* 802E2D14 002DE974  3B 18 00 0C */	addi r24, r24, 0xc
lbl_802E2D18:
/* 802E2D18 002DE978  A0 1C 00 08 */	lhz r0, 8(r28)
/* 802E2D1C 002DE97C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 802E2D20 002DE980  7C 03 00 40 */	cmplw r3, r0
/* 802E2D24 002DE984  41 80 FF 98 */	blt lbl_802E2CBC
lbl_802E2D28:
/* 802E2D28 002DE988  A0 1C 00 08 */	lhz r0, 8(r28)
/* 802E2D2C 002DE98C  57 23 04 3E */	clrlwi r3, r25, 0x10
/* 802E2D30 002DE990  7C 03 00 40 */	cmplw r3, r0
/* 802E2D34 002DE994  41 82 00 18 */	beq lbl_802E2D4C
/* 802E2D38 002DE998  3B FF 00 01 */	addi r31, r31, 1
lbl_802E2D3C:
/* 802E2D3C 002DE99C  A0 1D 00 00 */	lhz r0, 0(r29)
/* 802E2D40 002DE9A0  57 E3 04 3E */	clrlwi r3, r31, 0x10
/* 802E2D44 002DE9A4  7C 03 00 40 */	cmplw r3, r0
/* 802E2D48 002DE9A8  41 80 FF 58 */	blt lbl_802E2CA0
lbl_802E2D4C:
/* 802E2D4C 002DE9AC  A0 1D 00 00 */	lhz r0, 0(r29)
/* 802E2D50 002DE9B0  57 E3 04 3E */	clrlwi r3, r31, 0x10
/* 802E2D54 002DE9B4  7C 03 00 40 */	cmplw r3, r0
/* 802E2D58 002DE9B8  40 82 00 0C */	bne lbl_802E2D64
/* 802E2D5C 002DE9BC  7F 83 E3 78 */	mr r3, r28
/* 802E2D60 002DE9C0  48 00 00 14 */	b lbl_802E2D74
lbl_802E2D64:
/* 802E2D64 002DE9C4  3B 9C 02 98 */	addi r28, r28, 0x298
lbl_802E2D68:
/* 802E2D68 002DE9C8  7C 1C F0 40 */	cmplw r28, r30
/* 802E2D6C 002DE9CC  41 80 FF 2C */	blt lbl_802E2C98
/* 802E2D70 002DE9D0  38 60 00 00 */	li r3, 0
lbl_802E2D74:
/* 802E2D74 002DE9D4  39 61 00 30 */	addi r11, r1, 0x30
/* 802E2D78 002DE9D8  4B EE 43 F1 */	bl _restgpr_24
/* 802E2D7C 002DE9DC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E2D80 002DE9E0  7C 08 03 A6 */	mtlr r0
/* 802E2D84 002DE9E4  38 21 00 30 */	addi r1, r1, 0x30
/* 802E2D88 002DE9E8  4E 80 00 20 */	blr

.global find_uuid_in_seq
find_uuid_in_seq:
/* 802E2D8C 002DE9EC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E2D90 002DE9F0  7C 08 02 A6 */	mflr r0
/* 802E2D94 002DE9F4  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E2D98 002DE9F8  39 61 00 30 */	addi r11, r1, 0x30
/* 802E2D9C 002DE9FC  4B EE 43 89 */	bl _savegpr_26
/* 802E2DA0 002DEA00  2C 07 00 03 */	cmpwi r7, 3
/* 802E2DA4 002DEA04  7C 7A 1B 78 */	mr r26, r3
/* 802E2DA8 002DEA08  7C BB 2B 78 */	mr r27, r5
/* 802E2DAC 002DEA0C  7C DC 33 78 */	mr r28, r6
/* 802E2DB0 002DEA10  7C FD 3B 78 */	mr r29, r7
/* 802E2DB4 002DEA14  7F E3 22 14 */	add r31, r3, r4
/* 802E2DB8 002DEA18  40 81 00 88 */	ble lbl_802E2E40
/* 802E2DBC 002DEA1C  38 60 00 00 */	li r3, 0
/* 802E2DC0 002DEA20  48 00 00 8C */	b lbl_802E2E4C
/* 802E2DC4 002DEA24  48 00 00 7C */	b lbl_802E2E40
lbl_802E2DC8:
/* 802E2DC8 002DEA28  8B DA 00 00 */	lbz r30, 0(r26)
/* 802E2DCC 002DEA2C  38 7A 00 01 */	addi r3, r26, 1
/* 802E2DD0 002DEA30  38 A1 00 08 */	addi r5, r1, 8
/* 802E2DD4 002DEA34  7F C4 F3 78 */	mr r4, r30
/* 802E2DD8 002DEA38  48 00 41 75 */	bl sdpu_get_len_from_type
/* 802E2DDC 002DEA3C  57 C0 EE FE */	rlwinm r0, r30, 0x1d, 0x1b, 0x1f
/* 802E2DE0 002DEA40  7C 7A 1B 78 */	mr r26, r3
/* 802E2DE4 002DEA44  28 00 00 03 */	cmplwi r0, 3
/* 802E2DE8 002DEA48  40 82 00 24 */	bne lbl_802E2E0C
/* 802E2DEC 002DEA4C  80 81 00 08 */	lwz r4, 8(r1)
/* 802E2DF0 002DEA50  7F 65 DB 78 */	mr r5, r27
/* 802E2DF4 002DEA54  7F 86 E3 78 */	mr r6, r28
/* 802E2DF8 002DEA58  48 00 43 05 */	bl sdpu_compare_uuid_arrays
/* 802E2DFC 002DEA5C  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E2E00 002DEA60  41 82 00 38 */	beq lbl_802E2E38
/* 802E2E04 002DEA64  38 60 00 01 */	li r3, 1
/* 802E2E08 002DEA68  48 00 00 44 */	b lbl_802E2E4C
lbl_802E2E0C:
/* 802E2E0C 002DEA6C  28 00 00 06 */	cmplwi r0, 6
/* 802E2E10 002DEA70  40 82 00 28 */	bne lbl_802E2E38
/* 802E2E14 002DEA74  80 81 00 08 */	lwz r4, 8(r1)
/* 802E2E18 002DEA78  7F 65 DB 78 */	mr r5, r27
/* 802E2E1C 002DEA7C  7F 86 E3 78 */	mr r6, r28
/* 802E2E20 002DEA80  38 FD 00 01 */	addi r7, r29, 1
/* 802E2E24 002DEA84  4B FF FF 69 */	bl find_uuid_in_seq
/* 802E2E28 002DEA88  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 802E2E2C 002DEA8C  41 82 00 0C */	beq lbl_802E2E38
/* 802E2E30 002DEA90  38 60 00 01 */	li r3, 1
/* 802E2E34 002DEA94  48 00 00 18 */	b lbl_802E2E4C
lbl_802E2E38:
/* 802E2E38 002DEA98  80 01 00 08 */	lwz r0, 8(r1)
/* 802E2E3C 002DEA9C  7F 5A 02 14 */	add r26, r26, r0
lbl_802E2E40:
/* 802E2E40 002DEAA0  7C 1A F8 40 */	cmplw r26, r31
/* 802E2E44 002DEAA4  41 80 FF 84 */	blt lbl_802E2DC8
/* 802E2E48 002DEAA8  38 60 00 00 */	li r3, 0
lbl_802E2E4C:
/* 802E2E4C 002DEAAC  39 61 00 30 */	addi r11, r1, 0x30
/* 802E2E50 002DEAB0  4B EE 43 21 */	bl _restgpr_26
/* 802E2E54 002DEAB4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E2E58 002DEAB8  7C 08 03 A6 */	mtlr r0
/* 802E2E5C 002DEABC  38 21 00 30 */	addi r1, r1, 0x30
/* 802E2E60 002DEAC0  4E 80 00 20 */	blr

.global sdp_db_find_record
sdp_db_find_record:
/* 802E2E64 002DEAC4  3C A0 80 57 */	lis r5, lbl_8056C840@ha
/* 802E2E68 002DEAC8  38 00 02 98 */	li r0, 0x298
/* 802E2E6C 002DEACC  38 A5 C8 40 */	addi r5, r5, lbl_8056C840@l
/* 802E2E70 002DEAD0  A0 85 12 22 */	lhz r4, 0x1222(r5)
/* 802E2E74 002DEAD4  38 C5 12 24 */	addi r6, r5, 0x1224
/* 802E2E78 002DEAD8  1C 84 02 98 */	mulli r4, r4, 0x298
/* 802E2E7C 002DEADC  7C 85 22 14 */	add r4, r5, r4
/* 802E2E80 002DEAE0  38 A4 12 24 */	addi r5, r4, 0x1224
/* 802E2E84 002DEAE4  38 85 02 97 */	addi r4, r5, 0x297
/* 802E2E88 002DEAE8  7C 86 20 50 */	subf r4, r6, r4
/* 802E2E8C 002DEAEC  7C 84 03 96 */	divwu r4, r4, r0
/* 802E2E90 002DEAF0  7C 89 03 A6 */	mtctr r4
/* 802E2E94 002DEAF4  7C 06 28 40 */	cmplw r6, r5
/* 802E2E98 002DEAF8  40 80 00 20 */	bge lbl_802E2EB8
lbl_802E2E9C:
/* 802E2E9C 002DEAFC  80 06 00 00 */	lwz r0, 0(r6)
/* 802E2EA0 002DEB00  7C 00 18 40 */	cmplw r0, r3
/* 802E2EA4 002DEB04  40 82 00 0C */	bne lbl_802E2EB0
/* 802E2EA8 002DEB08  7C C3 33 78 */	mr r3, r6
/* 802E2EAC 002DEB0C  4E 80 00 20 */	blr
lbl_802E2EB0:
/* 802E2EB0 002DEB10  38 C6 02 98 */	addi r6, r6, 0x298
/* 802E2EB4 002DEB14  42 00 FF E8 */	bdnz lbl_802E2E9C
lbl_802E2EB8:
/* 802E2EB8 002DEB18  38 60 00 00 */	li r3, 0
/* 802E2EBC 002DEB1C  4E 80 00 20 */	blr

.global sdp_db_find_attr_in_rec
sdp_db_find_attr_in_rec:
/* 802E2EC0 002DEB20  A0 C3 00 08 */	lhz r6, 8(r3)
/* 802E2EC4 002DEB24  38 63 00 0C */	addi r3, r3, 0xc
/* 802E2EC8 002DEB28  38 E0 00 00 */	li r7, 0
/* 802E2ECC 002DEB2C  48 00 00 20 */	b lbl_802E2EEC
lbl_802E2ED0:
/* 802E2ED0 002DEB30  A0 03 00 08 */	lhz r0, 8(r3)
/* 802E2ED4 002DEB34  7C 00 20 40 */	cmplw r0, r4
/* 802E2ED8 002DEB38  41 80 00 0C */	blt lbl_802E2EE4
/* 802E2EDC 002DEB3C  7C 00 28 40 */	cmplw r0, r5
/* 802E2EE0 002DEB40  4C 81 00 20 */	blelr
lbl_802E2EE4:
/* 802E2EE4 002DEB44  38 E7 00 01 */	addi r7, r7, 1
/* 802E2EE8 002DEB48  38 63 00 0C */	addi r3, r3, 0xc
lbl_802E2EEC:
/* 802E2EEC 002DEB4C  54 E0 04 3E */	clrlwi r0, r7, 0x10
/* 802E2EF0 002DEB50  7C 00 30 40 */	cmplw r0, r6
/* 802E2EF4 002DEB54  41 80 FF DC */	blt lbl_802E2ED0
/* 802E2EF8 002DEB58  38 60 00 00 */	li r3, 0
/* 802E2EFC 002DEB5C  4E 80 00 20 */	blr

.global SDP_CreateRecord
SDP_CreateRecord:
/* 802E2F00 002DEB60  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802E2F04 002DEB64  7C 08 02 A6 */	mflr r0
/* 802E2F08 002DEB68  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E2F0C 002DEB6C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802E2F10 002DEB70  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E2F14 002DEB74  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802E2F18 002DEB78  3B E3 12 1C */	addi r31, r3, 0x121c
/* 802E2F1C 002DEB7C  A0 03 12 22 */	lhz r0, 0x1222(r3)
/* 802E2F20 002DEB80  28 00 00 14 */	cmplwi r0, 0x14
/* 802E2F24 002DEB84  40 80 00 A4 */	bge lbl_802E2FC8
/* 802E2F28 002DEB88  1C 00 02 98 */	mulli r0, r0, 0x298
/* 802E2F2C 002DEB8C  38 80 00 00 */	li r4, 0
/* 802E2F30 002DEB90  38 A0 02 98 */	li r5, 0x298
/* 802E2F34 002DEB94  7C 7F 02 14 */	add r3, r31, r0
/* 802E2F38 002DEB98  38 63 00 08 */	addi r3, r3, 8
/* 802E2F3C 002DEB9C  4B D2 11 C9 */	bl memset
/* 802E2F40 002DEBA0  A0 9F 00 06 */	lhz r4, 6(r31)
/* 802E2F44 002DEBA4  2C 04 00 00 */	cmpwi r4, 0
/* 802E2F48 002DEBA8  41 82 00 1C */	beq lbl_802E2F64
/* 802E2F4C 002DEBAC  38 04 FF FF */	addi r0, r4, -1
/* 802E2F50 002DEBB0  1C 00 02 98 */	mulli r0, r0, 0x298
/* 802E2F54 002DEBB4  7C 7F 02 14 */	add r3, r31, r0
/* 802E2F58 002DEBB8  80 63 00 08 */	lwz r3, 8(r3)
/* 802E2F5C 002DEBBC  38 63 00 01 */	addi r3, r3, 1
/* 802E2F60 002DEBC0  48 00 00 08 */	b lbl_802E2F68
lbl_802E2F64:
/* 802E2F64 002DEBC4  3C 60 00 01 */	lis r3, 1
lbl_802E2F68:
/* 802E2F68 002DEBC8  1C 84 02 98 */	mulli r4, r4, 0x298
/* 802E2F6C 002DEBCC  54 60 46 3E */	srwi r0, r3, 0x18
/* 802E2F70 002DEBD0  54 66 86 3E */	rlwinm r6, r3, 0x10, 0x18, 0x1f
/* 802E2F74 002DEBD4  98 01 00 08 */	stb r0, 8(r1)
/* 802E2F78 002DEBD8  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 802E2F7C 002DEBDC  7C 9F 22 14 */	add r4, r31, r4
/* 802E2F80 002DEBE0  90 64 00 08 */	stw r3, 8(r4)
/* 802E2F84 002DEBE4  38 E1 00 08 */	addi r7, r1, 8
/* 802E2F88 002DEBE8  38 80 00 00 */	li r4, 0
/* 802E2F8C 002DEBEC  38 A0 00 01 */	li r5, 1
/* 802E2F90 002DEBF0  A1 1F 00 06 */	lhz r8, 6(r31)
/* 802E2F94 002DEBF4  98 C1 00 09 */	stb r6, 9(r1)
/* 802E2F98 002DEBF8  38 C0 00 04 */	li r6, 4
/* 802E2F9C 002DEBFC  39 08 00 01 */	addi r8, r8, 1
/* 802E2FA0 002DEC00  B1 1F 00 06 */	sth r8, 6(r31)
/* 802E2FA4 002DEC04  98 01 00 0A */	stb r0, 0xa(r1)
/* 802E2FA8 002DEC08  98 61 00 0B */	stb r3, 0xb(r1)
/* 802E2FAC 002DEC0C  48 00 01 49 */	bl SDP_AddAttribute
/* 802E2FB0 002DEC10  A0 7F 00 06 */	lhz r3, 6(r31)
/* 802E2FB4 002DEC14  38 03 FF FF */	addi r0, r3, -1
/* 802E2FB8 002DEC18  1C 00 02 98 */	mulli r0, r0, 0x298
/* 802E2FBC 002DEC1C  7C 7F 02 14 */	add r3, r31, r0
/* 802E2FC0 002DEC20  80 63 00 08 */	lwz r3, 8(r3)
/* 802E2FC4 002DEC24  48 00 00 08 */	b lbl_802E2FCC
lbl_802E2FC8:
/* 802E2FC8 002DEC28  38 60 00 00 */	li r3, 0
lbl_802E2FCC:
/* 802E2FCC 002DEC2C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802E2FD0 002DEC30  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802E2FD4 002DEC34  7C 08 03 A6 */	mtlr r0
/* 802E2FD8 002DEC38  38 21 00 20 */	addi r1, r1, 0x20
/* 802E2FDC 002DEC3C  4E 80 00 20 */	blr

.global SDP_DeleteRecord
SDP_DeleteRecord:
/* 802E2FE0 002DEC40  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E2FE4 002DEC44  2C 03 00 00 */	cmpwi r3, 0
/* 802E2FE8 002DEC48  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E2FEC 002DEC4C  39 44 12 24 */	addi r10, r4, 0x1224
/* 802E2FF0 002DEC50  41 82 00 10 */	beq lbl_802E3000
/* 802E2FF4 002DEC54  A0 84 12 22 */	lhz r4, 0x1222(r4)
/* 802E2FF8 002DEC58  2C 04 00 00 */	cmpwi r4, 0
/* 802E2FFC 002DEC5C  40 82 00 24 */	bne lbl_802E3020
lbl_802E3000:
/* 802E3000 002DEC60  3C 80 80 57 */	lis r4, lbl_8056C840@ha
/* 802E3004 002DEC64  38 00 00 00 */	li r0, 0
/* 802E3008 002DEC68  38 84 C8 40 */	addi r4, r4, lbl_8056C840@l
/* 802E300C 002DEC6C  38 60 00 01 */	li r3, 1
/* 802E3010 002DEC70  B0 04 12 22 */	sth r0, 0x1222(r4)
/* 802E3014 002DEC74  90 04 12 1C */	stw r0, 0x121c(r4)
/* 802E3018 002DEC78  98 04 12 20 */	stb r0, 0x1220(r4)
/* 802E301C 002DEC7C  4E 80 00 20 */	blr
lbl_802E3020:
/* 802E3020 002DEC80  39 20 00 00 */	li r9, 0
/* 802E3024 002DEC84  48 00 00 BC */	b lbl_802E30E0
lbl_802E3028:
/* 802E3028 002DEC88  80 0A 00 00 */	lwz r0, 0(r10)
/* 802E302C 002DEC8C  7C 00 18 40 */	cmplw r0, r3
/* 802E3030 002DEC90  40 82 00 A8 */	bne lbl_802E30D8
/* 802E3034 002DEC94  3C A0 80 57 */	lis r5, lbl_8056C840@ha
/* 802E3038 002DEC98  38 E0 00 53 */	li r7, 0x53
/* 802E303C 002DEC9C  38 A5 C8 40 */	addi r5, r5, lbl_8056C840@l
/* 802E3040 002DECA0  48 00 00 60 */	b lbl_802E30A0
lbl_802E3044:
/* 802E3044 002DECA4  39 0A FF FC */	addi r8, r10, -4
/* 802E3048 002DECA8  38 CA 02 94 */	addi r6, r10, 0x294
/* 802E304C 002DECAC  7C E9 03 A6 */	mtctr r7
lbl_802E3050:
/* 802E3050 002DECB0  80 86 00 04 */	lwz r4, 4(r6)
/* 802E3054 002DECB4  84 06 00 08 */	lwzu r0, 8(r6)
/* 802E3058 002DECB8  90 88 00 04 */	stw r4, 4(r8)
/* 802E305C 002DECBC  94 08 00 08 */	stwu r0, 8(r8)
/* 802E3060 002DECC0  42 00 FF F0 */	bdnz lbl_802E3050
/* 802E3064 002DECC4  39 00 00 00 */	li r8, 0
/* 802E3068 002DECC8  48 00 00 20 */	b lbl_802E3088
lbl_802E306C:
/* 802E306C 002DECCC  55 00 04 3E */	clrlwi r0, r8, 0x10
/* 802E3070 002DECD0  39 08 00 01 */	addi r8, r8, 1
/* 802E3074 002DECD4  1C 00 00 0C */	mulli r0, r0, 0xc
/* 802E3078 002DECD8  7C CA 02 14 */	add r6, r10, r0
/* 802E307C 002DECDC  80 86 00 10 */	lwz r4, 0x10(r6)
/* 802E3080 002DECE0  38 04 FD 68 */	addi r0, r4, -664
/* 802E3084 002DECE4  90 06 00 10 */	stw r0, 0x10(r6)
lbl_802E3088:
/* 802E3088 002DECE8  A0 0A 00 08 */	lhz r0, 8(r10)
/* 802E308C 002DECEC  55 04 04 3E */	clrlwi r4, r8, 0x10
/* 802E3090 002DECF0  7C 04 00 40 */	cmplw r4, r0
/* 802E3094 002DECF4  41 80 FF D8 */	blt lbl_802E306C
/* 802E3098 002DECF8  39 29 00 01 */	addi r9, r9, 1
/* 802E309C 002DECFC  39 4A 02 98 */	addi r10, r10, 0x298
lbl_802E30A0:
/* 802E30A0 002DED00  A0 85 12 22 */	lhz r4, 0x1222(r5)
/* 802E30A4 002DED04  55 20 04 3E */	clrlwi r0, r9, 0x10
/* 802E30A8 002DED08  7C 00 20 40 */	cmplw r0, r4
/* 802E30AC 002DED0C  41 80 FF 98 */	blt lbl_802E3044
/* 802E30B0 002DED10  80 05 12 1C */	lwz r0, 0x121c(r5)
/* 802E30B4 002DED14  38 84 FF FF */	addi r4, r4, -1
/* 802E30B8 002DED18  B0 85 12 22 */	sth r4, 0x1222(r5)
/* 802E30BC 002DED1C  7C 00 18 40 */	cmplw r0, r3
/* 802E30C0 002DED20  40 82 00 10 */	bne lbl_802E30D0
/* 802E30C4 002DED24  38 00 00 00 */	li r0, 0
/* 802E30C8 002DED28  90 05 12 1C */	stw r0, 0x121c(r5)
/* 802E30CC 002DED2C  98 05 12 20 */	stb r0, 0x1220(r5)
lbl_802E30D0:
/* 802E30D0 002DED30  38 60 00 01 */	li r3, 1
/* 802E30D4 002DED34  4E 80 00 20 */	blr
lbl_802E30D8:
/* 802E30D8 002DED38  39 29 00 01 */	addi r9, r9, 1
/* 802E30DC 002DED3C  39 4A 02 98 */	addi r10, r10, 0x298
lbl_802E30E0:
/* 802E30E0 002DED40  55 20 04 3E */	clrlwi r0, r9, 0x10
/* 802E30E4 002DED44  7C 00 20 40 */	cmplw r0, r4
/* 802E30E8 002DED48  41 80 FF 40 */	blt lbl_802E3028
/* 802E30EC 002DED4C  38 60 00 00 */	li r3, 0
/* 802E30F0 002DED50  4E 80 00 20 */	blr

.global SDP_AddAttribute
SDP_AddAttribute:
/* 802E30F4 002DED54  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E30F8 002DED58  7C 08 02 A6 */	mflr r0
/* 802E30FC 002DED5C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E3100 002DED60  39 61 00 30 */	addi r11, r1, 0x30
/* 802E3104 002DED64  4B EE 40 15 */	bl _savegpr_23
/* 802E3108 002DED68  3D 00 80 57 */	lis r8, lbl_8056C840@ha
/* 802E310C 002DED6C  7C BA 2B 78 */	mr r26, r5
/* 802E3110 002DED70  39 08 C8 40 */	addi r8, r8, lbl_8056C840@l
/* 802E3114 002DED74  7C 78 1B 78 */	mr r24, r3
/* 802E3118 002DED78  A1 28 12 22 */	lhz r9, 0x1222(r8)
/* 802E311C 002DED7C  7C 99 23 78 */	mr r25, r4
/* 802E3120 002DED80  7C DB 33 78 */	mr r27, r6
/* 802E3124 002DED84  7C FC 3B 78 */	mr r28, r7
/* 802E3128 002DED88  3B C8 12 24 */	addi r30, r8, 0x1224
/* 802E312C 002DED8C  38 A0 00 00 */	li r5, 0
/* 802E3130 002DED90  48 00 03 34 */	b lbl_802E3464
lbl_802E3134:
/* 802E3134 002DED94  80 1E 00 00 */	lwz r0, 0(r30)
/* 802E3138 002DED98  7C 00 18 40 */	cmplw r0, r3
/* 802E313C 002DED9C  40 82 03 20 */	bne lbl_802E345C
/* 802E3140 002DEDA0  A0 7E 00 08 */	lhz r3, 8(r30)
/* 802E3144 002DEDA4  3B BE 00 0C */	addi r29, r30, 0xc
/* 802E3148 002DEDA8  3B E0 00 00 */	li r31, 0
/* 802E314C 002DEDAC  48 00 00 2C */	b lbl_802E3178
lbl_802E3150:
/* 802E3150 002DEDB0  A0 1D 00 08 */	lhz r0, 8(r29)
/* 802E3154 002DEDB4  7C 00 20 40 */	cmplw r0, r4
/* 802E3158 002DEDB8  40 82 00 14 */	bne lbl_802E316C
/* 802E315C 002DEDBC  7F 03 C3 78 */	mr r3, r24
/* 802E3160 002DEDC0  7F 24 CB 78 */	mr r4, r25
/* 802E3164 002DEDC4  48 00 05 7D */	bl SDP_DeleteAttribute
/* 802E3168 002DEDC8  48 00 00 1C */	b lbl_802E3184
lbl_802E316C:
/* 802E316C 002DEDCC  41 81 00 18 */	bgt lbl_802E3184
/* 802E3170 002DEDD0  3B FF 00 01 */	addi r31, r31, 1
/* 802E3174 002DEDD4  3B BD 00 0C */	addi r29, r29, 0xc
lbl_802E3178:
/* 802E3178 002DEDD8  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 802E317C 002DEDDC  7C 00 18 40 */	cmplw r0, r3
/* 802E3180 002DEDE0  41 80 FF D0 */	blt lbl_802E3150
lbl_802E3184:
/* 802E3184 002DEDE4  A0 BE 00 08 */	lhz r5, 8(r30)
/* 802E3188 002DEDE8  28 05 00 19 */	cmplwi r5, 0x19
/* 802E318C 002DEDEC  40 82 00 0C */	bne lbl_802E3198
/* 802E3190 002DEDF0  38 60 00 00 */	li r3, 0
/* 802E3194 002DEDF4  48 00 02 E0 */	b lbl_802E3474
lbl_802E3198:
/* 802E3198 002DEDF8  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 802E319C 002DEDFC  7C 00 28 40 */	cmplw r0, r5
/* 802E31A0 002DEE00  40 82 00 14 */	bne lbl_802E31B4
/* 802E31A4 002DEE04  1C 05 00 0C */	mulli r0, r5, 0xc
/* 802E31A8 002DEE08  7C 7E 02 14 */	add r3, r30, r0
/* 802E31AC 002DEE0C  3B A3 00 0C */	addi r29, r3, 0xc
/* 802E31B0 002DEE10  48 00 01 C8 */	b lbl_802E3378
lbl_802E31B4:
/* 802E31B4 002DEE14  7C 85 00 40 */	cmplw cr1, r5, r0
/* 802E31B8 002DEE18  40 85 01 C0 */	ble cr1, lbl_802E3378
/* 802E31BC 002DEE1C  7C 1F 28 50 */	subf r0, r31, r5
/* 802E31C0 002DEE20  38 7F 00 08 */	addi r3, r31, 8
/* 802E31C4 002DEE24  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E31C8 002DEE28  28 00 00 08 */	cmplwi r0, 8
/* 802E31CC 002DEE2C  40 81 01 68 */	ble lbl_802E3334
/* 802E31D0 002DEE30  41 84 01 64 */	blt cr1, lbl_802E3334
/* 802E31D4 002DEE34  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 802E31D8 002DEE38  38 05 00 07 */	addi r0, r5, 7
/* 802E31DC 002DEE3C  7C 03 00 50 */	subf r0, r3, r0
/* 802E31E0 002DEE40  54 00 E8 FE */	srwi r0, r0, 3
/* 802E31E4 002DEE44  7C 09 03 A6 */	mtctr r0
/* 802E31E8 002DEE48  7C 05 18 40 */	cmplw r5, r3
/* 802E31EC 002DEE4C  40 81 01 48 */	ble lbl_802E3334
lbl_802E31F0:
/* 802E31F0 002DEE50  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 802E31F4 002DEE54  3C 65 00 01 */	addis r3, r5, 1
/* 802E31F8 002DEE58  1C 80 00 0C */	mulli r4, r0, 0xc
/* 802E31FC 002DEE5C  7D 24 F0 6E */	lwzux r9, r4, r30
/* 802E3200 002DEE60  38 C3 FF FF */	addi r6, r3, -1
/* 802E3204 002DEE64  38 03 FF FE */	addi r0, r3, -2
/* 802E3208 002DEE68  80 E4 00 04 */	lwz r7, 4(r4)
/* 802E320C 002DEE6C  54 C6 04 3E */	clrlwi r6, r6, 0x10
/* 802E3210 002DEE70  1D 06 00 0C */	mulli r8, r6, 0xc
/* 802E3214 002DEE74  38 A5 FF F8 */	addi r5, r5, -8
/* 802E3218 002DEE78  91 24 00 0C */	stw r9, 0xc(r4)
/* 802E321C 002DEE7C  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 802E3220 002DEE80  38 03 FF FD */	addi r0, r3, -3
/* 802E3224 002DEE84  90 E4 00 10 */	stw r7, 0x10(r4)
/* 802E3228 002DEE88  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E322C 002DEE8C  7E FE 42 14 */	add r23, r30, r8
/* 802E3230 002DEE90  81 64 00 08 */	lwz r11, 8(r4)
/* 802E3234 002DEE94  1D 46 00 0C */	mulli r10, r6, 0xc
/* 802E3238 002DEE98  38 C3 FF FC */	addi r6, r3, -4
/* 802E323C 002DEE9C  91 64 00 14 */	stw r11, 0x14(r4)
/* 802E3240 002DEEA0  1D 20 00 0C */	mulli r9, r0, 0xc
/* 802E3244 002DEEA4  38 03 FF FB */	addi r0, r3, -5
/* 802E3248 002DEEA8  7D 9E 40 2E */	lwzx r12, r30, r8
/* 802E324C 002DEEAC  54 C6 04 3E */	clrlwi r6, r6, 0x10
/* 802E3250 002DEEB0  81 77 00 04 */	lwz r11, 4(r23)
/* 802E3254 002DEEB4  54 07 04 3E */	clrlwi r7, r0, 0x10
/* 802E3258 002DEEB8  91 84 00 00 */	stw r12, 0(r4)
/* 802E325C 002DEEBC  7D 9E 52 14 */	add r12, r30, r10
/* 802E3260 002DEEC0  38 03 FF FA */	addi r0, r3, -6
/* 802E3264 002DEEC4  7D 5E 4A 14 */	add r10, r30, r9
/* 802E3268 002DEEC8  1D 06 00 0C */	mulli r8, r6, 0xc
/* 802E326C 002DEECC  91 64 00 04 */	stw r11, 4(r4)
/* 802E3270 002DEED0  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 802E3274 002DEED4  38 03 FF F9 */	addi r0, r3, -7
/* 802E3278 002DEED8  1C 66 00 0C */	mulli r3, r6, 0xc
/* 802E327C 002DEEDC  80 D7 00 08 */	lwz r6, 8(r23)
/* 802E3280 002DEEE0  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 802E3284 002DEEE4  90 C4 00 08 */	stw r6, 8(r4)
/* 802E3288 002DEEE8  7D 3E 42 14 */	add r9, r30, r8
/* 802E328C 002DEEEC  1C E7 00 0C */	mulli r7, r7, 0xc
/* 802E3290 002DEEF0  81 6C 00 00 */	lwz r11, 0(r12)
/* 802E3294 002DEEF4  7D 1E 3A 14 */	add r8, r30, r7
/* 802E3298 002DEEF8  7C FE 1A 14 */	add r7, r30, r3
/* 802E329C 002DEEFC  80 6C 00 04 */	lwz r3, 4(r12)
/* 802E32A0 002DEF00  1C 00 00 0C */	mulli r0, r0, 0xc
/* 802E32A4 002DEF04  91 64 FF F4 */	stw r11, -0xc(r4)
/* 802E32A8 002DEF08  90 64 FF F8 */	stw r3, -8(r4)
/* 802E32AC 002DEF0C  7C DE 02 14 */	add r6, r30, r0
/* 802E32B0 002DEF10  80 0C 00 08 */	lwz r0, 8(r12)
/* 802E32B4 002DEF14  90 04 FF FC */	stw r0, -4(r4)
/* 802E32B8 002DEF18  80 6A 00 00 */	lwz r3, 0(r10)
/* 802E32BC 002DEF1C  80 0A 00 04 */	lwz r0, 4(r10)
/* 802E32C0 002DEF20  90 64 FF E8 */	stw r3, -0x18(r4)
/* 802E32C4 002DEF24  90 04 FF EC */	stw r0, -0x14(r4)
/* 802E32C8 002DEF28  80 0A 00 08 */	lwz r0, 8(r10)
/* 802E32CC 002DEF2C  90 04 FF F0 */	stw r0, -0x10(r4)
/* 802E32D0 002DEF30  80 69 00 00 */	lwz r3, 0(r9)
/* 802E32D4 002DEF34  80 09 00 04 */	lwz r0, 4(r9)
/* 802E32D8 002DEF38  90 64 FF DC */	stw r3, -0x24(r4)
/* 802E32DC 002DEF3C  90 04 FF E0 */	stw r0, -0x20(r4)
/* 802E32E0 002DEF40  80 09 00 08 */	lwz r0, 8(r9)
/* 802E32E4 002DEF44  90 04 FF E4 */	stw r0, -0x1c(r4)
/* 802E32E8 002DEF48  80 68 00 00 */	lwz r3, 0(r8)
/* 802E32EC 002DEF4C  80 08 00 04 */	lwz r0, 4(r8)
/* 802E32F0 002DEF50  90 64 FF D0 */	stw r3, -0x30(r4)
/* 802E32F4 002DEF54  90 04 FF D4 */	stw r0, -0x2c(r4)
/* 802E32F8 002DEF58  80 08 00 08 */	lwz r0, 8(r8)
/* 802E32FC 002DEF5C  90 04 FF D8 */	stw r0, -0x28(r4)
/* 802E3300 002DEF60  80 67 00 00 */	lwz r3, 0(r7)
/* 802E3304 002DEF64  80 07 00 04 */	lwz r0, 4(r7)
/* 802E3308 002DEF68  90 64 FF C4 */	stw r3, -0x3c(r4)
/* 802E330C 002DEF6C  90 04 FF C8 */	stw r0, -0x38(r4)
/* 802E3310 002DEF70  80 07 00 08 */	lwz r0, 8(r7)
/* 802E3314 002DEF74  90 04 FF CC */	stw r0, -0x34(r4)
/* 802E3318 002DEF78  80 66 00 00 */	lwz r3, 0(r6)
/* 802E331C 002DEF7C  80 06 00 04 */	lwz r0, 4(r6)
/* 802E3320 002DEF80  90 64 FF B8 */	stw r3, -0x48(r4)
/* 802E3324 002DEF84  90 04 FF BC */	stw r0, -0x44(r4)
/* 802E3328 002DEF88  80 06 00 08 */	lwz r0, 8(r6)
/* 802E332C 002DEF8C  90 04 FF C0 */	stw r0, -0x40(r4)
/* 802E3330 002DEF90  42 00 FE C0 */	bdnz lbl_802E31F0
lbl_802E3334:
/* 802E3334 002DEF94  57 E3 04 3E */	clrlwi r3, r31, 0x10
/* 802E3338 002DEF98  54 A4 04 3E */	clrlwi r4, r5, 0x10
/* 802E333C 002DEF9C  7C 03 20 50 */	subf r0, r3, r4
/* 802E3340 002DEFA0  7C 09 03 A6 */	mtctr r0
/* 802E3344 002DEFA4  7C 04 18 40 */	cmplw r4, r3
/* 802E3348 002DEFA8  40 81 00 30 */	ble lbl_802E3378
lbl_802E334C:
/* 802E334C 002DEFAC  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 802E3350 002DEFB0  38 A5 FF FF */	addi r5, r5, -1
/* 802E3354 002DEFB4  1C 00 00 0C */	mulli r0, r0, 0xc
/* 802E3358 002DEFB8  7C 9E 02 14 */	add r4, r30, r0
/* 802E335C 002DEFBC  7C 7E 00 2E */	lwzx r3, r30, r0
/* 802E3360 002DEFC0  80 04 00 04 */	lwz r0, 4(r4)
/* 802E3364 002DEFC4  90 64 00 0C */	stw r3, 0xc(r4)
/* 802E3368 002DEFC8  90 04 00 10 */	stw r0, 0x10(r4)
/* 802E336C 002DEFCC  80 04 00 08 */	lwz r0, 8(r4)
/* 802E3370 002DEFD0  90 04 00 14 */	stw r0, 0x14(r4)
/* 802E3374 002DEFD4  42 00 FF D8 */	bdnz lbl_802E334C
lbl_802E3378:
/* 802E3378 002DEFD8  A0 7E 00 08 */	lhz r3, 8(r30)
/* 802E337C 002DEFDC  38 03 00 01 */	addi r0, r3, 1
/* 802E3380 002DEFE0  B0 1E 00 08 */	sth r0, 8(r30)
/* 802E3384 002DEFE4  B3 3D 00 08 */	sth r25, 8(r29)
/* 802E3388 002DEFE8  93 7D 00 00 */	stw r27, 0(r29)
/* 802E338C 002DEFEC  9B 5D 00 0A */	stb r26, 0xa(r29)
/* 802E3390 002DEFF0  80 DE 00 04 */	lwz r6, 4(r30)
/* 802E3394 002DEFF4  7C 06 DA 14 */	add r0, r6, r27
/* 802E3398 002DEFF8  28 00 01 5E */	cmplwi r0, 0x15e
/* 802E339C 002DEFFC  41 80 00 50 */	blt lbl_802E33EC
/* 802E33A0 002DF000  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E33A4 002DF004  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E33A8 002DF008  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E33AC 002DF00C  28 00 00 02 */	cmplwi r0, 2
/* 802E33B0 002DF010  41 80 00 20 */	blt lbl_802E33D0
/* 802E33B4 002DF014  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E33B8 002DF018  3C 80 80 44 */	lis r4, lbl_80444FB0@ha
/* 802E33BC 002DF01C  7F 65 DB 78 */	mr r5, r27
/* 802E33C0 002DF020  20 C6 01 5E */	subfic r6, r6, 0x15e
/* 802E33C4 002DF024  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E33C8 002DF028  38 84 4F B0 */	addi r4, r4, lbl_80444FB0@l
/* 802E33CC 002DF02C  4B FD 9B 75 */	bl LogMsg_2
lbl_802E33D0:
/* 802E33D0 002DF030  80 1E 00 04 */	lwz r0, 4(r30)
/* 802E33D4 002DF034  38 60 00 00 */	li r3, 0
/* 802E33D8 002DF038  23 60 01 5E */	subfic r27, r0, 0x15e
/* 802E33DC 002DF03C  7C 7C D9 AE */	stbx r3, r28, r27
/* 802E33E0 002DF040  80 1E 00 04 */	lwz r0, 4(r30)
/* 802E33E4 002DF044  20 00 01 5F */	subfic r0, r0, 0x15f
/* 802E33E8 002DF048  7C 7C 01 AE */	stbx r3, r28, r0
lbl_802E33EC:
/* 802E33EC 002DF04C  2C 1B 00 00 */	cmpwi r27, 0
/* 802E33F0 002DF050  41 82 00 40 */	beq lbl_802E3430
/* 802E33F4 002DF054  2C 1C 00 00 */	cmpwi r28, 0
/* 802E33F8 002DF058  41 82 00 38 */	beq lbl_802E3430
/* 802E33FC 002DF05C  80 1E 00 04 */	lwz r0, 4(r30)
/* 802E3400 002DF060  7F 84 E3 78 */	mr r4, r28
/* 802E3404 002DF064  7F 65 DB 78 */	mr r5, r27
/* 802E3408 002DF068  7C 7E 02 14 */	add r3, r30, r0
/* 802E340C 002DF06C  38 63 01 38 */	addi r3, r3, 0x138
/* 802E3410 002DF070  4B D2 0B F1 */	bl memcpy
/* 802E3414 002DF074  80 1E 00 04 */	lwz r0, 4(r30)
/* 802E3418 002DF078  7C 7E 02 14 */	add r3, r30, r0
/* 802E341C 002DF07C  38 03 01 38 */	addi r0, r3, 0x138
/* 802E3420 002DF080  90 1D 00 04 */	stw r0, 4(r29)
/* 802E3424 002DF084  80 1E 00 04 */	lwz r0, 4(r30)
/* 802E3428 002DF088  7C 00 DA 14 */	add r0, r0, r27
/* 802E342C 002DF08C  90 1E 00 04 */	stw r0, 4(r30)
lbl_802E3430:
/* 802E3430 002DF090  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E3434 002DF094  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E3438 002DF098  80 03 12 1C */	lwz r0, 0x121c(r3)
/* 802E343C 002DF09C  7C 18 00 40 */	cmplw r24, r0
/* 802E3440 002DF0A0  40 82 00 14 */	bne lbl_802E3454
/* 802E3444 002DF0A4  28 19 80 01 */	cmplwi r25, 0x8001
/* 802E3448 002DF0A8  40 82 00 0C */	bne lbl_802E3454
/* 802E344C 002DF0AC  38 00 00 01 */	li r0, 1
/* 802E3450 002DF0B0  98 03 12 20 */	stb r0, 0x1220(r3)
lbl_802E3454:
/* 802E3454 002DF0B4  38 60 00 01 */	li r3, 1
/* 802E3458 002DF0B8  48 00 00 1C */	b lbl_802E3474
lbl_802E345C:
/* 802E345C 002DF0BC  38 A5 00 01 */	addi r5, r5, 1
/* 802E3460 002DF0C0  3B DE 02 98 */	addi r30, r30, 0x298
lbl_802E3464:
/* 802E3464 002DF0C4  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 802E3468 002DF0C8  7C 00 48 40 */	cmplw r0, r9
/* 802E346C 002DF0CC  41 80 FC C8 */	blt lbl_802E3134
/* 802E3470 002DF0D0  38 60 00 00 */	li r3, 0
lbl_802E3474:
/* 802E3474 002DF0D4  39 61 00 30 */	addi r11, r1, 0x30
/* 802E3478 002DF0D8  4B EE 3C ED */	bl _restgpr_23
/* 802E347C 002DF0DC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E3480 002DF0E0  7C 08 03 A6 */	mtlr r0
/* 802E3484 002DF0E4  38 21 00 30 */	addi r1, r1, 0x30
/* 802E3488 002DF0E8  4E 80 00 20 */	blr

.global SDP_AddUuidSequence
SDP_AddUuidSequence:
/* 802E348C 002DF0EC  94 21 FF 40 */	stwu r1, -0xc0(r1)
/* 802E3490 002DF0F0  7C 08 02 A6 */	mflr r0
/* 802E3494 002DF0F4  38 E0 00 00 */	li r7, 0
/* 802E3498 002DF0F8  90 01 00 C4 */	stw r0, 0xc4(r1)
/* 802E349C 002DF0FC  93 E1 00 BC */	stw r31, 0xbc(r1)
/* 802E34A0 002DF100  3B E1 00 08 */	addi r31, r1, 8
/* 802E34A4 002DF104  93 C1 00 B8 */	stw r30, 0xb8(r1)
/* 802E34A8 002DF108  7C 9E 23 78 */	mr r30, r4
/* 802E34AC 002DF10C  38 80 00 19 */	li r4, 0x19
/* 802E34B0 002DF110  93 A1 00 B4 */	stw r29, 0xb4(r1)
/* 802E34B4 002DF114  7C 7D 1B 78 */	mr r29, r3
/* 802E34B8 002DF118  7F E3 FB 78 */	mr r3, r31
/* 802E34BC 002DF11C  7C A9 03 A6 */	mtctr r5
/* 802E34C0 002DF120  28 05 00 00 */	cmplwi r5, 0
/* 802E34C4 002DF124  40 81 00 6C */	ble lbl_802E3530
lbl_802E34C8:
/* 802E34C8 002DF128  98 9F 00 00 */	stb r4, 0(r31)
/* 802E34CC 002DF12C  A0 06 00 00 */	lhz r0, 0(r6)
/* 802E34D0 002DF130  7C 00 46 70 */	srawi r0, r0, 8
/* 802E34D4 002DF134  98 1F 00 01 */	stb r0, 1(r31)
/* 802E34D8 002DF138  A0 06 00 00 */	lhz r0, 0(r6)
/* 802E34DC 002DF13C  98 1F 00 02 */	stb r0, 2(r31)
/* 802E34E0 002DF140  3B FF 00 03 */	addi r31, r31, 3
/* 802E34E4 002DF144  7C 03 F8 50 */	subf r0, r3, r31
/* 802E34E8 002DF148  2C 00 00 4D */	cmpwi r0, 0x4d
/* 802E34EC 002DF14C  40 81 00 38 */	ble lbl_802E3524
/* 802E34F0 002DF150  3C 60 80 57 */	lis r3, lbl_8056C840@ha
/* 802E34F4 002DF154  38 63 C8 40 */	addi r3, r3, lbl_8056C840@l
/* 802E34F8 002DF158  88 03 46 30 */	lbz r0, 0x4630(r3)
/* 802E34FC 002DF15C  28 00 00 02 */	cmplwi r0, 2
/* 802E3500 002DF160  41 80 00 30 */	blt lbl_802E3530
/* 802E3504 002DF164  3C 60 00 0A */	lis r3, 0x000A0001@ha
/* 802E3508 002DF168  3C 80 80 44 */	lis r4, lbl_80444FEC@ha
/* 802E350C 002DF16C  7C A6 2B 78 */	mr r6, r5
/* 802E3510 002DF170  54 E5 04 3E */	clrlwi r5, r7, 0x10
/* 802E3514 002DF174  38 63 00 01 */	addi r3, r3, 0x000A0001@l
/* 802E3518 002DF178  38 84 4F EC */	addi r4, r4, lbl_80444FEC@l
/* 802E351C 002DF17C  4B FD 9A 25 */	bl LogMsg_2
/* 802E3520 002DF180  48 00 00 10 */	b lbl_802E3530
lbl_802E3524:
/* 802E3524 002DF184  38 E7 00 01 */	addi r7, r7, 1
/* 802E3528 002DF188  38 C6 00 02 */	addi r6, r6, 2
/* 802E352C 002DF18C  42 00 FF 9C */	bdnz lbl_802E34C8
lbl_802E3530:
/* 802E3530 002DF190  38 E1 00 08 */	addi r7, r1, 8
/* 802E3534 002DF194  7F A3 EB 78 */	mr r3, r29
/* 802E3538 002DF198  7F C4 F3 78 */	mr r4, r30
/* 802E353C 002DF19C  38 A0 00 06 */	li r5, 6
/* 802E3540 002DF1A0  7C C7 F8 50 */	subf r6, r7, r31
/* 802E3544 002DF1A4  4B FF FB B1 */	bl SDP_AddAttribute
/* 802E3548 002DF1A8  80 01 00 C4 */	lwz r0, 0xc4(r1)
/* 802E354C 002DF1AC  83 E1 00 BC */	lwz r31, 0xbc(r1)
/* 802E3550 002DF1B0  83 C1 00 B8 */	lwz r30, 0xb8(r1)
/* 802E3554 002DF1B4  83 A1 00 B4 */	lwz r29, 0xb4(r1)
/* 802E3558 002DF1B8  7C 08 03 A6 */	mtlr r0
/* 802E355C 002DF1BC  38 21 00 C0 */	addi r1, r1, 0xc0
/* 802E3560 002DF1C0  4E 80 00 20 */	blr

.global SDP_AddServiceClassIdList
SDP_AddServiceClassIdList:
/* 802E3564 002DF1C4  94 21 FF 50 */	stwu r1, -0xb0(r1)
/* 802E3568 002DF1C8  7C 08 02 A6 */	mflr r0
/* 802E356C 002DF1CC  2C 04 00 00 */	cmpwi r4, 0
/* 802E3570 002DF1D0  38 C0 00 00 */	li r6, 0
/* 802E3574 002DF1D4  90 01 00 B4 */	stw r0, 0xb4(r1)
/* 802E3578 002DF1D8  39 01 00 08 */	addi r8, r1, 8
/* 802E357C 002DF1DC  41 82 01 40 */	beq lbl_802E36BC
/* 802E3580 002DF1E0  28 04 00 08 */	cmplwi r4, 8
/* 802E3584 002DF1E4  3C E4 00 01 */	addis r7, r4, 1
/* 802E3588 002DF1E8  38 E7 FF F8 */	addi r7, r7, -8
/* 802E358C 002DF1EC  40 81 00 F0 */	ble lbl_802E367C
/* 802E3590 002DF1F0  54 E9 04 3E */	clrlwi r9, r7, 0x10
/* 802E3594 002DF1F4  38 00 00 19 */	li r0, 0x19
/* 802E3598 002DF1F8  38 E9 00 07 */	addi r7, r9, 7
/* 802E359C 002DF1FC  54 E7 E8 FE */	srwi r7, r7, 3
/* 802E35A0 002DF200  7C E9 03 A6 */	mtctr r7
/* 802E35A4 002DF204  28 09 00 00 */	cmplwi r9, 0
/* 802E35A8 002DF208  40 81 00 D4 */	ble lbl_802E367C
lbl_802E35AC:
/* 802E35AC 002DF20C  98 08 00 00 */	stb r0, 0(r8)
/* 802E35B0 002DF210  38 C6 00 08 */	addi r6, r6, 8
/* 802E35B4 002DF214  A0 E5 00 00 */	lhz r7, 0(r5)
/* 802E35B8 002DF218  7C E7 46 70 */	srawi r7, r7, 8
/* 802E35BC 002DF21C  98 E8 00 01 */	stb r7, 1(r8)
/* 802E35C0 002DF220  A0 E5 00 00 */	lhz r7, 0(r5)
/* 802E35C4 002DF224  98 E8 00 02 */	stb r7, 2(r8)
/* 802E35C8 002DF228  98 08 00 03 */	stb r0, 3(r8)
/* 802E35CC 002DF22C  A0 E5 00 02 */	lhz r7, 2(r5)
/* 802E35D0 002DF230  7C E7 46 70 */	srawi r7, r7, 8
/* 802E35D4 002DF234  98 E8 00 04 */	stb r7, 4(r8)
/* 802E35D8 002DF238  A0 E5 00 02 */	lhz r7, 2(r5)
/* 802E35DC 002DF23C  98 E8 00 05 */	stb r7, 5(r8)
/* 802E35E0 002DF240  98 08 00 06 */	stb r0, 6(r8)
/* 802E35E4 002DF244  A0 E5 00 04 */	lhz r7, 4(r5)
/* 802E35E8 002DF248  7C E7 46 70 */	srawi r7, r7, 8
/* 802E35EC 002DF24C  98 E8 00 07 */	stb r7, 7(r8)
/* 802E35F0 002DF250  A0 E5 00 04 */	lhz r7, 4(r5)
/* 802E35F4 002DF254  98 E8 00 08 */	stb r7, 8(r8)
/* 802E35F8 002DF258  98 08 00 09 */	stb r0, 9(r8)
/* 802E35FC 002DF25C  A0 E5 00 06 */	lhz r7, 6(r5)
/* 802E3600 002DF260  7C E7 46 70 */	srawi r7, r7, 8
/* 802E3604 002DF264  98 E8 00 0A */	stb r7, 0xa(r8)
/* 802E3608 002DF268  A0 E5 00 06 */	lhz r7, 6(r5)
/* 802E360C 002DF26C  98 E8 00 0B */	stb r7, 0xb(r8)
/* 802E3610 002DF270  98 08 00 0C */	stb r0, 0xc(r8)
/* 802E3614 002DF274  A0 E5 00 08 */	lhz r7, 8(r5)
/* 802E3618 002DF278  7C E7 46 70 */	srawi r7, r7, 8
/* 802E361C 002DF27C  98 E8 00 0D */	stb r7, 0xd(r8)
/* 802E3620 002DF280  A0 E5 00 08 */	lhz r7, 8(r5)
/* 802E3624 002DF284  98 E8 00 0E */	stb r7, 0xe(r8)
/* 802E3628 002DF288  98 08 00 0F */	stb r0, 0xf(r8)
/* 802E362C 002DF28C  A0 E5 00 0A */	lhz r7, 0xa(r5)
/* 802E3630 002DF290  7C E7 46 70 */	srawi r7, r7, 8
/* 802E3634 002DF294  98 E8 00 10 */	stb r7, 0x10(r8)
/* 802E3638 002DF298  A0 E5 00 0A */	lhz r7, 0xa(r5)
/* 802E363C 002DF29C  98 E8 00 11 */	stb r7, 0x11(r8)
/* 802E3640 002DF2A0  98 08 00 12 */	stb r0, 0x12(r8)
/* 802E3644 002DF2A4  A0 E5 00 0C */	lhz r7, 0xc(r5)
/* 802E3648 002DF2A8  7C E7 46 70 */	srawi r7, r7, 8
/* 802E364C 002DF2AC  98 E8 00 13 */	stb r7, 0x13(r8)
/* 802E3650 002DF2B0  A0 E5 00 0C */	lhz r7, 0xc(r5)
/* 802E3654 002DF2B4  98 E8 00 14 */	stb r7, 0x14(r8)
/* 802E3658 002DF2B8  98 08 00 15 */	stb r0, 0x15(r8)
/* 802E365C 002DF2BC  A0 E5 00 0E */	lhz r7, 0xe(r5)
/* 802E3660 002DF2C0  7C E7 46 70 */	srawi r7, r7, 8
/* 802E3664 002DF2C4  98 E8 00 16 */	stb r7, 0x16(r8)
/* 802E3668 002DF2C8  A0 E5 00 0E */	lhz r7, 0xe(r5)
/* 802E366C 002DF2CC  38 A5 00 10 */	addi r5, r5, 0x10
/* 802E3670 002DF2D0  98 E8 00 17 */	stb r7, 0x17(r8)
/* 802E3674 002DF2D4  39 08 00 18 */	addi r8, r8, 0x18
/* 802E3678 002DF2D8  42 00 FF 34 */	bdnz lbl_802E35AC
lbl_802E367C:
/* 802E367C 002DF2DC  54 C7 04 3E */	clrlwi r7, r6, 0x10
/* 802E3680 002DF2E0  39 20 00 19 */	li r9, 0x19
/* 802E3684 002DF2E4  7C 07 20 50 */	subf r0, r7, r4
/* 802E3688 002DF2E8  7C 09 03 A6 */	mtctr r0
/* 802E368C 002DF2EC  7C 07 20 40 */	cmplw r7, r4
/* 802E3690 002DF2F0  40 80 00 2C */	bge lbl_802E36BC
lbl_802E3694:
/* 802E3694 002DF2F4  99 28 00 00 */	stb r9, 0(r8)
/* 802E3698 002DF2F8  38 C6 00 01 */	addi r6, r6, 1
/* 802E369C 002DF2FC  A0 05 00 00 */	lhz r0, 0(r5)
/* 802E36A0 002DF300  7C 00 46 70 */	srawi r0, r0, 8
/* 802E36A4 002DF304  98 08 00 01 */	stb r0, 1(r8)
/* 802E36A8 002DF308  A0 05 00 00 */	lhz r0, 0(r5)
/* 802E36AC 002DF30C  38 A5 00 02 */	addi r5, r5, 2
/* 802E36B0 002DF310  98 08 00 02 */	stb r0, 2(r8)
/* 802E36B4 002DF314  39 08 00 03 */	addi r8, r8, 3
/* 802E36B8 002DF318  42 00 FF DC */	bdnz lbl_802E3694
lbl_802E36BC:
/* 802E36BC 002DF31C  38 E1 00 08 */	addi r7, r1, 8
/* 802E36C0 002DF320  38 80 00 01 */	li r4, 1
/* 802E36C4 002DF324  7C C7 40 50 */	subf r6, r7, r8
/* 802E36C8 002DF328  38 A0 00 06 */	li r5, 6
/* 802E36CC 002DF32C  4B FF FA 29 */	bl SDP_AddAttribute
/* 802E36D0 002DF330  80 01 00 B4 */	lwz r0, 0xb4(r1)
/* 802E36D4 002DF334  7C 08 03 A6 */	mtlr r0
/* 802E36D8 002DF338  38 21 00 B0 */	addi r1, r1, 0xb0
/* 802E36DC 002DF33C  4E 80 00 20 */	blr

.global SDP_DeleteAttribute
SDP_DeleteAttribute:
/* 802E36E0 002DF340  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802E36E4 002DF344  7C 08 02 A6 */	mflr r0
/* 802E36E8 002DF348  90 01 00 34 */	stw r0, 0x34(r1)
/* 802E36EC 002DF34C  39 61 00 30 */	addi r11, r1, 0x30
/* 802E36F0 002DF350  4B EE 3A 31 */	bl _savegpr_25
/* 802E36F4 002DF354  3F 60 80 57 */	lis r27, lbl_8056C840@ha
/* 802E36F8 002DF358  7C 79 1B 78 */	mr r25, r3
/* 802E36FC 002DF35C  3B 7B C8 40 */	addi r27, r27, lbl_8056C840@l
/* 802E3700 002DF360  7C 9A 23 78 */	mr r26, r4
/* 802E3704 002DF364  3B FB 12 24 */	addi r31, r27, 0x1224
/* 802E3708 002DF368  38 60 00 00 */	li r3, 0
/* 802E370C 002DF36C  3F 80 00 0A */	lis r28, 0xa
/* 802E3710 002DF370  3F A0 80 44 */	lis r29, 0x8044
/* 802E3714 002DF374  48 00 01 DC */	b lbl_802E38F0
lbl_802E3718:
/* 802E3718 002DF378  80 1F 00 00 */	lwz r0, 0(r31)
/* 802E371C 002DF37C  7C 00 C8 40 */	cmplw r0, r25
/* 802E3720 002DF380  40 82 01 C8 */	bne lbl_802E38E8
/* 802E3724 002DF384  88 1B 46 30 */	lbz r0, 0x4630(r27)
/* 802E3728 002DF388  3B DF 00 0C */	addi r30, r31, 0xc
/* 802E372C 002DF38C  28 00 00 03 */	cmplwi r0, 3
/* 802E3730 002DF390  41 80 00 18 */	blt lbl_802E3748
/* 802E3734 002DF394  7F 45 D3 78 */	mr r5, r26
/* 802E3738 002DF398  7F 26 CB 78 */	mr r6, r25
/* 802E373C 002DF39C  38 7C 00 02 */	addi r3, r28, 2
/* 802E3740 002DF3A0  38 9D 50 20 */	addi r4, r29, 0x5020
/* 802E3744 002DF3A4  4B FD 97 FD */	bl LogMsg_2
lbl_802E3748:
/* 802E3748 002DF3A8  A0 9F 00 08 */	lhz r4, 8(r31)
/* 802E374C 002DF3AC  38 60 00 00 */	li r3, 0
/* 802E3750 002DF3B0  48 00 01 8C */	b lbl_802E38DC
lbl_802E3754:
/* 802E3754 002DF3B4  A0 1E 00 08 */	lhz r0, 8(r30)
/* 802E3758 002DF3B8  7C 00 D0 40 */	cmplw r0, r26
/* 802E375C 002DF3BC  40 82 01 78 */	bne lbl_802E38D4
/* 802E3760 002DF3C0  80 1E 00 00 */	lwz r0, 0(r30)
/* 802E3764 002DF3C4  80 9E 00 04 */	lwz r4, 4(r30)
/* 802E3768 002DF3C8  2C 00 00 00 */	cmpwi r0, 0
/* 802E376C 002DF3CC  41 82 00 40 */	beq lbl_802E37AC
/* 802E3770 002DF3D0  38 E0 00 00 */	li r7, 0
/* 802E3774 002DF3D4  48 00 00 28 */	b lbl_802E379C
lbl_802E3778:
/* 802E3778 002DF3D8  54 E5 04 3E */	clrlwi r5, r7, 0x10
/* 802E377C 002DF3DC  1C A5 00 0C */	mulli r5, r5, 0xc
/* 802E3780 002DF3E0  7C DF 2A 14 */	add r6, r31, r5
/* 802E3784 002DF3E4  80 A6 00 10 */	lwz r5, 0x10(r6)
/* 802E3788 002DF3E8  7C 05 20 40 */	cmplw r5, r4
/* 802E378C 002DF3EC  40 81 00 0C */	ble lbl_802E3798
/* 802E3790 002DF3F0  7C A0 28 50 */	subf r5, r0, r5
/* 802E3794 002DF3F4  90 A6 00 10 */	stw r5, 0x10(r6)
lbl_802E3798:
/* 802E3798 002DF3F8  38 E7 00 01 */	addi r7, r7, 1
lbl_802E379C:
/* 802E379C 002DF3FC  A0 BF 00 08 */	lhz r5, 8(r31)
/* 802E37A0 002DF400  54 E6 04 3E */	clrlwi r6, r7, 0x10
/* 802E37A4 002DF404  7C 06 28 40 */	cmplw r6, r5
/* 802E37A8 002DF408  41 80 FF D0 */	blt lbl_802E3778
lbl_802E37AC:
/* 802E37AC 002DF40C  A0 BF 00 08 */	lhz r5, 8(r31)
/* 802E37B0 002DF410  38 A5 FF FF */	addi r5, r5, -1
/* 802E37B4 002DF414  B0 BF 00 08 */	sth r5, 8(r31)
/* 802E37B8 002DF418  48 00 00 24 */	b lbl_802E37DC
lbl_802E37BC:
/* 802E37BC 002DF41C  80 DE 00 0C */	lwz r6, 0xc(r30)
/* 802E37C0 002DF420  38 63 00 01 */	addi r3, r3, 1
/* 802E37C4 002DF424  80 BE 00 10 */	lwz r5, 0x10(r30)
/* 802E37C8 002DF428  90 DE 00 00 */	stw r6, 0(r30)
/* 802E37CC 002DF42C  90 BE 00 04 */	stw r5, 4(r30)
/* 802E37D0 002DF430  80 BE 00 14 */	lwz r5, 0x14(r30)
/* 802E37D4 002DF434  90 BE 00 08 */	stw r5, 8(r30)
/* 802E37D8 002DF438  3B DE 00 0C */	addi r30, r30, 0xc
lbl_802E37DC:
/* 802E37DC 002DF43C  A0 BF 00 08 */	lhz r5, 8(r31)
/* 802E37E0 002DF440  54 66 04 3E */	clrlwi r6, r3, 0x10
/* 802E37E4 002DF444  7C 06 28 40 */	cmplw r6, r5
/* 802E37E8 002DF448  41 80 FF D4 */	blt lbl_802E37BC
/* 802E37EC 002DF44C  2C 00 00 00 */	cmpwi r0, 0
/* 802E37F0 002DF450  41 82 00 DC */	beq lbl_802E38CC
/* 802E37F4 002DF454  38 BF 01 38 */	addi r5, r31, 0x138
/* 802E37F8 002DF458  7C C4 02 14 */	add r6, r4, r0
/* 802E37FC 002DF45C  80 7F 00 04 */	lwz r3, 4(r31)
/* 802E3800 002DF460  7C A5 30 50 */	subf r5, r5, r6
/* 802E3804 002DF464  38 E0 00 00 */	li r7, 0
/* 802E3808 002DF468  7C 65 18 50 */	subf r3, r5, r3
/* 802E380C 002DF46C  54 68 04 3F */	clrlwi. r8, r3, 0x10
/* 802E3810 002DF470  41 82 00 B0 */	beq lbl_802E38C0
/* 802E3814 002DF474  28 08 00 08 */	cmplwi r8, 8
/* 802E3818 002DF478  3C 68 00 01 */	addis r3, r8, 1
/* 802E381C 002DF47C  38 63 FF F8 */	addi r3, r3, -8
/* 802E3820 002DF480  40 81 00 70 */	ble lbl_802E3890
/* 802E3824 002DF484  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 802E3828 002DF488  38 65 00 07 */	addi r3, r5, 7
/* 802E382C 002DF48C  54 63 E8 FE */	srwi r3, r3, 3
/* 802E3830 002DF490  7C 69 03 A6 */	mtctr r3
/* 802E3834 002DF494  28 05 00 00 */	cmplwi r5, 0
/* 802E3838 002DF498  40 81 00 58 */	ble lbl_802E3890
lbl_802E383C:
/* 802E383C 002DF49C  88 66 00 00 */	lbz r3, 0(r6)
/* 802E3840 002DF4A0  7C A4 02 14 */	add r5, r4, r0
/* 802E3844 002DF4A4  38 E7 00 08 */	addi r7, r7, 8
/* 802E3848 002DF4A8  38 C6 00 08 */	addi r6, r6, 8
/* 802E384C 002DF4AC  98 64 00 00 */	stb r3, 0(r4)
/* 802E3850 002DF4B0  88 65 00 01 */	lbz r3, 1(r5)
/* 802E3854 002DF4B4  98 64 00 01 */	stb r3, 1(r4)
/* 802E3858 002DF4B8  88 65 00 02 */	lbz r3, 2(r5)
/* 802E385C 002DF4BC  98 64 00 02 */	stb r3, 2(r4)
/* 802E3860 002DF4C0  88 65 00 03 */	lbz r3, 3(r5)
/* 802E3864 002DF4C4  98 64 00 03 */	stb r3, 3(r4)
/* 802E3868 002DF4C8  88 65 00 04 */	lbz r3, 4(r5)
/* 802E386C 002DF4CC  98 64 00 04 */	stb r3, 4(r4)
/* 802E3870 002DF4D0  88 65 00 05 */	lbz r3, 5(r5)
/* 802E3874 002DF4D4  98 64 00 05 */	stb r3, 5(r4)
/* 802E3878 002DF4D8  88 65 00 06 */	lbz r3, 6(r5)
/* 802E387C 002DF4DC  98 64 00 06 */	stb r3, 6(r4)
/* 802E3880 002DF4E0  88 65 00 07 */	lbz r3, 7(r5)
/* 802E3884 002DF4E4  98 64 00 07 */	stb r3, 7(r4)
/* 802E3888 002DF4E8  38 84 00 08 */	addi r4, r4, 8
/* 802E388C 002DF4EC  42 00 FF B0 */	bdnz lbl_802E383C
lbl_802E3890:
/* 802E3890 002DF4F0  54 E6 04 3E */	clrlwi r6, r7, 0x10
/* 802E3894 002DF4F4  7C A0 22 14 */	add r5, r0, r4
/* 802E3898 002DF4F8  7C 66 40 50 */	subf r3, r6, r8
/* 802E389C 002DF4FC  7C 69 03 A6 */	mtctr r3
/* 802E38A0 002DF500  7C 06 40 40 */	cmplw r6, r8
/* 802E38A4 002DF504  40 80 00 1C */	bge lbl_802E38C0
lbl_802E38A8:
/* 802E38A8 002DF508  88 65 00 00 */	lbz r3, 0(r5)
/* 802E38AC 002DF50C  38 E7 00 01 */	addi r7, r7, 1
/* 802E38B0 002DF510  38 A5 00 01 */	addi r5, r5, 1
/* 802E38B4 002DF514  98 64 00 00 */	stb r3, 0(r4)
/* 802E38B8 002DF518  38 84 00 01 */	addi r4, r4, 1
/* 802E38BC 002DF51C  42 00 FF EC */	bdnz lbl_802E38A8
lbl_802E38C0:
/* 802E38C0 002DF520  80 7F 00 04 */	lwz r3, 4(r31)
/* 802E38C4 002DF524  7C 00 18 50 */	subf r0, r0, r3
/* 802E38C8 002DF528  90 1F 00 04 */	stw r0, 4(r31)
lbl_802E38CC:
/* 802E38CC 002DF52C  38 60 00 01 */	li r3, 1
/* 802E38D0 002DF530  48 00 00 34 */	b lbl_802E3904
lbl_802E38D4:
/* 802E38D4 002DF534  38 63 00 01 */	addi r3, r3, 1
/* 802E38D8 002DF538  3B DE 00 0C */	addi r30, r30, 0xc
lbl_802E38DC:
/* 802E38DC 002DF53C  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 802E38E0 002DF540  7C 00 20 40 */	cmplw r0, r4
/* 802E38E4 002DF544  41 80 FE 70 */	blt lbl_802E3754
lbl_802E38E8:
/* 802E38E8 002DF548  38 63 00 01 */	addi r3, r3, 1
/* 802E38EC 002DF54C  3B FF 02 98 */	addi r31, r31, 0x298
lbl_802E38F0:
/* 802E38F0 002DF550  A0 1B 12 22 */	lhz r0, 0x1222(r27)
/* 802E38F4 002DF554  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 802E38F8 002DF558  7C 04 00 40 */	cmplw r4, r0
/* 802E38FC 002DF55C  41 80 FE 1C */	blt lbl_802E3718
/* 802E3900 002DF560  38 60 00 00 */	li r3, 0
lbl_802E3904:
/* 802E3904 002DF564  39 61 00 30 */	addi r11, r1, 0x30
/* 802E3908 002DF568  4B EE 38 65 */	bl _restgpr_25
/* 802E390C 002DF56C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802E3910 002DF570  7C 08 03 A6 */	mtlr r0
/* 802E3914 002DF574  38 21 00 30 */	addi r1, r1, 0x30
/* 802E3918 002DF578  4E 80 00 20 */	blr