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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x574
mov eax, dword [0x438df0]
xor eax, ebp
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x538], 0
mov dword [ebp - 0x14], str..pipe_brwlankey
push 8
call fcn.0040ba51
add esp, 4
mov dword [ebp - 0x558], eax
cmp dword [ebp - 0x558], 0
je 0x40b40b
mov ecx, dword [ebp - 0x558]
call fcn.00403d20
mov dword [ebp - 0x56c], eax
jmp 0x40b415
mov dword [ebp - 0x56c], 0
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dword [0x43a380], ecx
cmp dword [0x43a380], 0
je 0x40b4c6
push str.WDWSV
mov ecx, dword [0x43a380]
call fcn.00403e60
test eax, eax
jne 0x40b49f
mov edx, dword [0x43a380]
mov dword [ebp - 0x560], edx
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x55c], eax
cmp dword [ebp - 0x55c], 0
je 0x40b48b
push 1
mov ecx, dword [ebp - 0x55c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x55c]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x570], eax
jmp 0x40b495
mov dword [ebp - 0x570], 0
mov dword [0x43a380], 0
cmp dword [0x43a380], 0
je 0x40b4c6
push 0x42fa94
push str._s______________Log_Start______________n
push 0x40000
mov ecx, dword [0x43a380]
push ecx
call fcn.00403f10
add esp, 0x10
push 0xbb8
push 0
push 2
call fcn.0040ac60
add esp, 0xc
test eax, eax
jne 0x40b4e0
jmp 0x40b916
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x43a384], eax
cmp dword [0x43a384], 0
jne 0x40b501
jmp 0x40b916
mov edx, dword [0x43a384]
mov dword [ebp - 0x52c], edx
push 0xbb8
push 0
push 2
call fcn.0040ac60
add esp, 0xc
test eax, eax
jne 0x40b527
jmp 0x40b916
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [ebp - 0x528], eax
cmp dword [ebp - 0x528], 0
jne 0x40b549
jmp 0x40b916
push 0xbb8
push 0
push 2
call fcn.0040ac60
add esp, 0xc
test eax, eax
jne 0x40b563
jmp 0x40b916
push 0x14
call fcn.0041a276
add esp, 4
mov dword [ebp - 0x538], eax
cmp dword [ebp - 0x538], 0
jne 0x40b581
jmp 0x40b916
push 1
mov eax, dword [ebp - 0x538]
push eax
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
test eax, eax
jne 0x40b599
jmp 0x40b916
mov dword [ebp - 0x524], 0xc
mov dword [ebp - 0x51c], 1
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x520], ecx
lea edx, [ebp - 0x524]
push edx
call fcn.0040b370
add esp, 4
test eax, eax
jne 0x40b5d1
jmp 0x40b9ec
push 0xbb8
push 0
push 2
call fcn.0040ac60
add esp, 0xc
test eax, eax
jne 0x40b5eb
jmp 0x40b916
mov dword [ebp - 8], 1
jmp 0x40b5fd
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
cmp dword [ebp - 8], ecx
jae 0x40b66a
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x40b62a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
movsx eax, byte [edx]
cmp eax, 0x2f
jne 0x40b668
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 1
push eax
push str.pipe
call fcn.0040ba20
add esp, 8
test eax, eax
jne 0x40b668
mov ecx, dword [ebp - 8]
add ecx, 1
cmp ecx, dword [ebp + 8]
jae 0x40b668
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x14], edx
jmp 0x40b5f4
lea eax, [ebp - 0x524]
push eax
push 0x3e8
push 0
push 0
push 1
push 6
push 0x40000003
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x40b6a8
push str.Unable_to_create_named_pipe
call fcn.0040ad10
add esp, 4
jmp 0x40b916
push 0
push 0
push 4
call fcn.0040ac60
add esp, 0xc
test eax, eax
jne 0x40b6bf
jmp 0x40b916
push 0x14
push 0
lea edx, [ebp - 0x54c]
push edx
call fcn.00418d60
add esp, 0xc
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x528]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea edx, [ebp - 0x54c]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x40b72a
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x52c]
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x40b72a
jmp 0x40b916
push 0x14
push 0
lea edx, [ebp - 0x54c]
push edx
call fcn.00418d60
add esp, 0xc
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x528]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 0x400
push 0
lea edx, [ebp - 0x518]
push edx
call fcn.00418d60
add esp, 0xc
lea eax, [ebp - 0x54c]
push eax
lea ecx, [ebp - 0x10]
push ecx
push 0x400
lea edx, [ebp - 0x518]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jne 0x40b7ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x40b7ca
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x52c]
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x40b7ca
jmp 0x40b916
cmp dword [0x43a380], 0
je 0x40b7f7
lea edx, [ebp - 0x518]
push edx
push 0x42fae8
push str._s_InputData:__s_n
push 0x80000
mov eax, dword [0x43a380]
push eax
call fcn.00403f10
add esp, 0x14
cmp dword [0x43a380], 0
je 0x40b82e
lea ecx, [ebp - 0x518]
push ecx
call fcn.004189e0
add esp, 4
push eax
push 0x42fb04
push str._s_DataSize_:__d_n
push 0x80000
mov edx, dword [0x43a380]
push edx
call fcn.00403f10
add esp, 0x14
push 0x100
push 0
lea eax, [ebp - 0x118]
push eax
call fcn.00418d60
add esp, 0xc
mov dword [ebp - 0x550], 0
lea ecx, [ebp - 0x550]
push ecx
lea edx, [ebp - 0x118]
push edx
lea eax, [ebp - 0x518]
push eax
call fcn.004189e0
add esp, 4
push eax
lea ecx, [ebp - 0x518]
push ecx
call fcn.0040a6f0
add esp, 0x10
push 0x14
push 0
lea edx, [ebp - 0x54c]
push edx
call fcn.00418d60
add esp, 0xc
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x528]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea edx, [ebp - 0x54c]
push edx
lea eax, [ebp - 0x534]
push eax
mov ecx, dword [ebp - 0x550]
push ecx
lea edx, [ebp - 0x118]
push edx
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jne 0x40b907
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x40b907
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x52c]
push ecx
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
je 0x40b907
jmp 0x40b916
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
jmp 0x40b6bf
cmp dword [ebp - 0xc], 0xffffffff
je 0x40b926
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x43a384], 0
je 0x40b93c
mov ecx, dword [0x43a384]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x528], 0
je 0x40b952
mov edx, dword [ebp - 0x528]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x538], 0
je 0x40b96a
mov eax, dword [ebp - 0x538]
push eax
call fcn.0041a199
add esp, 4
cmp dword [0x43a380], 0
je 0x40b9ec
cmp dword [0x43a380], 0
je 0x40b99a
push str.WSRV:
push str._s_____________Log_End_____________n_n
push 0x40000
mov ecx, dword [0x43a380]
push ecx
call fcn.00403f10
add esp, 0x10
mov ecx, dword [0x43a380]
call fcn.00403ec0
mov edx, dword [0x43a380]
mov dword [ebp - 0x568], edx
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x564], eax
cmp dword [ebp - 0x564], 0
je 0x40b9e2
push 1
mov ecx, dword [ebp - 0x564]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x564]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x574], eax
jmp 0x40b9ec
mov dword [ebp - 0x574], 0
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004183cd
mov esp, ebp
pop ebp
ret