using System;
using System.Runtime.InteropServices;
using System.Security;

namespace Zodiacon.DebugHelp
{
	// Token: 0x02000018 RID: 24
	[SuppressUnmanagedCodeSecurity]
	internal static class Win32
	{
		// Token: 0x06000051 RID: 81
		[DllImport("kernel32", SetLastError = true)]
		public static extern bool CloseHandle(IntPtr handle);

		// Token: 0x06000052 RID: 82
		[DllImport("kernel32", SetLastError = true)]
		public static extern IntPtr OpenProcess(ProcessAccessMask access, bool inheritHandle, int pid);

		// Token: 0x06000053 RID: 83
		[DllImport("dbghelp", SetLastError = true)]
		public static extern SymbolOptions SymSetOptions(SymbolOptions options);

		// Token: 0x06000054 RID: 84
		[DllImport("dbghelp", CharSet = CharSet.Unicode, EntryPoint = "SymInitializeW", ExactSpelling = true, SetLastError = true)]
		public static extern bool SymInitialize(IntPtr hProcess, string searchPath, bool invadeProcess);

		// Token: 0x06000055 RID: 85
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymCleanup(IntPtr hProcess);

		// Token: 0x06000056 RID: 86
		[DllImport("dbghelp", CharSet = CharSet.Unicode, EntryPoint = "SymLoadModuleExW", ExactSpelling = true, SetLastError = true)]
		public static extern ulong SymLoadModuleEx(IntPtr hProcess, IntPtr hFile, string imageName, string moduleName, ulong baseOfDll, uint dllSize, IntPtr data, uint flags);

		// Token: 0x06000057 RID: 87
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymFromAddr(IntPtr hProcess, ulong address, out ulong displacement, ref SymbolInfo symbol);

		// Token: 0x06000058 RID: 88
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymEnumerateModules64(IntPtr hProcess, SymEnumerateModuleProc proc, IntPtr context);

		// Token: 0x06000059 RID: 89
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymRefreshModuleList(IntPtr hProcess);

		// Token: 0x0600005A RID: 90
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymFromName(IntPtr hProcess, string name, ref SymbolInfo symbol);

		// Token: 0x0600005B RID: 91
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymEnumSymbols(IntPtr hProcess, ulong baseOfDll, string mask, Win32.EnumSymbolCallback callback, IntPtr context);

		// Token: 0x0600005C RID: 92
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymEnumTypes(IntPtr hProcess, ulong baseOfDll, Win32.EnumSymbolCallback callback, IntPtr context);

		// Token: 0x0600005D RID: 93
		[DllImport("dbghelp", CharSet = CharSet.Unicode, SetLastError = true)]
		public static extern bool SymEnumSourceFiles(IntPtr hProcess, ulong baseOfDll, string mask, EnumSourceFilesCallback callback, IntPtr context);

		// Token: 0x0600005E RID: 94
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymEnumTypesByName(IntPtr hProcess, ulong baseOfDll, string mask, Win32.EnumSymbolCallback callback, IntPtr context);

		// Token: 0x0600005F RID: 95
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, out int value);

		// Token: 0x06000060 RID: 96
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, out SymbolTag tag);

		// Token: 0x06000061 RID: 97
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, out UdtKind tag);

		// Token: 0x06000062 RID: 98
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, out Variant value);

		// Token: 0x06000063 RID: 99
		[DllImport("dbghelp", SetLastError = true)]
		public unsafe static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, out char* value);

		// Token: 0x06000064 RID: 100
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, out ulong value);

		// Token: 0x06000065 RID: 101
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymGetTypeInfo(IntPtr hProcess, ulong baseOfDll, int typeId, SymbolTypeInfo typeinfo, ref FindChildrenParams value);

		// Token: 0x06000066 RID: 102
		[DllImport("dbghelp", SetLastError = true)]
		public static extern bool SymFromIndex(IntPtr hProcess, ulong dllBase, int index, ref SymbolInfo symbol);

		// Token: 0x06000067 RID: 103
		[DllImport("dbghelp", CharSet = CharSet.Unicode, SetLastError = true)]
		public static extern bool SymGetTypeFromName(IntPtr hProcess, ulong dllBase, string name, ref SymbolInfo symbol);

		// Token: 0x0200001E RID: 30
		// (Invoke) Token: 0x06000073 RID: 115
		public delegate bool EnumSymbolCallback(ref SymbolInfo symbol, uint symbolSize, IntPtr context);
	}
}
