Function at 0x471bf0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e166c
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x527064]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegRelatedCheck.h
push str.CMcDiRegRelatedCheck::CheckForRegAppDirContects
push 0x82
push 3
lea ecx, [ebp - 0x30]
call fcn.00431610
mov dword [ebp - 4], 0
mov edx, str.Entering_CheckForRegAppDirContects
mov ecx, dword [eax]
call fcn.004333c0
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x30]
call fcn.004327d0
mov eax, dword [ebp - 0x30]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add eax, 0x14
push eax
call edi
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
xor esi, esi
mov dword [ebp - 4], 2
lea eax, [ebp - 0x38]
mov dword [ebp - 0x34], esi
push eax
push esi
push esi
push 0x50da74
mov dword [ebp - 0x38], esi
mov byte [ebp - 4], 3
call dword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov ebx, eax
test ebx, ebx
js 0x471dc3
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], esi
test edx, edx
je 0x471cf2
cmp word [edx], si
jne 0x471cbd
xor ecx, ecx
jmp 0x471cd1
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x471cc2
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x2c]
call fcn.00408f30
cmp dword [ebp - 0x1c], 0
je 0x471cf2
push 1
push 0x4f8180
lea ecx, [ebp - 0x2c]
call fcn.00409380
jmp 0x471d01
push 1
push 0x4f8180
lea ecx, [ebp - 0x2c]
call fcn.00408f30
push 0x18
push str.McAfeeMSCRegWizRegApp
lea ecx, [ebp - 0x2c]
call fcn.00409380
push dword [ebp - 0x38]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x471d79
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyW]
mov esi, eax
mov dword [ebp - 0x34], esi
test esi, esi
je 0x471db7
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegRelatedCheck.h
push str.CMcDiRegRelatedCheck::CheckForRegAppDirContects
push 0x9d
push 1
lea ecx, [ebp - 0x30]
call fcn.00431610
mov byte [ebp - 4], 6
mov edx, str.Dir_is_empty
mov ecx, dword [eax]
call fcn.004333c0
mov byte [ebp - 4], 7
jmp 0x471da6
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegRelatedCheck.h
push str.CMcDiRegRelatedCheck::CheckForRegAppDirContects
push 0xa1
push 4
lea ecx, [ebp - 0x30]
call fcn.00431610
mov byte [ebp - 4], 8
mov edx, str.PathIsDirectory_function_failed
mov ecx, dword [eax]
call fcn.004333c0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x30]
call fcn.004327d0
mov eax, dword [ebp - 0x30]
add eax, 0x14
push eax
call edi
mov dword [ebp - 4], 2
jmp 0x471e7f
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegRelatedCheck.h
push str.CMcDiRegRelatedCheck::CheckForRegAppDirContects
push 0x93
push 4
lea ecx, [ebp - 0x30]
call fcn.00431610
mov byte [ebp - 4], 4
mov edx, str.Paths_are_not_appended
mov ecx, dword [eax]
call fcn.004333c0
push ebx
mov ecx, eax
call fcn.0043a770
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x30]
call fcn.004327d0
mov eax, dword [ebp - 0x30]
add eax, 0x14
push eax
call edi
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x471e20
push 2
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.00402ff0
add esp, 0xc
xor eax, eax
jmp 0x471ed6
push str.e:_b_t_bfdad672_1e32_4be5_965f_d9a51e52de98installintegrator_srcmcdiregMcDiRegRelatedCheck.h
push str.CMcDiRegRelatedCheck::CheckForRegAppDirContects
push 0xa8
push 3
lea ecx, [ebp - 0x34]
call fcn.00431610
mov byte [ebp - 4], 0xd
mov edx, str.Leaving_CheckForRegAppDirContects
mov ecx, dword [eax]
call fcn.004333c0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x34]
call fcn.004327d0
mov eax, dword [ebp - 0x34]
add eax, 0x14
push eax
call edi
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x471ed4
push 2
inc eax
push eax
push dword [ebp - 0x2c]
call fcn.00402ff0
add esp, 0xc
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004908ad
mov esp, ebp
pop ebp
ret