Function at 0x442500
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 [0x530f98]
xor eax, ebp
mov dword [esp + 0x1f0], eax
lea edi, [esp + 0xec]
push 0x104
push 0
push edi
call fcn.004b8bc0
add esp, 0xc
push 1
push 0x1a
push edi
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x442617
push 0x20
call fcn.004af396
add esp, 4
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe8], 0x80000020
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.004af396
add esp, 4
mov dword [esp + 0xd4], eax
mov dword [esp + 0xdc], 0x80000020
mov dword [esp + 0xd8], 0x1d
movups xmm0, xmmword [0x4e9a10]
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.004cfa30
add esp, 4
cmp eax, 0xfffffff0
jae 0x4428c2
mov ebx, eax
cmp eax, 0xb
jae 0x44261e
lea esi, [esp + 0xc8]
mov byte [esp + 0xd3], bl
mov dword [esp + 0x14], esi
test ebx, ebx
jne 0x44265e
jmp 0x442669
xor ebx, ebx
jmp 0x44286d
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004af396
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.004b80c0
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 0x4426b3
mov eax, dword [esp + 0xc8]
jmp 0x4426ba
lea eax, [esp + 0xc8]
mov dword [esp + 4], eax
test edi, edi
je 0x4427ee
test bl, bl
jns 0x4426d1
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 4]
add eax, ebx
mov dword [esp + 0xc], eax
cmp ebx, edi
jge 0x442717
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 0x4427ee
cmp ebx, eax
jge 0x44276d
xor ebx, ebx
jmp 0x442852
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 0x4426df
push eax
push dword [esp + 0x14]
push esi
call fcn.004b7060
add esp, 0xc
test eax, eax
je 0x4426df
mov esi, eax
push edi
push dword [esp + 0xc]
push eax
call fcn.004b710d
add esp, 0xc
test eax, eax
je 0x4427c5
add esi, 1
mov eax, dword [esp + 0xc]
sub eax, esi
cmp eax, edi
jge 0x442730
jmp 0x4426df
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 0x442710
mov edi, eax
push ebx
push dword [esp + 0x14]
push esi
call fcn.004b7060
add esp, 0xc
test eax, eax
je 0x442710
mov esi, eax
push edi
push dword [esp + 0xc]
push eax
call fcn.004b710d
add esp, 0xc
test eax, eax
je 0x4427dd
add esi, 1
mov ebx, dword [esp + 0xc]
sub ebx, esi
cmp ebx, edi
mov eax, edi
jge 0x442780
jmp 0x442710
cmp esi, dword [esp + 0xc]
je 0x4426df
sub esi, dword [esp + 4]
cmp esi, 0xffffffff
jne 0x4427ee
jmp 0x4426df
xor ebx, ebx
cmp esi, dword [esp + 0xc]
je 0x442852
sub esi, dword [esp + 4]
cmp esi, 0xffffffff
je 0x442852
push 0x1d
push str..._.._base_360_qihoo_util.cc
call fcn.004324f0
add esp, 8
mov bl, 1
test eax, eax
jle 0x442852
lea ecx, [esp + 0x20]
push 0xffffffffffffffff
push 0x190
push str..._.._base_360_qihoo_util.cc
call fcn.00432550
lea eax, [esp + 0x28]
push 0x36
push str.IsSystemPrivilegeImp__SHGetSpecialFolderPathA_szPath_
push eax
call fcn.0040c434
add esp, 0xc
mov edi, eax
lea esi, [esp + 0xec]
push esi
call fcn.004cfa30
add esp, 4
push eax
push esi
push edi
call fcn.0040c434
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.004328f0
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xb], 0
js 0x442885
cmp byte [esp + 0xdf], 0
js 0x44289e
cmp byte [esp + 0x1c], 0
js 0x4428b4
mov ecx, dword [esp + 0x1f0]
xor ecx, ebp
call fcn.004af401
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0xc8]
call fcn.004af3c6
add esp, 4
cmp byte [esp + 0xdf], 0
jns 0x442866
push dword [esp + 0xd4]
call fcn.004af3c6
add esp, 4
cmp byte [esp + 0x1c], 0
jns 0x44286d
push dword [esp + 0x18]
call fcn.004af3c6
add esp, 4
jmp 0x44286d
lea ecx, [esp + 0xc8]
call fcn.00428aec
int3