Function at 0x6500bcb0
Capabilities:
Check mutex on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1c0
mov qword [rsp + 0x160], 0xfffffffffffffffe
mov qword [rsp + 0x210], rbx
mov rax, qword [0x65043120]
xor rax, rsp
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x58], r8
mov rbx, rdx
mov r15, rcx
mov rax, qword [0x65047d30]
test rax, rax
jne 0x6500bd14
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x65047d30], rax
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x6500bd2c
mov rax, r15
jmp 0x6500c4d1
mov r12d, 0xf
mov qword [rsp + 0x188], r12
xor esi, esi
mov qword [rsp + 0x180], rsi
mov byte [rsp + 0x170], sil
cmp rbx, 0xfffffffffffffffe
jbe 0x6500bd67
call fcn.6501d150
mov r12, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
cmp r12, rbx
jae 0x6500bd91
mov r8, rsi
mov rdx, rbx
lea rcx, [rsp + 0x168]
call fcn.65002330
mov r12, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
jmp 0x6500bdc7
test rbx, rbx
jne 0x6500bdc7
mov qword [rsp + 0x180], rbx
lea rax, [rsp + 0x170]
cmp r12, 0x10
cmovae rax, qword [rsp + 0x170]
mov byte [rax], bl
mov r12, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
jmp 0x6500be25
test rbx, rbx
je 0x6500be25
lea rcx, [rsp + 0x170]
cmp r12, 0x10
cmovae rcx, qword [rsp + 0x170]
mov r9, rbx
mov r8, r15
mov rdx, r12
call fcn.6501d7b0
mov qword [rsp + 0x180], rbx
lea rax, [rsp + 0x170]
cmp qword [rsp + 0x188], 0x10
cmovae rax, qword [rsp + 0x170]
mov byte [rbx + rax], 0
mov r12, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
mov ebp, dword [0x65047df4]
lea rax, [0x65047df8]
test bpl, 1
jne 0x6500bea2
or ebp, 1
mov dword [0x65047df4], ebp
mov rcx, rax
call fcn.650109e0
mov qword [0x65047e00], rax
mov byte [rax + 0x69], 1
mov rax, qword [0x65047e00]
mov qword [rax + 8], rax
mov rax, qword [0x65047e00]
mov qword [rax], rax
mov rax, qword [0x65047e00]
mov qword [rax + 0x10], rax
mov qword [0x65047e08], 0
lea rcx, [0x65033550]
call fcn.6501e7f0
nop
mov r12, qword [rsp + 0x188]
mov rsi, qword [rsp + 0x180]
mov ebp, dword [0x65047df4]
mov r13, qword [0x65047e00]
mov rbx, qword [r13 + 8]
mov r14, r13
mov rax, qword [rsp + 0x170]
cmp byte [rbx + 0x69], 0
jne 0x6500bf2d
nop
lea rdx, [rsp + 0x170]
cmp r12, 0x10
cmovae rdx, rax
mov rdi, qword [rbx + 0x30]
cmp rdi, rdi
cmovb rdi, rdi
cmp qword [rbx + 0x38], 0x10
jb 0x6500bee8
mov rcx, qword [rbx + 0x20]
jmp 0x6500beec
lea rcx, [rbx + 0x20]
mov r8, rsi
cmp rdi, rsi
cmovb r8, rdi
call fcn.6501d6e0
movsxd rcx, eax
test eax, eax
jne 0x6500bf0f
cmp rdi, rsi
jb 0x6500bf1b
cmp rdi, rsi
setne al
mov ecx, eax
test ecx, ecx
js 0x6500bf1b
mov r14, rbx
mov rbx, qword [rbx]
jmp 0x6500bf1f
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x69], 0
mov rax, qword [rsp + 0x170]
je 0x6500bec0
mov qword [rsp + 0x68], r14
lea rcx, [0x65047df8]
mov qword [rsp + 0x60], rcx
cmp r14, r13
je 0x6500bf9d
mov rbx, qword [r14 + 0x30]
cmp qword [r14 + 0x38], 0x10
jb 0x6500bf54
mov rdx, qword [r14 + 0x20]
jmp 0x6500bf58
lea rdx, [r14 + 0x20]
lea rcx, [rsp + 0x170]
cmp r12, 0x10
cmovae rcx, rax
mov r8, rbx
cmp rsi, rbx
cmovb r8, rsi
call fcn.6501d6e0
movsxd rcx, eax
test eax, eax
jne 0x6500bf8b
cmp rsi, rbx
jb 0x6500bf9d
cmp rsi, rbx
setne al
mov ecx, eax
test ecx, ecx
js 0x6500bf9d
lea rcx, [rsp + 0x60]
lea r14, [0x65047df8]
jmp 0x6500bfb3
mov qword [rsp + 0x38], r13
lea r14, [0x65047df8]
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x20]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
test bpl, 1
jne 0x6500c02e
or ebp, 1
mov dword [0x65047df4], ebp
mov rcx, r14
call fcn.650109e0
mov qword [0x65047e00], rax
mov byte [rax + 0x69], 1
mov rax, qword [0x65047e00]
mov qword [rax + 8], rax
mov rax, qword [0x65047e00]
mov qword [rax], rax
mov rax, qword [0x65047e00]
mov qword [rax + 0x10], rax
xor r12d, r12d
mov qword [0x65047e08], r12
lea rcx, [0x65033550]
call fcn.6501e7f0
nop
mov ebp, dword [0x65047df4]
mov r13, qword [0x65047e00]
jmp 0x6500c031
xor r12d, r12d
mov rbx, r13
mov rsi, qword [rsp + 0x20]
test rsi, rsi
je 0x6500c043
cmp rsi, r14
je 0x6500c055
call fcn.6501dad0
mov ebp, dword [0x65047df4]
mov r13, qword [0x65047e00]
mov rdi, qword [rsp + 0x28]
cmp rdi, rbx
jne 0x6500c31c
mov qword [rsp + 0x50], 0xf
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x38], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x30]
call fcn.65001e20
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x190]
call fcn.6500d590
nop
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xe0], 0xf
mov qword [rsp + 0xd8], r12
mov byte [rsp + 0xc8], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0xc0]
call fcn.65001e20
nop
mov qword [rsp + 0x158], 0xf
mov qword [rsp + 0x150], r12
mov byte [rsp + 0x140], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x138]
call fcn.65001e20
nop
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0xe8]
call fcn.650114d0
mov rbx, rax
mov qword [rsp + 0x90], 0xf
mov qword [rsp + 0x88], r12
mov byte [rsp + 0x78], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.65001e20
nop
lea rdx, [rbx + 0x28]
mov qword [rsp + 0xb8], 0xf
mov qword [rsp + 0xb0], r12
mov byte [rsp + 0xa0], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x98]
call fcn.65001e20
nop
mov eax, dword [0x65047df4]
test al, 1
jne 0x6500c1fe
or eax, 1
mov dword [0x65047df4], eax
mov rcx, r14
call fcn.650109e0
mov qword [0x65047e00], rax
mov byte [rax + 0x69], 1
mov rax, qword [0x65047e00]
mov qword [rax + 8], rax
mov rax, qword [0x65047e00]
mov qword [rax], rax
mov rax, qword [0x65047e00]
mov qword [rax + 0x10], rax
mov qword [0x65047e08], r12
lea rcx, [0x65033550]
call fcn.6501e7f0
nop
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.6500dfd0
nop
cmp qword [rsp + 0xb8], 0x10
jb 0x6500c229
mov rcx, qword [rsp + 0xa0]
call fcn.6501d300
mov qword [rsp + 0xb8], 0xf
mov qword [rsp + 0xb0], r12
mov byte [rsp + 0xa0], 0
cmp qword [rsp + 0x90], 0x10
jb 0x6500c25a
mov rcx, qword [rsp + 0x78]
call fcn.6501d300
mov qword [rsp + 0x90], 0xf
mov qword [rsp + 0x88], r12
mov byte [rsp + 0x78], 0
cmp qword [rsp + 0x130], 0x10
jb 0x6500c28b
mov rcx, qword [rsp + 0x118]
call fcn.6501d300
mov qword [rsp + 0x130], 0xf
mov qword [rsp + 0x128], r12
mov byte [rsp + 0x118], 0
cmp qword [rsp + 0x108], 0x10
jb 0x6500c2bf
mov rcx, qword [rsp + 0xf0]
call fcn.6501d300
mov qword [rsp + 0x108], 0xf
mov qword [rsp + 0x100], r12
mov byte [rsp + 0xf0], 0
cmp qword [rsp + 0x1b0], 0x10
jb 0x6500c2f3
mov rcx, qword [rsp + 0x198]
call fcn.6501d300
mov qword [rsp + 0x1b0], 0xf
mov qword [rsp + 0x1a8], r12
mov byte [rsp + 0x198], 0
mov ebp, dword [0x65047df4]
mov r13, qword [0x65047e00]
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
cmp eax, 0x100
jge 0x6500c3c4
test bpl, 1
jne 0x6500c385
or ebp, 1
mov dword [0x65047df4], ebp
mov rcx, r14
call fcn.650109e0
mov qword [0x65047e00], rax
mov byte [rax + 0x69], 1
mov rax, qword [0x65047e00]
mov qword [rax + 8], rax
mov rax, qword [0x65047e00]
mov qword [rax], rax
mov rax, qword [0x65047e00]
mov qword [rax + 0x10], rax
mov qword [0x65047e08], r12
lea rcx, [0x65033550]
call fcn.6501e7f0
nop
lea r8, [rsp + 0x168]
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.6500e220
lea rdx, [rsp + 0x20]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
mov ebp, dword [0x65047df4]
mov r13, qword [0x65047e00]
test bpl, 1
jne 0x6500c421
or ebp, 1
mov dword [0x65047df4], ebp
mov rcx, r14
call fcn.650109e0
mov qword [0x65047e00], rax
mov byte [rax + 0x69], 1
mov rax, qword [0x65047e00]
mov qword [rax + 8], rax
mov rax, qword [0x65047e00]
mov qword [rax], rax
mov rax, qword [0x65047e00]
mov qword [rax + 0x10], rax
mov qword [0x65047e08], r12
lea rcx, [0x65033550]
call fcn.6501e7f0
nop
mov r13, qword [0x65047e00]
test rsi, rsi
je 0x6500c42b
cmp rsi, r14
je 0x6500c430
call fcn.6501dad0
cmp rdi, r13
je 0x6500c45b
test rsi, rsi
jne 0x6500c43f
call fcn.6501dad0
cmp rdi, qword [rsi + 8]
jne 0x6500c44a
call fcn.6501dad0
cmp qword [rdi + 0x60], 0x10
jb 0x6500c457
mov r15, qword [rdi + 0x48]
jmp 0x6500c45b
lea r15, [rdi + 0x48]
mov rax, qword [0x65045b00]
test rax, rax
jne 0x6500c48b
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.ReleaseMutex
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x65045b00], rax
mov rcx, qword [0x65047d30]
test rcx, rcx
jne 0x6500c4b3
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rcx, rax
mov qword [0x65047d30], rax
mov rax, qword [0x65045b00]
call rax
nop
cmp qword [rsp + 0x188], 0x10
jb 0x6500c4ce
mov rcx, qword [rsp + 0x170]
call fcn.6501d300
mov rax, r15
mov rcx, qword [rsp + 0x1b8]
xor rcx, rsp
call fcn.6501e650
mov rbx, qword [rsp + 0x210]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret