Function at 0x14000d804
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rdi, rcx
call fcn.1400014b8
xor r12d, r12d
mov rcx, rax
test rax, rax
je 0x14000dc2d
mov rax, qword [rax]
call qword [rax + 0x18]
mov bl, byte [rdi + 8]
lea rdx, str.08DA086F_9FC4_4B2E_954C_6D7D5ACD5167
add rax, 0x18
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x30]
lea rax, [0x14004bf58]
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x48], r12
mov dword [rsp + 0x50], r12d
call fcn.140005938
lea rcx, str._x64
call fcn.140030cec
mov r8d, eax
lea rdx, str._x64
lea rcx, [rsp + 0x30]
call fcn.140005ac0
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x38]
mov dl, bl
call fcn.140004ae8
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
or r13d, 0xffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14000d8d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x38]
lea rax, [0x14004d880]
lea rcx, [rbp - 0x68]
mov qword [rbp - 0x70], rax
call fcn.140005938
mov r15, qword [rbp - 0x68]
xor edx, edx
mov r8, r15
mov qword [rbp - 0x60], r12
xor ecx, ecx
mov rsi, r12
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
test rax, rax
je 0x14000da97
mov rsi, rax
mov qword [rbp - 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14000da97
mov cl, byte [rdi + 8]
lea rdx, [rdi + 0x10]
call fcn.140017bc4
mov ebx, eax
test eax, eax
jns 0x14000d976
mov al, byte [0x140057d71]
lea rdx, [0x140057c30]
neg al
sbb rcx, rcx
and rcx, rdx
je 0x14000dae9
mov r8d, r13d
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x50], 7
mov dword [rbp - 0x4c], r13d
call fcn.140008450
mov dword [rbp - 0x48], eax
lea rdx, str._CrashHandler__Failed_to_init_crash_dir__0x_08x_
lea rcx, [rbp - 0x58]
jmp 0x14000d9c4
mov rcx, rdi
call fcn.14000df10
mov ebx, eax
test eax, eax
jns 0x14000d9d1
mov al, byte [0x140057d71]
lea rdx, [0x140057c30]
neg al
sbb rcx, rcx
and rcx, rdx
je 0x14000dae9
mov r8d, r13d
mov qword [rbp - 0x40], rcx
mov dword [rbp - 0x38], 7
mov dword [rbp - 0x34], r13d
call fcn.140008450
mov dword [rbp - 0x30], eax
lea rdx, str._CrashHandler__Failed_to_start_Breakpad__0x_08x_
lea rcx, [rbp - 0x40]
mov r8d, ebx
call fcn.140004194
jmp 0x14000dae9
xorps xmm0, xmm0
mov dword [rsp + 0x20], r12d
mov r8d, 0x400
lea rcx, [rbp - 0x10]
mov r9d, r8d
xor edx, edx
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
call qword [sym.imp.USER32.dll_PeekMessageW]
mov ecx, 0x40
call fcn.140038700
mov rcx, rax
mov rbx, rax
mov qword [rax + 0x28], r12
mov qword [rax + 0x30], r12
mov qword [rax + 0x38], r12
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov r14, qword [rdi + 0x28]
mov qword [rdi + 0x28], rbx
test r14, r14
je 0x14000da3e
mov rcx, r14
call fcn.1400136b8
mov edx, 0x40
mov rcx, r14
call fcn.140020968
mov ecx, 0x28
call fcn.140038700
lea rcx, [0x14004e1e0]
mov qword [rax], rcx
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r12
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x30], rax
test rcx, rcx
je 0x14000da75
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [rdi + 0x30]
mov r9b, byte [rdi + 8]
mov r8, rdi
mov rdx, qword [rdi + 0x28]
mov rcx, rax
call fcn.1400134f0
mov ebx, eax
test eax, eax
js 0x14000dae9
call fcn.14000ef2c
mov ebx, eax
jmp 0x14000dae9
mov al, byte [0x140057d71]
lea rdx, [0x140057c30]
neg al
sbb rcx, rcx
and rcx, rdx
je 0x14000dae6
mov r8d, 1
mov qword [rbp - 0x28], rcx
mov dword [rbp - 0x1c], r8d
mov dword [rbp - 0x20], 7
call fcn.140008450
movzx r9d, byte [rdi + 8]
lea rdx, str._CrashHandler__Instance_is_already_running___d_bit___d_
mov r8d, 0x40
mov dword [rbp - 0x18], eax
lea rcx, [rbp - 0x28]
call fcn.140004194
mov ebx, r12d
test rsi, rsi
je 0x14000daf7
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [r15 - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14000db13
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rsp + 0x60]
lea rax, [0x14004bf58]
mov qword [rsp + 0x58], rax
test rcx, rcx
je 0x14000dbef
lea r8, [rsp + 0x68]
mov word [rbp + 0x68], r12w
lea rdx, [rbp + 0x68]
call qword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorControl]
test eax, eax
je 0x14000dbe0
mov eax, 0x8000
test word [rbp + 0x68], ax
jne 0x14000dbe0
mov rcx, qword [rsp + 0x60]
lea r8, [rbp + 0x70]
lea rdx, [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorOwner]
mov rcx, qword [rsp + 0x70]
call fcn.140026490
mov rcx, qword [rsp + 0x60]
lea r8, [rbp + 0x70]
lea rdx, [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorGroup]
mov rcx, qword [rsp + 0x78]
call fcn.140026490
mov rcx, qword [rsp + 0x60]
lea r9, [rbp + 0x70]
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x78]
call qword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorDacl]
cmp dword [rbp + 0x78], r12d
je 0x14000dbba
mov rcx, qword [rbp - 0x80]
call fcn.140026490
mov rcx, qword [rsp + 0x60]
lea r9, [rbp + 0x70]
lea r8, [rbp - 0x78]
lea rdx, [rbp + 0x78]
call qword [sym.imp.ADVAPI32.dll_GetSecurityDescriptorSacl]
cmp dword [rbp + 0x78], r12d
je 0x14000dbe0
mov rcx, qword [rbp - 0x78]
call fcn.140026490
mov rcx, qword [rsp + 0x60]
call fcn.140026490
mov qword [rsp + 0x60], r12
mov rdx, qword [rsp + 0x38]
mov eax, r13d
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], eax
add eax, r13d
test eax, eax
jg 0x14000dc10
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, ebx
mov rbx, qword [rsp + 0x160]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.140001834
int3