Function at 0x41172b
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x504b9a
mov eax, dword fs:[0]
push eax
sub esp, 0x850
mov eax, dword [0x5ff740]
xor eax, esp
mov dword [esp + 0x848], eax
push ebx
push esi
push edi
mov eax, dword [0x5ff740]
xor eax, esp
push eax
lea eax, [esp + 0x860]
mov dword fs:[0], eax
mov ebx, ecx
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Paths
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], ebx
call fcn.0040253b
and dword [esp + 0x868], 0
call fcn.004be6f3
push eax
lea ecx, [esp + 0x14]
call fcn.004027f9
push 0
push 0x5c
mov ecx, ebx
mov byte [esp + 0x870], 1
call fcn.00414092
cmp eax, 0xffffffff
je 0x41189c
mov edi, dword [ebx]
mov esi, 0x82c
push esi
lea eax, [esp + 0x28]
push 0
push eax
call fcn.004e38a0
add esp, 0xc
test edi, edi
je 0x4117d7
push edi
lea eax, [esp + 0x28]
call fcn.0040de7e
lea eax, [esp + 0x43e]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x86c], 2
call fcn.0040253b
push eax
lea eax, [esp + 0x23a]
push eax
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x874], 3
call fcn.0040dc86
add esp, 0xc
push eax
mov ecx, ebx
mov byte [esp + 0x86c], 4
call fcn.004025da
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040285b
mov byte [esp + 0x868], 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.0040285b
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jne 0x411894
push esi
lea eax, [esp + 0x28]
push 0
push eax
call fcn.004e38a0
add esp, 0xc
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040285b
mov al, 1
mov ecx, dword [esp + 0x860]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x848]
xor ecx, esp
call fcn.004de422
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x868], 1
push ecx
mov dword [esp + 0x1c], esp
mov ecx, esp
push ebx
call fcn.00402305
lea ecx, [esp + 0x18]
call fcn.00406dee
call fcn.00482292
test al, al
je 0x411a66
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
mov edi, 0x5afd90
push edi
call fcn.0040253b
push ecx
mov byte [esp + 0x874], 5
lea eax, [esp + 0x20]
mov dword [esp + 0x28], esp
mov ecx, esp
push eax
call fcn.00402305
mov esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
mov byte [esp + 0x878], 1
call fcn.00410937
test eax, eax
je 0x41193b
mov eax, dword [esp + 0x10]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x411924
push dword [esp + 0x18]
call fcn.00411719
jmp 0x411926
mov al, 1
test al, al
je 0x41193b
mov ecx, ebx
lea eax, [esp + 0x10]
push eax
call fcn.004025da
jmp 0x411856
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
mov ebx, str.Path
push ebx
call fcn.0040253b
push ecx
mov byte [esp + 0x874], 6
lea eax, [esp + 0x20]
mov dword [esp + 0x28], esp
mov ecx, esp
push eax
call fcn.00402305
push esi
mov byte [esp + 0x878], 1
call fcn.00410937
test eax, eax
je 0x4119a7
mov eax, dword [esp + 0x10]
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41199b
push dword [esp + 0x18]
call fcn.00411719
jmp 0x41199d
mov al, 1
test al, al
je 0x4119a7
mov ecx, dword [esp + 0x20]
jmp 0x41192c
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push edi
call fcn.0040253b
push ecx
mov byte [esp + 0x874], 7
lea eax, [esp + 0x20]
mov dword [esp + 0x28], esp
mov ecx, esp
push eax
call fcn.00402305
push esi
mov byte [esp + 0x878], 1
call fcn.00410a54
test eax, eax
je 0x411a01
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4119fb
push edi
call fcn.00411719
jmp 0x4119fd
mov al, 1
test al, al
jne 0x4119a1
lea eax, [esp + 0x10]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ebx
call fcn.0040253b
push ecx
mov byte [esp + 0x874], 8
lea eax, [esp + 0x20]
mov dword [esp + 0x28], esp
mov ecx, esp
push eax
call fcn.00402305
push esi
mov byte [esp + 0x878], 1
call fcn.00410a54
test eax, eax
je 0x411a5f
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x411a55
push esi
call fcn.00411719
jmp 0x411a57
mov al, 1
test al, al
jne 0x4119a1
xor bl, bl
jmp 0x411b43
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5afd90
lea edi, [esp + 0x18]
call fcn.0040253b
push ecx
mov byte [esp + 0x870], 9
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], esp
mov ecx, esp
push eax
call fcn.00402305
mov esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
mov ecx, edi
mov byte [esp + 0x874], 1
call fcn.004107f9
test eax, eax
je 0x411ace
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x411ac4
push edi
call fcn.00411719
jmp 0x411ac6
mov al, 1
test al, al
jne 0x41192a
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Path
lea edi, [esp + 0x18]
call fcn.0040253b
push ecx
mov byte [esp + 0x870], 0xa
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], esp
mov ecx, esp
push eax
call fcn.00402305
push esi
mov ecx, edi
mov byte [esp + 0x874], 1
call fcn.004107f9
test eax, eax
je 0x411a5f
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x411b2b
push esi
call fcn.00411719
jmp 0x411b2d
mov al, 1
test al, al
je 0x411a5f
lea eax, [esp + 0x10]
push eax
mov ecx, ebx
call fcn.004025da
mov bl, 1
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040285b
mov al, bl
jmp 0x411870