Function at 0x40cc50
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, dword [ebp + 0x10]
cmp esi, 2
jae 0x40ccb6
xor esi, esi
inc esi
mov edi, 0x2000
mov dword [ebp - 0x10], 0
mov bl, byte [0x46e688]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9a
cmp byte [ebp - 0x10], 0
je 0x40cc9a
mov ecx, edi
and ecx, 0x1000
je 0x40cc9a
test bl, bl
jne 0x40cce7
test eax, eax
je 0x40cca6
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
xchg dword [0x46e67c], eax
xor eax, eax
jmp 0x40cc9e
lea eax, [esi - 2]
cmp eax, 5
jbe 0x40ccc1
int3
mov cl, 1
mov dword [ebp - 0x10], ecx
mov edi, 0x3000
jmp dword [eax*4 + 0x458c90]
mov esi, 0x40
jmp case.0x40cccb.2
mov esi, 0x20
jmp case.0x40cccb.2
mov esi, 4
jmp case.0x40cccb.2
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40ccff
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40cd35
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40cd6f
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40cda9
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40cde3
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40ce1d
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40ce57
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40ce91
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40cecb
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x40cc9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x40cf05
cmp eax, 0x27b
jne 0x40cca6
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40cca6