diff --git a/BurnOutSharp.Models/PortableExecutable/SecuROMAddD.cs b/BurnOutSharp.Models/PortableExecutable/SecuROMAddD.cs
new file mode 100644
index 00000000..206f5b26
--- /dev/null
+++ b/BurnOutSharp.Models/PortableExecutable/SecuROMAddD.cs
@@ -0,0 +1,107 @@
+using System.Runtime.InteropServices;
+
+namespace BurnOutSharp.Models.PortableExecutable
+{
+ ///
+ /// Overlay data associated with SecuROM executables
+ ///
+ ///
+ /// All information in this file has been researched in a clean room
+ /// environment by using sample from legally obtained software that
+ /// is protected by SecuROM.
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public class SecuROMAddD
+ {
+ ///
+ /// "AddD", Identifier?
+ ///
+ public uint AddD;
+
+ ///
+ /// Unknown (Entry count?)
+ ///
+ public uint EntryCount;
+
+ ///
+ /// Version
+ ///
+ public string Version;
+
+ ///
+ /// Unknown (Build? Formatted as a string)
+ ///
+ public uint Build;
+
+ ///
+ /// Unknown (0x14)
+ ///
+ /// 498211340 [6668, 3762] in the sample
+ public uint Unknown14h;
+
+ ///
+ /// Unknown (0x18), possibly entry 1 date/time?
+ ///
+ /// 783556112 [7696, 11956] / 1994-10-30 22:28:32 in the sample
+ public uint Unknown18h;
+
+ ///
+ /// Unknown (0x1C), possibly entry 2 date/time?
+ ///
+ /// 861548360 [12104, 13146] / 1997-04-20 14:59:20 in the sample
+ public uint Unknown1Ch;
+
+ ///
+ /// Unknown (0x20), possibly entry 3 date/time?
+ ///
+ /// 879113110 [13206, 13414] / 1997-11-09 22:05:10 in the sample
+ public uint Unknown20h;
+
+ ///
+ /// Unknown (0x24)
+ ///
+ /// 4212741 [18437, 64] in the sample
+ public uint Unknown24h;
+
+ ///
+ /// Unknown (0x28)
+ ///
+ /// 1364015180 [14412, 20813] in the sample
+ public uint Unknown28h;
+
+ ///
+ /// Unknown (0x2C)
+ ///
+ /// 2 [2, 0] in the sample
+ public uint Unknown2Ch;
+
+ ///
+ /// Unknown (0x30)
+ ///
+ /// 4270144 [10304, 65] in the sample
+ public uint Unknown30h;
+
+ ///
+ /// Unknown (0x34)
+ ///
+ /// 132 [132, 0] in the sample
+ public uint Unknown34h;
+
+ ///
+ /// Unknown (0x38)
+ ///
+ /// 3147176 [1448, 48] in the sample
+ public uint Unknown38h;
+
+ ///
+ /// Unknown (0x3C)
+ ///
+ /// 1244976 [65328, 18] in the sample
+ public uint Unknown3Ch;
+
+ ///
+ /// Entry table
+ ///
+ public SecuROMAddDEntry[] Entries;
+ }
+}
diff --git a/BurnOutSharp.Models/PortableExecutable/SecuROMAddDEntry.cs b/BurnOutSharp.Models/PortableExecutable/SecuROMAddDEntry.cs
new file mode 100644
index 00000000..47c92de2
--- /dev/null
+++ b/BurnOutSharp.Models/PortableExecutable/SecuROMAddDEntry.cs
@@ -0,0 +1,78 @@
+using System.Runtime.InteropServices;
+
+namespace BurnOutSharp.Models.PortableExecutable
+{
+ ///
+ /// Overlay data associated with SecuROM executables
+ ///
+ ///
+ /// All information in this file has been researched in a clean room
+ /// environment by using sample from legally obtained software that
+ /// is protected by SecuROM.
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ public class SecuROMAddDEntry
+ {
+ ///
+ /// Physical offset of the embedded file
+ ///
+ public uint PhysicalOffset;
+
+ ///
+ /// Length of the embedded file
+ ///
+ /// The last entry seems to be 4 bytes short
+ public uint Length;
+
+ ///
+ /// Unknown (0x08)
+ ///
+ /// 3149224 [3496, 48] in the sample (all 3 entries)
+ public uint Unknown08h;
+
+ ///
+ /// Unknown (0x0C)
+ ///
+ /// 3147176 [1448, 48] in the sample (all 3 entries)
+ public uint Unknown0Ch;
+
+ ///
+ /// Unknown (0x10)
+ ///
+ /// 3149224 [3496, 48] in the sample (all 3 entries)
+ public uint Unknown10h;
+
+ ///
+ /// Unknown (0x14)
+ ///
+ /// 1245044 [65396, 18] in the sample (all 3 entries)
+ public uint Unknown14h;
+
+ ///
+ /// Unknown (0x18)
+ ///
+ /// 4214725 [20421, 64] in the sample (all 3 entries)
+ public uint Unknown18h;
+
+ ///
+ /// Unknown (0x1C)
+ ///
+ /// 2 [2, 0] in the sample (all 3 entries)
+ public uint Unknown1Ch;
+
+ ///
+ /// Entry file name (null-terminated)
+ ///
+ /// 12 bytes long in the sample (all 3 entries)
+ public string FileName;
+
+ ///
+ /// Unknown (0x2C)
+ ///
+ ///
+ /// Offset based on consistent-sized filenames (12 bytes)
+ /// 132 [132, 0] in the sample (all 3 entries)
+ ///
+ public uint Unknown2Ch;
+ }
+}