Function at 0x18001be10
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
mov eax, 0x10d0
call fcn.180080020
sub rsp, rax
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1100], rbx
mov rax, qword [0x1800a7120]
xor rax, rsp
mov qword [rsp + 0x10c0], rax
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
mov qword [rsp + 0x78], 7
xor ebp, ebp
mov qword [rsp + 0x70], rbp
mov word [rsp + 0x60], bp
lea r8d, [rbp + 2]
lea rdx, [rsp + 0x58]
call fcn.18001b8a0
lea r9, str._anf
lea r8d, [rbp + 2]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.18001b9c0
cmp eax, ebp
jne 0x18001bea7
cmp qword [rsp + 0x78], 8
jb 0x18001c159
mov rcx, qword [rsp + 0x60]
call fcn.18005bda0
jmp 0x18001c159
cmp rdi, 2
je 0x18001c106
cmp rdi, 4
je 0x18001c0e0
cmp rdi, 8
je 0x18001c009
cmp rdi, 0x10
je 0x18001bfbb
cmp rdi, 0x200
je 0x18001c106
cmp rdi, 0x1000
jne 0x18001c147
xor r9d, r9d
lea r8d, [r9 + 0x10]
lea rdx, [rsp + 0x8c0]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov rcx, qword [rbx + 0x80]
sub rcx, qword [rbx + 0x78]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x18001bf2d
call fcn.18005dfbc
mov rax, qword [rbx + 0x78]
cmp qword [rax + 0x20], 8
jb 0x18001bf3e
mov rcx, qword [rax + 8]
jmp 0x18001bf42
lea rcx, [rax + 8]
mov r8d, 0x104
mov qword [rsp + 0x40], r8
lea rax, [rsp + 0x6b0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x290]
lea rdx, [rsp + 0x4a0]
call fcn.18005f24c
mov rdx, qword [rbx + 0x338]
lea rcx, [rsp + 0x8c0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov r9d, 1
lea r8, [rsp + 0x8c0]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
jmp 0x18001c147
lea r8, [rbx + 0x124]
cmp word [r8], bp
je 0x18001bfe0
mov r9d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
jmp 0x18001c147
cmp qword [rbx + 0x28], 8
jb 0x18001bfed
mov r8, qword [rbx + 0x10]
jmp 0x18001bff1
lea r8, [rbx + 0x10]
mov r9d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
jmp 0x18001c147
cmp qword [rbx + 0x28], 8
jb 0x18001c016
mov rdx, qword [rbx + 0x10]
jmp 0x18001c01a
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x8c0]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rcx, qword [rbx + 0x80]
sub rcx, qword [rbx + 0x78]
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
jne 0x18001c055
call fcn.18005dfbc
mov rax, qword [rbx + 0x78]
cmp qword [rax + 0x20], 8
jb 0x18001c066
mov rcx, qword [rax + 8]
jmp 0x18001c06a
lea rcx, [rax + 8]
mov r8d, 0x104
mov qword [rsp + 0x40], r8
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r8
lea rax, [rsp + 0x290]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r8
lea r9, [rsp + 0x80]
lea rdx, [rsp + 0x6b0]
call fcn.18005f24c
mov rdx, qword [rbx + 0x338]
lea rcx, [rsp + 0x8c0]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov r9d, 1
lea r8, [rsp + 0x8c0]
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
jmp 0x18001c147
cmp qword [rbx + 0x28], 8
jb 0x18001c0ed
mov r8, qword [rbx + 0x10]
jmp 0x18001c0f1
lea r8, [rbx + 0x10]
mov r9d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
jmp 0x18001c147
lea r8, [rbx + 0x124]
cmp word [r8], bp
je 0x18001c125
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
jmp 0x18001c147
cmp qword [rbx + 0x28], 8
jb 0x18001c132
mov r8, qword [rbx + 0x10]
jmp 0x18001c136
lea r8, [rbx + 0x10]
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001bcd0
nop
cmp qword [rsp + 0x78], 8
jb 0x18001c159
mov rcx, qword [rsp + 0x60]
call fcn.18005bda0
mov rcx, qword [rsp + 0x10c0]
xor rcx, rsp
call fcn.18005c4c0
mov rbx, qword [rsp + 0x1100]
add rsp, 0x10d0
pop rdi
pop rsi
pop rbp
ret