Function at 0x4010b8
Capabilities:
Execute anti-debugging instructions

Disassembly:
push esi
mov esi, dword [0x1083adc]
push 0x1086050
jmp 0x40195e
xor esi, dword [sym.imp.KERNEL32.dll_GetDateFormatA]
clc
cmp ebp, 0x4397ad7
jmp 0x401e27
xor esi, dword [sym.imp.KERNEL32.dll_GetSystemInfo]
stc
cmp dl, 0xb6
test edi, ecx
xor esi, dword [sym.imp.KERNEL32.dll_GetThreadLocale]
cmp sp, cx
test edi, 0x57da43a6
xor esi, dword [sym.imp.KERNEL32.dll_GetThreadPriority]
clc
cmp esp, ecx
xor esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x401ee5
lea esp, [esp + 4]
shl dx, 6
btc ecx, 0xed
bsr edx, esp
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileW]
bt edx, 0x6e
xor esi, eax
xor esi, dword [sym.imp.KERNEL32.dll_CreatePipe]
mov edx, 0x46a2fe
rcl ah, cl
xor esi, dword [sym.imp.KERNEL32.dll_CreateProcessA]
xor esi, dword [sym.imp.KERNEL32.dll_CreateThread]
ror ecx, 0xcf
xor esi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
shl cl, cl
mov ecx, 0x46a304
mov eax, 0x46a30a
xor esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x401a96
xor esi, dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
test edx, esi
stc
xor esi, dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test dh, 0xa4
xor esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp edi, ebp
xor esi, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoA]
xor esi, dword [sym.imp.KERNEL32.dll_EnumResourceLanguagesA]
xor esi, dword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
jmp 0x402262
xor esi, dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
xor esi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
stc
cmc
cmp di, 0x6c89
xor esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
clc
xor esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmc
test esp, 0x247b751a
xor esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test bl, bl
clc
test edx, 0x2fd95ec8
xor esi, dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor esi, dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
xor esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test bl, 1
xor esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor esi, dword [sym.imp.KERNEL32.dll_GetOEMCP]
test dx, sp
xor esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esp, ebx
cmc
xor esi, dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test bp, 0x2c89
xor esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
cmp esi, ebp
xor esi, dword [sym.imp.KERNEL32.dll_GetProfileStringA]
xor esi, dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
xor esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
test ebx, ebp
cmp ebp, esp
xor esi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test esp, edx
jmp 0x401245
xor esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
xor esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp ax, dx
clc
xor esi, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
xor esi, dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
clc
xor esi, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test ecx, esi
clc
xor esi, dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
xor esi, dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp ch, 0x38
test di, bx
xor esi, dword [sym.imp.KERNEL32.dll_GlobalLock]
xor esi, dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
test ebp, 0x45797588
stc
test ebx, eax
xor esi, dword [sym.imp.KERNEL32.dll_GlobalSize]
xor esi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
cmp edx, 0x3770609d
xor esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
stc
xor esi, dword [sym.imp.KERNEL32.dll_HeapFree]
jmp loc.01087bf9
xor esi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
jmp 0x4011eb
xor esi, dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp ebp, 0x1a461141
xor esi, dword [sym.imp.KERNEL32.dll_FindNextFileA]
xor esi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
xor esi, dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp ax, sp
test dx, 0x1f55
xor esi, dword [sym.imp.KERNEL32.dll_FindResourceExA]
xor esi, dword [sym.imp.KERNEL32.dll_FormatMessageA]
clc
cmp ch, 0x75
xor esi, dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
cmc
clc
test ebx, ebp
xor esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
test dl, 0xb5
xor esi, dword [sym.imp.KERNEL32.dll_FreeResource]
cmp sp, dx
xor esi, dword [sym.imp.KERNEL32.dll_GetACP]
xor esi, dword [sym.imp.KERNEL32.dll_GetCommandLineA]
test edi, 0x7b541cb2
test edx, esp
xor esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor esi, dword [sym.imp.KERNEL32.dll_GetComputerNameA]
xor esi, dword [sym.imp.KERNEL32.dll_GetConsoleMode]
xor esi, dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
stc
xor esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp ebx, 0x184202e3
test si, bp
xor esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
clc
xor esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
clc
xor esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
jmp 0x402064
xor esi, dword [sym.imp.KERNEL32.dll_EnumResourceTypesA]
test bx, cx
xor esi, dword [sym.imp.KERNEL32.dll_EnumSystemCodePagesA]
cmp esp, 0x4ca23fae
xor esi, dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
xor esi, dword [sym.imp.KERNEL32.dll_ExitProcess]
test esi, 0x1c6c7e4d
xor esi, dword [sym.imp.KERNEL32.dll_ExitThread]
clc
cmp bl, 0xc
test edx, 0x68492d8e
invalid
invalid
nop