prime/asm/MetroidPrime/CMFGame.s

1796 lines
87 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .ctors, "wa"
lbl_ctor:
.4byte __sinit_CMFGame_cpp
.section .bss
.balign 8
.lcomm lbl_8045A1A8, 0xF98, 4
.section .data
.balign 8
.global lbl_803D9988
lbl_803D9988:
# ROM: 0x3D6988
.4byte lbl_803CCAB8
.4byte lbl_803CCAC6
.4byte lbl_803CCAD4
.4byte 0
.global lbl_803D9998
lbl_803D9998:
# ROM: 0x3D6998
.4byte 0
.4byte 0
.4byte __dt__13CMFGameLoaderFv
.4byte OnMessage__13CMFGameLoaderFRC20CArchitectureMessageR18CArchitectureQueue
.4byte GetIsContinueDraw__6CIOWinCFv
.4byte Draw__13CMFGameLoaderCFv
.4byte PreDraw__6CIOWinCFv
.global lbl_803D99B4
lbl_803D99B4:
# ROM: 0x3D69B4
.4byte lbl_8002470C
.4byte lbl_80024A74
.4byte lbl_80024D48
.4byte lbl_80024D48
.4byte lbl_80024D3C
.4byte lbl_80024D48
.4byte lbl_800246F0
.4byte lbl_80024CF4
.global lbl_803D99D4
lbl_803D99D4:
# ROM: 0x3D69D4
.4byte 0
.4byte 0
.4byte __dt__7CMFGameFv
.4byte OnMessage__7CMFGameFRC20CArchitectureMessageR18CArchitectureQueue
.4byte GetIsContinueDraw__6CIOWinCFv
.4byte Draw__7CMFGameCFv
.4byte PreDraw__6CIOWinCFv
.section .sdata
.balign 8
.global lbl_805A6D48
lbl_805A6D48:
# ROM: 0x3F46E8
.float 1.0
.global lbl_805A6D4C
lbl_805A6D4C:
# ROM: 0x3F46EC
.4byte 0x0000000A
.global lbl_805A6D50
lbl_805A6D50:
# ROM: 0x3F46F0
.4byte 0x000003E8
.4byte 0
.section .rodata
.balign 8
.global lbl_803CCAB8
lbl_803CCAB8:
.asciz "aram:TestAnim"
lbl_803CCAC6:
.asciz "aram:SamusGun"
lbl_803CCAD4:
.asciz "aram:SamGunFx"
.asciz "??(??)"
.asciz "CMFGameLoader"
.asciz "STRG_IntroLevelLoad"
.asciz "CMFGame"
.balign 4
.4byte 0
.section .sbss
.balign 8
# CMFGame
.global lbl_805A8CB8
lbl_805A8CB8:
.skip 0x8
# TOneStatic<CStateManager>
.global lbl_805A8CC0
lbl_805A8CC0:
.skip 0x4
.global lbl_805A8CC4
lbl_805A8CC4:
.skip 0x4
.section .sdata2, "a"
.balign 8
.global lbl_805AA020
lbl_805AA020:
# ROM: 0x3F68C0
.float 0.1
.global lbl_805AA024
lbl_805AA024:
# ROM: 0x3F68C4
.4byte 0x41800000
.global lbl_805AA028
lbl_805AA028:
# ROM: 0x3F68C8
.float 1.0
.global lbl_805AA02C
lbl_805AA02C:
# ROM: 0x3F68CC
.4byte 0
.section .text, "ax"
.global Draw__13CMFGameLoaderCFv
Draw__13CMFGameLoaderCFv:
/* 80023A24 00020984 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80023A28 00020988 7C 08 02 A6 */ mflr r0
/* 80023A2C 0002098C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80023A30 00020990 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80023A34 00020994 48 1A FE E5 */ bl WorldTransitionManager__10CGameStateFv
/* 80023A38 00020998 80 63 00 00 */ lwz r3, 0(r3)
/* 80023A3C 0002099C 80 63 00 00 */ lwz r3, 0(r3)
/* 80023A40 000209A0 48 1E 6D 3D */ bl Draw__18CWorldTransManagerCFv
/* 80023A44 000209A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80023A48 000209A8 7C 08 03 A6 */ mtlr r0
/* 80023A4C 000209AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80023A50 000209B0 4E 80 00 20 */ blr
.global OnMessage__13CMFGameLoaderFRC20CArchitectureMessageR18CArchitectureQueue
OnMessage__13CMFGameLoaderFRC20CArchitectureMessageR18CArchitectureQueue:
/* 80023A54 000209B4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80023A58 000209B8 7C 08 02 A6 */ mflr r0
/* 80023A5C 000209BC 90 01 00 74 */ stw r0, 0x74(r1)
/* 80023A60 000209C0 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80023A64 000209C4 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 80023A68 000209C8 BF 01 00 40 */ stmw r24, 0x40(r1)
/* 80023A6C 000209CC 7C 7D 1B 78 */ mr r29, r3
/* 80023A70 000209D0 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80023A74 000209D4 7C 98 23 78 */ mr r24, r4
/* 80023A78 000209D8 7C BE 2B 78 */ mr r30, r5
/* 80023A7C 000209DC 48 1A FE 9D */ bl WorldTransitionManager__10CGameStateFv
/* 80023A80 000209E0 80 18 00 04 */ lwz r0, 4(r24)
/* 80023A84 000209E4 7C 7F 1B 78 */ mr r31, r3
/* 80023A88 000209E8 2C 00 00 04 */ cmpwi r0, 4
/* 80023A8C 000209EC 40 82 03 58 */ bne lbl_80023DE4
/* 80023A90 000209F0 7F 03 C3 78 */ mr r3, r24
/* 80023A94 000209F4 48 02 E1 29 */ bl GetParmTimerTick__7MakeMsgFRC20CArchitectureMessage
/* 80023A98 000209F8 88 1D 00 2C */ lbz r0, 0x2c(r29)
/* 80023A9C 000209FC C3 E3 00 04 */ lfs f31, 4(r3)
/* 80023AA0 00020A00 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80023AA4 00020A04 40 82 00 A4 */ bne lbl_80023B48
/* 80023AA8 00020A08 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 80023AAC 00020A0C 2C 00 00 00 */ cmpwi r0, 0
/* 80023AB0 00020A10 40 82 00 20 */ bne lbl_80023AD0
/* 80023AB4 00020A14 7F A3 EB 78 */ mr r3, r29
/* 80023AB8 00020A18 48 00 04 2D */ bl MakeLoadDependancyList__13CMFGameLoaderFv
/* 80023ABC 00020A1C 80 7F 00 00 */ lwz r3, 0(r31)
/* 80023AC0 00020A20 80 63 00 00 */ lwz r3, 0(r3)
/* 80023AC4 00020A24 48 1E 70 B5 */ bl StartTransition__18CWorldTransManagerFv
/* 80023AC8 00020A28 38 60 00 01 */ li r3, 1
/* 80023ACC 00020A2C 48 00 03 FC */ b lbl_80023EC8
lbl_80023AD0:
/* 80023AD0 00020A30 83 3D 00 28 */ lwz r25, 0x28(r29)
/* 80023AD4 00020A34 3B 40 00 00 */ li r26, 0
/* 80023AD8 00020A38 48 00 00 24 */ b lbl_80023AFC
lbl_80023ADC:
/* 80023ADC 00020A3C 7F 23 CB 78 */ mr r3, r25
/* 80023AE0 00020A40 48 31 D2 A5 */ bl Lock__6CTokenFv
/* 80023AE4 00020A44 80 79 00 00 */ lwz r3, 0(r25)
/* 80023AE8 00020A48 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80023AEC 00020A4C 28 00 00 00 */ cmplwi r0, 0
/* 80023AF0 00020A50 40 82 00 08 */ bne lbl_80023AF8
/* 80023AF4 00020A54 3B 5A 00 01 */ addi r26, r26, 1
lbl_80023AF8:
/* 80023AF8 00020A58 3B 39 00 08 */ addi r25, r25, 8
lbl_80023AFC:
/* 80023AFC 00020A5C 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 80023B00 00020A60 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 80023B04 00020A64 54 00 18 38 */ slwi r0, r0, 3
/* 80023B08 00020A68 7C 03 02 14 */ add r0, r3, r0
/* 80023B0C 00020A6C 7C 19 00 40 */ cmplw r25, r0
/* 80023B10 00020A70 40 82 FF CC */ bne lbl_80023ADC
/* 80023B14 00020A74 80 7F 00 00 */ lwz r3, 0(r31)
/* 80023B18 00020A78 FC 20 F8 90 */ fmr f1, f31
/* 80023B1C 00020A7C 80 63 00 00 */ lwz r3, 0(r3)
/* 80023B20 00020A80 48 1E 6F D5 */ bl Update__18CWorldTransManagerFf
/* 80023B24 00020A84 2C 1A 00 00 */ cmpwi r26, 0
/* 80023B28 00020A88 41 82 00 0C */ beq lbl_80023B34
/* 80023B2C 00020A8C 38 60 00 01 */ li r3, 1
/* 80023B30 00020A90 48 00 03 98 */ b lbl_80023EC8
lbl_80023B34:
/* 80023B34 00020A94 88 1D 00 2C */ lbz r0, 0x2c(r29)
/* 80023B38 00020A98 38 60 00 01 */ li r3, 1
/* 80023B3C 00020A9C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80023B40 00020AA0 98 1D 00 2C */ stb r0, 0x2c(r29)
/* 80023B44 00020AA4 48 00 00 14 */ b lbl_80023B58
lbl_80023B48:
/* 80023B48 00020AA8 80 7F 00 00 */ lwz r3, 0(r31)
/* 80023B4C 00020AAC FC 20 F8 90 */ fmr f1, f31
/* 80023B50 00020AB0 80 63 00 00 */ lwz r3, 0(r3)
/* 80023B54 00020AB4 48 1E 6F A1 */ bl Update__18CWorldTransManagerFf
lbl_80023B58:
/* 80023B58 00020AB8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80023B5C 00020ABC 80 03 00 00 */ lwz r0, 0(r3)
/* 80023B60 00020AC0 28 00 00 00 */ cmplwi r0, 0
/* 80023B64 00020AC4 40 82 00 F0 */ bne lbl_80023C54
/* 80023B68 00020AC8 80 7F 00 00 */ lwz r3, 0(r31)
/* 80023B6C 00020ACC 80 63 00 00 */ lwz r3, 0(r3)
/* 80023B70 00020AD0 48 1E 52 A9 */ bl WaitForModelsAndTextures__18CWorldTransManagerFv
/* 80023B74 00020AD4 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80023B78 00020AD8 48 1A FE 35 */ bl CurrentWorldState__10CGameStateFv
/* 80023B7C 00020ADC 3C 80 80 3D */ lis r4, lbl_803CCAB8@ha
/* 80023B80 00020AE0 7C 60 1B 78 */ mr r0, r3
/* 80023B84 00020AE4 38 84 CA B8 */ addi r4, r4, lbl_803CCAB8@l
/* 80023B88 00020AE8 38 60 0F 98 */ li r3, 0xf98
/* 80023B8C 00020AEC 7C 18 03 78 */ mr r24, r0
/* 80023B90 00020AF0 38 A0 00 00 */ li r5, 0
/* 80023B94 00020AF4 38 84 00 2A */ addi r4, r4, 0x2a
/* 80023B98 00020AF8 48 00 15 45 */ bl "__nw__27TOneStatic<13CStateManager>FUlPCcPCc"
/* 80023B9C 00020AFC 7C 79 1B 79 */ or. r25, r3, r3
/* 80023BA0 00020B00 41 82 00 50 */ beq lbl_80023BF0
/* 80023BA4 00020B04 7F 03 C3 78 */ mr r3, r24
/* 80023BA8 00020B08 48 1B 11 8D */ bl GetLayerState__11CWorldStateFv
/* 80023BAC 00020B0C 7C 7A 1B 78 */ mr r26, r3
/* 80023BB0 00020B10 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80023BB4 00020B14 48 1A FD 89 */ bl PlayerState__10CGameStateFv
/* 80023BB8 00020B18 7C 7B 1B 78 */ mr r27, r3
/* 80023BBC 00020B1C 7F 03 C3 78 */ mr r3, r24
/* 80023BC0 00020B20 48 1B 11 C1 */ bl MapWorldInfo__11CWorldStateFv
/* 80023BC4 00020B24 7C 7C 1B 78 */ mr r28, r3
/* 80023BC8 00020B28 7F 03 C3 78 */ mr r3, r24
/* 80023BCC 00020B2C 48 1B 11 BD */ bl Mailbox__11CWorldStateFv
/* 80023BD0 00020B30 7C 64 1B 78 */ mr r4, r3
/* 80023BD4 00020B34 7F 23 CB 78 */ mr r3, r25
/* 80023BD8 00020B38 7F 85 E3 78 */ mr r5, r28
/* 80023BDC 00020B3C 7F 66 DB 78 */ mr r6, r27
/* 80023BE0 00020B40 7F E7 FB 78 */ mr r7, r31
/* 80023BE4 00020B44 7F 48 D3 78 */ mr r8, r26
/* 80023BE8 00020B48 48 02 A5 4D */ bl "__ct__13CStateManagerFRCQ24rstl26ncrc_ptr<14CScriptMailbox>RCQ24rstl25ncrc_ptr<13CMapWorldInfo>RCQ24rstl24ncrc_ptr<12CPlayerState>RCQ24rstl30ncrc_ptr<18CWorldTransManager>"
/* 80023BEC 00020B4C 7C 79 1B 78 */ mr r25, r3
lbl_80023BF0:
/* 80023BF0 00020B50 3C 80 80 3D */ lis r4, lbl_803CCAB8@ha
/* 80023BF4 00020B54 38 60 00 08 */ li r3, 8
/* 80023BF8 00020B58 38 84 CA B8 */ addi r4, r4, lbl_803CCAB8@l
/* 80023BFC 00020B5C 38 A0 00 00 */ li r5, 0
/* 80023C00 00020B60 38 84 00 2A */ addi r4, r4, 0x2a
/* 80023C04 00020B64 48 2F 1C 69 */ bl __nw__FUlPCcPCc
/* 80023C08 00020B68 28 03 00 00 */ cmplwi r3, 0
/* 80023C0C 00020B6C 41 82 00 10 */ beq lbl_80023C1C
/* 80023C10 00020B70 93 23 00 00 */ stw r25, 0(r3)
/* 80023C14 00020B74 38 00 00 01 */ li r0, 1
/* 80023C18 00020B78 90 03 00 04 */ stw r0, 4(r3)
lbl_80023C1C:
/* 80023C1C 00020B7C 90 61 00 2C */ stw r3, 0x2c(r1)
/* 80023C20 00020B80 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80023C24 00020B84 7C 00 18 40 */ cmplw r0, r3
/* 80023C28 00020B88 41 82 00 24 */ beq lbl_80023C4C
/* 80023C2C 00020B8C 38 7D 00 14 */ addi r3, r29, 0x14
/* 80023C30 00020B90 48 00 14 51 */ bl sub_80025080
/* 80023C34 00020B94 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80023C38 00020B98 90 1D 00 14 */ stw r0, 0x14(r29)
/* 80023C3C 00020B9C 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80023C40 00020BA0 80 64 00 04 */ lwz r3, 4(r4)
/* 80023C44 00020BA4 38 03 00 01 */ addi r0, r3, 1
/* 80023C48 00020BA8 90 04 00 04 */ stw r0, 4(r4)
lbl_80023C4C:
/* 80023C4C 00020BAC 38 61 00 2C */ addi r3, r1, 0x2c
/* 80023C50 00020BB0 48 00 14 31 */ bl sub_80025080
lbl_80023C54:
/* 80023C54 00020BB4 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80023C58 00020BB8 80 63 00 00 */ lwz r3, 0(r3)
/* 80023C5C 00020BBC 80 03 0B 3C */ lwz r0, 0xb3c(r3)
/* 80023C60 00020BC0 2C 00 00 02 */ cmpwi r0, 2
/* 80023C64 00020BC4 41 82 00 60 */ beq lbl_80023CC4
/* 80023C68 00020BC8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80023C6C 00020BCC 48 1A FD 41 */ bl CurrentWorldState__10CGameStateFv
/* 80023C70 00020BD0 7C 60 1B 78 */ mr r0, r3
/* 80023C74 00020BD4 38 61 00 20 */ addi r3, r1, 0x20
/* 80023C78 00020BD8 7C 18 03 78 */ mr r24, r0
/* 80023C7C 00020BDC 7F 04 C3 78 */ mr r4, r24
/* 80023C80 00020BE0 48 1B 10 D9 */ bl GetCurrentArea__11CWorldStateCFv
/* 80023C84 00020BE4 80 01 00 20 */ lwz r0, 0x20(r1)
/* 80023C88 00020BE8 7F 03 C3 78 */ mr r3, r24
/* 80023C8C 00020BEC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80023C90 00020BF0 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80023C94 00020BF4 83 24 00 00 */ lwz r25, 0(r4)
/* 80023C98 00020BF8 48 1B 10 AD */ bl GetDesiredAreaAssetId__11CWorldStateCFv
/* 80023C9C 00020BFC 7C 7D 1B 78 */ mr r29, r3
/* 80023CA0 00020C00 7F 03 C3 78 */ mr r3, r24
/* 80023CA4 00020C04 48 1B 10 ED */ bl GetWorldAssetId__11CWorldStateCFv
/* 80023CA8 00020C08 7C 64 1B 78 */ mr r4, r3
/* 80023CAC 00020C0C 7F 23 CB 78 */ mr r3, r25
/* 80023CB0 00020C10 7F A6 EB 78 */ mr r6, r29
/* 80023CB4 00020C14 38 A1 00 24 */ addi r5, r1, 0x24
/* 80023CB8 00020C18 48 02 78 E1 */ bl InitializeState__13CStateManagerFUi7TAreaIdUi
/* 80023CBC 00020C1C 38 60 00 01 */ li r3, 1
/* 80023CC0 00020C20 48 00 02 08 */ b lbl_80023EC8
lbl_80023CC4:
/* 80023CC4 00020C24 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80023CC8 00020C28 80 03 00 00 */ lwz r0, 0(r3)
/* 80023CCC 00020C2C 28 00 00 00 */ cmplwi r0, 0
/* 80023CD0 00020C30 40 82 00 80 */ bne lbl_80023D50
/* 80023CD4 00020C34 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80023CD8 00020C38 48 1A FC D5 */ bl CurrentWorldState__10CGameStateFv
/* 80023CDC 00020C3C 38 80 FF FF */ li r4, -1
/* 80023CE0 00020C40 48 1B 10 5D */ bl SetDesiredAreaAssetId__11CWorldStateFUi
/* 80023CE4 00020C44 3C 80 80 3D */ lis r4, lbl_803CCAB8@ha
/* 80023CE8 00020C48 38 60 01 FC */ li r3, 0x1fc
/* 80023CEC 00020C4C 38 84 CA B8 */ addi r4, r4, lbl_803CCAB8@l
/* 80023CF0 00020C50 38 A0 00 00 */ li r5, 0
/* 80023CF4 00020C54 38 84 00 2A */ addi r4, r4, 0x2a
/* 80023CF8 00020C58 48 2F 1B 75 */ bl __nw__FUlPCcPCc
/* 80023CFC 00020C5C 7C 79 1B 79 */ or. r25, r3, r3
/* 80023D00 00020C60 41 82 00 18 */ beq lbl_80023D18
/* 80023D04 00020C64 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80023D08 00020C68 7F C5 F3 78 */ mr r5, r30
/* 80023D0C 00020C6C 80 84 00 00 */ lwz r4, 0(r4)
/* 80023D10 00020C70 48 0E 63 79 */ bl __ct__17CInGameGuiManagerFRC13CStateManagerR18CArchitectureQueue
/* 80023D14 00020C74 7C 79 1B 78 */ mr r25, r3
lbl_80023D18:
/* 80023D18 00020C78 38 7D 00 18 */ addi r3, r29, 0x18
/* 80023D1C 00020C7C 48 00 13 09 */ bl sub_80025024
/* 80023D20 00020C80 3C 80 80 3D */ lis r4, lbl_803CCAB8@ha
/* 80023D24 00020C84 38 60 00 08 */ li r3, 8
/* 80023D28 00020C88 38 84 CA B8 */ addi r4, r4, lbl_803CCAB8@l
/* 80023D2C 00020C8C 38 A0 00 00 */ li r5, 0
/* 80023D30 00020C90 38 84 00 2A */ addi r4, r4, 0x2a
/* 80023D34 00020C94 48 2F 1B 39 */ bl __nw__FUlPCcPCc
/* 80023D38 00020C98 28 03 00 00 */ cmplwi r3, 0
/* 80023D3C 00020C9C 41 82 00 10 */ beq lbl_80023D4C
/* 80023D40 00020CA0 93 23 00 00 */ stw r25, 0(r3)
/* 80023D44 00020CA4 38 00 00 01 */ li r0, 1
/* 80023D48 00020CA8 90 03 00 04 */ stw r0, 4(r3)
lbl_80023D4C:
/* 80023D4C 00020CAC 90 7D 00 18 */ stw r3, 0x18(r29)
lbl_80023D50:
/* 80023D50 00020CB0 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80023D54 00020CB4 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80023D58 00020CB8 80 63 00 00 */ lwz r3, 0(r3)
/* 80023D5C 00020CBC 80 84 00 00 */ lwz r4, 0(r4)
/* 80023D60 00020CC0 48 0E 55 09 */ bl CheckLoadComplete__17CInGameGuiManagerFRC13CStateManager
/* 80023D64 00020CC4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80023D68 00020CC8 40 82 00 0C */ bne lbl_80023D74
/* 80023D6C 00020CCC 38 60 00 01 */ li r3, 1
/* 80023D70 00020CD0 48 00 01 58 */ b lbl_80023EC8
lbl_80023D74:
/* 80023D74 00020CD4 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 80023D78 00020CD8 83 3D 00 28 */ lwz r25, 0x28(r29)
/* 80023D7C 00020CDC 54 00 18 38 */ slwi r0, r0, 3
/* 80023D80 00020CE0 7F D9 02 14 */ add r30, r25, r0
/* 80023D84 00020CE4 93 21 00 0C */ stw r25, 0xc(r1)
/* 80023D88 00020CE8 93 C1 00 14 */ stw r30, 0x14(r1)
/* 80023D8C 00020CEC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 80023D90 00020CF0 93 21 00 08 */ stw r25, 8(r1)
/* 80023D94 00020CF4 48 00 00 14 */ b lbl_80023DA8
lbl_80023D98:
/* 80023D98 00020CF8 7F 23 CB 78 */ mr r3, r25
/* 80023D9C 00020CFC 38 80 FF FF */ li r4, -1
/* 80023DA0 00020D00 48 31 D0 A1 */ bl __dt__6CTokenFv
/* 80023DA4 00020D04 3B 39 00 08 */ addi r25, r25, 8
lbl_80023DA8:
/* 80023DA8 00020D08 7C 19 F0 40 */ cmplw r25, r30
/* 80023DAC 00020D0C 40 82 FF EC */ bne lbl_80023D98
/* 80023DB0 00020D10 38 00 00 00 */ li r0, 0
/* 80023DB4 00020D14 90 1D 00 20 */ stw r0, 0x20(r29)
/* 80023DB8 00020D18 80 7F 00 00 */ lwz r3, 0(r31)
/* 80023DBC 00020D1C 80 63 00 00 */ lwz r3, 0(r3)
/* 80023DC0 00020D20 48 1E 54 99 */ bl StartTextFadeOut__18CWorldTransManagerFv
/* 80023DC4 00020D24 80 9F 00 00 */ lwz r4, 0(r31)
/* 80023DC8 00020D28 38 60 00 01 */ li r3, 1
/* 80023DCC 00020D2C 88 1D 00 2C */ lbz r0, 0x2c(r29)
/* 80023DD0 00020D30 80 84 00 00 */ lwz r4, 0(r4)
/* 80023DD4 00020D34 88 84 00 44 */ lbz r4, 0x44(r4)
/* 80023DD8 00020D38 50 80 FE 72 */ rlwimi r0, r4, 0x1f, 0x19, 0x19
/* 80023DDC 00020D3C 98 1D 00 2C */ stb r0, 0x2c(r29)
/* 80023DE0 00020D40 48 00 00 E8 */ b lbl_80023EC8
lbl_80023DE4:
/* 80023DE4 00020D44 2C 00 00 0B */ cmpwi r0, 0xb
/* 80023DE8 00020D48 40 82 00 DC */ bne lbl_80023EC4
/* 80023DEC 00020D4C 88 1D 00 2C */ lbz r0, 0x2c(r29)
/* 80023DF0 00020D50 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80023DF4 00020D54 41 82 00 D0 */ beq lbl_80023EC4
/* 80023DF8 00020D58 3C 60 80 3D */ lis r3, lbl_803CCAB8@ha
/* 80023DFC 00020D5C 3B 00 00 00 */ li r24, 0
/* 80023E00 00020D60 38 63 CA B8 */ addi r3, r3, lbl_803CCAB8@l
/* 80023E04 00020D64 3B 20 00 00 */ li r25, 0
/* 80023E08 00020D68 38 83 00 2A */ addi r4, r3, 0x2a
/* 80023E0C 00020D6C 38 60 00 2C */ li r3, 0x2c
/* 80023E10 00020D70 38 A0 00 00 */ li r5, 0
/* 80023E14 00020D74 48 2F 1A 59 */ bl __nw__FUlPCcPCc
/* 80023E18 00020D78 7C 64 1B 79 */ or. r4, r3, r3
/* 80023E1C 00020D7C 41 82 00 48 */ beq lbl_80023E64
/* 80023E20 00020D80 81 1D 00 14 */ lwz r8, 0x14(r29)
/* 80023E24 00020D84 7F C6 F3 78 */ mr r6, r30
/* 80023E28 00020D88 38 81 00 18 */ addi r4, r1, 0x18
/* 80023E2C 00020D8C 38 A1 00 1C */ addi r5, r1, 0x1c
/* 80023E30 00020D90 91 01 00 18 */ stw r8, 0x18(r1)
/* 80023E34 00020D94 3B 20 00 01 */ li r25, 1
/* 80023E38 00020D98 3B 00 00 01 */ li r24, 1
/* 80023E3C 00020D9C 80 E8 00 04 */ lwz r7, 4(r8)
/* 80023E40 00020DA0 38 07 00 01 */ addi r0, r7, 1
/* 80023E44 00020DA4 90 08 00 04 */ stw r0, 4(r8)
/* 80023E48 00020DA8 81 1D 00 18 */ lwz r8, 0x18(r29)
/* 80023E4C 00020DAC 91 01 00 1C */ stw r8, 0x1c(r1)
/* 80023E50 00020DB0 80 E8 00 04 */ lwz r7, 4(r8)
/* 80023E54 00020DB4 38 07 00 01 */ addi r0, r7, 1
/* 80023E58 00020DB8 90 08 00 04 */ stw r0, 4(r8)
/* 80023E5C 00020DBC 48 00 10 E1 */ bl "__ct__7CMFGameFQ24rstl25ncrc_ptr<13CStateManager>Q24rstl29ncrc_ptr<17CInGameGuiManager>R18CArchitectureQueue"
/* 80023E60 00020DC0 7C 64 1B 78 */ mr r4, r3
lbl_80023E64:
/* 80023E64 00020DC4 7F 20 07 75 */ extsb. r0, r25
/* 80023E68 00020DC8 90 81 00 28 */ stw r4, 0x28(r1)
/* 80023E6C 00020DCC 41 82 00 0C */ beq lbl_80023E78
/* 80023E70 00020DD0 38 61 00 18 */ addi r3, r1, 0x18
/* 80023E74 00020DD4 48 00 12 0D */ bl sub_80025080
lbl_80023E78:
/* 80023E78 00020DD8 7F 00 07 75 */ extsb. r0, r24
/* 80023E7C 00020DDC 41 82 00 0C */ beq lbl_80023E88
/* 80023E80 00020DE0 38 61 00 1C */ addi r3, r1, 0x1c
/* 80023E84 00020DE4 48 00 11 A1 */ bl sub_80025024
lbl_80023E88:
/* 80023E88 00020DE8 38 61 00 30 */ addi r3, r1, 0x30
/* 80023E8C 00020DEC 38 E1 00 28 */ addi r7, r1, 0x28
/* 80023E90 00020DF0 38 80 00 00 */ li r4, 0
/* 80023E94 00020DF4 38 AD 81 8C */ addi r5, r13, lbl_805A6D4C@sda21
/* 80023E98 00020DF8 38 CD 81 90 */ addi r6, r13, lbl_805A6D50@sda21
/* 80023E9C 00020DFC 48 02 DE 11 */ bl CreateCreateIOWin__7MakeMsgF14EArchMsgTargetRCiRCiRCP6CIOWin
/* 80023EA0 00020E00 7F C3 F3 78 */ mr r3, r30
/* 80023EA4 00020E04 38 81 00 30 */ addi r4, r1, 0x30
/* 80023EA8 00020E08 4B FE 2E 59 */ bl Push__18CArchitectureQueueFRC20CArchitectureMessage
/* 80023EAC 00020E0C 34 61 00 38 */ addic. r3, r1, 0x38
/* 80023EB0 00020E10 41 82 00 08 */ beq lbl_80023EB8
/* 80023EB4 00020E14 4B FE 48 59 */ bl "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
lbl_80023EB8:
/* 80023EB8 00020E18 48 33 14 BD */ bl EnableTextureTimeout__6CModelFv
/* 80023EBC 00020E1C 38 60 00 02 */ li r3, 2
/* 80023EC0 00020E20 48 00 00 08 */ b lbl_80023EC8
lbl_80023EC4:
/* 80023EC4 00020E24 38 60 00 01 */ li r3, 1
lbl_80023EC8:
/* 80023EC8 00020E28 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 80023ECC 00020E2C CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80023ED0 00020E30 BB 01 00 40 */ lmw r24, 0x40(r1)
/* 80023ED4 00020E34 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80023ED8 00020E38 7C 08 03 A6 */ mtlr r0
/* 80023EDC 00020E3C 38 21 00 70 */ addi r1, r1, 0x70
/* 80023EE0 00020E40 4E 80 00 20 */ blr
.global MakeLoadDependancyList__13CMFGameLoaderFv
MakeLoadDependancyList__13CMFGameLoaderFv:
/* 80023EE4 00020E44 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80023EE8 00020E48 7C 08 02 A6 */ mflr r0
/* 80023EEC 00020E4C 3C 80 80 3E */ lis r4, lbl_803D9988@ha
/* 80023EF0 00020E50 90 01 00 64 */ stw r0, 0x64(r1)
/* 80023EF4 00020E54 38 04 99 88 */ addi r0, r4, lbl_803D9988@l
/* 80023EF8 00020E58 BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 80023EFC 00020E5C 7C 7E 1B 78 */ mr r30, r3
/* 80023F00 00020E60 3B 60 00 00 */ li r27, 0
/* 80023F04 00020E64 7C 1C 03 78 */ mr r28, r0
/* 80023F08 00020E68 48 00 00 3C */ b lbl_80023F44
lbl_80023F0C:
/* 80023F0C 00020E6C 38 61 00 30 */ addi r3, r1, 0x30
/* 80023F10 00020E70 4B FE 0D A9 */ bl string_l__4rstlFPCc
/* 80023F14 00020E74 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 80023F18 00020E78 38 81 00 30 */ addi r4, r1, 0x30
/* 80023F1C 00020E7C 38 63 00 04 */ addi r3, r3, 4
/* 80023F20 00020E80 48 31 74 1D */ bl "GetTagListForFile__10CResLoaderCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80023F24 00020E84 7C 7D 1B 78 */ mr r29, r3
/* 80023F28 00020E88 38 61 00 30 */ addi r3, r1, 0x30
/* 80023F2C 00020E8C 48 31 9B B5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80023F30 00020E90 28 1D 00 00 */ cmplwi r29, 0
/* 80023F34 00020E94 41 82 00 0C */ beq lbl_80023F40
/* 80023F38 00020E98 80 1D 00 04 */ lwz r0, 4(r29)
/* 80023F3C 00020E9C 7F 7B 02 14 */ add r27, r27, r0
lbl_80023F40:
/* 80023F40 00020EA0 3B 9C 00 04 */ addi r28, r28, 4
lbl_80023F44:
/* 80023F44 00020EA4 80 9C 00 00 */ lwz r4, 0(r28)
/* 80023F48 00020EA8 28 04 00 00 */ cmplwi r4, 0
/* 80023F4C 00020EAC 40 82 FF C0 */ bne lbl_80023F0C
/* 80023F50 00020EB0 7F 64 DB 78 */ mr r4, r27
/* 80023F54 00020EB4 38 7E 00 1C */ addi r3, r30, 0x1c
/* 80023F58 00020EB8 4B FE 4A 05 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
/* 80023F5C 00020EBC 3C 60 80 3E */ lis r3, lbl_803D9988@ha
/* 80023F60 00020EC0 38 03 99 88 */ addi r0, r3, lbl_803D9988@l
/* 80023F64 00020EC4 7C 1F 03 78 */ mr r31, r0
/* 80023F68 00020EC8 48 00 01 04 */ b lbl_8002406C
lbl_80023F6C:
/* 80023F6C 00020ECC 38 61 00 20 */ addi r3, r1, 0x20
/* 80023F70 00020ED0 4B FE 0D 49 */ bl string_l__4rstlFPCc
/* 80023F74 00020ED4 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 80023F78 00020ED8 38 81 00 20 */ addi r4, r1, 0x20
/* 80023F7C 00020EDC 38 63 00 04 */ addi r3, r3, 4
/* 80023F80 00020EE0 48 31 73 BD */ bl "GetTagListForFile__10CResLoaderCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80023F84 00020EE4 7C 7D 1B 78 */ mr r29, r3
/* 80023F88 00020EE8 38 61 00 20 */ addi r3, r1, 0x20
/* 80023F8C 00020EEC 48 31 9B 55 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80023F90 00020EF0 28 1D 00 00 */ cmplwi r29, 0
/* 80023F94 00020EF4 41 82 00 D4 */ beq lbl_80024068
/* 80023F98 00020EF8 83 9D 00 0C */ lwz r28, 0xc(r29)
/* 80023F9C 00020EFC 48 00 00 B4 */ b lbl_80024050
lbl_80023FA0:
/* 80023FA0 00020F00 83 7C 00 00 */ lwz r27, 0(r28)
/* 80023FA4 00020F04 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 80023FA8 00020F08 7F 64 DB 78 */ mr r4, r27
/* 80023FAC 00020F0C 38 63 00 04 */ addi r3, r3, 4
/* 80023FB0 00020F10 48 31 7D 1D */ bl GetResourceTypeById__10CResLoaderCFUi
/* 80023FB4 00020F14 90 61 00 18 */ stw r3, 0x18(r1)
/* 80023FB8 00020F18 38 61 00 08 */ addi r3, r1, 8
/* 80023FBC 00020F1C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 80023FC0 00020F20 38 A1 00 18 */ addi r5, r1, 0x18
/* 80023FC4 00020F24 93 61 00 1C */ stw r27, 0x1c(r1)
/* 80023FC8 00020F28 81 84 00 00 */ lwz r12, 0(r4)
/* 80023FCC 00020F2C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80023FD0 00020F30 7D 89 03 A6 */ mtctr r12
/* 80023FD4 00020F34 4E 80 04 21 */ bctrl
/* 80023FD8 00020F38 38 61 00 10 */ addi r3, r1, 0x10
/* 80023FDC 00020F3C 38 81 00 08 */ addi r4, r1, 8
/* 80023FE0 00020F40 48 31 CE C9 */ bl __ct__6CTokenFRC6CToken
/* 80023FE4 00020F44 38 61 00 08 */ addi r3, r1, 8
/* 80023FE8 00020F48 38 80 FF FF */ li r4, -1
/* 80023FEC 00020F4C 48 31 CE 55 */ bl __dt__6CTokenFv
/* 80023FF0 00020F50 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 80023FF4 00020F54 80 BE 00 24 */ lwz r5, 0x24(r30)
/* 80023FF8 00020F58 7C 00 28 00 */ cmpw r0, r5
/* 80023FFC 00020F5C 41 80 00 1C */ blt lbl_80024018
/* 80024000 00020F60 2C 05 00 00 */ cmpwi r5, 0
/* 80024004 00020F64 38 7E 00 1C */ addi r3, r30, 0x1c
/* 80024008 00020F68 38 80 00 04 */ li r4, 4
/* 8002400C 00020F6C 41 82 00 08 */ beq lbl_80024014
/* 80024010 00020F70 54 A4 08 3C */ slwi r4, r5, 1
lbl_80024014:
/* 80024014 00020F74 4B FE 49 49 */ bl "reserve__Q24rstl42vector<6CToken,Q24rstl17rmemory_allocator>Fi"
lbl_80024018:
/* 80024018 00020F78 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 8002401C 00020F7C 80 7E 00 28 */ lwz r3, 0x28(r30)
/* 80024020 00020F80 54 00 18 38 */ slwi r0, r0, 3
/* 80024024 00020F84 7C 63 02 15 */ add. r3, r3, r0
/* 80024028 00020F88 41 82 00 0C */ beq lbl_80024034
/* 8002402C 00020F8C 38 81 00 10 */ addi r4, r1, 0x10
/* 80024030 00020F90 48 31 CE 79 */ bl __ct__6CTokenFRC6CToken
lbl_80024034:
/* 80024034 00020F94 80 BE 00 20 */ lwz r5, 0x20(r30)
/* 80024038 00020F98 38 61 00 10 */ addi r3, r1, 0x10
/* 8002403C 00020F9C 38 80 FF FF */ li r4, -1
/* 80024040 00020FA0 38 05 00 01 */ addi r0, r5, 1
/* 80024044 00020FA4 90 1E 00 20 */ stw r0, 0x20(r30)
/* 80024048 00020FA8 48 31 CD F9 */ bl __dt__6CTokenFv
/* 8002404C 00020FAC 3B 9C 00 04 */ addi r28, r28, 4
lbl_80024050:
/* 80024050 00020FB0 80 1D 00 04 */ lwz r0, 4(r29)
/* 80024054 00020FB4 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80024058 00020FB8 54 00 10 3A */ slwi r0, r0, 2
/* 8002405C 00020FBC 7C 03 02 14 */ add r0, r3, r0
/* 80024060 00020FC0 7C 1C 00 40 */ cmplw r28, r0
/* 80024064 00020FC4 40 82 FF 3C */ bne lbl_80023FA0
lbl_80024068:
/* 80024068 00020FC8 3B FF 00 04 */ addi r31, r31, 4
lbl_8002406C:
/* 8002406C 00020FCC 80 9F 00 00 */ lwz r4, 0(r31)
/* 80024070 00020FD0 28 04 00 00 */ cmplwi r4, 0
/* 80024074 00020FD4 40 82 FE F8 */ bne lbl_80023F6C
/* 80024078 00020FD8 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 8002407C 00020FDC 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80024080 00020FE0 7C 08 03 A6 */ mtlr r0
/* 80024084 00020FE4 38 21 00 60 */ addi r1, r1, 0x60
/* 80024088 00020FE8 4E 80 00 20 */ blr
.global __dt__13CMFGameLoaderFv
__dt__13CMFGameLoaderFv:
/* 8002408C 00020FEC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80024090 00020FF0 7C 08 02 A6 */ mflr r0
/* 80024094 00020FF4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80024098 00020FF8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8002409C 00020FFC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800240A0 00021000 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800240A4 00021004 7C 9D 23 78 */ mr r29, r4
/* 800240A8 00021008 93 81 00 20 */ stw r28, 0x20(r1)
/* 800240AC 0002100C 7C 7C 1B 79 */ or. r28, r3, r3
/* 800240B0 00021010 41 82 00 C0 */ beq lbl_80024170
/* 800240B4 00021014 3C 80 80 3E */ lis r4, lbl_803D9998@ha
/* 800240B8 00021018 38 60 00 01 */ li r3, 1
/* 800240BC 0002101C 38 04 99 98 */ addi r0, r4, lbl_803D9998@l
/* 800240C0 00021020 90 1C 00 00 */ stw r0, 0(r28)
/* 800240C4 00021024 48 2E 53 E5 */ bl SetIsBeginSceneClearFb__9CGraphicsFb
/* 800240C8 00021028 38 60 00 02 */ li r3, 2
/* 800240CC 0002102C 34 1C 00 1C */ addic. r0, r28, 0x1c
/* 800240D0 00021030 90 6D 9D 48 */ stw r3, lbl_805A8908@sda21(r13)
/* 800240D4 00021034 41 82 00 50 */ beq lbl_80024124
/* 800240D8 00021038 80 1C 00 20 */ lwz r0, 0x20(r28)
/* 800240DC 0002103C 83 DC 00 28 */ lwz r30, 0x28(r28)
/* 800240E0 00021040 54 00 18 38 */ slwi r0, r0, 3
/* 800240E4 00021044 7F FE 02 14 */ add r31, r30, r0
/* 800240E8 00021048 93 C1 00 0C */ stw r30, 0xc(r1)
/* 800240EC 0002104C 93 E1 00 14 */ stw r31, 0x14(r1)
/* 800240F0 00021050 93 E1 00 10 */ stw r31, 0x10(r1)
/* 800240F4 00021054 93 C1 00 08 */ stw r30, 8(r1)
/* 800240F8 00021058 48 00 00 14 */ b lbl_8002410C
lbl_800240FC:
/* 800240FC 0002105C 7F C3 F3 78 */ mr r3, r30
/* 80024100 00021060 38 80 FF FF */ li r4, -1
/* 80024104 00021064 48 31 CD 3D */ bl __dt__6CTokenFv
/* 80024108 00021068 3B DE 00 08 */ addi r30, r30, 8
lbl_8002410C:
/* 8002410C 0002106C 7C 1E F8 40 */ cmplw r30, r31
/* 80024110 00021070 40 82 FF EC */ bne lbl_800240FC
/* 80024114 00021074 80 7C 00 28 */ lwz r3, 0x28(r28)
/* 80024118 00021078 28 03 00 00 */ cmplwi r3, 0
/* 8002411C 0002107C 41 82 00 08 */ beq lbl_80024124
/* 80024120 00021080 48 2F 18 11 */ bl Free__7CMemoryFPCv
lbl_80024124:
/* 80024124 00021084 34 1C 00 18 */ addic. r0, r28, 0x18
/* 80024128 00021088 41 82 00 14 */ beq lbl_8002413C
/* 8002412C 0002108C 34 1C 00 18 */ addic. r0, r28, 0x18
/* 80024130 00021090 41 82 00 0C */ beq lbl_8002413C
/* 80024134 00021094 38 7C 00 18 */ addi r3, r28, 0x18
/* 80024138 00021098 48 00 0E ED */ bl sub_80025024
lbl_8002413C:
/* 8002413C 0002109C 34 1C 00 14 */ addic. r0, r28, 0x14
/* 80024140 000210A0 41 82 00 14 */ beq lbl_80024154
/* 80024144 000210A4 34 1C 00 14 */ addic. r0, r28, 0x14
/* 80024148 000210A8 41 82 00 0C */ beq lbl_80024154
/* 8002414C 000210AC 38 7C 00 14 */ addi r3, r28, 0x14
/* 80024150 000210B0 48 00 0F 31 */ bl sub_80025080
lbl_80024154:
/* 80024154 000210B4 7F 83 E3 78 */ mr r3, r28
/* 80024158 000210B8 38 80 00 00 */ li r4, 0
/* 8002415C 000210BC 48 02 EA 49 */ bl __dt__6CIOWinFv
/* 80024160 000210C0 7F A0 07 35 */ extsh. r0, r29
/* 80024164 000210C4 40 81 00 0C */ ble lbl_80024170
/* 80024168 000210C8 7F 83 E3 78 */ mr r3, r28
/* 8002416C 000210CC 48 2F 17 C5 */ bl Free__7CMemoryFPCv
lbl_80024170:
/* 80024170 000210D0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80024174 000210D4 7F 83 E3 78 */ mr r3, r28
/* 80024178 000210D8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8002417C 000210DC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80024180 000210E0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80024184 000210E4 83 81 00 20 */ lwz r28, 0x20(r1)
/* 80024188 000210E8 7C 08 03 A6 */ mtlr r0
/* 8002418C 000210EC 38 21 00 30 */ addi r1, r1, 0x30
/* 80024190 000210F0 4E 80 00 20 */ blr
.global __ct__13CMFGameLoaderFv
__ct__13CMFGameLoaderFv:
/* 80024194 000210F4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80024198 000210F8 7C 08 02 A6 */ mflr r0
/* 8002419C 000210FC 3C 80 80 3D */ lis r4, lbl_803CCAB8@ha
/* 800241A0 00021100 90 01 00 34 */ stw r0, 0x34(r1)
/* 800241A4 00021104 38 84 CA B8 */ addi r4, r4, lbl_803CCAB8@l
/* 800241A8 00021108 38 84 00 31 */ addi r4, r4, 0x31
/* 800241AC 0002110C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800241B0 00021110 7C 7F 1B 78 */ mr r31, r3
/* 800241B4 00021114 38 61 00 0C */ addi r3, r1, 0xc
/* 800241B8 00021118 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800241BC 0002111C 4B FE 0A FD */ bl string_l__4rstlFPCc
/* 800241C0 00021120 7F E3 FB 78 */ mr r3, r31
/* 800241C4 00021124 38 81 00 0C */ addi r4, r1, 0xc
/* 800241C8 00021128 48 02 EA 45 */ bl "__ct__6CIOWinFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 800241CC 0002112C 38 61 00 0C */ addi r3, r1, 0xc
/* 800241D0 00021130 48 31 99 11 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 800241D4 00021134 3C 60 80 3E */ lis r3, lbl_803D9998@ha
/* 800241D8 00021138 38 CD A9 28 */ addi r6, r13, sNull__Q24rstl8CRefData@sda21
/* 800241DC 0002113C 38 03 99 98 */ addi r0, r3, lbl_803D9998@l
/* 800241E0 00021140 38 80 00 00 */ li r4, 0
/* 800241E4 00021144 90 1F 00 00 */ stw r0, 0(r31)
/* 800241E8 00021148 38 00 00 01 */ li r0, 1
/* 800241EC 0002114C 90 DF 00 14 */ stw r6, 0x14(r31)
/* 800241F0 00021150 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 800241F4 00021154 80 65 00 04 */ lwz r3, 4(r5)
/* 800241F8 00021158 38 63 00 01 */ addi r3, r3, 1
/* 800241FC 0002115C 90 65 00 04 */ stw r3, 4(r5)
/* 80024200 00021160 90 DF 00 18 */ stw r6, 0x18(r31)
/* 80024204 00021164 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 80024208 00021168 80 65 00 04 */ lwz r3, 4(r5)
/* 8002420C 0002116C 38 63 00 01 */ addi r3, r3, 1
/* 80024210 00021170 90 65 00 04 */ stw r3, 4(r5)
/* 80024214 00021174 90 9F 00 20 */ stw r4, 0x20(r31)
/* 80024218 00021178 90 9F 00 24 */ stw r4, 0x24(r31)
/* 8002421C 0002117C 90 9F 00 28 */ stw r4, 0x28(r31)
/* 80024220 00021180 88 7F 00 2C */ lbz r3, 0x2c(r31)
/* 80024224 00021184 50 83 3E 30 */ rlwimi r3, r4, 7, 0x18, 0x18
/* 80024228 00021188 98 7F 00 2C */ stb r3, 0x2c(r31)
/* 8002422C 0002118C 88 7F 00 2C */ lbz r3, 0x2c(r31)
/* 80024230 00021190 50 83 36 72 */ rlwimi r3, r4, 6, 0x19, 0x19
/* 80024234 00021194 98 7F 00 2C */ stb r3, 0x2c(r31)
/* 80024238 00021198 90 0D 9D 48 */ stw r0, lbl_805A8908@sda21(r13)
/* 8002423C 0002119C 48 33 11 45 */ bl DisableTextureTimeout__6CModelFv
/* 80024240 000211A0 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 80024244 000211A4 80 03 01 2C */ lwz r0, 0x12c(r3)
/* 80024248 000211A8 2C 00 00 05 */ cmpwi r0, 5
/* 8002424C 000211AC 41 82 00 0C */ beq lbl_80024258
/* 80024250 000211B0 2C 00 00 06 */ cmpwi r0, 6
/* 80024254 000211B4 40 82 00 7C */ bne lbl_800242D0
lbl_80024258:
/* 80024258 000211B8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 8002425C 000211BC 48 1A F7 75 */ bl CurrentWorldAssetId__10CGameStateCFv
/* 80024260 000211C0 7C 60 1B 78 */ mr r0, r3
/* 80024264 000211C4 80 6D A0 84 */ lwz r3, gpMemoryCard@sda21(r13)
/* 80024268 000211C8 7C 1E 03 78 */ mr r30, r0
/* 8002426C 000211CC 7F C4 F3 78 */ mr r4, r30
/* 80024270 000211D0 48 22 4D 49 */ bl HasSaveWorldMemory__11CMemoryCardFi
/* 80024274 000211D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80024278 000211D8 41 82 00 58 */ beq lbl_800242D0
/* 8002427C 000211DC 80 6D A0 84 */ lwz r3, gpMemoryCard@sda21(r13)
/* 80024280 000211E0 7F C4 F3 78 */ mr r4, r30
/* 80024284 000211E4 48 22 4C 89 */ bl GetSaveWorldMemory__11CMemoryCardCFi
/* 80024288 000211E8 7C 7E 1B 78 */ mr r30, r3
/* 8002428C 000211EC 80 63 00 00 */ lwz r3, 0(r3)
/* 80024290 000211F0 3C 03 00 01 */ addis r0, r3, 1
/* 80024294 000211F4 28 00 FF FF */ cmplwi r0, 0xffff
/* 80024298 000211F8 41 82 00 38 */ beq lbl_800242D0
/* 8002429C 000211FC 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 800242A0 00021200 48 1A F6 79 */ bl WorldTransitionManager__10CGameStateFv
/* 800242A4 00021204 80 C3 00 00 */ lwz r6, 0(r3)
/* 800242A8 00021208 3C 60 B7 BC */ lis r3, 0xB7BBD0B4@ha
/* 800242AC 0002120C 80 BE 00 00 */ lwz r5, 0(r30)
/* 800242B0 00021210 38 83 D0 B4 */ addi r4, r3, 0xB7BBD0B4@l
/* 800242B4 00021214 80 66 00 00 */ lwz r3, 0(r6)
/* 800242B8 00021218 38 C0 00 01 */ li r6, 1
/* 800242BC 0002121C C0 22 83 00 */ lfs f1, lbl_805AA020@sda21(r2)
/* 800242C0 00021220 38 E0 00 00 */ li r7, 0
/* 800242C4 00021224 C0 42 83 04 */ lfs f2, lbl_805AA024@sda21(r2)
/* 800242C8 00021228 C0 62 83 08 */ lfs f3, lbl_805AA028@sda21(r2)
/* 800242CC 0002122C 48 1E 53 25 */ bl EnableTransition__18CWorldTransManagerFviibbfff
lbl_800242D0:
/* 800242D0 00021230 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 800242D4 00021234 48 1A F6 FD */ bl CurrentWorldAssetId__10CGameStateCFv
/* 800242D8 00021238 38 8D A0 F8 */ addi r4, r13, lbl_805A8CB8@sda21
/* 800242DC 0002123C 80 04 00 04 */ lwz r0, 4(r4)
/* 800242E0 00021240 7C 03 00 40 */ cmplw r3, r0
/* 800242E4 00021244 40 82 00 7C */ bne lbl_80024360
/* 800242E8 00021248 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 800242EC 0002124C 48 1A F6 9D */ bl GetCurrentWorldState__10CGameStateCFv
/* 800242F0 00021250 7C 64 1B 78 */ mr r4, r3
/* 800242F4 00021254 38 61 00 08 */ addi r3, r1, 8
/* 800242F8 00021258 48 1B 0A 61 */ bl GetCurrentArea__11CWorldStateCFv
/* 800242FC 0002125C 80 01 00 08 */ lwz r0, 8(r1)
/* 80024300 00021260 2C 00 00 00 */ cmpwi r0, 0
/* 80024304 00021264 40 82 00 5C */ bne lbl_80024360
/* 80024308 00021268 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 8002430C 0002126C 3C 80 80 3D */ lis r4, lbl_803CCAB8@ha
/* 80024310 00021270 38 84 CA B8 */ addi r4, r4, lbl_803CCAB8@l
/* 80024314 00021274 81 83 00 00 */ lwz r12, 0(r3)
/* 80024318 00021278 38 84 00 3F */ addi r4, r4, 0x3f
/* 8002431C 0002127C 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80024320 00021280 7D 89 03 A6 */ mtctr r12
/* 80024324 00021284 4E 80 04 21 */ bctrl
/* 80024328 00021288 7C 7E 1B 79 */ or. r30, r3, r3
/* 8002432C 0002128C 41 82 00 34 */ beq lbl_80024360
/* 80024330 00021290 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80024334 00021294 48 1A F5 E5 */ bl WorldTransitionManager__10CGameStateFv
/* 80024338 00021298 80 63 00 00 */ lwz r3, 0(r3)
/* 8002433C 0002129C 38 80 FF FF */ li r4, -1
/* 80024340 000212A0 80 BE 00 04 */ lwz r5, 4(r30)
/* 80024344 000212A4 38 C0 00 00 */ li r6, 0
/* 80024348 000212A8 80 63 00 00 */ lwz r3, 0(r3)
/* 8002434C 000212AC 38 E0 00 00 */ li r7, 0
/* 80024350 000212B0 C0 22 83 00 */ lfs f1, lbl_805AA020@sda21(r2)
/* 80024354 000212B4 C0 42 83 04 */ lfs f2, lbl_805AA024@sda21(r2)
/* 80024358 000212B8 C0 62 83 08 */ lfs f3, lbl_805AA028@sda21(r2)
/* 8002435C 000212BC 48 1E 52 95 */ bl EnableTransition__18CWorldTransManagerFviibbfff
lbl_80024360:
/* 80024360 000212C0 88 1F 00 2C */ lbz r0, 0x2c(r31)
/* 80024364 000212C4 38 60 00 01 */ li r3, 1
/* 80024368 000212C8 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8002436C 000212CC 7F E3 FB 78 */ mr r3, r31
/* 80024370 000212D0 98 1F 00 2C */ stb r0, 0x2c(r31)
/* 80024374 000212D4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80024378 000212D8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8002437C 000212DC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80024380 000212E0 7C 08 03 A6 */ mtlr r0
/* 80024384 000212E4 38 21 00 30 */ addi r1, r1, 0x30
/* 80024388 000212E8 4E 80 00 20 */ blr
.section .text, "ax"
.global IsCameraActiveFlow__7CMFGameFv
IsCameraActiveFlow__7CMFGameFv:
/* 8002438C 000212EC 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 80024390 000212F0 38 00 00 00 */ li r0, 0
/* 80024394 000212F4 2C 03 00 00 */ cmpwi r3, 0
/* 80024398 000212F8 41 82 00 0C */ beq lbl_800243A4
/* 8002439C 000212FC 2C 03 00 02 */ cmpwi r3, 2
/* 800243A0 00021300 40 82 00 08 */ bne lbl_800243A8
lbl_800243A4:
/* 800243A4 00021304 38 00 00 01 */ li r0, 1
lbl_800243A8:
/* 800243A8 00021308 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 800243AC 0002130C 4E 80 00 20 */ blr
.global PlayerDied__7CMFGameFv
PlayerDied__7CMFGameFv:
/* 800243B0 00021310 38 00 00 02 */ li r0, 2
/* 800243B4 00021314 38 80 00 00 */ li r4, 0
/* 800243B8 00021318 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800243BC 0002131C 88 03 00 2A */ lbz r0, 0x2a(r3)
/* 800243C0 00021320 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 800243C4 00021324 98 03 00 2A */ stb r0, 0x2a(r3)
/* 800243C8 00021328 4E 80 00 20 */ blr
.global UnpauseGame__7CMFGameFv
UnpauseGame__7CMFGameFv:
/* 800243CC 0002132C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800243D0 00021330 7C 08 02 A6 */ mflr r0
/* 800243D4 00021334 90 01 00 14 */ stw r0, 0x14(r1)
/* 800243D8 00021338 38 00 00 00 */ li r0, 0
/* 800243DC 0002133C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800243E0 00021340 7C 7F 1B 78 */ mr r31, r3
/* 800243E4 00021344 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800243E8 00021348 38 60 00 01 */ li r3, 1
/* 800243EC 0002134C 48 2C 54 C9 */ bl SetChannel__11CSfxManagerFQ211CSfxManager12ESfxChannels
/* 800243F0 00021350 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 800243F4 00021354 38 80 00 00 */ li r4, 0
/* 800243F8 00021358 80 63 00 00 */ lwz r3, 0(r3)
/* 800243FC 0002135C 48 02 04 65 */ bl DeferStateTransition__13CStateManagerF23EStateManagerTransition
/* 80024400 00021360 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80024404 00021364 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80024408 00021368 7C 08 03 A6 */ mtlr r0
/* 8002440C 0002136C 38 21 00 10 */ addi r1, r1, 0x10
/* 80024410 00021370 4E 80 00 20 */ blr
.global EnterMessageScreen__7CMFGameFf
EnterMessageScreen__7CMFGameFf:
/* 80024414 00021374 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80024418 00021378 7C 08 02 A6 */ mflr r0
/* 8002441C 0002137C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80024420 00021380 38 00 00 01 */ li r0, 1
/* 80024424 00021384 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80024428 00021388 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8002442C 0002138C 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80024430 00021390 80 84 00 00 */ lwz r4, 0(r4)
/* 80024434 00021394 80 63 00 00 */ lwz r3, 0(r3)
/* 80024438 00021398 80 A4 0F 08 */ lwz r5, 0xf08(r4)
/* 8002443C 0002139C 48 0E 33 C1 */ bl ShowPauseGameHudMessage__17CInGameGuiManagerFRC13CStateManagerUi
/* 80024440 000213A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80024444 000213A4 7C 08 03 A6 */ mtlr r0
/* 80024448 000213A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002444C 000213AC 4E 80 00 20 */ blr
.global SaveGame__7CMFGameFv
SaveGame__7CMFGameFv:
/* 80024450 000213B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80024454 000213B4 7C 08 02 A6 */ mflr r0
/* 80024458 000213B8 38 A0 00 05 */ li r5, 5
/* 8002445C 000213BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80024460 000213C0 38 00 00 01 */ li r0, 1
/* 80024464 000213C4 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80024468 000213C8 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8002446C 000213CC 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 80024470 000213D0 80 84 00 00 */ lwz r4, 0(r4)
/* 80024474 000213D4 80 66 00 00 */ lwz r3, 0(r6)
/* 80024478 000213D8 48 0E 33 B1 */ bl PauseGame__17CInGameGuiManagerFRC13CStateManager15EInGameGuiState
/* 8002447C 000213DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80024480 000213E0 7C 08 03 A6 */ mtlr r0
/* 80024484 000213E4 38 21 00 10 */ addi r1, r1, 0x10
/* 80024488 000213E8 4E 80 00 20 */ blr
.global EnterLogBook__7CMFGameFv
EnterLogBook__7CMFGameFv:
/* 8002448C 000213EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80024490 000213F0 7C 08 02 A6 */ mflr r0
/* 80024494 000213F4 38 A0 00 04 */ li r5, 4
/* 80024498 000213F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002449C 000213FC 38 00 00 01 */ li r0, 1
/* 800244A0 00021400 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800244A4 00021404 80 83 00 14 */ lwz r4, 0x14(r3)
/* 800244A8 00021408 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 800244AC 0002140C 80 84 00 00 */ lwz r4, 0(r4)
/* 800244B0 00021410 80 66 00 00 */ lwz r3, 0(r6)
/* 800244B4 00021414 48 0E 33 75 */ bl PauseGame__17CInGameGuiManagerFRC13CStateManager15EInGameGuiState
/* 800244B8 00021418 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800244BC 0002141C 7C 08 03 A6 */ mtlr r0
/* 800244C0 00021420 38 21 00 10 */ addi r1, r1, 0x10
/* 800244C4 00021424 4E 80 00 20 */ blr
.global PauseGame__7CMFGameFv
PauseGame__7CMFGameFv:
/* 800244C8 00021428 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800244CC 0002142C 7C 08 02 A6 */ mflr r0
/* 800244D0 00021430 38 A0 00 03 */ li r5, 3
/* 800244D4 00021434 90 01 00 14 */ stw r0, 0x14(r1)
/* 800244D8 00021438 38 00 00 01 */ li r0, 1
/* 800244DC 0002143C 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800244E0 00021440 80 83 00 14 */ lwz r4, 0x14(r3)
/* 800244E4 00021444 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 800244E8 00021448 80 84 00 00 */ lwz r4, 0(r4)
/* 800244EC 0002144C 80 66 00 00 */ lwz r3, 0(r6)
/* 800244F0 00021450 48 0E 33 39 */ bl PauseGame__17CInGameGuiManagerFRC13CStateManager15EInGameGuiState
/* 800244F4 00021454 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800244F8 00021458 7C 08 03 A6 */ mtlr r0
/* 800244FC 0002145C 38 21 00 10 */ addi r1, r1, 0x10
/* 80024500 00021460 4E 80 00 20 */ blr
.global EnterMapScreen__7CMFGameFv
EnterMapScreen__7CMFGameFv:
/* 80024504 00021464 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80024508 00021468 7C 08 02 A6 */ mflr r0
/* 8002450C 0002146C 38 A0 00 02 */ li r5, 2
/* 80024510 00021470 90 01 00 14 */ stw r0, 0x14(r1)
/* 80024514 00021474 38 00 00 01 */ li r0, 1
/* 80024518 00021478 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002451C 0002147C 7C 7F 1B 78 */ mr r31, r3
/* 80024520 00021480 90 03 00 1C */ stw r0, 0x1c(r3)
/* 80024524 00021484 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80024528 00021488 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8002452C 0002148C 80 63 00 00 */ lwz r3, 0(r3)
/* 80024530 00021490 80 84 00 00 */ lwz r4, 0(r4)
/* 80024534 00021494 48 0E 32 F5 */ bl PauseGame__17CInGameGuiManagerFRC13CStateManager15EInGameGuiState
/* 80024538 00021498 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 8002453C 0002149C 38 80 00 01 */ li r4, 1
/* 80024540 000214A0 80 63 00 00 */ lwz r3, 0(r3)
/* 80024544 000214A4 88 03 0F 94 */ lbz r0, 0xf94(r3)
/* 80024548 000214A8 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 8002454C 000214AC 98 03 0F 94 */ stb r0, 0xf94(r3)
/* 80024550 000214B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80024554 000214B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80024558 000214B8 7C 08 03 A6 */ mtlr r0
/* 8002455C 000214BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80024560 000214C0 4E 80 00 20 */ blr
.global Draw__7CMFGameCFv
Draw__7CMFGameCFv:
/* 80024564 000214C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80024568 000214C8 7C 08 02 A6 */ mflr r0
/* 8002456C 000214CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80024570 000214D0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80024574 000214D4 7C 7F 1B 78 */ mr r31, r3
/* 80024578 000214D8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8002457C 000214DC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80024580 000214E0 88 03 00 2A */ lbz r0, 0x2a(r3)
/* 80024584 000214E4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80024588 000214E8 41 82 00 F8 */ beq lbl_80024680
/* 8002458C 000214EC 48 00 07 E9 */ bl Touch__7CMFGameFv
/* 80024590 000214F0 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 80024594 000214F4 80 63 00 00 */ lwz r3, 0(r3)
/* 80024598 000214F8 48 0E 32 55 */ bl GetIsGameDraw__17CInGameGuiManagerCFv
/* 8002459C 000214FC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800245A0 00021500 41 82 00 40 */ beq lbl_800245E0
/* 800245A4 00021504 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 800245A8 00021508 38 80 00 01 */ li r4, 1
/* 800245AC 0002150C 88 03 01 61 */ lbz r0, 0x161(r3)
/* 800245B0 00021510 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 800245B4 00021514 98 03 01 61 */ stb r0, 0x161(r3)
/* 800245B8 00021518 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 800245BC 0002151C 80 63 00 00 */ lwz r3, 0(r3)
/* 800245C0 00021520 48 02 2D 85 */ bl PreRender__13CStateManagerFv
/* 800245C4 00021524 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 800245C8 00021528 80 63 00 00 */ lwz r3, 0(r3)
/* 800245CC 0002152C 48 02 19 B1 */ bl DrawWorld__13CStateManagerCFv
/* 800245D0 00021530 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 800245D4 00021534 80 63 00 00 */ lwz r3, 0(r3)
/* 800245D8 00021538 80 63 08 4C */ lwz r3, 0x84c(r3)
/* 800245DC 0002153C 4B FE D4 E9 */ bl IsPlayerDeadEnough__7CPlayerCFv
lbl_800245E0:
/* 800245E0 00021540 80 BF 00 14 */ lwz r5, 0x14(r31)
/* 800245E4 00021544 7F E3 FB 78 */ mr r3, r31
/* 800245E8 00021548 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 800245EC 0002154C 83 C5 00 00 */ lwz r30, 0(r5)
/* 800245F0 00021550 83 A4 00 00 */ lwz r29, 0(r4)
/* 800245F4 00021554 4B FF FD 99 */ bl IsCameraActiveFlow__7CMFGameFv
/* 800245F8 00021558 7C 65 1B 78 */ mr r5, r3
/* 800245FC 0002155C 7F A3 EB 78 */ mr r3, r29
/* 80024600 00021560 7F C4 F3 78 */ mr r4, r30
/* 80024604 00021564 48 0E 40 ED */ bl PreDraw__17CInGameGuiManagerFR13CStateManagerb
/* 80024608 00021568 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8002460C 0002156C 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 80024610 00021570 80 63 00 00 */ lwz r3, 0(r3)
/* 80024614 00021574 80 84 00 00 */ lwz r4, 0(r4)
/* 80024618 00021578 48 0E 41 3D */ bl Draw__17CInGameGuiManagerCFRC13CStateManager
/* 8002461C 0002157C 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80024620 00021580 2C 00 00 03 */ cmpwi r0, 3
/* 80024624 00021584 40 82 00 5C */ bne lbl_80024680
/* 80024628 00021588 C0 42 83 08 */ lfs f2, lbl_805AA028@sda21(r2)
/* 8002462C 0002158C C0 3F 00 20 */ lfs f1, 0x20(r31)
/* 80024630 00021590 C0 0D 81 88 */ lfs f0, lbl_805A6D48@sda21(r13)
/* 80024634 00021594 EC 22 08 28 */ fsubs f1, f2, f1
/* 80024638 00021598 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8002463C 0002159C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80024640 000215A0 40 80 00 0C */ bge lbl_8002464C
/* 80024644 000215A4 38 61 00 0C */ addi r3, r1, 0xc
/* 80024648 000215A8 48 00 00 08 */ b lbl_80024650
lbl_8002464C:
/* 8002464C 000215AC 38 6D 81 88 */ addi r3, r13, lbl_805A6D48@sda21
lbl_80024650:
/* 80024650 000215B0 C0 23 00 00 */ lfs f1, 0(r3)
/* 80024654 000215B4 38 61 00 08 */ addi r3, r1, 8
/* 80024658 000215B8 FC 40 08 90 */ fmr f2, f1
/* 8002465C 000215BC FC 60 08 90 */ fmr f3, f1
/* 80024660 000215C0 FC 80 08 90 */ fmr f4, f1
/* 80024664 000215C4 48 33 ED 89 */ bl __ct__6CColorFffff
/* 80024668 000215C8 C0 22 83 08 */ lfs f1, lbl_805AA028@sda21(r2)
/* 8002466C 000215CC 7C 65 1B 78 */ mr r5, r3
/* 80024670 000215D0 38 60 00 01 */ li r3, 1
/* 80024674 000215D4 38 80 00 00 */ li r4, 0
/* 80024678 000215D8 38 C0 00 00 */ li r6, 0
/* 8002467C 000215DC 48 0C 7A CD */ bl DrawFilter__17CCameraFilterPassFQ217CCameraFilterPass11EFilterTypeQ217CCameraFilterPass12EFilterShapeRC6CColorPC8CTexturef
lbl_80024680:
/* 80024680 000215E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80024684 000215E4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80024688 000215E8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8002468C 000215EC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80024690 000215F0 7C 08 03 A6 */ mtlr r0
/* 80024694 000215F4 38 21 00 20 */ addi r1, r1, 0x20
/* 80024698 000215F8 4E 80 00 20 */ blr
.global OnMessage__7CMFGameFRC20CArchitectureMessageR18CArchitectureQueue
OnMessage__7CMFGameFRC20CArchitectureMessageR18CArchitectureQueue:
/* 8002469C 000215FC 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 800246A0 00021600 7C 08 02 A6 */ mflr r0
/* 800246A4 00021604 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 800246A8 00021608 DB E1 00 B0 */ stfd f31, 0xb0(r1)
/* 800246AC 0002160C F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0
/* 800246B0 00021610 93 E1 00 AC */ stw r31, 0xac(r1)
/* 800246B4 00021614 93 C1 00 A8 */ stw r30, 0xa8(r1)
/* 800246B8 00021618 93 A1 00 A4 */ stw r29, 0xa4(r1)
/* 800246BC 0002161C 93 81 00 A0 */ stw r28, 0xa0(r1)
/* 800246C0 00021620 7C 7D 1B 78 */ mr r29, r3
/* 800246C4 00021624 80 64 00 04 */ lwz r3, 4(r4)
/* 800246C8 00021628 7C BE 2B 78 */ mr r30, r5
/* 800246CC 0002162C 38 03 FF FC */ addi r0, r3, -4
/* 800246D0 00021630 28 00 00 07 */ cmplwi r0, 7
/* 800246D4 00021634 41 81 06 74 */ bgt lbl_80024D48
/* 800246D8 00021638 3C 60 80 3E */ lis r3, lbl_803D99B4@ha
/* 800246DC 0002163C 54 00 10 3A */ slwi r0, r0, 2
/* 800246E0 00021640 38 63 99 B4 */ addi r3, r3, lbl_803D99B4@l
/* 800246E4 00021644 7C 03 00 2E */ lwzx r0, r3, r0
/* 800246E8 00021648 7C 09 03 A6 */ mtctr r0
/* 800246EC 0002164C 4E 80 04 20 */ bctr
.global lbl_800246F0
lbl_800246F0:
/* 800246F0 00021650 7C 83 23 78 */ mr r3, r4
/* 800246F4 00021654 48 02 D1 95 */ bl GetParmFrameBegin__7MakeMsgFRC20CArchitectureMessage
/* 800246F8 00021658 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 800246FC 0002165C 80 83 00 04 */ lwz r4, 4(r3)
/* 80024700 00021660 80 65 00 00 */ lwz r3, 0(r5)
/* 80024704 00021664 48 02 6E 59 */ bl FrameBegin__13CStateManagerFUi
/* 80024708 00021668 48 00 06 40 */ b lbl_80024D48
.global lbl_8002470C
lbl_8002470C:
/* 8002470C 0002166C 88 BD 00 2A */ lbz r5, 0x2a(r29)
/* 80024710 00021670 38 00 00 01 */ li r0, 1
/* 80024714 00021674 7C 83 23 78 */ mr r3, r4
/* 80024718 00021678 54 BF CF FE */ rlwinm r31, r5, 0x19, 0x1f, 0x1f
/* 8002471C 0002167C 50 05 3E 30 */ rlwimi r5, r0, 7, 0x18, 0x18
/* 80024720 00021680 98 BD 00 2A */ stb r5, 0x2a(r29)
/* 80024724 00021684 48 02 D4 99 */ bl GetParmTimerTick__7MakeMsgFRC20CArchitectureMessage
/* 80024728 00021688 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 8002472C 0002168C C3 E3 00 04 */ lfs f31, 4(r3)
/* 80024730 00021690 2C 00 00 02 */ cmpwi r0, 2
/* 80024734 00021694 41 82 02 70 */ beq lbl_800249A4
/* 80024738 00021698 40 80 00 14 */ bge lbl_8002474C
/* 8002473C 0002169C 2C 00 00 00 */ cmpwi r0, 0
/* 80024740 000216A0 41 82 00 C0 */ beq lbl_80024800
/* 80024744 000216A4 40 80 01 B4 */ bge lbl_800248F8
/* 80024748 000216A8 48 00 02 D8 */ b lbl_80024A20
lbl_8002474C:
/* 8002474C 000216AC 2C 00 00 04 */ cmpwi r0, 4
/* 80024750 000216B0 40 80 02 D0 */ bge lbl_80024A20
/* 80024754 000216B4 C0 1D 00 20 */ lfs f0, 0x20(r29)
/* 80024758 000216B8 EC 00 F8 2A */ fadds f0, f0, f31
/* 8002475C 000216BC D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 80024760 000216C0 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024764 000216C4 80 83 00 00 */ lwz r4, 0(r3)
/* 80024768 000216C8 80 64 08 70 */ lwz r3, 0x870(r4)
/* 8002476C 000216CC 4B FE 73 AD */ bl GetCurrentCamera__14CCameraManagerCFRC13CStateManager
/* 80024770 000216D0 7C 60 1B 78 */ mr r0, r3
/* 80024774 000216D4 38 61 00 10 */ addi r3, r1, 0x10
/* 80024778 000216D8 7C 04 03 78 */ mr r4, r0
/* 8002477C 000216DC 48 08 AF B5 */ bl "__ct__30TCastToPtr<16CCinematicCamera>FR7CEntity"
/* 80024780 000216E0 C0 3D 00 20 */ lfs f1, 0x20(r29)
/* 80024784 000216E4 C0 02 83 08 */ lfs f0, lbl_805AA028@sda21(r2)
/* 80024788 000216E8 83 83 00 04 */ lwz r28, 4(r3)
/* 8002478C 000216EC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80024790 000216F0 4C 41 13 82 */ cror 2, 1, 2
/* 80024794 000216F4 40 82 00 18 */ bne lbl_800247AC
/* 80024798 000216F8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8002479C 000216FC 80 63 00 00 */ lwz r3, 0(r3)
/* 800247A0 00021700 48 02 02 15 */ bl SpecialSkipCinematic__13CStateManagerFv
/* 800247A4 00021704 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800247A8 00021708 40 82 00 28 */ bne lbl_800247D0
lbl_800247AC:
/* 800247AC 0002170C 28 1C 00 00 */ cmplwi r28, 0
/* 800247B0 00021710 41 82 00 20 */ beq lbl_800247D0
/* 800247B4 00021714 80 1C 02 1C */ lwz r0, 0x21c(r28)
/* 800247B8 00021718 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 800247BC 0002171C 41 82 00 44 */ beq lbl_80024800
/* 800247C0 00021720 A0 7D 00 28 */ lhz r3, 0x28(r29)
/* 800247C4 00021724 A0 1C 00 08 */ lhz r0, 8(r28)
/* 800247C8 00021728 7C 03 00 40 */ cmplw r3, r0
/* 800247CC 0002172C 41 82 00 34 */ beq lbl_80024800
lbl_800247D0:
/* 800247D0 00021730 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 800247D4 00021734 38 80 00 00 */ li r4, 0
/* 800247D8 00021738 88 03 01 60 */ lbz r0, 0x160(r3)
/* 800247DC 0002173C 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 800247E0 00021740 98 03 01 60 */ stb r0, 0x160(r3)
/* 800247E4 00021744 90 9D 00 1C */ stw r4, 0x1c(r29)
/* 800247E8 00021748 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 800247EC 0002174C 80 63 00 00 */ lwz r3, 0(r3)
/* 800247F0 00021750 48 0E 4A 25 */ bl StartFadeIn__17CInGameGuiManagerFv
/* 800247F4 00021754 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 800247F8 00021758 B0 1D 00 28 */ sth r0, 0x28(r29)
/* 800247FC 0002175C 48 00 02 24 */ b lbl_80024A20
lbl_80024800:
/* 80024800 00021760 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024804 00021764 80 63 00 00 */ lwz r3, 0(r3)
/* 80024808 00021768 38 03 08 FC */ addi r0, r3, 0x8fc
/* 8002480C 0002176C 90 03 09 00 */ stw r0, 0x900(r3)
/* 80024810 00021770 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024814 00021774 80 63 00 00 */ lwz r3, 0(r3)
/* 80024818 00021778 80 03 0F 90 */ lwz r0, 0xf90(r3)
/* 8002481C 0002177C 2C 00 00 03 */ cmpwi r0, 3
/* 80024820 00021780 41 82 00 70 */ beq lbl_80024890
/* 80024824 00021784 40 80 00 1C */ bge lbl_80024840
/* 80024828 00021788 2C 00 00 01 */ cmpwi r0, 1
/* 8002482C 0002178C 41 82 00 4C */ beq lbl_80024878
/* 80024830 00021790 40 80 00 54 */ bge lbl_80024884
/* 80024834 00021794 2C 00 00 00 */ cmpwi r0, 0
/* 80024838 00021798 40 80 00 18 */ bge lbl_80024850
/* 8002483C 0002179C 48 00 00 78 */ b lbl_800248B4
lbl_80024840:
/* 80024840 000217A0 2C 00 00 05 */ cmpwi r0, 5
/* 80024844 000217A4 41 82 00 64 */ beq lbl_800248A8
/* 80024848 000217A8 40 80 00 6C */ bge lbl_800248B4
/* 8002484C 000217AC 48 00 00 50 */ b lbl_8002489C
lbl_80024850:
/* 80024850 000217B0 FC 20 F8 90 */ fmr f1, f31
/* 80024854 000217B4 48 02 5F 79 */ bl Update__13CStateManagerFf
/* 80024858 000217B8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8002485C 000217BC 80 63 00 00 */ lwz r3, 0(r3)
/* 80024860 000217C0 88 03 0F 94 */ lbz r0, 0xf94(r3)
/* 80024864 000217C4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80024868 000217C8 41 82 00 4C */ beq lbl_800248B4
/* 8002486C 000217CC 38 60 00 00 */ li r3, 0
/* 80024870 000217D0 48 2E 4C 39 */ bl SetIsBeginSceneClearFb__9CGraphicsFb
/* 80024874 000217D4 48 00 00 40 */ b lbl_800248B4
lbl_80024878:
/* 80024878 000217D8 7F A3 EB 78 */ mr r3, r29
/* 8002487C 000217DC 4B FF FC 89 */ bl EnterMapScreen__7CMFGameFv
/* 80024880 000217E0 48 00 00 34 */ b lbl_800248B4
lbl_80024884:
/* 80024884 000217E4 7F A3 EB 78 */ mr r3, r29
/* 80024888 000217E8 4B FF FC 41 */ bl PauseGame__7CMFGameFv
/* 8002488C 000217EC 48 00 00 28 */ b lbl_800248B4
lbl_80024890:
/* 80024890 000217F0 7F A3 EB 78 */ mr r3, r29
/* 80024894 000217F4 4B FF FB F9 */ bl EnterLogBook__7CMFGameFv
/* 80024898 000217F8 48 00 00 1C */ b lbl_800248B4
lbl_8002489C:
/* 8002489C 000217FC 7F A3 EB 78 */ mr r3, r29
/* 800248A0 00021800 4B FF FB B1 */ bl SaveGame__7CMFGameFv
/* 800248A4 00021804 48 00 00 10 */ b lbl_800248B4
lbl_800248A8:
/* 800248A8 00021808 C0 23 0F 78 */ lfs f1, 0xf78(r3)
/* 800248AC 0002180C 7F A3 EB 78 */ mr r3, r29
/* 800248B0 00021810 4B FF FB 65 */ bl EnterMessageScreen__7CMFGameFf
lbl_800248B4:
/* 800248B4 00021814 88 1D 00 2A */ lbz r0, 0x2a(r29)
/* 800248B8 00021818 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 800248BC 0002181C 41 82 00 28 */ beq lbl_800248E4
/* 800248C0 00021820 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 800248C4 00021824 80 63 00 00 */ lwz r3, 0(r3)
/* 800248C8 00021828 80 63 08 B8 */ lwz r3, 0x8b8(r3)
/* 800248CC 0002182C 80 63 00 00 */ lwz r3, 0(r3)
/* 800248D0 00021830 88 03 00 00 */ lbz r0, 0(r3)
/* 800248D4 00021834 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800248D8 00021838 40 82 00 0C */ bne lbl_800248E4
/* 800248DC 0002183C 7F A3 EB 78 */ mr r3, r29
/* 800248E0 00021840 4B FF FA D1 */ bl PlayerDied__7CMFGameFv
lbl_800248E4:
/* 800248E4 00021844 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 800248E8 00021848 38 00 00 00 */ li r0, 0
/* 800248EC 0002184C 80 63 00 00 */ lwz r3, 0(r3)
/* 800248F0 00021850 90 03 09 00 */ stw r0, 0x900(r3)
/* 800248F4 00021854 48 00 01 2C */ b lbl_80024A20
lbl_800248F8:
/* 800248F8 00021858 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 800248FC 0002185C 38 80 00 00 */ li r4, 0
/* 80024900 00021860 7C 80 23 78 */ mr r0, r4
/* 80024904 00021864 80 A3 00 00 */ lwz r5, 0(r3)
/* 80024908 00021868 80 65 01 BC */ lwz r3, 0x1bc(r5)
/* 8002490C 0002186C 2C 03 00 00 */ cmpwi r3, 0
/* 80024910 00021870 41 80 00 10 */ blt lbl_80024920
/* 80024914 00021874 2C 03 00 01 */ cmpwi r3, 1
/* 80024918 00021878 41 81 00 08 */ bgt lbl_80024920
/* 8002491C 0002187C 38 00 00 01 */ li r0, 1
lbl_80024920:
/* 80024920 00021880 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80024924 00021884 41 82 00 2C */ beq lbl_80024950
/* 80024928 00021888 80 65 01 C0 */ lwz r3, 0x1c0(r5)
/* 8002492C 0002188C 38 00 00 00 */ li r0, 0
/* 80024930 00021890 2C 03 00 00 */ cmpwi r3, 0
/* 80024934 00021894 41 80 00 10 */ blt lbl_80024944
/* 80024938 00021898 2C 03 00 01 */ cmpwi r3, 1
/* 8002493C 0002189C 41 81 00 08 */ bgt lbl_80024944
/* 80024940 000218A0 38 00 00 01 */ li r0, 1
lbl_80024944:
/* 80024944 000218A4 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 80024948 000218A8 41 82 00 08 */ beq lbl_80024950
/* 8002494C 000218AC 38 80 00 01 */ li r4, 1
lbl_80024950:
/* 80024950 000218B0 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 80024954 000218B4 41 82 00 CC */ beq lbl_80024A20
/* 80024958 000218B8 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 8002495C 000218BC 7F A3 EB 78 */ mr r3, r29
/* 80024960 000218C0 88 05 01 F8 */ lbz r0, 0x1f8(r5)
/* 80024964 000218C4 80 84 00 00 */ lwz r4, 0(r4)
/* 80024968 000218C8 54 05 E7 FE */ rlwinm r5, r0, 0x1c, 0x1f, 0x1f
/* 8002496C 000218CC 88 04 0F 94 */ lbz r0, 0xf94(r4)
/* 80024970 000218D0 50 A0 1F 38 */ rlwimi r0, r5, 3, 0x1c, 0x1c
/* 80024974 000218D4 98 04 0F 94 */ stb r0, 0xf94(r4)
/* 80024978 000218D8 4B FF FA 55 */ bl UnpauseGame__7CMFGameFv
/* 8002497C 000218DC 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024980 000218E0 80 83 00 00 */ lwz r4, 0(r3)
/* 80024984 000218E4 80 64 0F 08 */ lwz r3, 0xf08(r4)
/* 80024988 000218E8 3C 03 00 01 */ addis r0, r3, 1
/* 8002498C 000218EC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80024990 000218F0 41 82 00 90 */ beq lbl_80024A20
/* 80024994 000218F4 80 64 0F 80 */ lwz r3, 0xf80(r4)
/* 80024998 000218F8 38 03 00 01 */ addi r0, r3, 1
/* 8002499C 000218FC 90 04 0F 80 */ stw r0, 0xf80(r4)
/* 800249A0 00021900 48 00 00 80 */ b lbl_80024A20
lbl_800249A4:
/* 800249A4 00021904 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 800249A8 00021908 80 63 00 00 */ lwz r3, 0(r3)
/* 800249AC 0002190C 80 63 08 4C */ lwz r3, 0x84c(r3)
/* 800249B0 00021910 4B FE D1 15 */ bl IsPlayerDeadEnough__7CPlayerCFv
/* 800249B4 00021914 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800249B8 00021918 41 82 00 38 */ beq lbl_800249F0
/* 800249BC 0002191C 80 AD A0 78 */ lwz r5, gpMain@sda21(r13)
/* 800249C0 00021920 38 00 00 04 */ li r0, 4
/* 800249C4 00021924 38 61 00 24 */ addi r3, r1, 0x24
/* 800249C8 00021928 38 80 00 01 */ li r4, 1
/* 800249CC 0002192C 90 05 01 2C */ stw r0, 0x12c(r5)
/* 800249D0 00021930 48 02 CF 91 */ bl CreateQuitGameplay__7MakeMsgF14EArchMsgTarget
/* 800249D4 00021934 7F C3 F3 78 */ mr r3, r30
/* 800249D8 00021938 38 81 00 24 */ addi r4, r1, 0x24
/* 800249DC 0002193C 4B FE 23 25 */ bl Push__18CArchitectureQueueFRC20CArchitectureMessage
/* 800249E0 00021940 34 61 00 2C */ addic. r3, r1, 0x2c
/* 800249E4 00021944 41 82 00 3C */ beq lbl_80024A20
/* 800249E8 00021948 4B FE 3D 25 */ bl "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
/* 800249EC 0002194C 48 00 00 34 */ b lbl_80024A20
lbl_800249F0:
/* 800249F0 00021950 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 800249F4 00021954 FC 20 F8 90 */ fmr f1, f31
/* 800249F8 00021958 80 63 00 00 */ lwz r3, 0(r3)
/* 800249FC 0002195C 38 03 08 FC */ addi r0, r3, 0x8fc
/* 80024A00 00021960 90 03 09 00 */ stw r0, 0x900(r3)
/* 80024A04 00021964 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024A08 00021968 80 63 00 00 */ lwz r3, 0(r3)
/* 80024A0C 0002196C 48 02 5D C1 */ bl Update__13CStateManagerFf
/* 80024A10 00021970 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024A14 00021974 38 00 00 00 */ li r0, 0
/* 80024A18 00021978 80 63 00 00 */ lwz r3, 0(r3)
/* 80024A1C 0002197C 90 03 09 00 */ stw r0, 0x900(r3)
lbl_80024A20:
/* 80024A20 00021980 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 80024A24 00021984 7F A3 EB 78 */ mr r3, r29
/* 80024A28 00021988 80 9D 00 18 */ lwz r4, 0x18(r29)
/* 80024A2C 0002198C 83 A5 00 00 */ lwz r29, 0(r5)
/* 80024A30 00021990 83 84 00 00 */ lwz r28, 0(r4)
/* 80024A34 00021994 4B FF F9 59 */ bl IsCameraActiveFlow__7CMFGameFv
/* 80024A38 00021998 FC 20 F8 90 */ fmr f1, f31
/* 80024A3C 0002199C 7C 66 1B 78 */ mr r6, r3
/* 80024A40 000219A0 7F 83 E3 78 */ mr r3, r28
/* 80024A44 000219A4 7F A4 EB 78 */ mr r4, r29
/* 80024A48 000219A8 7F C5 F3 78 */ mr r5, r30
/* 80024A4C 000219AC 48 0E 35 FD */ bl Update__17CInGameGuiManagerFRC13CStateManagerfR18CArchitectureQueueb
/* 80024A50 000219B0 28 1F 00 00 */ cmplwi r31, 0
/* 80024A54 000219B4 40 82 00 18 */ bne lbl_80024A6C
/* 80024A58 000219B8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13)
/* 80024A5C 000219BC 48 1A EE BD */ bl WorldTransitionManager__10CGameStateFv
/* 80024A60 000219C0 80 63 00 00 */ lwz r3, 0(r3)
/* 80024A64 000219C4 80 63 00 00 */ lwz r3, 0(r3)
/* 80024A68 000219C8 48 1E 60 F1 */ bl EndTransition__18CWorldTransManagerFv
lbl_80024A6C:
/* 80024A6C 000219CC 38 60 00 01 */ li r3, 1
/* 80024A70 000219D0 48 00 02 DC */ b lbl_80024D4C
.global lbl_80024A74
lbl_80024A74:
/* 80024A74 000219D4 88 1D 00 2A */ lbz r0, 0x2a(r29)
/* 80024A78 000219D8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80024A7C 000219DC 41 82 02 CC */ beq lbl_80024D48
/* 80024A80 000219E0 7C 83 23 78 */ mr r3, r4
/* 80024A84 000219E4 48 02 D0 61 */ bl GetParmUserInput__7MakeMsgFRC20CArchitectureMessage
/* 80024A88 000219E8 3C A0 80 3E */ lis r5, __vt__24IArchitectureMessageParm@ha
/* 80024A8C 000219EC 3C 80 80 3E */ lis r4, __vt__21CArchMsgParmUserInput@ha
/* 80024A90 000219F0 38 05 8E 9C */ addi r0, r5, __vt__24IArchitectureMessageParm@l
/* 80024A94 000219F4 90 01 00 60 */ stw r0, 0x60(r1)
/* 80024A98 000219F8 38 04 98 10 */ addi r0, r4, __vt__21CArchMsgParmUserInput@l
/* 80024A9C 000219FC 90 01 00 60 */ stw r0, 0x60(r1)
/* 80024AA0 00021A00 C0 03 00 04 */ lfs f0, 4(r3)
/* 80024AA4 00021A04 D0 01 00 64 */ stfs f0, 0x64(r1)
/* 80024AA8 00021A08 80 03 00 08 */ lwz r0, 8(r3)
/* 80024AAC 00021A0C 90 01 00 68 */ stw r0, 0x68(r1)
/* 80024AB0 00021A10 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80024AB4 00021A14 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 80024AB8 00021A18 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80024ABC 00021A1C D0 01 00 70 */ stfs f0, 0x70(r1)
/* 80024AC0 00021A20 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 80024AC4 00021A24 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 80024AC8 00021A28 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80024ACC 00021A2C D0 01 00 78 */ stfs f0, 0x78(r1)
/* 80024AD0 00021A30 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 80024AD4 00021A34 D0 01 00 7C */ stfs f0, 0x7c(r1)
/* 80024AD8 00021A38 C0 03 00 20 */ lfs f0, 0x20(r3)
/* 80024ADC 00021A3C D0 01 00 80 */ stfs f0, 0x80(r1)
/* 80024AE0 00021A40 88 03 00 24 */ lbz r0, 0x24(r3)
/* 80024AE4 00021A44 98 01 00 84 */ stb r0, 0x84(r1)
/* 80024AE8 00021A48 88 03 00 25 */ lbz r0, 0x25(r3)
/* 80024AEC 00021A4C 98 01 00 85 */ stb r0, 0x85(r1)
/* 80024AF0 00021A50 88 03 00 26 */ lbz r0, 0x26(r3)
/* 80024AF4 00021A54 98 01 00 86 */ stb r0, 0x86(r1)
/* 80024AF8 00021A58 88 03 00 27 */ lbz r0, 0x27(r3)
/* 80024AFC 00021A5C 98 01 00 87 */ stb r0, 0x87(r1)
/* 80024B00 00021A60 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 80024B04 00021A64 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 80024B08 00021A68 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 80024B0C 00021A6C D0 01 00 8C */ stfs f0, 0x8c(r1)
/* 80024B10 00021A70 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80024B14 00021A74 98 01 00 90 */ stb r0, 0x90(r1)
/* 80024B18 00021A78 88 03 00 31 */ lbz r0, 0x31(r3)
/* 80024B1C 00021A7C 98 01 00 91 */ stb r0, 0x91(r1)
/* 80024B20 00021A80 88 03 00 32 */ lbz r0, 0x32(r3)
/* 80024B24 00021A84 38 61 00 60 */ addi r3, r1, 0x60
/* 80024B28 00021A88 98 01 00 92 */ stb r0, 0x92(r1)
/* 80024B2C 00021A8C 4B FF 6E B9 */ bl GetUserInput__21CArchMsgParmUserInputCFv
/* 80024B30 00021A90 C0 03 00 00 */ lfs f0, 0(r3)
/* 80024B34 00021A94 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80024B38 00021A98 80 83 00 04 */ lwz r4, 4(r3)
/* 80024B3C 00021A9C 90 81 00 34 */ stw r4, 0x34(r1)
/* 80024B40 00021AA0 C0 03 00 08 */ lfs f0, 8(r3)
/* 80024B44 00021AA4 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 80024B48 00021AA8 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 80024B4C 00021AAC D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80024B50 00021AB0 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 80024B54 00021AB4 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80024B58 00021AB8 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 80024B5C 00021ABC D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80024B60 00021AC0 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 80024B64 00021AC4 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80024B68 00021AC8 C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 80024B6C 00021ACC D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80024B70 00021AD0 88 03 00 20 */ lbz r0, 0x20(r3)
/* 80024B74 00021AD4 98 01 00 50 */ stb r0, 0x50(r1)
/* 80024B78 00021AD8 88 03 00 21 */ lbz r0, 0x21(r3)
/* 80024B7C 00021ADC 98 01 00 51 */ stb r0, 0x51(r1)
/* 80024B80 00021AE0 88 03 00 22 */ lbz r0, 0x22(r3)
/* 80024B84 00021AE4 98 01 00 52 */ stb r0, 0x52(r1)
/* 80024B88 00021AE8 88 03 00 23 */ lbz r0, 0x23(r3)
/* 80024B8C 00021AEC 98 01 00 53 */ stb r0, 0x53(r1)
/* 80024B90 00021AF0 C0 03 00 24 */ lfs f0, 0x24(r3)
/* 80024B94 00021AF4 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 80024B98 00021AF8 C0 03 00 28 */ lfs f0, 0x28(r3)
/* 80024B9C 00021AFC D0 01 00 58 */ stfs f0, 0x58(r1)
/* 80024BA0 00021B00 88 03 00 2C */ lbz r0, 0x2c(r3)
/* 80024BA4 00021B04 98 01 00 5C */ stb r0, 0x5c(r1)
/* 80024BA8 00021B08 88 03 00 2D */ lbz r0, 0x2d(r3)
/* 80024BAC 00021B0C 98 01 00 5D */ stb r0, 0x5d(r1)
/* 80024BB0 00021B10 88 03 00 2E */ lbz r0, 0x2e(r3)
/* 80024BB4 00021B14 98 01 00 5E */ stb r0, 0x5e(r1)
/* 80024BB8 00021B18 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 80024BBC 00021B1C 2C 00 00 00 */ cmpwi r0, 0
/* 80024BC0 00021B20 40 82 01 08 */ bne lbl_80024CC8
/* 80024BC4 00021B24 2C 04 00 00 */ cmpwi r4, 0
/* 80024BC8 00021B28 40 82 00 D0 */ bne lbl_80024C98
/* 80024BCC 00021B2C 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024BD0 00021B30 80 83 00 00 */ lwz r4, 0(r3)
/* 80024BD4 00021B34 80 64 08 70 */ lwz r3, 0x870(r4)
/* 80024BD8 00021B38 4B FE 6F 41 */ bl GetCurrentCamera__14CCameraManagerCFRC13CStateManager
/* 80024BDC 00021B3C 7C 60 1B 78 */ mr r0, r3
/* 80024BE0 00021B40 38 61 00 08 */ addi r3, r1, 8
/* 80024BE4 00021B44 7C 04 03 78 */ mr r4, r0
/* 80024BE8 00021B48 48 08 AB 49 */ bl "__ct__30TCastToPtr<16CCinematicCamera>FR7CEntity"
/* 80024BEC 00021B4C 88 81 00 5E */ lbz r4, 0x5e(r1)
/* 80024BF0 00021B50 83 83 00 04 */ lwz r28, 4(r3)
/* 80024BF4 00021B54 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 80024BF8 00021B58 41 82 00 6C */ beq lbl_80024C64
/* 80024BFC 00021B5C 28 1C 00 00 */ cmplwi r28, 0
/* 80024C00 00021B60 41 82 00 48 */ beq lbl_80024C48
/* 80024C04 00021B64 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024C08 00021B68 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80024C0C 00021B6C 80 63 00 00 */ lwz r3, 0(r3)
/* 80024C10 00021B70 A0 63 0F 38 */ lhz r3, 0xf38(r3)
/* 80024C14 00021B74 7C 03 00 40 */ cmplw r3, r0
/* 80024C18 00021B78 41 82 00 30 */ beq lbl_80024C48
/* 80024C1C 00021B7C 48 33 44 05 */ bl StopAll__12CMidiManagerFv
/* 80024C20 00021B80 A0 9C 00 08 */ lhz r4, 8(r28)
/* 80024C24 00021B84 38 00 00 03 */ li r0, 3
/* 80024C28 00021B88 C0 02 83 0C */ lfs f0, lbl_805AA02C@sda21(r2)
/* 80024C2C 00021B8C 38 61 00 60 */ addi r3, r1, 0x60
/* 80024C30 00021B90 B0 9D 00 28 */ sth r4, 0x28(r29)
/* 80024C34 00021B94 38 80 FF FF */ li r4, -1
/* 80024C38 00021B98 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 80024C3C 00021B9C D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 80024C40 00021BA0 4B FF 6D AD */ bl __dt__21CArchMsgParmUserInputFv
/* 80024C44 00021BA4 48 00 01 04 */ b lbl_80024D48
lbl_80024C48:
/* 80024C48 00021BA8 28 1C 00 00 */ cmplwi r28, 0
/* 80024C4C 00021BAC 40 82 00 4C */ bne lbl_80024C98
/* 80024C50 00021BB0 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024C54 00021BB4 38 80 00 02 */ li r4, 2
/* 80024C58 00021BB8 80 63 00 00 */ lwz r3, 0(r3)
/* 80024C5C 00021BBC 48 01 FC 05 */ bl DeferStateTransition__13CStateManagerF23EStateManagerTransition
/* 80024C60 00021BC0 48 00 00 38 */ b lbl_80024C98
lbl_80024C64:
/* 80024C64 00021BC4 54 80 CF FF */ rlwinm. r0, r4, 0x19, 0x1f, 0x1f
/* 80024C68 00021BC8 41 82 00 30 */ beq lbl_80024C98
/* 80024C6C 00021BCC 28 1C 00 00 */ cmplwi r28, 0
/* 80024C70 00021BD0 40 82 00 28 */ bne lbl_80024C98
/* 80024C74 00021BD4 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024C78 00021BD8 80 63 00 00 */ lwz r3, 0(r3)
/* 80024C7C 00021BDC 48 01 FB 71 */ bl CanShowMapScreen__13CStateManagerFv
/* 80024C80 00021BE0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80024C84 00021BE4 41 82 00 14 */ beq lbl_80024C98
/* 80024C88 00021BE8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024C8C 00021BEC 38 80 00 01 */ li r4, 1
/* 80024C90 00021BF0 80 63 00 00 */ lwz r3, 0(r3)
/* 80024C94 00021BF4 48 01 FB CD */ bl DeferStateTransition__13CStateManagerF23EStateManagerTransition
lbl_80024C98:
/* 80024C98 00021BF8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024C9C 00021BFC 38 81 00 30 */ addi r4, r1, 0x30
/* 80024CA0 00021C00 80 63 00 00 */ lwz r3, 0(r3)
/* 80024CA4 00021C04 38 03 08 FC */ addi r0, r3, 0x8fc
/* 80024CA8 00021C08 90 03 09 00 */ stw r0, 0x900(r3)
/* 80024CAC 00021C0C 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024CB0 00021C10 80 63 00 00 */ lwz r3, 0(r3)
/* 80024CB4 00021C14 48 02 59 59 */ bl ProcessInput__13CStateManagerFRC11CFinalInput
/* 80024CB8 00021C18 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024CBC 00021C1C 38 00 00 00 */ li r0, 0
/* 80024CC0 00021C20 80 63 00 00 */ lwz r3, 0(r3)
/* 80024CC4 00021C24 90 03 09 00 */ stw r0, 0x900(r3)
lbl_80024CC8:
/* 80024CC8 00021C28 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 80024CCC 00021C2C 7F C6 F3 78 */ mr r6, r30
/* 80024CD0 00021C30 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 80024CD4 00021C34 38 A1 00 30 */ addi r5, r1, 0x30
/* 80024CD8 00021C38 80 63 00 00 */ lwz r3, 0(r3)
/* 80024CDC 00021C3C 80 84 00 00 */ lwz r4, 0(r4)
/* 80024CE0 00021C40 48 0E 2B BD */ bl ProcessControllerInput__17CInGameGuiManagerFRC13CStateManagerRC11CFinalInputR18CArchitectureQueue
/* 80024CE4 00021C44 38 61 00 60 */ addi r3, r1, 0x60
/* 80024CE8 00021C48 38 80 FF FF */ li r4, -1
/* 80024CEC 00021C4C 4B FF 6D 01 */ bl __dt__21CArchMsgParmUserInputFv
/* 80024CF0 00021C50 48 00 00 58 */ b lbl_80024D48
.global lbl_80024CF4
lbl_80024CF4:
/* 80024CF4 00021C54 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024CF8 00021C58 80 63 00 00 */ lwz r3, 0(r3)
/* 80024CFC 00021C5C 48 02 58 A9 */ bl FrameEnd__13CStateManagerFv
/* 80024D00 00021C60 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80024D04 00021C64 80 63 00 00 */ lwz r3, 0(r3)
/* 80024D08 00021C68 88 03 0F 94 */ lbz r0, 0xf94(r3)
/* 80024D0C 00021C6C 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80024D10 00021C70 41 82 00 38 */ beq lbl_80024D48
/* 80024D14 00021C74 38 61 00 18 */ addi r3, r1, 0x18
/* 80024D18 00021C78 38 80 00 01 */ li r4, 1
/* 80024D1C 00021C7C 48 02 CC 45 */ bl CreateQuitGameplay__7MakeMsgF14EArchMsgTarget
/* 80024D20 00021C80 7F C3 F3 78 */ mr r3, r30
/* 80024D24 00021C84 38 81 00 18 */ addi r4, r1, 0x18
/* 80024D28 00021C88 4B FE 1F D9 */ bl Push__18CArchitectureQueueFRC20CArchitectureMessage
/* 80024D2C 00021C8C 34 61 00 20 */ addic. r3, r1, 0x20
/* 80024D30 00021C90 41 82 00 18 */ beq lbl_80024D48
/* 80024D34 00021C94 4B FE 39 D9 */ bl "ReleaseData__Q24rstl34rc_ptr<24IArchitectureMessageParm>Fv"
/* 80024D38 00021C98 48 00 00 10 */ b lbl_80024D48
.global lbl_80024D3C
lbl_80024D3C:
/* 80024D3C 00021C9C 48 34 7F C1 */ bl sub_8036ccfc
/* 80024D40 00021CA0 38 60 00 03 */ li r3, 3
/* 80024D44 00021CA4 48 00 00 08 */ b lbl_80024D4C
.global lbl_80024D48
lbl_80024D48:
/* 80024D48 00021CA8 38 60 00 00 */ li r3, 0
lbl_80024D4C:
/* 80024D4C 00021CAC E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0
/* 80024D50 00021CB0 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 80024D54 00021CB4 CB E1 00 B0 */ lfd f31, 0xb0(r1)
/* 80024D58 00021CB8 83 E1 00 AC */ lwz r31, 0xac(r1)
/* 80024D5C 00021CBC 83 C1 00 A8 */ lwz r30, 0xa8(r1)
/* 80024D60 00021CC0 83 A1 00 A4 */ lwz r29, 0xa4(r1)
/* 80024D64 00021CC4 83 81 00 A0 */ lwz r28, 0xa0(r1)
/* 80024D68 00021CC8 7C 08 03 A6 */ mtlr r0
/* 80024D6C 00021CCC 38 21 00 C0 */ addi r1, r1, 0xc0
/* 80024D70 00021CD0 4E 80 00 20 */ blr
.global Touch__7CMFGameFv
Touch__7CMFGameFv:
/* 80024D74 00021CD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80024D78 00021CD8 7C 08 02 A6 */ mflr r0
/* 80024D7C 00021CDC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80024D80 00021CE0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80024D84 00021CE4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80024D88 00021CE8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80024D8C 00021CEC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80024D90 00021CF0 80 63 00 14 */ lwz r3, 0x14(r3)
/* 80024D94 00021CF4 83 E3 00 00 */ lwz r31, 0(r3)
/* 80024D98 00021CF8 7F E3 FB 78 */ mr r3, r31
/* 80024D9C 00021CFC 48 02 06 3D */ bl TouchSky__13CStateManagerCFv
/* 80024DA0 00021D00 7F E3 FB 78 */ mr r3, r31
/* 80024DA4 00021D04 48 02 05 E1 */ bl TouchPlayerActor__13CStateManagerFv
/* 80024DA8 00021D08 83 DF 08 4C */ lwz r30, 0x84c(r31)
/* 80024DAC 00021D0C 3B A0 00 00 */ li r29, 0
/* 80024DB0 00021D10 3B 80 00 00 */ li r28, 0
/* 80024DB4 00021D14 38 60 00 00 */ li r3, 0
/* 80024DB8 00021D18 80 1E 02 F8 */ lwz r0, 0x2f8(r30)
/* 80024DBC 00021D1C 2C 00 00 02 */ cmpwi r0, 2
/* 80024DC0 00021D20 41 82 00 34 */ beq lbl_80024DF4
/* 80024DC4 00021D24 40 80 00 14 */ bge lbl_80024DD8
/* 80024DC8 00021D28 2C 00 00 00 */ cmpwi r0, 0
/* 80024DCC 00021D2C 41 82 00 18 */ beq lbl_80024DE4
/* 80024DD0 00021D30 40 80 00 1C */ bge lbl_80024DEC
/* 80024DD4 00021D34 48 00 00 34 */ b lbl_80024E08
lbl_80024DD8:
/* 80024DD8 00021D38 2C 00 00 04 */ cmpwi r0, 4
/* 80024DDC 00021D3C 40 80 00 2C */ bge lbl_80024E08
/* 80024DE0 00021D40 48 00 00 20 */ b lbl_80024E00
lbl_80024DE4:
/* 80024DE4 00021D44 38 60 00 01 */ li r3, 1
/* 80024DE8 00021D48 48 00 00 20 */ b lbl_80024E08
lbl_80024DEC:
/* 80024DEC 00021D4C 3B 80 00 01 */ li r28, 1
/* 80024DF0 00021D50 48 00 00 18 */ b lbl_80024E08
lbl_80024DF4:
/* 80024DF4 00021D54 3B 80 00 01 */ li r28, 1
/* 80024DF8 00021D58 3B A0 00 01 */ li r29, 1
/* 80024DFC 00021D5C 48 00 00 0C */ b lbl_80024E08
lbl_80024E00:
/* 80024E00 00021D60 38 60 00 01 */ li r3, 1
/* 80024E04 00021D64 3B A0 00 01 */ li r29, 1
lbl_80024E08:
/* 80024E08 00021D68 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80024E0C 00021D6C 41 82 00 10 */ beq lbl_80024E1C
/* 80024E10 00021D70 80 7E 04 90 */ lwz r3, 0x490(r30)
/* 80024E14 00021D74 7F E4 FB 78 */ mr r4, r31
/* 80024E18 00021D78 48 01 D5 65 */ bl TouchModel__10CPlayerGunCFRC13CStateManager
lbl_80024E1C:
/* 80024E1C 00021D7C 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80024E20 00021D80 41 82 00 14 */ beq lbl_80024E34
/* 80024E24 00021D84 80 7E 00 64 */ lwz r3, 0x64(r30)
/* 80024E28 00021D88 7F E4 FB 78 */ mr r4, r31
/* 80024E2C 00021D8C 38 A0 00 00 */ li r5, 0
/* 80024E30 00021D90 48 0F 0E E1 */ bl Touch__10CModelDataCFRC13CStateManageri
lbl_80024E34:
/* 80024E34 00021D94 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80024E38 00021D98 41 82 00 10 */ beq lbl_80024E48
/* 80024E3C 00021D9C 80 7E 07 68 */ lwz r3, 0x768(r30)
/* 80024E40 00021DA0 7F E4 FB 78 */ mr r4, r31
/* 80024E44 00021DA4 48 0C A1 79 */ bl TouchModel__10CMorphBallCFRC13CStateManager
lbl_80024E48:
/* 80024E48 00021DA8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80024E4C 00021DAC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80024E50 00021DB0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80024E54 00021DB4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80024E58 00021DB8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80024E5C 00021DBC 7C 08 03 A6 */ mtlr r0
/* 80024E60 00021DC0 38 21 00 20 */ addi r1, r1, 0x20
/* 80024E64 00021DC4 4E 80 00 20 */ blr
.global __dt__7CMFGameFv
__dt__7CMFGameFv:
/* 80024E68 00021DC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80024E6C 00021DCC 7C 08 02 A6 */ mflr r0
/* 80024E70 00021DD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80024E74 00021DD4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80024E78 00021DD8 7C 9F 23 78 */ mr r31, r4
/* 80024E7C 00021DDC 93 C1 00 08 */ stw r30, 8(r1)
/* 80024E80 00021DE0 7C 7E 1B 79 */ or. r30, r3, r3
/* 80024E84 00021DE4 41 82 00 9C */ beq lbl_80024F20
/* 80024E88 00021DE8 3C 60 80 3E */ lis r3, lbl_803D99D4@ha
/* 80024E8C 00021DEC 38 80 00 00 */ li r4, 0
/* 80024E90 00021DF0 38 03 99 D4 */ addi r0, r3, lbl_803D99D4@l
/* 80024E94 00021DF4 90 1E 00 00 */ stw r0, 0(r30)
/* 80024E98 00021DF8 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 80024E9C 00021DFC 88 03 01 60 */ lbz r0, 0x160(r3)
/* 80024EA0 00021E00 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 80024EA4 00021E04 98 03 01 60 */ stb r0, 0x160(r3)
/* 80024EA8 00021E08 80 6D A0 78 */ lwz r3, gpMain@sda21(r13)
/* 80024EAC 00021E0C 88 03 01 60 */ lbz r0, 0x160(r3)
/* 80024EB0 00021E10 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 80024EB4 00021E14 98 03 01 60 */ stb r0, 0x160(r3)
/* 80024EB8 00021E18 48 0F 25 D1 */ bl Reinitialize__13CDecalManagerFv
/* 80024EBC 00021E1C 34 1E 00 24 */ addic. r0, r30, 0x24
/* 80024EC0 00021E20 41 82 00 14 */ beq lbl_80024ED4
/* 80024EC4 00021E24 80 7E 00 24 */ lwz r3, 0x24(r30)
/* 80024EC8 00021E28 28 03 00 00 */ cmplwi r3, 0
/* 80024ECC 00021E2C 41 82 00 08 */ beq lbl_80024ED4
/* 80024ED0 00021E30 48 2F 0A 61 */ bl Free__7CMemoryFPCv
lbl_80024ED4:
/* 80024ED4 00021E34 34 1E 00 18 */ addic. r0, r30, 0x18
/* 80024ED8 00021E38 41 82 00 14 */ beq lbl_80024EEC
/* 80024EDC 00021E3C 34 1E 00 18 */ addic. r0, r30, 0x18
/* 80024EE0 00021E40 41 82 00 0C */ beq lbl_80024EEC
/* 80024EE4 00021E44 38 7E 00 18 */ addi r3, r30, 0x18
/* 80024EE8 00021E48 48 00 01 3D */ bl sub_80025024
lbl_80024EEC:
/* 80024EEC 00021E4C 34 1E 00 14 */ addic. r0, r30, 0x14
/* 80024EF0 00021E50 41 82 00 14 */ beq lbl_80024F04
/* 80024EF4 00021E54 34 1E 00 14 */ addic. r0, r30, 0x14
/* 80024EF8 00021E58 41 82 00 0C */ beq lbl_80024F04
/* 80024EFC 00021E5C 38 7E 00 14 */ addi r3, r30, 0x14
/* 80024F00 00021E60 48 00 01 81 */ bl sub_80025080
lbl_80024F04:
/* 80024F04 00021E64 7F C3 F3 78 */ mr r3, r30
/* 80024F08 00021E68 38 80 00 00 */ li r4, 0
/* 80024F0C 00021E6C 48 02 DC 99 */ bl __dt__6CIOWinFv
/* 80024F10 00021E70 7F E0 07 35 */ extsh. r0, r31
/* 80024F14 00021E74 40 81 00 0C */ ble lbl_80024F20
/* 80024F18 00021E78 7F C3 F3 78 */ mr r3, r30
/* 80024F1C 00021E7C 48 2F 0A 15 */ bl Free__7CMemoryFPCv
lbl_80024F20:
/* 80024F20 00021E80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80024F24 00021E84 7F C3 F3 78 */ mr r3, r30
/* 80024F28 00021E88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80024F2C 00021E8C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80024F30 00021E90 7C 08 03 A6 */ mtlr r0
/* 80024F34 00021E94 38 21 00 10 */ addi r1, r1, 0x10
/* 80024F38 00021E98 4E 80 00 20 */ blr
.global "__ct__7CMFGameFQ24rstl25ncrc_ptr<13CStateManager>Q24rstl29ncrc_ptr<17CInGameGuiManager>R18CArchitectureQueue"
"__ct__7CMFGameFQ24rstl25ncrc_ptr<13CStateManager>Q24rstl29ncrc_ptr<17CInGameGuiManager>R18CArchitectureQueue":
/* 80024F3C 00021E9C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80024F40 00021EA0 7C 08 02 A6 */ mflr r0
/* 80024F44 00021EA4 3C C0 80 3D */ lis r6, lbl_803CCAB8@ha
/* 80024F48 00021EA8 90 01 00 34 */ stw r0, 0x34(r1)
/* 80024F4C 00021EAC 38 C6 CA B8 */ addi r6, r6, lbl_803CCAB8@l
/* 80024F50 00021EB0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80024F54 00021EB4 7C 7F 1B 78 */ mr r31, r3
/* 80024F58 00021EB8 38 61 00 08 */ addi r3, r1, 8
/* 80024F5C 00021EBC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80024F60 00021EC0 7C BE 2B 78 */ mr r30, r5
/* 80024F64 00021EC4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80024F68 00021EC8 7C 9D 23 78 */ mr r29, r4
/* 80024F6C 00021ECC 38 86 00 53 */ addi r4, r6, 0x53
/* 80024F70 00021ED0 4B FD FD 49 */ bl string_l__4rstlFPCc
/* 80024F74 00021ED4 7F E3 FB 78 */ mr r3, r31
/* 80024F78 00021ED8 38 81 00 08 */ addi r4, r1, 8
/* 80024F7C 00021EDC 48 02 DC 91 */ bl "__ct__6CIOWinFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 80024F80 00021EE0 38 61 00 08 */ addi r3, r1, 8
/* 80024F84 00021EE4 48 31 8B 5D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 80024F88 00021EE8 3C 60 80 3E */ lis r3, lbl_803D99D4@ha
/* 80024F8C 00021EEC 38 80 00 00 */ li r4, 0
/* 80024F90 00021EF0 38 03 99 D4 */ addi r0, r3, lbl_803D99D4@l
/* 80024F94 00021EF4 38 A0 00 01 */ li r5, 1
/* 80024F98 00021EF8 90 1F 00 00 */ stw r0, 0(r31)
/* 80024F9C 00021EFC 7F E3 FB 78 */ mr r3, r31
/* 80024FA0 00021F00 80 1D 00 00 */ lwz r0, 0(r29)
/* 80024FA4 00021F04 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80024FA8 00021F08 80 FF 00 14 */ lwz r7, 0x14(r31)
/* 80024FAC 00021F0C 80 C7 00 04 */ lwz r6, 4(r7)
/* 80024FB0 00021F10 38 06 00 01 */ addi r0, r6, 1
/* 80024FB4 00021F14 90 07 00 04 */ stw r0, 4(r7)
/* 80024FB8 00021F18 80 1E 00 00 */ lwz r0, 0(r30)
/* 80024FBC 00021F1C 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80024FC0 00021F20 80 FF 00 18 */ lwz r7, 0x18(r31)
/* 80024FC4 00021F24 80 C7 00 04 */ lwz r6, 4(r7)
/* 80024FC8 00021F28 38 06 00 01 */ addi r0, r6, 1
/* 80024FCC 00021F2C 90 07 00 04 */ stw r0, 4(r7)
/* 80024FD0 00021F30 90 9F 00 1C */ stw r4, 0x1c(r31)
/* 80024FD4 00021F34 90 9F 00 24 */ stw r4, 0x24(r31)
/* 80024FD8 00021F38 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80024FDC 00021F3C B0 1F 00 28 */ sth r0, 0x28(r31)
/* 80024FE0 00021F40 88 1F 00 2A */ lbz r0, 0x2a(r31)
/* 80024FE4 00021F44 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 80024FE8 00021F48 98 1F 00 2A */ stb r0, 0x2a(r31)
/* 80024FEC 00021F4C 88 1F 00 2A */ lbz r0, 0x2a(r31)
/* 80024FF0 00021F50 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 80024FF4 00021F54 98 1F 00 2A */ stb r0, 0x2a(r31)
/* 80024FF8 00021F58 80 8D A0 78 */ lwz r4, gpMain@sda21(r13)
/* 80024FFC 00021F5C 88 04 01 60 */ lbz r0, 0x160(r4)
/* 80025000 00021F60 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 80025004 00021F64 98 04 01 60 */ stb r0, 0x160(r4)
/* 80025008 00021F68 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8002500C 00021F6C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80025010 00021F70 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80025014 00021F74 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80025018 00021F78 7C 08 03 A6 */ mtlr r0
/* 8002501C 00021F7C 38 21 00 30 */ addi r1, r1, 0x30
/* 80025020 00021F80 4E 80 00 20 */ blr
.global sub_80025024
sub_80025024:
/* 80025024 00021F84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80025028 00021F88 7C 08 02 A6 */ mflr r0
/* 8002502C 00021F8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80025030 00021F90 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80025034 00021F94 7C 7F 1B 78 */ mr r31, r3
/* 80025038 00021F98 80 83 00 00 */ lwz r4, 0(r3)
/* 8002503C 00021F9C 80 64 00 04 */ lwz r3, 4(r4)
/* 80025040 00021FA0 34 03 FF FF */ addic. r0, r3, -1
/* 80025044 00021FA4 90 04 00 04 */ stw r0, 4(r4)
/* 80025048 00021FA8 41 81 00 24 */ bgt lbl_8002506C
/* 8002504C 00021FAC 80 7F 00 00 */ lwz r3, 0(r31)
/* 80025050 00021FB0 38 80 00 01 */ li r4, 1
/* 80025054 00021FB4 80 63 00 00 */ lwz r3, 0(r3)
/* 80025058 00021FB8 48 0E 4C 29 */ bl __dt__17CInGameGuiManagerFv
/* 8002505C 00021FBC 80 7F 00 00 */ lwz r3, 0(r31)
/* 80025060 00021FC0 28 03 00 00 */ cmplwi r3, 0
/* 80025064 00021FC4 41 82 00 08 */ beq lbl_8002506C
/* 80025068 00021FC8 48 2F 08 C9 */ bl Free__7CMemoryFPCv
lbl_8002506C:
/* 8002506C 00021FCC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80025070 00021FD0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80025074 00021FD4 7C 08 03 A6 */ mtlr r0
/* 80025078 00021FD8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002507C 00021FDC 4E 80 00 20 */ blr
.global sub_80025080
sub_80025080:
/* 80025080 00021FE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80025084 00021FE4 7C 08 02 A6 */ mflr r0
/* 80025088 00021FE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002508C 00021FEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80025090 00021FF0 7C 7F 1B 78 */ mr r31, r3
/* 80025094 00021FF4 80 83 00 00 */ lwz r4, 0(r3)
/* 80025098 00021FF8 80 64 00 04 */ lwz r3, 4(r4)
/* 8002509C 00021FFC 34 03 FF FF */ addic. r0, r3, -1
/* 800250A0 00022000 90 04 00 04 */ stw r0, 4(r4)
/* 800250A4 00022004 41 81 00 24 */ bgt lbl_800250C8
/* 800250A8 00022008 80 7F 00 00 */ lwz r3, 0(r31)
/* 800250AC 0002200C 38 80 00 01 */ li r4, 1
/* 800250B0 00022010 80 63 00 00 */ lwz r3, 0(r3)
/* 800250B4 00022014 48 02 80 F9 */ bl __dt__13CStateManagerFv
/* 800250B8 00022018 80 7F 00 00 */ lwz r3, 0(r31)
/* 800250BC 0002201C 28 03 00 00 */ cmplwi r3, 0
/* 800250C0 00022020 41 82 00 08 */ beq lbl_800250C8
/* 800250C4 00022024 48 2F 08 6D */ bl Free__7CMemoryFPCv
lbl_800250C8:
/* 800250C8 00022028 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800250CC 0002202C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800250D0 00022030 7C 08 03 A6 */ mtlr r0
/* 800250D4 00022034 38 21 00 10 */ addi r1, r1, 0x10
/* 800250D8 00022038 4E 80 00 20 */ blr
.global "__nw__27TOneStatic<13CStateManager>FUlPCcPCc"
"__nw__27TOneStatic<13CStateManager>FUlPCcPCc":
/* 800250DC 0002203C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800250E0 00022040 7C 08 02 A6 */ mflr r0
/* 800250E4 00022044 90 01 00 14 */ stw r0, 0x14(r1)
/* 800250E8 00022048 48 00 00 31 */ bl "ReferenceCount__27TOneStatic<13CStateManager>Fv"
/* 800250EC 0002204C 80 83 00 00 */ lwz r4, 0(r3)
/* 800250F0 00022050 38 04 00 01 */ addi r0, r4, 1
/* 800250F4 00022054 90 03 00 00 */ stw r0, 0(r3)
/* 800250F8 00022058 48 00 00 15 */ bl "GetAllocSpace__27TOneStatic<13CStateManager>Fv"
/* 800250FC 0002205C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80025100 00022060 7C 08 03 A6 */ mtlr r0
/* 80025104 00022064 38 21 00 10 */ addi r1, r1, 0x10
/* 80025108 00022068 4E 80 00 20 */ blr
.global "GetAllocSpace__27TOneStatic<13CStateManager>Fv"
"GetAllocSpace__27TOneStatic<13CStateManager>Fv":
/* 8002510C 0002206C 3C 60 80 46 */ lis r3, lbl_8045A1A8@ha
/* 80025110 00022070 38 63 A1 A8 */ addi r3, r3, lbl_8045A1A8@l
/* 80025114 00022074 4E 80 00 20 */ blr
.global "ReferenceCount__27TOneStatic<13CStateManager>Fv"
"ReferenceCount__27TOneStatic<13CStateManager>Fv":
/* 80025118 00022078 88 0D A1 04 */ lbz r0, lbl_805A8CC4@sda21(r13)
/* 8002511C 0002207C 7C 00 07 75 */ extsb. r0, r0
/* 80025120 00022080 40 82 00 14 */ bne lbl_80025134
/* 80025124 00022084 38 60 00 00 */ li r3, 0
/* 80025128 00022088 38 00 00 01 */ li r0, 1
/* 8002512C 0002208C 90 6D A1 00 */ stw r3, lbl_805A8CC0@sda21(r13)
/* 80025130 00022090 98 0D A1 04 */ stb r0, lbl_805A8CC4@sda21(r13)
lbl_80025134:
/* 80025134 00022094 38 6D A1 00 */ addi r3, r13, lbl_805A8CC0@sda21
/* 80025138 00022098 4E 80 00 20 */ blr
.global __sinit_CMFGame_cpp
__sinit_CMFGame_cpp:
/* 8002513C 0002209C 3C 60 4D 4C */ lis r3, 0x4D4C564C@ha
/* 80025140 000220A0 3C 80 15 8F */ lis r4, 0x158EFE17@ha
/* 80025144 000220A4 38 A3 56 4C */ addi r5, r3, 0x4D4C564C@l
/* 80025148 000220A8 38 6D A0 F8 */ addi r3, r13, lbl_805A8CB8@sda21
/* 8002514C 000220AC 38 04 FE 17 */ addi r0, r4, 0x158EFE17@l
/* 80025150 000220B0 90 AD A0 F8 */ stw r5, lbl_805A8CB8@sda21(r13)
/* 80025154 000220B4 90 03 00 04 */ stw r0, 4(r3)
/* 80025158 000220B8 4E 80 00 20 */ blr