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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global NCDSetNwc24Permission
NCDSetNwc24Permission:
/* 802ED204 002E8E64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED208 002E8E68 7C 08 02 A6 */ mflr r0
/* 802ED20C 002E8E6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED210 002E8E70 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED214 002E8E74 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED218 002E8E78 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED21C 002E8E7C 7C 7D 1B 78 */ mr r29, r3
/* 802ED220 002E8E80 4B F8 40 D9 */ bl OSGetCurrentThread
/* 802ED224 002E8E84 2C 03 00 00 */ cmpwi r3, 0
/* 802ED228 002E8E88 40 82 00 0C */ bne lbl_802ED234
/* 802ED22C 002E8E8C 38 60 FF FB */ li r3, -5
/* 802ED230 002E8E90 48 00 00 88 */ b lbl_802ED2B8
lbl_802ED234:
/* 802ED234 002E8E94 48 00 0A 39 */ bl LockRight
/* 802ED238 002E8E98 48 01 6B 59 */ bl NWC24iLockSocket
/* 802ED23C 002E8E9C 2C 03 00 00 */ cmpwi r3, 0
/* 802ED240 002E8EA0 40 82 00 48 */ bne lbl_802ED288
/* 802ED244 002E8EA4 3F E0 80 44 */ lis r31, lbl_80445AF0@ha
/* 802ED248 002E8EA8 38 80 00 00 */ li r4, 0
/* 802ED24C 002E8EAC 38 7F 5A F0 */ addi r3, r31, lbl_80445AF0@l
/* 802ED250 002E8EB0 38 A0 00 03 */ li r5, 3
/* 802ED254 002E8EB4 48 00 08 85 */ bl ExecConfigCommand
/* 802ED258 002E8EB8 2C 03 00 00 */ cmpwi r3, 0
/* 802ED25C 002E8EBC 7C 7E 1B 78 */ mr r30, r3
/* 802ED260 002E8EC0 40 82 00 20 */ bne lbl_802ED280
/* 802ED264 002E8EC4 80 CD AF 34 */ lwz r6, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED268 002E8EC8 38 7F 5A F0 */ addi r3, r31, 0x5af0
/* 802ED26C 002E8ECC 38 80 00 00 */ li r4, 0
/* 802ED270 002E8ED0 38 A0 00 04 */ li r5, 4
/* 802ED274 002E8ED4 9B A6 00 05 */ stb r29, 5(r6)
/* 802ED278 002E8ED8 48 00 08 61 */ bl ExecConfigCommand
/* 802ED27C 002E8EDC 7C 7E 1B 78 */ mr r30, r3
lbl_802ED280:
/* 802ED280 002E8EE0 48 01 6B 21 */ bl NWC24iUnlockSocket
/* 802ED284 002E8EE4 48 00 00 24 */ b lbl_802ED2A8
lbl_802ED288:
/* 802ED288 002E8EE8 2C 03 FF EA */ cmpwi r3, -22
/* 802ED28C 002E8EEC 40 82 00 0C */ bne lbl_802ED298
/* 802ED290 002E8EF0 3B C0 FF FC */ li r30, -4
/* 802ED294 002E8EF4 48 00 00 14 */ b lbl_802ED2A8
lbl_802ED298:
/* 802ED298 002E8EF8 2C 03 FF E3 */ cmpwi r3, -29
/* 802ED29C 002E8EFC 3B C0 FF FE */ li r30, -2
/* 802ED2A0 002E8F00 40 82 00 08 */ bne lbl_802ED2A8
/* 802ED2A4 002E8F04 3B C0 FF F8 */ li r30, -8
lbl_802ED2A8:
/* 802ED2A8 002E8F08 3C 60 80 58 */ lis r3, lbl_80579060@ha
/* 802ED2AC 002E8F0C 38 63 90 60 */ addi r3, r3, lbl_80579060@l
/* 802ED2B0 002E8F10 4B F8 27 75 */ bl OSUnlockMutex
/* 802ED2B4 002E8F14 7F C3 F3 78 */ mr r3, r30
lbl_802ED2B8:
/* 802ED2B8 002E8F18 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED2BC 002E8F1C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED2C0 002E8F20 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED2C4 002E8F24 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED2C8 002E8F28 7C 08 03 A6 */ mtlr r0
/* 802ED2CC 002E8F2C 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED2D0 002E8F30 4E 80 00 20 */ blr
.global NCDGetCurrentIfConfig
NCDGetCurrentIfConfig:
/* 802ED2D4 002E8F34 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED2D8 002E8F38 7C 08 02 A6 */ mflr r0
/* 802ED2DC 002E8F3C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED2E0 002E8F40 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED2E4 002E8F44 3B E0 00 00 */ li r31, 0
/* 802ED2E8 002E8F48 7C 03 F8 40 */ cmplw r3, r31
/* 802ED2EC 002E8F4C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED2F0 002E8F50 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED2F4 002E8F54 7C 7D 1B 78 */ mr r29, r3
/* 802ED2F8 002E8F58 40 82 00 0C */ bne lbl_802ED304
/* 802ED2FC 002E8F5C 38 60 FF FD */ li r3, -3
/* 802ED300 002E8F60 48 00 00 B0 */ b lbl_802ED3B0
lbl_802ED304:
/* 802ED304 002E8F64 48 00 09 69 */ bl LockRight
/* 802ED308 002E8F68 3C 60 80 44 */ lis r3, lbl_80445B08@ha
/* 802ED30C 002E8F6C 38 80 00 00 */ li r4, 0
/* 802ED310 002E8F70 38 63 5B 08 */ addi r3, r3, lbl_80445B08@l
/* 802ED314 002E8F74 38 A0 00 03 */ li r5, 3
/* 802ED318 002E8F78 48 00 07 C1 */ bl ExecConfigCommand
/* 802ED31C 002E8F7C 2C 03 00 00 */ cmpwi r3, 0
/* 802ED320 002E8F80 7C 7F 1B 78 */ mr r31, r3
/* 802ED324 002E8F84 40 82 00 7C */ bne lbl_802ED3A0
/* 802ED328 002E8F88 3C 60 80 58 */ lis r3, lbl_80579080@ha
/* 802ED32C 002E8F8C 83 CD AF 34 */ lwz r30, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED330 002E8F90 38 63 90 80 */ addi r3, r3, lbl_80579080@l
/* 802ED334 002E8F94 80 03 00 04 */ lwz r0, 4(r3)
/* 802ED338 002E8F98 2C 00 00 00 */ cmpwi r0, 0
/* 802ED33C 002E8F9C 41 80 00 0C */ blt lbl_802ED348
/* 802ED340 002E8FA0 2C 00 00 03 */ cmpwi r0, 3
/* 802ED344 002E8FA4 41 80 00 0C */ blt lbl_802ED350
lbl_802ED348:
/* 802ED348 002E8FA8 3B E0 FF F9 */ li r31, -7
/* 802ED34C 002E8FAC 48 00 00 54 */ b lbl_802ED3A0
lbl_802ED350:
/* 802ED350 002E8FB0 1C 00 09 1C */ mulli r0, r0, 0x91c
/* 802ED354 002E8FB4 7C 9E 02 14 */ add r4, r30, r0
/* 802ED358 002E8FB8 88 04 00 08 */ lbz r0, 8(r4)
/* 802ED35C 002E8FBC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802ED360 002E8FC0 41 82 00 20 */ beq lbl_802ED380
/* 802ED364 002E8FC4 38 00 00 02 */ li r0, 2
/* 802ED368 002E8FC8 38 7D 00 02 */ addi r3, r29, 2
/* 802ED36C 002E8FCC 98 1D 00 00 */ stb r0, 0(r29)
/* 802ED370 002E8FD0 38 84 07 C8 */ addi r4, r4, 0x7c8
/* 802ED374 002E8FD4 38 A0 00 04 */ li r5, 4
/* 802ED378 002E8FD8 4B D1 6C 89 */ bl memcpy
/* 802ED37C 002E8FDC 48 00 00 1C */ b lbl_802ED398
lbl_802ED380:
/* 802ED380 002E8FE0 38 00 00 01 */ li r0, 1
/* 802ED384 002E8FE4 38 7D 00 02 */ addi r3, r29, 2
/* 802ED388 002E8FE8 98 1D 00 00 */ stb r0, 0(r29)
/* 802ED38C 002E8FEC 38 84 07 C8 */ addi r4, r4, 0x7c8
/* 802ED390 002E8FF0 38 A0 01 5C */ li r5, 0x15c
/* 802ED394 002E8FF4 4B D1 6C 6D */ bl memcpy
lbl_802ED398:
/* 802ED398 002E8FF8 88 1E 00 06 */ lbz r0, 6(r30)
/* 802ED39C 002E8FFC 98 1D 00 01 */ stb r0, 1(r29)
lbl_802ED3A0:
/* 802ED3A0 002E9000 3C 60 80 58 */ lis r3, lbl_80579060@ha
/* 802ED3A4 002E9004 38 63 90 60 */ addi r3, r3, lbl_80579060@l
/* 802ED3A8 002E9008 4B F8 26 7D */ bl OSUnlockMutex
/* 802ED3AC 002E900C 7F E3 FB 78 */ mr r3, r31
lbl_802ED3B0:
/* 802ED3B0 002E9010 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED3B4 002E9014 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED3B8 002E9018 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED3BC 002E901C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED3C0 002E9020 7C 08 03 A6 */ mtlr r0
/* 802ED3C4 002E9024 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED3C8 002E9028 4E 80 00 20 */ blr
.global NCDGetCurrentIpConfig
NCDGetCurrentIpConfig:
/* 802ED3CC 002E902C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED3D0 002E9030 7C 08 02 A6 */ mflr r0
/* 802ED3D4 002E9034 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED3D8 002E9038 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED3DC 002E903C 7C 7F 1B 78 */ mr r31, r3
/* 802ED3E0 002E9040 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED3E4 002E9044 3B C0 00 00 */ li r30, 0
/* 802ED3E8 002E9048 7C 03 F0 40 */ cmplw r3, r30
/* 802ED3EC 002E904C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED3F0 002E9050 93 81 00 10 */ stw r28, 0x10(r1)
/* 802ED3F4 002E9054 40 82 00 0C */ bne lbl_802ED400
/* 802ED3F8 002E9058 38 60 FF FD */ li r3, -3
/* 802ED3FC 002E905C 48 00 01 08 */ b lbl_802ED504
lbl_802ED400:
/* 802ED400 002E9060 48 00 08 6D */ bl LockRight
/* 802ED404 002E9064 3C 60 80 44 */ lis r3, lbl_80445B20@ha
/* 802ED408 002E9068 38 80 00 00 */ li r4, 0
/* 802ED40C 002E906C 38 63 5B 20 */ addi r3, r3, lbl_80445B20@l
/* 802ED410 002E9070 38 A0 00 03 */ li r5, 3
/* 802ED414 002E9074 48 00 06 C5 */ bl ExecConfigCommand
/* 802ED418 002E9078 2C 03 00 00 */ cmpwi r3, 0
/* 802ED41C 002E907C 7C 7E 1B 78 */ mr r30, r3
/* 802ED420 002E9080 40 82 00 D4 */ bne lbl_802ED4F4
/* 802ED424 002E9084 3C 60 80 58 */ lis r3, lbl_80579080@ha
/* 802ED428 002E9088 83 AD AF 34 */ lwz r29, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED42C 002E908C 38 63 90 80 */ addi r3, r3, lbl_80579080@l
/* 802ED430 002E9090 83 83 00 04 */ lwz r28, 4(r3)
/* 802ED434 002E9094 2C 1C 00 00 */ cmpwi r28, 0
/* 802ED438 002E9098 41 80 00 0C */ blt lbl_802ED444
/* 802ED43C 002E909C 2C 1C 00 03 */ cmpwi r28, 3
/* 802ED440 002E90A0 41 80 00 0C */ blt lbl_802ED44C
lbl_802ED444:
/* 802ED444 002E90A4 3B C0 FF F9 */ li r30, -7
/* 802ED448 002E90A8 48 00 00 AC */ b lbl_802ED4F4
lbl_802ED44C:
/* 802ED44C 002E90AC 1C 1C 09 1C */ mulli r0, r28, 0x91c
/* 802ED450 002E90B0 38 7F 00 1C */ addi r3, r31, 0x1c
/* 802ED454 002E90B4 38 A0 00 0C */ li r5, 0xc
/* 802ED458 002E90B8 7C 9D 02 14 */ add r4, r29, r0
/* 802ED45C 002E90BC 38 84 00 20 */ addi r4, r4, 0x20
/* 802ED460 002E90C0 4B D1 6B A1 */ bl memcpy
/* 802ED464 002E90C4 1C 1C 09 1C */ mulli r0, r28, 0x91c
/* 802ED468 002E90C8 7C 9D 02 14 */ add r4, r29, r0
/* 802ED46C 002E90CC 88 04 00 08 */ lbz r0, 8(r4)
/* 802ED470 002E90D0 54 00 07 7D */ rlwinm. r0, r0, 0, 0x1d, 0x1e
/* 802ED474 002E90D4 41 82 00 20 */ beq lbl_802ED494
/* 802ED478 002E90D8 38 00 00 01 */ li r0, 1
/* 802ED47C 002E90DC 38 7F 00 08 */ addi r3, r31, 8
/* 802ED480 002E90E0 90 1F 00 00 */ stw r0, 0(r31)
/* 802ED484 002E90E4 38 84 00 0C */ addi r4, r4, 0xc
/* 802ED488 002E90E8 38 A0 00 14 */ li r5, 0x14
/* 802ED48C 002E90EC 4B D1 6B 75 */ bl memcpy
/* 802ED490 002E90F0 48 00 00 1C */ b lbl_802ED4AC
lbl_802ED494:
/* 802ED494 002E90F4 38 00 00 00 */ li r0, 0
/* 802ED498 002E90F8 38 7F 00 08 */ addi r3, r31, 8
/* 802ED49C 002E90FC 90 1F 00 00 */ stw r0, 0(r31)
/* 802ED4A0 002E9100 38 84 00 0C */ addi r4, r4, 0xc
/* 802ED4A4 002E9104 38 A0 00 14 */ li r5, 0x14
/* 802ED4A8 002E9108 4B D1 6B 59 */ bl memcpy
lbl_802ED4AC:
/* 802ED4AC 002E910C 1C 1C 09 1C */ mulli r0, r28, 0x91c
/* 802ED4B0 002E9110 7C 9D 02 14 */ add r4, r29, r0
/* 802ED4B4 002E9114 88 04 00 08 */ lbz r0, 8(r4)
/* 802ED4B8 002E9118 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 802ED4BC 002E911C 41 82 00 20 */ beq lbl_802ED4DC
/* 802ED4C0 002E9120 38 00 00 01 */ li r0, 1
/* 802ED4C4 002E9124 38 7F 00 28 */ addi r3, r31, 0x28
/* 802ED4C8 002E9128 90 1F 00 04 */ stw r0, 4(r31)
/* 802ED4CC 002E912C 38 84 00 2C */ addi r4, r4, 0x2c
/* 802ED4D0 002E9130 38 A0 07 9C */ li r5, 0x79c
/* 802ED4D4 002E9134 4B D1 6B 2D */ bl memcpy
/* 802ED4D8 002E9138 48 00 00 1C */ b lbl_802ED4F4
lbl_802ED4DC:
/* 802ED4DC 002E913C 38 00 00 00 */ li r0, 0
/* 802ED4E0 002E9140 38 7F 00 28 */ addi r3, r31, 0x28
/* 802ED4E4 002E9144 90 1F 00 04 */ stw r0, 4(r31)
/* 802ED4E8 002E9148 38 80 00 00 */ li r4, 0
/* 802ED4EC 002E914C 38 A0 07 9C */ li r5, 0x79c
/* 802ED4F0 002E9150 4B D1 6C 15 */ bl memset
lbl_802ED4F4:
/* 802ED4F4 002E9154 3C 60 80 58 */ lis r3, lbl_80579060@ha
/* 802ED4F8 002E9158 38 63 90 60 */ addi r3, r3, lbl_80579060@l
/* 802ED4FC 002E915C 4B F8 25 29 */ bl OSUnlockMutex
/* 802ED500 002E9160 7F C3 F3 78 */ mr r3, r30
lbl_802ED504:
/* 802ED504 002E9164 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED508 002E9168 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED50C 002E916C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED510 002E9170 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED514 002E9174 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802ED518 002E9178 7C 08 03 A6 */ mtlr r0
/* 802ED51C 002E917C 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED520 002E9180 4E 80 00 20 */ blr
.global NCDGetLinkStatus
NCDGetLinkStatus:
/* 802ED524 002E9184 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED528 002E9188 7C 08 02 A6 */ mflr r0
/* 802ED52C 002E918C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED530 002E9190 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED534 002E9194 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED538 002E9198 3F C0 80 58 */ lis r30, lbl_80579060@ha
/* 802ED53C 002E919C 3B DE 90 60 */ addi r30, r30, lbl_80579060@l
/* 802ED540 002E91A0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED544 002E91A4 93 81 00 10 */ stw r28, 0x10(r1)
/* 802ED548 002E91A8 4B F8 3D B1 */ bl OSGetCurrentThread
/* 802ED54C 002E91AC 2C 03 00 00 */ cmpwi r3, 0
/* 802ED550 002E91B0 40 82 00 0C */ bne lbl_802ED55C
/* 802ED554 002E91B4 38 60 FF FB */ li r3, -5
/* 802ED558 002E91B8 48 00 00 B0 */ b lbl_802ED608
lbl_802ED55C:
/* 802ED55C 002E91BC 48 00 07 11 */ bl LockRight
/* 802ED560 002E91C0 3C 60 80 44 */ lis r3, lbl_80445B38@ha
/* 802ED564 002E91C4 38 80 00 00 */ li r4, 0
/* 802ED568 002E91C8 38 63 5B 38 */ addi r3, r3, lbl_80445B38@l
/* 802ED56C 002E91CC 4B FB 5B ED */ bl IOS_Open
/* 802ED570 002E91D0 2C 03 00 00 */ cmpwi r3, 0
/* 802ED574 002E91D4 7C 7C 1B 78 */ mr r28, r3
/* 802ED578 002E91D8 40 80 00 1C */ bge lbl_802ED594
/* 802ED57C 002E91DC 2C 03 FF FA */ cmpwi r3, -6
/* 802ED580 002E91E0 40 82 00 0C */ bne lbl_802ED58C
/* 802ED584 002E91E4 3B A0 FF F8 */ li r29, -8
/* 802ED588 002E91E8 48 00 00 74 */ b lbl_802ED5FC
lbl_802ED58C:
/* 802ED58C 002E91EC 3B A0 FF FE */ li r29, -2
/* 802ED590 002E91F0 48 00 00 6C */ b lbl_802ED5FC
lbl_802ED594:
/* 802ED594 002E91F4 3B FE 00 20 */ addi r31, r30, 0x20
/* 802ED598 002E91F8 38 FE 00 40 */ addi r7, r30, 0x40
/* 802ED59C 002E91FC 38 00 00 20 */ li r0, 0x20
/* 802ED5A0 002E9200 93 FE 00 40 */ stw r31, 0x40(r30)
/* 802ED5A4 002E9204 38 80 00 07 */ li r4, 7
/* 802ED5A8 002E9208 38 A0 00 00 */ li r5, 0
/* 802ED5AC 002E920C 90 07 00 04 */ stw r0, 4(r7)
/* 802ED5B0 002E9210 38 C0 00 01 */ li r6, 1
/* 802ED5B4 002E9214 4B FB 68 8D */ bl IOS_Ioctlv
/* 802ED5B8 002E9218 2C 03 00 00 */ cmpwi r3, 0
/* 802ED5BC 002E921C 40 80 00 0C */ bge lbl_802ED5C8
/* 802ED5C0 002E9220 3B A0 FF FE */ li r29, -2
/* 802ED5C4 002E9224 48 00 00 24 */ b lbl_802ED5E8
lbl_802ED5C8:
/* 802ED5C8 002E9228 83 BE 00 20 */ lwz r29, 0x20(r30)
/* 802ED5CC 002E922C 2C 1D 00 00 */ cmpwi r29, 0
/* 802ED5D0 002E9230 40 82 00 18 */ bne lbl_802ED5E8
/* 802ED5D4 002E9234 83 BF 00 04 */ lwz r29, 4(r31)
/* 802ED5D8 002E9238 2C 1D 00 00 */ cmpwi r29, 0
/* 802ED5DC 002E923C 41 80 00 08 */ blt lbl_802ED5E4
/* 802ED5E0 002E9240 48 00 00 08 */ b lbl_802ED5E8
lbl_802ED5E4:
/* 802ED5E4 002E9244 3B A0 FF FF */ li r29, -1
lbl_802ED5E8:
/* 802ED5E8 002E9248 7F 83 E3 78 */ mr r3, r28
/* 802ED5EC 002E924C 4B FB 5D 4D */ bl IOS_Close
/* 802ED5F0 002E9250 2C 03 00 00 */ cmpwi r3, 0
/* 802ED5F4 002E9254 40 80 00 08 */ bge lbl_802ED5FC
/* 802ED5F8 002E9258 3B A0 FF FF */ li r29, -1
lbl_802ED5FC:
/* 802ED5FC 002E925C 38 7E 00 00 */ addi r3, r30, 0
/* 802ED600 002E9260 4B F8 24 25 */ bl OSUnlockMutex
/* 802ED604 002E9264 7F A3 EB 78 */ mr r3, r29
lbl_802ED608:
/* 802ED608 002E9268 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED60C 002E926C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED610 002E9270 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED614 002E9274 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED618 002E9278 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802ED61C 002E927C 7C 08 03 A6 */ mtlr r0
/* 802ED620 002E9280 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED624 002E9284 4E 80 00 20 */ blr
.global NCDiGetWirelessMacAddress
NCDiGetWirelessMacAddress:
/* 802ED628 002E9288 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED62C 002E928C 7C 08 02 A6 */ mflr r0
/* 802ED630 002E9290 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED634 002E9294 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED638 002E9298 3F E0 80 58 */ lis r31, lbl_80579060@ha
/* 802ED63C 002E929C 3B FF 90 60 */ addi r31, r31, lbl_80579060@l
/* 802ED640 002E92A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED644 002E92A4 3B C0 00 00 */ li r30, 0
/* 802ED648 002E92A8 7C 03 F0 40 */ cmplw r3, r30
/* 802ED64C 002E92AC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED650 002E92B0 93 81 00 10 */ stw r28, 0x10(r1)
/* 802ED654 002E92B4 7C 7C 1B 78 */ mr r28, r3
/* 802ED658 002E92B8 40 82 00 0C */ bne lbl_802ED664
/* 802ED65C 002E92BC 38 60 FF FD */ li r3, -3
/* 802ED660 002E92C0 48 00 00 D0 */ b lbl_802ED730
lbl_802ED664:
/* 802ED664 002E92C4 4B F8 3C 95 */ bl OSGetCurrentThread
/* 802ED668 002E92C8 2C 03 00 00 */ cmpwi r3, 0
/* 802ED66C 002E92CC 40 82 00 0C */ bne lbl_802ED678
/* 802ED670 002E92D0 38 60 FF FB */ li r3, -5
/* 802ED674 002E92D4 48 00 00 BC */ b lbl_802ED730
lbl_802ED678:
/* 802ED678 002E92D8 48 00 05 F5 */ bl LockRight
/* 802ED67C 002E92DC 3C 60 80 44 */ lis r3, lbl_80445B38@ha
/* 802ED680 002E92E0 38 80 00 00 */ li r4, 0
/* 802ED684 002E92E4 38 63 5B 38 */ addi r3, r3, lbl_80445B38@l
/* 802ED688 002E92E8 4B FB 5A D1 */ bl IOS_Open
/* 802ED68C 002E92EC 2C 03 00 00 */ cmpwi r3, 0
/* 802ED690 002E92F0 7C 7D 1B 78 */ mr r29, r3
/* 802ED694 002E92F4 40 80 00 1C */ bge lbl_802ED6B0
/* 802ED698 002E92F8 2C 03 FF FA */ cmpwi r3, -6
/* 802ED69C 002E92FC 40 82 00 0C */ bne lbl_802ED6A8
/* 802ED6A0 002E9300 3B C0 FF F8 */ li r30, -8
/* 802ED6A4 002E9304 48 00 00 80 */ b lbl_802ED724
lbl_802ED6A8:
/* 802ED6A8 002E9308 3B C0 FF FE */ li r30, -2
/* 802ED6AC 002E930C 48 00 00 78 */ b lbl_802ED724
lbl_802ED6B0:
/* 802ED6B0 002E9310 81 0D AF 34 */ lwz r8, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED6B4 002E9314 38 FF 00 40 */ addi r7, r31, 0x40
/* 802ED6B8 002E9318 38 9F 00 20 */ addi r4, r31, 0x20
/* 802ED6BC 002E931C 38 A0 00 20 */ li r5, 0x20
/* 802ED6C0 002E9320 38 00 00 06 */ li r0, 6
/* 802ED6C4 002E9324 90 9F 00 40 */ stw r4, 0x40(r31)
/* 802ED6C8 002E9328 38 80 00 08 */ li r4, 8
/* 802ED6CC 002E932C 38 C0 00 02 */ li r6, 2
/* 802ED6D0 002E9330 90 A7 00 04 */ stw r5, 4(r7)
/* 802ED6D4 002E9334 38 A0 00 00 */ li r5, 0
/* 802ED6D8 002E9338 91 07 00 08 */ stw r8, 8(r7)
/* 802ED6DC 002E933C 90 07 00 0C */ stw r0, 0xc(r7)
/* 802ED6E0 002E9340 4B FB 67 61 */ bl IOS_Ioctlv
/* 802ED6E4 002E9344 2C 03 00 00 */ cmpwi r3, 0
/* 802ED6E8 002E9348 40 80 00 0C */ bge lbl_802ED6F4
/* 802ED6EC 002E934C 3B C0 FF FE */ li r30, -2
/* 802ED6F0 002E9350 48 00 00 20 */ b lbl_802ED710
lbl_802ED6F4:
/* 802ED6F4 002E9354 83 DF 00 20 */ lwz r30, 0x20(r31)
/* 802ED6F8 002E9358 2C 1E 00 00 */ cmpwi r30, 0
/* 802ED6FC 002E935C 40 82 00 14 */ bne lbl_802ED710
/* 802ED700 002E9360 80 8D AF 34 */ lwz r4, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED704 002E9364 7F 83 E3 78 */ mr r3, r28
/* 802ED708 002E9368 38 A0 00 06 */ li r5, 6
/* 802ED70C 002E936C 4B D1 68 F5 */ bl memcpy
lbl_802ED710:
/* 802ED710 002E9370 7F A3 EB 78 */ mr r3, r29
/* 802ED714 002E9374 4B FB 5C 25 */ bl IOS_Close
/* 802ED718 002E9378 2C 03 00 00 */ cmpwi r3, 0
/* 802ED71C 002E937C 40 80 00 08 */ bge lbl_802ED724
/* 802ED720 002E9380 3B C0 FF FF */ li r30, -1
lbl_802ED724:
/* 802ED724 002E9384 38 7F 00 00 */ addi r3, r31, 0
/* 802ED728 002E9388 4B F8 22 FD */ bl OSUnlockMutex
/* 802ED72C 002E938C 7F C3 F3 78 */ mr r3, r30
lbl_802ED730:
/* 802ED730 002E9390 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED734 002E9394 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED738 002E9398 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED73C 002E939C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED740 002E93A0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802ED744 002E93A4 7C 08 03 A6 */ mtlr r0
/* 802ED748 002E93A8 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED74C 002E93AC 4E 80 00 20 */ blr
.global NCDLockWirelessDriver
NCDLockWirelessDriver:
/* 802ED750 002E93B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED754 002E93B4 7C 08 02 A6 */ mflr r0
/* 802ED758 002E93B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED75C 002E93BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED760 002E93C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED764 002E93C4 3F C0 80 58 */ lis r30, lbl_80579060@ha
/* 802ED768 002E93C8 3B DE 90 60 */ addi r30, r30, lbl_80579060@l
/* 802ED76C 002E93CC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED770 002E93D0 93 81 00 10 */ stw r28, 0x10(r1)
/* 802ED774 002E93D4 4B F8 3B 85 */ bl OSGetCurrentThread
/* 802ED778 002E93D8 2C 03 00 00 */ cmpwi r3, 0
/* 802ED77C 002E93DC 40 82 00 0C */ bne lbl_802ED788
/* 802ED780 002E93E0 38 60 FF FB */ li r3, -5
/* 802ED784 002E93E4 48 00 00 B0 */ b lbl_802ED834
lbl_802ED788:
/* 802ED788 002E93E8 48 00 04 E5 */ bl LockRight
/* 802ED78C 002E93EC 3C 60 80 44 */ lis r3, lbl_80445B38@ha
/* 802ED790 002E93F0 38 80 00 00 */ li r4, 0
/* 802ED794 002E93F4 38 63 5B 38 */ addi r3, r3, lbl_80445B38@l
/* 802ED798 002E93F8 4B FB 59 C1 */ bl IOS_Open
/* 802ED79C 002E93FC 2C 03 00 00 */ cmpwi r3, 0
/* 802ED7A0 002E9400 7C 7C 1B 78 */ mr r28, r3
/* 802ED7A4 002E9404 40 80 00 1C */ bge lbl_802ED7C0
/* 802ED7A8 002E9408 2C 03 FF FA */ cmpwi r3, -6
/* 802ED7AC 002E940C 40 82 00 0C */ bne lbl_802ED7B8
/* 802ED7B0 002E9410 3B A0 FF F8 */ li r29, -8
/* 802ED7B4 002E9414 48 00 00 74 */ b lbl_802ED828
lbl_802ED7B8:
/* 802ED7B8 002E9418 3B A0 FF FE */ li r29, -2
/* 802ED7BC 002E941C 48 00 00 6C */ b lbl_802ED828
lbl_802ED7C0:
/* 802ED7C0 002E9420 3B FE 00 20 */ addi r31, r30, 0x20
/* 802ED7C4 002E9424 38 FE 00 40 */ addi r7, r30, 0x40
/* 802ED7C8 002E9428 38 00 00 20 */ li r0, 0x20
/* 802ED7CC 002E942C 93 FE 00 40 */ stw r31, 0x40(r30)
/* 802ED7D0 002E9430 38 80 00 01 */ li r4, 1
/* 802ED7D4 002E9434 38 A0 00 00 */ li r5, 0
/* 802ED7D8 002E9438 90 07 00 04 */ stw r0, 4(r7)
/* 802ED7DC 002E943C 38 C0 00 01 */ li r6, 1
/* 802ED7E0 002E9440 4B FB 66 61 */ bl IOS_Ioctlv
/* 802ED7E4 002E9444 2C 03 00 00 */ cmpwi r3, 0
/* 802ED7E8 002E9448 40 80 00 0C */ bge lbl_802ED7F4
/* 802ED7EC 002E944C 3B A0 FF FE */ li r29, -2
/* 802ED7F0 002E9450 48 00 00 24 */ b lbl_802ED814
lbl_802ED7F4:
/* 802ED7F4 002E9454 83 BE 00 20 */ lwz r29, 0x20(r30)
/* 802ED7F8 002E9458 2C 1D 00 00 */ cmpwi r29, 0
/* 802ED7FC 002E945C 40 82 00 18 */ bne lbl_802ED814
/* 802ED800 002E9460 83 BF 00 04 */ lwz r29, 4(r31)
/* 802ED804 002E9464 2C 1D 00 00 */ cmpwi r29, 0
/* 802ED808 002E9468 40 81 00 08 */ ble lbl_802ED810
/* 802ED80C 002E946C 48 00 00 08 */ b lbl_802ED814
lbl_802ED810:
/* 802ED810 002E9470 3B A0 FF FF */ li r29, -1
lbl_802ED814:
/* 802ED814 002E9474 7F 83 E3 78 */ mr r3, r28
/* 802ED818 002E9478 4B FB 5B 21 */ bl IOS_Close
/* 802ED81C 002E947C 2C 03 00 00 */ cmpwi r3, 0
/* 802ED820 002E9480 40 80 00 08 */ bge lbl_802ED828
/* 802ED824 002E9484 3B A0 FF FF */ li r29, -1
lbl_802ED828:
/* 802ED828 002E9488 38 7E 00 00 */ addi r3, r30, 0
/* 802ED82C 002E948C 4B F8 21 F9 */ bl OSUnlockMutex
/* 802ED830 002E9490 7F A3 EB 78 */ mr r3, r29
lbl_802ED834:
/* 802ED834 002E9494 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED838 002E9498 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED83C 002E949C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED840 002E94A0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED844 002E94A4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802ED848 002E94A8 7C 08 03 A6 */ mtlr r0
/* 802ED84C 002E94AC 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED850 002E94B0 4E 80 00 20 */ blr
.global NCDUnlockWirelessDriver
NCDUnlockWirelessDriver:
/* 802ED854 002E94B4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ED858 002E94B8 7C 08 02 A6 */ mflr r0
/* 802ED85C 002E94BC 2C 03 00 00 */ cmpwi r3, 0
/* 802ED860 002E94C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ED864 002E94C4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ED868 002E94C8 3F E0 80 58 */ lis r31, lbl_80579060@ha
/* 802ED86C 002E94CC 3B FF 90 60 */ addi r31, r31, lbl_80579060@l
/* 802ED870 002E94D0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802ED874 002E94D4 7C 7E 1B 78 */ mr r30, r3
/* 802ED878 002E94D8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802ED87C 002E94DC 41 81 00 0C */ bgt lbl_802ED888
/* 802ED880 002E94E0 38 60 FF FD */ li r3, -3
/* 802ED884 002E94E4 48 00 00 BC */ b lbl_802ED940
lbl_802ED888:
/* 802ED888 002E94E8 4B F8 3A 71 */ bl OSGetCurrentThread
/* 802ED88C 002E94EC 2C 03 00 00 */ cmpwi r3, 0
/* 802ED890 002E94F0 40 82 00 0C */ bne lbl_802ED89C
/* 802ED894 002E94F4 38 60 FF FB */ li r3, -5
/* 802ED898 002E94F8 48 00 00 A8 */ b lbl_802ED940
lbl_802ED89C:
/* 802ED89C 002E94FC 48 00 03 D1 */ bl LockRight
/* 802ED8A0 002E9500 3C 60 80 44 */ lis r3, lbl_80445B38@ha
/* 802ED8A4 002E9504 38 80 00 00 */ li r4, 0
/* 802ED8A8 002E9508 38 63 5B 38 */ addi r3, r3, lbl_80445B38@l
/* 802ED8AC 002E950C 4B FB 58 AD */ bl IOS_Open
/* 802ED8B0 002E9510 2C 03 00 00 */ cmpwi r3, 0
/* 802ED8B4 002E9514 7C 7D 1B 78 */ mr r29, r3
/* 802ED8B8 002E9518 40 80 00 1C */ bge lbl_802ED8D4
/* 802ED8BC 002E951C 2C 03 FF FA */ cmpwi r3, -6
/* 802ED8C0 002E9520 40 82 00 0C */ bne lbl_802ED8CC
/* 802ED8C4 002E9524 3B C0 FF F8 */ li r30, -8
/* 802ED8C8 002E9528 48 00 00 6C */ b lbl_802ED934
lbl_802ED8CC:
/* 802ED8CC 002E952C 3B C0 FF FE */ li r30, -2
/* 802ED8D0 002E9530 48 00 00 64 */ b lbl_802ED934
lbl_802ED8D4:
/* 802ED8D4 002E9534 81 2D AF 34 */ lwz r9, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED8D8 002E9538 38 FF 00 40 */ addi r7, r31, 0x40
/* 802ED8DC 002E953C 39 1F 00 20 */ addi r8, r31, 0x20
/* 802ED8E0 002E9540 38 A0 00 04 */ li r5, 4
/* 802ED8E4 002E9544 38 00 00 20 */ li r0, 0x20
/* 802ED8E8 002E9548 90 A7 00 04 */ stw r5, 4(r7)
/* 802ED8EC 002E954C 38 80 00 02 */ li r4, 2
/* 802ED8F0 002E9550 38 A0 00 01 */ li r5, 1
/* 802ED8F4 002E9554 91 3F 00 40 */ stw r9, 0x40(r31)
/* 802ED8F8 002E9558 38 C0 00 01 */ li r6, 1
/* 802ED8FC 002E955C 91 07 00 08 */ stw r8, 8(r7)
/* 802ED900 002E9560 90 07 00 0C */ stw r0, 0xc(r7)
/* 802ED904 002E9564 93 C9 00 00 */ stw r30, 0(r9)
/* 802ED908 002E9568 4B FB 65 39 */ bl IOS_Ioctlv
/* 802ED90C 002E956C 2C 03 00 00 */ cmpwi r3, 0
/* 802ED910 002E9570 40 80 00 0C */ bge lbl_802ED91C
/* 802ED914 002E9574 3B C0 FF FE */ li r30, -2
/* 802ED918 002E9578 48 00 00 08 */ b lbl_802ED920
lbl_802ED91C:
/* 802ED91C 002E957C 83 DF 00 20 */ lwz r30, 0x20(r31)
lbl_802ED920:
/* 802ED920 002E9580 7F A3 EB 78 */ mr r3, r29
/* 802ED924 002E9584 4B FB 5A 15 */ bl IOS_Close
/* 802ED928 002E9588 2C 03 00 00 */ cmpwi r3, 0
/* 802ED92C 002E958C 40 80 00 08 */ bge lbl_802ED934
/* 802ED930 002E9590 3B C0 FF FF */ li r30, -1
lbl_802ED934:
/* 802ED934 002E9594 38 7F 00 00 */ addi r3, r31, 0
/* 802ED938 002E9598 4B F8 20 ED */ bl OSUnlockMutex
/* 802ED93C 002E959C 7F C3 F3 78 */ mr r3, r30
lbl_802ED940:
/* 802ED940 002E95A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ED944 002E95A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ED948 002E95A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802ED94C 002E95AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802ED950 002E95B0 7C 08 03 A6 */ mtlr r0
/* 802ED954 002E95B4 38 21 00 20 */ addi r1, r1, 0x20
/* 802ED958 002E95B8 4E 80 00 20 */ blr
.global NCDiGetEnabledConfigList
NCDiGetEnabledConfigList:
/* 802ED95C 002E95BC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802ED960 002E95C0 7C 08 02 A6 */ mflr r0
/* 802ED964 002E95C4 90 01 00 34 */ stw r0, 0x34(r1)
/* 802ED968 002E95C8 39 61 00 30 */ addi r11, r1, 0x30
/* 802ED96C 002E95CC 4B ED 97 B5 */ bl _savegpr_25
/* 802ED970 002E95D0 7C 7D 1B 78 */ mr r29, r3
/* 802ED974 002E95D4 7C 9E 23 78 */ mr r30, r4
/* 802ED978 002E95D8 7C BF 2B 78 */ mr r31, r5
/* 802ED97C 002E95DC 3B 60 00 00 */ li r27, 0
/* 802ED980 002E95E0 3B 40 00 00 */ li r26, 0
/* 802ED984 002E95E4 3B 20 00 00 */ li r25, 0
/* 802ED988 002E95E8 48 00 02 E5 */ bl LockRight
/* 802ED98C 002E95EC 3C 60 80 44 */ lis r3, lbl_80445B4C@ha
/* 802ED990 002E95F0 38 80 00 00 */ li r4, 0
/* 802ED994 002E95F4 38 63 5B 4C */ addi r3, r3, lbl_80445B4C@l
/* 802ED998 002E95F8 38 A0 00 03 */ li r5, 3
/* 802ED99C 002E95FC 48 00 01 3D */ bl ExecConfigCommand
/* 802ED9A0 002E9600 2C 03 00 00 */ cmpwi r3, 0
/* 802ED9A4 002E9604 7C 7C 1B 78 */ mr r28, r3
/* 802ED9A8 002E9608 40 82 00 E4 */ bne lbl_802EDA8C
/* 802ED9AC 002E960C 80 8D AF 34 */ lwz r4, lbl_806401F4-_SDA_BASE_(r13)
/* 802ED9B0 002E9610 38 C0 00 00 */ li r6, 0
/* 802ED9B4 002E9614 38 60 00 01 */ li r3, 1
/* 802ED9B8 002E9618 88 A4 00 08 */ lbz r5, 8(r4)
/* 802ED9BC 002E961C 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
/* 802ED9C0 002E9620 41 82 00 34 */ beq lbl_802ED9F4
/* 802ED9C4 002E9624 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 802ED9C8 002E9628 41 82 00 0C */ beq lbl_802ED9D4
/* 802ED9CC 002E962C 7C 7B 30 30 */ slw r27, r3, r6
/* 802ED9D0 002E9630 48 00 00 24 */ b lbl_802ED9F4
lbl_802ED9D4:
/* 802ED9D4 002E9634 88 04 07 CA */ lbz r0, 0x7ca(r4)
/* 802ED9D8 002E9638 28 00 00 01 */ cmplwi r0, 1
/* 802ED9DC 002E963C 41 82 00 08 */ beq lbl_802ED9E4
/* 802ED9E0 002E9640 7C 7A 30 30 */ slw r26, r3, r6
lbl_802ED9E4:
/* 802ED9E4 002E9644 88 04 07 CA */ lbz r0, 0x7ca(r4)
/* 802ED9E8 002E9648 28 00 00 01 */ cmplwi r0, 1
/* 802ED9EC 002E964C 40 82 00 08 */ bne lbl_802ED9F4
/* 802ED9F0 002E9650 7C 79 30 30 */ slw r25, r3, r6
lbl_802ED9F4:
/* 802ED9F4 002E9654 88 A4 09 24 */ lbz r5, 0x924(r4)
/* 802ED9F8 002E9658 38 C0 00 01 */ li r6, 1
/* 802ED9FC 002E965C 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
/* 802EDA00 002E9660 41 82 00 40 */ beq lbl_802EDA40
/* 802EDA04 002E9664 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 802EDA08 002E9668 41 82 00 10 */ beq lbl_802EDA18
/* 802EDA0C 002E966C 7C 60 30 30 */ slw r0, r3, r6
/* 802EDA10 002E9670 7F 7B 03 78 */ or r27, r27, r0
/* 802EDA14 002E9674 48 00 00 2C */ b lbl_802EDA40
lbl_802EDA18:
/* 802EDA18 002E9678 88 04 10 E6 */ lbz r0, 0x10e6(r4)
/* 802EDA1C 002E967C 28 00 00 01 */ cmplwi r0, 1
/* 802EDA20 002E9680 41 82 00 0C */ beq lbl_802EDA2C
/* 802EDA24 002E9684 7C 60 30 30 */ slw r0, r3, r6
/* 802EDA28 002E9688 7F 5A 03 78 */ or r26, r26, r0
lbl_802EDA2C:
/* 802EDA2C 002E968C 88 04 10 E6 */ lbz r0, 0x10e6(r4)
/* 802EDA30 002E9690 28 00 00 01 */ cmplwi r0, 1
/* 802EDA34 002E9694 40 82 00 0C */ bne lbl_802EDA40
/* 802EDA38 002E9698 7C 60 30 30 */ slw r0, r3, r6
/* 802EDA3C 002E969C 7F 39 03 78 */ or r25, r25, r0
lbl_802EDA40:
/* 802EDA40 002E96A0 88 A4 12 40 */ lbz r5, 0x1240(r4)
/* 802EDA44 002E96A4 38 C0 00 02 */ li r6, 2
/* 802EDA48 002E96A8 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18
/* 802EDA4C 002E96AC 41 82 00 40 */ beq lbl_802EDA8C
/* 802EDA50 002E96B0 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 802EDA54 002E96B4 41 82 00 10 */ beq lbl_802EDA64
/* 802EDA58 002E96B8 7C 60 30 30 */ slw r0, r3, r6
/* 802EDA5C 002E96BC 7F 7B 03 78 */ or r27, r27, r0
/* 802EDA60 002E96C0 48 00 00 2C */ b lbl_802EDA8C
lbl_802EDA64:
/* 802EDA64 002E96C4 88 04 1A 02 */ lbz r0, 0x1a02(r4)
/* 802EDA68 002E96C8 28 00 00 01 */ cmplwi r0, 1
/* 802EDA6C 002E96CC 41 82 00 0C */ beq lbl_802EDA78
/* 802EDA70 002E96D0 7C 60 30 30 */ slw r0, r3, r6
/* 802EDA74 002E96D4 7F 5A 03 78 */ or r26, r26, r0
lbl_802EDA78:
/* 802EDA78 002E96D8 88 04 1A 02 */ lbz r0, 0x1a02(r4)
/* 802EDA7C 002E96DC 28 00 00 01 */ cmplwi r0, 1
/* 802EDA80 002E96E0 40 82 00 0C */ bne lbl_802EDA8C
/* 802EDA84 002E96E4 7C 60 30 30 */ slw r0, r3, r6
/* 802EDA88 002E96E8 7F 39 03 78 */ or r25, r25, r0
lbl_802EDA8C:
/* 802EDA8C 002E96EC 3C 60 80 58 */ lis r3, lbl_80579060@ha
/* 802EDA90 002E96F0 38 63 90 60 */ addi r3, r3, lbl_80579060@l
/* 802EDA94 002E96F4 4B F8 1F 91 */ bl OSUnlockMutex
/* 802EDA98 002E96F8 2C 1D 00 00 */ cmpwi r29, 0
/* 802EDA9C 002E96FC 41 82 00 08 */ beq lbl_802EDAA4
/* 802EDAA0 002E9700 93 7D 00 00 */ stw r27, 0(r29)
lbl_802EDAA4:
/* 802EDAA4 002E9704 2C 1E 00 00 */ cmpwi r30, 0
/* 802EDAA8 002E9708 41 82 00 08 */ beq lbl_802EDAB0
/* 802EDAAC 002E970C 93 5E 00 00 */ stw r26, 0(r30)
lbl_802EDAB0:
/* 802EDAB0 002E9710 2C 1F 00 00 */ cmpwi r31, 0
/* 802EDAB4 002E9714 41 82 00 08 */ beq lbl_802EDABC
/* 802EDAB8 002E9718 93 3F 00 00 */ stw r25, 0(r31)
lbl_802EDABC:
/* 802EDABC 002E971C 39 61 00 30 */ addi r11, r1, 0x30
/* 802EDAC0 002E9720 7F 83 E3 78 */ mr r3, r28
/* 802EDAC4 002E9724 4B ED 96 A9 */ bl _restgpr_25
/* 802EDAC8 002E9728 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802EDACC 002E972C 7C 08 03 A6 */ mtlr r0
/* 802EDAD0 002E9730 38 21 00 30 */ addi r1, r1, 0x30
/* 802EDAD4 002E9734 4E 80 00 20 */ blr
.global ExecConfigCommand
ExecConfigCommand:
/* 802EDAD8 002E9738 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802EDADC 002E973C 7C 08 02 A6 */ mflr r0
/* 802EDAE0 002E9740 90 01 00 24 */ stw r0, 0x24(r1)
/* 802EDAE4 002E9744 39 61 00 20 */ addi r11, r1, 0x20
/* 802EDAE8 002E9748 4B ED 96 41 */ bl _savegpr_27
/* 802EDAEC 002E974C 3F E0 80 58 */ lis r31, lbl_80579060@ha
/* 802EDAF0 002E9750 7C 9B 23 78 */ mr r27, r4
/* 802EDAF4 002E9754 7C BC 2B 78 */ mr r28, r5
/* 802EDAF8 002E9758 3B C0 00 00 */ li r30, 0
/* 802EDAFC 002E975C 3B FF 90 60 */ addi r31, r31, lbl_80579060@l
/* 802EDB00 002E9760 4B F8 37 F9 */ bl OSGetCurrentThread
/* 802EDB04 002E9764 2C 03 00 00 */ cmpwi r3, 0
/* 802EDB08 002E9768 40 82 00 0C */ bne lbl_802EDB14
/* 802EDB0C 002E976C 38 60 FF FB */ li r3, -5
/* 802EDB10 002E9770 48 00 01 44 */ b lbl_802EDC54
lbl_802EDB14:
/* 802EDB14 002E9774 48 00 01 59 */ bl LockRight
/* 802EDB18 002E9778 3C 60 80 44 */ lis r3, lbl_80445B38@ha
/* 802EDB1C 002E977C 38 80 00 00 */ li r4, 0
/* 802EDB20 002E9780 38 63 5B 38 */ addi r3, r3, lbl_80445B38@l
/* 802EDB24 002E9784 4B FB 56 35 */ bl IOS_Open
/* 802EDB28 002E9788 2C 03 00 00 */ cmpwi r3, 0
/* 802EDB2C 002E978C 7C 7D 1B 78 */ mr r29, r3
/* 802EDB30 002E9790 40 80 00 1C */ bge lbl_802EDB4C
/* 802EDB34 002E9794 2C 03 FF FA */ cmpwi r3, -6
/* 802EDB38 002E9798 40 82 00 0C */ bne lbl_802EDB44
/* 802EDB3C 002E979C 3B C0 FF F8 */ li r30, -8
/* 802EDB40 002E97A0 48 00 01 08 */ b lbl_802EDC48
lbl_802EDB44:
/* 802EDB44 002E97A4 3B C0 FF FE */ li r30, -2
/* 802EDB48 002E97A8 48 00 01 00 */ b lbl_802EDC48
lbl_802EDB4C:
/* 802EDB4C 002E97AC 80 CD AF 34 */ lwz r6, lbl_806401F4-_SDA_BASE_(r13)
/* 802EDB50 002E97B0 2C 1C 00 05 */ cmpwi r28, 5
/* 802EDB54 002E97B4 38 9F 00 40 */ addi r4, r31, 0x40
/* 802EDB58 002E97B8 38 7F 00 20 */ addi r3, r31, 0x20
/* 802EDB5C 002E97BC 38 A0 1B 5C */ li r5, 0x1b5c
/* 802EDB60 002E97C0 38 00 00 20 */ li r0, 0x20
/* 802EDB64 002E97C4 90 DF 00 40 */ stw r6, 0x40(r31)
/* 802EDB68 002E97C8 90 A4 00 04 */ stw r5, 4(r4)
/* 802EDB6C 002E97CC 90 64 00 08 */ stw r3, 8(r4)
/* 802EDB70 002E97D0 90 04 00 0C */ stw r0, 0xc(r4)
/* 802EDB74 002E97D4 41 82 00 24 */ beq lbl_802EDB98
/* 802EDB78 002E97D8 40 80 00 14 */ bge lbl_802EDB8C
/* 802EDB7C 002E97DC 2C 1C 00 03 */ cmpwi r28, 3
/* 802EDB80 002E97E0 41 82 00 18 */ beq lbl_802EDB98
/* 802EDB84 002E97E4 40 80 00 68 */ bge lbl_802EDBEC
/* 802EDB88 002E97E8 48 00 00 AC */ b lbl_802EDC34
lbl_802EDB8C:
/* 802EDB8C 002E97EC 2C 1C 00 07 */ cmpwi r28, 7
/* 802EDB90 002E97F0 40 80 00 A4 */ bge lbl_802EDC34
/* 802EDB94 002E97F4 48 00 00 58 */ b lbl_802EDBEC
lbl_802EDB98:
/* 802EDB98 002E97F8 7F A3 EB 78 */ mr r3, r29
/* 802EDB9C 002E97FC 7F 84 E3 78 */ mr r4, r28
/* 802EDBA0 002E9800 38 FF 00 40 */ addi r7, r31, 0x40
/* 802EDBA4 002E9804 38 A0 00 00 */ li r5, 0
/* 802EDBA8 002E9808 38 C0 00 02 */ li r6, 2
/* 802EDBAC 002E980C 4B FB 62 95 */ bl IOS_Ioctlv
/* 802EDBB0 002E9810 2C 03 00 00 */ cmpwi r3, 0
/* 802EDBB4 002E9814 40 80 00 0C */ bge lbl_802EDBC0
/* 802EDBB8 002E9818 3B C0 FF FE */ li r30, -2
/* 802EDBBC 002E981C 48 00 00 78 */ b lbl_802EDC34
lbl_802EDBC0:
/* 802EDBC0 002E9820 83 DF 00 20 */ lwz r30, 0x20(r31)
/* 802EDBC4 002E9824 2C 1E 00 00 */ cmpwi r30, 0
/* 802EDBC8 002E9828 40 82 00 6C */ bne lbl_802EDC34
/* 802EDBCC 002E982C 38 00 00 00 */ li r0, 0
/* 802EDBD0 002E9830 7C 1B 00 40 */ cmplw r27, r0
/* 802EDBD4 002E9834 41 82 00 60 */ beq lbl_802EDC34
/* 802EDBD8 002E9838 80 8D AF 34 */ lwz r4, lbl_806401F4-_SDA_BASE_(r13)
/* 802EDBDC 002E983C 7F 63 DB 78 */ mr r3, r27
/* 802EDBE0 002E9840 38 A0 1B 5C */ li r5, 0x1b5c
/* 802EDBE4 002E9844 4B D1 64 1D */ bl memcpy
/* 802EDBE8 002E9848 48 00 00 4C */ b lbl_802EDC34
lbl_802EDBEC:
/* 802EDBEC 002E984C 38 00 00 00 */ li r0, 0
/* 802EDBF0 002E9850 7C 1B 00 40 */ cmplw r27, r0
/* 802EDBF4 002E9854 41 82 00 14 */ beq lbl_802EDC08
/* 802EDBF8 002E9858 80 6D AF 34 */ lwz r3, lbl_806401F4-_SDA_BASE_(r13)
/* 802EDBFC 002E985C 7F 64 DB 78 */ mr r4, r27
/* 802EDC00 002E9860 38 A0 1B 5C */ li r5, 0x1b5c
/* 802EDC04 002E9864 4B D1 63 FD */ bl memcpy
lbl_802EDC08:
/* 802EDC08 002E9868 7F A3 EB 78 */ mr r3, r29
/* 802EDC0C 002E986C 7F 84 E3 78 */ mr r4, r28
/* 802EDC10 002E9870 38 FF 00 40 */ addi r7, r31, 0x40
/* 802EDC14 002E9874 38 A0 00 01 */ li r5, 1
/* 802EDC18 002E9878 38 C0 00 01 */ li r6, 1
/* 802EDC1C 002E987C 4B FB 62 25 */ bl IOS_Ioctlv
/* 802EDC20 002E9880 2C 03 00 00 */ cmpwi r3, 0
/* 802EDC24 002E9884 40 80 00 0C */ bge lbl_802EDC30
/* 802EDC28 002E9888 3B C0 FF FE */ li r30, -2
/* 802EDC2C 002E988C 48 00 00 08 */ b lbl_802EDC34
lbl_802EDC30:
/* 802EDC30 002E9890 83 DF 00 20 */ lwz r30, 0x20(r31)
lbl_802EDC34:
/* 802EDC34 002E9894 7F A3 EB 78 */ mr r3, r29
/* 802EDC38 002E9898 4B FB 57 01 */ bl IOS_Close
/* 802EDC3C 002E989C 2C 03 00 00 */ cmpwi r3, 0
/* 802EDC40 002E98A0 40 80 00 08 */ bge lbl_802EDC48
/* 802EDC44 002E98A4 3B C0 FF FF */ li r30, -1
lbl_802EDC48:
/* 802EDC48 002E98A8 38 7F 00 00 */ addi r3, r31, 0
/* 802EDC4C 002E98AC 4B F8 1D D9 */ bl OSUnlockMutex
/* 802EDC50 002E98B0 7F C3 F3 78 */ mr r3, r30
lbl_802EDC54:
/* 802EDC54 002E98B4 39 61 00 20 */ addi r11, r1, 0x20
/* 802EDC58 002E98B8 4B ED 95 1D */ bl _restgpr_27
/* 802EDC5C 002E98BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802EDC60 002E98C0 7C 08 03 A6 */ mtlr r0
/* 802EDC64 002E98C4 38 21 00 20 */ addi r1, r1, 0x20
/* 802EDC68 002E98C8 4E 80 00 20 */ blr
.global LockRight
LockRight:
/* 802EDC6C 002E98CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802EDC70 002E98D0 7C 08 02 A6 */ mflr r0
/* 802EDC74 002E98D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802EDC78 002E98D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802EDC7C 002E98DC 3F E0 80 58 */ lis r31, lbl_80579060@ha
/* 802EDC80 002E98E0 3B FF 90 60 */ addi r31, r31, lbl_80579060@l
/* 802EDC84 002E98E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802EDC88 002E98E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802EDC8C 002E98EC 4B F8 0A D1 */ bl OSDisableInterrupts
/* 802EDC90 002E98F0 80 0D AF 30 */ lwz r0, lbl_806401F0-_SDA_BASE_(r13)
/* 802EDC94 002E98F4 7C 7E 1B 78 */ mr r30, r3
/* 802EDC98 002E98F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 802EDC9C 002E98FC 40 82 00 94 */ bne lbl_802EDD30
/* 802EDCA0 002E9900 80 6D 8B E8 */ lwz r3, lbl_8063DEA8-_SDA_BASE_(r13)
/* 802EDCA4 002E9904 4B F7 B9 AD */ bl OSRegisterVersion
/* 802EDCA8 002E9908 38 7F 00 00 */ addi r3, r31, 0
/* 802EDCAC 002E990C 4B F8 1C 65 */ bl OSInitMutex
/* 802EDCB0 002E9910 4B FB 4C 45 */ bl IPCGetBufferLo
/* 802EDCB4 002E9914 38 03 00 1F */ addi r0, r3, 0x1f
/* 802EDCB8 002E9918 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a
/* 802EDCBC 002E991C 4B FB 4C 31 */ bl IPCGetBufferHi
/* 802EDCC0 002E9920 7C 1D 18 50 */ subf r0, r29, r3
/* 802EDCC4 002E9924 28 00 1B 60 */ cmplwi r0, 0x1b60
/* 802EDCC8 002E9928 40 80 00 20 */ bge lbl_802EDCE8
/* 802EDCCC 002E992C 3C 60 80 44 */ lis r3, lbl_80445B68@ha
/* 802EDCD0 002E9930 3C A0 80 44 */ lis r5, lbl_80445B74@ha
/* 802EDCD4 002E9934 38 63 5B 68 */ addi r3, r3, lbl_80445B68@l
/* 802EDCD8 002E9938 38 80 05 A8 */ li r4, 0x5a8
/* 802EDCDC 002E993C 38 A5 5B 74 */ addi r5, r5, lbl_80445B74@l
/* 802EDCE0 002E9940 4C C6 31 82 */ crclr 6
/* 802EDCE4 002E9944 4B F7 D7 B9 */ bl OSPanic
lbl_802EDCE8:
/* 802EDCE8 002E9948 38 7D 1B 60 */ addi r3, r29, 0x1b60
/* 802EDCEC 002E994C 4B FB 4C 11 */ bl IPCSetBufferLo
/* 802EDCF0 002E9950 93 AD AF 34 */ stw r29, lbl_806401F4-_SDA_BASE_(r13)
/* 802EDCF4 002E9954 7F A3 EB 78 */ mr r3, r29
/* 802EDCF8 002E9958 38 80 00 00 */ li r4, 0
/* 802EDCFC 002E995C 38 A0 1B 60 */ li r5, 0x1b60
/* 802EDD00 002E9960 4B D1 64 05 */ bl memset
/* 802EDD04 002E9964 38 7F 00 20 */ addi r3, r31, 0x20
/* 802EDD08 002E9968 38 80 00 00 */ li r4, 0
/* 802EDD0C 002E996C 38 A0 00 20 */ li r5, 0x20
/* 802EDD10 002E9970 4B D1 63 F5 */ bl memset
/* 802EDD14 002E9974 38 7F 00 40 */ addi r3, r31, 0x40
/* 802EDD18 002E9978 38 80 00 00 */ li r4, 0
/* 802EDD1C 002E997C 38 A0 00 20 */ li r5, 0x20
/* 802EDD20 002E9980 4B D1 63 E5 */ bl memset
/* 802EDD24 002E9984 80 0D AF 30 */ lwz r0, lbl_806401F0-_SDA_BASE_(r13)
/* 802EDD28 002E9988 60 00 00 01 */ ori r0, r0, 1
/* 802EDD2C 002E998C 90 0D AF 30 */ stw r0, lbl_806401F0-_SDA_BASE_(r13)
lbl_802EDD30:
/* 802EDD30 002E9990 7F C3 F3 78 */ mr r3, r30
/* 802EDD34 002E9994 4B F8 0A 51 */ bl OSRestoreInterrupts
/* 802EDD38 002E9998 38 7F 00 00 */ addi r3, r31, 0
/* 802EDD3C 002E999C 4B F8 1C 0D */ bl OSLockMutex
/* 802EDD40 002E99A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802EDD44 002E99A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802EDD48 002E99A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802EDD4C 002E99AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802EDD50 002E99B0 7C 08 03 A6 */ mtlr r0
/* 802EDD54 002E99B4 38 21 00 20 */ addi r1, r1, 0x20
/* 802EDD58 002E99B8 4E 80 00 20 */ blr
|