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
|