По-моему, __cpuid запрашивает информацию у процессора через ассемблерную инструкцию CPUID, которая, в свою очередь, возвращает информацию, зашитую в процессоре производителем. Поэтому подменить врядли получится.
Разобраться, какие функции нужны и перенести их код из одних исходников в другие. При этом нужно учитывать зависимости от других, нестандартных библиотек, если они есть.
Если файл текстовый и помещается в память, то считываете файл в массив символов, меняете в массиве символы на нужные, перезаписываете файл с данными из этого массива.
Что не так:
1. Выражение if(a=b) необходимо заменить на if(a==b)
2. Вещественные числа a и b равны, если fabs(a - b) < EPSILON. Следовательно, выражение if(a!=b) надо заменить на if(!(fabs(a - b) < EPSILON))
Если стоит задача реализации с помощью 4-х потоков, то нужно использовать 4 потока. ThreadPool нужен для гибкой настройки использования потоков, например не больше 4-х в зависимости от входных условий.