Function at 0x14005f6d0
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 [0x1401c1028]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x5c], ecx
mov eax, dword [0x1401d3048]
mov ecx, dword [0x1401d0348]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005fca7
cmp ebx, 9
jne 0x14005f73d
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14014c9b0
mov rcx, rdi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.14005df30
mov rsi, qword [0x1401d3040]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14005f75a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
movzx r10d, byte [rsi + 0x60]
movsxd rcx, ebx
test r10b, r10b
je 0x14005f7ee
mov dword [rsp + 0x60], ebx
mov r9, qword [rsi + 0x38]
test r9, r9
je 0x14005f943
mov rax, r9
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r9
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
ja 0x14005f869
lea r8, [r9 - 1]
and r8, rcx
jmp 0x14005f8c0
mov r11, qword [rsi + 0x10]
test r11, r11
je 0x14005f76b
mov rax, r11
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r11
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 r14, 0x101010101010101
imul r14, rax
shr r14, 0x38
cmp r14, 1
ja 0x14005f88a
lea r8, [r11 - 1]
and r8, rcx
jmp 0x14005fb99
mov r8, rcx
cmp r9, rcx
ja 0x14005f8c0
mov rax, rcx
or rax, r9
shr rax, 0x20
je 0x14005f8b6
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
jmp 0x14005f8c0
mov r8, rcx
cmp r11, rcx
ja 0x14005fb99
mov rax, rcx
or rax, r11
shr rax, 0x20
je 0x14005fb8f
mov rax, rcx
xor edx, edx
div r11
mov r8, rdx
jmp 0x14005fb99
mov eax, ecx
xor edx, edx
div r9d
mov r8d, edx
mov rax, qword [rsi + 0x30]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14005f943
mov r14, qword [rax]
test r14, r14
je 0x14005f943
lea r15, [r9 - 1]
jmp 0x14005f8f2
cmp dword [r14 + 0x10], ebx
je 0x14005fa6c
mov r14, qword [r14]
test r14, r14
je 0x14005f943
mov rax, qword [r14 + 8]
cmp rax, rcx
je 0x14005f8e0
cmp r11d, 1
ja 0x14005f910
and rax, r15
cmp rax, r8
je 0x14005f8ea
jmp 0x14005f943
cmp rax, r9
jb 0x14005f930
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x14005f937
xor edx, edx
div r9
mov rax, rdx
nop dword [rax]
cmp rax, r8
je 0x14005f8ea
jmp 0x14005f943
xor edx, edx
div r9d
mov eax, edx
cmp rax, r8
je 0x14005f8ea
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 0x14005fa3b
lea r14, [rsp + 0x40]
nop
mov rax, qword [r15]
mov ecx, ebx
mov rdx, r14
call qword [0x1401b4100]
test al, al
jne 0x14005f98b
mov r15, qword [r15 + 8]
test r15, r15
jne 0x14005f970
movzx eax, byte [rsp + 0x57]
test al, al
jns 0x14005f9a3
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x14005f9af
jmp 0x14005fa3b
movzx eax, al
test rax, rax
je 0x14005fa3b
lea rbx, [rsp + 0x40]
mov rcx, rbx
call fcn.14007b370
test al, al
je 0x14005fa07
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x40]
call fcn.14005c7e0
cmp byte [rsp + 0x57], 0
jns 0x14005f9e0
mov rcx, qword [rsp + 0x40]
call fcn.14014b4e4
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0x28]
movaps xmmword [rsp + 0x40], xmm0
movzx eax, byte [rsp + 0x57]
test al, al
jns 0x14005fa02
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14005fa3b
cmp rbx, rdi
je 0x14005faed
cmp byte [rdi + 0x17], 0
movzx r8d, byte [rsp + 0x57]
js 0x14005fa4d
test r8b, r8b
js 0x14005fadb
mov rax, qword [rsp + 0x50]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
jmp 0x14005faed
xor esi, esi
cmp byte [rsp + 0x57], 0
jns 0x14005fc57
jmp 0x14005fc4d
test r8b, r8b
cmovs r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
cmovns rdx, rbx
mov rcx, rdi
call fcn.1400510de
jmp 0x14005faed
test r10b, r10b
jne 0x14005faa3
lea rbx, [r14 + 0x18]
lea rcx, [rsi + 8]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x28], r8
lea rdx, [rsp + 0x40]
lea r9, [rsp + 0x28]
call fcn.14005fd80
mov rcx, qword [rsp + 0x40]
add rcx, 0x18
mov rdx, rbx
call fcn.1400785e0
lea rdx, [r14 + 0x18]
cmp rdx, rdi
je 0x14005fc99
cmp byte [rdi + 0x17], 0
movzx r8d, byte [r14 + 0x2f]
js 0x14005fc72
test r8b, r8b
js 0x14005fc89
mov rax, qword [rdx + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rdi], xmm0
jmp 0x14005fc99
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140051168
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005fb06
cmp byte [rsi + 0x60], 0
jne 0x14005fc3a
jmp 0x14005fb19
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp byte [rsi + 0x60], 0
jne 0x14005fc3a
lea rcx, [rsi + 8]
lea r8, [rsp + 0x5c]
mov qword [rsp + 0x60], r8
lea rdx, [rsp + 0x28]
lea r9, [rsp + 0x60]
call fcn.14005fd80
mov rax, qword [rsp + 0x28]
lea rcx, [rax + 0x18]
cmp rcx, rbx
je 0x14005fc3a
cmp byte [rax + 0x2f], 0
movzx r8d, byte [rsp + 0x57]
js 0x14005fb73
test r8b, r8b
js 0x14005fc2b
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rcx], xmm0
jmp 0x14005fc3a
test r8b, r8b
cmovs r8, qword [rsp + 0x48]
cmovs rbx, qword [rsp + 0x40]
mov rdx, rbx
call fcn.1400510de
jmp 0x14005fc3a
mov eax, ebx
xor edx, edx
div r11d
mov r8d, edx
mov rax, qword [rsi + 8]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14005f76b
mov r9, qword [rax]
test r9, r9
je 0x14005f76b
lea r15, [r11 - 1]
jmp 0x14005fbd2
cmp dword [r9 + 0x10], ebx
je 0x14005fc1a
mov r9, qword [r9]
test r9, r9
je 0x14005f76b
mov rax, qword [r9 + 8]
cmp rax, rcx
je 0x14005fbc0
cmp r14d, 1
ja 0x14005fbe6
and rax, r15
jmp 0x14005fc10
cmp rax, r11
jb 0x14005fc10
mov rdx, rax
or rdx, r11
shr rdx, 0x20
je 0x14005fc01
xor edx, edx
div r11
mov rax, rdx
jmp 0x14005fc10
xor edx, edx
div r11d
mov eax, edx
nop dword [rax + rax]
cmp rax, r8
je 0x14005fbc6
jmp 0x14005f76b
add r9, 0x18
mov rcx, rdi
mov rdx, r9
call fcn.1400785e0
jmp 0x14005fc99
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
call fcn.140051168
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
cmp byte [rsp + 0x57], 0
jns 0x14005fc57
mov rcx, qword [rsp + 0x40]
call fcn.14014b4e4
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14014c9b0
mov eax, esi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
test r8b, r8b
jns 0x14005fc7f
mov r8, qword [r14 + 0x20]
mov rdx, qword [r14 + 0x18]
mov rcx, rdi
call fcn.1400510de
jmp 0x14005fc99
mov rdx, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
mov rcx, rdi
call fcn.140051168
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x14005fc57
lea rcx, [0x1401d3048]
call fcn.14014b600
cmp dword [0x1401d3048], 0xffffffff
jne 0x14005f718
mov ecx, 0x68
call fcn.14014b4a8
mov rsi, rax
mov rcx, rax
call fcn.14005fcf0
mov qword [0x1401d3040], rsi
lea rcx, [0x1401d3048]
call fcn.14014b698
jmp 0x14005f718