int Run( lua_State *state ) { void (*pfunc)(); void *_eax; const char *Function = LUA->GetString( 1 ); LPVOID lpAlloc = NULL; lpAlloc = VirtualAlloc( 0, 4096, MEM_COMMIT, PAGE_EXECUTE_READWRITE); if(lpAlloc == NULL){ return 0; } memcpy(lpAlloc, Function, lstrlenA((LPCSTR)Function) + 1); pfunc = (void (*)( ))lpAlloc; _asm { mov _eax, EAX } pfunc( ); _asm { mov EAX, _eax } return 0; }