.include "macros.inc" .section .data .balign 8 .global lbl_803D9928 lbl_803D9928: # ROM: 0x3D6928 .4byte 0 .4byte 0 .4byte __dt__9CMainFlowFv .4byte OnMessage__9CMainFlowFRC20CArchitectureMessageR18CArchitectureQueue .4byte GetIsContinueDraw__9CMainFlowCFv .4byte Draw__9CMainFlowCFv .4byte PreDraw__6CIOWinCFv .global lbl_803D9944 lbl_803D9944: # ROM: 0x3D6944 .4byte lbl_800238E0 .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_80023898 .4byte lbl_800238A8 .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_800238EC .4byte lbl_80023888 .4byte lbl_800238B8 .section .sdata .balign 8 .global lbl_805A6D20 lbl_805A6D20: # ROM: 0x3F46C0 .4byte 0x0000000C .global lbl_805A6D24 lbl_805A6D24: # ROM: 0x3F46C4 .4byte 0x0000000B .global lbl_805A6D28 lbl_805A6D28: # ROM: 0x3F46C8 .4byte 0x0000000C .global lbl_805A6D2C lbl_805A6D2C: # ROM: 0x3F46CC .4byte 0x0000000B .global lbl_805A6D30 lbl_805A6D30: # ROM: 0x3F46D0 .4byte 0x0000000C .global lbl_805A6D34 lbl_805A6D34: # ROM: 0x3F46D4 .4byte 0x0000000B .global lbl_805A6D38 lbl_805A6D38: # ROM: 0x3F46D8 .4byte 0x0000000C .global lbl_805A6D3C lbl_805A6D3C: # ROM: 0x3F46DC .4byte 0x0000000B .global lbl_805A6D40 lbl_805A6D40: # ROM: 0x3F46E0 .4byte 0x0000000A .global lbl_805A6D44 lbl_805A6D44: # ROM: 0x3F46E4 .4byte 0x000003E8 .section .rodata .balign 8 .global lbl_803CCAA8 lbl_803CCAA8: .asciz "??(??)" .asciz "MainFlow" .balign 4 .section .text, "ax" .global __dt__9CMainFlowFv __dt__9CMainFlowFv: /* 80023524 00020484 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80023528 00020488 7C 08 02 A6 */ mflr r0 /* 8002352C 0002048C 90 01 00 14 */ stw r0, 0x14(r1) /* 80023530 00020490 93 E1 00 0C */ stw r31, 0xc(r1) /* 80023534 00020494 7C 9F 23 78 */ mr r31, r4 /* 80023538 00020498 93 C1 00 08 */ stw r30, 8(r1) /* 8002353C 0002049C 7C 7E 1B 79 */ or. r30, r3, r3 /* 80023540 000204A0 41 82 00 28 */ beq lbl_80023568 /* 80023544 000204A4 3C A0 80 3E */ lis r5, lbl_803D9928@ha /* 80023548 000204A8 38 80 00 00 */ li r4, 0 /* 8002354C 000204AC 38 05 99 28 */ addi r0, r5, lbl_803D9928@l /* 80023550 000204B0 90 1E 00 00 */ stw r0, 0(r30) /* 80023554 000204B4 48 02 F6 51 */ bl __dt__6CIOWinFv /* 80023558 000204B8 7F E0 07 35 */ extsh. r0, r31 /* 8002355C 000204BC 40 81 00 0C */ ble lbl_80023568 /* 80023560 000204C0 7F C3 F3 78 */ mr r3, r30 /* 80023564 000204C4 48 2F 23 CD */ bl Free__7CMemoryFPCv lbl_80023568: /* 80023568 000204C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8002356C 000204CC 7F C3 F3 78 */ mr r3, r30 /* 80023570 000204D0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80023574 000204D4 83 C1 00 08 */ lwz r30, 8(r1) /* 80023578 000204D8 7C 08 03 A6 */ mtlr r0 /* 8002357C 000204DC 38 21 00 10 */ addi r1, r1, 0x10 /* 80023580 000204E0 4E 80 00 20 */ blr .global SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue: /* 80023584 000204E4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80023588 000204E8 7C 08 02 A6 */ mflr r0 /* 8002358C 000204EC 90 01 00 64 */ stw r0, 0x64(r1) /* 80023590 000204F0 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80023594 000204F4 7C BF 2B 78 */ mr r31, r5 /* 80023598 000204F8 90 83 00 14 */ stw r4, 0x14(r3) /* 8002359C 000204FC 80 03 00 14 */ lwz r0, 0x14(r3) /* 800235A0 00020500 2C 00 00 0E */ cmpwi r0, 0xe /* 800235A4 00020504 41 82 02 2C */ beq lbl_800237D0 /* 800235A8 00020508 40 80 00 1C */ bge lbl_800235C4 /* 800235AC 0002050C 2C 00 00 08 */ cmpwi r0, 8 /* 800235B0 00020510 41 82 01 80 */ beq lbl_80023730 /* 800235B4 00020514 40 80 02 8C */ bge lbl_80023840 /* 800235B8 00020518 2C 00 00 07 */ cmpwi r0, 7 /* 800235BC 0002051C 40 80 01 08 */ bge lbl_800236C4 /* 800235C0 00020520 48 00 02 80 */ b lbl_80023840 lbl_800235C4: /* 800235C4 00020524 2C 00 00 10 */ cmpwi r0, 0x10 /* 800235C8 00020528 40 80 02 78 */ bge lbl_80023840 /* 800235CC 0002052C 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) /* 800235D0 00020530 38 00 00 00 */ li r0, 0 /* 800235D4 00020534 80 63 01 2C */ lwz r3, 0x12c(r3) /* 800235D8 00020538 2C 03 00 01 */ cmpwi r3, 1 /* 800235DC 0002053C 41 80 00 10 */ blt lbl_800235EC /* 800235E0 00020540 2C 03 00 04 */ cmpwi r3, 4 /* 800235E4 00020544 41 81 00 08 */ bgt lbl_800235EC /* 800235E8 00020548 38 00 00 01 */ li r0, 1 lbl_800235EC: /* 800235EC 0002054C 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 800235F0 00020550 41 82 02 50 */ beq lbl_80023840 /* 800235F4 00020554 2C 03 00 04 */ cmpwi r3, 4 /* 800235F8 00020558 40 80 00 6C */ bge lbl_80023664 /* 800235FC 0002055C 2C 03 00 01 */ cmpwi r3, 1 /* 80023600 00020560 40 80 00 08 */ bge lbl_80023608 /* 80023604 00020564 48 00 00 60 */ b lbl_80023664 lbl_80023608: /* 80023608 00020568 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 8002360C 0002056C 38 60 00 60 */ li r3, 0x60 /* 80023610 00020570 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 80023614 00020574 38 A0 00 00 */ li r5, 0 /* 80023618 00020578 48 2F 22 55 */ bl __nw__FUlPCcPCc /* 8002361C 0002057C 7C 60 1B 79 */ or. r0, r3, r3 /* 80023620 00020580 41 82 00 0C */ beq lbl_8002362C /* 80023624 00020584 48 00 2C 99 */ bl __ct__8CCreditsFv /* 80023628 00020588 7C 60 1B 78 */ mr r0, r3 lbl_8002362C: /* 8002362C 0002058C 90 01 00 18 */ stw r0, 0x18(r1) /* 80023630 00020590 38 61 00 4C */ addi r3, r1, 0x4c /* 80023634 00020594 38 E1 00 18 */ addi r7, r1, 0x18 /* 80023638 00020598 38 80 00 00 */ li r4, 0 /* 8002363C 0002059C 38 AD 81 60 */ addi r5, r13, lbl_805A6D20@sda21 /* 80023640 000205A0 38 CD 81 64 */ addi r6, r13, lbl_805A6D24@sda21 /* 80023644 000205A4 48 02 E6 69 */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin /* 80023648 000205A8 7F E3 FB 78 */ mr r3, r31 /* 8002364C 000205AC 38 81 00 4C */ addi r4, r1, 0x4c /* 80023650 000205B0 4B FE 36 B1 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage /* 80023654 000205B4 34 61 00 54 */ addic. r3, r1, 0x54 /* 80023658 000205B8 41 82 01 E8 */ beq lbl_80023840 /* 8002365C 000205BC 4B FE 50 B1 */ bl sub_8000870c /* 80023660 000205C0 48 00 01 E0 */ b lbl_80023840 lbl_80023664: /* 80023664 000205C4 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 80023668 000205C8 38 60 00 7C */ li r3, 0x7c /* 8002366C 000205CC 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 80023670 000205D0 38 A0 00 00 */ li r5, 0 /* 80023674 000205D4 48 2F 21 F9 */ bl __nw__FUlPCcPCc /* 80023678 000205D8 7C 60 1B 79 */ or. r0, r3, r3 /* 8002367C 000205DC 41 82 00 10 */ beq lbl_8002368C /* 80023680 000205E0 38 80 00 03 */ li r4, 3 /* 80023684 000205E4 48 00 40 E1 */ bl __ct__10CPlayMovieFQ210CPlayMovie11EWhichMovie /* 80023688 000205E8 7C 60 1B 78 */ mr r0, r3 lbl_8002368C: /* 8002368C 000205EC 90 01 00 14 */ stw r0, 0x14(r1) /* 80023690 000205F0 38 61 00 40 */ addi r3, r1, 0x40 /* 80023694 000205F4 38 E1 00 14 */ addi r7, r1, 0x14 /* 80023698 000205F8 38 80 00 00 */ li r4, 0 /* 8002369C 000205FC 38 AD 81 68 */ addi r5, r13, lbl_805A6D28@sda21 /* 800236A0 00020600 38 CD 81 6C */ addi r6, r13, lbl_805A6D2C@sda21 /* 800236A4 00020604 48 02 E6 09 */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin /* 800236A8 00020608 7F E3 FB 78 */ mr r3, r31 /* 800236AC 0002060C 38 81 00 40 */ addi r4, r1, 0x40 /* 800236B0 00020610 4B FE 36 51 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage /* 800236B4 00020614 34 61 00 48 */ addic. r3, r1, 0x48 /* 800236B8 00020618 41 82 01 88 */ beq lbl_80023840 /* 800236BC 0002061C 4B FE 50 51 */ bl sub_8000870c /* 800236C0 00020620 48 00 01 80 */ b lbl_80023840 lbl_800236C4: /* 800236C4 00020624 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) /* 800236C8 00020628 80 03 01 2C */ lwz r0, 0x12c(r3) /* 800236CC 0002062C 2C 00 00 00 */ cmpwi r0, 0 /* 800236D0 00020630 41 82 01 70 */ beq lbl_80023840 /* 800236D4 00020634 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 800236D8 00020638 38 60 00 18 */ li r3, 0x18 /* 800236DC 0002063C 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 800236E0 00020640 38 A0 00 00 */ li r5, 0 /* 800236E4 00020644 48 2F 21 89 */ bl __nw__FUlPCcPCc /* 800236E8 00020648 7C 60 1B 79 */ or. r0, r3, r3 /* 800236EC 0002064C 41 82 00 0C */ beq lbl_800236F8 /* 800236F0 00020650 48 27 AE F1 */ bl __ct__12CPreFrontEndFv /* 800236F4 00020654 7C 60 1B 78 */ mr r0, r3 lbl_800236F8: /* 800236F8 00020658 90 01 00 10 */ stw r0, 0x10(r1) /* 800236FC 0002065C 38 61 00 34 */ addi r3, r1, 0x34 /* 80023700 00020660 38 E1 00 10 */ addi r7, r1, 0x10 /* 80023704 00020664 38 80 00 00 */ li r4, 0 /* 80023708 00020668 38 AD 81 70 */ addi r5, r13, lbl_805A6D30@sda21 /* 8002370C 0002066C 38 CD 81 74 */ addi r6, r13, lbl_805A6D34@sda21 /* 80023710 00020670 48 02 E5 9D */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin /* 80023714 00020674 7F E3 FB 78 */ mr r3, r31 /* 80023718 00020678 38 81 00 34 */ addi r4, r1, 0x34 /* 8002371C 0002067C 4B FE 35 E5 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage /* 80023720 00020680 34 61 00 3C */ addic. r3, r1, 0x3c /* 80023724 00020684 41 82 01 1C */ beq lbl_80023840 /* 80023728 00020688 4B FE 4F E5 */ bl sub_8000870c /* 8002372C 0002068C 48 00 01 14 */ b lbl_80023840 lbl_80023730: /* 80023730 00020690 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) /* 80023734 00020694 80 03 01 2C */ lwz r0, 0x12c(r3) /* 80023738 00020698 2C 00 00 00 */ cmpwi r0, 0 /* 8002373C 0002069C 41 82 01 04 */ beq lbl_80023840 /* 80023740 000206A0 2C 00 00 06 */ cmpwi r0, 6 /* 80023744 000206A4 40 82 00 30 */ bne lbl_80023774 /* 80023748 000206A8 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 8002374C 000206AC 38 60 00 14 */ li r3, 0x14 /* 80023750 000206B0 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 80023754 000206B4 38 A0 00 00 */ li r5, 0 /* 80023758 000206B8 48 2F 21 15 */ bl __nw__FUlPCcPCc /* 8002375C 000206BC 7C 60 1B 79 */ or. r0, r3, r3 /* 80023760 000206C0 41 82 00 0C */ beq lbl_8002376C /* 80023764 000206C4 4B FF E3 35 */ bl __ct__16CStateSetterFlowFv /* 80023768 000206C8 7C 60 1B 78 */ mr r0, r3 lbl_8002376C: /* 8002376C 000206CC 90 01 00 0C */ stw r0, 0xc(r1) /* 80023770 000206D0 48 00 00 2C */ b lbl_8002379C lbl_80023774: /* 80023774 000206D4 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 80023778 000206D8 38 60 00 F8 */ li r3, 0xf8 /* 8002377C 000206DC 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 80023780 000206E0 38 A0 00 00 */ li r5, 0 /* 80023784 000206E4 48 2F 20 E9 */ bl __nw__FUlPCcPCc /* 80023788 000206E8 7C 60 1B 79 */ or. r0, r3, r3 /* 8002378C 000206EC 41 82 00 0C */ beq lbl_80023798 /* 80023790 000206F0 4B FF A4 49 */ bl __ct__11CFrontEndUIFR18CArchitectureQueue /* 80023794 000206F4 7C 60 1B 78 */ mr r0, r3 lbl_80023798: /* 80023798 000206F8 90 01 00 0C */ stw r0, 0xc(r1) lbl_8002379C: /* 8002379C 000206FC 38 61 00 28 */ addi r3, r1, 0x28 /* 800237A0 00020700 38 E1 00 0C */ addi r7, r1, 0xc /* 800237A4 00020704 38 80 00 00 */ li r4, 0 /* 800237A8 00020708 38 AD 81 78 */ addi r5, r13, lbl_805A6D38@sda21 /* 800237AC 0002070C 38 CD 81 7C */ addi r6, r13, lbl_805A6D3C@sda21 /* 800237B0 00020710 48 02 E4 FD */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin /* 800237B4 00020714 7F E3 FB 78 */ mr r3, r31 /* 800237B8 00020718 38 81 00 28 */ addi r4, r1, 0x28 /* 800237BC 0002071C 4B FE 35 45 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage /* 800237C0 00020720 34 61 00 30 */ addic. r3, r1, 0x30 /* 800237C4 00020724 41 82 00 7C */ beq lbl_80023840 /* 800237C8 00020728 4B FE 4F 45 */ bl sub_8000870c /* 800237CC 0002072C 48 00 00 74 */ b lbl_80023840 lbl_800237D0: /* 800237D0 00020730 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) /* 800237D4 00020734 38 63 01 7C */ addi r3, r3, 0x17c /* 800237D8 00020738 48 1E B9 25 */ bl EnsureOptions__12CGameOptionsFv /* 800237DC 0002073C 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 800237E0 00020740 38 60 00 30 */ li r3, 0x30 /* 800237E4 00020744 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 800237E8 00020748 38 A0 00 00 */ li r5, 0 /* 800237EC 0002074C 48 2F 20 81 */ bl __nw__FUlPCcPCc /* 800237F0 00020750 7C 64 1B 79 */ or. r4, r3, r3 /* 800237F4 00020754 41 82 00 0C */ beq lbl_80023800 /* 800237F8 00020758 48 00 09 9D */ bl __ct__13CMFGameLoaderFv /* 800237FC 0002075C 7C 64 1B 78 */ mr r4, r3 lbl_80023800: /* 80023800 00020760 80 AD A0 78 */ lwz r5, gpMain@sda21(r13) /* 80023804 00020764 38 00 00 05 */ li r0, 5 /* 80023808 00020768 90 81 00 08 */ stw r4, 8(r1) /* 8002380C 0002076C 38 61 00 1C */ addi r3, r1, 0x1c /* 80023810 00020770 38 E1 00 08 */ addi r7, r1, 8 /* 80023814 00020774 38 80 00 00 */ li r4, 0 /* 80023818 00020778 90 05 01 2C */ stw r0, 0x12c(r5) /* 8002381C 0002077C 38 AD 81 80 */ addi r5, r13, lbl_805A6D40@sda21 /* 80023820 00020780 38 CD 81 84 */ addi r6, r13, lbl_805A6D44@sda21 /* 80023824 00020784 48 02 E4 89 */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin /* 80023828 00020788 7F E3 FB 78 */ mr r3, r31 /* 8002382C 0002078C 38 81 00 1C */ addi r4, r1, 0x1c /* 80023830 00020790 4B FE 34 D1 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage /* 80023834 00020794 34 61 00 24 */ addic. r3, r1, 0x24 /* 80023838 00020798 41 82 00 08 */ beq lbl_80023840 /* 8002383C 0002079C 4B FE 4E D1 */ bl sub_8000870c lbl_80023840: /* 80023840 000207A0 80 01 00 64 */ lwz r0, 0x64(r1) /* 80023844 000207A4 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80023848 000207A8 7C 08 03 A6 */ mtlr r0 /* 8002384C 000207AC 38 21 00 60 */ addi r1, r1, 0x60 /* 80023850 000207B0 4E 80 00 20 */ blr .global AdvanceGameState__9CMainFlowFR18CArchitectureQueue AdvanceGameState__9CMainFlowFR18CArchitectureQueue: /* 80023854 000207B4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80023858 000207B8 7C 08 02 A6 */ mflr r0 /* 8002385C 000207BC 90 01 00 14 */ stw r0, 0x14(r1) /* 80023860 000207C0 80 A3 00 14 */ lwz r5, 0x14(r3) /* 80023864 000207C4 38 05 00 01 */ addi r0, r5, 1 /* 80023868 000207C8 28 00 00 10 */ cmplwi r0, 0x10 /* 8002386C 000207CC 41 81 00 80 */ bgt lbl_800238EC /* 80023870 000207D0 3C A0 80 3E */ lis r5, lbl_803D9944@ha /* 80023874 000207D4 54 00 10 3A */ slwi r0, r0, 2 /* 80023878 000207D8 38 A5 99 44 */ addi r5, r5, lbl_803D9944@l /* 8002387C 000207DC 7C 05 00 2E */ lwzx r0, r5, r0 /* 80023880 000207E0 7C 09 03 A6 */ mtctr r0 /* 80023884 000207E4 4E 80 04 20 */ bctr .global lbl_80023888 lbl_80023888: /* 80023888 000207E8 7C 85 23 78 */ mr r5, r4 /* 8002388C 000207EC 38 80 00 0F */ li r4, 0xf /* 80023890 000207F0 4B FF FC F5 */ bl SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue /* 80023894 000207F4 48 00 00 58 */ b lbl_800238EC .global lbl_80023898 lbl_80023898: /* 80023898 000207F8 7C 85 23 78 */ mr r5, r4 /* 8002389C 000207FC 38 80 00 08 */ li r4, 8 /* 800238A0 00020800 4B FF FC E5 */ bl SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue /* 800238A4 00020804 48 00 00 48 */ b lbl_800238EC .global lbl_800238A8 lbl_800238A8: /* 800238A8 00020808 7C 85 23 78 */ mr r5, r4 /* 800238AC 0002080C 38 80 00 0E */ li r4, 0xe /* 800238B0 00020810 4B FF FC D5 */ bl SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue /* 800238B4 00020814 48 00 00 38 */ b lbl_800238EC .global lbl_800238B8 lbl_800238B8: /* 800238B8 00020818 80 CD A0 78 */ lwz r6, gpMain@sda21(r13) /* 800238BC 0002081C 80 06 01 2C */ lwz r0, 0x12c(r6) /* 800238C0 00020820 2C 00 00 00 */ cmpwi r0, 0 /* 800238C4 00020824 41 82 00 1C */ beq lbl_800238E0 /* 800238C8 00020828 2C 00 00 06 */ cmpwi r0, 6 /* 800238CC 0002082C 41 82 00 14 */ beq lbl_800238E0 /* 800238D0 00020830 88 06 01 60 */ lbz r0, 0x160(r6) /* 800238D4 00020834 38 A0 00 01 */ li r5, 1 /* 800238D8 00020838 50 A0 0F BC */ rlwimi r0, r5, 1, 0x1e, 0x1e /* 800238DC 0002083C 98 06 01 60 */ stb r0, 0x160(r6) .global lbl_800238E0 lbl_800238E0: /* 800238E0 00020840 7C 85 23 78 */ mr r5, r4 /* 800238E4 00020844 38 80 00 07 */ li r4, 7 /* 800238E8 00020848 4B FF FC 9D */ bl SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue .global lbl_800238EC lbl_800238EC: /* 800238EC 0002084C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800238F0 00020850 7C 08 03 A6 */ mtlr r0 /* 800238F4 00020854 38 21 00 10 */ addi r1, r1, 0x10 /* 800238F8 00020858 4E 80 00 20 */ blr .global Draw__9CMainFlowCFv Draw__9CMainFlowCFv: /* 800238FC 0002085C 4E 80 00 20 */ blr .global GetIsContinueDraw__9CMainFlowCFv GetIsContinueDraw__9CMainFlowCFv: /* 80023900 00020860 38 60 00 00 */ li r3, 0 /* 80023904 00020864 4E 80 00 20 */ blr .global OnMessage__9CMainFlowFRC20CArchitectureMessageR18CArchitectureQueue OnMessage__9CMainFlowFRC20CArchitectureMessageR18CArchitectureQueue: /* 80023908 00020868 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8002390C 0002086C 7C 08 02 A6 */ mflr r0 /* 80023910 00020870 90 01 00 24 */ stw r0, 0x24(r1) /* 80023914 00020874 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80023918 00020878 7C BF 2B 78 */ mr r31, r5 /* 8002391C 0002087C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80023920 00020880 7C 7E 1B 78 */ mr r30, r3 /* 80023924 00020884 80 04 00 04 */ lwz r0, 4(r4) /* 80023928 00020888 2C 00 00 05 */ cmpwi r0, 5 /* 8002392C 0002088C 41 82 00 74 */ beq lbl_800239A0 /* 80023930 00020890 40 80 00 10 */ bge lbl_80023940 /* 80023934 00020894 2C 00 00 04 */ cmpwi r0, 4 /* 80023938 00020898 40 80 00 14 */ bge lbl_8002394C /* 8002393C 0002089C 48 00 00 64 */ b lbl_800239A0 lbl_80023940: /* 80023940 000208A0 2C 00 00 07 */ cmpwi r0, 7 /* 80023944 000208A4 40 80 00 5C */ bge lbl_800239A0 /* 80023948 000208A8 48 00 00 10 */ b lbl_80023958 lbl_8002394C: /* 8002394C 000208AC 7F E4 FB 78 */ mr r4, r31 /* 80023950 000208B0 4B FF FF 05 */ bl AdvanceGameState__9CMainFlowFR18CArchitectureQueue /* 80023954 000208B4 48 00 00 4C */ b lbl_800239A0 lbl_80023958: /* 80023958 000208B8 7C 83 23 78 */ mr r3, r4 /* 8002395C 000208BC 48 02 E1 7D */ bl GetParmNewGameflowState__7MakeMsgFRC20CArchitectureMessage /* 80023960 000208C0 3C A0 80 3E */ lis r5, __vt__24IArchitectureMessageParm@ha /* 80023964 000208C4 3C 80 80 3E */ lis r4, __vt__17CArchMsgParmInt32@ha /* 80023968 000208C8 38 05 8E 9C */ addi r0, r5, __vt__24IArchitectureMessageParm@l /* 8002396C 000208CC 90 01 00 08 */ stw r0, 8(r1) /* 80023970 000208D0 38 04 9E 50 */ addi r0, r4, __vt__17CArchMsgParmInt32@l /* 80023974 000208D4 7F E5 FB 78 */ mr r5, r31 /* 80023978 000208D8 90 01 00 08 */ stw r0, 8(r1) /* 8002397C 000208DC 80 83 00 04 */ lwz r4, 4(r3) /* 80023980 000208E0 7F C3 F3 78 */ mr r3, r30 /* 80023984 000208E4 90 81 00 0C */ stw r4, 0xc(r1) /* 80023988 000208E8 4B FF FB FD */ bl SetGameState__9CMainFlowF17EClientFlowStatesR18CArchitectureQueue /* 8002398C 000208EC 38 61 00 08 */ addi r3, r1, 8 /* 80023990 000208F0 38 80 FF FF */ li r4, -1 /* 80023994 000208F4 48 02 DC 35 */ bl __dt__17CArchMsgParmInt32Fv /* 80023998 000208F8 38 60 00 01 */ li r3, 1 /* 8002399C 000208FC 48 00 00 08 */ b lbl_800239A4 lbl_800239A0: /* 800239A0 00020900 38 60 00 00 */ li r3, 0 lbl_800239A4: /* 800239A4 00020904 80 01 00 24 */ lwz r0, 0x24(r1) /* 800239A8 00020908 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800239AC 0002090C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800239B0 00020910 7C 08 03 A6 */ mtlr r0 /* 800239B4 00020914 38 21 00 20 */ addi r1, r1, 0x20 /* 800239B8 00020918 4E 80 00 20 */ blr .global __ct__9CMainFlowFv __ct__9CMainFlowFv: /* 800239BC 0002091C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800239C0 00020920 7C 08 02 A6 */ mflr r0 /* 800239C4 00020924 3C 80 80 3D */ lis r4, lbl_803CCAA8@ha /* 800239C8 00020928 90 01 00 24 */ stw r0, 0x24(r1) /* 800239CC 0002092C 38 84 CA A8 */ addi r4, r4, lbl_803CCAA8@l /* 800239D0 00020930 38 84 00 07 */ addi r4, r4, 7 /* 800239D4 00020934 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800239D8 00020938 7C 7F 1B 78 */ mr r31, r3 /* 800239DC 0002093C 38 61 00 08 */ addi r3, r1, 8 /* 800239E0 00020940 4B FE 12 D9 */ bl string_l__4rstlFPCc /* 800239E4 00020944 7F E3 FB 78 */ mr r3, r31 /* 800239E8 00020948 38 81 00 08 */ addi r4, r1, 8 /* 800239EC 0002094C 48 02 F2 21 */ bl "__ct__6CIOWinFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>" /* 800239F0 00020950 38 61 00 08 */ addi r3, r1, 8 /* 800239F4 00020954 48 31 A0 ED */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv" /* 800239F8 00020958 3C 60 80 3E */ lis r3, lbl_803D9928@ha /* 800239FC 0002095C 38 00 FF FF */ li r0, -1 /* 80023A00 00020960 38 83 99 28 */ addi r4, r3, lbl_803D9928@l /* 80023A04 00020964 7F E3 FB 78 */ mr r3, r31 /* 80023A08 00020968 90 9F 00 00 */ stw r4, 0(r31) /* 80023A0C 0002096C 90 1F 00 14 */ stw r0, 0x14(r31) /* 80023A10 00020970 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80023A14 00020974 80 01 00 24 */ lwz r0, 0x24(r1) /* 80023A18 00020978 7C 08 03 A6 */ mtlr r0 /* 80023A1C 0002097C 38 21 00 20 */ addi r1, r1, 0x20 /* 80023A20 00020980 4E 80 00 20 */ blr