Function at 0x180058eb0
Capabilities:
Check mutex on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov qword [rsp + 0xe0], rbx
mov rax, qword [0x18020b020]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r15, r9
mov rsi, r8
mov rdi, rdx
mov r12, qword [r9]
mov r13d, dword [r9 + 8]
xor r14d, r14d
lea ebx, [r14 + 2]
test r12, r12
je 0x180059062
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, eax
cmp eax, 0x102
jne 0x180058f23
lea eax, [rbx + 1]
jmp 0x1800594ce
mov rcx, qword [r15]
test rcx, rcx
je 0x180058f31
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov qword [r15], rax
mov dword [r15 + 8], eax
cmp qword [0x180211d40], rax
je 0x18005905f
lea rcx, [0x180211d40]
call fcn.1800b40a0
mov rax, qword [0x180211d40]
cmp byte [rax + 0x78], 0
je 0x18005905f
cmp dword [rax + 0x80], ebx
jb 0x18005905f
movzx eax, byte [rax + 0x84]
mov byte [rbp - 0x39], al
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf], xmm0
movdqa xmm1, xmmword [0x1801b12f0]
movdqu xmmword [rbp + 0xf], xmm1
xor eax, eax
mov word [rbp - 1], ax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8, rdi
cmp qword [rdi + 0x18], 8
jb 0x180058fa8
mov r8, qword [rdi]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov r9d, r13d
lea rdx, str._s___d__maybe_is_died__ret__d__err__d
lea rcx, [rbp - 1]
call fcn.1800b5210
mov dword [rsp + 0x28], 0xd1
lea rax, str.RC::RCProtectProcKeeper::UpdateProcessState
mov qword [rsp + 0x20], rax
lea r9, str.d:jenkinsworkspacepc_2345mpcsafe_build_rhinoprotect_rtpsystem_srclibrtglobalutils_sdkclientcon_rcprotectprockeeper.cpp
lea r8, [rbp - 1]
mov edx, ebx
lea rcx, [0x180211d40]
call fcn.1800b4d30
cmp byte [rbp - 0x39], 0
je 0x180059008
lea rdx, [rbp - 1]
lea rcx, [0x180211d40]
call fcn.1800b50d0
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x180059048
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180059043
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800594fb
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp + 0xf], xmm0
xor r14d, r14d
mov word [rbp - 1], r14w
jmp 0x180059062
xor r14d, r14d
cmp qword [rsi + 0x18], 8
jb 0x18005906c
mov rsi, qword [rsi]
mov r8, rsi
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
je 0x1800593b2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rax
mov qword [rbp - 1], r14
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
lea rdx, [rbp - 1]
mov rcx, rdi
call fcn.18007e500
mov rsi, qword [rbp - 1]
cmp rsi, qword [rbp + 7]
jne 0x1800591ee
cmp qword [0x180211d40], 0
je 0x1800591db
lea rcx, [0x180211d40]
call fcn.1800b40a0
mov rax, qword [0x180211d40]
cmp byte [rax + 0x78], 0
je 0x1800591db
cmp dword [rax + 0x80], 2
jb 0x1800591db
movzx r14d, byte [rax + 0x84]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x1801b12f0]
movdqu xmmword [rbp - 0x11], xmm1
xor eax, eax
mov word [rbp - 0x21], ax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rdi + 0x18], 8
jb 0x18005912d
mov rdi, qword [rdi]
mov r9d, eax
mov r8, rdi
lea rdx, str._s__mutex_can_open__but_get_pid_failed___d
lea rcx, [rbp - 0x21]
call fcn.1800b5210
mov dword [rsp + 0x28], 0xf4
lea rax, str.RC::RCProtectProcKeeper::UpdateProcessState
mov qword [rsp + 0x20], rax
lea r9, str.d:jenkinsworkspacepc_2345mpcsafe_build_rhinoprotect_rtpsystem_srclibrtglobalutils_sdkclientcon_rcprotectprockeeper.cpp
lea r8, [rbp - 0x21]
mov edx, ebx
lea rcx, [0x180211d40]
call fcn.1800b4d30
test r14b, r14b
je 0x180059186
lea rdx, [rbp - 0x21]
lea rcx, [0x180211d40]
call fcn.1800b50d0
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x1800591c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800591c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059501
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp - 0x11], xmm0
xor r14d, r14d
mov word [rbp - 0x21], r14w
mov ebx, 4
test r12, r12
cmovne ebx, r14d
xor edi, edi
jmp 0x180059362
mov r14d, dword [rsi]
mov r8d, r14d
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r12, rax
mov eax, ebx
mov ecx, 5
test r12, r12
cmovne eax, ecx
mov dword [rbp - 0x35], eax
mov edx, eax
lea rcx, [0x180211d40]
call fcn.1800b4ce0
mov dword [rbp - 0x31], eax
test eax, eax
je 0x180059316
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x1801b12f0]
movdqu xmmword [rbp - 0x11], xmm1
xor eax, eax
mov word [rbp - 0x21], ax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rdi + 0x18], 8
jb 0x180059258
mov rdi, qword [rdi]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], r14d
mov r9d, r13d
mov r8, rdi
lea rdx, str._s__old_pid_is__d__open_proc__d__handle__d__lasteror__d
lea rcx, [rbp - 0x21]
call fcn.1800b5210
mov dword [rsp + 0x28], 0x102
lea rax, str.RC::RCProtectProcKeeper::UpdateProcessState
mov qword [rsp + 0x20], rax
lea r9, str.d:jenkinsworkspacepc_2345mpcsafe_build_rhinoprotect_rtpsystem_srclibrtglobalutils_sdkclientcon_rcprotectprockeeper.cpp
lea r8, [rbp - 0x21]
mov edx, dword [rbp - 0x35]
lea rcx, [0x180211d40]
call fcn.1800b4d30
cmp dword [rbp - 0x31], 1
jbe 0x1800592c1
lea rdx, [rbp - 0x21]
lea rcx, [0x180211d40]
call fcn.1800b50d0
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x180059301
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800592fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180059507
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp - 0x11], xmm0
xor edi, edi
mov word [rbp - 0x21], di
jmp 0x180059318
xor edi, edi
test r12, r12
cmove r14d, edi
mov rcx, qword [r15]
test rcx, rcx
je 0x18005932d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r15], r12
mov dword [r15 + 8], r14d
cmp r14d, r13d
jne 0x180059345
test r13d, r13d
je 0x18005935d
mov ebx, 3
jmp 0x180059362
test r13d, r13d
je 0x180059353
test r14d, r14d
jne 0x180059362
mov ebx, edi
jmp 0x180059362
test r14d, r14d
mov ebx, 1
jne 0x180059362
mov ebx, 4
test rsi, rsi
je 0x1800593ab
mov rdx, qword [rbp + 0xf]
sub rdx, rsi
and rdx, 0xfffffffffffffffc
mov rax, rsi
cmp rdx, 0x1000
jb 0x180059397
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005950d
mov rcx, rsi
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], rdi
mov eax, ebx
jmp 0x1800594ce
test r12, r12
je 0x1800594c9
cmp qword [0x180211d40], 0
je 0x1800594c5
lea rcx, [0x180211d40]
call fcn.1800b40a0
mov rax, qword [0x180211d40]
cmp byte [rax + 0x78], 0
je 0x1800594c5
cmp dword [rax + 0x80], 2
jb 0x1800594c5
movzx esi, byte [rax + 0x84]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x1801b12f0]
movdqu xmmword [rbp - 0x11], xmm1
mov word [rbp - 0x21], r14w
cmp qword [rdi + 0x18], 8
jb 0x18005941e
mov rdi, qword [rdi]
mov r9d, r13d
mov r8, rdi
lea rdx, str._s___d__is_stop_running__cannot_open_the_mutex
lea rcx, [rbp - 0x21]
call fcn.1800b5210
mov dword [rsp + 0x28], 0xe2
lea rax, str.RC::RCProtectProcKeeper::UpdateProcessState
mov qword [rsp + 0x20], rax
lea r9, str.d:jenkinsworkspacepc_2345mpcsafe_build_rhinoprotect_rtpsystem_srclibrtglobalutils_sdkclientcon_rcprotectprockeeper.cpp
lea r8, [rbp - 0x21]
mov edx, ebx
lea rcx, [0x180211d40]
call fcn.1800b4d30
test sil, sil
je 0x180059477
lea rdx, [rbp - 0x21]
lea rcx, [0x180211d40]
call fcn.1800b50d0
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x1800594b3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800594ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800594f5
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp - 0x11], xmm0
mov word [rbp - 0x21], r14w
xor eax, eax
jmp 0x1800594ce
mov eax, 4
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.18011c650
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180144c64
int3
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
int3