1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global HID_HostGetSDPRecord
HID_HostGetSDPRecord:
/* 802D2A70 002CE6D0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D2A74 002CE6D4 7C 08 02 A6 */ mflr r0
/* 802D2A78 002CE6D8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D2A7C 002CE6DC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802D2A80 002CE6E0 3F E0 80 57 */ lis r31, lbl_8056B838@ha
/* 802D2A84 002CE6E4 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l
/* 802D2A88 002CE6E8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802D2A8C 002CE6EC 7C DE 33 78 */ mr r30, r6
/* 802D2A90 002CE6F0 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802D2A94 002CE6F4 7C 9D 23 78 */ mr r29, r4
/* 802D2A98 002CE6F8 93 81 00 20 */ stw r28, 0x20(r1)
/* 802D2A9C 002CE6FC 7C 7C 1B 78 */ mr r28, r3
/* 802D2AA0 002CE700 88 1F 03 80 */ lbz r0, 0x380(r31)
/* 802D2AA4 002CE704 2C 00 00 00 */ cmpwi r0, 0
/* 802D2AA8 002CE708 41 82 00 0C */ beq lbl_802D2AB4
/* 802D2AAC 002CE70C 38 60 00 10 */ li r3, 0x10
/* 802D2AB0 002CE710 48 00 00 68 */ b lbl_802D2B18
lbl_802D2AB4:
/* 802D2AB4 002CE714 38 E0 00 02 */ li r7, 2
/* 802D2AB8 002CE718 38 00 11 24 */ li r0, 0x1124
/* 802D2ABC 002CE71C 90 9F 03 88 */ stw r4, 0x388(r31)
/* 802D2AC0 002CE720 7C A4 2B 78 */ mr r4, r5
/* 802D2AC4 002CE724 7F A3 EB 78 */ mr r3, r29
/* 802D2AC8 002CE728 38 C1 00 08 */ addi r6, r1, 8
/* 802D2ACC 002CE72C B0 E1 00 08 */ sth r7, 8(r1)
/* 802D2AD0 002CE730 38 A0 00 01 */ li r5, 1
/* 802D2AD4 002CE734 38 E0 00 00 */ li r7, 0
/* 802D2AD8 002CE738 39 00 00 00 */ li r8, 0
/* 802D2ADC 002CE73C B0 01 00 0C */ sth r0, 0xc(r1)
/* 802D2AE0 002CE740 48 00 F3 09 */ bl SDP_InitDiscoveryDb
/* 802D2AE4 002CE744 3C A0 80 2D */ lis r5, hidh_search_callback@ha
/* 802D2AE8 002CE748 7F 83 E3 78 */ mr r3, r28
/* 802D2AEC 002CE74C 7F A4 EB 78 */ mr r4, r29
/* 802D2AF0 002CE750 38 A5 2B 38 */ addi r5, r5, hidh_search_callback@l
/* 802D2AF4 002CE754 48 00 F6 6D */ bl SDP_ServiceSearchRequest
/* 802D2AF8 002CE758 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D2AFC 002CE75C 41 82 00 18 */ beq lbl_802D2B14
/* 802D2B00 002CE760 38 00 00 01 */ li r0, 1
/* 802D2B04 002CE764 93 DF 03 84 */ stw r30, 0x384(r31)
/* 802D2B08 002CE768 38 60 00 00 */ li r3, 0
/* 802D2B0C 002CE76C 98 1F 03 80 */ stb r0, 0x380(r31)
/* 802D2B10 002CE770 48 00 00 08 */ b lbl_802D2B18
lbl_802D2B14:
/* 802D2B14 002CE774 38 60 00 03 */ li r3, 3
lbl_802D2B18:
/* 802D2B18 002CE778 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D2B1C 002CE77C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802D2B20 002CE780 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802D2B24 002CE784 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802D2B28 002CE788 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802D2B2C 002CE78C 7C 08 03 A6 */ mtlr r0
/* 802D2B30 002CE790 38 21 00 30 */ addi r1, r1, 0x30
/* 802D2B34 002CE794 4E 80 00 20 */ blr
hidh_search_callback:
/* 802D2B38 002CE798 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D2B3C 002CE79C 7C 08 02 A6 */ mflr r0
/* 802D2B40 002CE7A0 38 80 00 02 */ li r4, 2
/* 802D2B44 002CE7A4 2C 03 00 00 */ cmpwi r3, 0
/* 802D2B48 002CE7A8 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D2B4C 002CE7AC 38 00 11 24 */ li r0, 0x1124
/* 802D2B50 002CE7B0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802D2B54 002CE7B4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802D2B58 002CE7B8 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802D2B5C 002CE7BC 3B A0 00 00 */ li r29, 0
/* 802D2B60 002CE7C0 93 81 00 20 */ stw r28, 0x20(r1)
/* 802D2B64 002CE7C4 3F 80 80 57 */ lis r28, lbl_8056B838@ha
/* 802D2B68 002CE7C8 3B 9C B8 38 */ addi r28, r28, lbl_8056B838@l
/* 802D2B6C 002CE7CC B0 81 00 08 */ sth r4, 8(r1)
/* 802D2B70 002CE7D0 3B DC 03 8C */ addi r30, r28, 0x38c
/* 802D2B74 002CE7D4 80 9C 03 88 */ lwz r4, 0x388(r28)
/* 802D2B78 002CE7D8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802D2B7C 002CE7DC 9B BC 03 80 */ stb r29, 0x380(r28)
/* 802D2B80 002CE7E0 41 82 00 1C */ beq lbl_802D2B9C
/* 802D2B84 002CE7E4 81 9C 03 84 */ lwz r12, 0x384(r28)
/* 802D2B88 002CE7E8 38 80 00 00 */ li r4, 0
/* 802D2B8C 002CE7EC 38 A0 00 00 */ li r5, 0
/* 802D2B90 002CE7F0 7D 89 03 A6 */ mtctr r12
/* 802D2B94 002CE7F4 4E 80 04 21 */ bctrl
/* 802D2B98 002CE7F8 48 00 03 D0 */ b lbl_802D2F68
lbl_802D2B9C:
/* 802D2B9C 002CE7FC 7C 83 23 78 */ mr r3, r4
/* 802D2BA0 002CE800 38 81 00 08 */ addi r4, r1, 8
/* 802D2BA4 002CE804 38 A0 00 00 */ li r5, 0
/* 802D2BA8 002CE808 48 00 F7 6D */ bl SDP_FindServiceUUIDInDb
/* 802D2BAC 002CE80C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2BB0 002CE810 7C 7F 1B 78 */ mr r31, r3
/* 802D2BB4 002CE814 40 82 00 20 */ bne lbl_802D2BD4
/* 802D2BB8 002CE818 81 9C 03 84 */ lwz r12, 0x384(r28)
/* 802D2BBC 002CE81C 38 60 00 0C */ li r3, 0xc
/* 802D2BC0 002CE820 38 80 00 00 */ li r4, 0
/* 802D2BC4 002CE824 38 A0 00 00 */ li r5, 0
/* 802D2BC8 002CE828 7D 89 03 A6 */ mtctr r12
/* 802D2BCC 002CE82C 4E 80 04 21 */ bctrl
/* 802D2BD0 002CE830 48 00 03 98 */ b lbl_802D2F68
lbl_802D2BD4:
/* 802D2BD4 002CE834 7F C3 F3 78 */ mr r3, r30
/* 802D2BD8 002CE838 38 80 00 00 */ li r4, 0
/* 802D2BDC 002CE83C 38 A0 00 74 */ li r5, 0x74
/* 802D2BE0 002CE840 4B D3 15 25 */ bl memset
/* 802D2BE4 002CE844 7F E3 FB 78 */ mr r3, r31
/* 802D2BE8 002CE848 38 80 02 06 */ li r4, 0x206
/* 802D2BEC 002CE84C 48 00 F6 35 */ bl SDP_FindAttributeInRec
/* 802D2BF0 002CE850 2C 03 00 00 */ cmpwi r3, 0
/* 802D2BF4 002CE854 41 82 00 58 */ beq lbl_802D2C4C
/* 802D2BF8 002CE858 A0 03 00 06 */ lhz r0, 6(r3)
/* 802D2BFC 002CE85C 7C 00 66 70 */ srawi r0, r0, 0xc
/* 802D2C00 002CE860 2C 00 00 06 */ cmpwi r0, 6
/* 802D2C04 002CE864 40 82 00 48 */ bne lbl_802D2C4C
/* 802D2C08 002CE868 80 63 00 08 */ lwz r3, 8(r3)
/* 802D2C0C 002CE86C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2C10 002CE870 41 82 00 3C */ beq lbl_802D2C4C
/* 802D2C14 002CE874 A0 03 00 06 */ lhz r0, 6(r3)
/* 802D2C18 002CE878 7C 00 66 70 */ srawi r0, r0, 0xc
/* 802D2C1C 002CE87C 2C 00 00 06 */ cmpwi r0, 6
/* 802D2C20 002CE880 40 82 00 2C */ bne lbl_802D2C4C
/* 802D2C24 002CE884 80 63 00 08 */ lwz r3, 8(r3)
/* 802D2C28 002CE888 2C 03 00 00 */ cmpwi r3, 0
/* 802D2C2C 002CE88C 41 82 00 20 */ beq lbl_802D2C4C
/* 802D2C30 002CE890 80 83 00 00 */ lwz r4, 0(r3)
/* 802D2C34 002CE894 2C 04 00 00 */ cmpwi r4, 0
/* 802D2C38 002CE898 41 82 00 14 */ beq lbl_802D2C4C
/* 802D2C3C 002CE89C A0 64 00 06 */ lhz r3, 6(r4)
/* 802D2C40 002CE8A0 7C 60 66 70 */ srawi r0, r3, 0xc
/* 802D2C44 002CE8A4 2C 00 00 04 */ cmpwi r0, 4
/* 802D2C48 002CE8A8 41 82 00 28 */ beq lbl_802D2C70
lbl_802D2C4C:
/* 802D2C4C 002CE8AC 3C A0 80 57 */ lis r5, lbl_8056B838@ha
/* 802D2C50 002CE8B0 38 60 00 0D */ li r3, 0xd
/* 802D2C54 002CE8B4 38 A5 B8 38 */ addi r5, r5, lbl_8056B838@l
/* 802D2C58 002CE8B8 38 80 00 00 */ li r4, 0
/* 802D2C5C 002CE8BC 81 85 03 84 */ lwz r12, 0x384(r5)
/* 802D2C60 002CE8C0 38 A0 00 00 */ li r5, 0
/* 802D2C64 002CE8C4 7D 89 03 A6 */ mtctr r12
/* 802D2C68 002CE8C8 4E 80 04 21 */ bctrl
/* 802D2C6C 002CE8CC 48 00 02 FC */ b lbl_802D2F68
lbl_802D2C70:
/* 802D2C70 002CE8D0 54 60 05 3F */ clrlwi. r0, r3, 0x14
/* 802D2C74 002CE8D4 B0 1E 00 68 */ sth r0, 0x68(r30)
/* 802D2C78 002CE8D8 41 82 00 0C */ beq lbl_802D2C84
/* 802D2C7C 002CE8DC 38 04 00 08 */ addi r0, r4, 8
/* 802D2C80 002CE8E0 90 1E 00 6C */ stw r0, 0x6c(r30)
lbl_802D2C84:
/* 802D2C84 002CE8E4 7F E3 FB 78 */ mr r3, r31
/* 802D2C88 002CE8E8 38 80 02 04 */ li r4, 0x204
/* 802D2C8C 002CE8EC 48 00 F5 95 */ bl SDP_FindAttributeInRec
/* 802D2C90 002CE8F0 2C 03 00 00 */ cmpwi r3, 0
/* 802D2C94 002CE8F4 41 82 00 14 */ beq lbl_802D2CA8
/* 802D2C98 002CE8F8 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2C9C 002CE8FC 2C 00 00 00 */ cmpwi r0, 0
/* 802D2CA0 002CE900 41 82 00 08 */ beq lbl_802D2CA8
/* 802D2CA4 002CE904 63 BD 00 01 */ ori r29, r29, 1
lbl_802D2CA8:
/* 802D2CA8 002CE908 7F E3 FB 78 */ mr r3, r31
/* 802D2CAC 002CE90C 38 80 02 05 */ li r4, 0x205
/* 802D2CB0 002CE910 48 00 F5 71 */ bl SDP_FindAttributeInRec
/* 802D2CB4 002CE914 2C 03 00 00 */ cmpwi r3, 0
/* 802D2CB8 002CE918 41 82 00 18 */ beq lbl_802D2CD0
/* 802D2CBC 002CE91C 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2CC0 002CE920 2C 00 00 00 */ cmpwi r0, 0
/* 802D2CC4 002CE924 41 82 00 0C */ beq lbl_802D2CD0
/* 802D2CC8 002CE928 63 A0 00 04 */ ori r0, r29, 4
/* 802D2CCC 002CE92C 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802D2CD0:
/* 802D2CD0 002CE930 7F E3 FB 78 */ mr r3, r31
/* 802D2CD4 002CE934 38 80 02 0D */ li r4, 0x20d
/* 802D2CD8 002CE938 48 00 F5 49 */ bl SDP_FindAttributeInRec
/* 802D2CDC 002CE93C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2CE0 002CE940 41 82 00 18 */ beq lbl_802D2CF8
/* 802D2CE4 002CE944 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2CE8 002CE948 2C 00 00 00 */ cmpwi r0, 0
/* 802D2CEC 002CE94C 41 82 00 0C */ beq lbl_802D2CF8
/* 802D2CF0 002CE950 63 A0 00 02 */ ori r0, r29, 2
/* 802D2CF4 002CE954 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802D2CF8:
/* 802D2CF8 002CE958 7F E3 FB 78 */ mr r3, r31
/* 802D2CFC 002CE95C 38 80 02 08 */ li r4, 0x208
/* 802D2D00 002CE960 48 00 F5 21 */ bl SDP_FindAttributeInRec
/* 802D2D04 002CE964 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D08 002CE968 41 82 00 18 */ beq lbl_802D2D20
/* 802D2D0C 002CE96C 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2D10 002CE970 2C 00 00 00 */ cmpwi r0, 0
/* 802D2D14 002CE974 41 82 00 0C */ beq lbl_802D2D20
/* 802D2D18 002CE978 63 A0 00 08 */ ori r0, r29, 8
/* 802D2D1C 002CE97C 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802D2D20:
/* 802D2D20 002CE980 7F E3 FB 78 */ mr r3, r31
/* 802D2D24 002CE984 38 80 02 09 */ li r4, 0x209
/* 802D2D28 002CE988 48 00 F4 F9 */ bl SDP_FindAttributeInRec
/* 802D2D2C 002CE98C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D30 002CE990 41 82 00 18 */ beq lbl_802D2D48
/* 802D2D34 002CE994 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2D38 002CE998 2C 00 00 00 */ cmpwi r0, 0
/* 802D2D3C 002CE99C 41 82 00 0C */ beq lbl_802D2D48
/* 802D2D40 002CE9A0 63 A0 00 10 */ ori r0, r29, 0x10
/* 802D2D44 002CE9A4 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802D2D48:
/* 802D2D48 002CE9A8 7F E3 FB 78 */ mr r3, r31
/* 802D2D4C 002CE9AC 38 80 02 0A */ li r4, 0x20a
/* 802D2D50 002CE9B0 48 00 F4 D1 */ bl SDP_FindAttributeInRec
/* 802D2D54 002CE9B4 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D58 002CE9B8 41 82 00 18 */ beq lbl_802D2D70
/* 802D2D5C 002CE9BC 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2D60 002CE9C0 2C 00 00 00 */ cmpwi r0, 0
/* 802D2D64 002CE9C4 41 82 00 0C */ beq lbl_802D2D70
/* 802D2D68 002CE9C8 63 A0 00 20 */ ori r0, r29, 0x20
/* 802D2D6C 002CE9CC 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802D2D70:
/* 802D2D70 002CE9D0 7F E3 FB 78 */ mr r3, r31
/* 802D2D74 002CE9D4 38 80 01 00 */ li r4, 0x100
/* 802D2D78 002CE9D8 48 00 F4 A9 */ bl SDP_FindAttributeInRec
/* 802D2D7C 002CE9DC 2C 03 00 00 */ cmpwi r3, 0
/* 802D2D80 002CE9E0 7C 64 1B 78 */ mr r4, r3
/* 802D2D84 002CE9E4 41 82 00 4C */ beq lbl_802D2DD0
/* 802D2D88 002CE9E8 A0 03 00 06 */ lhz r0, 6(r3)
/* 802D2D8C 002CE9EC 54 1C 05 3E */ clrlwi r28, r0, 0x14
/* 802D2D90 002CE9F0 28 1C 00 20 */ cmplwi r28, 0x20
/* 802D2D94 002CE9F4 40 80 00 20 */ bge lbl_802D2DB4
/* 802D2D98 002CE9F8 7F C3 F3 78 */ mr r3, r30
/* 802D2D9C 002CE9FC 7F 85 E3 78 */ mr r5, r28
/* 802D2DA0 002CEA00 38 84 00 08 */ addi r4, r4, 8
/* 802D2DA4 002CEA04 4B D3 12 5D */ bl memcpy
/* 802D2DA8 002CEA08 38 00 00 00 */ li r0, 0
/* 802D2DAC 002CEA0C 7C 1E E1 AE */ stbx r0, r30, r28
/* 802D2DB0 002CEA10 48 00 00 28 */ b lbl_802D2DD8
lbl_802D2DB4:
/* 802D2DB4 002CEA14 7F C3 F3 78 */ mr r3, r30
/* 802D2DB8 002CEA18 38 84 00 08 */ addi r4, r4, 8
/* 802D2DBC 002CEA1C 38 A0 00 1F */ li r5, 0x1f
/* 802D2DC0 002CEA20 4B D3 12 41 */ bl memcpy
/* 802D2DC4 002CEA24 38 00 00 00 */ li r0, 0
/* 802D2DC8 002CEA28 98 1E 00 20 */ stb r0, 0x20(r30)
/* 802D2DCC 002CEA2C 48 00 00 0C */ b lbl_802D2DD8
lbl_802D2DD0:
/* 802D2DD0 002CEA30 38 00 00 00 */ li r0, 0
/* 802D2DD4 002CEA34 98 1E 00 00 */ stb r0, 0(r30)
lbl_802D2DD8:
/* 802D2DD8 002CEA38 7F E3 FB 78 */ mr r3, r31
/* 802D2DDC 002CEA3C 38 80 01 01 */ li r4, 0x101
/* 802D2DE0 002CEA40 48 00 F4 41 */ bl SDP_FindAttributeInRec
/* 802D2DE4 002CEA44 2C 03 00 00 */ cmpwi r3, 0
/* 802D2DE8 002CEA48 7C 64 1B 78 */ mr r4, r3
/* 802D2DEC 002CEA4C 41 82 00 50 */ beq lbl_802D2E3C
/* 802D2DF0 002CEA50 A0 03 00 06 */ lhz r0, 6(r3)
/* 802D2DF4 002CEA54 54 1C 05 3E */ clrlwi r28, r0, 0x14
/* 802D2DF8 002CEA58 28 1C 00 20 */ cmplwi r28, 0x20
/* 802D2DFC 002CEA5C 40 80 00 24 */ bge lbl_802D2E20
/* 802D2E00 002CEA60 7F 85 E3 78 */ mr r5, r28
/* 802D2E04 002CEA64 38 7E 00 20 */ addi r3, r30, 0x20
/* 802D2E08 002CEA68 38 84 00 08 */ addi r4, r4, 8
/* 802D2E0C 002CEA6C 4B D3 11 F5 */ bl memcpy
/* 802D2E10 002CEA70 7C 7E E2 14 */ add r3, r30, r28
/* 802D2E14 002CEA74 38 00 00 00 */ li r0, 0
/* 802D2E18 002CEA78 98 03 00 20 */ stb r0, 0x20(r3)
/* 802D2E1C 002CEA7C 48 00 00 28 */ b lbl_802D2E44
lbl_802D2E20:
/* 802D2E20 002CEA80 38 7E 00 20 */ addi r3, r30, 0x20
/* 802D2E24 002CEA84 38 84 00 08 */ addi r4, r4, 8
/* 802D2E28 002CEA88 38 A0 00 1F */ li r5, 0x1f
/* 802D2E2C 002CEA8C 4B D3 11 D5 */ bl memcpy
/* 802D2E30 002CEA90 38 00 00 00 */ li r0, 0
/* 802D2E34 002CEA94 98 1E 00 40 */ stb r0, 0x40(r30)
/* 802D2E38 002CEA98 48 00 00 0C */ b lbl_802D2E44
lbl_802D2E3C:
/* 802D2E3C 002CEA9C 38 00 00 00 */ li r0, 0
/* 802D2E40 002CEAA0 98 1E 00 20 */ stb r0, 0x20(r30)
lbl_802D2E44:
/* 802D2E44 002CEAA4 7F E3 FB 78 */ mr r3, r31
/* 802D2E48 002CEAA8 38 80 01 02 */ li r4, 0x102
/* 802D2E4C 002CEAAC 48 00 F3 D5 */ bl SDP_FindAttributeInRec
/* 802D2E50 002CEAB0 2C 03 00 00 */ cmpwi r3, 0
/* 802D2E54 002CEAB4 7C 64 1B 78 */ mr r4, r3
/* 802D2E58 002CEAB8 41 82 00 50 */ beq lbl_802D2EA8
/* 802D2E5C 002CEABC A0 03 00 06 */ lhz r0, 6(r3)
/* 802D2E60 002CEAC0 54 1C 05 3E */ clrlwi r28, r0, 0x14
/* 802D2E64 002CEAC4 28 1C 00 20 */ cmplwi r28, 0x20
/* 802D2E68 002CEAC8 40 80 00 24 */ bge lbl_802D2E8C
/* 802D2E6C 002CEACC 7F 85 E3 78 */ mr r5, r28
/* 802D2E70 002CEAD0 38 7E 00 40 */ addi r3, r30, 0x40
/* 802D2E74 002CEAD4 38 84 00 08 */ addi r4, r4, 8
/* 802D2E78 002CEAD8 4B D3 11 89 */ bl memcpy
/* 802D2E7C 002CEADC 7C 7E E2 14 */ add r3, r30, r28
/* 802D2E80 002CEAE0 38 00 00 00 */ li r0, 0
/* 802D2E84 002CEAE4 98 03 00 40 */ stb r0, 0x40(r3)
/* 802D2E88 002CEAE8 48 00 00 28 */ b lbl_802D2EB0
lbl_802D2E8C:
/* 802D2E8C 002CEAEC 38 7E 00 40 */ addi r3, r30, 0x40
/* 802D2E90 002CEAF0 38 84 00 08 */ addi r4, r4, 8
/* 802D2E94 002CEAF4 38 A0 00 1F */ li r5, 0x1f
/* 802D2E98 002CEAF8 4B D3 11 69 */ bl memcpy
/* 802D2E9C 002CEAFC 38 00 00 00 */ li r0, 0
/* 802D2EA0 002CEB00 98 1E 00 60 */ stb r0, 0x60(r30)
/* 802D2EA4 002CEB04 48 00 00 0C */ b lbl_802D2EB0
lbl_802D2EA8:
/* 802D2EA8 002CEB08 38 00 00 00 */ li r0, 0
/* 802D2EAC 002CEB0C 98 1E 00 40 */ stb r0, 0x40(r30)
lbl_802D2EB0:
/* 802D2EB0 002CEB10 7F E3 FB 78 */ mr r3, r31
/* 802D2EB4 002CEB14 38 80 02 00 */ li r4, 0x200
/* 802D2EB8 002CEB18 48 00 F3 69 */ bl SDP_FindAttributeInRec
/* 802D2EBC 002CEB1C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2EC0 002CEB20 41 82 00 0C */ beq lbl_802D2ECC
/* 802D2EC4 002CEB24 A0 03 00 08 */ lhz r0, 8(r3)
/* 802D2EC8 002CEB28 B0 1E 00 60 */ sth r0, 0x60(r30)
lbl_802D2ECC:
/* 802D2ECC 002CEB2C 7F E3 FB 78 */ mr r3, r31
/* 802D2ED0 002CEB30 38 80 02 03 */ li r4, 0x203
/* 802D2ED4 002CEB34 48 00 F3 4D */ bl SDP_FindAttributeInRec
/* 802D2ED8 002CEB38 2C 03 00 00 */ cmpwi r3, 0
/* 802D2EDC 002CEB3C 41 82 00 0C */ beq lbl_802D2EE8
/* 802D2EE0 002CEB40 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2EE4 002CEB44 98 1E 00 65 */ stb r0, 0x65(r30)
lbl_802D2EE8:
/* 802D2EE8 002CEB48 7F E3 FB 78 */ mr r3, r31
/* 802D2EEC 002CEB4C 38 80 02 02 */ li r4, 0x202
/* 802D2EF0 002CEB50 48 00 F3 31 */ bl SDP_FindAttributeInRec
/* 802D2EF4 002CEB54 2C 03 00 00 */ cmpwi r3, 0
/* 802D2EF8 002CEB58 41 82 00 0C */ beq lbl_802D2F04
/* 802D2EFC 002CEB5C 88 03 00 08 */ lbz r0, 8(r3)
/* 802D2F00 002CEB60 98 1E 00 64 */ stb r0, 0x64(r30)
lbl_802D2F04:
/* 802D2F04 002CEB64 7F E3 FB 78 */ mr r3, r31
/* 802D2F08 002CEB68 38 80 02 01 */ li r4, 0x201
/* 802D2F0C 002CEB6C 48 00 F3 15 */ bl SDP_FindAttributeInRec
/* 802D2F10 002CEB70 2C 03 00 00 */ cmpwi r3, 0
/* 802D2F14 002CEB74 41 82 00 0C */ beq lbl_802D2F20
/* 802D2F18 002CEB78 A0 03 00 08 */ lhz r0, 8(r3)
/* 802D2F1C 002CEB7C B0 1E 00 62 */ sth r0, 0x62(r30)
lbl_802D2F20:
/* 802D2F20 002CEB80 7F E3 FB 78 */ mr r3, r31
/* 802D2F24 002CEB84 38 80 02 0C */ li r4, 0x20c
/* 802D2F28 002CEB88 48 00 F2 F9 */ bl SDP_FindAttributeInRec
/* 802D2F2C 002CEB8C 2C 03 00 00 */ cmpwi r3, 0
/* 802D2F30 002CEB90 41 82 00 14 */ beq lbl_802D2F44
/* 802D2F34 002CEB94 A0 03 00 08 */ lhz r0, 8(r3)
/* 802D2F38 002CEB98 63 A3 00 40 */ ori r3, r29, 0x40
/* 802D2F3C 002CEB9C 54 7D 04 3E */ clrlwi r29, r3, 0x10
/* 802D2F40 002CEBA0 B0 1E 00 66 */ sth r0, 0x66(r30)
lbl_802D2F44:
/* 802D2F44 002CEBA4 3C C0 80 57 */ lis r6, lbl_8056B838@ha
/* 802D2F48 002CEBA8 57 A4 04 3E */ clrlwi r4, r29, 0x10
/* 802D2F4C 002CEBAC 38 C6 B8 38 */ addi r6, r6, lbl_8056B838@l
/* 802D2F50 002CEBB0 38 60 00 00 */ li r3, 0
/* 802D2F54 002CEBB4 81 86 03 84 */ lwz r12, 0x384(r6)
/* 802D2F58 002CEBB8 38 A6 03 8C */ addi r5, r6, 0x38c
/* 802D2F5C 002CEBBC 93 E6 03 FC */ stw r31, 0x3fc(r6)
/* 802D2F60 002CEBC0 7D 89 03 A6 */ mtctr r12
/* 802D2F64 002CEBC4 4E 80 04 21 */ bctrl
lbl_802D2F68:
/* 802D2F68 002CEBC8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D2F6C 002CEBCC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802D2F70 002CEBD0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802D2F74 002CEBD4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802D2F78 002CEBD8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802D2F7C 002CEBDC 7C 08 03 A6 */ mtlr r0
/* 802D2F80 002CEBE0 38 21 00 30 */ addi r1, r1, 0x30
/* 802D2F84 002CEBE4 4E 80 00 20 */ blr
.global HID_HostInit
HID_HostInit:
/* 802D2F88 002CEBE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D2F8C 002CEBEC 7C 08 02 A6 */ mflr r0
/* 802D2F90 002CEBF0 38 80 00 00 */ li r4, 0
/* 802D2F94 002CEBF4 38 A0 04 04 */ li r5, 0x404
/* 802D2F98 002CEBF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D2F9C 002CEBFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D2FA0 002CEC00 3F E0 80 57 */ lis r31, lbl_8056B838@ha
/* 802D2FA4 002CEC04 38 7F B8 38 */ addi r3, r31, lbl_8056B838@l
/* 802D2FA8 002CEC08 4B D3 11 5D */ bl memset
/* 802D2FAC 002CEC0C 38 7F B8 38 */ addi r3, r31, -18376
/* 802D2FB0 002CEC10 38 00 00 00 */ li r0, 0
/* 802D2FB4 002CEC14 98 03 04 01 */ stb r0, 0x401(r3)
/* 802D2FB8 002CEC18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D2FBC 002CEC1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D2FC0 002CEC20 7C 08 03 A6 */ mtlr r0
/* 802D2FC4 002CEC24 38 21 00 10 */ addi r1, r1, 0x10
/* 802D2FC8 002CEC28 4E 80 00 20 */ blr
.global HID_HostRegister
HID_HostRegister:
/* 802D2FCC 002CEC2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D2FD0 002CEC30 7C 08 02 A6 */ mflr r0
/* 802D2FD4 002CEC34 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D2FD8 002CEC38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D2FDC 002CEC3C 3F E0 80 57 */ lis r31, lbl_8056B838@ha
/* 802D2FE0 002CEC40 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l
/* 802D2FE4 002CEC44 93 C1 00 08 */ stw r30, 8(r1)
/* 802D2FE8 002CEC48 7C 7E 1B 78 */ mr r30, r3
/* 802D2FEC 002CEC4C 88 1F 04 00 */ lbz r0, 0x400(r31)
/* 802D2FF0 002CEC50 2C 00 00 00 */ cmpwi r0, 0
/* 802D2FF4 002CEC54 41 82 00 0C */ beq lbl_802D3000
/* 802D2FF8 002CEC58 38 60 00 02 */ li r3, 2
/* 802D2FFC 002CEC5C 48 00 00 34 */ b lbl_802D3030
lbl_802D3000:
/* 802D3000 002CEC60 2C 03 00 00 */ cmpwi r3, 0
/* 802D3004 002CEC64 40 82 00 0C */ bne lbl_802D3010
/* 802D3008 002CEC68 38 60 00 05 */ li r3, 5
/* 802D300C 002CEC6C 48 00 00 24 */ b lbl_802D3030
lbl_802D3010:
/* 802D3010 002CEC70 48 00 07 E1 */ bl hidh_conn_reg
/* 802D3014 002CEC74 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D3018 002CEC78 41 82 00 08 */ beq lbl_802D3020
/* 802D301C 002CEC7C 48 00 00 14 */ b lbl_802D3030
lbl_802D3020:
/* 802D3020 002CEC80 38 00 00 01 */ li r0, 1
/* 802D3024 002CEC84 93 DF 03 40 */ stw r30, 0x340(r31)
/* 802D3028 002CEC88 38 60 00 00 */ li r3, 0
/* 802D302C 002CEC8C 98 1F 04 00 */ stb r0, 0x400(r31)
lbl_802D3030:
/* 802D3030 002CEC90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D3034 002CEC94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D3038 002CEC98 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D303C 002CEC9C 7C 08 03 A6 */ mtlr r0
/* 802D3040 002CECA0 38 21 00 10 */ addi r1, r1, 0x10
/* 802D3044 002CECA4 4E 80 00 20 */ blr
.global HID_HostDeregister
HID_HostDeregister:
/* 802D3048 002CECA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D304C 002CECAC 7C 08 02 A6 */ mflr r0
/* 802D3050 002CECB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D3054 002CECB4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D3058 002CECB8 4B EF 40 D1 */ bl _savegpr_27
/* 802D305C 002CECBC 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D3060 002CECC0 3B A3 B8 38 */ addi r29, r3, lbl_8056B838@l
/* 802D3064 002CECC4 88 1D 04 00 */ lbz r0, 0x400(r29)
/* 802D3068 002CECC8 2C 00 00 00 */ cmpwi r0, 0
/* 802D306C 002CECCC 40 82 00 0C */ bne lbl_802D3078
/* 802D3070 002CECD0 38 60 00 01 */ li r3, 1
/* 802D3074 002CECD4 48 00 00 A0 */ b lbl_802D3114
lbl_802D3078:
/* 802D3078 002CECD8 3B 60 00 00 */ li r27, 0
/* 802D307C 002CECDC 3B C0 00 01 */ li r30, 1
/* 802D3080 002CECE0 3B E0 00 00 */ li r31, 0
lbl_802D3084:
/* 802D3084 002CECE4 88 1D 04 00 */ lbz r0, 0x400(r29)
/* 802D3088 002CECE8 2F 00 00 00 */ cmpwi cr6, r0, 0
/* 802D308C 002CECEC 41 9A 00 64 */ beq cr6, lbl_802D30F0
/* 802D3090 002CECF0 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 802D3094 002CECF4 28 80 00 10 */ cmplwi cr1, r0, 0x10
/* 802D3098 002CECF8 41 85 00 58 */ bgt cr1, lbl_802D30F0
/* 802D309C 002CECFC 1C 00 00 34 */ mulli r0, r0, 0x34
/* 802D30A0 002CED00 7F 9D 02 14 */ add r28, r29, r0
/* 802D30A4 002CED04 7C 1D 00 AE */ lbzx r0, r29, r0
/* 802D30A8 002CED08 2C 00 00 00 */ cmpwi r0, 0
/* 802D30AC 002CED0C 41 82 00 44 */ beq lbl_802D30F0
/* 802D30B0 002CED10 41 9A 00 30 */ beq cr6, lbl_802D30E0
/* 802D30B4 002CED14 41 85 00 2C */ bgt cr1, lbl_802D30E0
/* 802D30B8 002CED18 41 82 00 28 */ beq lbl_802D30E0
/* 802D30BC 002CED1C 9B DC 00 0C */ stb r30, 0xc(r28)
/* 802D30C0 002CED20 38 7C 00 1C */ addi r3, r28, 0x1c
/* 802D30C4 002CED24 4B FE A4 89 */ bl btu_stop_timer
/* 802D30C8 002CED28 88 1C 00 0A */ lbz r0, 0xa(r28)
/* 802D30CC 002CED2C 28 00 00 01 */ cmplwi r0, 1
/* 802D30D0 002CED30 40 82 00 10 */ bne lbl_802D30E0
/* 802D30D4 002CED34 9B DC 00 0C */ stb r30, 0xc(r28)
/* 802D30D8 002CED38 57 63 06 3E */ clrlwi r3, r27, 0x18
/* 802D30DC 002CED3C 48 00 08 6D */ bl hidh_conn_disconnect
lbl_802D30E0:
/* 802D30E0 002CED40 9B FC 00 00 */ stb r31, 0(r28)
/* 802D30E4 002CED44 9B FC 00 10 */ stb r31, 0x10(r28)
/* 802D30E8 002CED48 B3 FC 00 16 */ sth r31, 0x16(r28)
/* 802D30EC 002CED4C B3 FC 00 14 */ sth r31, 0x14(r28)
lbl_802D30F0:
/* 802D30F0 002CED50 3B 7B 00 01 */ addi r27, r27, 1
/* 802D30F4 002CED54 28 1B 00 10 */ cmplwi r27, 0x10
/* 802D30F8 002CED58 41 80 FF 8C */ blt lbl_802D3084
/* 802D30FC 002CED5C 48 00 27 09 */ bl hidh_conn_dereg
/* 802D3100 002CED60 3C 80 80 57 */ lis r4, lbl_8056B838@ha
/* 802D3104 002CED64 38 00 00 00 */ li r0, 0
/* 802D3108 002CED68 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
/* 802D310C 002CED6C 38 60 00 00 */ li r3, 0
/* 802D3110 002CED70 98 04 04 00 */ stb r0, 0x400(r4)
lbl_802D3114:
/* 802D3114 002CED74 39 61 00 20 */ addi r11, r1, 0x20
/* 802D3118 002CED78 4B EF 40 5D */ bl _restgpr_27
/* 802D311C 002CED7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D3120 002CED80 7C 08 03 A6 */ mtlr r0
/* 802D3124 002CED84 38 21 00 20 */ addi r1, r1, 0x20
/* 802D3128 002CED88 4E 80 00 20 */ blr
.global HID_HostAddDev
HID_HostAddDev:
/* 802D312C 002CED8C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D3130 002CED90 7C 08 02 A6 */ mflr r0
/* 802D3134 002CED94 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D3138 002CED98 39 61 00 20 */ addi r11, r1, 0x20
/* 802D313C 002CED9C 4B EF 3F E9 */ bl _savegpr_26
/* 802D3140 002CEDA0 3F E0 80 57 */ lis r31, lbl_8056B838@ha
/* 802D3144 002CEDA4 7C 7A 1B 78 */ mr r26, r3
/* 802D3148 002CEDA8 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l
/* 802D314C 002CEDAC 7C 9B 23 78 */ mr r27, r4
/* 802D3150 002CEDB0 88 1F 04 00 */ lbz r0, 0x400(r31)
/* 802D3154 002CEDB4 7C BC 2B 78 */ mr r28, r5
/* 802D3158 002CEDB8 2C 00 00 00 */ cmpwi r0, 0
/* 802D315C 002CEDBC 40 82 00 0C */ bne lbl_802D3168
/* 802D3160 002CEDC0 38 60 00 01 */ li r3, 1
/* 802D3164 002CEDC4 48 00 01 40 */ b lbl_802D32A4
lbl_802D3168:
/* 802D3168 002CEDC8 3B A0 00 00 */ li r29, 0
lbl_802D316C:
/* 802D316C 002CEDCC 7F 43 D3 78 */ mr r3, r26
/* 802D3170 002CEDD0 38 9F 00 01 */ addi r4, r31, 1
/* 802D3174 002CEDD4 38 A0 00 06 */ li r5, 6
/* 802D3178 002CEDD8 4B EF 72 21 */ bl memcmp
/* 802D317C 002CEDDC 2C 03 00 00 */ cmpwi r3, 0
/* 802D3180 002CEDE0 41 82 00 14 */ beq lbl_802D3194
/* 802D3184 002CEDE4 3B BD 00 01 */ addi r29, r29, 1
/* 802D3188 002CEDE8 3B FF 00 34 */ addi r31, r31, 0x34
/* 802D318C 002CEDEC 2C 1D 00 10 */ cmpwi r29, 0x10
/* 802D3190 002CEDF0 41 80 FF DC */ blt lbl_802D316C
lbl_802D3194:
/* 802D3194 002CEDF4 2C 1D 00 10 */ cmpwi r29, 0x10
/* 802D3198 002CEDF8 40 82 00 A0 */ bne lbl_802D3238
/* 802D319C 002CEDFC 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D31A0 002CEE00 38 00 00 02 */ li r0, 2
/* 802D31A4 002CEE04 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D31A8 002CEE08 3B A0 00 00 */ li r29, 0
/* 802D31AC 002CEE0C 7C 09 03 A6 */ mtctr r0
lbl_802D31B0:
/* 802D31B0 002CEE10 88 03 00 00 */ lbz r0, 0(r3)
/* 802D31B4 002CEE14 2C 00 00 00 */ cmpwi r0, 0
/* 802D31B8 002CEE18 41 82 00 80 */ beq lbl_802D3238
/* 802D31BC 002CEE1C 88 03 00 34 */ lbz r0, 0x34(r3)
/* 802D31C0 002CEE20 3B BD 00 01 */ addi r29, r29, 1
/* 802D31C4 002CEE24 2C 00 00 00 */ cmpwi r0, 0
/* 802D31C8 002CEE28 41 82 00 70 */ beq lbl_802D3238
/* 802D31CC 002CEE2C 88 03 00 68 */ lbz r0, 0x68(r3)
/* 802D31D0 002CEE30 3B BD 00 01 */ addi r29, r29, 1
/* 802D31D4 002CEE34 2C 00 00 00 */ cmpwi r0, 0
/* 802D31D8 002CEE38 41 82 00 60 */ beq lbl_802D3238
/* 802D31DC 002CEE3C 88 03 00 9C */ lbz r0, 0x9c(r3)
/* 802D31E0 002CEE40 3B BD 00 01 */ addi r29, r29, 1
/* 802D31E4 002CEE44 2C 00 00 00 */ cmpwi r0, 0
/* 802D31E8 002CEE48 41 82 00 50 */ beq lbl_802D3238
/* 802D31EC 002CEE4C 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 802D31F0 002CEE50 3B BD 00 01 */ addi r29, r29, 1
/* 802D31F4 002CEE54 2C 00 00 00 */ cmpwi r0, 0
/* 802D31F8 002CEE58 41 82 00 40 */ beq lbl_802D3238
/* 802D31FC 002CEE5C 88 03 01 04 */ lbz r0, 0x104(r3)
/* 802D3200 002CEE60 3B BD 00 01 */ addi r29, r29, 1
/* 802D3204 002CEE64 2C 00 00 00 */ cmpwi r0, 0
/* 802D3208 002CEE68 41 82 00 30 */ beq lbl_802D3238
/* 802D320C 002CEE6C 88 03 01 38 */ lbz r0, 0x138(r3)
/* 802D3210 002CEE70 3B BD 00 01 */ addi r29, r29, 1
/* 802D3214 002CEE74 2C 00 00 00 */ cmpwi r0, 0
/* 802D3218 002CEE78 41 82 00 20 */ beq lbl_802D3238
/* 802D321C 002CEE7C 88 03 01 6C */ lbz r0, 0x16c(r3)
/* 802D3220 002CEE80 3B BD 00 01 */ addi r29, r29, 1
/* 802D3224 002CEE84 2C 00 00 00 */ cmpwi r0, 0
/* 802D3228 002CEE88 41 82 00 10 */ beq lbl_802D3238
/* 802D322C 002CEE8C 38 63 01 A0 */ addi r3, r3, 0x1a0
/* 802D3230 002CEE90 3B BD 00 01 */ addi r29, r29, 1
/* 802D3234 002CEE94 42 00 FF 7C */ bdnz lbl_802D31B0
lbl_802D3238:
/* 802D3238 002CEE98 2C 1D 00 10 */ cmpwi r29, 0x10
/* 802D323C 002CEE9C 40 82 00 0C */ bne lbl_802D3248
/* 802D3240 002CEEA0 38 60 00 03 */ li r3, 3
/* 802D3244 002CEEA4 48 00 00 60 */ b lbl_802D32A4
lbl_802D3248:
/* 802D3248 002CEEA8 1F DD 00 34 */ mulli r30, r29, 0x34
/* 802D324C 002CEEAC 3F E0 80 57 */ lis r31, lbl_8056B838@ha
/* 802D3250 002CEEB0 3B FF B8 38 */ addi r31, r31, lbl_8056B838@l
/* 802D3254 002CEEB4 7C 1F F0 AE */ lbzx r0, r31, r30
/* 802D3258 002CEEB8 2C 00 00 00 */ cmpwi r0, 0
/* 802D325C 002CEEBC 40 82 00 30 */ bne lbl_802D328C
/* 802D3260 002CEEC0 38 00 00 01 */ li r0, 1
/* 802D3264 002CEEC4 7C 7F F2 14 */ add r3, r31, r30
/* 802D3268 002CEEC8 7C 1F F1 AE */ stbx r0, r31, r30
/* 802D326C 002CEECC 7F 44 D3 78 */ mr r4, r26
/* 802D3270 002CEED0 38 63 00 01 */ addi r3, r3, 1
/* 802D3274 002CEED4 38 A0 00 06 */ li r5, 6
/* 802D3278 002CEED8 4B D3 0D 89 */ bl memcpy
/* 802D327C 002CEEDC 7C 7F F2 14 */ add r3, r31, r30
/* 802D3280 002CEEE0 38 00 00 00 */ li r0, 0
/* 802D3284 002CEEE4 98 03 00 0A */ stb r0, 0xa(r3)
/* 802D3288 002CEEE8 98 03 00 0C */ stb r0, 0xc(r3)
lbl_802D328C:
/* 802D328C 002CEEEC 3C 80 80 57 */ lis r4, lbl_8056B838@ha
/* 802D3290 002CEEF0 38 60 00 00 */ li r3, 0
/* 802D3294 002CEEF4 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
/* 802D3298 002CEEF8 7C 84 F2 14 */ add r4, r4, r30
/* 802D329C 002CEEFC B3 64 00 08 */ sth r27, 8(r4)
/* 802D32A0 002CEF00 9B BC 00 00 */ stb r29, 0(r28)
lbl_802D32A4:
/* 802D32A4 002CEF04 39 61 00 20 */ addi r11, r1, 0x20
/* 802D32A8 002CEF08 4B EF 3E C9 */ bl _restgpr_26
/* 802D32AC 002CEF0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D32B0 002CEF10 7C 08 03 A6 */ mtlr r0
/* 802D32B4 002CEF14 38 21 00 20 */ addi r1, r1, 0x20
/* 802D32B8 002CEF18 4E 80 00 20 */ blr
.global HID_HostRemoveDev
HID_HostRemoveDev:
/* 802D32BC 002CEF1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D32C0 002CEF20 7C 08 02 A6 */ mflr r0
/* 802D32C4 002CEF24 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D32C8 002CEF28 39 61 00 20 */ addi r11, r1, 0x20
/* 802D32CC 002CEF2C 4B EF 3E 5D */ bl _savegpr_27
/* 802D32D0 002CEF30 3F C0 80 57 */ lis r30, lbl_8056B838@ha
/* 802D32D4 002CEF34 7C 7B 1B 78 */ mr r27, r3
/* 802D32D8 002CEF38 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l
/* 802D32DC 002CEF3C 88 1E 04 00 */ lbz r0, 0x400(r30)
/* 802D32E0 002CEF40 2F 00 00 00 */ cmpwi cr6, r0, 0
/* 802D32E4 002CEF44 40 9A 00 0C */ bne cr6, lbl_802D32F0
/* 802D32E8 002CEF48 38 60 00 01 */ li r3, 1
/* 802D32EC 002CEF4C 48 00 00 80 */ b lbl_802D336C
lbl_802D32F0:
/* 802D32F0 002CEF50 28 83 00 10 */ cmplwi cr1, r3, 0x10
/* 802D32F4 002CEF54 41 85 00 18 */ bgt cr1, lbl_802D330C
/* 802D32F8 002CEF58 1F 83 00 34 */ mulli r28, r3, 0x34
/* 802D32FC 002CEF5C 7C 1E E0 AE */ lbzx r0, r30, r28
/* 802D3300 002CEF60 7F BE E2 14 */ add r29, r30, r28
/* 802D3304 002CEF64 2C 00 00 00 */ cmpwi r0, 0
/* 802D3308 002CEF68 40 82 00 0C */ bne lbl_802D3314
lbl_802D330C:
/* 802D330C 002CEF6C 38 60 00 05 */ li r3, 5
/* 802D3310 002CEF70 48 00 00 5C */ b lbl_802D336C
lbl_802D3314:
/* 802D3314 002CEF74 41 9A 00 34 */ beq cr6, lbl_802D3348
/* 802D3318 002CEF78 41 85 00 30 */ bgt cr1, lbl_802D3348
/* 802D331C 002CEF7C 41 82 00 2C */ beq lbl_802D3348
/* 802D3320 002CEF80 3B E0 00 01 */ li r31, 1
/* 802D3324 002CEF84 38 7D 00 1C */ addi r3, r29, 0x1c
/* 802D3328 002CEF88 9B FD 00 0C */ stb r31, 0xc(r29)
/* 802D332C 002CEF8C 4B FE A2 21 */ bl btu_stop_timer
/* 802D3330 002CEF90 88 1D 00 0A */ lbz r0, 0xa(r29)
/* 802D3334 002CEF94 28 00 00 01 */ cmplwi r0, 1
/* 802D3338 002CEF98 40 82 00 10 */ bne lbl_802D3348
/* 802D333C 002CEF9C 9B FD 00 0C */ stb r31, 0xc(r29)
/* 802D3340 002CEFA0 7F 63 DB 78 */ mr r3, r27
/* 802D3344 002CEFA4 48 00 06 05 */ bl hidh_conn_disconnect
lbl_802D3348:
/* 802D3348 002CEFA8 38 00 00 00 */ li r0, 0
/* 802D334C 002CEFAC 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D3350 002CEFB0 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3354 002CEFB4 98 1D 00 00 */ stb r0, 0(r29)
/* 802D3358 002CEFB8 7C 83 E2 14 */ add r4, r3, r28
/* 802D335C 002CEFBC 98 04 00 10 */ stb r0, 0x10(r4)
/* 802D3360 002CEFC0 38 60 00 00 */ li r3, 0
/* 802D3364 002CEFC4 B0 04 00 16 */ sth r0, 0x16(r4)
/* 802D3368 002CEFC8 B0 04 00 14 */ sth r0, 0x14(r4)
lbl_802D336C:
/* 802D336C 002CEFCC 39 61 00 20 */ addi r11, r1, 0x20
/* 802D3370 002CEFD0 4B EF 3E 05 */ bl _restgpr_27
/* 802D3374 002CEFD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D3378 002CEFD8 7C 08 03 A6 */ mtlr r0
/* 802D337C 002CEFDC 38 21 00 20 */ addi r1, r1, 0x20
/* 802D3380 002CEFE0 4E 80 00 20 */ blr
.global HID_HostOpenDev
HID_HostOpenDev:
/* 802D3384 002CEFE4 3C 80 80 57 */ lis r4, lbl_8056B838@ha
/* 802D3388 002CEFE8 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
/* 802D338C 002CEFEC 88 04 04 00 */ lbz r0, 0x400(r4)
/* 802D3390 002CEFF0 2C 00 00 00 */ cmpwi r0, 0
/* 802D3394 002CEFF4 40 82 00 0C */ bne lbl_802D33A0
/* 802D3398 002CEFF8 38 60 00 01 */ li r3, 1
/* 802D339C 002CEFFC 4E 80 00 20 */ blr
lbl_802D33A0:
/* 802D33A0 002CF000 28 03 00 10 */ cmplwi r3, 0x10
/* 802D33A4 002CF004 41 81 00 14 */ bgt lbl_802D33B8
/* 802D33A8 002CF008 1C A3 00 34 */ mulli r5, r3, 0x34
/* 802D33AC 002CF00C 7C 04 28 AE */ lbzx r0, r4, r5
/* 802D33B0 002CF010 2C 00 00 00 */ cmpwi r0, 0
/* 802D33B4 002CF014 40 82 00 0C */ bne lbl_802D33C0
lbl_802D33B8:
/* 802D33B8 002CF018 38 60 00 05 */ li r3, 5
/* 802D33BC 002CF01C 4E 80 00 20 */ blr
lbl_802D33C0:
/* 802D33C0 002CF020 7C 84 2A 14 */ add r4, r4, r5
/* 802D33C4 002CF024 88 04 00 0A */ lbz r0, 0xa(r4)
/* 802D33C8 002CF028 2C 00 00 00 */ cmpwi r0, 0
/* 802D33CC 002CF02C 41 82 00 0C */ beq lbl_802D33D8
/* 802D33D0 002CF030 38 60 00 0A */ li r3, 0xa
/* 802D33D4 002CF034 4E 80 00 20 */ blr
lbl_802D33D8:
/* 802D33D8 002CF038 38 00 00 01 */ li r0, 1
/* 802D33DC 002CF03C 98 04 00 0C */ stb r0, 0xc(r4)
/* 802D33E0 002CF040 48 00 23 28 */ b hidh_conn_initiate
/* 802D33E4 002CF044 4E 80 00 20 */ blr
.global HID_HostWriteDev
HID_HostWriteDev:
/* 802D33E8 002CF048 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802D33EC 002CF04C 7C 08 02 A6 */ mflr r0
/* 802D33F0 002CF050 90 01 00 34 */ stw r0, 0x34(r1)
/* 802D33F4 002CF054 39 61 00 30 */ addi r11, r1, 0x30
/* 802D33F8 002CF058 4B EF 3D 25 */ bl _savegpr_24
/* 802D33FC 002CF05C 3D 20 80 57 */ lis r9, lbl_8056B838@ha
/* 802D3400 002CF060 3F E0 80 44 */ lis r31, lbl_80442740@ha
/* 802D3404 002CF064 39 29 B8 38 */ addi r9, r9, lbl_8056B838@l
/* 802D3408 002CF068 7C 79 1B 78 */ mr r25, r3
/* 802D340C 002CF06C 88 09 04 00 */ lbz r0, 0x400(r9)
/* 802D3410 002CF070 7C 9A 23 78 */ mr r26, r4
/* 802D3414 002CF074 7C BB 2B 78 */ mr r27, r5
/* 802D3418 002CF078 7C DC 33 78 */ mr r28, r6
/* 802D341C 002CF07C 2C 00 00 00 */ cmpwi r0, 0
/* 802D3420 002CF080 7C FD 3B 78 */ mr r29, r7
/* 802D3424 002CF084 7D 1E 43 78 */ mr r30, r8
/* 802D3428 002CF088 3B FF 27 40 */ addi r31, r31, lbl_80442740@l
/* 802D342C 002CF08C 3B 00 00 00 */ li r24, 0
/* 802D3430 002CF090 40 82 00 20 */ bne lbl_802D3450
/* 802D3434 002CF094 88 09 04 01 */ lbz r0, 0x401(r9)
/* 802D3438 002CF098 28 00 00 01 */ cmplwi r0, 1
/* 802D343C 002CF09C 41 80 00 10 */ blt lbl_802D344C
/* 802D3440 002CF0A0 38 9F 00 00 */ addi r4, r31, 0
/* 802D3444 002CF0A4 3C 60 00 1E */ lis r3, 0x1e
/* 802D3448 002CF0A8 4B FE 9A C9 */ bl LogMsg_0
lbl_802D344C:
/* 802D344C 002CF0AC 3B 00 00 01 */ li r24, 1
lbl_802D3450:
/* 802D3450 002CF0B0 28 19 00 10 */ cmplwi r25, 0x10
/* 802D3454 002CF0B4 41 81 00 1C */ bgt lbl_802D3470
/* 802D3458 002CF0B8 1C 19 00 34 */ mulli r0, r25, 0x34
/* 802D345C 002CF0BC 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D3460 002CF0C0 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3464 002CF0C4 7C 03 00 AE */ lbzx r0, r3, r0
/* 802D3468 002CF0C8 2C 00 00 00 */ cmpwi r0, 0
/* 802D346C 002CF0CC 40 82 00 28 */ bne lbl_802D3494
lbl_802D3470:
/* 802D3470 002CF0D0 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D3474 002CF0D4 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3478 002CF0D8 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D347C 002CF0DC 28 00 00 01 */ cmplwi r0, 1
/* 802D3480 002CF0E0 41 80 00 10 */ blt lbl_802D3490
/* 802D3484 002CF0E4 38 9F 00 18 */ addi r4, r31, 0x18
/* 802D3488 002CF0E8 3C 60 00 1E */ lis r3, 0x1e
/* 802D348C 002CF0EC 4B FE 9A 85 */ bl LogMsg_0
lbl_802D3490:
/* 802D3490 002CF0F0 3B 00 00 05 */ li r24, 5
lbl_802D3494:
/* 802D3494 002CF0F4 1C 19 00 34 */ mulli r0, r25, 0x34
/* 802D3498 002CF0F8 3C 80 80 57 */ lis r4, lbl_8056B838@ha
/* 802D349C 002CF0FC 38 84 B8 38 */ addi r4, r4, lbl_8056B838@l
/* 802D34A0 002CF100 7C 64 02 14 */ add r3, r4, r0
/* 802D34A4 002CF104 88 03 00 0A */ lbz r0, 0xa(r3)
/* 802D34A8 002CF108 28 00 00 01 */ cmplwi r0, 1
/* 802D34AC 002CF10C 41 82 00 24 */ beq lbl_802D34D0
/* 802D34B0 002CF110 88 04 04 01 */ lbz r0, 0x401(r4)
/* 802D34B4 002CF114 28 00 00 01 */ cmplwi r0, 1
/* 802D34B8 002CF118 41 80 00 14 */ blt lbl_802D34CC
/* 802D34BC 002CF11C 7F 25 CB 78 */ mr r5, r25
/* 802D34C0 002CF120 38 9F 00 30 */ addi r4, r31, 0x30
/* 802D34C4 002CF124 3C 60 00 1E */ lis r3, 0x1e
/* 802D34C8 002CF128 4B FE 9A 61 */ bl LogMsg_1
lbl_802D34CC:
/* 802D34CC 002CF12C 3B 00 00 04 */ li r24, 4
lbl_802D34D0:
/* 802D34D0 002CF130 2C 18 00 00 */ cmpwi r24, 0
/* 802D34D4 002CF134 41 82 00 18 */ beq lbl_802D34EC
/* 802D34D8 002CF138 2C 1E 00 00 */ cmpwi r30, 0
/* 802D34DC 002CF13C 41 82 00 30 */ beq lbl_802D350C
/* 802D34E0 002CF140 7F C3 F3 78 */ mr r3, r30
/* 802D34E4 002CF144 4B FE 68 51 */ bl GKI_freebuf
/* 802D34E8 002CF148 48 00 00 24 */ b lbl_802D350C
lbl_802D34EC:
/* 802D34EC 002CF14C 7F 23 CB 78 */ mr r3, r25
/* 802D34F0 002CF150 7F 44 D3 78 */ mr r4, r26
/* 802D34F4 002CF154 7F 65 DB 78 */ mr r5, r27
/* 802D34F8 002CF158 7F 86 E3 78 */ mr r6, r28
/* 802D34FC 002CF15C 7F A7 EB 78 */ mr r7, r29
/* 802D3500 002CF160 7F C8 F3 78 */ mr r8, r30
/* 802D3504 002CF164 48 00 1F 69 */ bl hidh_conn_snd_data
/* 802D3508 002CF168 7C 78 1B 78 */ mr r24, r3
lbl_802D350C:
/* 802D350C 002CF16C 39 61 00 30 */ addi r11, r1, 0x30
/* 802D3510 002CF170 7F 03 C3 78 */ mr r3, r24
/* 802D3514 002CF174 4B EF 3C 55 */ bl _restgpr_24
/* 802D3518 002CF178 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802D351C 002CF17C 7C 08 03 A6 */ mtlr r0
/* 802D3520 002CF180 38 21 00 30 */ addi r1, r1, 0x30
/* 802D3524 002CF184 4E 80 00 20 */ blr
.global HID_HostCloseDev
HID_HostCloseDev:
/* 802D3528 002CF188 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D352C 002CF18C 7C 08 02 A6 */ mflr r0
/* 802D3530 002CF190 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D3534 002CF194 39 61 00 20 */ addi r11, r1, 0x20
/* 802D3538 002CF198 4B EF 3B F1 */ bl _savegpr_27
/* 802D353C 002CF19C 3F C0 80 57 */ lis r30, lbl_8056B838@ha
/* 802D3540 002CF1A0 7C 7B 1B 78 */ mr r27, r3
/* 802D3544 002CF1A4 3B DE B8 38 */ addi r30, r30, lbl_8056B838@l
/* 802D3548 002CF1A8 88 1E 04 00 */ lbz r0, 0x400(r30)
/* 802D354C 002CF1AC 2C 00 00 00 */ cmpwi r0, 0
/* 802D3550 002CF1B0 40 82 00 0C */ bne lbl_802D355C
/* 802D3554 002CF1B4 38 60 00 01 */ li r3, 1
/* 802D3558 002CF1B8 48 00 00 58 */ b lbl_802D35B0
lbl_802D355C:
/* 802D355C 002CF1BC 28 03 00 10 */ cmplwi r3, 0x10
/* 802D3560 002CF1C0 41 81 00 18 */ bgt lbl_802D3578
/* 802D3564 002CF1C4 1F 83 00 34 */ mulli r28, r3, 0x34
/* 802D3568 002CF1C8 7C 1E E0 AE */ lbzx r0, r30, r28
/* 802D356C 002CF1CC 7F BE E2 14 */ add r29, r30, r28
/* 802D3570 002CF1D0 2C 00 00 00 */ cmpwi r0, 0
/* 802D3574 002CF1D4 40 82 00 0C */ bne lbl_802D3580
lbl_802D3578:
/* 802D3578 002CF1D8 38 60 00 05 */ li r3, 5
/* 802D357C 002CF1DC 48 00 00 34 */ b lbl_802D35B0
lbl_802D3580:
/* 802D3580 002CF1E0 3B E0 00 01 */ li r31, 1
/* 802D3584 002CF1E4 38 7D 00 1C */ addi r3, r29, 0x1c
/* 802D3588 002CF1E8 9B FD 00 0C */ stb r31, 0xc(r29)
/* 802D358C 002CF1EC 4B FE 9F C1 */ bl btu_stop_timer
/* 802D3590 002CF1F0 88 1D 00 0A */ lbz r0, 0xa(r29)
/* 802D3594 002CF1F4 28 00 00 01 */ cmplwi r0, 1
/* 802D3598 002CF1F8 41 82 00 0C */ beq lbl_802D35A4
/* 802D359C 002CF1FC 38 60 00 04 */ li r3, 4
/* 802D35A0 002CF200 48 00 00 10 */ b lbl_802D35B0
lbl_802D35A4:
/* 802D35A4 002CF204 9B FD 00 0C */ stb r31, 0xc(r29)
/* 802D35A8 002CF208 7F 63 DB 78 */ mr r3, r27
/* 802D35AC 002CF20C 48 00 03 9D */ bl hidh_conn_disconnect
lbl_802D35B0:
/* 802D35B0 002CF210 39 61 00 20 */ addi r11, r1, 0x20
/* 802D35B4 002CF214 4B EF 3B C1 */ bl _restgpr_27
/* 802D35B8 002CF218 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D35BC 002CF21C 7C 08 03 A6 */ mtlr r0
/* 802D35C0 002CF220 38 21 00 20 */ addi r1, r1, 0x20
/* 802D35C4 002CF224 4E 80 00 20 */ blr
.global HID_HostSetSecurityLevel
HID_HostSetSecurityLevel:
/* 802D35C8 002CF228 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D35CC 002CF22C 7C 08 02 A6 */ mflr r0
/* 802D35D0 002CF230 38 A0 00 20 */ li r5, 0x20
/* 802D35D4 002CF234 38 E0 00 11 */ li r7, 0x11
/* 802D35D8 002CF238 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D35DC 002CF23C 39 00 00 06 */ li r8, 6
/* 802D35E0 002CF240 39 20 00 01 */ li r9, 1
/* 802D35E4 002CF244 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802D35E8 002CF248 3F E0 80 44 */ lis r31, lbl_80442740@ha
/* 802D35EC 002CF24C 3B FF 27 40 */ addi r31, r31, lbl_80442740@l
/* 802D35F0 002CF250 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802D35F4 002CF254 7C 9E 23 78 */ mr r30, r4
/* 802D35F8 002CF258 7F C6 F3 78 */ mr r6, r30
/* 802D35FC 002CF25C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802D3600 002CF260 7C 7D 1B 78 */ mr r29, r3
/* 802D3604 002CF264 38 60 00 00 */ li r3, 0
/* 802D3608 002CF268 7F A4 EB 78 */ mr r4, r29
/* 802D360C 002CF26C 4B FF 74 79 */ bl BTM_SetSecurityLevel
/* 802D3610 002CF270 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D3614 002CF274 40 82 00 2C */ bne lbl_802D3640
/* 802D3618 002CF278 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D361C 002CF27C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3620 002CF280 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D3624 002CF284 28 00 00 01 */ cmplwi r0, 1
/* 802D3628 002CF288 41 80 00 10 */ blt lbl_802D3638
/* 802D362C 002CF28C 38 9F 00 54 */ addi r4, r31, 0x54
/* 802D3630 002CF290 3C 60 00 1E */ lis r3, 0x1e
/* 802D3634 002CF294 4B FE 98 DD */ bl LogMsg_0
lbl_802D3638:
/* 802D3638 002CF298 38 60 00 03 */ li r3, 3
/* 802D363C 002CF29C 48 00 01 98 */ b lbl_802D37D4
lbl_802D3640:
/* 802D3640 002CF2A0 7F A4 EB 78 */ mr r4, r29
/* 802D3644 002CF2A4 7F C6 F3 78 */ mr r6, r30
/* 802D3648 002CF2A8 38 60 00 01 */ li r3, 1
/* 802D364C 002CF2AC 38 A0 00 20 */ li r5, 0x20
/* 802D3650 002CF2B0 38 E0 00 11 */ li r7, 0x11
/* 802D3654 002CF2B4 39 00 00 06 */ li r8, 6
/* 802D3658 002CF2B8 39 20 00 01 */ li r9, 1
/* 802D365C 002CF2BC 4B FF 74 29 */ bl BTM_SetSecurityLevel
/* 802D3660 002CF2C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D3664 002CF2C4 40 82 00 2C */ bne lbl_802D3690
/* 802D3668 002CF2C8 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D366C 002CF2CC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3670 002CF2D0 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D3674 002CF2D4 28 00 00 01 */ cmplwi r0, 1
/* 802D3678 002CF2D8 41 80 00 10 */ blt lbl_802D3688
/* 802D367C 002CF2DC 38 9F 00 74 */ addi r4, r31, 0x74
/* 802D3680 002CF2E0 3C 60 00 1E */ lis r3, 0x1e
/* 802D3684 002CF2E4 4B FE 98 8D */ bl LogMsg_0
lbl_802D3688:
/* 802D3688 002CF2E8 38 60 00 03 */ li r3, 3
/* 802D368C 002CF2EC 48 00 01 48 */ b lbl_802D37D4
lbl_802D3690:
/* 802D3690 002CF2F0 7F A4 EB 78 */ mr r4, r29
/* 802D3694 002CF2F4 38 60 00 00 */ li r3, 0
/* 802D3698 002CF2F8 38 A0 00 21 */ li r5, 0x21
/* 802D369C 002CF2FC 38 C0 00 00 */ li r6, 0
/* 802D36A0 002CF300 38 E0 00 11 */ li r7, 0x11
/* 802D36A4 002CF304 39 00 00 06 */ li r8, 6
/* 802D36A8 002CF308 39 20 00 02 */ li r9, 2
/* 802D36AC 002CF30C 4B FF 73 D9 */ bl BTM_SetSecurityLevel
/* 802D36B0 002CF310 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D36B4 002CF314 40 82 00 2C */ bne lbl_802D36E0
/* 802D36B8 002CF318 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D36BC 002CF31C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D36C0 002CF320 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D36C4 002CF324 28 00 00 01 */ cmplwi r0, 1
/* 802D36C8 002CF328 41 80 00 10 */ blt lbl_802D36D8
/* 802D36CC 002CF32C 38 9F 00 94 */ addi r4, r31, 0x94
/* 802D36D0 002CF330 3C 60 00 1E */ lis r3, 0x1e
/* 802D36D4 002CF334 4B FE 98 3D */ bl LogMsg_0
lbl_802D36D8:
/* 802D36D8 002CF338 38 60 00 03 */ li r3, 3
/* 802D36DC 002CF33C 48 00 00 F8 */ b lbl_802D37D4
lbl_802D36E0:
/* 802D36E0 002CF340 7F A4 EB 78 */ mr r4, r29
/* 802D36E4 002CF344 38 60 00 01 */ li r3, 1
/* 802D36E8 002CF348 38 A0 00 21 */ li r5, 0x21
/* 802D36EC 002CF34C 38 C0 00 00 */ li r6, 0
/* 802D36F0 002CF350 38 E0 00 11 */ li r7, 0x11
/* 802D36F4 002CF354 39 00 00 06 */ li r8, 6
/* 802D36F8 002CF358 39 20 00 02 */ li r9, 2
/* 802D36FC 002CF35C 4B FF 73 89 */ bl BTM_SetSecurityLevel
/* 802D3700 002CF360 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D3704 002CF364 40 82 00 2C */ bne lbl_802D3730
/* 802D3708 002CF368 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D370C 002CF36C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3710 002CF370 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D3714 002CF374 28 00 00 01 */ cmplwi r0, 1
/* 802D3718 002CF378 41 80 00 10 */ blt lbl_802D3728
/* 802D371C 002CF37C 38 9F 00 B4 */ addi r4, r31, 0xb4
/* 802D3720 002CF380 3C 60 00 1E */ lis r3, 0x1e
/* 802D3724 002CF384 4B FE 97 ED */ bl LogMsg_0
lbl_802D3728:
/* 802D3728 002CF388 38 60 00 03 */ li r3, 3
/* 802D372C 002CF38C 48 00 00 A8 */ b lbl_802D37D4
lbl_802D3730:
/* 802D3730 002CF390 7F A4 EB 78 */ mr r4, r29
/* 802D3734 002CF394 38 60 00 01 */ li r3, 1
/* 802D3738 002CF398 38 A0 00 22 */ li r5, 0x22
/* 802D373C 002CF39C 38 C0 00 00 */ li r6, 0
/* 802D3740 002CF3A0 38 E0 00 13 */ li r7, 0x13
/* 802D3744 002CF3A4 39 00 00 06 */ li r8, 6
/* 802D3748 002CF3A8 39 20 00 00 */ li r9, 0
/* 802D374C 002CF3AC 4B FF 73 39 */ bl BTM_SetSecurityLevel
/* 802D3750 002CF3B0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D3754 002CF3B4 40 82 00 2C */ bne lbl_802D3780
/* 802D3758 002CF3B8 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D375C 002CF3BC 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D3760 002CF3C0 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D3764 002CF3C4 28 00 00 01 */ cmplwi r0, 1
/* 802D3768 002CF3C8 41 80 00 10 */ blt lbl_802D3778
/* 802D376C 002CF3CC 38 9F 00 D4 */ addi r4, r31, 0xd4
/* 802D3770 002CF3D0 3C 60 00 1E */ lis r3, 0x1e
/* 802D3774 002CF3D4 4B FE 97 9D */ bl LogMsg_0
lbl_802D3778:
/* 802D3778 002CF3D8 38 60 00 03 */ li r3, 3
/* 802D377C 002CF3DC 48 00 00 58 */ b lbl_802D37D4
lbl_802D3780:
/* 802D3780 002CF3E0 7F A4 EB 78 */ mr r4, r29
/* 802D3784 002CF3E4 38 60 00 00 */ li r3, 0
/* 802D3788 002CF3E8 38 A0 00 22 */ li r5, 0x22
/* 802D378C 002CF3EC 38 C0 00 00 */ li r6, 0
/* 802D3790 002CF3F0 38 E0 00 13 */ li r7, 0x13
/* 802D3794 002CF3F4 39 00 00 06 */ li r8, 6
/* 802D3798 002CF3F8 39 20 00 00 */ li r9, 0
/* 802D379C 002CF3FC 4B FF 72 E9 */ bl BTM_SetSecurityLevel
/* 802D37A0 002CF400 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D37A4 002CF404 40 82 00 2C */ bne lbl_802D37D0
/* 802D37A8 002CF408 3C 60 80 57 */ lis r3, lbl_8056B838@ha
/* 802D37AC 002CF40C 38 63 B8 38 */ addi r3, r3, lbl_8056B838@l
/* 802D37B0 002CF410 88 03 04 01 */ lbz r0, 0x401(r3)
/* 802D37B4 002CF414 28 00 00 01 */ cmplwi r0, 1
/* 802D37B8 002CF418 41 80 00 10 */ blt lbl_802D37C8
/* 802D37BC 002CF41C 38 9F 00 F4 */ addi r4, r31, 0xf4
/* 802D37C0 002CF420 3C 60 00 1E */ lis r3, 0x1e
/* 802D37C4 002CF424 4B FE 97 4D */ bl LogMsg_0
lbl_802D37C8:
/* 802D37C8 002CF428 38 60 00 03 */ li r3, 3
/* 802D37CC 002CF42C 48 00 00 08 */ b lbl_802D37D4
lbl_802D37D0:
/* 802D37D0 002CF430 38 60 00 00 */ li r3, 0
lbl_802D37D4:
/* 802D37D4 002CF434 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D37D8 002CF438 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802D37DC 002CF43C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802D37E0 002CF440 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802D37E4 002CF444 7C 08 03 A6 */ mtlr r0
/* 802D37E8 002CF448 38 21 00 20 */ addi r1, r1, 0x20
/* 802D37EC 002CF44C 4E 80 00 20 */ blr
|