Function at 0x14001e6d4
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.140018bdc
mov rcx, r13
call fcn.14001e750
mov esi, eax
xor edi, edi
test eax, eax
je 0x14001e4f3
lea rdx, [rsi*2]
add rdx, r13
mov r8d, edi
movzx ecx, word [rdx]
test cx, cx
je 0x14001e4ec
lea r14d, [rdi + 0x5c]
cmp cx, 0x2e
jne 0x14001e498
test r8d, r8d
je 0x14001e45f
lea eax, [r8 - 1]
cmp word [rdx + rax*2], r14w
je 0x14001e45f
cmp word [rdx + rax*2], 0x2f
jne 0x14001e498
lea r9d, [r8 + 2]
lea eax, [r9 - 1]
movzx eax, word [rdx + rax*2]
test ax, ax
je 0x14001e4a7
cmp ax, r14w
je 0x14001e4a7
cmp ax, 0x2f
je 0x14001e4a7
cmp ax, 0x2e
jne 0x14001e498
cmp word [rdx + r9*2], di
je 0x14001e4a7
cmp word [rdx + r9*2], r14w
je 0x14001e4a7
cmp word [rdx + r9*2], 0x2f
je 0x14001e4a7
inc r8d
movzx ecx, word [rdx + r8*2]
test cx, cx
je 0x14001e4ec
jmp 0x14001e442
lea rcx, [rsp + 0x40]
call fcn.140018750
nop
lea rcx, [rsp + 0x40]
call fcn.14001ecac
test al, al
je 0x14001e4e2
cmp esi, dword [r12 + 8]
jae 0x14001e4d4
mov dword [r12 + 8], esi
mov rdx, qword [r12]
mov word [rdx + rsi*2], di
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.140018f58
nop
mov rcx, qword [rsp + 0x40]
call sub.mfc140u.dll_operator
mov al, 1
jmp 0x14001e6b1
lea rcx, [rsp + 0x20]
call fcn.1400187a8
nop
test rbx, rbx
je 0x14001e512
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140018bdc
jmp 0x14001e552
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.140018bdc
lea eax, [rbx - 1]
cmp eax, 0x103
ja 0x14001e6a1
mov r14d, 0x5c
mov ecx, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
test ecx, ecx
je 0x14001e5a4
cmp word [rbx + rcx*2 - 2], r14w
je 0x14001e5a4
cmp word [rbx + rcx*2 - 2], 0x2f
je 0x14001e5a4
cmp dword [rsp + 0x2c], ecx
jne 0x14001e58e
lea rcx, [rsp + 0x20]
call fcn.140019534
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.14001eb98
mov rcx, rbx
test al, al
je 0x14001e5c3
call fcn.14001e838
mov esi, eax
test eax, eax
jne 0x14001e60b
jmp 0x14001e6a6
call fcn.14001ea24
test al, al
je 0x14001e5d3
mov esi, 3
jmp 0x14001e60b
cmp word [rbx], r14w
je 0x14001e5e3
cmp word [rbx], 0x2f
jne 0x14001e6a6
cmp word [rbx + 2], r14w
je 0x14001e5f5
cmp word [rbx + 2], 0x2f
jne 0x14001e6a6
lea rcx, [rbx + 4]
call fcn.14001e7f8
mov esi, eax
test eax, eax
je 0x14001e6a6
add esi, 2
lea rcx, [rsp + 0x30]
call fcn.1400187a8
nop
cmp word [r13], r14w
je 0x14001e649
cmp word [r13], 0x2f
je 0x14001e649
mov ebx, esi
mov rax, qword [rsp + 0x20]
lea rdx, [rax + rbx*2]
lea rcx, [rsp + 0x30]
call fcn.140019020
mov rdx, r13
lea rcx, [rsp + 0x30]
call fcn.140019020
jmp 0x14001e659
lea rdx, [r13 + 2]
lea rcx, [rsp + 0x30]
call fcn.140018bdc
mov ebx, esi
lea rcx, [rsp + 0x30]
call fcn.14001ecac
test al, al
je 0x14001e697
cmp esi, dword [rsp + 0x28]
jae 0x14001e67a
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.140018a9c
lea rdx, [rsp + 0x30]
mov rcx, r12
call fcn.140018f58
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.140020390
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 0x14001e3d4