; The Visual C++ CRT unconditionally links to IsDebuggerPresent. ; This function is not available under Windows 95, so here is a ; lowlevel replacement for it. extern __imp__GetModuleHandleA@4 extern __imp__GetProcAddress@8 SECTION .data global __imp__IsDebuggerPresent@0 __imp__IsDebuggerPresent@0: dd IsDebuggerPresent_Check SECTION .rdata StrKERNEL32: db "KERNEL32",0 StrIsDebuggerPresent: db "IsDebuggerPresent",0 SECTION .text IsDebuggerPresent_No: xor eax,eax ret IsDebuggerPresent_Check: push StrKERNEL32 call [__imp__GetModuleHandleA@4] push StrIsDebuggerPresent push eax call [__imp__GetProcAddress@8] test eax,eax jne near .itis mov eax,IsDebuggerPresent_No .itis: mov [__imp__IsDebuggerPresent@0],eax jmp eax