Function at 0x18001c4a4
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
mov eax, 0x10d0
call fcn.180080990
sub rsp, rax
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1100], rbx
mov rax, qword [0x1800a8120]
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.18001bf34
lea r9, str._anf
lea r8d, [rbp + 2]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.18001c054
cmp eax, ebp
jne 0x18001c53b
cmp qword [rsp + 0x78], 8
jb 0x18001c7ed
mov rcx, qword [rsp + 0x60]
call fcn.18005c410
jmp 0x18001c7ed
cmp rdi, 2
je 0x18001c79a
cmp rdi, 4
je 0x18001c774
cmp rdi, 8
je 0x18001c69d
cmp rdi, 0x10
je 0x18001c64f
cmp rdi, 0x200
je 0x18001c79a
cmp rdi, 0x1000
jne 0x18001c7db
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 0x18001c5c1
call fcn.18005e62c
mov rax, qword [rbx + 0x78]
cmp qword [rax + 0x20], 8
jb 0x18001c5d2
mov rcx, qword [rax + 8]
jmp 0x18001c5d6
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.18005f8ac
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.18001c364
jmp 0x18001c7db
lea r8, [rbx + 0x124]
cmp word [r8], bp
je 0x18001c674
mov r9d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001c364
jmp 0x18001c7db
cmp qword [rbx + 0x28], 8
jb 0x18001c681
mov r8, qword [rbx + 0x10]
jmp 0x18001c685
lea r8, [rbx + 0x10]
mov r9d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001c364
jmp 0x18001c7db
cmp qword [rbx + 0x28], 8
jb 0x18001c6aa
mov rdx, qword [rbx + 0x10]
jmp 0x18001c6ae
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 0x18001c6e9
call fcn.18005e62c
mov rax, qword [rbx + 0x78]
cmp qword [rax + 0x20], 8
jb 0x18001c6fa
mov rcx, qword [rax + 8]
jmp 0x18001c6fe
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.18005f8ac
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.18001c364
jmp 0x18001c7db
cmp qword [rbx + 0x28], 8
jb 0x18001c781
mov r8, qword [rbx + 0x10]
jmp 0x18001c785
lea r8, [rbx + 0x10]
mov r9d, 1
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001c364
jmp 0x18001c7db
lea r8, [rbx + 0x124]
cmp word [r8], bp
je 0x18001c7b9
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001c364
jmp 0x18001c7db
cmp qword [rbx + 0x28], 8
jb 0x18001c7c6
mov r8, qword [rbx + 0x10]
jmp 0x18001c7ca
lea r8, [rbx + 0x10]
xor r9d, r9d
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.18001c364
nop
cmp qword [rsp + 0x78], 8
jb 0x18001c7ed
mov rcx, qword [rsp + 0x60]
call fcn.18005c410
mov rcx, qword [rsp + 0x10c0]
xor rcx, rsp
call fcn.18005cb30
mov rbx, qword [rsp + 0x1100]
add rsp, 0x10d0
pop rdi
pop rsi
pop rbp
ret