// Decompiled with JetBrains decompiler // Type: . // Assembly: MyApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 4C1CA376-1B35-4961-80E8-8029AD6B5A8B // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan.Win32.Fsysna.deeq-bccdbf807edf4ae3f172c9e102415d19675fee38175dc7fe4f296402da8186a9.exe using \u0003; using \u0005; using \u000F; using \u0017; using System; using System.Collections; using System.IO; using System.Reflection; using System.Runtime.InteropServices; namespace \u0017 { internal sealed class \u0004 { [NonSerialized] internal static \u0002 \u0001; private static string \u0001; private static string \u0002; private static byte[] \u0003; private static Hashtable \u0004; private static bool \u0005; private static int \u0006; public static string \u0082([In] int obj0) { obj0 -= \u0004.\u0006; if (\u0004.\u0005) { string str = (string) \u009C.\u007E\u0019\u0003((object) \u0004.\u0004, (object) obj0); if (str != null) return str; } int num1 = obj0; byte[] numArray1 = \u0004.\u0003; int index1 = num1; int num2 = index1 + 1; int num3 = (int) numArray1[index1]; int num4; if ((num3 & 128) == 0) { num4 = num3; if (num4 == 0) return string.Empty; } else if ((num3 & 64) == 0) { num4 = ((num3 & 63) << 8) + (int) \u0004.\u0003[num2++]; } else { int num5 = (num3 & 31) << 24; byte[] numArray2 = \u0004.\u0003; int index2 = num2; int num6 = index2 + 1; int num7 = (int) numArray2[index2] << 16; int num8 = num5 + num7; byte[] numArray3 = \u0004.\u0003; int index3 = num6; int num9 = index3 + 1; int num10 = (int) numArray3[index3] << 8; int num11 = num8 + num10; byte[] numArray4 = \u0004.\u0003; int index4 = num9; num2 = index4 + 1; int num12 = (int) numArray4[index4]; num4 = num11 + num12; } try { byte[] numArray5 = \u0087.\u008C\u0002(\u008B.\u007E\u0093\u0003((object) \u0003\u0003.\u0094\u0003(), \u0004.\u0003, num2, num4)); string str = \u0087\u0002.\u0080\u0002(\u008B.\u007E\u0093\u0003((object) \u0003\u0003.\u0094\u0003(), numArray5, 0, numArray5.Length)); if (\u0004.\u0005) { try { \u001E\u0002.\u007E\u0018\u0003((object) \u0004.\u0004, (object) obj0, (object) str); } catch { } } return str; } catch { return (string) null; } } static \u0004() { \u0004.\u007F(); \u0004.\u0001 = "1"; \u0004.\u0002 = "129"; \u0004.\u0003 = (byte[]) null; \u0004.\u0004 = (Hashtable) null; \u0004.\u0005 = false; \u0004.\u0006 = 0; if (\u0082\u0002.\u0012\u0002(\u0004.\u0001, "1")) { \u0004.\u0005 = true; \u0004.\u0004 = new Hashtable(); } \u0004.\u0006 = \u009B.\u0089\u0002(\u0004.\u0002); Assembly assembly = \u0091\u0002.\u0083\u0003(); Stream stream = \u0094\u0002.\u007E\u0081\u0003((object) assembly, "{4c1ca376-1b35-4961-80e8-8029ad6b5a8b}"); try { int length = \u0097.\u0088\u0002(\u0019\u0002.\u007E\u009A\u0003((object) stream)); byte[] numArray = new byte[length]; int num = \u009B\u0002.\u007E\u009D\u0003((object) stream, numArray, 0, length); \u0004.\u0003 = \u000E.\u0081(numArray); \u009E.\u007E\u009C\u0003((object) stream); } finally { if (stream != null) \u009E.\u007E\u0011\u0002((object) stream); } } } }