summaryrefslogtreecommitdiff
path: root/asm/SDK/NTR/wdp_parent.s
blob: d6fb7741ecd9cebec223efb93b9c67849e7ef09c (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
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
.include "macros.inc"

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

.global WDPi_SwitchActiveSession
WDPi_SwitchActiveSession:
/* 802EEFA0 002EAC00  80 03 00 04 */	lwz r0, 4(r3)
/* 802EEFA4 002EAC04  38 C0 00 00 */	li r6, 0
/* 802EEFA8 002EAC08  2C 00 00 00 */	cmpwi r0, 0
/* 802EEFAC 002EAC0C  40 82 00 10 */	bne lbl_802EEFBC
/* 802EEFB0 002EAC10  38 00 00 00 */	li r0, 0
/* 802EEFB4 002EAC14  90 03 00 10 */	stw r0, 0x10(r3)
/* 802EEFB8 002EAC18  48 00 00 44 */	b lbl_802EEFFC
lbl_802EEFBC:
/* 802EEFBC 002EAC1C  80 83 00 10 */	lwz r4, 0x10(r3)
/* 802EEFC0 002EAC20  2C 04 00 00 */	cmpwi r4, 0
/* 802EEFC4 002EAC24  41 82 00 14 */	beq lbl_802EEFD8
/* 802EEFC8 002EAC28  80 A4 00 00 */	lwz r5, 0(r4)
/* 802EEFCC 002EAC2C  2C 05 00 00 */	cmpwi r5, 0
/* 802EEFD0 002EAC30  41 82 00 08 */	beq lbl_802EEFD8
/* 802EEFD4 002EAC34  48 00 00 08 */	b lbl_802EEFDC
lbl_802EEFD8:
/* 802EEFD8 002EAC38  7C 05 03 78 */	mr r5, r0
lbl_802EEFDC:
/* 802EEFDC 002EAC3C  38 80 00 00 */	li r4, 0
/* 802EEFE0 002EAC40  90 A3 00 10 */	stw r5, 0x10(r3)
/* 802EEFE4 002EAC44  38 00 00 01 */	li r0, 1
/* 802EEFE8 002EAC48  38 C0 00 01 */	li r6, 1
/* 802EEFEC 002EAC4C  98 83 00 16 */	stb r4, 0x16(r3)
/* 802EEFF0 002EAC50  88 85 03 6A */	lbz r4, 0x36a(r5)
/* 802EEFF4 002EAC54  98 83 00 17 */	stb r4, 0x17(r3)
/* 802EEFF8 002EAC58  B0 03 00 14 */	sth r0, 0x14(r3)
lbl_802EEFFC:
/* 802EEFFC 002EAC5C  7C C3 33 78 */	mr r3, r6
/* 802EF000 002EAC60  4E 80 00 20 */	blr

.global WDPi_UpdateStatus
WDPi_UpdateStatus:
/* 802EF004 002EAC64  1C C4 00 34 */	mulli r6, r4, 0x34
/* 802EF008 002EAC68  38 00 00 01 */	li r0, 1
/* 802EF00C 002EAC6C  7C 09 20 30 */	slw r9, r0, r4
/* 802EF010 002EAC70  7C E3 32 14 */	add r7, r3, r6
/* 802EF014 002EAC74  80 07 00 28 */	lwz r0, 0x28(r7)
/* 802EF018 002EAC78  55 2A 04 3E */	clrlwi r10, r9, 0x10
/* 802EF01C 002EAC7C  80 C7 00 2C */	lwz r6, 0x2c(r7)
/* 802EF020 002EAC80  2C 00 00 06 */	cmpwi r0, 6
/* 802EF024 002EAC84  41 82 00 50 */	beq lbl_802EF074
/* 802EF028 002EAC88  40 80 00 10 */	bge lbl_802EF038
/* 802EF02C 002EAC8C  2C 00 00 01 */	cmpwi r0, 1
/* 802EF030 002EAC90  41 82 00 14 */	beq lbl_802EF044
/* 802EF034 002EAC94  48 00 00 4C */	b lbl_802EF080
lbl_802EF038:
/* 802EF038 002EAC98  2C 00 00 08 */	cmpwi r0, 8
/* 802EF03C 002EAC9C  40 80 00 44 */	bge lbl_802EF080
/* 802EF040 002EACA0  48 00 00 14 */	b lbl_802EF054
lbl_802EF044:
/* 802EF044 002EACA4  A0 03 03 68 */	lhz r0, 0x368(r3)
/* 802EF048 002EACA8  7C 00 50 78 */	andc r0, r0, r10
/* 802EF04C 002EACAC  B0 03 03 68 */	sth r0, 0x368(r3)
/* 802EF050 002EACB0  48 00 00 30 */	b lbl_802EF080
lbl_802EF054:
/* 802EF054 002EACB4  A0 06 05 D4 */	lhz r0, 0x5d4(r6)
/* 802EF058 002EACB8  7D 48 50 F8 */	nor r8, r10, r10
/* 802EF05C 002EACBC  7C 00 40 38 */	and r0, r0, r8
/* 802EF060 002EACC0  B0 06 05 D4 */	sth r0, 0x5d4(r6)
/* 802EF064 002EACC4  A0 03 03 6A */	lhz r0, 0x36a(r3)
/* 802EF068 002EACC8  7C 00 40 38 */	and r0, r0, r8
/* 802EF06C 002EACCC  B0 03 03 6A */	sth r0, 0x36a(r3)
/* 802EF070 002EACD0  48 00 00 10 */	b lbl_802EF080
lbl_802EF074:
/* 802EF074 002EACD4  A0 03 03 6E */	lhz r0, 0x36e(r3)
/* 802EF078 002EACD8  7C 00 50 78 */	andc r0, r0, r10
/* 802EF07C 002EACDC  B0 03 03 6E */	sth r0, 0x36e(r3)
lbl_802EF080:
/* 802EF080 002EACE0  2C 05 00 05 */	cmpwi r5, 5
/* 802EF084 002EACE4  90 A7 00 28 */	stw r5, 0x28(r7)
/* 802EF088 002EACE8  41 82 00 A8 */	beq lbl_802EF130
/* 802EF08C 002EACEC  40 80 00 1C */	bge lbl_802EF0A8
/* 802EF090 002EACF0  2C 05 00 01 */	cmpwi r5, 1
/* 802EF094 002EACF4  41 82 00 24 */	beq lbl_802EF0B8
/* 802EF098 002EACF8  41 80 00 98 */	blt lbl_802EF130
/* 802EF09C 002EACFC  2C 05 00 04 */	cmpwi r5, 4
/* 802EF0A0 002EAD00  40 80 00 6C */	bge lbl_802EF10C
/* 802EF0A4 002EAD04  48 00 00 8C */	b lbl_802EF130
lbl_802EF0A8:
/* 802EF0A8 002EAD08  2C 05 00 07 */	cmpwi r5, 7
/* 802EF0AC 002EAD0C  41 82 00 1C */	beq lbl_802EF0C8
/* 802EF0B0 002EAD10  40 80 00 80 */	bge lbl_802EF130
/* 802EF0B4 002EAD14  48 00 00 70 */	b lbl_802EF124
lbl_802EF0B8:
/* 802EF0B8 002EAD18  A0 03 03 68 */	lhz r0, 0x368(r3)
/* 802EF0BC 002EAD1C  7C 00 53 78 */	or r0, r0, r10
/* 802EF0C0 002EAD20  B0 03 03 68 */	sth r0, 0x368(r3)
/* 802EF0C4 002EAD24  48 00 00 6C */	b lbl_802EF130
lbl_802EF0C8:
/* 802EF0C8 002EAD28  A0 A6 05 D4 */	lhz r5, 0x5d4(r6)
/* 802EF0CC 002EAD2C  55 20 04 3E */	clrlwi r0, r9, 0x10
/* 802EF0D0 002EAD30  7C A5 53 78 */	or r5, r5, r10
/* 802EF0D4 002EAD34  B0 A6 05 D4 */	sth r5, 0x5d4(r6)
/* 802EF0D8 002EAD38  A0 A3 03 6A */	lhz r5, 0x36a(r3)
/* 802EF0DC 002EAD3C  7C A5 53 78 */	or r5, r5, r10
/* 802EF0E0 002EAD40  B0 A3 03 6A */	sth r5, 0x36a(r3)
/* 802EF0E4 002EAD44  A0 A6 04 D8 */	lhz r5, 0x4d8(r6)
/* 802EF0E8 002EAD48  7C A5 4B 78 */	or r5, r5, r9
/* 802EF0EC 002EAD4C  B0 A6 04 D8 */	sth r5, 0x4d8(r6)
/* 802EF0F0 002EAD50  A0 A6 04 DA */	lhz r5, 0x4da(r6)
/* 802EF0F4 002EAD54  7C A5 4B 78 */	or r5, r5, r9
/* 802EF0F8 002EAD58  B0 A6 04 DA */	sth r5, 0x4da(r6)
/* 802EF0FC 002EAD5C  A0 A6 05 D2 */	lhz r5, 0x5d2(r6)
/* 802EF100 002EAD60  7C A0 03 78 */	or r0, r5, r0
/* 802EF104 002EAD64  B0 06 05 D2 */	sth r0, 0x5d2(r6)
/* 802EF108 002EAD68  48 00 00 28 */	b lbl_802EF130
lbl_802EF10C:
/* 802EF10C 002EAD6C  A0 A6 05 D0 */	lhz r5, 0x5d0(r6)
/* 802EF110 002EAD70  38 00 00 00 */	li r0, 0
/* 802EF114 002EAD74  7C A5 4B 78 */	or r5, r5, r9
/* 802EF118 002EAD78  B0 A6 05 D0 */	sth r5, 0x5d0(r6)
/* 802EF11C 002EAD7C  B0 06 05 CC */	sth r0, 0x5cc(r6)
/* 802EF120 002EAD80  48 00 00 10 */	b lbl_802EF130
lbl_802EF124:
/* 802EF124 002EAD84  A0 03 03 6E */	lhz r0, 0x36e(r3)
/* 802EF128 002EAD88  7C 00 53 78 */	or r0, r0, r10
/* 802EF12C 002EAD8C  B0 03 03 6E */	sth r0, 0x36e(r3)
lbl_802EF130:
/* 802EF130 002EAD90  81 83 00 00 */	lwz r12, 0(r3)
/* 802EF134 002EAD94  2C 0C 00 00 */	cmpwi r12, 0
/* 802EF138 002EAD98  4D 82 00 20 */	beqlr
/* 802EF13C 002EAD9C  7C 85 23 78 */	mr r5, r4
/* 802EF140 002EADA0  38 80 00 00 */	li r4, 0
/* 802EF144 002EADA4  7D 89 03 A6 */	mtctr r12
/* 802EF148 002EADA8  4E 80 04 20 */	bctr
/* 802EF14C 002EADAC  4E 80 00 20 */	blr

.global WDP_InitParentContext
WDP_InitParentContext:
/* 802EF150 002EADB0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EF154 002EADB4  7C 08 02 A6 */	mflr r0
/* 802EF158 002EADB8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EF15C 002EADBC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802EF160 002EADC0  3B E0 00 00 */	li r31, 0
/* 802EF164 002EADC4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802EF168 002EADC8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802EF16C 002EADCC  7C DD 33 78 */	mr r29, r6
/* 802EF170 002EADD0  93 81 00 10 */	stw r28, 0x10(r1)
/* 802EF174 002EADD4  7C 7C 1B 78 */	mr r28, r3
/* 802EF178 002EADD8  90 83 00 00 */	stw r4, 0(r3)
/* 802EF17C 002EADDC  38 80 00 14 */	li r4, 0x14
/* 802EF180 002EADE0  90 E3 00 24 */	stw r7, 0x24(r3)
/* 802EF184 002EADE4  93 E3 00 04 */	stw r31, 4(r3)
/* 802EF188 002EADE8  93 E3 00 10 */	stw r31, 0x10(r3)
/* 802EF18C 002EADEC  93 E3 00 18 */	stw r31, 0x18(r3)
/* 802EF190 002EADF0  93 E3 00 1C */	stw r31, 0x1c(r3)
/* 802EF194 002EADF4  9B E3 00 17 */	stb r31, 0x17(r3)
/* 802EF198 002EADF8  93 E3 00 20 */	stw r31, 0x20(r3)
/* 802EF19C 002EADFC  B3 E3 03 68 */	sth r31, 0x368(r3)
/* 802EF1A0 002EAE00  B3 E3 03 6A */	sth r31, 0x36a(r3)
/* 802EF1A4 002EAE04  B3 E3 03 6C */	sth r31, 0x36c(r3)
/* 802EF1A8 002EAE08  B3 E3 03 6E */	sth r31, 0x36e(r3)
/* 802EF1AC 002EAE0C  B3 E3 03 70 */	sth r31, 0x370(r3)
/* 802EF1B0 002EAE10  B3 E3 03 72 */	sth r31, 0x372(r3)
/* 802EF1B4 002EAE14  93 E3 00 08 */	stw r31, 8(r3)
/* 802EF1B8 002EAE18  38 63 00 36 */	addi r3, r3, 0x36
/* 802EF1BC 002EAE1C  4B FF F9 CD */	bl WDP_CopyString
/* 802EF1C0 002EAE20  88 1C 00 34 */	lbz r0, 0x34(r28)
/* 802EF1C4 002EAE24  53 A0 07 3E */	rlwimi r0, r29, 0, 0x1c, 0x1f
/* 802EF1C8 002EAE28  98 7C 00 35 */	stb r3, 0x35(r28)
/* 802EF1CC 002EAE2C  3B DC 00 5C */	addi r30, r28, 0x5c
/* 802EF1D0 002EAE30  3B A0 00 01 */	li r29, 1
/* 802EF1D4 002EAE34  98 1C 00 34 */	stb r0, 0x34(r28)
lbl_802EF1D8:
/* 802EF1D8 002EAE38  7F 83 E3 78 */	mr r3, r28
/* 802EF1DC 002EAE3C  7F A4 EB 78 */	mr r4, r29
/* 802EF1E0 002EAE40  38 A0 00 00 */	li r5, 0
/* 802EF1E4 002EAE44  4B FF FE 21 */	bl WDPi_UpdateStatus
/* 802EF1E8 002EAE48  93 FE 00 04 */	stw r31, 4(r30)
/* 802EF1EC 002EAE4C  38 7E 00 08 */	addi r3, r30, 8
/* 802EF1F0 002EAE50  38 80 00 00 */	li r4, 0
/* 802EF1F4 002EAE54  38 A0 00 20 */	li r5, 0x20
/* 802EF1F8 002EAE58  48 00 4E 11 */	bl MI_CpuFill8
/* 802EF1FC 002EAE5C  38 7E 00 28 */	addi r3, r30, 0x28
/* 802EF200 002EAE60  38 80 00 00 */	li r4, 0
/* 802EF204 002EAE64  38 A0 00 04 */	li r5, 4
/* 802EF208 002EAE68  48 00 4E 01 */	bl MI_CpuFill8
/* 802EF20C 002EAE6C  93 FE 00 2C */	stw r31, 0x2c(r30)
/* 802EF210 002EAE70  3B BD 00 01 */	addi r29, r29, 1
/* 802EF214 002EAE74  2C 1D 00 10 */	cmpwi r29, 0x10
/* 802EF218 002EAE78  93 FE 00 30 */	stw r31, 0x30(r30)
/* 802EF21C 002EAE7C  3B DE 00 34 */	addi r30, r30, 0x34
/* 802EF220 002EAE80  41 80 FF B8 */	blt lbl_802EF1D8
/* 802EF224 002EAE84  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EF228 002EAE88  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802EF22C 002EAE8C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802EF230 002EAE90  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802EF234 002EAE94  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802EF238 002EAE98  7C 08 03 A6 */	mtlr r0
/* 802EF23C 002EAE9C  38 21 00 20 */	addi r1, r1, 0x20
/* 802EF240 002EAEA0  4E 80 00 20 */	blr

.global WDP_CallBeaconSendHook
WDP_CallBeaconSendHook:
/* 802EF244 002EAEA4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802EF248 002EAEA8  7C 08 02 A6 */	mflr r0
/* 802EF24C 002EAEAC  90 01 00 34 */	stw r0, 0x34(r1)
/* 802EF250 002EAEB0  39 61 00 30 */	addi r11, r1, 0x30
/* 802EF254 002EAEB4  4B ED 7E C5 */	bl _savegpr_23
/* 802EF258 002EAEB8  7C 7A 1B 78 */	mr r26, r3
/* 802EF25C 002EAEBC  7C 9B 23 78 */	mr r27, r4
/* 802EF260 002EAEC0  3B E0 FF FF */	li r31, -1
/* 802EF264 002EAEC4  4B F7 F4 F9 */	bl OSDisableInterrupts
/* 802EF268 002EAEC8  80 9A 00 08 */	lwz r4, 8(r26)
/* 802EF26C 002EAECC  38 04 00 01 */	addi r0, r4, 1
/* 802EF270 002EAED0  2C 00 00 01 */	cmpwi r0, 1
/* 802EF274 002EAED4  90 1A 00 08 */	stw r0, 8(r26)
/* 802EF278 002EAED8  40 82 00 08 */	bne lbl_802EF280
/* 802EF27C 002EAEDC  90 7A 00 0C */	stw r3, 0xc(r26)
lbl_802EF280:
/* 802EF280 002EAEE0  80 BA 00 04 */	lwz r5, 4(r26)
/* 802EF284 002EAEE4  38 C0 00 00 */	li r6, 0
/* 802EF288 002EAEE8  38 00 00 03 */	li r0, 3
/* 802EF28C 002EAEEC  48 00 02 08 */	b lbl_802EF494
lbl_802EF290:
/* 802EF290 002EAEF0  A0 65 04 DA */	lhz r3, 0x4da(r5)
/* 802EF294 002EAEF4  2C 03 00 00 */	cmpwi r3, 0
/* 802EF298 002EAEF8  41 82 01 F8 */	beq lbl_802EF490
/* 802EF29C 002EAEFC  38 7A 00 34 */	addi r3, r26, 0x34
/* 802EF2A0 002EAF00  38 85 00 22 */	addi r4, r5, 0x22
/* 802EF2A4 002EAF04  7C 09 03 A6 */	mtctr r0
lbl_802EF2A8:
/* 802EF2A8 002EAF08  A1 03 00 34 */	lhz r8, 0x34(r3)
/* 802EF2AC 002EAF0C  A0 E3 00 36 */	lhz r7, 0x36(r3)
/* 802EF2B0 002EAF10  B1 04 03 64 */	sth r8, 0x364(r4)
/* 802EF2B4 002EAF14  B0 E4 03 66 */	sth r7, 0x366(r4)
/* 802EF2B8 002EAF18  A1 03 00 38 */	lhz r8, 0x38(r3)
/* 802EF2BC 002EAF1C  A0 E3 00 3A */	lhz r7, 0x3a(r3)
/* 802EF2C0 002EAF20  B1 04 03 68 */	sth r8, 0x368(r4)
/* 802EF2C4 002EAF24  B0 E4 03 6A */	sth r7, 0x36a(r4)
/* 802EF2C8 002EAF28  A1 03 00 3C */	lhz r8, 0x3c(r3)
/* 802EF2CC 002EAF2C  A0 E3 00 3E */	lhz r7, 0x3e(r3)
/* 802EF2D0 002EAF30  B1 04 03 6C */	sth r8, 0x36c(r4)
/* 802EF2D4 002EAF34  B0 E4 03 6E */	sth r7, 0x36e(r4)
/* 802EF2D8 002EAF38  A1 03 00 40 */	lhz r8, 0x40(r3)
/* 802EF2DC 002EAF3C  A0 E3 00 42 */	lhz r7, 0x42(r3)
/* 802EF2E0 002EAF40  B1 04 03 70 */	sth r8, 0x370(r4)
/* 802EF2E4 002EAF44  B0 E4 03 72 */	sth r7, 0x372(r4)
/* 802EF2E8 002EAF48  A0 E3 00 44 */	lhz r7, 0x44(r3)
/* 802EF2EC 002EAF4C  B0 E4 03 74 */	sth r7, 0x374(r4)
/* 802EF2F0 002EAF50  A0 E3 00 46 */	lhz r7, 0x46(r3)
/* 802EF2F4 002EAF54  B0 E4 03 76 */	sth r7, 0x376(r4)
/* 802EF2F8 002EAF58  A0 E3 00 48 */	lhz r7, 0x48(r3)
/* 802EF2FC 002EAF5C  B0 E4 03 78 */	sth r7, 0x378(r4)
/* 802EF300 002EAF60  A1 03 00 68 */	lhz r8, 0x68(r3)
/* 802EF304 002EAF64  A0 E3 00 6A */	lhz r7, 0x6a(r3)
/* 802EF308 002EAF68  B1 04 03 7A */	sth r8, 0x37a(r4)
/* 802EF30C 002EAF6C  B0 E4 03 7C */	sth r7, 0x37c(r4)
/* 802EF310 002EAF70  A1 03 00 6C */	lhz r8, 0x6c(r3)
/* 802EF314 002EAF74  A0 E3 00 6E */	lhz r7, 0x6e(r3)
/* 802EF318 002EAF78  B1 04 03 7E */	sth r8, 0x37e(r4)
/* 802EF31C 002EAF7C  B0 E4 03 80 */	sth r7, 0x380(r4)
/* 802EF320 002EAF80  A1 03 00 70 */	lhz r8, 0x70(r3)
/* 802EF324 002EAF84  A0 E3 00 72 */	lhz r7, 0x72(r3)
/* 802EF328 002EAF88  B1 04 03 82 */	sth r8, 0x382(r4)
/* 802EF32C 002EAF8C  B0 E4 03 84 */	sth r7, 0x384(r4)
/* 802EF330 002EAF90  A1 03 00 74 */	lhz r8, 0x74(r3)
/* 802EF334 002EAF94  A0 E3 00 76 */	lhz r7, 0x76(r3)
/* 802EF338 002EAF98  B1 04 03 86 */	sth r8, 0x386(r4)
/* 802EF33C 002EAF9C  B0 E4 03 88 */	sth r7, 0x388(r4)
/* 802EF340 002EAFA0  A0 E3 00 78 */	lhz r7, 0x78(r3)
/* 802EF344 002EAFA4  B0 E4 03 8A */	sth r7, 0x38a(r4)
/* 802EF348 002EAFA8  A0 E3 00 7A */	lhz r7, 0x7a(r3)
/* 802EF34C 002EAFAC  B0 E4 03 8C */	sth r7, 0x38c(r4)
/* 802EF350 002EAFB0  A0 E3 00 7C */	lhz r7, 0x7c(r3)
/* 802EF354 002EAFB4  B0 E4 03 8E */	sth r7, 0x38e(r4)
/* 802EF358 002EAFB8  A1 03 00 9C */	lhz r8, 0x9c(r3)
/* 802EF35C 002EAFBC  A0 E3 00 9E */	lhz r7, 0x9e(r3)
/* 802EF360 002EAFC0  B1 04 03 90 */	sth r8, 0x390(r4)
/* 802EF364 002EAFC4  B0 E4 03 92 */	sth r7, 0x392(r4)
/* 802EF368 002EAFC8  A1 03 00 A0 */	lhz r8, 0xa0(r3)
/* 802EF36C 002EAFCC  A0 E3 00 A2 */	lhz r7, 0xa2(r3)
/* 802EF370 002EAFD0  B1 04 03 94 */	sth r8, 0x394(r4)
/* 802EF374 002EAFD4  B0 E4 03 96 */	sth r7, 0x396(r4)
/* 802EF378 002EAFD8  A1 03 00 A4 */	lhz r8, 0xa4(r3)
/* 802EF37C 002EAFDC  A0 E3 00 A6 */	lhz r7, 0xa6(r3)
/* 802EF380 002EAFE0  B1 04 03 98 */	sth r8, 0x398(r4)
/* 802EF384 002EAFE4  B0 E4 03 9A */	sth r7, 0x39a(r4)
/* 802EF388 002EAFE8  A1 03 00 A8 */	lhz r8, 0xa8(r3)
/* 802EF38C 002EAFEC  A0 E3 00 AA */	lhz r7, 0xaa(r3)
/* 802EF390 002EAFF0  B1 04 03 9C */	sth r8, 0x39c(r4)
/* 802EF394 002EAFF4  B0 E4 03 9E */	sth r7, 0x39e(r4)
/* 802EF398 002EAFF8  A0 E3 00 AC */	lhz r7, 0xac(r3)
/* 802EF39C 002EAFFC  B0 E4 03 A0 */	sth r7, 0x3a0(r4)
/* 802EF3A0 002EB000  A0 E3 00 AE */	lhz r7, 0xae(r3)
/* 802EF3A4 002EB004  B0 E4 03 A2 */	sth r7, 0x3a2(r4)
/* 802EF3A8 002EB008  A0 E3 00 B0 */	lhz r7, 0xb0(r3)
/* 802EF3AC 002EB00C  B0 E4 03 A4 */	sth r7, 0x3a4(r4)
/* 802EF3B0 002EB010  A1 03 00 D0 */	lhz r8, 0xd0(r3)
/* 802EF3B4 002EB014  A0 E3 00 D2 */	lhz r7, 0xd2(r3)
/* 802EF3B8 002EB018  B1 04 03 A6 */	sth r8, 0x3a6(r4)
/* 802EF3BC 002EB01C  B0 E4 03 A8 */	sth r7, 0x3a8(r4)
/* 802EF3C0 002EB020  A1 03 00 D4 */	lhz r8, 0xd4(r3)
/* 802EF3C4 002EB024  A0 E3 00 D6 */	lhz r7, 0xd6(r3)
/* 802EF3C8 002EB028  B1 04 03 AA */	sth r8, 0x3aa(r4)
/* 802EF3CC 002EB02C  B0 E4 03 AC */	sth r7, 0x3ac(r4)
/* 802EF3D0 002EB030  A1 03 00 D8 */	lhz r8, 0xd8(r3)
/* 802EF3D4 002EB034  A0 E3 00 DA */	lhz r7, 0xda(r3)
/* 802EF3D8 002EB038  B1 04 03 AE */	sth r8, 0x3ae(r4)
/* 802EF3DC 002EB03C  B0 E4 03 B0 */	sth r7, 0x3b0(r4)
/* 802EF3E0 002EB040  A1 03 00 DC */	lhz r8, 0xdc(r3)
/* 802EF3E4 002EB044  A0 E3 00 DE */	lhz r7, 0xde(r3)
/* 802EF3E8 002EB048  B1 04 03 B2 */	sth r8, 0x3b2(r4)
/* 802EF3EC 002EB04C  B0 E4 03 B4 */	sth r7, 0x3b4(r4)
/* 802EF3F0 002EB050  A0 E3 00 E0 */	lhz r7, 0xe0(r3)
/* 802EF3F4 002EB054  B0 E4 03 B6 */	sth r7, 0x3b6(r4)
/* 802EF3F8 002EB058  A0 E3 00 E2 */	lhz r7, 0xe2(r3)
/* 802EF3FC 002EB05C  B0 E4 03 B8 */	sth r7, 0x3b8(r4)
/* 802EF400 002EB060  A0 E3 00 E4 */	lhz r7, 0xe4(r3)
/* 802EF404 002EB064  B0 E4 03 BA */	sth r7, 0x3ba(r4)
/* 802EF408 002EB068  A1 03 01 04 */	lhz r8, 0x104(r3)
/* 802EF40C 002EB06C  A0 E3 01 06 */	lhz r7, 0x106(r3)
/* 802EF410 002EB070  B1 04 03 BC */	sth r8, 0x3bc(r4)
/* 802EF414 002EB074  B0 E4 03 BE */	sth r7, 0x3be(r4)
/* 802EF418 002EB078  A1 03 01 08 */	lhz r8, 0x108(r3)
/* 802EF41C 002EB07C  A0 E3 01 0A */	lhz r7, 0x10a(r3)
/* 802EF420 002EB080  B1 04 03 C0 */	sth r8, 0x3c0(r4)
/* 802EF424 002EB084  B0 E4 03 C2 */	sth r7, 0x3c2(r4)
/* 802EF428 002EB088  A1 03 01 0C */	lhz r8, 0x10c(r3)
/* 802EF42C 002EB08C  A0 E3 01 0E */	lhz r7, 0x10e(r3)
/* 802EF430 002EB090  B1 04 03 C4 */	sth r8, 0x3c4(r4)
/* 802EF434 002EB094  B0 E4 03 C6 */	sth r7, 0x3c6(r4)
/* 802EF438 002EB098  A1 03 01 10 */	lhz r8, 0x110(r3)
/* 802EF43C 002EB09C  A0 E3 01 12 */	lhz r7, 0x112(r3)
/* 802EF440 002EB0A0  B1 04 03 C8 */	sth r8, 0x3c8(r4)
/* 802EF444 002EB0A4  B0 E4 03 CA */	sth r7, 0x3ca(r4)
/* 802EF448 002EB0A8  A0 E3 01 14 */	lhz r7, 0x114(r3)
/* 802EF44C 002EB0AC  B0 E4 03 CC */	sth r7, 0x3cc(r4)
/* 802EF450 002EB0B0  A0 E3 01 16 */	lhz r7, 0x116(r3)
/* 802EF454 002EB0B4  B0 E4 03 CE */	sth r7, 0x3ce(r4)
/* 802EF458 002EB0B8  A0 E3 01 18 */	lhz r7, 0x118(r3)
/* 802EF45C 002EB0BC  B0 E4 03 D0 */	sth r7, 0x3d0(r4)
/* 802EF460 002EB0C0  38 63 01 04 */	addi r3, r3, 0x104
/* 802EF464 002EB0C4  38 84 00 6E */	addi r4, r4, 0x6e
/* 802EF468 002EB0C8  42 00 FE 40 */	bdnz lbl_802EF2A8
/* 802EF46C 002EB0CC  A0 65 04 D8 */	lhz r3, 0x4d8(r5)
/* 802EF470 002EB0D0  60 63 00 01 */	ori r3, r3, 1
/* 802EF474 002EB0D4  B0 65 03 6C */	sth r3, 0x36c(r5)
/* 802EF478 002EB0D8  A0 65 04 DA */	lhz r3, 0x4da(r5)
/* 802EF47C 002EB0DC  B0 65 03 6E */	sth r3, 0x36e(r5)
/* 802EF480 002EB0E0  88 65 03 6A */	lbz r3, 0x36a(r5)
/* 802EF484 002EB0E4  38 63 00 01 */	addi r3, r3, 1
/* 802EF488 002EB0E8  98 65 03 6A */	stb r3, 0x36a(r5)
/* 802EF48C 002EB0EC  B0 C5 04 DA */	sth r6, 0x4da(r5)
lbl_802EF490:
/* 802EF490 002EB0F0  80 A5 00 00 */	lwz r5, 0(r5)
lbl_802EF494:
/* 802EF494 002EB0F4  2C 05 00 00 */	cmpwi r5, 0
/* 802EF498 002EB0F8  40 82 FD F8 */	bne lbl_802EF290
/* 802EF49C 002EB0FC  80 1A 00 10 */	lwz r0, 0x10(r26)
/* 802EF4A0 002EB100  2C 00 00 00 */	cmpwi r0, 0
/* 802EF4A4 002EB104  40 82 00 14 */	bne lbl_802EF4B8
/* 802EF4A8 002EB108  7F 43 D3 78 */	mr r3, r26
/* 802EF4AC 002EB10C  4B FF FA F5 */	bl WDPi_SwitchActiveSession
/* 802EF4B0 002EB110  2C 03 00 00 */	cmpwi r3, 0
/* 802EF4B4 002EB114  41 82 02 84 */	beq lbl_802EF738
lbl_802EF4B8:
/* 802EF4B8 002EB118  83 FA 00 10 */	lwz r31, 0x10(r26)
/* 802EF4BC 002EB11C  3C 60 53 98 */	lis r3, 0x5397829D@ha
/* 802EF4C0 002EB120  38 00 02 20 */	li r0, 0x220
/* 802EF4C4 002EB124  88 BA 00 16 */	lbz r5, 0x16(r26)
/* 802EF4C8 002EB128  88 9F 03 68 */	lbz r4, 0x368(r31)
/* 802EF4CC 002EB12C  38 63 82 9D */	addi r3, r3, 0x5397829D@l
/* 802EF4D0 002EB130  3B DB 00 50 */	addi r30, r27, 0x50
/* 802EF4D4 002EB134  3B BF 00 0C */	addi r29, r31, 0xc
/* 802EF4D8 002EB138  54 84 07 BE */	clrlwi r4, r4, 0x1e
/* 802EF4DC 002EB13C  7C 84 00 34 */	cntlzw r4, r4
/* 802EF4E0 002EB140  54 84 DF FE */	rlwinm r4, r4, 0x1b, 0x1f, 0x1f
/* 802EF4E4 002EB144  7C 84 00 D0 */	neg r4, r4
/* 802EF4E8 002EB148  7C 04 20 78 */	andc r4, r0, r4
/* 802EF4EC 002EB14C  20 C4 03 58 */	subfic r6, r4, 0x358
/* 802EF4F0 002EB150  38 06 00 61 */	addi r0, r6, 0x61
/* 802EF4F4 002EB154  7C 03 00 16 */	mulhwu r0, r3, r0
/* 802EF4F8 002EB158  54 18 D9 7E */	srwi r24, r0, 5
/* 802EF4FC 002EB15C  7F 00 2A 78 */	xor r0, r24, r5
/* 802EF500 002EB160  7C 00 00 34 */	cntlzw r0, r0
/* 802EF504 002EB164  7F 00 00 30 */	slw r0, r24, r0
/* 802EF508 002EB168  54 1C 0F FF */	rlwinm. r28, r0, 1, 0x1f, 0x1f
/* 802EF50C 002EB16C  41 82 00 5C */	beq lbl_802EF568
/* 802EF510 002EB170  1C E5 00 62 */	mulli r7, r5, 0x62
/* 802EF514 002EB174  7C 7F 22 14 */	add r3, r31, r4
/* 802EF518 002EB178  38 9E 00 0E */	addi r4, r30, 0xe
/* 802EF51C 002EB17C  38 63 00 0C */	addi r3, r3, 0xc
/* 802EF520 002EB180  7C 07 30 50 */	subf r0, r7, r6
/* 802EF524 002EB184  3B 20 00 62 */	li r25, 0x62
/* 802EF528 002EB188  28 00 00 62 */	cmplwi r0, 0x62
/* 802EF52C 002EB18C  40 80 00 08 */	bge lbl_802EF534
/* 802EF530 002EB190  7C 19 03 78 */	mr r25, r0
lbl_802EF534:
/* 802EF534 002EB194  7F 25 CB 78 */	mr r5, r25
/* 802EF538 002EB198  7C 63 3A 14 */	add r3, r3, r7
/* 802EF53C 002EB19C  48 00 4A D1 */	bl MI_CpuCopy8
/* 802EF540 002EB1A0  7C 7E CA 14 */	add r3, r30, r25
/* 802EF544 002EB1A4  20 B9 00 62 */	subfic r5, r25, 0x62
/* 802EF548 002EB1A8  38 63 00 0E */	addi r3, r3, 0xe
/* 802EF54C 002EB1AC  38 80 00 00 */	li r4, 0
/* 802EF550 002EB1B0  48 00 4A B9 */	bl MI_CpuFill8
/* 802EF554 002EB1B4  9B 3E 00 0C */	stb r25, 0xc(r30)
/* 802EF558 002EB1B8  88 1A 00 16 */	lbz r0, 0x16(r26)
/* 802EF55C 002EB1BC  98 1E 00 0A */	stb r0, 0xa(r30)
/* 802EF560 002EB1C0  9B 1E 00 0B */	stb r24, 0xb(r30)
/* 802EF564 002EB1C4  48 00 01 38 */	b lbl_802EF69C
lbl_802EF568:
/* 802EF568 002EB1C8  88 7D 03 5E */	lbz r3, 0x35e(r29)
/* 802EF56C 002EB1CC  88 1A 00 17 */	lbz r0, 0x17(r26)
/* 802EF570 002EB1D0  7C 00 18 40 */	cmplw r0, r3
/* 802EF574 002EB1D4  41 82 00 10 */	beq lbl_802EF584
/* 802EF578 002EB1D8  38 00 00 01 */	li r0, 1
/* 802EF57C 002EB1DC  98 7A 00 17 */	stb r3, 0x17(r26)
/* 802EF580 002EB1E0  B0 1A 00 14 */	sth r0, 0x14(r26)
lbl_802EF584:
/* 802EF584 002EB1E4  A0 7F 03 6C */	lhz r3, 0x36c(r31)
/* 802EF588 002EB1E8  4B FF F4 05 */	bl MATH_CountPopulation
/* 802EF58C 002EB1EC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 802EF590 002EB1F0  98 7E 00 0A */	stb r3, 0xa(r30)
/* 802EF594 002EB1F4  7C 00 46 70 */	srawi r0, r0, 8
/* 802EF598 002EB1F8  98 1E 00 0B */	stb r0, 0xb(r30)
/* 802EF59C 002EB1FC  A0 7D 03 60 */	lhz r3, 0x360(r29)
/* 802EF5A0 002EB200  7C 60 46 70 */	srawi r0, r3, 8
/* 802EF5A4 002EB204  98 7E 00 0C */	stb r3, 0xc(r30)
/* 802EF5A8 002EB208  98 1E 00 0D */	stb r0, 0xd(r30)
/* 802EF5AC 002EB20C  A0 7D 03 62 */	lhz r3, 0x362(r29)
/* 802EF5B0 002EB210  7C 60 46 70 */	srawi r0, r3, 8
/* 802EF5B4 002EB214  98 7E 00 0E */	stb r3, 0xe(r30)
/* 802EF5B8 002EB218  98 1E 00 0F */	stb r0, 0xf(r30)
/* 802EF5BC 002EB21C  81 9A 00 00 */	lwz r12, 0(r26)
/* 802EF5C0 002EB220  2C 0C 00 00 */	cmpwi r12, 0
/* 802EF5C4 002EB224  41 82 00 18 */	beq lbl_802EF5DC
/* 802EF5C8 002EB228  7F 43 D3 78 */	mr r3, r26
/* 802EF5CC 002EB22C  7F E5 FB 78 */	mr r5, r31
/* 802EF5D0 002EB230  38 80 00 02 */	li r4, 2
/* 802EF5D4 002EB234  7D 89 03 A6 */	mtctr r12
/* 802EF5D8 002EB238  4E 80 04 21 */	bctrl
lbl_802EF5DC:
/* 802EF5DC 002EB23C  38 7D 04 C4 */	addi r3, r29, 0x4c4
/* 802EF5E0 002EB240  38 9E 00 68 */	addi r4, r30, 0x68
/* 802EF5E4 002EB244  38 A0 00 08 */	li r5, 8
/* 802EF5E8 002EB248  48 00 4A 25 */	bl MI_CpuCopy8
/* 802EF5EC 002EB24C  81 9A 00 00 */	lwz r12, 0(r26)
/* 802EF5F0 002EB250  2C 0C 00 00 */	cmpwi r12, 0
/* 802EF5F4 002EB254  41 82 00 18 */	beq lbl_802EF60C
/* 802EF5F8 002EB258  7F 43 D3 78 */	mr r3, r26
/* 802EF5FC 002EB25C  7F E5 FB 78 */	mr r5, r31
/* 802EF600 002EB260  38 80 00 03 */	li r4, 3
/* 802EF604 002EB264  7D 89 03 A6 */	mtctr r12
/* 802EF608 002EB268  4E 80 04 21 */	bctrl
lbl_802EF60C:
/* 802EF60C 002EB26C  A0 7A 00 14 */	lhz r3, 0x14(r26)
/* 802EF610 002EB270  3B FE 00 10 */	addi r31, r30, 0x10
/* 802EF614 002EB274  A0 1D 03 60 */	lhz r0, 0x360(r29)
/* 802EF618 002EB278  3B 60 00 00 */	li r27, 0
/* 802EF61C 002EB27C  3B 20 00 01 */	li r25, 1
/* 802EF620 002EB280  7C 60 02 78 */	xor r0, r3, r0
/* 802EF624 002EB284  54 17 00 3C */	rlwinm r23, r0, 0, 0, 0x1e
/* 802EF628 002EB288  48 00 00 48 */	b lbl_802EF670
lbl_802EF62C:
/* 802EF62C 002EB28C  38 17 FF FF */	addi r0, r23, -1
/* 802EF630 002EB290  7F E4 FB 78 */	mr r4, r31
/* 802EF634 002EB294  7C 00 B8 78 */	andc r0, r0, r23
/* 802EF638 002EB298  38 A0 00 16 */	li r5, 0x16
/* 802EF63C 002EB29C  7C 00 00 34 */	cntlzw r0, r0
/* 802EF640 002EB2A0  23 00 00 20 */	subfic r24, r0, 0x20
/* 802EF644 002EB2A4  1C 18 00 16 */	mulli r0, r24, 0x16
/* 802EF648 002EB2A8  7C 7D 02 14 */	add r3, r29, r0
/* 802EF64C 002EB2AC  38 63 03 64 */	addi r3, r3, 0x364
/* 802EF650 002EB2B0  48 00 49 BD */	bl MI_CpuCopy8
/* 802EF654 002EB2B4  A0 1A 00 14 */	lhz r0, 0x14(r26)
/* 802EF658 002EB2B8  7F 23 C0 30 */	slw r3, r25, r24
/* 802EF65C 002EB2BC  7E F7 18 78 */	andc r23, r23, r3
/* 802EF660 002EB2C0  3B FF 00 16 */	addi r31, r31, 0x16
/* 802EF664 002EB2C4  7C 00 1B 78 */	or r0, r0, r3
/* 802EF668 002EB2C8  3B 7B 00 01 */	addi r27, r27, 1
/* 802EF66C 002EB2CC  B0 1A 00 14 */	sth r0, 0x14(r26)
lbl_802EF670:
/* 802EF670 002EB2D0  2C 1B 00 04 */	cmpwi r27, 4
/* 802EF674 002EB2D4  40 80 00 0C */	bge lbl_802EF680
/* 802EF678 002EB2D8  2C 17 00 00 */	cmpwi r23, 0
/* 802EF67C 002EB2DC  40 82 FF B0 */	bne lbl_802EF62C
lbl_802EF680:
/* 802EF680 002EB2E0  1C 7B 00 16 */	mulli r3, r27, 0x16
/* 802EF684 002EB2E4  20 1B 00 04 */	subfic r0, r27, 4
/* 802EF688 002EB2E8  38 80 00 00 */	li r4, 0
/* 802EF68C 002EB2EC  7C 7E 1A 14 */	add r3, r30, r3
/* 802EF690 002EB2F0  1C A0 00 16 */	mulli r5, r0, 0x16
/* 802EF694 002EB2F4  38 63 00 10 */	addi r3, r3, 0x10
/* 802EF698 002EB2F8  48 00 49 71 */	bl MI_CpuFill8
lbl_802EF69C:
/* 802EF69C 002EB2FC  88 7D 03 58 */	lbz r3, 0x358(r29)
/* 802EF6A0 002EB300  2C 1C 00 00 */	cmpwi r28, 0
/* 802EF6A4 002EB304  88 1D 03 59 */	lbz r0, 0x359(r29)
/* 802EF6A8 002EB308  98 7E 00 00 */	stb r3, 0(r30)
/* 802EF6AC 002EB30C  98 1E 00 01 */	stb r0, 1(r30)
/* 802EF6B0 002EB310  88 7D 03 5A */	lbz r3, 0x35a(r29)
/* 802EF6B4 002EB314  88 1D 03 5B */	lbz r0, 0x35b(r29)
/* 802EF6B8 002EB318  98 7E 00 02 */	stb r3, 2(r30)
/* 802EF6BC 002EB31C  98 1E 00 03 */	stb r0, 3(r30)
/* 802EF6C0 002EB320  88 9D 03 5C */	lbz r4, 0x35c(r29)
/* 802EF6C4 002EB324  88 1D 03 5D */	lbz r0, 0x35d(r29)
/* 802EF6C8 002EB328  98 9E 00 04 */	stb r4, 4(r30)
/* 802EF6CC 002EB32C  98 1E 00 05 */	stb r0, 5(r30)
/* 802EF6D0 002EB330  88 7D 03 5E */	lbz r3, 0x35e(r29)
/* 802EF6D4 002EB334  88 1D 03 5F */	lbz r0, 0x35f(r29)
/* 802EF6D8 002EB338  98 7E 00 06 */	stb r3, 6(r30)
/* 802EF6DC 002EB33C  98 1E 00 07 */	stb r0, 7(r30)
/* 802EF6E0 002EB340  40 82 00 10 */	bne lbl_802EF6F0
/* 802EF6E4 002EB344  38 00 00 02 */	li r0, 2
/* 802EF6E8 002EB348  50 04 07 BE */	rlwimi r4, r0, 0, 0x1e, 0x1f
/* 802EF6EC 002EB34C  98 9E 00 04 */	stb r4, 4(r30)
lbl_802EF6F0:
/* 802EF6F0 002EB350  88 9A 00 16 */	lbz r4, 0x16(r26)
/* 802EF6F4 002EB354  38 7E 00 0A */	addi r3, r30, 0xa
/* 802EF6F8 002EB358  98 9E 00 07 */	stb r4, 7(r30)
/* 802EF6FC 002EB35C  38 04 00 01 */	addi r0, r4, 1
/* 802EF700 002EB360  98 1A 00 16 */	stb r0, 0x16(r26)
/* 802EF704 002EB364  4B FF F2 E1 */	bl WDPi_GetBeaconCheckSum
/* 802EF708 002EB368  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 802EF70C 002EB36C  2C 1C 00 00 */	cmpwi r28, 0
/* 802EF710 002EB370  98 7E 00 08 */	stb r3, 8(r30)
/* 802EF714 002EB374  98 1E 00 09 */	stb r0, 9(r30)
/* 802EF718 002EB378  40 82 00 1C */	bne lbl_802EF734
/* 802EF71C 002EB37C  A0 7A 00 14 */	lhz r3, 0x14(r26)
/* 802EF720 002EB380  A0 1D 03 60 */	lhz r0, 0x360(r29)
/* 802EF724 002EB384  7C 03 00 40 */	cmplw r3, r0
/* 802EF728 002EB388  40 82 00 0C */	bne lbl_802EF734
/* 802EF72C 002EB38C  7F 43 D3 78 */	mr r3, r26
/* 802EF730 002EB390  4B FF F8 71 */	bl WDPi_SwitchActiveSession
lbl_802EF734:
/* 802EF734 002EB394  3B E0 00 70 */	li r31, 0x70
lbl_802EF738:
/* 802EF738 002EB398  80 1A 00 08 */	lwz r0, 8(r26)
/* 802EF73C 002EB39C  34 00 FF FF */	addic. r0, r0, -1
/* 802EF740 002EB3A0  90 1A 00 08 */	stw r0, 8(r26)
/* 802EF744 002EB3A4  40 82 00 0C */	bne lbl_802EF750
/* 802EF748 002EB3A8  80 7A 00 0C */	lwz r3, 0xc(r26)
/* 802EF74C 002EB3AC  4B F7 F0 39 */	bl OSRestoreInterrupts
lbl_802EF750:
/* 802EF750 002EB3B0  39 61 00 30 */	addi r11, r1, 0x30
/* 802EF754 002EB3B4  7F E3 FB 78 */	mr r3, r31
/* 802EF758 002EB3B8  4B ED 7A 0D */	bl _restgpr_23
/* 802EF75C 002EB3BC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802EF760 002EB3C0  7C 08 03 A6 */	mtlr r0
/* 802EF764 002EB3C4  38 21 00 30 */	addi r1, r1, 0x30
/* 802EF768 002EB3C8  4E 80 00 20 */	blr

.global WDP_CallParentConnectedHook
WDP_CallParentConnectedHook:
/* 802EF76C 002EB3CC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EF770 002EB3D0  7C 08 02 A6 */	mflr r0
/* 802EF774 002EB3D4  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EF778 002EB3D8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802EF77C 002EB3DC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802EF780 002EB3E0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802EF784 002EB3E4  7C 9D 23 78 */	mr r29, r4
/* 802EF788 002EB3E8  93 81 00 10 */	stw r28, 0x10(r1)
/* 802EF78C 002EB3EC  7C 7C 1B 78 */	mr r28, r3
/* 802EF790 002EB3F0  4B F7 EF CD */	bl OSDisableInterrupts
/* 802EF794 002EB3F4  80 9C 00 08 */	lwz r4, 8(r28)
/* 802EF798 002EB3F8  38 04 00 01 */	addi r0, r4, 1
/* 802EF79C 002EB3FC  2C 00 00 01 */	cmpwi r0, 1
/* 802EF7A0 002EB400  90 1C 00 08 */	stw r0, 8(r28)
/* 802EF7A4 002EB404  40 82 00 08 */	bne lbl_802EF7AC
/* 802EF7A8 002EB408  90 7C 00 0C */	stw r3, 0xc(r28)
lbl_802EF7AC:
/* 802EF7AC 002EB40C  1C 1D 00 34 */	mulli r0, r29, 0x34
/* 802EF7B0 002EB410  7F 83 E3 78 */	mr r3, r28
/* 802EF7B4 002EB414  7F A4 EB 78 */	mr r4, r29
/* 802EF7B8 002EB418  38 A0 00 00 */	li r5, 0
/* 802EF7BC 002EB41C  7F DC 02 14 */	add r30, r28, r0
/* 802EF7C0 002EB420  4B FF F8 45 */	bl WDPi_UpdateStatus
/* 802EF7C4 002EB424  3B E0 00 00 */	li r31, 0
/* 802EF7C8 002EB428  38 7E 00 30 */	addi r3, r30, 0x30
/* 802EF7CC 002EB42C  93 FE 00 2C */	stw r31, 0x2c(r30)
/* 802EF7D0 002EB430  38 80 00 00 */	li r4, 0
/* 802EF7D4 002EB434  38 A0 00 20 */	li r5, 0x20
/* 802EF7D8 002EB438  48 00 48 31 */	bl MI_CpuFill8
/* 802EF7DC 002EB43C  38 7E 00 50 */	addi r3, r30, 0x50
/* 802EF7E0 002EB440  38 80 00 00 */	li r4, 0
/* 802EF7E4 002EB444  38 A0 00 04 */	li r5, 4
/* 802EF7E8 002EB448  48 00 48 21 */	bl MI_CpuFill8
/* 802EF7EC 002EB44C  93 FE 00 54 */	stw r31, 0x54(r30)
/* 802EF7F0 002EB450  38 00 00 01 */	li r0, 1
/* 802EF7F4 002EB454  7C 00 E8 30 */	slw r0, r0, r29
/* 802EF7F8 002EB458  7F 83 E3 78 */	mr r3, r28
/* 802EF7FC 002EB45C  93 FE 00 58 */	stw r31, 0x58(r30)
/* 802EF800 002EB460  7F A4 EB 78 */	mr r4, r29
/* 802EF804 002EB464  38 A0 00 01 */	li r5, 1
/* 802EF808 002EB468  80 DC 00 20 */	lwz r6, 0x20(r28)
/* 802EF80C 002EB46C  7C C0 03 78 */	or r0, r6, r0
/* 802EF810 002EB470  90 1C 00 20 */	stw r0, 0x20(r28)
/* 802EF814 002EB474  4B FF F7 F1 */	bl WDPi_UpdateStatus
/* 802EF818 002EB478  80 1C 00 08 */	lwz r0, 8(r28)
/* 802EF81C 002EB47C  34 00 FF FF */	addic. r0, r0, -1
/* 802EF820 002EB480  90 1C 00 08 */	stw r0, 8(r28)
/* 802EF824 002EB484  40 82 00 0C */	bne lbl_802EF830
/* 802EF828 002EB488  80 7C 00 0C */	lwz r3, 0xc(r28)
/* 802EF82C 002EB48C  4B F7 EF 59 */	bl OSRestoreInterrupts
lbl_802EF830:
/* 802EF830 002EB490  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EF834 002EB494  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802EF838 002EB498  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802EF83C 002EB49C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802EF840 002EB4A0  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802EF844 002EB4A4  7C 08 03 A6 */	mtlr r0
/* 802EF848 002EB4A8  38 21 00 20 */	addi r1, r1, 0x20
/* 802EF84C 002EB4AC  4E 80 00 20 */	blr

.global WDP_CallParentDisconnectedHook
WDP_CallParentDisconnectedHook:
/* 802EF850 002EB4B0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802EF854 002EB4B4  7C 08 02 A6 */	mflr r0
/* 802EF858 002EB4B8  90 01 00 24 */	stw r0, 0x24(r1)
/* 802EF85C 002EB4BC  39 61 00 20 */	addi r11, r1, 0x20
/* 802EF860 002EB4C0  4B ED 78 C5 */	bl _savegpr_26
/* 802EF864 002EB4C4  1F C4 00 34 */	mulli r30, r4, 0x34
/* 802EF868 002EB4C8  38 00 00 01 */	li r0, 1
/* 802EF86C 002EB4CC  7C 7B 1B 78 */	mr r27, r3
/* 802EF870 002EB4D0  7C 9C 23 78 */	mr r28, r4
/* 802EF874 002EB4D4  7C 1D 20 30 */	slw r29, r0, r4
/* 802EF878 002EB4D8  7F E3 F2 14 */	add r31, r3, r30
/* 802EF87C 002EB4DC  4B F7 EE E1 */	bl OSDisableInterrupts
/* 802EF880 002EB4E0  80 9B 00 08 */	lwz r4, 8(r27)
/* 802EF884 002EB4E4  38 04 00 01 */	addi r0, r4, 1
/* 802EF888 002EB4E8  2C 00 00 01 */	cmpwi r0, 1
/* 802EF88C 002EB4EC  90 1B 00 08 */	stw r0, 8(r27)
/* 802EF890 002EB4F0  40 82 00 08 */	bne lbl_802EF898
/* 802EF894 002EB4F4  90 7B 00 0C */	stw r3, 0xc(r27)
lbl_802EF898:
/* 802EF898 002EB4F8  A0 9B 03 6C */	lhz r4, 0x36c(r27)
/* 802EF89C 002EB4FC  7F BA E8 F8 */	nor r26, r29, r29
/* 802EF8A0 002EB500  A0 1B 03 70 */	lhz r0, 0x370(r27)
/* 802EF8A4 002EB504  38 7F 00 34 */	addi r3, r31, 0x34
/* 802EF8A8 002EB508  7C 85 D0 38 */	and r5, r4, r26
/* 802EF8AC 002EB50C  38 80 00 00 */	li r4, 0
/* 802EF8B0 002EB510  7C 00 D0 38 */	and r0, r0, r26
/* 802EF8B4 002EB514  B0 BB 03 6C */	sth r5, 0x36c(r27)
/* 802EF8B8 002EB518  38 A0 00 16 */	li r5, 0x16
/* 802EF8BC 002EB51C  B0 1B 03 70 */	sth r0, 0x370(r27)
/* 802EF8C0 002EB520  48 00 47 49 */	bl MI_CpuFill8
/* 802EF8C4 002EB524  80 7F 00 2C */	lwz r3, 0x2c(r31)
/* 802EF8C8 002EB528  2C 03 00 00 */	cmpwi r3, 0
/* 802EF8CC 002EB52C  41 82 00 34 */	beq lbl_802EF900
/* 802EF8D0 002EB530  A0 03 04 D8 */	lhz r0, 0x4d8(r3)
/* 802EF8D4 002EB534  7C 00 D0 38 */	and r0, r0, r26
/* 802EF8D8 002EB538  B0 03 04 D8 */	sth r0, 0x4d8(r3)
/* 802EF8DC 002EB53C  A0 03 05 D2 */	lhz r0, 0x5d2(r3)
/* 802EF8E0 002EB540  7C 00 D0 38 */	and r0, r0, r26
/* 802EF8E4 002EB544  B0 03 05 D2 */	sth r0, 0x5d2(r3)
/* 802EF8E8 002EB548  A0 03 05 D0 */	lhz r0, 0x5d0(r3)
/* 802EF8EC 002EB54C  7C 00 D0 38 */	and r0, r0, r26
/* 802EF8F0 002EB550  B0 03 05 D0 */	sth r0, 0x5d0(r3)
/* 802EF8F4 002EB554  A0 03 04 DA */	lhz r0, 0x4da(r3)
/* 802EF8F8 002EB558  7C 00 EB 78 */	or r0, r0, r29
/* 802EF8FC 002EB55C  B0 03 04 DA */	sth r0, 0x4da(r3)
lbl_802EF900:
/* 802EF900 002EB560  7C 7B F2 14 */	add r3, r27, r30
/* 802EF904 002EB564  80 03 00 28 */	lwz r0, 0x28(r3)
/* 802EF908 002EB568  2C 00 00 06 */	cmpwi r0, 6
/* 802EF90C 002EB56C  40 82 00 24 */	bne lbl_802EF930
/* 802EF910 002EB570  81 9B 00 00 */	lwz r12, 0(r27)
/* 802EF914 002EB574  2C 0C 00 00 */	cmpwi r12, 0
/* 802EF918 002EB578  41 82 00 18 */	beq lbl_802EF930
/* 802EF91C 002EB57C  7F 63 DB 78 */	mr r3, r27
/* 802EF920 002EB580  7F 85 E3 78 */	mr r5, r28
/* 802EF924 002EB584  38 80 00 08 */	li r4, 8
/* 802EF928 002EB588  7D 89 03 A6 */	mtctr r12
/* 802EF92C 002EB58C  4E 80 04 21 */	bctrl
lbl_802EF930:
/* 802EF930 002EB590  7F 63 DB 78 */	mr r3, r27
/* 802EF934 002EB594  7F 84 E3 78 */	mr r4, r28
/* 802EF938 002EB598  38 A0 00 00 */	li r5, 0
/* 802EF93C 002EB59C  4B FF F6 C9 */	bl WDPi_UpdateStatus
/* 802EF940 002EB5A0  3B 80 00 00 */	li r28, 0
/* 802EF944 002EB5A4  38 7F 00 30 */	addi r3, r31, 0x30
/* 802EF948 002EB5A8  93 9F 00 2C */	stw r28, 0x2c(r31)
/* 802EF94C 002EB5AC  38 80 00 00 */	li r4, 0
/* 802EF950 002EB5B0  38 A0 00 20 */	li r5, 0x20
/* 802EF954 002EB5B4  48 00 46 B5 */	bl MI_CpuFill8
/* 802EF958 002EB5B8  38 7F 00 50 */	addi r3, r31, 0x50
/* 802EF95C 002EB5BC  38 80 00 00 */	li r4, 0
/* 802EF960 002EB5C0  38 A0 00 04 */	li r5, 4
/* 802EF964 002EB5C4  48 00 46 A5 */	bl MI_CpuFill8
/* 802EF968 002EB5C8  93 9F 00 54 */	stw r28, 0x54(r31)
/* 802EF96C 002EB5CC  93 9F 00 58 */	stw r28, 0x58(r31)
/* 802EF970 002EB5D0  80 1B 00 08 */	lwz r0, 8(r27)
/* 802EF974 002EB5D4  34 00 FF FF */	addic. r0, r0, -1
/* 802EF978 002EB5D8  90 1B 00 08 */	stw r0, 8(r27)
/* 802EF97C 002EB5DC  40 82 00 0C */	bne lbl_802EF988
/* 802EF980 002EB5E0  80 7B 00 0C */	lwz r3, 0xc(r27)
/* 802EF984 002EB5E4  4B F7 EE 01 */	bl OSRestoreInterrupts
lbl_802EF988:
/* 802EF988 002EB5E8  39 61 00 20 */	addi r11, r1, 0x20
/* 802EF98C 002EB5EC  4B ED 77 E5 */	bl _restgpr_26
/* 802EF990 002EB5F0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802EF994 002EB5F4  7C 08 03 A6 */	mtlr r0
/* 802EF998 002EB5F8  38 21 00 20 */	addi r1, r1, 0x20
/* 802EF99C 002EB5FC  4E 80 00 20 */	blr

.global WDP_CallParentSendHook
WDP_CallParentSendHook:
/* 802EF9A0 002EB600  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802EF9A4 002EB604  7C 08 02 A6 */	mflr r0
/* 802EF9A8 002EB608  90 01 00 34 */	stw r0, 0x34(r1)
/* 802EF9AC 002EB60C  39 61 00 30 */	addi r11, r1, 0x30
/* 802EF9B0 002EB610  4B ED 77 79 */	bl _savegpr_27
/* 802EF9B4 002EB614  83 E4 00 00 */	lwz r31, 0(r4)
/* 802EF9B8 002EB618  7C 7C 1B 78 */	mr r28, r3
/* 802EF9BC 002EB61C  7C 9D 23 78 */	mr r29, r4
/* 802EF9C0 002EB620  4B F7 ED 9D */	bl OSDisableInterrupts
/* 802EF9C4 002EB624  80 9C 00 08 */	lwz r4, 8(r28)
/* 802EF9C8 002EB628  38 04 00 01 */	addi r0, r4, 1
/* 802EF9CC 002EB62C  2C 00 00 01 */	cmpwi r0, 1
/* 802EF9D0 002EB630  90 1C 00 08 */	stw r0, 8(r28)
/* 802EF9D4 002EB634  40 82 00 08 */	bne lbl_802EF9DC
/* 802EF9D8 002EB638  90 7C 00 0C */	stw r3, 0xc(r28)
lbl_802EF9DC:
/* 802EF9DC 002EB63C  38 00 00 00 */	li r0, 0
/* 802EF9E0 002EB640  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 802EF9E4 002EB644  98 1F 00 00 */	stb r0, 0(r31)
/* 802EF9E8 002EB648  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 802EF9EC 002EB64C  38 60 00 01 */	li r3, 1
/* 802EF9F0 002EB650  B0 7D 00 04 */	sth r3, 4(r29)
/* 802EF9F4 002EB654  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EF9F8 002EB658  A0 1C 03 6E */	lhz r0, 0x36e(r28)
/* 802EF9FC 002EB65C  2C 00 00 00 */	cmpwi r0, 0
/* 802EFA00 002EB660  41 82 00 18 */	beq lbl_802EFA18
/* 802EFA04 002EB664  38 00 00 05 */	li r0, 5
/* 802EFA08 002EB668  98 1F 00 00 */	stb r0, 0(r31)
/* 802EFA0C 002EB66C  A0 1C 03 6E */	lhz r0, 0x36e(r28)
/* 802EFA10 002EB670  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EFA14 002EB674  48 00 02 58 */	b lbl_802EFC6C
lbl_802EFA18:
/* 802EFA18 002EB678  A0 1C 03 68 */	lhz r0, 0x368(r28)
/* 802EFA1C 002EB67C  2C 00 00 00 */	cmpwi r0, 0
/* 802EFA20 002EB680  41 82 00 14 */	beq lbl_802EFA34
/* 802EFA24 002EB684  98 7F 00 00 */	stb r3, 0(r31)
/* 802EFA28 002EB688  A0 1C 03 68 */	lhz r0, 0x368(r28)
/* 802EFA2C 002EB68C  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EFA30 002EB690  48 00 02 3C */	b lbl_802EFC6C
lbl_802EFA34:
/* 802EFA34 002EB694  A0 1C 03 70 */	lhz r0, 0x370(r28)
/* 802EFA38 002EB698  2C 00 00 00 */	cmpwi r0, 0
/* 802EFA3C 002EB69C  41 82 00 18 */	beq lbl_802EFA54
/* 802EFA40 002EB6A0  38 00 00 06 */	li r0, 6
/* 802EFA44 002EB6A4  98 1F 00 00 */	stb r0, 0(r31)
/* 802EFA48 002EB6A8  A0 1C 03 70 */	lhz r0, 0x370(r28)
/* 802EFA4C 002EB6AC  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EFA50 002EB6B0  48 00 02 1C */	b lbl_802EFC6C
lbl_802EFA54:
/* 802EFA54 002EB6B4  A0 1C 03 6C */	lhz r0, 0x36c(r28)
/* 802EFA58 002EB6B8  2C 00 00 00 */	cmpwi r0, 0
/* 802EFA5C 002EB6BC  41 82 00 18 */	beq lbl_802EFA74
/* 802EFA60 002EB6C0  38 00 00 02 */	li r0, 2
/* 802EFA64 002EB6C4  98 1F 00 00 */	stb r0, 0(r31)
/* 802EFA68 002EB6C8  A0 1C 03 6C */	lhz r0, 0x36c(r28)
/* 802EFA6C 002EB6CC  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EFA70 002EB6D0  48 00 01 FC */	b lbl_802EFC6C
lbl_802EFA74:
/* 802EFA74 002EB6D4  A0 BC 03 6A */	lhz r5, 0x36a(r28)
/* 802EFA78 002EB6D8  2C 05 00 00 */	cmpwi r5, 0
/* 802EFA7C 002EB6DC  41 82 00 C0 */	beq lbl_802EFB3C
/* 802EFA80 002EB6E0  83 DC 00 18 */	lwz r30, 0x18(r28)
/* 802EFA84 002EB6E4  2C 1E 00 00 */	cmpwi r30, 0
/* 802EFA88 002EB6E8  41 82 00 08 */	beq lbl_802EFA90
/* 802EFA8C 002EB6EC  48 00 00 08 */	b lbl_802EFA94
lbl_802EFA90:
/* 802EFA90 002EB6F0  83 DC 00 04 */	lwz r30, 4(r28)
lbl_802EFA94:
/* 802EFA94 002EB6F4  38 00 00 0F */	li r0, 0xf
/* 802EFA98 002EB6F8  38 9C 00 5C */	addi r4, r28, 0x5c
/* 802EFA9C 002EB6FC  38 E0 00 00 */	li r7, 0
/* 802EFAA0 002EB700  38 C0 00 01 */	li r6, 1
/* 802EFAA4 002EB704  38 60 00 01 */	li r3, 1
/* 802EFAA8 002EB708  7C 09 03 A6 */	mtctr r0
lbl_802EFAAC:
/* 802EFAAC 002EB70C  7C 60 30 30 */	slw r0, r3, r6
/* 802EFAB0 002EB710  7C A0 00 39 */	and. r0, r5, r0
/* 802EFAB4 002EB714  41 82 00 14 */	beq lbl_802EFAC8
/* 802EFAB8 002EB718  88 04 00 24 */	lbz r0, 0x24(r4)
/* 802EFABC 002EB71C  38 60 00 01 */	li r3, 1
/* 802EFAC0 002EB720  7C 67 00 30 */	slw r7, r3, r0
/* 802EFAC4 002EB724  48 00 00 10 */	b lbl_802EFAD4
lbl_802EFAC8:
/* 802EFAC8 002EB728  38 84 00 34 */	addi r4, r4, 0x34
/* 802EFACC 002EB72C  38 C6 00 01 */	addi r6, r6, 1
/* 802EFAD0 002EB730  42 00 FF DC */	bdnz lbl_802EFAAC
lbl_802EFAD4:
/* 802EFAD4 002EB734  2C 1E 00 00 */	cmpwi r30, 0
/* 802EFAD8 002EB738  41 82 01 94 */	beq lbl_802EFC6C
/* 802EFADC 002EB73C  38 60 00 01 */	li r3, 1
lbl_802EFAE0:
/* 802EFAE0 002EB740  83 DE 00 00 */	lwz r30, 0(r30)
/* 802EFAE4 002EB744  2C 1E 00 00 */	cmpwi r30, 0
/* 802EFAE8 002EB748  41 82 00 08 */	beq lbl_802EFAF0
/* 802EFAEC 002EB74C  48 00 00 08 */	b lbl_802EFAF4
lbl_802EFAF0:
/* 802EFAF0 002EB750  83 DC 00 04 */	lwz r30, 4(r28)
lbl_802EFAF4:
/* 802EFAF4 002EB754  88 1E 03 68 */	lbz r0, 0x368(r30)
/* 802EFAF8 002EB758  54 00 F6 BE */	rlwinm r0, r0, 0x1e, 0x1a, 0x1f
/* 802EFAFC 002EB75C  7C 60 00 30 */	slw r0, r3, r0
/* 802EFB00 002EB760  7C E0 00 39 */	and. r0, r7, r0
/* 802EFB04 002EB764  41 82 FF DC */	beq lbl_802EFAE0
/* 802EFB08 002EB768  93 DC 00 18 */	stw r30, 0x18(r28)
/* 802EFB0C 002EB76C  38 00 00 03 */	li r0, 3
/* 802EFB10 002EB770  38 7E 04 E8 */	addi r3, r30, 0x4e8
/* 802EFB14 002EB774  38 9F 00 01 */	addi r4, r31, 1
/* 802EFB18 002EB778  98 1F 00 00 */	stb r0, 0(r31)
/* 802EFB1C 002EB77C  38 A0 00 E4 */	li r5, 0xe4
/* 802EFB20 002EB780  48 00 44 ED */	bl MI_CpuCopy8
/* 802EFB24 002EB784  A0 7D 00 04 */	lhz r3, 4(r29)
/* 802EFB28 002EB788  38 03 00 E4 */	addi r0, r3, 0xe4
/* 802EFB2C 002EB78C  B0 1D 00 04 */	sth r0, 4(r29)
/* 802EFB30 002EB790  A0 1E 05 D4 */	lhz r0, 0x5d4(r30)
/* 802EFB34 002EB794  B0 1D 00 06 */	sth r0, 6(r29)
/* 802EFB38 002EB798  48 00 01 34 */	b lbl_802EFC6C
lbl_802EFB3C:
/* 802EFB3C 002EB79C  80 1C 00 1C */	lwz r0, 0x1c(r28)
/* 802EFB40 002EB7A0  2C 00 00 00 */	cmpwi r0, 0
/* 802EFB44 002EB7A4  41 82 00 08 */	beq lbl_802EFB4C
/* 802EFB48 002EB7A8  48 00 00 08 */	b lbl_802EFB50
lbl_802EFB4C:
/* 802EFB4C 002EB7AC  80 1C 00 04 */	lwz r0, 4(r28)
lbl_802EFB50:
/* 802EFB50 002EB7B0  2C 00 00 00 */	cmpwi r0, 0
/* 802EFB54 002EB7B4  7C 1E 03 78 */	mr r30, r0
/* 802EFB58 002EB7B8  41 82 01 14 */	beq lbl_802EFC6C
lbl_802EFB5C:
/* 802EFB5C 002EB7BC  83 DE 00 00 */	lwz r30, 0(r30)
/* 802EFB60 002EB7C0  2C 1E 00 00 */	cmpwi r30, 0
/* 802EFB64 002EB7C4  41 82 00 08 */	beq lbl_802EFB6C
/* 802EFB68 002EB7C8  48 00 00 08 */	b lbl_802EFB70
lbl_802EFB6C:
/* 802EFB6C 002EB7CC  83 DC 00 04 */	lwz r30, 4(r28)
lbl_802EFB70:
/* 802EFB70 002EB7D0  A0 7E 05 D0 */	lhz r3, 0x5d0(r30)
/* 802EFB74 002EB7D4  2C 03 00 00 */	cmpwi r3, 0
/* 802EFB78 002EB7D8  40 82 00 0C */	bne lbl_802EFB84
/* 802EFB7C 002EB7DC  7C 1E 00 40 */	cmplw r30, r0
/* 802EFB80 002EB7E0  40 82 FF DC */	bne lbl_802EFB5C
lbl_802EFB84:
/* 802EFB84 002EB7E4  2C 03 00 00 */	cmpwi r3, 0
/* 802EFB88 002EB7E8  41 82 00 E4 */	beq lbl_802EFC6C
/* 802EFB8C 002EB7EC  93 DC 00 1C */	stw r30, 0x1c(r28)
/* 802EFB90 002EB7F0  38 60 00 01 */	li r3, 1
/* 802EFB94 002EB7F4  A0 9C 03 72 */	lhz r4, 0x372(r28)
/* 802EFB98 002EB7F8  88 1E 03 68 */	lbz r0, 0x368(r30)
/* 802EFB9C 002EB7FC  54 00 F6 BE */	rlwinm r0, r0, 0x1e, 0x1a, 0x1f
/* 802EFBA0 002EB800  7C 60 00 30 */	slw r0, r3, r0
/* 802EFBA4 002EB804  7C 80 00 39 */	and. r0, r4, r0
/* 802EFBA8 002EB808  41 82 00 44 */	beq lbl_802EFBEC
/* 802EFBAC 002EB80C  A0 1E 05 CE */	lhz r0, 0x5ce(r30)
/* 802EFBB0 002EB810  A0 7E 05 CC */	lhz r3, 0x5cc(r30)
/* 802EFBB4 002EB814  7C 80 18 51 */	subf. r4, r0, r3
/* 802EFBB8 002EB818  41 80 00 30 */	blt lbl_802EFBE8
/* 802EFBBC 002EB81C  2C 04 00 02 */	cmpwi r4, 2
/* 802EFBC0 002EB820  41 81 00 28 */	bgt lbl_802EFBE8
/* 802EFBC4 002EB824  38 03 00 01 */	addi r0, r3, 1
/* 802EFBC8 002EB828  B0 1E 05 CC */	sth r0, 0x5cc(r30)
/* 802EFBCC 002EB82C  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 802EFBD0 002EB830  A0 1E 04 E0 */	lhz r0, 0x4e0(r30)
/* 802EFBD4 002EB834  7C 03 00 40 */	cmplw r3, r0
/* 802EFBD8 002EB838  41 80 00 14 */	blt lbl_802EFBEC
/* 802EFBDC 002EB83C  A0 1E 05 CE */	lhz r0, 0x5ce(r30)
/* 802EFBE0 002EB840  B0 1E 05 CC */	sth r0, 0x5cc(r30)
/* 802EFBE4 002EB844  48 00 00 08 */	b lbl_802EFBEC
lbl_802EFBE8:
/* 802EFBE8 002EB848  B0 1E 05 CC */	sth r0, 0x5cc(r30)
lbl_802EFBEC:
/* 802EFBEC 002EB84C  A3 7E 05 CC */	lhz r27, 0x5cc(r30)
/* 802EFBF0 002EB850  38 7E 04 DC */	addi r3, r30, 0x4dc
/* 802EFBF4 002EB854  38 A1 00 08 */	addi r5, r1, 8
/* 802EFBF8 002EB858  7F 64 DB 78 */	mr r4, r27
/* 802EFBFC 002EB85C  4B FF F2 CD */	bl WDPi_GetSegmentRegion
/* 802EFC00 002EB860  2C 03 00 00 */	cmpwi r3, 0
/* 802EFC04 002EB864  41 82 00 68 */	beq lbl_802EFC6C
/* 802EFC08 002EB868  81 9E 00 08 */	lwz r12, 8(r30)
/* 802EFC0C 002EB86C  7F C3 F3 78 */	mr r3, r30
/* 802EFC10 002EB870  38 9F 00 05 */	addi r4, r31, 5
/* 802EFC14 002EB874  38 A1 00 08 */	addi r5, r1, 8
/* 802EFC18 002EB878  7D 89 03 A6 */	mtctr r12
/* 802EFC1C 002EB87C  4E 80 04 21 */	bctrl
/* 802EFC20 002EB880  2C 03 00 00 */	cmpwi r3, 0
/* 802EFC24 002EB884  41 82 00 48 */	beq lbl_802EFC6C
/* 802EFC28 002EB888  38 60 00 04 */	li r3, 4
/* 802EFC2C 002EB88C  57 60 C6 3E */	rlwinm r0, r27, 0x18, 0x18, 0x1f
/* 802EFC30 002EB890  98 7F 00 00 */	stb r3, 0(r31)
/* 802EFC34 002EB894  88 7E 03 68 */	lbz r3, 0x368(r30)
/* 802EFC38 002EB898  54 63 F6 BE */	rlwinm r3, r3, 0x1e, 0x1a, 0x1f
/* 802EFC3C 002EB89C  98 7F 00 01 */	stb r3, 1(r31)
/* 802EFC40 002EB8A0  7C 63 46 70 */	srawi r3, r3, 8
/* 802EFC44 002EB8A4  98 7F 00 02 */	stb r3, 2(r31)
/* 802EFC48 002EB8A8  9B 7F 00 03 */	stb r27, 3(r31)
/* 802EFC4C 002EB8AC  98 1F 00 04 */	stb r0, 4(r31)
/* 802EFC50 002EB8B0  A0 7D 00 04 */	lhz r3, 4(r29)
/* 802EFC54 002EB8B4  80 01 00 10 */	lwz r0, 0x10(r1)
/* 802EFC58 002EB8B8  7C 60 1A 14 */	add r3, r0, r3
/* 802EFC5C 002EB8BC  38 03 00 04 */	addi r0, r3, 4
/* 802EFC60 002EB8C0  B0 1D 00 04 */	sth r0, 4(r29)
/* 802EFC64 002EB8C4  A0 1E 05 D0 */	lhz r0, 0x5d0(r30)
/* 802EFC68 002EB8C8  B0 1D 00 06 */	sth r0, 6(r29)
lbl_802EFC6C:
/* 802EFC6C 002EB8CC  A0 7D 00 04 */	lhz r3, 4(r29)
/* 802EFC70 002EB8D0  38 00 00 00 */	li r0, 0
/* 802EFC74 002EB8D4  38 63 00 01 */	addi r3, r3, 1
/* 802EFC78 002EB8D8  54 63 04 3C */	rlwinm r3, r3, 0, 0x10, 0x1e
/* 802EFC7C 002EB8DC  B0 7D 00 04 */	sth r3, 4(r29)
/* 802EFC80 002EB8E0  80 7C 00 04 */	lwz r3, 4(r28)
/* 802EFC84 002EB8E4  48 00 00 0C */	b lbl_802EFC90
lbl_802EFC88:
/* 802EFC88 002EB8E8  B0 03 05 CE */	sth r0, 0x5ce(r3)
/* 802EFC8C 002EB8EC  80 63 00 00 */	lwz r3, 0(r3)
lbl_802EFC90:
/* 802EFC90 002EB8F0  2C 03 00 00 */	cmpwi r3, 0
/* 802EFC94 002EB8F4  40 82 FF F4 */	bne lbl_802EFC88
/* 802EFC98 002EB8F8  80 1C 00 08 */	lwz r0, 8(r28)
/* 802EFC9C 002EB8FC  38 60 00 00 */	li r3, 0
/* 802EFCA0 002EB900  B0 7C 03 72 */	sth r3, 0x372(r28)
/* 802EFCA4 002EB904  34 00 FF FF */	addic. r0, r0, -1
/* 802EFCA8 002EB908  90 1C 00 08 */	stw r0, 8(r28)
/* 802EFCAC 002EB90C  40 82 00 0C */	bne lbl_802EFCB8
/* 802EFCB0 002EB910  80 7C 00 0C */	lwz r3, 0xc(r28)
/* 802EFCB4 002EB914  4B F7 EA D1 */	bl OSRestoreInterrupts
lbl_802EFCB8:
/* 802EFCB8 002EB918  39 61 00 30 */	addi r11, r1, 0x30
/* 802EFCBC 002EB91C  4B ED 74 B9 */	bl _restgpr_27
/* 802EFCC0 002EB920  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802EFCC4 002EB924  7C 08 03 A6 */	mtlr r0
/* 802EFCC8 002EB928  38 21 00 30 */	addi r1, r1, 0x30
/* 802EFCCC 002EB92C  4E 80 00 20 */	blr

.global WDP_CallParentRecvHook
WDP_CallParentRecvHook:
/* 802EFCD0 002EB930  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802EFCD4 002EB934  7C 08 02 A6 */	mflr r0
/* 802EFCD8 002EB938  90 01 00 34 */	stw r0, 0x34(r1)
/* 802EFCDC 002EB93C  39 61 00 30 */	addi r11, r1, 0x30
/* 802EFCE0 002EB940  4B ED 74 49 */	bl _savegpr_27
/* 802EFCE4 002EB944  1C 04 00 34 */	mulli r0, r4, 0x34
/* 802EFCE8 002EB948  83 85 00 00 */	lwz r28, 0(r5)
/* 802EFCEC 002EB94C  7C 7D 1B 78 */	mr r29, r3
/* 802EFCF0 002EB950  7C 9E 23 78 */	mr r30, r4
/* 802EFCF4 002EB954  7F E3 02 14 */	add r31, r3, r0
/* 802EFCF8 002EB958  83 7F 00 28 */	lwz r27, 0x28(r31)
/* 802EFCFC 002EB95C  4B F7 EA 61 */	bl OSDisableInterrupts
/* 802EFD00 002EB960  80 9D 00 08 */	lwz r4, 8(r29)
/* 802EFD04 002EB964  38 04 00 01 */	addi r0, r4, 1
/* 802EFD08 002EB968  2C 00 00 01 */	cmpwi r0, 1
/* 802EFD0C 002EB96C  90 1D 00 08 */	stw r0, 8(r29)
/* 802EFD10 002EB970  40 82 00 08 */	bne lbl_802EFD18
/* 802EFD14 002EB974  90 7D 00 0C */	stw r3, 0xc(r29)
lbl_802EFD18:
/* 802EFD18 002EB978  88 1C 00 00 */	lbz r0, 0(r28)
/* 802EFD1C 002EB97C  2C 00 00 09 */	cmpwi r0, 9
/* 802EFD20 002EB980  41 82 01 C4 */	beq lbl_802EFEE4
/* 802EFD24 002EB984  40 80 00 14 */	bge lbl_802EFD38
/* 802EFD28 002EB988  2C 00 00 07 */	cmpwi r0, 7
/* 802EFD2C 002EB98C  41 82 00 18 */	beq lbl_802EFD44
/* 802EFD30 002EB990  40 80 01 98 */	bge lbl_802EFEC8
/* 802EFD34 002EB994  48 00 02 68 */	b lbl_802EFF9C
lbl_802EFD38:
/* 802EFD38 002EB998  2C 00 00 0B */	cmpwi r0, 0xb
/* 802EFD3C 002EB99C  40 80 02 60 */	bge lbl_802EFF9C
/* 802EFD40 002EB9A0  48 00 02 24 */	b lbl_802EFF64
lbl_802EFD44:
/* 802EFD44 002EB9A4  2C 1B 00 01 */	cmpwi r27, 1
/* 802EFD48 002EB9A8  40 82 02 54 */	bne lbl_802EFF9C
/* 802EFD4C 002EB9AC  8B 7C 00 01 */	lbz r27, 1(r28)
/* 802EFD50 002EB9B0  38 7F 00 50 */	addi r3, r31, 0x50
/* 802EFD54 002EB9B4  38 80 00 05 */	li r4, 5
/* 802EFD58 002EB9B8  7F 65 DB 78 */	mr r5, r27
/* 802EFD5C 002EB9BC  4B FF F1 F9 */	bl WDP_MergeBitset
/* 802EFD60 002EB9C0  2C 03 00 00 */	cmpwi r3, 0
/* 802EFD64 002EB9C4  41 82 02 38 */	beq lbl_802EFF9C
/* 802EFD68 002EB9C8  1C DB 00 06 */	mulli r6, r27, 6
/* 802EFD6C 002EB9CC  38 9F 00 30 */	addi r4, r31, 0x30
/* 802EFD70 002EB9D0  38 7C 00 02 */	addi r3, r28, 2
/* 802EFD74 002EB9D4  38 A0 00 06 */	li r5, 6
/* 802EFD78 002EB9D8  20 06 00 1E */	subfic r0, r6, 0x1e
/* 802EFD7C 002EB9DC  28 00 00 06 */	cmplwi r0, 6
/* 802EFD80 002EB9E0  7C 84 32 14 */	add r4, r4, r6
/* 802EFD84 002EB9E4  40 80 00 08 */	bge lbl_802EFD8C
/* 802EFD88 002EB9E8  7C 05 03 78 */	mr r5, r0
lbl_802EFD8C:
/* 802EFD8C 002EB9EC  48 00 42 81 */	bl MI_CpuCopy8
/* 802EFD90 002EB9F0  80 7F 00 54 */	lwz r3, 0x54(r31)
/* 802EFD94 002EB9F4  38 03 00 01 */	addi r0, r3, 1
/* 802EFD98 002EB9F8  28 00 00 05 */	cmplwi r0, 5
/* 802EFD9C 002EB9FC  90 1F 00 54 */	stw r0, 0x54(r31)
/* 802EFDA0 002EBA00  41 80 01 FC */	blt lbl_802EFF9C
/* 802EFDA4 002EBA04  83 7D 00 04 */	lwz r27, 4(r29)
/* 802EFDA8 002EBA08  48 00 00 08 */	b lbl_802EFDB0
lbl_802EFDAC:
/* 802EFDAC 002EBA0C  83 7B 00 00 */	lwz r27, 0(r27)
lbl_802EFDB0:
/* 802EFDB0 002EBA10  2C 1B 00 00 */	cmpwi r27, 0
/* 802EFDB4 002EBA14  41 82 00 30 */	beq lbl_802EFDE4
/* 802EFDB8 002EBA18  38 7B 03 64 */	addi r3, r27, 0x364
/* 802EFDBC 002EBA1C  38 9F 00 30 */	addi r4, r31, 0x30
/* 802EFDC0 002EBA20  38 A0 00 04 */	li r5, 4
/* 802EFDC4 002EBA24  4B FF ED 89 */	bl WDP_CompareMemory
/* 802EFDC8 002EBA28  2C 03 00 00 */	cmpwi r3, 0
/* 802EFDCC 002EBA2C  40 82 FF E0 */	bne lbl_802EFDAC
/* 802EFDD0 002EBA30  88 7B 03 68 */	lbz r3, 0x368(r27)
/* 802EFDD4 002EBA34  88 1F 00 4C */	lbz r0, 0x4c(r31)
/* 802EFDD8 002EBA38  54 63 F6 BE */	rlwinm r3, r3, 0x1e, 0x1a, 0x1f
/* 802EFDDC 002EBA3C  7C 03 00 40 */	cmplw r3, r0
/* 802EFDE0 002EBA40  40 82 FF CC */	bne lbl_802EFDAC
lbl_802EFDE4:
/* 802EFDE4 002EBA44  93 7F 00 2C */	stw r27, 0x2c(r31)
/* 802EFDE8 002EBA48  2C 1B 00 00 */	cmpwi r27, 0
/* 802EFDEC 002EBA4C  88 1F 00 34 */	lbz r0, 0x34(r31)
/* 802EFDF0 002EBA50  53 C0 26 36 */	rlwimi r0, r30, 4, 0x18, 0x1b
/* 802EFDF4 002EBA54  98 1F 00 34 */	stb r0, 0x34(r31)
/* 802EFDF8 002EBA58  40 82 00 54 */	bne lbl_802EFE4C
/* 802EFDFC 002EBA5C  38 60 00 05 */	li r3, 5
/* 802EFE00 002EBA60  38 00 00 01 */	li r0, 1
/* 802EFE04 002EBA64  93 C1 00 10 */	stw r30, 0x10(r1)
/* 802EFE08 002EBA68  7C 04 F0 30 */	slw r4, r0, r30
/* 802EFE0C 002EBA6C  90 61 00 14 */	stw r3, 0x14(r1)
/* 802EFE10 002EBA70  A0 7D 03 6C */	lhz r3, 0x36c(r29)
/* 802EFE14 002EBA74  A0 1D 03 68 */	lhz r0, 0x368(r29)
/* 802EFE18 002EBA78  81 9D 00 00 */	lwz r12, 0(r29)
/* 802EFE1C 002EBA7C  7C 63 23 78 */	or r3, r3, r4
/* 802EFE20 002EBA80  7C 00 20 78 */	andc r0, r0, r4
/* 802EFE24 002EBA84  B0 7D 03 6C */	sth r3, 0x36c(r29)
/* 802EFE28 002EBA88  2C 0C 00 00 */	cmpwi r12, 0
/* 802EFE2C 002EBA8C  B0 1D 03 68 */	sth r0, 0x368(r29)
/* 802EFE30 002EBA90  41 82 01 6C */	beq lbl_802EFF9C
/* 802EFE34 002EBA94  7F A3 EB 78 */	mr r3, r29
/* 802EFE38 002EBA98  38 A1 00 10 */	addi r5, r1, 0x10
/* 802EFE3C 002EBA9C  38 80 00 01 */	li r4, 1
/* 802EFE40 002EBAA0  7D 89 03 A6 */	mtctr r12
/* 802EFE44 002EBAA4  4E 80 04 21 */	bctrl
/* 802EFE48 002EBAA8  48 00 01 54 */	b lbl_802EFF9C
lbl_802EFE4C:
/* 802EFE4C 002EBAAC  A0 7B 04 D8 */	lhz r3, 0x4d8(r27)
/* 802EFE50 002EBAB0  4B FF EB 3D */	bl MATH_CountPopulation
/* 802EFE54 002EBAB4  88 1B 02 42 */	lbz r0, 0x242(r27)
/* 802EFE58 002EBAB8  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 802EFE5C 002EBABC  7C 03 00 40 */	cmplw r3, r0
/* 802EFE60 002EBAC0  41 80 00 54 */	blt lbl_802EFEB4
/* 802EFE64 002EBAC4  38 60 00 06 */	li r3, 6
/* 802EFE68 002EBAC8  38 00 00 01 */	li r0, 1
/* 802EFE6C 002EBACC  93 C1 00 08 */	stw r30, 8(r1)
/* 802EFE70 002EBAD0  7C 04 F0 30 */	slw r4, r0, r30
/* 802EFE74 002EBAD4  90 61 00 0C */	stw r3, 0xc(r1)
/* 802EFE78 002EBAD8  A0 7D 03 70 */	lhz r3, 0x370(r29)
/* 802EFE7C 002EBADC  A0 1D 03 68 */	lhz r0, 0x368(r29)
/* 802EFE80 002EBAE0  81 9D 00 00 */	lwz r12, 0(r29)
/* 802EFE84 002EBAE4  7C 63 23 78 */	or r3, r3, r4
/* 802EFE88 002EBAE8  7C 00 20 78 */	andc r0, r0, r4
/* 802EFE8C 002EBAEC  B0 7D 03 70 */	sth r3, 0x370(r29)
/* 802EFE90 002EBAF0  2C 0C 00 00 */	cmpwi r12, 0
/* 802EFE94 002EBAF4  B0 1D 03 68 */	sth r0, 0x368(r29)
/* 802EFE98 002EBAF8  41 82 01 04 */	beq lbl_802EFF9C
/* 802EFE9C 002EBAFC  7F A3 EB 78 */	mr r3, r29
/* 802EFEA0 002EBB00  38 A1 00 08 */	addi r5, r1, 8
/* 802EFEA4 002EBB04  38 80 00 01 */	li r4, 1
/* 802EFEA8 002EBB08  7D 89 03 A6 */	mtctr r12
/* 802EFEAC 002EBB0C  4E 80 04 21 */	bctrl
/* 802EFEB0 002EBB10  48 00 00 EC */	b lbl_802EFF9C
lbl_802EFEB4:
/* 802EFEB4 002EBB14  7F A3 EB 78 */	mr r3, r29
/* 802EFEB8 002EBB18  7F C4 F3 78 */	mr r4, r30
/* 802EFEBC 002EBB1C  38 A0 00 02 */	li r5, 2
/* 802EFEC0 002EBB20  4B FF F1 45 */	bl WDPi_UpdateStatus
/* 802EFEC4 002EBB24  48 00 00 D8 */	b lbl_802EFF9C
lbl_802EFEC8:
/* 802EFEC8 002EBB28  2C 1B 00 07 */	cmpwi r27, 7
/* 802EFECC 002EBB2C  40 82 00 D0 */	bne lbl_802EFF9C
/* 802EFED0 002EBB30  7F A3 EB 78 */	mr r3, r29
/* 802EFED4 002EBB34  7F C4 F3 78 */	mr r4, r30
/* 802EFED8 002EBB38  38 A0 00 03 */	li r5, 3
/* 802EFEDC 002EBB3C  4B FF F1 29 */	bl WDPi_UpdateStatus
/* 802EFEE0 002EBB40  48 00 00 BC */	b lbl_802EFF9C
lbl_802EFEE4:
/* 802EFEE4 002EBB44  2C 1B 00 04 */	cmpwi r27, 4
/* 802EFEE8 002EBB48  40 82 00 B4 */	bne lbl_802EFF9C
/* 802EFEEC 002EBB4C  80 BF 00 2C */	lwz r5, 0x2c(r31)
/* 802EFEF0 002EBB50  2C 05 00 00 */	cmpwi r5, 0
/* 802EFEF4 002EBB54  41 82 00 A8 */	beq lbl_802EFF9C
/* 802EFEF8 002EBB58  88 7C 00 04 */	lbz r3, 4(r28)
/* 802EFEFC 002EBB5C  88 1C 00 03 */	lbz r0, 3(r28)
/* 802EFF00 002EBB60  50 60 44 2E */	rlwimi r0, r3, 8, 0x10, 0x17
/* 802EFF04 002EBB64  88 9C 00 01 */	lbz r4, 1(r28)
/* 802EFF08 002EBB68  88 7C 00 02 */	lbz r3, 2(r28)
/* 802EFF0C 002EBB6C  90 1F 00 58 */	stw r0, 0x58(r31)
/* 802EFF10 002EBB70  50 64 44 2E */	rlwimi r4, r3, 8, 0x10, 0x17
/* 802EFF14 002EBB74  A0 05 05 CE */	lhz r0, 0x5ce(r5)
/* 802EFF18 002EBB78  7C 00 20 40 */	cmplw r0, r4
/* 802EFF1C 002EBB7C  40 80 00 08 */	bge lbl_802EFF24
/* 802EFF20 002EBB80  B0 85 05 CE */	sth r4, 0x5ce(r5)
lbl_802EFF24:
/* 802EFF24 002EBB84  88 05 03 68 */	lbz r0, 0x368(r5)
/* 802EFF28 002EBB88  38 60 00 01 */	li r3, 1
/* 802EFF2C 002EBB8C  81 9D 00 00 */	lwz r12, 0(r29)
/* 802EFF30 002EBB90  54 00 F6 BE */	rlwinm r0, r0, 0x1e, 0x1a, 0x1f
/* 802EFF34 002EBB94  A0 9D 03 72 */	lhz r4, 0x372(r29)
/* 802EFF38 002EBB98  7C 60 00 30 */	slw r0, r3, r0
/* 802EFF3C 002EBB9C  2C 0C 00 00 */	cmpwi r12, 0
/* 802EFF40 002EBBA0  7C 80 03 78 */	or r0, r4, r0
/* 802EFF44 002EBBA4  B0 1D 03 72 */	sth r0, 0x372(r29)
/* 802EFF48 002EBBA8  41 82 00 54 */	beq lbl_802EFF9C
/* 802EFF4C 002EBBAC  7F A3 EB 78 */	mr r3, r29
/* 802EFF50 002EBBB0  7F C5 F3 78 */	mr r5, r30
/* 802EFF54 002EBBB4  38 80 00 00 */	li r4, 0
/* 802EFF58 002EBBB8  7D 89 03 A6 */	mtctr r12
/* 802EFF5C 002EBBBC  4E 80 04 21 */	bctrl
/* 802EFF60 002EBBC0  48 00 00 3C */	b lbl_802EFF9C
lbl_802EFF64:
/* 802EFF64 002EBBC4  2C 1B 00 04 */	cmpwi r27, 4
/* 802EFF68 002EBBC8  40 82 00 34 */	bne lbl_802EFF9C
/* 802EFF6C 002EBBCC  80 FF 00 2C */	lwz r7, 0x2c(r31)
/* 802EFF70 002EBBD0  38 00 00 01 */	li r0, 1
/* 802EFF74 002EBBD4  7C 00 F0 30 */	slw r0, r0, r30
/* 802EFF78 002EBBD8  7F A3 EB 78 */	mr r3, r29
/* 802EFF7C 002EBBDC  A0 C7 05 D0 */	lhz r6, 0x5d0(r7)
/* 802EFF80 002EBBE0  7F C4 F3 78 */	mr r4, r30
/* 802EFF84 002EBBE4  38 A0 00 05 */	li r5, 5
/* 802EFF88 002EBBE8  7C C0 00 78 */	andc r0, r6, r0
/* 802EFF8C 002EBBEC  B0 07 05 D0 */	sth r0, 0x5d0(r7)
/* 802EFF90 002EBBF0  A0 07 04 E0 */	lhz r0, 0x4e0(r7)
/* 802EFF94 002EBBF4  90 1F 00 58 */	stw r0, 0x58(r31)
/* 802EFF98 002EBBF8  4B FF F0 6D */	bl WDPi_UpdateStatus
lbl_802EFF9C:
/* 802EFF9C 002EBBFC  80 1D 00 08 */	lwz r0, 8(r29)
/* 802EFFA0 002EBC00  34 00 FF FF */	addic. r0, r0, -1
/* 802EFFA4 002EBC04  90 1D 00 08 */	stw r0, 8(r29)
/* 802EFFA8 002EBC08  40 82 00 0C */	bne lbl_802EFFB4
/* 802EFFAC 002EBC0C  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 802EFFB0 002EBC10  4B F7 E7 D5 */	bl OSRestoreInterrupts
lbl_802EFFB4:
/* 802EFFB4 002EBC14  39 61 00 30 */	addi r11, r1, 0x30
/* 802EFFB8 002EBC18  4B ED 71 BD */	bl _restgpr_27
/* 802EFFBC 002EBC1C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802EFFC0 002EBC20  7C 08 03 A6 */	mtlr r0
/* 802EFFC4 002EBC24  38 21 00 30 */	addi r1, r1, 0x30
/* 802EFFC8 002EBC28  4E 80 00 20 */	blr

.global WDP_RegisterSession
WDP_RegisterSession:
/* 802EFFCC 002EBC2C  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 802EFFD0 002EBC30  7C 08 02 A6 */	mflr r0
/* 802EFFD4 002EBC34  90 01 00 74 */	stw r0, 0x74(r1)
/* 802EFFD8 002EBC38  39 61 00 70 */	addi r11, r1, 0x70
/* 802EFFDC 002EBC3C  4B ED 71 19 */	bl __save_gpr
/* 802EFFE0 002EBC40  3E C0 80 44 */	lis r22, lbl_80445BD8@ha
/* 802EFFE4 002EBC44  82 A1 00 7C */	lwz r21, 0x7c(r1)
/* 802EFFE8 002EBC48  82 81 00 80 */	lwz r20, 0x80(r1)
/* 802EFFEC 002EBC4C  7C 6F 1B 78 */	mr r15, r3
/* 802EFFF0 002EBC50  82 41 00 84 */	lwz r18, 0x84(r1)
/* 802EFFF4 002EBC54  7C 90 23 78 */	mr r16, r4
/* 802EFFF8 002EBC58  90 C1 00 08 */	stw r6, 8(r1)
/* 802EFFFC 002EBC5C  7C AE 2B 78 */	mr r14, r5
/* 802F0000 002EBC60  7D 51 53 78 */	mr r17, r10
/* 802F0004 002EBC64  3A D6 5B D8 */	addi r22, r22, lbl_80445BD8@l
/* 802F0008 002EBC68  90 E1 00 0C */	stw r7, 0xc(r1)
/* 802F000C 002EBC6C  3A 64 04 E8 */	addi r19, r4, 0x4e8
/* 802F0010 002EBC70  91 01 00 10 */	stw r8, 0x10(r1)
/* 802F0014 002EBC74  91 21 00 14 */	stw r9, 0x14(r1)
/* 802F0018 002EBC78  4B F7 E7 45 */	bl OSDisableInterrupts
/* 802F001C 002EBC7C  80 8F 00 08 */	lwz r4, 8(r15)
/* 802F0020 002EBC80  38 04 00 01 */	addi r0, r4, 1
/* 802F0024 002EBC84  2C 00 00 01 */	cmpwi r0, 1
/* 802F0028 002EBC88  90 0F 00 08 */	stw r0, 8(r15)
/* 802F002C 002EBC8C  40 82 00 08 */	bne lbl_802F0034
/* 802F0030 002EBC90  90 6F 00 0C */	stw r3, 0xc(r15)
lbl_802F0034:
/* 802F0034 002EBC94  80 F2 00 24 */	lwz r7, 0x24(r18)
/* 802F0038 002EBC98  38 73 00 08 */	addi r3, r19, 8
/* 802F003C 002EBC9C  38 80 00 00 */	li r4, 0
/* 802F0040 002EBCA0  38 A0 00 04 */	li r5, 4
/* 802F0044 002EBCA4  54 E6 42 1E */	rlwinm r6, r7, 8, 8, 0xf
/* 802F0048 002EBCA8  54 E0 C4 2E */	rlwinm r0, r7, 0x18, 0x10, 0x17
/* 802F004C 002EBCAC  50 E6 C0 0E */	rlwimi r6, r7, 0x18, 0, 7
/* 802F0050 002EBCB0  50 E0 46 3E */	rlwimi r0, r7, 8, 0x18, 0x1f
/* 802F0054 002EBCB4  7C C0 03 78 */	or r0, r6, r0
/* 802F0058 002EBCB8  54 07 C6 3E */	rlwinm r7, r0, 0x18, 0x18, 0x1f
/* 802F005C 002EBCBC  98 13 00 00 */	stb r0, 0(r19)
/* 802F0060 002EBCC0  54 06 86 3E */	rlwinm r6, r0, 0x10, 0x18, 0x1f
/* 802F0064 002EBCC4  54 00 46 3E */	srwi r0, r0, 0x18
/* 802F0068 002EBCC8  98 F3 00 01 */	stb r7, 1(r19)
/* 802F006C 002EBCCC  98 D3 00 02 */	stb r6, 2(r19)
/* 802F0070 002EBCD0  98 13 00 03 */	stb r0, 3(r19)
/* 802F0074 002EBCD4  80 F2 00 34 */	lwz r7, 0x34(r18)
/* 802F0078 002EBCD8  54 E6 42 1E */	rlwinm r6, r7, 8, 8, 0xf
/* 802F007C 002EBCDC  54 E0 C4 2E */	rlwinm r0, r7, 0x18, 0x10, 0x17
/* 802F0080 002EBCE0  50 E6 C0 0E */	rlwimi r6, r7, 0x18, 0, 7
/* 802F0084 002EBCE4  50 E0 46 3E */	rlwimi r0, r7, 8, 0x18, 0x1f
/* 802F0088 002EBCE8  7C C0 03 78 */	or r0, r6, r0
/* 802F008C 002EBCEC  54 07 C6 3E */	rlwinm r7, r0, 0x18, 0x18, 0x1f
/* 802F0090 002EBCF0  98 13 00 04 */	stb r0, 4(r19)
/* 802F0094 002EBCF4  54 06 86 3E */	rlwinm r6, r0, 0x10, 0x18, 0x1f
/* 802F0098 002EBCF8  54 00 46 3E */	srwi r0, r0, 0x18
/* 802F009C 002EBCFC  98 F3 00 05 */	stb r7, 5(r19)
/* 802F00A0 002EBD00  98 D3 00 06 */	stb r6, 6(r19)
/* 802F00A4 002EBD04  98 13 00 07 */	stb r0, 7(r19)
/* 802F00A8 002EBD08  48 00 3F 61 */	bl MI_CpuFill8
/* 802F00AC 002EBD0C  7E A3 AB 78 */	mr r3, r21
/* 802F00B0 002EBD10  38 93 00 3C */	addi r4, r19, 0x3c
/* 802F00B4 002EBD14  38 A0 00 88 */	li r5, 0x88
/* 802F00B8 002EBD18  48 00 3F 55 */	bl MI_CpuCopy8
/* 802F00BC 002EBD1C  7E 83 A3 78 */	mr r3, r20
/* 802F00C0 002EBD20  38 93 00 C4 */	addi r4, r19, 0xc4
/* 802F00C4 002EBD24  38 A0 00 20 */	li r5, 0x20
/* 802F00C8 002EBD28  48 00 3F 45 */	bl MI_CpuCopy8
/* 802F00CC 002EBD2C  38 72 00 28 */	addi r3, r18, 0x28
/* 802F00D0 002EBD30  38 12 00 38 */	addi r0, r18, 0x38
/* 802F00D4 002EBD34  3A 40 00 00 */	li r18, 0
/* 802F00D8 002EBD38  38 82 A4 98 */	addi r4, r2, lbl_80642A98-_SDA2_BASE_
/* 802F00DC 002EBD3C  3F 40 80 40 */	lis r26, lbl_803FE0F8@ha
/* 802F00E0 002EBD40  90 81 00 1C */	stw r4, 0x1c(r1)
/* 802F00E4 002EBD44  7E 59 93 78 */	mr r25, r18
/* 802F00E8 002EBD48  7E 5B 93 78 */	mr r27, r18
/* 802F00EC 002EBD4C  90 61 00 20 */	stw r3, 0x20(r1)
/* 802F00F0 002EBD50  3A E1 00 1C */	addi r23, r1, 0x1c
/* 802F00F4 002EBD54  3B 5A E0 F8 */	addi r26, r26, lbl_803FE0F8@l
/* 802F00F8 002EBD58  3B E0 00 00 */	li r31, 0
/* 802F00FC 002EBD5C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F0100 002EBD60  3B C0 00 00 */	li r30, 0
/* 802F0104 002EBD64  3B 80 00 2C */	li r28, 0x2c
/* 802F0108 002EBD68  3B A0 00 02 */	li r29, 2
lbl_802F010C:
/* 802F010C 002EBD6C  93 21 00 18 */	stw r25, 0x18(r1)
/* 802F0110 002EBD70  7E 43 93 78 */	mr r3, r18
/* 802F0114 002EBD74  7D 17 F0 2E */	lwzx r8, r23, r30
/* 802F0118 002EBD78  7F 13 FA 14 */	add r24, r19, r31
/* 802F011C 002EBD7C  38 E1 00 18 */	addi r7, r1, 0x18
/* 802F0120 002EBD80  38 C0 00 01 */	li r6, 1
/* 802F0124 002EBD84  88 08 00 01 */	lbz r0, 1(r8)
/* 802F0128 002EBD88  8A A8 00 00 */	lbz r21, 0(r8)
/* 802F012C 002EBD8C  50 15 44 2E */	rlwimi r21, r0, 8, 0x10, 0x17
/* 802F0130 002EBD90  88 08 00 05 */	lbz r0, 5(r8)
/* 802F0134 002EBD94  88 A8 00 02 */	lbz r5, 2(r8)
/* 802F0138 002EBD98  8A 88 00 04 */	lbz r20, 4(r8)
/* 802F013C 002EBD9C  50 14 44 2E */	rlwimi r20, r0, 8, 0x10, 0x17
/* 802F0140 002EBDA0  88 88 00 06 */	lbz r4, 6(r8)
/* 802F0144 002EBDA4  50 B5 82 1E */	rlwimi r21, r5, 0x10, 8, 0xf
/* 802F0148 002EBDA8  88 08 00 03 */	lbz r0, 3(r8)
/* 802F014C 002EBDAC  50 94 82 1E */	rlwimi r20, r4, 0x10, 8, 0xf
/* 802F0150 002EBDB0  50 15 C0 0E */	rlwimi r21, r0, 0x18, 0, 7
/* 802F0154 002EBDB4  88 08 00 07 */	lbz r0, 7(r8)
/* 802F0158 002EBDB8  7E A4 AB 78 */	mr r4, r21
/* 802F015C 002EBDBC  50 14 C0 0E */	rlwimi r20, r0, 0x18, 0, 7
/* 802F0160 002EBDC0  7E 85 A3 78 */	mr r5, r20
/* 802F0164 002EBDC4  4B FF EA E9 */	bl WDPi_IsValidSegmentRegion
/* 802F0168 002EBDC8  2C 03 00 00 */	cmpwi r3, 0
/* 802F016C 002EBDCC  40 82 00 20 */	bne lbl_802F018C
/* 802F0170 002EBDD0  7E A6 AB 78 */	mr r6, r21
/* 802F0174 002EBDD4  7E 87 A3 78 */	mr r7, r20
/* 802F0178 002EBDD8  38 76 00 00 */	addi r3, r22, 0
/* 802F017C 002EBDDC  38 B6 00 10 */	addi r5, r22, 0x10
/* 802F0180 002EBDE0  38 80 03 9A */	li r4, 0x39a
/* 802F0184 002EBDE4  4C C6 31 82 */	crclr 6
/* 802F0188 002EBDE8  48 00 3E 95 */	bl OSi_TPanic
lbl_802F018C:
/* 802F018C 002EBDEC  9A 98 00 14 */	stb r20, 0x14(r24)
/* 802F0190 002EBDF0  56 80 C6 3E */	rlwinm r0, r20, 0x18, 0x18, 0x1f
/* 802F0194 002EBDF4  56 83 86 3E */	rlwinm r3, r20, 0x10, 0x18, 0x1f
/* 802F0198 002EBDF8  56 87 46 3E */	srwi r7, r20, 0x18
/* 802F019C 002EBDFC  98 18 00 15 */	stb r0, 0x15(r24)
/* 802F01A0 002EBE00  56 A6 C6 3E */	rlwinm r6, r21, 0x18, 0x18, 0x1f
/* 802F01A4 002EBE04  56 A0 86 3E */	rlwinm r0, r21, 0x10, 0x18, 0x1f
/* 802F01A8 002EBE08  56 A8 46 3E */	srwi r8, r21, 0x18
/* 802F01AC 002EBE0C  98 78 00 16 */	stb r3, 0x16(r24)
/* 802F01B0 002EBE10  38 78 00 19 */	addi r3, r24, 0x19
/* 802F01B4 002EBE14  38 80 00 00 */	li r4, 0
/* 802F01B8 002EBE18  38 A0 00 03 */	li r5, 3
/* 802F01BC 002EBE1C  98 F8 00 17 */	stb r7, 0x17(r24)
/* 802F01C0 002EBE20  9A B8 00 10 */	stb r21, 0x10(r24)
/* 802F01C4 002EBE24  98 D8 00 11 */	stb r6, 0x11(r24)
/* 802F01C8 002EBE28  98 18 00 12 */	stb r0, 0x12(r24)
/* 802F01CC 002EBE2C  99 18 00 13 */	stb r8, 0x13(r24)
/* 802F01D0 002EBE30  9A B8 00 0C */	stb r21, 0xc(r24)
/* 802F01D4 002EBE34  98 D8 00 0D */	stb r6, 0xd(r24)
/* 802F01D8 002EBE38  98 18 00 0E */	stb r0, 0xe(r24)
/* 802F01DC 002EBE3C  99 18 00 0F */	stb r8, 0xf(r24)
/* 802F01E0 002EBE40  48 00 3E 29 */	bl MI_CpuFill8
/* 802F01E4 002EBE44  7C 7A F0 2E */	lwzx r3, r26, r30
/* 802F01E8 002EBE48  88 18 00 18 */	lbz r0, 0x18(r24)
/* 802F01EC 002EBE4C  50 60 07 FE */	rlwimi r0, r3, 0, 0x1f, 0x1f
/* 802F01F0 002EBE50  54 00 07 EE */	rlwinm r0, r0, 0, 0x1f, 0x17
/* 802F01F4 002EBE54  98 18 00 18 */	stb r0, 0x18(r24)
/* 802F01F8 002EBE58  80 01 00 18 */	lwz r0, 0x18(r1)
/* 802F01FC 002EBE5C  2C 00 00 00 */	cmpwi r0, 0
/* 802F0200 002EBE60  41 82 00 14 */	beq lbl_802F0214
/* 802F0204 002EBE64  9B 78 00 0C */	stb r27, 0xc(r24)
/* 802F0208 002EBE68  9B 78 00 0D */	stb r27, 0xd(r24)
/* 802F020C 002EBE6C  9B 98 00 0E */	stb r28, 0xe(r24)
/* 802F0210 002EBE70  9B B8 00 0F */	stb r29, 0xf(r24)
lbl_802F0214:
/* 802F0214 002EBE74  3A 52 00 01 */	addi r18, r18, 1
/* 802F0218 002EBE78  3B DE 00 04 */	addi r30, r30, 4
/* 802F021C 002EBE7C  2C 12 00 03 */	cmpwi r18, 3
/* 802F0220 002EBE80  3B FF 00 10 */	addi r31, r31, 0x10
/* 802F0224 002EBE84  41 80 FE E8 */	blt lbl_802F010C
/* 802F0228 002EBE88  80 AF 00 24 */	lwz r5, 0x24(r15)
/* 802F022C 002EBE8C  7E 64 9B 78 */	mr r4, r19
/* 802F0230 002EBE90  38 70 04 DC */	addi r3, r16, 0x4dc
/* 802F0234 002EBE94  4B FF EB 95 */	bl WDPi_InitSegmentMapper
/* 802F0238 002EBE98  2C 03 00 00 */	cmpwi r3, 0
/* 802F023C 002EBE9C  40 82 00 1C */	bne lbl_802F0258
/* 802F0240 002EBEA0  38 76 00 00 */	addi r3, r22, 0
/* 802F0244 002EBEA4  38 B6 00 38 */	addi r5, r22, 0x38
/* 802F0248 002EBEA8  38 80 03 AD */	li r4, 0x3ad
/* 802F024C 002EBEAC  4C C6 31 82 */	crclr 6
/* 802F0250 002EBEB0  48 00 3D CD */	bl OSi_TPanic
/* 802F0254 002EBEB4  48 00 01 94 */	b lbl_802F03E8
lbl_802F0258:
/* 802F0258 002EBEB8  88 01 00 7B */	lbz r0, 0x7b(r1)
/* 802F025C 002EBEBC  38 80 00 00 */	li r4, 0
/* 802F0260 002EBEC0  88 70 03 68 */	lbz r3, 0x368(r16)
/* 802F0264 002EBEC4  56 27 C6 3E */	rlwinm r7, r17, 0x18, 0x18, 0x1f
/* 802F0268 002EBEC8  56 26 86 3E */	rlwinm r6, r17, 0x10, 0x18, 0x1f
/* 802F026C 002EBECC  56 25 46 3E */	srwi r5, r17, 0x18
/* 802F0270 002EBED0  50 03 16 3A */	rlwimi r3, r0, 2, 0x18, 0x1d
/* 802F0274 002EBED4  2C 0E 00 00 */	cmpwi r14, 0
/* 802F0278 002EBED8  9A 30 03 64 */	stb r17, 0x364(r16)
/* 802F027C 002EBEDC  3A 50 00 0C */	addi r18, r16, 0xc
/* 802F0280 002EBEE0  98 F0 03 65 */	stb r7, 0x365(r16)
/* 802F0284 002EBEE4  98 D0 03 66 */	stb r6, 0x366(r16)
/* 802F0288 002EBEE8  98 B0 03 67 */	stb r5, 0x367(r16)
/* 802F028C 002EBEEC  98 70 03 68 */	stb r3, 0x368(r16)
/* 802F0290 002EBEF0  98 90 03 69 */	stb r4, 0x369(r16)
/* 802F0294 002EBEF4  98 90 03 6A */	stb r4, 0x36a(r16)
/* 802F0298 002EBEF8  41 82 00 10 */	beq lbl_802F02A8
/* 802F029C 002EBEFC  80 01 00 08 */	lwz r0, 8(r1)
/* 802F02A0 002EBF00  2C 00 00 00 */	cmpwi r0, 0
/* 802F02A4 002EBF04  40 82 00 08 */	bne lbl_802F02AC
lbl_802F02A8:
/* 802F02A8 002EBF08  38 80 00 01 */	li r4, 1
lbl_802F02AC:
/* 802F02AC 002EBF0C  88 72 03 5C */	lbz r3, 0x35c(r18)
/* 802F02B0 002EBF10  50 83 07 BE */	rlwimi r3, r4, 0, 0x1e, 0x1f
/* 802F02B4 002EBF14  54 60 07 BE */	clrlwi r0, r3, 0x1e
/* 802F02B8 002EBF18  98 72 03 5C */	stb r3, 0x35c(r18)
/* 802F02BC 002EBF1C  28 00 00 01 */	cmplwi r0, 1
/* 802F02C0 002EBF20  40 82 00 18 */	bne lbl_802F02D8
/* 802F02C4 002EBF24  7E 43 93 78 */	mr r3, r18
/* 802F02C8 002EBF28  38 80 00 00 */	li r4, 0
/* 802F02CC 002EBF2C  38 A0 02 20 */	li r5, 0x220
/* 802F02D0 002EBF30  48 00 3D 39 */	bl MI_CpuFill8
/* 802F02D4 002EBF34  48 00 00 24 */	b lbl_802F02F8
lbl_802F02D8:
/* 802F02D8 002EBF38  7D C3 73 78 */	mr r3, r14
/* 802F02DC 002EBF3C  38 92 00 20 */	addi r4, r18, 0x20
/* 802F02E0 002EBF40  38 A0 02 00 */	li r5, 0x200
/* 802F02E4 002EBF44  48 00 3D 29 */	bl MI_CpuCopy8
/* 802F02E8 002EBF48  80 61 00 08 */	lwz r3, 8(r1)
/* 802F02EC 002EBF4C  7E 44 93 78 */	mr r4, r18
/* 802F02F0 002EBF50  38 A0 00 20 */	li r5, 0x20
/* 802F02F4 002EBF54  48 00 3D 19 */	bl MI_CpuCopy8
lbl_802F02F8:
/* 802F02F8 002EBF58  A0 CF 00 34 */	lhz r6, 0x34(r15)
/* 802F02FC 002EBF5C  38 72 02 38 */	addi r3, r18, 0x238
/* 802F0300 002EBF60  A0 0F 00 36 */	lhz r0, 0x36(r15)
/* 802F0304 002EBF64  38 80 00 60 */	li r4, 0x60
/* 802F0308 002EBF68  80 A1 00 10 */	lwz r5, 0x10(r1)
/* 802F030C 002EBF6C  B0 D2 02 20 */	sth r6, 0x220(r18)
/* 802F0310 002EBF70  B0 12 02 22 */	sth r0, 0x222(r18)
/* 802F0314 002EBF74  A0 CF 00 38 */	lhz r6, 0x38(r15)
/* 802F0318 002EBF78  A0 0F 00 3A */	lhz r0, 0x3a(r15)
/* 802F031C 002EBF7C  B0 D2 02 24 */	sth r6, 0x224(r18)
/* 802F0320 002EBF80  B0 12 02 26 */	sth r0, 0x226(r18)
/* 802F0324 002EBF84  A0 CF 00 3C */	lhz r6, 0x3c(r15)
/* 802F0328 002EBF88  A0 0F 00 3E */	lhz r0, 0x3e(r15)
/* 802F032C 002EBF8C  B0 D2 02 28 */	sth r6, 0x228(r18)
/* 802F0330 002EBF90  B0 12 02 2A */	sth r0, 0x22a(r18)
/* 802F0334 002EBF94  A0 CF 00 40 */	lhz r6, 0x40(r15)
/* 802F0338 002EBF98  A0 0F 00 42 */	lhz r0, 0x42(r15)
/* 802F033C 002EBF9C  B0 D2 02 2C */	sth r6, 0x22c(r18)
/* 802F0340 002EBFA0  B0 12 02 2E */	sth r0, 0x22e(r18)
/* 802F0344 002EBFA4  A0 0F 00 44 */	lhz r0, 0x44(r15)
/* 802F0348 002EBFA8  B0 12 02 30 */	sth r0, 0x230(r18)
/* 802F034C 002EBFAC  A0 0F 00 46 */	lhz r0, 0x46(r15)
/* 802F0350 002EBFB0  B0 12 02 32 */	sth r0, 0x232(r18)
/* 802F0354 002EBFB4  A0 0F 00 48 */	lhz r0, 0x48(r15)
/* 802F0358 002EBFB8  B0 12 02 34 */	sth r0, 0x234(r18)
/* 802F035C 002EBFBC  80 01 00 0C */	lwz r0, 0xc(r1)
/* 802F0360 002EBFC0  98 12 02 36 */	stb r0, 0x236(r18)
/* 802F0364 002EBFC4  4B FF E8 25 */	bl WDP_CopyString
/* 802F0368 002EBFC8  80 A1 00 14 */	lwz r5, 0x14(r1)
/* 802F036C 002EBFCC  38 72 02 98 */	addi r3, r18, 0x298
/* 802F0370 002EBFD0  38 80 00 C0 */	li r4, 0xc0
/* 802F0374 002EBFD4  4B FF E8 15 */	bl WDP_CopyString
/* 802F0378 002EBFD8  38 72 03 64 */	addi r3, r18, 0x364
/* 802F037C 002EBFDC  38 80 00 00 */	li r4, 0
/* 802F0380 002EBFE0  38 A0 01 60 */	li r5, 0x160
/* 802F0384 002EBFE4  48 00 3C 85 */	bl MI_CpuFill8
/* 802F0388 002EBFE8  38 72 04 C4 */	addi r3, r18, 0x4c4
/* 802F038C 002EBFEC  38 80 00 00 */	li r4, 0
/* 802F0390 002EBFF0  38 A0 00 08 */	li r5, 8
/* 802F0394 002EBFF4  48 00 3C 75 */	bl MI_CpuFill8
/* 802F0398 002EBFF8  80 01 00 8C */	lwz r0, 0x8c(r1)
/* 802F039C 002EBFFC  38 60 00 00 */	li r3, 0
/* 802F03A0 002EC000  38 80 00 01 */	li r4, 1
/* 802F03A4 002EC004  B0 72 03 62 */	sth r3, 0x362(r18)
/* 802F03A8 002EC008  38 AF 00 04 */	addi r5, r15, 4
/* 802F03AC 002EC00C  90 10 00 04 */	stw r0, 4(r16)
/* 802F03B0 002EC010  80 01 00 88 */	lwz r0, 0x88(r1)
/* 802F03B4 002EC014  B0 92 03 60 */	sth r4, 0x360(r18)
/* 802F03B8 002EC018  90 10 00 08 */	stw r0, 8(r16)
/* 802F03BC 002EC01C  B0 90 04 D8 */	sth r4, 0x4d8(r16)
/* 802F03C0 002EC020  B0 70 05 D2 */	sth r3, 0x5d2(r16)
/* 802F03C4 002EC024  B0 70 05 D4 */	sth r3, 0x5d4(r16)
/* 802F03C8 002EC028  48 00 00 08 */	b lbl_802F03D0
lbl_802F03CC:
/* 802F03CC 002EC02C  7C 05 03 78 */	mr r5, r0
lbl_802F03D0:
/* 802F03D0 002EC030  80 05 00 00 */	lwz r0, 0(r5)
/* 802F03D4 002EC034  2C 00 00 00 */	cmpwi r0, 0
/* 802F03D8 002EC038  40 82 FF F4 */	bne lbl_802F03CC
/* 802F03DC 002EC03C  92 05 00 00 */	stw r16, 0(r5)
/* 802F03E0 002EC040  38 00 00 00 */	li r0, 0
/* 802F03E4 002EC044  90 10 00 00 */	stw r0, 0(r16)
lbl_802F03E8:
/* 802F03E8 002EC048  80 0F 00 08 */	lwz r0, 8(r15)
/* 802F03EC 002EC04C  34 00 FF FF */	addic. r0, r0, -1
/* 802F03F0 002EC050  90 0F 00 08 */	stw r0, 8(r15)
/* 802F03F4 002EC054  40 82 00 0C */	bne lbl_802F0400
/* 802F03F8 002EC058  80 6F 00 0C */	lwz r3, 0xc(r15)
/* 802F03FC 002EC05C  4B F7 E3 89 */	bl OSRestoreInterrupts
lbl_802F0400:
/* 802F0400 002EC060  39 61 00 70 */	addi r11, r1, 0x70
/* 802F0404 002EC064  4B ED 6D 3D */	bl __restore_gpr
/* 802F0408 002EC068  80 01 00 74 */	lwz r0, 0x74(r1)
/* 802F040C 002EC06C  7C 08 03 A6 */	mtlr r0
/* 802F0410 002EC070  38 21 00 70 */	addi r1, r1, 0x70
/* 802F0414 002EC074  4E 80 00 20 */	blr

.global WDP_AllowChildStatus
WDP_AllowChildStatus:
/* 802F0418 002EC078  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802F041C 002EC07C  7C 08 02 A6 */	mflr r0
/* 802F0420 002EC080  90 01 00 24 */	stw r0, 0x24(r1)
/* 802F0424 002EC084  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802F0428 002EC088  7C 7F 1B 78 */	mr r31, r3
/* 802F042C 002EC08C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802F0430 002EC090  3B C0 00 00 */	li r30, 0
/* 802F0434 002EC094  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802F0438 002EC098  7C BD 2B 78 */	mr r29, r5
/* 802F043C 002EC09C  93 81 00 10 */	stw r28, 0x10(r1)
/* 802F0440 002EC0A0  7C 9C 23 78 */	mr r28, r4
/* 802F0444 002EC0A4  4B F7 E3 19 */	bl OSDisableInterrupts
/* 802F0448 002EC0A8  80 9F 00 08 */	lwz r4, 8(r31)
/* 802F044C 002EC0AC  38 04 00 01 */	addi r0, r4, 1
/* 802F0450 002EC0B0  2C 00 00 01 */	cmpwi r0, 1
/* 802F0454 002EC0B4  90 1F 00 08 */	stw r0, 8(r31)
/* 802F0458 002EC0B8  40 82 00 08 */	bne lbl_802F0460
/* 802F045C 002EC0BC  90 7F 00 0C */	stw r3, 0xc(r31)
lbl_802F0460:
/* 802F0460 002EC0C0  1C 1C 00 34 */	mulli r0, r28, 0x34
/* 802F0464 002EC0C4  7C 7F 02 14 */	add r3, r31, r0
/* 802F0468 002EC0C8  80 03 00 28 */	lwz r0, 0x28(r3)
/* 802F046C 002EC0CC  2C 00 00 04 */	cmpwi r0, 4
/* 802F0470 002EC0D0  41 82 00 DC */	beq lbl_802F054C
/* 802F0474 002EC0D4  40 80 00 14 */	bge lbl_802F0488
/* 802F0478 002EC0D8  2C 00 00 02 */	cmpwi r0, 2
/* 802F047C 002EC0DC  41 82 00 18 */	beq lbl_802F0494
/* 802F0480 002EC0E0  40 80 00 90 */	bge lbl_802F0510
/* 802F0484 002EC0E4  48 00 00 C8 */	b lbl_802F054C
lbl_802F0488:
/* 802F0488 002EC0E8  2C 00 00 06 */	cmpwi r0, 6
/* 802F048C 002EC0EC  40 80 00 C0 */	bge lbl_802F054C
/* 802F0490 002EC0F0  48 00 00 A0 */	b lbl_802F0530
lbl_802F0494:
/* 802F0494 002EC0F4  2C 1D 00 03 */	cmpwi r29, 3
/* 802F0498 002EC0F8  40 82 00 1C */	bne lbl_802F04B4
/* 802F049C 002EC0FC  7F E3 FB 78 */	mr r3, r31
/* 802F04A0 002EC100  7F 84 E3 78 */	mr r4, r28
/* 802F04A4 002EC104  38 A0 00 07 */	li r5, 7
/* 802F04A8 002EC108  4B FF EB 5D */	bl WDPi_UpdateStatus
/* 802F04AC 002EC10C  3B C0 00 01 */	li r30, 1
/* 802F04B0 002EC110  48 00 00 9C */	b lbl_802F054C
lbl_802F04B4:
/* 802F04B4 002EC114  2C 1D 00 00 */	cmpwi r29, 0
/* 802F04B8 002EC118  40 82 00 94 */	bne lbl_802F054C
/* 802F04BC 002EC11C  38 60 00 06 */	li r3, 6
/* 802F04C0 002EC120  38 00 00 01 */	li r0, 1
/* 802F04C4 002EC124  93 81 00 08 */	stw r28, 8(r1)
/* 802F04C8 002EC128  7C 04 E0 30 */	slw r4, r0, r28
/* 802F04CC 002EC12C  90 61 00 0C */	stw r3, 0xc(r1)
/* 802F04D0 002EC130  A0 7F 03 6C */	lhz r3, 0x36c(r31)
/* 802F04D4 002EC134  A0 1F 03 68 */	lhz r0, 0x368(r31)
/* 802F04D8 002EC138  81 9F 00 00 */	lwz r12, 0(r31)
/* 802F04DC 002EC13C  7C 63 23 78 */	or r3, r3, r4
/* 802F04E0 002EC140  7C 00 20 78 */	andc r0, r0, r4
/* 802F04E4 002EC144  B0 7F 03 6C */	sth r3, 0x36c(r31)
/* 802F04E8 002EC148  2C 0C 00 00 */	cmpwi r12, 0
/* 802F04EC 002EC14C  B0 1F 03 68 */	sth r0, 0x368(r31)
/* 802F04F0 002EC150  41 82 00 18 */	beq lbl_802F0508
/* 802F04F4 002EC154  7F E3 FB 78 */	mr r3, r31
/* 802F04F8 002EC158  38 A1 00 08 */	addi r5, r1, 8
/* 802F04FC 002EC15C  38 80 00 01 */	li r4, 1
/* 802F0500 002EC160  7D 89 03 A6 */	mtctr r12
/* 802F0504 002EC164  4E 80 04 21 */	bctrl
lbl_802F0508:
/* 802F0508 002EC168  3B C0 00 01 */	li r30, 1
/* 802F050C 002EC16C  48 00 00 40 */	b lbl_802F054C
lbl_802F0510:
/* 802F0510 002EC170  2C 1D 00 04 */	cmpwi r29, 4
/* 802F0514 002EC174  40 82 00 38 */	bne lbl_802F054C
/* 802F0518 002EC178  7F E3 FB 78 */	mr r3, r31
/* 802F051C 002EC17C  7F 84 E3 78 */	mr r4, r28
/* 802F0520 002EC180  38 A0 00 04 */	li r5, 4
/* 802F0524 002EC184  4B FF EA E1 */	bl WDPi_UpdateStatus
/* 802F0528 002EC188  3B C0 00 01 */	li r30, 1
/* 802F052C 002EC18C  48 00 00 20 */	b lbl_802F054C
lbl_802F0530:
/* 802F0530 002EC190  2C 1D 00 06 */	cmpwi r29, 6
/* 802F0534 002EC194  40 82 00 18 */	bne lbl_802F054C
/* 802F0538 002EC198  7F E3 FB 78 */	mr r3, r31
/* 802F053C 002EC19C  7F 84 E3 78 */	mr r4, r28
/* 802F0540 002EC1A0  38 A0 00 06 */	li r5, 6
/* 802F0544 002EC1A4  4B FF EA C1 */	bl WDPi_UpdateStatus
/* 802F0548 002EC1A8  3B C0 00 01 */	li r30, 1
lbl_802F054C:
/* 802F054C 002EC1AC  80 1F 00 08 */	lwz r0, 8(r31)
/* 802F0550 002EC1B0  34 00 FF FF */	addic. r0, r0, -1
/* 802F0554 002EC1B4  90 1F 00 08 */	stw r0, 8(r31)
/* 802F0558 002EC1B8  40 82 00 0C */	bne lbl_802F0564
/* 802F055C 002EC1BC  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 802F0560 002EC1C0  4B F7 E2 25 */	bl OSRestoreInterrupts
lbl_802F0564:
/* 802F0564 002EC1C4  7F C3 F3 78 */	mr r3, r30
/* 802F0568 002EC1C8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802F056C 002EC1CC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802F0570 002EC1D0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802F0574 002EC1D4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802F0578 002EC1D8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802F057C 002EC1DC  7C 08 03 A6 */	mtlr r0
/* 802F0580 002EC1E0  38 21 00 20 */	addi r1, r1, 0x20
/* 802F0584 002EC1E4  4E 80 00 20 */	blr