Function at 0x14001fbb0
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 [0x1406bd868]
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 0x14001fc30
mov ecx, dword [0x1406c32a0]
add rdx, 0x20
mov r8d, 8
call fcn.140010ae0
lea rcx, [0x140000000]
mov rsi, rax
test rax, rax
je 0x140020126
lea rax, [0x1400ff658]
nop word [rax + rax]
mov r14, qword [rbx + rcx + 0x3f6210]
mov r9, rax
mov rdx, r14
mov qword [rsp + 0x20], rdi
mov r8, rbp
mov rcx, rsi
call fcn.1400440b0
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 0x14001fca0
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov r12, rax
test rax, rax
jne 0x14001fcf3
add rbx, 8
lea rax, [0x1400ff658]
lea rcx, [0x140000000]
cmp rbx, 0x10
jb 0x14001fc70
mov rcx, rsi
mov edi, 0x7f6
call fcn.140010ad0
jmp 0x140020137
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 0x14001fd00
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 0x14001fd40
mov rcx, rsi
mov edi, 0x7f7
call fcn.140010ad0
jmp 0x140020137
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 0x14001fd50
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 0x14001fd8b
mov rcx, rsi
mov edi, 0x7f8
call fcn.140010ad0
jmp 0x140020137
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 0x14001fdc3
mov rcx, rsi
mov edi, 0x7f9
call fcn.140010ad0
jmp 0x140020137
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 0x14001fdd0
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 0x14001fe0d
mov rcx, rsi
mov edi, 0x7fe
call fcn.140010ad0
jmp 0x140020137
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14001fe2f
mov rcx, rsi
mov edi, 0x7fd
call fcn.140010ad0
jmp 0x140020137
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x14001fe4e
mov rcx, rsi
mov edi, 0x7fe
call fcn.140010ad0
jmp 0x140020137
mov edx, r15d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14001fe70
mov rcx, rsi
mov edi, 0x7fd
call fcn.140010ad0
jmp 0x140020137
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.14002b990
lea r9, [0x1400ff658]
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.1400440b0
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 0x14001fee1
xor edx, edx
mov r8, rsi
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov r15, rax
test rax, rax
jne 0x14001ff20
mov edi, 0x7fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
call fcn.140010ad0
jmp 0x140020137
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 0x14001ff5b
mov edi, 0x7fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14002011a
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 0x14001ff70
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov r14, rax
test rax, rax
jne 0x14001ffab
mov edi, 0x7fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x140020111
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 0x14001ffc0
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov rbp, rax
test rax, rax
jne 0x14001fffb
mov edi, 0x7fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x1400200d3
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 0x140020010
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 0x1400200bd
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 0x140020050
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 0x1400200bd
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 0x140020090
mov r8, rsi
xor edx, edx
mov ecx, 0x100002
call qword [sym.imp.KERNEL32.dll_OpenEventA]
mov rbx, rax
test rax, rax
jne 0x1400201ed
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 0x1400200fe
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x40], rbp
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140020111
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.140010ad0
mov qword [rsp + 0x48], r14
test edi, edi
je 0x14002013f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rbp, qword [rsp + 0x40]
test r12, r12
je 0x140020152
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140020165
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140020178
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x14002018b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x140020287
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x1400201af
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, 0x7fc
jne 0x14002023f
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.140029ff0
mov rax, 0xffffffffffffffff
jmp 0x14002028a
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.140070360
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov rcx, rsi
call fcn.140010ad0
mov ebx, edi
jmp 0x140020149
lea eax, [rdi - 0x7d0]
cmp eax, 0x4a
ja 0x14002025d
mov eax, edi
lea r9, [0x140000000]
mov r9, qword [r9 + rax*8 + 0x52dd70]
jmp 0x140020264
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.140029ff0
mov rax, 0xffffffffffffffff
jmp 0x14002028a
mov rax, rbp
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1400f2410
mov rbx, qword [rsp + 0x108]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret