diff --git a/SabreTools.Models/PortableExecutable/OptionalHeader.cs b/SabreTools.Models/PortableExecutable/OptionalHeader.cs
index 4f7051c..4039e43 100644
--- a/SabreTools.Models/PortableExecutable/OptionalHeader.cs
+++ b/SabreTools.Models/PortableExecutable/OptionalHeader.cs
@@ -95,25 +95,14 @@
#region Windows-Specific Fields (Image Only)
- #region ImageBase
-
///
/// The preferred address of the first byte of image when loaded into memory { get; set; }
/// must be a multiple of 64 K. The default for DLLs is 0x10000000. The default
/// for Windows CE EXEs is 0x00010000. The default for Windows NT, Windows 2000,
/// Windows XP, Windows 95, Windows 98, and Windows Me is 0x00400000.
///
- public uint ImageBase_PE32 { get; set; }
-
- ///
- /// The preferred address of the first byte of image when loaded into memory { get; set; }
- /// must be a multiple of 64 K. The default for DLLs is 0x10000000. The default
- /// for Windows CE EXEs is 0x00010000. The default for Windows NT, Windows 2000,
- /// Windows XP, Windows 95, Windows 98, and Windows Me is 0x00400000.
- ///
- public ulong ImageBase_PE32Plus { get; set; }
-
- #endregion
+ /// This value is 32-bit if PE32 and 64-bit if PE32+
+ public ulong ImageBase { get; set; }
///
/// The alignment (in bytes) of sections when they are loaded into memory. It must
@@ -195,67 +184,32 @@
///
public DllCharacteristics DllCharacteristics { get; set; }
- #region SizeOfStackReserve
-
///
/// The size of the stack to reserve. Only SizeOfStackCommit is committed; the rest
/// is made available one page at a time until the reserve size is reached.
///
- public uint SizeOfStackReserve_PE32 { get; set; }
-
- ///
- /// The size of the stack to reserve. Only SizeOfStackCommit is committed; the rest
- /// is made available one page at a time until the reserve size is reached.
- ///
- public ulong SizeOfStackReserve_PE32Plus { get; set; }
-
- #endregion
-
- #region SizeOfStackCommit
+ /// This value is 32-bit if PE32 and 64-bit if PE32+
+ public ulong SizeOfStackReserve { get; set; }
///
/// The size of the stack to commit.
///
- public uint SizeOfStackCommit_PE32 { get; set; }
-
- ///
- /// The size of the stack to commit.
- ///
- public ulong SizeOfStackCommit_PE32Plus { get; set; }
-
- #endregion
-
- #region SizeOfHeapReserve
+ /// This value is 32-bit if PE32 and 64-bit if PE32+
+ public ulong SizeOfStackCommit { get; set; }
///
/// The size of the local heap space to reserve. Only SizeOfHeapCommit is
/// committed; the rest is made available one page at a time until the reserve
/// size is reached.
///
- public uint SizeOfHeapReserve_PE32 { get; set; }
-
- ///
- /// The size of the local heap space to reserve. Only SizeOfHeapCommit is
- /// committed; the rest is made available one page at a time until the reserve
- /// size is reached.
- ///
- public ulong SizeOfHeapReserve_PE32Plus { get; set; }
-
- #endregion
-
- #region SizeOfHeapCommit
+ /// This value is 32-bit if PE32 and 64-bit if PE32+
+ public ulong SizeOfHeapReserve { get; set; }
///
/// The size of the local heap space to commit.
///
- public uint SizeOfHeapCommit_PE32 { get; set; }
-
- ///
- /// The size of the local heap space to commit.
- ///
- public ulong SizeOfHeapCommit_PE32Plus { get; set; }
-
- #endregion
+ /// This value is 32-bit if PE32 and 64-bit if PE32+
+ public ulong SizeOfHeapCommit { get; set; }
///
/// Reserved, must be zero.