Initialize bit reader using Bitmap. Read one byte, fetch bits starting from the highest.
Get bit. If bit is set - read the palette data
For each 4x4 block of the image (left to right, top to bottom)
Get Bit. If bit is set:
Get Bit. If bit is set:
Read Color0, Color1 8-bits values from Data
Read BTCMap 16-bits value from Data
For each pixel of 4x4 block (left to right, top to bottom)
pixel = (BTCMap & 0x8000) ? Color1 : Color0
BTCMap <<= 1
Else
Draw block using next 4x4 bytes of Data