// Decompiled with JetBrains decompiler
// Type: Idm.My.MySettings
// Assembly: Idm, Version=6.5.8.1, Culture=neutral, PublicKeyToken=null
// MVID: 8A2CC06E-B699-4A98-98EE-08831FC9C995
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Backdoor.Win32.DarkKomet.gwon-35b4a84324681a1000c14cf114b6f94ada34eb6c6ca38b9a4584b31e742aece3.exe

using \u001B\u0004;
using \u007F\u0004;
using Microsoft.VisualBasic.ApplicationServices;
using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Configuration;
using System.Diagnostics;
using System.Runtime.CompilerServices;

namespace Idm.My
{
  [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
  [CompilerGenerated]
  [EditorBrowsable(EditorBrowsableState.Advanced)]
  internal sealed class MySettings : ApplicationSettingsBase
  {
    private static MySettings \u0001;
    private static bool \u0002;
    private static object \u0003;

    static MySettings()
    {
      try
      {
        // ISSUE: reference to a compiler-generated field
        // ISSUE: object of a compiler-generated type is created
        MySettings.\u0001 = (MySettings) SettingsBase.Synchronized((SettingsBase) new MySettings());
        // ISSUE: reference to a compiler-generated field
        MySettings.\u0003 = RuntimeHelpers.GetObjectValue(new object());
      }
      catch (Exception ex)
      {
        \u0089\u0004.\u0017\u0005(ex);
        throw;
      }
    }

    [DebuggerNonUserCode]
    public MySettings()
    {
      try
      {
      }
      catch (Exception ex)
      {
        \u0089\u0004.\u0018\u0005(ex, (object) this);
        throw;
      }
    }

    [DebuggerNonUserCode]
    [EditorBrowsable(EditorBrowsableState.Advanced)]
    private static void \u0018\u0004(object sender, EventArgs e)
    {
      bool mySettingsOnExit;
      try
      {
        mySettingsOnExit = \u0094.\u001B\u0003().SaveMySettingsOnExit;
        if (!mySettingsOnExit)
          return;
        // ISSUE: reference to a compiler-generated method
        \u001A\u0002.\u007E\u0082((object) \u0001\u0002.\u001A\u0004());
      }
      catch (Exception ex)
      {
        // ISSUE: variable of a boxed type
        __Boxed<bool> local = (ValueType) mySettingsOnExit;
        object obj = sender;
        EventArgs eventArgs = e;
        \u0089\u0004.\u001A\u0005(ex, (object) local, obj, (object) eventArgs);
        throw;
      }
    }

    public static MySettings Default
    {
      get
      {
        object obj1;
        bool flag;
        try
        {
          flag = !MySettings.\u0002;
          if (flag)
          {
            obj1 = MySettings.\u0003;
            \u001A\u0002.\u0005\u0007(obj1);
            \u001A\u0002.\u0014\u0004(obj1);
            try
            {
              flag = !MySettings.\u0002;
              if (flag)
              {
                \u0080\u0004.\u007E\u0092\u0006((object) \u0094.\u001B\u0003(), (ShutdownEventHandler) ((sender, e) =>
                {
                  bool mySettingsOnExit;
                  try
                  {
                    mySettingsOnExit = \u0094.\u001B\u0003().SaveMySettingsOnExit;
                    if (!mySettingsOnExit)
                      return;
                    \u001A\u0002.\u007E\u0082((object) \u0001\u0002.\u001A\u0004());
                  }
                  catch (Exception ex)
                  {
                    __Boxed<bool> local = (ValueType) mySettingsOnExit;
                    object obj2 = sender;
                    EventArgs eventArgs = e;
                    \u0089\u0004.\u001A\u0005(ex, (object) local, obj2, (object) eventArgs);
                    throw;
                  }
                }));
                MySettings.\u0002 = true;
              }
            }
            finally
            {
              \u001A\u0002.\u0015\u0004(obj1);
            }
          }
          MySettings mySettings1 = MySettings.\u0001;
          MySettings mySettings2 = mySettings1;
          return mySettings2;
        }
        catch (Exception ex)
        {
          MySettings mySettings3;
          MySettings mySettings4 = mySettings3;
          object obj3 = obj1;
          __Boxed<bool> local = (ValueType) flag;
          \u0089\u0004.\u001A\u0005(ex, (object) mySettings4, obj3, (object) local);
          throw;
        }
      }
    }
  }
}
