Function at 0x1003a794
Capabilities:
Get common file path

Disassembly:
push 0x84c
mov eax, 0x10075a0b
call fcn.100588d8
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.10051de0
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.1003cb67
add esp, 0x10
test eax, eax
jne 0x1003a826
xor edi, edi
push 0
push 1
lea esi, [ebp - 0x830]
call fcn.10001f1e
mov eax, edi
call fcn.1005895b
ret
lea eax, [ebp - 0x814]
push eax
call fcn.1005184b
pop ecx
lea ecx, [ebp - 0x814]
lea esi, [ebp - 0x830]
call fcn.100022cf
mov ebx, 0x1008279c
push ebx
call fcn.1005184b
mov edx, dword [ebp - 0x81c]
test edx, edx
pop ecx
mov dword [ebp - 0x854], eax
jbe 0x1003a8b8
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x1003a875
lea ecx, [ebp - 0x82c]
cmp dword [ebp - 0x818], 8
lea eax, [ecx + edx*2]
mov ecx, dword [ebp - 0x82c]
jae 0x1003a8b4
lea ecx, [ebp - 0x82c]
jmp 0x1003a8b4
mov edi, dword [ebp - 0x854]
test edi, edi
mov edx, ebx
jbe 0x1003a8a8
movzx esi, word [ecx]
cmp word [edx], si
je 0x1003a8aa
inc edx
inc edx
dec edi
jne 0x1003a89e
xor edx, edx
test edx, edx
je 0x1003a938
inc ecx
inc ecx
cmp ecx, eax
jb 0x1003a88f
or ecx, 0xffffffff
push ecx
xor edi, edi
lea esi, [ebp - 0x830]
call fcn.100018fa
push ebx
call fcn.1005184b
pop ecx
mov ecx, dword [ebp - 0x81c]
test ecx, ecx
jbe 0x1003a973
or edx, 0xffffffff
cmp ecx, edx
ja 0x1003a8e8
lea edx, [ecx - 1]
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x1003a8fd
lea ecx, [ebp - 0x82c]
lea ecx, [ecx + edx*2]
test eax, eax
mov edi, eax
mov edx, ebx
jbe 0x1003a915
movzx esi, word [ecx]
cmp word [edx], si
je 0x1003a917
inc edx
inc edx
dec edi
jne 0x1003a90b
xor edx, edx
test edx, edx
je 0x1003a956
cmp dword [ebp - 0x818], 8
mov edx, dword [ebp - 0x82c]
jae 0x1003a930
lea edx, [ebp - 0x82c]
cmp ecx, edx
je 0x1003a973
dec ecx
dec ecx
jmp 0x1003a900
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x1003a94d
lea eax, [ebp - 0x82c]
sub ecx, eax
sar ecx, 1
jmp 0x1003a8bb
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x1003a96b
lea eax, [ebp - 0x82c]
sub ecx, eax
sar ecx, 1
mov eax, ecx
jmp 0x1003a976
or eax, 0xffffffff
push 0xffffffffffffffff
lea edi, [eax + 1]
lea esi, [ebp - 0x830]
call fcn.100018fa
lea eax, [ebp - 0x858]
mov ecx, esi
call fcn.10001968
mov esi, eax
lea eax, [ebp - 0x848]
lea ecx, [ebp - 0x830]
call fcn.10001988
mov edi, eax
lea eax, [ebp - 0x840]
lea ecx, [ebp - 0x830]
call fcn.10001968
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]
call fcn.100239d0
mov edi, dword [ebp - 0x834]
add esp, 0x18
push 0xffffffffffffffff
lea eax, [edi + 0x1238]
push eax
xor ebx, ebx
lea eax, [ebp - 0x830]
call fcn.10001d68
xor esi, esi
cmp dword [edi + 0x1230], esi
jne 0x1003aaa7
push 0x400
lea eax, [ebp - 0x814]
push esi
push eax
call fcn.10051de0
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 0x1003aaa7
lea eax, [ebp - 0x814]
push eax
call fcn.1005184b
pop ecx
lea esi, [edi + 0x121c]
lea ecx, [ebp - 0x814]
call fcn.100022cf
push str.TencentQQDownload
push esi
call fcn.100069d0
lea eax, [ebp - 0x850]
mov ecx, esi
call fcn.10001968
mov ebx, eax
lea eax, [ebp - 0x840]
mov ecx, esi
call fcn.10001988
mov dword [ebp - 0x834], eax
lea eax, [ebp - 0x848]
mov ecx, esi
call fcn.10001968
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]
call fcn.100239d0
add esp, 0x18
xor esi, esi
cmp dword [edi + 0x1214], esi
jne 0x1003ab1b
cmp dword [edi + 0x44], esi
je 0x1003aac7
push 0xffffffffffffffff
lea ecx, [edi + 0x1200]
lea eax, [edi + 0x30]
push ecx
xor ebx, ebx
call fcn.10001d68
lea ebx, [edi + 0x1200]
lea eax, [ebp - 0x850]
mov ecx, ebx
call fcn.10001968
mov esi, eax
lea eax, [ebp - 0x840]
mov ecx, ebx
call fcn.10001988
mov ebx, eax
lea eax, [ebp - 0x848]
lea ecx, [edi + 0x1200]
call fcn.10001968
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]
call fcn.100239d0
add esp, 0x18
xor esi, esi
cmp dword [edi + 0x1230], esi
je 0x1003ab54
lea eax, [edi + 0x121c]
cmp dword [eax + 0x18], 8
mov ecx, dword [eax + 0x14]
jb 0x1003ab37
mov eax, dword [eax + 4]
jmp 0x1003ab3a
add eax, 4
push ecx
push eax
lea eax, [ebp - 0x830]
call fcn.10001dee
cmp eax, 0xffffffff
je 0x1003ab54
xor edi, edi
inc edi
jmp 0x1003a80f
lea ecx, [edi + 0x1200]
lea eax, [ebp - 0x830]
call fcn.1003854c
test al, al
jne 0x1003ab4c
jmp 0x1003a80d