public sealed record OptionalHeader(
bool IsPe32Plus,
ushort Magic,
byte MajorLinkerVersion,
byte MinorLinkerVersion,
uint SizeOfCode,
uint SizeOfInitializedData,
uint SizeOfUninitializedData,
uint AddressOfEntryPoint,
uint BaseOfCode,
uint? BaseOfData,
ulong ImageBase,
uint SectionAlignment,
uint FileAlignment,
ushort MajorOperatingSystemVersion,
ushort MinorOperatingSystemVersion,
ushort MajorImageVersion,
ushort MinorImageVersion,
ushort MajorSubsystemVersion,
ushort MinorSubsystemVersion,
uint Win32VersionValue,
uint SizeOfImage,
uint SizeOfHeaders,
uint CheckSum,
SubsystemType Subsystem,
ushort DllCharacteristics,
ulong SizeOfStackReserve,
ulong SizeOfStackCommit,
ulong SizeOfHeapReserve,
ulong SizeOfHeapCommit,
uint LoaderFlags,
uint NumberOfRvaAndSizes,
IReadOnlyList<DataDirectory> DataDirectories
);