Function at 0x1400054c0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x480]
sub rsp, 0x580
lea rcx, str.____Context_initialize..._n
call fcn.140001e00
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateJobObjectW]
mov qword [0x14006a058], rax
xor r15d, r15d
test rax, rax
je 0x140005574
mov dword [rbp - 0x30], r15d
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp - 0x2c], xmm0
movups xmmword [rbp - 0x1c], xmm0
movups xmmword [rbp - 0xc], xmm0
movups xmmword [rbp + 4], xmm0
movups xmmword [rbp + 0x14], xmm0
movups xmmword [rbp + 0x24], xmm0
movups xmmword [rbp + 0x34], xmm0
movups xmmword [rbp + 0x44], xmm0
mov qword [rbp + 0x54], rcx
mov dword [rbp + 0x5c], ecx
mov dword [rbp - 0x20], 0x2000
mov r9d, 0x90
lea r8, [rbp - 0x30]
lea edx, [rcx + 9]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetInformationJobObject]
test eax, eax
jne 0x140005580
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.____SetInformationJobObject_failed_0x_X_n
call fcn.140001e00
xor al, al
jmp 0x140005df7
lea rcx, str.____Job_object_not_created_n
call fcn.140001e00
call fcn.1400039d0
test al, al
je 0x14000556d
mov edx, 0x104
lea rcx, [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x1400055af
lea rcx, str.____Can_t_get_windows_directory_n
call fcn.140001e00
xor al, al
jmp 0x140005df7
lea rax, [rbp + 0x270]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x19]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
call fcn.140004f60
lea rax, str.ALLUSERSPROFILE
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xf
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140021ec0
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140021170
mov rbx, rax
lea r14, [0x140062d68]
cmp r14, rax
je 0x1400056a3
mov rdx, qword [0x140062d80]
cmp rdx, 7
jbe 0x140005666
mov rcx, qword [0x140062d68]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140005661
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005e1a
mov rcx, r8
call fcn.140024e14
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [0x140062d78], xmm0
mov word [0x140062d68], r15w
movups xmm0, xmmword [rbx]
movups xmmword [0x140062d68], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140062d78], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x1400056e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400056df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e1a
call fcn.140024e14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
lea rax, [rbp + 0x60]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rax + r8*2], r15w
jne 0x140005704
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x30]
call fcn.140001fa0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.140021170
mov rdi, rax
lea rsi, [0x140062cf8]
cmp rsi, rax
je 0x1400057c1
mov rdx, qword [0x140062d10]
cmp rdx, 7
jbe 0x140005784
mov rcx, qword [0x140062cf8]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x14000577f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005e20
mov rcx, r8
call fcn.140024e14
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [0x140062d08], xmm0
mov word [0x140062cf8], r15w
movups xmm0, xmmword [rdi]
movups xmmword [0x140062cf8], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [0x140062d08], xmm1
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140005802
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400057fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e20
call fcn.140024e14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
lea rax, [rbp + 0x270]
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], r15w
jne 0x140005820
mov r8, rbx
lea rdx, [rbp + 0x270]
lea rcx, [rsp + 0x30]
call fcn.140001fa0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.140021170
mov rbx, rax
lea rdi, [0x140062e18]
cmp rdi, rax
je 0x1400058e3
mov rdx, qword [0x140062e30]
cmp rdx, 7
jbe 0x1400058a6
mov rcx, qword [0x140062e18]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1400058a1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005e26
mov rcx, r8
call fcn.140024e14
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [0x140062e28], xmm0
mov word [0x140062e18], r15w
movups xmm0, xmmword [rbx]
movups xmmword [0x140062e18], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140062e28], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140005924
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000591f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e26
call fcn.140024e14
cmp qword [0x140062d80], 7
cmova r14, qword [0x140062d68]
mov rdx, r14
lea rcx, str.____sALLUSERSPROFILE:__s_n
call fcn.140001e00
cmp qword [0x140062d10], 7
cmova rsi, qword [0x140062cf8]
mov rdx, rsi
lea rcx, str.____sWindowsDirectory:__s_n
call fcn.140001e00
cmp qword [0x140062e30], 7
cmova rdi, qword [0x140062e18]
mov rdx, rdi
lea rcx, str.____sPublicDesktop:__s_n
call fcn.140001e00
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r15w
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r15w
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.140003620
test al, al
je 0x140005a55
lea rax, [rbp - 0x70]
cmp qword [rbp - 0x58], 7
cmova rax, qword [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [0x140062e50]
lea rcx, [rsp + 0x30]
call fcn.140014720
test eax, eax
je 0x140005d60
lea rax, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [0x140062ce0]
lea rcx, [rsp + 0x30]
call fcn.140014720
test eax, eax
je 0x140005d60
lea rcx, str.___Keys_retrieved_from_registry_n
jmp 0x140005acb
call fcn.140014860
test eax, eax
je 0x140005d60
lea rdx, [0x140062ce0]
lea rcx, [0x140062cb0]
call fcn.140014a80
test eax, eax
je 0x140005d60
lea rdx, [rbp - 0x70]
lea rcx, [0x140062e50]
call fcn.140014580
test eax, eax
je 0x140005d60
lea rdx, [rsp + 0x50]
lea rcx, [0x140062ce0]
call fcn.140014580
test eax, eax
je 0x140005d60
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x70]
call fcn.140003310
test al, al
je 0x140005d60
lea rcx, str.___Keys_saved_to_registry_n
call fcn.140001e00
mov rax, qword [0x140062e58]
sub rax, qword [0x140062e50]
cmp rax, 0x114
jne 0x140005d60
mov rax, qword [0x140062ce8]
sub rax, qword [0x140062ce0]
cmp rax, 0x500
jne 0x140005d60
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov r8d, 0xc
lea rdx, str._IDENTIFIER_
lea rcx, [rsp + 0x30]
call fcn.140001fa0
nop
lea rdi, [0x140062dd8]
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.1400021f0
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140021cf0
mov rbx, rax
cmp rdi, rax
je 0x140005be6
mov rdx, qword [0x140062df0]
cmp rdx, 7
jbe 0x140005ba9
mov rcx, qword [0x140062dd8]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140005ba4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005e2c
mov rcx, r8
call fcn.140024e14
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [0x140062de8], xmm0
mov word [0x140062dd8], r15w
movups xmm0, xmmword [rbx]
movups xmmword [0x140062dd8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140062de8], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140005c27
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e2c
call fcn.140024e14
movdqa xmm0, xmmword [0x1400580c0]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r15w
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x140005c7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c77
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e32
call fcn.140024e14
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140021a00
mov rbx, rax
lea rax, [0x140062da0]
cmp rax, rbx
je 0x140005d14
mov rdx, qword [0x140062db8]
cmp rdx, 0xf
jbe 0x140005cd9
mov rcx, qword [0x140062da0]
inc rdx
cmp rdx, 0x1000
jb 0x140005cd4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005e38
mov rcx, r8
call fcn.140024e14
movdqa xmm0, xmmword [0x1400580d0]
movdqu xmmword [0x140062db0], xmm0
mov byte [0x140062da0], 0
movups xmm0, xmmword [rbx]
movups xmmword [0x140062da0], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [0x140062db0], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140005d50
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005d4b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e38
call fcn.140024e14
lea rcx, str.___Context_initialized_n
call fcn.140001e00
mov bl, 1
jmp 0x140005d62
xor bl, bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140005da4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005d9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e3e
call fcn.140024e14
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r15w
mov rdx, qword [rbp - 0x58]
cmp rdx, 7
jbe 0x140005df4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005def
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e14
call fcn.140024e14
movzx eax, bl
lea r11, [rsp + 0x580]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140036164
int3
call fcn.140036164
int3
call fcn.140036164
int3
call fcn.140036164
nop
call fcn.140036164
nop
call fcn.140036164
int3
call fcn.140036164
nop
call fcn.140036164
int3