summaryrefslogtreecommitdiff
path: root/asm/SDK/MPDL/mpdlsystem.s
blob: 8e64cc2ae60116bf633f8fe8daf7ee882185ccec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
.include "macros.inc"

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

.global MI_CpuFill8
MI_CpuFill8:
/* 802F4008 002EFC68  4B D1 00 FC */	b memset

.global MI_CpuCopy8
MI_CpuCopy8:
/* 802F400C 002EFC6C  7C 60 1B 78 */	mr r0, r3
/* 802F4010 002EFC70  7C 83 23 78 */	mr r3, r4
/* 802F4014 002EFC74  7C 04 03 78 */	mr r4, r0
/* 802F4018 002EFC78  4B D0 FF E8 */	b memcpy

.global OSi_TPanic
OSi_TPanic:
/* 802F401C 002EFC7C  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 802F4020 002EFC80  7C 08 02 A6 */	mflr r0
/* 802F4024 002EFC84  90 01 00 94 */	stw r0, 0x94(r1)
/* 802F4028 002EFC88  93 E1 00 8C */	stw r31, 0x8c(r1)
/* 802F402C 002EFC8C  93 C1 00 88 */	stw r30, 0x88(r1)
/* 802F4030 002EFC90  93 A1 00 84 */	stw r29, 0x84(r1)
/* 802F4034 002EFC94  7C BD 2B 78 */	mr r29, r5
/* 802F4038 002EFC98  93 81 00 80 */	stw r28, 0x80(r1)
/* 802F403C 002EFC9C  7C 9C 23 78 */	mr r28, r4
/* 802F4040 002EFCA0  40 86 00 24 */	bne cr1, lbl_802F4064
/* 802F4044 002EFCA4  D8 21 00 28 */	stfd f1, 0x28(r1)
/* 802F4048 002EFCA8  D8 41 00 30 */	stfd f2, 0x30(r1)
/* 802F404C 002EFCAC  D8 61 00 38 */	stfd f3, 0x38(r1)
/* 802F4050 002EFCB0  D8 81 00 40 */	stfd f4, 0x40(r1)
/* 802F4054 002EFCB4  D8 A1 00 48 */	stfd f5, 0x48(r1)
/* 802F4058 002EFCB8  D8 C1 00 50 */	stfd f6, 0x50(r1)
/* 802F405C 002EFCBC  D8 E1 00 58 */	stfd f7, 0x58(r1)
/* 802F4060 002EFCC0  D9 01 00 60 */	stfd f8, 0x60(r1)
lbl_802F4064:
/* 802F4064 002EFCC4  39 61 00 98 */	addi r11, r1, 0x98
/* 802F4068 002EFCC8  38 01 00 08 */	addi r0, r1, 8
/* 802F406C 002EFCCC  3F C0 80 44 */	lis r30, lbl_80445CA8@ha
/* 802F4070 002EFCD0  3D 80 03 00 */	lis r12, 0x300
/* 802F4074 002EFCD4  90 81 00 0C */	stw r4, 0xc(r1)
/* 802F4078 002EFCD8  3B DE 5C A8 */	addi r30, r30, lbl_80445CA8@l
/* 802F407C 002EFCDC  7C 64 1B 78 */	mr r4, r3
/* 802F4080 002EFCE0  3B E1 00 68 */	addi r31, r1, 0x68
/* 802F4084 002EFCE4  90 61 00 08 */	stw r3, 8(r1)
/* 802F4088 002EFCE8  38 7E 00 4C */	addi r3, r30, 0x4c
/* 802F408C 002EFCEC  90 A1 00 10 */	stw r5, 0x10(r1)
/* 802F4090 002EFCF0  7F 85 E3 78 */	mr r5, r28
/* 802F4094 002EFCF4  90 C1 00 14 */	stw r6, 0x14(r1)
/* 802F4098 002EFCF8  90 E1 00 18 */	stw r7, 0x18(r1)
/* 802F409C 002EFCFC  91 01 00 1C */	stw r8, 0x1c(r1)
/* 802F40A0 002EFD00  91 21 00 20 */	stw r9, 0x20(r1)
/* 802F40A4 002EFD04  91 41 00 24 */	stw r10, 0x24(r1)
/* 802F40A8 002EFD08  91 81 00 68 */	stw r12, 0x68(r1)
/* 802F40AC 002EFD0C  91 61 00 6C */	stw r11, 0x6c(r1)
/* 802F40B0 002EFD10  90 01 00 70 */	stw r0, 0x70(r1)
/* 802F40B4 002EFD14  4C C6 31 82 */	crclr 6
/* 802F40B8 002EFD18  4B D1 3A 0D */	bl OSReport
/* 802F40BC 002EFD1C  7F A3 EB 78 */	mr r3, r29
/* 802F40C0 002EFD20  7F E4 FB 78 */	mr r4, r31
/* 802F40C4 002EFD24  4B D1 3A 51 */	bl OSVReport
/* 802F40C8 002EFD28  38 7E 00 5C */	addi r3, r30, 0x5c
/* 802F40CC 002EFD2C  38 BE 00 6C */	addi r5, r30, 0x6c
/* 802F40D0 002EFD30  38 80 00 82 */	li r4, 0x82
/* 802F40D4 002EFD34  4C C6 31 82 */	crclr 6
/* 802F40D8 002EFD38  4B F7 73 C5 */	bl OSPanic
/* 802F40DC 002EFD3C  80 01 00 94 */	lwz r0, 0x94(r1)
/* 802F40E0 002EFD40  83 E1 00 8C */	lwz r31, 0x8c(r1)
/* 802F40E4 002EFD44  83 C1 00 88 */	lwz r30, 0x88(r1)
/* 802F40E8 002EFD48  83 A1 00 84 */	lwz r29, 0x84(r1)
/* 802F40EC 002EFD4C  83 81 00 80 */	lwz r28, 0x80(r1)
/* 802F40F0 002EFD50  7C 08 03 A6 */	mtlr r0
/* 802F40F4 002EFD54  38 21 00 90 */	addi r1, r1, 0x90
/* 802F40F8 002EFD58  4E 80 00 20 */	blr

