.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