1. Нужна секция экспорта в DLL, иначе она не загрузится в процесс родителя.
2. Если до ".loop_IAT" всё нормально, то сохраняйте регистр RBX на входе, т.к. GetProcAddress() и VirtualProtect() могут его испортить.
3. Посмотрите, что происходит в отладчике x64dbg. Предварительно зайдите в его параметры, и установите чекбокс на "UserDllEntry".
4. На вкладке "Карта памяти" отладчика можно узнать, по какому адресу загрузилась ваша либа, и правой клавишей перейти в её дизасм.листинг, чтобы поставить куда-нибудь бряк.