diff --git a/BurnOutSharp.Models/LinearExecutable/Executable.cs b/BurnOutSharp.Models/LinearExecutable/Executable.cs
index 6f7b510b..0ca8b39c 100644
--- a/BurnOutSharp.Models/LinearExecutable/Executable.cs
+++ b/BurnOutSharp.Models/LinearExecutable/Executable.cs
@@ -20,7 +20,11 @@ namespace BurnOutSharp.Models.LinearExecutable
///
public InformationBlock InformationBlock { get; set; }
- // TODO: Object table
+ ///
+ /// Object table
+ ///
+ public ObjectTableEntry[] ObjectTable { get; set; }
+
// TODO: Object page map table
// TODO: Object iterate data map table
// TODO: Resource table
diff --git a/BurnOutSharp.Models/LinearExecutable/ObjectTableEntry.cs b/BurnOutSharp.Models/LinearExecutable/ObjectTableEntry.cs
new file mode 100644
index 00000000..68602efb
--- /dev/null
+++ b/BurnOutSharp.Models/LinearExecutable/ObjectTableEntry.cs
@@ -0,0 +1,47 @@
+using System.Runtime.InteropServices;
+
+namespace BurnOutSharp.Models.LinearExecutable
+{
+ ///
+ /// The object table contains information that describes each segment in
+ /// an executable file. This information includes segment length, segment
+ /// type, and segment-relocation data. The following list summarizes the
+ /// values found in in the segment table (the locations are relative to
+ /// the beginning of each entry):
+ ///
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public class ObjectTableEntry
+ {
+ ///
+ /// Virtual segment size in bytes
+ ///
+ public uint VirtualSegmentSize;
+
+ ///
+ /// Relocation base address
+ ///
+ public uint RelocationBaseAddress;
+
+ ///
+ /// Object flags
+ ///
+ /// No flags are documented properly
+ public uint ObjectFlags;
+
+ ///
+ /// Page map index
+ ///
+ public uint PageMapIndex;
+
+ ///
+ /// Page map entries
+ ///
+ public uint PageMapEntries;
+
+ ///
+ /// ???
+ ///
+ public uint Reserved;
+ }
+}