MPDLiWDPCallback:
/* 802F40FC 002EFD5C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802F4100 002EFD60  7C 08 02 A6 */	mflr r0
/* 802F4104 002EFD64  2C 04 00 04 */	cmpwi r4, 4
/* 802F4108 002EFD68  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F410C 002EFD6C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802F4110 002EFD70  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802F4114 002EFD74  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802F4118 002EFD78  7C 7D 1B 78 */	mr r29, r3
/* 802F411C 002EFD7C  40 80 00 10 */	bge lbl_802F412C
/* 802F4120 002EFD80  2C 04 00 00 */	cmpwi r4, 0
/* 802F4124 002EFD84  41 82 00 14 */	beq lbl_802F4138
/* 802F4128 002EFD88  48 00 01 48 */	b lbl_802F4270
lbl_802F412C:
/* 802F412C 002EFD8C  2C 04 00 08 */	cmpwi r4, 8
/* 802F4130 002EFD90  41 82 01 28 */	beq lbl_802F4258
/* 802F4134 002EFD94  48 00 01 3C */	b lbl_802F4270
lbl_802F4138:
/* 802F4138 002EFD98  54 BE 04 3E */	clrlwi r30, r5, 0x10
/* 802F413C 002EFD9C  1F FE 00 34 */	mulli r31, r30, 0x34
/* 802F4140 002EFDA0  7C 83 FA 14 */	add r4, r3, r31
/* 802F4144 002EFDA4  80 04 00 28 */	lwz r0, 0x28(r4)
/* 802F4148 002EFDA8  2C 00 00 04 */	cmpwi r0, 4
/* 802F414C 002EFDAC  41 82 00 B8 */	beq lbl_802F4204
/* 802F4150 002EFDB0  40 80 00 14 */	bge lbl_802F4164
/* 802F4154 002EFDB4  2C 00 00 02 */	cmpwi r0, 2
/* 802F4158 002EFDB8  41 82 00 18 */	beq lbl_802F4170
/* 802F415C 002EFDBC  40 80 00 8C */	bge lbl_802F41E8
/* 802F4160 002EFDC0  48 00 01 10 */	b lbl_802F4270
lbl_802F4164:
/* 802F4164 002EFDC4  2C 00 00 06 */	cmpwi r0, 6
/* 802F4168 002EFDC8  40 80 01 08 */	bge lbl_802F4270
/* 802F416C 002EFDCC  48 00 00 C4 */	b lbl_802F4230
lbl_802F4170:
/* 802F4170 002EFDD0  80 0D AF 48 */	lwz r0, lbl_80640208-_SDA_BASE_(r13)
/* 802F4174 002EFDD4  2C 00 00 00 */	cmpwi r0, 0
/* 802F4178 002EFDD8  40 82 00 60 */	bne lbl_802F41D8
/* 802F417C 002EFDDC  7F C4 F3 78 */	mr r4, r30
/* 802F4180 002EFDE0  38 A0 00 03 */	li r5, 3
/* 802F4184 002EFDE4  4B FF C2 95 */	bl WDP_AllowChildStatus
/* 802F4188 002EFDE8  7C DD FA 14 */	add r6, r29, r31
/* 802F418C 002EFDEC  3C 60 80 58 */	lis r3, lbl_80579200@ha
/* 802F4190 002EFDF0  88 06 00 34 */	lbz r0, 0x34(r6)
/* 802F4194 002EFDF4  1C 9E 00 28 */	mulli r4, r30, 0x28
/* 802F4198 002EFDF8  38 63 92 00 */	addi r3, r3, lbl_80579200@l
/* 802F419C 002EFDFC  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 802F41A0 002EFE00  7F E3 22 14 */	add r31, r3, r4
/* 802F41A4 002EFE04  38 A0 00 14 */	li r5, 0x14
/* 802F41A8 002EFE08  90 1F 00 00 */	stw r0, 0(r31)
/* 802F41AC 002EFE0C  38 86 00 36 */	addi r4, r6, 0x36
/* 802F41B0 002EFE10  38 7F 00 0A */	addi r3, r31, 0xa
/* 802F41B4 002EFE14  88 06 00 34 */	lbz r0, 0x34(r6)
/* 802F41B8 002EFE18  54 00 07 3E */	clrlwi r0, r0, 0x1c
/* 802F41BC 002EFE1C  90 1F 00 04 */	stw r0, 4(r31)
/* 802F41C0 002EFE20  88 06 00 35 */	lbz r0, 0x35(r6)
/* 802F41C4 002EFE24  B0 1F 00 08 */	sth r0, 8(r31)
/* 802F41C8 002EFE28  4B D0 FE 39 */	bl memcpy
/* 802F41CC 002EFE2C  38 00 00 00 */	li r0, 0
/* 802F41D0 002EFE30  90 1F 00 24 */	stw r0, 0x24(r31)
/* 802F41D4 002EFE34  48 00 00 9C */	b lbl_802F4270
lbl_802F41D8:
/* 802F41D8 002EFE38  7F C4 F3 78 */	mr r4, r30
/* 802F41DC 002EFE3C  38 A0 00 00 */	li r5, 0
/* 802F41E0 002EFE40  4B FF C2 39 */	bl WDP_AllowChildStatus
/* 802F41E4 002EFE44  48 00 00 8C */	b lbl_802F4270
lbl_802F41E8:
/* 802F41E8 002EFE48  80 0D AF 48 */	lwz r0, lbl_80640208-_SDA_BASE_(r13)
/* 802F41EC 002EFE4C  2C 00 00 00 */	cmpwi r0, 0
/* 802F41F0 002EFE50  41 82 00 80 */	beq lbl_802F4270
/* 802F41F4 002EFE54  7F C4 F3 78 */	mr r4, r30
/* 802F41F8 002EFE58  38 A0 00 04 */	li r5, 4
/* 802F41FC 002EFE5C  4B FF C2 1D */	bl WDP_AllowChildStatus
/* 802F4200 002EFE60  48 00 00 70 */	b lbl_802F4270
lbl_802F4204:
/* 802F4204 002EFE64  80 A4 00 58 */	lwz r5, 0x58(r4)
/* 802F4208 002EFE68  3C 60 80 58 */	lis r3, lbl_80579200@ha
/* 802F420C 002EFE6C  80 84 00 2C */	lwz r4, 0x2c(r4)
/* 802F4210 002EFE70  1C 1E 00 28 */	mulli r0, r30, 0x28
/* 802F4214 002EFE74  38 63 92 00 */	addi r3, r3, lbl_80579200@l
/* 802F4218 002EFE78  A0 84 04 E0 */	lhz r4, 0x4e0(r4)
/* 802F421C 002EFE7C  1C A5 00 64 */	mulli r5, r5, 0x64
/* 802F4220 002EFE80  7C 63 02 14 */	add r3, r3, r0
/* 802F4224 002EFE84  7C 05 23 D6 */	divw r0, r5, r4
/* 802F4228 002EFE88  90 03 00 24 */	stw r0, 0x24(r3)
/* 802F422C 002EFE8C  48 00 00 44 */	b lbl_802F4270
lbl_802F4230:
/* 802F4230 002EFE90  1C 1E 00 28 */	mulli r0, r30, 0x28
/* 802F4234 002EFE94  3C 80 80 58 */	lis r4, lbl_80579200@ha
/* 802F4238 002EFE98  38 A0 00 64 */	li r5, 0x64
/* 802F423C 002EFE9C  38 84 92 00 */	addi r4, r4, lbl_80579200@l
/* 802F4240 002EFEA0  7C 84 02 14 */	add r4, r4, r0
/* 802F4244 002EFEA4  90 A4 00 24 */	stw r5, 0x24(r4)
/* 802F4248 002EFEA8  7F C4 F3 78 */	mr r4, r30
/* 802F424C 002EFEAC  38 A0 00 06 */	li r5, 6
/* 802F4250 002EFEB0  4B FF C1 C9 */	bl WDP_AllowChildStatus
/* 802F4254 002EFEB4  48 00 00 1C */	b lbl_802F4270
lbl_802F4258:
/* 802F4258 002EFEB8  54 A0 04 3E */	clrlwi r0, r5, 0x10
/* 802F425C 002EFEBC  38 60 00 01 */	li r3, 1
/* 802F4260 002EFEC0  80 8D AF 4C */	lwz r4, lbl_8064020C-_SDA_BASE_(r13)
/* 802F4264 002EFEC4  7C 60 00 30 */	slw r0, r3, r0
/* 802F4268 002EFEC8  7C 80 03 78 */	or r0, r4, r0
/* 802F426C 002EFECC  90 0D AF 4C */	stw r0, lbl_8064020C-_SDA_BASE_(r13)
lbl_802F4270:
/* 802F4270 002EFED0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802F4274 002EFED4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802F4278 002EFED8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802F427C 002EFEDC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802F4280 002EFEE0  7C 08 03 A6 */	mtlr r0
/* 802F4284 002EFEE4  38 21 00 20 */	addi r1, r1, 0x20
/* 802F4288 002EFEE8  4E 80 00 20 */	blr

WDPSegmentCallback:
/* 802F428C 002EFEEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802F4290 002EFEF0  7C 08 02 A6 */	mflr r0
/* 802F4294 002EFEF4  38 C0 00 00 */	li r6, 0
/* 802F4298 002EFEF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 802F429C 002EFEFC  80 05 00 00 */	lwz r0, 0(r5)
/* 802F42A0 002EFF00  80 E3 00 04 */	lwz r7, 4(r3)
/* 802F42A4 002EFF04  2C 00 00 01 */	cmpwi r0, 1
/* 802F42A8 002EFF08  41 82 00 28 */	beq lbl_802F42D0
/* 802F42AC 002EFF0C  40 80 00 10 */	bge lbl_802F42BC
/* 802F42B0 002EFF10  2C 00 00 00 */	cmpwi r0, 0
/* 802F42B4 002EFF14  40 80 00 14 */	bge lbl_802F42C8
/* 802F42B8 002EFF18  48 00 00 5C */	b lbl_802F4314
lbl_802F42BC:
/* 802F42BC 002EFF1C  2C 00 00 03 */	cmpwi r0, 3
/* 802F42C0 002EFF20  40 80 00 54 */	bge lbl_802F4314
/* 802F42C4 002EFF24  48 00 00 30 */	b lbl_802F42F4
lbl_802F42C8:
/* 802F42C8 002EFF28  7C E6 3B 78 */	mr r6, r7
/* 802F42CC 002EFF2C  48 00 00 48 */	b lbl_802F4314
lbl_802F42D0:
/* 802F42D0 002EFF30  88 67 00 21 */	lbz r3, 0x21(r7)
/* 802F42D4 002EFF34  88 07 00 20 */	lbz r0, 0x20(r7)
/* 802F42D8 002EFF38  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 802F42DC 002EFF3C  88 C7 00 22 */	lbz r6, 0x22(r7)
/* 802F42E0 002EFF40  88 67 00 23 */	lbz r3, 0x23(r7)
/* 802F42E4 002EFF44  50 C0 82 1E */	rlwimi r0, r6, 0x10, 8, 0xf
/* 802F42E8 002EFF48  50 60 C0 0E */	rlwimi r0, r3, 0x18, 0, 7
/* 802F42EC 002EFF4C  7C C7 02 14 */	add r6, r7, r0
/* 802F42F0 002EFF50  48 00 00 24 */	b lbl_802F4314
lbl_802F42F4:
/* 802F42F4 002EFF54  88 67 00 31 */	lbz r3, 0x31(r7)
/* 802F42F8 002EFF58  88 07 00 30 */	lbz r0, 0x30(r7)
/* 802F42FC 002EFF5C  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 802F4300 002EFF60  88 C7 00 32 */	lbz r6, 0x32(r7)
/* 802F4304 002EFF64  88 67 00 33 */	lbz r3, 0x33(r7)
/* 802F4308 002EFF68  50 C0 82 1E */	rlwimi r0, r6, 0x10, 8, 0xf
/* 802F430C 002EFF6C  50 60 C0 0E */	rlwimi r0, r3, 0x18, 0, 7
/* 802F4310 002EFF70  7C C7 02 14 */	add r6, r7, r0
lbl_802F4314:
/* 802F4314 002EFF74  80 05 00 04 */	lwz r0, 4(r5)
/* 802F4318 002EFF78  7C 83 23 78 */	mr r3, r4
/* 802F431C 002EFF7C  80 A5 00 08 */	lwz r5, 8(r5)
/* 802F4320 002EFF80  7C 86 02 14 */	add r4, r6, r0
/* 802F4324 002EFF84  4B D0 FC DD */	bl memcpy
/* 802F4328 002EFF88  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802F432C 002EFF8C  38 60 00 01 */	li r3, 1
/* 802F4330 002EFF90  7C 08 03 A6 */	mtlr r0
/* 802F4334 002EFF94  38 21 00 10 */	addi r1, r1, 0x10
/* 802F4338 002EFF98  4E 80 00 20 */	blr

