Я не знаю точную ситуацию, в которой вы находитесь, и сколько функций DLL реализует для вашего приложения. Но я бы сказал, что в большинстве случаев было бы лучше переписать отсутствующую DLL на основе известных функций.
Это особенно верно, если у вас есть некоторая документация для этого.
Попытка выполнить обратный инжиниринг двоичного кода в ассемблер, затем в C ++, а затем попытаться изменить его, чтобы обеспечить существующую функциональность, в большинстве случаев отнимает много времени, а может быть, даже невозможно.