Function at 0x403ed9
Capabilities:
Connect pipe
Create pipe

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
xor eax, eax
push ebx
push esi
push edi
push eax
push eax
xor ebx, ebx
mov edi, ecx
inc ebx
push ebx
push eax
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
push eax
mov ecx, edi
call fcn.00404991
cmp dword [edi], 0
je 0x4041a7
cmp dword [edi], 0xffffffff
je 0x4041a7
xor eax, eax
lea esi, [edi + 4]
push eax
push eax
push ebx
push eax
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
push eax
mov ecx, esi
call fcn.00404991
cmp dword [esi], 0
je 0x404180
cmp dword [esi], 0xffffffff
je 0x404180
mov eax, dword [edi]
push 0x14
mov dword [edi + 0x1c], eax
pop eax
push eax
mov dword [edi + 0x24], eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_malloc]
mov dword [edi + 0x20], eax
pop ecx
test eax, eax
jne 0x403f86
mov eax, dword [section..data]
cmp eax, section..data
je 0x4041d7
test byte [eax + 0x1c], bl
je 0x4041d7
push dword [eax + 0x14]
mov edx, 0x401688
push dword [eax + 0x10]
push 0x17
pop ecx
call fcn.004030ef
jmp 0x4041d7
xor esi, esi
mov dword [esp + 0x14], 0xc
push esi
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], esi
push eax
push ebx
push 0x401620
mov dword [esp + 0x2c], esi
call dword [sym.imp.api_ms_win_security_sddl_l1_1_0.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW]
test eax, eax
jne 0x403fe0
mov eax, dword [section..data]
cmp eax, section..data
je 0x4041d7
test byte [eax + 0x1c], bl
je 0x4041d7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x18
jmp 0x4041cc
lea eax, [esp + 0x14]
push eax
push esi
mov eax, 0x200
push eax
push eax
push ebx
mov ebx, dword [ebp + 8]
push 0xe
push 0x40080003
push ebx
call dword [sym.imp.api_ms_win_core_namedpipe_l1_1_0.dll_CreateNamedPipeW]
mov ecx, dword [edi + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
cmp ecx, 0xffffffff
je 0x404030
test ecx, ecx
je 0x404030
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push dword [esp + 0xc]
mov esi, eax
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, dword [esp + 0x10]
mov dword [edi + 8], eax
cmp eax, 0xffffffff
je 0x404151
test eax, eax
je 0x404151
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
lea eax, [edi + 0xc]
push eax
push dword [edi + 8]
call dword [sym.imp.api_ms_win_core_namedpipe_l1_1_0.dll_ConnectNamedPipe]
mov esi, section..data
test eax, eax
jne 0x404126
mov eax, dword [section..data]
cmp eax, esi
je 0x404091
test byte [eax + 0x1c], 2
je 0x404091
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push ebx
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1a
pop ecx
call fcn.004039e0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x217
je 0x404126
cmp eax, 0x3e5
jne 0x4041d7
push 0x1388
push dword [edi]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x4040f6
cmp eax, 0xffffffff
jne 0x404126
mov eax, dword [section..data]
cmp eax, esi
je 0x4041d7
test byte [eax + 0x1c], 1
je 0x4041d7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1b
jmp 0x4041cc
mov eax, dword [section..data]
cmp eax, esi
je 0x4041d7
test byte [eax + 0x1c], 1
je 0x4041d7
push ebx
push dword [eax + 0x14]
mov edx, 0x401688
push dword [eax + 0x10]
push 0x1c
pop ecx
call fcn.00402bee
jmp 0x4041d7
mov ecx, dword [section..data]
cmp ecx, esi
je 0x40414a
test byte [ecx + 0x1c], 2
je 0x40414a
push ebx
push dword [ecx + 0x14]
mov edx, 0x401688
push dword [ecx + 0x10]
push 0x1d
pop ecx
call fcn.00402bee
mov al, 1
jmp 0x4041d9
mov eax, dword [section..data]
cmp eax, section..data
je 0x4041d7
test byte [eax + 0x1c], 1
je 0x4041d7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push ebx
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x19
pop ecx
call fcn.004039e0
jmp 0x4041d7
mov eax, dword [section..data]
cmp eax, section..data
je 0x4041d7
test byte [eax + 0x1c], bl
je 0x4041d7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x16
jmp 0x4041cc
mov eax, dword [section..data]
cmp eax, section..data
je 0x4041d7
test byte [eax + 0x1c], bl
je 0x4041d7
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x15
mov edx, 0x401688
pop ecx
call fcn.00402cac
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8