MPDLiSyncBeaconTask:
/* 802F433C 002EFF9C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802F4340 002EFFA0  7C 08 02 A6 */	mflr r0
/* 802F4344 002EFFA4  90 01 00 34 */	stw r0, 0x34(r1)
/* 802F4348 002EFFA8  39 61 00 30 */	addi r11, r1, 0x30
/* 802F434C 002EFFAC  4B ED 2D D5 */	bl _savegpr_25
/* 802F4350 002EFFB0  38 00 00 00 */	li r0, 0
/* 802F4354 002EFFB4  3B C0 00 64 */	li r30, 0x64
/* 802F4358 002EFFB8  7F E0 F1 D6 */	mullw r31, r0, r30
/* 802F435C 002EFFBC  3F 40 80 58 */	lis r26, lbl_80579480@ha
/* 802F4360 002EFFC0  3C 60 10 62 */	lis r3, 0x10624DD3@ha
/* 802F4364 002EFFC4  3B 7A 94 80 */	addi r27, r26, lbl_80579480@l
/* 802F4368 002EFFC8  3B 83 4D D3 */	addi r28, r3, 0x10624DD3@l
/* 802F436C 002EFFCC  3F A0 80 00 */	lis r29, 0x8000
/* 802F4370 002EFFD0  48 00 00 88 */	b lbl_802F43F8
lbl_802F4374:
/* 802F4374 002EFFD4  4B F7 A3 E9 */	bl OSDisableInterrupts
/* 802F4378 002EFFD8  80 AD AF 40 */	lwz r5, lbl_80640200-_SDA_BASE_(r13)
/* 802F437C 002EFFDC  7C 79 1B 78 */	mr r25, r3
/* 802F4380 002EFFE0  38 9A 94 80 */	addi r4, r26, -27520
/* 802F4384 002EFFE4  80 65 00 30 */	lwz r3, 0x30(r5)
/* 802F4388 002EFFE8  4B FF AE BD */	bl WDP_CallBeaconSendHook
/* 802F438C 002EFFEC  7C 64 1B 78 */	mr r4, r3
/* 802F4390 002EFFF0  38 7B 00 50 */	addi r3, r27, 0x50
/* 802F4394 002EFFF4  4B FF CE A1 */	bl MPSetUserGameInfo
/* 802F4398 002EFFF8  80 0D AF 48 */	lwz r0, lbl_80640208-_SDA_BASE_(r13)
/* 802F439C 002EFFFC  38 60 00 00 */	li r3, 0
/* 802F43A0 002F0000  2C 00 00 00 */	cmpwi r0, 0
/* 802F43A4 002F0004  40 82 00 18 */	bne lbl_802F43BC
/* 802F43A8 002F0008  80 8D AF 40 */	lwz r4, lbl_80640200-_SDA_BASE_(r13)
/* 802F43AC 002F000C  80 04 00 38 */	lwz r0, 0x38(r4)
/* 802F43B0 002F0010  2C 00 00 00 */	cmpwi r0, 0
/* 802F43B4 002F0014  41 82 00 08 */	beq lbl_802F43BC
/* 802F43B8 002F0018  38 60 00 01 */	li r3, 1
lbl_802F43BC:
/* 802F43BC 002F001C  4B FF CF 4D */	bl MPSetEntryFlag
/* 802F43C0 002F0020  80 6D AF 40 */	lwz r3, lbl_80640200-_SDA_BASE_(r13)
/* 802F43C4 002F0024  80 63 00 3C */	lwz r3, 0x3c(r3)
/* 802F43C8 002F0028  4B FF CF 8D */	bl MPiSetMultiBootFlag
/* 802F43CC 002F002C  7F 23 CB 78 */	mr r3, r25
/* 802F43D0 002F0030  4B F7 A3 B5 */	bl OSRestoreInterrupts
/* 802F43D4 002F0034  4B FF F4 D5 */	bl MPUpdateBeacon
/* 802F43D8 002F0038  80 1D 00 F8 */	lwz r0, 0xf8(r29)
/* 802F43DC 002F003C  54 00 F0 BE */	srwi r0, r0, 2
/* 802F43E0 002F0040  7C 1C 00 16 */	mulhwu r0, r28, r0
/* 802F43E4 002F0044  54 03 D1 BE */	srwi r3, r0, 6
/* 802F43E8 002F0048  7C 03 F0 16 */	mulhwu r0, r3, r30
/* 802F43EC 002F004C  1C 83 00 64 */	mulli r4, r3, 0x64
/* 802F43F0 002F0050  7C 60 FA 14 */	add r3, r0, r31
/* 802F43F4 002F0054  4B F7 E3 11 */	bl OSSleepTicks
lbl_802F43F8:
/* 802F43F8 002F0058  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F43FC 002F005C  2C 00 00 00 */	cmpwi r0, 0
/* 802F4400 002F0060  40 82 FF 74 */	bne lbl_802F4374
/* 802F4404 002F0064  39 61 00 30 */	addi r11, r1, 0x30
/* 802F4408 002F0068  38 60 00 00 */	li r3, 0
/* 802F440C 002F006C  4B ED 2D 61 */	bl _restgpr_25
/* 802F4410 002F0070  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802F4414 002F0074  7C 08 03 A6 */	mtlr r0
/* 802F4418 002F0078  38 21 00 30 */	addi r1, r1, 0x30
/* 802F441C 002F007C  4E 80 00 20 */	blr

MPDLiUpdatePacket:
/* 802F4420 002F0080  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802F4424 002F0084  7C 08 02 A6 */	mflr r0
/* 802F4428 002F0088  90 01 00 14 */	stw r0, 0x14(r1)
/* 802F442C 002F008C  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F4430 002F0090  2C 00 00 00 */	cmpwi r0, 0
/* 802F4434 002F0094  41 82 00 6C */	beq lbl_802F44A0
/* 802F4438 002F0098  80 0D AF 50 */	lwz r0, lbl_80640210-_SDA_BASE_(r13)
/* 802F443C 002F009C  2C 00 00 00 */	cmpwi r0, 0
/* 802F4440 002F00A0  40 81 00 60 */	ble lbl_802F44A0
/* 802F4444 002F00A4  3C 80 80 58 */	lis r4, lbl_80579580@ha
/* 802F4448 002F00A8  80 AD AF 40 */	lwz r5, lbl_80640200-_SDA_BASE_(r13)
/* 802F444C 002F00AC  38 84 95 80 */	addi r4, r4, lbl_80579580@l
/* 802F4450 002F00B0  3C 60 00 01 */	lis r3, 0x0000FFFE@ha
/* 802F4454 002F00B4  90 81 00 08 */	stw r4, 8(r1)
/* 802F4458 002F00B8  38 03 FF FE */	addi r0, r3, 0x0000FFFE@l
/* 802F445C 002F00BC  80 CD AF 40 */	lwz r6, lbl_80640200-_SDA_BASE_(r13)
/* 802F4460 002F00C0  38 81 00 08 */	addi r4, r1, 8
/* 802F4464 002F00C4  80 65 00 6C */	lwz r3, 0x6c(r5)
/* 802F4468 002F00C8  B0 61 00 0C */	sth r3, 0xc(r1)
/* 802F446C 002F00CC  B0 01 00 0E */	sth r0, 0xe(r1)
/* 802F4470 002F00D0  80 66 00 30 */	lwz r3, 0x30(r6)
/* 802F4474 002F00D4  4B FF B5 2D */	bl WDP_CallParentSendHook
/* 802F4478 002F00D8  3D 00 80 2F */	lis r8, MPDLiUpdatePacket@ha
/* 802F447C 002F00DC  3D 20 80 58 */	lis r9, lbl_80579540@ha
/* 802F4480 002F00E0  80 61 00 08 */	lwz r3, 8(r1)
/* 802F4484 002F00E4  39 08 44 20 */	addi r8, r8, MPDLiUpdatePacket@l
/* 802F4488 002F00E8  A0 81 00 0C */	lhz r4, 0xc(r1)
/* 802F448C 002F00EC  39 29 95 40 */	addi r9, r9, lbl_80579540@l
/* 802F4490 002F00F0  A0 A1 00 0E */	lhz r5, 0xe(r1)
/* 802F4494 002F00F4  38 C0 00 01 */	li r6, 1
/* 802F4498 002F00F8  38 ED AF 44 */	addi r7, r13, lbl_80640204-_SDA_BASE_
/* 802F449C 002F00FC  4B FF CF 05 */	bl MPSendAsync
lbl_802F44A0:
/* 802F44A0 002F0100  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802F44A4 002F0104  7C 08 03 A6 */	mtlr r0
/* 802F44A8 002F0108  38 21 00 10 */	addi r1, r1, 0x10
/* 802F44AC 002F010C  4E 80 00 20 */	blr

