// Token: 0x06001262 RID: 4706 RVA: 0x000A0B34 File Offset: 0x0009ED34
    private static void gmEndingCtrl(MTS_TASK_TCB tcb)
    {
        AppMain.GMS_ENDING_WORK gms_ENDING_WORK = (AppMain.GMS_ENDING_WORK)tcb.work;
        GMS_PLAYER_WORK         gms_PLAYER_WORK = AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)];

        switch (gms_ENDING_WORK.step)
        {
        case 0:
            if (gms_ENDING_WORK.timer != 0U)
            {
                gms_ENDING_WORK.timer -= 1U;
                return;
            }
            AppMain.g_gm_main_system.game_flag |= 1024U;
            AppMain.IzFadeInitEasy(1U, 2U, 60f);
            gms_ENDING_WORK.step = 1;
            gms_ENDING_WORK.flag = 2U;
            GmSound.PlayStageBGM(0);
            return;

        case 1:
            break;

        case 2:
            gms_ENDING_WORK.flag        |= 1U;
            gms_PLAYER_WORK.spd_jump_add = gms_PLAYER_WORK.spd_add;
            return;

        case 3:
            gms_PLAYER_WORK.obj_work.disp_flag |= 1U;
            if ((gms_PLAYER_WORK.obj_work.move_flag & 1U) != 0U && gms_PLAYER_WORK.obj_work.spd_m > -4096)
            {
                if (AppMain.amTpIsTouchOn(0))
                {
                    gms_PLAYER_WORK.ring_num = ( short )AppMain.GmEventMgrGetRingNum();
                    if (AppMain.amTpIsTouchOn(1))
                    {
                        AppMain.g_gs_main_sys_info.game_flag |= 32U;
                    }
                    else
                    {
                        AppMain.g_gs_main_sys_info.game_flag &= 4294967263U;
                    }
                }
                gms_ENDING_WORK.get_ring = ( uint )gms_PLAYER_WORK.ring_num;
                if (gms_ENDING_WORK.get_ring < AppMain.GmEventMgrGetRingNum())
                {
                    gms_ENDING_WORK.step = 4;
                    gms_ENDING_WORK.type = 0;
                }
                else if ((AppMain.g_gs_main_sys_info.game_flag & 32U) != 0U)
                {
                    gms_ENDING_WORK.step = 5;
                    gms_ENDING_WORK.type = 2;
                }
                else
                {
                    gms_ENDING_WORK.step = 4;
                    gms_ENDING_WORK.type = 1;
                }
                gms_ENDING_WORK.flag &= 4294967291U;
                AppMain.gmEndingLastPicInit();
                return;
            }
            gms_ENDING_WORK.flag &= 4294967293U;
            gms_ENDING_WORK.flag |= 4U;
            return;

        case 4:
            if (AppMain.g_gm_main_system.game_time > 720U && gms_PLAYER_WORK.seq_state != 62)
            {
                AppMain.GmPlySeqGmkInitEndingDemo1(gms_PLAYER_WORK);
                gms_ENDING_WORK.step = 6;
                return;
            }
            break;

        case 5:
            if (AppMain.g_gm_main_system.game_time > 720U && gms_PLAYER_WORK.seq_state != 24)
            {
                AppMain.GmPlySeqChangeTransformSuper(gms_PLAYER_WORK);
                gms_ENDING_WORK.step = 6;
                return;
            }
            break;

        case 6:
            if (AppMain.g_gm_main_system.game_time > 900U && gms_PLAYER_WORK.seq_state != 63)
            {
                bool type = false;
                if (gms_ENDING_WORK.type == 1)
                {
                    type = true;
                }
                AppMain.GmPlySeqGmkInitEndingDemo2(gms_PLAYER_WORK, type);
                gms_ENDING_WORK.step = 7;
                return;
            }
            break;

        case 7:
            if (AppMain.g_gm_main_system.game_time > 1140U)
            {
                AppMain.IzFadeInitEasy(0U, 1U, 32f);
                gms_ENDING_WORK.step = 8;
                return;
            }
            break;

        case 8:
            if (AppMain.IzFadeIsEnd())
            {
                AppMain.GmMainEnd();
                AppMain.SyDecideEvtCase(0);
                AppMain.SyChangeNextEvt();
            }
            break;

        default:
            return;
        }
    }