Function at 0x405ed0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cfa54
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x655140]
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 ebx, ecx
mov eax, dword [0x669e4c]
test eax, eax
jne 0x405f39
push 0x50
call fcn.004b4016
mov esi, eax
mov dword [ebp - 0x18], esi
push 0x50
push 0
push esi
mov dword [ebp - 4], 0
call fcn.004b69d0
add esp, 0x10
mov ecx, esi
call fcn.0040a450
mov dword [ebp - 4], 0xffffffff
mov dword [0x669e4c], eax
mov ecx, dword [eax + 0x4c]
or edi, 0xffffffff
cmp dword [ecx - 0xc], 0
jne 0x405ff6
lea eax, [ebp - 0x20]
mov dword [ebp - 0x14], 0
push eax
call fcn.0040a950
push 0x63403c
mov edx, eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1c]
call fcn.00408100
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x14]
push dword [0x67a784]
mov edx, eax
call fcn.00408100
add esp, 8
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x405fa4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 5
mov eax, edi
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x405fc2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.00408e50
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lea esi, [eax + 0x10]
mov eax, edi
mov dword [ebp - 0x18], esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406004
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x406004
add ecx, 0xfffffff0
call fcn.00408e50
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 6
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push esi
call edi
test eax, eax
jne 0x40601f
xor edi, edi
jmp 0x4060df
mov eax, esi
test eax, eax
je 0x4060c6
push esi
call edi
test eax, eax
je 0x4060c6
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebx + 0x1b4], eax
test eax, eax
je 0x406085
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetWebViewFactory
push eax
call edi
test eax, eax
je 0x40605f
call eax
mov dword [ebx + 0x1b8], eax
push str.IWebViewToIWebViewEx
push dword [ebx + 0x1b4]
call edi
push str.IsSupportedWebViewEngine
push dword [ebx + 0x1b4]
mov dword [ebx + 0x1bc], eax
call edi
mov dword [ebx + 0x1c0], eax
mov ecx, dword [ebx + 0x1b8]
xor eax, eax
test ecx, ecx
setne al
mov dword [ebx + 0x1d8], eax
test ecx, ecx
je 0x4060d0
mov ecx, dword [ebx + 0x19c]
cmp dword [ecx - 0xc], 0
je 0x4060d9
push 1
push ecx
mov edi, esp
add ecx, 0xfffffff0
mov dword [ebp - 0x24], edi
call fcn.00408e50
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.00405400
jmp 0x4060d9
mov dword [ebx + 0x1d8], 0
push 3
mov ecx, ebx
call fcn.00404e00
mov edi, dword [ebx + 0x1d8]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4060fe
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
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.004b3f1a
mov esp, ebp
pop ebp
ret