Index: unk/src/VBox/Runtime/include/internal/ldrMZ.h
===================================================================
--- /trunk/src/VBox/Runtime/include/internal/ldrMZ.h	(revision 58742)
+++ 	(revision )
@@ -1,65 +1,0 @@
-/* $Id$ */
-/** @file
- * IPRT, MZ header.
- */
-
-/*
- * Copyright (C) 2006-2015 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- *
- * The contents of this file may alternatively be used under the terms
- * of the Common Development and Distribution License Version 1.0
- * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
- * VirtualBox OSE distribution, in which case the provisions of the
- * CDDL are applicable instead of those of the GPL.
- *
- * You may elect to license modified versions of this file under the
- * terms and conditions of either the GPL or the CDDL or both.
- */
-
-#ifndef ___internal_ldrMZ_h
-#define ___internal_ldrMZ_h
-
-#pragma pack(1) /* not required */
-
-#include <iprt/types.h>
-
-typedef struct _IMAGE_DOS_HEADER
-{
-    uint16_t   e_magic;
-    uint16_t   e_cblp;
-    uint16_t   e_cp;
-    uint16_t   e_crlc;
-    uint16_t   e_cparhdr;
-    uint16_t   e_minalloc;
-    uint16_t   e_maxalloc;
-    uint16_t   e_ss;
-    uint16_t   e_sp;
-    uint16_t   e_csum;
-    uint16_t   e_ip;
-    uint16_t   e_cs;
-    uint16_t   e_lfarlc;
-    uint16_t   e_ovno;
-    uint16_t   e_res[4];
-    uint16_t   e_oemid;
-    uint16_t   e_oeminfo;
-    uint16_t   e_res2[10];
-    uint32_t   e_lfanew;
-} IMAGE_DOS_HEADER;
-typedef IMAGE_DOS_HEADER *PIMAGE_DOS_HEADER;
-
-#ifndef IMAGE_DOS_SIGNATURE
-# define IMAGE_DOS_SIGNATURE ('M' | ('Z' << 8)) /* fix endianness */
-#endif
-
-#pragma pack()
-
-#endif
-
Index: unk/src/VBox/Runtime/include/internal/ldrPE.h
===================================================================
--- /trunk/src/VBox/Runtime/include/internal/ldrPE.h	(revision 58742)
+++ 	(revision )
@@ -1,1037 +1,0 @@
-/* $Id$ */
-/** @file
- * IPRT - Windows NT PE Structures and Constants.
- */
-
-/*
- * Copyright (C) 2006-2015 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- *
- * The contents of this file may alternatively be used under the terms
- * of the Common Development and Distribution License Version 1.0
- * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
- * VirtualBox OSE distribution, in which case the provisions of the
- * CDDL are applicable instead of those of the GPL.
- *
- * You may elect to license modified versions of this file under the
- * terms and conditions of either the GPL or the CDDL or both.
- */
-
-#ifndef ___internal_ldrPE_h
-#define ___internal_ldrPE_h
-
-#include <iprt/types.h>
-#include <iprt/assert.h>
-
-#pragma pack(4) /** @todo Necessary? */
-
-
-/*******************************************************************************
-*   Defined Constants And Macros                                               *
-*******************************************************************************/
-#define  IMAGE_NT_SIGNATURE  0x00004550
-
-/* file header */
-#define  IMAGE_FILE_MACHINE_I386  0x014c
-#define  IMAGE_FILE_MACHINE_AMD64  0x8664
-
-#define  IMAGE_FILE_RELOCS_STRIPPED  0x0001
-#define  IMAGE_FILE_EXECUTABLE_IMAGE  0x0002
-#define  IMAGE_FILE_LINE_NUMS_STRIPPED  0x0004
-#define  IMAGE_FILE_LOCAL_SYMS_STRIPPED  0x0008
-#define  IMAGE_FILE_AGGRESIVE_WS_TRIM  0x0010
-#define  IMAGE_FILE_LARGE_ADDRESS_AWARE  0x0020
-#define  IMAGE_FILE_16BIT_MACHINE  0x0040
-#define  IMAGE_FILE_BYTES_REVERSED_LO  0x0080
-#define  IMAGE_FILE_32BIT_MACHINE  0x0100
-#define  IMAGE_FILE_DEBUG_STRIPPED  0x0200
-#define  IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP  0x0400
-#define  IMAGE_FILE_NET_RUN_FROM_SWAP  0x0800
-#define  IMAGE_FILE_SYSTEM  0x1000
-#define  IMAGE_FILE_DLL  0x2000
-#define  IMAGE_FILE_UP_SYSTEM_ONLY  0x4000
-#define  IMAGE_FILE_BYTES_REVERSED_HI  0x8000
-
-
-/* optional header */
-#define  IMAGE_NT_OPTIONAL_HDR32_MAGIC  0x10B
-#define  IMAGE_NT_OPTIONAL_HDR64_MAGIC  0x20B
-
-#define  IMAGE_SUBSYSTEM_UNKNOWN  0x0
-#define  IMAGE_SUBSYSTEM_NATIVE  0x1
-#define  IMAGE_SUBSYSTEM_WINDOWS_GUI  0x2
-#define  IMAGE_SUBSYSTEM_WINDOWS_CUI  0x3
-#define  IMAGE_SUBSYSTEM_OS2_GUI  0x4
-#define  IMAGE_SUBSYSTEM_OS2_CUI  0x5
-#define  IMAGE_SUBSYSTEM_POSIX_CUI  0x7
-
-#define  IMAGE_LIBRARY_PROCESS_INIT                         0x0001
-#define  IMAGE_LIBRARY_PROCESS_TERM                         0x0002
-#define  IMAGE_LIBRARY_THREAD_INIT                          0x0004
-#define  IMAGE_LIBRARY_THREAD_TERM                          0x0008
-#define  IMAGE_DLLCHARACTERISTICS_RESERVED                  0x0010
-#define  IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA           0x0020
-#define  IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE              0x0040
-#define  IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY           0x0080
-#define  IMAGE_DLLCHARACTERISTICS_NX_COMPAT                 0x0100
-#define  IMAGE_DLLCHARACTERISTICS_NO_ISOLATION              0x0200
-#define  IMAGE_DLLCHARACTERISTICS_NO_SEH                    0x0400
-#define  IMAGE_DLLCHARACTERISTICS_NO_BIND                   0x0800
-#define  IMAGE_DLLCHARACTERISTICS_APPCONTAINER              0x1000
-#define  IMAGE_DLLCHARACTERISTICS_WDM_DRIVER                0x2000
-#define  IMAGE_DLLCHARACTERISTICS_GUARD_CF                  0x4000
-#define  IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE     0x8000
-
-#define  IMAGE_NUMBEROF_DIRECTORY_ENTRIES  0x10
-
-#define  IMAGE_DIRECTORY_ENTRY_EXPORT  0x0
-#define  IMAGE_DIRECTORY_ENTRY_IMPORT  0x1
-#define  IMAGE_DIRECTORY_ENTRY_RESOURCE  0x2
-#define  IMAGE_DIRECTORY_ENTRY_EXCEPTION  0x3
-#define  IMAGE_DIRECTORY_ENTRY_SECURITY  0x4
-#define  IMAGE_DIRECTORY_ENTRY_BASERELOC  0x5
-#define  IMAGE_DIRECTORY_ENTRY_DEBUG  0x6
-#define  IMAGE_DIRECTORY_ENTRY_ARCHITECTURE  0x7
-#define  IMAGE_DIRECTORY_ENTRY_COPYRIGHT IMAGE_DIRECTORY_ENTRY_ARCHITECTURE
-#define  IMAGE_DIRECTORY_ENTRY_GLOBALPTR  0x8
-#define  IMAGE_DIRECTORY_ENTRY_TLS  0x9
-#define  IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG  0xa
-#define  IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT  0xb
-#define  IMAGE_DIRECTORY_ENTRY_IAT  0xc
-#define  IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT  0xd
-#define  IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR  0xe
-
-
-/* section header */
-#define  IMAGE_SIZEOF_SHORT_NAME  0x8
-
-#define  IMAGE_SCN_TYPE_REG  0x00000000
-#define  IMAGE_SCN_TYPE_DSECT  0x00000001
-#define  IMAGE_SCN_TYPE_NOLOAD  0x00000002
-#define  IMAGE_SCN_TYPE_GROUP  0x00000004
-#define  IMAGE_SCN_TYPE_NO_PAD  0x00000008
-#define  IMAGE_SCN_TYPE_COPY  0x00000010
-
-#define  IMAGE_SCN_CNT_CODE  0x00000020
-#define  IMAGE_SCN_CNT_INITIALIZED_DATA  0x00000040
-#define  IMAGE_SCN_CNT_UNINITIALIZED_DATA  0x00000080
-
-#define  IMAGE_SCN_LNK_OTHER  0x00000100
-#define  IMAGE_SCN_LNK_INFO  0x00000200
-#define  IMAGE_SCN_TYPE_OVER  0x00000400
-#define  IMAGE_SCN_LNK_REMOVE  0x00000800
-#define  IMAGE_SCN_LNK_COMDAT  0x00001000
-#define  IMAGE_SCN_MEM_PROTECTED  0x00004000
-#define  IMAGE_SCN_NO_DEFER_SPEC_EXC  0x00004000
-#define  IMAGE_SCN_GPREL  0x00008000
-#define  IMAGE_SCN_MEM_FARDATA  0x00008000
-#define  IMAGE_SCN_MEM_SYSHEAP  0x00010000
-#define  IMAGE_SCN_MEM_PURGEABLE  0x00020000
-#define  IMAGE_SCN_MEM_16BIT  0x00020000
-#define  IMAGE_SCN_MEM_LOCKED  0x00040000
-#define  IMAGE_SCN_MEM_PRELOAD  0x00080000
-
-#define  IMAGE_SCN_ALIGN_1BYTES  0x00100000
-#define  IMAGE_SCN_ALIGN_2BYTES  0x00200000
-#define  IMAGE_SCN_ALIGN_4BYTES  0x00300000
-#define  IMAGE_SCN_ALIGN_8BYTES  0x00400000
-#define  IMAGE_SCN_ALIGN_16BYTES  0x00500000
-#define  IMAGE_SCN_ALIGN_32BYTES  0x00600000
-#define  IMAGE_SCN_ALIGN_64BYTES  0x00700000
-#define  IMAGE_SCN_ALIGN_128BYTES  0x00800000
-#define  IMAGE_SCN_ALIGN_256BYTES  0x00900000
-#define  IMAGE_SCN_ALIGN_512BYTES  0x00A00000
-#define  IMAGE_SCN_ALIGN_1024BYTES  0x00B00000
-#define  IMAGE_SCN_ALIGN_2048BYTES  0x00C00000
-#define  IMAGE_SCN_ALIGN_4096BYTES  0x00D00000
-#define  IMAGE_SCN_ALIGN_8192BYTES  0x00E00000
-#define  IMAGE_SCN_ALIGN_MASK   0x00F00000
-#define  IMAGE_SCN_ALIGN_SHIFT  20
-
-#define  IMAGE_SCN_LNK_NRELOC_OVFL  0x01000000
-#define  IMAGE_SCN_MEM_DISCARDABLE  0x02000000
-#define  IMAGE_SCN_MEM_NOT_CACHED  0x04000000
-#define  IMAGE_SCN_MEM_NOT_PAGED  0x08000000
-#define  IMAGE_SCN_MEM_SHARED  0x10000000
-#define  IMAGE_SCN_MEM_EXECUTE  0x20000000
-#define  IMAGE_SCN_MEM_READ  0x40000000
-#define  IMAGE_SCN_MEM_WRITE  0x80000000
-
-
-/* relocations */
-#define  IMAGE_REL_BASED_ABSOLUTE  0x0
-#define  IMAGE_REL_BASED_HIGH  0x1
-#define  IMAGE_REL_BASED_LOW  0x2
-#define  IMAGE_REL_BASED_HIGHLOW  0x3
-#define  IMAGE_REL_BASED_HIGHADJ  0x4
-#define  IMAGE_REL_BASED_MIPS_JMPADDR  0x5
-#define  IMAGE_REL_BASED_MIPS_JMPADDR16 0x9
-#define  IMAGE_REL_BASED_IA64_IMM64  0x9
-#define  IMAGE_REL_BASED_DIR64  0xa
-#define  IMAGE_REL_BASED_HIGH3ADJ 0xb
-
-
-/* imports */
-#define  IMAGE_ORDINAL_FLAG32  0x80000000
-#define  IMAGE_ORDINAL32(ord)  ((ord) &  0xffff)
-#define  IMAGE_SNAP_BY_ORDINAL32(ord)  (!!((ord) & IMAGE_ORDINAL_FLAG32))
-
-#define  IMAGE_ORDINAL_FLAG64  0x8000000000000000ULL
-#define  IMAGE_ORDINAL64(ord)  ((ord) &  0xffff)
-#define  IMAGE_SNAP_BY_ORDINAL64(ord)  (!!((ord) & IMAGE_ORDINAL_FLAG64))
-
-
-/* debug dir */
-#define  IMAGE_DEBUG_TYPE_UNKNOWN           UINT32_C(0x0)
-#define  IMAGE_DEBUG_TYPE_COFF              UINT32_C(0x1)
-#define  IMAGE_DEBUG_TYPE_CODEVIEW          UINT32_C(0x2)
-#define  IMAGE_DEBUG_TYPE_FPO               UINT32_C(0x3)
-#define  IMAGE_DEBUG_TYPE_MISC              UINT32_C(0x4)
-#define  IMAGE_DEBUG_TYPE_EXCEPTION         UINT32_C(0x5)
-#define  IMAGE_DEBUG_TYPE_FIXUP             UINT32_C(0x6)
-#define  IMAGE_DEBUG_TYPE_OMAP_TO_SRC       UINT32_C(0x7)
-#define  IMAGE_DEBUG_TYPE_OMAP_FROM_SRC     UINT32_C(0x8)
-#define  IMAGE_DEBUG_TYPE_BORLAND           UINT32_C(0x9)
-#define  IMAGE_DEBUG_TYPE_RESERVED10        UINT32_C(0x10)
-
-#define  IMAGE_DEBUG_MISC_EXENAME           UINT32_C(1)
-
-/* security directory */
-#define  WIN_CERT_REVISION_1_0              UINT16_C(0x0100)
-#define  WIN_CERT_REVISION_2_0              UINT16_C(0x0200)
-
-#define  WIN_CERT_TYPE_X509                 UINT16_C(1)
-#define  WIN_CERT_TYPE_PKCS_SIGNED_DATA     UINT16_C(2)
-#define  WIN_CERT_TYPE_RESERVED_1           UINT16_C(3)
-#define  WIN_CERT_TYPE_TS_STACK_SIGNED      UINT16_C(4)
-#define  WIN_CERT_TYPE_EFI_PKCS115          UINT16_C(0x0ef0)
-#define  WIN_CERT_TYPE_EFI_GUID             UINT16_C(0x0ef1)
-
-/** The alignment of the certificate table.
- * @remarks Found thru signtool experiments.  */
-#define  WIN_CERTIFICATE_ALIGNMENT          8
-
-/* For .DBG files. */
-#define  IMAGE_SEPARATE_DEBUG_SIGNATURE     UINT16_C(0x4944)
-
-#define  IMAGE_SIZE_OF_SYMBOL               18
-#define  IMAGE_SIZE_OF_SYMBOL_EX            20
-
-#define  IMAGE_SYM_UNDEFINED                INT16_C(0)
-#define  IMAGE_SYM_ABSOLUTE                 INT16_C(-1)
-#define  IMAGE_SYM_DEBUG                    INT16_C(-2)
-
-#define  IMAGE_SYM_CLASS_END_OF_FUNCTION    UINT8_C(0xff) /* -1 */
-#define  IMAGE_SYM_CLASS_NULL               UINT8_C(0)
-#define  IMAGE_SYM_CLASS_AUTOMATIC          UINT8_C(1)
-#define  IMAGE_SYM_CLASS_EXTERNAL           UINT8_C(2)
-#define  IMAGE_SYM_CLASS_STATIC             UINT8_C(3)
-#define  IMAGE_SYM_CLASS_REGISTER           UINT8_C(4)
-#define  IMAGE_SYM_CLASS_EXTERNAL_DEF       UINT8_C(5)
-#define  IMAGE_SYM_CLASS_LABEL              UINT8_C(6)
-#define  IMAGE_SYM_CLASS_UNDEFINED_LABEL    UINT8_C(7)
-#define  IMAGE_SYM_CLASS_MEMBER_OF_STRUCT   UINT8_C(8)
-#define  IMAGE_SYM_CLASS_ARGUMENT           UINT8_C(9)
-#define  IMAGE_SYM_CLASS_STRUCT_TAG         UINT8_C(10)
-#define  IMAGE_SYM_CLASS_MEMBER_OF_UNION    UINT8_C(11)
-#define  IMAGE_SYM_CLASS_UNION_TAG          UINT8_C(12)
-#define  IMAGE_SYM_CLASS_TYPE_DEFINITION    UINT8_C(13)
-#define  IMAGE_SYM_CLASS_UNDEFINED_STATIC   UINT8_C(14)
-#define  IMAGE_SYM_CLASS_ENUM_TAG           UINT8_C(15)
-#define  IMAGE_SYM_CLASS_MEMBER_OF_ENUM     UINT8_C(16)
-#define  IMAGE_SYM_CLASS_REGISTER_PARAM     UINT8_C(17)
-#define  IMAGE_SYM_CLASS_BIT_FIELD          UINT8_C(18)
-#define  IMAGE_SYM_CLASS_FAR_EXTERNAL       UINT8_C(68)
-#define  IMAGE_SYM_CLASS_BLOCK              UINT8_C(100)
-#define  IMAGE_SYM_CLASS_FUNCTION           UINT8_C(101)
-#define  IMAGE_SYM_CLASS_END_OF_STRUCT      UINT8_C(102)
-#define  IMAGE_SYM_CLASS_FILE               UINT8_C(103)
-#define  IMAGE_SYM_CLASS_SECTION            UINT8_C(104)
-#define  IMAGE_SYM_CLASS_WEAK_EXTERNAL      UINT8_C(105)
-#define  IMAGE_SYM_CLASS_CLR_TOKEN          UINT8_C(107)
-
-
-#define  IMAGE_SYM_TYPE_NULL                UINT16_C(0x0000)
-#define  IMAGE_SYM_TYPE_VOID                UINT16_C(0x0001)
-#define  IMAGE_SYM_TYPE_CHAR                UINT16_C(0x0002)
-#define  IMAGE_SYM_TYPE_SHORT               UINT16_C(0x0003)
-#define  IMAGE_SYM_TYPE_INT                 UINT16_C(0x0004)
-#define  IMAGE_SYM_TYPE_LONG                UINT16_C(0x0005)
-#define  IMAGE_SYM_TYPE_FLOAT               UINT16_C(0x0006)
-#define  IMAGE_SYM_TYPE_DOUBLE              UINT16_C(0x0007)
-#define  IMAGE_SYM_TYPE_STRUCT              UINT16_C(0x0008)
-#define  IMAGE_SYM_TYPE_UNION               UINT16_C(0x0009)
-#define  IMAGE_SYM_TYPE_ENUM                UINT16_C(0x000a)
-#define  IMAGE_SYM_TYPE_MOE                 UINT16_C(0x000b)
-#define  IMAGE_SYM_TYPE_BYTE                UINT16_C(0x000c)
-#define  IMAGE_SYM_TYPE_WORD                UINT16_C(0x000d)
-#define  IMAGE_SYM_TYPE_UINT                UINT16_C(0x000e)
-#define  IMAGE_SYM_TYPE_DWORD               UINT16_C(0x000f)
-#define  IMAGE_SYM_TYPE_PCODE               UINT16_C(0x8000)
-
-#define  IMAGE_SYM_DTYPE_NULL               UINT16_C(0x0)
-#define  IMAGE_SYM_DTYPE_POINTER            UINT16_C(0x1)
-#define  IMAGE_SYM_DTYPE_FUNCTION           UINT16_C(0x2)
-#define  IMAGE_SYM_DTYPE_ARRAY              UINT16_C(0x3)
-
-
-#define N_BTMASK                            UINT16_C(0x000f)
-#define N_TMASK                             UINT16_C(0x0030)
-#define N_TMASK1                            UINT16_C(0x00c0)
-#define N_TMASK2                            UINT16_C(0x00f0)
-#define N_BTSHFT                            4
-#define N_TSHIFT                            2
-
-#define BTYPE(a_Type)                       ( (a_Type) & N_BTMASK )
-#define ISPTR(a_Type)                       ( ((a_Type) & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER  << N_BTSHFT) )
-#define ISFCN(a_Type)                       ( ((a_Type) & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT) )
-#define ISARY(a_Type)                       ( ((a_Type) & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY    << N_BTSHFT) )
-#define ISTAG(a_StorageClass)               (    (a_StorageClass) == IMAGE_SYM_CLASS_STRUCT_TAG \
-                                              || (a_StorageClass) == IMAGE_SYM_CLASS_UNION_TAG \
-                                              || (a_StorageClass) == IMAGE_SYM_CLASS_ENUM_TAG )
-
-
-/*******************************************************************************
-*   Structures and Typedefs                                                    *
-*******************************************************************************/
-typedef struct _IMAGE_FILE_HEADER
-{
-    uint16_t  Machine;                      /**< 0x00 */
-    uint16_t  NumberOfSections;             /**< 0x02 */
-    uint32_t  TimeDateStamp;                /**< 0x04  */
-    uint32_t  PointerToSymbolTable;         /**< 0x08  */
-    uint32_t  NumberOfSymbols;              /**< 0x0c  */
-    uint16_t  SizeOfOptionalHeader;         /**< 0x10  */
-    uint16_t  Characteristics;              /**< 0x12 */
-} IMAGE_FILE_HEADER;                        /* size: 0x14 */
-AssertCompileSize(IMAGE_FILE_HEADER, 0x14);
-typedef IMAGE_FILE_HEADER *PIMAGE_FILE_HEADER;
-typedef IMAGE_FILE_HEADER const *PCIMAGE_FILE_HEADER;
-
-
-typedef struct _IMAGE_DATA_DIRECTORY
-{
-    uint32_t  VirtualAddress;
-    uint32_t  Size;
-} IMAGE_DATA_DIRECTORY;
-typedef IMAGE_DATA_DIRECTORY *PIMAGE_DATA_DIRECTORY;
-typedef IMAGE_DATA_DIRECTORY const *PCIMAGE_DATA_DIRECTORY;
-
-
-typedef struct _IMAGE_OPTIONAL_HEADER32
-{
-    uint16_t  Magic;                        /**< 0x00 */
-    uint8_t   MajorLinkerVersion;           /**< 0x02 */
-    uint8_t   MinorLinkerVersion;           /**< 0x03 */
-    uint32_t  SizeOfCode;                   /**< 0x04 */
-    uint32_t  SizeOfInitializedData;        /**< 0x08 */
-    uint32_t  SizeOfUninitializedData;      /**< 0x0c */
-    uint32_t  AddressOfEntryPoint;          /**< 0x10 */
-    uint32_t  BaseOfCode;                   /**< 0x14 */
-    uint32_t  BaseOfData;                   /**< 0x18 */
-    uint32_t  ImageBase;                    /**< 0x1c */
-    uint32_t  SectionAlignment;             /**< 0x20 */
-    uint32_t  FileAlignment;                /**< 0x24 */
-    uint16_t  MajorOperatingSystemVersion;  /**< 0x28 */
-    uint16_t  MinorOperatingSystemVersion;  /**< 0x2a */
-    uint16_t  MajorImageVersion;            /**< 0x2c */
-    uint16_t  MinorImageVersion;            /**< 0x2e */
-    uint16_t  MajorSubsystemVersion;        /**< 0x30 */
-    uint16_t  MinorSubsystemVersion;        /**< 0x32 */
-    uint32_t  Win32VersionValue;            /**< 0x34 */
-    uint32_t  SizeOfImage;                  /**< 0x38 */
-    uint32_t  SizeOfHeaders;                /**< 0x3c */
-    uint32_t  CheckSum;                     /**< 0x40 */
-    uint16_t  Subsystem;                    /**< 0x44 */
-    uint16_t  DllCharacteristics;           /**< 0x46 */
-    uint32_t  SizeOfStackReserve;           /**< 0x48 */
-    uint32_t  SizeOfStackCommit;            /**< 0x4c */
-    uint32_t  SizeOfHeapReserve;            /**< 0x50 */
-    uint32_t  SizeOfHeapCommit;             /**< 0x54 */
-    uint32_t  LoaderFlags;                  /**< 0x58 */
-    uint32_t  NumberOfRvaAndSizes;          /**< 0x5c */
-    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; /**< 0x60; 0x10*8 = 0x80 */
-} IMAGE_OPTIONAL_HEADER32;                  /* size: 0xe0 */
-AssertCompileSize(IMAGE_OPTIONAL_HEADER32, 0xe0);
-typedef IMAGE_OPTIONAL_HEADER32 *PIMAGE_OPTIONAL_HEADER32;
-typedef IMAGE_OPTIONAL_HEADER32 const *PCIMAGE_OPTIONAL_HEADER32;
-
-typedef struct _IMAGE_OPTIONAL_HEADER64
-{
-    uint16_t  Magic;                        /**< 0x00 */
-    uint8_t   MajorLinkerVersion;           /**< 0x02 */
-    uint8_t   MinorLinkerVersion;           /**< 0x03 */
-    uint32_t  SizeOfCode;                   /**< 0x04 */
-    uint32_t  SizeOfInitializedData;        /**< 0x08 */
-    uint32_t  SizeOfUninitializedData;      /**< 0x0c */
-    uint32_t  AddressOfEntryPoint;          /**< 0x10 */
-    uint32_t  BaseOfCode;                   /**< 0x14 */
-    uint64_t  ImageBase;                    /**< 0x18 */
-    uint32_t  SectionAlignment;             /**< 0x20 */
-    uint32_t  FileAlignment;                /**< 0x24 */
-    uint16_t  MajorOperatingSystemVersion;  /**< 0x28 */
-    uint16_t  MinorOperatingSystemVersion;  /**< 0x2a */
-    uint16_t  MajorImageVersion;            /**< 0x2c */
-    uint16_t  MinorImageVersion;            /**< 0x2e */
-    uint16_t  MajorSubsystemVersion;        /**< 0x30 */
-    uint16_t  MinorSubsystemVersion;        /**< 0x32 */
-    uint32_t  Win32VersionValue;            /**< 0x34 */
-    uint32_t  SizeOfImage;                  /**< 0x38 */
-    uint32_t  SizeOfHeaders;                /**< 0x3c */
-    uint32_t  CheckSum;                     /**< 0x40 */
-    uint16_t  Subsystem;                    /**< 0x44 */
-    uint16_t  DllCharacteristics;           /**< 0x46 */
-    uint64_t  SizeOfStackReserve;           /**< 0x48 */
-    uint64_t  SizeOfStackCommit;            /**< 0x50 */
-    uint64_t  SizeOfHeapReserve;            /**< 0x58 */
-    uint64_t  SizeOfHeapCommit;             /**< 0x60 */
-    uint32_t  LoaderFlags;                  /**< 0x68 */
-    uint32_t  NumberOfRvaAndSizes;          /**< 0x6c */
-    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; /**< 0x70; 0x10*8 = 0x80 */
-} IMAGE_OPTIONAL_HEADER64;                  /* size: 0xf0 */
-typedef IMAGE_OPTIONAL_HEADER64 *PIMAGE_OPTIONAL_HEADER64;
-typedef IMAGE_OPTIONAL_HEADER64 const *PCIMAGE_OPTIONAL_HEADER64;
-
-
-typedef struct _IMAGE_NT_HEADERS
-{
-    uint32_t  Signature;                    /**< 0x00 */
-    IMAGE_FILE_HEADER FileHeader;           /**< 0x04 */
-    IMAGE_OPTIONAL_HEADER32 OptionalHeader; /**< 0x18 */
-} IMAGE_NT_HEADERS32;                       /* size:  0xf8 */
-AssertCompileSize(IMAGE_NT_HEADERS32, 0xf8);
-AssertCompileMemberOffset(IMAGE_NT_HEADERS32, FileHeader, 4);
-AssertCompileMemberOffset(IMAGE_NT_HEADERS32, OptionalHeader, 24);
-typedef IMAGE_NT_HEADERS32 *PIMAGE_NT_HEADERS32;
-typedef IMAGE_NT_HEADERS32 const *PCIMAGE_NT_HEADERS32;
-
-typedef struct _IMAGE_NT_HEADERS64
-{
-    uint32_t  Signature;                    /**< 0x00 */
-    IMAGE_FILE_HEADER FileHeader;           /**< 0x04 */
-    IMAGE_OPTIONAL_HEADER64 OptionalHeader; /**< 0x18 */
-} IMAGE_NT_HEADERS64;                       /**< 0x108 */
-AssertCompileSize(IMAGE_NT_HEADERS64, 0x108);
-AssertCompileMemberOffset(IMAGE_NT_HEADERS64, FileHeader, 4);
-AssertCompileMemberOffset(IMAGE_NT_HEADERS64, OptionalHeader, 24);
-typedef IMAGE_NT_HEADERS64 *PIMAGE_NT_HEADERS64;
-typedef IMAGE_NT_HEADERS64 const *PCIMAGE_NT_HEADERS64;
-
-
-typedef struct _IMAGE_SECTION_HEADER
-{
-    uint8_t  Name[IMAGE_SIZEOF_SHORT_NAME];
-    union
-    {
-        uint32_t  PhysicalAddress;
-        uint32_t  VirtualSize;
-    } Misc;
-    uint32_t  VirtualAddress;
-    uint32_t  SizeOfRawData;
-    uint32_t  PointerToRawData;
-    uint32_t  PointerToRelocations;
-    uint32_t  PointerToLinenumbers;
-    uint16_t  NumberOfRelocations;
-    uint16_t  NumberOfLinenumbers;
-    uint32_t  Characteristics;
-} IMAGE_SECTION_HEADER;
-typedef IMAGE_SECTION_HEADER *PIMAGE_SECTION_HEADER;
-typedef IMAGE_SECTION_HEADER const *PCIMAGE_SECTION_HEADER;
-
-
-typedef struct _IMAGE_BASE_RELOCATION
-{
-    uint32_t  VirtualAddress;
-    uint32_t  SizeOfBlock;
-} IMAGE_BASE_RELOCATION;
-typedef IMAGE_BASE_RELOCATION *PIMAGE_BASE_RELOCATION;
-typedef IMAGE_BASE_RELOCATION const *PCIMAGE_BASE_RELOCATION;
-
-
-typedef struct _IMAGE_EXPORT_DIRECTORY
-{
-    uint32_t  Characteristics;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  Name;
-    uint32_t  Base;
-    uint32_t  NumberOfFunctions;
-    uint32_t  NumberOfNames;
-    uint32_t  AddressOfFunctions;
-    uint32_t  AddressOfNames;
-    uint32_t  AddressOfNameOrdinals;
-} IMAGE_EXPORT_DIRECTORY;
-typedef IMAGE_EXPORT_DIRECTORY *PIMAGE_EXPORT_DIRECTORY;
-typedef IMAGE_EXPORT_DIRECTORY const *PCIMAGE_EXPORT_DIRECTORY;
-
-
-typedef struct _IMAGE_IMPORT_DESCRIPTOR
-{
-    union
-    {
-        uint32_t  Characteristics;
-        uint32_t  OriginalFirstThunk;
-    } u;
-    uint32_t  TimeDateStamp;
-    uint32_t  ForwarderChain;
-    uint32_t  Name;
-    uint32_t  FirstThunk;
-} IMAGE_IMPORT_DESCRIPTOR;
-typedef IMAGE_IMPORT_DESCRIPTOR *PIMAGE_IMPORT_DESCRIPTOR;
-typedef IMAGE_IMPORT_DESCRIPTOR const *PCIMAGE_IMPORT_DESCRIPTOR;
-
-
-typedef struct _IMAGE_IMPORT_BY_NAME
-{
-    uint16_t  Hint;
-    uint8_t   Name[1];
-} IMAGE_IMPORT_BY_NAME;
-typedef IMAGE_IMPORT_BY_NAME *PIMAGE_IMPORT_BY_NAME;
-typedef IMAGE_IMPORT_BY_NAME const *PCIMAGE_IMPORT_BY_NAME;
-
-
-/* The image_thunk_data32/64 structures are not very helpful except for getting RSI. keep them around till all the code has been converted. */
-typedef struct _IMAGE_THUNK_DATA64
-{
-    union
-    {
-        uint64_t  ForwarderString;
-        uint64_t  Function;
-        uint64_t  Ordinal;
-        uint64_t  AddressOfData;
-    } u1;
-} IMAGE_THUNK_DATA64;
-typedef IMAGE_THUNK_DATA64 *PIMAGE_THUNK_DATA64;
-typedef IMAGE_THUNK_DATA64 const *PCIMAGE_THUNK_DATA64;
-
-typedef struct _IMAGE_THUNK_DATA32
-{
-    union
-    {
-        uint32_t  ForwarderString;
-        uint32_t  Function;
-        uint32_t  Ordinal;
-        uint32_t  AddressOfData;
-    } u1;
-} IMAGE_THUNK_DATA32;
-typedef IMAGE_THUNK_DATA32 *PIMAGE_THUNK_DATA32;
-typedef IMAGE_THUNK_DATA32 const *PCIMAGE_THUNK_DATA32;
-
-
-
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-/* WARNING! NO MORE PRAGMA PACK 4 from here on. Assert size of all new types. */
-#pragma pack()
-
-
-/** @since Windows 10 (preview 9879) */
-typedef struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY
-{
-    uint16_t  Flags;
-    uint16_t  Catalog;
-    uint32_t  CatalogOffset;
-    uint32_t  Reserved;
-} IMAGE_LOAD_CONFIG_CODE_INTEGRITY;
-AssertCompileSize(IMAGE_LOAD_CONFIG_CODE_INTEGRITY, 12);
-typedef IMAGE_LOAD_CONFIG_CODE_INTEGRITY *PIMAGE_LOAD_CONFIG_CODE_INTEGRITY;
-typedef IMAGE_LOAD_CONFIG_CODE_INTEGRITY const *PCIMAGE_LOAD_CONFIG_CODE_INTEGRITY;
-
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32_V1
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint32_t  DeCommitFreeBlockThreshold;
-    uint32_t  DeCommitTotalFreeThreshold;
-    uint32_t  LockPrefixTable;
-    uint32_t  MaximumAllocationSize;
-    uint32_t  VirtualMemoryThreshold;
-    uint32_t  ProcessHeapFlags;
-    uint32_t  ProcessAffinityMask;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint32_t  EditList;
-    uint32_t  SecurityCookie;
-} IMAGE_LOAD_CONFIG_DIRECTORY32_V1;
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY32_V1, 0x40);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V1 *PIMAGE_LOAD_CONFIG_DIRECTORY32_V1;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V1 const *PCIMAGE_LOAD_CONFIG_DIRECTORY32_V1;
-
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32_V2
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint32_t  DeCommitFreeBlockThreshold;
-    uint32_t  DeCommitTotalFreeThreshold;
-    uint32_t  LockPrefixTable;
-    uint32_t  MaximumAllocationSize;
-    uint32_t  VirtualMemoryThreshold;
-    uint32_t  ProcessHeapFlags;
-    uint32_t  ProcessAffinityMask;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint32_t  EditList;
-    uint32_t  SecurityCookie;
-    uint32_t  SEHandlerTable;
-    uint32_t  SEHandlerCount;
-} IMAGE_LOAD_CONFIG_DIRECTORY32_V2;
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY32_V2, 0x48);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V2 *PIMAGE_LOAD_CONFIG_DIRECTORY32_V2;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V2 const *PCIMAGE_LOAD_CONFIG_DIRECTORY32_V2;
-
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32_V3
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint32_t  DeCommitFreeBlockThreshold;
-    uint32_t  DeCommitTotalFreeThreshold;
-    uint32_t  LockPrefixTable;
-    uint32_t  MaximumAllocationSize;
-    uint32_t  VirtualMemoryThreshold;
-    uint32_t  ProcessHeapFlags;
-    uint32_t  ProcessAffinityMask;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint32_t  EditList;
-    uint32_t  SecurityCookie;
-    uint32_t  SEHandlerTable;
-    uint32_t  SEHandlerCount;
-    uint32_t  GuardCFCCheckFunctionPointer;
-    uint32_t  Reserved2;
-    uint32_t  GuardCFFunctionTable;
-    uint32_t  GuardCFFunctionCount;
-    uint32_t  GuardFlags;
-} IMAGE_LOAD_CONFIG_DIRECTORY32_V3;
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY32_V3, 0x5c);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V3 *PIMAGE_LOAD_CONFIG_DIRECTORY32_V3;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V3 const *PCIMAGE_LOAD_CONFIG_DIRECTORY32_V3;
-
-/** @since Windows 10 (preview 9879) */
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32_V4
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint32_t  DeCommitFreeBlockThreshold;
-    uint32_t  DeCommitTotalFreeThreshold;
-    uint32_t  LockPrefixTable;
-    uint32_t  MaximumAllocationSize;
-    uint32_t  VirtualMemoryThreshold;
-    uint32_t  ProcessHeapFlags;
-    uint32_t  ProcessAffinityMask;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint32_t  EditList;
-    uint32_t  SecurityCookie;
-    uint32_t  SEHandlerTable;
-    uint32_t  SEHandlerCount;
-    uint32_t  GuardCFCCheckFunctionPointer;
-    uint32_t  Reserved2;
-    uint32_t  GuardCFFunctionTable;
-    uint32_t  GuardCFFunctionCount;
-    uint32_t  GuardFlags;
-    IMAGE_LOAD_CONFIG_CODE_INTEGRITY  CodeIntegrity;
-} IMAGE_LOAD_CONFIG_DIRECTORY32_V4;
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY32_V4, 0x68);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V4 *PIMAGE_LOAD_CONFIG_DIRECTORY32_V4;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V4 const *PCIMAGE_LOAD_CONFIG_DIRECTORY32_V4;
-
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V4   IMAGE_LOAD_CONFIG_DIRECTORY32;
-typedef PIMAGE_LOAD_CONFIG_DIRECTORY32_V4  PIMAGE_LOAD_CONFIG_DIRECTORY32;
-typedef PCIMAGE_LOAD_CONFIG_DIRECTORY32_V4 PCIMAGE_LOAD_CONFIG_DIRECTORY32;
-
-/* No _IMAGE_LOAD_CONFIG_DIRECTORY64_V1 exists. */
-
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64_V2
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint64_t  DeCommitFreeBlockThreshold;
-    uint64_t  DeCommitTotalFreeThreshold;
-    uint64_t  LockPrefixTable;
-    uint64_t  MaximumAllocationSize;
-    uint64_t  VirtualMemoryThreshold;
-    uint64_t  ProcessAffinityMask;
-    uint32_t  ProcessHeapFlags;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint64_t  EditList;
-    uint64_t  SecurityCookie;
-    uint64_t  SEHandlerTable;
-    uint64_t  SEHandlerCount;
-} IMAGE_LOAD_CONFIG_DIRECTORY64_V2;
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY64_V2, 0x70);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V2 *PIMAGE_LOAD_CONFIG_DIRECTORY64_V2;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V2 const *PCIMAGE_LOAD_CONFIG_DIRECTORY64_V2;
-
-#pragma pack(4) /* Why not 8 byte alignment, baka microsofties?!? */
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64_V3
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint64_t  DeCommitFreeBlockThreshold;
-    uint64_t  DeCommitTotalFreeThreshold;
-    uint64_t  LockPrefixTable;
-    uint64_t  MaximumAllocationSize;
-    uint64_t  VirtualMemoryThreshold;
-    uint64_t  ProcessAffinityMask;
-    uint32_t  ProcessHeapFlags;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint64_t  EditList;
-    uint64_t  SecurityCookie;
-    uint64_t  SEHandlerTable;
-    uint64_t  SEHandlerCount;
-    uint64_t  GuardCFCCheckFunctionPointer;
-    uint64_t  Reserved2;
-    uint64_t  GuardCFFunctionTable;
-    uint64_t  GuardCFFunctionCount;
-    uint32_t  GuardFlags;
-} IMAGE_LOAD_CONFIG_DIRECTORY64_V3;
-#pragma pack()
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY64_V3, 0x94);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V3 *PIMAGE_LOAD_CONFIG_DIRECTORY64_V3;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V3 const *PCIMAGE_LOAD_CONFIG_DIRECTORY64_V3;
-
-/** @since  Windows 10 (Preview (9879). */
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64_V4
-{
-    uint32_t  Size;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  GlobalFlagsClear;
-    uint32_t  GlobalFlagsSet;
-    uint32_t  CriticalSectionDefaultTimeout;
-    uint64_t  DeCommitFreeBlockThreshold;
-    uint64_t  DeCommitTotalFreeThreshold;
-    uint64_t  LockPrefixTable;
-    uint64_t  MaximumAllocationSize;
-    uint64_t  VirtualMemoryThreshold;
-    uint64_t  ProcessAffinityMask;
-    uint32_t  ProcessHeapFlags;
-    uint16_t  CSDVersion;
-    uint16_t  Reserved1;
-    uint64_t  EditList;
-    uint64_t  SecurityCookie;
-    uint64_t  SEHandlerTable;
-    uint64_t  SEHandlerCount;
-    uint64_t  GuardCFCCheckFunctionPointer;
-    uint64_t  Reserved2;
-    uint64_t  GuardCFFunctionTable;
-    uint64_t  GuardCFFunctionCount;
-    uint32_t  GuardFlags;
-    IMAGE_LOAD_CONFIG_CODE_INTEGRITY  CodeIntegrity;
-} IMAGE_LOAD_CONFIG_DIRECTORY64_V4;
-AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY64_V4, 0xa0);
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V4 *PIMAGE_LOAD_CONFIG_DIRECTORY64_V4;
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V4 const *PCIMAGE_LOAD_CONFIG_DIRECTORY64_V4;
-
-typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V4   IMAGE_LOAD_CONFIG_DIRECTORY64;
-typedef PIMAGE_LOAD_CONFIG_DIRECTORY64_V4  PIMAGE_LOAD_CONFIG_DIRECTORY64;
-typedef PCIMAGE_LOAD_CONFIG_DIRECTORY64_V4 PCIMAGE_LOAD_CONFIG_DIRECTORY64;
-
-
-typedef struct _IMAGE_DEBUG_DIRECTORY
-{
-    uint32_t  Characteristics;
-    uint32_t  TimeDateStamp;
-    uint16_t  MajorVersion;
-    uint16_t  MinorVersion;
-    uint32_t  Type;
-    uint32_t  SizeOfData;
-    uint32_t  AddressOfRawData;
-    uint32_t  PointerToRawData;
-} IMAGE_DEBUG_DIRECTORY;
-AssertCompileSize(IMAGE_DEBUG_DIRECTORY, 28);
-typedef IMAGE_DEBUG_DIRECTORY *PIMAGE_DEBUG_DIRECTORY;
-typedef IMAGE_DEBUG_DIRECTORY const *PCIMAGE_DEBUG_DIRECTORY;
-
-typedef struct _IMAGE_DEBUG_MISC
-{
-    uint32_t   DataType;
-    uint32_t   Length;
-    uint8_t    Unicode;
-    uint8_t    Reserved[3];
-    uint8_t    Data[1];
-} IMAGE_DEBUG_MISC;
-AssertCompileSize(IMAGE_DEBUG_MISC, 16);
-typedef IMAGE_DEBUG_MISC *PIMAGE_DEBUG_MISC;
-typedef IMAGE_DEBUG_MISC const *PCIMAGE_DEBUG_MISC;
-
-
-typedef struct WIN_CERTIFICATE
-{
-    uint32_t    dwLength;
-    uint16_t    wRevision;
-    uint16_t    wCertificateType;
-    uint8_t     bCertificate[8];
-} WIN_CERTIFICATE;
-AssertCompileSize(WIN_CERTIFICATE, 16);
-typedef WIN_CERTIFICATE *PWIN_CERTIFICATE;
-typedef WIN_CERTIFICATE const *PCWIN_CERTIFICATE;
-
-
-/** The header of a .DBG file (NT4). */
-typedef struct _IMAGE_SEPARATE_DEBUG_HEADER
-{
-    uint16_t    Signature;              /**< 0x00 */
-    uint16_t    Flags;                  /**< 0x02 */
-    uint16_t    Machine;                /**< 0x04 */
-    uint16_t    Characteristics;        /**< 0x06 */
-    uint32_t    TimeDateStamp;          /**< 0x08 */
-    uint32_t    CheckSum;               /**< 0x0c */
-    uint32_t    ImageBase;              /**< 0x10 */
-    uint32_t    SizeOfImage;            /**< 0x14 */
-    uint32_t    NumberOfSections;       /**< 0x18 */
-    uint32_t    ExportedNamesSize;      /**< 0x1c */
-    uint32_t    DebugDirectorySize;     /**< 0x20 */
-    uint32_t    SectionAlignment;       /**< 0x24 */
-    uint32_t    Reserved[2];            /**< 0x28 */
-} IMAGE_SEPARATE_DEBUG_HEADER;          /* size: 0x30 */
-AssertCompileSize(IMAGE_SEPARATE_DEBUG_HEADER, 0x30);
-typedef IMAGE_SEPARATE_DEBUG_HEADER *PIMAGE_SEPARATE_DEBUG_HEADER;
-typedef IMAGE_SEPARATE_DEBUG_HEADER const *PCIMAGE_SEPARATE_DEBUG_HEADER;
-
-
-typedef struct _IMAGE_COFF_SYMBOLS_HEADER
-{
-    uint32_t    NumberOfSymbols;
-    uint32_t    LvaToFirstSymbol;
-    uint32_t    NumberOfLinenumbers;
-    uint32_t    LvaToFirstLinenumber;
-    uint32_t    RvaToFirstByteOfCode;
-    uint32_t    RvaToLastByteOfCode;
-    uint32_t    RvaToFirstByteOfData;
-    uint32_t    RvaToLastByteOfData;
-} IMAGE_COFF_SYMBOLS_HEADER;
-AssertCompileSize(IMAGE_COFF_SYMBOLS_HEADER, 0x20);
-typedef IMAGE_COFF_SYMBOLS_HEADER *PIMAGE_COFF_SYMBOLS_HEADER;
-typedef IMAGE_COFF_SYMBOLS_HEADER const *PCIMAGE_COFF_SYMBOLS_HEADER;
-
-
-#pragma pack(2)
-typedef struct _IMAGE_LINENUMBER
-{
-    union
-    {
-        uint32_t    VirtualAddress;
-        uint32_t    SymbolTableIndex;
-    } Type;
-    uint16_t    Linenumber;
-} IMAGE_LINENUMBER;
-#pragma pack()
-AssertCompileSize(IMAGE_LINENUMBER, 6);
-typedef IMAGE_LINENUMBER *PIMAGE_LINENUMBER;
-typedef IMAGE_LINENUMBER const *PCIMAGE_LINENUMBER;
-
-
-#pragma pack(2)
-typedef struct _IMAGE_SYMBOL
-{
-    union
-    {
-        uint8_t         ShortName[8];
-        struct
-        {
-            uint32_t    Short;
-            uint32_t    Long;
-        } Name;
-        uint32_t        LongName[2];
-    } N;
-
-    uint32_t    Value;
-    int16_t     SectionNumber;
-    uint16_t    Type;
-    uint8_t     StorageClass;
-    uint8_t     NumberOfAuxSymbols;
-} IMAGE_SYMBOL;
-#pragma pack()
-AssertCompileSize(IMAGE_SYMBOL, IMAGE_SIZE_OF_SYMBOL);
-typedef IMAGE_SYMBOL *PIMAGE_SYMBOL;
-typedef IMAGE_SYMBOL const *PCIMAGE_SYMBOL;
-
-
-#pragma pack(2)
-typedef struct IMAGE_AUX_SYMBOL_TOKEN_DEF
-{
-    uint8_t     bAuxType;
-    uint8_t     bReserved;
-    uint32_t    SymbolTableIndex;
-    uint8_t     rgbReserved[12];
-} IMAGE_AUX_SYMBOL_TOKEN_DEF;
-#pragma pack()
-AssertCompileSize(IMAGE_AUX_SYMBOL_TOKEN_DEF, IMAGE_SIZE_OF_SYMBOL);
-typedef IMAGE_AUX_SYMBOL_TOKEN_DEF *PIMAGE_AUX_SYMBOL_TOKEN_DEF;
-typedef IMAGE_AUX_SYMBOL_TOKEN_DEF const *PCIMAGE_AUX_SYMBOL_TOKEN_DEF;
-
-
-#pragma pack(1)
-typedef union _IMAGE_AUX_SYMBOL
-{
-    struct
-    {
-        uint32_t    TagIndex;
-        union
-        {
-            struct
-            {
-                uint16_t    Linenumber;
-                uint16_t    Size;
-            } LnSz;
-        } Misc;
-        union
-        {
-            struct
-            {
-                uint32_t    PointerToLinenumber;
-                uint32_t    PointerToNextFunction;
-            } Function;
-            struct
-            {
-                uint16_t    Dimension[4];
-            } Array;
-        } FcnAry;
-        uint16_t    TvIndex;
-    } Sym;
-
-    struct
-    {
-        uint8_t     Name[IMAGE_SIZE_OF_SYMBOL];
-    } File;
-
-    struct
-    {
-        uint32_t    Length;
-        uint16_t    NumberOfRelocations;
-        uint16_t    NumberOfLinenumbers;
-        uint32_t    CheckSum;
-        uint16_t    Number;
-        uint8_t     Selection;
-        uint8_t     bReserved;
-        uint16_t    HighNumber;
-    } Section;
-
-    IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef;
-    struct
-    {
-        uint32_t    crc;
-        uint8_t     rgbReserved[14];
-    } CRC;
-} IMAGE_AUX_SYMBOL;
-#pragma pack()
-AssertCompileSize(IMAGE_AUX_SYMBOL, IMAGE_SIZE_OF_SYMBOL);
-typedef IMAGE_AUX_SYMBOL *PIMAGE_AUX_SYMBOL;
-typedef IMAGE_AUX_SYMBOL const *PCIMAGE_AUX_SYMBOL;
-
-
-
-typedef struct _IMAGE_SYMBOL_EX
-{
-    union
-    {
-        uint8_t         ShortName[8];
-        struct
-        {
-            uint32_t    Short;
-            uint32_t    Long;
-        } Name;
-        uint32_t        LongName[2];
-    } N;
-
-    uint32_t    Value;
-    int32_t     SectionNumber;          /* The difference from IMAGE_SYMBOL */
-    uint16_t    Type;
-    uint8_t     StorageClass;
-    uint8_t     NumberOfAuxSymbols;
-} IMAGE_SYMBOL_EX;
-AssertCompileSize(IMAGE_SYMBOL_EX, IMAGE_SIZE_OF_SYMBOL_EX);
-typedef IMAGE_SYMBOL_EX *PIMAGE_SYMBOL_EX;
-typedef IMAGE_SYMBOL_EX const *PCIMAGE_SYMBOL_EX;
-
-
-typedef union _IMAGE_AUX_SYMBOL_EX
-{
-    struct
-    {
-        uint32_t    WeakDefaultSymIndex;
-        uint32_t    WeakSearchType;
-        uint8_t     rgbReserved[12];
-    } Sym;
-
-    struct
-    {
-        uint8_t     Name[IMAGE_SIZE_OF_SYMBOL_EX];
-    } File;
-
-    struct
-    {
-        uint32_t    Length;
-        uint16_t    NumberOfRelocations;
-        uint16_t    NumberOfLinenumbers;
-        uint32_t    CheckSum;
-        uint16_t    Number;
-        uint8_t     Selection;
-        uint8_t     bReserved;
-        uint16_t    HighNumber;
-        uint8_t     rgbReserved[2];
-    } Section;
-
-    IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef;
-
-    struct
-    {
-        uint32_t    crc;
-        uint8_t     rgbReserved[16];
-    } CRC;
-} IMAGE_AUX_SYMBOL_EX;
-AssertCompileSize(IMAGE_AUX_SYMBOL_EX, IMAGE_SIZE_OF_SYMBOL_EX);
-typedef IMAGE_AUX_SYMBOL_EX *PIMAGE_AUX_SYMBOL_EX;
-typedef IMAGE_AUX_SYMBOL_EX const *PCIMAGE_AUX_SYMBOL_EX;
-
-
-#endif
-
