prime/asm/MetroidPrime/CMFGame.s

994 lines
50 KiB
ArmAsm

.include "macros.inc"
.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
/* 800246F0 00021650 7C 83 23 78 */ mr r3, r4
/* 800246F4 00021654 48 02 D1 95 */ bl GetParm__20CArchitectureMessageCFv
/* 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
/* 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__14CCameraManagerCFR13CStateManager
/* 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, lbl_805A8F4C@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 InsertMsg__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 sub_8000870c
/* 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
/* 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, lbl_803D8E9C@ha
/* 80024A8C 000219EC 3C 80 80 3E */ lis r4, lbl_803D9810@ha
/* 80024A90 000219F0 38 05 8E 9C */ addi r0, r5, lbl_803D8E9C@l
/* 80024A94 000219F4 90 01 00 60 */ stw r0, 0x60(r1)
/* 80024A98 000219F8 38 04 98 10 */ addi r0, r4, lbl_803D9810@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__14CCameraManagerCFR13CStateManager
/* 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, lbl_805A8F4C@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
/* 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 InsertMsg__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 sub_8000870c
/* 80024D38 00021C98 48 00 00 10 */ b lbl_80024D48
/* 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
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, lbl_805A8F4C@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