// Decompiled with JetBrains decompiler
// Type: .
// 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 \u0001;
using System;
using System.Diagnostics;
using System.Reflection;
using System.Reflection.Emit;

namespace \u0001
{
  internal static class \u0002
  {
    public static void \u0002()
    {
      Type declaringType = new StackTrace().GetFrame(1).GetMethod().DeclaringType;
      foreach (FieldInfo field in declaringType.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.GetField))
      {
        try
        {
          if ((object) field.FieldType == (object) typeof (\u0001.\u0001))
          {
            DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, typeof (string), new Type[1]
            {
              typeof (int)
            }, declaringType, true);
            ILGenerator ilGenerator = dynamicMethod.GetILGenerator();
            ilGenerator.Emit(OpCodes.Ldarg_0);
            foreach (MethodInfo method in typeof (\u0003).GetMethods(BindingFlags.Static | BindingFlags.Public))
            {
              if ((object) method.ReturnType == (object) typeof (string))
              {
                ilGenerator.Emit(OpCodes.Ldc_I4, field.MetadataToken & 16777215);
                ilGenerator.Emit(OpCodes.Sub);
                ilGenerator.Emit(OpCodes.Call, method);
                break;
              }
            }
            ilGenerator.Emit(OpCodes.Ret);
            field.SetValue((object) null, (object) (\u0001.\u0001) dynamicMethod.CreateDelegate(typeof (\u0001.\u0001)));
            break;
          }
        }
        catch
        {
        }
      }
    }
  }
}
