Function at 0x1003bee2
Capabilities:
Get common file path

Disassembly:
push 0x84c
mov eax, 0x10077e4b
call fcn.1005acb8
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.100541d0
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.1003e223
add esp, 0x10
test eax, eax
jne 0x1003bf74
xor edi, edi
push 0
push 1
lea esi, [ebp - 0x830]
call fcn.10001ef7
mov eax, edi
call fcn.1005ad3b
ret
lea eax, [ebp - 0x814]
push eax
call fcn.10053c3b
pop ecx
lea ecx, [ebp - 0x814]
lea esi, [ebp - 0x830]
call fcn.1000238b
mov ebx, 0x100847dc
push ebx
call fcn.10053c3b
mov edx, dword [ebp - 0x81c]
test edx, edx
pop ecx
mov dword [ebp - 0x854], eax
jbe 0x1003c006
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x1003bfc3
lea ecx, [ebp - 0x82c]
cmp dword [ebp - 0x818], 8
lea eax, [ecx + edx*2]
mov ecx, dword [ebp - 0x82c]
jae 0x1003c002
lea ecx, [ebp - 0x82c]
jmp 0x1003c002
mov edi, dword [ebp - 0x854]
test edi, edi
mov edx, ebx
jbe 0x1003bff6
movzx esi, word [ecx]
cmp word [edx], si
je 0x1003bff8
inc edx
inc edx
dec edi
jne 0x1003bfec
xor edx, edx
test edx, edx
je 0x1003c086
inc ecx
inc ecx
cmp ecx, eax
jb 0x1003bfdd
or ecx, 0xffffffff
push ecx
xor edi, edi
lea esi, [ebp - 0x830]
call fcn.100018f6
push ebx
call fcn.10053c3b
pop ecx
mov ecx, dword [ebp - 0x81c]
test ecx, ecx
jbe 0x1003c0c1
or edx, 0xffffffff
cmp ecx, edx
ja 0x1003c036
lea edx, [ecx - 1]
cmp dword [ebp - 0x818], 8
mov ecx, dword [ebp - 0x82c]
jae 0x1003c04b
lea ecx, [ebp - 0x82c]
lea ecx, [ecx + edx*2]
test eax, eax
mov edi, eax
mov edx, ebx
jbe 0x1003c063
movzx esi, word [ecx]
cmp word [edx], si
je 0x1003c065
inc edx
inc edx
dec edi
jne 0x1003c059
xor edx, edx
test edx, edx
je 0x1003c0a4
cmp dword [ebp - 0x818], 8
mov edx, dword [ebp - 0x82c]
jae 0x1003c07e
lea edx, [ebp - 0x82c]
cmp ecx, edx
je 0x1003c0c1
dec ecx
dec ecx
jmp 0x1003c04e
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x1003c09b
lea eax, [ebp - 0x82c]
sub ecx, eax
sar ecx, 1
jmp 0x1003c009
cmp dword [ebp - 0x818], 8
mov eax, dword [ebp - 0x82c]
jae 0x1003c0b9
lea eax, [ebp - 0x82c]
sub ecx, eax
sar ecx, 1
mov eax, ecx
jmp 0x1003c0c4
or eax, 0xffffffff
push 0xffffffffffffffff
lea edi, [eax + 1]
lea esi, [ebp - 0x830]
call fcn.100018f6
lea eax, [ebp - 0x858]
mov ecx, esi
call fcn.10001964
mov esi, eax
lea eax, [ebp - 0x848]
lea ecx, [ebp - 0x830]
call fcn.10001984
mov edi, eax
lea eax, [ebp - 0x840]
lea ecx, [ebp - 0x830]
call fcn.10001964
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.1002415e
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.10001d41
xor esi, esi
cmp dword [edi + 0x1230], esi
jne 0x1003c1f5
push 0x400
lea eax, [ebp - 0x814]
push esi
push eax
call fcn.100541d0
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 0x1003c1f5
lea eax, [ebp - 0x814]
push eax
call fcn.10053c3b
pop ecx
lea esi, [edi + 0x121c]
lea ecx, [ebp - 0x814]
call fcn.1000238b
push str.TencentQQDownload
push esi
call fcn.10006ad3
lea eax, [ebp - 0x850]
mov ecx, esi
call fcn.10001964
mov ebx, eax
lea eax, [ebp - 0x840]
mov ecx, esi
call fcn.10001984
mov dword [ebp - 0x834], eax
lea eax, [ebp - 0x848]
mov ecx, esi
call fcn.10001964
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.1002415e
add esp, 0x18
xor esi, esi
cmp dword [edi + 0x1214], esi
jne 0x1003c269
cmp dword [edi + 0x44], esi
je 0x1003c215
push 0xffffffffffffffff
lea ecx, [edi + 0x1200]
lea eax, [edi + 0x30]
push ecx
xor ebx, ebx
call fcn.10001d41
lea ebx, [edi + 0x1200]
lea eax, [ebp - 0x850]
mov ecx, ebx
call fcn.10001964
mov esi, eax
lea eax, [ebp - 0x840]
mov ecx, ebx
call fcn.10001984
mov ebx, eax
lea eax, [ebp - 0x848]
lea ecx, [edi + 0x1200]
call fcn.10001964
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.1002415e
add esp, 0x18
xor esi, esi
cmp dword [edi + 0x1230], esi
je 0x1003c2a2
lea eax, [edi + 0x121c]
cmp dword [eax + 0x18], 8
mov ecx, dword [eax + 0x14]
jb 0x1003c285
mov eax, dword [eax + 4]
jmp 0x1003c288
add eax, 4
push ecx
push eax
lea eax, [ebp - 0x830]
call fcn.10001dc7
cmp eax, 0xffffffff
je 0x1003c2a2
xor edi, edi
inc edi
jmp 0x1003bf5d
lea ecx, [edi + 0x1200]
lea eax, [ebp - 0x830]
call fcn.1002bada
test al, al
jne 0x1003c29a
jmp 0x1003bf5b