Function at 0x140011140
Capabilities:
Connect pipe
Create pipe
Read file on windows
Write file on windows
Write pipe

Disassembly:
jmp 0x140012df0
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rdi
sub rsp, 0x5b8
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0xfe
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov ecx, dword [rsp + 0x5d8]
mov rax, qword [0x140020018]
xor rax, rbp
mov qword [rbp + 0x568], rax
lea rcx, [0x14002618a]
call fcn.140011483
mov qword [rbp + 8], 0xffffffffffffffff
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x98], 0
lea rax, str..pipe_simple
mov qword [rbp + 0x338], rax
mov r8d, 0xbb8
xor edx, edx
mov ecx, 2
call fcn.14001141f
test eax, eax
jne 0x140012e88
jmp 0x140013304
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [0x140020190], rax
cmp qword [0x140020190], 0
jne 0x140012eb1
jmp 0x140013304
mov eax, 8
imul rax, rax, 0
mov rcx, qword [0x140020190]
mov qword [rbp + rax + 0x28], rcx
mov r8d, 0xbb8
xor edx, edx
mov ecx, 2
call fcn.14001141f
test eax, eax
jne 0x140012ee1
jmp 0x140013304
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rbp + rcx + 0x28], rax
mov eax, 8
imul rax, rax, 1
cmp qword [rbp + rax + 0x28], 0
jne 0x140012f18
jmp 0x140013304
mov r8d, 0xbb8
xor edx, edx
mov ecx, 2
call fcn.14001141f
test eax, eax
jne 0x140012f33
jmp 0x140013304
mov ecx, 0x28
call qword [sym.imp.ucrtbased.dll_malloc]
mov qword [rbp + 0x98], rax
cmp qword [rbp + 0x98], 0
jne 0x140012f54
jmp 0x140013304
mov edx, 1
mov rcx, qword [rbp + 0x98]
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
jne 0x140012f6f
jmp 0x140013304
mov dword [rbp + 0xb8], 0x18
mov dword [rbp + 0xc8], 1
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xb8]
call fcn.1400112f8
test eax, eax
jne 0x140012fa6
jmp 0x140013368
mov r8d, 0xbb8
xor edx, edx
mov ecx, 2
call fcn.14001141f
test eax, eax
jne 0x140012fc1
jmp 0x140013304
mov dword [rbp + 0x3d4], 1
jmp 0x140012fdb
mov eax, dword [rbp + 0x3d4]
inc eax
mov dword [rbp + 0x3d4], eax
mov eax, dword [rbp + 0x590]
dec eax
cmp dword [rbp + 0x3d4], eax
jae 0x140013085
mov eax, dword [rbp + 0x3d4]
mov rcx, qword [rbp + 0x598]
mov rax, qword [rcx + rax*8]
movzx eax, word [rax]
cmp eax, 0x2d
je 0x140013021
mov eax, dword [rbp + 0x3d4]
mov rcx, qword [rbp + 0x598]
mov rax, qword [rcx + rax*8]
movzx eax, word [rax]
cmp eax, 0x2f
jne 0x140013080
mov eax, dword [rbp + 0x3d4]
mov rcx, qword [rbp + 0x598]
mov rax, qword [rcx + rax*8]
add rax, 2
mov rdx, rax
lea rcx, str.pipe
call qword [sym.imp.ucrtbased.dll__wcsicmp]
test eax, eax
jne 0x140013080
mov eax, dword [rbp + 0x3d4]
inc eax
cmp eax, dword [rbp + 0x590]
jae 0x140013080
mov eax, dword [rbp + 0x3d4]
inc eax
mov dword [rbp + 0x3d4], eax
mov eax, dword [rbp + 0x3d4]
mov rcx, qword [rbp + 0x598]
mov rax, qword [rcx + rax*8]
mov qword [rbp + 0x338], rax
jmp 0x140012fcd
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x3e8
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 1
mov r8d, 6
mov edx, 0x40000003
mov rcx, qword [rbp + 0x338]
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0xffffffffffffffff
jne 0x1400130e3
lea rcx, str.Unable_to_create_named_pipe
call fcn.14001114a
jmp 0x140013304
xor r8d, r8d
xor edx, edx
mov ecx, 4
call fcn.14001141f
test eax, eax
jne 0x1400130fb
jmp 0x140013304
mov r8d, 0x20
xor edx, edx
lea rcx, [rbp + 0x58]
call fcn.14001137a
mov eax, 8
imul rax, rax, 1
mov rax, qword [rbp + rax + 0x28]
mov qword [rbp + 0x70], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rbp + rax + 0x28]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
lea rdx, [rbp + 0x58]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x140013179
mov r9d, 0xffffffff
xor r8d, r8d
lea rdx, [rbp + 0x28]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [rbp + 0x3b4], eax
cmp dword [rbp + 0x3b4], 1
je 0x140013179
jmp 0x140013304
mov r8d, 0x20
xor edx, edx
lea rcx, [rbp + 0x58]
call fcn.14001137a
mov eax, 8
imul rax, rax, 1
mov rax, qword [rbp + rax + 0x28]
mov qword [rbp + 0x70], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rbp + rax + 0x28]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov r8d, 0xa0
xor edx, edx
lea rcx, [rbp + 0xf0]
call fcn.14001137a
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x374]
mov r8d, 0xa0
lea rdx, [rbp + 0xf0]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rbp + 0x354], eax
cmp dword [rbp + 0x354], 0
jne 0x140013233
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x140013233
mov r9d, 0xffffffff
xor r8d, r8d
lea rdx, [rbp + 0x28]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [rbp + 0x3b4], eax
cmp dword [rbp + 0x3b4], 1
je 0x140013233
jmp 0x140013304
lea r9, [rbp + 0xf0]
lea r8, str.Hello____s_
mov edx, 0x168
lea rcx, [rbp + 0x1b0]
call fcn.140011104
mov r8d, 0x20
xor edx, edx
lea rcx, [rbp + 0x58]
call fcn.14001137a
mov eax, 8
imul rax, rax, 1
mov rax, qword [rbp + rax + 0x28]
mov qword [rbp + 0x70], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rbp + rax + 0x28]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x394]
mov r8d, 0x168
lea rdx, [rbp + 0x1b0]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp + 0x354], eax
cmp dword [rbp + 0x354], 0
jne 0x1400132f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x1400132f5
mov r9d, 0xffffffff
xor r8d, r8d
lea rdx, [rbp + 0x28]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [rbp + 0x3b4], eax
cmp dword [rbp + 0x3b4], 1
je 0x1400132f5
jmp 0x140013304
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
jmp 0x1400130fb
cmp qword [rbp + 8], 0xffffffffffffffff
je 0x140013315
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [0x140020190], 0
je 0x14001332c
mov rcx, qword [0x140020190]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 8
imul rax, rax, 1
cmp qword [rbp + rax + 0x28], 0
je 0x140013351
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rbp + rax + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x98], 0
je 0x140013368
mov rcx, qword [rbp + 0x98]
call qword [sym.imp.ucrtbased.dll_free]
lea rcx, [rbp - 0x40]
lea rdx, [0x14001d740]
call fcn.1400113d9
mov rcx, qword [rbp + 0x568]
xor rcx, rbp
call fcn.14001121c
lea rsp, [rbp + 0x578]
pop rdi
pop rbp
ret