// Decompiled with JetBrains decompiler
// Type: TbpStub.My.MySettings
// Assembly: Stub, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 7761CAE9-D290-48D9-A44C-5C95C5289DD6
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan-Downloader.MSIL.VKont.a-1d4cb0f0a33db378f9e4ae1b0f91ee4baabf5f1a669646e1278e016241a1452a.exe

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

namespace TbpStub.My
{
  [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
  [EditorBrowsable(EditorBrowsableState.Advanced)]
  [CompilerGenerated]
  internal sealed class MySettings : ApplicationSettingsBase
  {
    private static MySettings \u0001 = (MySettings) SettingsBase.Synchronized((SettingsBase) new MySettings());
    private static bool \u0001;
    private static object \u0001 = RuntimeHelpers.GetObjectValue(new object());

    [EditorBrowsable(EditorBrowsableState.Advanced)]
    [DebuggerNonUserCode]
    private static void \u0002(object sender, EventArgs e)
    {
      if (!\u0002.\u0002.\u0002().SaveMySettingsOnExit)
        return;
      // ISSUE: reference to a compiler-generated method
      \u0003.\u0002().Save();
    }

    public static MySettings Default
    {
      get
      {
        if (!MySettings.\u0001)
        {
          object Expression = MySettings.\u0001;
          ObjectFlowControl.CheckForSyncLockOnValueType(Expression);
          Monitor.Enter(Expression);
          try
          {
            if (!MySettings.\u0001)
            {
              \u0002.\u0002.\u0002().Shutdown += (ShutdownEventHandler) ((sender, e) =>
              {
                if (!\u0002.\u0002.\u0002().SaveMySettingsOnExit)
                  return;
                \u0003.\u0002().Save();
              });
              MySettings.\u0001 = true;
            }
          }
          finally
          {
            Monitor.Exit(Expression);
          }
        }
        return MySettings.\u0001;
      }
    }
  }
}
