# Generated by cstruct-stubgen
from typing import BinaryIO, Literal, TypeAlias, overload

import dissect.cstruct as __cs__

class _c_pe(__cs__.cstruct):
    IMAGE_DOS_SIGNATURE: Literal[23117] = ...
    IMAGE_OS2_SIGNATURE: Literal[17742] = ...
    IMAGE_OS2_SIGNATURE_LE: Literal[17740] = ...
    IMAGE_VXD_SIGNATURE: Literal[17740] = ...
    IMAGE_NT_SIGNATURE: Literal[17744] = ...
    IMAGE_NUMBEROF_DIRECTORY_ENTRIES: Literal[16] = ...
    IMAGE_NT_OPTIONAL_HDR32_MAGIC: Literal[267] = ...
    IMAGE_NT_OPTIONAL_HDR64_MAGIC: Literal[523] = ...
    IMAGE_ROM_OPTIONAL_HDR_MAGIC: Literal[263] = ...
    IMAGE_SIZEOF_SHORT_NAME: Literal[8] = ...
    IMAGE_ARCHIVE_START_SIZE: Literal[8] = ...
    IMAGE_ARCHIVE_START: Literal['b"!<arch>'] = ...
    IMAGE_ARCHIVE_END: Literal['b"`'] = ...
    IMAGE_ARCHIVE_PAD: Literal['b"'] = ...
    IMAGE_ARCHIVE_LINKER_MEMBER: Literal[b"/               "] = ...
    IMAGE_ARCHIVE_LONGNAMES_MEMBER: Literal[b"//              "] = ...
    IMAGE_ORDINAL_FLAG64: Literal[9223372036854775808] = ...
    IMAGE_ORDINAL_FLAG32: Literal[2147483648] = ...
    IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE: Literal[1] = ...
    IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE: Literal[2] = ...
    IMAGE_DYNAMIC_RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER: Literal[3] = ...
    IMAGE_DYNAMIC_RELOCATION_GUARD_INDIR_CONTROL_TRANSFER: Literal[4] = ...
    IMAGE_DYNAMIC_RELOCATION_GUARD_SWITCHTABLE_BRANCH: Literal[5] = ...
    IMAGE_DYNAMIC_RELOCATION_ARM64X: Literal[6] = ...
    IMAGE_DYNAMIC_RELOCATION_FUNCTION_OVERRIDE: Literal[7] = ...
    IMAGE_DYNAMIC_RELOCATION_ARM64_KERNEL_IMPORT_CALL_TRANSFER: Literal[8] = ...
    IMAGE_DYNAMIC_RELOCATION_MM_SHARED_USER_DATA_VA: Literal[2147352576] = ...
    IMAGE_DYNAMIC_RELOCATION_KI_USER_SHARED_DATA64: Literal[18446734727860715520] = ...
    IMAGE_FUNCTION_OVERRIDE_INVALID: Literal[0] = ...
    IMAGE_FUNCTION_OVERRIDE_X64_REL32: Literal[1] = ...
    IMAGE_FUNCTION_OVERRIDE_ARM64_BRANCH26: Literal[2] = ...
    IMAGE_FUNCTION_OVERRIDE_ARM64_THUNK: Literal[3] = ...
    IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_MASK: Literal[4026531840] = ...
    IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_SHIFT: Literal[28] = ...
    IMAGE_DVRT_ARM64X_FIXUP_TYPE_ZEROFILL: Literal[0] = ...
    IMAGE_DVRT_ARM64X_FIXUP_TYPE_VALUE: Literal[1] = ...
    IMAGE_DVRT_ARM64X_FIXUP_TYPE_DELTA: Literal[2] = ...
    IMAGE_DVRT_ARM64X_FIXUP_SIZE_2BYTES: Literal[1] = ...
    IMAGE_DVRT_ARM64X_FIXUP_SIZE_4BYTES: Literal[2] = ...
    IMAGE_DVRT_ARM64X_FIXUP_SIZE_8BYTES: Literal[3] = ...
    IMAGE_HOT_PATCH_BASE_OBLIGATORY: Literal[1] = ...
    IMAGE_HOT_PATCH_BASE_CAN_ROLL_BACK: Literal[2] = ...
    IMAGE_HOT_PATCH_BASE_MACHINE_I386: Literal[4] = ...
    IMAGE_HOT_PATCH_BASE_MACHINE_ARM64: Literal[8] = ...
    IMAGE_HOT_PATCH_BASE_MACHINE_AMD64: Literal[16] = ...
    IMAGE_HOT_PATCH_CHUNK_INVERSE: Literal[2147483648] = ...
    IMAGE_HOT_PATCH_CHUNK_OBLIGATORY: Literal[1073741824] = ...
    IMAGE_HOT_PATCH_CHUNK_RESERVED: Literal[1072705536] = ...
    IMAGE_HOT_PATCH_CHUNK_TYPE: Literal[1032192] = ...
    IMAGE_HOT_PATCH_CHUNK_SOURCE_RVA: Literal[32768] = ...
    IMAGE_HOT_PATCH_CHUNK_TARGET_RVA: Literal[16384] = ...
    IMAGE_HOT_PATCH_CHUNK_SIZE: Literal[4095] = ...
    IMAGE_GUARD_FLAG_FID_SUPPRESSED: Literal[1] = ...
    IMAGE_GUARD_FLAG_EXPORT_SUPPRESSED: Literal[2] = ...
    IMAGE_GUARD_FLAG_FID_LANGEXCPTHANDLER: Literal[4] = ...
    IMAGE_GUARD_FLAG_FID_XFG: Literal[8] = ...
    IMAGE_ENCLAVE_LONG_ID_LENGTH: Literal["ENCLAVE_LONG_ID_LENGTH"] = ...
    IMAGE_ENCLAVE_SHORT_ID_LENGTH: Literal["ENCLAVE_SHORT_ID_LENGTH"] = ...
    IMAGE_ENCLAVE_POLICY_DEBUGGABLE: Literal[1] = ...
    IMAGE_ENCLAVE_POLICY_STRICT_MEMORY: Literal[2] = ...
    IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE: Literal[1] = ...
    IMAGE_ENCLAVE_IMPORT_MATCH_NONE: Literal[0] = ...
    IMAGE_ENCLAVE_IMPORT_MATCH_UNIQUE_ID: Literal[1] = ...
    IMAGE_ENCLAVE_IMPORT_MATCH_AUTHOR_ID: Literal[2] = ...
    IMAGE_ENCLAVE_IMPORT_MATCH_FAMILY_ID: Literal[3] = ...
    IMAGE_ENCLAVE_IMPORT_MATCH_IMAGE_ID: Literal[4] = ...
    WIN_CERT_REVISION_1_0: Literal[256] = ...
    WIN_CERT_REVISION_2_0: Literal[512] = ...
    CVINFO_PDB70_CVSIGNATURE: Literal[1396986706] = ...
    CVINFO_PDB20_CVSIGNATURE: Literal[808534606] = ...
    CVINFO_CV50_CVSIGNATURE: Literal[825311822] = ...
    CVINFO_CV41_CVSIGNATURE: Literal[959464014] = ...
    CVINFO_MTOC_CVSIGNATURE: Literal[1129272397] = ...
    FRAME_FPO: Literal[0] = ...
    FRAME_TRAP: Literal[1] = ...
    FRAME_TSS: Literal[2] = ...
    FRAME_NONFPO: Literal[3] = ...
    IMAGE_DEBUG_MISC_EXENAME: Literal[1] = ...
    IMAGE_DEBUG_POGO_SIGNATURE_ZERO: Literal[0] = ...
    IMAGE_DEBUG_POGO_SIGNATURE_LTCG: Literal[1280590663] = ...
    IMAGE_DEBUG_POGO_SIGNATURE_PGU: Literal[1346852096] = ...
    IMAGE_SEPARATE_DEBUG_SIGNATURE: Literal[17481] = ...
    NON_PAGED_DEBUG_SIGNATURE: Literal[20041] = ...
    IMAGE_SEPARATE_DEBUG_FLAGS_MASK: Literal[32768] = ...
    IMAGE_SEPARATE_DEBUG_MISMATCH: Literal[32768] = ...
    IMPORT_OBJECT_HDR_SIG2: Literal[65535] = ...
    COR_VERSION_MAJOR_V2: Literal[2] = ...
    COR_VERSION_MAJOR: Literal[2] = ...
    COR_VERSION_MINOR: Literal[5] = ...
    COR_DELETED_NAME_LENGTH: Literal[8] = ...
    COR_VTABLEGAP_NAME_LENGTH: Literal[8] = ...
    NATIVE_TYPE_MAX_CB: Literal[1] = ...
    COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE: Literal[255] = ...
    IMAGE_COR_MIH_METHODRVA: Literal[1] = ...
    IMAGE_COR_MIH_EHRVA: Literal[2] = ...
    IMAGE_COR_MIH_BASICBLOCK: Literal[8] = ...
    COR_VTABLE_32BIT: Literal[1] = ...
    COR_VTABLE_64BIT: Literal[2] = ...
    COR_VTABLE_FROM_UNMANAGED: Literal[4] = ...
    COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN: Literal[8] = ...
    COR_VTABLE_CALL_MOST_DERIVED: Literal[16] = ...
    IMAGE_COR_EATJ_THUNK_SIZE: Literal[32] = ...
    MAX_CLASS_NAME: Literal[1024] = ...
    MAX_PACKAGE_NAME: Literal[1024] = ...
    BOOLEAN: TypeAlias = _c_pe.uint8
    class _IMAGE_DOS_HEADER(__cs__.Structure):
        e_magic: _c_pe.uint16
        e_cblp: _c_pe.uint16
        e_cp: _c_pe.uint16
        e_crlc: _c_pe.uint16
        e_cparhdr: _c_pe.uint16
        e_minalloc: _c_pe.uint16
        e_maxalloc: _c_pe.uint16
        e_ss: _c_pe.uint16
        e_sp: _c_pe.uint16
        e_csum: _c_pe.uint16
        e_ip: _c_pe.uint16
        e_cs: _c_pe.uint16
        e_lfarlc: _c_pe.uint16
        e_ovno: _c_pe.uint16
        e_res: __cs__.Array[_c_pe.uint16]
        e_oemid: _c_pe.uint16
        e_oeminfo: _c_pe.uint16
        e_res2: __cs__.Array[_c_pe.uint16]
        e_lfanew: _c_pe.int32
        @overload
        def __init__(
            self,
            e_magic: _c_pe.uint16 | None = ...,
            e_cblp: _c_pe.uint16 | None = ...,
            e_cp: _c_pe.uint16 | None = ...,
            e_crlc: _c_pe.uint16 | None = ...,
            e_cparhdr: _c_pe.uint16 | None = ...,
            e_minalloc: _c_pe.uint16 | None = ...,
            e_maxalloc: _c_pe.uint16 | None = ...,
            e_ss: _c_pe.uint16 | None = ...,
            e_sp: _c_pe.uint16 | None = ...,
            e_csum: _c_pe.uint16 | None = ...,
            e_ip: _c_pe.uint16 | None = ...,
            e_cs: _c_pe.uint16 | None = ...,
            e_lfarlc: _c_pe.uint16 | None = ...,
            e_ovno: _c_pe.uint16 | None = ...,
            e_res: __cs__.Array[_c_pe.uint16] | None = ...,
            e_oemid: _c_pe.uint16 | None = ...,
            e_oeminfo: _c_pe.uint16 | None = ...,
            e_res2: __cs__.Array[_c_pe.uint16] | None = ...,
            e_lfanew: _c_pe.int32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DOS_HEADER: TypeAlias = _IMAGE_DOS_HEADER
    PIMAGE_DOS_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DOS_HEADER]
    class _IMAGE_OS2_HEADER(__cs__.Structure):
        ne_magic: _c_pe.uint16
        ne_ver: _c_pe.char
        ne_rev: _c_pe.char
        ne_enttab: _c_pe.uint16
        ne_cbenttab: _c_pe.uint16
        ne_crc: _c_pe.int32
        ne_flags: _c_pe.uint16
        ne_autodata: _c_pe.uint16
        ne_heap: _c_pe.uint16
        ne_stack: _c_pe.uint16
        ne_csip: _c_pe.int32
        ne_sssp: _c_pe.int32
        ne_cseg: _c_pe.uint16
        ne_cmod: _c_pe.uint16
        ne_cbnrestab: _c_pe.uint16
        ne_segtab: _c_pe.uint16
        ne_rsrctab: _c_pe.uint16
        ne_restab: _c_pe.uint16
        ne_modtab: _c_pe.uint16
        ne_imptab: _c_pe.uint16
        ne_nrestab: _c_pe.int32
        ne_cmovent: _c_pe.uint16
        ne_align: _c_pe.uint16
        ne_cres: _c_pe.uint16
        ne_exetyp: _c_pe.uint8
        ne_flagsothers: _c_pe.uint8
        ne_pretthunks: _c_pe.uint16
        ne_psegrefbytes: _c_pe.uint16
        ne_swaparea: _c_pe.uint16
        ne_expver: _c_pe.uint16
        @overload
        def __init__(
            self,
            ne_magic: _c_pe.uint16 | None = ...,
            ne_ver: _c_pe.char | None = ...,
            ne_rev: _c_pe.char | None = ...,
            ne_enttab: _c_pe.uint16 | None = ...,
            ne_cbenttab: _c_pe.uint16 | None = ...,
            ne_crc: _c_pe.int32 | None = ...,
            ne_flags: _c_pe.uint16 | None = ...,
            ne_autodata: _c_pe.uint16 | None = ...,
            ne_heap: _c_pe.uint16 | None = ...,
            ne_stack: _c_pe.uint16 | None = ...,
            ne_csip: _c_pe.int32 | None = ...,
            ne_sssp: _c_pe.int32 | None = ...,
            ne_cseg: _c_pe.uint16 | None = ...,
            ne_cmod: _c_pe.uint16 | None = ...,
            ne_cbnrestab: _c_pe.uint16 | None = ...,
            ne_segtab: _c_pe.uint16 | None = ...,
            ne_rsrctab: _c_pe.uint16 | None = ...,
            ne_restab: _c_pe.uint16 | None = ...,
            ne_modtab: _c_pe.uint16 | None = ...,
            ne_imptab: _c_pe.uint16 | None = ...,
            ne_nrestab: _c_pe.int32 | None = ...,
            ne_cmovent: _c_pe.uint16 | None = ...,
            ne_align: _c_pe.uint16 | None = ...,
            ne_cres: _c_pe.uint16 | None = ...,
            ne_exetyp: _c_pe.uint8 | None = ...,
            ne_flagsothers: _c_pe.uint8 | None = ...,
            ne_pretthunks: _c_pe.uint16 | None = ...,
            ne_psegrefbytes: _c_pe.uint16 | None = ...,
            ne_swaparea: _c_pe.uint16 | None = ...,
            ne_expver: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_OS2_HEADER: TypeAlias = _IMAGE_OS2_HEADER
    PIMAGE_OS2_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_OS2_HEADER]
    class _IMAGE_VXD_HEADER(__cs__.Structure):
        e32_magic: _c_pe.uint16
        e32_border: _c_pe.uint8
        e32_worder: _c_pe.uint8
        e32_level: _c_pe.uint32
        e32_cpu: _c_pe.uint16
        e32_os: _c_pe.uint16
        e32_ver: _c_pe.uint32
        e32_mflags: _c_pe.uint32
        e32_mpages: _c_pe.uint32
        e32_startobj: _c_pe.uint32
        e32_eip: _c_pe.uint32
        e32_stackobj: _c_pe.uint32
        e32_esp: _c_pe.uint32
        e32_pagesize: _c_pe.uint32
        e32_lastpagesize: _c_pe.uint32
        e32_fixupsize: _c_pe.uint32
        e32_fixupsum: _c_pe.uint32
        e32_ldrsize: _c_pe.uint32
        e32_ldrsum: _c_pe.uint32
        e32_objtab: _c_pe.uint32
        e32_objcnt: _c_pe.uint32
        e32_objmap: _c_pe.uint32
        e32_itermap: _c_pe.uint32
        e32_rsrctab: _c_pe.uint32
        e32_rsrccnt: _c_pe.uint32
        e32_restab: _c_pe.uint32
        e32_enttab: _c_pe.uint32
        e32_dirtab: _c_pe.uint32
        e32_dircnt: _c_pe.uint32
        e32_fpagetab: _c_pe.uint32
        e32_frectab: _c_pe.uint32
        e32_impmod: _c_pe.uint32
        e32_impmodcnt: _c_pe.uint32
        e32_impproc: _c_pe.uint32
        e32_pagesum: _c_pe.uint32
        e32_datapage: _c_pe.uint32
        e32_preload: _c_pe.uint32
        e32_nrestab: _c_pe.uint32
        e32_cbnrestab: _c_pe.uint32
        e32_nressum: _c_pe.uint32
        e32_autodata: _c_pe.uint32
        e32_debuginfo: _c_pe.uint32
        e32_debuglen: _c_pe.uint32
        e32_instpreload: _c_pe.uint32
        e32_instdemand: _c_pe.uint32
        e32_heapsize: _c_pe.uint32
        e32_res3: __cs__.Array[_c_pe.uint8]
        e32_winresoff: _c_pe.uint32
        e32_winreslen: _c_pe.uint32
        e32_devid: _c_pe.uint16
        e32_ddkver: _c_pe.uint16
        @overload
        def __init__(
            self,
            e32_magic: _c_pe.uint16 | None = ...,
            e32_border: _c_pe.uint8 | None = ...,
            e32_worder: _c_pe.uint8 | None = ...,
            e32_level: _c_pe.uint32 | None = ...,
            e32_cpu: _c_pe.uint16 | None = ...,
            e32_os: _c_pe.uint16 | None = ...,
            e32_ver: _c_pe.uint32 | None = ...,
            e32_mflags: _c_pe.uint32 | None = ...,
            e32_mpages: _c_pe.uint32 | None = ...,
            e32_startobj: _c_pe.uint32 | None = ...,
            e32_eip: _c_pe.uint32 | None = ...,
            e32_stackobj: _c_pe.uint32 | None = ...,
            e32_esp: _c_pe.uint32 | None = ...,
            e32_pagesize: _c_pe.uint32 | None = ...,
            e32_lastpagesize: _c_pe.uint32 | None = ...,
            e32_fixupsize: _c_pe.uint32 | None = ...,
            e32_fixupsum: _c_pe.uint32 | None = ...,
            e32_ldrsize: _c_pe.uint32 | None = ...,
            e32_ldrsum: _c_pe.uint32 | None = ...,
            e32_objtab: _c_pe.uint32 | None = ...,
            e32_objcnt: _c_pe.uint32 | None = ...,
            e32_objmap: _c_pe.uint32 | None = ...,
            e32_itermap: _c_pe.uint32 | None = ...,
            e32_rsrctab: _c_pe.uint32 | None = ...,
            e32_rsrccnt: _c_pe.uint32 | None = ...,
            e32_restab: _c_pe.uint32 | None = ...,
            e32_enttab: _c_pe.uint32 | None = ...,
            e32_dirtab: _c_pe.uint32 | None = ...,
            e32_dircnt: _c_pe.uint32 | None = ...,
            e32_fpagetab: _c_pe.uint32 | None = ...,
            e32_frectab: _c_pe.uint32 | None = ...,
            e32_impmod: _c_pe.uint32 | None = ...,
            e32_impmodcnt: _c_pe.uint32 | None = ...,
            e32_impproc: _c_pe.uint32 | None = ...,
            e32_pagesum: _c_pe.uint32 | None = ...,
            e32_datapage: _c_pe.uint32 | None = ...,
            e32_preload: _c_pe.uint32 | None = ...,
            e32_nrestab: _c_pe.uint32 | None = ...,
            e32_cbnrestab: _c_pe.uint32 | None = ...,
            e32_nressum: _c_pe.uint32 | None = ...,
            e32_autodata: _c_pe.uint32 | None = ...,
            e32_debuginfo: _c_pe.uint32 | None = ...,
            e32_debuglen: _c_pe.uint32 | None = ...,
            e32_instpreload: _c_pe.uint32 | None = ...,
            e32_instdemand: _c_pe.uint32 | None = ...,
            e32_heapsize: _c_pe.uint32 | None = ...,
            e32_res3: __cs__.Array[_c_pe.uint8] | None = ...,
            e32_winresoff: _c_pe.uint32 | None = ...,
            e32_winreslen: _c_pe.uint32 | None = ...,
            e32_devid: _c_pe.uint16 | None = ...,
            e32_ddkver: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_VXD_HEADER: TypeAlias = _IMAGE_VXD_HEADER
    PIMAGE_VXD_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_VXD_HEADER]
    class IMAGE_FILE(__cs__.Flag):
        RELOCS_STRIPPED = ...
        EXECUTABLE_IMAGE = ...
        LINE_NUMS_STRIPPED = ...
        LOCAL_SYMS_STRIPPED = ...
        AGGRESSIVE_WS_TRIM = ...
        LARGE_ADDRESS_AWARE = ...
        BYTES_REVERSED_LO = ...
        "32BIT_MACHINE = ..."
        DEBUG_STRIPPED = ...
        REMOVABLE_RUN_FROM_SWAP = ...
        NET_RUN_FROM_SWAP = ...
        SYSTEM = ...
        DLL = ...
        UP_SYSTEM_ONLY = ...
        BYTES_REVERSED_HI = ...

    class IMAGE_FILE_MACHINE(__cs__.Enum):
        UNKNOWN = ...
        TARGET_HOST = ...
        I386 = ...
        R3000 = ...
        R4000 = ...
        R10000 = ...
        WCEMIPSV2 = ...
        ALPHA = ...
        SH3 = ...
        SH3DSP = ...
        SH3E = ...
        SH4 = ...
        SH5 = ...
        ARM = ...
        THUMB = ...
        ARMNT = ...
        AM33 = ...
        POWERPC = ...
        POWERPCFP = ...
        IA64 = ...
        MIPS16 = ...
        ALPHA64 = ...
        MIPSFPU = ...
        MIPSFPU16 = ...
        AXP64 = ...
        TRICORE = ...
        CEF = ...
        EBC = ...
        CHPE_X86 = ...
        RISCV32 = ...
        RISCV64 = ...
        RISCV128 = ...
        AMD64 = ...
        M32R = ...
        ARM64 = ...
        CEE = ...

    class _IMAGE_FILE_HEADER(__cs__.Structure):
        Machine: _c_pe.IMAGE_FILE_MACHINE
        NumberOfSections: _c_pe.uint16
        TimeDateStamp: _c_pe.uint32
        PointerToSymbolTable: _c_pe.uint32
        NumberOfSymbols: _c_pe.uint32
        SizeOfOptionalHeader: _c_pe.uint16
        Characteristics: _c_pe.IMAGE_FILE
        @overload
        def __init__(
            self,
            Machine: _c_pe.IMAGE_FILE_MACHINE | None = ...,
            NumberOfSections: _c_pe.uint16 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            PointerToSymbolTable: _c_pe.uint32 | None = ...,
            NumberOfSymbols: _c_pe.uint32 | None = ...,
            SizeOfOptionalHeader: _c_pe.uint16 | None = ...,
            Characteristics: _c_pe.IMAGE_FILE | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_FILE_HEADER: TypeAlias = _IMAGE_FILE_HEADER
    PIMAGE_FILE_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_FILE_HEADER]
    class _IMAGE_DATA_DIRECTORY(__cs__.Structure):
        VirtualAddress: _c_pe.uint32
        Size: _c_pe.uint32
        @overload
        def __init__(self, VirtualAddress: _c_pe.uint32 | None = ..., Size: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DATA_DIRECTORY: TypeAlias = _IMAGE_DATA_DIRECTORY
    PIMAGE_DATA_DIRECTORY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DATA_DIRECTORY]
    class IMAGE_SUBSYSTEM(__cs__.Enum):
        UNKNOWN = ...
        NATIVE = ...
        WINDOWS_GUI = ...
        WINDOWS_CUI = ...
        OS2_CUI = ...
        POSIX_CUI = ...
        NATIVE_WINDOWS = ...
        WINDOWS_CE_GUI = ...
        EFI_APPLICATION = ...
        EFI_BOOT_SERVICE_DRIVER = ...
        EFI_RUNTIME_DRIVER = ...
        EFI_ROM = ...
        XBOX = ...
        WINDOWS_BOOT_APPLICATION = ...
        XBOX_CODE_CATALOG = ...

    class IMAGE_DLLCHARACTERISTICS(__cs__.Flag):
        PROCESS_INIT = ...
        PROCESS_TERM = ...
        THREAD_INIT = ...
        THREAD_TERM = ...
        HIGH_ENTROPY_VA = ...
        DYNAMIC_BASE = ...
        FORCE_INTEGRITY = ...
        NX_COMPAT = ...
        NO_ISOLATION = ...
        NO_SEH = ...
        NO_BIND = ...
        APPCONTAINER = ...
        WDM_DRIVER = ...
        GUARD_CF = ...
        TERMINAL_SERVER_AWARE = ...

    class _IMAGE_OPTIONAL_HEADER(__cs__.Structure):
        Magic: _c_pe.uint16
        MajorLinkerVersion: _c_pe.uint8
        MinorLinkerVersion: _c_pe.uint8
        SizeOfCode: _c_pe.uint32
        SizeOfInitializedData: _c_pe.uint32
        SizeOfUninitializedData: _c_pe.uint32
        AddressOfEntryPoint: _c_pe.uint32
        BaseOfCode: _c_pe.uint32
        BaseOfData: _c_pe.uint32
        ImageBase: _c_pe.uint32
        SectionAlignment: _c_pe.uint32
        FileAlignment: _c_pe.uint32
        MajorOperatingSystemVersion: _c_pe.uint16
        MinorOperatingSystemVersion: _c_pe.uint16
        MajorImageVersion: _c_pe.uint16
        MinorImageVersion: _c_pe.uint16
        MajorSubsystemVersion: _c_pe.uint16
        MinorSubsystemVersion: _c_pe.uint16
        Win32VersionValue: _c_pe.uint32
        SizeOfImage: _c_pe.uint32
        SizeOfHeaders: _c_pe.uint32
        CheckSum: _c_pe.uint32
        Subsystem: _c_pe.IMAGE_SUBSYSTEM
        DllCharacteristics: _c_pe.IMAGE_DLLCHARACTERISTICS
        SizeOfStackReserve: _c_pe.uint32
        SizeOfStackCommit: _c_pe.uint32
        SizeOfHeapReserve: _c_pe.uint32
        SizeOfHeapCommit: _c_pe.uint32
        LoaderFlags: _c_pe.uint32
        NumberOfRvaAndSizes: _c_pe.uint32
        class _IMAGE_DATA_DIRECTORY(__cs__.Structure):
            VirtualAddress: _c_pe.uint32
            Size: _c_pe.uint32
            @overload
            def __init__(self, VirtualAddress: _c_pe.uint32 | None = ..., Size: _c_pe.uint32 | None = ...): ...
            @overload
            def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

        DataDirectory: __cs__.Array[_IMAGE_DATA_DIRECTORY]
        @overload
        def __init__(
            self,
            Magic: _c_pe.uint16 | None = ...,
            MajorLinkerVersion: _c_pe.uint8 | None = ...,
            MinorLinkerVersion: _c_pe.uint8 | None = ...,
            SizeOfCode: _c_pe.uint32 | None = ...,
            SizeOfInitializedData: _c_pe.uint32 | None = ...,
            SizeOfUninitializedData: _c_pe.uint32 | None = ...,
            AddressOfEntryPoint: _c_pe.uint32 | None = ...,
            BaseOfCode: _c_pe.uint32 | None = ...,
            BaseOfData: _c_pe.uint32 | None = ...,
            ImageBase: _c_pe.uint32 | None = ...,
            SectionAlignment: _c_pe.uint32 | None = ...,
            FileAlignment: _c_pe.uint32 | None = ...,
            MajorOperatingSystemVersion: _c_pe.uint16 | None = ...,
            MinorOperatingSystemVersion: _c_pe.uint16 | None = ...,
            MajorImageVersion: _c_pe.uint16 | None = ...,
            MinorImageVersion: _c_pe.uint16 | None = ...,
            MajorSubsystemVersion: _c_pe.uint16 | None = ...,
            MinorSubsystemVersion: _c_pe.uint16 | None = ...,
            Win32VersionValue: _c_pe.uint32 | None = ...,
            SizeOfImage: _c_pe.uint32 | None = ...,
            SizeOfHeaders: _c_pe.uint32 | None = ...,
            CheckSum: _c_pe.uint32 | None = ...,
            Subsystem: _c_pe.IMAGE_SUBSYSTEM | None = ...,
            DllCharacteristics: _c_pe.IMAGE_DLLCHARACTERISTICS | None = ...,
            SizeOfStackReserve: _c_pe.uint32 | None = ...,
            SizeOfStackCommit: _c_pe.uint32 | None = ...,
            SizeOfHeapReserve: _c_pe.uint32 | None = ...,
            SizeOfHeapCommit: _c_pe.uint32 | None = ...,
            LoaderFlags: _c_pe.uint32 | None = ...,
            NumberOfRvaAndSizes: _c_pe.uint32 | None = ...,
            DataDirectory: __cs__.Array[_IMAGE_DATA_DIRECTORY] | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_OPTIONAL_HEADER32: TypeAlias = _IMAGE_OPTIONAL_HEADER
    PIMAGE_OPTIONAL_HEADER32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_OPTIONAL_HEADER]
    class _IMAGE_OPTIONAL_HEADER64(__cs__.Structure):
        Magic: _c_pe.uint16
        MajorLinkerVersion: _c_pe.uint8
        MinorLinkerVersion: _c_pe.uint8
        SizeOfCode: _c_pe.uint32
        SizeOfInitializedData: _c_pe.uint32
        SizeOfUninitializedData: _c_pe.uint32
        AddressOfEntryPoint: _c_pe.uint32
        BaseOfCode: _c_pe.uint32
        ImageBase: _c_pe.uint64
        SectionAlignment: _c_pe.uint32
        FileAlignment: _c_pe.uint32
        MajorOperatingSystemVersion: _c_pe.uint16
        MinorOperatingSystemVersion: _c_pe.uint16
        MajorImageVersion: _c_pe.uint16
        MinorImageVersion: _c_pe.uint16
        MajorSubsystemVersion: _c_pe.uint16
        MinorSubsystemVersion: _c_pe.uint16
        Win32VersionValue: _c_pe.uint32
        SizeOfImage: _c_pe.uint32
        SizeOfHeaders: _c_pe.uint32
        CheckSum: _c_pe.uint32
        Subsystem: _c_pe.IMAGE_SUBSYSTEM
        DllCharacteristics: _c_pe.IMAGE_DLLCHARACTERISTICS
        SizeOfStackReserve: _c_pe.uint64
        SizeOfStackCommit: _c_pe.uint64
        SizeOfHeapReserve: _c_pe.uint64
        SizeOfHeapCommit: _c_pe.uint64
        LoaderFlags: _c_pe.uint32
        NumberOfRvaAndSizes: _c_pe.uint32
        class _IMAGE_DATA_DIRECTORY(__cs__.Structure):
            VirtualAddress: _c_pe.uint32
            Size: _c_pe.uint32
            @overload
            def __init__(self, VirtualAddress: _c_pe.uint32 | None = ..., Size: _c_pe.uint32 | None = ...): ...
            @overload
            def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

        DataDirectory: __cs__.Array[_IMAGE_DATA_DIRECTORY]
        @overload
        def __init__(
            self,
            Magic: _c_pe.uint16 | None = ...,
            MajorLinkerVersion: _c_pe.uint8 | None = ...,
            MinorLinkerVersion: _c_pe.uint8 | None = ...,
            SizeOfCode: _c_pe.uint32 | None = ...,
            SizeOfInitializedData: _c_pe.uint32 | None = ...,
            SizeOfUninitializedData: _c_pe.uint32 | None = ...,
            AddressOfEntryPoint: _c_pe.uint32 | None = ...,
            BaseOfCode: _c_pe.uint32 | None = ...,
            ImageBase: _c_pe.uint64 | None = ...,
            SectionAlignment: _c_pe.uint32 | None = ...,
            FileAlignment: _c_pe.uint32 | None = ...,
            MajorOperatingSystemVersion: _c_pe.uint16 | None = ...,
            MinorOperatingSystemVersion: _c_pe.uint16 | None = ...,
            MajorImageVersion: _c_pe.uint16 | None = ...,
            MinorImageVersion: _c_pe.uint16 | None = ...,
            MajorSubsystemVersion: _c_pe.uint16 | None = ...,
            MinorSubsystemVersion: _c_pe.uint16 | None = ...,
            Win32VersionValue: _c_pe.uint32 | None = ...,
            SizeOfImage: _c_pe.uint32 | None = ...,
            SizeOfHeaders: _c_pe.uint32 | None = ...,
            CheckSum: _c_pe.uint32 | None = ...,
            Subsystem: _c_pe.IMAGE_SUBSYSTEM | None = ...,
            DllCharacteristics: _c_pe.IMAGE_DLLCHARACTERISTICS | None = ...,
            SizeOfStackReserve: _c_pe.uint64 | None = ...,
            SizeOfStackCommit: _c_pe.uint64 | None = ...,
            SizeOfHeapReserve: _c_pe.uint64 | None = ...,
            SizeOfHeapCommit: _c_pe.uint64 | None = ...,
            LoaderFlags: _c_pe.uint32 | None = ...,
            NumberOfRvaAndSizes: _c_pe.uint32 | None = ...,
            DataDirectory: __cs__.Array[_IMAGE_DATA_DIRECTORY] | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_OPTIONAL_HEADER64: TypeAlias = _IMAGE_OPTIONAL_HEADER64
    PIMAGE_OPTIONAL_HEADER64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_OPTIONAL_HEADER64]
    class _IMAGE_NT_HEADERS64(__cs__.Structure):
        Signature: _c_pe.uint32
        FileHeader: _c_pe._IMAGE_FILE_HEADER
        OptionalHeader: _c_pe._IMAGE_OPTIONAL_HEADER64
        @overload
        def __init__(
            self,
            Signature: _c_pe.uint32 | None = ...,
            FileHeader: _c_pe._IMAGE_FILE_HEADER | None = ...,
            OptionalHeader: _c_pe._IMAGE_OPTIONAL_HEADER64 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_NT_HEADERS64: TypeAlias = _IMAGE_NT_HEADERS64
    PIMAGE_NT_HEADERS64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_NT_HEADERS64]
    class _IMAGE_NT_HEADERS(__cs__.Structure):
        Signature: _c_pe.uint32
        FileHeader: _c_pe._IMAGE_FILE_HEADER
        OptionalHeader: _c_pe._IMAGE_OPTIONAL_HEADER
        @overload
        def __init__(
            self,
            Signature: _c_pe.uint32 | None = ...,
            FileHeader: _c_pe._IMAGE_FILE_HEADER | None = ...,
            OptionalHeader: _c_pe._IMAGE_OPTIONAL_HEADER | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_NT_HEADERS32: TypeAlias = _IMAGE_NT_HEADERS
    PIMAGE_NT_HEADERS32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_NT_HEADERS]
    class IMAGE_DIRECTORY_ENTRY(__cs__.Enum):
        EXPORT = ...
        IMPORT = ...
        RESOURCE = ...
        EXCEPTION = ...
        SECURITY = ...
        BASERELOC = ...
        DEBUG = ...
        COPYRIGHT = ...
        ARCHITECTURE = ...
        GLOBALPTR = ...
        TLS = ...
        LOAD_CONFIG = ...
        BOUND_IMPORT = ...
        IAT = ...
        DELAY_IMPORT = ...
        COM_DESCRIPTOR = ...

    class IMAGE_SCN(__cs__.Flag):
        TYPE_REG = ...
        TYPE_DSECT = ...
        TYPE_NOLOAD = ...
        TYPE_GROUP = ...
        TYPE_NO_PAD = ...
        TYPE_COPY = ...
        CNT_CODE = ...
        CNT_INITIALIZED_DATA = ...
        CNT_UNINITIALIZED_DATA = ...
        LNK_OTHER = ...
        LNK_INFO = ...
        TYPE_OVER = ...
        LNK_REMOVE = ...
        LNK_COMDAT = ...
        NO_DEFER_SPEC_EXC = ...
        GPREL = ...
        MEM_FARDATA = ...
        MEM_PURGEABLE = ...
        MEM_16BIT = ...
        MEM_LOCKED = ...
        MEM_PRELOAD = ...
        ALIGN_1BYTES = ...
        ALIGN_2BYTES = ...
        ALIGN_4BYTES = ...
        ALIGN_8BYTES = ...
        ALIGN_16BYTES = ...
        ALIGN_32BYTES = ...
        ALIGN_64BYTES = ...
        ALIGN_128BYTES = ...
        ALIGN_256BYTES = ...
        ALIGN_512BYTES = ...
        ALIGN_1024BYTES = ...
        ALIGN_2048BYTES = ...
        ALIGN_4096BYTES = ...
        ALIGN_8192BYTES = ...
        ALIGN_MASK = ...
        LNK_NRELOC_OVFL = ...
        MEM_DISCARDABLE = ...
        MEM_NOT_CACHED = ...
        MEM_NOT_PAGED = ...
        MEM_SHARED = ...
        MEM_EXECUTE = ...
        MEM_READ = ...
        MEM_WRITE = ...

    class _IMAGE_SECTION_HEADER(__cs__.Structure):
        Name: __cs__.CharArray
        class __anonymous_0__(__cs__.Union):
            PhysicalAddress: _c_pe.uint32
            VirtualSize: _c_pe.uint32
            @overload
            def __init__(self, PhysicalAddress: _c_pe.uint32 | None = ..., VirtualSize: _c_pe.uint32 | None = ...): ...
            @overload
            def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

        Misc: __anonymous_0__
        VirtualAddress: _c_pe.uint32
        SizeOfRawData: _c_pe.uint32
        PointerToRawData: _c_pe.uint32
        PointerToRelocations: _c_pe.uint32
        PointerToLinenumbers: _c_pe.uint32
        NumberOfRelocations: _c_pe.uint16
        NumberOfLinenumbers: _c_pe.uint16
        Characteristics: _c_pe.IMAGE_SCN
        @overload
        def __init__(
            self,
            Name: __cs__.CharArray | None = ...,
            Misc: __anonymous_0__ | None = ...,
            VirtualAddress: _c_pe.uint32 | None = ...,
            SizeOfRawData: _c_pe.uint32 | None = ...,
            PointerToRawData: _c_pe.uint32 | None = ...,
            PointerToRelocations: _c_pe.uint32 | None = ...,
            PointerToLinenumbers: _c_pe.uint32 | None = ...,
            NumberOfRelocations: _c_pe.uint16 | None = ...,
            NumberOfLinenumbers: _c_pe.uint16 | None = ...,
            Characteristics: _c_pe.IMAGE_SCN | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_SECTION_HEADER: TypeAlias = _IMAGE_SECTION_HEADER
    PIMAGE_SECTION_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_SECTION_HEADER]
    class IMAGE_REL_BASED(__cs__.Enum):
        ABSOLUTE = ...
        HIGH = ...
        LOW = ...
        HIGHLOW = ...
        HIGHADJ = ...
        MIPS_JMPADDR = ...
        ARM_MOV32 = ...
        RISCV_HIGH20 = ...
        MACHINE_SPECIFIC_5 = ...
        RESERVED = ...
        THUMB_MOV32 = ...
        RISCV_LOW12I = ...
        REL32 = ...
        MACHINE_SPECIFIC_7 = ...
        RISCV_LOW12S = ...
        LOONGARCH32_MARK_LA = ...
        LOONGARCH64_MARK_LA = ...
        VXD_RELATIVE = ...
        MACHINE_SPECIFIC_8 = ...
        MIPS_JMPADDR16 = ...
        IA64_IMM64 = ...
        MACHINE_SPECIFIC_9 = ...
        DIR64 = ...

    class _IMAGE_BASE_RELOCATION(__cs__.Structure):
        VirtualAddress: _c_pe.uint32
        SizeOfBlock: _c_pe.uint32
        @overload
        def __init__(self, VirtualAddress: _c_pe.uint32 | None = ..., SizeOfBlock: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_BASE_RELOCATION: TypeAlias = _IMAGE_BASE_RELOCATION
    PIMAGE_BASE_RELOCATION: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_BASE_RELOCATION]
    class _IMAGE_ARCHIVE_MEMBER_HEADER(__cs__.Structure):
        Name: __cs__.CharArray
        Date: __cs__.CharArray
        UserID: __cs__.CharArray
        GroupID: __cs__.CharArray
        Mode: __cs__.CharArray
        Size: __cs__.CharArray
        EndHeader: __cs__.CharArray
        @overload
        def __init__(
            self,
            Name: __cs__.CharArray | None = ...,
            Date: __cs__.CharArray | None = ...,
            UserID: __cs__.CharArray | None = ...,
            GroupID: __cs__.CharArray | None = ...,
            Mode: __cs__.CharArray | None = ...,
            Size: __cs__.CharArray | None = ...,
            EndHeader: __cs__.CharArray | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARCHIVE_MEMBER_HEADER: TypeAlias = _IMAGE_ARCHIVE_MEMBER_HEADER
    PIMAGE_ARCHIVE_MEMBER_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARCHIVE_MEMBER_HEADER]
    class _IMAGE_EXPORT_DIRECTORY(__cs__.Structure):
        Characteristics: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        MajorVersion: _c_pe.uint16
        MinorVersion: _c_pe.uint16
        Name: _c_pe.uint32
        Base: _c_pe.uint32
        NumberOfFunctions: _c_pe.uint32
        NumberOfNames: _c_pe.uint32
        AddressOfFunctions: _c_pe.uint32
        AddressOfNames: _c_pe.uint32
        AddressOfNameOrdinals: _c_pe.uint32
        @overload
        def __init__(
            self,
            Characteristics: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            MajorVersion: _c_pe.uint16 | None = ...,
            MinorVersion: _c_pe.uint16 | None = ...,
            Name: _c_pe.uint32 | None = ...,
            Base: _c_pe.uint32 | None = ...,
            NumberOfFunctions: _c_pe.uint32 | None = ...,
            NumberOfNames: _c_pe.uint32 | None = ...,
            AddressOfFunctions: _c_pe.uint32 | None = ...,
            AddressOfNames: _c_pe.uint32 | None = ...,
            AddressOfNameOrdinals: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_EXPORT_DIRECTORY: TypeAlias = _IMAGE_EXPORT_DIRECTORY
    PIMAGE_EXPORT_DIRECTORY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_EXPORT_DIRECTORY]
    class _IMAGE_IMPORT_BY_NAME(__cs__.Structure):
        Hint: _c_pe.uint16
        Name: __cs__.CharArray
        @overload
        def __init__(self, Hint: _c_pe.uint16 | None = ..., Name: __cs__.CharArray | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_IMPORT_BY_NAME: TypeAlias = _IMAGE_IMPORT_BY_NAME
    PIMAGE_IMPORT_BY_NAME: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_IMPORT_BY_NAME]
    class _IMAGE_THUNK_DATA64(__cs__.Structure):
        class __anonymous_1__(__cs__.Union):
            ForwarderString: _c_pe.uint64
            Function: _c_pe.uint64
            Ordinal: _c_pe.uint64
            AddressOfData: _c_pe.uint64
            @overload
            def __init__(
                self,
                ForwarderString: _c_pe.uint64 | None = ...,
                Function: _c_pe.uint64 | None = ...,
                Ordinal: _c_pe.uint64 | None = ...,
                AddressOfData: _c_pe.uint64 | None = ...,
            ): ...
            @overload
            def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

        u1: __anonymous_1__
        @overload
        def __init__(self, u1: __anonymous_1__ | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_THUNK_DATA64: TypeAlias = _IMAGE_THUNK_DATA64
    PIMAGE_THUNK_DATA64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_THUNK_DATA64]
    class _IMAGE_THUNK_DATA32(__cs__.Structure):
        class __anonymous_2__(__cs__.Union):
            ForwarderString: _c_pe.uint32
            Function: _c_pe.uint32
            Ordinal: _c_pe.uint32
            AddressOfData: _c_pe.uint32
            @overload
            def __init__(
                self,
                ForwarderString: _c_pe.uint32 | None = ...,
                Function: _c_pe.uint32 | None = ...,
                Ordinal: _c_pe.uint32 | None = ...,
                AddressOfData: _c_pe.uint32 | None = ...,
            ): ...
            @overload
            def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

        u1: __anonymous_2__
        @overload
        def __init__(self, u1: __anonymous_2__ | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_THUNK_DATA32: TypeAlias = _IMAGE_THUNK_DATA32
    PIMAGE_THUNK_DATA32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_THUNK_DATA32]
    class _IMAGE_IMPORT_DESCRIPTOR(__cs__.Structure):
        Characteristics: _c_pe.uint32
        OriginalFirstThunk: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        ForwarderChain: _c_pe.uint32
        Name: _c_pe.uint32
        FirstThunk: _c_pe.uint32
        @overload
        def __init__(
            self,
            Characteristics: _c_pe.uint32 | None = ...,
            OriginalFirstThunk: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            ForwarderChain: _c_pe.uint32 | None = ...,
            Name: _c_pe.uint32 | None = ...,
            FirstThunk: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_IMPORT_DESCRIPTOR: TypeAlias = _IMAGE_IMPORT_DESCRIPTOR
    PIMAGE_IMPORT_DESCRIPTOR: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_IMPORT_DESCRIPTOR]
    class _IMAGE_TLS_DIRECTORY64(__cs__.Structure):
        StartAddressOfRawData: _c_pe.uint64
        EndAddressOfRawData: _c_pe.uint64
        AddressOfIndex: _c_pe.uint64
        AddressOfCallBacks: _c_pe.uint64
        SizeOfZeroFill: _c_pe.uint32
        Characteristics: _c_pe.uint32
        Reserved0: _c_pe.uint32
        Alignment: _c_pe.uint32
        Reserved1: _c_pe.uint32
        @overload
        def __init__(
            self,
            StartAddressOfRawData: _c_pe.uint64 | None = ...,
            EndAddressOfRawData: _c_pe.uint64 | None = ...,
            AddressOfIndex: _c_pe.uint64 | None = ...,
            AddressOfCallBacks: _c_pe.uint64 | None = ...,
            SizeOfZeroFill: _c_pe.uint32 | None = ...,
            Characteristics: _c_pe.uint32 | None = ...,
            Reserved0: _c_pe.uint32 | None = ...,
            Alignment: _c_pe.uint32 | None = ...,
            Reserved1: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_TLS_DIRECTORY64: TypeAlias = _IMAGE_TLS_DIRECTORY64
    PIMAGE_TLS_DIRECTORY64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_TLS_DIRECTORY64]
    class _IMAGE_TLS_DIRECTORY32(__cs__.Structure):
        StartAddressOfRawData: _c_pe.uint32
        EndAddressOfRawData: _c_pe.uint32
        AddressOfIndex: _c_pe.uint32
        AddressOfCallBacks: _c_pe.uint32
        SizeOfZeroFill: _c_pe.uint32
        Characteristics: _c_pe.uint32
        Reserved0: _c_pe.uint32
        Alignment: _c_pe.uint32
        Reserved1: _c_pe.uint32
        @overload
        def __init__(
            self,
            StartAddressOfRawData: _c_pe.uint32 | None = ...,
            EndAddressOfRawData: _c_pe.uint32 | None = ...,
            AddressOfIndex: _c_pe.uint32 | None = ...,
            AddressOfCallBacks: _c_pe.uint32 | None = ...,
            SizeOfZeroFill: _c_pe.uint32 | None = ...,
            Characteristics: _c_pe.uint32 | None = ...,
            Reserved0: _c_pe.uint32 | None = ...,
            Alignment: _c_pe.uint32 | None = ...,
            Reserved1: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_TLS_DIRECTORY32: TypeAlias = _IMAGE_TLS_DIRECTORY32
    PIMAGE_TLS_DIRECTORY32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_TLS_DIRECTORY32]
    class _IMAGE_BOUND_IMPORT_DESCRIPTOR(__cs__.Structure):
        TimeDateStamp: _c_pe.uint32
        OffsetModuleName: _c_pe.uint16
        NumberOfModuleForwarderRefs: _c_pe.uint16
        @overload
        def __init__(
            self,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            OffsetModuleName: _c_pe.uint16 | None = ...,
            NumberOfModuleForwarderRefs: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_BOUND_IMPORT_DESCRIPTOR: TypeAlias = _IMAGE_BOUND_IMPORT_DESCRIPTOR
    PIMAGE_BOUND_IMPORT_DESCRIPTOR: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_BOUND_IMPORT_DESCRIPTOR]
    class _IMAGE_BOUND_FORWARDER_REF(__cs__.Structure):
        TimeDateStamp: _c_pe.uint32
        OffsetModuleName: _c_pe.uint16
        Reserved: _c_pe.uint16
        @overload
        def __init__(
            self,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            OffsetModuleName: _c_pe.uint16 | None = ...,
            Reserved: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_BOUND_FORWARDER_REF: TypeAlias = _IMAGE_BOUND_FORWARDER_REF
    PIMAGE_BOUND_FORWARDER_REF: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_BOUND_FORWARDER_REF]
    class _IMAGE_DELAYLOAD_DESCRIPTOR(__cs__.Structure):
        class __anonymous_9__(__cs__.Union):
            AllAttributes: _c_pe.uint32
            RvaBased: _c_pe.uint32
            ReservedAttributes: _c_pe.uint32
            @overload
            def __init__(
                self,
                AllAttributes: _c_pe.uint32 | None = ...,
                RvaBased: _c_pe.uint32 | None = ...,
                ReservedAttributes: _c_pe.uint32 | None = ...,
            ): ...
            @overload
            def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

        Attributes: __anonymous_9__
        DllNameRVA: _c_pe.uint32
        ModuleHandleRVA: _c_pe.uint32
        ImportAddressTableRVA: _c_pe.uint32
        ImportNameTableRVA: _c_pe.uint32
        BoundImportAddressTableRVA: _c_pe.uint32
        UnloadInformationTableRVA: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        @overload
        def __init__(
            self,
            Attributes: __anonymous_9__ | None = ...,
            DllNameRVA: _c_pe.uint32 | None = ...,
            ModuleHandleRVA: _c_pe.uint32 | None = ...,
            ImportAddressTableRVA: _c_pe.uint32 | None = ...,
            ImportNameTableRVA: _c_pe.uint32 | None = ...,
            BoundImportAddressTableRVA: _c_pe.uint32 | None = ...,
            UnloadInformationTableRVA: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DELAYLOAD_DESCRIPTOR: TypeAlias = _IMAGE_DELAYLOAD_DESCRIPTOR
    PIMAGE_DELAYLOAD_DESCRIPTOR: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DELAYLOAD_DESCRIPTOR]
    class RT(__cs__.Enum):
        CURSOR = ...
        BITMAP = ...
        ICON = ...
        MENU = ...
        DIALOG = ...
        STRING = ...
        FONTDIR = ...
        FONT = ...
        ACCELERATOR = ...
        RCDATA = ...
        MESSAGETABLE = ...
        GROUP_CURSOR = ...
        GROUP_ICON = ...
        VERSION = ...
        DLGINCLUDE = ...
        PLUGPLAY = ...
        VXD = ...
        ANICURSOR = ...
        ANIICON = ...
        HTML = ...
        MANIFEST = ...

    class _IMAGE_RESOURCE_DIRECTORY(__cs__.Structure):
        Characteristics: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        MajorVersion: _c_pe.uint16
        MinorVersion: _c_pe.uint16
        NumberOfNamedEntries: _c_pe.uint16
        NumberOfIdEntries: _c_pe.uint16
        @overload
        def __init__(
            self,
            Characteristics: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            MajorVersion: _c_pe.uint16 | None = ...,
            MinorVersion: _c_pe.uint16 | None = ...,
            NumberOfNamedEntries: _c_pe.uint16 | None = ...,
            NumberOfIdEntries: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_RESOURCE_DIRECTORY: TypeAlias = _IMAGE_RESOURCE_DIRECTORY
    PIMAGE_RESOURCE_DIRECTORY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_RESOURCE_DIRECTORY]
    class _IMAGE_RESOURCE_DIRECTORY_ENTRY(__cs__.Structure):
        NameOffset: _c_pe.uint32
        NameIsString: _c_pe.uint32
        Name: _c_pe.uint32
        Id: _c_pe.uint16
        OffsetToData: _c_pe.uint32
        OffsetToDirectory: _c_pe.uint32
        DataIsDirectory: _c_pe.uint32
        @overload
        def __init__(
            self,
            NameOffset: _c_pe.uint32 | None = ...,
            NameIsString: _c_pe.uint32 | None = ...,
            Name: _c_pe.uint32 | None = ...,
            Id: _c_pe.uint16 | None = ...,
            OffsetToData: _c_pe.uint32 | None = ...,
            OffsetToDirectory: _c_pe.uint32 | None = ...,
            DataIsDirectory: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_RESOURCE_DIRECTORY_ENTRY: TypeAlias = _IMAGE_RESOURCE_DIRECTORY_ENTRY
    PIMAGE_RESOURCE_DIRECTORY_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_RESOURCE_DIRECTORY_ENTRY]
    class _IMAGE_RESOURCE_DIRECTORY_STRING(__cs__.Structure):
        Length: _c_pe.uint16
        NameString: __cs__.CharArray
        @overload
        def __init__(self, Length: _c_pe.uint16 | None = ..., NameString: __cs__.CharArray | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_RESOURCE_DIRECTORY_STRING: TypeAlias = _IMAGE_RESOURCE_DIRECTORY_STRING
    PIMAGE_RESOURCE_DIRECTORY_STRING: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_RESOURCE_DIRECTORY_STRING]
    class _IMAGE_RESOURCE_DIR_STRING_U(__cs__.Structure):
        Length: _c_pe.uint16
        NameString: __cs__.WcharArray
        @overload
        def __init__(self, Length: _c_pe.uint16 | None = ..., NameString: __cs__.WcharArray | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_RESOURCE_DIR_STRING_U: TypeAlias = _IMAGE_RESOURCE_DIR_STRING_U
    PIMAGE_RESOURCE_DIR_STRING_U: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_RESOURCE_DIR_STRING_U]
    class _IMAGE_RESOURCE_DATA_ENTRY(__cs__.Structure):
        OffsetToData: _c_pe.uint32
        Size: _c_pe.uint32
        CodePage: _c_pe.uint32
        Reserved: _c_pe.uint32
        @overload
        def __init__(
            self,
            OffsetToData: _c_pe.uint32 | None = ...,
            Size: _c_pe.uint32 | None = ...,
            CodePage: _c_pe.uint32 | None = ...,
            Reserved: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_RESOURCE_DATA_ENTRY: TypeAlias = _IMAGE_RESOURCE_DATA_ENTRY
    PIMAGE_RESOURCE_DATA_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_RESOURCE_DATA_ENTRY]
    class _VS_FIXEDFILEINFO(__cs__.Structure):
        dwSignature: _c_pe.uint32
        dwStrucVersion: _c_pe.uint32
        dwFileVersionMS: _c_pe.uint32
        dwFileVersionLS: _c_pe.uint32
        dwProductVersionMS: _c_pe.uint32
        dwProductVersionLS: _c_pe.uint32
        dwFileFlagsMask: _c_pe.uint32
        dwFileFlags: _c_pe.uint32
        dwFileOS: _c_pe.uint32
        dwFileType: _c_pe.uint32
        dwFileSubtype: _c_pe.uint32
        dwFileDateMS: _c_pe.uint32
        dwFileDateLS: _c_pe.uint32
        @overload
        def __init__(
            self,
            dwSignature: _c_pe.uint32 | None = ...,
            dwStrucVersion: _c_pe.uint32 | None = ...,
            dwFileVersionMS: _c_pe.uint32 | None = ...,
            dwFileVersionLS: _c_pe.uint32 | None = ...,
            dwProductVersionMS: _c_pe.uint32 | None = ...,
            dwProductVersionLS: _c_pe.uint32 | None = ...,
            dwFileFlagsMask: _c_pe.uint32 | None = ...,
            dwFileFlags: _c_pe.uint32 | None = ...,
            dwFileOS: _c_pe.uint32 | None = ...,
            dwFileType: _c_pe.uint32 | None = ...,
            dwFileSubtype: _c_pe.uint32 | None = ...,
            dwFileDateMS: _c_pe.uint32 | None = ...,
            dwFileDateLS: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    VS_FIXEDFILEINFO: TypeAlias = _VS_FIXEDFILEINFO
    PVS_FIXEDFILEINFO: TypeAlias = __cs__.Pointer[_c_pe._VS_FIXEDFILEINFO]
    class VS_FF(__cs__.Flag):
        DEBUG = ...
        PRERELEASE = ...
        PATCHED = ...
        PRIVATEBUILD = ...
        INFOINFERRED = ...
        SPECIALBUILD = ...

    class VOS(__cs__.Enum):
        UNKNOWN = ...
        WINDOWS16 = ...
        PM16 = ...
        PM32 = ...
        WINDOWS32 = ...
        DOS = ...
        OS216 = ...
        OS232 = ...
        NT = ...

    class VFT(__cs__.Enum):
        UNKNOWN = ...
        APP = ...
        DLL = ...
        DRV = ...
        FONT = ...
        VXD = ...
        STATIC_LIBRARY = ...

    class VFT2_DRV(__cs__.Enum):
        UNKNOWN = ...
        PRINTER = ...
        KEYBOARD = ...
        LANGUAGE = ...
        DISPLAY = ...
        MOUSE = ...
        NETWORK = ...
        SYSTEM = ...
        INSTALLABLE = ...
        SOUND = ...
        COMM = ...
        INPUTMETHOD = ...
        VERSIONED_PRINTER = ...

    class VFT2_FONT(__cs__.Enum):
        UNKNOWN = ...
        RASTER = ...
        VECTOR = ...
        TRUETYPE = ...

    class VK(__cs__.Enum):
        LBUTTON = ...
        RBUTTON = ...
        CANCEL = ...
        MBUTTON = ...
        XBUTTON1 = ...
        XBUTTON2 = ...
        BACK = ...
        TAB = ...
        CLEAR = ...
        RETURN = ...
        SHIFT = ...
        CONTROL = ...
        MENU = ...
        PAUSE = ...
        CAPITAL = ...
        KANA = ...
        HANGEUL = ...
        HANGUL = ...
        IME_ON = ...
        JUNJA = ...
        FINAL = ...
        HANJA = ...
        KANJI = ...
        IME_OFF = ...
        ESCAPE = ...
        CONVERT = ...
        NONCONVERT = ...
        ACCEPT = ...
        MODECHANGE = ...
        SPACE = ...
        PRIOR = ...
        NEXT = ...
        END = ...
        HOME = ...
        LEFT = ...
        UP = ...
        RIGHT = ...
        DOWN = ...
        SELECT = ...
        PRINT = ...
        EXECUTE = ...
        SNAPSHOT = ...
        INSERT = ...
        DELETE = ...
        HELP = ...
        "0 = ..."
        "1 = ..."
        "2 = ..."
        "3 = ..."
        "4 = ..."
        "5 = ..."
        "6 = ..."
        "7 = ..."
        "8 = ..."
        "9 = ..."
        A = ...
        B = ...
        C = ...
        D = ...
        E = ...
        F = ...
        G = ...
        H = ...
        I = ...
        J = ...
        K = ...
        L = ...
        M = ...
        N = ...
        O = ...
        P = ...
        Q = ...
        R = ...
        S = ...
        T = ...
        U = ...
        V = ...
        W = ...
        X = ...
        Y = ...
        Z = ...
        LWIN = ...
        RWIN = ...
        APPS = ...
        SLEEP = ...
        NUMPAD0 = ...
        NUMPAD1 = ...
        NUMPAD2 = ...
        NUMPAD3 = ...
        NUMPAD4 = ...
        NUMPAD5 = ...
        NUMPAD6 = ...
        NUMPAD7 = ...
        NUMPAD8 = ...
        NUMPAD9 = ...
        MULTIPLY = ...
        ADD = ...
        SEPARATOR = ...
        SUBTRACT = ...
        DECIMAL = ...
        DIVIDE = ...
        F1 = ...
        F2 = ...
        F3 = ...
        F4 = ...
        F5 = ...
        F6 = ...
        F7 = ...
        F8 = ...
        F9 = ...
        F10 = ...
        F11 = ...
        F12 = ...
        F13 = ...
        F14 = ...
        F15 = ...
        F16 = ...
        F17 = ...
        F18 = ...
        F19 = ...
        F20 = ...
        F21 = ...
        F22 = ...
        F23 = ...
        F24 = ...
        NAVIGATION_VIEW = ...
        NAVIGATION_MENU = ...
        NAVIGATION_UP = ...
        NAVIGATION_DOWN = ...
        NAVIGATION_LEFT = ...
        NAVIGATION_RIGHT = ...
        NAVIGATION_ACCEPT = ...
        NAVIGATION_CANCEL = ...
        NUMLOCK = ...
        SCROLL = ...
        OEM_NEC_EQUAL = ...
        OEM_FJ_JISHO = ...
        OEM_FJ_MASSHOU = ...
        OEM_FJ_TOUROKU = ...
        OEM_FJ_LOYA = ...
        OEM_FJ_ROYA = ...
        LSHIFT = ...
        RSHIFT = ...
        LCONTROL = ...
        RCONTROL = ...
        LMENU = ...
        RMENU = ...
        BROWSER_BACK = ...
        BROWSER_FORWARD = ...
        BROWSER_REFRESH = ...
        BROWSER_STOP = ...
        BROWSER_SEARCH = ...
        BROWSER_FAVORITES = ...
        BROWSER_HOME = ...
        VOLUME_MUTE = ...
        VOLUME_DOWN = ...
        VOLUME_UP = ...
        MEDIA_NEXT_TRACK = ...
        MEDIA_PREV_TRACK = ...
        MEDIA_STOP = ...
        MEDIA_PLAY_PAUSE = ...
        LAUNCH_MAIL = ...
        LAUNCH_MEDIA_SELECT = ...
        LAUNCH_APP1 = ...
        LAUNCH_APP2 = ...
        OEM_1 = ...
        OEM_PLUS = ...
        OEM_COMMA = ...
        OEM_MINUS = ...
        OEM_PERIOD = ...
        OEM_2 = ...
        OEM_3 = ...
        GAMEPAD_A = ...
        GAMEPAD_B = ...
        GAMEPAD_X = ...
        GAMEPAD_Y = ...
        GAMEPAD_RIGHT_SHOULDER = ...
        GAMEPAD_LEFT_SHOULDER = ...
        GAMEPAD_LEFT_TRIGGER = ...
        GAMEPAD_RIGHT_TRIGGER = ...
        GAMEPAD_DPAD_UP = ...
        GAMEPAD_DPAD_DOWN = ...
        GAMEPAD_DPAD_LEFT = ...
        GAMEPAD_DPAD_RIGHT = ...
        GAMEPAD_MENU = ...
        GAMEPAD_VIEW = ...
        GAMEPAD_LEFT_THUMBSTICK_BUTTON = ...
        GAMEPAD_RIGHT_THUMBSTICK_BUTTON = ...
        GAMEPAD_LEFT_THUMBSTICK_UP = ...
        GAMEPAD_LEFT_THUMBSTICK_DOWN = ...
        GAMEPAD_LEFT_THUMBSTICK_RIGHT = ...
        GAMEPAD_LEFT_THUMBSTICK_LEFT = ...
        GAMEPAD_RIGHT_THUMBSTICK_UP = ...
        GAMEPAD_RIGHT_THUMBSTICK_DOWN = ...
        GAMEPAD_RIGHT_THUMBSTICK_RIGHT = ...
        GAMEPAD_RIGHT_THUMBSTICK_LEFT = ...
        OEM_4 = ...
        OEM_5 = ...
        OEM_6 = ...
        OEM_7 = ...
        OEM_8 = ...
        OEM_AX = ...
        OEM_102 = ...
        ICO_HELP = ...
        ICO_00 = ...
        PROCESSKEY = ...
        ICO_CLEAR = ...
        PACKET = ...
        OEM_RESET = ...
        OEM_JUMP = ...
        OEM_PA1 = ...
        OEM_PA2 = ...
        OEM_PA3 = ...
        OEM_WSCTRL = ...
        OEM_CUSEL = ...
        OEM_ATTN = ...
        OEM_FINISH = ...
        OEM_COPY = ...
        OEM_AUTO = ...
        OEM_ENLW = ...
        OEM_BACKTAB = ...
        ATTN = ...
        CRSEL = ...
        EXSEL = ...
        EREOF = ...
        PLAY = ...
        ZOOM = ...
        NONAME = ...
        PA1 = ...
        OEM_CLEAR = ...

    class ACCEL_F(__cs__.Flag):
        VIRTKEY = ...
        LASTKEY = ...
        NOINVERT = ...
        SHIFT = ...
        CONTROL = ...
        ALT = ...

    class _IMAGE_LOAD_CONFIG_CODE_INTEGRITY(__cs__.Structure):
        Flags: _c_pe.uint16
        Catalog: _c_pe.uint16
        CatalogOffset: _c_pe.uint32
        Reserved: _c_pe.uint32
        @overload
        def __init__(
            self,
            Flags: _c_pe.uint16 | None = ...,
            Catalog: _c_pe.uint16 | None = ...,
            CatalogOffset: _c_pe.uint32 | None = ...,
            Reserved: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_LOAD_CONFIG_CODE_INTEGRITY: TypeAlias = _IMAGE_LOAD_CONFIG_CODE_INTEGRITY
    PIMAGE_LOAD_CONFIG_CODE_INTEGRITY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_LOAD_CONFIG_CODE_INTEGRITY]
    class _IMAGE_DYNAMIC_RELOCATION_TABLE(__cs__.Structure):
        Version: _c_pe.uint32
        Size: _c_pe.uint32
        @overload
        def __init__(self, Version: _c_pe.uint32 | None = ..., Size: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DYNAMIC_RELOCATION_TABLE: TypeAlias = _IMAGE_DYNAMIC_RELOCATION_TABLE
    PIMAGE_DYNAMIC_RELOCATION_TABLE: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DYNAMIC_RELOCATION_TABLE]
    class _IMAGE_DYNAMIC_RELOCATION32(__cs__.Structure):
        Symbol: _c_pe.uint32
        BaseRelocSize: _c_pe.uint32
        @overload
        def __init__(self, Symbol: _c_pe.uint32 | None = ..., BaseRelocSize: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DYNAMIC_RELOCATION32: TypeAlias = _IMAGE_DYNAMIC_RELOCATION32
    PIMAGE_DYNAMIC_RELOCATION32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DYNAMIC_RELOCATION32]
    class _IMAGE_DYNAMIC_RELOCATION64(__cs__.Structure):
        Symbol: _c_pe.uint64
        BaseRelocSize: _c_pe.uint32
        @overload
        def __init__(self, Symbol: _c_pe.uint64 | None = ..., BaseRelocSize: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DYNAMIC_RELOCATION64: TypeAlias = _IMAGE_DYNAMIC_RELOCATION64
    PIMAGE_DYNAMIC_RELOCATION64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DYNAMIC_RELOCATION64]
    class _IMAGE_DYNAMIC_RELOCATION32_V2(__cs__.Structure):
        HeaderSize: _c_pe.uint32
        FixupInfoSize: _c_pe.uint32
        Symbol: _c_pe.uint32
        SymbolGroup: _c_pe.uint32
        Flags: _c_pe.uint32
        @overload
        def __init__(
            self,
            HeaderSize: _c_pe.uint32 | None = ...,
            FixupInfoSize: _c_pe.uint32 | None = ...,
            Symbol: _c_pe.uint32 | None = ...,
            SymbolGroup: _c_pe.uint32 | None = ...,
            Flags: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DYNAMIC_RELOCATION32_V2: TypeAlias = _IMAGE_DYNAMIC_RELOCATION32_V2
    PIMAGE_DYNAMIC_RELOCATION32_V2: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DYNAMIC_RELOCATION32_V2]
    class _IMAGE_DYNAMIC_RELOCATION64_V2(__cs__.Structure):
        HeaderSize: _c_pe.uint32
        FixupInfoSize: _c_pe.uint32
        Symbol: _c_pe.uint64
        SymbolGroup: _c_pe.uint32
        Flags: _c_pe.uint32
        @overload
        def __init__(
            self,
            HeaderSize: _c_pe.uint32 | None = ...,
            FixupInfoSize: _c_pe.uint32 | None = ...,
            Symbol: _c_pe.uint64 | None = ...,
            SymbolGroup: _c_pe.uint32 | None = ...,
            Flags: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DYNAMIC_RELOCATION64_V2: TypeAlias = _IMAGE_DYNAMIC_RELOCATION64_V2
    PIMAGE_DYNAMIC_RELOCATION64_V2: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DYNAMIC_RELOCATION64_V2]
    class _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER(__cs__.Structure):
        PrologueByteCount: _c_pe.uint8
        @overload
        def __init__(self, PrologueByteCount: _c_pe.uint8 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER: TypeAlias = _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER
    PIMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER
    ]
    class _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER(__cs__.Structure):
        EpilogueCount: _c_pe.uint32
        EpilogueByteCount: _c_pe.uint8
        BranchDescriptorElementSize: _c_pe.uint8
        BranchDescriptorCount: _c_pe.uint16
        @overload
        def __init__(
            self,
            EpilogueCount: _c_pe.uint32 | None = ...,
            EpilogueByteCount: _c_pe.uint8 | None = ...,
            BranchDescriptorElementSize: _c_pe.uint8 | None = ...,
            BranchDescriptorCount: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER: TypeAlias = _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER
    PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER
    ]
    class _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION(__cs__.Structure):
        PageRelativeOffset: _c_pe.uint32
        IndirectCall: _c_pe.uint32
        IATIndex: _c_pe.uint32
        @overload
        def __init__(
            self,
            PageRelativeOffset: _c_pe.uint32 | None = ...,
            IndirectCall: _c_pe.uint32 | None = ...,
            IATIndex: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION: TypeAlias = _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION
    PIMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION
    ]
    class _IMAGE_IMPORT_CONTROL_TRANSFER_ARM64_RELOCATION(__cs__.Structure):
        PageRelativeOffset: _c_pe.uint32
        IndirectCall: _c_pe.uint32
        RegisterIndex: _c_pe.uint32
        ImportType: _c_pe.uint32
        IATIndex: _c_pe.uint32
        @overload
        def __init__(
            self,
            PageRelativeOffset: _c_pe.uint32 | None = ...,
            IndirectCall: _c_pe.uint32 | None = ...,
            RegisterIndex: _c_pe.uint32 | None = ...,
            ImportType: _c_pe.uint32 | None = ...,
            IATIndex: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_IMPORT_CONTROL_TRANSFER_ARM64_RELOCATION: TypeAlias = _IMAGE_IMPORT_CONTROL_TRANSFER_ARM64_RELOCATION
    PIMAGE_IMPORT_CONTROL_TRANSFER_ARM64_RELOCATION: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_IMPORT_CONTROL_TRANSFER_ARM64_RELOCATION
    ]
    class _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION(__cs__.Structure):
        PageRelativeOffset: _c_pe.uint16
        IndirectCall: _c_pe.uint16
        RexWPrefix: _c_pe.uint16
        CfgCheck: _c_pe.uint16
        Reserved: _c_pe.uint16
        @overload
        def __init__(
            self,
            PageRelativeOffset: _c_pe.uint16 | None = ...,
            IndirectCall: _c_pe.uint16 | None = ...,
            RexWPrefix: _c_pe.uint16 | None = ...,
            CfgCheck: _c_pe.uint16 | None = ...,
            Reserved: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION: TypeAlias = _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION
    PIMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION
    ]
    class _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION(__cs__.Structure):
        PageRelativeOffset: _c_pe.uint16
        RegisterNumber: _c_pe.uint16
        @overload
        def __init__(
            self, PageRelativeOffset: _c_pe.uint16 | None = ..., RegisterNumber: _c_pe.uint16 | None = ...
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION: TypeAlias = _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION
    PIMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION
    ]
    class _IMAGE_FUNCTION_OVERRIDE_HEADER(__cs__.Structure):
        FuncOverrideSize: _c_pe.uint32
        @overload
        def __init__(self, FuncOverrideSize: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_FUNCTION_OVERRIDE_HEADER: TypeAlias = _IMAGE_FUNCTION_OVERRIDE_HEADER
    PIMAGE_FUNCTION_OVERRIDE_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_FUNCTION_OVERRIDE_HEADER]
    class _IMAGE_FUNCTION_OVERRIDE_DYNAMIC_RELOCATION(__cs__.Structure):
        OriginalRva: _c_pe.uint32
        BDDOffset: _c_pe.uint32
        RvaSize: _c_pe.uint32
        BaseRelocSize: _c_pe.uint32
        @overload
        def __init__(
            self,
            OriginalRva: _c_pe.uint32 | None = ...,
            BDDOffset: _c_pe.uint32 | None = ...,
            RvaSize: _c_pe.uint32 | None = ...,
            BaseRelocSize: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_FUNCTION_OVERRIDE_DYNAMIC_RELOCATION: TypeAlias = _IMAGE_FUNCTION_OVERRIDE_DYNAMIC_RELOCATION
    PIMAGE_FUNCTION_OVERRIDE_DYNAMIC_RELOCATION: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_FUNCTION_OVERRIDE_DYNAMIC_RELOCATION
    ]
    class _IMAGE_BDD_INFO(__cs__.Structure):
        Version: _c_pe.uint32
        BDDSize: _c_pe.uint32
        @overload
        def __init__(self, Version: _c_pe.uint32 | None = ..., BDDSize: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_BDD_INFO: TypeAlias = _IMAGE_BDD_INFO
    PIMAGE_BDD_INFO: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_BDD_INFO]
    class _IMAGE_BDD_DYNAMIC_RELOCATION(__cs__.Structure):
        Left: _c_pe.uint16
        Right: _c_pe.uint16
        Value: _c_pe.uint32
        @overload
        def __init__(
            self, Left: _c_pe.uint16 | None = ..., Right: _c_pe.uint16 | None = ..., Value: _c_pe.uint32 | None = ...
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_BDD_DYNAMIC_RELOCATION: TypeAlias = _IMAGE_BDD_DYNAMIC_RELOCATION
    PIMAGE_BDD_DYNAMIC_RELOCATION: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_BDD_DYNAMIC_RELOCATION]
    class IMAGE_GUARD(__cs__.Flag):
        CF_INSTRUMENTED = ...
        CFW_INSTRUMENTED = ...
        CF_FUNCTION_TABLE_PRESENT = ...
        SECURITY_COOKIE_UNUSED = ...
        PROTECT_DELAYLOAD_IAT = ...
        DELAYLOAD_IAT_IN_ITS_OWN_SECTION = ...
        CF_EXPORT_SUPPRESSION_INFO_PRESENT = ...
        CF_ENABLE_EXPORT_SUPPRESSION = ...
        CF_LONGJUMP_TABLE_PRESENT = ...
        RF_INSTRUMENTED = ...
        RF_ENABLE = ...
        RF_STRICT = ...
        RETPOLINE_PRESENT = ...
        EH_CONTINUATION_TABLE_PRESENT = ...
        XFG_ENABLED = ...
        CASTGUARD_PRESENT = ...
        MEMCPY_PRESENT = ...

    class _IMAGE_LOAD_CONFIG_DIRECTORY32(__cs__.Structure):
        Size: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        MajorVersion: _c_pe.uint16
        MinorVersion: _c_pe.uint16
        GlobalFlagsClear: _c_pe.uint32
        GlobalFlagsSet: _c_pe.uint32
        CriticalSectionDefaultTimeout: _c_pe.uint32
        DeCommitFreeBlockThreshold: _c_pe.uint32
        DeCommitTotalFreeThreshold: _c_pe.uint32
        LockPrefixTable: _c_pe.uint32
        MaximumAllocationSize: _c_pe.uint32
        VirtualMemoryThreshold: _c_pe.uint32
        ProcessHeapFlags: _c_pe.uint32
        ProcessAffinityMask: _c_pe.uint32
        CSDVersion: _c_pe.uint16
        DependentLoadFlags: _c_pe.uint16
        EditList: _c_pe.uint32
        SecurityCookie: _c_pe.uint32
        SEHandlerTable: _c_pe.uint32
        SEHandlerCount: _c_pe.uint32
        GuardCFCheckFunctionPointer: _c_pe.uint32
        GuardCFDispatchFunctionPointer: _c_pe.uint32
        GuardCFFunctionTable: _c_pe.uint32
        GuardCFFunctionCount: _c_pe.uint32
        GuardFlags: _c_pe.IMAGE_GUARD
        CodeIntegrity: _c_pe._IMAGE_LOAD_CONFIG_CODE_INTEGRITY
        GuardAddressTakenIatEntryTable: _c_pe.uint32
        GuardAddressTakenIatEntryCount: _c_pe.uint32
        GuardLongJumpTargetTable: _c_pe.uint32
        GuardLongJumpTargetCount: _c_pe.uint32
        DynamicValueRelocTable: _c_pe.uint32
        CHPEMetadataPointer: _c_pe.uint32
        GuardRFFailureRoutine: _c_pe.uint32
        GuardRFFailureRoutineFunctionPointer: _c_pe.uint32
        DynamicValueRelocTableOffset: _c_pe.uint32
        DynamicValueRelocTableSection: _c_pe.uint16
        Reserved2: _c_pe.uint16
        GuardRFVerifyStackPointerFunctionPointer: _c_pe.uint32
        HotPatchTableOffset: _c_pe.uint32
        Reserved3: _c_pe.uint32
        EnclaveConfigurationPointer: _c_pe.uint32
        VolatileMetadataPointer: _c_pe.uint32
        GuardEHContinuationTable: _c_pe.uint32
        GuardEHContinuationCount: _c_pe.uint32
        GuardXFGCheckFunctionPointer: _c_pe.uint32
        GuardXFGDispatchFunctionPointer: _c_pe.uint32
        GuardXFGTableDispatchFunctionPointer: _c_pe.uint32
        CastGuardOsDeterminedFailureMode: _c_pe.uint32
        GuardMemcpyFunctionPointer: _c_pe.uint32
        UmaFunctionPointers: _c_pe.uint32
        @overload
        def __init__(
            self,
            Size: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            MajorVersion: _c_pe.uint16 | None = ...,
            MinorVersion: _c_pe.uint16 | None = ...,
            GlobalFlagsClear: _c_pe.uint32 | None = ...,
            GlobalFlagsSet: _c_pe.uint32 | None = ...,
            CriticalSectionDefaultTimeout: _c_pe.uint32 | None = ...,
            DeCommitFreeBlockThreshold: _c_pe.uint32 | None = ...,
            DeCommitTotalFreeThreshold: _c_pe.uint32 | None = ...,
            LockPrefixTable: _c_pe.uint32 | None = ...,
            MaximumAllocationSize: _c_pe.uint32 | None = ...,
            VirtualMemoryThreshold: _c_pe.uint32 | None = ...,
            ProcessHeapFlags: _c_pe.uint32 | None = ...,
            ProcessAffinityMask: _c_pe.uint32 | None = ...,
            CSDVersion: _c_pe.uint16 | None = ...,
            DependentLoadFlags: _c_pe.uint16 | None = ...,
            EditList: _c_pe.uint32 | None = ...,
            SecurityCookie: _c_pe.uint32 | None = ...,
            SEHandlerTable: _c_pe.uint32 | None = ...,
            SEHandlerCount: _c_pe.uint32 | None = ...,
            GuardCFCheckFunctionPointer: _c_pe.uint32 | None = ...,
            GuardCFDispatchFunctionPointer: _c_pe.uint32 | None = ...,
            GuardCFFunctionTable: _c_pe.uint32 | None = ...,
            GuardCFFunctionCount: _c_pe.uint32 | None = ...,
            GuardFlags: _c_pe.IMAGE_GUARD | None = ...,
            CodeIntegrity: _c_pe._IMAGE_LOAD_CONFIG_CODE_INTEGRITY | None = ...,
            GuardAddressTakenIatEntryTable: _c_pe.uint32 | None = ...,
            GuardAddressTakenIatEntryCount: _c_pe.uint32 | None = ...,
            GuardLongJumpTargetTable: _c_pe.uint32 | None = ...,
            GuardLongJumpTargetCount: _c_pe.uint32 | None = ...,
            DynamicValueRelocTable: _c_pe.uint32 | None = ...,
            CHPEMetadataPointer: _c_pe.uint32 | None = ...,
            GuardRFFailureRoutine: _c_pe.uint32 | None = ...,
            GuardRFFailureRoutineFunctionPointer: _c_pe.uint32 | None = ...,
            DynamicValueRelocTableOffset: _c_pe.uint32 | None = ...,
            DynamicValueRelocTableSection: _c_pe.uint16 | None = ...,
            Reserved2: _c_pe.uint16 | None = ...,
            GuardRFVerifyStackPointerFunctionPointer: _c_pe.uint32 | None = ...,
            HotPatchTableOffset: _c_pe.uint32 | None = ...,
            Reserved3: _c_pe.uint32 | None = ...,
            EnclaveConfigurationPointer: _c_pe.uint32 | None = ...,
            VolatileMetadataPointer: _c_pe.uint32 | None = ...,
            GuardEHContinuationTable: _c_pe.uint32 | None = ...,
            GuardEHContinuationCount: _c_pe.uint32 | None = ...,
            GuardXFGCheckFunctionPointer: _c_pe.uint32 | None = ...,
            GuardXFGDispatchFunctionPointer: _c_pe.uint32 | None = ...,
            GuardXFGTableDispatchFunctionPointer: _c_pe.uint32 | None = ...,
            CastGuardOsDeterminedFailureMode: _c_pe.uint32 | None = ...,
            GuardMemcpyFunctionPointer: _c_pe.uint32 | None = ...,
            UmaFunctionPointers: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_LOAD_CONFIG_DIRECTORY32: TypeAlias = _IMAGE_LOAD_CONFIG_DIRECTORY32
    PIMAGE_LOAD_CONFIG_DIRECTORY32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_LOAD_CONFIG_DIRECTORY32]
    class _IMAGE_LOAD_CONFIG_DIRECTORY64(__cs__.Structure):
        Size: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        MajorVersion: _c_pe.uint16
        MinorVersion: _c_pe.uint16
        GlobalFlagsClear: _c_pe.uint32
        GlobalFlagsSet: _c_pe.uint32
        CriticalSectionDefaultTimeout: _c_pe.uint32
        DeCommitFreeBlockThreshold: _c_pe.uint64
        DeCommitTotalFreeThreshold: _c_pe.uint64
        LockPrefixTable: _c_pe.uint64
        MaximumAllocationSize: _c_pe.uint64
        VirtualMemoryThreshold: _c_pe.uint64
        ProcessAffinityMask: _c_pe.uint64
        ProcessHeapFlags: _c_pe.uint32
        CSDVersion: _c_pe.uint16
        DependentLoadFlags: _c_pe.uint16
        EditList: _c_pe.uint64
        SecurityCookie: _c_pe.uint64
        SEHandlerTable: _c_pe.uint64
        SEHandlerCount: _c_pe.uint64
        GuardCFCheckFunctionPointer: _c_pe.uint64
        GuardCFDispatchFunctionPointer: _c_pe.uint64
        GuardCFFunctionTable: _c_pe.uint64
        GuardCFFunctionCount: _c_pe.uint64
        GuardFlags: _c_pe.IMAGE_GUARD
        CodeIntegrity: _c_pe._IMAGE_LOAD_CONFIG_CODE_INTEGRITY
        GuardAddressTakenIatEntryTable: _c_pe.uint64
        GuardAddressTakenIatEntryCount: _c_pe.uint64
        GuardLongJumpTargetTable: _c_pe.uint64
        GuardLongJumpTargetCount: _c_pe.uint64
        DynamicValueRelocTable: _c_pe.uint64
        CHPEMetadataPointer: _c_pe.uint64
        GuardRFFailureRoutine: _c_pe.uint64
        GuardRFFailureRoutineFunctionPointer: _c_pe.uint64
        DynamicValueRelocTableOffset: _c_pe.uint32
        DynamicValueRelocTableSection: _c_pe.uint16
        Reserved2: _c_pe.uint16
        GuardRFVerifyStackPointerFunctionPointer: _c_pe.uint64
        HotPatchTableOffset: _c_pe.uint32
        Reserved3: _c_pe.uint32
        EnclaveConfigurationPointer: _c_pe.uint64
        VolatileMetadataPointer: _c_pe.uint64
        GuardEHContinuationTable: _c_pe.uint64
        GuardEHContinuationCount: _c_pe.uint64
        GuardXFGCheckFunctionPointer: _c_pe.uint64
        GuardXFGDispatchFunctionPointer: _c_pe.uint64
        GuardXFGTableDispatchFunctionPointer: _c_pe.uint64
        CastGuardOsDeterminedFailureMode: _c_pe.uint64
        GuardMemcpyFunctionPointer: _c_pe.uint64
        UmaFunctionPointers: _c_pe.uint64
        @overload
        def __init__(
            self,
            Size: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            MajorVersion: _c_pe.uint16 | None = ...,
            MinorVersion: _c_pe.uint16 | None = ...,
            GlobalFlagsClear: _c_pe.uint32 | None = ...,
            GlobalFlagsSet: _c_pe.uint32 | None = ...,
            CriticalSectionDefaultTimeout: _c_pe.uint32 | None = ...,
            DeCommitFreeBlockThreshold: _c_pe.uint64 | None = ...,
            DeCommitTotalFreeThreshold: _c_pe.uint64 | None = ...,
            LockPrefixTable: _c_pe.uint64 | None = ...,
            MaximumAllocationSize: _c_pe.uint64 | None = ...,
            VirtualMemoryThreshold: _c_pe.uint64 | None = ...,
            ProcessAffinityMask: _c_pe.uint64 | None = ...,
            ProcessHeapFlags: _c_pe.uint32 | None = ...,
            CSDVersion: _c_pe.uint16 | None = ...,
            DependentLoadFlags: _c_pe.uint16 | None = ...,
            EditList: _c_pe.uint64 | None = ...,
            SecurityCookie: _c_pe.uint64 | None = ...,
            SEHandlerTable: _c_pe.uint64 | None = ...,
            SEHandlerCount: _c_pe.uint64 | None = ...,
            GuardCFCheckFunctionPointer: _c_pe.uint64 | None = ...,
            GuardCFDispatchFunctionPointer: _c_pe.uint64 | None = ...,
            GuardCFFunctionTable: _c_pe.uint64 | None = ...,
            GuardCFFunctionCount: _c_pe.uint64 | None = ...,
            GuardFlags: _c_pe.IMAGE_GUARD | None = ...,
            CodeIntegrity: _c_pe._IMAGE_LOAD_CONFIG_CODE_INTEGRITY | None = ...,
            GuardAddressTakenIatEntryTable: _c_pe.uint64 | None = ...,
            GuardAddressTakenIatEntryCount: _c_pe.uint64 | None = ...,
            GuardLongJumpTargetTable: _c_pe.uint64 | None = ...,
            GuardLongJumpTargetCount: _c_pe.uint64 | None = ...,
            DynamicValueRelocTable: _c_pe.uint64 | None = ...,
            CHPEMetadataPointer: _c_pe.uint64 | None = ...,
            GuardRFFailureRoutine: _c_pe.uint64 | None = ...,
            GuardRFFailureRoutineFunctionPointer: _c_pe.uint64 | None = ...,
            DynamicValueRelocTableOffset: _c_pe.uint32 | None = ...,
            DynamicValueRelocTableSection: _c_pe.uint16 | None = ...,
            Reserved2: _c_pe.uint16 | None = ...,
            GuardRFVerifyStackPointerFunctionPointer: _c_pe.uint64 | None = ...,
            HotPatchTableOffset: _c_pe.uint32 | None = ...,
            Reserved3: _c_pe.uint32 | None = ...,
            EnclaveConfigurationPointer: _c_pe.uint64 | None = ...,
            VolatileMetadataPointer: _c_pe.uint64 | None = ...,
            GuardEHContinuationTable: _c_pe.uint64 | None = ...,
            GuardEHContinuationCount: _c_pe.uint64 | None = ...,
            GuardXFGCheckFunctionPointer: _c_pe.uint64 | None = ...,
            GuardXFGDispatchFunctionPointer: _c_pe.uint64 | None = ...,
            GuardXFGTableDispatchFunctionPointer: _c_pe.uint64 | None = ...,
            CastGuardOsDeterminedFailureMode: _c_pe.uint64 | None = ...,
            GuardMemcpyFunctionPointer: _c_pe.uint64 | None = ...,
            UmaFunctionPointers: _c_pe.uint64 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_LOAD_CONFIG_DIRECTORY64: TypeAlias = _IMAGE_LOAD_CONFIG_DIRECTORY64
    PIMAGE_LOAD_CONFIG_DIRECTORY64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_LOAD_CONFIG_DIRECTORY64]
    class _IMAGE_CHPE_METADATA_X86(__cs__.Structure):
        Version: _c_pe.uint32
        CHPECodeAddressRangeOffset: _c_pe.uint32
        CHPECodeAddressRangeCount: _c_pe.uint32
        WowA64ExceptionHandlerFunctionPointer: _c_pe.uint32
        WowA64DispatchCallFunctionPointer: _c_pe.uint32
        WowA64DispatchIndirectCallFunctionPointer: _c_pe.uint32
        WowA64DispatchIndirectCallCfgFunctionPointer: _c_pe.uint32
        WowA64DispatchRetFunctionPointer: _c_pe.uint32
        WowA64DispatchRetLeafFunctionPointer: _c_pe.uint32
        WowA64DispatchJumpFunctionPointer: _c_pe.uint32
        CompilerIATPointer: _c_pe.uint32
        WowA64RdtscFunctionPointer: _c_pe.uint32
        @overload
        def __init__(
            self,
            Version: _c_pe.uint32 | None = ...,
            CHPECodeAddressRangeOffset: _c_pe.uint32 | None = ...,
            CHPECodeAddressRangeCount: _c_pe.uint32 | None = ...,
            WowA64ExceptionHandlerFunctionPointer: _c_pe.uint32 | None = ...,
            WowA64DispatchCallFunctionPointer: _c_pe.uint32 | None = ...,
            WowA64DispatchIndirectCallFunctionPointer: _c_pe.uint32 | None = ...,
            WowA64DispatchIndirectCallCfgFunctionPointer: _c_pe.uint32 | None = ...,
            WowA64DispatchRetFunctionPointer: _c_pe.uint32 | None = ...,
            WowA64DispatchRetLeafFunctionPointer: _c_pe.uint32 | None = ...,
            WowA64DispatchJumpFunctionPointer: _c_pe.uint32 | None = ...,
            CompilerIATPointer: _c_pe.uint32 | None = ...,
            WowA64RdtscFunctionPointer: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_CHPE_METADATA_X86: TypeAlias = _IMAGE_CHPE_METADATA_X86
    PIMAGE_CHPE_METADATA_X86: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_CHPE_METADATA_X86]
    class _IMAGE_CHPE_RANGE_ENTRY(__cs__.Structure):
        StartOffset: _c_pe.uint32
        NativeCode: _c_pe.uint32
        AddressBits: _c_pe.uint32
        Length: _c_pe.uint32
        @overload
        def __init__(
            self,
            StartOffset: _c_pe.uint32 | None = ...,
            NativeCode: _c_pe.uint32 | None = ...,
            AddressBits: _c_pe.uint32 | None = ...,
            Length: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_CHPE_RANGE_ENTRY: TypeAlias = _IMAGE_CHPE_RANGE_ENTRY
    PIMAGE_CHPE_RANGE_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_CHPE_RANGE_ENTRY]
    class _IMAGE_ARM64EC_METADATA(__cs__.Structure):
        Version: _c_pe.uint32
        CodeMap: _c_pe.uint32
        CodeMapCount: _c_pe.uint32
        CodeRangesToEntryPoints: _c_pe.uint32
        RedirectionMetadata: _c_pe.uint32
        tbd__os_arm64x_dispatch_call_no_redirect: _c_pe.uint32
        tbd__os_arm64x_dispatch_ret: _c_pe.uint32
        tbd__os_arm64x_dispatch_call: _c_pe.uint32
        tbd__os_arm64x_dispatch_icall: _c_pe.uint32
        tbd__os_arm64x_dispatch_icall_cfg: _c_pe.uint32
        AlternateEntryPoint: _c_pe.uint32
        AuxiliaryIAT: _c_pe.uint32
        CodeRangesToEntryPointsCount: _c_pe.uint32
        RedirectionMetadataCount: _c_pe.uint32
        GetX64InformationFunctionPointer: _c_pe.uint32
        SetX64InformationFunctionPointer: _c_pe.uint32
        ExtraRFETable: _c_pe.uint32
        ExtraRFETableSize: _c_pe.uint32
        __os_arm64x_dispatch_fptr: _c_pe.uint32
        AuxiliaryIATCopy: _c_pe.uint32
        @overload
        def __init__(
            self,
            Version: _c_pe.uint32 | None = ...,
            CodeMap: _c_pe.uint32 | None = ...,
            CodeMapCount: _c_pe.uint32 | None = ...,
            CodeRangesToEntryPoints: _c_pe.uint32 | None = ...,
            RedirectionMetadata: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_call_no_redirect: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_ret: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_call: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_icall: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_icall_cfg: _c_pe.uint32 | None = ...,
            AlternateEntryPoint: _c_pe.uint32 | None = ...,
            AuxiliaryIAT: _c_pe.uint32 | None = ...,
            CodeRangesToEntryPointsCount: _c_pe.uint32 | None = ...,
            RedirectionMetadataCount: _c_pe.uint32 | None = ...,
            GetX64InformationFunctionPointer: _c_pe.uint32 | None = ...,
            SetX64InformationFunctionPointer: _c_pe.uint32 | None = ...,
            ExtraRFETable: _c_pe.uint32 | None = ...,
            ExtraRFETableSize: _c_pe.uint32 | None = ...,
            __os_arm64x_dispatch_fptr: _c_pe.uint32 | None = ...,
            AuxiliaryIATCopy: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM64EC_METADATA: TypeAlias = _IMAGE_ARM64EC_METADATA
    PIMAGE_ARM64EC_METADATA: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARM64EC_METADATA]
    class _IMAGE_ARM64EC_METADATA_V2(__cs__.Structure):
        Version: _c_pe.uint32
        CodeMap: _c_pe.uint32
        CodeMapCount: _c_pe.uint32
        CodeRangesToEntryPoints: _c_pe.uint32
        RedirectionMetadata: _c_pe.uint32
        tbd__os_arm64x_dispatch_call_no_redirect: _c_pe.uint32
        tbd__os_arm64x_dispatch_ret: _c_pe.uint32
        tbd__os_arm64x_dispatch_call: _c_pe.uint32
        tbd__os_arm64x_dispatch_icall: _c_pe.uint32
        tbd__os_arm64x_dispatch_icall_cfg: _c_pe.uint32
        AlternateEntryPoint: _c_pe.uint32
        AuxiliaryIAT: _c_pe.uint32
        CodeRangesToEntryPointsCount: _c_pe.uint32
        RedirectionMetadataCount: _c_pe.uint32
        GetX64InformationFunctionPointer: _c_pe.uint32
        SetX64InformationFunctionPointer: _c_pe.uint32
        ExtraRFETable: _c_pe.uint32
        ExtraRFETableSize: _c_pe.uint32
        __os_arm64x_dispatch_fptr: _c_pe.uint32
        AuxiliaryIATCopy: _c_pe.uint32
        AuxDelayloadIAT: _c_pe.uint32
        AuxDelayloadIATCopy: _c_pe.uint32
        ReservedBitField: _c_pe.uint32
        @overload
        def __init__(
            self,
            Version: _c_pe.uint32 | None = ...,
            CodeMap: _c_pe.uint32 | None = ...,
            CodeMapCount: _c_pe.uint32 | None = ...,
            CodeRangesToEntryPoints: _c_pe.uint32 | None = ...,
            RedirectionMetadata: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_call_no_redirect: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_ret: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_call: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_icall: _c_pe.uint32 | None = ...,
            tbd__os_arm64x_dispatch_icall_cfg: _c_pe.uint32 | None = ...,
            AlternateEntryPoint: _c_pe.uint32 | None = ...,
            AuxiliaryIAT: _c_pe.uint32 | None = ...,
            CodeRangesToEntryPointsCount: _c_pe.uint32 | None = ...,
            RedirectionMetadataCount: _c_pe.uint32 | None = ...,
            GetX64InformationFunctionPointer: _c_pe.uint32 | None = ...,
            SetX64InformationFunctionPointer: _c_pe.uint32 | None = ...,
            ExtraRFETable: _c_pe.uint32 | None = ...,
            ExtraRFETableSize: _c_pe.uint32 | None = ...,
            __os_arm64x_dispatch_fptr: _c_pe.uint32 | None = ...,
            AuxiliaryIATCopy: _c_pe.uint32 | None = ...,
            AuxDelayloadIAT: _c_pe.uint32 | None = ...,
            AuxDelayloadIATCopy: _c_pe.uint32 | None = ...,
            ReservedBitField: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM64EC_METADATA_V2: TypeAlias = _IMAGE_ARM64EC_METADATA_V2
    PIMAGE_ARM64EC_METADATA_V2: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARM64EC_METADATA_V2]
    class _IMAGE_ARM64EC_REDIRECTION_ENTRY(__cs__.Structure):
        Source: _c_pe.uint32
        Destination: _c_pe.uint32
        @overload
        def __init__(self, Source: _c_pe.uint32 | None = ..., Destination: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM64EC_REDIRECTION_ENTRY: TypeAlias = _IMAGE_ARM64EC_REDIRECTION_ENTRY
    PIMAGE_ARM64EC_REDIRECTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARM64EC_REDIRECTION_ENTRY]
    class _IMAGE_ARM64EC_CODE_RANGE_ENTRY_POINT(__cs__.Structure):
        StartRva: _c_pe.uint32
        EndRva: _c_pe.uint32
        EntryPoint: _c_pe.uint32
        @overload
        def __init__(
            self,
            StartRva: _c_pe.uint32 | None = ...,
            EndRva: _c_pe.uint32 | None = ...,
            EntryPoint: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM64EC_CODE_RANGE_ENTRY_POINT: TypeAlias = _IMAGE_ARM64EC_CODE_RANGE_ENTRY_POINT
    PIMAGE_ARM64EC_CODE_RANGE_ENTRY_POINT: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARM64EC_CODE_RANGE_ENTRY_POINT]
    class _IMAGE_DVRT_ARM64X_FIXUP_RECORD(__cs__.Structure):
        Offset: _c_pe.uint16
        Type: _c_pe.uint16
        Size: _c_pe.uint16
        @overload
        def __init__(
            self, Offset: _c_pe.uint16 | None = ..., Type: _c_pe.uint16 | None = ..., Size: _c_pe.uint16 | None = ...
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DVRT_ARM64X_FIXUP_RECORD: TypeAlias = _IMAGE_DVRT_ARM64X_FIXUP_RECORD
    PIMAGE_DVRT_ARM64X_FIXUP_RECORD: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DVRT_ARM64X_FIXUP_RECORD]
    class _IMAGE_DVRT_ARM64X_DELTA_FIXUP_RECORD(__cs__.Structure):
        Offset: _c_pe.uint16
        Type: _c_pe.uint16
        Sign: _c_pe.uint16
        Scale: _c_pe.uint16
        @overload
        def __init__(
            self,
            Offset: _c_pe.uint16 | None = ...,
            Type: _c_pe.uint16 | None = ...,
            Sign: _c_pe.uint16 | None = ...,
            Scale: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DVRT_ARM64X_DELTA_FIXUP_RECORD: TypeAlias = _IMAGE_DVRT_ARM64X_DELTA_FIXUP_RECORD
    PIMAGE_DVRT_ARM64X_DELTA_FIXUP_RECORD: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DVRT_ARM64X_DELTA_FIXUP_RECORD]
    class _IMAGE_HOT_PATCH_INFO(__cs__.Structure):
        Version: _c_pe.uint32
        Size: _c_pe.uint32
        SequenceNumber: _c_pe.uint32
        BaseImageList: _c_pe.uint32
        BaseImageCount: _c_pe.uint32
        BufferOffset: _c_pe.uint32
        ExtraPatchSize: _c_pe.uint32
        MinSequenceNumber: _c_pe.uint32
        Flags: _c_pe.uint32
        @overload
        def __init__(
            self,
            Version: _c_pe.uint32 | None = ...,
            Size: _c_pe.uint32 | None = ...,
            SequenceNumber: _c_pe.uint32 | None = ...,
            BaseImageList: _c_pe.uint32 | None = ...,
            BaseImageCount: _c_pe.uint32 | None = ...,
            BufferOffset: _c_pe.uint32 | None = ...,
            ExtraPatchSize: _c_pe.uint32 | None = ...,
            MinSequenceNumber: _c_pe.uint32 | None = ...,
            Flags: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_HOT_PATCH_INFO: TypeAlias = _IMAGE_HOT_PATCH_INFO
    PIMAGE_HOT_PATCH_INFO: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_HOT_PATCH_INFO]
    class _IMAGE_HOT_PATCH_BASE(__cs__.Structure):
        SequenceNumber: _c_pe.uint32
        Flags: _c_pe.uint32
        OriginalTimeDateStamp: _c_pe.uint32
        OriginalCheckSum: _c_pe.uint32
        CodeIntegrityInfo: _c_pe.uint32
        CodeIntegritySize: _c_pe.uint32
        PatchTable: _c_pe.uint32
        BufferOffset: _c_pe.uint32
        @overload
        def __init__(
            self,
            SequenceNumber: _c_pe.uint32 | None = ...,
            Flags: _c_pe.uint32 | None = ...,
            OriginalTimeDateStamp: _c_pe.uint32 | None = ...,
            OriginalCheckSum: _c_pe.uint32 | None = ...,
            CodeIntegrityInfo: _c_pe.uint32 | None = ...,
            CodeIntegritySize: _c_pe.uint32 | None = ...,
            PatchTable: _c_pe.uint32 | None = ...,
            BufferOffset: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_HOT_PATCH_BASE: TypeAlias = _IMAGE_HOT_PATCH_BASE
    PIMAGE_HOT_PATCH_BASE: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_HOT_PATCH_BASE]
    class _IMAGE_HOT_PATCH_MACHINE(__cs__.Structure):
        _x86: _c_pe.uint32
        Amd64: _c_pe.uint32
        Arm64: _c_pe.uint32
        Amd64EC: _c_pe.uint32
        @overload
        def __init__(
            self,
            _x86: _c_pe.uint32 | None = ...,
            Amd64: _c_pe.uint32 | None = ...,
            Arm64: _c_pe.uint32 | None = ...,
            Amd64EC: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_HOT_PATCH_MACHINE: TypeAlias = _IMAGE_HOT_PATCH_MACHINE
    PIMAGE_HOT_PATCH_MACHINE: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_HOT_PATCH_MACHINE]
    class _IMAGE_HOT_PATCH_HASHES(__cs__.Structure):
        SHA256: __cs__.Array[_c_pe.uint8]
        SHA1: __cs__.Array[_c_pe.uint8]
        @overload
        def __init__(
            self, SHA256: __cs__.Array[_c_pe.uint8] | None = ..., SHA1: __cs__.Array[_c_pe.uint8] | None = ...
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_HOT_PATCH_HASHES: TypeAlias = _IMAGE_HOT_PATCH_HASHES
    PIMAGE_HOT_PATCH_HASHES: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_HOT_PATCH_HASHES]
    class IMAGE_HOT_PATCH(__cs__.Enum):
        NONE = ...
        FUNCTION = ...
        ABSOLUTE = ...
        REL32 = ...
        CALL_TARGET = ...
        INDIRECT = ...
        NO_CALL_TARGET = ...
        DYNAMIC_VALUE = ...

    class _IMAGE_CE_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        FuncStart: _c_pe.uint32
        PrologLen: _c_pe.uint32
        FuncLen: _c_pe.uint32
        ThirtyTwoBit: _c_pe.uint32
        ExceptionFlag: _c_pe.uint32
        @overload
        def __init__(
            self,
            FuncStart: _c_pe.uint32 | None = ...,
            PrologLen: _c_pe.uint32 | None = ...,
            FuncLen: _c_pe.uint32 | None = ...,
            ThirtyTwoBit: _c_pe.uint32 | None = ...,
            ExceptionFlag: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_CE_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_CE_RUNTIME_FUNCTION_ENTRY
    PIMAGE_CE_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_CE_RUNTIME_FUNCTION_ENTRY]
    class _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        BeginAddress: _c_pe.uint32
        UnwindData: _c_pe.uint32
        Flag: _c_pe.uint32
        FunctionLength: _c_pe.uint32
        Ret: _c_pe.uint32
        H: _c_pe.uint32
        Reg: _c_pe.uint32
        R: _c_pe.uint32
        L: _c_pe.uint32
        C: _c_pe.uint32
        StackAdjust: _c_pe.uint32
        @overload
        def __init__(
            self,
            BeginAddress: _c_pe.uint32 | None = ...,
            UnwindData: _c_pe.uint32 | None = ...,
            Flag: _c_pe.uint32 | None = ...,
            FunctionLength: _c_pe.uint32 | None = ...,
            Ret: _c_pe.uint32 | None = ...,
            H: _c_pe.uint32 | None = ...,
            Reg: _c_pe.uint32 | None = ...,
            R: _c_pe.uint32 | None = ...,
            L: _c_pe.uint32 | None = ...,
            C: _c_pe.uint32 | None = ...,
            StackAdjust: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY
    PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARM_RUNTIME_FUNCTION_ENTRY]
    class ARM64_FNPDATA_FLAGS(__cs__.Enum):
        PdataRefToFullXdata = ...
        PdataPackedUnwindFunction = ...
        PdataPackedUnwindFragment = ...

    class ARM64_FNPDATA_CR(__cs__.Enum):
        PdataCrUnchained = ...
        PdataCrUnchainedSavedLr = ...
        PdataCrChainedWithPac = ...
        PdataCrChained = ...

    class _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        BeginAddress: _c_pe.uint32
        UnwindData: _c_pe.uint32
        Flag: _c_pe.uint32
        FunctionLength: _c_pe.uint32
        RegF: _c_pe.uint32
        RegI: _c_pe.uint32
        H: _c_pe.uint32
        CR: _c_pe.uint32
        FrameSize: _c_pe.uint32
        @overload
        def __init__(
            self,
            BeginAddress: _c_pe.uint32 | None = ...,
            UnwindData: _c_pe.uint32 | None = ...,
            Flag: _c_pe.uint32 | None = ...,
            FunctionLength: _c_pe.uint32 | None = ...,
            RegF: _c_pe.uint32 | None = ...,
            RegI: _c_pe.uint32 | None = ...,
            H: _c_pe.uint32 | None = ...,
            CR: _c_pe.uint32 | None = ...,
            FrameSize: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY
    PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY]
    class _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA(__cs__.Union):
        HeaderData: _c_pe.uint32
        FunctionLength: _c_pe.uint32
        Version: _c_pe.uint32
        ExceptionDataPresent: _c_pe.uint32
        EpilogInHeader: _c_pe.uint32
        EpilogCount: _c_pe.uint32
        CodeWords: _c_pe.uint32
        @overload
        def __init__(
            self,
            HeaderData: _c_pe.uint32 | None = ...,
            FunctionLength: _c_pe.uint32 | None = ...,
            Version: _c_pe.uint32 | None = ...,
            ExceptionDataPresent: _c_pe.uint32 | None = ...,
            EpilogInHeader: _c_pe.uint32 | None = ...,
            EpilogCount: _c_pe.uint32 | None = ...,
            CodeWords: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA: TypeAlias = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA
    PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA: TypeAlias = __cs__.Pointer[
        _c_pe._IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA
    ]
    class IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA_EXTENDED(__cs__.Union):
        ExtendedHeaderData: _c_pe.uint32
        ExtendedEpilogCount: _c_pe.uint32
        ExtendedCodeWords: _c_pe.uint32
        @overload
        def __init__(
            self,
            ExtendedHeaderData: _c_pe.uint32 | None = ...,
            ExtendedEpilogCount: _c_pe.uint32 | None = ...,
            ExtendedCodeWords: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA_EXTENDED: TypeAlias = __cs__.Pointer[
        _c_pe.IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA_EXTENDED
    ]
    class IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA_EPILOG_SCOPE(__cs__.Union):
        EpilogScopeData: _c_pe.uint32
        EpilogStartOffset: _c_pe.uint32
        Res0: _c_pe.uint32
        EpilogStartIndex: _c_pe.uint32
        @overload
        def __init__(
            self,
            EpilogScopeData: _c_pe.uint32 | None = ...,
            EpilogStartOffset: _c_pe.uint32 | None = ...,
            Res0: _c_pe.uint32 | None = ...,
            EpilogStartIndex: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA_EPILOG_SCOPE: TypeAlias = __cs__.Pointer[
        _c_pe.IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA_EPILOG_SCOPE
    ]
    class _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        BeginAddress: _c_pe.uint64
        EndAddress: _c_pe.uint64
        ExceptionHandler: _c_pe.uint64
        HandlerData: _c_pe.uint64
        PrologEndAddress: _c_pe.uint64
        @overload
        def __init__(
            self,
            BeginAddress: _c_pe.uint64 | None = ...,
            EndAddress: _c_pe.uint64 | None = ...,
            ExceptionHandler: _c_pe.uint64 | None = ...,
            HandlerData: _c_pe.uint64 | None = ...,
            PrologEndAddress: _c_pe.uint64 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY
    PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY]
    class _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        BeginAddress: _c_pe.uint32
        EndAddress: _c_pe.uint32
        ExceptionHandler: _c_pe.uint32
        HandlerData: _c_pe.uint32
        PrologEndAddress: _c_pe.uint32
        @overload
        def __init__(
            self,
            BeginAddress: _c_pe.uint32 | None = ...,
            EndAddress: _c_pe.uint32 | None = ...,
            ExceptionHandler: _c_pe.uint32 | None = ...,
            HandlerData: _c_pe.uint32 | None = ...,
            PrologEndAddress: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY
    PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY]
    class _IMAGE_MIPS_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        BeginAddress: _c_pe.uint32
        EndAddress: _c_pe.uint32
        ExceptionHandler: _c_pe.uint32
        HandlerData: _c_pe.uint32
        PrologEndAddress: _c_pe.uint32
        @overload
        def __init__(
            self,
            BeginAddress: _c_pe.uint32 | None = ...,
            EndAddress: _c_pe.uint32 | None = ...,
            ExceptionHandler: _c_pe.uint32 | None = ...,
            HandlerData: _c_pe.uint32 | None = ...,
            PrologEndAddress: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_MIPS_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_MIPS_RUNTIME_FUNCTION_ENTRY
    PIMAGE_MIPS_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_MIPS_RUNTIME_FUNCTION_ENTRY]
    class _IMAGE_RUNTIME_FUNCTION_ENTRY(__cs__.Structure):
        BeginAddress: _c_pe.uint32
        EndAddress: _c_pe.uint32
        UnwindInfoAddress: _c_pe.uint32
        UnwindData: _c_pe.uint32
        @overload
        def __init__(
            self,
            BeginAddress: _c_pe.uint32 | None = ...,
            EndAddress: _c_pe.uint32 | None = ...,
            UnwindInfoAddress: _c_pe.uint32 | None = ...,
            UnwindData: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_RUNTIME_FUNCTION_ENTRY: TypeAlias = _IMAGE_RUNTIME_FUNCTION_ENTRY
    PIMAGE_RUNTIME_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_RUNTIME_FUNCTION_ENTRY]
    class _IMAGE_ENCLAVE_CONFIG32(__cs__.Structure):
        Size: _c_pe.uint32
        MinimumRequiredConfigSize: _c_pe.uint32
        PolicyFlags: _c_pe.uint32
        NumberOfImports: _c_pe.uint32
        ImportList: _c_pe.uint32
        ImportEntrySize: _c_pe.uint32
        FamilyID: __cs__.Array[_c_pe.uint8]
        ImageID: __cs__.Array[_c_pe.uint8]
        ImageVersion: _c_pe.uint32
        SecurityVersion: _c_pe.uint32
        EnclaveSize: _c_pe.uint32
        NumberOfThreads: _c_pe.uint32
        EnclaveFlags: _c_pe.uint32
        @overload
        def __init__(
            self,
            Size: _c_pe.uint32 | None = ...,
            MinimumRequiredConfigSize: _c_pe.uint32 | None = ...,
            PolicyFlags: _c_pe.uint32 | None = ...,
            NumberOfImports: _c_pe.uint32 | None = ...,
            ImportList: _c_pe.uint32 | None = ...,
            ImportEntrySize: _c_pe.uint32 | None = ...,
            FamilyID: __cs__.Array[_c_pe.uint8] | None = ...,
            ImageID: __cs__.Array[_c_pe.uint8] | None = ...,
            ImageVersion: _c_pe.uint32 | None = ...,
            SecurityVersion: _c_pe.uint32 | None = ...,
            EnclaveSize: _c_pe.uint32 | None = ...,
            NumberOfThreads: _c_pe.uint32 | None = ...,
            EnclaveFlags: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ENCLAVE_CONFIG32: TypeAlias = _IMAGE_ENCLAVE_CONFIG32
    PIMAGE_ENCLAVE_CONFIG32: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ENCLAVE_CONFIG32]
    class _IMAGE_ENCLAVE_CONFIG64(__cs__.Structure):
        Size: _c_pe.uint32
        MinimumRequiredConfigSize: _c_pe.uint32
        PolicyFlags: _c_pe.uint32
        NumberOfImports: _c_pe.uint32
        ImportList: _c_pe.uint32
        ImportEntrySize: _c_pe.uint32
        FamilyID: __cs__.Array[_c_pe.uint8]
        ImageID: __cs__.Array[_c_pe.uint8]
        ImageVersion: _c_pe.uint32
        SecurityVersion: _c_pe.uint32
        EnclaveSize: _c_pe.uint64
        NumberOfThreads: _c_pe.uint32
        EnclaveFlags: _c_pe.uint32
        @overload
        def __init__(
            self,
            Size: _c_pe.uint32 | None = ...,
            MinimumRequiredConfigSize: _c_pe.uint32 | None = ...,
            PolicyFlags: _c_pe.uint32 | None = ...,
            NumberOfImports: _c_pe.uint32 | None = ...,
            ImportList: _c_pe.uint32 | None = ...,
            ImportEntrySize: _c_pe.uint32 | None = ...,
            FamilyID: __cs__.Array[_c_pe.uint8] | None = ...,
            ImageID: __cs__.Array[_c_pe.uint8] | None = ...,
            ImageVersion: _c_pe.uint32 | None = ...,
            SecurityVersion: _c_pe.uint32 | None = ...,
            EnclaveSize: _c_pe.uint64 | None = ...,
            NumberOfThreads: _c_pe.uint32 | None = ...,
            EnclaveFlags: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ENCLAVE_CONFIG64: TypeAlias = _IMAGE_ENCLAVE_CONFIG64
    PIMAGE_ENCLAVE_CONFIG64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ENCLAVE_CONFIG64]
    class _IMAGE_ENCLAVE_IMPORT(__cs__.Structure):
        MatchType: _c_pe.uint32
        MinimumSecurityVersion: _c_pe.uint32
        UniqueOrAuthorID: __cs__.Array[_c_pe.uint8]
        FamilyID: __cs__.Array[_c_pe.uint8]
        ImageID: __cs__.Array[_c_pe.uint8]
        ImportName: _c_pe.uint32
        Reserved: _c_pe.uint32
        @overload
        def __init__(
            self,
            MatchType: _c_pe.uint32 | None = ...,
            MinimumSecurityVersion: _c_pe.uint32 | None = ...,
            UniqueOrAuthorID: __cs__.Array[_c_pe.uint8] | None = ...,
            FamilyID: __cs__.Array[_c_pe.uint8] | None = ...,
            ImageID: __cs__.Array[_c_pe.uint8] | None = ...,
            ImportName: _c_pe.uint32 | None = ...,
            Reserved: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ENCLAVE_IMPORT: TypeAlias = _IMAGE_ENCLAVE_IMPORT
    PIMAGE_ENCLAVE_IMPORT: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_ENCLAVE_IMPORT]
    class WIN_CERT_TYPE(__cs__.Enum):
        X509 = ...
        PKCS_SIGNED_DATA = ...
        RESERVED_1 = ...
        TS_STACK_SIGNED = ...

    class _WIN_CERTIFICATE(__cs__.Structure):
        dwLength: _c_pe.uint32
        wRevision: _c_pe.uint16
        wCertificateType: _c_pe.WIN_CERT_TYPE
        bCertificate: __cs__.CharArray
        @overload
        def __init__(
            self,
            dwLength: _c_pe.uint32 | None = ...,
            wRevision: _c_pe.uint16 | None = ...,
            wCertificateType: _c_pe.WIN_CERT_TYPE | None = ...,
            bCertificate: __cs__.CharArray | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    WIN_CERTIFICATE: TypeAlias = _WIN_CERTIFICATE
    PWIN_CERTIFICATE: TypeAlias = __cs__.Pointer[_c_pe._WIN_CERTIFICATE]
    class IMAGE_DEBUG_TYPE(__cs__.Enum):
        UNKNOWN = ...
        COFF = ...
        CODEVIEW = ...
        FPO = ...
        MISC = ...
        EXCEPTION = ...
        FIXUP = ...
        OMAP_TO_SRC = ...
        OMAP_FROM_SRC = ...
        BORLAND = ...
        RESERVED10 = ...
        BBT = ...
        CLSID = ...
        VC_FEATURE = ...
        POGO = ...
        ILTCG = ...
        MPX = ...
        REPRO = ...
        EMBEDDED_PORTABLE_PDB = ...
        SPGO = ...
        PDBCHECKSUM = ...
        EX_DLLCHARACTERISTICS = ...
        PERFMAP = ...

    class IMAGE_DLLCHARACTERISTICS_EX(__cs__.Flag):
        CET_COMPAT = ...
        CET_COMPAT_STRICT_MODE = ...
        CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE = ...
        CET_DYNAMIC_APIS_ALLOW_IN_PROC = ...
        CET_RESERVED_1 = ...
        CET_RESERVED_2 = ...
        FORWARD_CFI_COMPAT = ...
        HOTPATCH_COMPATIBLE = ...

    class _IMAGE_DEBUG_DIRECTORY(__cs__.Structure):
        Characteristics: _c_pe.uint32
        TimeDateStamp: _c_pe.uint32
        MajorVersion: _c_pe.uint16
        MinorVersion: _c_pe.uint16
        Type: _c_pe.IMAGE_DEBUG_TYPE
        SizeOfData: _c_pe.uint32
        AddressOfRawData: _c_pe.uint32
        PointerToRawData: _c_pe.uint32
        @overload
        def __init__(
            self,
            Characteristics: _c_pe.uint32 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            MajorVersion: _c_pe.uint16 | None = ...,
            MinorVersion: _c_pe.uint16 | None = ...,
            Type: _c_pe.IMAGE_DEBUG_TYPE | None = ...,
            SizeOfData: _c_pe.uint32 | None = ...,
            AddressOfRawData: _c_pe.uint32 | None = ...,
            PointerToRawData: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DEBUG_DIRECTORY: TypeAlias = _IMAGE_DEBUG_DIRECTORY
    PIMAGE_DEBUG_DIRECTORY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DEBUG_DIRECTORY]
    class _IMAGE_COFF_SYMBOLS_HEADER(__cs__.Structure):
        NumberOfSymbols: _c_pe.uint32
        LvaToFirstSymbol: _c_pe.uint32
        NumberOfLinenumbers: _c_pe.uint32
        LvaToFirstLinenumber: _c_pe.uint32
        RvaToFirstByteOfCode: _c_pe.uint32
        RvaToLastByteOfCode: _c_pe.uint32
        RvaToFirstByteOfData: _c_pe.uint32
        RvaToLastByteOfData: _c_pe.uint32
        @overload
        def __init__(
            self,
            NumberOfSymbols: _c_pe.uint32 | None = ...,
            LvaToFirstSymbol: _c_pe.uint32 | None = ...,
            NumberOfLinenumbers: _c_pe.uint32 | None = ...,
            LvaToFirstLinenumber: _c_pe.uint32 | None = ...,
            RvaToFirstByteOfCode: _c_pe.uint32 | None = ...,
            RvaToLastByteOfCode: _c_pe.uint32 | None = ...,
            RvaToFirstByteOfData: _c_pe.uint32 | None = ...,
            RvaToLastByteOfData: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_COFF_SYMBOLS_HEADER: TypeAlias = _IMAGE_COFF_SYMBOLS_HEADER
    PIMAGE_COFF_SYMBOLS_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_COFF_SYMBOLS_HEADER]
    class _CV_HEADER(__cs__.Structure):
        Signature: _c_pe.uint32
        Offset: _c_pe.uint32
        @overload
        def __init__(self, Signature: _c_pe.uint32 | None = ..., Offset: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    CV_HEADER: TypeAlias = _CV_HEADER
    PCV_HEADER: TypeAlias = __cs__.Pointer[_c_pe._CV_HEADER]
    class _CV_INFO_PDB20(__cs__.Structure):
        CvHeader: _c_pe._CV_HEADER
        Signature: _c_pe.uint32
        Age: _c_pe.uint32
        PdbFileName: __cs__.CharArray
        @overload
        def __init__(
            self,
            CvHeader: _c_pe._CV_HEADER | None = ...,
            Signature: _c_pe.uint32 | None = ...,
            Age: _c_pe.uint32 | None = ...,
            PdbFileName: __cs__.CharArray | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    CV_INFO_PDB20: TypeAlias = _CV_INFO_PDB20
    PCV_INFO_PDB20: TypeAlias = __cs__.Pointer[_c_pe._CV_INFO_PDB20]
    class _CV_INFO_PDB70(__cs__.Structure):
        CvSignature: _c_pe.uint32
        Signature: __cs__.CharArray
        Age: _c_pe.uint32
        PdbFileName: __cs__.CharArray
        @overload
        def __init__(
            self,
            CvSignature: _c_pe.uint32 | None = ...,
            Signature: __cs__.CharArray | None = ...,
            Age: _c_pe.uint32 | None = ...,
            PdbFileName: __cs__.CharArray | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    CV_INFO_PDB70: TypeAlias = _CV_INFO_PDB70
    PCV_INFO_PDB70: TypeAlias = __cs__.Pointer[_c_pe._CV_INFO_PDB70]
    class _CV_INFO_MTOC(__cs__.Structure):
        CvSignature: _c_pe.uint32
        Signature: __cs__.Array[_c_pe.uint8]
        PdbFileName: __cs__.Array[_c_pe.uint8]
        @overload
        def __init__(
            self,
            CvSignature: _c_pe.uint32 | None = ...,
            Signature: __cs__.Array[_c_pe.uint8] | None = ...,
            PdbFileName: __cs__.Array[_c_pe.uint8] | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    CV_INFO_MTOC: TypeAlias = _CV_INFO_MTOC
    PCV_INFO_MTOC: TypeAlias = __cs__.Pointer[_c_pe._CV_INFO_MTOC]
    class _FPO_DATA(__cs__.Structure):
        ulOffStart: _c_pe.uint32
        cbProcSize: _c_pe.uint32
        cdwLocals: _c_pe.uint32
        cdwParams: _c_pe.uint16
        cbProlog: _c_pe.uint16
        cbRegs: _c_pe.uint16
        fHasSEH: _c_pe.uint16
        fUseBP: _c_pe.uint16
        reserved: _c_pe.uint16
        cbFrame: _c_pe.uint16
        @overload
        def __init__(
            self,
            ulOffStart: _c_pe.uint32 | None = ...,
            cbProcSize: _c_pe.uint32 | None = ...,
            cdwLocals: _c_pe.uint32 | None = ...,
            cdwParams: _c_pe.uint16 | None = ...,
            cbProlog: _c_pe.uint16 | None = ...,
            cbRegs: _c_pe.uint16 | None = ...,
            fHasSEH: _c_pe.uint16 | None = ...,
            fUseBP: _c_pe.uint16 | None = ...,
            reserved: _c_pe.uint16 | None = ...,
            cbFrame: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    FPO_DATA: TypeAlias = _FPO_DATA
    PFPO_DATA: TypeAlias = __cs__.Pointer[_c_pe._FPO_DATA]
    class _IMAGE_DEBUG_MISC(__cs__.Structure):
        DataType: _c_pe.uint32
        Length: _c_pe.uint32
        Unicode: _c_pe.uint8
        Reserved: __cs__.Array[_c_pe.uint8]
        @overload
        def __init__(
            self,
            DataType: _c_pe.uint32 | None = ...,
            Length: _c_pe.uint32 | None = ...,
            Unicode: _c_pe.uint8 | None = ...,
            Reserved: __cs__.Array[_c_pe.uint8] | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_DEBUG_MISC: TypeAlias = _IMAGE_DEBUG_MISC
    PIMAGE_DEBUG_MISC: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_DEBUG_MISC]
    class _VC_FEATURE(__cs__.Structure):
        PreVC11: _c_pe.uint32
        CCpp: _c_pe.uint32
        Gs: _c_pe.uint32
        Sdl: _c_pe.uint32
        GuardN: _c_pe.uint32
        @overload
        def __init__(
            self,
            PreVC11: _c_pe.uint32 | None = ...,
            CCpp: _c_pe.uint32 | None = ...,
            Gs: _c_pe.uint32 | None = ...,
            Sdl: _c_pe.uint32 | None = ...,
            GuardN: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    VC_FEATURE: TypeAlias = _VC_FEATURE
    PVC_FEATURE: TypeAlias = __cs__.Pointer[_c_pe._VC_FEATURE]
    class _IMAGE_FUNCTION_ENTRY(__cs__.Structure):
        StartingAddress: _c_pe.uint32
        EndingAddress: _c_pe.uint32
        EndOfPrologue: _c_pe.uint32
        @overload
        def __init__(
            self,
            StartingAddress: _c_pe.uint32 | None = ...,
            EndingAddress: _c_pe.uint32 | None = ...,
            EndOfPrologue: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_FUNCTION_ENTRY: TypeAlias = _IMAGE_FUNCTION_ENTRY
    PIMAGE_FUNCTION_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_FUNCTION_ENTRY]
    class _IMAGE_FUNCTION_ENTRY64(__cs__.Structure):
        StartingAddress: _c_pe.uint64
        EndingAddress: _c_pe.uint64
        EndOfPrologue: _c_pe.uint64
        UnwindInfoAddress: _c_pe.uint64
        @overload
        def __init__(
            self,
            StartingAddress: _c_pe.uint64 | None = ...,
            EndingAddress: _c_pe.uint64 | None = ...,
            EndOfPrologue: _c_pe.uint64 | None = ...,
            UnwindInfoAddress: _c_pe.uint64 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_FUNCTION_ENTRY64: TypeAlias = _IMAGE_FUNCTION_ENTRY64
    PIMAGE_FUNCTION_ENTRY64: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_FUNCTION_ENTRY64]
    class _IMAGE_SEPARATE_DEBUG_HEADER(__cs__.Structure):
        Signature: _c_pe.uint16
        Flags: _c_pe.uint16
        Machine: _c_pe.uint16
        Characteristics: _c_pe.uint16
        TimeDateStamp: _c_pe.uint32
        CheckSum: _c_pe.uint32
        ImageBase: _c_pe.uint32
        SizeOfImage: _c_pe.uint32
        NumberOfSections: _c_pe.uint32
        ExportedNamesSize: _c_pe.uint32
        DebugDirectorySize: _c_pe.uint32
        SectionAlignment: _c_pe.uint32
        Reserved: __cs__.Array[_c_pe.uint32]
        @overload
        def __init__(
            self,
            Signature: _c_pe.uint16 | None = ...,
            Flags: _c_pe.uint16 | None = ...,
            Machine: _c_pe.uint16 | None = ...,
            Characteristics: _c_pe.uint16 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            CheckSum: _c_pe.uint32 | None = ...,
            ImageBase: _c_pe.uint32 | None = ...,
            SizeOfImage: _c_pe.uint32 | None = ...,
            NumberOfSections: _c_pe.uint32 | None = ...,
            ExportedNamesSize: _c_pe.uint32 | None = ...,
            DebugDirectorySize: _c_pe.uint32 | None = ...,
            SectionAlignment: _c_pe.uint32 | None = ...,
            Reserved: __cs__.Array[_c_pe.uint32] | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_SEPARATE_DEBUG_HEADER: TypeAlias = _IMAGE_SEPARATE_DEBUG_HEADER
    PIMAGE_SEPARATE_DEBUG_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_SEPARATE_DEBUG_HEADER]
    class _NON_PAGED_DEBUG_INFO(__cs__.Structure):
        Signature: _c_pe.uint16
        Flags: _c_pe.uint16
        Size: _c_pe.uint32
        Machine: _c_pe.uint16
        Characteristics: _c_pe.uint16
        TimeDateStamp: _c_pe.uint32
        CheckSum: _c_pe.uint32
        SizeOfImage: _c_pe.uint32
        ImageBase: _c_pe.uint64
        @overload
        def __init__(
            self,
            Signature: _c_pe.uint16 | None = ...,
            Flags: _c_pe.uint16 | None = ...,
            Size: _c_pe.uint32 | None = ...,
            Machine: _c_pe.uint16 | None = ...,
            Characteristics: _c_pe.uint16 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            CheckSum: _c_pe.uint32 | None = ...,
            SizeOfImage: _c_pe.uint32 | None = ...,
            ImageBase: _c_pe.uint64 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    NON_PAGED_DEBUG_INFO: TypeAlias = _NON_PAGED_DEBUG_INFO
    PNON_PAGED_DEBUG_INFO: TypeAlias = __cs__.Pointer[_c_pe._NON_PAGED_DEBUG_INFO]
    class _ImageArchitectureHeader(__cs__.Structure):
        AmaskValue: _c_pe.uint32
        _: _c_pe.int32
        AmaskShift: _c_pe.uint32
        FirstEntryRVA: _c_pe.uint32
        @overload
        def __init__(
            self,
            AmaskValue: _c_pe.uint32 | None = ...,
            _: _c_pe.int32 | None = ...,
            AmaskShift: _c_pe.uint32 | None = ...,
            FirstEntryRVA: _c_pe.uint32 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARCHITECTURE_HEADER: TypeAlias = _ImageArchitectureHeader
    PIMAGE_ARCHITECTURE_HEADER: TypeAlias = __cs__.Pointer[_c_pe._ImageArchitectureHeader]
    class _ImageArchitectureEntry(__cs__.Structure):
        FixupInstRVA: _c_pe.uint32
        NewInst: _c_pe.uint32
        @overload
        def __init__(self, FixupInstRVA: _c_pe.uint32 | None = ..., NewInst: _c_pe.uint32 | None = ...): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_ARCHITECTURE_ENTRY: TypeAlias = _ImageArchitectureEntry
    PIMAGE_ARCHITECTURE_ENTRY: TypeAlias = __cs__.Pointer[_c_pe._ImageArchitectureEntry]
    class IMPORT_OBJECT_TYPE(__cs__.Enum):
        IMPORT_OBJECT_CODE = ...
        IMPORT_OBJECT_DATA = ...
        IMPORT_OBJECT_CONST = ...

    class IMPORT_OBJECT_NAME_TYPE(__cs__.Enum):
        IMPORT_OBJECT_ORDINAL = ...
        IMPORT_OBJECT_NAME = ...
        IMPORT_OBJECT_NAME_NO_PREFIX = ...
        IMPORT_OBJECT_NAME_UNDECORATE = ...
        IMPORT_OBJECT_NAME_EXPORTAS = ...

    class IMPORT_OBJECT_HEADER(__cs__.Structure):
        Sig1: _c_pe.uint16
        Sig2: _c_pe.uint16
        Version: _c_pe.uint16
        Machine: _c_pe.uint16
        TimeDateStamp: _c_pe.uint32
        SizeOfData: _c_pe.uint32
        Ordinal: _c_pe.uint16
        Hint: _c_pe.uint16
        Type: _c_pe.IMPORT_OBJECT_TYPE
        NameType: _c_pe.IMPORT_OBJECT_NAME_TYPE
        Reserved: _c_pe.uint16
        @overload
        def __init__(
            self,
            Sig1: _c_pe.uint16 | None = ...,
            Sig2: _c_pe.uint16 | None = ...,
            Version: _c_pe.uint16 | None = ...,
            Machine: _c_pe.uint16 | None = ...,
            TimeDateStamp: _c_pe.uint32 | None = ...,
            SizeOfData: _c_pe.uint32 | None = ...,
            Ordinal: _c_pe.uint16 | None = ...,
            Hint: _c_pe.uint16 | None = ...,
            Type: _c_pe.IMPORT_OBJECT_TYPE | None = ...,
            NameType: _c_pe.IMPORT_OBJECT_NAME_TYPE | None = ...,
            Reserved: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    PIMPORT_OBJECT_HEADER: TypeAlias = __cs__.Pointer[_c_pe.IMPORT_OBJECT_HEADER]
    class COMIMAGE_FLAGS(__cs__.Flag):
        ILONLY = ...
        "32BITREQUIRED = ..."
        IL_LIBRARY = ...
        STRONGNAMESIGNED = ...
        NATIVE_ENTRYPOINT = ...
        TRACKDEBUGDATA = ...
        "32BITPREFERRED = ..."

    class _IMAGE_COR20_HEADER(__cs__.Structure):
        cb: _c_pe.uint32
        MajorRuntimeVersion: _c_pe.uint16
        MinorRuntimeVersion: _c_pe.uint16
        MetaData: _c_pe._IMAGE_DATA_DIRECTORY
        Flags: _c_pe.uint32
        EntryPointToken: _c_pe.uint32
        EntryPointRVA: _c_pe.uint32
        Resources: _c_pe._IMAGE_DATA_DIRECTORY
        StrongNameSignature: _c_pe._IMAGE_DATA_DIRECTORY
        CodeManagerTable: _c_pe._IMAGE_DATA_DIRECTORY
        VTableFixups: _c_pe._IMAGE_DATA_DIRECTORY
        ExportAddressTableJumps: _c_pe._IMAGE_DATA_DIRECTORY
        ManagedNativeHeader: _c_pe._IMAGE_DATA_DIRECTORY
        @overload
        def __init__(
            self,
            cb: _c_pe.uint32 | None = ...,
            MajorRuntimeVersion: _c_pe.uint16 | None = ...,
            MinorRuntimeVersion: _c_pe.uint16 | None = ...,
            MetaData: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
            Flags: _c_pe.uint32 | None = ...,
            EntryPointToken: _c_pe.uint32 | None = ...,
            EntryPointRVA: _c_pe.uint32 | None = ...,
            Resources: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
            StrongNameSignature: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
            CodeManagerTable: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
            VTableFixups: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
            ExportAddressTableJumps: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
            ManagedNativeHeader: _c_pe._IMAGE_DATA_DIRECTORY | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_COR20_HEADER: TypeAlias = _IMAGE_COR20_HEADER
    PIMAGE_COR20_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_COR20_HEADER]
    class _IMAGE_COR20_METADATA(__cs__.Structure):
        Magic: _c_pe.uint32
        MajorVersion: _c_pe.uint16
        MinorVersion: _c_pe.uint16
        Reserved: _c_pe.uint32
        Length: _c_pe.uint32
        Version: __cs__.CharArray
        Flags: _c_pe.uint16
        NumberOfStreams: _c_pe.uint16
        @overload
        def __init__(
            self,
            Magic: _c_pe.uint32 | None = ...,
            MajorVersion: _c_pe.uint16 | None = ...,
            MinorVersion: _c_pe.uint16 | None = ...,
            Reserved: _c_pe.uint32 | None = ...,
            Length: _c_pe.uint32 | None = ...,
            Version: __cs__.CharArray | None = ...,
            Flags: _c_pe.uint16 | None = ...,
            NumberOfStreams: _c_pe.uint16 | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_COR20_METADATA: TypeAlias = _IMAGE_COR20_METADATA
    PIMAGE_COR20_METADATA: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_COR20_METADATA]
    class _IMAGE_COR20_STREAM_HEADER(__cs__.Structure):
        Offset: _c_pe.uint32
        Size: _c_pe.uint32
        Name: __cs__.CharArray
        @overload
        def __init__(
            self,
            Offset: _c_pe.uint32 | None = ...,
            Size: _c_pe.uint32 | None = ...,
            Name: __cs__.CharArray | None = ...,
        ): ...
        @overload
        def __init__(self, fh: bytes | memoryview | bytearray | BinaryIO, /): ...

    IMAGE_COR20_STREAM_HEADER: TypeAlias = _IMAGE_COR20_STREAM_HEADER
    PIMAGE_COR20_STREAM_HEADER: TypeAlias = __cs__.Pointer[_c_pe._IMAGE_COR20_STREAM_HEADER]

# Technically `c_pe` is an instance of `_c_pe`, but then we can't use it in type hints
c_pe: TypeAlias = _c_pe
