Function at 0x140015a70
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x2c0
mov rsi, rcx
mov rax, qword [0x140125058]
xor rax, rsp
mov qword [rsp + 0x2b8], rax
lea rcx, [rsp + 0x38]
xor edi, edi
xor edx, edx
call fcn.140024bd0
mov word [rsp + 0xb0], 0
lea rdx, [rsp + 0xb0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
add eax, 0xffffffff
cmp eax, 0x103
ja 0x140015c00
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
movdqu xmmword [rsp + 0xa0], xmm0
mov word [rsp + 0x90], 0
lea rcx, [rsp + 0xb0]
call fcn.1400de470
mov rdi, rax
cmp rax, 7
jbe 0x140015b1a
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0xb0]
mov rdx, rdi
call fcn.140003250
jmp 0x140015b47
mov qword [rsp + 0xa0], rdi
mov r8, rdi
add r8, rdi
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0xb0]
call fcn.1400ca590
mov word [rsp + rdi*2 + 0x90], 0
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0xa8], 7
jbe 0x140015b64
mov rcx, qword [rsp + 0x90]
jmp 0x140015b6c
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rax
lea rdi, [rsp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.1400120b0
lea rbx, [rsp + 0x70]
mov rcx, rdi
mov rdx, rbx
call fcn.140013d70
mov rcx, rsi
mov rdx, rbx
call fcn.140012240
mov rcx, rbx
call fcn.140012160
mov rcx, rdi
call fcn.140012160
mov rax, qword [rsp + 0xa8]
cmp rax, 8
jb 0x140015bfd
mov rcx, qword [rsp + 0x90]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140015bf8
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140015c27
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400a68b0
mov dil, 1
lea rcx, [rsp + 0x38]
call fcn.140024cd0
mov rcx, qword [rsp + 0x2b8]
xor rcx, rsp
call fcn.1400a6c00
mov eax, edi
add rsp, 0x2c0
pop rbx
pop rdi
pop rsi
ret
call fcn.1400d7230
ud2
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r14, rdx
mov ebx, ecx
mov rax, qword [0x140125058]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x2c], ecx
call fcn.140019530
cmp ebx, 1
jne 0x14001927f
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400a6c00
mov rcx, r14
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x140015a70
mov r15, rax
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
mov rcx, rax
call fcn.140022860
mov r8b, byte [r15 + 0x90]
test r8b, r8b
mov ebp, ebx
je 0x1400192e0
movzx eax, bl
xor rax, rsi
imul rax, rdi
movzx ecx, bh
xor rcx, rax
imul rcx, rdi
mov eax, ebx
shr eax, 0x10
movzx eax, al
xor rax, rcx
imul rax, rdi
mov ecx, ebx
shr ecx, 0x18
xor rcx, rax
imul rcx, rdi
jmp 0x14001936f
mov eax, ebx
shr eax, 0x10
mov ecx, ebx
shr ecx, 0x18
movzx edx, bl
xor rdx, rsi
imul rdx, rdi
movzx esi, bh
xor rsi, rdx
imul rsi, rdi
movzx eax, al
xor rax, rsi
imul rax, rdi
xor rcx, rax
imul rcx, rdi
mov rax, qword [r15 + 0x38]
and rax, rcx
mov rsi, qword [r15 + 0x10]
mov r10, qword [r15 + 0x20]
lea r9, [rax + rax]
add r9, 1
shl rax, 4
mov rax, qword [r10 + rax]
mov rdx, rax
jmp 0x140019343
mov rdx, qword [rdx]
mov rdi, rsi
cmp rax, rsi
je 0x140019354
mov rbx, qword [r10 + r9*8]
mov rdi, qword [rbx]
mov ebx, ebp
cmp rdi, rdx
je 0x14001936f
cmp dword [rdx + 0x10], ebx
jne 0x140019340
cmp rsi, rdx
je 0x14001936f
add rdx, 0x18
mov rcx, r14
jmp 0x1400193fd
mov dword [rsp + 0x30], ebx
and rcx, qword [r15 + 0x78]
mov rbx, qword [r15 + 0x50]
mov rsi, qword [r15 + 0x60]
mov rax, rcx
shl rax, 4
mov rax, qword [rsi + rax]
add rcx, rcx
add rcx, 1
mov rdi, rax
jmp 0x1400193a3
mov rdi, qword [rdi]
mov rdx, rbx
cmp rax, rbx
je 0x1400193b2
mov rdx, qword [rsi + rcx*8]
mov rdx, qword [rdx]
cmp rdx, rdi
je 0x140019413
mov edx, ebp
cmp dword [rdi + 0x10], ebp
jne 0x1400193a0
cmp rbx, rdi
je 0x140019413
test r8b, r8b
jne 0x1400193f3
lea rbx, [rdi + 0x18]
mov rcx, r15
add rcx, 8
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x30]
call fcn.14001a090
mov rcx, qword [rsp + 0x50]
add rcx, 0x18
mov rdx, rbx
call fcn.1400121d0
add rdi, 0x18
mov rcx, r14
mov rdx, rdi
call fcn.1400121d0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x140019512
mov rsi, qword [r15 + 0x88]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rcx, [rsp + 0x50]
call fcn.140011f80
test rsi, rsi
je 0x140019466
lea rdx, [rsp + 0x50]
mov ecx, ebp
call qword [rsi]
test al, al
jne 0x140019466
lea rdi, [rsp + 0x50]
nop word cs:[rax + rax]
nop
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x140019466
mov ecx, dword [rsp + 0x2c]
mov rdx, rdi
call qword [rsi]
test al, al
je 0x140019450
cmp qword [rsp + 0x60], 0
je 0x140019506
lea rcx, [rsp + 0x50]
call fcn.140013e50
test al, al
je 0x1400194b0
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
call fcn.140014870
mov rcx, rbx
mov rdx, rdi
call fcn.140012240
mov rcx, rdi
call fcn.140012160
cmp qword [rsp + 0x60], 0
je 0x140019506
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.1400121d0
mov rcx, r15
call fcn.140022860
cmp byte [r15 + 0x90], 0
jne 0x1400194f8
mov rcx, r15
add rcx, 8
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
call fcn.14001a090
mov rcx, qword [rsp + 0x30]
add rcx, 0x18
lea rdx, [rsp + 0x50]
call fcn.1400121d0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x140019508
xor esi, esi
lea rcx, [rsp + 0x50]
call fcn.140012160
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400a6c00
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret