Если не сбрасывать длл на диск перед запуском, то в принципе достаточно размапить ее в память, насторить релоки, связать таблицу импорта и вызвать DllMain(), дальше можно юзать как хочешь, но не надейся что хотябы одна АПИ функция юзаящая hInstance бедет применима к этой "длл" под всеми мастдаями. Это я ктому что про GetProcAddress/LoadResource/etc можешь забыть - все придется писать ручками :)
Как пример, моя ступидная тулза, не совсем на асме, но иногда работает ;)
http://uinc.ru/scripts/load.cgi?files/dr.golova/TFakeDll.zip