Function at 0x1400885c0
Capabilities:
Check mutex on windows

Disassembly:
push rsi
push r12
push r15
sub rsp, 0x60
mov r12, r9
mov r15, r8
call fcn.14006e740
mov rsi, rax
test rax, rax
jne 0x140088610
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140083130
mov rdx, rax
lea rcx, str.Unable_to_call_CryptProtectMemory:__s
call fcn.14006c6b0
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
xor eax, eax
add rsp, 0x60
pop r15
pop r12
pop rsi
ret
mov qword [rsp + 0x80], rbx
lea rcx, str.Localputty_connshare_mutex
mov rdx, rsi
mov qword [rsp + 0x50], r14
call fcn.140088570
mov r14, qword [rsp + 0xa8]
lea r8, [rsp + 0x28]
mov r9, r14
lea rdx, [rsp + 0x20]
mov ecx, 0x1f0001
mov rbx, rax
call fcn.140087a30
test al, al
jne 0x140088669
mov rcx, rbx
call fcn.140011ff0
mov rcx, rsi
call fcn.140011ff0
xor eax, eax
jmp 0x1400888ad
mov rax, qword [rsp + 0x20]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x90], rdi
mov r8, rbx
mov qword [rsp + 0x58], r13
xor edx, edx
xor r13d, r13d
mov qword [rsp + 0x30], 0x18
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov rdi, rax
test rax, rax
jne 0x1400886f8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140083130
mov r8, rax
lea rcx, str.CreateMutex___s___failed:__s
mov rdx, rbx
call fcn.14006c6b0
mov rcx, rbx
mov qword [r14], rax
call fcn.140011ff0
mov rcx, rsi
call fcn.140011ff0
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
jmp 0x1400888a0
mov rcx, rbx
mov qword [rsp + 0x88], rbp
call fcn.140011ff0
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rdx, rsi
lea rcx, str..pipeputty_connshare
call fcn.140088570
mov rbp, rax
mov qword [r14], r13
cmp byte [rsp + 0xc8], r13b
je 0x1400887dc
mov rdx, r15
mov rcx, rax
call fcn.140086250
mov rcx, rax
mov r15, rax
mov rdx, qword [rax]
call qword [rdx + 0x30]
test rax, rax
jne 0x1400887a5
mov rcx, qword [r14]
call fcn.140011ff0
mov rcx, qword [rsp + 0xa0]
mov qword [r14], rbp
mov qword [rcx], r15
mov rcx, rsi
call fcn.140011ff0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140088898
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rbx]
call fcn.140011ff0
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdx, rbp
lea rcx, str._s:__s
mov r8, rax
call fcn.14006c6b0
mov qword [rbx], rax
mov rcx, r15
mov rax, qword [r15]
call qword [rax + 8]
cmp byte [rsp + 0xc0], r13b
je 0x140088874
mov rdx, r12
mov rcx, rbp
call fcn.1400864d0
mov rcx, rax
mov r15, rax
mov rdx, qword [rax]
call qword [rdx + 0x30]
test rax, rax
jne 0x14008883d
mov rcx, qword [r14]
call fcn.140011ff0
mov rcx, qword [rsp + 0xa0]
mov qword [r14], rbp
mov qword [rcx], r15
mov rcx, rsi
call fcn.140011ff0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 2
jmp 0x140088898
mov rbx, qword [rsp + 0xb8]
mov rcx, qword [rbx]
call fcn.140011ff0
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x30]
mov rdx, rbp
lea rcx, str._s:__s
mov r8, rax
call fcn.14006c6b0
mov qword [rbx], rax
mov rcx, r15
mov rax, qword [r15]
call qword [rax + 8]
mov rcx, rbp
call fcn.140011ff0
mov rcx, rsi
call fcn.140011ff0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rbp, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x50]
add rsp, 0x60
pop r15
pop r12
pop rsi
ret