Function at 0x48aa00
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1f8
mov eax, dword [0x6f4e3c]
xor eax, ebp
mov dword [esp + 0x1f0], eax
lea edi, [esp + 0xec]
push 0x104
push 0
push edi
call fcn.006030b0
add esp, 0xc
push 1
push 0x1a
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x48ab17
push 0x20
call fcn.00517b56
add esp, 4
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe8], reloc.OLEAUT32.dll_RegisterActiveObject
mov dword [esp + 0xe4], 0x14
movups xmm0, xmmword [str.config_systemprofile]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x656c6966
mov byte [eax + 0x14], 0
push 0x20
call fcn.00517b56
add esp, 4
mov dword [esp + 0xd4], eax
mov dword [esp + 0xdc], reloc.OLEAUT32.dll_RegisterActiveObject
mov dword [esp + 0xd8], 0x1d
movups xmm0, xmmword [0x65302f]
movups xmmword [eax + 0xd], xmm0
movups xmm0, xmmword [str.localservice_application_data]
movups xmmword [eax], xmm0
mov byte [eax + 0x1d], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
push edi
call fcn.0061fdf0
add esp, 4
cmp eax, 0xfffffff0
jae 0x48adc2
mov ebx, eax
cmp eax, 0xb
jae 0x48ab1e
lea esi, [esp + 0xc8]
mov byte [esp + 0xd3], bl
mov dword [esp + 0x14], esi
test ebx, ebx
jne 0x48ab5e
jmp 0x48ab69
xor ebx, ebx
jmp 0x48ad6d
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.00517b56
add esp, 4
mov esi, eax
mov dword [esp + 0xc8], eax
or edi, 0x80000000
mov dword [esp + 0xd0], edi
lea edi, [esp + 0xec]
mov dword [esp + 0xcc], ebx
lea eax, [esp + 0xc8]
mov dword [esp + 0x14], eax
push ebx
push edi
push esi
call fcn.006025b0
add esp, 0xc
mov byte [esi + ebx], 0
movzx ecx, byte [esp + 0xeb]
test cl, cl
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x1c], ecx
mov edi, ecx
cmovs edi, dword [esp + 0xe4]
lea ecx, [esp + 0xe0]
mov dword [esp + 0x18], eax
cmovs ecx, eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + 0xb]
test bl, bl
jns 0x48abb3
mov eax, dword [esp + 0xc8]
jmp 0x48abba
lea eax, [esp + 0xc8]
mov dword [esp + 4], eax
test edi, edi
je 0x48acee
test bl, bl
jns 0x48abd1
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 4]
add eax, ebx
mov dword [esp + 0xc], eax
cmp ebx, edi
jge 0x48ac17
movzx eax, byte [esp + 0xdf]
test al, al
cmovs eax, dword [esp + 0xd8]
lea ecx, [esp + 0xd4]
cmovs ecx, dword [esp + 0xd4]
mov dword [esp + 8], ecx
test eax, eax
je 0x48acee
cmp ebx, eax
jge 0x48ac6d
xor ebx, ebx
jmp 0x48ad52
mov eax, dword [esp + 8]
movzx eax, byte [eax]
mov dword [esp + 0x10], eax
mov eax, ebx
mov esi, dword [esp + 4]
nop dword [eax + eax]
sub eax, edi
inc eax
je 0x48abdf
push eax
push dword [esp + 0x14]
push esi
call fcn.00601550
add esp, 0xc
test eax, eax
je 0x48abdf
mov esi, eax
push edi
push dword [esp + 0xc]
push eax
call fcn.006015fd
add esp, 0xc
test eax, eax
je 0x48acc5
add esi, 1
mov eax, dword [esp + 0xc]
sub eax, esi
cmp eax, edi
jge 0x48ac30
jmp 0x48abdf
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx]
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 4]
nop dword [eax]
sub ebx, eax
inc ebx
je 0x48ac10
mov edi, eax
push ebx
push dword [esp + 0x14]
push esi
call fcn.00601550
add esp, 0xc
test eax, eax
je 0x48ac10
mov esi, eax
push edi
push dword [esp + 0xc]
push eax
call fcn.006015fd
add esp, 0xc
test eax, eax
je 0x48acdd
add esi, 1
mov ebx, dword [esp + 0xc]
sub ebx, esi
cmp ebx, edi
mov eax, edi
jge 0x48ac80
jmp 0x48ac10
cmp esi, dword [esp + 0xc]
je 0x48abdf
sub esi, dword [esp + 4]
cmp esi, 0xffffffff
jne 0x48acee
jmp 0x48abdf
xor ebx, ebx
cmp esi, dword [esp + 0xc]
je 0x48ad52
sub esi, dword [esp + 4]
cmp esi, 0xffffffff
je 0x48ad52
push 0x1d
push str..._.._base_360_qihoo_util.cc
call fcn.00473390
add esp, 8
mov bl, 1
test eax, eax
jle 0x48ad52
lea ecx, [esp + 0x20]
push 0xffffffffffffffff
push 0x190
push str..._.._base_360_qihoo_util.cc
call fcn.004733f0
lea eax, [esp + 0x28]
push 0x36
push str.IsSystemPrivilegeImp__SHGetSpecialFolderPathA_szPath_
push eax
call fcn.00403cc6
add esp, 0xc
mov edi, eax
lea esi, [esp + 0xec]
push esi
call fcn.0061fdf0
add esp, 4
push eax
push esi
push edi
call fcn.00403cc6
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.00473790
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xb], 0
js 0x48ad85
cmp byte [esp + 0xdf], 0
js 0x48ad9e
cmp byte [esp + 0x1c], 0
js 0x48adb4
mov ecx, dword [esp + 0x1f0]
xor ecx, ebp
call fcn.00517c1a
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0xc8]
call fcn.00517bd6
add esp, 4
cmp byte [esp + 0xdf], 0
jns 0x48ad66
push dword [esp + 0xd4]
call fcn.00517bd6
add esp, 4
cmp byte [esp + 0x1c], 0
jns 0x48ad6d
push dword [esp + 0x18]
call fcn.00517bd6
add esp, 4
jmp 0x48ad6d
lea ecx, [esp + 0xc8]
call fcn.00467d64
int3