// Decompiled with JetBrains decompiler // Type: d // Assembly: Fugi, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: BEDD3B0B-7024-4DCA-82E7-4DC806657EA8 // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00002-msil\Trojan-Dropper.Win32.Dapato.adjp-c7222843a23fc031926828311c4204ba181271a1dde91017bc4695dc95b5fc46.exe using System; using System.Reflection; using System.Reflection.Emit; internal sealed class d { private static ModuleHandle a = Assembly.GetExecutingAssembly().ManifestModule.ModuleHandle; public static void a(RuntimeTypeHandle a1, int a2, RuntimeFieldHandle a3) { FieldInfo fieldFromHandle = FieldInfo.GetFieldFromHandle(a3); label_29: int num1 = 1065167007; int num2 = -371290070; label_2: num2 ^= 374946296; int num3; int num4; switch (num2 + 7886383) { case 0: goto label_29; case 1: while (true) { num1 ^= 1061251038; Type typeFromHandle; MethodInfo methodFromHandle; switch (num1) { case 3952448: d.a(fieldFromHandle, typeFromHandle, methodFromHandle); num1 = 1065167005; continue; case 3952449: typeFromHandle = Type.GetTypeFromHandle(a1); num1 = 1065167004; continue; case 3952450: methodFromHandle = (MethodInfo) MethodBase.GetMethodFromHandle(d.a.ResolveMethodHandle(a2)); num1 = 1065167006; continue; case 3952451: goto label_30; default: goto label_28; } } label_30: return; default: label_27: num3 = -1252432610; num4 = 1468854233; goto label_4; } label_3: num3 ^= 1258197787; switch (num3 + 5769723) { case 0: goto label_28; case 1: goto label_2; default: goto label_20; } label_4: num4 ^= 1471140121; switch (num4) { case 2309823: goto label_27; case 2309824: goto label_3; default: goto label_6; } label_5: int num5; num5 ^= 807444489; switch (num5 + 5350352) { case 0: goto label_20; case 1: goto label_4; } label_6: num5 = -812712903; if ((num5 == 0 ? 0 : 1) != 0) goto label_5; else goto label_18; label_7: int num6; num6 ^= 963614730; goto label_11; label_8: int num7; num7 ^= 554174842; goto label_10; label_9: int num8; while (true) { switch ((num8 ^ 505089372) + 8323513) { case 0: goto label_11; case 1: switch (num7) { case 3496913: goto label_15; case 3496914: goto label_17; case 3496915: goto label_18; case 3496916: goto label_7; default: num8 = -509873381; continue; } case 2: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle1 = __methodref (d.b); num8 = -509873387; continue; case 3: goto label_8; default: goto label_10; } } label_15: int num9; switch (num6 + 5588959) { case 0: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle2 = __methodref (d.a); num6 = -960159701; goto label_7; case 1: goto label_20; case 2: num5 = -812712904; num6 = -960159698; goto label_7; case 3: if (num5 != 0) { num6 = -960159697; goto label_7; } else { num9 = 0; break; } case 4: num9 = 1; break; default: num7 = 557666985; goto label_8; } if (num9 != 0) goto label_5; else goto label_4; label_17: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle3 = __methodref (d.a); num7 = 557666984; goto label_8; label_10: num8 = -509873388; goto label_9; label_11: num7 = 557666987; num8 = -509873386; goto label_9; label_18: num6 = -960159704; num7 = 557666990; goto label_8; label_20: num4 = 1468854182; num6 = -960159703; goto label_7; label_28: num2 = -371290071; num3 = -1252432611; goto label_3; } public static void a(RuntimeTypeHandle a1, int a2, int a3, RuntimeFieldHandle a4) { FieldInfo fieldFromHandle = FieldInfo.GetFieldFromHandle(a4); label_29: int num1 = 1208437434; int num2 = -86065574; label_2: num2 ^= 91624140; int num3; int num4; switch (num2 + 5722987) { case 0: goto label_29; case 1: while (true) { num1 ^= 1209843029; Type typeFromHandle; MethodInfo methodFromHandle; switch (num1) { case 1832942: d.a(fieldFromHandle, typeFromHandle, methodFromHandle); num1 = 1208437412; continue; case 1832943: typeFromHandle = Type.GetTypeFromHandle(a1); num1 = 1208437413; continue; case 1832944: methodFromHandle = (MethodInfo) MethodBase.GetMethodFromHandle(d.a.ResolveMethodHandle(a2), d.a.ResolveTypeHandle(a3)); num1 = 1208437435; continue; case 1832945: goto label_30; default: goto label_28; } } label_30: return; default: label_27: num3 = -341628805; num4 = -901108629; goto label_4; } label_3: num3 ^= 339358839; switch (num3 + 6743028) { case 0: goto label_28; case 1: goto label_2; default: goto label_22; } label_4: num4 ^= 902631251; switch (num4 + 7920841) { case 0: goto label_27; case 1: goto label_3; default: goto label_6; } label_5: int num5; num5 ^= 1455590425; switch (num5) { case 1629240: goto label_22; case 1629241: goto label_4; } label_6: num5 = 1457147937; if ((num5 == 0 ? 0 : 1) != 0) goto label_5; else goto label_15; label_7: int num6; num6 ^= 1556465531; goto label_11; label_8: int num7; num7 ^= 185345149; goto label_10; label_9: int num8; while (true) { switch ((num8 ^ 178816710) + 8387627) { case 0: goto label_11; case 1: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle1 = __methodref (d.a); num8 = -181893872; continue; case 2: switch (num7) { case 1745870: goto label_15; case 1745871: goto label_16; case 1745872: goto label_17; case 1745873: goto label_7; default: num8 = -181893869; continue; } case 3: goto label_8; default: goto label_10; } } label_16: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle2 = __methodref (d.b); num7 = 186025906; goto label_8; label_17: int num9; switch (num6) { case 3309532: if (num5 != 0) { num6 = 1559738523; goto label_7; } else { num9 = 0; break; } case 3309533: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle3 = __methodref (d.a); num6 = 1559738534; goto label_7; case 3309534: goto label_22; case 3309535: num5 = 1457147936; num6 = 1559738535; goto label_7; case 3309536: num9 = 1; break; default: num7 = 186025907; goto label_8; } if (num9 != 0) goto label_5; else goto label_4; label_10: num8 = -181893871; goto label_9; label_11: num7 = 186025901; num8 = -181893858; goto label_9; label_15: num6 = 1559738533; num7 = 186025900; goto label_8; label_22: num4 = -901108636; num6 = 1559738532; goto label_7; label_28: num2 = -86065575; num3 = -341628806; goto label_3; } private static void a(FieldInfo a1, Type a2, MethodInfo a3) { Delegate @delegate; if (((!a3.IsStatic ? 1 : 0) == 0 ? 0 : 1) == 0) { @delegate = Delegate.CreateDelegate(a1.FieldType, a3); } else { ParameterInfo[] parameters = a3.GetParameters(); label_6: int num1 = -181604743; int num2 = -1592729792; int length; Type[] parameterTypes; while (true) { do { switch ((num2 ^ 1588134503) + 4596443) { case 0: goto label_6; case 1: switch (num1 + 5304582) { case 0: length = parameters.Length + 1; num1 = -181604737; goto label_3; case 1: if (a3.DeclaringType.IsValueType) { num1 = -181604738; goto label_3; } else goto label_14; case 2: parameterTypes = new Type[length]; num1 = -181604744; goto label_3; case 3: goto label_13; default: goto label_8; } case 2: label_3: num1 ^= 176414851; break; } num2 = -1592729791; } while ((num2 == 0 ? 0 : 1) != 0); goto label_6; label_8: num2 = -1592729790; } label_13: int num3 = 0; goto label_15; label_14: num3 = 1; label_15: parameterTypes[0] = num3 != 0 ? typeof (object) : a3.DeclaringType.MakeByRefType(); int index = 1; if ((index == 0 ? 0 : 1) != 0) goto label_17; label_16: parameterTypes[index] = parameters[index - 1].ParameterType; ++index; label_17: if ((index >= length ? 0 : 1) == 0) { DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, a3.ReturnType, parameterTypes, a2, true); label_41: int num4 = -1561864867; int num5 = -356280773; label_20: ILGenerator ilGenerator; int num6; while (true) { num5 ^= 358898854; label_34: int num7 = -1567816910; int num8 = -97090829; label_22: while (true) { num8 ^= 93119613; label_26: int num9 = -789524961; int num10 = -1256321016; while (true) { switch ((num10 ^ 1253288268) + 5392063) { case 0: goto label_26; case 1: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle1 = __methodref (d.b); num10 = -1256321010; continue; case 2: switch (num9 + 7883113) { case 0: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle2 = __methodref (d.a); num9 = -789524975; goto label_23; case 1: label_31: num8 = -97090831; num9 = -789524964; goto label_23; case 2: switch (num8 + 4561269) { case 0: goto label_34; case 1: switch (num7 + 8305052) { case 0: switch (num5 + 5780837) { case 0: goto label_41; case 1: switch (num4 + 5238197) { case 0: ilGenerator = dynamicMethod.GetILGenerator(); num4 = -1561864869; goto label_19; case 1: num6 = 1; num4 = -1561864872; goto label_19; case 2: ilGenerator.Emit(OpCodes.Ldarg_0); num4 = -1561864870; goto label_19; case 3: goto label_53; default: goto label_43; } case 2: label_19: num4 ^= 1566033686; goto label_40; default: num7 = -1567816909; goto label_21; } case 1: label_40: num5 = -356280774; num7 = -1567816912; goto label_21; case 2: goto label_20; default: goto label_36; } case 2: goto label_37; case 3: label_21: num7 ^= 1561085270; goto label_31; default: num9 = -789524962; goto label_23; } case 3: goto label_22; default: num10 = -1256321011; continue; } case 3: label_23: num9 ^= 796358790; break; } num10 = -1256321009; } label_36: num8 = -97090826; continue; label_37: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle = __methodref (d.a); num8 = -97090832; } label_43: num5 = -356280771; } label_53: for (; num6 < length; ++num6) { switch (num6) { case 1: ilGenerator.Emit(OpCodes.Ldarg_1); break; case 2: ilGenerator.Emit(OpCodes.Ldarg_2); break; case 3: ilGenerator.Emit(OpCodes.Ldarg_3); break; default: ilGenerator.Emit(OpCodes.Ldarg_S, num6); break; } } ilGenerator.Emit(a1.IsAssembly ? OpCodes.Callvirt : OpCodes.Call, a3); ilGenerator.Emit(OpCodes.Ret); @delegate = dynamicMethod.CreateDelegate(a2); } else goto label_16; } a1.SetValue((object) null, (object) @delegate); } public static void b(RuntimeTypeHandle a1, int a2, RuntimeFieldHandle a3) { FieldInfo fieldFromHandle = FieldInfo.GetFieldFromHandle(a3); label_29: int num1 = 766094162; int num2 = -337500972; label_2: num2 ^= 343648768; int num3; int num4; switch (num2 + 6713645) { case 0: goto label_29; case 1: while (true) { num1 ^= 763745263; ConstructorInfo methodFromHandle; Type typeFromHandle; switch (num1) { case 2914491: methodFromHandle = (ConstructorInfo) MethodBase.GetMethodFromHandle(d.a.ResolveMethodHandle(a2)); num1 = 766094163; continue; case 2914492: d.a(fieldFromHandle, typeFromHandle, methodFromHandle); num1 = 766094161; continue; case 2914493: typeFromHandle = Type.GetTypeFromHandle(a1); num1 = 766094164; continue; case 2914494: goto label_30; default: goto label_28; } } label_30: return; default: label_27: num3 = -1048130551; num4 = 180097593; goto label_4; } label_3: num3 ^= 1043032639; switch (num3 + 5396938) { case 0: goto label_28; case 1: goto label_2; default: goto label_20; } label_4: num4 ^= 178435054; switch (num4) { case 2007510: goto label_27; case 2007511: goto label_3; default: goto label_6; } label_5: int num5; num5 ^= 79908384; switch (num5) { case 1153247: goto label_20; case 1153248: goto label_4; } label_6: num5 = 80926463; if ((num5 == 0 ? 0 : 1) != 0) goto label_5; else goto label_17; label_7: int num6; num6 ^= 1051516883; goto label_11; label_8: int num7; num7 ^= 1434024637; goto label_10; label_9: int num8; while (true) { switch ((num8 ^ 1173867669) + 7748997) { case 0: goto label_11; case 1: switch (num7) { case 1319345: goto label_15; case 1319346: goto label_17; case 1319347: goto label_18; case 1319348: goto label_7; default: num8 = -1166143762; continue; } case 2: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle1 = __methodref (d.a); num8 = -1166143768; continue; case 3: goto label_8; default: goto label_10; } } label_15: int num9; switch (num6 + 6079019) { case 0: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle2 = __methodref (d.a); num6 = -1055923706; goto label_7; case 1: goto label_20; case 2: num5 = 80926400; num6 = -1055923701; goto label_7; case 3: if (num5 != 0) { num6 = -1055923702; goto label_7; } else { num9 = 0; break; } case 4: num9 = 1; break; default: num7 = 1433230095; goto label_8; } if (num9 != 0) goto label_5; else goto label_4; label_18: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle3 = __methodref (d.a); num7 = 1433230094; goto label_8; label_10: num8 = -1166143767; goto label_9; label_11: num7 = 1433230092; num8 = -1166143765; goto label_9; label_17: num6 = -1055923707; num7 = 1433230089; goto label_8; label_20: num4 = 180097592; num6 = -1055923708; goto label_7; label_28: num2 = -337500973; num3 = -1048130552; goto label_3; } public static void b(RuntimeTypeHandle a1, int a2, int a3, RuntimeFieldHandle a4) { FieldInfo fieldFromHandle = FieldInfo.GetFieldFromHandle(a4); label_29: int num1 = -1265378687; int num2 = -183339663; label_2: num2 ^= 177652446; int num3; int num4; switch (num2 + 8079442) { case 0: goto label_29; case 1: while (true) { num1 ^= 1261718753; Type typeFromHandle; ConstructorInfo a; switch (num1 + 5794208) { case 0: typeFromHandle = Type.GetTypeFromHandle(a1); num1 = -1265378688; continue; case 1: ConstructorInfo methodFromHandle; a = methodFromHandle = (ConstructorInfo) MethodBase.GetMethodFromHandle(d.a.ResolveMethodHandle(a2), d.a.ResolveTypeHandle(a3)); num1 = -1265378685; continue; case 2: d.a(fieldFromHandle, typeFromHandle, a); num1 = -1265378686; continue; case 3: goto label_30; default: goto label_28; } } label_30: return; default: label_27: num3 = -177165087; num4 = -1245565394; goto label_4; } label_3: num3 ^= 181338449; switch (num3 + 4215376) { case 0: goto label_28; case 1: goto label_2; default: goto label_22; } label_4: num4 ^= 1247491296; switch (num4 + 6743347) { case 0: goto label_27; case 1: goto label_3; default: goto label_6; } label_5: int num5; num5 ^= 661271631; switch (num5) { case 1876878: goto label_22; case 1876879: goto label_4; } label_6: num5 = 662083521; if ((num5 == 0 ? 0 : 1) != 0) goto label_5; else goto label_15; label_7: int num6; num6 ^= 762237942; goto label_13; label_8: int num7; num7 ^= 690562852; goto label_10; label_9: int num8; while (true) { switch ((num8 ^ 678705813) + 6364564) { case 0: switch (num7 + 5404637) { case 0: goto label_15; case 1: goto label_16; case 2: goto label_17; case 3: goto label_7; default: num8 = -672474888; continue; } case 1: goto label_13; case 2: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle1 = __methodref (d.a); num8 = -672474885; continue; case 3: goto label_8; default: goto label_10; } } label_16: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle2 = __methodref (d.a); num7 = -695947520; goto label_8; label_17: int num9; switch (num6 + 4199464) { case 0: if (num5 != 0) { num6 = -758040534; goto label_7; } else { num9 = 0; break; } case 1: num5 = 662083520; num6 = -758040530; goto label_7; case 2: goto label_22; case 3: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle3 = __methodref (d.a); num6 = -758040531; goto label_7; case 4: num9 = 1; break; default: num7 = -695947513; goto label_8; } if (num9 != 0) goto label_5; else goto label_4; label_10: num8 = -672474887; goto label_9; label_13: num7 = -695947519; num8 = -672474886; goto label_9; label_15: num6 = -758040532; num7 = -695947518; goto label_8; label_22: num4 = -1245565395; num6 = -758040529; goto label_7; label_28: num2 = -183339664; num3 = -177165088; goto label_3; } private static void a(FieldInfo a1, Type a2, ConstructorInfo a3) { ParameterInfo[] parameters = a3.GetParameters(); int length = parameters.Length; Type[] parameterTypes = new Type[length]; int index = 0; if (((index == 0 ? 1 : 0) == 0 ? 0 : 1) != 0) goto label_2; label_1: parameterTypes[index] = parameters[index].ParameterType; ++index; label_2: if ((((index >= length ? 1 : 0) != 0 ? 0 : 1) == 0 ? 0 : 1) == 0) { DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, a3.DeclaringType, parameterTypes, a2, true); label_32: int num1 = 103680420; int num2 = 581503779; label_5: int num3; ILGenerator ilGenerator; while (true) { num2 ^= 581991562; label_26: int num4 = -491363300; int num5 = 1525148413; label_7: while (true) { num5 ^= 1524036494; label_19: int num6 = -1218754400; int num7 = -1365651877; label_9: while (true) { num7 ^= 1362764667; label_11: int num8 = 1330030109; while (true) { switch (num8 ^ 1333071631) { case 3385617: label_12: num7 = -1365651866; num8 = 1330030107; continue; case 3385618: switch (num7 + 6034147) { case 0: switch (num6 + 5842975) { case 0: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle1 = __methodref (d.b); num6 = -1218754397; goto label_8; case 1: switch (num5) { case 3217777: switch (num4 + 5782064) { case 0: switch (num2) { case 1669031: switch (num1) { case 2949804: if (num3 != 0) { num1 = 103680422; goto label_4; } else goto label_38; case 2949805: ilGenerator = dynamicMethod.GetILGenerator(); num1 = 103680423; goto label_4; case 2949806: num3 = 0; num1 = 103680421; goto label_4; case 2949807: goto label_37; default: goto label_31; } case 1669032: goto label_32; case 1669033: label_4: num1 ^= 100862729; goto label_29; default: num4 = -491363299; goto label_6; } case 1: label_29: num2 = 581503789; num4 = -491363298; goto label_6; case 2: goto label_5; default: goto label_25; } case 3217778: goto label_26; case 3217779: label_6: num4 ^= 487694796; goto label_23; default: num6 = -1218754399; goto label_8; } case 2: label_23: num5 = 1525148415; num6 = -1218754394; goto label_8; case 3: goto label_7; default: goto label_17; } case 1: goto label_18; case 2: goto label_19; case 3: label_8: num6 ^= 1224580930; goto label_12; default: num8 = 1330030110; continue; } case 3385619: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle2 = __methodref (d.a); num8 = 1330030108; continue; case 3385620: goto label_9; default: goto label_11; } } label_17: num7 = -1365651868; continue; label_18: // ISSUE: method reference RuntimeMethodHandle runtimeMethodHandle3 = __methodref (d.b); num7 = -1365651867; } label_25: num5 = 1525148412; } label_31: num2 = 581503778; } label_37: int num9 = 0; goto label_39; label_38: num9 = 1; label_39: if (num9 != 0) goto label_47; label_40: switch (num3) { case 0: ilGenerator.Emit(OpCodes.Ldarg_0); break; case 1: ilGenerator.Emit(OpCodes.Ldarg_1); break; case 2: ilGenerator.Emit(OpCodes.Ldarg_2); break; case 3: ilGenerator.Emit(OpCodes.Ldarg_3); break; default: ilGenerator.Emit(OpCodes.Ldarg_S, num3); break; } ++num3; label_47: if (num3 >= length) { ilGenerator.Emit(OpCodes.Newobj, a3); label_51: int num10 = 1390833546; Delegate @delegate; while (true) { switch (num10 ^ 1388733263) { case 2100420: a1.SetValue((object) null, (object) @delegate); num10 = 1390833544; continue; case 2100421: ilGenerator.Emit(OpCodes.Ret); num10 = 1390833545; continue; case 2100422: @delegate = dynamicMethod.CreateDelegate(a2); num10 = 1390833547; continue; case 2100423: goto label_50; default: goto label_51; } } label_50:; } else goto label_40; } else goto label_1; } }