Function at 0x140007b64
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x3d8]
sub rsp, 0x4b0
mov rdi, rcx
mov ebx, 0x208
mov r8d, ebx
lea rcx, [rbp - 0x70]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r8d, ebx
lea rcx, [rbp + 0x1a0]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x104
lea rdx, [rbp - 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
xor esi, esi
lea rax, [rbp - 0x70]
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x60], rsi
xorps xmm0, xmm0
mov qword [rsp + 0x68], rsi
mov r8, rbx
movups xmmword [rsp + 0x50], xmm0
inc r8
cmp word [rax + r8*2], si
jne 0x140007be2
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.14000e630
mov r9, qword [rsp + 0x60]
lea rdx, [rsp + 0x50]
mov r15d, 7
cmp qword [rsp + 0x68], r15
cmova rdx, qword [rsp + 0x50]
lea r12d, [r15 + 0x55]
test r9, r9
je 0x140007c49
lea rcx, [r9 - 1]
mov rax, rbx
cmp rcx, rbx
cmovb rax, rcx
lea rcx, [rdx + rax*2]
jmp 0x140007c3b
cmp rcx, rdx
je 0x140007c49
sub rcx, 2
cmp word [rcx], r12w
jne 0x140007c32
sub rcx, rdx
sar rcx, 1
jmp 0x140007c4c
mov rcx, rbx
mov r14d, 0x1000
cmp rcx, rbx
je 0x140007cf2
inc rcx
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x70], xmm0
movdqu xmmword [rbp - 0x80], xmm1
cmp r9, rcx
jb 0x140007f93
sub r9, rcx
lea rax, [rsp + 0x50]
cmp r9, rbx
mov r8, rbx
cmovb r8, r9
cmp qword [rsp + 0x68], r15
cmova rax, qword [rsp + 0x50]
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x70]
call fcn.14000e630
mov rdx, qword [rsp + 0x68]
cmp rdx, r15
jbe 0x140007cdf
mov rcx, qword [rsp + 0x50]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, r14
jb 0x140007cda
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007f5d
call fcn.140015538
movups xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rbp - 0x80]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
xor r9d, r9d
lea rax, [rbp + 0x1a0]
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r9 + 0x1a]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xorps xmm0, xmm0
test eax, eax
jne 0x140007f1b
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x48], rsi
inc rbx
cmp word [rax + rbx*2], si
jne 0x140007d31
mov r8, rbx
lea rdx, [rbp + 0x1a0]
lea rcx, [rsp + 0x30]
call fcn.14000e630
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
test rbx, rbx
je 0x140007dc0
cmp rcx, r15
lea rax, [rsp + 0x30]
cmova rax, qword [rsp + 0x30]
cmp word [rax + rbx*2 - 2], r12w
je 0x140007dc0
mov rax, rcx
mov edx, 1
sub rax, rbx
cmp rax, rdx
jb 0x140007da0
lea rax, [rbx + 1]
cmp rcx, r15
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
cmova rax, qword [rsp + 0x30]
mov dword [rax + rbx*2], r12d
jmp 0x140007db6
lea r9, [0x140017b54]
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x30]
call fcn.14000ec8c
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rbx
cmp rax, r14
jb 0x140007f8d
cmp rcx, r15
lea r12, [rsp + 0x30]
lea r13, [rsp + 0x50]
xorps xmm0, xmm0
cmova r12, qword [rsp + 0x30]
mov eax, 7
cmp qword [rsp + 0x68], r15
lea r15, [rbx + r14]
movups xmmword [rdi], xmm0
cmova r13, qword [rsp + 0x50]
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
mov rsi, rdi
cmp r15, rax
jbe 0x140007e56
mov rax, r15
or rax, 7
cmp rax, rdx
ja 0x140007e36
mov ecx, 0xa
mov rdx, rax
cmp rax, rcx
cmovb rdx, rcx
mov qword [rbp + 0x3e8], rdx
lea rdx, [rbp + 0x3e8]
call fcn.140010ab8
mov rsi, rax
mov qword [rdi], rax
mov rax, qword [rbp + 0x3e8]
add rbx, rbx
mov qword [rdi + 0x10], r15
mov r8, rbx
mov qword [rdi + 0x18], rax
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
lea r8, [r14 + r14]
mov rdx, r13
lea rcx, [rsi + rbx]
call sub.VCRUNTIME140.dll_memcpy
xor ebx, ebx
mov word [rsi + r15*2], bx
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x140007ec4
mov rcx, qword [rsp + 0x30]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007ebf
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007f14
call fcn.140015538
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], bx
cmp rdx, 7
jbe 0x140007f69
mov rcx, qword [rsp + 0x50]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007f64
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007f64
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, qword [rsp + 0x68]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], r15
mov word [rdi], si
cmp rdx, r15
jbe 0x140007f69
mov rcx, qword [rsp + 0x50]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, r14
jb 0x140007f64
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007f64
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140015538
lea r11, [rsp + 0x4b0]
mov rax, rdi
mov rbx, qword [r11 + 0x30]
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.140001164
int3
call fcn.14000cd50
int3