prime/asm/MetroidPrime/CMainFlow.s

469 lines
21 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .data
.balign 8
.global __vt__9CMainFlow
__vt__9CMainFlow:
# 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, __vt__9CMainFlow@ha
/* 80023548 000204A8 38 80 00 00 */ li r4, 0
/* 8002354C 000204AC 38 05 99 28 */ addi r0, r5, __vt__9CMainFlow@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 Push__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 "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
/* 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 Push__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 "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
/* 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 Push__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 "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
/* 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 Push__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 "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
/* 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 Push__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 "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
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
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
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
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
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)
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
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, __vt__9CMainFlow@ha
/* 800239FC 0002095C 38 00 FF FF */ li r0, -1
/* 80023A00 00020960 38 83 99 28 */ addi r4, r3, __vt__9CMainFlow@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