// Decompiled with JetBrains decompiler // Type: . // Assembly: csrss, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 57F4D4CE-643E-4C92-9C47-86B837B59593 // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Fsysna.ujb-dca840b3862ed520a86af06748a84aa60d663bef2c7875759235eb95d0228c91.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) { foreach (FieldInfo field in obj0.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.GetField)) { try { if ((object) field.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); foreach (MethodInfo method in typeof (\u0002.\u0002).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) dynamicMethod.CreateDelegate(typeof (\u0001.\u0002))); break; } } catch { } } } } }