Function at 0x6471841a
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x714
mov eax, dword [0x6475a360]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
test edi, edi
jne 0x64718469
push 0x15e
push 0x64749b84
push str.lpszDir
lea eax, [ebp - 0x710]
push str.ASSERT__s_failed_at_file__s__line__d_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0x710]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebx + 4], 0
je 0x64718833
push esi
lea ecx, [ebx + 0xc]
call fcn.647110fa
test eax, eax
je 0x64718491
push dword [ebp + 0xc]
lea ecx, [ebx + 0xc]
push edi
call fcn.647110e5
jmp 0x64718832
mov ecx, dword [ebx + 4]
xor esi, esi
push str.GpcMovingInSubdir
mov dword [ebp - 0x714], esi
call fcn.6471bcd0
test eax, eax
je 0x647184c4
push str.Supported
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
push 1
pop eax
cmove esi, eax
mov dword [ebp - 0x714], esi
push 0x103
lea eax, [ebp - 0x107]
mov byte [ebp - 0x108], 0
push 0
push eax
call fcn.64725a70
add esp, 0xc
test esi, esi
je 0x647185a6
mov ecx, dword [ebx + 4]
push str.GpcProductRoot
call fcn.6471bcd0
mov esi, eax
test esi, esi
je 0x64718521
push 0x64747dc8
push esi
call dword [sym.imp.SHLWAPI.dll_StrStrA]
test eax, eax
jne 0x64718521
push 0x104
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.64722c82
add esp, 0xc
mov ecx, dword [ebx + 4]
push str.GpcProductVersion
call fcn.6471bcd0
mov esi, eax
test esi, esi
je 0x647185a6
push 0x64747dc8
push esi
call dword [sym.imp.SHLWAPI.dll_StrStrA]
test eax, eax
jne 0x647185a6
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.64727798
pop ecx
pop ecx
test eax, eax
je 0x64718591
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.64727798
pop ecx
pop ecx
cmp byte [ebp + eax - 0x109], 0x5c
je 0x64718591
push 0x104
lea eax, [ebp - 0x108]
push 0x64745954
push eax
call fcn.64722c82
add esp, 0xc
push 0x104
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.64722c82
add esp, 0xc
cmp dword [ebx + 8], 0
je 0x64718687
call fcn.64702df6
test eax, eax
je 0x64718612
push 0x103
lea eax, [ebp - 0x20b]
mov byte [ebp - 0x20c], 0
push 0
push eax
call fcn.64725a70
push 0
mov esi, 0x104
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.64702787
add esp, 0x18
test eax, eax
je 0x647185ff
push esi
lea eax, [ebp - 0x20c]
push eax
push edi
call fcn.64722cdb
add esp, 0xc
push edi
call fcn.647226dc
push edi
push str.IsVista:GetExtensionDir_bUserHomeDirAsRoot____s_
call fcn.64721861
jmp 0x6471867f
mov esi, 0x104
push esi
push edi
call fcn.64702892
pop ecx
pop ecx
test eax, eax
jne 0x647187a3
push str.USERPROFILE
call fcn.64728f51
pop ecx
test eax, eax
je 0x6471863f
push esi
push str.USERPROFILE
jmp 0x6471866b
push str.TEMP
call fcn.64728f51
pop ecx
test eax, eax
je 0x64718656
push esi
push str.TEMP
jmp 0x6471866b
push 0x64749c30
call fcn.64728f51
pop ecx
push esi
test eax, eax
je 0x64718674
push 0x64749c30
call fcn.64728f51
pop ecx
push eax
jmp 0x64718679
push 0x64745954
push edi
call fcn.64722cdb
add esp, 0xc
jmp 0x647187a3
call fcn.64702df6
mov esi, eax
push esi
push dword [ebx + 8]
push str.IsVista:GetExtensionDir_bUserHomeDirAsRoot____d___bIsVista_d
call fcn.64721861
add esp, 0xc
test esi, esi
je 0x6471878e
mov ecx, dword [ebx + 4]
push str.GpcStdDownload
call fcn.6471bcd0
test eax, eax
je 0x647186eb
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.true
push eax
call esi
test eax, eax
jne 0x647186eb
mov ecx, dword [ebx + 4]
push str.GpcVistaUsePluginDir
call fcn.6471bcd0
test eax, eax
je 0x647186eb
push str.true
push eax
call esi
test eax, eax
je 0x6471878e
push 0x103
lea eax, [ebp - 0x20b]
mov byte [ebp - 0x20c], 0
push 0
push eax
call fcn.64725a70
push 0
mov esi, 0x104
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.6470281c
add esp, 0x18
test eax, eax
je 0x64718733
push esi
lea eax, [ebp - 0x20c]
push eax
push edi
call fcn.64722cdb
add esp, 0xc
jmp 0x6471873e
push str.IsVista:GetInstallWebExFolder_FAIL
call fcn.64721861
pop ecx
push 0x103
lea eax, [ebp - 0x30f]
mov byte [ebp - 0x310], 0
push 0
push eax
call fcn.64725a70
lea eax, [ebp - 0x310]
push esi
push eax
call fcn.64702a6e
lea eax, [ebp - 0x310]
push eax
call fcn.64702bb8
add esp, 0x18
test eax, eax
je 0x6471877f
push edi
call fcn.647226dc
pop ecx
push edi
push str.IsVista:GetExtensionDir____s_
call fcn.64721861
pop ecx
pop ecx
jmp 0x647187a3
mov ecx, dword [ebx + 4]
mov esi, 0x104
push esi
push edi
call fcn.6471bb9b
push eax
call fcn.6471bdaa
cmp dword [ebp - 0x714], 0
je 0x64718832
lea eax, [ebp - 0x108]
push eax
call fcn.64725b00
pop ecx
test eax, eax
je 0x64718832
push edi
call fcn.64725b00
pop ecx
cmp byte [eax + edi - 1], 0x5c
jne 0x647187e6
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movzx eax, byte [eax + edi - 2]
push eax
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByte]
test eax, eax
je 0x647187f5
push esi
push 0x64745954
push edi
call fcn.64722c82
add esp, 0xc
call fcn.64702df6
test eax, eax
je 0x64718809
push edi
call fcn.64702bb8
pop ecx
mov esi, eax
jmp 0x6471880c
xor esi, esi
inc esi
push 0x104
lea eax, [ebp - 0x108]
push eax
push edi
call fcn.64722c82
add esp, 0xc
cmp dword [ebx + 8], 0
jne 0x6471882b
test esi, esi
je 0x64718832
push edi
call fcn.647226dc
pop ecx
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.647263d1
mov esp, ebp
pop ebp
ret 8