MPDLiPortCallback:
/* 802F44B0 002F0110  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802F44B4 002F0114  7C 08 02 A6 */	mflr r0
/* 802F44B8 002F0118  2C 03 00 03 */	cmpwi r3, 3
/* 802F44BC 002F011C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802F44C0 002F0120  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802F44C4 002F0124  3F E0 80 58 */	lis r31, lbl_80579200@ha
/* 802F44C8 002F0128  3B FF 92 00 */	addi r31, r31, lbl_80579200@l
/* 802F44CC 002F012C  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802F44D0 002F0130  93 A1 00 24 */	stw r29, 0x24(r1)
/* 802F44D4 002F0134  80 AD AF 40 */	lwz r5, lbl_80640200-_SDA_BASE_(r13)
/* 802F44D8 002F0138  83 C5 00 30 */	lwz r30, 0x30(r5)
/* 802F44DC 002F013C  41 82 01 28 */	beq lbl_802F4604
/* 802F44E0 002F0140  40 80 00 14 */	bge lbl_802F44F4
/* 802F44E4 002F0144  2C 03 00 01 */	cmpwi r3, 1
/* 802F44E8 002F0148  41 82 01 4C */	beq lbl_802F4634
/* 802F44EC 002F014C  40 80 01 48 */	bge lbl_802F4634
/* 802F44F0 002F0150  48 00 01 44 */	b lbl_802F4634
lbl_802F44F4:
/* 802F44F4 002F0154  2C 03 00 05 */	cmpwi r3, 5
/* 802F44F8 002F0158  41 82 00 C0 */	beq lbl_802F45B8
/* 802F44FC 002F015C  40 80 01 38 */	bge lbl_802F4634
/* 802F4500 002F0160  48 00 00 0C */	b lbl_802F450C
/* 802F4504 002F0164  48 00 01 30 */	b lbl_802F4634
/* 802F4508 002F0168  48 00 01 2C */	b lbl_802F4634
lbl_802F450C:
/* 802F450C 002F016C  83 A4 00 10 */	lwz r29, 0x10(r4)
/* 802F4510 002F0170  38 1F 00 00 */	addi r0, r31, 0
/* 802F4514 002F0174  38 A0 00 06 */	li r5, 6
/* 802F4518 002F0178  38 84 00 18 */	addi r4, r4, 0x18
/* 802F451C 002F017C  1C 7D 00 28 */	mulli r3, r29, 0x28
/* 802F4520 002F0180  7C 60 1A 14 */	add r3, r0, r3
/* 802F4524 002F0184  38 63 00 1E */	addi r3, r3, 0x1e
/* 802F4528 002F0188  4B D0 FA D9 */	bl memcpy
/* 802F452C 002F018C  7F C3 F3 78 */	mr r3, r30
/* 802F4530 002F0190  7F A4 EB 78 */	mr r4, r29
/* 802F4534 002F0194  4B FF B2 39 */	bl WDP_CallParentConnectedHook
/* 802F4538 002F0198  80 6D AF 50 */	lwz r3, lbl_80640210-_SDA_BASE_(r13)
/* 802F453C 002F019C  38 03 00 01 */	addi r0, r3, 1
/* 802F4540 002F01A0  2C 00 00 01 */	cmpwi r0, 1
/* 802F4544 002F01A4  90 0D AF 50 */	stw r0, lbl_80640210-_SDA_BASE_(r13)
/* 802F4548 002F01A8  40 82 00 EC */	bne lbl_802F4634
/* 802F454C 002F01AC  80 6D AF 54 */	lwz r3, lbl_80640214-_SDA_BASE_(r13)
/* 802F4550 002F01B0  2C 03 00 00 */	cmpwi r3, 0
/* 802F4554 002F01B4  41 82 00 E0 */	beq lbl_802F4634
/* 802F4558 002F01B8  2C 00 00 00 */	cmpwi r0, 0
/* 802F455C 002F01BC  40 81 00 D8 */	ble lbl_802F4634
/* 802F4560 002F01C0  38 1F 03 80 */	addi r0, r31, 0x380
/* 802F4564 002F01C4  80 8D AF 40 */	lwz r4, lbl_80640200-_SDA_BASE_(r13)
/* 802F4568 002F01C8  90 01 00 08 */	stw r0, 8(r1)
/* 802F456C 002F01CC  3C 60 00 01 */	lis r3, 0x0000FFFE@ha
/* 802F4570 002F01D0  38 03 FF FE */	addi r0, r3, 0x0000FFFE@l
/* 802F4574 002F01D4  80 AD AF 40 */	lwz r5, lbl_80640200-_SDA_BASE_(r13)
/* 802F4578 002F01D8  80 64 00 6C */	lwz r3, 0x6c(r4)
/* 802F457C 002F01DC  38 81 00 08 */	addi r4, r1, 8
/* 802F4580 002F01E0  B0 61 00 0C */	sth r3, 0xc(r1)
/* 802F4584 002F01E4  B0 01 00 0E */	sth r0, 0xe(r1)
/* 802F4588 002F01E8  80 65 00 30 */	lwz r3, 0x30(r5)
/* 802F458C 002F01EC  4B FF B4 15 */	bl WDP_CallParentSendHook
/* 802F4590 002F01F0  3D 00 80 2F */	lis r8, MPDLiUpdatePacket@ha
/* 802F4594 002F01F4  80 61 00 08 */	lwz r3, 8(r1)
/* 802F4598 002F01F8  A0 81 00 0C */	lhz r4, 0xc(r1)
/* 802F459C 002F01FC  39 08 44 20 */	addi r8, r8, MPDLiUpdatePacket@l
/* 802F45A0 002F0200  A0 A1 00 0E */	lhz r5, 0xe(r1)
/* 802F45A4 002F0204  39 3F 03 40 */	addi r9, r31, 0x340
/* 802F45A8 002F0208  38 C0 00 01 */	li r6, 1
/* 802F45AC 002F020C  38 ED AF 44 */	addi r7, r13, lbl_80640204-_SDA_BASE_
/* 802F45B0 002F0210  4B FF CD F1 */	bl MPSendAsync
/* 802F45B4 002F0214  48 00 00 80 */	b lbl_802F4634
lbl_802F45B8:
/* 802F45B8 002F0218  83 A4 00 10 */	lwz r29, 0x10(r4)
/* 802F45BC 002F021C  7F C3 F3 78 */	mr r3, r30
/* 802F45C0 002F0220  7F A4 EB 78 */	mr r4, r29
/* 802F45C4 002F0224  4B FF B2 8D */	bl WDP_CallParentDisconnectedHook
/* 802F45C8 002F0228  38 00 00 01 */	li r0, 1
/* 802F45CC 002F022C  80 6D AF 4C */	lwz r3, lbl_8064020C-_SDA_BASE_(r13)
/* 802F45D0 002F0230  7C 00 E8 30 */	slw r0, r0, r29
/* 802F45D4 002F0234  80 8D AF 50 */	lwz r4, lbl_80640210-_SDA_BASE_(r13)
/* 802F45D8 002F0238  7C 60 00 39 */	and. r0, r3, r0
/* 802F45DC 002F023C  38 04 FF FF */	addi r0, r4, -1
/* 802F45E0 002F0240  90 0D AF 50 */	stw r0, lbl_80640210-_SDA_BASE_(r13)
/* 802F45E4 002F0244  40 82 00 50 */	bne lbl_802F4634
/* 802F45E8 002F0248  1C 7D 00 28 */	mulli r3, r29, 0x28
/* 802F45EC 002F024C  38 1F 00 00 */	addi r0, r31, 0
/* 802F45F0 002F0250  38 80 00 00 */	li r4, 0
/* 802F45F4 002F0254  38 A0 00 28 */	li r5, 0x28
/* 802F45F8 002F0258  7C 60 1A 14 */	add r3, r0, r3
/* 802F45FC 002F025C  4B D0 FB 09 */	bl memset
/* 802F4600 002F0260  48 00 00 34 */	b lbl_802F4634
lbl_802F4604:
/* 802F4604 002F0264  80 04 00 14 */	lwz r0, 0x14(r4)
/* 802F4608 002F0268  38 C0 00 01 */	li r6, 1
/* 802F460C 002F026C  7F C3 F3 78 */	mr r3, r30
/* 802F4610 002F0270  38 A1 00 10 */	addi r5, r1, 0x10
/* 802F4614 002F0274  90 01 00 10 */	stw r0, 0x10(r1)
/* 802F4618 002F0278  80 04 00 18 */	lwz r0, 0x18(r4)
/* 802F461C 002F027C  B0 01 00 14 */	sth r0, 0x14(r1)
/* 802F4620 002F0280  80 04 00 10 */	lwz r0, 0x10(r4)
/* 802F4624 002F0284  7C C0 00 30 */	slw r0, r6, r0
/* 802F4628 002F0288  B0 01 00 16 */	sth r0, 0x16(r1)
/* 802F462C 002F028C  80 84 00 10 */	lwz r4, 0x10(r4)
/* 802F4630 002F0290  4B FF B6 A1 */	bl WDP_CallParentRecvHook
lbl_802F4634:
/* 802F4634 002F0294  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802F4638 002F0298  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802F463C 002F029C  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802F4640 002F02A0  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 802F4644 002F02A4  7C 08 03 A6 */	mtlr r0
/* 802F4648 002F02A8  38 21 00 30 */	addi r1, r1, 0x30
/* 802F464C 002F02AC  4E 80 00 20 */	blr

