Function at 0x1400150a0
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov esi, r8d
mov r14, rdx
mov rbx, rcx
xor ebp, ebp
mov qword [rcx], rbp
mov dword [rcx + 8], 1
mov r9d, 0x2f
mov r8d, 0x5c
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140167d00
mov rcx, qword [r14]
mov rdx, qword [rax]
mov qword [r14], rdx
mov qword [rax], rcx
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
mov edi, 0xffffffff
test eax, 0x30000000
jne 0x140015112
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, edi
jne 0x140015112
call fcn.1400da0f0
lea rdx, str.Global_
lea rcx, [rsp + 0x50]
call fcn.140019df0
nop
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.14017f700
mov rcx, qword [rax]
mov qword [rsp + 0x68], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x140015148
lock inc dword [rcx - 0x10]
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14001516e
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14001516e
call fcn.1400da0f0
nop
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x50]
call fcn.140015780
mov r8, qword [rax]
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbx], rax
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1400151b5
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1400151b5
call fcn.1400da0f0
cmp qword [rbx], 0
jne 0x140015268
lea rdx, str.Local_
lea rcx, [rsp + 0x50]
call fcn.140019df0
nop
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.14017f700
mov rcx, qword [rax]
mov qword [rsp + 0x68], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x1400151f5
lock inc dword [rcx - 0x10]
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14001521b
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14001521b
call fcn.1400da0f0
nop
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x50]
call fcn.140015780
mov r8, qword [rax]
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [rbx], rax
mov rcx, qword [rsp + 0x68]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140015262
mov eax, edi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140015262
call fcn.1400da0f0
cmp qword [rbx], 0
je 0x1400152ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400152ad
mov rcx, qword [rbx]
test esi, esi
je 0x140015296
mov eax, 0xffffffff
cmovs esi, eax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x1400152ad
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400152ad
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], rbp
mov rcx, qword [r14]
sub rcx, 0x10
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1400152ce
lock xadd dword [rcx], edi
dec edi
cmp edi, 0xffffffff
jne 0x1400152ce
call fcn.1400da0f0
mov rax, rbx
add rsp, 0x20
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret