Function at 0x1400409b0
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov rdi, rdx
mov ebp, ecx
mov rax, qword [0x140181040]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x74], ecx
call fcn.140040c90
cmp ebp, 9
je 0x140040c0b
mov rsi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140040b91
mov dword [rsp + 0x38], ebp
cmp byte [rsi + 0x60], 0
jne 0x140040a26
lea rcx, [rsi + 8]
lea rbx, [rsp + 0x50]
lea r8, [rsp + 0x38]
mov rdx, rbx
call fcn.140063c60
mov rdx, qword [rbx]
test rdx, rdx
jne 0x140040aa3
lea rbx, [rsp + 0x78]
mov dword [rbx], ebp
lea rcx, [rsi + 0x30]
lea r14, [rsp + 0x50]
mov rdx, r14
mov r8, rbx
call fcn.140063d60
mov r14, qword [r14]
test r14, r14
jne 0x140040b9e
mov r15, qword [rsi + 0x58]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x50]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [0x140152e90]
movaps xmmword [rcx], xmm0
call fcn.140040e50
test r15, r15
je 0x140040ac0
lea r14, [rsp + 0x50]
mov rax, qword [r15]
mov ecx, ebp
mov rdx, r14
call qword [0x140174e48]
test al, al
jne 0x140040ac0
mov r15, qword [r15 + 8]
test r15, r15
jne 0x140040a86
jmp 0x140040ac0
add rdx, 0x18
mov rcx, rdi
call fcn.140048c10
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x140040b6d
movsx rax, byte [rsp + 0x67]
test rax, rax
jns 0x140040ad0
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140040c04
lea rcx, [rsp + 0x50]
call fcn.14008d770
test al, al
jne 0x140040bc4
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140048c10
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140040bb7
cmp byte [rsi + 0x60], 0
jne 0x140040b57
mov rcx, rsi
add rcx, 8
lea r8, [rsp + 0x74]
mov qword [rsp + 0x78], r8
lea rax, [rsp + 0x87]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
lea r9, [0x140156bbb]
lea rdi, [rsp + 0x38]
mov rdx, rdi
call fcn.1400d0da0
mov rcx, qword [rdi]
add rcx, 0x18
lea rdx, [rsp + 0x50]
call fcn.140048c10
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
lea rcx, [rsp + 0x50]
call fcn.140048c00
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140092da0
mov eax, esi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x1400409fe
cmp byte [rsi + 0x60], 0
je 0x140040c34
add r14, 0x18
mov rcx, rdi
mov rdx, r14
jmp 0x140040aaa
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x140040b09
lea r14, [rsp + 0x38]
lea r15, [rsp + 0x50]
mov rcx, r14
mov rdx, r15
call fcn.14008e150
mov rcx, r15
mov rdx, r14
call fcn.140048c70
mov rcx, r14
call fcn.140048c00
movsx rax, byte [r15 + 0x17]
test rax, rax
jns 0x140040bfb
mov rax, qword [rsp + 0x58]
test rax, rax
jne 0x140040aeb
xor esi, esi
jmp 0x140040b63
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140092da0
mov rcx, rdi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.14008e6e0
lea r15, [r14 + 0x18]
mov rcx, rsi
add rcx, 8
lea rax, [rsp + 0x38]
mov qword [rax], rbx
lea rdx, [rsp + 0x87]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea r9, [0x140156bbb]
lea r12, [rsp + 0x50]
mov rdx, r12
mov r8, rbx
call fcn.1400d0da0
mov rcx, qword [r12]
add rcx, 0x18
mov rdx, r15
call fcn.140048c10
jmp 0x140040ba8