.global MPDLStartup
MPDLStartup:
/* 802F4650 002F02B0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 802F4654 002F02B4  7C 08 02 A6 */	mflr r0
/* 802F4658 002F02B8  90 01 00 44 */	stw r0, 0x44(r1)
/* 802F465C 002F02BC  39 61 00 40 */	addi r11, r1, 0x40
/* 802F4660 002F02C0  4B ED 2A C1 */	bl _savegpr_25
/* 802F4664 002F02C4  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F4668 002F02C8  3F C0 80 58 */	lis r30, lbl_80579200@ha
/* 802F466C 002F02CC  7C 7C 1B 78 */	mr r28, r3
/* 802F4670 002F02D0  2C 00 00 00 */	cmpwi r0, 0
/* 802F4674 002F02D4  3B DE 92 00 */	addi r30, r30, lbl_80579200@l
/* 802F4678 002F02D8  41 82 00 1C */	beq lbl_802F4694
/* 802F467C 002F02DC  3C 60 80 44 */	lis r3, lbl_80445D30@ha
/* 802F4680 002F02E0  38 63 5D 30 */	addi r3, r3, lbl_80445D30@l
/* 802F4684 002F02E4  4C C6 31 82 */	crclr 6
/* 802F4688 002F02E8  4B D1 34 3D */	bl OSReport
/* 802F468C 002F02EC  3B 20 FF 14 */	li r25, -236
/* 802F4690 002F02F0  48 00 01 F0 */	b lbl_802F4880
lbl_802F4694:
/* 802F4694 002F02F4  3B 20 00 01 */	li r25, 1
/* 802F4698 002F02F8  39 20 0F A0 */	li r9, 0xfa0
/* 802F469C 002F02FC  93 2D AF 54 */	stw r25, lbl_80640214-_SDA_BASE_(r13)
/* 802F46A0 002F0300  39 00 00 C8 */	li r8, 0xc8
/* 802F46A4 002F0304  38 E0 00 0F */	li r7, 0xf
/* 802F46A8 002F0308  38 C0 01 F0 */	li r6, 0x1f0
/* 802F46AC 002F030C  90 6D AF 40 */	stw r3, lbl_80640200-_SDA_BASE_(r13)
/* 802F46B0 002F0310  3B E0 00 00 */	li r31, 0
/* 802F46B4 002F0314  38 00 00 08 */	li r0, 8
/* 802F46B8 002F0318  38 80 00 00 */	li r4, 0
/* 802F46BC 002F031C  83 43 00 00 */	lwz r26, 0(r3)
/* 802F46C0 002F0320  38 A0 02 80 */	li r5, 0x280
/* 802F46C4 002F0324  83 A3 00 04 */	lwz r29, 4(r3)
/* 802F46C8 002F0328  83 63 00 08 */	lwz r27, 8(r3)
/* 802F46CC 002F032C  81 83 00 0C */	lwz r12, 0xc(r3)
/* 802F46D0 002F0330  81 63 00 10 */	lwz r11, 0x10(r3)
/* 802F46D4 002F0334  81 43 00 14 */	lwz r10, 0x14(r3)
/* 802F46D8 002F0338  93 43 00 44 */	stw r26, 0x44(r3)
/* 802F46DC 002F033C  93 A3 00 48 */	stw r29, 0x48(r3)
/* 802F46E0 002F0340  93 63 00 4C */	stw r27, 0x4c(r3)
/* 802F46E4 002F0344  93 23 00 50 */	stw r25, 0x50(r3)
/* 802F46E8 002F0348  91 83 00 54 */	stw r12, 0x54(r3)
/* 802F46EC 002F034C  91 63 00 58 */	stw r11, 0x58(r3)
/* 802F46F0 002F0350  91 43 00 5C */	stw r10, 0x5c(r3)
/* 802F46F4 002F0354  91 23 00 60 */	stw r9, 0x60(r3)
/* 802F46F8 002F0358  91 03 00 64 */	stw r8, 0x64(r3)
/* 802F46FC 002F035C  90 E3 00 68 */	stw r7, 0x68(r3)
/* 802F4700 002F0360  90 C3 00 6C */	stw r6, 0x6c(r3)
/* 802F4704 002F0364  90 03 00 70 */	stw r0, 0x70(r3)
/* 802F4708 002F0368  93 E3 00 74 */	stw r31, 0x74(r3)
/* 802F470C 002F036C  93 E3 00 78 */	stw r31, 0x78(r3)
/* 802F4710 002F0370  93 E3 00 7C */	stw r31, 0x7c(r3)
/* 802F4714 002F0374  93 E3 00 80 */	stw r31, 0x80(r3)
/* 802F4718 002F0378  38 7E 00 00 */	addi r3, r30, 0
/* 802F471C 002F037C  93 ED AF 50 */	stw r31, lbl_80640210-_SDA_BASE_(r13)
/* 802F4720 002F0380  93 ED AF 4C */	stw r31, lbl_8064020C-_SDA_BASE_(r13)
/* 802F4724 002F0384  93 ED AF 48 */	stw r31, lbl_80640208-_SDA_BASE_(r13)
/* 802F4728 002F0388  4B D0 F9 DD */	bl memset
/* 802F472C 002F038C  81 9C 00 00 */	lwz r12, 0(r28)
/* 802F4730 002F0390  38 60 03 78 */	li r3, 0x378
/* 802F4734 002F0394  93 3C 00 38 */	stw r25, 0x38(r28)
/* 802F4738 002F0398  93 3C 00 3C */	stw r25, 0x3c(r28)
/* 802F473C 002F039C  7D 89 03 A6 */	mtctr r12
/* 802F4740 002F03A0  4E 80 04 21 */	bctrl
/* 802F4744 002F03A4  81 9C 00 00 */	lwz r12, 0(r28)
/* 802F4748 002F03A8  90 7C 00 30 */	stw r3, 0x30(r28)
/* 802F474C 002F03AC  38 60 05 D8 */	li r3, 0x5d8
/* 802F4750 002F03B0  7D 89 03 A6 */	mtctr r12
/* 802F4754 002F03B4  4E 80 04 21 */	bctrl
/* 802F4758 002F03B8  83 BC 00 30 */	lwz r29, 0x30(r28)
/* 802F475C 002F03BC  90 7C 00 34 */	stw r3, 0x34(r28)
/* 802F4760 002F03C0  2C 1D 00 00 */	cmpwi r29, 0
/* 802F4764 002F03C4  41 82 00 0C */	beq lbl_802F4770
/* 802F4768 002F03C8  2C 03 00 00 */	cmpwi r3, 0
/* 802F476C 002F03CC  40 82 00 1C */	bne lbl_802F4788
lbl_802F4770:
/* 802F4770 002F03D0  3C 60 80 44 */	lis r3, lbl_80445D50@ha
/* 802F4774 002F03D4  38 63 5D 50 */	addi r3, r3, lbl_80445D50@l
/* 802F4778 002F03D8  4C C6 31 82 */	crclr 6
/* 802F477C 002F03DC  4B D1 33 49 */	bl OSReport
/* 802F4780 002F03E0  3B 20 FF 10 */	li r25, -240
/* 802F4784 002F03E4  48 00 00 FC */	b lbl_802F4880
lbl_802F4788:
/* 802F4788 002F03E8  83 7C 00 2C */	lwz r27, 0x2c(r28)
/* 802F478C 002F03EC  3C 80 80 2F */	lis r4, MPDLiWDPCallback@ha
/* 802F4790 002F03F0  80 BC 00 1C */	lwz r5, 0x1c(r28)
/* 802F4794 002F03F4  7F A3 EB 78 */	mr r3, r29
/* 802F4798 002F03F8  80 FB 00 68 */	lwz r7, 0x68(r27)
/* 802F479C 002F03FC  38 84 40 FC */	addi r4, r4, MPDLiWDPCallback@l
/* 802F47A0 002F0400  83 3B 00 80 */	lwz r25, 0x80(r27)
/* 802F47A4 002F0404  54 E8 42 1E */	rlwinm r8, r7, 8, 8, 0xf
/* 802F47A8 002F0408  54 E0 C4 2E */	rlwinm r0, r7, 0x18, 0x10, 0x17
/* 802F47AC 002F040C  50 E8 C0 0E */	rlwimi r8, r7, 0x18, 0, 7
/* 802F47B0 002F0410  88 DC 00 18 */	lbz r6, 0x18(r28)
/* 802F47B4 002F0414  50 E0 46 3E */	rlwimi r0, r7, 8, 0x18, 0x1f
/* 802F47B8 002F0418  80 FC 00 6C */	lwz r7, 0x6c(r28)
/* 802F47BC 002F041C  7D 00 03 78 */	or r0, r8, r0
/* 802F47C0 002F0420  7F 5B 02 14 */	add r26, r27, r0
/* 802F47C4 002F0424  4B FF A9 8D */	bl WDP_InitParentContext
/* 802F47C8 002F0428  57 23 42 1E */	rlwinm r3, r25, 8, 8, 0xf
/* 802F47CC 002F042C  57 20 C4 2E */	rlwinm r0, r25, 0x18, 0x10, 0x17
/* 802F47D0 002F0430  53 23 C0 0E */	rlwimi r3, r25, 0x18, 0, 7
/* 802F47D4 002F0434  93 E1 00 08 */	stw r31, 8(r1)
/* 802F47D8 002F0438  53 20 46 3E */	rlwimi r0, r25, 8, 0x18, 0x1f
/* 802F47DC 002F043C  3C 80 80 2F */	lis r4, WDPSegmentCallback@ha
/* 802F47E0 002F0440  7C 63 03 78 */	or r3, r3, r0
/* 802F47E4 002F0444  38 BA 00 20 */	addi r5, r26, 0x20
/* 802F47E8 002F0448  7C 7B 1A 14 */	add r3, r27, r3
/* 802F47EC 002F044C  38 1E 05 80 */	addi r0, r30, 0x580
/* 802F47F0 002F0450  90 61 00 0C */	stw r3, 0xc(r1)
/* 802F47F4 002F0454  38 84 42 8C */	addi r4, r4, WDPSegmentCallback@l
/* 802F47F8 002F0458  7F A3 EB 78 */	mr r3, r29
/* 802F47FC 002F045C  38 DA 02 20 */	addi r6, r26, 0x220
/* 802F4800 002F0460  90 01 00 10 */	stw r0, 0x10(r1)
/* 802F4804 002F0464  93 61 00 14 */	stw r27, 0x14(r1)
/* 802F4808 002F0468  90 81 00 18 */	stw r4, 0x18(r1)
/* 802F480C 002F046C  93 61 00 1C */	stw r27, 0x1c(r1)
/* 802F4810 002F0470  80 9C 00 34 */	lwz r4, 0x34(r28)
/* 802F4814 002F0474  80 FC 00 28 */	lwz r7, 0x28(r28)
/* 802F4818 002F0478  81 1C 00 20 */	lwz r8, 0x20(r28)
/* 802F481C 002F047C  81 3C 00 24 */	lwz r9, 0x24(r28)
/* 802F4820 002F0480  81 5C 00 0C */	lwz r10, 0xc(r28)
/* 802F4824 002F0484  4B FF B7 A9 */	bl WDP_RegisterSession
/* 802F4828 002F0488  88 1D 00 34 */	lbz r0, 0x34(r29)
/* 802F482C 002F048C  3B 7E 00 00 */	addi r27, r30, 0
/* 802F4830 002F0490  38 7B 00 0A */	addi r3, r27, 0xa
/* 802F4834 002F0494  38 9D 00 36 */	addi r4, r29, 0x36
/* 802F4838 002F0498  54 00 E7 3E */	rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 802F483C 002F049C  38 A0 00 14 */	li r5, 0x14
/* 802F4840 002F04A0  90 1E 00 00 */	stw r0, 0(r30)
/* 802F4844 002F04A4  88 1D 00 34 */	lbz r0, 0x34(r29)
/* 802F4848 002F04A8  54 00 07 3E */	clrlwi r0, r0, 0x1c
/* 802F484C 002F04AC  90 1B 00 04 */	stw r0, 4(r27)
/* 802F4850 002F04B0  88 1D 00 35 */	lbz r0, 0x35(r29)
/* 802F4854 002F04B4  B0 1B 00 08 */	sth r0, 8(r27)
/* 802F4858 002F04B8  4B D0 F7 A9 */	bl memcpy
/* 802F485C 002F04BC  3C 60 80 2F */	lis r3, MPDLiPortCallback@ha
/* 802F4860 002F04C0  93 FB 00 24 */	stw r31, 0x24(r27)
/* 802F4864 002F04C4  38 63 44 B0 */	addi r3, r3, MPDLiPortCallback@l
/* 802F4868 002F04C8  38 00 00 02 */	li r0, 2
/* 802F486C 002F04CC  90 7C 01 00 */	stw r3, 0x100(r28)
/* 802F4870 002F04D0  38 7C 00 44 */	addi r3, r28, 0x44
/* 802F4874 002F04D4  90 1C 01 04 */	stw r0, 0x104(r28)
/* 802F4878 002F04D8  4B FF BD 11 */	bl MPStartup
/* 802F487C 002F04DC  7C 79 1B 78 */	mr r25, r3
lbl_802F4880:
/* 802F4880 002F04E0  2C 19 00 00 */	cmpwi r25, 0
/* 802F4884 002F04E4  41 82 00 44 */	beq lbl_802F48C8
/* 802F4888 002F04E8  80 7C 00 30 */	lwz r3, 0x30(r28)
/* 802F488C 002F04EC  2C 03 00 00 */	cmpwi r3, 0
/* 802F4890 002F04F0  41 82 00 2C */	beq lbl_802F48BC
/* 802F4894 002F04F4  81 9C 00 04 */	lwz r12, 4(r28)
/* 802F4898 002F04F8  7D 89 03 A6 */	mtctr r12
/* 802F489C 002F04FC  4E 80 04 21 */	bctrl
/* 802F48A0 002F0500  81 9C 00 04 */	lwz r12, 4(r28)
/* 802F48A4 002F0504  3B A0 00 00 */	li r29, 0
/* 802F48A8 002F0508  93 BC 00 30 */	stw r29, 0x30(r28)
/* 802F48AC 002F050C  80 7C 00 34 */	lwz r3, 0x34(r28)
/* 802F48B0 002F0510  7D 89 03 A6 */	mtctr r12
/* 802F48B4 002F0514  4E 80 04 21 */	bctrl
/* 802F48B8 002F0518  93 BC 00 34 */	stw r29, 0x34(r28)
lbl_802F48BC:
/* 802F48BC 002F051C  38 00 00 00 */	li r0, 0
/* 802F48C0 002F0520  90 0D AF 40 */	stw r0, lbl_80640200-_SDA_BASE_(r13)
/* 802F48C4 002F0524  48 00 00 30 */	b lbl_802F48F4
lbl_802F48C8:
/* 802F48C8 002F0528  38 7E 05 A0 */	addi r3, r30, 0x5a0
/* 802F48CC 002F052C  3C 80 80 2F */	lis r4, MPDLiSyncBeaconTask@ha
/* 802F48D0 002F0530  38 84 43 3C */	addi r4, r4, MPDLiSyncBeaconTask@l
/* 802F48D4 002F0534  38 A0 00 00 */	li r5, 0
/* 802F48D8 002F0538  38 C3 13 18 */	addi r6, r3, 0x1318
/* 802F48DC 002F053C  38 E0 10 00 */	li r7, 0x1000
/* 802F48E0 002F0540  39 00 00 05 */	li r8, 5
/* 802F48E4 002F0544  39 20 00 01 */	li r9, 1
/* 802F48E8 002F0548  4B F7 CF F9 */	bl OSCreateThread
/* 802F48EC 002F054C  38 7E 05 A0 */	addi r3, r30, 0x5a0
/* 802F48F0 002F0550  4B F7 D6 59 */	bl OSResumeThread
lbl_802F48F4:
/* 802F48F4 002F0554  39 61 00 40 */	addi r11, r1, 0x40
/* 802F48F8 002F0558  7F 23 CB 78 */	mr r3, r25
/* 802F48FC 002F055C  4B ED 28 71 */	bl _restgpr_25
/* 802F4900 002F0560  80 01 00 44 */	lwz r0, 0x44(r1)
/* 802F4904 002F0564  7C 08 03 A6 */	mtlr r0
/* 802F4908 002F0568  38 21 00 40 */	addi r1, r1, 0x40
/* 802F490C 002F056C  4E 80 00 20 */	blr

