This file format was reverse engineered by bveina and this documentation is based on his notes
The language files (OMF ships with english and german translations) are structured as follows:
N String Blocks:
String Offset: 1 DWORD String Description: 32 byte null padded string
Data Block extending to end of file.
The String offset from the string block tells you the start point of that particular string. The end point of the string is the start point of the next string. The string data is encrypted in a similar way to the CHR file data.
Decryption is as follows:
When you get to a block that has its string offset as a point after the end of the file, you're done.