Function at 0x41ec20
Capabilities:
Check if file exists

Disassembly:
sub esp, 0x618
push ebx
push esi
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x216]
mov word [esp + 0x214], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp dword [0x5b8070], esi
je 0x41ed03
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0xc]
push 0x103
push eax
push str.Progid
push str.SoftwareMicrosoftWindows_shellAssociationsUrlAssociationshttpUserChoice
push SysReAllocStringLen
call fcn.0041eb80
add esp, 0x14
test eax, eax
jne 0x41ecab
lea ecx, [esp + 0xc]
push 0x103
push ecx
push str.Progid
push str.SoftwareMicrosoftWindows_shellAssociationsUrlAssociationshttpUserChoice
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0041eb80
add esp, 0x14
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x41e]
mov word [esp + 0x41c], si
rep stosd dword es:[edi], eax
mov ebx, dword [sym.imp.MSVCRT.dll__snwprintf]
lea edx, [esp + 0xc]
stosw word es:[edi], ax
push edx
push str._s_shellopencommand
lea eax, [esp + 0x424]
push 0x103
push eax
call ebx
lea ecx, [esp + 0x224]
push 0x103
push ecx
lea edx, [esp + 0x434]
push 0x53ada0
push edx
jmp 0x41ee77
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0xc]
push 0x103
push eax
push 0x53ada0
push str.SOFTWAREClientsStartMenuInternet
push SysReAllocStringLen
call fcn.0041eb80
mov ebx, dword [sym.imp.MSVCRT.dll__snwprintf]
add esp, 0x14
cmp eax, esi
jne 0x41ed6b
lea ecx, [esp + 0xc]
push 0x103
push ecx
push 0x53ada0
push str.SOFTWAREClientsStartMenuInternet
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0041eb80
add esp, 0x14
cmp eax, esi
je 0x41ee01
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x41e]
mov word [esp + 0x41c], si
rep stosd dword es:[edi], eax
lea edx, [esp + 0xc]
push edx
push str.SOFTWAREClientsStartMenuInternet
stosw word es:[edi], ax
push str._s_s_shellopencommand
lea eax, [esp + 0x428]
push 0x103
push eax
call ebx
lea ecx, [esp + 0x228]
push 0x103
push ecx
lea edx, [esp + 0x438]
push 0x53ada0
push edx
push SysReAllocStringLen
call fcn.0041eb80
add esp, 0x28
cmp eax, esi
jne 0x41ee8c
lea eax, [esp + 0x214]
push 0x103
push eax
lea ecx, [esp + 0x424]
push 0x53ada0
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0041eb80
add esp, 0x14
cmp eax, esi
jne 0x41ee8c
lea edx, [esp + 0xc]
push 0x103
push edx
push 0x53ada0
push 0x50ccb8
push SysReAllocStringLen
call fcn.0041eb80
add esp, 0x14
cmp eax, esi
je 0x41efb5
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x41e]
mov word [esp + 0x41c], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0xc]
lea ecx, [esp + 0x41c]
push eax
push str._s_shellopencommand
push 0x103
push ecx
call ebx
lea edx, [esp + 0x224]
push 0x103
push edx
lea eax, [esp + 0x434]
push 0x53ada0
push eax
push SysReAllocStringLen
call fcn.0041eb80
add esp, 0x24
cmp eax, esi
je 0x41efb5
mov dx, word [esp + 0x214]
cmp dx, si
je 0x41efb5
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0xe]
mov word [esp + 0xc], si
rep stosd dword es:[edi], eax
cmp dx, 0x22
stosw word es:[edi], ax
jne 0x41ef2c
lea ecx, [esp + 0x216]
push 0x22
push ecx
call dword [sym.imp.MSVCRT.dll_wcschr]
add esp, 8
cmp eax, esi
lea edx, [esp + 0x216]
je 0x41eef5
sub eax, edx
sar eax, 1
cmp eax, 0x103
jb 0x41eee5
mov eax, 0x103
push eax
lea eax, [esp + 0x21a]
lea ecx, [esp + 0x10]
push eax
push ecx
jmp 0x41ef68
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
push edx
call edi
add esp, 4
cmp eax, 0x103
jae 0x41ef17
lea eax, [esp + 0x216]
push eax
call edi
add esp, 4
jmp 0x41ef1c
mov eax, 0x103
lea ecx, [esp + 0x216]
push eax
lea edx, [esp + 0x10]
push ecx
push edx
jmp 0x41ef68
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
lea eax, [esp + 0x214]
push eax
call edi
add esp, 4
cmp eax, 0x103
jae 0x41ef55
lea ecx, [esp + 0x214]
push ecx
call edi
add esp, 4
jmp 0x41ef5a
mov eax, 0x103
push eax
lea edx, [esp + 0x218]
lea eax, [esp + 0x10]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
cmp word [esp + 0xc], si
je 0x41efb5
lea ecx, [esp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41efb5
mov eax, dword [esp + 0x62c]
mov ecx, dword [esp + 0x628]
lea edx, [esp + 0xc]
push edx
push 0x50c180
push eax
push ecx
call ebx
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x618
ret
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x618
ret