Function at 0x423b03
Capabilities:
Get common file path

Disassembly:
push 0x84c
mov eax, 0x44668b
call fcn.0042e044
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.0042b000
add esp, 0xc
xor ecx, ecx
lea eax, [ebp - 0x830]
mov dword [ebp - 0x818], 7
call fcn.00402030
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.004268ce
add esp, 0x10
test eax, eax
jne 0x423b91
xor edi, edi
lea esi, [ebp - 0x830]
call fcn.00401e80
mov eax, edi
call fcn.0042e08e
ret
lea eax, [ebp - 0x830]
push eax
lea edx, [ebp - 0x814]
call fcn.00401eb0
mov ecx, dword [ebp - 0x81c]
test ecx, ecx
mov edi, 0x44cc64
jbe 0x423bff
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x423bc7
lea eax, [ebp - 0x82c]
cmp dword [ebp - 0x818], 8
lea ebx, [eax + ecx*2]
mov eax, dword [ebp - 0x82c]
jae 0x423bfb
lea eax, [ebp - 0x82c]
jmp 0x423bfb
movzx ecx, word [eax]
xor esi, esi
inc esi
mov edx, edi
cmp word [edx], cx
je 0x423bf5
inc edx
inc edx
dec esi
jne 0x423be9
xor edx, edx
test edx, edx
je 0x423c74
inc eax
inc eax
cmp eax, ebx
jb 0x423be1
or eax, 0xffffffff
xor ebx, ebx
lea esi, [ebp - 0x830]
call fcn.00402200
mov eax, dword [ebp - 0x81c]
test eax, eax
jbe 0x423ca7
or ecx, 0xffffffff
cmp eax, ecx
ja 0x423c27
lea ecx, [eax - 1]
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x423c3c
lea eax, [ebp - 0x82c]
lea eax, [eax + ecx*2]
movzx ecx, word [eax]
xor esi, esi
inc esi
mov edx, edi
cmp word [edx], cx
je 0x423c53
inc edx
inc edx
dec esi
jne 0x423c47
xor edx, edx
test edx, edx
mov ecx, dword [ebp - 0x82c]
je 0x423c92
cmp dword [ebp - 0x818], 8
jae 0x423c6c
lea ecx, [ebp - 0x82c]
cmp eax, ecx
je 0x423ca7
dec eax
dec eax
jmp 0x423c3f
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x423c89
lea ecx, [ebp - 0x82c]
sub eax, ecx
sar eax, 1
jmp 0x423c02
cmp dword [ebp - 0x818], 8
jae 0x423ca1
lea ecx, [ebp - 0x82c]
sub eax, ecx
sar eax, 1
jmp 0x423caa
or eax, 0xffffffff
lea ebx, [eax + 1]
or eax, 0xffffffff
lea esi, [ebp - 0x830]
call fcn.00402200
lea ebx, [ebp - 0x850]
mov edi, esi
call fcn.00403a20
lea ebx, [ebp - 0x848]
mov esi, eax
call fcn.00403a70
lea ebx, [ebp - 0x858]
mov dword [ebp - 0x83c], eax
call fcn.00403a20
push dword [esi + 4]
mov ecx, dword [ebp - 0x83c]
push dword [esi]
push dword [ecx + 4]
push dword [ecx]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x840]
push eax
call fcn.00426733
mov esi, dword [ebp - 0x834]
add esp, 0x1c
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esi + 0x1238]
lea eax, [ebp - 0x830]
call fcn.004020c0
cmp dword [esi + 0x1230], edi
jne 0x423dd2
push 0x400
lea eax, [ebp - 0x814]
push edi
push eax
call fcn.0042b000
add esp, 0xc
push edi
push 0x2b
lea eax, [ebp - 0x814]
push eax
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x423dd2
lea edi, [esi + 0x121c]
push edi
lea edx, [ebp - 0x814]
call fcn.00401eb0
push str.TencentQQDownload
push edi
call fcn.00414213
lea ebx, [ebp - 0x858]
call fcn.00403a20
lea ebx, [ebp - 0x848]
mov dword [ebp - 0x834], eax
call fcn.00403a70
lea ebx, [ebp - 0x850]
mov dword [ebp - 0x83c], eax
call fcn.00403a20
mov ecx, dword [ebp - 0x834]
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [ebp - 0x83c]
push dword [ecx + 4]
push dword [ecx]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x838]
push eax
call fcn.00426733
add esp, 0x1c
xor edi, edi
cmp dword [esi + 0x1214], edi
jne 0x423e4f
cmp dword [esi + 0x44], edi
je 0x423df0
push 0xffffffffffffffff
push edi
lea eax, [esi + 0x30]
lea ecx, [esi + 0x1200]
call fcn.004020c0
lea edi, [esi + 0x1200]
lea ebx, [ebp - 0x858]
call fcn.00403a20
lea ebx, [ebp - 0x848]
mov dword [ebp - 0x834], eax
call fcn.00403a70
lea ebx, [ebp - 0x850]
mov dword [ebp - 0x83c], eax
call fcn.00403a20
mov ecx, dword [ebp - 0x834]
push dword [ecx + 4]
push dword [ecx]
mov ecx, dword [ebp - 0x83c]
push dword [ecx + 4]
push dword [ecx]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x838]
push eax
call fcn.00426733
add esp, 0x1c
xor edi, edi
cmp dword [esi + 0x1230], edi
je 0x423e87
lea eax, [esi + 0x121c]
cmp dword [eax + 0x18], 8
mov ebx, dword [eax + 0x14]
jb 0x423e6b
mov eax, dword [eax + 4]
jmp 0x423e6e
add eax, 4
push eax
lea eax, [ebp - 0x830]
call fcn.00403fe0
cmp eax, 0xffffffff
je 0x423e87
xor edi, edi
inc edi
jmp 0x423b7e
lea eax, [esi + 0x1200]
lea ecx, [ebp - 0x830]
call fcn.00404ec0
test eax, eax
je 0x423e7f
jmp 0x423b7e