Function at 0x14000a620
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xcc0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xcb0], rax
xor r12d, r12d
mov r15, rdx
mov word [rcx], r12w
mov rdi, rcx
movzx eax, word [rdx]
mov ebp, 0x1000
mov r8d, r12d
test ax, ax
je 0x14000a91f
nop dword [rax]
cmp ax, 0x25
jne 0x14000a8e2
test r8, r8
jne 0x14000a695
lea r8, [rsp + 0xb0]
mov word [rsp + 0xb0], r12w
jmp 0x14000a90d
lea rdx, str.TEMP
mov word [r8], r12w
lea rcx, [rsp + 0xb0]
call fcn.140013594
test eax, eax
jne 0x14000a6c1
mov rdx, rdi
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x14000a8bf
lea rdx, str.PROGRAM
lea rcx, [rsp + 0xb0]
call fcn.140013594
test eax, eax
jne 0x14000a72e
mov rbx, rbp
call fcn.14000f314
mov rcx, qword [rax]
mov rax, rdi
mov rdx, qword [rcx]
cmp word [rdi], r12w
je 0x14000a6fd
add rax, 2
dec rbx
cmp word [rax], r12w
jne 0x14000a6f0
movzx ecx, word [rdx]
test cx, cx
je 0x14000a725
cmp rbx, 1
jb 0x14000a957
add rdx, 2
mov word [rax], cx
add rax, 2
dec rbx
movzx ecx, word [rdx]
test cx, cx
jne 0x14000a705
mov word [rax], r12w
jmp 0x14000a8bf
lea rdx, [0x1400296e8]
lea rcx, [rsp + 0xb0]
call fcn.140013594
test eax, eax
jne 0x14000a814
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r8, [0x1400296f0]
mov edx, 0x80
mov r9d, eax
lea rcx, [rsp + 0x30]
call fcn.1400010c0
lea r14, [rsp + 0x30]
mov rsi, rbp
mov rbx, rdi
cmp word [rdi], r12w
je 0x14000a78d
nop word [rax + rax]
add rbx, 2
dec rsi
cmp word [rbx], r12w
jne 0x14000a780
movzx edx, byte [rsp + 0x30]
test dl, dl
je 0x14000a8bf
nop word [rax + rax]
mov rcx, rsi
mov rax, rbx
cmp word [rbx], r12w
je 0x14000a7bd
nop dword [rax]
add rax, 2
dec rcx
cmp word [rax], r12w
jne 0x14000a7b0
cmp rcx, 1
jb 0x14000a951
mov byte [rsp + 0x20], dl
mov rcx, 0xffffffffffffffff
mov byte [rsp + 0x21], r12b
nop word [rax + rax]
cmp word [rax + rcx*2 + 2], r12w
lea rcx, [rcx + 1]
jne 0x14000a7e0
lea rcx, [rax + rcx*2]
mov r8d, 2
lea rdx, [rsp + 0x20]
call fcn.14000f0a0
movzx edx, byte [r14 + 1]
inc r14
dec rsi
test dl, dl
jne 0x14000a7a0
jmp 0x14000a8bf
lea rdx, str.HOME
lea rcx, [rsp + 0xb0]
call fcn.140013594
test eax, eax
jne 0x14000a833
mov edx, 0x28
jmp 0x14000a850
lea rdx, str.CACHE_DIR
lea rcx, [rsp + 0xb0]
call fcn.140013594
test eax, eax
jne 0x14000a866
mov edx, 0x1c
mov r8, rbp
mov rcx, rdi
call fcn.14000a560
test al, al
jne 0x14000a8bf
xor al, al
jmp 0x14000a925
lea rdx, str.TIME
lea rcx, [rsp + 0xb0]
call fcn.140013594
test eax, eax
jne 0x14000a85f
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x28], r12
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov r9, qword [rsp + 0x28]
lea r8, str._lld
mov edx, 0x400
lea rcx, [rsp + 0x8b0]
call fcn.1400010c0
mov r8, rbp
lea rdx, [rsp + 0x8b0]
mov rcx, rdi
call fcn.14000a4b0
cmp word [rdi], r12w
je 0x14000a8dd
nop word [rax + rax]
add rdi, 2
dec rbp
cmp word [rdi], r12w
jne 0x14000a8d0
mov r8, r12
jmp 0x14000a90d
test r8, r8
je 0x14000a8f5
movzx eax, word [r15]
mov word [r8], ax
add r8, 2
jmp 0x14000a90d
cmp rbp, 1
jb 0x14000a85f
movzx eax, word [r15]
mov word [rdi], ax
add rdi, 2
dec rbp
movzx eax, word [r15 + 2]
add r15, 2
test ax, ax
jne 0x14000a670
mov word [rdi], r12w
mov al, 1
mov rcx, qword [rsp + 0xcb0]
xor rcx, rsp
call fcn.14000b5f0
lea r11, [rsp + 0xcc0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
call fcn.14000ed64
int3
call fcn.14000ed64
int3