Function at 0x140052980
Capabilities:
Check mutex on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rdi, r9
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov r15, qword [rsp + 0xe0]
mov rax, qword [0x14037a038]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea rdx, [r15 + 8]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r12, [rsp + 0x50]
mov qword [r12 + 0x10], rax
movaps xmm0, xmmword [0x140307280]
movaps xmmword [r12], xmm0
movzx eax, byte [r15 + 0x1f]
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs rdx, qword [r15 + 8]
cmovs r8, qword [r15 + 0x10]
add r8, r8
lea rbp, [rsp + 0x38]
mov rcx, rbp
call fcn.140128640
mov rcx, r12
mov rdx, rax
call fcn.140067d90
lea rdx, str.GlobalChromeSetupMutex_
mov rcx, rbp
mov r8, r12
call fcn.14002f240
cmp byte [rbp + 0x17], 0
jns 0x140052a27
mov rbp, qword [rsp + 0x38]
xor r13d, r13d
xor ecx, ecx
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
test rax, rax
je 0x140052a61
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
cmp r12, 0xffffffffffffffff
je 0x140052b7a
call fcn.140147ce0
mov r13, r12
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x4f], 0
jns 0x140052a72
mov rcx, qword [rsp + 0x38]
call fcn.1401973c4
lea rax, [r13 + 1]
cmp rax, 1
ja 0x140052acc
mov qword [rsi], 0
lea rax, [r13 + 1]
cmp rax, 2
jb 0x140052a9a
call fcn.140147ce0
mov rcx, r13
call fcn.1401331f0
cmp byte [rsp + 0x67], 0
jns 0x140052aab
mov rcx, qword [rsp + 0x50]
call fcn.1401973c4
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140198b70
mov rax, rsi
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], rbx
lea rdx, str.GlobalChromeSetupExitEvent_
lea r12, [rsp + 0x38]
lea r8, [rsp + 0x50]
mov rcx, r12
call fcn.14002f240
cmp byte [r12 + 0x17], 0
jns 0x140052af7
mov r12, qword [rsp + 0x38]
xor ebx, ebx
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9, r12
call qword [sym.imp.KERNEL32.dll_CreateEventW]
test rax, rax
je 0x140052b38
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
cmp rbp, 0xffffffffffffffff
je 0x140052d24
call fcn.140147ce0
mov rbx, rbp
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x4f], 0
jns 0x140052b49
mov rcx, qword [rsp + 0x38]
call fcn.1401973c4
lea rax, [rbx + 1]
cmp rax, 1
ja 0x140052b82
mov qword [rsi], 0
lea rax, [rbx + 1]
cmp rax, 2
jb 0x140052a83
call fcn.140147ce0
mov rcx, rbx
call fcn.1401331f0
jmp 0x140052a83
xor r13d, r13d
jmp 0x140052a59
mov ecx, 0x20
call fcn.140197388
mov r12, rax
call fcn.140147ce0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov qword [rsp + 0x30], rbx
call fcn.140147ce0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov qword [rsp + 0x28], 0
call fcn.140147ce0
test r13, r13
je 0x140052bdb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov qword [rsp + 0x28], r13
call fcn.140147ce0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x30]
mov rcx, r12
call fcn.140052d80
lea rdx, str.GlobalChromeSetupExitEventMutex_
lea rbp, [rsp + 0x38]
lea r8, [rsp + 0x50]
mov rcx, rbp
call fcn.14002f240
cmp byte [rbp + 0x17], 0
jns 0x140052c11
mov rbp, qword [rsp + 0x38]
xor r13d, r13d
xor ecx, ecx
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
test rax, rax
je 0x140052c4b
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
cmp rbx, 0xffffffffffffffff
je 0x140052d71
call fcn.140147ce0
mov r13, rbx
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [rsp + 0x4f], 0
jns 0x140052c5c
mov rcx, qword [rsp + 0x38]
call fcn.1401973c4
lea rax, [r13 + 1]
cmp rax, 1
ja 0x140052ccb
mov qword [rsi], 0
jbe 0x140052c7c
call fcn.140147ce0
mov rcx, r13
call fcn.1401331f0
test r12, r12
je 0x140052cc1
mov rcx, r12
add rcx, 0x10
call fcn.140150f20
mov rcx, qword [r12 + 8]
cmp rcx, 0xffffffffffffffff
je 0x140052c9e
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rax, qword [r12]
inc rax
cmp rax, 2
jb 0x140052cb9
call fcn.140147ce0
mov rcx, qword [r12]
call fcn.1401331f0
mov rcx, r12
call fcn.1401973c4
xor r13d, r13d
xor ebx, ebx
jmp 0x140052b5a
mov rcx, r13
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x140052ce9
mov qword [rsi], 0
jmp 0x140052c6f
lea rbp, [r12 + 0x10]
mov rcx, rbp
call fcn.140150930
mov rbx, qword [r12]
mov rcx, rbx
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x140052d2b
mov qword [rsi], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140052c6f
xor ebx, ebx
jmp 0x140052b2f
mov qword [r12 + 8], rbx
mov rcx, rbp
call fcn.140150f50
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.140147ce0
mov rcx, r13
call fcn.1401331f0
mov rcx, rdi
call fcn.140219ff0
mov rcx, r15
mov rdx, r14
mov r8, qword [rsp + 0x20]
mov r9, rdi
call fcn.140053ab0
mov qword [rsi], r12
jmp 0x140052cc1
xor r13d, r13d
jmp 0x140052c43