Function at 0x7ff64956ef40
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0xf0
mov rax, qword [0x7ff6495ce010]
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 [0x7ff6495d1a88]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
test rax, rax
jne 0x7ff64956ef9b
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov qword [0x7ff6495d1a88], rax
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov rcx, qword [0x7ff6495d1a88]
xor ebx, ebx
cmp dword [0x7ff6495d1a6c], 1
sete bl
call qword [sym.imp.KERNEL32.DLL_ReleaseMutex]
test ebx, ebx
jne 0x7ff64956efd0
mov eax, 0xf0001000
jmp 0x7ff64956f1a5
test rdi, rdi
jne 0x7ff64956efdf
mov eax, 0xf0001005
jmp 0x7ff64956f1a5
mov rcx, rdi
call fcn.7ff64956d550
mov rbx, rax
test rax, rax
jne 0x7ff64956eff9
mov eax, 0xf000100c
jmp 0x7ff64956f1a5
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.7ff64956d530
mov rcx, qword [0x7ff6495cec48]
mov edx, 0xffffffff
mov qword [rsp + 0x68], rcx
inc rcx
mov qword [0x7ff6495cec48], rcx
mov rcx, qword [0x7ff6495d2aa0]
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
lea rdx, [rsp + 0x68]
call fcn.7ff64956f1d0
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.7ff64956d530
mov rcx, qword [0x7ff6495d2aa0]
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.7ff64956dba0
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.7ff64956d530
mov rax, qword [0x7ff6495d1850]
mov rcx, qword [rsp + 0x50]
test rax, rax
je 0x7ff64956f0e8
mov r8d, 0x56b
lea rdx, str.D:_buildagent_cd_8811workspace11934_thirdparty_bhplugin1Beihai_toolsjhi_libBeihaiPlugin.cpp
call qword [0x7ff6495a9610]
jmp 0x7ff64956f0ed
call fcn.7ff649584cd0
mov rcx, qword [0x7ff6495d2aa0]
mov edx, 0xffffffff
mov qword [rsp + 0x68], rdi
call qword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
sub dword [rbx + 8], 1
jne 0x7ff64956f187
lea rdx, [rsp + 0x68]
call fcn.7ff64956f2d0
mov rdx, rbx
lea rcx, str.destroy_session__x_n
call fcn.7ff64956d530
mov rcx, qword [rbx + 0x28]
test rcx, rcx
je 0x7ff64956f132
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov rax, qword [0x7ff6495d1850]
mov rcx, qword [rbx + 0x20]
test rax, rax
je 0x7ff64956f157
mov r8d, 0x18b
lea rdx, str.D:_buildagent_cd_8811workspace11934_thirdparty_bhplugin1Beihai_toolsjhi_libBeihaiPlugin.cpp
call qword [0x7ff6495a9610]
jmp 0x7ff64956f15c
call fcn.7ff649584cd0
mov rax, qword [0x7ff6495d1850]
mov rcx, rbx
test rax, rax
je 0x7ff64956f180
mov r8d, 0x18c
lea rdx, str.D:_buildagent_cd_8811workspace11934_thirdparty_bhplugin1Beihai_toolsjhi_libBeihaiPlugin.cpp
call qword [0x7ff6495a9610]
jmp 0x7ff64956f18e
call fcn.7ff649584cd0
jmp 0x7ff64956f18e
mov dword [rbx + 0x34], 1
mov rcx, qword [0x7ff6495d2aa0]
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.7ff649578b50
mov rbx, qword [rsp + 0x110]
add rsp, 0xf0
pop rdi
ret