Function at 0x1400542b4
Capabilities:
Check mutex on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rsi, r8
call fcn.14004a9c0
xor edi, edi
mov r14, rax
test rax, rax
jne 0x140054313
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14004da2c
mov rdx, rax
lea rcx, str.Unable_to_call_CryptProtectMemory:__s
call fcn.14004989c
mov rcx, qword [rbp + 0x58]
mov qword [rcx], rax
xor eax, eax
jmp 0x140054505
mov rdx, r14
lea rcx, str.Localputty_connshare_mutex
call fcn.140054264
mov r12, qword [rbp + 0x58]
lea r8, [rbp - 0x28]
mov r9, r12
lea rdx, [rbp - 0x30]
mov ecx, 0x1f0001
mov rbx, rax
call fcn.140053710
test al, al
jne 0x140054354
mov rcx, rbx
call fcn.140008bbc
mov rcx, r14
call fcn.140008bbc
jmp 0x14005430c
mov r15d, 0x18
lea rcx, [rbp - 0x20]
mov r8d, r15d
xor edx, edx
call fcn.140059b30
mov rax, qword [rbp - 0x30]
lea rcx, [rbp - 0x20]
mov r8, rbx
mov qword [rbp - 0x18], rax
xor edx, edx
mov dword [rbp - 0x20], r15d
mov dword [rbp - 0x10], edi
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov r13, rax
test rax, rax
jne 0x1400543da
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14004da2c
mov r8, rax
lea rcx, str.CreateMutex___s___failed:__s
mov rdx, rbx
call fcn.14004989c
mov rcx, rbx
mov qword [r12], rax
call fcn.140008bbc
mov rcx, r14
call fcn.140008bbc
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x14005430c
mov rcx, rbx
call fcn.140008bbc
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
or edx, 0xffffffff
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rdx, r14
lea rcx, str..pipeputty_connshare
call fcn.140054264
mov r15, rax
mov qword [r12], rdi
cmp byte [rbp + 0x78], dil
je 0x140054472
mov rdx, rsi
mov rcx, rax
call fcn.140050894
mov rcx, rax
mov rsi, rax
mov rdx, qword [rax]
call qword [rdx + 0x30]
test rax, rax
jne 0x14005443f
lea edi, [rax + 1]
jmp 0x140054498
mov rbx, qword [rbp + 0x60]
mov rcx, qword [rbx]
call fcn.140008bbc
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, r15
lea rcx, str._s:__s
mov r8, rax
call fcn.14004989c
mov qword [rbx], rax
mov rcx, rsi
mov rax, qword [rsi]
call qword [rax + htons]
cmp byte [rbp + 0x70], dil
je 0x1400544e1
mov rdx, qword [rbp + 0x48]
mov rcx, r15
call fcn.140050af8
mov rsi, rax
mov rcx, rsi
mov rax, qword [rax]
call qword [rax + 0x30]
test rax, rax
jne 0x1400544ae
lea edi, [rax + 2]
mov rcx, qword [r12]
call fcn.140008bbc
mov rax, qword [rbp + 0x50]
mov qword [r12], r15
mov qword [rax], rsi
jmp 0x1400544e9
mov rbx, qword [rbp + 0x68]
mov rcx, qword [rbx]
call fcn.140008bbc
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x30]
mov rdx, r15
lea rcx, str._s:__s
mov r8, rax
call fcn.14004989c
mov qword [rbx], rax
mov rcx, rsi
mov rdx, qword [rsi]
call qword [rdx + htons]
mov rcx, r15
call fcn.140008bbc
mov rcx, r14
call fcn.140008bbc
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret