// Decompiled with JetBrains decompiler
// Type: .
// Assembly: Stub, Version=10.1.0.54, Culture=neutral, PublicKeyToken=null
// MVID: B6CAF90E-24AA-429E-AF0C-6337F759D114
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan.Win32.Llac.ahnf-1467840597eb1f4ba0b638f6a268d113b70fcfcdf65f9ac2457fdfea55b1e336.exe

using System;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Cryptography;

namespace \u0002
{
  internal sealed class \u0003 : IDisposable
  {
    private readonly Type \u0001;
    private readonly object \u0001;

    public \u0003()
    {
      try
      {
        this.\u0001 = Assembly.Load("System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e").GetType("System.Security.Cryptography.AesManaged");
      }
      catch (FileNotFoundException ex)
      {
        this.\u0001 = Assembly.Load("mscorlib").GetType("System.Security.Cryptography.RijndaelManaged");
      }
      this.\u0001 = Activator.CreateInstance(this.\u0001);
    }

    public ICryptoTransform \u0002([In] byte[] obj0, [In] byte[] obj1, [In] bool obj2)
    {
      this.\u0001.GetProperty("Key").GetSetMethod().Invoke(this.\u0001, new object[1]
      {
        (object) obj0
      });
      this.\u0001.GetProperty("IV").GetSetMethod().Invoke(this.\u0001, new object[1]
      {
        (object) obj1
      });
      return (ICryptoTransform) this.\u0001.GetMethod(obj2 ? "CreateDecryptor" : "CreateEncryptor", new Type[0]).Invoke(this.\u0001, new object[0]);
    }

    public void \u0002()
    {
      do
      {
        if (true)
          goto label_3;
label_2:
        continue;
label_3:
        this.\u0001.GetMethod("Clear").Invoke(this.\u0001, new object[0]);
        goto label_2;
      }
      while (false);
    }

    public void Dispose() => this.\u0002();
  }
}