Function at 0x14018db10
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x140492fc0]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rsi, rcx
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x40], 0
lea r15, [0x140484d90]
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x50]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ebx, eax
mov rdi, 0xffffffffffffffff
test eax, eax
je 0x14018dcb6
cmp ebx, 0x104
jbe 0x14018dc38
mov eax, 2
mul rbx
cmovb rax, rdi
mov rcx, rax
call fcn.14022a514
mov r14, rax
mov rdx, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x14018dc2e
mov r8d, ebx
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.1400ba830
nop
mov rbx, qword [rax]
mov qword [rax], r15
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax]
test ecx, ecx
je 0x14018dbe9
cmp ecx, edi
je 0x14018dbfe
mov rax, qword [rsp + 0x30]
mov ecx, edi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x14018dbfe
mov edx, 2
mov r8d, 8
mov rcx, qword [rsp + 0x30]
call fcn.1400affb0
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rbx
mov eax, dword [rcx]
test eax, eax
je 0x14018dc1e
cmp eax, 0xffffffff
je 0x14018dc2e
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x14018dc2e
mov edx, 2
mov r8d, 8
call fcn.1400affb0
mov rcx, r14
call fcn.140229de4
jmp 0x14018dcb6
mov r8d, ebx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400ba830
nop
mov rbx, qword [rax]
mov qword [rax], r15
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax]
test ecx, ecx
je 0x14018dc71
cmp ecx, 0xffffffff
je 0x14018dc86
mov rax, qword [rsp + 0x30]
mov ecx, edi
lock xadd dword [rax], ecx
cmp ecx, 1
jne 0x14018dc86
mov edx, 2
mov r8d, 8
mov rcx, qword [rsp + 0x30]
call fcn.1400affb0
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x20], rbx
mov eax, dword [rcx]
test eax, eax
je 0x14018dca6
cmp eax, 0xffffffff
je 0x14018dcb6
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x14018dcb6
mov edx, 2
mov r8d, 8
call fcn.1400affb0
mov rax, qword [rsp + 0x20]
cmp dword [rax + 4], 2
jl 0x14018dd55
mov ecx, dword [rax]
mov rax, qword [rsp + 0x20]
cmp ecx, 1
ja 0x14018dcd8
cmp qword [rax + 0x10], 0x18
je 0x14018dcef
mov edx, dword [rax + 4]
inc edx
xor r8d, r8d
lea rcx, [rsp + 0x20]
call fcn.1400bcbb0
mov rax, qword [rsp + 0x20]
cmp dword [rax + 4], 1
jle 0x14018dd55
mov rcx, qword [rax + 0x10]
cmp word [rcx + rax + 2], 0x3a
jne 0x14018dd55
movzx ecx, word [rcx + rax]
call fcn.1400bf4f0
mov ebx, eax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x20]
cmp ecx, 1
ja 0x14018dd24
cmp qword [rax + 0x10], 0x18
je 0x14018dd36
mov edx, dword [rax + 4]
inc edx
xor r8d, r8d
lea rcx, [rsp + 0x20]
call fcn.1400bcbb0
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], 0
movzx edx, bx
lea rcx, [rsp + 0x30]
call fcn.14005c760
movzx r8d, byte [rsp + 0x2c]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.140189670
nop
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx]
test eax, eax
je 0x14018dd87
cmp eax, 0xffffffff
je 0x14018dd9c
mov rcx, qword [rsp + 0x20]
lock xadd dword [rcx], edi
cmp edi, 1
jne 0x14018dd9c
mov edx, 2
mov r8d, 8
mov rcx, qword [rsp + 0x20]
call fcn.1400affb0
mov rax, rsi
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140229fa0
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret