Ну, вот как-то так оно может выглядеть - (del)
Итого 3767 байт с пришитым депакером, разница с исходным сжатым файлом 369 байт (сам депакер больше, но в него вливается заголовок). Многовато, но возможно чутка подсократить, изменив слегка формат сжатых данных, и сделав распаковку атрибутов в конце отдельно. Также можно несколько улучшить уровень сжатия, корректируя кодовое дерево (без депакера подразумевается фиксированное)