Function at 0x140001220
Capabilities:
Get common file path

Disassembly:
push rbx
sub rsp, 0x850
vpxor xmm0, xmm0, xmm0
xor eax, eax
mov dword [rsp + 0x30], 0x9c
mov rbx, rcx
mov dword [rsp + 0xc8], eax
vmovups ymmword [rsp + 0x38], ymm0
vmovups ymmword [rsp + 0x58], ymm0
lea edx, [rax + 2]
mov dword [rsp + 0x34], 6
vmovups ymmword [rsp + 0x78], ymm0
vmovups ymmword [rsp + 0x98], ymm0
vmovups xmmword [rsp + 0xb8], xmm0
mov r8b, 3
xor ecx, ecx
vzeroupper
call qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
mov edx, 2
lea rcx, [rsp + 0x30]
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
xor r8d, r8d
test eax, eax
je 0x1400012f4
lea r9, [rsp + 0x868]
xor edx, edx
lea rcx, [0x14001b500]
call sub.SHELL32.dll_SHGetKnownFolderPath
test eax, eax
jne 0x140001357
mov rdx, qword [rsp + 0x868]
lea rcx, [rsp + 0x30]
call fcn.140002230
mov rcx, qword [rax + 0x408]
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x1400012d0
lea rcx, [rsp + 0x30]
call fcn.140002310
add rsp, 0x850
pop rbx
ret
xor r9d, r9d
lea rax, [rsp + 0x30]
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x1a]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x140001357
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x440]
call fcn.140002230
mov rcx, qword [rax + 0x408]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rbx], al
lea rbx, [rbx + 1]
test al, al
jne 0x140001330
lea rcx, [rsp + 0x440]
call fcn.140002310
add rsp, 0x850
pop rbx
ret
lea rcx, str.APPDATA
call fcn.140007278
test rax, rax
je 0x14000142a
mov rdx, rax
lea rcx, [rsp + 0x440]
call fcn.140002230
mov r8d, 0xffffffff
mov r9, qword [rax + 0x408]
test r9, r9
jne 0x140001392
xor ecx, ecx
jmp 0x1400013d0
mov rdx, r9
cmp byte [rdx], 0
mov rcx, rdx
je 0x1400013cd
cmp byte [rdx + 1], 0
lea ecx, [rdx + 1]
je 0x1400013cd
cmp byte [rdx + 2], 0
lea ecx, [rdx + 2]
je 0x1400013cd
cmp byte [rdx + 3], 0
lea ecx, [rdx + 3]
je 0x1400013cd
cmp byte [rdx + 4], 0
lea ecx, [rdx + 4]
je 0x1400013cd
add rdx, 5
mov ecx, edx
add r8d, 0xfffffffb
jne 0x140001395
sub ecx, r9d
mov eax, 0x1ff
cmp ecx, eax
cmovb eax, ecx
mov ecx, 0x200
mov r8d, eax
cmp r8, rcx
mov edx, eax
cmova edx, ecx
mov rcx, rbx
add rdx, rbx
cmp rbx, rdx
je 0x14000140f
sub r9, rbx
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
mov byte [rcx], al
inc rcx
cmp rcx, rdx
jne 0x140001400
lea rcx, [rsp + 0x440]
mov byte [r8 + rbx], 0
call fcn.140002310
add rsp, 0x850
pop rbx
ret
lea r9, [0x14001b3d0]
mov r8d, 0xffffffff
mov rax, r9
nop word [rax + rax]
cmp byte [rax], 0
mov ecx, eax
je 0x140001478
cmp byte [rax + 1], 0
lea rcx, [rax + 1]
je 0x140001478
cmp byte [rax + 2], 0
lea ecx, [rax + 2]
je 0x140001478
cmp byte [rax + 3], 0
lea ecx, [rax + 3]
je 0x140001478
cmp byte [rax + 4], 0
lea ecx, [rax + 4]
je 0x140001478
add rax, 5
mov ecx, eax
add r8d, 0xfffffffb
jne 0x140001440
sub ecx, r9d
mov eax, 0x1ff
cmp ecx, eax
cmovb eax, ecx
mov ecx, 0x200
mov r8d, eax
cmp r8, rcx
mov edx, eax
cmova edx, ecx
mov rcx, rbx
add rdx, rbx
cmp rbx, rdx
je 0x1400014bf
sub r9, rbx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9 + rcx]
mov byte [rcx], al
inc rcx
cmp rcx, rdx
jne 0x1400014b0
mov byte [r8 + rbx], 0
add rsp, 0x850
pop rbx
ret