хотя в описании функции ExtractIconEx, где она используется, предполагается integer.
В связи с этим функция не может получить правильную иконку из ресурса, если используется отрицательный индекс.
Например тип файла .cat использует иконку из файла c:\windows\system32\cryptui.dll,-3418
Еще в этом методе есть проверка существования файла (строка 511), которая не находит файл, если он не имеет полного пути,
но находится в системном каталоге. Соответственно получение иконки не происходит, хотя функция ExtractIconEx спокойно может извлечь иконку.
В реестре для типа фалов .cat записано cryptui.dll,-3418
code_37247.txt
То же касается и компонента StringTableMT в методе doMT_LoadExtIcon