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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global sdp_server_handle_client_req
sdp_server_handle_client_req:
/* 802E5700 002E1360 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E5704 002E1364 7C 08 02 A6 */ mflr r0
/* 802E5708 002E1368 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E570C 002E136C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E5710 002E1370 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E5714 002E1374 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E5718 002E1378 93 81 00 10 */ stw r28, 0x10(r1)
/* 802E571C 002E137C 7C 7C 1B 78 */ mr r28, r3
/* 802E5720 002E1380 38 63 00 08 */ addi r3, r3, 8
/* 802E5724 002E1384 A0 A4 00 04 */ lhz r5, 4(r4)
/* 802E5728 002E1388 A0 04 00 02 */ lhz r0, 2(r4)
/* 802E572C 002E138C 7C A4 2A 14 */ add r5, r4, r5
/* 802E5730 002E1390 38 80 00 05 */ li r4, 5
/* 802E5734 002E1394 3B E5 00 08 */ addi r31, r5, 8
/* 802E5738 002E1398 38 A0 00 1E */ li r5, 0x1e
/* 802E573C 002E139C 7F DF 02 14 */ add r30, r31, r0
/* 802E5740 002E13A0 4B FD 7D 9D */ bl btu_start_timer
/* 802E5744 002E13A4 88 7F 00 03 */ lbz r3, 3(r31)
/* 802E5748 002E13A8 88 1F 00 04 */ lbz r0, 4(r31)
/* 802E574C 002E13AC 54 63 40 2E */ slwi r3, r3, 8
/* 802E5750 002E13B0 88 DF 00 01 */ lbz r6, 1(r31)
/* 802E5754 002E13B4 7C 03 02 14 */ add r0, r3, r0
/* 802E5758 002E13B8 8B BF 00 00 */ lbz r29, 0(r31)
/* 802E575C 002E13BC 88 9F 00 02 */ lbz r4, 2(r31)
/* 802E5760 002E13C0 54 05 04 3E */ clrlwi r5, r0, 0x10
/* 802E5764 002E13C4 3B FF 00 01 */ addi r31, r31, 1
/* 802E5768 002E13C8 54 C6 40 2E */ slwi r6, r6, 8
/* 802E576C 002E13CC 7C 7F 2A 14 */ add r3, r31, r5
/* 802E5770 002E13D0 38 03 00 04 */ addi r0, r3, 4
/* 802E5774 002E13D4 7C 66 22 14 */ add r3, r6, r4
/* 802E5778 002E13D8 7C 00 F0 40 */ cmplw r0, r30
/* 802E577C 002E13DC 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 802E5780 002E13E0 40 81 00 18 */ ble lbl_802E5798
/* 802E5784 002E13E4 7F 83 E3 78 */ mr r3, r28
/* 802E5788 002E13E8 38 A0 00 04 */ li r5, 4
/* 802E578C 002E13EC 38 C0 00 00 */ li r6, 0
/* 802E5790 002E13F0 48 00 10 E1 */ bl sdpu_build_n_send_error
/* 802E5794 002E13F4 48 00 00 A0 */ b lbl_802E5834
lbl_802E5798:
/* 802E5798 002E13F8 2C 1D 00 04 */ cmpwi r29, 4
/* 802E579C 002E13FC 41 82 00 34 */ beq lbl_802E57D0
/* 802E57A0 002E1400 40 80 00 10 */ bge lbl_802E57B0
/* 802E57A4 002E1404 2C 1D 00 02 */ cmpwi r29, 2
/* 802E57A8 002E1408 41 82 00 14 */ beq lbl_802E57BC
/* 802E57AC 002E140C 48 00 00 4C */ b lbl_802E57F8
lbl_802E57B0:
/* 802E57B0 002E1410 2C 1D 00 06 */ cmpwi r29, 6
/* 802E57B4 002E1414 41 82 00 30 */ beq lbl_802E57E4
/* 802E57B8 002E1418 48 00 00 40 */ b lbl_802E57F8
lbl_802E57BC:
/* 802E57BC 002E141C 7F 83 E3 78 */ mr r3, r28
/* 802E57C0 002E1420 7F C7 F3 78 */ mr r7, r30
/* 802E57C4 002E1424 38 DF 00 04 */ addi r6, r31, 4
/* 802E57C8 002E1428 48 00 00 8D */ bl process_service_search
/* 802E57CC 002E142C 48 00 00 68 */ b lbl_802E5834
lbl_802E57D0:
/* 802E57D0 002E1430 7F 83 E3 78 */ mr r3, r28
/* 802E57D4 002E1434 7F C7 F3 78 */ mr r7, r30
/* 802E57D8 002E1438 38 DF 00 04 */ addi r6, r31, 4
/* 802E57DC 002E143C 48 00 04 89 */ bl process_service_attr_req
/* 802E57E0 002E1440 48 00 00 54 */ b lbl_802E5834
lbl_802E57E4:
/* 802E57E4 002E1444 7F 83 E3 78 */ mr r3, r28
/* 802E57E8 002E1448 7F C7 F3 78 */ mr r7, r30
/* 802E57EC 002E144C 38 DF 00 04 */ addi r6, r31, 4
/* 802E57F0 002E1450 48 00 08 05 */ bl process_service_search_attr_req
/* 802E57F4 002E1454 48 00 00 40 */ b lbl_802E5834
lbl_802E57F8:
/* 802E57F8 002E1458 7F 83 E3 78 */ mr r3, r28
/* 802E57FC 002E145C 38 A0 00 03 */ li r5, 3
/* 802E5800 002E1460 38 C0 00 00 */ li r6, 0
/* 802E5804 002E1464 48 00 10 6D */ bl sdpu_build_n_send_error
/* 802E5808 002E1468 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E580C 002E146C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5810 002E1470 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E5814 002E1474 28 00 00 02 */ cmplwi r0, 2
/* 802E5818 002E1478 41 80 00 1C */ blt lbl_802E5834
/* 802E581C 002E147C 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E5820 002E1480 3C 80 80 44 */ lis r4, lbl_80445508@ha
/* 802E5824 002E1484 7F A5 EB 78 */ mr r5, r29
/* 802E5828 002E1488 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E582C 002E148C 38 84 55 08 */ addi r4, r4, lbl_80445508@l
/* 802E5830 002E1490 4B FD 76 F9 */ bl LogMsg_1
lbl_802E5834:
/* 802E5834 002E1494 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E5838 002E1498 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E583C 002E149C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E5840 002E14A0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E5844 002E14A4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802E5848 002E14A8 7C 08 03 A6 */ mtlr r0
/* 802E584C 002E14AC 38 21 00 20 */ addi r1, r1, 0x20
/* 802E5850 002E14B0 4E 80 00 20 */ blr
.global process_service_search
process_service_search:
/* 802E5854 002E14B4 94 21 FE 30 */ stwu r1, -0x1d0(r1)
/* 802E5858 002E14B8 7C 08 02 A6 */ mflr r0
/* 802E585C 002E14BC 90 01 01 D4 */ stw r0, 0x1d4(r1)
/* 802E5860 002E14C0 39 61 01 D0 */ addi r11, r1, 0x1d0
/* 802E5864 002E14C4 4B EE 18 91 */ bl __save_gpr
/* 802E5868 002E14C8 38 00 00 00 */ li r0, 0
/* 802E586C 002E14CC 7C 7E 1B 78 */ mr r30, r3
/* 802E5870 002E14D0 98 01 01 7C */ stb r0, 0x17c(r1)
/* 802E5874 002E14D4 7C 91 23 78 */ mr r17, r4
/* 802E5878 002E14D8 7C A4 2B 78 */ mr r4, r5
/* 802E587C 002E14DC 7C C3 33 78 */ mr r3, r6
/* 802E5880 002E14E0 38 A1 00 58 */ addi r5, r1, 0x58
/* 802E5884 002E14E4 3A 60 00 00 */ li r19, 0
/* 802E5888 002E14E8 48 00 11 25 */ bl sdpu_extract_uid_seq
/* 802E588C 002E14EC 2C 03 00 00 */ cmpwi r3, 0
/* 802E5890 002E14F0 7C 6F 1B 78 */ mr r15, r3
/* 802E5894 002E14F4 41 82 00 10 */ beq lbl_802E58A4
/* 802E5898 002E14F8 A0 01 00 58 */ lhz r0, 0x58(r1)
/* 802E589C 002E14FC 2C 00 00 00 */ cmpwi r0, 0
/* 802E58A0 002E1500 40 82 00 1C */ bne lbl_802E58BC
lbl_802E58A4:
/* 802E58A4 002E1504 7F C3 F3 78 */ mr r3, r30
/* 802E58A8 002E1508 7E 24 8B 78 */ mr r4, r17
/* 802E58AC 002E150C 38 A0 00 03 */ li r5, 3
/* 802E58B0 002E1510 38 C0 00 00 */ li r6, 0
/* 802E58B4 002E1514 48 00 0F BD */ bl sdpu_build_n_send_error
/* 802E58B8 002E1518 48 00 03 94 */ b lbl_802E5C4C
lbl_802E58BC:
/* 802E58BC 002E151C 88 83 00 00 */ lbz r4, 0(r3)
/* 802E58C0 002E1520 88 03 00 01 */ lbz r0, 1(r3)
/* 802E58C4 002E1524 54 83 40 2E */ slwi r3, r4, 8
/* 802E58C8 002E1528 7C 03 02 14 */ add r0, r3, r0
/* 802E58CC 002E152C 54 12 04 3E */ clrlwi r18, r0, 0x10
/* 802E58D0 002E1530 28 12 00 14 */ cmplwi r18, 0x14
/* 802E58D4 002E1534 40 81 00 08 */ ble lbl_802E58DC
/* 802E58D8 002E1538 3A 40 00 14 */ li r18, 0x14
lbl_802E58DC:
/* 802E58DC 002E153C 39 C1 00 08 */ addi r14, r1, 8
/* 802E58E0 002E1540 3A 00 00 00 */ li r16, 0
/* 802E58E4 002E1544 48 00 00 2C */ b lbl_802E5910
lbl_802E58E8:
/* 802E58E8 002E1548 7E 63 9B 78 */ mr r3, r19
/* 802E58EC 002E154C 38 81 00 58 */ addi r4, r1, 0x58
/* 802E58F0 002E1550 4B FF D3 61 */ bl sdp_db_service_search
/* 802E58F4 002E1554 2C 03 00 00 */ cmpwi r3, 0
/* 802E58F8 002E1558 7C 73 1B 78 */ mr r19, r3
/* 802E58FC 002E155C 41 82 00 20 */ beq lbl_802E591C
/* 802E5900 002E1560 80 63 00 00 */ lwz r3, 0(r3)
/* 802E5904 002E1564 56 00 13 BA */ rlwinm r0, r16, 2, 0xe, 0x1d
/* 802E5908 002E1568 3A 10 00 01 */ addi r16, r16, 1
/* 802E590C 002E156C 7C 6E 01 2E */ stwx r3, r14, r0
lbl_802E5910:
/* 802E5910 002E1570 56 00 04 3E */ clrlwi r0, r16, 0x10
/* 802E5914 002E1574 7C 00 90 40 */ cmplw r0, r18
/* 802E5918 002E1578 41 80 FF D0 */ blt lbl_802E58E8
lbl_802E591C:
/* 802E591C 002E157C 88 0F 00 02 */ lbz r0, 2(r15)
/* 802E5920 002E1580 2C 00 00 00 */ cmpwi r0, 0
/* 802E5924 002E1584 41 82 00 6C */ beq lbl_802E5990
/* 802E5928 002E1588 28 00 00 02 */ cmplwi r0, 2
/* 802E592C 002E158C 38 6F 00 03 */ addi r3, r15, 3
/* 802E5930 002E1590 41 82 00 1C */ beq lbl_802E594C
/* 802E5934 002E1594 7F C3 F3 78 */ mr r3, r30
/* 802E5938 002E1598 7E 24 8B 78 */ mr r4, r17
/* 802E593C 002E159C 38 A0 00 05 */ li r5, 5
/* 802E5940 002E15A0 38 C0 00 00 */ li r6, 0
/* 802E5944 002E15A4 48 00 0F 2D */ bl sdpu_build_n_send_error
/* 802E5948 002E15A8 48 00 03 04 */ b lbl_802E5C4C
lbl_802E594C:
/* 802E594C 002E15AC 88 03 00 00 */ lbz r0, 0(r3)
/* 802E5950 002E15B0 88 63 00 01 */ lbz r3, 1(r3)
/* 802E5954 002E15B4 54 04 40 2E */ slwi r4, r0, 8
/* 802E5958 002E15B8 A0 1E 04 76 */ lhz r0, 0x476(r30)
/* 802E595C 002E15BC 7C 64 1A 14 */ add r3, r4, r3
/* 802E5960 002E15C0 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 802E5964 002E15C4 7C 1F 00 40 */ cmplw r31, r0
/* 802E5968 002E15C8 41 82 00 1C */ beq lbl_802E5984
/* 802E596C 002E15CC 7F C3 F3 78 */ mr r3, r30
/* 802E5970 002E15D0 7E 24 8B 78 */ mr r4, r17
/* 802E5974 002E15D4 38 A0 00 05 */ li r5, 5
/* 802E5978 002E15D8 38 C0 00 00 */ li r6, 0
/* 802E597C 002E15DC 48 00 0E F5 */ bl sdpu_build_n_send_error
/* 802E5980 002E15E0 48 00 02 CC */ b lbl_802E5C4C
lbl_802E5984:
/* 802E5984 002E15E4 7C 1F 80 50 */ subf r0, r31, r16
/* 802E5988 002E15E8 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 802E598C 002E15EC 48 00 00 0C */ b lbl_802E5998
lbl_802E5990:
/* 802E5990 002E15F0 7E 04 83 78 */ mr r4, r16
/* 802E5994 002E15F4 3B E0 00 00 */ li r31, 0
lbl_802E5998:
/* 802E5998 002E15F8 A0 7E 00 20 */ lhz r3, 0x20(r30)
/* 802E599C 002E15FC 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 802E59A0 002E1600 38 63 FF F4 */ addi r3, r3, -12
/* 802E59A4 002E1604 7C 63 16 70 */ srawi r3, r3, 2
/* 802E59A8 002E1608 7C 63 01 94 */ addze r3, r3
/* 802E59AC 002E160C 54 6F 04 3E */ clrlwi r15, r3, 0x10
/* 802E59B0 002E1610 7C 00 78 40 */ cmplw r0, r15
/* 802E59B4 002E1614 41 81 00 0C */ bgt lbl_802E59C0
/* 802E59B8 002E1618 7C 8F 23 78 */ mr r15, r4
/* 802E59BC 002E161C 48 00 00 18 */ b lbl_802E59D4
lbl_802E59C0:
/* 802E59C0 002E1620 A0 7E 04 76 */ lhz r3, 0x476(r30)
/* 802E59C4 002E1624 38 00 00 01 */ li r0, 1
/* 802E59C8 002E1628 98 01 01 7C */ stb r0, 0x17c(r1)
/* 802E59CC 002E162C 7C 03 7A 14 */ add r0, r3, r15
/* 802E59D0 002E1630 B0 1E 04 76 */ sth r0, 0x476(r30)
lbl_802E59D4:
/* 802E59D4 002E1634 38 60 00 02 */ li r3, 2
/* 802E59D8 002E1638 4B FD 42 75 */ bl GKI_getpoolbuf
/* 802E59DC 002E163C 2C 03 00 00 */ cmpwi r3, 0
/* 802E59E0 002E1640 40 82 00 2C */ bne lbl_802E5A0C
/* 802E59E4 002E1644 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E59E8 002E1648 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E59EC 002E164C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E59F0 002E1650 28 00 00 01 */ cmplwi r0, 1
/* 802E59F4 002E1654 41 80 02 58 */ blt lbl_802E5C4C
/* 802E59F8 002E1658 3C 80 80 44 */ lis r4, lbl_8044552C@ha
/* 802E59FC 002E165C 3C 60 00 0A */ lis r3, 0xa
/* 802E5A00 002E1660 38 84 55 2C */ addi r4, r4, lbl_8044552C@l
/* 802E5A04 002E1664 4B FD 75 0D */ bl LogMsg_0
/* 802E5A08 002E1668 48 00 02 44 */ b lbl_802E5C4C
lbl_802E5A0C:
/* 802E5A0C 002E166C 38 00 00 09 */ li r0, 9
/* 802E5A10 002E1670 39 C3 00 11 */ addi r14, r3, 0x11
/* 802E5A14 002E1674 B0 03 00 04 */ sth r0, 4(r3)
/* 802E5A18 002E1678 38 80 00 03 */ li r4, 3
/* 802E5A1C 002E167C 55 E0 04 3E */ clrlwi r0, r15, 0x10
/* 802E5A20 002E1680 39 6E 00 03 */ addi r11, r14, 3
/* 802E5A24 002E1684 98 83 00 11 */ stb r4, 0x11(r3)
/* 802E5A28 002E1688 7D 5F 02 14 */ add r10, r31, r0
/* 802E5A2C 002E168C 7E 25 46 70 */ srawi r5, r17, 8
/* 802E5A30 002E1690 56 04 C6 3E */ rlwinm r4, r16, 0x18, 0x18, 0x1f
/* 802E5A34 002E1694 98 A3 00 12 */ stb r5, 0x12(r3)
/* 802E5A38 002E1698 55 E0 C6 3E */ rlwinm r0, r15, 0x18, 0x18, 0x1f
/* 802E5A3C 002E169C 7C 1F 50 00 */ cmpw r31, r10
/* 802E5A40 002E16A0 9A 23 00 13 */ stb r17, 0x13(r3)
/* 802E5A44 002E16A4 98 83 00 16 */ stb r4, 0x16(r3)
/* 802E5A48 002E16A8 9A 03 00 17 */ stb r16, 0x17(r3)
/* 802E5A4C 002E16AC 98 03 00 18 */ stb r0, 0x18(r3)
/* 802E5A50 002E16B0 91 61 01 80 */ stw r11, 0x180(r1)
/* 802E5A54 002E16B4 39 6B 00 06 */ addi r11, r11, 6
/* 802E5A58 002E16B8 99 E3 00 19 */ stb r15, 0x19(r3)
/* 802E5A5C 002E16BC 40 80 01 84 */ bge lbl_802E5BE0
/* 802E5A60 002E16C0 55 45 04 3E */ clrlwi r5, r10, 0x10
/* 802E5A64 002E16C4 38 0A FF F8 */ addi r0, r10, -8
/* 802E5A68 002E16C8 7C 9F 28 50 */ subf r4, r31, r5
/* 802E5A6C 002E16CC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 802E5A70 002E16D0 28 04 00 08 */ cmplwi r4, 8
/* 802E5A74 002E16D4 40 81 01 2C */ ble lbl_802E5BA0
/* 802E5A78 002E16D8 7C 1F 28 40 */ cmplw r31, r5
/* 802E5A7C 002E16DC 41 81 01 24 */ bgt lbl_802E5BA0
/* 802E5A80 002E16E0 48 00 01 14 */ b lbl_802E5B94
lbl_802E5A84:
/* 802E5A84 002E16E4 57 E4 13 BA */ rlwinm r4, r31, 2, 0xe, 0x1d
/* 802E5A88 002E16E8 3A 21 00 08 */ addi r17, r1, 8
/* 802E5A8C 002E16EC 7D 11 20 6E */ lwzux r8, r17, r4
/* 802E5A90 002E16F0 3B FF 00 08 */ addi r31, r31, 8
/* 802E5A94 002E16F4 55 05 46 3E */ srwi r5, r8, 0x18
/* 802E5A98 002E16F8 83 11 00 04 */ lwz r24, 4(r17)
/* 802E5A9C 002E16FC 98 AB 00 00 */ stb r5, 0(r11)
/* 802E5AA0 002E1700 55 06 86 3E */ rlwinm r6, r8, 0x10, 0x18, 0x1f
/* 802E5AA4 002E1704 80 91 00 08 */ lwz r4, 8(r17)
/* 802E5AA8 002E1708 55 07 C6 3E */ rlwinm r7, r8, 0x18, 0x18, 0x1f
/* 802E5AAC 002E170C 98 CB 00 01 */ stb r6, 1(r11)
/* 802E5AB0 002E1710 57 09 46 3E */ srwi r9, r24, 0x18
/* 802E5AB4 002E1714 80 D1 00 10 */ lwz r6, 0x10(r17)
/* 802E5AB8 002E1718 57 12 86 3E */ rlwinm r18, r24, 0x10, 0x18, 0x1f
/* 802E5ABC 002E171C 98 EB 00 02 */ stb r7, 2(r11)
/* 802E5AC0 002E1720 57 15 C6 3E */ rlwinm r21, r24, 0x18, 0x18, 0x1f
/* 802E5AC4 002E1724 80 F1 00 14 */ lwz r7, 0x14(r17)
/* 802E5AC8 002E1728 54 9B 46 3E */ srwi r27, r4, 0x18
/* 802E5ACC 002E172C 99 0B 00 03 */ stb r8, 3(r11)
/* 802E5AD0 002E1730 54 8C 86 3E */ rlwinm r12, r4, 0x10, 0x18, 0x1f
/* 802E5AD4 002E1734 81 11 00 18 */ lwz r8, 0x18(r17)
/* 802E5AD8 002E1738 54 8F C6 3E */ rlwinm r15, r4, 0x18, 0x18, 0x1f
/* 802E5ADC 002E173C 99 2B 00 04 */ stb r9, 4(r11)
/* 802E5AE0 002E1740 54 D3 46 3E */ srwi r19, r6, 0x18
/* 802E5AE4 002E1744 81 31 00 1C */ lwz r9, 0x1c(r17)
/* 802E5AE8 002E1748 54 D4 86 3E */ rlwinm r20, r6, 0x10, 0x18, 0x1f
/* 802E5AEC 002E174C 9A 4B 00 05 */ stb r18, 5(r11)
/* 802E5AF0 002E1750 54 F6 46 3E */ srwi r22, r7, 0x18
/* 802E5AF4 002E1754 80 B1 00 0C */ lwz r5, 0xc(r17)
/* 802E5AF8 002E1758 54 F7 86 3E */ rlwinm r23, r7, 0x10, 0x18, 0x1f
/* 802E5AFC 002E175C 9A AB 00 06 */ stb r21, 6(r11)
/* 802E5B00 002E1760 54 D5 C6 3E */ rlwinm r21, r6, 0x18, 0x18, 0x1f
/* 802E5B04 002E1764 54 B0 46 3E */ srwi r16, r5, 0x18
/* 802E5B08 002E1768 54 B1 86 3E */ rlwinm r17, r5, 0x10, 0x18, 0x1f
/* 802E5B0C 002E176C 9B 0B 00 07 */ stb r24, 7(r11)
/* 802E5B10 002E1770 54 B2 C6 3E */ rlwinm r18, r5, 0x18, 0x18, 0x1f
/* 802E5B14 002E1774 54 F8 C6 3E */ rlwinm r24, r7, 0x18, 0x18, 0x1f
/* 802E5B18 002E1778 55 19 46 3E */ srwi r25, r8, 0x18
/* 802E5B1C 002E177C 9B 6B 00 08 */ stb r27, 8(r11)
/* 802E5B20 002E1780 55 1A 86 3E */ rlwinm r26, r8, 0x10, 0x18, 0x1f
/* 802E5B24 002E1784 55 1B C6 3E */ rlwinm r27, r8, 0x18, 0x18, 0x1f
/* 802E5B28 002E1788 55 3C 46 3E */ srwi r28, r9, 0x18
/* 802E5B2C 002E178C 99 8B 00 09 */ stb r12, 9(r11)
/* 802E5B30 002E1790 55 3D 86 3E */ rlwinm r29, r9, 0x10, 0x18, 0x1f
/* 802E5B34 002E1794 55 2C C6 3E */ rlwinm r12, r9, 0x18, 0x18, 0x1f
/* 802E5B38 002E1798 99 EB 00 0A */ stb r15, 0xa(r11)
/* 802E5B3C 002E179C 98 8B 00 0B */ stb r4, 0xb(r11)
/* 802E5B40 002E17A0 9A 0B 00 0C */ stb r16, 0xc(r11)
/* 802E5B44 002E17A4 9A 2B 00 0D */ stb r17, 0xd(r11)
/* 802E5B48 002E17A8 9A 4B 00 0E */ stb r18, 0xe(r11)
/* 802E5B4C 002E17AC 98 AB 00 0F */ stb r5, 0xf(r11)
/* 802E5B50 002E17B0 9A 6B 00 10 */ stb r19, 0x10(r11)
/* 802E5B54 002E17B4 9A 8B 00 11 */ stb r20, 0x11(r11)
/* 802E5B58 002E17B8 9A AB 00 12 */ stb r21, 0x12(r11)
/* 802E5B5C 002E17BC 98 CB 00 13 */ stb r6, 0x13(r11)
/* 802E5B60 002E17C0 9A CB 00 14 */ stb r22, 0x14(r11)
/* 802E5B64 002E17C4 9A EB 00 15 */ stb r23, 0x15(r11)
/* 802E5B68 002E17C8 9B 0B 00 16 */ stb r24, 0x16(r11)
/* 802E5B6C 002E17CC 98 EB 00 17 */ stb r7, 0x17(r11)
/* 802E5B70 002E17D0 9B 2B 00 18 */ stb r25, 0x18(r11)
/* 802E5B74 002E17D4 9B 4B 00 19 */ stb r26, 0x19(r11)
/* 802E5B78 002E17D8 9B 6B 00 1A */ stb r27, 0x1a(r11)
/* 802E5B7C 002E17DC 99 0B 00 1B */ stb r8, 0x1b(r11)
/* 802E5B80 002E17E0 9B 8B 00 1C */ stb r28, 0x1c(r11)
/* 802E5B84 002E17E4 9B AB 00 1D */ stb r29, 0x1d(r11)
/* 802E5B88 002E17E8 99 8B 00 1E */ stb r12, 0x1e(r11)
/* 802E5B8C 002E17EC 99 2B 00 1F */ stb r9, 0x1f(r11)
/* 802E5B90 002E17F0 39 6B 00 20 */ addi r11, r11, 0x20
lbl_802E5B94:
/* 802E5B94 002E17F4 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 802E5B98 002E17F8 7C 04 00 00 */ cmpw r4, r0
/* 802E5B9C 002E17FC 41 80 FE E8 */ blt lbl_802E5A84
lbl_802E5BA0:
/* 802E5BA0 002E1800 38 A1 00 08 */ addi r5, r1, 8
/* 802E5BA4 002E1804 48 00 00 30 */ b lbl_802E5BD4
lbl_802E5BA8:
/* 802E5BA8 002E1808 57 E0 13 BA */ rlwinm r0, r31, 2, 0xe, 0x1d
/* 802E5BAC 002E180C 3B FF 00 01 */ addi r31, r31, 1
/* 802E5BB0 002E1810 7C C5 00 2E */ lwzx r6, r5, r0
/* 802E5BB4 002E1814 54 C0 46 3E */ srwi r0, r6, 0x18
/* 802E5BB8 002E1818 54 C4 86 3E */ rlwinm r4, r6, 0x10, 0x18, 0x1f
/* 802E5BBC 002E181C 98 0B 00 00 */ stb r0, 0(r11)
/* 802E5BC0 002E1820 54 C0 C6 3E */ rlwinm r0, r6, 0x18, 0x18, 0x1f
/* 802E5BC4 002E1824 98 8B 00 01 */ stb r4, 1(r11)
/* 802E5BC8 002E1828 98 0B 00 02 */ stb r0, 2(r11)
/* 802E5BCC 002E182C 98 CB 00 03 */ stb r6, 3(r11)
/* 802E5BD0 002E1830 39 6B 00 04 */ addi r11, r11, 4
lbl_802E5BD4:
/* 802E5BD4 002E1834 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 802E5BD8 002E1838 7C 00 50 00 */ cmpw r0, r10
/* 802E5BDC 002E183C 41 80 FF CC */ blt lbl_802E5BA8
lbl_802E5BE0:
/* 802E5BE0 002E1840 88 01 01 7C */ lbz r0, 0x17c(r1)
/* 802E5BE4 002E1844 2C 00 00 00 */ cmpwi r0, 0
/* 802E5BE8 002E1848 41 82 00 28 */ beq lbl_802E5C10
/* 802E5BEC 002E184C 38 00 00 02 */ li r0, 2
/* 802E5BF0 002E1850 98 0B 00 00 */ stb r0, 0(r11)
/* 802E5BF4 002E1854 A0 1E 04 76 */ lhz r0, 0x476(r30)
/* 802E5BF8 002E1858 7C 00 46 70 */ srawi r0, r0, 8
/* 802E5BFC 002E185C 98 0B 00 01 */ stb r0, 1(r11)
/* 802E5C00 002E1860 A0 1E 04 76 */ lhz r0, 0x476(r30)
/* 802E5C04 002E1864 98 0B 00 02 */ stb r0, 2(r11)
/* 802E5C08 002E1868 39 6B 00 03 */ addi r11, r11, 3
/* 802E5C0C 002E186C 48 00 00 10 */ b lbl_802E5C1C
lbl_802E5C10:
/* 802E5C10 002E1870 38 00 00 00 */ li r0, 0
/* 802E5C14 002E1874 98 0B 00 00 */ stb r0, 0(r11)
/* 802E5C18 002E1878 39 6B 00 01 */ addi r11, r11, 1
lbl_802E5C1C:
/* 802E5C1C 002E187C 80 01 01 80 */ lwz r0, 0x180(r1)
/* 802E5C20 002E1880 80 A1 01 80 */ lwz r5, 0x180(r1)
/* 802E5C24 002E1884 7C 80 58 50 */ subf r4, r0, r11
/* 802E5C28 002E1888 7C 0E 58 50 */ subf r0, r14, r11
/* 802E5C2C 002E188C 38 E4 FF FE */ addi r7, r4, -2
/* 802E5C30 002E1890 54 E6 C6 3E */ rlwinm r6, r7, 0x18, 0x18, 0x1f
/* 802E5C34 002E1894 7C 64 1B 78 */ mr r4, r3
/* 802E5C38 002E1898 98 C5 00 00 */ stb r6, 0(r5)
/* 802E5C3C 002E189C 98 E5 00 01 */ stb r7, 1(r5)
/* 802E5C40 002E18A0 B0 03 00 02 */ sth r0, 2(r3)
/* 802E5C44 002E18A4 A0 7E 00 22 */ lhz r3, 0x22(r30)
/* 802E5C48 002E18A8 4B FF 04 A9 */ bl L2CA_DataWrite
lbl_802E5C4C:
/* 802E5C4C 002E18AC 39 61 01 D0 */ addi r11, r1, 0x1d0
/* 802E5C50 002E18B0 4B EE 14 F1 */ bl __restore_gpr
/* 802E5C54 002E18B4 80 01 01 D4 */ lwz r0, 0x1d4(r1)
/* 802E5C58 002E18B8 7C 08 03 A6 */ mtlr r0
/* 802E5C5C 002E18BC 38 21 01 D0 */ addi r1, r1, 0x1d0
/* 802E5C60 002E18C0 4E 80 00 20 */ blr
.global process_service_attr_req
process_service_attr_req:
/* 802E5C64 002E18C4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802E5C68 002E18C8 7C 08 02 A6 */ mflr r0
/* 802E5C6C 002E18CC 90 01 00 74 */ stw r0, 0x74(r1)
/* 802E5C70 002E18D0 39 61 00 70 */ addi r11, r1, 0x70
/* 802E5C74 002E18D4 4B EE 14 A9 */ bl _savegpr_24
/* 802E5C78 002E18D8 89 26 00 00 */ lbz r9, 0(r6)
/* 802E5C7C 002E18DC 38 06 00 04 */ addi r0, r6, 4
/* 802E5C80 002E18E0 89 06 00 01 */ lbz r8, 1(r6)
/* 802E5C84 002E18E4 7C 00 38 40 */ cmplw r0, r7
/* 802E5C88 002E18E8 88 06 00 02 */ lbz r0, 2(r6)
/* 802E5C8C 002E18EC 55 2A C0 0E */ slwi r10, r9, 0x18
/* 802E5C90 002E18F0 55 08 80 1E */ slwi r8, r8, 0x10
/* 802E5C94 002E18F4 89 26 00 03 */ lbz r9, 3(r6)
/* 802E5C98 002E18F8 54 00 40 2E */ slwi r0, r0, 8
/* 802E5C9C 002E18FC 7C 79 1B 78 */ mr r25, r3
/* 802E5CA0 002E1900 7D 0A 42 14 */ add r8, r10, r8
/* 802E5CA4 002E1904 7C 9A 23 78 */ mr r26, r4
/* 802E5CA8 002E1908 7C 09 02 14 */ add r0, r9, r0
/* 802E5CAC 002E190C 7C F8 3B 78 */ mr r24, r7
/* 802E5CB0 002E1910 7F 68 02 14 */ add r27, r8, r0
/* 802E5CB4 002E1914 40 81 00 14 */ ble lbl_802E5CC8
/* 802E5CB8 002E1918 38 A0 00 02 */ li r5, 2
/* 802E5CBC 002E191C 38 C0 00 00 */ li r6, 0
/* 802E5CC0 002E1920 48 00 0B B1 */ bl sdpu_build_n_send_error
/* 802E5CC4 002E1924 48 00 03 18 */ b lbl_802E5FDC
lbl_802E5CC8:
/* 802E5CC8 002E1928 88 86 00 04 */ lbz r4, 4(r6)
/* 802E5CCC 002E192C 88 06 00 05 */ lbz r0, 5(r6)
/* 802E5CD0 002E1930 54 84 40 2E */ slwi r4, r4, 8
/* 802E5CD4 002E1934 A0 63 00 20 */ lhz r3, 0x20(r3)
/* 802E5CD8 002E1938 7C 04 02 14 */ add r0, r4, r0
/* 802E5CDC 002E193C 54 1E 04 3E */ clrlwi r30, r0, 0x10
/* 802E5CE0 002E1940 38 03 FF F6 */ addi r0, r3, -10
/* 802E5CE4 002E1944 7C 1E 00 00 */ cmpw r30, r0
/* 802E5CE8 002E1948 40 81 00 08 */ ble lbl_802E5CF0
/* 802E5CEC 002E194C 54 1E 04 3E */ clrlwi r30, r0, 0x10
lbl_802E5CF0:
/* 802E5CF0 002E1950 7C A4 2B 78 */ mr r4, r5
/* 802E5CF4 002E1954 38 66 00 06 */ addi r3, r6, 6
/* 802E5CF8 002E1958 38 A1 00 08 */ addi r5, r1, 8
/* 802E5CFC 002E195C 48 00 10 01 */ bl sdpu_extract_attr_seq
/* 802E5D00 002E1960 2C 03 00 00 */ cmpwi r3, 0
/* 802E5D04 002E1964 7C 7C 1B 78 */ mr r28, r3
/* 802E5D08 002E1968 41 82 00 18 */ beq lbl_802E5D20
/* 802E5D0C 002E196C A0 01 00 08 */ lhz r0, 8(r1)
/* 802E5D10 002E1970 2C 00 00 00 */ cmpwi r0, 0
/* 802E5D14 002E1974 41 82 00 0C */ beq lbl_802E5D20
/* 802E5D18 002E1978 7C 03 C0 40 */ cmplw r3, r24
/* 802E5D1C 002E197C 40 81 00 1C */ ble lbl_802E5D38
lbl_802E5D20:
/* 802E5D20 002E1980 7F 23 CB 78 */ mr r3, r25
/* 802E5D24 002E1984 7F 44 D3 78 */ mr r4, r26
/* 802E5D28 002E1988 38 A0 00 03 */ li r5, 3
/* 802E5D2C 002E198C 38 C0 00 00 */ li r6, 0
/* 802E5D30 002E1990 48 00 0B 41 */ bl sdpu_build_n_send_error
/* 802E5D34 002E1994 48 00 02 A8 */ b lbl_802E5FDC
lbl_802E5D38:
/* 802E5D38 002E1998 7F 63 DB 78 */ mr r3, r27
/* 802E5D3C 002E199C 4B FF D1 29 */ bl sdp_db_find_record
/* 802E5D40 002E19A0 2C 03 00 00 */ cmpwi r3, 0
/* 802E5D44 002E19A4 7C 7B 1B 78 */ mr r27, r3
/* 802E5D48 002E19A8 40 82 00 1C */ bne lbl_802E5D64
/* 802E5D4C 002E19AC 7F 23 CB 78 */ mr r3, r25
/* 802E5D50 002E19B0 7F 44 D3 78 */ mr r4, r26
/* 802E5D54 002E19B4 38 A0 00 02 */ li r5, 2
/* 802E5D58 002E19B8 38 C0 00 00 */ li r6, 0
/* 802E5D5C 002E19BC 48 00 0B 15 */ bl sdpu_build_n_send_error
/* 802E5D60 002E19C0 48 00 02 7C */ b lbl_802E5FDC
lbl_802E5D64:
/* 802E5D64 002E19C4 88 1C 00 00 */ lbz r0, 0(r28)
/* 802E5D68 002E19C8 2C 00 00 00 */ cmpwi r0, 0
/* 802E5D6C 002E19CC 41 82 00 5C */ beq lbl_802E5DC8
/* 802E5D70 002E19D0 28 00 00 02 */ cmplwi r0, 2
/* 802E5D74 002E19D4 41 82 00 1C */ beq lbl_802E5D90
/* 802E5D78 002E19D8 7F 23 CB 78 */ mr r3, r25
/* 802E5D7C 002E19DC 7F 44 D3 78 */ mr r4, r26
/* 802E5D80 002E19E0 38 A0 00 05 */ li r5, 5
/* 802E5D84 002E19E4 38 C0 00 00 */ li r6, 0
/* 802E5D88 002E19E8 48 00 0A E9 */ bl sdpu_build_n_send_error
/* 802E5D8C 002E19EC 48 00 02 50 */ b lbl_802E5FDC
lbl_802E5D90:
/* 802E5D90 002E19F0 88 1C 00 01 */ lbz r0, 1(r28)
/* 802E5D94 002E19F4 88 7C 00 02 */ lbz r3, 2(r28)
/* 802E5D98 002E19F8 54 04 40 2E */ slwi r4, r0, 8
/* 802E5D9C 002E19FC A0 19 04 76 */ lhz r0, 0x476(r25)
/* 802E5DA0 002E1A00 7C 64 1A 14 */ add r3, r4, r3
/* 802E5DA4 002E1A04 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 802E5DA8 002E1A08 7C 03 00 40 */ cmplw r3, r0
/* 802E5DAC 002E1A0C 41 82 01 14 */ beq lbl_802E5EC0
/* 802E5DB0 002E1A10 7F 23 CB 78 */ mr r3, r25
/* 802E5DB4 002E1A14 7F 44 D3 78 */ mr r4, r26
/* 802E5DB8 002E1A18 38 A0 00 05 */ li r5, 5
/* 802E5DBC 002E1A1C 38 C0 00 00 */ li r6, 0
/* 802E5DC0 002E1A20 48 00 0A B1 */ bl sdpu_build_n_send_error
/* 802E5DC4 002E1A24 48 00 02 18 */ b lbl_802E5FDC
lbl_802E5DC8:
/* 802E5DC8 002E1A28 38 00 00 00 */ li r0, 0
/* 802E5DCC 002E1A2C 3B B9 00 29 */ addi r29, r25, 0x29
/* 802E5DD0 002E1A30 B0 19 04 76 */ sth r0, 0x476(r25)
/* 802E5DD4 002E1A34 3B 80 00 00 */ li r28, 0
/* 802E5DD8 002E1A38 48 00 00 84 */ b lbl_802E5E5C
lbl_802E5DDC:
/* 802E5DDC 002E1A3C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 802E5DE0 002E1A40 3B E1 00 08 */ addi r31, r1, 8
/* 802E5DE4 002E1A44 7F FF 02 14 */ add r31, r31, r0
/* 802E5DE8 002E1A48 7F 63 DB 78 */ mr r3, r27
/* 802E5DEC 002E1A4C A0 9F 00 02 */ lhz r4, 2(r31)
/* 802E5DF0 002E1A50 A0 BF 00 04 */ lhz r5, 4(r31)
/* 802E5DF4 002E1A54 4B FF D0 CD */ bl sdp_db_find_attr_in_rec
/* 802E5DF8 002E1A58 2C 03 00 00 */ cmpwi r3, 0
/* 802E5DFC 002E1A5C 7C 78 1B 78 */ mr r24, r3
/* 802E5E00 002E1A60 41 82 00 58 */ beq lbl_802E5E58
/* 802E5E04 002E1A64 38 19 00 26 */ addi r0, r25, 0x26
/* 802E5E08 002E1A68 80 83 00 00 */ lwz r4, 0(r3)
/* 802E5E0C 002E1A6C 7C 00 E8 50 */ subf r0, r0, r29
/* 802E5E10 002E1A70 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 802E5E14 002E1A74 20 00 03 E8 */ subfic r0, r0, 0x3e8
/* 802E5E18 002E1A78 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E5E1C 002E1A7C 38 03 FF FA */ addi r0, r3, -6
/* 802E5E20 002E1A80 7C 04 00 40 */ cmplw r4, r0
/* 802E5E24 002E1A84 41 81 00 48 */ bgt lbl_802E5E6C
/* 802E5E28 002E1A88 7F A3 EB 78 */ mr r3, r29
/* 802E5E2C 002E1A8C 7F 04 C3 78 */ mr r4, r24
/* 802E5E30 002E1A90 48 00 08 ED */ bl sdpu_build_attrib_entry
/* 802E5E34 002E1A94 A0 9F 00 02 */ lhz r4, 2(r31)
/* 802E5E38 002E1A98 7C 7D 1B 78 */ mr r29, r3
/* 802E5E3C 002E1A9C A0 1F 00 04 */ lhz r0, 4(r31)
/* 802E5E40 002E1AA0 7C 04 00 40 */ cmplw r4, r0
/* 802E5E44 002E1AA4 41 82 00 14 */ beq lbl_802E5E58
/* 802E5E48 002E1AA8 A0 78 00 08 */ lhz r3, 8(r24)
/* 802E5E4C 002E1AAC 3B 9C FF FF */ addi r28, r28, -1
/* 802E5E50 002E1AB0 38 03 00 01 */ addi r0, r3, 1
/* 802E5E54 002E1AB4 B0 1F 00 02 */ sth r0, 2(r31)
lbl_802E5E58:
/* 802E5E58 002E1AB8 3B 9C 00 01 */ addi r28, r28, 1
lbl_802E5E5C:
/* 802E5E5C 002E1ABC A0 01 00 08 */ lhz r0, 8(r1)
/* 802E5E60 002E1AC0 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 802E5E64 002E1AC4 7C 03 00 40 */ cmplw r3, r0
/* 802E5E68 002E1AC8 41 80 FF 74 */ blt lbl_802E5DDC
lbl_802E5E6C:
/* 802E5E6C 002E1ACC 38 19 00 26 */ addi r0, r25, 0x26
/* 802E5E70 002E1AD0 7C 00 E8 50 */ subf r0, r0, r29
/* 802E5E74 002E1AD4 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 802E5E78 002E1AD8 B0 19 00 24 */ sth r0, 0x24(r25)
/* 802E5E7C 002E1ADC 28 04 00 FF */ cmplwi r4, 0xff
/* 802E5E80 002E1AE0 40 81 00 20 */ ble lbl_802E5EA0
/* 802E5E84 002E1AE4 38 64 FF FD */ addi r3, r4, -3
/* 802E5E88 002E1AE8 38 80 00 36 */ li r4, 0x36
/* 802E5E8C 002E1AEC 7C 60 46 70 */ srawi r0, r3, 8
/* 802E5E90 002E1AF0 98 99 00 26 */ stb r4, 0x26(r25)
/* 802E5E94 002E1AF4 98 19 00 27 */ stb r0, 0x27(r25)
/* 802E5E98 002E1AF8 98 79 00 28 */ stb r3, 0x28(r25)
/* 802E5E9C 002E1AFC 48 00 00 24 */ b lbl_802E5EC0
lbl_802E5EA0:
/* 802E5EA0 002E1B00 38 64 FF FD */ addi r3, r4, -3
/* 802E5EA4 002E1B04 38 04 FF FF */ addi r0, r4, -1
/* 802E5EA8 002E1B08 38 A0 00 01 */ li r5, 1
/* 802E5EAC 002E1B0C 38 80 00 35 */ li r4, 0x35
/* 802E5EB0 002E1B10 B0 B9 04 76 */ sth r5, 0x476(r25)
/* 802E5EB4 002E1B14 98 99 00 27 */ stb r4, 0x27(r25)
/* 802E5EB8 002E1B18 98 79 00 28 */ stb r3, 0x28(r25)
/* 802E5EBC 002E1B1C B0 19 00 24 */ sth r0, 0x24(r25)
lbl_802E5EC0:
/* 802E5EC0 002E1B20 38 60 00 02 */ li r3, 2
/* 802E5EC4 002E1B24 4B FD 3D 89 */ bl GKI_getpoolbuf
/* 802E5EC8 002E1B28 2C 03 00 00 */ cmpwi r3, 0
/* 802E5ECC 002E1B2C 7C 7B 1B 78 */ mr r27, r3
/* 802E5ED0 002E1B30 40 82 00 2C */ bne lbl_802E5EFC
/* 802E5ED4 002E1B34 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5ED8 002E1B38 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5EDC 002E1B3C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E5EE0 002E1B40 28 00 00 01 */ cmplwi r0, 1
/* 802E5EE4 002E1B44 41 80 00 F8 */ blt lbl_802E5FDC
/* 802E5EE8 002E1B48 3C 80 80 44 */ lis r4, lbl_8044552C@ha
/* 802E5EEC 002E1B4C 3C 60 00 0A */ lis r3, 0xa
/* 802E5EF0 002E1B50 38 84 55 2C */ addi r4, r4, lbl_8044552C@l
/* 802E5EF4 002E1B54 4B FD 70 1D */ bl LogMsg_0
/* 802E5EF8 002E1B58 48 00 00 E4 */ b lbl_802E5FDC
lbl_802E5EFC:
/* 802E5EFC 002E1B5C 38 00 00 09 */ li r0, 9
/* 802E5F00 002E1B60 3B A3 00 11 */ addi r29, r3, 0x11
/* 802E5F04 002E1B64 B0 03 00 04 */ sth r0, 4(r3)
/* 802E5F08 002E1B68 38 60 00 05 */ li r3, 5
/* 802E5F0C 002E1B6C 3B FD 00 03 */ addi r31, r29, 3
/* 802E5F10 002E1B70 57 40 C6 3E */ rlwinm r0, r26, 0x18, 0x18, 0x1f
/* 802E5F14 002E1B74 98 7D 00 00 */ stb r3, 0(r29)
/* 802E5F18 002E1B78 7F FC FB 78 */ mr r28, r31
/* 802E5F1C 002E1B7C 98 1D 00 01 */ stb r0, 1(r29)
/* 802E5F20 002E1B80 9B 5D 00 02 */ stb r26, 2(r29)
/* 802E5F24 002E1B84 A0 19 00 24 */ lhz r0, 0x24(r25)
/* 802E5F28 002E1B88 7C 00 F0 40 */ cmplw r0, r30
/* 802E5F2C 002E1B8C 41 81 00 08 */ bgt lbl_802E5F34
/* 802E5F30 002E1B90 7C 1E 03 78 */ mr r30, r0
lbl_802E5F34:
/* 802E5F34 002E1B94 57 C0 C6 3E */ rlwinm r0, r30, 0x18, 0x18, 0x1f
/* 802E5F38 002E1B98 57 C5 04 3E */ clrlwi r5, r30, 0x10
/* 802E5F3C 002E1B9C 98 1F 00 02 */ stb r0, 2(r31)
/* 802E5F40 002E1BA0 9B DF 00 03 */ stb r30, 3(r31)
/* 802E5F44 002E1BA4 3B FF 00 04 */ addi r31, r31, 4
/* 802E5F48 002E1BA8 7F E3 FB 78 */ mr r3, r31
/* 802E5F4C 002E1BAC A0 19 04 76 */ lhz r0, 0x476(r25)
/* 802E5F50 002E1BB0 7C 99 02 14 */ add r4, r25, r0
/* 802E5F54 002E1BB4 38 84 00 26 */ addi r4, r4, 0x26
/* 802E5F58 002E1BB8 4B D1 E0 A9 */ bl memcpy
/* 802E5F5C 002E1BBC A0 19 00 24 */ lhz r0, 0x24(r25)
/* 802E5F60 002E1BC0 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 802E5F64 002E1BC4 7F FF 1A 14 */ add r31, r31, r3
/* 802E5F68 002E1BC8 A0 99 04 76 */ lhz r4, 0x476(r25)
/* 802E5F6C 002E1BCC 7C 7E 00 50 */ subf r3, r30, r0
/* 802E5F70 002E1BD0 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802E5F74 002E1BD4 B0 79 00 24 */ sth r3, 0x24(r25)
/* 802E5F78 002E1BD8 7C 04 F2 14 */ add r0, r4, r30
/* 802E5F7C 002E1BDC B0 19 04 76 */ sth r0, 0x476(r25)
/* 802E5F80 002E1BE0 41 82 00 28 */ beq lbl_802E5FA8
/* 802E5F84 002E1BE4 38 00 00 02 */ li r0, 2
/* 802E5F88 002E1BE8 98 1F 00 00 */ stb r0, 0(r31)
/* 802E5F8C 002E1BEC A0 19 04 76 */ lhz r0, 0x476(r25)
/* 802E5F90 002E1BF0 7C 00 46 70 */ srawi r0, r0, 8
/* 802E5F94 002E1BF4 98 1F 00 01 */ stb r0, 1(r31)
/* 802E5F98 002E1BF8 A0 19 04 76 */ lhz r0, 0x476(r25)
/* 802E5F9C 002E1BFC 98 1F 00 02 */ stb r0, 2(r31)
/* 802E5FA0 002E1C00 3B FF 00 03 */ addi r31, r31, 3
/* 802E5FA4 002E1C04 48 00 00 10 */ b lbl_802E5FB4
lbl_802E5FA8:
/* 802E5FA8 002E1C08 38 00 00 00 */ li r0, 0
/* 802E5FAC 002E1C0C 98 1F 00 00 */ stb r0, 0(r31)
/* 802E5FB0 002E1C10 3B FF 00 01 */ addi r31, r31, 1
lbl_802E5FB4:
/* 802E5FB4 002E1C14 7C 7C F8 50 */ subf r3, r28, r31
/* 802E5FB8 002E1C18 7C 1D F8 50 */ subf r0, r29, r31
/* 802E5FBC 002E1C1C 38 A3 FF FE */ addi r5, r3, -2
/* 802E5FC0 002E1C20 7F 64 DB 78 */ mr r4, r27
/* 802E5FC4 002E1C24 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
/* 802E5FC8 002E1C28 98 7C 00 00 */ stb r3, 0(r28)
/* 802E5FCC 002E1C2C 98 BC 00 01 */ stb r5, 1(r28)
/* 802E5FD0 002E1C30 B0 1B 00 02 */ sth r0, 2(r27)
/* 802E5FD4 002E1C34 A0 79 00 22 */ lhz r3, 0x22(r25)
/* 802E5FD8 002E1C38 4B FF 01 19 */ bl L2CA_DataWrite
lbl_802E5FDC:
/* 802E5FDC 002E1C3C 39 61 00 70 */ addi r11, r1, 0x70
/* 802E5FE0 002E1C40 4B EE 11 89 */ bl _restgpr_24
/* 802E5FE4 002E1C44 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802E5FE8 002E1C48 7C 08 03 A6 */ mtlr r0
/* 802E5FEC 002E1C4C 38 21 00 70 */ addi r1, r1, 0x70
/* 802E5FF0 002E1C50 4E 80 00 20 */ blr
.global process_service_search_attr_req
process_service_search_attr_req:
/* 802E5FF4 002E1C54 94 21 FE 10 */ stwu r1, -0x1f0(r1)
/* 802E5FF8 002E1C58 7C 08 02 A6 */ mflr r0
/* 802E5FFC 002E1C5C 90 01 01 F4 */ stw r0, 0x1f4(r1)
/* 802E6000 002E1C60 39 61 01 F0 */ addi r11, r1, 0x1f0
/* 802E6004 002E1C64 4B EE 11 09 */ bl _savegpr_20
/* 802E6008 002E1C68 7C B4 2B 78 */ mr r20, r5
/* 802E600C 002E1C6C 7C 75 1B 78 */ mr r21, r3
/* 802E6010 002E1C70 7C 96 23 78 */ mr r22, r4
/* 802E6014 002E1C74 7C C3 33 78 */ mr r3, r6
/* 802E6018 002E1C78 7E 84 A3 78 */ mr r4, r20
/* 802E601C 002E1C7C 38 A1 00 90 */ addi r5, r1, 0x90
/* 802E6020 002E1C80 3B 00 00 00 */ li r24, 0
/* 802E6024 002E1C84 48 00 09 89 */ bl sdpu_extract_uid_seq
/* 802E6028 002E1C88 2C 03 00 00 */ cmpwi r3, 0
/* 802E602C 002E1C8C 41 82 00 10 */ beq lbl_802E603C
/* 802E6030 002E1C90 A0 01 00 90 */ lhz r0, 0x90(r1)
/* 802E6034 002E1C94 2C 00 00 00 */ cmpwi r0, 0
/* 802E6038 002E1C98 40 82 00 1C */ bne lbl_802E6054
lbl_802E603C:
/* 802E603C 002E1C9C 7E A3 AB 78 */ mr r3, r21
/* 802E6040 002E1CA0 7E C4 B3 78 */ mr r4, r22
/* 802E6044 002E1CA4 38 A0 00 03 */ li r5, 3
/* 802E6048 002E1CA8 38 C0 00 00 */ li r6, 0
/* 802E604C 002E1CAC 48 00 08 25 */ bl sdpu_build_n_send_error
/* 802E6050 002E1CB0 48 00 03 A8 */ b lbl_802E63F8
lbl_802E6054:
/* 802E6054 002E1CB4 88 83 00 00 */ lbz r4, 0(r3)
/* 802E6058 002E1CB8 88 03 00 01 */ lbz r0, 1(r3)
/* 802E605C 002E1CBC 54 85 40 2E */ slwi r5, r4, 8
/* 802E6060 002E1CC0 A0 95 00 20 */ lhz r4, 0x20(r21)
/* 802E6064 002E1CC4 7C 05 02 14 */ add r0, r5, r0
/* 802E6068 002E1CC8 54 1D 04 3E */ clrlwi r29, r0, 0x10
/* 802E606C 002E1CCC 38 04 FF F6 */ addi r0, r4, -10
/* 802E6070 002E1CD0 7C 1D 00 00 */ cmpw r29, r0
/* 802E6074 002E1CD4 40 81 00 08 */ ble lbl_802E607C
/* 802E6078 002E1CD8 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802E607C:
/* 802E607C 002E1CDC 7E 84 A3 78 */ mr r4, r20
/* 802E6080 002E1CE0 38 A1 00 4C */ addi r5, r1, 0x4c
/* 802E6084 002E1CE4 38 63 00 02 */ addi r3, r3, 2
/* 802E6088 002E1CE8 48 00 0C 75 */ bl sdpu_extract_attr_seq
/* 802E608C 002E1CEC 2C 03 00 00 */ cmpwi r3, 0
/* 802E6090 002E1CF0 41 82 00 10 */ beq lbl_802E60A0
/* 802E6094 002E1CF4 A0 01 00 4C */ lhz r0, 0x4c(r1)
/* 802E6098 002E1CF8 2C 00 00 00 */ cmpwi r0, 0
/* 802E609C 002E1CFC 40 82 00 1C */ bne lbl_802E60B8
lbl_802E60A0:
/* 802E60A0 002E1D00 7E A3 AB 78 */ mr r3, r21
/* 802E60A4 002E1D04 7E C4 B3 78 */ mr r4, r22
/* 802E60A8 002E1D08 38 A0 00 03 */ li r5, 3
/* 802E60AC 002E1D0C 38 C0 00 00 */ li r6, 0
/* 802E60B0 002E1D10 48 00 07 C1 */ bl sdpu_build_n_send_error
/* 802E60B4 002E1D14 48 00 03 44 */ b lbl_802E63F8
lbl_802E60B8:
/* 802E60B8 002E1D18 38 00 00 08 */ li r0, 8
/* 802E60BC 002E1D1C 38 C1 00 04 */ addi r6, r1, 4
/* 802E60C0 002E1D20 38 A1 00 48 */ addi r5, r1, 0x48
/* 802E60C4 002E1D24 7C 09 03 A6 */ mtctr r0
lbl_802E60C8:
/* 802E60C8 002E1D28 80 85 00 04 */ lwz r4, 4(r5)
/* 802E60CC 002E1D2C 84 05 00 08 */ lwzu r0, 8(r5)
/* 802E60D0 002E1D30 90 86 00 04 */ stw r4, 4(r6)
/* 802E60D4 002E1D34 94 06 00 08 */ stwu r0, 8(r6)
/* 802E60D8 002E1D38 42 00 FF F0 */ bdnz lbl_802E60C8
/* 802E60DC 002E1D3C A0 05 00 04 */ lhz r0, 4(r5)
/* 802E60E0 002E1D40 B0 06 00 04 */ sth r0, 4(r6)
/* 802E60E4 002E1D44 88 03 00 00 */ lbz r0, 0(r3)
/* 802E60E8 002E1D48 2C 00 00 00 */ cmpwi r0, 0
/* 802E60EC 002E1D4C 41 82 00 5C */ beq lbl_802E6148
/* 802E60F0 002E1D50 28 00 00 02 */ cmplwi r0, 2
/* 802E60F4 002E1D54 41 82 00 1C */ beq lbl_802E6110
/* 802E60F8 002E1D58 7E A3 AB 78 */ mr r3, r21
/* 802E60FC 002E1D5C 7E C4 B3 78 */ mr r4, r22
/* 802E6100 002E1D60 38 A0 00 05 */ li r5, 5
/* 802E6104 002E1D64 38 C0 00 00 */ li r6, 0
/* 802E6108 002E1D68 48 00 07 69 */ bl sdpu_build_n_send_error
/* 802E610C 002E1D6C 48 00 02 EC */ b lbl_802E63F8
lbl_802E6110:
/* 802E6110 002E1D70 88 03 00 01 */ lbz r0, 1(r3)
/* 802E6114 002E1D74 88 63 00 02 */ lbz r3, 2(r3)
/* 802E6118 002E1D78 54 04 40 2E */ slwi r4, r0, 8
/* 802E611C 002E1D7C A0 15 04 76 */ lhz r0, 0x476(r21)
/* 802E6120 002E1D80 7C 64 1A 14 */ add r3, r4, r3
/* 802E6124 002E1D84 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 802E6128 002E1D88 7C 03 00 40 */ cmplw r3, r0
/* 802E612C 002E1D8C 41 82 01 B0 */ beq lbl_802E62DC
/* 802E6130 002E1D90 7E A3 AB 78 */ mr r3, r21
/* 802E6134 002E1D94 7E C4 B3 78 */ mr r4, r22
/* 802E6138 002E1D98 38 A0 00 05 */ li r5, 5
/* 802E613C 002E1D9C 38 C0 00 00 */ li r6, 0
/* 802E6140 002E1DA0 48 00 07 31 */ bl sdpu_build_n_send_error
/* 802E6144 002E1DA4 48 00 02 B4 */ b lbl_802E63F8
lbl_802E6148:
/* 802E6148 002E1DA8 38 00 00 00 */ li r0, 0
/* 802E614C 002E1DAC 3B 95 00 29 */ addi r28, r21, 0x29
/* 802E6150 002E1DB0 B0 15 04 76 */ sth r0, 0x476(r21)
/* 802E6154 002E1DB4 38 81 00 90 */ addi r4, r1, 0x90
/* 802E6158 002E1DB8 38 60 00 00 */ li r3, 0
/* 802E615C 002E1DBC 4B FF CA F5 */ bl sdp_db_service_search
/* 802E6160 002E1DC0 7C 7A 1B 78 */ mr r26, r3
/* 802E6164 002E1DC4 3B E0 00 08 */ li r31, 8
/* 802E6168 002E1DC8 3A 80 00 36 */ li r20, 0x36
/* 802E616C 002E1DCC 48 00 01 14 */ b lbl_802E6280
lbl_802E6170:
/* 802E6170 002E1DD0 38 A1 00 48 */ addi r5, r1, 0x48
/* 802E6174 002E1DD4 38 81 00 04 */ addi r4, r1, 4
/* 802E6178 002E1DD8 7F E9 03 A6 */ mtctr r31
lbl_802E617C:
/* 802E617C 002E1DDC 80 64 00 04 */ lwz r3, 4(r4)
/* 802E6180 002E1DE0 84 04 00 08 */ lwzu r0, 8(r4)
/* 802E6184 002E1DE4 90 65 00 04 */ stw r3, 4(r5)
/* 802E6188 002E1DE8 94 05 00 08 */ stwu r0, 8(r5)
/* 802E618C 002E1DEC 42 00 FF F0 */ bdnz lbl_802E617C
/* 802E6190 002E1DF0 A0 04 00 04 */ lhz r0, 4(r4)
/* 802E6194 002E1DF4 7F 97 E3 78 */ mr r23, r28
/* 802E6198 002E1DF8 3B 60 00 00 */ li r27, 0
/* 802E619C 002E1DFC 3B 9C 00 03 */ addi r28, r28, 3
/* 802E61A0 002E1E00 B0 05 00 04 */ sth r0, 4(r5)
/* 802E61A4 002E1E04 48 00 00 8C */ b lbl_802E6230
lbl_802E61A8:
/* 802E61A8 002E1E08 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d
/* 802E61AC 002E1E0C 3B C1 00 4C */ addi r30, r1, 0x4c
/* 802E61B0 002E1E10 7F DE 02 14 */ add r30, r30, r0
/* 802E61B4 002E1E14 7F 43 D3 78 */ mr r3, r26
/* 802E61B8 002E1E18 A0 9E 00 02 */ lhz r4, 2(r30)
/* 802E61BC 002E1E1C A0 BE 00 04 */ lhz r5, 4(r30)
/* 802E61C0 002E1E20 4B FF CD 01 */ bl sdp_db_find_attr_in_rec
/* 802E61C4 002E1E24 2C 03 00 00 */ cmpwi r3, 0
/* 802E61C8 002E1E28 7C 79 1B 78 */ mr r25, r3
/* 802E61CC 002E1E2C 41 82 00 60 */ beq lbl_802E622C
/* 802E61D0 002E1E30 38 15 00 26 */ addi r0, r21, 0x26
/* 802E61D4 002E1E34 80 83 00 00 */ lwz r4, 0(r3)
/* 802E61D8 002E1E38 7C 00 E0 50 */ subf r0, r0, r28
/* 802E61DC 002E1E3C 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 802E61E0 002E1E40 20 00 03 E8 */ subfic r0, r0, 0x3e8
/* 802E61E4 002E1E44 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E61E8 002E1E48 38 03 FF FA */ addi r0, r3, -6
/* 802E61EC 002E1E4C 7C 04 00 40 */ cmplw r4, r0
/* 802E61F0 002E1E50 40 81 00 0C */ ble lbl_802E61FC
/* 802E61F4 002E1E54 3B 00 00 01 */ li r24, 1
/* 802E61F8 002E1E58 48 00 00 48 */ b lbl_802E6240
lbl_802E61FC:
/* 802E61FC 002E1E5C 7F 83 E3 78 */ mr r3, r28
/* 802E6200 002E1E60 7F 24 CB 78 */ mr r4, r25
/* 802E6204 002E1E64 48 00 05 19 */ bl sdpu_build_attrib_entry
/* 802E6208 002E1E68 A0 9E 00 02 */ lhz r4, 2(r30)
/* 802E620C 002E1E6C 7C 7C 1B 78 */ mr r28, r3
/* 802E6210 002E1E70 A0 1E 00 04 */ lhz r0, 4(r30)
/* 802E6214 002E1E74 7C 04 00 40 */ cmplw r4, r0
/* 802E6218 002E1E78 41 82 00 14 */ beq lbl_802E622C
/* 802E621C 002E1E7C A0 79 00 08 */ lhz r3, 8(r25)
/* 802E6220 002E1E80 3B 7B FF FF */ addi r27, r27, -1
/* 802E6224 002E1E84 38 03 00 01 */ addi r0, r3, 1
/* 802E6228 002E1E88 B0 1E 00 02 */ sth r0, 2(r30)
lbl_802E622C:
/* 802E622C 002E1E8C 3B 7B 00 01 */ addi r27, r27, 1
lbl_802E6230:
/* 802E6230 002E1E90 A0 01 00 4C */ lhz r0, 0x4c(r1)
/* 802E6234 002E1E94 57 63 04 3E */ clrlwi r3, r27, 0x10
/* 802E6238 002E1E98 7C 03 00 40 */ cmplw r3, r0
/* 802E623C 002E1E9C 41 80 FF 6C */ blt lbl_802E61A8
lbl_802E6240:
/* 802E6240 002E1EA0 2C 18 00 00 */ cmpwi r24, 0
/* 802E6244 002E1EA4 40 82 00 44 */ bne lbl_802E6288
/* 802E6248 002E1EA8 7C 77 E0 50 */ subf r3, r23, r28
/* 802E624C 002E1EAC 38 03 FF FD */ addi r0, r3, -3
/* 802E6250 002E1EB0 54 03 04 3F */ clrlwi. r3, r0, 0x10
/* 802E6254 002E1EB4 41 82 00 18 */ beq lbl_802E626C
/* 802E6258 002E1EB8 9A 97 00 00 */ stb r20, 0(r23)
/* 802E625C 002E1EBC 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 802E6260 002E1EC0 98 17 00 01 */ stb r0, 1(r23)
/* 802E6264 002E1EC4 98 77 00 02 */ stb r3, 2(r23)
/* 802E6268 002E1EC8 48 00 00 08 */ b lbl_802E6270
lbl_802E626C:
/* 802E626C 002E1ECC 7E FC BB 78 */ mr r28, r23
lbl_802E6270:
/* 802E6270 002E1ED0 7F 43 D3 78 */ mr r3, r26
/* 802E6274 002E1ED4 38 81 00 90 */ addi r4, r1, 0x90
/* 802E6278 002E1ED8 4B FF C9 D9 */ bl sdp_db_service_search
/* 802E627C 002E1EDC 7C 7A 1B 78 */ mr r26, r3
lbl_802E6280:
/* 802E6280 002E1EE0 2C 1A 00 00 */ cmpwi r26, 0
/* 802E6284 002E1EE4 40 82 FE EC */ bne lbl_802E6170
lbl_802E6288:
/* 802E6288 002E1EE8 38 15 00 26 */ addi r0, r21, 0x26
/* 802E628C 002E1EEC 7C 00 E0 50 */ subf r0, r0, r28
/* 802E6290 002E1EF0 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 802E6294 002E1EF4 B0 15 00 24 */ sth r0, 0x24(r21)
/* 802E6298 002E1EF8 28 04 00 FF */ cmplwi r4, 0xff
/* 802E629C 002E1EFC 40 81 00 20 */ ble lbl_802E62BC
/* 802E62A0 002E1F00 38 64 FF FD */ addi r3, r4, -3
/* 802E62A4 002E1F04 38 80 00 36 */ li r4, 0x36
/* 802E62A8 002E1F08 7C 60 46 70 */ srawi r0, r3, 8
/* 802E62AC 002E1F0C 98 95 00 26 */ stb r4, 0x26(r21)
/* 802E62B0 002E1F10 98 15 00 27 */ stb r0, 0x27(r21)
/* 802E62B4 002E1F14 98 75 00 28 */ stb r3, 0x28(r21)
/* 802E62B8 002E1F18 48 00 00 24 */ b lbl_802E62DC
lbl_802E62BC:
/* 802E62BC 002E1F1C 38 64 FF FD */ addi r3, r4, -3
/* 802E62C0 002E1F20 38 04 FF FF */ addi r0, r4, -1
/* 802E62C4 002E1F24 38 A0 00 01 */ li r5, 1
/* 802E62C8 002E1F28 38 80 00 35 */ li r4, 0x35
/* 802E62CC 002E1F2C B0 B5 04 76 */ sth r5, 0x476(r21)
/* 802E62D0 002E1F30 98 95 00 27 */ stb r4, 0x27(r21)
/* 802E62D4 002E1F34 98 75 00 28 */ stb r3, 0x28(r21)
/* 802E62D8 002E1F38 B0 15 00 24 */ sth r0, 0x24(r21)
lbl_802E62DC:
/* 802E62DC 002E1F3C 38 60 00 02 */ li r3, 2
/* 802E62E0 002E1F40 4B FD 39 6D */ bl GKI_getpoolbuf
/* 802E62E4 002E1F44 2C 03 00 00 */ cmpwi r3, 0
/* 802E62E8 002E1F48 7C 79 1B 78 */ mr r25, r3
/* 802E62EC 002E1F4C 40 82 00 2C */ bne lbl_802E6318
/* 802E62F0 002E1F50 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E62F4 002E1F54 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E62F8 002E1F58 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E62FC 002E1F5C 28 00 00 01 */ cmplwi r0, 1
/* 802E6300 002E1F60 41 80 00 F8 */ blt lbl_802E63F8
/* 802E6304 002E1F64 3C 80 80 44 */ lis r4, lbl_8044552C@ha
/* 802E6308 002E1F68 3C 60 00 0A */ lis r3, 0xa
/* 802E630C 002E1F6C 38 84 55 2C */ addi r4, r4, lbl_8044552C@l
/* 802E6310 002E1F70 4B FD 6C 01 */ bl LogMsg_0
/* 802E6314 002E1F74 48 00 00 E4 */ b lbl_802E63F8
lbl_802E6318:
/* 802E6318 002E1F78 38 00 00 09 */ li r0, 9
/* 802E631C 002E1F7C 3B 83 00 11 */ addi r28, r3, 0x11
/* 802E6320 002E1F80 B0 03 00 04 */ sth r0, 4(r3)
/* 802E6324 002E1F84 38 60 00 07 */ li r3, 7
/* 802E6328 002E1F88 3B DC 00 03 */ addi r30, r28, 3
/* 802E632C 002E1F8C 56 C0 C6 3E */ rlwinm r0, r22, 0x18, 0x18, 0x1f
/* 802E6330 002E1F90 98 7C 00 00 */ stb r3, 0(r28)
/* 802E6334 002E1F94 7F DF F3 78 */ mr r31, r30
/* 802E6338 002E1F98 98 1C 00 01 */ stb r0, 1(r28)
/* 802E633C 002E1F9C 9A DC 00 02 */ stb r22, 2(r28)
/* 802E6340 002E1FA0 A0 15 00 24 */ lhz r0, 0x24(r21)
/* 802E6344 002E1FA4 7C 00 E8 40 */ cmplw r0, r29
/* 802E6348 002E1FA8 41 81 00 08 */ bgt lbl_802E6350
/* 802E634C 002E1FAC 7C 1D 03 78 */ mr r29, r0
lbl_802E6350:
/* 802E6350 002E1FB0 57 A0 C6 3E */ rlwinm r0, r29, 0x18, 0x18, 0x1f
/* 802E6354 002E1FB4 57 A5 04 3E */ clrlwi r5, r29, 0x10
/* 802E6358 002E1FB8 98 1E 00 02 */ stb r0, 2(r30)
/* 802E635C 002E1FBC 9B BE 00 03 */ stb r29, 3(r30)
/* 802E6360 002E1FC0 3B DE 00 04 */ addi r30, r30, 4
/* 802E6364 002E1FC4 7F C3 F3 78 */ mr r3, r30
/* 802E6368 002E1FC8 A0 15 04 76 */ lhz r0, 0x476(r21)
/* 802E636C 002E1FCC 7C 95 02 14 */ add r4, r21, r0
/* 802E6370 002E1FD0 38 84 00 26 */ addi r4, r4, 0x26
/* 802E6374 002E1FD4 4B D1 DC 8D */ bl memcpy
/* 802E6378 002E1FD8 A0 15 00 24 */ lhz r0, 0x24(r21)
/* 802E637C 002E1FDC 57 A3 04 3E */ clrlwi r3, r29, 0x10
/* 802E6380 002E1FE0 7F DE 1A 14 */ add r30, r30, r3
/* 802E6384 002E1FE4 A0 95 04 76 */ lhz r4, 0x476(r21)
/* 802E6388 002E1FE8 7C 7D 00 50 */ subf r3, r29, r0
/* 802E638C 002E1FEC 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802E6390 002E1FF0 B0 75 00 24 */ sth r3, 0x24(r21)
/* 802E6394 002E1FF4 7C 04 EA 14 */ add r0, r4, r29
/* 802E6398 002E1FF8 B0 15 04 76 */ sth r0, 0x476(r21)
/* 802E639C 002E1FFC 41 82 00 28 */ beq lbl_802E63C4
/* 802E63A0 002E2000 38 00 00 02 */ li r0, 2
/* 802E63A4 002E2004 98 1E 00 00 */ stb r0, 0(r30)
/* 802E63A8 002E2008 A0 15 04 76 */ lhz r0, 0x476(r21)
/* 802E63AC 002E200C 7C 00 46 70 */ srawi r0, r0, 8
/* 802E63B0 002E2010 98 1E 00 01 */ stb r0, 1(r30)
/* 802E63B4 002E2014 A0 15 04 76 */ lhz r0, 0x476(r21)
/* 802E63B8 002E2018 98 1E 00 02 */ stb r0, 2(r30)
/* 802E63BC 002E201C 3B DE 00 03 */ addi r30, r30, 3
/* 802E63C0 002E2020 48 00 00 10 */ b lbl_802E63D0
lbl_802E63C4:
/* 802E63C4 002E2024 38 00 00 00 */ li r0, 0
/* 802E63C8 002E2028 98 1E 00 00 */ stb r0, 0(r30)
/* 802E63CC 002E202C 3B DE 00 01 */ addi r30, r30, 1
lbl_802E63D0:
/* 802E63D0 002E2030 7C 7F F0 50 */ subf r3, r31, r30
/* 802E63D4 002E2034 7C 1C F0 50 */ subf r0, r28, r30
/* 802E63D8 002E2038 38 A3 FF FE */ addi r5, r3, -2
/* 802E63DC 002E203C 7F 24 CB 78 */ mr r4, r25
/* 802E63E0 002E2040 54 A3 C6 3E */ rlwinm r3, r5, 0x18, 0x18, 0x1f
/* 802E63E4 002E2044 98 7F 00 00 */ stb r3, 0(r31)
/* 802E63E8 002E2048 98 BF 00 01 */ stb r5, 1(r31)
/* 802E63EC 002E204C B0 19 00 02 */ sth r0, 2(r25)
/* 802E63F0 002E2050 A0 75 00 22 */ lhz r3, 0x22(r21)
/* 802E63F4 002E2054 4B FE FC FD */ bl L2CA_DataWrite
lbl_802E63F8:
/* 802E63F8 002E2058 39 61 01 F0 */ addi r11, r1, 0x1f0
/* 802E63FC 002E205C 4B EE 0D 5D */ bl _restgpr_20
/* 802E6400 002E2060 80 01 01 F4 */ lwz r0, 0x1f4(r1)
/* 802E6404 002E2064 7C 08 03 A6 */ mtlr r0
/* 802E6408 002E2068 38 21 01 F0 */ addi r1, r1, 0x1f0
/* 802E640C 002E206C 4E 80 00 20 */ blr
|