Function at 0x413e91
Capabilities:
Check if file exists

Disassembly:
push 0x2b8
mov eax, 0x59ca19
call fcn.005693c7
mov esi, dword [ebp + 8]
push esi
call fcn.00578706
pop ecx
cmp eax, 3
jb 0x41417d
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41417d
push esi
lea ecx, [ebp - 0x28]
call fcn.00402ac4
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.00419b70
mov ebx, 0x5a0a50
pop ecx
test eax, eax
jne 0x413ef3
push ebx
call fcn.00578706
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00408c34
call fcn.0042aeec
test al, al
je 0x413f12
in eax, 0xf8
insd dword es:[di], dx
out dx, al
inc ebx
shl byte [esi + ebx*8], 0xd4
insb byte es:[edi], dx
pop es
test eax, 0x4a9d06dd
out dx, al
jg 0x413f8f
sbb dword [esi - 0x7d], ebp
rol byte gs:[eax], 1
and dword [ebp - 0x30], 0
xor eax, eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x70]
call fcn.00402a71
mov esi, 0x5a3400
mov byte [ebp - 4], 2
push esi
call fcn.00578706
pop ecx
push eax
push esi
lea ecx, [ebp - 0x70]
call fcn.00408c34
cmp dword [ebp - 0x5c], 8
lea ecx, [ebp - 0x2c0]
lea eax, [ebp - 0x70]
cmovae eax, dword [ebp - 0x70]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2c4], eax
call fcn.0042ae62
test al, al
je 0x413f94
mov edx, 0x7fd0cb8d
pop ss
add dword [edi], 0xae65a7d
xchg ebx, eax
add esp, dword [eax - 0x39fea576]
nop
cld
cmp dword [ebx + 0x18], edi
or byte [edi - 0x3d9ebaf5], 0xe8
imul eax, dword gs:[ecx], 0x74c08400
sbb dword [edi + 0x60ef52], ecx
mov byte [ebx - 0x5335fdf5], dh
inc edx
invalid
cmpsd dword [esi], dword es:[edi]
or eax, dword [ebp + 0x61]
ret 0x65e8
call fcn.0042a8fe
test al, al
je 0x413fb6
invalid
call fcn.0042abb0
test al, al
je 0x413fdb
mov esp, 0xf2b0e10
mov dword [0xb76cfbb3], eax
sbb al, 0x6f
jmp 0xf67cc480
mov esi, dword [ebp - 0x2c4]
cmp esi, 0xffffffff
je 0x414105
push 0x2e
pop ebx
mov edi, 0x5a0a50
lea eax, [ebp - 0x2c0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x414105
cmp word [ebp - 0x294], bx
je 0x413ff2
cmp word [ebp - 0x292], 0
je 0x413ff2
cmp word [ebp - 0x292], bx
jne 0x41402e
cmp word [ebp - 0x290], 0
je 0x413ff2
test byte [ebp - 0x2c0], 0x10
lea eax, [ebp - 0x28]
je 0x4140aa
push eax
lea ecx, [ebp - 0x58]
call fcn.00402a71
cmp word [ebp - 0x294], 0
mov byte [ebp - 4], 3
jne 0x414055
xor eax, eax
jmp 0x414062
lea eax, [ebp - 0x294]
push eax
call fcn.00578706
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x58]
call fcn.00408c34
push edi
call fcn.00578706
pop ecx
push eax
push edi
lea ecx, [ebp - 0x58]
call fcn.00408c34
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
call fcn.00413e91
pop ecx
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.00403628
jmp 0x413ff2
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x40]
call fcn.004036b6
cmp word [ebp - 0x294], 0
jne 0x4140c5
xor eax, eax
jmp 0x4140d2
lea eax, [ebp - 0x294]
push eax
call fcn.00578706
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x40]
call fcn.00408c34
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402ac4
call fcn.004159ca
add esp, 0x18
jmp 0x413ff2
call fcn.0042aa12
test al, al
je 0x41412d
sbb dword es:[ebp - 0x4b8b1ad7], 0
add eax, 0x11d58ab1
mov word [ebx + 0x6b], cs
mov byte [edi], cl
ficom word [ebp - 0x2c38bfb2]
and al, 0xac
rcl dword [ebx], 0x68
imul ebp, dword [ecx - 0x73ea00aa], 0x83005a01
jge 0x414123
inc eax
invalid
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 0x20
or byte [ebp + 0x206ad845], cl
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor ebx, ebx
lea ecx, [ebp - 0x70]
push ebx
push 1
call fcn.00403628
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.00403628
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00403628
call fcn.00569382
ret