Я тут немного её подправил... надеюсь, бить меня за это не будут...
1. Вместо LZW-распаковки прикрутил LZMA (которая используется в 7-Zip и mtappack). Размер fara.gfx уменьшился на 100 с лишним килобайт.
2. При этом обнаружилось, что вредная Visual Studio при таких настройках все неинициализированные данные явно инициализирует нулями, хотя делать этого совершенно необязательно. Учитывая, что LZMA-распаковщик использует этак 32 неинициализированных килобайт, это несколько неприятно... Убедить её не делать так у меня не получилось, так что пришлось модифицировать pe2kos так, чтобы она отбрасывала завершающие нули. Это безопасно, поскольку Колибри зануляет при запуске всю память за исключением самого файла (для 70-й функции это верно без оговорок, для медленно отмирающих 58-й и 19-й следует учитывать, что (как можно считать) данные последнего сектора за пределами самого файла на диске обнулены). Кроме того, я написал небольшое описание к утилите.
http://diamondz.land.ru/pe2kos.7z
3. По аналогии с lang.inc введён lang.h для поддержки разных вариантов языка при компиляции. Скомпилировал две версии: русскую и английскую. Кстати, тебя не затруднит перевести на английский ещё и файл с описанием?
4. Процедура sprintk заменена на нормальную sprintf в C-стиле (с переменным числом аргументов). Код стал несколько читабельнее и короче.
http://diamondz.land.ru/fara.rar
http://diamondz.land.ru/farasrc.7z