.global MPDLCleanup
MPDLCleanup:
/* 802F4910 002F0570  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802F4914 002F0574  7C 08 02 A6 */	mflr r0
/* 802F4918 002F0578  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F491C 002F057C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802F4920 002F0580  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802F4924 002F0584  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802F4928 002F0588  83 AD AF 40 */	lwz r29, lbl_80640200-_SDA_BASE_(r13)
/* 802F492C 002F058C  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F4930 002F0590  2C 00 00 00 */	cmpwi r0, 0
/* 802F4934 002F0594  40 82 00 1C */	bne lbl_802F4950
/* 802F4938 002F0598  3C 60 80 44 */	lis r3, lbl_80445D84@ha
/* 802F493C 002F059C  38 63 5D 84 */	addi r3, r3, lbl_80445D84@l
/* 802F4940 002F05A0  4C C6 31 82 */	crclr 6
/* 802F4944 002F05A4  4B D1 31 81 */	bl OSReport
/* 802F4948 002F05A8  3B C0 FF 14 */	li r30, -236
/* 802F494C 002F05AC  48 00 00 50 */	b lbl_802F499C
lbl_802F4950:
/* 802F4950 002F05B0  3B E0 00 00 */	li r31, 0
/* 802F4954 002F05B4  3C 60 80 58 */	lis r3, lbl_805797A0@ha
/* 802F4958 002F05B8  93 ED AF 54 */	stw r31, lbl_80640214-_SDA_BASE_(r13)
/* 802F495C 002F05BC  38 63 97 A0 */	addi r3, r3, lbl_805797A0@l
/* 802F4960 002F05C0  38 80 00 00 */	li r4, 0
/* 802F4964 002F05C4  4B F7 D4 A5 */	bl OSJoinThread
/* 802F4968 002F05C8  4B FF BD F9 */	bl MPCleanup
/* 802F496C 002F05CC  81 9D 00 04 */	lwz r12, 4(r29)
/* 802F4970 002F05D0  7C 7E 1B 78 */	mr r30, r3
/* 802F4974 002F05D4  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 802F4978 002F05D8  7D 89 03 A6 */	mtctr r12
/* 802F497C 002F05DC  4E 80 04 21 */	bctrl
/* 802F4980 002F05E0  93 FD 00 30 */	stw r31, 0x30(r29)
/* 802F4984 002F05E4  81 9D 00 04 */	lwz r12, 4(r29)
/* 802F4988 002F05E8  80 7D 00 34 */	lwz r3, 0x34(r29)
/* 802F498C 002F05EC  7D 89 03 A6 */	mtctr r12
/* 802F4990 002F05F0  4E 80 04 21 */	bctrl
/* 802F4994 002F05F4  93 FD 00 34 */	stw r31, 0x34(r29)
/* 802F4998 002F05F8  93 ED AF 40 */	stw r31, lbl_80640200-_SDA_BASE_(r13)
lbl_802F499C:
/* 802F499C 002F05FC  7F C3 F3 78 */	mr r3, r30
/* 802F49A0 002F0600  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802F49A4 002F0604  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802F49A8 002F0608  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802F49AC 002F060C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802F49B0 002F0610  7C 08 03 A6 */	mtlr r0
/* 802F49B4 002F0614  38 21 00 20 */	addi r1, r1, 0x20
/* 802F49B8 002F0618  4E 80 00 20 */	blr

