public override void Execute()
    {
        VMCpu = MainModule.GetOrCreateVMCpu();

        MainModule.DoNothing2(this);
        MainModule.CopyOverStuff(VMState);
        if (MainModule.GetBool2(VMCpu))
        {
            MainModule.SetBool2(VMCpu, 0);
            return;
        }
        if (MainModule.GetMustSuspend(VMCpu))
        {
            Thread.CurrentThread.Suspend();
        }
        int num = 0;

        if (MainModule.GetMustReset(VMCpu))
        {
            vmethod_0((VMCpu)VMCpu, AutomatonState.GetStateByName("Reset"));
            return;
        }
        if (MainModule.GetMust1234567(VMCpu))
        {
            MainModule.SetMust1234567(VMCpu, 0);
            vmethod_0((VMCpu)VMCpu, AutomatonState.GetStateByName("1234567"));
            return;
        }
        MainModule.ComputeNextProgramCounter(this);
        MainModule.SetCurrentInstruction(VMCpu, MainModule.FetchInstruction(VMState, MainModule.GetProgramCounter(VMCpu)));
        if (MainModule.GetProgramCounter(VMCpu) == "010100111")
        {
            num = 1;
        }
        if (num != 0)
        {
            MainModule.SetBool3(VMCpu, 1);
        }
        vmethod_0((VMCpu)VMCpu, AutomatonState.GetStateByName("1234567"));
    }