Function at 0x14011d090
Capabilities:
Check mutex on windows
Read file via mapping

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x1407ddd00]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov rbp, qword [rcx + 0x3b0]
xor r14d, r14d
mov qword [rsp + 0x88], rdx
mov r12d, r14d
mov qword [rsp + 0x70], r14
mov r13d, r14d
mov qword [rsp + 0x78], r14
mov edi, r14d
mov qword [rsp + 0x68], r14
mov ebx, r14d
mov qword [rsp + 0x40], r14
mov r15d, r8d
mov qword [rsp + 0x50], r14
mov rdx, 0xffffffffffffffff
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x80], rcx
nop dword [rax]
inc rdx
cmp byte [rdx + rbp], bl
jne 0x14011d110
mov ecx, dword [0x1407e05e0]
add rdx, 0x20
mov r8d, 8
call fcn.14012a830
lea rcx, [0x140000000]
mov rsi, rax
test rax, rax
je 0x14011d606
lea rax, [0x140208ef8]
nop word [rax + rax]
mov r14, qword [rbx + rcx + 0x515380]
mov r9, rax
mov rdx, r14
mov qword [rsp + 0x20], rdi
mov r8, rbp
mov rcx, rsi
call fcn.1401430d0
mov r13, rax
lea rcx, str.CONNECT_REQUEST
mov rdx, rax
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d180
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov r12, rax
test rax, rax
jne 0x14011d1d3
add rbx, 8
lea rax, [0x140208ef8]
lea rcx, [0x140000000]
cmp rbx, 0x10
jb 0x14011d150
mov rcx, rsi
mov edi, 0x7f6
call fcn.14012a820
jmp 0x14011d617
lea rcx, str.CONNECT_ANSWER
mov rdx, r13
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d1e0
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov qword [rsp + 0x70], rax
mov rbx, rax
test rax, rax
jne 0x14011d220
mov rcx, rsi
mov edi, 0x7f7
call fcn.14012a820
jmp 0x14011d617
lea rcx, str.CONNECT_DATA
mov rdx, r13
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d230
xor edx, edx
mov r8, rsi
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x14011d26b
mov rcx, rsi
mov edi, 0x7f8
call fcn.14012a820
jmp 0x14011d617
xor r9d, r9d
mov qword [rsp + 0x20], 4
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14011d2a3
mov rcx, rsi
mov edi, 0x7f9
call fcn.14012a820
jmp 0x14011d617
lea rcx, str.CONNECT_NAMED_MUTEX
mov rdx, r13
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d2b0
mov r8, rsi
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x14011d2ed
mov rcx, rsi
mov edi, 0x7fe
call fcn.14012a820
jmp 0x14011d617
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14011d30f
mov rcx, rsi
mov edi, 0x7fd
call fcn.14012a820
jmp 0x14011d617
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x14011d32e
mov rcx, rsi
mov edi, 0x7fe
call fcn.14012a820
jmp 0x14011d617
mov edx, r15d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14011d350
mov rcx, rsi
mov edi, 0x7fd
call fcn.14012a820
jmp 0x14011d617
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov ebx, dword [rax]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r13d, r13d
lea rdx, [rsp + 0x90]
mov ecx, ebx
mov qword [rsp + 0x48], r13
lea r8d, [r13 + 0xa]
call fcn.140138560
lea r9, [0x140208ef8]
mov qword [rsp + 0x30], rdi
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], r9
mov r8, rbp
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, rsi
call fcn.1401430d0
mov r13, rax
lea rcx, str.DATA
mov rdx, rax
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d3c1
xor edx, edx
mov r8, rsi
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov r15, rax
test rax, rax
jne 0x14011d400
mov edi, 0x7fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
call fcn.14012a820
jmp 0x14011d617
xor r9d, r9d
mov qword [rsp + 0x20], 0x3e84
xor r8d, r8d
mov rcx, r15
lea edx, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x40], rax
mov rbp, rax
test rax, rax
jne 0x14011d43b
mov edi, 0x7fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14011d5fa
lea rcx, str.SERVER_WROTE
mov rdx, r13
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d450
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov r14, rax
test rax, rax
jne 0x14011d48b
mov edi, 0x7fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14011d5f1
lea rcx, str.SERVER_READ
mov rdx, r13
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d4a0
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov rbp, rax
test rax, rax
jne 0x14011d4db
mov edi, 0x7fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14011d5b3
lea rcx, str.CLIENT_WROTE
mov rdx, r13
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d4f0
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14011d59d
lea rcx, str.CLIENT_READ
mov rdx, r13
nop dword [rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d530
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14011d59d
lea rcx, str.CONNECTION_CLOSED
mov rdx, r13
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14011d570
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov rbx, rax
test rax, rax
jne 0x14011d6cd
mov edi, 0x7fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbp
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbp, qword [rsp + 0x40]
mov rcx, r14
mov qword [rsp + 0x40], rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14011d5de
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x40], rbp
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14011d5f1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r14d, r14d
mov rcx, rsi
call fcn.14012a820
mov qword [rsp + 0x48], r14
test edi, edi
je 0x14011d61f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rbp, qword [rsp + 0x40]
test r12, r12
je 0x14011d632
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14011d645
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14011d658
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14011d66b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x14011d767
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x14011d68f
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, 0x7fc
jne 0x14011d71f
mov r9, qword [str.Cant_open_shared_memory__client_could_not_create__s_event___lu_]
mov edx, edi
mov r8, qword [str.HY000]
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r13
call fcn.1401261e0
mov rax, 0xffffffffffffffff
jmp 0x14011d76a
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rsp + 0x60]
mov r9, rbp
mov rax, qword [rsp + 0x50]
mov r8, r14
mov rbp, qword [rsp + 0x40]
mov qword [rsp + 0x30], rbx
mov rdx, rbp
mov qword [rsp + 0x28], rcx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.14013a0d0
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov rcx, rsi
call fcn.14012a820
mov ebx, edi
jmp 0x14011d629
lea eax, [rdi - 0x7d0]
cmp eax, 0x4b
ja 0x14011d73d
mov eax, edi
lea r9, [0x140000000]
mov r9, qword [r9 + rax*8 + 0x511510]
jmp 0x14011d744
mov r9, qword [str.Unknown_MySQL_error]
mov r8, qword [str.HY000]
mov edx, edi
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x20], ebx
call fcn.1401261e0
mov rax, 0xffffffffffffffff
jmp 0x14011d76a
mov rax, rbp
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1401db8e0
mov rbx, qword [rsp + 0x108]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret