Function at 0x14001d460
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rdi, rdx
mov ebx, ecx
mov rax, qword [0x14010a040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x5c], ecx
mov eax, dword [0x14011b5e0]
mov ecx, dword [0x1401188d0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14001d797
cmp ebx, 9
je 0x14001d980
mov rsi, qword [0x14011b5d8]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14001d823
mov r9b, byte [rsi + 0x60]
movsxd rcx, ebx
cmp r9b, 1
je 0x14001d62d
mov r10, qword [rsi + 0x10]
test r10, r10
je 0x14001d62d
mov rax, r10
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r10
sub rax, rdx
movabs rdx, 0x3333333333333333
mov r8, rax
and r8, rdx
shr rax, 2
and rax, rdx
add rax, r8
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r11, 0x101010101010101
imul r11, rax
shr r11, 0x38
cmp r11, 1
jbe 0x14001d5e6
mov r8, rcx
cmp r10, rcx
ja 0x14001d560
mov rax, rcx
xor edx, edx
div r10
mov r8, rdx
mov rax, qword [rsi + 8]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14001d62d
mov r14, qword [rax]
test r14, r14
je 0x14001d62d
lea r15, [r10 - 1]
mov rax, qword [r14 + 8]
cmp rax, rcx
jne 0x14001d609
cmp dword [r14 + 0x10], ebx
jne 0x14001d621
lea rdx, [r14 + 0x18]
cmp rdx, rdi
je 0x14001d5bf
cmp byte [rdi + 0x17], 0
movzx r8d, byte [r14 + 0x2f]
js 0x14001d83a
test r8b, r8b
js 0x14001d5f2
mov rax, qword [rdx + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rdi], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14005e230
mov eax, esi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, [r10 - 1]
and r8, rcx
jmp 0x14001d560
mov rdx, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
mov rcx, rdi
call fcn.140008a10
jmp 0x14001d5bf
and rax, r15
jmp 0x14001d61c
cmp r11d, 1
jbe 0x14001d604
cmp rax, r10
jb 0x14001d61c
xor edx, edx
div r10
mov rax, rdx
cmp rax, r8
jne 0x14001d62d
mov r14, qword [r14]
test r14, r14
jne 0x14001d581
mov dword [rsp + 0x60], ebx
mov r10, qword [rsi + 0x38]
test r10, r10
jne 0x14001d854
mov r15, qword [rsi + 0x58]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
test r15, r15
je 0x14001d695
lea r14, [rsp + 0x40]
mov rax, qword [r15]
mov ecx, ebx
mov rdx, r14
call qword [0x1400ff3b8]
test al, al
jne 0x14001d681
mov r15, qword [r15 + 8]
test r15, r15
jne 0x14001d666
mov al, byte [rsp + 0x57]
test al, al
js 0x14001d830
movzx eax, al
test rax, rax
jne 0x14001d6c5
xor esi, esi
cmp byte [rsp + 0x57], 0
jns 0x14001d5cb
mov rcx, qword [rsp + 0x40]
call fcn.14005c694
jmp 0x14001d5cb
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140008a10
jmp 0x14001d705
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.140058150
test al, al
jne 0x14001d9ad
cmp rbx, rdi
je 0x14001d705
cmp byte [rdi + 0x17], 0
movzx r8d, byte [rsp + 0x57]
js 0x14001da18
test r8b, r8b
js 0x14001d6b1
mov rax, qword [rsp + 0x50]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14001d9a0
cmp byte [rsi + 0x60], 0
jne 0x14001d775
lea rcx, [rsi + 8]
lea r8, [rsp + 0x5c]
lea r9, [rsp + 0x60]
mov qword [r9], r8
lea rdi, [rsp + 0x28]
mov rdx, rdi
call fcn.14001da50
mov rax, qword [rdi]
test rax, rax
je 0x14001d97e
lea rcx, [rax + 0x18]
cmp rcx, rbx
je 0x14001d775
cmp byte [rax + 0x2f], 0
movzx r8d, byte [rsp + 0x57]
js 0x14001d9fc
test r8b, r8b
js 0x14001d786
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rcx], xmm0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x14001d697
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
call fcn.140008a10
jmp 0x14001d775
lea rcx, [0x14011b5e0]
call fcn.14005c764
cmp dword [0x14011b5e0], 0xffffffff
jne 0x14001d4a8
mov ecx, 0x68
call fcn.14005c69c
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], 0
mov eax, 0x3f800000
mov dword [rsi + 0x28], eax
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x40], xmm0
mov dword [rsi + 0x50], eax
mov byte [rsi + 0x60], 0
lea r14, [0x14010c4b0]
movabs rax, 0xfffffffc00000000
and rax, r14
cmp rax, qword [0x14010c508]
je 0x14001da37
mov qword [rsi + 0x58], r14
mov qword [0x14011b5d8], rsi
lea rcx, [0x14011b5e0]
call fcn.14005c6f8
jmp 0x14001d4a8
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x14001d4c9
mov rax, qword [rsp + 0x48]
jmp 0x14001d690
test r8b, r8b
jns 0x14001d847
mov r8, qword [r14 + 0x20]
mov rdx, qword [r14 + 0x18]
mov rcx, rdi
call fcn.1400ab090
jmp 0x14001d5bf
mov rax, r10
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r10
sub rax, rdx
movabs rdx, 0x3333333333333333
mov r8, rax
and r8, rdx
shr rax, 2
and rax, rdx
add rax, r8
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r11, 0x101010101010101
imul r11, rax
shr r11, 0x38
cmp r11, 1
jbe 0x14001d8cb
mov r8, rcx
cmp r10, rcx
ja 0x14001d8d2
mov rax, rcx
xor edx, edx
div r10
mov r8, rdx
jmp 0x14001d8d2
lea r8, [r10 - 1]
and r8, rcx
mov rax, qword [rsi + 0x30]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14001d63e
mov r14, qword [rax]
test r14, r14
je 0x14001d63e
lea r15, [r10 - 1]
jmp 0x14001d907
cmp dword [r14 + 0x10], ebx
je 0x14001d932
mov r14, qword [r14]
test r14, r14
je 0x14001d63e
mov rax, qword [r14 + 8]
cmp rax, rcx
je 0x14001d8f5
cmp r11d, 1
ja 0x14001d923
and rax, r15
cmp rax, r8
je 0x14001d8fb
jmp 0x14001d63e
cmp rax, r10
jb 0x14001d919
xor edx, edx
div r10
mov rax, rdx
jmp 0x14001d919
test r9b, r9b
jne 0x14001d96a
lea rcx, [rsi + 8]
lea r8, [rsp + 0x60]
lea r9, [rsp + 0x28]
mov qword [r9], r8
lea rbx, [rsp + 0x40]
mov rdx, rbx
call fcn.14001da50
mov rcx, qword [rbx]
test rcx, rcx
je 0x14001d97e
lea rdx, [r14 + 0x18]
add rcx, 0x18
call fcn.140021f90
add r14, 0x18
mov rcx, rdi
mov rdx, r14
call fcn.140021f90
jmp 0x14001d5bf
ud2
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14005e230
mov rcx, rdi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp 0x1400acec0
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x14001d716
lea r14, [rsp + 0x28]
lea r15, [rsp + 0x40]
mov rcx, r14
mov rdx, r15
call fcn.1400ac6b0
mov rcx, r15
mov rdx, r14
call fcn.140021ff0
cmp byte [r14 + 0x17], 0
jns 0x14001d9de
mov rcx, qword [rsp + 0x28]
call fcn.14005c694
movsx rax, byte [rsp + 0x57]
test rax, rax
jns 0x14001d9ee
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x14001d6da
jmp 0x14001d695
test r8b, r8b
cmovs r8, qword [rsp + 0x48]
cmovs rbx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.1400ab090
jmp 0x14001d775
test r8b, r8b
cmovs r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
cmovns rdx, rbx
mov rcx, rdi
call fcn.1400ab090
jmp 0x14001d705
lea rcx, [0x14010c4b0]
call fcn.140049700
jmp 0x14001d807
push r14
push rsi
push rdi
push rbx
sub rsp, 0x2b8
mov rsi, rcx
mov rax, qword [0x14010a040]
xor rax, rsp
mov qword [rsp + 0x2b0], rax
movaps xmm0, xmmword [0x1400edb10]
lea rdi, [rsp + 0x60]
movaps xmmword [rdi + 0x30], xmm0
movaps xmmword [rdi + 0x20], xmm0
movaps xmmword [rdi + 0x10], xmm0
movaps xmmword [rdi], xmm0
lea rdx, [0x1400f7b16]
lea r8, str....._base_files_file_util_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r9d, 0x43a
call fcn.140052d50
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400226e0
lea rbx, [rsp + 0xa0]
mov r8d, 0x208
mov rcx, rbx
mov dl, 0xaa
call fcn.140090270
mov word [rbx], 0
mov ecx, 0x104
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, eax
dec edi
cmp edi, 0x103
ja 0x1400acfc6
lea r14, [rsp + 0x20]
mov qword [r14], rbx
mov rcx, rbx
call fcn.14005cc4c
mov qword [r14 + 8], rax
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, r14
call fcn.140056ff0
lea r14, [rsp + 0x48]
mov rcx, rbx
mov rdx, r14
call fcn.1400b12c0
mov rcx, rsi
mov rdx, r14
call fcn.140021ff0
cmp byte [r14 + 0x17], 0
jns 0x1400acfb5
mov rcx, qword [rsp + 0x48]
call fcn.14005c694
cmp byte [rsp + 0x47], 0
jns 0x1400acfc6
mov rcx, qword [rsp + 0x30]
call fcn.14005c694
cmp edi, 0x104
setb bl
lea rcx, [rsp + 0x60]
call fcn.140022760
mov rcx, qword [rsp + 0x2b0]
xor rcx, rsp
call fcn.14005e230
mov eax, ebx
add rsp, 0x2b8
pop rbx
pop rdi
pop rsi
pop r14
ret