procedure test(a, b, c : Integer); stdcall; begin { push ebp mov ebp, esp // do stuff pop ebp ret $000c // <- bytesize of parameters to pop = 12 bytes // hides pop returnaddress and jump to it } end; procedure MyTestProc; begin test(10, 20, 30); { push $1e push $14 push $0a call test // hides push returnaddress } end;