Function at 0x4019d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, 0x41a334
push ebx
xor ebx, ebx
nop
cmp dword [eax - 0x14], 0
je 0x401a1c
cmp dword [eax], 0
je 0x401a1b
cmp dword [eax + 0x14], 0
je 0x401a16
cmp dword [eax + 0x28], 0
je 0x401a11
cmp dword [eax + 0x3c], 0
je 0x401a0c
add eax, 0x64
add ebx, 5
cmp eax, 0x41ab04
jl 0x4019e0
jmp 0x401a1c
add ebx, 4
jmp 0x401a1c
add ebx, 3
jmp 0x401a1c
add ebx, 2
jmp 0x401a1c
inc ebx
cmp ebx, 0x64
jne 0x401a29
lea eax, [ebx - 0x67]
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebp + 0x10]
mov ecx, 0x4122a4
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a54
test dl, dl
je 0x401a50
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a54
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a34
xor eax, eax
jmp 0x401a59
sbb eax, eax
or eax, 1
push edi
test eax, eax
jne 0x401a76
mov edi, 0x80000000
mov dword [ebp - 8], 3
mov dword [ebp - 4], 0x80
jmp 0x401ca0
mov ecx, 0x4122a8
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401aa0
test dl, dl
je 0x401a9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401aa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a80
xor eax, eax
jmp 0x401aa5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401ac1
mov edi, 0x40000000
mov dword [ebp - 8], 2
mov dword [ebp - 4], 0x80
jmp 0x401ca0
mov ecx, 0x4122ac
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401ae8
test dl, dl
je 0x401ae4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401ae8
add eax, 2
add ecx, 2
test dl, dl
jne 0x401ac8
xor eax, eax
jmp 0x401aed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401b04
mov dword [ebp - 8], 3
mov dword [ebp - 4], 0x80
jmp 0x401c9b
mov ecx, 0x4122b0
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401b30
test dl, dl
je 0x401b2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401b30
add eax, 2
add ecx, 2
test dl, dl
jne 0x401b10
xor eax, eax
jmp 0x401b35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401b4c
mov dword [ebp - 8], 2
mov dword [ebp - 4], 0x80
jmp 0x401c9b
mov ecx, 0x412294
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401b73
test dl, dl
je 0x401b6f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401b73
add eax, 2
add ecx, 2
test dl, dl
jne 0x401b53
xor eax, eax
jmp 0x401b78
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401b88
mov dword [ebp - 4], 0x80
jmp 0x401c94
mov ecx, 0x4122b4
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401bb0
test dl, dl
je 0x401bac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401bb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x401b90
xor eax, eax
jmp 0x401bb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401bd1
mov edi, 0x40000000
mov dword [ebp - 8], 2
mov dword [ebp - 4], 0x80000080
jmp 0x401ca0
mov ecx, 0x4122b8
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401bf8
test dl, dl
je 0x401bf4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401bf8
add eax, 2
add ecx, 2
test dl, dl
jne 0x401bd8
xor eax, eax
jmp 0x401bfd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401c14
mov dword [ebp - 8], 3
mov dword [ebp - 4], 0x80000080
jmp 0x401c9b
mov ecx, 0x4122bc
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401c40
test dl, dl
je 0x401c3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401c40
add eax, 2
add ecx, 2
test dl, dl
jne 0x401c20
xor eax, eax
jmp 0x401c45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401c59
mov dword [ebp - 8], 2
mov dword [ebp - 4], 0x80000080
jmp 0x401c9b
mov ecx, 0x4122c0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401c80
test dl, dl
je 0x401c7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401c80
add eax, 2
add ecx, 2
test dl, dl
jne 0x401c60
xor eax, eax
jmp 0x401c85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401e8c
mov dword [ebp - 4], 0x80000080
mov dword [ebp - 8], 4
mov edi, 0xc0000000
mov eax, dword [ebp + 0x14]
mov ecx, 0x4122a4
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401cc8
test dl, dl
je 0x401cc4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401cc8
add eax, 2
add ecx, 2
test dl, dl
jne 0x401ca8
xor eax, eax
jmp 0x401ccd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401cdb
mov eax, 1
jmp 0x401d5e
mov eax, dword [ebp + 0x14]
mov ecx, 0x4122a8
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401d03
test dl, dl
je 0x401cff
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401d03
add eax, 2
add ecx, 2
test dl, dl
jne 0x401ce3
xor eax, eax
jmp 0x401d08
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401d13
mov eax, 2
jmp 0x401d5e
mov eax, dword [ebp + 0x14]
mov ecx, 0x412290
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401d40
test dl, dl
je 0x401d3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401d40
add eax, 2
add ecx, 2
test dl, dl
jne 0x401d20
xor eax, eax
jmp 0x401d45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401d50
mov eax, 3
jmp 0x401d5e
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
jne 0x401e78
xor eax, eax
push 0
push dword [ebp - 4]
push dword [ebp - 8]
push 0
push eax
push edi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 8], eax
lea edi, [ebx + ebx*4]
mov dword [edi*4 + 0x41a324], eax
mov dword [edi*4 + 0x41a32c], 0xffffffff
mov dword [edi*4 + 0x41a330], 0
cmp eax, 0xffffffff
jne 0x401dd0
mov dword [edi*4 + 0x41a320], 0
mov dword [edi*4 + 0x41a328], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
mov dword [0x41a31c], eax
cmp eax, 2
pop edi
setne bl
add ebx, 0xfffffffe
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov ecx, 0x412294
mov dword [edi*4 + 0x41a328], eax
mov eax, esi
mov dword [edi*4 + 0x41a320], 1
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401e10
test dl, dl
je 0x401e0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401e10
add eax, 2
add ecx, 2
test dl, dl
jne 0x401df0
xor eax, eax
jmp 0x401e15
sbb eax, eax
or eax, 1
test eax, eax
je 0x401e49
mov eax, 0x4122c0
nop
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x401e40
test cl, cl
je 0x401e3c
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x401e40
add esi, 2
add eax, 2
test cl, cl
jne 0x401e20
xor eax, eax
jmp 0x401e45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401e6f
cmp ebx, 0x63
ja 0x401e6f
push 2
push 0
push 0
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x401e6f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi*4 + 0x41a330], eax
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov dword [0x41a31c], 0xffffff9e
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov dword [0x41a31c], 0xffffff9d
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret