Function at 0x18005ad20
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 [0x18020d020]
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 0x18005aed2
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, eax
cmp eax, 0x102
jne 0x18005ad93
lea eax, [rbx + 1]
jmp 0x18005b33e
mov rcx, qword [r15]
test rcx, rcx
je 0x18005ada1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov qword [r15], rax
mov dword [r15 + 8], eax
cmp qword [0x180213e70], rax
je 0x18005aecf
lea rcx, [0x180213e70]
call fcn.1800b5f10
mov rax, qword [0x180213e70]
cmp byte [rax + 0x78], 0
je 0x18005aecf
cmp dword [rax + 0x80], ebx
jb 0x18005aecf
movzx eax, byte [rax + 0x84]
mov byte [rbp - 0x39], al
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xf], xmm0
movdqa xmm1, xmmword [0x1801b2820]
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 0x18005ae18
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.1800b7080
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, [0x180213e70]
call fcn.1800b6ba0
cmp byte [rbp - 0x39], 0
je 0x18005ae78
lea rdx, [rbp - 1]
lea rcx, [0x180213e70]
call fcn.1800b6f40
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x18005aeb8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005aeb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005b36b
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp + 0xf], xmm0
xor r14d, r14d
mov word [rbp - 1], r14w
jmp 0x18005aed2
xor r14d, r14d
cmp qword [rsi + 0x18], 8
jb 0x18005aedc
mov rsi, qword [rsi]
mov r8, rsi
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
je 0x18005b222
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.180080370
mov rsi, qword [rbp - 1]
cmp rsi, qword [rbp + 7]
jne 0x18005b05e
cmp qword [0x180213e70], 0
je 0x18005b04b
lea rcx, [0x180213e70]
call fcn.1800b5f10
mov rax, qword [0x180213e70]
cmp byte [rax + 0x78], 0
je 0x18005b04b
cmp dword [rax + 0x80], 2
jb 0x18005b04b
movzx r14d, byte [rax + 0x84]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x1801b2820]
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 0x18005af9d
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.1800b7080
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, [0x180213e70]
call fcn.1800b6ba0
test r14b, r14b
je 0x18005aff6
lea rdx, [rbp - 0x21]
lea rcx, [0x180213e70]
call fcn.1800b6f40
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x18005b036
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005b031
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005b371
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
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 0x18005b1d2
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, [0x180213e70]
call fcn.1800b6b50
mov dword [rbp - 0x31], eax
test eax, eax
je 0x18005b186
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x1801b2820]
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 0x18005b0c8
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.1800b7080
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, [0x180213e70]
call fcn.1800b6ba0
cmp dword [rbp - 0x31], 1
jbe 0x18005b131
lea rdx, [rbp - 0x21]
lea rcx, [0x180213e70]
call fcn.1800b6f40
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x18005b171
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005b16c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005b377
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp - 0x11], xmm0
xor edi, edi
mov word [rbp - 0x21], di
jmp 0x18005b188
xor edi, edi
test r12, r12
cmove r14d, edi
mov rcx, qword [r15]
test rcx, rcx
je 0x18005b19d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r15], r12
mov dword [r15 + 8], r14d
cmp r14d, r13d
jne 0x18005b1b5
test r13d, r13d
je 0x18005b1cd
mov ebx, 3
jmp 0x18005b1d2
test r13d, r13d
je 0x18005b1c3
test r14d, r14d
jne 0x18005b1d2
mov ebx, edi
jmp 0x18005b1d2
test r14d, r14d
mov ebx, 1
jne 0x18005b1d2
mov ebx, 4
test rsi, rsi
je 0x18005b21b
mov rdx, qword [rbp + 0xf]
sub rdx, rsi
and rdx, 0xfffffffffffffffc
mov rax, rsi
cmp rdx, 0x1000
jb 0x18005b207
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005b37d
mov rcx, rsi
call fcn.18011e904
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], rdi
mov eax, ebx
jmp 0x18005b33e
test r12, r12
je 0x18005b339
cmp qword [0x180213e70], 0
je 0x18005b335
lea rcx, [0x180213e70]
call fcn.1800b5f10
mov rax, qword [0x180213e70]
cmp byte [rax + 0x78], 0
je 0x18005b335
cmp dword [rax + 0x80], 2
jb 0x18005b335
movzx esi, byte [rax + 0x84]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
movdqa xmm1, xmmword [0x1801b2820]
movdqu xmmword [rbp - 0x11], xmm1
mov word [rbp - 0x21], r14w
cmp qword [rdi + 0x18], 8
jb 0x18005b28e
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.1800b7080
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, [0x180213e70]
call fcn.1800b6ba0
test sil, sil
je 0x18005b2e7
lea rdx, [rbp - 0x21]
lea rcx, [0x180213e70]
call fcn.1800b6f40
nop
mov rdx, qword [rbp - 9]
cmp rdx, 8
jb 0x18005b323
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005b31e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005b365
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp - 0x11], xmm0
mov word [rbp - 0x21], r14w
xor eax, eax
jmp 0x18005b33e
mov eax, 4
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.18011e4c0
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.180146ad4
int3
call fcn.180146ad4
nop
call fcn.180146ad4
nop
call fcn.180146ad4
nop
call fcn.180146ad4
int3