Function at 0x140040b20
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.140040e00
cmp ebp, 9
je 0x140040d7b
mov rsi, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140040d01
mov dword [rsp + 0x38], ebp
cmp byte [rsi + 0x60], 0
jne 0x140040b96
lea rcx, [rsi + 8]
lea rbx, [rsp + 0x50]
lea r8, [rsp + 0x38]
mov rdx, rbx
call fcn.140063dd0
mov rdx, qword [rbx]
test rdx, rdx
jne 0x140040c13
lea rbx, [rsp + 0x78]
mov dword [rbx], ebp
lea rcx, [rsi + 0x30]
lea r14, [rsp + 0x50]
mov rdx, r14
mov r8, rbx
call fcn.140063ed0
mov r14, qword [r14]
test r14, r14
jne 0x140040d0e
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.140040fc0
test r15, r15
je 0x140040c30
lea r14, [rsp + 0x50]
mov rax, qword [r15]
mov ecx, ebp
mov rdx, r14
call qword [0x140174e48]
test al, al
jne 0x140040c30
mov r15, qword [r15 + 8]
test r15, r15
jne 0x140040bf6
jmp 0x140040c30
add rdx, 0x18
mov rcx, rdi
call fcn.140048d80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
jmp 0x140040cdd
movsx rax, byte [rsp + 0x67]
test rax, rax
jns 0x140040c40
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140040d74
lea rcx, [rsp + 0x50]
call fcn.14008d8e0
test al, al
jne 0x140040d34
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140048d80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140040d27
cmp byte [rsi + 0x60], 0
jne 0x140040cc7
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.1400d0f10
mov rcx, qword [rdi]
add rcx, 0x18
lea rdx, [rsp + 0x50]
call fcn.140048d80
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov sil, 1
lea rcx, [rsp + 0x50]
call fcn.140048d70
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140092f10
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 0x140040b6e
cmp byte [rsi + 0x60], 0
je 0x140040da4
add r14, 0x18
mov rcx, rdi
mov rdx, r14
jmp 0x140040c1a
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x140040c79
lea r14, [rsp + 0x38]
lea r15, [rsp + 0x50]
mov rcx, r14
mov rdx, r15
call fcn.14008e2c0
mov rcx, r15
mov rdx, r14
call fcn.140048de0
mov rcx, r14
call fcn.140048d70
movsx rax, byte [r15 + 0x17]
test rax, rax
jns 0x140040d6b
mov rax, qword [rsp + 0x58]
test rax, rax
jne 0x140040c5b
xor esi, esi
jmp 0x140040cd3
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140092f10
mov rcx, rdi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.14008e850
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.1400d0f10
mov rcx, qword [r12]
add rcx, 0x18
mov rdx, r15
call fcn.140048d80
jmp 0x140040d18