[778] | 1 | .486
|
---|
| 2 | .model flat, stdcall
|
---|
| 3 |
|
---|
[799] | 4 | ImportTrapLocal MACRO name, arg
|
---|
| 5 | @CATSTR(<_imp__>, name, <@>, arg) dd @CATSTR(name, <_Helper@>, arg)
|
---|
| 6 | PUBLIC @CATSTR(<_imp__>, name, <@>, arg)
|
---|
| 7 | ENDM
|
---|
[778] | 8 |
|
---|
[799] | 9 | ImportTrap MACRO name, arg
|
---|
| 10 | ImportTrapLocal name, arg
|
---|
| 11 | EXTERN @CATSTR(name, <_Helper@>, arg) : DWORD
|
---|
| 12 | ENDM
|
---|
[778] | 13 |
|
---|
[799] | 14 | .data
|
---|
| 15 | ImportTrap IsDebuggerPresent, 0
|
---|
| 16 | ImportTrap EncodePointer, 4
|
---|
| 17 | ImportTrap DecodePointer, 4
|
---|
| 18 | ImportTrap IsProcessorFeaturePresent, 4
|
---|
| 19 | ImportTrap HeapSetInformation, 16
|
---|
| 20 | ImportTrap InitializeCriticalSectionAndSpinCount, 8
|
---|
| 21 | ImportTrap InterlockedPushEntrySList, 8
|
---|
| 22 | ImportTrap InterlockedPopEntrySList, 4
|
---|
| 23 | ImportTrapLocal InterlockedCompareExchange, 12
|
---|
[778] | 24 |
|
---|
[779] | 25 | .code
|
---|
[799] | 26 | InterlockedCompareExchange_Helper@12 PROC PRIVATE
|
---|
[778] | 27 | mov ecx,[esp+4]
|
---|
| 28 | mov edx,[esp+8]
|
---|
| 29 | mov eax,[esp+12]
|
---|
| 30 | lock cmpxchg [ecx],edx
|
---|
| 31 | ret 12
|
---|
[799] | 32 | InterlockedCompareExchange_Helper@12 ENDP
|
---|
[778] | 33 | end
|
---|