Function at 0x419e74
Capabilities:
Check if file exists

Disassembly:
push 0x48
mov eax, 0x43dbda
call fcn.00425c5a
mov esi, ecx
mov edi, dword [ebp + 8]
push edi
call fcn.0041a897
mov ebx, eax
pop ecx
test ebx, ebx
jl 0x41a06f
lea eax, [edi + ebx*2]
cmp word [eax + 2], 0
je 0x41a06f
push eax
lea ecx, [ebp - 0x2c]
call fcn.00417f2d
and dword [ebp - 4], 0
push edi
lea ecx, [ebp - 0x20]
call fcn.00417f2d
push ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00418da3
mov eax, dword [ebp - 0x28]
cmp eax, 6
jbe 0x419ee7
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx + eax*2 - 0xc]
push 0x4409dc
push eax
call fcn.00417af8
pop ecx
pop ecx
test al, al
jne 0x419ef4
push str.:_DATA
lea ecx, [ebp - 0x2c]
call fcn.00418097
push dword [ebp - 0x20]
call fcn.0041a7f2
test al, al
mov eax, dword [ebp - 0x20]
pop ecx
je 0x419f3a
cmp ebx, 2
je 0x419f15
cmp ebx, 3
jne 0x419f3a
cmp word [eax + 4], 0x5c
jne 0x419f3a
mov ecx, esi
call fcn.00419da7
lea ecx, [esi + 0x28]
and dword [ecx + 4], 0
mov eax, dword [ecx]
xor edx, edx
mov word [eax], dx
cmp ebx, 2
jne 0x419f4a
lea eax, [ebp - 0x20]
push eax
call fcn.00417fe3
jmp 0x419f4a
push eax
mov ecx, esi
call fcn.00419e74
test al, al
je 0x41a05d
and dword [esi + 0x20], 0xfffffbef
and dword [esi], 0
and dword [esi + 4], 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0041953b
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.00417f09
jmp 0x419fa2
cmp byte [ebp + 0xb], 0
je 0x419ff0
push dword [ebp - 0x2c]
push dword [ebp - 0x54]
call fcn.0041840e
pop ecx
pop ecx
test al, al
jne 0x41a02a
push dword [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.0041ff8a
pop ecx
lea ecx, [ebp - 0x54]
call fcn.00417f09
lea eax, [ebp + 0xb]
push eax
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.00419d69
test al, al
jne 0x419f72
push dword [ebp - 0x54]
call fcn.0041ff8a
push dword [ebp - 0x38]
call fcn.0041ff8a
pop ecx
pop ecx
lea ecx, [ebp - 0x3c]
call fcn.00419ae6
push dword [ebp - 0x20]
call fcn.0041ff8a
push dword [ebp - 0x2c]
call fcn.0041ff8a
pop ecx
pop ecx
xor al, al
call fcn.00425d32
ret 4
push 2
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor bl, bl
push dword [ebp - 0x54]
call fcn.0041ff8a
push dword [ebp - 0x38]
call fcn.0041ff8a
pop ecx
pop ecx
lea ecx, [ebp - 0x3c]
call fcn.00419ae6
push dword [ebp - 0x20]
call fcn.0041ff8a
push dword [ebp - 0x2c]
call fcn.0041ff8a
pop ecx
pop ecx
mov al, bl
jmp 0x419fe8
mov eax, dword [ebp - 0x50]
cmp eax, 7
jbe 0x41a03e
add eax, 0xfffffffa
push eax
lea ecx, [ebp - 0x54]
call fcn.00418da3
lea eax, [ebp - 0x54]
push eax
lea ecx, [esi + 0x28]
call fcn.004180d4
mov eax, dword [ebp - 0x44]
mov dword [esi], eax
mov eax, dword [ebp - 0x40]
mov dword [esi + 4], eax
mov byte [esi + 0x24], 1
mov bl, 1
jmp 0x419ffa
push dword [ebp - 0x20]
call fcn.0041ff8a
push dword [ebp - 0x2c]
call fcn.0041ff8a
pop ecx
pop ecx
or dword [ebp + 8], 0xffffffff
push esi
push edi
lea ecx, [ebp + 8]
mov dword [ebp - 4], 4
call fcn.00419b06
test al, al
je 0x41a097
lea ecx, [ebp + 8]
call fcn.00419ae6
mov al, 1
jmp 0x419fe8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14], eax
cmp eax, 2
je 0x41a0bf
cmp eax, 0x35
je 0x41a0bf
cmp eax, 0x43
je 0x41a0bf
cmp eax, 0x7b
je 0x41a0bf
cmp eax, 0xa1
jne 0x41a22c
push edi
xor ebx, ebx
call fcn.0041a823
pop ecx
test al, al
je 0x41a0cf
push 4
pop ebx
movzx eax, word [edi]
cmp ax, 0x5c
je 0x41a0de
cmp ax, 0x2f
jne 0x41a11b
cmp word [edi + 2], 0
jne 0x41a11b
push edi
call fcn.00419dca
mov edx, eax
pop ecx
cmp edx, 0xffffffff
je 0x41a22c
test dl, 0x10
je 0x41a22c
mov ecx, esi
call fcn.00419da7
and dword [esi + 0x2c], 0
mov eax, dword [esi + 0x28]
xor ecx, ecx
mov word [eax], cx
mov dword [esi + 0x20], edx
jmp 0x41a088
lea eax, [edi + ebx*2]
push eax
mov dword [ebp - 0x10], eax
call fcn.0041a6c5
pop ecx
test al, al
je 0x41a174
cmp word [edi + ebx*2 + 6], 0
jne 0x41a174
push edi
call fcn.00419dca
mov edx, eax
pop ecx
cmp edx, 0xffffffff
je 0x41a22c
test dl, 0x10
je 0x41a22c
mov ecx, esi
call fcn.00419da7
push dword [ebp - 0x10]
mov dword [esi + 0x20], edx
add esi, 0x28
mov ecx, esi
call fcn.00417f89
push 2
mov ecx, esi
call fcn.00418da3
jmp 0x41a088
push edi
call fcn.0041a78a
pop ecx
test eax, eax
jbe 0x41a22c
lea eax, [edi + eax*2]
cmp word [eax], 0
mov dword [ebp - 0x10], eax
je 0x41a22c
push eax
call fcn.0041a66b
pop ecx
test eax, eax
jge 0x41a22c
push edi
lea ecx, [ebp - 0x38]
call fcn.00417f2d
push 0x5c
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 5
call fcn.0041767b
push 0x2a
lea ecx, [ebp - 0x38]
call fcn.0041767b
push esi
push dword [ebp - 0x38]
lea ecx, [ebp + 8]
xor bl, bl
call fcn.00419b06
test al, al
je 0x41a203
lea ebx, [esi + 0x28]
push 0x4454f8
push ebx
call fcn.00418c5d
pop ecx
pop ecx
test al, al
je 0x41a201
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.00417f89
push dword [ebp - 0x38]
call fcn.0041ff8a
pop ecx
jmp 0x41a088
mov bl, 1
push edi
call fcn.00419dca
pop ecx
mov edx, eax
test bl, bl
jne 0x41a230
cmp edx, 0xffffffff
je 0x41a21a
test dl, 0x10
jne 0x41a230
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetLastError]
push dword [ebp - 0x38]
call fcn.0041ff8a
pop ecx
xor bl, bl
jmp 0x41a25e
mov ecx, esi
call fcn.00419da7
cmp edx, 0xffffffff
je 0x41a241
mov dword [esi + 0x20], edx
jmp 0x41a248
mov dword [esi + 0x20], 0x10
push dword [ebp - 0x10]
lea ecx, [esi + 0x28]
call fcn.00417f89
push dword [ebp - 0x38]
call fcn.0041ff8a
pop ecx
mov bl, 1
lea ecx, [ebp + 8]
call fcn.00419ae6
jmp 0x41a026