Function at 0x1400b45f0
Capabilities:
Get common file path

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x518
movups xmmword [rsp + 0x500], xmm6
mov rdi, qword [0x14041fc80]
mov rax, qword [rdi]
mov qword [rsp + 0x4f8], rax
xor eax, eax
mov rbx, rcx
lea rdi, [rsp + 0x300]
movzx r9d, r8b
mov ecx, 0x3f
mov r8d, edx
lea rsi, [rsp + 0x2f0]
mov qword [rsp + 0x2f0], 0
mov qword [rsp + 0x2f8], 0
mov rdx, rsi
rep stosq qword [rdi], rax
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x1400b4700
mov rcx, rsi
call sub.msvcrt.dll_wcslen
lea rcx, [rbx + 0x10]
lea rbp, [rax + rax]
mov qword [rbx], rcx
mov rdi, rax
mov r12, rbp
sar r12, 1
cmp rbp, 0xe
ja 0x1400b4be8
cmp r12, 1
je 0x1400b4c2a
test r12, r12
jne 0x1400b4c40
xor edx, edx
mov qword [rbx + 8], r12
lea rsi, [rbx + 0x20]
mov word [rcx + rdi*2], dx
mov rcx, rsi
call fcn.140237f60
mov rcx, rbx
call fcn.140237190
mov rdi, qword [0x14041fc80]
mov rax, qword [rsp + 0x4f8]
sub rax, qword [rdi]
jne 0x1400b4e75
movups xmm6, xmmword [rsp + 0x500]
mov rax, rbx
add rsp, 0x518
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 0x14
lea rdi, [rsp + 0xa0]
lea rbp, [rsp + 0x80]
mov qword [rsp + 0x90], rdi
call fcn.1402aa8b0
mov qword [rsp + 0x70], rbp
movabs rcx, 0x2e737265706c6568
movabs rdx, 0x5f73662f6c697475
mov qword [rax + 8], rcx
mov ecx, 0x15
mov qword [rax], rdx
mov dword [rax + 0xf], 0x7070632e
mov byte [rax + 0x13], 0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa0], 0x13
mov qword [rsp + 0x98], 0x13
call fcn.1402aa8b0
movabs rdx, 0x6963657053746547
mov dword [rax + 0x10], 0x68746150
movabs rcx, 0x7265646c6f466c61
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov byte [rax + 0x14], 0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], 0x14
mov qword [rsp + 0x78], 0x14
call fcn.1400a1d90
mov rcx, rax
mov rsi, rax
call fcn.14000f770
test eax, eax
jne 0x1400b4cce
cmp byte [rsi + 0x28], 0
jne 0x1400b47e2
cmp byte [rsi + 0x88], 0
je 0x1400b4c58
mov rcx, rsi
lea r15, [rsp + 0x1e0]
lea r12, [rsp + 0xc0]
call fcn.14000fa60
mov rcx, r15
mov qword [rsp + 0xb0], r12
lea r13, [rsp + 0x170]
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
call fcn.140296380
mov rax, qword [0x14041fac0]
pxor xmm0, xmm0
xor edx, edx
movups xmmword [rsp + 0x2c8], xmm0
add rax, 0x10
movups xmmword [rsp + 0x2d8], xmm0
mov qword [rsp + 0x1e0], rax
xor eax, eax
mov word [rsp + 0x2c0], ax
mov rax, qword [0x14041f4f0]
mov qword [rsp + 0x2b8], 0
mov rsi, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov rcx, qword [rsi - 0x18]
mov qword [rsp + 0x170], rsi
add rcx, r13
mov qword [rcx], r14
call fcn.1402973f0
mov rax, qword [0x14041f630]
add rax, 0x18
movq xmm6, rax
mov rax, qword [0x14041f630]
movdqu xmm0, xmm6
add rax, 0x40
mov qword [rsp + 0x1e0], rax
mov rax, qword [0x14041f870]
add rax, 0x10
movq xmm1, rax
lea rax, [rsp + 0x1b0]
punpcklqdq xmm0, xmm1
mov rcx, rax
mov qword [rsp + 0x48], rax
movups xmmword [rsp + 0x170], xmm0
pxor xmm0, xmm0
movups xmmword [rsp + 0x180], xmm0
movups xmmword [rsp + 0x190], xmm0
movups xmmword [rsp + 0x1a0], xmm0
call fcn.140266ef0
mov rax, qword [0x14041f5d0]
mov rcx, r15
mov dword [rsp + 0x1b8], 0x10
mov qword [rsp + 0x1c8], 0
add rax, 0x10
mov byte [rsp + 0x1d0], 0
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0x178]
mov rdx, rax
mov qword [rsp + 0x40], rax
call fcn.1402973f0
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SHGetSpecialFolderPathW___failed__could_not_obtain_requested_path._n
mov rcx, r13
call fcn.1401aa220
mov rdx, qword [rsp + 0x1a0]
lea rax, [rsp + 0xe0]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xd0], rax
mov byte [rsp + 0xe0], 0
test rdx, rdx
je 0x1400b4c90
mov rax, qword [rsp + 0x190]
test rax, rax
je 0x1400b4c80
cmp rax, rdx
jb 0x1400b4c80
mov r9, qword [rsp + 0x198]
lea rcx, [rsp + 0xd0]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x58], rcx
sub rax, r9
mov qword [rsp + 0x20], rax
call fcn.140271780
mov rax, qword [0x14041f630]
mov rcx, qword [rsp + 0x1c0]
add rax, 0x40
mov qword [rsp + 0x1e0], rax
mov rax, qword [0x14041f5d0]
add rax, 0x10
movq xmm2, rax
mov rax, qword [rsp + 0x50]
punpcklqdq xmm6, xmm2
movups xmmword [rsp + 0x170], xmm6
cmp rcx, rax
je 0x1400b4a40
mov rax, qword [rsp + 0x1d0]
lea rdx, [rax + 1]
call fcn.1402aa7f0
mov rax, qword [0x14041f870]
mov rcx, qword [rsp + 0x48]
add rax, 0x10
mov qword [rsp + 0x178], rax
call fcn.140266fa0
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x170], rsi
mov rcx, r15
mov qword [rsp + rax + 0x170], r14
mov rax, qword [0x14041fac0]
add rax, 0x10
mov qword [rsp + 0x1e0], rax
call fcn.140296420
mov rax, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xb0]
cmp rax, rsi
je 0x1400b4cd8
cmp rcx, r12
je 0x1400b4d28
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0xb0], rax
movdqu xmm3, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0xb8], xmm3
test rcx, rcx
je 0x1400b4d41
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xe0], rdx
mov rax, qword [rsp + 0x40]
lea rsi, [rsp + 0xb0]
mov qword [rsp + 0xd8], 0
mov byte [rcx], 0
mov rcx, qword [rsp + 0xd0]
cmp rcx, rax
je 0x1400b4b27
mov rax, qword [rsp + 0xe0]
lea rdx, [rax + 1]
call fcn.1402aa7f0
lea r13, [rsp + 0x90]
lea r14, [rsp + 0x70]
call fcn.1400a1d90
mov rcx, rax
mov r9, r13
mov r8, r14
mov rdx, rsi
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0xf5
call fcn.1400a5fd0
mov rcx, qword [rsp + 0xb0]
cmp rcx, r12
je 0x1400b4b80
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + 1]
call fcn.1402aa7f0
mov rcx, qword [rsp + 0x70]
cmp rcx, rbp
je 0x1400b4b9b
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call fcn.1402aa7f0
mov rcx, qword [rsp + 0x90]
cmp rcx, rdi
je 0x1400b4bb9
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + 1]
call fcn.1402aa7f0
lea r8, [0x1402c42fc]
mov rcx, rbx
lea rsi, [rbx + 0x20]
mov rdx, r8
call fcn.140236c50
mov rcx, rsi
call fcn.140237f60
mov rcx, rbx
call fcn.140237190
jmp 0x1400b46c5
movabs rax, 0x7ffffffffffffffe
cmp rax, rbp
jb 0x1400b4e7a
lea rax, [r12 + 1]
mov rdx, rax
shr rdx, 0x3e
jne 0x1400b4d68
lea rcx, [rbp + 2]
call fcn.1402aa8b0
mov qword [rbx + 0x10], r12
mov qword [rbx], rax
mov rcx, rax
cmp r12, 1
jne 0x1400b469e
movzx eax, word [rsp + 0x2f0]
mov word [rcx], ax
jmp 0x1400b46a7
mov r8, rbp
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbx]
jmp 0x1400b46a7
cmp byte [rsi + 0x89], 0
jne 0x1400b47e2
lea rax, [rsi + 0x70]
cmp qword [rsi + 0x70], rax
jne 0x1400b47e2
mov rcx, rsi
call fcn.14000fa60
jmp 0x1400b4b80
mov rax, rdx
jmp 0x1400b49c7
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x60], rax
cmp rax, 0xf
ja 0x1400b4d99
cmp qword [rsp + 0x60], 0
jne 0x1400b4d76
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xd8], rdx
mov byte [rax + rdx], 0
jmp 0x1400b49ee
mov ecx, eax
call fcn.1402af860
nop dword [rax]
mov r8, qword [rsp + 0xd8]
test r8, r8
je 0x1400b4d09
cmp r8, 1
je 0x1400b4e4a
mov rdx, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xb8], r8
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0xd0]
jmp 0x1400b4aed
movdqu xmm4, xmmword [rsp + 0xd8]
mov qword [rsp + 0xb0], rax
movups xmmword [rsp + 0xb8], xmm4
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x40], rax
mov rcx, rax
jmp 0x1400b4aed
test rax, rax
js 0x1400b4e69
call fcn.1402af390
cmp qword [rsp + 0x60], 1
mov rdx, qword [rsp + 0x1c0]
jne 0x1400b4e6e
movzx eax, byte [rdx]
mov byte [rsp + 0xe0], al
jmp 0x1400b4cb3
test rax, rax
js 0x1400b4e86
mov rax, qword [rsp + 0x60]
cmp rax, 0x1d
ja 0x1400b4e2a
mov qword [rsp + 0x68], 0x1e
mov ecx, 0x1f
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x58], rax
call fcn.1402aa8b0
mov r13, rax
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x40]
cmp rcx, rax
je 0x1400b4df3
mov rax, qword [rsp + 0xe0]
lea rdx, [rax + 1]
call fcn.1402aa7f0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xd0], r13
mov rdx, qword [rsp + 0x1c0]
mov qword [rsp + 0xe0], rax
mov r8, qword [rsp + 0x60]
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xd0]
jmp 0x1400b4cb8
mov qword [rsp + 0x68], rax
add rax, 1
mov rcx, rax
jns 0x1400b4dbb
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x58], rax
call fcn.1402af390
movzx eax, byte [rsp + 0xe0]
mov byte [rcx], al
mov r8, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xb0]
jmp 0x1400b4d09
call fcn.1402af3d0
mov r13, qword [rsp + 0x40]
jmp 0x1400b4e10
call fcn.14018c640
lea rcx, [0x1402c4120]
call fcn.1402af580
lea rax, [rsp + 0xd0]
lea rcx, [0x1402c4120]
mov qword [rsp + 0x58], rax
call fcn.1402af580
endbr64
mov rcx, rsi
mov rdi, rax
call fcn.14023ea50
mov rcx, rbx
call fcn.140275f40
mov rcx, rdi
call fcn.14018db80
endbr64
mov rdi, rax
jmp 0x1400b4eae