Function at 0x41df01
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x2e0]
sub esp, 0x360
mov eax, dword [0x46a470]
xor eax, ebp
mov dword [ebp + 0x2dc], eax
mov eax, dword [ebp + 0x2ec]
and dword [ebp - 0x78], 0
push ebx
mov ebx, dword [ebp + 0x2e8]
push ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x74], 1
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x41df54
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x41e1f5
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push edi
push ebx
call esi
mov edi, 0xff
cmp eax, edi
ja 0x41e1e9
push dword [ebp - 0x7c]
call esi
cmp eax, edi
ja 0x41e1e9
add edi, 4
push edi
lea eax, [ebp + 0x1d8]
push ebx
push eax
call fcn.0042ae70
lea eax, [ebp + 0x1d8]
push 0x5c
push eax
call fcn.004313e0
mov dword [ebp - 0x70], eax
add esp, 0x14
lea eax, [ebp + 0x1d8]
push eax
call esi
lea ecx, [ebp + 0x1d8]
dec ecx
add eax, ecx
cmp dword [ebp - 0x70], eax
je 0x41dfc8
lea eax, [ebp + 0x1d8]
push 0x45d730
push eax
call fcn.0040f056
pop ecx
pop ecx
lea eax, [ebp + 0x1d8]
push 0x45e9f8
push eax
call fcn.0040f056
pop ecx
pop ecx
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x1d8]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x70], eax
cmp eax, 0xffffffff
jne 0x41dffc
jmp 0x41e1f1
mov ebx, dword [ebp - 0x80]
push edi
lea eax, [ebp + 0x1d8]
push ebx
push eax
call fcn.0042ae70
push edi
push dword [ebp - 0x7c]
lea eax, [ebp + 0xd4]
push eax
call fcn.0042ae70
lea eax, [ebp + 0x1d8]
push 0x5c
push eax
call fcn.004313e0
mov ebx, eax
add esp, 0x20
lea eax, [ebp + 0x1d8]
push eax
call esi
lea eax, [ebp + eax + 0x1d8]
cmp ebx, eax
je 0x41e054
lea eax, [ebp + 0x1d8]
push 0x45d730
push eax
call fcn.0040f056
pop ecx
pop ecx
lea eax, [ebp + 0xd4]
push 0x5c
push eax
call fcn.004313e0
pop ecx
mov ebx, eax
pop ecx
lea eax, [ebp + 0xd4]
push eax
call esi
lea eax, [ebp + eax + 0xd4]
cmp ebx, eax
je 0x41e08d
lea eax, [ebp + 0xd4]
push 0x45d730
push eax
call fcn.0040f056
pop ecx
pop ecx
lea eax, [ebp - 0x40]
push eax
call esi
mov ebx, eax
lea eax, [ebp + 0x1d8]
push eax
call esi
add ebx, eax
cmp ebx, edi
ja 0x41e1e0
lea eax, [ebp - 0x40]
push eax
call esi
mov ebx, eax
lea eax, [ebp + 0xd4]
push eax
call esi
add ebx, eax
cmp ebx, edi
ja 0x41e1e0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp + 0x1d8]
push eax
call fcn.0040f056
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp + 0xd4]
push eax
call fcn.0040f056
add esp, 0x10
test byte [ebp - 0x6c], 0x10
je 0x41e137
cmp byte [ebp - 0x40], 0x2e
je 0x41e196
lea eax, [ebp + 0xd4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x41e116
push eax
lea eax, [ebp + 0xd4]
push eax
call fcn.0041dac3
pop ecx
pop ecx
push dword [ebp + 0x2f0]
lea eax, [ebp + 0xd4]
push eax
lea eax, [ebp + 0x1d8]
push eax
call fcn.0041df01
add esp, 0xc
and dword [ebp - 0x74], eax
jmp 0x41e196
lea eax, [ebp + 0x1d8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x41e15a
push 0x80
lea eax, [ebp + 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
xor ebx, ebx
push ebx
push 1
push ebx
lea eax, [ebp + 0xd4]
push eax
lea eax, [ebp + 0x1d8]
push eax
call fcn.0041ddea
add esp, 0x14
and dword [ebp - 0x74], eax
je 0x41e196
cmp dword [ebp + 0x2f0], ebx
je 0x41e196
push dword [ebp + 0x2f0]
lea eax, [ebp + 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x41e1b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x12
jne 0x41e1d5
mov dword [ebp - 0x78], 1
cmp dword [ebp - 0x78], 0
je 0x41dff9
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.dll_FindClose]
neg eax
sbb eax, eax
and eax, dword [ebp - 0x74]
jmp 0x41e1f3
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x41e1f1
push dword [ebp - 0x70]
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp + 0x2dc]
xor ecx, ebp
pop ebx
call fcn.00429649
add ebp, 0x2e0
leave
ret