It's a well known data compression algorithm. However, due to a mistake (or typo), it decompresses incorrectly. Here we can see this bug in these examples.
This is a text used as a source: files/test.txt.
This is the text compressed correctly: files/test.compressed.
This is the incorrectly uncompressed text: files/test.uncompressed_incorrectly.
Try to find and fix the bug. With some effort, it can be done even by patching the binary.
More challenges: //challenges.re/; about solutions: //challenges.re/#Solutions.