Function at 0x140017970
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.140026380
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 0x140017b00
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.1400e0570
mov rdi, rax
cmp rax, 7
jbe 0x140017a1a
lea rcx, [rsp + 0x90]
lea r9, [rsp + 0xb0]
mov rdx, rdi
call fcn.140003250
jmp 0x140017a47
mov qword [rsp + 0xa0], rdi
mov r8, rdi
add r8, rdi
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0xb0]
call fcn.1400cc760
mov word [rsp + rdi*2 + 0x90], 0
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0xa8], 7
jbe 0x140017a64
mov rcx, qword [rsp + 0x90]
jmp 0x140017a6c
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.140013df0
lea rbx, [rsp + 0x70]
mov rcx, rdi
mov rdx, rbx
call fcn.140015c70
mov rcx, rsi
mov rdx, rbx
call fcn.140013f80
mov rcx, rbx
call fcn.140013ea0
mov rcx, rdi
call fcn.140013ea0
mov rax, qword [rsp + 0xa8]
cmp rax, 8
jb 0x140017afd
mov rcx, qword [rsp + 0x90]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140017af8
mov rdx, rcx
add rdx, 0xfffffffffffffff8
mov rcx, qword [rcx - 8]
sub rdx, rcx
cmp rdx, 0x20
jae 0x140017b27
add rax, rax
add rax, 0x29
mov rdx, rax
call fcn.1400a8a80
mov dil, 1
lea rcx, [rsp + 0x38]
call fcn.140026480
mov rcx, qword [rsp + 0x2b8]
xor rcx, rsp
call fcn.1400a8dd0
mov eax, edi
add rsp, 0x2c0
pop rbx
pop rdi
pop rsi
ret
call fcn.1400d9340
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.14001ac90
cmp ebx, 1
jne 0x14001a9df
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400a8dd0
mov rcx, r14
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x140017970
mov r15, rax
movabs rsi, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
mov rcx, rax
call fcn.140023f50
mov r8b, byte [r15 + 0x90]
test r8b, r8b
mov ebp, ebx
je 0x14001aa40
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 0x14001aacf
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 0x14001aaa3
mov rdx, qword [rdx]
mov rdi, rsi
cmp rax, rsi
je 0x14001aab4
mov rbx, qword [r10 + r9*8]
mov rdi, qword [rbx]
mov ebx, ebp
cmp rdi, rdx
je 0x14001aacf
cmp dword [rdx + 0x10], ebx
jne 0x14001aaa0
cmp rsi, rdx
je 0x14001aacf
add rdx, 0x18
mov rcx, r14
jmp 0x14001ab5d
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 0x14001ab03
mov rdi, qword [rdi]
mov rdx, rbx
cmp rax, rbx
je 0x14001ab12
mov rdx, qword [rsi + rcx*8]
mov rdx, qword [rdx]
cmp rdx, rdi
je 0x14001ab73
mov edx, ebp
cmp dword [rdi + 0x10], ebp
jne 0x14001ab00
cmp rbx, rdi
je 0x14001ab73
test r8b, r8b
jne 0x14001ab53
lea rbx, [rdi + 0x18]
mov rcx, r15
add rcx, 8
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x30]
call fcn.14001b7f0
mov rcx, qword [rsp + 0x50]
add rcx, 0x18
mov rdx, rbx
call fcn.140013f10
add rdi, 0x18
mov rcx, r14
mov rdx, rdi
call fcn.140013f10
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x14001ac72
mov rsi, qword [r15 + 0x88]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rcx, [rsp + 0x50]
call fcn.140013cc0
test rsi, rsi
je 0x14001abc6
lea rdx, [rsp + 0x50]
mov ecx, ebp
call qword [rsi]
test al, al
jne 0x14001abc6
lea rdi, [rsp + 0x50]
nop word cs:[rax + rax]
nop
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x14001abc6
mov ecx, dword [rsp + 0x2c]
mov rdx, rdi
call qword [rsi]
test al, al
je 0x14001abb0
cmp qword [rsp + 0x60], 0
je 0x14001ac66
lea rcx, [rsp + 0x50]
call fcn.140015d50
test al, al
je 0x14001ac10
lea rdi, [rsp + 0x30]
lea rbx, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
call fcn.140016770
mov rcx, rbx
mov rdx, rdi
call fcn.140013f80
mov rcx, rdi
call fcn.140013ea0
cmp qword [rsp + 0x60], 0
je 0x14001ac66
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140013f10
mov rcx, r15
call fcn.140023f50
cmp byte [r15 + 0x90], 0
jne 0x14001ac58
mov rcx, r15
add rcx, 8
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x2c]
call fcn.14001b7f0
mov rcx, qword [rsp + 0x30]
add rcx, 0x18
lea rdx, [rsp + 0x50]
call fcn.140013f10
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x14001ac68
xor esi, esi
lea rcx, [rsp + 0x50]
call fcn.140013ea0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400a8dd0
mov eax, esi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret