Well, there's that part done, sample extraction/decryption code attached.
Before anyone gets too excited, though, this doesn't accomplish much on its own. The dpm archives can be extracted and replaced w/ empty versions to force the game to read data from the filesystem instead. But all this will allow is replacing media (images, audio).
The important stuff is in the executable. My code can extract 'start.ax' which has all the game's scripting in it, but I didn't bother implementing re-encrypting and embedding a new file into the executable. (Unfortunately, my 'empty archive' trick doesn't work on the executable, I tested it.) With the encryption algorithm now known, the work would be straightforward, but doesn't have any use w/o the next step, so I didn't waste time on it.
And that next step is figuring out how to decompile (or atleast disassemble) start.ax so the game UI text can be edited. I'm not feeling motivated right now to tackle that (much bigger) job, so we'll have to wait and see if somebody else takes it up.