Function at 0x14001e1e4
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x140043158]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov r12, r8
mov r13, rdx
mov rbx, rcx
mov rcx, r8
call fcn.1400189ec
mov rcx, r13
call fcn.14001e560
mov esi, eax
xor edi, edi
test eax, eax
je 0x14001e303
lea rdx, [rsi*2]
add rdx, r13
mov r8d, edi
movzx ecx, word [rdx]
test cx, cx
je 0x14001e2fc
lea r14d, [rdi + 0x5c]
cmp cx, 0x2e
jne 0x14001e2a8
test r8d, r8d
je 0x14001e26f
lea eax, [r8 - 1]
cmp word [rdx + rax*2], r14w
je 0x14001e26f
cmp word [rdx + rax*2], 0x2f
jne 0x14001e2a8
lea r9d, [r8 + 2]
lea eax, [r9 - 1]
movzx eax, word [rdx + rax*2]
test ax, ax
je 0x14001e2b7
cmp ax, r14w
je 0x14001e2b7
cmp ax, 0x2f
je 0x14001e2b7
cmp ax, 0x2e
jne 0x14001e2a8
cmp word [rdx + r9*2], di
je 0x14001e2b7
cmp word [rdx + r9*2], r14w
je 0x14001e2b7
cmp word [rdx + r9*2], 0x2f
je 0x14001e2b7
inc r8d
movzx ecx, word [rdx + r8*2]
test cx, cx
je 0x14001e2fc
jmp 0x14001e252
lea rcx, [rsp + 0x40]
call fcn.140018560
nop
lea rcx, [rsp + 0x40]
call fcn.14001eabc
test al, al
je 0x14001e2f2
cmp esi, dword [r12 + 8]
jae 0x14001e2e4
mov dword [r12 + 8], esi
mov rdx, qword [r12]
mov word [rdx + rsi*2], di
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.140018d68
nop
mov rcx, qword [rsp + 0x40]
call sub.mfc140u.dll_operator
mov al, 1
jmp 0x14001e4c1
lea rcx, [rsp + 0x20]
call fcn.1400185b8
nop
test rbx, rbx
je 0x14001e322
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400189ec
jmp 0x14001e362
mov dword [rsp + 0x28], edi
mov rax, qword [rsp + 0x20]
mov word [rax], di
mov word [rsp + 0x50], di
lea rdx, [rsp + 0x50]
mov ecx, operator
call qword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_GetCurrentDirectoryW]
mov ebx, eax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x20]
call fcn.1400189ec
lea eax, [rbx - 1]
cmp eax, 0x103
ja 0x14001e4b1
mov r14d, 0x5c
mov ecx, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
test ecx, ecx
je 0x14001e3b4
cmp word [rbx + rcx*2 - 2], r14w
je 0x14001e3b4
cmp word [rbx + rcx*2 - 2], 0x2f
je 0x14001e3b4
cmp dword [rsp + 0x2c], ecx
jne 0x14001e39e
lea rcx, [rsp + 0x20]
call fcn.140019344
mov ecx, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov eax, ecx
mov word [rbx + rax*2], r14w
inc ecx
mov word [rbx + rcx*2], di
mov dword [rsp + 0x28], ecx
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.14001e9a8
mov rcx, rbx
test al, al
je 0x14001e3d3
call fcn.14001e648
mov esi, eax
test eax, eax
jne 0x14001e41b
jmp 0x14001e4b6
call fcn.14001e834
test al, al
je 0x14001e3e3
mov esi, 3
jmp 0x14001e41b
cmp word [rbx], r14w
je 0x14001e3f3
cmp word [rbx], 0x2f
jne 0x14001e4b6
cmp word [rbx + 2], r14w
je 0x14001e405
cmp word [rbx + 2], 0x2f
jne 0x14001e4b6
lea rcx, [rbx + 4]
call fcn.14001e608
mov esi, eax
test eax, eax
je 0x14001e4b6
add esi, 2
lea rcx, [rsp + 0x30]
call fcn.1400185b8
nop
cmp word [r13], r14w
je 0x14001e459
cmp word [r13], 0x2f
je 0x14001e459
mov ebx, esi
mov rax, qword [rsp + 0x20]
lea rdx, [rax + rbx*2]
lea rcx, [rsp + 0x30]
call fcn.140018e30
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.140018e30
jmp 0x14001e469
lea rdx, [r13 + 2]
lea rcx, [rsp + 0x30]
call fcn.1400189ec
mov ebx, esi
lea rcx, [rsp + 0x30]
call fcn.14001eabc
test al, al
je 0x14001e4a7
cmp esi, dword [rsp + 0x28]
jae 0x14001e48a
mov dword [rsp + 0x28], esi
mov rax, qword [rsp + 0x20]
mov word [rax + rbx*2], di
lea rdx, [rsp + 0x20]
mov rcx, r12
call fcn.1400188ac
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140018d68
mov dil, 1
mov rcx, qword [rsp + 0x30]
call sub.mfc140u.dll_operator
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call sub.mfc140u.dll_operator
mov al, dil
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400201a0
add rsp, 0x270
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r8, rdx
mov rdx, rcx
xor ecx, ecx
jmp 0x14001e1e4