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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov dword [ebp - 4], 0x800
mov eax, dword [ebp - 4]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jne 0x401032
xor eax, eax
jmp 0x40154e
push 1
mov ecx, dword [ebp - 0xd0]
push ecx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
jne 0x40105c
mov edx, dword [ebp - 0xd0]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
push 0
push 0
push 1
mov eax, dword [ebp - 0xd0]
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
test eax, eax
jne 0x40108a
mov ecx, dword [ebp - 0xd0]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
mov dword [ebp - 0x18], 0xc
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc], 0
push str..pipe_abc
lea eax, [ebp - 0xb8]
push eax
call fcn.00401770
add esp, 8
mov dword [ebp - 0xbc], 1
jmp 0x4010f5
mov ecx, dword [ebp - 0xbc]
add ecx, 1
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xbc]
cmp edx, dword [ebp + 8]
jge 0x401294
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
movsx eax, byte [edx]
cmp eax, 0x2f
je 0x401130
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
jne 0x401294
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
movsx edx, byte [ecx + 1]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
sub eax, 0x50
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x27
ja case.0x40116c.2
mov edx, dword [ebp - 0xd8]
xor ecx, ecx
mov cl, byte [edx + 0x40155e]
jmp dword [ecx*4 + 0x401552]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
call fcn.004018eb
add esp, 4
mov dword [ebp - 0xc], eax
jmp 0x40128f
push str..pipe_
lea eax, [ebp - 0xb8]
push eax
call fcn.00401770
add esp, 8
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 2
push eax
lea ecx, [ebp - 0xb8]
push ecx
call fcn.00401780
add esp, 8
jmp 0x40128f
mov edx, dword [str._n_nusage:_makepipe___h___w___p_pipe__]
push edx
call fcn.00401734
add esp, 4
mov eax, dword [str._n_nexample:_makepipe__w5]
push eax
call fcn.00401734
add esp, 4
mov ecx, dword [str._n_w_wait_time_in_seconds_between_read_and_write]
push ecx
call fcn.00401734
add esp, 4
mov edx, dword [str._n___default_is_0]
push edx
call fcn.00401734
add esp, 4
mov eax, dword [str._n_p_specify_pipe_name_to_use]
push eax
call fcn.00401734
add esp, 4
mov ecx, dword [str._n___The_default_pipename_is_abc]
push ecx
call fcn.00401734
add esp, 4
mov edx, dword [str._n_h_displays_usage.]
push edx
call fcn.00401734
add esp, 4
mov eax, dword [0x40707c]
push eax
call fcn.00401734
add esp, 4
mov ecx, dword [str._n_Description:_Use_makepipe_in_concert_with_readpipe_to_determine]
push ecx
call fcn.00401734
add esp, 4
mov edx, dword [str._n______________if_named_pipes_are_working_and_isolate_network]
push edx
call fcn.00401734
add esp, 4
mov eax, dword [str._n______________problems_from_SQL_Server_problems]
push eax
call fcn.00401734
add esp, 4
mov ecx, dword [str._n]
push ecx
call fcn.00401734
add esp, 4
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
jmp 0x4010e6
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [str._n_nMaking_PIPE:_s]
push ecx
call fcn.00401734
add esp, 8
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [str._n_nread_to_write_delay__seconds_:_d_n_n]
push eax
call fcn.00401734
add esp, 8
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0x50
push 0x50
push 0xff
push 6
push 3
lea edx, [ebp - 0xb8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jne 0x40131b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [str._nFailed_to_Make_Pipe__Status_d]
push ecx
call fcn.00401734
add esp, 8
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
cmp dword [ebp - 0xcc], 0
jne 0x401526
mov eax, dword [str._nWaiting_for_Client_to_Connect...]
push eax
call fcn.00401734
add esp, 4
push 0
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x401378
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
push edx
mov eax, dword [str._nFailed_to_Connect__Status_d]
push eax
call fcn.00401734
add esp, 8
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
cmp dword [ebp - 0xc4], 0
jne 0x4014f2
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [str._nWaiting_for_client_to_send...___d__n]
push ecx
call fcn.00401734
add esp, 8
push 0
lea edx, [ebp - 0xd4]
push edx
push 0x50
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x40140f
cmp dword [ebp - 0xd4], 0
je 0x40140f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [str._nRead_Failed__Status_d__Bytes_Read_d]
push ecx
call fcn.00401734
add esp, 0xc
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
push str.shutdown
lea eax, [ebp - 0x68]
push eax
call fcn.004016b0
add esp, 8
test eax, eax
jne 0x40142e
mov dword [ebp - 0xcc], 1
push str.close
lea ecx, [ebp - 0x68]
push ecx
call fcn.004016b0
add esp, 8
test eax, eax
jne 0x401452
mov dword [ebp - 0xc4], 1
jmp 0x4014f2
lea edx, [ebp - 0x68]
push edx
mov eax, dword [str._nData_Read:_n_s_n]
push eax
call fcn.00401734
add esp, 8
cmp dword [ebp - 0xc], 0
je 0x40149c
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [str._nSleeping_for__d_seconds]
push edx
call fcn.00401734
add esp, 8
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [str._nAWAKE]
push ecx
call fcn.00401734
add esp, 4
push 0
lea edx, [ebp - 0xd4]
push edx
push 0x50
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4014ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
push edx
mov eax, dword [str._nWrite_Failed__Status_d]
push eax
call fcn.00401734
add esp, 8
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, 1
jmp 0x40154e
jmp 0x401378
mov edx, dword [ebp - 0xc0]
push edx
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov eax, dword [str._nPipe_closed_n]
push eax
call fcn.00401734
add esp, 4
jmp 0x40131b
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [str._nShutdown_received_from_readpipe.]
push edx
call fcn.00401734
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor eax, eax
mov esp, ebp
pop ebp
ret