Function at 0x1800caeb0
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2e8
mov rax, qword [0x1801eef68]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov rax, r9
mov qword [rsp + 0x88], r8
mov r9d, dword [rsp + 0x358]
mov rdi, r8
imul r10d, r9d, 0x806
mov r8, rdx
mov qword [rsp + 0x90], rax
mov r14, rcx
mov qword [rsp + 0x70], rdx
mov ebp, r9d
mov dword [rsp + 0x58], r10d
cmp r9d, r10d
ja 0x1800cb351
movsxd r15, dword [rsp + 0x68]
xor ecx, ecx
mov r13, qword [rsp + 0x350]
mov rsi, r15
mov rbx, qword [rsp + 0x90]
mov r12d, dword [rsp + 0x68]
lea r11, [0x1800d9a60]
cmp ebp, 0x5f07
ja 0x1800cb15c
je 0x1800cb119
cmp ebp, 0xc5
ja 0x1800cb07e
je 0x1800cafc2
mov eax, ebp
sub eax, 0x35
je 0x1800cafae
sub eax, 0x64
je 0x1800caf7d
cmp eax, 4
jne 0x1800cb05a
mov rbx, rdi
mov r12d, ecx
jmp 0x1800cb05a
cmp byte [0x1801f3df8], 0
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0x68], 0x36
je 0x1800cb383
mov qword [rsp + 0xa8], rcx
mov dword [rsp + 0x84], ecx
jmp 0x1800cb05a
mov qword [rsp + 0x98], rcx
mov dword [rsp + 0x80], ecx
jmp 0x1800cb05a
mov eax, dword [r14]
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x78], eax
mov r9d, 0x7a
mov eax, dword [r8]
mov rdx, rdi
mov dword [rsp + 0x60], eax
lea r8, [rsp + 0x78]
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 2
mov qword [rsp + 0x20], rax
call fcn.18006fda0
mov edi, eax
test eax, eax
je 0x1800cb03f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov ecx, dword [r14]
lea r8, str.script_eval_from_script_position_accessor
mov qword [rsp + 0x28], rax
mov edx, 1
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x20], ecx
mov r9d, dword [rax]
mov rax, qword [rsp + 0x88]
mov rcx, rax
call qword [rax + pe_nt_image_headers64]
mov dword [rsp + 0x50], edi
mov rdi, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x358]
mov r10d, dword [rsp + 0x58]
xor ecx, ecx
imul eax, r9d, 0x9e
add ebp, eax
cmp ebp, r10d
ja 0x1800cb351
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x90]
jmp 0x1800caf36
cmp ebp, 0x20eb
je 0x1800cb0c3
cmp ebp, 0x41a1
jne 0x1800cb05a
xor edx, edx
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8, rdi
lea ecx, [rdx + 0x62]
call fcn.18000c4a0
cmp eax, 1
jne 0x1800cb04b
lea r8d, [rax + 0x2b]
mov dword [rsp + 0x60], 2
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180049580
jmp 0x1800cb04b
mov r8d, dword [rsp + 0x80]
lea rax, [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
xor r9d, r9d
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_CDefFolderMenu_Create2]
test eax, eax
jne 0x1800cb04b
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
jmp 0x1800cb04b
mov rcx, rdi
call qword [0x1801f3dc8]
mov r9d, dword [rsp + 0x84]
mov r8, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
mov byte [0x1801f3df9], al
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
jmp 0x1800cb04b
cmp ebp, 0xc269
ja 0x1800cb338
je 0x1800cb327
cmp ebp, 0x6183
je 0x1800cb19e
cmp ebp, 0x7a5b
je 0x1800cb351
cmp ebp, 0xbd75
jne 0x1800cb05a
movzx eax, byte [0x1801f3df9]
mov byte [rsp + 0x50], al
jmp 0x1800cb351
mov r15d, ecx
mov rsi, rcx
movzx ecx, byte [rbx]
test ecx, ecx
je 0x1800cb2d1
nop
mov eax, dword [r8]
inc rbx
lea edx, [rax - 1]
mov dword [r8], edx
test eax, eax
je 0x1800cb30a
cmp ecx, 0x3d
jne 0x1800cb229
movzx ecx, byte [rbx]
cmp cl, 0x3d
je 0x1800cb2b9
mov eax, r12d
and eax, 0x80000003
jge 0x1800cb1e6
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
je 0x1800cb383
cmp byte [r13], 0
je 0x1800cb2b9
test edx, edx
je 0x1800cb2b9
movzx ecx, byte [rbx + 1]
inc rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x1800cb202
cmp byte [rbx], al
jne 0x1800cb383
xor cl, cl
lea r11, [0x1800d9a60]
jmp 0x1800cb2b4
cmp byte [r13], 0
movsx edx, byte [rcx + r11]
mov r8d, edx
jne 0x1800cb23c
test dl, dl
js 0x1800cb2b1
cmp r8d, 0xffffffff
je 0x1800cb2b1
cmp r8d, 0xfffffffe
je 0x1800cb383
mov eax, r12d
and eax, 0x80000003
jge 0x1800cb25d
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x1800cb2a2
sub eax, 1
je 0x1800cb28f
sub eax, 1
je 0x1800cb27c
cmp eax, 1
jne 0x1800cb2a9
or byte [rsi + r14], dl
inc r15d
inc rsi
jmp 0x1800cb2a9
sar r8d, 2
inc r15d
or byte [rsi + r14], r8b
inc rsi
shl dl, 6
jmp 0x1800cb2a5
sar r8d, 4
inc r15d
or byte [rsi + r14], r8b
inc rsi
shl dl, 4
jmp 0x1800cb2a5
shl dl, 2
mov byte [rsi + r14], dl
mov ebp, 0x6183
inc r12d
movzx ecx, byte [rbx]
mov r8, qword [rsp + 0x70]
movzx ecx, cl
test ecx, ecx
jne 0x1800cb1b0
mov r9d, dword [rsp + 0x358]
mov r10d, dword [rsp + 0x58]
inc rbx
mov rdx, rsi
cmp ecx, 0x3d
jne 0x1800cb058
mov ecx, r12d
and ecx, 0x80000003
jge 0x1800cb2f2
dec ecx
or ecx, 0xfffffffc
inc ecx
sub ecx, 1
je 0x1800cb383
sub ecx, 1
je 0x1800cb319
cmp ecx, 1
je 0x1800cb31d
jmp 0x1800cb058
mov r9d, dword [rsp + 0x358]
mov r10d, dword [rsp + 0x58]
jmp 0x1800cb2d4
lea rdx, [rsi + 1]
mov byte [rdx + r14], 0
jmp 0x1800cb058
test rax, rax
je 0x1800cb05a
mov dword [rax], r15d
jmp 0x1800cb05a
cmp ebp, 0x1234f
je 0x1800cb379
cmp ebp, 0x18435
jne 0x1800cb05a
mov byte [rsp + 0x50], 1
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.1800d7250
add rsp, 0x2e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov byte [rsi + r14], 0
jmp 0x1800cb05a
mov byte [rsp + 0x50], 0
jmp 0x1800cb351