ewavr,
This is just out of curiosity. I'm still in darkness about how you replaced the unk_XYZ values (unexplored bytes) by long compression tables. How did you get those values? Same question for def_tables.
(After double clicking the unk_XYZ,IDA displays some hex values in that location,I've tried "mark as code/byte/
word/dword" by right clicking it,but can't get those numbers of your long compression tables)