Function at 0x442a60
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
neg eax
mov dword [ebp - 0x18], eax
test esi, esi
jne 0x442a88
call fcn.00445850
mov esi, eax
and esi, dword [ebp - 0x18]
add esi, dword [ebp + 0x14]
cmp edi, 8
ja 0x442cd7
mov eax, dword [ebp + 0x10]
lea ebx, [eax - 1]
mov al, 1
lea edx, [edi - 2]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], edx
cmp edx, 6
mov dword [ebp - 0x20], eax
jbe switch.0x00442b15
mov edx, 0x2000
xor ebx, ebx
xor eax, eax
inc eax
mov dword [ebp - 0x10], edx
mov cl, byte [0x4bdf68]
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x1c], eax
push eax
push edx
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov ecx, dword [ebp - 0x10]
mov edx, eax
test bl, bl
je 0x442aef
mov eax, ecx
and eax, 0x1000
je 0x442aef
cmp byte [ebp - 0x14], 0
je 0x442aef
test edx, edx
je 0x442d47
test edx, edx
je 0x442b56
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp + 0xc]
lock add dword [0x4bdf6c], eax
mov eax, edx
and eax, ebx
cmp eax, edi
jne 0x442b2a
mov eax, edx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [edx*4 + 0x4a6a00]
mov eax, 4
mov bl, 1
mov edx, 0x3000
jmp 0x442ab4
push 0x8000
push 0
mov esi, edx
push edx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x442cd4
mov ecx, dword [ebp + 0xc]
lock sub dword [0x4bdf6c], ecx
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov eax, esi
jmp 0x442b78
call dword [sym.imp.KERNEL32.dll_GetLastError]
xchg dword [0x4bdf5c], eax
xor eax, eax
test esi, esi
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
je 0x442d11
add eax, ebx
and eax, dword [ebp - 0x18]
add eax, edi
mov esi, eax
test cl, 1
mov eax, 0
mov edi, dword [ebp + 0x18]
jne 0x442aa2
mov eax, dword [ebp + 0x10]
add eax, 0xffff0000
mov dword [ebp - 0x20], eax
mov esi, eax
add esi, dword [ebp + 0xc]
jb 0x442cf0
xor ecx, ecx
inc ecx
cmp edx, 6
jbe 0x442c7d
mov edi, 0x2000
mov dword [ebp - 0x14], 0
mov edx, ecx
mov ebx, edi
shr ebx, 0xc
and bl, byte [0x4bdf68]
push edx
push edi
mov dword [ebp - 0x10], esi
push esi
push 0
mov esi, edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
sete al
and al, byte [ebp - 0x14]
and al, bl
cmp al, 1
je 0x442f9e
test edx, edx
mov ebx, dword [ebp + 0x14]
je 0x442c98
mov eax, dword [ebp - 0x10]
lock add dword [0x4bdf6c], eax
mov eax, edx
and eax, dword [ebp - 0x28]
mov ecx, ebx
sub ecx, eax
mov eax, 0
cmovb eax, dword [ebp + 0x10]
lea ebx, [ecx + eax]
mov eax, dword [ebp - 0x20]
sub eax, ebx
or eax, ebx
je 0x442cf3
push 0x8000
push 0
push edx
mov esi, edx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x442ced
add ebx, esi
mov eax, dword [ebp - 0x10]
lock sub dword [0x4bdf6c], eax
sub esp, 8
push dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
push esi
push ebx
call fcn.00420bd0
add esp, 0x14
test eax, eax
je 0x442cf7
lock add dword [0x4bdf6c], esi
jmp 0x442b0d
mov eax, 0x40
jmp 0x442b21
mov edi, 0x3000
jmp dword [edx*4 + 0x4a6a1c]
mov edx, 4
mov cl, 1
mov dword [ebp - 0x14], ecx
jmp 0x442bc2
call dword [sym.imp.KERNEL32.dll_GetLastError]
xchg dword [0x4bdf5c], eax
call fcn.0048f470
sub esp, 8
push dword [ebp + 0x18]
push dword [ebp - 0x10]
push 0
call fcn.00420bd0
add esp, 0x14
mov edx, eax
test eax, eax
jne 0x442bfc
xor eax, eax
jmp 0x442b0d
mov edx, 0x40
jmp 0x442c8e
int3
int3
mov eax, 0x20
jmp 0x442b21
mov bl, 1
mov eax, edi
jmp 0x442b23
int3
int3
mov eax, edx
jmp 0x442cf9
xor eax, eax
test eax, eax
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x10]
mov ecx, 1
jne 0x442b0d
jmp 0x442bab
call fcn.0048f470
sub esp, 8
push dword [ebp + 0x18]
push dword [ebp + 0xc]
push 0
call fcn.00420bd0
add esp, 0x14
mov edx, eax
test eax, eax
jne 0x442af9
jmp 0x442cc6
mov edx, dword [ebp + 0x18]
jmp 0x442c8e
mov edx, 0x20
jmp 0x442c8e
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442d63
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442da1
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442ddf
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442e1d
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442e5b
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442e99
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442ed7
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442f15
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442f53
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442af3
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x442f91
cmp eax, 0x27b
jne 0x442b56
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x442b56
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
mov ebx, dword [ebp + 0x14]
jb 0x442fc3
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x443002
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x443041
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x443080
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4430bf
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4430fe
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x44313d
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x44317c
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4431bb
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x18]
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov edx, eax
test eax, eax
jne 0x442bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [eax - 0x5ae]
cmp ecx, 2
jb 0x4431fa
cmp eax, 0x27b
jne 0x442c98
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x442c98