Function at 0x41d40c
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0xbc0]
sub esp, 0xc40
mov eax, dword [0x61dc40]
xor eax, ebp
mov dword [ebp + 0xbbc], eax
push edi
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], eax
cmp edi, eax
je 0x41d6d8
cmp word [edi], ax
je 0x41d6d8
push ebx
push esi
mov esi, 0x206
push esi
push eax
lea eax, [ebp + 0x5a6]
xor ecx, ecx
push eax
mov word [ebp + 0x5a4], cx
call fcn.00596530
push edi
mov ebx, 0x5db9e0
push ebx
mov edi, 0x103
lea eax, [ebp + 0x5a4]
push edi
push eax
call fcn.0058f42f
add esp, 0x1c
lea eax, [ebp + 0x5a4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp + 0x5a4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
xor eax, eax
push esi
push eax
mov word [ebp + 0x9b4], ax
lea eax, [ebp + 0x9b6]
push eax
call fcn.00596530
add esp, 0xc
push dword [ebp - 0x80]
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push ebx
lea eax, [ebp + 0x9b4]
push edi
push eax
call fcn.0058f42f
xor eax, eax
push esi
push eax
mov word [ebp + 0x7ac], ax
lea eax, [ebp + 0x7ae]
push eax
call fcn.00596530
xor eax, eax
push esi
push eax
mov word [ebp + 0x39c], ax
lea eax, [ebp + 0x39e]
push eax
call fcn.00596530
lea eax, [ebp + 0x9b4]
push 0x5d03f8
push eax
call fcn.0059017c
add esp, 0x30
jmp 0x41d526
push 0x5f
pop ecx
mov word [eax], cx
lea eax, [ebp + 0x9b4]
push 0x5d03f8
push eax
call fcn.0059017c
pop ecx
pop ecx
test eax, eax
jne 0x41d50d
lea eax, [ebp + 0x9b4]
push eax
lea eax, [ebp + 0x5a4]
push eax
lea eax, [ebp + 0x7ac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x5def44
lea eax, [ebp + 0x7ac]
push eax
push 0x5def50
lea eax, [ebp + 0x39c]
push edi
push eax
call fcn.0058f42f
add esp, 0x14
lea eax, [ebp + 0x7ac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41d58c
lea eax, [ebp + 0x39c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41d6ba
xor eax, eax
push esi
push eax
mov word [ebp + 0x194], ax
lea eax, [ebp + 0x196]
push eax
mov dword [ebp - 0x7c], 1
call fcn.00596530
xor eax, eax
push esi
push eax
mov word [ebp - 0x74], ax
lea eax, [ebp - 0x72]
push eax
call fcn.00596530
lea eax, [ebp + 0x9b4]
push 0x2e
push eax
call fcn.0058feb5
add esp, 0x20
mov dword [ebp - 0x78], eax
test eax, eax
je 0x41d605
lea ecx, [ebp + 0x9b4]
sub eax, ecx
sar eax, 1
push eax
mov eax, ecx
push eax
mov esi, 0x104
lea eax, [ebp + 0x194]
push esi
push eax
call fcn.0058fa21
push dword [ebp - 0x78]
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.00593b89
add esp, 0x1c
jmp 0x41d620
lea eax, [ebp + 0x9b4]
push eax
lea eax, [ebp + 0x194]
push 0x104
push eax
call fcn.00593b89
add esp, 0xc
mov dword [ebp - 0x78], 1
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x78]
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp + 0x5a4]
push eax
push str._s_s__d__s
lea eax, [ebp + 0x7ac]
push edi
push eax
call fcn.0058f42f
push 0x5def44
lea eax, [ebp + 0x7ac]
push eax
push 0x5def50
lea eax, [ebp + 0x39c]
push edi
push eax
call fcn.0058f42f
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0x30
lea eax, [ebp + 0x7ac]
push eax
call esi
test eax, eax
jne 0x41d68f
lea eax, [ebp + 0x39c]
push eax
call esi
test eax, eax
je 0x41d69b
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 0x3e8
jl 0x41d627
lea eax, [ebp + 0x7ac]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
push ebx
lea eax, [ebp + 0x9b4]
push edi
push eax
call fcn.0058f42f
add esp, 0x10
lea eax, [ebp + 0x9b4]
push eax
lea eax, [ebp + 0x5a4]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov eax, dword [ebp - 0x7c]
pop esi
pop ebx
jmp 0x41d6da
xor eax, eax
mov ecx, dword [ebp + 0xbbc]
xor ecx, ebp
pop edi
call fcn.0058f3cf
add ebp, 0xbc0
leave
ret