public /* async */ void EntryPoint(object sender, RoutedEventArgs e)
        {
            MainStateMachine stateMachine = new MainStateMachine();

            stateMachine.This    = this;
            stateMachine.Sender  = sender;
            stateMachine.Builder = AsyncVoidMethodBuilder.Create();
            stateMachine.State   = -1;
            AsyncVoidMethodBuilder builder = stateMachine.Builder;

            builder.Start(ref stateMachine);
        }
            void IAsyncStateMachine.MoveNext()
            {
                int num = State;

                try
                {
                    if (num != 0)
                    {
                    }
                    try
                    {
                        TaskAwaiter taskAwaiter;

                        if (num != 0)
                        {
                            _task       = This.ThrowTaskExceptionAsync();
                            taskAwaiter = _task.GetAwaiter();

                            if (!taskAwaiter.IsCompleted)
                            {
                                State    = 0;
                                _awaiter = taskAwaiter;
                                MainStateMachine stateMachine = this;
                                Builder.AwaitUnsafeOnCompleted(ref taskAwaiter, ref stateMachine);
                                return;
                            }
                        }
                        else
                        {
                            taskAwaiter = _awaiter;
                            _awaiter    = default(TaskAwaiter);
                            State       = -1;
                        }
                        taskAwaiter.GetResult();
                        taskAwaiter = default(TaskAwaiter);
                        _task       = null;
                    }
                    catch (Exception exception)
                    {
                        _ex = exception;
                        MessageBox.Show(_ex.Message);
                    }
                }
                catch (Exception exception)
                {
                    State = -2;
                    Builder.SetException(exception);
                    return;
                }
                State = -2;
                Builder.SetResult();
            }