private void FovChanger()
        {
            while (!_ct.IsCancellationRequested)
            {
                if (_memory.IsRunning())
                {
                    if (btnStart.Enabled)
                    {
                        SetStartButtonStatus(false);
                    }

                    try
                    {
                        if (!_cod.FovPointer.IsPointingCorrectly(_addrFoV) || !_cod.FovScalePointer.IsPointingCorrectly(_addrFoVScale))
                        {
                            _addrFoV      = _memory.ReadPointerAddress(_cod.FovPointer);
                            _addrFoVScale = _memory.ReadPointerAddress(_cod.FovScalePointer);
                            if (_cod.FovPointer.IsPointingCorrectly(_addrFoV) && _cod.FovScalePointer.IsPointingCorrectly(_addrFoVScale))
                            {
                                Beeper.BeepActivated();
                            }
                        }
                        else
                        {
                            if (!_memory.ReadFloat(_addrFoV).Equals(_desiredFoV))
                            {
                                _memory.WriteFloat(_addrFoV, _desiredFoV);
                            }
                            if (!_memory.ReadFloat(_addrFoVScale).Equals(_desiredFoVScale))
                            {
                                _memory.WriteFloat(_addrFoVScale, _desiredFoVScale);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Thread.CurrentThread.Abort();
                        Beeper.BeepDeactivated();
                        MessageBox.Show(ex.ToString(), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        Application.Exit();
                    }
                }
                else
                {
                    if (!btnStart.Enabled)
                    {
                        SetStartButtonStatus(true);
                    }

                    _addrFoV          = IntPtr.Zero;
                    _addrFoVScale     = IntPtr.Zero;
                    _memory.ProcessId = 0;

                    Beeper.BeepDeactivated();
                }

                Thread.Sleep(1000);
            }
        }
        private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (_cod == null)
            {
                return;
            }

            Settings.Default.FieldOfView      = nudFov.Value;
            Settings.Default.FieldOfViewScale = nudFovScale.Value;
            Settings.Default.Beep             = chkBeep.Checked;
            Settings.Default.AutoSelect       = chkAutoSelect.Checked;
            Settings.Default.AutoStart        = chkAutoStart.Checked;
            Settings.Default.Save();

            _tokenSource?.Cancel();
            Beeper.BeepDeactivated();
        }