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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global MPiStartupParent
MPiStartupParent:
/* 802F2404 002EE064 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F2408 002EE068 7C 08 02 A6 */ mflr r0
/* 802F240C 002EE06C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F2410 002EE070 38 00 00 00 */ li r0, 0
/* 802F2414 002EE074 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F2418 002EE078 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F241C 002EE07C 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2420 002EE080 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F2424 002EE084 38 7E 6D 08 */ addi r3, r30, 0x6d08
/* 802F2428 002EE088 90 1E 6D E0 */ stw r0, 0x6de0(r30)
/* 802F242C 002EE08C 4B F7 72 F9 */ bl OSCreateAlarm
/* 802F2430 002EE090 38 7E 6D 38 */ addi r3, r30, 0x6d38
/* 802F2434 002EE094 4B F7 72 F1 */ bl OSCreateAlarm
/* 802F2438 002EE098 38 7E 6D 68 */ addi r3, r30, 0x6d68
/* 802F243C 002EE09C 4B F7 72 E9 */ bl OSCreateAlarm
/* 802F2440 002EE0A0 38 7E 6D A4 */ addi r3, r30, 0x6da4
/* 802F2444 002EE0A4 38 80 00 00 */ li r4, 0
/* 802F2448 002EE0A8 4B F7 EA 21 */ bl OSInitSemaphore
/* 802F244C 002EE0AC 38 7E 6D 98 */ addi r3, r30, 0x6d98
/* 802F2450 002EE0B0 38 80 00 00 */ li r4, 0
/* 802F2454 002EE0B4 4B F7 EA 15 */ bl OSInitSemaphore
/* 802F2458 002EE0B8 38 7E 6D B0 */ addi r3, r30, 0x6db0
/* 802F245C 002EE0BC 38 9E 6D D0 */ addi r4, r30, 0x6dd0
/* 802F2460 002EE0C0 38 A0 00 01 */ li r5, 1
/* 802F2464 002EE0C4 4B F7 CA 95 */ bl OSInitMessageQueue
/* 802F2468 002EE0C8 38 7E 66 14 */ addi r3, r30, 0x6614
/* 802F246C 002EE0CC 38 9E 66 34 */ addi r4, r30, 0x6634
/* 802F2470 002EE0D0 38 A0 00 20 */ li r5, 0x20
/* 802F2474 002EE0D4 4B F7 CA 85 */ bl OSInitMessageQueue
/* 802F2478 002EE0D8 38 7E 66 B4 */ addi r3, r30, 0x66b4
/* 802F247C 002EE0DC 38 9E 66 D4 */ addi r4, r30, 0x66d4
/* 802F2480 002EE0E0 38 A0 00 01 */ li r5, 1
/* 802F2484 002EE0E4 4B F7 CA 75 */ bl OSInitMessageQueue
/* 802F2488 002EE0E8 3B FE 74 58 */ addi r31, r30, 0x7458
/* 802F248C 002EE0EC 38 80 00 00 */ li r4, 0
/* 802F2490 002EE0F0 7F E3 FB 78 */ mr r3, r31
/* 802F2494 002EE0F4 38 A0 00 80 */ li r5, 0x80
/* 802F2498 002EE0F8 4B D1 1C 6D */ bl memset
/* 802F249C 002EE0FC 3B BE 74 38 */ addi r29, r30, 0x7438
/* 802F24A0 002EE100 7F E4 FB 78 */ mr r4, r31
/* 802F24A4 002EE104 7F A3 EB 78 */ mr r3, r29
/* 802F24A8 002EE108 38 A0 00 20 */ li r5, 0x20
/* 802F24AC 002EE10C 4B F7 CA 4D */ bl OSInitMessageQueue
/* 802F24B0 002EE110 3B DE 73 38 */ addi r30, r30, 0x7338
/* 802F24B4 002EE114 38 80 00 00 */ li r4, 0
/* 802F24B8 002EE118 7F C3 F3 78 */ mr r3, r30
/* 802F24BC 002EE11C 38 A0 01 00 */ li r5, 0x100
/* 802F24C0 002EE120 4B D1 1C 45 */ bl memset
/* 802F24C4 002EE124 3B E0 00 00 */ li r31, 0
lbl_802F24C8:
/* 802F24C8 002EE128 7F A3 EB 78 */ mr r3, r29
/* 802F24CC 002EE12C 7F C4 F3 78 */ mr r4, r30
/* 802F24D0 002EE130 38 A0 00 00 */ li r5, 0
/* 802F24D4 002EE134 4B F7 CA 85 */ bl OSSendMessage
/* 802F24D8 002EE138 3B FF 00 01 */ addi r31, r31, 1
/* 802F24DC 002EE13C 3B DE 00 08 */ addi r30, r30, 8
/* 802F24E0 002EE140 2C 1F 00 20 */ cmpwi r31, 0x20
/* 802F24E4 002EE144 41 80 FF E4 */ blt lbl_802F24C8
/* 802F24E8 002EE148 83 A2 AA 30 */ lwz r29, lbl_80643030-_SDA2_BASE_(r2)
/* 802F24EC 002EE14C 38 80 00 00 */ li r4, 0
/* 802F24F0 002EE150 38 A0 10 00 */ li r5, 0x1000
/* 802F24F4 002EE154 38 7D 01 40 */ addi r3, r29, 0x140
/* 802F24F8 002EE158 4B D1 1C 0D */ bl memset
/* 802F24FC 002EE15C 38 7D 66 D8 */ addi r3, r29, 0x66d8
/* 802F2500 002EE160 38 80 00 00 */ li r4, 0
/* 802F2504 002EE164 38 A0 03 18 */ li r5, 0x318
/* 802F2508 002EE168 4B D1 1B FD */ bl memset
/* 802F250C 002EE16C 38 7D 11 40 */ addi r3, r29, 0x1140
/* 802F2510 002EE170 38 80 00 00 */ li r4, 0
/* 802F2514 002EE174 38 A0 10 00 */ li r5, 0x1000
/* 802F2518 002EE178 4B D1 1B ED */ bl memset
/* 802F251C 002EE17C 38 7D 69 F0 */ addi r3, r29, 0x69f0
/* 802F2520 002EE180 38 80 00 00 */ li r4, 0
/* 802F2524 002EE184 38 A0 03 18 */ li r5, 0x318
/* 802F2528 002EE188 4B D1 1B DD */ bl memset
/* 802F252C 002EE18C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F2530 002EE190 38 60 00 00 */ li r3, 0
/* 802F2534 002EE194 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F2538 002EE198 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F253C 002EE19C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F2540 002EE1A0 7C 08 03 A6 */ mtlr r0
/* 802F2544 002EE1A4 38 21 00 20 */ addi r1, r1, 0x20
/* 802F2548 002EE1A8 4E 80 00 20 */ blr
.global MPiStartupParentLater
MPiStartupParentLater:
/* 802F254C 002EE1AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F2550 002EE1B0 7C 08 02 A6 */ mflr r0
/* 802F2554 002EE1B4 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2558 002EE1B8 3C 80 80 2F */ lis r4, HandleMPEndIndication@ha
/* 802F255C 002EE1BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F2560 002EE1C0 38 84 28 AC */ addi r4, r4, HandleMPEndIndication@l
/* 802F2564 002EE1C4 38 A0 00 00 */ li r5, 0
/* 802F2568 002EE1C8 38 66 66 D8 */ addi r3, r6, 0x66d8
/* 802F256C 002EE1CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F2570 002EE1D0 38 E0 10 00 */ li r7, 0x1000
/* 802F2574 002EE1D4 39 20 00 00 */ li r9, 0
/* 802F2578 002EE1D8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F257C 002EE1DC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F2580 002EE1E0 81 06 00 08 */ lwz r8, 8(r6)
/* 802F2584 002EE1E4 38 C6 11 40 */ addi r6, r6, 0x1140
/* 802F2588 002EE1E8 39 08 00 01 */ addi r8, r8, 1
/* 802F258C 002EE1EC 4B F7 F3 55 */ bl OSCreateThread
/* 802F2590 002EE1F0 2C 03 00 00 */ cmpwi r3, 0
/* 802F2594 002EE1F4 40 82 00 0C */ bne lbl_802F25A0
/* 802F2598 002EE1F8 38 60 FF 11 */ li r3, -239
/* 802F259C 002EE1FC 48 00 01 A8 */ b lbl_802F2744
lbl_802F25A0:
/* 802F25A0 002EE200 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F25A4 002EE204 38 63 66 D8 */ addi r3, r3, 0x66d8
/* 802F25A8 002EE208 4B F7 F9 A1 */ bl OSResumeThread
/* 802F25AC 002EE20C 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F25B0 002EE210 38 80 00 00 */ li r4, 0
/* 802F25B4 002EE214 38 A0 00 80 */ li r5, 0x80
/* 802F25B8 002EE218 38 63 74 58 */ addi r3, r3, 0x7458
/* 802F25BC 002EE21C 4B D1 1B 49 */ bl memset
/* 802F25C0 002EE220 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F25C4 002EE224 38 A0 00 20 */ li r5, 0x20
/* 802F25C8 002EE228 38 64 74 38 */ addi r3, r4, 0x7438
/* 802F25CC 002EE22C 38 84 74 58 */ addi r4, r4, 0x7458
/* 802F25D0 002EE230 4B F7 C9 29 */ bl OSInitMessageQueue
/* 802F25D4 002EE234 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F25D8 002EE238 38 80 00 00 */ li r4, 0
/* 802F25DC 002EE23C 38 A0 01 00 */ li r5, 0x100
/* 802F25E0 002EE240 38 63 73 38 */ addi r3, r3, 0x7338
/* 802F25E4 002EE244 4B D1 1B 21 */ bl memset
/* 802F25E8 002EE248 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F25EC 002EE24C 3B A0 00 00 */ li r29, 0
/* 802F25F0 002EE250 3B E0 00 00 */ li r31, 0
lbl_802F25F4:
/* 802F25F4 002EE254 7C 9E FA 14 */ add r4, r30, r31
/* 802F25F8 002EE258 38 7E 74 38 */ addi r3, r30, 0x7438
/* 802F25FC 002EE25C 38 84 73 38 */ addi r4, r4, 0x7338
/* 802F2600 002EE260 38 A0 00 00 */ li r5, 0
/* 802F2604 002EE264 4B F7 C9 55 */ bl OSSendMessage
/* 802F2608 002EE268 3B BD 00 01 */ addi r29, r29, 1
/* 802F260C 002EE26C 3B FF 00 08 */ addi r31, r31, 8
/* 802F2610 002EE270 2C 1D 00 20 */ cmpwi r29, 0x20
/* 802F2614 002EE274 41 80 FF E0 */ blt lbl_802F25F4
/* 802F2618 002EE278 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
lbl_802F261C:
/* 802F261C 002EE27C 38 7E 66 14 */ addi r3, r30, 0x6614
/* 802F2620 002EE280 38 81 00 08 */ addi r4, r1, 8
/* 802F2624 002EE284 38 A0 00 00 */ li r5, 0
/* 802F2628 002EE288 4B F7 C9 F9 */ bl OSReceiveMessage
/* 802F262C 002EE28C 2C 03 00 00 */ cmpwi r3, 0
/* 802F2630 002EE290 40 82 FF EC */ bne lbl_802F261C
/* 802F2634 002EE294 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2638 002EE298 3C 80 80 2F */ lis r4, HandleMPSequence@ha
/* 802F263C 002EE29C 38 84 29 58 */ addi r4, r4, HandleMPSequence@l
/* 802F2640 002EE2A0 38 A0 00 00 */ li r5, 0
/* 802F2644 002EE2A4 81 06 00 08 */ lwz r8, 8(r6)
/* 802F2648 002EE2A8 38 66 69 F0 */ addi r3, r6, 0x69f0
/* 802F264C 002EE2AC 38 C6 21 40 */ addi r6, r6, 0x2140
/* 802F2650 002EE2B0 38 E0 10 00 */ li r7, 0x1000
/* 802F2654 002EE2B4 39 20 00 00 */ li r9, 0
/* 802F2658 002EE2B8 4B F7 F2 89 */ bl OSCreateThread
/* 802F265C 002EE2BC 2C 03 00 00 */ cmpwi r3, 0
/* 802F2660 002EE2C0 40 82 00 0C */ bne lbl_802F266C
/* 802F2664 002EE2C4 38 60 FF 11 */ li r3, -239
/* 802F2668 002EE2C8 48 00 00 DC */ b lbl_802F2744
lbl_802F266C:
/* 802F266C 002EE2CC 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2670 002EE2D0 38 63 69 F0 */ addi r3, r3, 0x69f0
/* 802F2674 002EE2D4 4B F7 F8 D5 */ bl OSResumeThread
/* 802F2678 002EE2D8 4B F8 01 41 */ bl OSGetTime
/* 802F267C 002EE2DC 3F C0 80 00 */ lis r30, 0x800000F8@ha
/* 802F2680 002EE2E0 3F E0 43 1C */ lis r31, 0x431BDE83@ha
/* 802F2684 002EE2E4 80 1E 00 F8 */ lwz r0, 0x800000F8@l(r30)
/* 802F2688 002EE2E8 38 FF DE 83 */ addi r7, r31, 0x431BDE83@l
/* 802F268C 002EE2EC 80 A2 AA 30 */ lwz r5, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2690 002EE2F0 38 C0 00 00 */ li r6, 0
/* 802F2694 002EE2F4 54 00 F0 BE */ srwi r0, r0, 2
/* 802F2698 002EE2F8 7C 07 00 16 */ mulhwu r0, r7, r0
/* 802F269C 002EE2FC 54 00 8B FE */ srwi r0, r0, 0xf
/* 802F26A0 002EE300 1C 00 41 50 */ mulli r0, r0, 0x4150
/* 802F26A4 002EE304 54 00 E8 FE */ srwi r0, r0, 3
/* 802F26A8 002EE308 7C 00 20 14 */ addc r0, r0, r4
/* 802F26AC 002EE30C 90 05 6D DC */ stw r0, 0x6ddc(r5)
/* 802F26B0 002EE310 7C 06 19 14 */ adde r0, r6, r3
/* 802F26B4 002EE314 90 05 6D D8 */ stw r0, 0x6dd8(r5)
/* 802F26B8 002EE318 4B F8 01 01 */ bl OSGetTime
/* 802F26BC 002EE31C 80 1E 00 F8 */ lwz r0, 0xf8(r30)
/* 802F26C0 002EE320 3D 20 80 2F */ lis r9, PictureFrameAlarmHandler@ha
/* 802F26C4 002EE324 38 DF DE 83 */ addi r6, r31, -8573
/* 802F26C8 002EE328 80 E2 AA 30 */ lwz r7, lbl_80643030-_SDA2_BASE_(r2)
/* 802F26CC 002EE32C 54 00 F0 BE */ srwi r0, r0, 2
/* 802F26D0 002EE330 7C 65 1B 78 */ mr r5, r3
/* 802F26D4 002EE334 7C 06 00 16 */ mulhwu r0, r6, r0
/* 802F26D8 002EE338 38 67 6D 38 */ addi r3, r7, 0x6d38
/* 802F26DC 002EE33C 7C 86 23 78 */ mr r6, r4
/* 802F26E0 002EE340 39 29 30 B4 */ addi r9, r9, PictureFrameAlarmHandler@l
/* 802F26E4 002EE344 38 E0 00 00 */ li r7, 0
/* 802F26E8 002EE348 54 00 8B FE */ srwi r0, r0, 0xf
/* 802F26EC 002EE34C 1C 00 41 50 */ mulli r0, r0, 0x4150
/* 802F26F0 002EE350 54 08 E8 FE */ srwi r8, r0, 3
/* 802F26F4 002EE354 4B F7 73 01 */ bl OSSetPeriodicAlarm
/* 802F26F8 002EE358 4B F8 00 C1 */ bl OSGetTime
/* 802F26FC 002EE35C 80 1E 00 F8 */ lwz r0, 0xf8(r30)
/* 802F2700 002EE360 3D 20 80 2F */ lis r9, ParentPeriodicAlarmHandler@ha
/* 802F2704 002EE364 38 FF DE 83 */ addi r7, r31, -8573
/* 802F2708 002EE368 3C A0 00 0F */ lis r5, 0x000F4240@ha
/* 802F270C 002EE36C 54 06 F0 BE */ srwi r6, r0, 2
/* 802F2710 002EE370 81 02 AA 30 */ lwz r8, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2714 002EE374 7C E7 30 16 */ mulhwu r7, r7, r6
/* 802F2718 002EE378 38 05 42 40 */ addi r0, r5, 0x000F4240@l
/* 802F271C 002EE37C 7C 86 23 78 */ mr r6, r4
/* 802F2720 002EE380 7C 65 1B 78 */ mr r5, r3
/* 802F2724 002EE384 38 68 6D 68 */ addi r3, r8, 0x6d68
/* 802F2728 002EE388 39 29 31 44 */ addi r9, r9, ParentPeriodicAlarmHandler@l
/* 802F272C 002EE38C 54 E4 8B FE */ srwi r4, r7, 0xf
/* 802F2730 002EE390 38 E0 00 00 */ li r7, 0
/* 802F2734 002EE394 7C 04 01 D6 */ mullw r0, r4, r0
/* 802F2738 002EE398 54 08 E8 FE */ srwi r8, r0, 3
/* 802F273C 002EE39C 4B F7 72 B9 */ bl OSSetPeriodicAlarm
/* 802F2740 002EE3A0 38 60 00 00 */ li r3, 0
lbl_802F2744:
/* 802F2744 002EE3A4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F2748 002EE3A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F274C 002EE3AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F2750 002EE3B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F2754 002EE3B4 7C 08 03 A6 */ mtlr r0
/* 802F2758 002EE3B8 38 21 00 20 */ addi r1, r1, 0x20
/* 802F275C 002EE3BC 4E 80 00 20 */ blr
.global MPiCleanupParentEarlier
MPiCleanupParentEarlier:
/* 802F2760 002EE3C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F2764 002EE3C4 7C 08 02 A6 */ mflr r0
/* 802F2768 002EE3C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F276C 002EE3CC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F2770 002EE3D0 83 E2 AA 30 */ lwz r31, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2774 002EE3D4 93 C1 00 08 */ stw r30, 8(r1)
/* 802F2778 002EE3D8 2C 1F 00 00 */ cmpwi r31, 0
/* 802F277C 002EE3DC 41 82 00 74 */ beq lbl_802F27F0
/* 802F2780 002EE3E0 A0 1F 6C B8 */ lhz r0, 0x6cb8(r31)
/* 802F2784 002EE3E4 2C 00 00 00 */ cmpwi r0, 0
/* 802F2788 002EE3E8 41 82 00 10 */ beq lbl_802F2798
/* 802F278C 002EE3EC 38 7F 69 F0 */ addi r3, r31, 0x69f0
/* 802F2790 002EE3F0 38 80 00 00 */ li r4, 0
/* 802F2794 002EE3F4 4B F7 F6 75 */ bl OSJoinThread
lbl_802F2798:
/* 802F2798 002EE3F8 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F279C 002EE3FC 38 80 00 00 */ li r4, 0
/* 802F27A0 002EE400 38 A0 03 18 */ li r5, 0x318
/* 802F27A4 002EE404 38 7E 69 F0 */ addi r3, r30, 0x69f0
/* 802F27A8 002EE408 4B D1 19 5D */ bl memset
/* 802F27AC 002EE40C A0 1E 69 A0 */ lhz r0, 0x69a0(r30)
/* 802F27B0 002EE410 2C 00 00 00 */ cmpwi r0, 0
/* 802F27B4 002EE414 41 82 00 10 */ beq lbl_802F27C4
/* 802F27B8 002EE418 38 7F 66 D8 */ addi r3, r31, 0x66d8
/* 802F27BC 002EE41C 38 80 00 00 */ li r4, 0
/* 802F27C0 002EE420 4B F7 F6 49 */ bl OSJoinThread
lbl_802F27C4:
/* 802F27C4 002EE424 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F27C8 002EE428 38 80 00 00 */ li r4, 0
/* 802F27CC 002EE42C 38 A0 03 18 */ li r5, 0x318
/* 802F27D0 002EE430 38 7E 66 D8 */ addi r3, r30, 0x66d8
/* 802F27D4 002EE434 4B D1 19 31 */ bl memset
/* 802F27D8 002EE438 38 7E 6D 68 */ addi r3, r30, 0x6d68
/* 802F27DC 002EE43C 4B F7 72 9D */ bl OSCancelAlarm
/* 802F27E0 002EE440 38 7E 6D 38 */ addi r3, r30, 0x6d38
/* 802F27E4 002EE444 4B F7 72 95 */ bl OSCancelAlarm
/* 802F27E8 002EE448 38 7E 6D 08 */ addi r3, r30, 0x6d08
/* 802F27EC 002EE44C 4B F7 72 8D */ bl OSCancelAlarm
lbl_802F27F0:
/* 802F27F0 002EE450 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F27F4 002EE454 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F27F8 002EE458 83 C1 00 08 */ lwz r30, 8(r1)
/* 802F27FC 002EE45C 7C 08 03 A6 */ mtlr r0
/* 802F2800 002EE460 38 21 00 10 */ addi r1, r1, 0x10
/* 802F2804 002EE464 4E 80 00 20 */ blr
.global MPiCleanupParent
MPiCleanupParent:
/* 802F2808 002EE468 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F280C 002EE46C 7C 08 02 A6 */ mflr r0
/* 802F2810 002EE470 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F2814 002EE474 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F2818 002EE478 83 E2 AA 30 */ lwz r31, lbl_80643030-_SDA2_BASE_(r2)
/* 802F281C 002EE47C 2C 1F 00 00 */ cmpwi r31, 0
/* 802F2820 002EE480 41 82 00 24 */ beq lbl_802F2844
/* 802F2824 002EE484 38 7F 66 34 */ addi r3, r31, 0x6634
/* 802F2828 002EE488 38 80 00 00 */ li r4, 0
/* 802F282C 002EE48C 38 A0 00 80 */ li r5, 0x80
/* 802F2830 002EE490 4B D1 18 D5 */ bl memset
/* 802F2834 002EE494 38 7F 66 D4 */ addi r3, r31, 0x66d4
/* 802F2838 002EE498 38 80 00 00 */ li r4, 0
/* 802F283C 002EE49C 38 A0 00 04 */ li r5, 4
/* 802F2840 002EE4A0 4B D1 18 C5 */ bl memset
lbl_802F2844:
/* 802F2844 002EE4A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F2848 002EE4A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F284C 002EE4AC 7C 08 03 A6 */ mtlr r0
/* 802F2850 002EE4B0 38 21 00 10 */ addi r1, r1, 0x10
/* 802F2854 002EE4B4 4E 80 00 20 */ blr
.global MPiProcessParentDataSendError
MPiProcessParentDataSendError:
/* 802F2858 002EE4B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F285C 002EE4BC 7C 08 02 A6 */ mflr r0
/* 802F2860 002EE4C0 38 A0 00 01 */ li r5, 1
/* 802F2864 002EE4C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F2868 002EE4C8 38 81 00 08 */ addi r4, r1, 8
/* 802F286C 002EE4CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F2870 002EE4D0 83 E2 AA 30 */ lwz r31, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2874 002EE4D4 38 7F 74 38 */ addi r3, r31, 0x7438
/* 802F2878 002EE4D8 4B F7 C7 A9 */ bl OSReceiveMessage
/* 802F287C 002EE4DC 80 81 00 08 */ lwz r4, 8(r1)
/* 802F2880 002EE4E0 38 00 00 00 */ li r0, 0
/* 802F2884 002EE4E4 38 7F 66 14 */ addi r3, r31, 0x6614
/* 802F2888 002EE4E8 38 A0 00 01 */ li r5, 1
/* 802F288C 002EE4EC 90 04 00 00 */ stw r0, 0(r4)
/* 802F2890 002EE4F0 90 04 00 04 */ stw r0, 4(r4)
/* 802F2894 002EE4F4 4B F7 C6 C5 */ bl OSSendMessage
/* 802F2898 002EE4F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F289C 002EE4FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F28A0 002EE500 7C 08 03 A6 */ mtlr r0
/* 802F28A4 002EE504 38 21 00 20 */ addi r1, r1, 0x20
/* 802F28A8 002EE508 4E 80 00 20 */ blr
HandleMPEndIndication:
/* 802F28AC 002EE50C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F28B0 002EE510 7C 08 02 A6 */ mflr r0
/* 802F28B4 002EE514 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F28B8 002EE518 39 61 00 30 */ addi r11, r1, 0x30
/* 802F28BC 002EE51C 4B ED 48 6D */ bl _savegpr_27
/* 802F28C0 002EE520 83 82 AA 30 */ lwz r28, lbl_80643030-_SDA2_BASE_(r2)
/* 802F28C4 002EE524 2C 1C 00 00 */ cmpwi r28, 0
/* 802F28C8 002EE528 40 82 00 0C */ bne lbl_802F28D4
/* 802F28CC 002EE52C 38 60 00 00 */ li r3, 0
/* 802F28D0 002EE530 48 00 00 70 */ b lbl_802F2940
lbl_802F28D4:
/* 802F28D4 002EE534 3B 7C 31 40 */ addi r27, r28, 0x3140
/* 802F28D8 002EE538 3B DC 74 38 */ addi r30, r28, 0x7438
/* 802F28DC 002EE53C 3B BC 66 14 */ addi r29, r28, 0x6614
lbl_802F28E0:
/* 802F28E0 002EE540 7F 63 DB 78 */ mr r3, r27
/* 802F28E4 002EE544 38 80 20 00 */ li r4, 0x2000
/* 802F28E8 002EE548 4B FF E6 C5 */ bl MPiReceiveFrame
/* 802F28EC 002EE54C 3C 03 80 00 */ addis r0, r3, 0x8000
/* 802F28F0 002EE550 7C 7F 1B 78 */ mr r31, r3
/* 802F28F4 002EE554 28 00 80 00 */ cmplwi r0, 0x8000
/* 802F28F8 002EE558 40 82 00 18 */ bne lbl_802F2910
/* 802F28FC 002EE55C 38 7C 66 14 */ addi r3, r28, 0x6614
/* 802F2900 002EE560 38 80 00 00 */ li r4, 0
/* 802F2904 002EE564 38 A0 00 01 */ li r5, 1
/* 802F2908 002EE568 4B F7 C6 51 */ bl OSSendMessage
/* 802F290C 002EE56C 48 00 00 30 */ b lbl_802F293C
lbl_802F2910:
/* 802F2910 002EE570 7F C3 F3 78 */ mr r3, r30
/* 802F2914 002EE574 38 81 00 08 */ addi r4, r1, 8
/* 802F2918 002EE578 38 A0 00 01 */ li r5, 1
/* 802F291C 002EE57C 4B F7 C7 05 */ bl OSReceiveMessage
/* 802F2920 002EE580 80 81 00 08 */ lwz r4, 8(r1)
/* 802F2924 002EE584 7F A3 EB 78 */ mr r3, r29
/* 802F2928 002EE588 38 A0 00 01 */ li r5, 1
/* 802F292C 002EE58C 93 64 00 00 */ stw r27, 0(r4)
/* 802F2930 002EE590 93 E4 00 04 */ stw r31, 4(r4)
/* 802F2934 002EE594 4B F7 C6 25 */ bl OSSendMessage
/* 802F2938 002EE598 4B FF FF A8 */ b lbl_802F28E0
lbl_802F293C:
/* 802F293C 002EE59C 38 60 00 00 */ li r3, 0
lbl_802F2940:
/* 802F2940 002EE5A0 39 61 00 30 */ addi r11, r1, 0x30
/* 802F2944 002EE5A4 4B ED 48 31 */ bl _restgpr_27
/* 802F2948 002EE5A8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F294C 002EE5AC 7C 08 03 A6 */ mtlr r0
/* 802F2950 002EE5B0 38 21 00 30 */ addi r1, r1, 0x30
/* 802F2954 002EE5B4 4E 80 00 20 */ blr
HandleMPSequence:
/* 802F2958 002EE5B8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802F295C 002EE5BC 7C 08 02 A6 */ mflr r0
/* 802F2960 002EE5C0 90 01 00 54 */ stw r0, 0x54(r1)
/* 802F2964 002EE5C4 39 61 00 50 */ addi r11, r1, 0x50
/* 802F2968 002EE5C8 4B ED 47 A9 */ bl _savegpr_21
/* 802F296C 002EE5CC 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2970 002EE5D0 3B A0 00 00 */ li r29, 0
/* 802F2974 002EE5D4 3B E0 00 00 */ li r31, 0
/* 802F2978 002EE5D8 3F 20 80 00 */ lis r25, 0x8000
/* 802F297C 002EE5DC 3F 40 43 1C */ lis r26, 0x431c
/* 802F2980 002EE5E0 3F 60 80 2F */ lis r27, 0x802f
/* 802F2984 002EE5E4 48 00 00 80 */ b lbl_802F2A04
lbl_802F2988:
/* 802F2988 002EE5E8 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F298C 002EE5EC 38 81 00 10 */ addi r4, r1, 0x10
/* 802F2990 002EE5F0 38 A0 00 00 */ li r5, 0
/* 802F2994 002EE5F4 38 63 66 14 */ addi r3, r3, 0x6614
/* 802F2998 002EE5F8 4B F7 C6 89 */ bl OSReceiveMessage
/* 802F299C 002EE5FC 2C 03 00 00 */ cmpwi r3, 0
/* 802F29A0 002EE600 41 82 00 14 */ beq lbl_802F29B4
/* 802F29A4 002EE604 80 01 00 10 */ lwz r0, 0x10(r1)
/* 802F29A8 002EE608 7C 00 F8 40 */ cmplw r0, r31
/* 802F29AC 002EE60C 40 82 00 08 */ bne lbl_802F29B4
/* 802F29B0 002EE610 48 00 02 D4 */ b lbl_802F2C84
lbl_802F29B4:
/* 802F29B4 002EE614 38 60 00 20 */ li r3, 0x20
/* 802F29B8 002EE618 4B FF F1 55 */ bl MPiClearSendQueue
/* 802F29BC 002EE61C 80 19 00 F8 */ lwz r0, 0xf8(r25)
/* 802F29C0 002EE620 38 7A DE 83 */ addi r3, r26, -8573
/* 802F29C4 002EE624 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F29C8 002EE628 38 FB 30 78 */ addi r7, r27, 0x3078
/* 802F29CC 002EE62C 54 00 F0 BE */ srwi r0, r0, 2
/* 802F29D0 002EE630 38 A0 00 00 */ li r5, 0
/* 802F29D4 002EE634 7C 03 00 16 */ mulhwu r0, r3, r0
/* 802F29D8 002EE638 38 64 6D 08 */ addi r3, r4, 0x6d08
/* 802F29DC 002EE63C 54 00 8B FE */ srwi r0, r0, 0xf
/* 802F29E0 002EE640 1C 00 03 E8 */ mulli r0, r0, 0x3e8
/* 802F29E4 002EE644 54 06 E8 FE */ srwi r6, r0, 3
/* 802F29E8 002EE648 4B F7 6F 9D */ bl OSSetAlarm
/* 802F29EC 002EE64C 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F29F0 002EE650 38 63 6D 98 */ addi r3, r3, 0x6d98
/* 802F29F4 002EE654 4B F7 E4 CD */ bl OSWaitSemaphore
/* 802F29F8 002EE658 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F29FC 002EE65C 38 63 6D A4 */ addi r3, r3, 0x6da4
/* 802F2A00 002EE660 4B F7 E4 C1 */ bl OSWaitSemaphore
lbl_802F2A04:
/* 802F2A04 002EE664 80 1E 57 64 */ lwz r0, 0x5764(r30)
/* 802F2A08 002EE668 7C 00 00 34 */ cntlzw r0, r0
/* 802F2A0C 002EE66C 54 00 D9 7F */ rlwinm. r0, r0, 0x1b, 5, 0x1f
/* 802F2A10 002EE670 40 82 FF 78 */ bne lbl_802F2988
/* 802F2A14 002EE674 38 7E 66 B4 */ addi r3, r30, 0x66b4
/* 802F2A18 002EE678 38 81 00 10 */ addi r4, r1, 0x10
/* 802F2A1C 002EE67C 38 A0 00 00 */ li r5, 0
/* 802F2A20 002EE680 4B F7 C6 01 */ bl OSReceiveMessage
/* 802F2A24 002EE684 2C 03 00 00 */ cmpwi r3, 0
/* 802F2A28 002EE688 41 82 00 1C */ beq lbl_802F2A44
/* 802F2A2C 002EE68C 48 00 02 75 */ bl CheckLifeTime
/* 802F2A30 002EE690 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2A34 002EE694 80 03 00 38 */ lwz r0, 0x38(r3)
/* 802F2A38 002EE698 2C 00 00 00 */ cmpwi r0, 0
/* 802F2A3C 002EE69C 40 82 00 08 */ bne lbl_802F2A44
/* 802F2A40 002EE6A0 4B FF E5 D5 */ bl MPiChangeVTSF
lbl_802F2A44:
/* 802F2A44 002EE6A4 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2A48 002EE6A8 38 81 00 10 */ addi r4, r1, 0x10
/* 802F2A4C 002EE6AC 38 A0 00 00 */ li r5, 0
/* 802F2A50 002EE6B0 38 63 6D B0 */ addi r3, r3, 0x6db0
/* 802F2A54 002EE6B4 4B F7 C5 CD */ bl OSReceiveMessage
/* 802F2A58 002EE6B8 2C 03 00 00 */ cmpwi r3, 0
/* 802F2A5C 002EE6BC 41 82 00 44 */ beq lbl_802F2AA0
/* 802F2A60 002EE6C0 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2A64 002EE6C4 80 03 00 38 */ lwz r0, 0x38(r3)
/* 802F2A68 002EE6C8 2C 00 00 00 */ cmpwi r0, 0
/* 802F2A6C 002EE6CC 41 82 00 08 */ beq lbl_802F2A74
/* 802F2A70 002EE6D0 4B FF E5 A5 */ bl MPiChangeVTSF
lbl_802F2A74:
/* 802F2A74 002EE6D4 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2A78 002EE6D8 80 03 00 38 */ lwz r0, 0x38(r3)
/* 802F2A7C 002EE6DC 2C 00 00 00 */ cmpwi r0, 0
/* 802F2A80 002EE6E0 40 81 00 0C */ ble lbl_802F2A8C
/* 802F2A84 002EE6E4 2C 00 00 06 */ cmpwi r0, 6
/* 802F2A88 002EE6E8 40 81 00 08 */ ble lbl_802F2A90
lbl_802F2A8C:
/* 802F2A8C 002EE6EC 38 00 00 06 */ li r0, 6
lbl_802F2A90:
/* 802F2A90 002EE6F0 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2A94 002EE6F4 90 03 6D E0 */ stw r0, 0x6de0(r3)
/* 802F2A98 002EE6F8 80 03 57 64 */ lwz r0, 0x5764(r3)
/* 802F2A9C 002EE6FC 54 1D 04 3E */ clrlwi r29, r0, 0x10
lbl_802F2AA0:
/* 802F2AA0 002EE700 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2AA4 002EE704 80 03 6D E0 */ lwz r0, 0x6de0(r3)
/* 802F2AA8 002EE708 2C 00 00 01 */ cmpwi r0, 1
/* 802F2AAC 002EE70C 41 81 00 0C */ bgt lbl_802F2AB8
/* 802F2AB0 002EE710 3B 80 00 01 */ li r28, 1
/* 802F2AB4 002EE714 48 00 00 08 */ b lbl_802F2ABC
lbl_802F2AB8:
/* 802F2AB8 002EE718 3B 80 00 00 */ li r28, 0
lbl_802F2ABC:
/* 802F2ABC 002EE71C 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2AC0 002EE720 7F A5 EB 78 */ mr r5, r29
/* 802F2AC4 002EE724 7F 86 E3 78 */ mr r6, r28
/* 802F2AC8 002EE728 38 80 04 00 */ li r4, 0x400
/* 802F2ACC 002EE72C 38 63 51 40 */ addi r3, r3, 0x5140
/* 802F2AD0 002EE730 4B FF EE 2D */ bl MPiMakeSendFrame
/* 802F2AD4 002EE734 2C 03 00 00 */ cmpwi r3, 0
/* 802F2AD8 002EE738 40 80 00 08 */ bge lbl_802F2AE0
/* 802F2ADC 002EE73C 4B FF FF 28 */ b lbl_802F2A04
lbl_802F2AE0:
/* 802F2AE0 002EE740 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2AE4 002EE744 7C 76 1B 78 */ mr r22, r3
/* 802F2AE8 002EE748 38 80 00 00 */ li r4, 0
/* 802F2AEC 002EE74C 38 A0 00 10 */ li r5, 0x10
/* 802F2AF0 002EE750 38 66 55 40 */ addi r3, r6, 0x5540
/* 802F2AF4 002EE754 4B D1 16 11 */ bl memset
/* 802F2AF8 002EE758 80 A2 AA 30 */ lwz r5, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2AFC 002EE75C 2C 1C 00 00 */ cmpwi r28, 0
/* 802F2B00 002EE760 B3 E5 55 40 */ sth r31, 0x5540(r5)
/* 802F2B04 002EE764 B3 E5 55 42 */ sth r31, 0x5542(r5)
/* 802F2B08 002EE768 B3 E5 55 44 */ sth r31, 0x5544(r5)
/* 802F2B0C 002EE76C 80 65 00 2C */ lwz r3, 0x2c(r5)
/* 802F2B10 002EE770 38 03 00 04 */ addi r0, r3, 4
/* 802F2B14 002EE774 B0 05 55 46 */ sth r0, 0x5546(r5)
/* 802F2B18 002EE778 B3 A5 55 48 */ sth r29, 0x5548(r5)
/* 802F2B1C 002EE77C 41 82 00 20 */ beq lbl_802F2B3C
/* 802F2B20 002EE780 A0 85 55 46 */ lhz r4, 0x5546(r5)
/* 802F2B24 002EE784 7E C3 B3 78 */ mr r3, r22
/* 802F2B28 002EE788 A0 A5 55 48 */ lhz r5, 0x5548(r5)
/* 802F2B2C 002EE78C 48 00 04 7D */ bl GetTmptt
/* 802F2B30 002EE790 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2B34 002EE794 B0 64 55 4A */ sth r3, 0x554a(r4)
/* 802F2B38 002EE798 48 00 00 08 */ b lbl_802F2B40
lbl_802F2B3C:
/* 802F2B3C 002EE79C B3 E5 55 4A */ sth r31, 0x554a(r5)
lbl_802F2B40:
/* 802F2B40 002EE7A0 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2B44 002EE7A4 7E C4 B3 78 */ mr r4, r22
/* 802F2B48 002EE7A8 B3 E6 55 4C */ sth r31, 0x554c(r6)
/* 802F2B4C 002EE7AC 38 66 51 40 */ addi r3, r6, 0x5140
/* 802F2B50 002EE7B0 38 A6 55 40 */ addi r5, r6, 0x5540
/* 802F2B54 002EE7B4 A2 A6 55 48 */ lhz r21, 0x5548(r6)
/* 802F2B58 002EE7B8 4B FF E4 29 */ bl MPiSendFrame
/* 802F2B5C 002EE7BC 2C 03 00 00 */ cmpwi r3, 0
/* 802F2B60 002EE7C0 40 82 00 68 */ bne lbl_802F2BC8
/* 802F2B64 002EE7C4 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2B68 002EE7C8 38 81 00 0C */ addi r4, r1, 0xc
/* 802F2B6C 002EE7CC 38 A0 00 01 */ li r5, 1
/* 802F2B70 002EE7D0 38 63 66 14 */ addi r3, r3, 0x6614
/* 802F2B74 002EE7D4 4B F7 C4 AD */ bl OSReceiveMessage
/* 802F2B78 002EE7D8 83 01 00 0C */ lwz r24, 0xc(r1)
/* 802F2B7C 002EE7DC 7C 18 F8 40 */ cmplw r24, r31
/* 802F2B80 002EE7E0 40 82 00 08 */ bne lbl_802F2B88
/* 802F2B84 002EE7E4 48 00 01 00 */ b lbl_802F2C84
lbl_802F2B88:
/* 802F2B88 002EE7E8 82 F8 00 00 */ lwz r23, 0(r24)
/* 802F2B8C 002EE7EC 7F 03 C3 78 */ mr r3, r24
/* 802F2B90 002EE7F0 82 D8 00 04 */ lwz r22, 4(r24)
/* 802F2B94 002EE7F4 38 80 00 00 */ li r4, 0
/* 802F2B98 002EE7F8 38 A0 00 08 */ li r5, 8
/* 802F2B9C 002EE7FC 4B D1 15 69 */ bl memset
/* 802F2BA0 002EE800 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2BA4 002EE804 7F 04 C3 78 */ mr r4, r24
/* 802F2BA8 002EE808 38 A0 00 01 */ li r5, 1
/* 802F2BAC 002EE80C 38 63 74 38 */ addi r3, r3, 0x7438
/* 802F2BB0 002EE810 4B F7 C3 A9 */ bl OSSendMessage
/* 802F2BB4 002EE814 7E E3 BB 78 */ mr r3, r23
/* 802F2BB8 002EE818 7E C4 B3 78 */ mr r4, r22
/* 802F2BBC 002EE81C 7E A5 AB 78 */ mr r5, r21
/* 802F2BC0 002EE820 48 00 02 3D */ bl ParseMPEndIndication
/* 802F2BC4 002EE824 48 00 00 34 */ b lbl_802F2BF8
lbl_802F2BC8:
/* 802F2BC8 002EE828 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2BCC 002EE82C 38 81 00 08 */ addi r4, r1, 8
/* 802F2BD0 002EE830 38 A0 00 00 */ li r5, 0
/* 802F2BD4 002EE834 38 63 66 14 */ addi r3, r3, 0x6614
/* 802F2BD8 002EE838 4B F7 C4 49 */ bl OSReceiveMessage
/* 802F2BDC 002EE83C 2C 03 00 01 */ cmpwi r3, 1
/* 802F2BE0 002EE840 40 82 00 14 */ bne lbl_802F2BF4
/* 802F2BE4 002EE844 80 01 00 08 */ lwz r0, 8(r1)
/* 802F2BE8 002EE848 7C 00 F8 40 */ cmplw r0, r31
/* 802F2BEC 002EE84C 40 82 00 08 */ bne lbl_802F2BF4
/* 802F2BF0 002EE850 48 00 00 94 */ b lbl_802F2C84
lbl_802F2BF4:
/* 802F2BF4 002EE854 38 60 00 00 */ li r3, 0
lbl_802F2BF8:
/* 802F2BF8 002EE858 56 A0 04 3C */ rlwinm r0, r21, 0, 0x10, 0x1e
/* 802F2BFC 002EE85C 7C 00 18 40 */ cmplw r0, r3
/* 802F2C00 002EE860 40 82 00 20 */ bne lbl_802F2C20
/* 802F2C04 002EE864 4B F7 BB 59 */ bl OSDisableInterrupts
/* 802F2C08 002EE868 80 A2 AA 30 */ lwz r5, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2C0C 002EE86C 80 85 6D E0 */ lwz r4, 0x6de0(r5)
/* 802F2C10 002EE870 38 04 FF FF */ addi r0, r4, -1
/* 802F2C14 002EE874 90 05 6D E0 */ stw r0, 0x6de0(r5)
/* 802F2C18 002EE878 4B F7 BB 6D */ bl OSRestoreInterrupts
/* 802F2C1C 002EE87C 48 00 00 10 */ b lbl_802F2C2C
lbl_802F2C20:
/* 802F2C20 002EE880 2C 1C 00 00 */ cmpwi r28, 0
/* 802F2C24 002EE884 41 82 00 08 */ beq lbl_802F2C2C
/* 802F2C28 002EE888 7F BD 18 78 */ andc r29, r29, r3
lbl_802F2C2C:
/* 802F2C2C 002EE88C 80 19 00 F8 */ lwz r0, 0xf8(r25)
/* 802F2C30 002EE890 38 7A DE 83 */ addi r3, r26, -8573
/* 802F2C34 002EE894 80 82 AA 30 */ lwz r4, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2C38 002EE898 38 FB 30 78 */ addi r7, r27, 0x3078
/* 802F2C3C 002EE89C 54 00 F0 BE */ srwi r0, r0, 2
/* 802F2C40 002EE8A0 38 A0 00 00 */ li r5, 0
/* 802F2C44 002EE8A4 7C 03 00 16 */ mulhwu r0, r3, r0
/* 802F2C48 002EE8A8 38 64 6D 08 */ addi r3, r4, 0x6d08
/* 802F2C4C 002EE8AC 54 00 8B FE */ srwi r0, r0, 0xf
/* 802F2C50 002EE8B0 1C 00 03 E8 */ mulli r0, r0, 0x3e8
/* 802F2C54 002EE8B4 54 06 E8 FE */ srwi r6, r0, 3
/* 802F2C58 002EE8B8 4B F7 6D 2D */ bl OSSetAlarm
/* 802F2C5C 002EE8BC 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2C60 002EE8C0 38 63 6D 98 */ addi r3, r3, 0x6d98
/* 802F2C64 002EE8C4 4B F7 E2 5D */ bl OSWaitSemaphore
/* 802F2C68 002EE8C8 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2C6C 002EE8CC 80 03 6D E0 */ lwz r0, 0x6de0(r3)
/* 802F2C70 002EE8D0 2C 00 00 00 */ cmpwi r0, 0
/* 802F2C74 002EE8D4 41 81 FD 90 */ bgt lbl_802F2A04
/* 802F2C78 002EE8D8 38 63 6D A4 */ addi r3, r3, 0x6da4
/* 802F2C7C 002EE8DC 4B F7 E2 45 */ bl OSWaitSemaphore
/* 802F2C80 002EE8E0 4B FF FD 84 */ b lbl_802F2A04
lbl_802F2C84:
/* 802F2C84 002EE8E4 39 61 00 50 */ addi r11, r1, 0x50
/* 802F2C88 002EE8E8 38 60 00 00 */ li r3, 0
/* 802F2C8C 002EE8EC 4B ED 44 D1 */ bl _restgpr_21
/* 802F2C90 002EE8F0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802F2C94 002EE8F4 7C 08 03 A6 */ mtlr r0
/* 802F2C98 002EE8F8 38 21 00 50 */ addi r1, r1, 0x50
/* 802F2C9C 002EE8FC 4E 80 00 20 */ blr
.global CheckLifeTime
CheckLifeTime:
/* 802F2CA0 002EE900 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F2CA4 002EE904 7C 08 02 A6 */ mflr r0
/* 802F2CA8 002EE908 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F2CAC 002EE90C 39 61 00 30 */ addi r11, r1, 0x30
/* 802F2CB0 002EE910 4B ED 44 69 */ bl _savegpr_23
/* 802F2CB4 002EE914 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2CB8 002EE918 83 C3 00 1C */ lwz r30, 0x1c(r3)
/* 802F2CBC 002EE91C 2C 1E 00 00 */ cmpwi r30, 0
/* 802F2CC0 002EE920 41 82 01 24 */ beq lbl_802F2DE4
/* 802F2CC4 002EE924 4B F7 FB 0D */ bl OSGetTick
/* 802F2CC8 002EE928 3F 40 80 00 */ lis r26, 0x800000F8@ha
/* 802F2CCC 002EE92C 3F 20 10 62 */ lis r25, 0x10624DD3@ha
/* 802F2CD0 002EE930 80 9A 00 F8 */ lwz r4, 0x800000F8@l(r26)
/* 802F2CD4 002EE934 38 B9 4D D3 */ addi r5, r25, 0x10624DD3@l
/* 802F2CD8 002EE938 57 C0 08 3C */ slwi r0, r30, 1
/* 802F2CDC 002EE93C 54 84 F0 BE */ srwi r4, r4, 2
/* 802F2CE0 002EE940 7C 85 20 16 */ mulhwu r4, r5, r4
/* 802F2CE4 002EE944 54 84 D1 BE */ srwi r4, r4, 6
/* 802F2CE8 002EE948 7C 04 01 D6 */ mullw r0, r4, r0
/* 802F2CEC 002EE94C 7F E0 18 50 */ subf r31, r0, r3
/* 802F2CF0 002EE950 4B F7 FA E1 */ bl OSGetTick
/* 802F2CF4 002EE954 80 1A 00 F8 */ lwz r0, 0xf8(r26)
/* 802F2CF8 002EE958 38 99 4D D3 */ addi r4, r25, 0x4dd3
/* 802F2CFC 002EE95C 3B A0 00 00 */ li r29, 0
/* 802F2D00 002EE960 3B 80 00 00 */ li r28, 0
/* 802F2D04 002EE964 54 00 F0 BE */ srwi r0, r0, 2
/* 802F2D08 002EE968 7C 04 00 16 */ mulhwu r0, r4, r0
/* 802F2D0C 002EE96C 54 00 D1 BE */ srwi r0, r0, 6
/* 802F2D10 002EE970 7C 1E 01 D6 */ mullw r0, r30, r0
/* 802F2D14 002EE974 7F 00 18 50 */ subf r24, r0, r3
/* 802F2D18 002EE978 4B F7 BA 45 */ bl OSDisableInterrupts
/* 802F2D1C 002EE97C 7C 77 1B 78 */ mr r23, r3
/* 802F2D20 002EE980 4B FF F0 79 */ bl MPGetConnectedAIDs
/* 802F2D24 002EE984 7C 79 1B 78 */ mr r25, r3
/* 802F2D28 002EE988 3B C0 00 01 */ li r30, 1
/* 802F2D2C 002EE98C 3B 60 00 02 */ li r27, 2
/* 802F2D30 002EE990 3B 40 00 01 */ li r26, 1
lbl_802F2D34:
/* 802F2D34 002EE994 7F 40 F0 30 */ slw r0, r26, r30
/* 802F2D38 002EE998 7F 20 00 39 */ and. r0, r25, r0
/* 802F2D3C 002EE99C 41 82 00 54 */ beq lbl_802F2D90
/* 802F2D40 002EE9A0 7F C3 F3 78 */ mr r3, r30
/* 802F2D44 002EE9A4 7F 04 C3 78 */ mr r4, r24
/* 802F2D48 002EE9A8 4B FF F5 B1 */ bl MPiCompareLifeTime
/* 802F2D4C 002EE9AC 2C 03 00 00 */ cmpwi r3, 0
/* 802F2D50 002EE9B0 41 82 00 40 */ beq lbl_802F2D90
/* 802F2D54 002EE9B4 80 02 AA 30 */ lwz r0, lbl_80643030-_SDA2_BASE_(r2)
/* 802F2D58 002EE9B8 7C 60 DA 14 */ add r3, r0, r27
/* 802F2D5C 002EE9BC A0 03 65 04 */ lhz r0, 0x6504(r3)
/* 802F2D60 002EE9C0 2C 00 00 00 */ cmpwi r0, 0
/* 802F2D64 002EE9C4 40 82 00 10 */ bne lbl_802F2D74
/* 802F2D68 002EE9C8 7F 40 F0 30 */ slw r0, r26, r30
/* 802F2D6C 002EE9CC 7F BD 03 78 */ or r29, r29, r0
/* 802F2D70 002EE9D0 48 00 00 20 */ b lbl_802F2D90
lbl_802F2D74:
/* 802F2D74 002EE9D4 7F C3 F3 78 */ mr r3, r30
/* 802F2D78 002EE9D8 7F E4 FB 78 */ mr r4, r31
/* 802F2D7C 002EE9DC 4B FF F5 7D */ bl MPiCompareLifeTime
/* 802F2D80 002EE9E0 2C 03 00 00 */ cmpwi r3, 0
/* 802F2D84 002EE9E4 41 82 00 0C */ beq lbl_802F2D90
/* 802F2D88 002EE9E8 7F 40 F0 30 */ slw r0, r26, r30
/* 802F2D8C 002EE9EC 7F 9C 03 78 */ or r28, r28, r0
lbl_802F2D90:
/* 802F2D90 002EE9F0 3B DE 00 01 */ addi r30, r30, 1
/* 802F2D94 002EE9F4 3B 7B 00 02 */ addi r27, r27, 2
/* 802F2D98 002EE9F8 28 1E 00 10 */ cmplwi r30, 0x10
/* 802F2D9C 002EE9FC 41 80 FF 98 */ blt lbl_802F2D34
/* 802F2DA0 002EEA00 7E E3 BB 78 */ mr r3, r23
/* 802F2DA4 002EEA04 4B F7 B9 E1 */ bl OSRestoreInterrupts
/* 802F2DA8 002EEA08 3B C0 00 01 */ li r30, 1
/* 802F2DAC 002EEA0C 3B 60 00 01 */ li r27, 1
lbl_802F2DB0:
/* 802F2DB0 002EEA10 7F 63 F0 30 */ slw r3, r27, r30
/* 802F2DB4 002EEA14 7F A0 18 39 */ and. r0, r29, r3
/* 802F2DB8 002EEA18 41 82 00 10 */ beq lbl_802F2DC8
/* 802F2DBC 002EEA1C 7F C3 F3 78 */ mr r3, r30
/* 802F2DC0 002EEA20 4B FF F5 55 */ bl MPiProcessLifeTimeExpiration
/* 802F2DC4 002EEA24 48 00 00 14 */ b lbl_802F2DD8
lbl_802F2DC8:
/* 802F2DC8 002EEA28 7F 80 18 39 */ and. r0, r28, r3
/* 802F2DCC 002EEA2C 41 82 00 0C */ beq lbl_802F2DD8
/* 802F2DD0 002EEA30 7F C3 F3 78 */ mr r3, r30
/* 802F2DD4 002EEA34 4B FF F5 4D */ bl MPiProcessForcibleLifeTimeExpiration
lbl_802F2DD8:
/* 802F2DD8 002EEA38 3B DE 00 01 */ addi r30, r30, 1
/* 802F2DDC 002EEA3C 28 1E 00 10 */ cmplwi r30, 0x10
/* 802F2DE0 002EEA40 41 80 FF D0 */ blt lbl_802F2DB0
lbl_802F2DE4:
/* 802F2DE4 002EEA44 39 61 00 30 */ addi r11, r1, 0x30
/* 802F2DE8 002EEA48 4B ED 43 7D */ bl _restgpr_23
/* 802F2DEC 002EEA4C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F2DF0 002EEA50 7C 08 03 A6 */ mtlr r0
/* 802F2DF4 002EEA54 38 21 00 30 */ addi r1, r1, 0x30
/* 802F2DF8 002EEA58 4E 80 00 20 */ blr
.global ParseMPEndIndication
ParseMPEndIndication:
/* 802F2DFC 002EEA5C 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802F2E00 002EEA60 7C 08 02 A6 */ mflr r0
/* 802F2E04 002EEA64 90 01 00 64 */ stw r0, 0x64(r1)
/* 802F2E08 002EEA68 39 61 00 60 */ addi r11, r1, 0x60
/* 802F2E0C 002EEA6C 4B ED 43 19 */ bl _savegpr_26
/* 802F2E10 002EEA70 38 00 00 00 */ li r0, 0
/* 802F2E14 002EEA74 2C 03 00 00 */ cmpwi r3, 0
/* 802F2E18 002EEA78 90 01 00 08 */ stw r0, 8(r1)
/* 802F2E1C 002EEA7C 7C 7D 1B 78 */ mr r29, r3
/* 802F2E20 002EEA80 7C BE 2B 78 */ mr r30, r5
/* 802F2E24 002EEA84 3B E0 00 00 */ li r31, 0
/* 802F2E28 002EEA88 90 01 00 0C */ stw r0, 0xc(r1)
/* 802F2E2C 002EEA8C 90 01 00 10 */ stw r0, 0x10(r1)
/* 802F2E30 002EEA90 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F2E34 002EEA94 90 01 00 18 */ stw r0, 0x18(r1)
/* 802F2E38 002EEA98 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802F2E3C 002EEA9C 90 01 00 20 */ stw r0, 0x20(r1)
/* 802F2E40 002EEAA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F2E44 002EEAA4 90 01 00 28 */ stw r0, 0x28(r1)
/* 802F2E48 002EEAA8 90 01 00 2C */ stw r0, 0x2c(r1)
/* 802F2E4C 002EEAAC 90 01 00 30 */ stw r0, 0x30(r1)
/* 802F2E50 002EEAB0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F2E54 002EEAB4 90 01 00 38 */ stw r0, 0x38(r1)
/* 802F2E58 002EEAB8 90 01 00 3C */ stw r0, 0x3c(r1)
/* 802F2E5C 002EEABC 90 01 00 40 */ stw r0, 0x40(r1)
/* 802F2E60 002EEAC0 41 82 00 9C */ beq lbl_802F2EFC
/* 802F2E64 002EEAC4 A0 A3 00 04 */ lhz r5, 4(r3)
/* 802F2E68 002EEAC8 A0 03 00 06 */ lhz r0, 6(r3)
/* 802F2E6C 002EEACC 7C A5 01 D6 */ mullw r5, r5, r0
/* 802F2E70 002EEAD0 38 05 00 0A */ addi r0, r5, 0xa
/* 802F2E74 002EEAD4 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 802F2E78 002EEAD8 7C 04 00 40 */ cmplw r4, r0
/* 802F2E7C 002EEADC 41 82 00 0C */ beq lbl_802F2E88
/* 802F2E80 002EEAE0 38 60 00 00 */ li r3, 0
/* 802F2E84 002EEAE4 48 00 01 0C */ b lbl_802F2F90
lbl_802F2E88:
/* 802F2E88 002EEAE8 A0 63 00 02 */ lhz r3, 2(r3)
/* 802F2E8C 002EEAEC 48 00 0F 2D */ bl MPiSetCurrentTsf
/* 802F2E90 002EEAF0 38 FD 00 0A */ addi r7, r29, 0xa
/* 802F2E94 002EEAF4 38 A1 00 08 */ addi r5, r1, 8
/* 802F2E98 002EEAF8 38 C0 00 00 */ li r6, 0
/* 802F2E9C 002EEAFC 38 60 00 01 */ li r3, 1
/* 802F2EA0 002EEB00 48 00 00 50 */ b lbl_802F2EF0
lbl_802F2EA4:
/* 802F2EA4 002EEB04 A0 07 00 04 */ lhz r0, 4(r7)
/* 802F2EA8 002EEB08 2C 00 00 00 */ cmpwi r0, 0
/* 802F2EAC 002EEB0C 41 82 00 38 */ beq lbl_802F2EE4
/* 802F2EB0 002EEB10 41 82 00 4C */ beq lbl_802F2EFC
/* 802F2EB4 002EEB14 28 00 00 10 */ cmplwi r0, 0x10
/* 802F2EB8 002EEB18 40 80 00 44 */ bge lbl_802F2EFC
/* 802F2EBC 002EEB1C A0 87 00 00 */ lhz r4, 0(r7)
/* 802F2EC0 002EEB20 28 04 FF FF */ cmplwi r4, 0xffff
/* 802F2EC4 002EEB24 41 82 00 20 */ beq lbl_802F2EE4
/* 802F2EC8 002EEB28 2C 04 00 00 */ cmpwi r4, 0
/* 802F2ECC 002EEB2C 41 82 00 18 */ beq lbl_802F2EE4
/* 802F2ED0 002EEB30 54 04 13 BA */ rlwinm r4, r0, 2, 0xe, 0x1d
/* 802F2ED4 002EEB34 7C 60 00 30 */ slw r0, r3, r0
/* 802F2ED8 002EEB38 7C 85 22 14 */ add r4, r5, r4
/* 802F2EDC 002EEB3C 90 E4 FF FC */ stw r7, -4(r4)
/* 802F2EE0 002EEB40 7F FF 03 78 */ or r31, r31, r0
lbl_802F2EE4:
/* 802F2EE4 002EEB44 A0 1D 00 06 */ lhz r0, 6(r29)
/* 802F2EE8 002EEB48 38 C6 00 01 */ addi r6, r6, 1
/* 802F2EEC 002EEB4C 7C E7 02 14 */ add r7, r7, r0
lbl_802F2EF0:
/* 802F2EF0 002EEB50 A0 1D 00 04 */ lhz r0, 4(r29)
/* 802F2EF4 002EEB54 7C 06 00 00 */ cmpw r6, r0
/* 802F2EF8 002EEB58 41 80 FF AC */ blt lbl_802F2EA4
lbl_802F2EFC:
/* 802F2EFC 002EEB5C 3B 81 00 08 */ addi r28, r1, 8
/* 802F2F00 002EEB60 3B 60 00 00 */ li r27, 0
/* 802F2F04 002EEB64 3B A0 00 01 */ li r29, 1
lbl_802F2F08:
/* 802F2F08 002EEB68 80 9C 00 00 */ lwz r4, 0(r28)
/* 802F2F0C 002EEB6C 38 1B 00 01 */ addi r0, r27, 1
/* 802F2F10 002EEB70 54 1A 06 3E */ clrlwi r26, r0, 0x18
/* 802F2F14 002EEB74 2C 04 00 00 */ cmpwi r4, 0
/* 802F2F18 002EEB78 41 82 00 44 */ beq lbl_802F2F5C
/* 802F2F1C 002EEB7C A0 C4 00 00 */ lhz r6, 0(r4)
/* 802F2F20 002EEB80 7F 43 D3 78 */ mr r3, r26
/* 802F2F24 002EEB84 A0 04 00 08 */ lhz r0, 8(r4)
/* 802F2F28 002EEB88 38 A4 00 0A */ addi r5, r4, 0xa
/* 802F2F2C 002EEB8C 38 C6 FF FE */ addi r6, r6, -2
/* 802F2F30 002EEB90 54 04 44 2E */ rlwinm r4, r0, 8, 0x10, 0x17
/* 802F2F34 002EEB94 50 04 C6 3E */ rlwimi r4, r0, 0x18, 0x18, 0x1f
/* 802F2F38 002EEB98 4B FF E7 51 */ bl MPiParseReceivedFrame
/* 802F2F3C 002EEB9C 80 9C 00 00 */ lwz r4, 0(r28)
/* 802F2F40 002EEBA0 7F 43 D3 78 */ mr r3, r26
/* 802F2F44 002EEBA4 A0 04 00 02 */ lhz r0, 2(r4)
/* 802F2F48 002EEBA8 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 802F2F4C 002EEBAC 4B FF F3 35 */ bl MPiAddRssi
/* 802F2F50 002EEBB0 7F 43 D3 78 */ mr r3, r26
/* 802F2F54 002EEBB4 4B FF F3 69 */ bl MPiUpdateLifeTime
/* 802F2F58 002EEBB8 48 00 00 1C */ b lbl_802F2F74
lbl_802F2F5C:
/* 802F2F5C 002EEBBC 7F A0 D0 30 */ slw r0, r29, r26
/* 802F2F60 002EEBC0 7F C0 00 39 */ and. r0, r30, r0
/* 802F2F64 002EEBC4 41 82 00 10 */ beq lbl_802F2F74
/* 802F2F68 002EEBC8 7F 43 D3 78 */ mr r3, r26
/* 802F2F6C 002EEBCC 38 80 00 AF */ li r4, 0xaf
/* 802F2F70 002EEBD0 4B FF F3 11 */ bl MPiAddRssi
lbl_802F2F74:
/* 802F2F74 002EEBD4 3B 7B 00 01 */ addi r27, r27, 1
/* 802F2F78 002EEBD8 3B 9C 00 04 */ addi r28, r28, 4
/* 802F2F7C 002EEBDC 2C 1B 00 0F */ cmpwi r27, 0xf
/* 802F2F80 002EEBE0 41 80 FF 88 */ blt lbl_802F2F08
/* 802F2F84 002EEBE4 7F E3 FB 78 */ mr r3, r31
/* 802F2F88 002EEBE8 4B FF E8 99 */ bl MPiProcessDataSentNotification
/* 802F2F8C 002EEBEC 7F E3 FB 78 */ mr r3, r31
lbl_802F2F90:
/* 802F2F90 002EEBF0 39 61 00 60 */ addi r11, r1, 0x60
/* 802F2F94 002EEBF4 4B ED 41 DD */ bl _restgpr_26
/* 802F2F98 002EEBF8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802F2F9C 002EEBFC 7C 08 03 A6 */ mtlr r0
/* 802F2FA0 002EEC00 38 21 00 60 */ addi r1, r1, 0x60
/* 802F2FA4 002EEC04 4E 80 00 20 */ blr
.global GetTmptt
GetTmptt:
/* 802F2FA8 002EEC08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F2FAC 002EEC0C 7C 08 02 A6 */ mflr r0
/* 802F2FB0 002EEC10 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F2FB4 002EEC14 54 80 04 21 */ rlwinm. r0, r4, 0, 0x10, 0x10
/* 802F2FB8 002EEC18 38 04 00 1C */ addi r0, r4, 0x1c
/* 802F2FBC 002EEC1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F2FC0 002EEC20 93 C1 00 08 */ stw r30, 8(r1)
/* 802F2FC4 002EEC24 7C 7E 1B 78 */ mr r30, r3
/* 802F2FC8 002EEC28 54 03 10 3A */ slwi r3, r0, 2
/* 802F2FCC 002EEC2C 3B E3 00 66 */ addi r31, r3, 0x66
/* 802F2FD0 002EEC30 41 82 00 08 */ beq lbl_802F2FD8
/* 802F2FD4 002EEC34 54 9F 04 7E */ clrlwi r31, r4, 0x11
lbl_802F2FD8:
/* 802F2FD8 002EEC38 7C A3 2B 78 */ mr r3, r5
/* 802F2FDC 002EEC3C 4B FF DB FD */ bl MPiCountPopulation
/* 802F2FE0 002EEC40 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802F2FE4 002EEC44 38 7E 00 22 */ addi r3, r30, 0x22
/* 802F2FE8 002EEC48 7C 1F 01 D6 */ mullw r0, r31, r0
/* 802F2FEC 002EEC4C 54 63 10 3A */ slwi r3, r3, 2
/* 802F2FF0 002EEC50 3B E3 00 60 */ addi r31, r3, 0x60
/* 802F2FF4 002EEC54 7C 7F 02 14 */ add r3, r31, r0
/* 802F2FF8 002EEC58 3B E3 03 88 */ addi r31, r3, 0x388
/* 802F2FFC 002EEC5C 4B F7 F7 BD */ bl OSGetTime
/* 802F3000 002EEC60 3C 60 80 00 */ lis r3, 0x800000F8@ha
/* 802F3004 002EEC64 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 802F3008 002EEC68 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
/* 802F300C 002EEC6C 3C 60 CC CD */ lis r3, 0xCCCCCCCD@ha
/* 802F3010 002EEC70 38 A5 DE 83 */ addi r5, r5, 0x431BDE83@l
/* 802F3014 002EEC74 80 C2 AA 30 */ lwz r6, lbl_80643030-_SDA2_BASE_(r2)
/* 802F3018 002EEC78 54 00 F0 BE */ srwi r0, r0, 2
/* 802F301C 002EEC7C 38 E3 CC CD */ addi r7, r3, 0xCCCCCCCD@l
/* 802F3020 002EEC80 7C 05 00 16 */ mulhwu r0, r5, r0
/* 802F3024 002EEC84 80 66 6D DC */ lwz r3, 0x6ddc(r6)
/* 802F3028 002EEC88 7C 64 18 50 */ subf r3, r4, r3
/* 802F302C 002EEC8C 54 63 18 38 */ slwi r3, r3, 3
/* 802F3030 002EEC90 54 00 8B FE */ srwi r0, r0, 0xf
/* 802F3034 002EEC94 7C 03 03 96 */ divwu r0, r3, r0
/* 802F3038 002EEC98 7C 07 00 16 */ mulhwu r0, r7, r0
/* 802F303C 002EEC9C 54 03 E8 FE */ srwi r3, r0, 3
/* 802F3040 002EECA0 34 63 FF EC */ addic. r3, r3, -20
/* 802F3044 002EECA4 40 80 00 08 */ bge lbl_802F304C
/* 802F3048 002EECA8 38 60 00 00 */ li r3, 0
lbl_802F304C:
/* 802F304C 002EECAC 1C 03 00 0A */ mulli r0, r3, 0xa
/* 802F3050 002EECB0 7C 00 F8 40 */ cmplw r0, r31
/* 802F3054 002EECB4 40 80 00 08 */ bge lbl_802F305C
/* 802F3058 002EECB8 38 60 00 00 */ li r3, 0
lbl_802F305C:
/* 802F305C 002EECBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F3060 002EECC0 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 802F3064 002EECC4 83 C1 00 08 */ lwz r30, 8(r1)
/* 802F3068 002EECC8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F306C 002EECCC 7C 08 03 A6 */ mtlr r0
/* 802F3070 002EECD0 38 21 00 10 */ addi r1, r1, 0x10
/* 802F3074 002EECD4 4E 80 00 20 */ blr
IntervalAlarmHandler:
/* 802F3078 002EECD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F307C 002EECDC 7C 08 02 A6 */ mflr r0
/* 802F3080 002EECE0 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F3084 002EECE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F3088 002EECE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F308C 002EECEC 3B E3 6D 98 */ addi r31, r3, 0x6d98
/* 802F3090 002EECF0 7F E3 FB 78 */ mr r3, r31
/* 802F3094 002EECF4 4B F7 DE 9D */ bl OSTryWaitSemaphore
/* 802F3098 002EECF8 7F E3 FB 78 */ mr r3, r31
/* 802F309C 002EECFC 4B F7 DE E5 */ bl OSSignalSemaphore
/* 802F30A0 002EED00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F30A4 002EED04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F30A8 002EED08 7C 08 03 A6 */ mtlr r0
/* 802F30AC 002EED0C 38 21 00 10 */ addi r1, r1, 0x10
/* 802F30B0 002EED10 4E 80 00 20 */ blr
PictureFrameAlarmHandler:
/* 802F30B4 002EED14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F30B8 002EED18 7C 08 02 A6 */ mflr r0
/* 802F30BC 002EED1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F30C0 002EED20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F30C4 002EED24 93 C1 00 08 */ stw r30, 8(r1)
/* 802F30C8 002EED28 83 C2 AA 30 */ lwz r30, lbl_80643030-_SDA2_BASE_(r2)
/* 802F30CC 002EED2C 4B F7 F6 ED */ bl OSGetTime
/* 802F30D0 002EED30 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 802F30D4 002EED34 3C A0 43 1C */ lis r5, 0x431BDE83@ha
/* 802F30D8 002EED38 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 802F30DC 002EED3C 38 C5 DE 83 */ addi r6, r5, 0x431BDE83@l
/* 802F30E0 002EED40 38 A0 00 00 */ li r5, 0
/* 802F30E4 002EED44 3B FE 6D A4 */ addi r31, r30, 0x6da4
/* 802F30E8 002EED48 54 00 F0 BE */ srwi r0, r0, 2
/* 802F30EC 002EED4C 7C 06 00 16 */ mulhwu r0, r6, r0
/* 802F30F0 002EED50 54 00 8B FE */ srwi r0, r0, 0xf
/* 802F30F4 002EED54 1C 00 41 50 */ mulli r0, r0, 0x4150
/* 802F30F8 002EED58 54 00 E8 FE */ srwi r0, r0, 3
/* 802F30FC 002EED5C 7C 00 20 14 */ addc r0, r0, r4
/* 802F3100 002EED60 90 1E 6D DC */ stw r0, 0x6ddc(r30)
/* 802F3104 002EED64 7C 05 19 14 */ adde r0, r5, r3
/* 802F3108 002EED68 7F E3 FB 78 */ mr r3, r31
/* 802F310C 002EED6C 90 1E 6D D8 */ stw r0, 0x6dd8(r30)
/* 802F3110 002EED70 4B F7 DE 21 */ bl OSTryWaitSemaphore
/* 802F3114 002EED74 7F E3 FB 78 */ mr r3, r31
/* 802F3118 002EED78 4B F7 DE 69 */ bl OSSignalSemaphore
/* 802F311C 002EED7C 38 7E 6D B0 */ addi r3, r30, 0x6db0
/* 802F3120 002EED80 38 80 00 00 */ li r4, 0
/* 802F3124 002EED84 38 A0 00 00 */ li r5, 0
/* 802F3128 002EED88 4B F7 BE 31 */ bl OSSendMessage
/* 802F312C 002EED8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F3130 002EED90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F3134 002EED94 83 C1 00 08 */ lwz r30, 8(r1)
/* 802F3138 002EED98 7C 08 03 A6 */ mtlr r0
/* 802F313C 002EED9C 38 21 00 10 */ addi r1, r1, 0x10
/* 802F3140 002EEDA0 4E 80 00 20 */ blr
ParentPeriodicAlarmHandler:
/* 802F3144 002EEDA4 80 62 AA 30 */ lwz r3, lbl_80643030-_SDA2_BASE_(r2)
/* 802F3148 002EEDA8 38 80 00 00 */ li r4, 0
/* 802F314C 002EEDAC 38 A0 00 00 */ li r5, 0
/* 802F3150 002EEDB0 38 63 66 B4 */ addi r3, r3, 0x66b4
/* 802F3154 002EEDB4 4B F7 BE 04 */ b OSSendMessage
|