// Decompiled with JetBrains decompiler
// Type: .
// Assembly: Stub, Version=2.1.1.1, Culture=neutral, PublicKeyToken=null
// MVID: EC6FBD32-3576-4D40-B4A5-7808EA9CDA7F
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Trojan-Spy.MSIL.Redator.a-0ffe71461f45eb03a9be8c4511c61dda546931a131248a9b132be930c160388f.exe

using \u0003;
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace \u0003
{
  internal class \u0001
  {
    [DllImport("fusion", EntryPoint = "CreateAssemblyCache", CharSet = CharSet.Auto)]
    internal static extern int \u0003(out \u0001.\u0007 ppAsmCache, [In] uint obj1);

    public static bool \u0003([In] string obj0)
    {
      \u0001.\u0007 ppAsmCache = (\u0001.\u0007) null;
      return \u0001.\u0003(out ppAsmCache, 0U) == 0 && ppAsmCache.\u0002(0U, obj0, IntPtr.Zero) == 0;
    }

    public struct \u0001
    {
      public int \u0001;
      public int \u0002;
    }

    public struct \u0002
    {
      public \u0001.\u0001 \u0001;
      public long \u0001;
      public Guid \u0001;
      public \u0001.\u0001 \u0002;
      public int \u0001;
      public int \u0002;
      public int \u0003;
      public \u0001.\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(\u0001.\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 \u0001.\u0002 pstatstg, uint grfStatFlag);

      void \u0001(out \u0001.\u0003 ppstm);
    }

    [Guid("7c23ff90-33af-11d3-95da-00a024a85b51")]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [ComImport]
    internal interface \u0004
    {
      void \u0001(\u0001.\u0005 pName);

      void \u0001(out \u0001.\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);
    }

    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid("CD193BC0-B4BC-11d2-9833-00C04FC31D2E")]
    [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,
        \u0001.\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(\u0001.\u0005 pName, uint dwCmpFlags);

      [MethodImpl(MethodImplOptions.PreserveSig)]
      int \u0001(out \u0001.\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 \u0001.\u0003 ppStream);

      void \u0002(\u0001.\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 \u0001.\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);
    }
  }
}
