Function at 0x405780
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dc730
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x67432c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor ecx, ecx
mov dword [ebp - 4], 2
push 0xffffffffffffffff
push ecx
lea eax, [esi + 4]
mov word [ebp - 0x28], cx
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
call fcn.004029b0
cmp dword [ebp + 8], 0
mov byte [ebp - 4], 3
je 0x4057f5
lea eax, [esi + 0x1c]
lea ecx, [ebp - 0x28]
cmp ecx, eax
je 0x4057f5
push 0xffffffffffffffff
push 0
push eax
call fcn.004029b0
call fcn.00452534
test al, al
je 0x40581a
cli
retf
cmp dword [ebp + 0x50], 8
lea eax, [ebp + 0x3c]
cmovae eax, dword [ebp + 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4059f7
lea eax, [ebp + 0xc]
push eax
call fcn.0045bc25
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0045689a
add esp, 0xc
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp + 0x24]
cmovae edx, dword [ebp - 0x28]
lea eax, [ebp - 0x40]
cmp dword [ebp + 0x38], 8
push edx
cmovae ecx, dword [ebp + 0x24]
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
push str.LastUpdTimeStamp
push eax
mov byte [ebp - 4], 4
call edi
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
lea ecx, [ebp + 0x3c]
cmovae edx, dword [ebp - 0x28]
lea eax, [ebp - 0x40]
cmp dword [ebp + 0x50], 8
push edx
cmovae ecx, dword [ebp + 0x3c]
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
push str.File
push eax
call edi
call fcn.0045205a
test al, al
je 0x4058d6
mov esi, 0x6537bfd7
xlatb
jb 0x405927
out dx, eax
or eax, 0xb57eccf7
ret 0x25b8
call fcn.004524ef
test al, al
je 0x405901
and bl, byte [ebp + 0x3f]
mov esi, 0xac6946b3
push cs
add al, 0x5a
jmp 0xfae90efc
cmp dword [ebp + 0x50], 8
lea eax, [ebp + 0x3c]
cmovae eax, dword [ebp + 0x3c]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.004041e0
lea eax, [ebp - 0x58]
push eax
call fcn.0045411f
add esp, 0x1c
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
cmovae edx, dword [ebp - 0x28]
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x44], 8
push edx
cmovae ecx, dword [ebp - 0x58]
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
push str.LastMD5
push eax
call edi
push 0
call fcn.00483f86
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00405fc0
add esp, 0xc
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
mov ecx, eax
cmovae edx, dword [ebp - 0x28]
cmp dword [ecx + 0x14], 8
jb 0x40597b
mov ecx, dword [ecx]
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push edx
cmovae eax, dword [ebp - 0x40]
push ecx
push str.CacheTime
push eax
call edi
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x4059a5
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.00402c20
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x4059ba
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.00402c20
xor eax, eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x48], 0
cmp eax, 8
jb 0x4059e3
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402c20
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x405a0c
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402c20
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x20]
cmp eax, 8
jb 0x405a31
inc eax
lea ecx, [ebp + 0xc]
push eax
push dword [ebp + 0xc]
call fcn.00402c20
xor eax, eax
mov dword [ebp + 0x20], 7
mov word [ebp + 0xc], ax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x1c], 0
cmp eax, 8
jb 0x405a5a
inc eax
lea ecx, [ebp + 0x24]
push eax
push dword [ebp + 0x24]
call fcn.00402c20
xor eax, eax
mov dword [ebp + 0x38], 7
mov word [ebp + 0x24], ax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x34], 0
cmp eax, 8
jb 0x405a83
inc eax
lea ecx, [ebp + 0x3c]
push eax
push dword [ebp + 0x3c]
call fcn.00402c20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046d81d
mov esp, ebp
pop ebp
ret 0x4c