private async void CheckMirrorStatus()
        {
            _checkedMirrorStatus = true;
            Status status;

            while ((status = Status.GetStatus()).MirrorStatus == MirrorStatus.ProcNotFound)
            {
                await Task.Delay(1000);
            }
            Log.Info($"Mirror status: {status.MirrorStatus}");
            if (status.MirrorStatus != MirrorStatus.Error)
            {
                return;
            }
            Log.Error(status.Exception);
            if (!(status.Exception is Win32Exception))
            {
                Log.Info("Not a Win32Exception - Process probably exited. Checking again later.");
                _checkedMirrorStatus = false;
                return;
            }
            Influx.OnUnevenPermissions();
            LogReaderManager.Stop(true).Forget();
            Core.MainWindow.ActivateWindow();
            while (Core.MainWindow.Visibility != Visibility.Visible || Core.MainWindow.WindowState == WindowState.Minimized)
            {
                await Task.Delay(100);
            }
            await Core.MainWindow.ShowMessage("Uneven permissions",
                                              "It appears that Hearthstone (Battle.net) and HDT do not have the same permissions.\n\nPlease run both as administrator or local user.\n\nIf you don't know what any of this means, just run HDT as administrator.");
        }
        private async void CheckMirrorStatus()
        {
            _checkedMirrorStatus = true;
            Status status;

            while ((status = Status.GetStatus()).MirrorStatus == MirrorStatus.ProcNotFound)
            {
                await Task.Delay(1000);
            }
            Log.Info($"Mirror status: {status.MirrorStatus}");
            if (status.MirrorStatus != MirrorStatus.Error)
            {
                return;
            }
            Log.Error(status.Exception);
            if (!(status.Exception is Win32Exception))
            {
                Log.Info("Not a Win32Exception - Process probably exited. Checking again later.");
                _checkedMirrorStatus = false;
                return;
            }
            Influx.OnUnevenPermissions();
            OnHearthMirrorCheckFailed?.Invoke();
        }