Function at 0x403c0c
Capabilities:
Connect pipe
Create pipe

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
xor edi, edi
mov ebx, ecx
push edi
push edi
push 1
push edi
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
push eax
mov ecx, ebx
call fcn.00404765
cmp dword [ebx], edi
je 0x403edb
cmp dword [ebx], 0xffffffff
je 0x403edb
push edi
push edi
push 1
push edi
lea esi, [ebx + 4]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_CreateEventW]
push eax
mov ecx, esi
call fcn.00404765
cmp dword [esi], edi
je 0x403eb3
cmp dword [esi], 0xffffffff
je 0x403eb3
mov eax, dword [ebx]
push 0x14
mov dword [ebx + 0x1c], eax
pop eax
push eax
mov dword [ebx + 0x24], eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_malloc]
mov dword [ebx + 0x20], eax
pop ecx
test eax, eax
jne 0x403cb5
mov eax, dword [section..data]
cmp eax, section..data
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
push dword [eax + 0x14]
mov edx, 0x401630
push dword [eax + 0x10]
push 0x17
pop ecx
call fcn.00402d43
jmp 0x403f0c
xor eax, eax
lea edi, [esp + 0x14]
stosd dword es:[edi], eax
push 0
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x1c]
push eax
push 1
push 0x4015c8
mov dword [esp + 0x24], 0xc
call dword [sym.imp.api_ms_win_security_sddl_l1_1_0.dll_ConvertStringSecurityDescriptorToSecurityDescriptorW]
test eax, eax
jne 0x403d11
mov eax, dword [section..data]
cmp eax, section..data
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
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 0x403f01
mov edi, dword [ebp + 8]
lea eax, [esp + 0x14]
push eax
push 0
mov eax, 0x200
push eax
push eax
push 1
push 0xe
push 0x40080003
push edi
call dword [sym.imp.api_ms_win_core_namedpipe_l1_1_0.dll_CreateNamedPipeW]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
cmp ecx, 0xffffffff
je 0x403d63
test ecx, ecx
je 0x403d63
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 [ebx + 8], eax
cmp eax, 0xffffffff
je 0x403e84
test eax, eax
je 0x403e84
push dword [ebp + 0xc]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
lea eax, [ebx + 0xc]
push eax
push dword [ebx + 8]
call dword [sym.imp.api_ms_win_core_namedpipe_l1_1_0.dll_ConnectNamedPipe]
mov esi, section..data
test eax, eax
jne 0x403e59
mov eax, dword [section..data]
cmp eax, esi
je 0x403dc4
test byte [eax + 0x1c], 2
je 0x403dc4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push edi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1a
pop ecx
call fcn.00403671
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
cmp eax, 0x217
je 0x403e59
cmp eax, 0x3e5
jne 0x403f0c
push 0x1388
push dword [ebx]
call dword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x403e29
cmp eax, 0xffffffff
jne 0x403e59
mov eax, dword [section..data]
cmp eax, esi
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
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 0x403f01
mov eax, dword [section..data]
cmp eax, esi
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
push edi
push dword [eax + 0x14]
mov edx, 0x401630
push dword [eax + 0x10]
push 0x1c
pop ecx
call fcn.004027e2
jmp 0x403f0c
mov ecx, dword [section..data]
cmp ecx, esi
je 0x403e7d
test byte [ecx + 0x1c], 2
je 0x403e7d
push edi
push dword [ecx + 0x14]
mov edx, 0x401630
push dword [ecx + 0x10]
push 0x1d
pop ecx
call fcn.004027e2
mov al, 1
jmp 0x403f0e
mov eax, dword [section..data]
cmp eax, section..data
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
push eax
mov eax, dword [section..data]
push edi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x19
pop ecx
call fcn.00403671
jmp 0x403f0c
mov eax, dword [section..data]
cmp eax, section..data
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
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 0x403f01
mov eax, dword [section..data]
cmp eax, section..data
je 0x403f0c
test byte [eax + 0x1c], 1
je 0x403f0c
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, 0x401630
pop ecx
call fcn.004028a0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8