Function at 0x1004fa8e
Capabilities:
Get common file path

Disassembly:
push 0x84c
mov eax, 0x1007810d
call fcn.1005d50a
xor edi, edi
push 0x7fe
lea eax, [ebp - 0x812]
mov esi, ecx
push edi
push eax
mov dword [ebp - 0x834], esi
mov word [ebp - 0x814], di
call fcn.10054f10
add esp, 0xc
mov dword [ebp - 0x818], 7
mov dword [ebp - 0x81c], edi
mov word [ebp - 0x82c], di
add esi, 0x1c
push esi
push str.DownloadProxy.Downloader.1
mov dword [ebp - 4], edi
call dword [sym.imp.ole32.dll_CLSIDFromProgID]
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ebx, [ebp - 0x814]
movsd dword es:[edi], dword [esi]
call fcn.10052498
add esp, 0x10
test eax, eax
jne 0x1004fb20
xor edi, edi
push 0
push 1
lea esi, [ebp - 0x830]
call fcn.100031e5
mov eax, edi
call fcn.1005d58d
ret
lea eax, [ebp - 0x814]
push eax
call fcn.10054c67
pop ecx
lea ecx, [ebp - 0x814]
lea esi, [ebp - 0x830]
call fcn.100035ef
mov ebx, 0x10086948
push ebx
call fcn.10054c67
mov edx, dword [ebp - 0x81c]
test edx, edx
pop ecx
mov dword [ebp - 0x854], eax
jbe 0x1004fbb2
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x1004fb6f
lea ecx, [ebp - 0x82c]
cmp dword [ebp - 0x818], 8
lea eax, [ecx + edx*2]
mov ecx, dword [ebp - 0x82c]
jae 0x1004fbae
lea ecx, [ebp - 0x82c]
jmp 0x1004fbae
mov edi, dword [ebp - 0x854]
test edi, edi
mov edx, ebx
jbe 0x1004fba2
movzx esi, word [ecx]
cmp word [edx], si
je 0x1004fba4
inc edx
inc edx
dec edi
jne 0x1004fb98
xor edx, edx
test edx, edx
je 0x1004fc32
inc ecx
inc ecx
cmp ecx, eax
jb 0x1004fb89
or ecx, 0xffffffff
push ecx
xor edi, edi
lea esi, [ebp - 0x830]
call fcn.100039ff
push ebx
call fcn.10054c67
pop ecx
mov ecx, dword [ebp - 0x81c]
test ecx, ecx
jbe 0x1004fc6d
or edx, 0xffffffff
cmp ecx, edx
ja 0x1004fbe2
lea edx, [ecx - 1]
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x1004fbf7
lea ecx, [ebp - 0x82c]
lea ecx, [ecx + edx*2]
test eax, eax
mov edi, eax
mov edx, ebx
jbe 0x1004fc0f
movzx esi, word [ecx]
cmp word [edx], si
je 0x1004fc11
inc edx
inc edx
dec edi
jne 0x1004fc05
xor edx, edx
test edx, edx
je 0x1004fc50
cmp dword [ebp - 0x818], 8
mov edx, dword [ebp - 0x82c]
jae 0x1004fc2a
lea edx, [ebp - 0x82c]
cmp ecx, edx
je 0x1004fc6d
dec ecx
dec ecx
jmp 0x1004fbfa
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x1004fc47
lea eax, [ebp - 0x82c]
sub ecx, eax
sar ecx, 1
jmp 0x1004fbb5
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x1004fc65
lea eax, [ebp - 0x82c]
sub ecx, eax
sar ecx, 1
mov eax, ecx
jmp 0x1004fc70
or eax, 0xffffffff
push 0xffffffffffffffff
lea edi, [eax + 1]
lea esi, [ebp - 0x830]
call fcn.100039ff
lea eax, [ebp - 0x858]
mov ecx, esi
call fcn.10006bc3
mov esi, eax
lea eax, [ebp - 0x848]
lea ecx, [ebp - 0x830]
call fcn.1000a3dd
mov edi, eax
lea eax, [ebp - 0x840]
lea ecx, [ebp - 0x830]
call fcn.10006bc3
push dword [esi + 4]
push dword [esi]
push dword [edi + 4]
push dword [edi]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x850]
push eax
call fcn.1005204d
mov edi, dword [ebp - 0x834]
add esp, 0x1c
push 0xffffffffffffffff
lea eax, [edi + 0x1238]
push eax
xor ebx, ebx
lea eax, [ebp - 0x830]
call fcn.1000388f
xor esi, esi
cmp dword [edi + 0x1230], esi
jne 0x1004fda3
push 0x400
lea eax, [ebp - 0x814]
push esi
push eax
call fcn.10054f10
add esp, 0xc
push esi
push 0x2b
lea eax, [ebp - 0x814]
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x1004fda3
lea eax, [ebp - 0x814]
push eax
call fcn.10054c67
pop ecx
lea esi, [edi + 0x121c]
lea ecx, [ebp - 0x814]
call fcn.100035ef
push str.TencentQQDownload
push esi
call fcn.10002dff
lea eax, [ebp - 0x850]
mov ecx, esi
call fcn.10006bc3
mov ebx, eax
lea eax, [ebp - 0x840]
mov ecx, esi
call fcn.1000a3dd
mov dword [ebp - 0x834], eax
lea eax, [ebp - 0x848]
mov ecx, esi
call fcn.10006bc3
push dword [ebx + 4]
mov ecx, dword [ebp - 0x834]
push dword [ebx]
push dword [ecx + 4]
push dword [ecx]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x838]
push eax
call fcn.1005204d
add esp, 0x1c
xor esi, esi
cmp dword [edi + 0x1214], esi
jne 0x1004fe18
cmp dword [edi + 0x44], esi
je 0x1004fdc3
push 0xffffffffffffffff
lea ecx, [edi + 0x1200]
lea eax, [edi + 0x30]
push ecx
xor ebx, ebx
call fcn.1000388f
lea ebx, [edi + 0x1200]
lea eax, [ebp - 0x850]
mov ecx, ebx
call fcn.10006bc3
mov esi, eax
lea eax, [ebp - 0x840]
mov ecx, ebx
call fcn.1000a3dd
mov ebx, eax
lea eax, [ebp - 0x848]
lea ecx, [edi + 0x1200]
call fcn.10006bc3
push dword [esi + 4]
push dword [esi]
push dword [ebx + 4]
push dword [ebx]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x838]
push eax
call fcn.1005204d
add esp, 0x1c
xor esi, esi
cmp dword [edi + 0x1230], esi
je 0x1004fe51
lea eax, [edi + 0x121c]
cmp dword [eax + 0x18], 8
mov ecx, dword [eax + 0x14]
jb 0x1004fe34
mov eax, dword [eax + 4]
jmp 0x1004fe37
add eax, 4
push ecx
push eax
lea eax, [ebp - 0x830]
call fcn.1000a67b
cmp eax, 0xffffffff
je 0x1004fe51
xor edi, edi
inc edi
jmp 0x1004fb09
lea ecx, [edi + 0x1200]
lea eax, [ebp - 0x830]
call fcn.1004da3b
test al, al
jne 0x1004fe49
jmp 0x1004fb07