This looks like a LZSS variant. The file is divided into blocks, each blocks begins with a byte with 8 flags that signal if there is uncompressed (bit == 1) or compressed (bit == 0) data. The most simple case can be seen in the first 9 bytes:
Here, the "flag bit" is 0xFF = 11111111b, so every of the following 8 bytes is uncompressed and can just be copied in the decompression stage. Another uncompressed block follows right after that.
FF 0D 0A 72 61 77 20 54 48
But then, there is:
The flag bit is 0xFC = 0x11111100, so there are 6 uncompressed bytes (the last ones) and two compressed data entities (the "01 00" pairs). Compressed entities usually take 2 bytes in most LZSS variants and usually encode a run length/offset pair that points to a previously decompressed string in the sliding window (usually 4K in size, most certainly doesn't matter here as it's only 2K of decompressed data).
FC 01 00 01 00 73 70 72 20 47 4C
So once you find out how the compressed 2 byte pairs are encoded (could be 4 bit run length, 12 bit offset), you'll be able to decompress this.
Some pointers on algorithm variants and implementations that could help here: Bohemia Interactive Wiki: Compressed LZSS File Format.
EDIT: An even better description including pseudo code is here: LZSS - XentaxWiki