Function at 0x41a160
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [ebp + 8], 0
mov dword [ebp - 0x2c], ecx
je 0x41a199
mov eax, dword [ecx]
mov ecx, dword [eax + 0x580]
mov ecx, dword [ecx + 0x20]
call fcn.00419f50
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0052c233
mov esp, ebp
pop ebp
ret 4
push esi
mov esi, dword [ecx + 0x1c]
sub esi, 1
mov dword [ebp - 0x30], esi
js 0x41a27b
push ebx
push edi
jmp 0x41a1b0
mov eax, dword [ecx + 0x1c]
cmp esi, eax
jl 0x41a1c5
test eax, eax
je 0x41a279
dec eax
mov dword [ebp - 0x30], eax
jmp 0x41a1c8
mov eax, dword [ebp - 0x30]
mov esi, dword [ecx + 0xc]
mov esi, dword [esi + eax*4]
cmp dword [esi + 0x64], 2
je 0x41a26a
cmp byte [esi + 0xb8], 0
jne 0x41a26a
xor bl, bl
call fcn.0040baa0
cmp dword [esi + 0x88], 8
lea edi, [esi + 0x74]
mov dword [ebp - 0x34], eax
jb 0x41a1ff
mov ecx, dword [edi]
jmp 0x41a201
mov ecx, edi
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41a217
mov ecx, dword [ebp - 0x34]
push eax
call fcn.004ba550
mov bl, 1
cmp dword [esi + 0x64], 4
je 0x41a296
cmp dword [edi + 0x14], 8
jb 0x41a227
mov eax, dword [edi]
jmp 0x41a229
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41a28c
mov dword [esi + 0x64], 4
mov byte [esi + 0x70], al
mov byte [esi + 0x30], 1
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], eax
cmp byte [esi + 4], al
je 0x41a259
mov ecx, dword [esi]
push 0x70
push esi
mov ecx, dword [ecx]
call fcn.00476f10
test bl, bl
je 0x41a267
mov ecx, dword [ebp - 0x34]
push 1
call fcn.004ba550
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
sub esi, 1
mov dword [ebp - 0x30], esi
jns 0x41a1b0
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.0052c233
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x64], 4
jne 0x41a316
cmp dword [edi + 0x14], 8
jb 0x41a2a0
mov eax, dword [edi]
jmp 0x41a2a2
mov eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41a316
cmp dword [edi + 0x14], 8
jb 0x41a2b5
mov edi, dword [edi]
lea eax, [ebp - 0x28]
push eax
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x41a259
mov al, byte [ebp - 0x28]
lea ecx, [esi + 0xf8]
and al, 1
mov dword [esi + 0x64], 8
mov byte [esi + 0x70], al
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x68], eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x6c], eax
call fcn.0041d110
test al, al
je 0x41a259
cmp byte [esi + 4], 0
je 0x41a306
mov ecx, dword [esi]
push 0x70
push esi
mov ecx, dword [ecx]
call fcn.00476f10
lea ecx, [esi + 0xf8]
call fcn.0041d140
jmp 0x41a259
cmp dword [edi + 0x14], 8
jb 0x41a31e
mov edi, dword [edi]
lea eax, [ebp - 0x28]
push eax
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x41a259
mov al, byte [ebp - 0x28]
xor edi, edi
and al, 1
cmp al, byte [esi + 0x70]
je 0x41a347
mov byte [esi + 0x70], al
mov edi, 0x10
lea eax, [ebp - 0x14]
push eax
lea ebx, [esi + 0x68]
push ebx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
je 0x41a36e
mov eax, dword [ebp - 0x14]
or edi, 0x60
mov dword [ebx], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 4], eax
mov dword [esi + 0x64], 8
test edi, edi
je 0x41a267
lea ebx, [esi + 0xf8]
mov ecx, ebx
call fcn.0041d110
test al, al
je 0x41a267
cmp byte [esi + 4], 0
je 0x41a39c
mov ecx, dword [esi]
push edi
push esi
mov ecx, dword [ecx]
call fcn.00476f10
mov ecx, ebx
call fcn.0041d140
jmp 0x41a267