Function at 0x140005440
Capabilities:
Check mutex on windows

Disassembly:
mov r11, rsp
push rbx
push rsi
sub rsp, 0x178
mov rax, qword [0x140027010]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov eax, dword [0x140027064]
lea rcx, [0x14001c838]
mov qword [r11 + 8], rbp
mov qword [r11 + 0x10], rdi
mov qword [r11 + 0x18], r14
mov ebx, dword [rcx + rax*4]
mov qword [r11 - 0x18], r15
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov rax, qword [0x140027768]
lea r15, [0x14001e8e8]
xor r14d, r14d
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r14
lea rsi, [r14 - 1]
test rax, rax
jne 0x1400054cc
mov edx, 0x68
lea edi, [rsi + 0x34]
mov qword [rsp + 0x48], rdx
lea rbp, [rsp + 0x58]
jmp 0x14000552a
mov rdi, rsi
nop
inc rdi
cmp word [rax + rdi*2], r14w
jne 0x1400054d0
add rdi, 0xd
movabs rax, 0x7ffffffffffffff8
cmp rdi, rax
ja 0x140005701
lea rdx, [rdi + rdi]
cmp rdx, 0xfffffffffffffff0
jae 0x140005527
add rdx, 7
and rdx, 0xfffffffffffffff8
cmp rdx, 0x100
ja 0x140005518
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x48], rdx
jmp 0x14000552a
lea rcx, [rsp + 0x40]
call fcn.140005f40
mov rbp, rax
jmp 0x14000552a
mov rbp, r14
test rbp, rbp
je 0x140005701
mov rbx, r14
cmp byte [0x140027051], bl
jne 0x1400055c9
lea r8, str.mspdb_mutex_
mov rdx, rdi
mov rcx, rbp
call fcn.140003b60
test eax, eax
jns 0x14000556b
mov edx, eax
lea rcx, str.MSPDBSRV:_fatal_error:_Unable_to_start_server:_unable_to_get_authentication_ID__0x_08x__n
call fcn.140003310
jmp 0x1400056ec
mov r8, rbp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rbx, rax
test rax, rax
jne 0x14000559b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.MSPDBSRV:_fatal_error:_Unable_to_start_server:_CreateMutex_LastError__0x_x__n
mov esi, eax
call fcn.140003310
jmp 0x1400056ec
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x1400055c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.MSPDBSRV:_fatal_error:_Unable_to_start_server:_WaitForSingleObject_LastError__0x_x__n
mov esi, eax
call fcn.140003310
jmp 0x1400056ec
call fcn.140005220
mov edi, eax
test eax, eax
jne 0x1400055db
call fcn.140004ff0
mov edi, eax
cmp byte [0x140027051], r14b
jne 0x1400055ed
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
test edi, edi
je 0x140005600
mov esi, edi
jmp 0x1400056ec
mov rax, qword [0x140027098]
lea rdx, [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x30], rax
mov rax, qword [0x140027090]
mov r9d, 0xffffffff
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x20], r14d
lea ecx, [r8 + 2]
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
lea rcx, [0x140027068]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x140027058], r14d
jne 0x140005667
xor ecx, ecx
call qword [sym.imp.RPCRT4.dll_RpcMgmtStopServerListening]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.RPCRT4.dll_RpcServerUnregisterIf]
mov byte [0x140027053], 1
lea rcx, [0x140027068]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x140027053], r14b
je 0x140005600
cmp byte [0x140027054], r14b
je 0x1400056c9
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.RPCRT4.dll_RpcMgmtInqStats]
test eax, eax
jne 0x1400056bd
mov rax, qword [rsp + 0x30]
cmp dword [rax], 4
jne 0x1400056bd
mov edx, dword [rax + 4]
lea rcx, str.Total_number_of_calls:__d_n
call fcn.1400033a0
lea rcx, [rsp + 0x30]
call qword [sym.imp.RPCRT4.dll_RpcMgmtStatsVectorFree]
jmp 0x1400056c9
lea rcx, str.Unable_to_get_server_statistics_n
call fcn.1400033a0
call qword [sym.imp.mspdbcore.dll_public:_static_int___cdecl_PDB::ShutDownTimeoutManager_void_]
mov rcx, qword [0x140027098]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140027090]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, r14d
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140005710
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140005710
lea rcx, str.MSPDBSRV:_fatal_error:_out_of_memory_n
call fcn.140003310
mov esi, r14d
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x190]
mov qword [rsp + 0x40], r15
mov r15, qword [rsp + 0x170]
test rbx, rbx
je 0x140005750
nop
mov rcx, rbx
mov rbx, qword [rbx]
call fcn.1400142d4
test rbx, rbx
jne 0x140005740
mov eax, esi
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1400142a0
add rsp, 0x178
pop rsi
pop rbx
ret