Function at 0x140003760
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c0]
sub rsp, 0x2c0
mov rax, qword [0x14023a098]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rbx, rcx
mov qword [rsp + 0x30], rcx
xor r13d, r13d
mov qword [rcx], r13
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], 0xf
mov byte [rcx], r13b
lea r14, [rcx + 0x20]
mov qword [r14], r13
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], 0xf
mov byte [r14], r13b
lea r12, [rcx + 0x40]
mov qword [r12], r13
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], 0xf
mov byte [r12], r13b
mov qword [rcx + 0x60], r13
mov qword [rcx + 0x70], r13
mov qword [rcx + 0x78], 0xf
mov byte [rcx + 0x60], r13b
mov qword [rcx + 0x98], r13
mov qword [rcx + 0xa0], r13
mov qword [rcx + 0xa8], r13
mov qword [rcx + 0xb0], r13
mov qword [rcx + 0xb8], r13
mov qword [rcx + 0xc0], r13
mov qword [rcx + 0xc8], r13
mov qword [rcx + 0xd0], r13
mov qword [rcx + 0xd8], r13
mov byte [rcx + 0x80], r13b
mov ecx, 0x2c0
call fcn.14014d53c
mov rsi, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x68], 0x2b2
mov edi, 0x2bf
mov qword [rsp + 0x70], rdi
mov rcx, rax
lea rax, str.EACTzXPE8fdMhm6LizLe1FxV2DncybVh2cXpW3momTb8tpzRNT833r1RfySz5uHe8gdoXN1W0eM5Bk8X_LefygYYDS9RyXrRZ8qXrr9ITJ4r8ATnFIEThO5vqaCpGWTVi5pOPI5FUTJuhghVKTyAels2SpYT5CmfSQIkMKv7YVldaV7A_kY060GfrNg4__ETyIzhvaSZ_jyw_gmzYl_dwfT9kSzrrWy1vQG8JPNjKVPC4MCTZJx9SNvp1fVi77hhgT_Mc5PLcDIfjustlJkDBHtmGEjyaDnaWQf49rGq94q23mLc56MSjKpjOR1TtpsCY31d1Oy2fEXFgghM0R_1UkKswVuWhEEd8nO2PimJOl4u9ZJ2PWtJL1Ro0Hlw9OemJ12klIAxtGV_61Z60XoErbqThwWT5Uu3D2gjK9e6rL9dufSoqjC7UA2C0h7KNtfUcUHw0UWzahlR8XBNFXaLWx9Z8fRtA_a4seZcr0AhIA7JdQG5i8tOZo966KcFnkU77pfQTSprnJhCfEmYbWm9EZA122LJBWq2UrSQQN3pKc9goNaaNxy5PYU1yXyiAfMVsBDmDonhRWQh2XhdV_FWJ3rOGMe25zOwV4z1XkNBuW4T1JF2FgqGR6_q74B2ccFC8vrNGvlTEcs3MSxTI_EKLXQvBYy7hxG8EPUkrMVCaWzzTQAFEQ
lea edx, [r13 + 5]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140003872
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rax + 0x30]
mov word [rcx + 0x30], ax
mov byte [rsi + 0x2b2], dl
mov qword [rsp + 0x58], rsi
lea rcx, str.MEGA_UPDATE_PUBLIC_KEY
call fcn.140162988
test rax, rax
je 0x140003937
lea rcx, str.MEGA_UPDATE_PUBLIC_KEY
call fcn.140162988
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140003911
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140002450
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x20], rsi
mov rdi, qword [rsp + 0x70]
mov ecx, 0x1d0
call fcn.14014d53c
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14000396c
lea rdx, [rsp + 0x58]
cmp rdi, 0x10
cmovae rdx, rsi
mov rcx, rax
call fcn.140003450
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rcx
jmp 0x14000396f
mov rax, r13
mov qword [rbx + 0x88], rax
mov dword [rbx + 0x90], r13d
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140007a80
mov rdi, rax
cmp r14, rax
je 0x1400039fb
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x1400039cc
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x1400039c7
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004064
mov rcx, r8
call fcn.14014d578
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
movups xmm0, xmmword [rdi]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [r14 + 0x10], xmm1
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140003a38
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003a33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004064
call fcn.14014d578
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140007c10
mov rdi, rax
cmp rbx, rax
je 0x140003ab3
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140003a87
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140003a82
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000406a
mov rcx, r8
call fcn.14014d578
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140003af0
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003aeb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000406a
call fcn.14014d578
mov r15, qword [r14 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 7
jb 0x14000405e
mov qword [rsp + 0x28], r14
cmp qword [r14 + 0x18], 0x10
jb 0x140003b22
mov rax, qword [r14]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea r13, [r15 + 7]
mov edi, 0xf
lea rsi, [rsp + 0x38]
movabs rax, 0x8000000000000027
lea edx, [rdi + 7]
cmp r13, rdi
jbe 0x140003bb8
mov rdi, r13
or rdi, 0xf
cmp rdi, rcx
jbe 0x140003b62
mov rdi, rcx
jmp 0x140003b83
cmp rdi, rdx
cmovb rdi, rdx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140003ba2
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004058
mov rcx, rax
call fcn.14014d53c
test rax, rax
je 0x140004076
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140003bb3
test rcx, rcx
je 0x140003bb1
call fcn.14014d53c
mov rsi, rax
jmp 0x140003bb3
xor esi, esi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], rdi
mov r8, r15
mov rdx, qword [rsp + 0x28]
mov rcx, rsi
call fcn.140150450
mov eax, dword [str.eupdate]
mov dword [rsi + r15], eax
movzx eax, word [0x1401d8b64]
mov word [rsi + r15 + 4], ax
movzx eax, byte [0x1401d8b66]
mov byte [rsi + r15 + 6], al
mov byte [rsi + r13], 0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
jae 0x140003c29
lea rax, [rcx + 1]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x38]
mov word [rax + rcx], 0x5c
jmp 0x140003c3d
mov r9b, 0x5c
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x38]
call fcn.140002aa0
lea rax, [rsp + 0x78]
cmp r12, rax
je 0x140003ca3
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x140003c83
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x140003c7e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140004070
mov rcx, r8
call fcn.14014d578
mov qword [r12 + 0x18], 0xf
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [r12 + 0x10], xmm1
jmp 0x140003ce0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140003ce0
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003cdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004070
call fcn.14014d578
xor r13d, r13d
mov r15, qword [r14 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 7
jb 0x14000405e
cmp qword [r14 + 0x18], 0x10
jb 0x140003d0b
mov r14, qword [r14]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea r12, [r15 + 7]
mov edi, 0xf
lea rsi, [rsp + 0x38]
cmp r12, rdi
jbe 0x140003da5
mov rdi, r12
or rdi, 0xf
cmp rdi, rcx
jbe 0x140003d65
mov rdi, rcx
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14014d53c
test rax, rax
je 0x140004076
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140003da0
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140003d8e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140004058
jmp 0x140003d46
test rcx, rcx
je 0x140003d9d
call fcn.14014d53c
mov rsi, rax
jmp 0x140003da0
mov rsi, r13
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], rdi
mov r8, r15
mov rdx, r14
mov rcx, rsi
call fcn.140150450
mov eax, dword [str.ebackup]
mov dword [r15 + rsi], eax
movzx eax, word [0x1401d8b6c]
mov word [r15 + rsi + 4], ax
movzx eax, byte [0x1401d8b6e]
mov byte [r15 + rsi + 6], al
mov byte [rsi + r12], 0
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
jae 0x140003e14
lea rax, [rcx + 1]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x38]
mov word [rax + rcx], 0x5c
jmp 0x140003e28
mov r9b, 0x5c
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x38]
call fcn.140002aa0
lea rax, [rsp + 0x78]
lea rdi, [rbx + 0x60]
cmp rdi, rax
je 0x140003e8e
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x140003e70
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140003e6b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14000407c
mov rcx, r8
call fcn.14014d578
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rdi + 0x10], xmm1
jmp 0x140003ecc
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x140003ecc
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003ec6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000407c
call fcn.14014d578
nop
xor r9d, r9d
lea r8d, [r9 + 0x23]
lea rdx, [rbp - 0x60]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x140003fe5
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r14, eax
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140003f19
mov rcx, qword [rbx]
lea rdx, [rsp + 0x38]
call fcn.14000ad30
lea rdx, [rsp + 0x38]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x50]
cmp rsi, 0x10
cmovae rdx, rdi
add r14, r14
mov r8, r14
lea rcx, [rbp - 0x60]
call fcn.140150bb0
test eax, eax
jne 0x140003fad
cmp qword [rsp + 0x48], r14
jbe 0x140003fad
lea rax, [rsp + 0x38]
cmp rsi, 0x10
cmovae rax, rdi
cmp word [rax + r14], 0x5c
jne 0x140003fad
mov byte [rbx + 0x80], 1
lea r8, str.The_installation_is_public
mov edx, 0x400
lea rcx, [0x140246640]
call fcn.14000b1b0
lea rdx, [0x140246640]
lea rcx, [0x140248ef0]
call fcn.140001350
mov rcx, rax
call fcn.140002fd0
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
cmp rsi, 0x10
jb 0x140003fe5
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140003fdc
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004082
mov rcx, rdi
call fcn.14014d578
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14000401f
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004019
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004052
call fcn.14014d578
nop
mov rax, rbx
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.14014d690
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14015ef18
nop
call fcn.140002380
int3
call fcn.1400023a0
int3
call fcn.14015ef18
int3
call fcn.14015ef18
nop
call fcn.14015ef18
nop
call fcn.14015ef18
nop
call fcn.14015ef18
nop
call fcn.14015ef18
int3