.global MPDLStartDownload
MPDLStartDownload:
/* 802F49BC 002F061C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802F49C0 002F0620  7C 08 02 A6 */	mflr r0
/* 802F49C4 002F0624  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F49C8 002F0628  39 61 00 20 */	addi r11, r1, 0x20
/* 802F49CC 002F062C  4B ED 27 5D */	bl _savegpr_27
/* 802F49D0 002F0630  3B C0 00 00 */	li r30, 0
/* 802F49D4 002F0634  4B F7 9D 89 */	bl OSDisableInterrupts
/* 802F49D8 002F0638  80 8D AF 40 */	lwz r4, lbl_80640200-_SDA_BASE_(r13)
/* 802F49DC 002F063C  7C 7D 1B 78 */	mr r29, r3
/* 802F49E0 002F0640  2C 04 00 00 */	cmpwi r4, 0
/* 802F49E4 002F0644  40 82 00 18 */	bne lbl_802F49FC
/* 802F49E8 002F0648  3C 60 80 44 */	lis r3, lbl_80445D84@ha
/* 802F49EC 002F064C  38 63 5D 84 */	addi r3, r3, lbl_80445D84@l
/* 802F49F0 002F0650  4C C6 31 82 */	crclr 6
/* 802F49F4 002F0654  4B D1 30 D1 */	bl OSReport
/* 802F49F8 002F0658  48 00 01 14 */	b lbl_802F4B0C
lbl_802F49FC:
/* 802F49FC 002F065C  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F4A00 002F0660  3B C0 00 00 */	li r30, 0
/* 802F4A04 002F0664  83 84 00 30 */	lwz r28, 0x30(r4)
/* 802F4A08 002F0668  2C 00 00 00 */	cmpwi r0, 0
/* 802F4A0C 002F066C  41 82 00 C8 */	beq lbl_802F4AD4
/* 802F4A10 002F0670  80 8D AF 40 */	lwz r4, lbl_80640200-_SDA_BASE_(r13)
/* 802F4A14 002F0674  38 00 00 03 */	li r0, 3
/* 802F4A18 002F0678  38 A0 00 01 */	li r5, 1
/* 802F4A1C 002F067C  38 60 00 01 */	li r3, 1
/* 802F4A20 002F0680  80 84 00 30 */	lwz r4, 0x30(r4)
/* 802F4A24 002F0684  38 84 00 34 */	addi r4, r4, 0x34
/* 802F4A28 002F0688  7C 09 03 A6 */	mtctr r0
lbl_802F4A2C:
/* 802F4A2C 002F068C  80 04 00 28 */	lwz r0, 0x28(r4)
/* 802F4A30 002F0690  2C 00 00 02 */	cmpwi r0, 2
/* 802F4A34 002F0694  41 80 00 14 */	blt lbl_802F4A48
/* 802F4A38 002F0698  2C 00 00 06 */	cmpwi r0, 6
/* 802F4A3C 002F069C  41 81 00 0C */	bgt lbl_802F4A48
/* 802F4A40 002F06A0  7C 60 28 30 */	slw r0, r3, r5
/* 802F4A44 002F06A4  7F DE 03 78 */	or r30, r30, r0
lbl_802F4A48:
/* 802F4A48 002F06A8  80 04 00 5C */	lwz r0, 0x5c(r4)
/* 802F4A4C 002F06AC  38 A5 00 01 */	addi r5, r5, 1
/* 802F4A50 002F06B0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4A54 002F06B4  41 80 00 14 */	blt lbl_802F4A68
/* 802F4A58 002F06B8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4A5C 002F06BC  41 81 00 0C */	bgt lbl_802F4A68
/* 802F4A60 002F06C0  7C 60 28 30 */	slw r0, r3, r5
/* 802F4A64 002F06C4  7F DE 03 78 */	or r30, r30, r0
lbl_802F4A68:
/* 802F4A68 002F06C8  80 04 00 90 */	lwz r0, 0x90(r4)
/* 802F4A6C 002F06CC  38 A5 00 01 */	addi r5, r5, 1
/* 802F4A70 002F06D0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4A74 002F06D4  41 80 00 14 */	blt lbl_802F4A88
/* 802F4A78 002F06D8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4A7C 002F06DC  41 81 00 0C */	bgt lbl_802F4A88
/* 802F4A80 002F06E0  7C 60 28 30 */	slw r0, r3, r5
/* 802F4A84 002F06E4  7F DE 03 78 */	or r30, r30, r0
lbl_802F4A88:
/* 802F4A88 002F06E8  80 04 00 C4 */	lwz r0, 0xc4(r4)
/* 802F4A8C 002F06EC  38 A5 00 01 */	addi r5, r5, 1
/* 802F4A90 002F06F0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4A94 002F06F4  41 80 00 14 */	blt lbl_802F4AA8
/* 802F4A98 002F06F8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4A9C 002F06FC  41 81 00 0C */	bgt lbl_802F4AA8
/* 802F4AA0 002F0700  7C 60 28 30 */	slw r0, r3, r5
/* 802F4AA4 002F0704  7F DE 03 78 */	or r30, r30, r0
lbl_802F4AA8:
/* 802F4AA8 002F0708  80 04 00 F8 */	lwz r0, 0xf8(r4)
/* 802F4AAC 002F070C  38 A5 00 01 */	addi r5, r5, 1
/* 802F4AB0 002F0710  2C 00 00 02 */	cmpwi r0, 2
/* 802F4AB4 002F0714  41 80 00 14 */	blt lbl_802F4AC8
/* 802F4AB8 002F0718  2C 00 00 06 */	cmpwi r0, 6
/* 802F4ABC 002F071C  41 81 00 0C */	bgt lbl_802F4AC8
/* 802F4AC0 002F0720  7C 60 28 30 */	slw r0, r3, r5
/* 802F4AC4 002F0724  7F DE 03 78 */	or r30, r30, r0
lbl_802F4AC8:
/* 802F4AC8 002F0728  38 84 01 04 */	addi r4, r4, 0x104
/* 802F4ACC 002F072C  38 A5 00 01 */	addi r5, r5, 1
/* 802F4AD0 002F0730  42 00 FF 5C */	bdnz lbl_802F4A2C
lbl_802F4AD4:
/* 802F4AD4 002F0734  3B 60 00 01 */	li r27, 1
/* 802F4AD8 002F0738  3B E0 00 01 */	li r31, 1
lbl_802F4ADC:
/* 802F4ADC 002F073C  7F E0 D8 30 */	slw r0, r31, r27
/* 802F4AE0 002F0740  7F C0 00 39 */	and. r0, r30, r0
/* 802F4AE4 002F0744  41 82 00 14 */	beq lbl_802F4AF8
/* 802F4AE8 002F0748  7F 83 E3 78 */	mr r3, r28
/* 802F4AEC 002F074C  7F 64 DB 78 */	mr r4, r27
/* 802F4AF0 002F0750  38 A0 00 04 */	li r5, 4
/* 802F4AF4 002F0754  4B FF B9 25 */	bl WDP_AllowChildStatus
lbl_802F4AF8:
/* 802F4AF8 002F0758  3B 7B 00 01 */	addi r27, r27, 1
/* 802F4AFC 002F075C  2C 1B 00 10 */	cmpwi r27, 0x10
/* 802F4B00 002F0760  41 80 FF DC */	blt lbl_802F4ADC
/* 802F4B04 002F0764  38 00 00 01 */	li r0, 1
/* 802F4B08 002F0768  90 0D AF 48 */	stw r0, lbl_80640208-_SDA_BASE_(r13)
lbl_802F4B0C:
/* 802F4B0C 002F076C  7F A3 EB 78 */	mr r3, r29
/* 802F4B10 002F0770  4B F7 9C 75 */	bl OSRestoreInterrupts
/* 802F4B14 002F0774  39 61 00 20 */	addi r11, r1, 0x20
/* 802F4B18 002F0778  7F C3 F3 78 */	mr r3, r30
/* 802F4B1C 002F077C  4B ED 26 59 */	bl _restgpr_27
/* 802F4B20 002F0780  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802F4B24 002F0784  7C 08 03 A6 */	mtlr r0
/* 802F4B28 002F0788  38 21 00 20 */	addi r1, r1, 0x20
/* 802F4B2C 002F078C  4E 80 00 20 */	blr

