BITS 64 main: ; Replacement entry point push rsi call GetKernel32ModuleHandle mov rsi, rax ; kernel32.dll mov rcx, rax call GetAddressOf_GetProcAddress mov rcx, rsi ; kernel32.dll lea rdx, [rel s_LoadLibraryA] call rax ; rax = *LoadLibraryA lea rcx, [rel dllPath] call rax ; LoadLibraryA(dllPath) pop rsi ret %include "gpa.asm" ; Strings s_LoadLibraryA: db "LoadLibraryA", 0 dllPath: ; This will be filled out by the injector ; Path to the dll to inject into the launcher