Function at 0x7ff6d8e8ef40
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0xf0
mov rax, qword [0x7ff6d8eee010]
xor rax, rsp
mov qword [rsp + 0xe0], rax
xor eax, eax
xorps xmm0, xmm0
mov qword [rsp + 0x60], rax
mov rdi, rcx
mov rax, qword [0x7ff6d8ef1a88]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
test rax, rax
jne 0x7ff6d8e8ef9b
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov qword [0x7ff6d8ef1a88], rax
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov rcx, qword [0x7ff6d8ef1a88]
xor ebx, ebx
cmp dword [0x7ff6d8ef1a6c], 1
sete bl
call qword [sym.imp.KERNEL32.DLL_ReleaseMutex]
test ebx, ebx
jne 0x7ff6d8e8efd0
mov eax, 0xf0001000
jmp 0x7ff6d8e8f1a5
test rdi, rdi
jne 0x7ff6d8e8efdf
mov eax, 0xf0001005
jmp 0x7ff6d8e8f1a5
mov rcx, rdi
call fcn.7ff6d8e8d550
mov rbx, rax
test rax, rax
jne 0x7ff6d8e8eff9
mov eax, 0xf000100c
jmp 0x7ff6d8e8f1a5
mov dword [rsp + 0x80], 0xc
lea rdx, [rsp + 0x30]
mov rax, qword [rax + 0x18]
lea rcx, str.Beihai_ForceCloseSession__x_n
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x108], rsi
call fcn.7ff6d8e8d530
mov rcx, qword [0x7ff6d8eeec48]
mov edx, 0xffffffff
mov qword [rsp + 0x68], rcx
inc rcx
mov qword [0x7ff6d8eeec48], rcx
mov rcx, qword [0x7ff6d8ef2aa0]
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
lea rdx, [rsp + 0x68]
call fcn.7ff6d8e8f1d0
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0x30]
mov qword [rax], rcx
lea rcx, str.rrmap_add__llx__x_n
mov rdx, qword [rsp + 0x68]
call fcn.7ff6d8e8d530
mov rcx, qword [0x7ff6d8ef2aa0]
call qword [sym.imp.KERNEL32.DLL_ReleaseMutex]
mov rax, qword [rsp + 0x68]
lea rcx, [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea edx, [r9 + 0x20]
call fcn.7ff6d8e8dba0
mov r8d, dword [rsp + 0x3c]
lea rdx, [rsp + 0x30]
test eax, eax
lea rcx, str.Beihai_ForceCloseSession__x_ret__x_n
mov esi, eax
cmove esi, r8d
call fcn.7ff6d8e8d530
mov rax, qword [0x7ff6d8ef1850]
mov rcx, qword [rsp + 0x50]
test rax, rax
je 0x7ff6d8e8f0e8
mov r8d, 0x56b
lea rdx, str.D:_buildagent_cd_8811p4218434198_thirdparty_bhplugin1Beihai_toolsjhi_libBeihaiPlugin.cpp
call qword [0x7ff6d8ec9610]
jmp 0x7ff6d8e8f0ed
call fcn.7ff6d8ea4cd0
mov rcx, qword [0x7ff6d8ef2aa0]
mov edx, 0xffffffff
mov qword [rsp + 0x68], rdi
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
sub dword [rbx + 8], 1
jne 0x7ff6d8e8f187
lea rdx, [rsp + 0x68]
call fcn.7ff6d8e8f2d0
mov rdx, rbx
lea rcx, str.destroy_session__x_n
call fcn.7ff6d8e8d530
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x7ff6d8e8f132
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov rax, qword [0x7ff6d8ef1850]
mov rcx, qword [rbx + 0x20]
test rax, rax
je 0x7ff6d8e8f157
mov r8d, 0x18b
lea rdx, str.D:_buildagent_cd_8811p4218434198_thirdparty_bhplugin1Beihai_toolsjhi_libBeihaiPlugin.cpp
call qword [0x7ff6d8ec9610]
jmp 0x7ff6d8e8f15c
call fcn.7ff6d8ea4cd0
mov rax, qword [0x7ff6d8ef1850]
mov rcx, rbx
test rax, rax
je 0x7ff6d8e8f180
mov r8d, 0x18c
lea rdx, str.D:_buildagent_cd_8811p4218434198_thirdparty_bhplugin1Beihai_toolsjhi_libBeihaiPlugin.cpp
call qword [0x7ff6d8ec9610]
jmp 0x7ff6d8e8f18e
call fcn.7ff6d8ea4cd0
jmp 0x7ff6d8e8f18e
mov dword [rbx + 0x34], 1
mov rcx, qword [0x7ff6d8ef2aa0]
call qword [sym.imp.KERNEL32.DLL_ReleaseMutex]
mov eax, esi
mov rsi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.7ff6d8e98b50
mov rbx, qword [rsp + 0x110]
add rsp, 0xf0
pop rdi
ret