0
|
1 .386
|
|
2 .MODEL FLAT
|
|
3 .CODE
|
|
4
|
|
5 _dcCall_x86_cdecl PROC
|
|
6 OPTION PROLOGUE:NONE, EPILOGUE:NONE
|
|
7 push ebp
|
|
8 mov ebp, esp
|
|
9 push esi
|
|
10 push edi
|
|
11 mov esi, dword ptr[ebp+12]
|
|
12 mov ecx, dword ptr[ebp+16]
|
|
13 sub esp, ecx
|
|
14 mov edi, esp
|
|
15 shr ecx, 2
|
|
16 rep movsd
|
|
17 call dword ptr[ebp+8]
|
|
18 add esp, dword ptr[ebp+16]
|
|
19 pop edi
|
|
20 pop esi
|
|
21 mov esp, ebp
|
|
22 pop ebp
|
|
23 ret
|
|
24 _dcCall_x86_cdecl ENDP
|
|
25 _dcCall_x86_win32_msthis PROC
|
|
26 OPTION PROLOGUE:NONE, EPILOGUE:NONE
|
|
27 push ebp
|
|
28 mov ebp, esp
|
|
29 push esi
|
|
30 push edi
|
|
31 mov esi, dword ptr [ebp+12]
|
|
32 mov ecx, dword ptr [ebp+16]
|
|
33 mov eax, dword ptr [esi+0]
|
|
34 add esi, 4
|
|
35 sub ecx, 4
|
|
36 sub esp, ecx
|
|
37 mov edi, esp
|
|
38 rep movsb
|
|
39 mov ecx, eax
|
|
40 call dword ptr[ebp+8]
|
|
41 pop edi
|
|
42 pop esi
|
|
43 mov esp, ebp
|
|
44 pop ebp
|
|
45 ret
|
|
46 _dcCall_x86_win32_msthis ENDP
|
|
47 _dcCall_x86_win32_std PROC
|
|
48 OPTION PROLOGUE:NONE, EPILOGUE:NONE
|
|
49 push ebp
|
|
50 mov ebp, esp
|
|
51 push esi
|
|
52 push edi
|
|
53 mov esi, dword ptr[ebp+12]
|
|
54 mov ecx, dword ptr[ebp+16]
|
|
55 sub esp, ecx
|
|
56 mov edi, esp
|
|
57 rep movsb
|
|
58 call dword ptr[ebp+8]
|
|
59 pop edi
|
|
60 pop esi
|
|
61 mov esp, ebp
|
|
62 pop ebp
|
|
63 ret
|
|
64 _dcCall_x86_win32_std ENDP
|
|
65 _dcCall_x86_win32_fast PROC
|
|
66 OPTION PROLOGUE:NONE, EPILOGUE:NONE
|
|
67 push ebp
|
|
68 mov ebp, esp
|
|
69 push esi
|
|
70 push edi
|
|
71 mov esi, dword ptr[ebp+12]
|
|
72 mov ecx, dword ptr[ebp+16]
|
|
73 mov eax, dword ptr[esi+0]
|
|
74 mov edx, dword ptr[esi+4]
|
|
75 add esi, 8
|
|
76 sub ecx, 8
|
|
77 mov dword ptr [ebp+16], ecx
|
|
78 sub esp, ecx
|
|
79 mov edi, esp
|
|
80 rep movsb
|
|
81 mov ecx, eax
|
|
82 call dword ptr[ebp+8]
|
|
83 pop edi
|
|
84 pop esi
|
|
85 mov esp, ebp
|
|
86 pop ebp
|
|
87 ret
|
|
88 _dcCall_x86_win32_fast ENDP
|
|
89 _dcCall_x86_sys_int80h_linux PROC
|
|
90 OPTION PROLOGUE:NONE, EPILOGUE:NONE
|
|
91 push ebp
|
|
92 mov ebp, esp
|
|
93 push ebx
|
|
94 push esi
|
|
95 push edi
|
|
96 mov eax, dword ptr[ebp+12]
|
|
97 mov ebx, dword ptr[eax+0]
|
|
98 mov ecx, dword ptr[eax+4]
|
|
99 mov edx, dword ptr[eax+8]
|
|
100 mov esi, dword ptr[eax+12]
|
|
101 mov edi, dword ptr[eax+16]
|
|
102 mov eax, dword ptr[ebp+8]
|
|
103 int 80h
|
|
104 pop edi
|
|
105 pop esi
|
|
106 pop ebx
|
|
107 mov esp, ebp
|
|
108 pop ebp
|
|
109 ret
|
|
110 _dcCall_x86_sys_int80h_linux ENDP
|
|
111 _dcCall_x86_sys_int80h_bsd PROC
|
|
112 OPTION PROLOGUE:NONE, EPILOGUE:NONE
|
|
113 push ebp
|
|
114 mov ebp, esp
|
|
115 push esi
|
|
116 push edi
|
|
117 mov esi, dword ptr[ebp+12]
|
|
118 mov ecx, dword ptr[ebp+16]
|
|
119 sub esp, ecx
|
|
120 mov edi, esp
|
|
121 shr ecx, 2
|
|
122 rep movsd
|
|
123 mov eax, dword ptr[ebp+8]
|
|
124 call _do_int
|
|
125 pop edi
|
|
126 pop esi
|
|
127 mov esp, ebp
|
|
128 pop ebp
|
|
129 ret
|
|
130 _do_int:
|
|
131 int 80h
|
|
132 ret
|
|
133 _dcCall_x86_sys_int80h_bsd ENDP
|
|
134 END
|