1 2#ifdef _M_ARM 3 4#include <kxarm.h> 5 6 LEAF_ENTRY call_method 7 __assertfail 8 LEAF_END call_method 9 10#elif defined(_M_AMD64) 11 12#include <asm.inc> 13.code64 14 15PUBLIC call_method 16call_method: 17 int 2ch 18 ret 19 20#else 21 22#include <asm.inc> 23.code32 24 25PUBLIC _call_method 26_call_method: 27 push ebp 28 mov ebp, esp 29 push esi 30 push edi 31 mov edx, dword ptr ds:[ebp + 12] 32 mov edi, esp 33 shl edx, 2 34 jz cm1 35 sub edi, edx 36 and edi, HEX(0FFFFFFF0) 37 mov esp, edi 38 mov ecx, dword ptr ds:[ebp + 12] 39 mov esi, dword ptr ds:[ebp + 16] 40 cld 41 rep movsd 42cm1: 43 call dword ptr ds:[ebp + 8] 44 sub edi, esp 45 mov ecx,[ebp + 20] 46 mov [ecx], edi 47 lea esp, [ebp - 8] 48 pop edi 49 pop esi 50 pop ebp 51 ret 52#endif 53 54 END 55