diff --git a/BurnOutSharp.Wrappers/LinearExecutable.cs b/BurnOutSharp.Wrappers/LinearExecutable.cs
index 50bfaffb..307b6681 100644
--- a/BurnOutSharp.Wrappers/LinearExecutable.cs
+++ b/BurnOutSharp.Wrappers/LinearExecutable.cs
@@ -75,7 +75,199 @@ namespace BurnOutSharp.Wrappers
#endregion
- // TODO: Determine what properties can be passed through
+ #region Information Block
+
+ ///
+ public char[] Signature => _executable.InformationBlock.Signature;
+
+ ///
+ public Models.LinearExecutable.ByteOrder ByteOrder => _executable.InformationBlock.ByteOrder;
+
+ ///
+ public Models.LinearExecutable.WordOrder WordOrder => _executable.InformationBlock.WordOrder;
+
+ ///
+ public uint ExecutableFormatLevel => _executable.InformationBlock.ExecutableFormatLevel;
+
+ ///
+ public Models.LinearExecutable.CPUType CPUType => _executable.InformationBlock.CPUType;
+
+ ///
+ public Models.LinearExecutable.OperatingSystem ModuleOS => _executable.InformationBlock.ModuleOS;
+
+ ///
+ public uint ModuleVersion => _executable.InformationBlock.ModuleVersion;
+
+ ///
+ public Models.LinearExecutable.ModuleFlags ModuleTypeFlags => _executable.InformationBlock.ModuleTypeFlags;
+
+ ///
+ public uint ModuleNumberPages => _executable.InformationBlock.ModuleNumberPages;
+
+ ///
+ public uint InitialObjectCS => _executable.InformationBlock.InitialObjectCS;
+
+ ///
+ public uint InitialEIP => _executable.InformationBlock.InitialEIP;
+
+ ///
+ public uint InitialObjectSS => _executable.InformationBlock.InitialObjectSS;
+
+ ///
+ public uint InitialESP => _executable.InformationBlock.InitialESP;
+
+ ///
+ public uint MemoryPageSize => _executable.InformationBlock.MemoryPageSize;
+
+ ///
+ public uint BytesOnLastPage => _executable.InformationBlock.BytesOnLastPage;
+
+ ///
+ public uint FixupSectionSize => _executable.InformationBlock.FixupSectionSize;
+
+ ///
+ public uint FixupSectionChecksum => _executable.InformationBlock.FixupSectionChecksum;
+
+ ///
+ public uint LoaderSectionSize => _executable.InformationBlock.LoaderSectionSize;
+
+ ///
+ public uint LoaderSectionChecksum => _executable.InformationBlock.LoaderSectionChecksum;
+
+ ///
+ public uint ObjectTableOffset => _executable.InformationBlock.ObjectTableOffset;
+
+ ///
+ public uint ObjectTableCount => _executable.InformationBlock.ObjectTableCount;
+
+ ///
+ public uint ObjectPageMapOffset => _executable.InformationBlock.ObjectPageMapOffset;
+
+ ///
+ public uint ObjectIterateDataMapOffset => _executable.InformationBlock.ObjectIterateDataMapOffset;
+
+ ///
+ public uint ResourceTableOffset => _executable.InformationBlock.ResourceTableOffset;
+
+ ///
+ public uint ResourceTableCount => _executable.InformationBlock.ResourceTableCount;
+
+ ///
+ public uint ResidentNamesTableOffset => _executable.InformationBlock.ResidentNamesTableOffset;
+
+ ///
+ public uint EntryTableOffset => _executable.InformationBlock.EntryTableOffset;
+
+ ///
+ public uint ModuleDirectivesTableOffset => _executable.InformationBlock.ModuleDirectivesTableOffset;
+
+ ///
+ public uint ModuleDirectivesCount => _executable.InformationBlock.ModuleDirectivesCount;
+
+ ///
+ public uint FixupPageTableOffset => _executable.InformationBlock.FixupPageTableOffset;
+
+ ///
+ public uint FixupRecordTableOffset => _executable.InformationBlock.FixupRecordTableOffset;
+
+ ///
+ public uint ImportedModulesNameTableOffset => _executable.InformationBlock.ImportedModulesNameTableOffset;
+
+ ///
+ public uint ImportedModulesCount => _executable.InformationBlock.ImportedModulesCount;
+
+ ///
+ public uint ImportProcedureNameTableOffset => _executable.InformationBlock.ImportProcedureNameTableOffset;
+
+ ///
+ public uint PerPageChecksumTableOffset => _executable.InformationBlock.PerPageChecksumTableOffset;
+
+ ///
+ public uint DataPagesOffset => _executable.InformationBlock.DataPagesOffset;
+
+ ///
+ public uint PreloadPageCount => _executable.InformationBlock.PreloadPageCount;
+
+ ///
+ public uint NonResidentNamesTableOffset => _executable.InformationBlock.NonResidentNamesTableOffset;
+
+ ///
+ public uint NonResidentNamesTableLength => _executable.InformationBlock.NonResidentNamesTableLength;
+
+ ///
+ public uint NonResidentNamesTableChecksum => _executable.InformationBlock.NonResidentNamesTableChecksum;
+
+ ///
+ public uint AutomaticDataObject => _executable.InformationBlock.AutomaticDataObject;
+
+ ///
+ public uint DebugInformationOffset => _executable.InformationBlock.DebugInformationOffset;
+
+ ///
+ public uint DebugInformationLength => _executable.InformationBlock.DebugInformationLength;
+
+ ///
+ public uint PreloadInstancePagesNumber => _executable.InformationBlock.PreloadInstancePagesNumber;
+
+ ///
+ public uint DemandInstancePagesNumber => _executable.InformationBlock.DemandInstancePagesNumber;
+
+ ///
+ public uint ExtraHeapAllocation => _executable.InformationBlock.ExtraHeapAllocation;
+
+ #endregion
+
+ #region Tables
+
+ ///
+ public Models.LinearExecutable.ObjectTableEntry[] ObjectTable => _executable.ObjectTable;
+
+ ///
+ public Models.LinearExecutable.ObjectPageTableEntry[] ObjectPageTable => _executable.ObjectPageTable;
+
+ // TODO: Object iterate data map table [Does this exist?]
+
+ ///
+ public Models.LinearExecutable.ResourceTableEntry[] ResourceTable => _executable.ResourceTable;
+
+ ///
+ public Models.LinearExecutable.ResidentNameTableEntry[] ResidentNameTable => _executable.ResidentNameTable;
+
+ ///
+ public Models.LinearExecutable.EntryTableEntry[] EntryTable => _executable.EntryTable;
+
+ ///
+ public Models.LinearExecutable.ModuleFormatDirectivesTableEntry[] ModuleFormatDirectivesTable => _executable.ModuleFormatDirectivesTable;
+
+ ///
+ public Models.LinearExecutable.VerifyRecordDirectiveTableEntry[] VerifyRecordDirectiveTable => _executable.VerifyRecordDirectiveTable;
+
+ ///
+ public Models.LinearExecutable.PerPageChecksumTableEntry[] PerPageChecksumTable => _executable.PerPageChecksumTable;
+
+ ///
+ public Models.LinearExecutable.FixupPageTableEntry[] FixupPageTable => _executable.FixupPageTable;
+
+ ///
+ public Models.LinearExecutable.FixupRecordTableEntry[] FixupRecordTable => _executable.FixupRecordTable;
+
+ ///
+ public Models.LinearExecutable.ImportModuleNameTableEntry[] ImportModuleNameTable => _executable.ImportModuleNameTable;
+
+ ///
+ public Models.LinearExecutable.ImportModuleProcedureNameTableEntry[] ImportModuleProcedureNameTable => _executable.ImportModuleProcedureNameTable;
+
+ // TODO: Preload Pages
+ // TODO: Demand Load Pages
+ // TODO: Iterated Pages
+
+ ///
+ public Models.LinearExecutable.NonResidentNameTableEntry[] NonResidentNameTable => _executable.NonResidentNameTable;
+
+ ///
+ public Models.LinearExecutable.DebugInformation DebugInformation => _executable.DebugInformation;
+
+ #endregion
#endregion