diff --git a/BurnOutSharp.Models/PortableExecutable/MessageResourceBlock.cs b/BurnOutSharp.Models/PortableExecutable/MessageResourceBlock.cs
new file mode 100644
index 00000000..b45348fc
--- /dev/null
+++ b/BurnOutSharp.Models/PortableExecutable/MessageResourceBlock.cs
@@ -0,0 +1,27 @@
+namespace BurnOutSharp.Models.PortableExecutable
+{
+ ///
+ /// Contains information about message strings with identifiers in the range indicated
+ /// by the LowId and HighId members.
+ ///
+ ///
+ public class MessageResourceBlock
+ {
+ ///
+ /// The lowest message identifier contained within this structure.
+ ///
+ public uint LowId;
+
+ ///
+ /// The highest message identifier contained within this structure.
+ ///
+ public uint HighId;
+
+ ///
+ /// The offset, in bytes, from the beginning of the MESSAGE_RESOURCE_DATA structure to the
+ /// MESSAGE_RESOURCE_ENTRY structures in this MESSAGE_RESOURCE_BLOCK. The MESSAGE_RESOURCE_ENTRY
+ /// structures contain the message strings.
+ ///
+ public uint OffsetToEntries;
+ }
+}
diff --git a/BurnOutSharp.Models/PortableExecutable/MessageResourceData.cs b/BurnOutSharp.Models/PortableExecutable/MessageResourceData.cs
new file mode 100644
index 00000000..fb5b182f
--- /dev/null
+++ b/BurnOutSharp.Models/PortableExecutable/MessageResourceData.cs
@@ -0,0 +1,25 @@
+namespace BurnOutSharp.Models.PortableExecutable
+{
+ ///
+ /// Contains information about formatted text for display as an error message or in a message
+ /// box in a message table resource.
+ ///
+ ///
+ public class MessageResourceData
+ {
+ ///
+ /// The number of MESSAGE_RESOURCE_BLOCK structures.
+ ///
+ public uint NumberOfBlocks;
+
+ ///
+ /// An array of structures. The array is the size indicated by the NumberOfBlocks member.
+ ///
+ public MessageResourceBlock[] Blocks;
+
+ ///
+ /// Message resource entries
+ ///
+ public MessageResourceEntry[] Entries;
+ }
+}
diff --git a/BurnOutSharp.Models/PortableExecutable/MessageResourceEntry.cs b/BurnOutSharp.Models/PortableExecutable/MessageResourceEntry.cs
new file mode 100644
index 00000000..abff3f1b
--- /dev/null
+++ b/BurnOutSharp.Models/PortableExecutable/MessageResourceEntry.cs
@@ -0,0 +1,25 @@
+namespace BurnOutSharp.Models.PortableExecutable
+{
+ ///
+ /// Contains the error message or message box display text for a message table resource.
+ ///
+ ///
+ public class MessageResourceEntry
+ {
+ ///
+ /// The length, in bytes, of the MESSAGE_RESOURCE_ENTRY structure.
+ ///
+ public ushort Length;
+
+ ///
+ /// Indicates that the string is encoded in Unicode, if equal to the value 0x0001.
+ /// Indicates that the string is encoded in ANSI, if equal to the value 0x0000.
+ ///
+ public ushort Flags;
+
+ ///
+ /// Pointer to an array that contains the error message or message box display text.
+ ///
+ public string Text;
+ }
+}