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

Disassembly:
sub esp, 0x82c
mov eax, dword [0x412384]
xor eax, esp
mov dword [esp + 0x828], eax
push ebp
push edi
mov edi, ecx
xor ebp, ebp
cmp edi, ebp
je 0x407b27
lea eax, [edi + 0x208]
lea ecx, [ebp + 3]
jmp 0x407660
mov word [eax - 0x208], bp
mov dword [eax + 4], ebp
mov dword [eax], ebp
add eax, 0x210
sub ecx, 1
jne 0x407660
push ebx
push esi
push 0x206
lea eax, [esp + 0x42e]
push ebp
push eax
call sub.MSVCR80.dll_memset
push 0x206
lea ecx, [esp + 0x2a]
push ebp
push ecx
mov word [esp + 0x30], bp
call sub.MSVCR80.dll_memset
push 0x206
lea edx, [esp + 0x23e]
push ebp
push edx
mov word [esp + 0x244], bp
call sub.MSVCR80.dll_memset
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x450]
push ecx
push str.Path
push str.SOFTWARE2345Browser
push 0x80000002
mov word [esp + 0x460], bp
mov dword [esp + 0x48], 0x104
call fcn.00407410
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add esp, 0x38
test al, al
je 0x40772c
push 0x40e618
lea edx, [esp + 0x42c]
push edx
call esi
push str.2345Browser.exe
lea eax, [esp + 0x42c]
push eax
call esi
lea ecx, [esp + 0x428]
push ecx
call ebx
cmp eax, 0xffffffff
jne 0x407734
mov word [esp + 0x428], bp
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x1c]
push eax
push str.Path
push str.SOFTWARE2345Explorer
push 0x80000002
mov word [esp + 0x2c], bp
mov dword [esp + 0x24], 0x104
call fcn.00407410
add esp, 0x14
test al, al
je 0x40778a
push 0x40e618
lea ecx, [esp + 0x1c]
push ecx
call esi
push str.2345Explorer.exe
lea edx, [esp + 0x1c]
push edx
call esi
lea eax, [esp + 0x18]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x40778f
mov word [esp + 0x18], bp
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x224]
push edx
push str.Path
push str.SOFTWARE2345chrome
push 0x80000002
mov word [esp + 0x234], bp
mov dword [esp + 0x24], 0x104
call fcn.00407410
add esp, 0x14
test al, al
je 0x4077f4
push 0x40e618
lea eax, [esp + 0x224]
push eax
call esi
push str.2345chrome.exe
lea ecx, [esp + 0x224]
push ecx
call esi
lea edx, [esp + 0x220]
push edx
call ebx
cmp eax, 0xffffffff
jne 0x4077fc
mov word [esp + 0x220], bp
push 0x206
lea eax, [esp + 0x636]
push ebp
push eax
mov word [esp + 0x63c], bp
call sub.MSVCR80.dll_memset
xor ebx, ebx
add esp, 0xc
lea esi, [esp + 0x630]
mov dword [esp + 0x10], ebx
call fcn.00407530
test al, al
je 0x407a8b
push str.Shlwapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebp
mov dword [esp + 0x14], eax
je 0x407b25
push str.StrStrIW
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebp
je 0x407b25
push str.HTML2345BRO
lea ecx, [esp + 0x634]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x4079e1
push str.2345Browser.exe
lea edx, [esp + 0x634]
push edx
call esi
test eax, eax
jne 0x4079e1
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
push str.2345ExplorerHTML
lea eax, [esp + 0x634]
push eax
call ebx
test eax, eax
je 0x4079b0
push str.2345Explorer.exe
lea ecx, [esp + 0x634]
push ecx
call esi
test eax, eax
jne 0x4079b0
push str.HTML2345CHM
lea edx, [esp + 0x634]
push edx
call ebx
test eax, eax
je 0x407950
push str.2345chrome.exe
lea eax, [esp + 0x634]
push eax
call esi
test eax, eax
jne 0x407950
push 1
push ebp
lea esi, [esp + 0x18]
lea eax, [esp + 0x430]
call fcn.004074e0
mov ebx, 3
add esp, 8
cmp dword [esp + 0x10], ebx
jge 0x407a7b
push 2
lea eax, [esp + 0x1c]
lea esi, [esp + 0x14]
push ebp
call fcn.004074e0
add esp, 8
cmp dword [esp + 0x10], ebx
jge 0x407a7b
push ebx
push ebp
lea eax, [esp + 0x228]
call fcn.004074e0
mov edx, dword [esp + 0x1c]
add esp, 8
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x407b25
mov ebx, 3
push ebx
push 1
lea esi, [esp + 0x18]
lea eax, [esp + 0x228]
call fcn.004074e0
add esp, 8
cmp dword [esp + 0x10], ebx
jge 0x407a7b
push 1
push ebp
lea eax, [esp + 0x430]
call fcn.004074e0
add esp, 8
cmp dword [esp + 0x10], ebx
jge 0x407a7b
push 2
push ebp
lea eax, [esp + 0x20]
call fcn.004074e0
mov edx, dword [esp + 0x1c]
add esp, 8
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x407b25
push 2
push 1
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.004074e0
mov ebx, 3
add esp, 8
cmp dword [esp + 0x10], ebx
jge 0x407a7b
push 1
lea eax, [esp + 0x42c]
jmp 0x407918
mov word [edi], bp
cmp word [esp + 0x428], bp
je 0x407a0e
lea ecx, [esp + 0x428]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ebx, 1
mov dword [edi + 0x208], ebx
mov dword [edi + 0x20c], ebx
mov edx, ebx
imul edx, edx, 0x210
lea esi, [edx + edi]
mov word [esi], bp
cmp word [esp + 0x18], bp
je 0x407a42
lea eax, [esp + 0x18]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [esi + 0x208], ebp
mov dword [esi + 0x20c], 2
add ebx, 1
cmp ebx, 3
jge 0x407a7b
imul ebx, ebx, 0x210
add edi, ebx
mov word [edi], bp
cmp word [esp + 0x220], bp
je 0x407a7b
lea ecx, [esp + 0x220]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [edi + 0x208], ebp
mov dword [edi + 0x20c], 3
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x407b25
mov word [edi], bp
cmp word [esp + 0x428], bp
je 0x407ab8
lea eax, [esp + 0x428]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ebx, 1
mov dword [edi + 0x208], ebp
mov dword [edi + 0x20c], ebx
mov ecx, ebx
imul ecx, ecx, 0x210
lea esi, [ecx + edi]
mov word [esi], bp
cmp word [esp + 0x18], bp
je 0x407aec
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [esi + 0x208], ebp
mov dword [esi + 0x20c], 2
add ebx, 1
cmp ebx, 3
jge 0x407b25
imul ebx, ebx, 0x210
add edi, ebx
mov word [edi], bp
cmp word [esp + 0x220], bp
je 0x407b25
lea eax, [esp + 0x220]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [edi + 0x208], ebp
mov dword [edi + 0x20c], 3
pop esi
pop ebx
mov ecx, dword [esp + 0x830]
pop edi
pop ebp
xor ecx, esp
call fcn.0040bac6
add esp, 0x82c
ret