Function at 0x4016de
Capabilities:
Check for software breakpoints
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 4]
push ebx
xor ebx, ebx
cmp byte [eax], 0xcc
push esi
push edi
mov dword [ebp - 4], ebx
jne 0x401700
mov dword [ebp - 4], 1
jmp 0x401a88
push 0x14
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
cmp eax, ebx
je 0x40171f
push 0x8f
push 0x11
mov edx, 0x40b0f4
call fcn.0040498f
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x4016f4
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov esi, esp
cmp esi, ebx
je 0x40174b
push 0x88
push 0xc
mov eax, esi
mov edx, 0x40ae6c
call fcn.0040498f
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
cmp eax, ebx
je 0x40176a
push 0x96
push 0xe
mov edx, 0x40aefc
call fcn.0040498f
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
push esi
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [eax], 0x8c2c033
je 0x4016f4
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x4016f4
mov esi, dword [sym.imp.ntdll.dll_ZwQueryInformationProcess]
push ebx
push 4
lea eax, [ebp - 8]
push eax
push 7
push 0xffffffffffffffff
call esi
test eax, eax
js 0x4017b5
cmp dword [ebp - 8], ebx
jne 0x4016f4
push ebx
push 4
lea eax, [ebp - 8]
push eax
push 0x1e
push 0xffffffffffffffff
call esi
test eax, eax
js 0x4017cf
cmp dword [ebp - 8], ebx
jne 0x4016f4
xor esi, esi
cmp dword [str.X2D], ebx
je 0x4017fe
mov eax, str.X2D
push dword [eax]
call fcn.00402ccf
test eax, eax
jne 0x4017f7
inc esi
lea eax, [esi*4 + str.X2D]
cmp dword [eax], ebx
jne 0x4017de
jmp 0x4017fe
mov dword [ebp - 4], 1
xor esi, esi
cmp dword [0x40b1bc], ebx
je 0x40182d
mov eax, 0x40b1bc
push dword [eax]
call fcn.00403546
test eax, eax
jne 0x401826
inc esi
lea eax, [esi*4 + 0x40b1bc]
cmp dword [eax], ebx
jne 0x40180d
jmp 0x40182d
mov dword [ebp - 4], 1
cmp dword [ebp - 4], ebx
jne 0x401a88
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x401858
push 0x82
push 0xb
mov edx, 0x40af14
call fcn.0040498f
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 0xc], eax
cmp eax, ebx
je 0x40187a
push 0x8f
push 0xb
mov edx, 0x40ae5c
call fcn.0040498f
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x40189c
push 0x8b
push 0xb
mov edx, 0x40b0cc
call fcn.0040498f
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov ebx, esp
test ebx, ebx
je 0x4018bd
push 0x87
push 0xd
mov eax, ebx
mov edx, 0x40b0d8
call fcn.0040498f
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov esi, esp
test esi, esi
je 0x4018de
push 0x94
push 0xb
mov eax, esi
mov edx, 0x40b0e8
call fcn.0040498f
push dword [ebp - 4]
call edi
test eax, eax
jne 0x4016f4
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x4016f4
push dword [ebp - 0x10]
call edi
test eax, eax
jne 0x4016f4
push ebx
call edi
test eax, eax
jne 0x4016f4
push esi
call edi
test eax, eax
jne 0x4016f4
and dword [ebp - 4], eax
push 0x20
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 0x10], eax
test eax, eax
je 0x401940
push 0x81
push 0x1e
mov edx, 0x40b018
call fcn.0040498f
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 0xc], eax
test eax, eax
je 0x401962
push 0x88
push 0xb
mov edx, 0x40b038
call fcn.0040498f
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 0x14], eax
test eax, eax
je 0x401984
push 0x80
push 0xb
mov edx, 0x40b044
call fcn.0040498f
push 0x28
pop eax
call sub.ntdll.dll__alloca_probe
mov ebx, esp
mov esi, 0x99
test ebx, ebx
je 0x4019a6
push esi
push 0x27
mov eax, ebx
mov edx, 0x40b050
call fcn.0040498f
push 0x28
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
mov dword [ebp - 0x18], eax
test eax, eax
je 0x4019c8
push 0x95
push 0x26
mov edx, 0x40b078
call fcn.0040498f
push 0x2c
pop eax
call sub.ntdll.dll__alloca_probe
mov edi, esp
test edi, edi
je 0x4019e5
push esi
push 0x29
mov eax, edi
mov edx, 0x40b0a0
call fcn.0040498f
push dword [ebp - 0x10]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
call esi
test eax, eax
jne 0x401a88
push dword [ebp - 0xc]
call esi
test eax, eax
jne 0x401a88
push dword [ebp - 0x14]
call esi
test eax, eax
jne 0x401a88
push ebx
call esi
test eax, eax
jne 0x401a88
push dword [ebp - 0x18]
call esi
test eax, eax
jne 0x401a88
push edi
call esi
test eax, eax
jne 0x401a88
call fcn.004039dc
mov esi, eax
test esi, esi
je 0x401a88
push 0xc
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x401a4f
push 0x8d
push 9
mov edx, 0x40b108
call fcn.0040498f
mov ecx, eax
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a73
test dl, dl
je 0x401a6f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a73
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a53
xor eax, eax
jmp 0x401a78
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401a83
mov dword [ebp - 4], 1
call fcn.00404db1
mov eax, dword [ebp - 4]
lea esp, [ebp - 0x24]
pop edi
pop esi
pop ebx
leave
ret