Function at 0x40752c
Capabilities:
Check if file exists

Disassembly:
push 0x58
mov eax, 0x46a752
call fcn.0042dbd7
lea ecx, [ebp - 0x14]
call fcn.0040699e
push dword [ebp + 8]
lea eax, [ebp - 0x14]
xor ebx, ebx
push str.Entering_detectProductVersion___s__
push eax
mov dword [ebp - 4], ebx
call fcn.00406b1a
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x407570
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov eax, dword [ebp - 0x14]
mov edi, 0x493f4c
push eax
mov ecx, edi
call fcn.0040c5a7
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x40760f
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push str.Could_not_open_ini_file___s_
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x4075b9
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov eax, dword [ebp - 0x14]
push 5
push eax
mov ecx, edi
call fcn.0040c5b8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x14]
push str.PathFileExists___failed._Error:__d
push eax
call fcn.00406b1a
mov esi, dword [ebp - 0x14]
add esp, 0xc
cmp dword [esi - 4], 1
jle 0x4075f2
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov esi, dword [ebp - 0x14]
push 7
push esi
mov ecx, edi
call fcn.0040c5b8
push 3
push str.Running_product_version_detection_failed.
mov ecx, edi
call fcn.0040c5b8
jmp 0x407871
push str.DETECT
push dword [ebp + 8]
lea ecx, [ebp - 0x64]
call fcn.0040bd00
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
mov byte [ebp - 0xd], bl
call fcn.0040c28b
test eax, eax
jne 0x407643
push str.No_means_of_detection_specified_for_product_version.
mov ecx, edi
call fcn.0040c5a7
jmp 0x40782f
mov edi, ebx
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x18], edi
call fcn.0040c28b
test eax, eax
je 0x40781c
push edi
lea ecx, [ebp - 0x64]
call fcn.0040c236
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.0040bd00
push str.TYPE
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.0040c1cd
mov esi, eax
push str.file
push esi
mov dword [ebp - 0x1c], esi
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
jne 0x4076a9
push str.path
lea ecx, [ebp - 0x40]
call fcn.0040c1cd
push eax
push str.Detect_File_operation:__s
jmp 0x4076cd
push str.directory
push esi
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
jne 0x40771c
push str.path
lea ecx, [ebp - 0x40]
call fcn.0040c1cd
push eax
push str.Detect_Directory_operation:__s
lea eax, [ebp - 0x14]
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x4076f0
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov eax, dword [ebp - 0x14]
push eax
mov ecx, 0x493f4c
call fcn.0040c5a7
push ebx
push ebx
push str.path
lea ecx, [ebp - 0x40]
call fcn.0040c1cd
push eax
push esi
call fcn.0041a756
add esp, 0x10
mov byte [ebp - 0xd], al
jmp 0x4077ea
push str.regkey
push esi
call fcn.00435a9e
pop ecx
pop ecx
test eax, eax
jne 0x4077b3
push str.name
lea ecx, [ebp - 0x40]
call fcn.0040c1cd
push eax
lea eax, [ebp - 0x14]
push str.Detect_RegKey_operation:__s
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x407767
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov eax, dword [ebp - 0x14]
push eax
mov ecx, 0x493f4c
call fcn.0040c5a7
push str.value
lea ecx, [ebp - 0x40]
call fcn.0040c1cd
push str.action
lea ecx, [ebp - 0x40]
mov edi, eax
call fcn.0040c1cd
push str.name
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.0040c1cd
push edi
push esi
push eax
push dword [ebp - 0x1c]
call fcn.0041a756
mov edi, dword [ebp - 0x18]
add esp, 0x10
mov byte [ebp - 0xd], al
jmp 0x4077ea
push esi
lea eax, [ebp - 0x14]
push str.Unknown_detection_operation_type:__s
push eax
call fcn.00406b1a
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp dword [eax - 4], 1
jle 0x4077dc
push dword [eax - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov eax, dword [ebp - 0x14]
push eax
mov ecx, 0x493f4c
call fcn.0040c5a7
mov al, byte [ebp - 0xd]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
test al, al
je 0x407817
call fcn.0040c0a1
inc edi
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x18], edi
call fcn.0040c28b
cmp edi, eax
jb 0x407658
push 4
push str.Product_version_detected.
jmp 0x407823
call fcn.0040c0a1
push 4
push str.Product_version_not_detected.
mov edi, 0x493f4c
mov ecx, edi
call fcn.0040c5b8
mov bl, byte [ebp - 0xd]
movzx eax, bl
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push str.Exiting_detectProductVersion___s__.__Returning__d
push eax
call fcn.00406b1a
mov esi, dword [ebp - 0x14]
add esp, 0x10
cmp dword [esi - 4], 1
jle 0x407861
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.00406aae
mov esi, dword [ebp - 0x14]
push esi
mov ecx, edi
call fcn.0040c5a7
lea ecx, [ebp - 0x64]
call fcn.0040c0a1
lea ecx, [esi - 0x10]
call fcn.00406c57
mov al, bl
call fcn.0042dba0
ret