__asm { @WriteProcessMemoryTrampoline: mov eax, WriteProcessMemory ; IAT mov eax, [eax+2] ; .idata mov eax, [eax] ; kernel32.WriteProcessMemory add eax, 5 ; kernel32.WriteProcessMemory+5 mov edi, edi ; emulate first instruction push ebp ; emulate second instruction mov ebp, esp ; emulate third instruction jmp ; JMP to kernel32.WriteProcessMemory+5 }