// 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 \u0002; using SmartAssembly.SmartExceptionsCore; using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace \u0002 { internal sealed class \u0004 { [DllImport("fusion", EntryPoint = "CreateAssemblyCache", CharSet = CharSet.Auto)] internal static extern int \u0003(out \u0004.\u0007 ppAsmCache, uint dwReserved); public static bool \u0003([In] string obj0) { \u0004.\u0007 ppAsmCache; int num; try { ppAsmCache = (\u0004.\u0007) null; num = \u0004.\u0003(out ppAsmCache, 0U); if (num != 0) return false; num = ppAsmCache.\u0002(0U, obj0, IntPtr.Zero); return num == 0; } catch (Exception ex) { \u0004.\u0007 obj = ppAsmCache; // ISSUE: variable of a boxed type __Boxed local = (ValueType) num; string str = obj0; throw UnhandledException.\u0003(ex, (object) obj, (object) local, (object) str); } } public \u0004() { try { } catch (Exception ex) { throw UnhandledException.\u0003(ex, (object) this); } } public struct \u0001 { public int \u0001; public int \u0002; } public struct \u0002 { public \u0004.\u0001 \u0001; public long \u0001; public Guid \u0001; public \u0004.\u0001 \u0002; public int \u0001; public int \u0002; public int \u0003; public \u0004.\u0001 \u0003; public string \u0001; public int \u0004; public int \u0005; } [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("0000000c-0000-0000-C000-000000000046")] [ComImport] public interface \u0003 { void \u0001(IntPtr pv, uint cb, out uint pcbRead); void \u0002(IntPtr pv, uint cb, out uint pcbWritten); void \u0001(long dlibMove, uint dwOrigin, out ulong plibNewPosition); void \u0001(ulong libNewSize); void \u0001(\u0004.\u0003 pstm, ulong cb, out ulong pcbRead, out ulong pcbWritten); void \u0001(uint grfCommitFlags); void \u0001(); void \u0001(ulong libOffset, ulong cb, uint dwLockType); void \u0002(ulong libOffset, ulong cb, uint dwLockType); void \u0001(out \u0004.\u0002 pstatstg, uint grfStatFlag); void \u0001(out \u0004.\u0003 ppstm); } [Guid("7c23ff90-33af-11d3-95da-00a024a85b51")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [ComImport] internal interface \u0004 { void \u0001(\u0004.\u0005 pName); void \u0001(out \u0004.\u0005 ppName); void \u0001([MarshalAs(UnmanagedType.LPWStr)] string szName, int pvValue, uint cbValue, uint dwFlags); void \u0001([MarshalAs(UnmanagedType.LPWStr)] string szName, out int pvValue, ref uint pcbValue, uint dwFlags); void \u0001(out int wzDynamicDir, ref uint pdwSize); } [Guid("CD193BC0-B4BC-11d2-9833-00C04FC31D2E")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [ComImport] internal interface \u0005 { [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(uint PropertyId, IntPtr pvProperty, uint cbProperty); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(uint PropertyId, IntPtr pvProperty, ref uint pcbProperty); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(IntPtr szDisplayName, ref uint pccDisplayName, uint dwDisplayFlags); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001( object refIID, object pAsmBindSink, \u0004.\u0004 pApplicationContext, [MarshalAs(UnmanagedType.LPWStr)] string szCodeBase, long llFlags, int pvReserved, uint cbReserved, out int ppv); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(out uint lpcwBuffer, out int pwzName); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(out uint pdwVersionHi, out uint pdwVersionLow); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(\u0004.\u0005 pName, uint dwCmpFlags); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(out \u0004.\u0005 pName); } [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae")] [ComImport] internal interface \u0006 { void \u0001( [MarshalAs(UnmanagedType.LPWStr)] string pszName, uint dwFormat, uint dwFlags, uint dwMaxSize, out \u0004.\u0003 ppStream); void \u0002(\u0004.\u0005 pName); void \u0001(uint dwFlags); void \u0002(uint dwFlags); } [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [Guid("e707dcde-d1cd-11d2-bab9-00c04f8eceae")] [ComImport] internal interface \u0007 { [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string pszAssemblyName, IntPtr pvReserved, out uint pulDisposition); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string pszAssemblyName, IntPtr pAsmInfo); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001( uint dwFlags, IntPtr pvReserved, out \u0004.\u0006 ppAsmItem, [MarshalAs(UnmanagedType.LPWStr)] string pszAssemblyName); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0001(out object ppAsmScavenger); [MethodImpl(MethodImplOptions.PreserveSig)] int \u0002(uint dwFlags, [MarshalAs(UnmanagedType.LPWStr)] string pszManifestFilePath, IntPtr pvReserved); } } }