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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43ef60
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov eax, dword [0x4804ec]
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], ebx
mov esi, 0x4429a8
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x10]
push 0x20019
push eax
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects724d43a9_0d85_11d4_9908_00400523e39a
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004121b0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
cmp eax, ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c], esi
je 0x40805a
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call edi
mov dword [ebp - 0x28], ebx
jmp 0x408060
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x24]
call fcn.004368f0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], ebx
cmp eax, ebx
je 0x4080bf
mov ecx, dword [0x4804ec]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], esi
lea edx, [ebp - 0x10]
push 0x20019
push edx
push str.SoftwareMicrosoftWindowsCurrentVersionExtSettings724d43a9_0d85_11d4_9908_00400523e39aVersion
push SysReAllocString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.004121b0
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
cmp eax, ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c], esi
je 0x4080b7
push eax
call edi
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x24]
call fcn.004368f0
mov eax, dword [0x4804ec]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], esi
lea ecx, [ebp - 0x10]
push 0x20019
push ecx
push str.SoftwareMicrosoftInternet_ExplorerToolbar
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.004121b0
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x18]
push edx
push str.724d43a0_0d85_11d4_9908_00400523e39a
push eax
lea ecx, [ebp - 0x2c]
call fcn.00412510
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
cmp eax, ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c], esi
je 0x408118
push eax
call edi
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x24]
call fcn.004368f0
mov eax, dword [ebp + 0xc]
xor edi, edi
cmp eax, ebx
je 0x408179
mov ecx, dword [0x4804ec]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], esi
lea edx, [ebp - 0x10]
push 0x20019
push edx
push str.SoftwareMicrosoftWindowsCurrentVersionExtSettings724d43a0_0d85_11d4_9908_00400523e39aVersion
push SysReAllocString
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.004121b0
mov edi, eax
mov eax, dword [ebp - 0x28]
cmp eax, ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c], esi
je 0x408171
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x28], ebx
lea ecx, [ebp - 0x24]
call fcn.004368f0
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.00436860
push 0x483ef8
push str.CLSID724d43a9_0d85_11d4_9908_00400523e39aInprocServer32
push SysReAllocString
push esi
call fcn.00411bc0
mov eax, dword [esi]
add esp, 0x10
cmp dword [eax - 8], ebx
jne 0x4081ba
push 0x483efc
push str.CLSID724d43a0_0d85_11d4_9908_00400523e39aInprocServer32
push SysReAllocString
push esi
call fcn.00411bc0
add esp, 0x10
mov esi, dword [esi]
cmp dword [esi - 8], ebx
je 0x4081eb
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4081eb
test al, 0x10
jne 0x4081eb
cmp dword [ebp - 0x1c], ebx
je 0x4081db
cmp dword [ebp - 0x14], ebx
je 0x4081e4
cmp dword [ebp - 0x20], ebx
je 0x4081eb
cmp edi, ebx
jne 0x4081eb
mov esi, 1
jmp 0x4081ed
xor esi, esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.004368f0
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.004368f0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret