Function at 0x405900
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52a738
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x581980]
xor eax, esp
mov dword [esp + 0x40], eax
push ebx
push esi
push edi
mov eax, dword [0x581980]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov esi, ecx
push 0x564230
mov dword [esp + 0x14], esi
call fcn.00457950
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00402000
add esp, 0xc
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x18]
mov edi, 8
cmp dword [esp + 0x2c], edi
jae 0x40596e
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4059c8
test al, 0x10
jne 0x4059c8
cmp byte [0x582d2f], bl
je 0x4059c8
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x2c], edi
jae 0x405994
lea eax, [esp + 0x18]
push eax
call fcn.0045a0c0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x30], esp
push ebx
lea eax, [esp + 0x38]
xor edx, edx
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402710
call fcn.00458790
add esp, 0x1c
cmp byte [0x5875c0], bl
jne 0x4059e1
mov ecx, dword [esi + 4]
push 1
push 0x56425c
push ecx
call dword [sym.imp.USER32.dll_SetPropW]
mov edi, esi
call fcn.00411740
mov ecx, esi
call fcn.004115b0
call fcn.0045a000
test eax, eax
jne 0x405a10
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, edi
push 0xc8
call edi
call fcn.0045a000
test eax, eax
je 0x405a00
push 1
lea ebx, [esi + 0x230]
push 0x5649e0
call fcn.0040b100
push 1
push str.minbtn
mov dword [esi + 0x3e8], eax
call fcn.0040b100
push 1
push str.closebtn
mov dword [esi + 0x3ec], eax
call fcn.0040b100
push 8
mov dword [esi + 0x3f0], eax
call fcn.004f294c
add esp, 4
test eax, eax
je 0x405a62
mov dword [eax], vtable.CWebBrowserEventHandlerEx.0
jmp 0x405a64
xor eax, eax
push esi
mov dword [esi + 0x3e4], eax
call fcn.00409c80
mov eax, dword [esi + 0x3e8]
test eax, eax
je 0x405b4a
mov ecx, dword [esi + 4]
mov dword [eax + 0x600], ecx
mov eax, dword [esi + 0x3e8]
mov ecx, 1
cmp dword [eax + 0x5fc], ecx
je 0x405aa0
mov dword [eax + 0x5fc], ecx
mov eax, dword [esi + 0x3e8]
cmp dword [eax + 0x5f8], ecx
je 0x405ab4
mov dword [eax + 0x5f8], ecx
mov ecx, dword [esi + 0x3e4]
mov eax, dword [esi + 0x3e8]
test ecx, ecx
je 0x405ad2
cmp dword [eax + 0x5f4], ecx
je 0x405ad2
mov dword [eax + 0x5f4], ecx
mov ecx, dword [eax + 0x600]
mov eax, dword [eax + 0x5f4]
mov dword [eax + 4], ecx
mov edi, dword [esi + 0x3e8]
mov ecx, str.about:blank
call fcn.00419230
lea edx, [esi + 0x400]
push edx
lea ebx, [esp + 0x38]
call fcn.004570c0
add esp, 4
mov ebx, 8
mov byte [esp + 0x60], 1
cmp dword [eax + 0x14], ebx
jb 0x405b15
mov eax, dword [eax]
mov edi, dword [esi + 0x3e8]
mov ecx, eax
call fcn.00419230
mov byte [esp + 0x60], 0
mov edi, eax
cmp dword [esp + 0x48], ebx
jb 0x405b3c
mov eax, dword [esp + 0x34]
push eax
call fcn.004f287e
add esp, 4
test edi, edi
js 0x405b4a
mov dword [esi + 0x50c], 1
mov dword [0x5875c4], esi
lea esi, [esp + 0x34]
call fcn.004590c0
mov ebx, dword [esp + 0x10]
lea esi, [ebx + 0x53c]
mov edi, eax
mov byte [esp + 0x60], 2
call fcn.00402120
mov byte [esp + 0x60], 0
cmp dword [esp + 0x48], 8
jb 0x405b88
mov ecx, dword [esp + 0x34]
push ecx
call fcn.004f287e
add esp, 4
cmp byte [0x5875c0], 0
mov edi, dword [sym.imp.USER32.dll_SetTimer]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
je 0x405bba
mov eax, dword [ebx + 0x3e0]
test eax, eax
je 0x405bd1
mov edx, dword [ebx + 0x3fc]
push 0
push edx
push 0x46a
push eax
call esi
jmp 0x405bd1
mov eax, dword [ebx + 0x3fc]
mov ecx, dword [ebx + 4]
imul eax, eax, 0x3e8
push 0
push eax
push 0xa
push ecx
call edi
mov edx, dword [ebx + 4]
push 0
push 0xc8
push 0xd
push edx
call edi
call fcn.00409f10
mov eax, dword [ebx + 4]
push 0
push 0
push 0x46e
push eax
call esi
mov ecx, dword [ebx + 4]
push 0
push 0
push 0x470
push ecx
call esi
cmp dword [esp + 0x2c], 8
jb 0x405c17
mov edx, dword [esp + 0x18]
push edx
call fcn.004f287e
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x40]
xor ecx, esp
call fcn.004f2889
mov esp, ebp
pop ebp
ret