.global MPDLGetPlayerInfo
MPDLGetPlayerInfo:
/* 802F4B30 002F0790  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F4B34 002F0794  38 E0 00 00 */	li r7, 0
/* 802F4B38 002F0798  2C 00 00 00 */	cmpwi r0, 0
/* 802F4B3C 002F079C  41 82 00 DC */	beq lbl_802F4C18
/* 802F4B40 002F07A0  80 ED AF 40 */	lwz r7, lbl_80640200-_SDA_BASE_(r13)
/* 802F4B44 002F07A4  7C 60 00 34 */	cntlzw r0, r3
/* 802F4B48 002F07A8  1C A3 00 34 */	mulli r5, r3, 0x34
/* 802F4B4C 002F07AC  38 C0 00 00 */	li r6, 0
/* 802F4B50 002F07B0  80 E7 00 30 */	lwz r7, 0x30(r7)
/* 802F4B54 002F07B4  54 08 D9 7E */	srwi r8, r0, 5
/* 802F4B58 002F07B8  7C A7 2A 14 */	add r5, r7, r5
/* 802F4B5C 002F07BC  80 05 00 28 */	lwz r0, 0x28(r5)
/* 802F4B60 002F07C0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4B64 002F07C4  41 80 00 10 */	blt lbl_802F4B74
/* 802F4B68 002F07C8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4B6C 002F07CC  41 81 00 08 */	bgt lbl_802F4B74
/* 802F4B70 002F07D0  38 C0 00 01 */	li r6, 1
lbl_802F4B74:
/* 802F4B74 002F07D4  38 00 00 01 */	li r0, 1
/* 802F4B78 002F07D8  80 AD AF 4C */	lwz r5, lbl_8064020C-_SDA_BASE_(r13)
/* 802F4B7C 002F07DC  7C 00 18 30 */	slw r0, r0, r3
/* 802F4B80 002F07E0  2C 08 00 00 */	cmpwi r8, 0
/* 802F4B84 002F07E4  7C A5 00 38 */	and r5, r5, r0
/* 802F4B88 002F07E8  38 E0 00 00 */	li r7, 0
/* 802F4B8C 002F07EC  7C 05 00 D0 */	neg r0, r5
/* 802F4B90 002F07F0  7C 00 2B 78 */	or r0, r0, r5
/* 802F4B94 002F07F4  54 00 0F FE */	srwi r0, r0, 0x1f
/* 802F4B98 002F07F8  40 82 00 14 */	bne lbl_802F4BAC
/* 802F4B9C 002F07FC  2C 06 00 00 */	cmpwi r6, 0
/* 802F4BA0 002F0800  40 82 00 0C */	bne lbl_802F4BAC
/* 802F4BA4 002F0804  2C 00 00 00 */	cmpwi r0, 0
/* 802F4BA8 002F0808  41 82 00 08 */	beq lbl_802F4BB0
lbl_802F4BAC:
/* 802F4BAC 002F080C  38 E0 00 01 */	li r7, 1
lbl_802F4BB0:
/* 802F4BB0 002F0810  2C 07 00 00 */	cmpwi r7, 0
/* 802F4BB4 002F0814  41 82 00 64 */	beq lbl_802F4C18
/* 802F4BB8 002F0818  1C 03 00 28 */	mulli r0, r3, 0x28
/* 802F4BBC 002F081C  3C 60 80 58 */	lis r3, lbl_80579200@ha
/* 802F4BC0 002F0820  38 63 92 00 */	addi r3, r3, lbl_80579200@l
/* 802F4BC4 002F0824  7C A3 02 14 */	add r5, r3, r0
/* 802F4BC8 002F0828  7C 63 00 2E */	lwzx r3, r3, r0
/* 802F4BCC 002F082C  80 05 00 04 */	lwz r0, 4(r5)
/* 802F4BD0 002F0830  90 64 00 00 */	stw r3, 0(r4)
/* 802F4BD4 002F0834  90 04 00 04 */	stw r0, 4(r4)
/* 802F4BD8 002F0838  80 65 00 08 */	lwz r3, 8(r5)
/* 802F4BDC 002F083C  80 05 00 0C */	lwz r0, 0xc(r5)
/* 802F4BE0 002F0840  90 64 00 08 */	stw r3, 8(r4)
/* 802F4BE4 002F0844  90 04 00 0C */	stw r0, 0xc(r4)
/* 802F4BE8 002F0848  80 65 00 10 */	lwz r3, 0x10(r5)
/* 802F4BEC 002F084C  80 05 00 14 */	lwz r0, 0x14(r5)
/* 802F4BF0 002F0850  90 64 00 10 */	stw r3, 0x10(r4)
/* 802F4BF4 002F0854  90 04 00 14 */	stw r0, 0x14(r4)
/* 802F4BF8 002F0858  80 65 00 18 */	lwz r3, 0x18(r5)
/* 802F4BFC 002F085C  80 05 00 1C */	lwz r0, 0x1c(r5)
/* 802F4C00 002F0860  90 64 00 18 */	stw r3, 0x18(r4)
/* 802F4C04 002F0864  90 04 00 1C */	stw r0, 0x1c(r4)
/* 802F4C08 002F0868  80 65 00 20 */	lwz r3, 0x20(r5)
/* 802F4C0C 002F086C  80 05 00 24 */	lwz r0, 0x24(r5)
/* 802F4C10 002F0870  90 64 00 20 */	stw r3, 0x20(r4)
/* 802F4C14 002F0874  90 04 00 24 */	stw r0, 0x24(r4)
lbl_802F4C18:
/* 802F4C18 002F0878  7C E3 3B 78 */	mr r3, r7
/* 802F4C1C 002F087C  4E 80 00 20 */	blr

.global MPDLGetEntryBitmap
MPDLGetEntryBitmap:
/* 802F4C20 002F0880  80 0D AF 54 */	lwz r0, lbl_80640214-_SDA_BASE_(r13)
/* 802F4C24 002F0884  38 60 00 00 */	li r3, 0
/* 802F4C28 002F0888  2C 00 00 00 */	cmpwi r0, 0
/* 802F4C2C 002F088C  4D 82 00 20 */	beqlr
/* 802F4C30 002F0890  80 AD AF 40 */	lwz r5, lbl_80640200-_SDA_BASE_(r13)
/* 802F4C34 002F0894  38 00 00 03 */	li r0, 3
/* 802F4C38 002F0898  38 C0 00 01 */	li r6, 1
/* 802F4C3C 002F089C  38 80 00 01 */	li r4, 1
/* 802F4C40 002F08A0  80 A5 00 30 */	lwz r5, 0x30(r5)
/* 802F4C44 002F08A4  38 A5 00 34 */	addi r5, r5, 0x34
/* 802F4C48 002F08A8  7C 09 03 A6 */	mtctr r0
lbl_802F4C4C:
/* 802F4C4C 002F08AC  80 05 00 28 */	lwz r0, 0x28(r5)
/* 802F4C50 002F08B0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4C54 002F08B4  41 80 00 14 */	blt lbl_802F4C68
/* 802F4C58 002F08B8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4C5C 002F08BC  41 81 00 0C */	bgt lbl_802F4C68
/* 802F4C60 002F08C0  7C 80 30 30 */	slw r0, r4, r6
/* 802F4C64 002F08C4  7C 63 03 78 */	or r3, r3, r0
lbl_802F4C68:
/* 802F4C68 002F08C8  80 05 00 5C */	lwz r0, 0x5c(r5)
/* 802F4C6C 002F08CC  38 C6 00 01 */	addi r6, r6, 1
/* 802F4C70 002F08D0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4C74 002F08D4  41 80 00 14 */	blt lbl_802F4C88
/* 802F4C78 002F08D8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4C7C 002F08DC  41 81 00 0C */	bgt lbl_802F4C88
/* 802F4C80 002F08E0  7C 80 30 30 */	slw r0, r4, r6
/* 802F4C84 002F08E4  7C 63 03 78 */	or r3, r3, r0
lbl_802F4C88:
/* 802F4C88 002F08E8  80 05 00 90 */	lwz r0, 0x90(r5)
/* 802F4C8C 002F08EC  38 C6 00 01 */	addi r6, r6, 1
/* 802F4C90 002F08F0  2C 00 00 02 */	cmpwi r0, 2
/* 802F4C94 002F08F4  41 80 00 14 */	blt lbl_802F4CA8
/* 802F4C98 002F08F8  2C 00 00 06 */	cmpwi r0, 6
/* 802F4C9C 002F08FC  41 81 00 0C */	bgt lbl_802F4CA8
/* 802F4CA0 002F0900  7C 80 30 30 */	slw r0, r4, r6
/* 802F4CA4 002F0904  7C 63 03 78 */	or r3, r3, r0
lbl_802F4CA8:
/* 802F4CA8 002F0908  80 05 00 C4 */	lwz r0, 0xc4(r5)
/* 802F4CAC 002F090C  38 C6 00 01 */	addi r6, r6, 1
/* 802F4CB0 002F0910  2C 00 00 02 */	cmpwi r0, 2
/* 802F4CB4 002F0914  41 80 00 14 */	blt lbl_802F4CC8
/* 802F4CB8 002F0918  2C 00 00 06 */	cmpwi r0, 6
/* 802F4CBC 002F091C  41 81 00 0C */	bgt lbl_802F4CC8
/* 802F4CC0 002F0920  7C 80 30 30 */	slw r0, r4, r6
/* 802F4CC4 002F0924  7C 63 03 78 */	or r3, r3, r0
lbl_802F4CC8:
/* 802F4CC8 002F0928  80 05 00 F8 */	lwz r0, 0xf8(r5)
/* 802F4CCC 002F092C  38 C6 00 01 */	addi r6, r6, 1
/* 802F4CD0 002F0930  2C 00 00 02 */	cmpwi r0, 2
/* 802F4CD4 002F0934  41 80 00 14 */	blt lbl_802F4CE8
/* 802F4CD8 002F0938  2C 00 00 06 */	cmpwi r0, 6
/* 802F4CDC 002F093C  41 81 00 0C */	bgt lbl_802F4CE8
/* 802F4CE0 002F0940  7C 80 30 30 */	slw r0, r4, r6
/* 802F4CE4 002F0944  7C 63 03 78 */	or r3, r3, r0
lbl_802F4CE8:
/* 802F4CE8 002F0948  38 A5 01 04 */	addi r5, r5, 0x104
/* 802F4CEC 002F094C  38 C6 00 01 */	addi r6, r6, 1
/* 802F4CF0 002F0950  42 00 FF 5C */	bdnz lbl_802F4C4C
/* 802F4CF4 002F0954  4E 80 00 20 */	blr

.global MPDLGetBootedBitmap
MPDLGetBootedBitmap:
/* 802F4CF8 002F0958  80 6D AF 4C */	lwz r3, lbl_8064020C-_SDA_BASE_(r13)
/* 802F4CFC 002F095C  4E 80 00 20 */	blr

.global MPDLEnableFlag
MPDLEnableFlag:
/* 802F4D00 002F0960  80 AD AF 40 */	lwz r5, lbl_80640200-_SDA_BASE_(r13)
/* 802F4D04 002F0964  2C 05 00 00 */	cmpwi r5, 0
/* 802F4D08 002F0968  4D 82 00 20 */	beqlr
/* 802F4D0C 002F096C  90 65 00 38 */	stw r3, 0x38(r5)
/* 802F4D10 002F0970  90 85 00 3C */	stw r4, 0x3c(r5)
/* 802F4D14 002F0974  4E 80 00 20 */	blr