UNP is a program that decompresses LZW and PKLite compressed executables. It is notably used to decompress Keen executables before they can be patched, including those not decompressible with UNLZEXE such as Keen Dreams.
It works similarly to CKPatch, in that it begins running the program so that it starts decompressing itself, but then stops before the decompressed data is executed. Where at this point CKPatch modifies the data and then executes it, UNP saves it back to disk instead.
There is source code available, however as it is written in x86 assembly language, and all it does is run the decompressor already embedded in the game .EXE, it is of limited use from the point of understanding how the various compression algorithms work.
Simply drag-and-drop the compressed executable onto UNP. Unlike UNLZEXE successful decompression is not heralded by the creation of a .OLZ file, instead the affected file will increase in size. If a batch file with a pause command is used the program itself can be seen to confirm decompression. This works on most windows systems up to Windows Vista. Otherwise it must be run in DOSBox using the following commands:
Z:\>mount c "C:\the directory\the game is in" Z:\>c: C:\>unp keen1.exe
In all cases the old, compressed file is overwritten unless switches are used.