Function at 0x40a29a
Capabilities:
Check if file exists

Disassembly:
push 0xc80
mov eax, 0x43241f
call fcn.00421b16
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc70], ecx
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0xc6c], eax
test ecx, ecx
je 0x40a612
cmp dword [eax + 0xbc], 0
je 0x40a612
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ebx, 0x4359ac
mov dword [ebp - 0xc68], ebx
cmp dword [ebx + 4], 0
je 0x40a5fd
cmp dword [ebx + 8], 0
je 0x40a553
mov esi, dword [ebx]
test esi, esi
je 0x40a5fd
xor eax, eax
mov ebx, 0x206
push ebx
push eax
mov word [ebp - reloc.ADVAPI32.dll_RegCloseKey], ax
lea eax, [ebp - 0x216]
push eax
call fcn.00421bc0
mov eax, dword [ebp - 0xc6c]
add eax, 0x8c
add esp, 0xc
cmp dword [eax + 0x18], 8
jb 0x40a337
mov eax, dword [eax + 4]
jmp 0x40a33a
add eax, 4
push esi
push eax
lea eax, [ebp - 0x218]
push eax
call edi
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x218]
push eax
call esi
xor eax, eax
push ebx
push eax
mov word [ebp - reloc.ADVAPI32.dll_RegCloseKey], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.00421bc0
mov eax, dword [ebp - 0xc6c]
add eax, 0xa8
add esp, 0xc
cmp dword [eax + 0x18], 8
jb 0x40a384
mov eax, dword [eax + 4]
jmp 0x40a387
add eax, 4
mov ecx, dword [ebp - 0xc68]
push dword [ecx + 4]
push eax
lea eax, [ebp - 0x420]
push eax
call edi
lea eax, [ebp - 0x420]
push eax
call esi
lea eax, [ebp - 0x218]
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x40a3ac
sub eax, ecx
sar eax, 1
mov ebx, eax
lea eax, [ebp - 0xc8c]
push eax
mov dword [ebp - 0xc74], ebx
call fcn.0040b9f1
and dword [ebp - 4], 0
lea eax, [ebp - 0xc8c]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0040e9a3
mov eax, dword [ebp - 0xc7c]
sub eax, dword [ebp - 0xc80]
pop ecx
pop ecx
push reloc.KERNEL32.dll_GetSystemTimeAsFileTime
cdq
pop ecx
idiv ecx
and dword [ebp - 0xc64], 0
test eax, eax
jbe 0x40a539
jmp 0x40a410
mov ebx, dword [ebp - 0xc74]
push dword [ebp - 0xc64]
lea esi, [ebp - 0xc8c]
call fcn.0040ba57
cmp dword [eax + 0x14], 0
je 0x40a515
push dword [ebp - 0xc64]
call fcn.0040ba57
cmp dword [eax + 0x18], 8
jb 0x40a441
mov eax, dword [eax + 4]
jmp 0x40a444
add eax, 4
push ebx
lea ecx, [ebp - 0x218]
push ecx
push eax
call fcn.0042010b
add esp, 0xc
test eax, eax
jne 0x40a515
push dword [ebp - 0xc64]
lea esi, [ebp - 0xc8c]
call fcn.0040ba57
mov esi, eax
cmp ebx, dword [esi + 0x14]
jbe 0x40a47a
call fcn.004203c7
cmp dword [esi + 0x18], 8
jb 0x40a485
mov esi, dword [esi + 4]
jmp 0x40a488
add esi, 4
add ebx, ebx
cmp word [ebx + esi], 0
je 0x40a515
push dword [ebp - 0xc64]
lea esi, [ebp - 0xc8c]
call fcn.0040ba57
cmp dword [eax + 0x18], 8
jb 0x40a4b1
mov eax, dword [eax + 4]
jmp 0x40a4b4
add eax, 4
lea esi, [ebp - 0xc60]
add ebx, eax
call fcn.00408b05
push ebx
lea eax, [ebp - 0x218]
push eax
mov eax, esi
push eax
call edi
push ebx
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0xa58]
push eax
call edi
mov eax, dword [ebp - 0xc68]
and dword [ebp - 0x850], 0
cmp dword [eax + 0xc], 0
je 0x40a503
lea eax, [ebp - 0xa58]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40a515
mov esi, dword [ebp - 0xc70]
lea eax, [ebp - 0xc60]
push eax
call fcn.0040b988
mov eax, dword [ebp - 0xc7c]
sub eax, dword [ebp - 0xc80]
push reloc.KERNEL32.dll_GetSystemTimeAsFileTime
cdq
pop ecx
idiv ecx
inc dword [ebp - 0xc64]
cmp dword [ebp - 0xc64], eax
jb 0x40a40a
or dword [ebp - 4], 0xffffffff
lea esi, [ebp - 0xc8c]
call fcn.0040ba2a
mov ebx, dword [ebp - 0xc68]
jmp 0x40a5fd
lea esi, [ebp - 0x840]
call fcn.00408b05
mov ecx, dword [ebx]
xor esi, esi
cmp ecx, esi
je 0x40a592
mov eax, dword [ebp - 0xc6c]
add eax, 0x8c
cmp dword [eax + 0x18], 8
jb 0x40a57c
mov eax, dword [eax + 4]
jmp 0x40a57f
add eax, 4
push ecx
push eax
lea eax, [ebp - 0x840]
push eax
call edi
mov dword [ebp - 0x430], esi
jmp 0x40a5af
push 0x104
lea eax, [ebp - 0x840]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x430], 1
mov eax, dword [ebp - 0xc6c]
add eax, 0xa8
cmp dword [eax + 0x18], 8
jb 0x40a5c5
mov eax, dword [eax + 4]
jmp 0x40a5c8
add eax, 4
push dword [ebx + 4]
push eax
lea eax, [ebp - 0x638]
push eax
call edi
cmp dword [ebx + 0xc], esi
je 0x40a5eb
lea eax, [ebp - 0x638]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40a5fd
mov esi, dword [ebp - 0xc70]
lea eax, [ebp - 0x840]
push eax
call fcn.0040b988
add ebx, 0x10
cmp ebx, 0x4359cc
mov dword [ebp - 0xc68], ebx
jl 0x40a2e4
call fcn.00421b99
ret 4