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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global sdp_init
sdp_init:
/* 802E4B94 002E07F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E4B98 002E07F8 7C 08 02 A6 */ mflr r0
/* 802E4B9C 002E07FC 38 80 00 00 */ li r4, 0
/* 802E4BA0 002E0800 38 A0 46 34 */ li r5, 0x4634
/* 802E4BA4 002E0804 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E4BA8 002E0808 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E4BAC 002E080C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E4BB0 002E0810 3F C0 80 44 */ lis r30, lbl_804451A8@ha
/* 802E4BB4 002E0814 3B DE 51 A8 */ addi r30, r30, lbl_804451A8@l
/* 802E4BB8 002E0818 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E4BBC 002E081C 3F A0 80 57 */ lis r29, lbl_8056C840@ha
/* 802E4BC0 002E0820 38 7D C8 40 */ addi r3, r29, lbl_8056C840@l
/* 802E4BC4 002E0824 4B D1 F5 41 */ bl memset
/* 802E4BC8 002E0828 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802E4BCC 002E082C 3B FD C8 40 */ addi r31, r29, -14272
/* 802E4BD0 002E0830 38 E0 00 01 */ li r7, 1
/* 802E4BD4 002E0834 38 A0 01 00 */ li r5, 0x100
/* 802E4BD8 002E0838 39 63 FF FF */ addi r11, r3, 0x0000FFFF@l
/* 802E4BDC 002E083C 39 40 00 F0 */ li r10, 0xf0
/* 802E4BE0 002E0840 38 00 00 15 */ li r0, 0x15
/* 802E4BE4 002E0844 B0 BF 00 04 */ sth r5, 4(r31)
/* 802E4BE8 002E0848 38 9E 00 00 */ addi r4, r30, 0
/* 802E4BEC 002E084C 3B A0 00 00 */ li r29, 0
/* 802E4BF0 002E0850 98 FF 00 02 */ stb r7, 2(r31)
/* 802E4BF4 002E0854 38 60 00 00 */ li r3, 0
/* 802E4BF8 002E0858 38 A0 00 00 */ li r5, 0
/* 802E4BFC 002E085C 38 C0 00 00 */ li r6, 0
/* 802E4C00 002E0860 98 FF 00 20 */ stb r7, 0x20(r31)
/* 802E4C04 002E0864 38 E0 00 01 */ li r7, 1
/* 802E4C08 002E0868 39 00 00 00 */ li r8, 0
/* 802E4C0C 002E086C 39 20 00 00 */ li r9, 0
/* 802E4C10 002E0870 B1 7F 00 22 */ sth r11, 0x22(r31)
/* 802E4C14 002E0874 B1 5F 46 2C */ sth r10, 0x462c(r31)
/* 802E4C18 002E0878 B0 1F 46 2E */ sth r0, 0x462e(r31)
/* 802E4C1C 002E087C 4B FE 5E 69 */ bl BTM_SetSecurityLevel
/* 802E4C20 002E0880 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802E4C24 002E0884 40 82 00 20 */ bne lbl_802E4C44
/* 802E4C28 002E0888 88 1F 46 30 */ lbz r0, 0x4630(r31)
/* 802E4C2C 002E088C 28 00 00 01 */ cmplwi r0, 1
/* 802E4C30 002E0890 41 80 00 E8 */ blt lbl_802E4D18
/* 802E4C34 002E0894 38 9E 00 14 */ addi r4, r30, 0x14
/* 802E4C38 002E0898 3C 60 00 0A */ lis r3, 0xa
/* 802E4C3C 002E089C 4B FD 82 D5 */ bl LogMsg_0
/* 802E4C40 002E08A0 48 00 00 D8 */ b lbl_802E4D18
lbl_802E4C44:
/* 802E4C44 002E08A4 38 9E 00 00 */ addi r4, r30, 0
/* 802E4C48 002E08A8 38 60 00 01 */ li r3, 1
/* 802E4C4C 002E08AC 38 A0 00 00 */ li r5, 0
/* 802E4C50 002E08B0 38 C0 00 00 */ li r6, 0
/* 802E4C54 002E08B4 38 E0 00 01 */ li r7, 1
/* 802E4C58 002E08B8 39 00 00 00 */ li r8, 0
/* 802E4C5C 002E08BC 39 20 00 00 */ li r9, 0
/* 802E4C60 002E08C0 4B FE 5E 25 */ bl BTM_SetSecurityLevel
/* 802E4C64 002E08C4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802E4C68 002E08C8 40 82 00 20 */ bne lbl_802E4C88
/* 802E4C6C 002E08CC 88 1F 46 30 */ lbz r0, 0x4630(r31)
/* 802E4C70 002E08D0 28 00 00 01 */ cmplwi r0, 1
/* 802E4C74 002E08D4 41 80 00 A4 */ blt lbl_802E4D18
/* 802E4C78 002E08D8 38 9E 00 38 */ addi r4, r30, 0x38
/* 802E4C7C 002E08DC 3C 60 00 0A */ lis r3, 0xa
/* 802E4C80 002E08E0 4B FD 82 91 */ bl LogMsg_0
/* 802E4C84 002E08E4 48 00 00 94 */ b lbl_802E4D18
lbl_802E4C88:
/* 802E4C88 002E08E8 3D 60 80 2E */ lis r11, sdp_connect_ind@ha
/* 802E4C8C 002E08EC 3D 40 80 2E */ lis r10, sdp_connect_cfm@ha
/* 802E4C90 002E08F0 3D 20 80 2E */ lis r9, sdp_config_ind@ha
/* 802E4C94 002E08F4 3D 00 80 2E */ lis r8, sdp_config_cfm@ha
/* 802E4C98 002E08F8 3C E0 80 2E */ lis r7, sdp_disconnect_ind@ha
/* 802E4C9C 002E08FC 3C C0 80 2E */ lis r6, sdp_disconnect_cfm@ha
/* 802E4CA0 002E0900 3C A0 80 2E */ lis r5, sdp_data_ind@ha
/* 802E4CA4 002E0904 39 6B 4D 34 */ addi r11, r11, sdp_connect_ind@l
/* 802E4CA8 002E0908 39 4A 4D F8 */ addi r10, r10, sdp_connect_cfm@l
/* 802E4CAC 002E090C 39 29 4F 88 */ addi r9, r9, sdp_config_ind@l
/* 802E4CB0 002E0910 39 08 50 C4 */ addi r8, r8, sdp_config_cfm@l
/* 802E4CB4 002E0914 38 E7 52 40 */ addi r7, r7, sdp_disconnect_ind@l
/* 802E4CB8 002E0918 38 C6 55 BC */ addi r6, r6, sdp_disconnect_cfm@l
/* 802E4CBC 002E091C 38 A5 53 38 */ addi r5, r5, sdp_data_ind@l
/* 802E4CC0 002E0920 9B BF 46 30 */ stb r29, 0x4630(r31)
/* 802E4CC4 002E0924 38 9F 46 04 */ addi r4, r31, 0x4604
/* 802E4CC8 002E0928 38 60 00 01 */ li r3, 1
/* 802E4CCC 002E092C 91 7F 46 04 */ stw r11, 0x4604(r31)
/* 802E4CD0 002E0930 91 5F 46 08 */ stw r10, 0x4608(r31)
/* 802E4CD4 002E0934 93 BF 46 0C */ stw r29, 0x460c(r31)
/* 802E4CD8 002E0938 91 3F 46 10 */ stw r9, 0x4610(r31)
/* 802E4CDC 002E093C 91 1F 46 14 */ stw r8, 0x4614(r31)
/* 802E4CE0 002E0940 90 FF 46 18 */ stw r7, 0x4618(r31)
/* 802E4CE4 002E0944 90 DF 46 1C */ stw r6, 0x461c(r31)
/* 802E4CE8 002E0948 93 BF 46 20 */ stw r29, 0x4620(r31)
/* 802E4CEC 002E094C 90 BF 46 24 */ stw r5, 0x4624(r31)
/* 802E4CF0 002E0950 93 BF 46 28 */ stw r29, 0x4628(r31)
/* 802E4CF4 002E0954 4B FF 0B 3D */ bl L2CA_Register
/* 802E4CF8 002E0958 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802E4CFC 002E095C 40 82 00 1C */ bne lbl_802E4D18
/* 802E4D00 002E0960 88 1F 46 30 */ lbz r0, 0x4630(r31)
/* 802E4D04 002E0964 28 00 00 01 */ cmplwi r0, 1
/* 802E4D08 002E0968 41 80 00 10 */ blt lbl_802E4D18
/* 802E4D0C 002E096C 38 9E 00 60 */ addi r4, r30, 0x60
/* 802E4D10 002E0970 3C 60 00 0A */ lis r3, 0xa
/* 802E4D14 002E0974 4B FD 81 FD */ bl LogMsg_0
lbl_802E4D18:
/* 802E4D18 002E0978 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E4D1C 002E097C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E4D20 002E0980 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E4D24 002E0984 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E4D28 002E0988 7C 08 03 A6 */ mtlr r0
/* 802E4D2C 002E098C 38 21 00 20 */ addi r1, r1, 0x20
/* 802E4D30 002E0990 4E 80 00 20 */ blr
sdp_connect_ind:
/* 802E4D34 002E0994 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E4D38 002E0998 7C 08 02 A6 */ mflr r0
/* 802E4D3C 002E099C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E4D40 002E09A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E4D44 002E09A4 7C DF 33 78 */ mr r31, r6
/* 802E4D48 002E09A8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E4D4C 002E09AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E4D50 002E09B0 7C 9D 23 78 */ mr r29, r4
/* 802E4D54 002E09B4 93 81 00 10 */ stw r28, 0x10(r1)
/* 802E4D58 002E09B8 7C 7C 1B 78 */ mr r28, r3
/* 802E4D5C 002E09BC 48 00 17 45 */ bl sdpu_allocate_ccb
/* 802E4D60 002E09C0 2C 03 00 00 */ cmpwi r3, 0
/* 802E4D64 002E09C4 7C 7E 1B 78 */ mr r30, r3
/* 802E4D68 002E09C8 41 82 00 70 */ beq lbl_802E4DD8
/* 802E4D6C 002E09CC 38 00 00 02 */ li r0, 2
/* 802E4D70 002E09D0 7F 84 E3 78 */ mr r4, r28
/* 802E4D74 002E09D4 98 03 00 00 */ stb r0, 0(r3)
/* 802E4D78 002E09D8 38 A0 00 06 */ li r5, 6
/* 802E4D7C 002E09DC 38 63 00 02 */ addi r3, r3, 2
/* 802E4D80 002E09E0 4B D1 F2 81 */ bl memcpy
/* 802E4D84 002E09E4 B3 BE 00 22 */ sth r29, 0x22(r30)
/* 802E4D88 002E09E8 7F 83 E3 78 */ mr r3, r28
/* 802E4D8C 002E09EC 7F E4 FB 78 */ mr r4, r31
/* 802E4D90 002E09F0 7F A5 EB 78 */ mr r5, r29
/* 802E4D94 002E09F4 38 C0 00 00 */ li r6, 0
/* 802E4D98 002E09F8 38 E0 00 00 */ li r7, 0
/* 802E4D9C 002E09FC 4B FF 0E F5 */ bl L2CA_ConnectRsp
/* 802E4DA0 002E0A00 3F E0 80 57 */ lis r31, lbl_8056C840@ha
/* 802E4DA4 002E0A04 7F A3 EB 78 */ mr r3, r29
/* 802E4DA8 002E0A08 38 9F C8 40 */ addi r4, r31, lbl_8056C840@l
/* 802E4DAC 002E0A0C 4B FF 10 75 */ bl L2CA_ConfigReq
/* 802E4DB0 002E0A10 38 7F C8 40 */ addi r3, r31, -14272
/* 802E4DB4 002E0A14 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E4DB8 002E0A18 28 00 00 04 */ cmplwi r0, 4
/* 802E4DBC 002E0A1C 41 80 00 1C */ blt lbl_802E4DD8
/* 802E4DC0 002E0A20 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E4DC4 002E0A24 3C 80 80 44 */ lis r4, lbl_80445220@ha
/* 802E4DC8 002E0A28 A0 BE 00 22 */ lhz r5, 0x22(r30)
/* 802E4DCC 002E0A2C 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E4DD0 002E0A30 38 84 52 20 */ addi r4, r4, lbl_80445220@l
/* 802E4DD4 002E0A34 4B FD 81 55 */ bl LogMsg_1
lbl_802E4DD8:
/* 802E4DD8 002E0A38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E4DDC 002E0A3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E4DE0 002E0A40 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E4DE4 002E0A44 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E4DE8 002E0A48 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802E4DEC 002E0A4C 7C 08 03 A6 */ mtlr r0
/* 802E4DF0 002E0A50 38 21 00 20 */ addi r1, r1, 0x20
/* 802E4DF4 002E0A54 4E 80 00 20 */ blr
sdp_connect_cfm:
/* 802E4DF8 002E0A58 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E4DFC 002E0A5C 7C 08 02 A6 */ mflr r0
/* 802E4E00 002E0A60 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E4E04 002E0A64 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E4E08 002E0A68 7C 9F 23 78 */ mr r31, r4
/* 802E4E0C 002E0A6C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E4E10 002E0A70 3F C0 80 44 */ lis r30, lbl_804451A8@ha
/* 802E4E14 002E0A74 3B DE 51 A8 */ addi r30, r30, lbl_804451A8@l
/* 802E4E18 002E0A78 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E4E1C 002E0A7C 93 81 00 10 */ stw r28, 0x10(r1)
/* 802E4E20 002E0A80 7C 7C 1B 78 */ mr r28, r3
/* 802E4E24 002E0A84 48 00 15 ED */ bl sdpu_find_ccb_by_cid
/* 802E4E28 002E0A88 2C 03 00 00 */ cmpwi r3, 0
/* 802E4E2C 002E0A8C 7C 7D 1B 78 */ mr r29, r3
/* 802E4E30 002E0A90 40 82 00 30 */ bne lbl_802E4E60
/* 802E4E34 002E0A94 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E4E38 002E0A98 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E4E3C 002E0A9C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E4E40 002E0AA0 28 00 00 02 */ cmplwi r0, 2
/* 802E4E44 002E0AA4 41 80 01 24 */ blt lbl_802E4F68
/* 802E4E48 002E0AA8 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E4E4C 002E0AAC 7F 85 E3 78 */ mr r5, r28
/* 802E4E50 002E0AB0 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E4E54 002E0AB4 38 9E 00 B0 */ addi r4, r30, 0xb0
/* 802E4E58 002E0AB8 4B FD 80 D1 */ bl LogMsg_1
/* 802E4E5C 002E0ABC 48 00 01 0C */ b lbl_802E4F68
lbl_802E4E60:
/* 802E4E60 002E0AC0 2C 1F 00 00 */ cmpwi r31, 0
/* 802E4E64 002E0AC4 40 82 00 50 */ bne lbl_802E4EB4
/* 802E4E68 002E0AC8 88 03 00 00 */ lbz r0, 0(r3)
/* 802E4E6C 002E0ACC 28 00 00 01 */ cmplwi r0, 1
/* 802E4E70 002E0AD0 40 82 00 44 */ bne lbl_802E4EB4
/* 802E4E74 002E0AD4 38 00 00 02 */ li r0, 2
/* 802E4E78 002E0AD8 3F E0 80 57 */ lis r31, lbl_8056C840@ha
/* 802E4E7C 002E0ADC 98 03 00 00 */ stb r0, 0(r3)
/* 802E4E80 002E0AE0 7F 83 E3 78 */ mr r3, r28
/* 802E4E84 002E0AE4 38 9F C8 40 */ addi r4, r31, lbl_8056C840@l
/* 802E4E88 002E0AE8 4B FF 0F 99 */ bl L2CA_ConfigReq
/* 802E4E8C 002E0AEC 38 7F C8 40 */ addi r3, r31, -14272
/* 802E4E90 002E0AF0 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E4E94 002E0AF4 28 00 00 04 */ cmplwi r0, 4
/* 802E4E98 002E0AF8 41 80 00 D0 */ blt lbl_802E4F68
/* 802E4E9C 002E0AFC 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E4EA0 002E0B00 A0 BD 00 22 */ lhz r5, 0x22(r29)
/* 802E4EA4 002E0B04 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E4EA8 002E0B08 38 9E 00 DC */ addi r4, r30, 0xdc
/* 802E4EAC 002E0B0C 4B FD 80 7D */ bl LogMsg_1
/* 802E4EB0 002E0B10 48 00 00 B8 */ b lbl_802E4F68
lbl_802E4EB4:
/* 802E4EB4 002E0B14 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E4EB8 002E0B18 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E4EBC 002E0B1C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E4EC0 002E0B20 28 00 00 02 */ cmplwi r0, 2
/* 802E4EC4 002E0B24 41 80 00 1C */ blt lbl_802E4EE0
/* 802E4EC8 002E0B28 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E4ECC 002E0B2C A0 DD 00 22 */ lhz r6, 0x22(r29)
/* 802E4ED0 002E0B30 7F E5 FB 78 */ mr r5, r31
/* 802E4ED4 002E0B34 38 9E 01 08 */ addi r4, r30, 0x108
/* 802E4ED8 002E0B38 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E4EDC 002E0B3C 4B FD 80 65 */ bl LogMsg_2
lbl_802E4EE0:
/* 802E4EE0 002E0B40 81 9D 04 14 */ lwz r12, 0x414(r29)
/* 802E4EE4 002E0B44 2C 0C 00 00 */ cmpwi r12, 0
/* 802E4EE8 002E0B48 41 82 00 78 */ beq lbl_802E4F60
/* 802E4EEC 002E0B4C 28 1F 00 0E */ cmplwi r31, 0xe
/* 802E4EF0 002E0B50 41 82 00 24 */ beq lbl_802E4F14
/* 802E4EF4 002E0B54 28 1F 00 05 */ cmplwi r31, 5
/* 802E4EF8 002E0B58 41 82 00 1C */ beq lbl_802E4F14
/* 802E4EFC 002E0B5C 28 1F 00 18 */ cmplwi r31, 0x18
/* 802E4F00 002E0B60 41 82 00 14 */ beq lbl_802E4F14
/* 802E4F04 002E0B64 28 1F 00 29 */ cmplwi r31, 0x29
/* 802E4F08 002E0B68 41 82 00 0C */ beq lbl_802E4F14
/* 802E4F0C 002E0B6C 28 1F 00 06 */ cmplwi r31, 6
/* 802E4F10 002E0B70 40 82 00 1C */ bne lbl_802E4F2C
lbl_802E4F14:
/* 802E4F14 002E0B74 3C 60 00 01 */ lis r3, 0x0000FFF6@ha
/* 802E4F18 002E0B78 38 03 FF F6 */ addi r0, r3, 0x0000FFF6@l
/* 802E4F1C 002E0B7C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E4F20 002E0B80 7D 89 03 A6 */ mtctr r12
/* 802E4F24 002E0B84 4E 80 04 21 */ bctrl
/* 802E4F28 002E0B88 48 00 00 38 */ b lbl_802E4F60
lbl_802E4F2C:
/* 802E4F2C 002E0B8C 28 1F 00 0F */ cmplwi r31, 0xf
/* 802E4F30 002E0B90 40 82 00 1C */ bne lbl_802E4F4C
/* 802E4F34 002E0B94 3C 60 00 01 */ lis r3, 0x0000FFF7@ha
/* 802E4F38 002E0B98 38 03 FF F7 */ addi r0, r3, 0x0000FFF7@l
/* 802E4F3C 002E0B9C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E4F40 002E0BA0 7D 89 03 A6 */ mtctr r12
/* 802E4F44 002E0BA4 4E 80 04 21 */ bctrl
/* 802E4F48 002E0BA8 48 00 00 18 */ b lbl_802E4F60
lbl_802E4F4C:
/* 802E4F4C 002E0BAC 3C 60 00 01 */ lis r3, 0x0000FFF1@ha
/* 802E4F50 002E0BB0 38 03 FF F1 */ addi r0, r3, 0x0000FFF1@l
/* 802E4F54 002E0BB4 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E4F58 002E0BB8 7D 89 03 A6 */ mtctr r12
/* 802E4F5C 002E0BBC 4E 80 04 21 */ bctrl
lbl_802E4F60:
/* 802E4F60 002E0BC0 7F A3 EB 78 */ mr r3, r29
/* 802E4F64 002E0BC4 48 00 15 B1 */ bl sdpu_release_ccb
lbl_802E4F68:
/* 802E4F68 002E0BC8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E4F6C 002E0BCC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E4F70 002E0BD0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E4F74 002E0BD4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E4F78 002E0BD8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802E4F7C 002E0BDC 7C 08 03 A6 */ mtlr r0
/* 802E4F80 002E0BE0 38 21 00 20 */ addi r1, r1, 0x20
/* 802E4F84 002E0BE4 4E 80 00 20 */ blr
sdp_config_ind:
/* 802E4F88 002E0BE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E4F8C 002E0BEC 7C 08 02 A6 */ mflr r0
/* 802E4F90 002E0BF0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E4F94 002E0BF4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E4F98 002E0BF8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E4F9C 002E0BFC 7C 9E 23 78 */ mr r30, r4
/* 802E4FA0 002E0C00 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E4FA4 002E0C04 7C 7D 1B 78 */ mr r29, r3
/* 802E4FA8 002E0C08 48 00 14 69 */ bl sdpu_find_ccb_by_cid
/* 802E4FAC 002E0C0C 2C 03 00 00 */ cmpwi r3, 0
/* 802E4FB0 002E0C10 7C 7F 1B 78 */ mr r31, r3
/* 802E4FB4 002E0C14 40 82 00 34 */ bne lbl_802E4FE8
/* 802E4FB8 002E0C18 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E4FBC 002E0C1C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E4FC0 002E0C20 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E4FC4 002E0C24 28 00 00 02 */ cmplwi r0, 2
/* 802E4FC8 002E0C28 41 80 00 E0 */ blt lbl_802E50A8
/* 802E4FCC 002E0C2C 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E4FD0 002E0C30 3C 80 80 44 */ lis r4, lbl_804452E0@ha
/* 802E4FD4 002E0C34 7F A5 EB 78 */ mr r5, r29
/* 802E4FD8 002E0C38 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E4FDC 002E0C3C 38 84 52 E0 */ addi r4, r4, lbl_804452E0@l
/* 802E4FE0 002E0C40 4B FD 7F 49 */ bl LogMsg_1
/* 802E4FE4 002E0C44 48 00 00 C4 */ b lbl_802E50A8
lbl_802E4FE8:
/* 802E4FE8 002E0C48 88 1E 00 02 */ lbz r0, 2(r30)
/* 802E4FEC 002E0C4C 2C 00 00 00 */ cmpwi r0, 0
/* 802E4FF0 002E0C50 40 82 00 10 */ bne lbl_802E5000
/* 802E4FF4 002E0C54 38 00 01 00 */ li r0, 0x100
/* 802E4FF8 002E0C58 B0 03 00 20 */ sth r0, 0x20(r3)
/* 802E4FFC 002E0C5C 48 00 00 20 */ b lbl_802E501C
lbl_802E5000:
/* 802E5000 002E0C60 A0 1E 00 04 */ lhz r0, 4(r30)
/* 802E5004 002E0C64 28 00 01 00 */ cmplwi r0, 0x100
/* 802E5008 002E0C68 40 81 00 10 */ ble lbl_802E5018
/* 802E500C 002E0C6C 38 00 01 00 */ li r0, 0x100
/* 802E5010 002E0C70 B0 03 00 20 */ sth r0, 0x20(r3)
/* 802E5014 002E0C74 48 00 00 08 */ b lbl_802E501C
lbl_802E5018:
/* 802E5018 002E0C78 B0 03 00 20 */ sth r0, 0x20(r3)
lbl_802E501C:
/* 802E501C 002E0C7C 38 00 00 00 */ li r0, 0
/* 802E5020 002E0C80 7F A3 EB 78 */ mr r3, r29
/* 802E5024 002E0C84 98 1E 00 20 */ stb r0, 0x20(r30)
/* 802E5028 002E0C88 7F C4 F3 78 */ mr r4, r30
/* 802E502C 002E0C8C 98 1E 00 02 */ stb r0, 2(r30)
/* 802E5030 002E0C90 B0 1E 00 00 */ sth r0, 0(r30)
/* 802E5034 002E0C94 4B FF 0E A5 */ bl L2CA_ConfigRsp
/* 802E5038 002E0C98 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E503C 002E0C9C 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5040 002E0CA0 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E5044 002E0CA4 28 00 00 04 */ cmplwi r0, 4
/* 802E5048 002E0CA8 41 80 00 1C */ blt lbl_802E5064
/* 802E504C 002E0CAC 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E5050 002E0CB0 3C 80 80 44 */ lis r4, lbl_8044530C@ha
/* 802E5054 002E0CB4 7F A5 EB 78 */ mr r5, r29
/* 802E5058 002E0CB8 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E505C 002E0CBC 38 84 53 0C */ addi r4, r4, lbl_8044530C@l
/* 802E5060 002E0CC0 4B FD 7E C9 */ bl LogMsg_1
lbl_802E5064:
/* 802E5064 002E0CC4 88 1F 00 01 */ lbz r0, 1(r31)
/* 802E5068 002E0CC8 60 03 00 02 */ ori r3, r0, 2
/* 802E506C 002E0CCC 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 802E5070 002E0CD0 98 7F 00 01 */ stb r3, 1(r31)
/* 802E5074 002E0CD4 41 82 00 34 */ beq lbl_802E50A8
/* 802E5078 002E0CD8 38 00 00 03 */ li r0, 3
/* 802E507C 002E0CDC 98 1F 00 00 */ stb r0, 0(r31)
/* 802E5080 002E0CE0 88 1F 00 01 */ lbz r0, 1(r31)
/* 802E5084 002E0CE4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802E5088 002E0CE8 41 82 00 10 */ beq lbl_802E5098
/* 802E508C 002E0CEC 7F E3 FB 78 */ mr r3, r31
/* 802E5090 002E0CF0 4B FF EA A9 */ bl sdp_disc_connected
/* 802E5094 002E0CF4 48 00 00 14 */ b lbl_802E50A8
lbl_802E5098:
/* 802E5098 002E0CF8 38 7F 00 08 */ addi r3, r31, 8
/* 802E509C 002E0CFC 38 80 00 05 */ li r4, 5
/* 802E50A0 002E0D00 38 A0 00 1E */ li r5, 0x1e
/* 802E50A4 002E0D04 4B FD 84 39 */ bl btu_start_timer
lbl_802E50A8:
/* 802E50A8 002E0D08 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E50AC 002E0D0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E50B0 002E0D10 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E50B4 002E0D14 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E50B8 002E0D18 7C 08 03 A6 */ mtlr r0
/* 802E50BC 002E0D1C 38 21 00 20 */ addi r1, r1, 0x20
/* 802E50C0 002E0D20 4E 80 00 20 */ blr
sdp_config_cfm:
/* 802E50C4 002E0D24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E50C8 002E0D28 7C 08 02 A6 */ mflr r0
/* 802E50CC 002E0D2C 3C A0 80 57 */ lis r5, lbl_8056C840@ha
/* 802E50D0 002E0D30 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E50D4 002E0D34 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
/* 802E50D8 002E0D38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E50DC 002E0D3C 3F E0 80 44 */ lis r31, lbl_804451A8@ha
/* 802E50E0 002E0D40 3B FF 51 A8 */ addi r31, r31, lbl_804451A8@l
/* 802E50E4 002E0D44 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E50E8 002E0D48 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E50EC 002E0D4C 7C 9D 23 78 */ mr r29, r4
/* 802E50F0 002E0D50 93 81 00 10 */ stw r28, 0x10(r1)
/* 802E50F4 002E0D54 7C 7C 1B 78 */ mr r28, r3
/* 802E50F8 002E0D58 88 05 46 30 */ lbz r0, 0x4630(r5)
/* 802E50FC 002E0D5C 28 00 00 04 */ cmplwi r0, 4
/* 802E5100 002E0D60 41 80 00 1C */ blt lbl_802E511C
/* 802E5104 002E0D64 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E5108 002E0D68 A0 DD 00 00 */ lhz r6, 0(r29)
/* 802E510C 002E0D6C 7F 85 E3 78 */ mr r5, r28
/* 802E5110 002E0D70 38 9F 01 90 */ addi r4, r31, 0x190
/* 802E5114 002E0D74 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E5118 002E0D78 4B FD 7E 29 */ bl LogMsg_2
lbl_802E511C:
/* 802E511C 002E0D7C 7F 83 E3 78 */ mr r3, r28
/* 802E5120 002E0D80 48 00 12 F1 */ bl sdpu_find_ccb_by_cid
/* 802E5124 002E0D84 2C 03 00 00 */ cmpwi r3, 0
/* 802E5128 002E0D88 7C 7E 1B 78 */ mr r30, r3
/* 802E512C 002E0D8C 40 82 00 30 */ bne lbl_802E515C
/* 802E5130 002E0D90 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5134 002E0D94 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5138 002E0D98 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E513C 002E0D9C 28 00 00 02 */ cmplwi r0, 2
/* 802E5140 002E0DA0 41 80 00 E0 */ blt lbl_802E5220
/* 802E5144 002E0DA4 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E5148 002E0DA8 7F 85 E3 78 */ mr r5, r28
/* 802E514C 002E0DAC 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E5150 002E0DB0 38 9F 01 38 */ addi r4, r31, 0x138
/* 802E5154 002E0DB4 4B FD 7D D5 */ bl LogMsg_1
/* 802E5158 002E0DB8 48 00 00 C8 */ b lbl_802E5220
lbl_802E515C:
/* 802E515C 002E0DBC A0 1D 00 00 */ lhz r0, 0(r29)
/* 802E5160 002E0DC0 2C 00 00 00 */ cmpwi r0, 0
/* 802E5164 002E0DC4 40 82 00 48 */ bne lbl_802E51AC
/* 802E5168 002E0DC8 88 03 00 01 */ lbz r0, 1(r3)
/* 802E516C 002E0DCC 60 04 00 04 */ ori r4, r0, 4
/* 802E5170 002E0DD0 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 802E5174 002E0DD4 98 83 00 01 */ stb r4, 1(r3)
/* 802E5178 002E0DD8 41 82 00 A8 */ beq lbl_802E5220
/* 802E517C 002E0DDC 38 00 00 03 */ li r0, 3
/* 802E5180 002E0DE0 98 03 00 00 */ stb r0, 0(r3)
/* 802E5184 002E0DE4 88 03 00 01 */ lbz r0, 1(r3)
/* 802E5188 002E0DE8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802E518C 002E0DEC 41 82 00 0C */ beq lbl_802E5198
/* 802E5190 002E0DF0 4B FF E9 A9 */ bl sdp_disc_connected
/* 802E5194 002E0DF4 48 00 00 8C */ b lbl_802E5220
lbl_802E5198:
/* 802E5198 002E0DF8 38 80 00 05 */ li r4, 5
/* 802E519C 002E0DFC 38 A0 00 1E */ li r5, 0x1e
/* 802E51A0 002E0E00 38 63 00 08 */ addi r3, r3, 8
/* 802E51A4 002E0E04 4B FD 83 39 */ bl btu_start_timer
/* 802E51A8 002E0E08 48 00 00 78 */ b lbl_802E5220
lbl_802E51AC:
/* 802E51AC 002E0E0C 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E51B0 002E0E10 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E51B4 002E0E14 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E51B8 002E0E18 28 00 00 04 */ cmplwi r0, 4
/* 802E51BC 002E0E1C 41 80 00 18 */ blt lbl_802E51D4
/* 802E51C0 002E0E20 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E51C4 002E0E24 A0 BE 00 22 */ lhz r5, 0x22(r30)
/* 802E51C8 002E0E28 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E51CC 002E0E2C 38 9F 01 BC */ addi r4, r31, 0x1bc
/* 802E51D0 002E0E30 4B FD 7D 59 */ bl LogMsg_1
lbl_802E51D4:
/* 802E51D4 002E0E34 88 1E 00 00 */ lbz r0, 0(r30)
/* 802E51D8 002E0E38 28 00 00 01 */ cmplwi r0, 1
/* 802E51DC 002E0E3C 41 82 00 1C */ beq lbl_802E51F8
/* 802E51E0 002E0E40 A0 7E 00 22 */ lhz r3, 0x22(r30)
/* 802E51E4 002E0E44 4B FF 0D C5 */ bl L2CA_DisconnectReq
/* 802E51E8 002E0E48 3C 60 00 01 */ lis r3, 0x0000FFF2@ha
/* 802E51EC 002E0E4C 38 03 FF F2 */ addi r0, r3, 0x0000FFF2@l
/* 802E51F0 002E0E50 B0 1E 04 72 */ sth r0, 0x472(r30)
/* 802E51F4 002E0E54 48 00 00 2C */ b lbl_802E5220
lbl_802E51F8:
/* 802E51F8 002E0E58 81 9E 04 14 */ lwz r12, 0x414(r30)
/* 802E51FC 002E0E5C 2C 0C 00 00 */ cmpwi r12, 0
/* 802E5200 002E0E60 41 82 00 18 */ beq lbl_802E5218
/* 802E5204 002E0E64 3C 60 00 01 */ lis r3, 0x0000FFF2@ha
/* 802E5208 002E0E68 38 03 FF F2 */ addi r0, r3, 0x0000FFF2@l
/* 802E520C 002E0E6C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E5210 002E0E70 7D 89 03 A6 */ mtctr r12
/* 802E5214 002E0E74 4E 80 04 21 */ bctrl
lbl_802E5218:
/* 802E5218 002E0E78 7F C3 F3 78 */ mr r3, r30
/* 802E521C 002E0E7C 48 00 12 F9 */ bl sdpu_release_ccb
lbl_802E5220:
/* 802E5220 002E0E80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E5224 002E0E84 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E5228 002E0E88 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E522C 002E0E8C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E5230 002E0E90 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802E5234 002E0E94 7C 08 03 A6 */ mtlr r0
/* 802E5238 002E0E98 38 21 00 20 */ addi r1, r1, 0x20
/* 802E523C 002E0E9C 4E 80 00 20 */ blr
sdp_disconnect_ind:
/* 802E5240 002E0EA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E5244 002E0EA4 7C 08 02 A6 */ mflr r0
/* 802E5248 002E0EA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E524C 002E0EAC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E5250 002E0EB0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E5254 002E0EB4 7C 9E 23 78 */ mr r30, r4
/* 802E5258 002E0EB8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E525C 002E0EBC 7C 7D 1B 78 */ mr r29, r3
/* 802E5260 002E0EC0 48 00 11 B1 */ bl sdpu_find_ccb_by_cid
/* 802E5264 002E0EC4 2C 03 00 00 */ cmpwi r3, 0
/* 802E5268 002E0EC8 7C 7F 1B 78 */ mr r31, r3
/* 802E526C 002E0ECC 40 82 00 34 */ bne lbl_802E52A0
/* 802E5270 002E0ED0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5274 002E0ED4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5278 002E0ED8 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E527C 002E0EDC 28 00 00 02 */ cmplwi r0, 2
/* 802E5280 002E0EE0 41 80 00 9C */ blt lbl_802E531C
/* 802E5284 002E0EE4 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E5288 002E0EE8 3C 80 80 44 */ lis r4, lbl_80445380@ha
/* 802E528C 002E0EEC 7F A5 EB 78 */ mr r5, r29
/* 802E5290 002E0EF0 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E5294 002E0EF4 38 84 53 80 */ addi r4, r4, lbl_80445380@l
/* 802E5298 002E0EF8 4B FD 7C 91 */ bl LogMsg_1
/* 802E529C 002E0EFC 48 00 00 80 */ b lbl_802E531C
lbl_802E52A0:
/* 802E52A0 002E0F00 2C 1E 00 00 */ cmpwi r30, 0
/* 802E52A4 002E0F04 41 82 00 0C */ beq lbl_802E52B0
/* 802E52A8 002E0F08 7F A3 EB 78 */ mr r3, r29
/* 802E52AC 002E0F0C 4B FF 0D A1 */ bl L2CA_DisconnectRsp
lbl_802E52B0:
/* 802E52B0 002E0F10 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E52B4 002E0F14 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E52B8 002E0F18 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E52BC 002E0F1C 28 00 00 04 */ cmplwi r0, 4
/* 802E52C0 002E0F20 41 80 00 1C */ blt lbl_802E52DC
/* 802E52C4 002E0F24 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E52C8 002E0F28 3C 80 80 44 */ lis r4, lbl_804453AC@ha
/* 802E52CC 002E0F2C 7F A5 EB 78 */ mr r5, r29
/* 802E52D0 002E0F30 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E52D4 002E0F34 38 84 53 AC */ addi r4, r4, lbl_804453AC@l
/* 802E52D8 002E0F38 4B FD 7C 51 */ bl LogMsg_1
lbl_802E52DC:
/* 802E52DC 002E0F3C 81 9F 04 14 */ lwz r12, 0x414(r31)
/* 802E52E0 002E0F40 2C 0C 00 00 */ cmpwi r12, 0
/* 802E52E4 002E0F44 41 82 00 30 */ beq lbl_802E5314
/* 802E52E8 002E0F48 88 BF 00 00 */ lbz r5, 0(r31)
/* 802E52EC 002E0F4C 3C 60 00 01 */ lis r3, 0x0000FFF1@ha
/* 802E52F0 002E0F50 38 03 FF F1 */ addi r0, r3, 0x0000FFF1@l
/* 802E52F4 002E0F54 38 85 FF FD */ addi r4, r5, -3
/* 802E52F8 002E0F58 20 65 00 03 */ subfic r3, r5, 3
/* 802E52FC 002E0F5C 7C 83 18 F8 */ nor r3, r4, r3
/* 802E5300 002E0F60 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 802E5304 002E0F64 7C 00 18 78 */ andc r0, r0, r3
/* 802E5308 002E0F68 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E530C 002E0F6C 7D 89 03 A6 */ mtctr r12
/* 802E5310 002E0F70 4E 80 04 21 */ bctrl
lbl_802E5314:
/* 802E5314 002E0F74 7F E3 FB 78 */ mr r3, r31
/* 802E5318 002E0F78 48 00 11 FD */ bl sdpu_release_ccb
lbl_802E531C:
/* 802E531C 002E0F7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E5320 002E0F80 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E5324 002E0F84 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E5328 002E0F88 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E532C 002E0F8C 7C 08 03 A6 */ mtlr r0
/* 802E5330 002E0F90 38 21 00 20 */ addi r1, r1, 0x20
/* 802E5334 002E0F94 4E 80 00 20 */ blr
sdp_data_ind:
/* 802E5338 002E0F98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E533C 002E0F9C 7C 08 02 A6 */ mflr r0
/* 802E5340 002E0FA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E5344 002E0FA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E5348 002E0FA8 7C 9F 23 78 */ mr r31, r4
/* 802E534C 002E0FAC 93 C1 00 08 */ stw r30, 8(r1)
/* 802E5350 002E0FB0 7C 7E 1B 78 */ mr r30, r3
/* 802E5354 002E0FB4 48 00 10 BD */ bl sdpu_find_ccb_by_cid
/* 802E5358 002E0FB8 2C 03 00 00 */ cmpwi r3, 0
/* 802E535C 002E0FBC 41 82 00 64 */ beq lbl_802E53C0
/* 802E5360 002E0FC0 88 A3 00 00 */ lbz r5, 0(r3)
/* 802E5364 002E0FC4 28 05 00 03 */ cmplwi r5, 3
/* 802E5368 002E0FC8 40 82 00 28 */ bne lbl_802E5390
/* 802E536C 002E0FCC 88 03 00 01 */ lbz r0, 1(r3)
/* 802E5370 002E0FD0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802E5374 002E0FD4 41 82 00 10 */ beq lbl_802E5384
/* 802E5378 002E0FD8 7F E4 FB 78 */ mr r4, r31
/* 802E537C 002E0FDC 4B FF E7 F1 */ bl sdp_disc_server_rsp
/* 802E5380 002E0FE0 48 00 00 6C */ b lbl_802E53EC
lbl_802E5384:
/* 802E5384 002E0FE4 7F E4 FB 78 */ mr r4, r31
/* 802E5388 002E0FE8 48 00 03 79 */ bl sdp_server_handle_client_req
/* 802E538C 002E0FEC 48 00 00 60 */ b lbl_802E53EC
lbl_802E5390:
/* 802E5390 002E0FF0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5394 002E0FF4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5398 002E0FF8 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E539C 002E0FFC 28 00 00 02 */ cmplwi r0, 2
/* 802E53A0 002E1000 41 80 00 4C */ blt lbl_802E53EC
/* 802E53A4 002E1004 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E53A8 002E1008 3C 80 80 44 */ lis r4, lbl_804453D0@ha
/* 802E53AC 002E100C 7F C6 F3 78 */ mr r6, r30
/* 802E53B0 002E1010 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E53B4 002E1014 38 84 53 D0 */ addi r4, r4, lbl_804453D0@l
/* 802E53B8 002E1018 4B FD 7B 89 */ bl LogMsg_2
/* 802E53BC 002E101C 48 00 00 30 */ b lbl_802E53EC
lbl_802E53C0:
/* 802E53C0 002E1020 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E53C4 002E1024 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E53C8 002E1028 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E53CC 002E102C 28 00 00 02 */ cmplwi r0, 2
/* 802E53D0 002E1030 41 80 00 1C */ blt lbl_802E53EC
/* 802E53D4 002E1034 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E53D8 002E1038 3C 80 80 44 */ lis r4, lbl_80445408@ha
/* 802E53DC 002E103C 7F C5 F3 78 */ mr r5, r30
/* 802E53E0 002E1040 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E53E4 002E1044 38 84 54 08 */ addi r4, r4, lbl_80445408@l
/* 802E53E8 002E1048 4B FD 7B 41 */ bl LogMsg_1
lbl_802E53EC:
/* 802E53EC 002E104C 7F E3 FB 78 */ mr r3, r31
/* 802E53F0 002E1050 4B FD 49 45 */ bl GKI_freebuf
/* 802E53F4 002E1054 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E53F8 002E1058 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E53FC 002E105C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E5400 002E1060 7C 08 03 A6 */ mtlr r0
/* 802E5404 002E1064 38 21 00 10 */ addi r1, r1, 0x10
/* 802E5408 002E1068 4E 80 00 20 */ blr
.global sdp_conn_originate
sdp_conn_originate:
/* 802E540C 002E106C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802E5410 002E1070 7C 08 02 A6 */ mflr r0
/* 802E5414 002E1074 90 01 00 24 */ stw r0, 0x24(r1)
/* 802E5418 002E1078 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802E541C 002E107C 3F E0 80 44 */ lis r31, lbl_804451A8@ha
/* 802E5420 002E1080 3B FF 51 A8 */ addi r31, r31, lbl_804451A8@l
/* 802E5424 002E1084 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802E5428 002E1088 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802E542C 002E108C 7C 7D 1B 78 */ mr r29, r3
/* 802E5430 002E1090 48 00 10 71 */ bl sdpu_allocate_ccb
/* 802E5434 002E1094 2C 03 00 00 */ cmpwi r3, 0
/* 802E5438 002E1098 7C 7E 1B 78 */ mr r30, r3
/* 802E543C 002E109C 40 82 00 30 */ bne lbl_802E546C
/* 802E5440 002E10A0 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5444 002E10A4 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5448 002E10A8 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E544C 002E10AC 28 00 00 02 */ cmplwi r0, 2
/* 802E5450 002E10B0 41 80 00 14 */ blt lbl_802E5464
/* 802E5454 002E10B4 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E5458 002E10B8 38 9F 02 8C */ addi r4, r31, 0x28c
/* 802E545C 002E10BC 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E5460 002E10C0 4B FD 7A B1 */ bl LogMsg_0
lbl_802E5464:
/* 802E5464 002E10C4 38 60 00 00 */ li r3, 0
/* 802E5468 002E10C8 48 00 00 9C */ b lbl_802E5504
lbl_802E546C:
/* 802E546C 002E10CC 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5470 002E10D0 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E5474 002E10D4 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E5478 002E10D8 28 00 00 04 */ cmplwi r0, 4
/* 802E547C 002E10DC 41 80 00 14 */ blt lbl_802E5490
/* 802E5480 002E10E0 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E5484 002E10E4 38 9F 02 A8 */ addi r4, r31, 0x2a8
/* 802E5488 002E10E8 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E548C 002E10EC 4B FD 7A 85 */ bl LogMsg_0
lbl_802E5490:
/* 802E5490 002E10F0 88 1E 00 01 */ lbz r0, 1(r30)
/* 802E5494 002E10F4 7F A4 EB 78 */ mr r4, r29
/* 802E5498 002E10F8 38 7E 00 02 */ addi r3, r30, 2
/* 802E549C 002E10FC 38 A0 00 06 */ li r5, 6
/* 802E54A0 002E1100 60 00 00 01 */ ori r0, r0, 1
/* 802E54A4 002E1104 98 1E 00 01 */ stb r0, 1(r30)
/* 802E54A8 002E1108 4B D1 EB 59 */ bl memcpy
/* 802E54AC 002E110C 38 00 00 01 */ li r0, 1
/* 802E54B0 002E1110 7F A4 EB 78 */ mr r4, r29
/* 802E54B4 002E1114 98 1E 00 00 */ stb r0, 0(r30)
/* 802E54B8 002E1118 38 60 00 01 */ li r3, 1
/* 802E54BC 002E111C 4B FF 05 A1 */ bl L2CA_ConnectReq
/* 802E54C0 002E1120 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 802E54C4 002E1124 41 82 00 10 */ beq lbl_802E54D4
/* 802E54C8 002E1128 B0 7E 00 22 */ sth r3, 0x22(r30)
/* 802E54CC 002E112C 7F C3 F3 78 */ mr r3, r30
/* 802E54D0 002E1130 48 00 00 34 */ b lbl_802E5504
lbl_802E54D4:
/* 802E54D4 002E1134 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E54D8 002E1138 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E54DC 002E113C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E54E0 002E1140 28 00 00 02 */ cmplwi r0, 2
/* 802E54E4 002E1144 41 80 00 14 */ blt lbl_802E54F8
/* 802E54E8 002E1148 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E54EC 002E114C 38 9F 02 C0 */ addi r4, r31, 0x2c0
/* 802E54F0 002E1150 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E54F4 002E1154 4B FD 7A 1D */ bl LogMsg_0
lbl_802E54F8:
/* 802E54F8 002E1158 7F C3 F3 78 */ mr r3, r30
/* 802E54FC 002E115C 48 00 10 19 */ bl sdpu_release_ccb
/* 802E5500 002E1160 38 60 00 00 */ li r3, 0
lbl_802E5504:
/* 802E5504 002E1164 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802E5508 002E1168 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802E550C 002E116C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802E5510 002E1170 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802E5514 002E1174 7C 08 03 A6 */ mtlr r0
/* 802E5518 002E1178 38 21 00 20 */ addi r1, r1, 0x20
/* 802E551C 002E117C 4E 80 00 20 */ blr
.global sdp_disconnect
sdp_disconnect:
/* 802E5520 002E1180 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E5524 002E1184 7C 08 02 A6 */ mflr r0
/* 802E5528 002E1188 3C A0 80 57 */ lis r5, lbl_8056C840@ha
/* 802E552C 002E118C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E5530 002E1190 38 A5 C8 40 */ addi r5, r5, lbl_8056C840@l
/* 802E5534 002E1194 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E5538 002E1198 7C 9F 23 78 */ mr r31, r4
/* 802E553C 002E119C 93 C1 00 08 */ stw r30, 8(r1)
/* 802E5540 002E11A0 7C 7E 1B 78 */ mr r30, r3
/* 802E5544 002E11A4 88 05 46 30 */ lbz r0, 0x4630(r5)
/* 802E5548 002E11A8 28 00 00 04 */ cmplwi r0, 4
/* 802E554C 002E11AC 41 80 00 1C */ blt lbl_802E5568
/* 802E5550 002E11B0 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E5554 002E11B4 3C 80 80 44 */ lis r4, lbl_80445364@ha
/* 802E5558 002E11B8 A0 BE 00 22 */ lhz r5, 0x22(r30)
/* 802E555C 002E11BC 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E5560 002E11C0 38 84 53 64 */ addi r4, r4, lbl_80445364@l
/* 802E5564 002E11C4 4B FD 79 C5 */ bl LogMsg_1
lbl_802E5568:
/* 802E5568 002E11C8 88 1E 00 00 */ lbz r0, 0(r30)
/* 802E556C 002E11CC 28 00 00 01 */ cmplwi r0, 1
/* 802E5570 002E11D0 41 82 00 14 */ beq lbl_802E5584
/* 802E5574 002E11D4 A0 7E 00 22 */ lhz r3, 0x22(r30)
/* 802E5578 002E11D8 4B FF 0A 31 */ bl L2CA_DisconnectReq
/* 802E557C 002E11DC B3 FE 04 72 */ sth r31, 0x472(r30)
/* 802E5580 002E11E0 48 00 00 24 */ b lbl_802E55A4
lbl_802E5584:
/* 802E5584 002E11E4 81 9E 04 14 */ lwz r12, 0x414(r30)
/* 802E5588 002E11E8 2C 0C 00 00 */ cmpwi r12, 0
/* 802E558C 002E11EC 41 82 00 10 */ beq lbl_802E559C
/* 802E5590 002E11F0 7F E3 FB 78 */ mr r3, r31
/* 802E5594 002E11F4 7D 89 03 A6 */ mtctr r12
/* 802E5598 002E11F8 4E 80 04 21 */ bctrl
lbl_802E559C:
/* 802E559C 002E11FC 7F C3 F3 78 */ mr r3, r30
/* 802E55A0 002E1200 48 00 0F 75 */ bl sdpu_release_ccb
lbl_802E55A4:
/* 802E55A4 002E1204 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E55A8 002E1208 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E55AC 002E120C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E55B0 002E1210 7C 08 03 A6 */ mtlr r0
/* 802E55B4 002E1214 38 21 00 10 */ addi r1, r1, 0x10
/* 802E55B8 002E1218 4E 80 00 20 */ blr
sdp_disconnect_cfm:
/* 802E55BC 002E121C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E55C0 002E1220 7C 08 02 A6 */ mflr r0
/* 802E55C4 002E1224 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E55C8 002E1228 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E55CC 002E122C 93 C1 00 08 */ stw r30, 8(r1)
/* 802E55D0 002E1230 7C 7E 1B 78 */ mr r30, r3
/* 802E55D4 002E1234 48 00 0E 3D */ bl sdpu_find_ccb_by_cid
/* 802E55D8 002E1238 2C 03 00 00 */ cmpwi r3, 0
/* 802E55DC 002E123C 7C 7F 1B 78 */ mr r31, r3
/* 802E55E0 002E1240 40 82 00 34 */ bne lbl_802E5614
/* 802E55E4 002E1244 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E55E8 002E1248 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E55EC 002E124C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E55F0 002E1250 28 00 00 02 */ cmplwi r0, 2
/* 802E55F4 002E1254 41 80 00 6C */ blt lbl_802E5660
/* 802E55F8 002E1258 3C 60 00 0A */ lis r3, 0x000A0001@ha
/* 802E55FC 002E125C 3C 80 80 44 */ lis r4, lbl_80445480@ha
/* 802E5600 002E1260 7F C5 F3 78 */ mr r5, r30
/* 802E5604 002E1264 38 63 00 01 */ addi r3, r3, 0x000A0001@l
/* 802E5608 002E1268 38 84 54 80 */ addi r4, r4, lbl_80445480@l
/* 802E560C 002E126C 4B FD 79 1D */ bl LogMsg_1
/* 802E5610 002E1270 48 00 00 50 */ b lbl_802E5660
lbl_802E5614:
/* 802E5614 002E1274 3C 60 80 57 */ lis r3, lbl_8056C840@ha
/* 802E5618 002E1278 38 63 C8 40 */ addi r3, r3, lbl_8056C840@l
/* 802E561C 002E127C 88 03 46 30 */ lbz r0, 0x4630(r3)
/* 802E5620 002E1280 28 00 00 04 */ cmplwi r0, 4
/* 802E5624 002E1284 41 80 00 1C */ blt lbl_802E5640
/* 802E5628 002E1288 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E562C 002E128C 3C 80 80 44 */ lis r4, lbl_804454B0@ha
/* 802E5630 002E1290 7F C5 F3 78 */ mr r5, r30
/* 802E5634 002E1294 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E5638 002E1298 38 84 54 B0 */ addi r4, r4, lbl_804454B0@l
/* 802E563C 002E129C 4B FD 78 ED */ bl LogMsg_1
lbl_802E5640:
/* 802E5640 002E12A0 81 9F 04 14 */ lwz r12, 0x414(r31)
/* 802E5644 002E12A4 2C 0C 00 00 */ cmpwi r12, 0
/* 802E5648 002E12A8 41 82 00 10 */ beq lbl_802E5658
/* 802E564C 002E12AC A0 7F 04 72 */ lhz r3, 0x472(r31)
/* 802E5650 002E12B0 7D 89 03 A6 */ mtctr r12
/* 802E5654 002E12B4 4E 80 04 21 */ bctrl
lbl_802E5658:
/* 802E5658 002E12B8 7F E3 FB 78 */ mr r3, r31
/* 802E565C 002E12BC 48 00 0E B9 */ bl sdpu_release_ccb
lbl_802E5660:
/* 802E5660 002E12C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E5664 002E12C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E5668 002E12C8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802E566C 002E12CC 7C 08 03 A6 */ mtlr r0
/* 802E5670 002E12D0 38 21 00 10 */ addi r1, r1, 0x10
/* 802E5674 002E12D4 4E 80 00 20 */ blr
.global sdp_conn_timeout
sdp_conn_timeout:
/* 802E5678 002E12D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802E567C 002E12DC 7C 08 02 A6 */ mflr r0
/* 802E5680 002E12E0 3C 80 80 57 */ lis r4, lbl_8056C840@ha
/* 802E5684 002E12E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802E5688 002E12E8 38 84 C8 40 */ addi r4, r4, lbl_8056C840@l
/* 802E568C 002E12EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802E5690 002E12F0 7C 7F 1B 78 */ mr r31, r3
/* 802E5694 002E12F4 88 04 46 30 */ lbz r0, 0x4630(r4)
/* 802E5698 002E12F8 28 00 00 04 */ cmplwi r0, 4
/* 802E569C 002E12FC 41 80 00 20 */ blt lbl_802E56BC
/* 802E56A0 002E1300 3C 60 00 0A */ lis r3, 0x000A0003@ha
/* 802E56A4 002E1304 3C 80 80 44 */ lis r4, lbl_804454D8@ha
/* 802E56A8 002E1308 88 BF 00 00 */ lbz r5, 0(r31)
/* 802E56AC 002E130C 38 63 00 03 */ addi r3, r3, 0x000A0003@l
/* 802E56B0 002E1310 A0 DF 00 22 */ lhz r6, 0x22(r31)
/* 802E56B4 002E1314 38 84 54 D8 */ addi r4, r4, lbl_804454D8@l
/* 802E56B8 002E1318 4B FD 78 89 */ bl LogMsg_2
lbl_802E56BC:
/* 802E56BC 002E131C A0 7F 00 22 */ lhz r3, 0x22(r31)
/* 802E56C0 002E1320 4B FF 08 E9 */ bl L2CA_DisconnectReq
/* 802E56C4 002E1324 81 9F 04 14 */ lwz r12, 0x414(r31)
/* 802E56C8 002E1328 2C 0C 00 00 */ cmpwi r12, 0
/* 802E56CC 002E132C 41 82 00 18 */ beq lbl_802E56E4
/* 802E56D0 002E1330 3C 60 00 01 */ lis r3, 0x0000FFF1@ha
/* 802E56D4 002E1334 38 03 FF F1 */ addi r0, r3, 0x0000FFF1@l
/* 802E56D8 002E1338 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 802E56DC 002E133C 7D 89 03 A6 */ mtctr r12
/* 802E56E0 002E1340 4E 80 04 21 */ bctrl
lbl_802E56E4:
/* 802E56E4 002E1344 7F E3 FB 78 */ mr r3, r31
/* 802E56E8 002E1348 48 00 0E 2D */ bl sdpu_release_ccb
/* 802E56EC 002E134C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802E56F0 002E1350 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802E56F4 002E1354 7C 08 03 A6 */ mtlr r0
/* 802E56F8 002E1358 38 21 00 10 */ addi r1, r1, 0x10
/* 802E56FC 002E135C 4E 80 00 20 */ blr
|