Function at 0x424050
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x250
mov eax, dword [ebp + 8]
mov ecx, dword [0x4e2024]
xor ecx, ebp
mov dword [esp + 0x248], ecx
xor ecx, ecx
dec ecx
mov dword [esp], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
cmp byte [eax + 0xb], 0
js 0x424097
mov ecx, dword [eax + 8]
mov dword [esp + 8], ecx
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
jmp 0x4240a3
mov ecx, esp
push dword [eax + 4]
push dword [eax]
call fcn.0044ac90
push 0x30
call fcn.0046acad
add esp, 4
lea esi, [esp + 0x40]
mov dword [esi], eax
mov dword [esi + 8], 0x80000018
mov dword [esi + 4], 0x12
mov ecx, dword [0x4d405e]
mov dword [eax + 0x20], ecx
movups xmm0, xmmword [0x4d404e]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [str.SOFTWAREPolicies_]
movups xmmword [eax], xmm0
mov word [eax + 0x24], 0
xor edi, edi
push esi
push edi
push dword [ebp + 0xc]
call fcn.00422a90
add esp, 0xc
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
cmp byte [esi + 0xb], 0
jns 0x42410a
mov esi, dword [esp + 0x40]
lea ebx, [esp + 0x30]
push ebx
push str.UserDataDir
push esi
push edi
push 1
call fcn.00432770
add esp, 0x14
test al, al
je 0x424130
lea eax, [esp + 0x30]
lea ecx, [esp + 0x24]
push eax
push ecx
jmp 0x42415e
cmp byte [esp + 0x4b], 0
jns 0x42413d
mov eax, dword [esp + 0x40]
jmp 0x424141
lea eax, [esp + 0x40]
push ebx
push str.UserDataDir
push eax
push 0
push 2
call fcn.00432770
add esp, 0x14
test al, al
je 0x42418b
lea eax, [esp + 0x24]
push ebx
push eax
call fcn.00432850
add esp, 8
cmp byte [esp + 0xb], 0
jns 0x424178
push dword [esp]
call fcn.0046acdd
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
movsd xmm0, qword [esp + 0x24]
movsd qword [esp], xmm0
cmp byte [esp + 0x3b], 0
jns 0x42419e
push dword [esp + 0x30]
call fcn.0046acdd
add esp, 4
cmp byte [esp + 0x4b], 0
jns 0x4241b1
push dword [esp + 0x40]
call fcn.0046acdd
add esp, 4
movzx ecx, byte [esp + 0xb]
test cl, cl
mov edx, dword [esp + 4]
mov esi, ecx
cmovs esi, edx
test esi, esi
je 0x42423a
mov ebx, ecx
shr bl, 7
mov edi, dword [esp]
test bl, 1
mov eax, esp
cmovne eax, edi
movzx esi, word [eax + esi*2 - 2]
cmp si, 0x5c
je 0x4241e6
cmp si, 0x2f
jne 0x424227
test bl, 1
je 0x4241fa
lea eax, [edx - 1]
mov dword [esp + 4], eax
lea ecx, [edi + edx*2]
add ecx, 0xfffffffe
jmp 0x424207
lea eax, [ecx - 1]
mov byte [esp + 0xb], al
lea ecx, [esp + ecx*2]
add ecx, 0xfffffffe
mov word [ecx], 0
movzx ecx, byte [esp + 0xb]
mov ebx, ecx
shr bl, 7
test cl, cl
mov edx, dword [esp + 4]
mov esi, ecx
cmovs esi, edx
test esi, esi
jne 0x4241ca
jmp 0x42423a
mov eax, esp
push eax
call fcn.00423430
add esp, 4
test al, al
jne 0x4245dc
mov ecx, dword [ebp + 0x14]
mov esi, esp
cmp esi, ecx
je 0x424275
cmp byte [ecx + 0xb], 0
movzx eax, byte [esp + 0xb]
js 0x424701
test al, al
jns 0x424265
push dword [esp + 4]
push dword [esp + 4]
call fcn.0041c2e0
jmp 0x424275
mov eax, dword [esp + 8]
mov dword [ecx + 8], eax
movsd xmm0, qword [esp]
movsd qword [ecx], xmm0
lea esi, [esp + 0x30]
xor eax, eax
dec eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov ecx, esi
call fcn.0044bd20
cmp dword [0x4e3c00], 0
je 0x4244bf
push esi
push 3
call fcn.004200b0
add esp, 8
lea edi, [esp + 0x24]
mov ecx, esi
push edi
call fcn.0044c8b0
lea esi, [esp + 0x40]
mov ecx, edi
push esi
call fcn.0041f1b0
movzx eax, byte [esi + 0xb]
test al, al
jns 0x4242cb
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov bl, 1
push 1
push 7
push str.release
push eax
push esi
call fcn.00450ca0
add esp, 0x14
test al, al
jne 0x42433f
lea esi, [esp + 0xc]
lea ecx, [esp + 0x30]
push esi
call fcn.0044c8b0
lea edi, [esp + 0x18]
mov ecx, esi
push edi
call fcn.0041f1b0
movzx eax, byte [edi + 0xb]
test al, al
jns 0x42430e
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push 1
push 5
push str.debug
push eax
push edi
call fcn.00450ca0
add esp, 0x14
mov ebx, eax
cmp byte [esp + 0x23], 0
jns 0x424336
push dword [esp + 0x18]
call fcn.0046acdd
add esp, 4
lea ecx, [esp + 0xc]
call fcn.0044be70
cmp byte [esp + 0x4b], 0
jns 0x424352
push dword [esp + 0x40]
call fcn.0046acdd
add esp, 4
lea edi, [esp + 0x24]
mov ecx, edi
call fcn.0044be70
test bl, bl
je 0x4243af
lea ebx, [esp + 0x18]
lea ecx, [esp + 0x30]
push ebx
call fcn.0044c450
lea esi, [esp + 0x24]
mov ecx, ebx
push esi
call fcn.0044c450
lea ebx, [esp + 0x40]
mov ecx, esi
push 7
push str.slimjet
push ebx
call fcn.0041f060
lea ecx, [esp + 0x30]
push ebx
call fcn.0044be90
mov ecx, ebx
call fcn.0044be70
mov ecx, esi
call fcn.0044be70
lea ecx, [esp + 0x18]
call fcn.0044be70
mov eax, dword [0x4e3c00]
cmp eax, 0xffffffff
jne 0x424416
lea ebx, [esp + 0x24]
mov byte [ebx], 0xff
lea esi, [esp + 0x40]
push 0x66
push str..._.._chrome_install_static_user_data_dir.cc
push str.GetDefaultUserDataDirectory
push esi
call fcn.004568b0
add esp, 0x10
mov ecx, ebx
push esi
call fcn.00433780
lea ecx, [esp + 0x30]
push 0x10
push str.portable_version
push esi
call fcn.0041f060
push esi
call fcn.004215d0
add esp, 4
movzx eax, al
mov dword [0x4e3c00], eax
mov ecx, esi
call fcn.0044be70
mov ecx, ebx
call fcn.004337d0
mov eax, dword [0x4e3c00]
test eax, eax
je 0x4244bf
lea ebx, [esp + 0x40]
lea esi, [esp + 0x30]
mov ecx, esi
push 9
push 0x4d4360
push ebx
call fcn.0041f060
mov ecx, esi
push ebx
call fcn.0044be90
mov ecx, ebx
call fcn.0044be70
mov ecx, esi
push edi
call fcn.004ab380
movzx eax, byte [esp + 0x2f]
test al, al
jns 0x42445d
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push eax
push edi
push ebx
call fcn.004209c0
add esp, 0xc
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
cmp byte [esp + 0x2f], 0
mov byte [esp + 0x4b], 0
mov word [esp + 0x40], 0
jns 0x424493
push dword [esp + 0x24]
call fcn.0046acdd
add esp, 4
mov eax, dword [esp]
mov dword [esp], edi
mov dword [esp + 4], ebx
cmp dword [esp + 8], 0
mov dword [esp + 8], esi
jns 0x4244b1
push eax
call fcn.0046acdd
add esp, 4
lea ecx, [esp + 0x30]
call fcn.0044be70
jmp 0x4245dc
lea ebx, [esp + 0x40]
xor eax, eax
dec eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
push str.LOCALAPPDATA
push ebx
call fcn.00422ff0
add esp, 8
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x4244e8
mov eax, dword [esp + 0x44]
test eax, eax
je 0x424562
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x48]
mov dword [esp + 8], esi
movsd xmm0, qword [esp + 0x40]
movsd qword [esp], xmm0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
movzx eax, byte [esp + 0xb]
test al, al
cmovs eax, dword [esp + 4]
mov ecx, dword [esp]
mov esi, esp
cmovns ecx, esi
cmp word [ecx + eax*2 - 2], 0x5c
je 0x42453b
mov ecx, esp
push 0x5c
call fcn.0044af30
push esi
push 1
push dword [ebp + 0xc]
call fcn.00422a90
add esp, 0xc
mov ecx, esi
push 0x5c
call fcn.0044af30
mov ecx, esi
push str.User_Data
call fcn.0041c400
mov bl, 1
jmp 0x4245b8
xor eax, eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x4245b6
mov esi, eax
inc esi
mov ecx, ebx
push 0
push esi
call fcn.0044b340
cmp byte [esp + 0x4b], 0
jns 0x424588
mov ebx, dword [esp + 0x40]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x4245b6
movzx ecx, byte [esp + 0x4b]
test cl, cl
jns 0x4245a1
mov ecx, dword [esp + 0x44]
cmp eax, ecx
jae 0x4245b6
lea ecx, [esp + 0x40]
push 0
push eax
call fcn.0044b340
jmp 0x4244ec
xor ebx, ebx
cmp byte [esp + 0x4b], 0
jns 0x4245cb
push dword [esp + 0x40]
call fcn.0046acdd
add esp, 4
lea ecx, [esp + 0x30]
call fcn.0044be70
test bl, bl
je 0x424664
lea edi, [esp + 0x40]
push 0x208
push 0xff
push edi
call fcn.0046e590
add esp, 0xc
cmp byte [esp + 0xb], 0
jns 0x4245ff
mov eax, dword [esp]
jmp 0x424601
mov eax, esp
push 0x104
push eax
push edi
call fcn.0047fadd
add esp, 0xc
test eax, eax
je 0x424654
push edi
call fcn.00483176
add esp, 4
cmp eax, 0x7ffffff0
jae 0x42471a
mov ebx, eax
cmp eax, 5
jae 0x424668
mov byte [esp + 0x3b], bl
cmp ebx, 3
jne 0x4246f7
movzx eax, word [esp + 0x44]
mov word [esp + 0x34], ax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
lea esi, [esp + 0x30]
jmp 0x4246a1
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
jmp 0x4246a7
xor ebx, ebx
jmp 0x4246cd
lea edi, [ebx + 8]
and edi, 0xfffffff8
lea eax, [edi + edi]
push eax
call fcn.0046acad
add esp, 4
mov esi, eax
mov dword [esp + 0x30], eax
or edi, 0x80000000
mov dword [esp + 0x38], edi
lea edi, [esp + 0x40]
mov dword [esp + 0x34], ebx
mov eax, ebx
add eax, ebx
push eax
push edi
push esi
call fcn.0046e010
add esp, 0xc
mov word [esi + ebx*2], 0
mov esi, dword [ebp + 0x10]
cmp byte [esi + 0xb], 0
jns 0x4246ba
push dword [esi]
call fcn.0046acdd
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esi], xmm0
mov bl, 1
cmp byte [esp + 0xb], 0
jns 0x4246df
push dword [esp]
call fcn.0046acdd
add esp, 4
mov ecx, dword [esp + 0x248]
xor ecx, ebp
call fcn.0046b8b5
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test ebx, ebx
lea esi, [esp + 0x30]
jne 0x424692
jmp 0x4246a1
test al, al
cmovs eax, dword [esp + 4]
mov edx, dword [esp]
cmovns edx, esi
push eax
push edx
call fcn.0041c1d0
jmp 0x424275
lea ecx, [esp + 0x30]
call fcn.004a96f0
int3