Function at 0x41c2ed
Capabilities:
Connect pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x49c00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [ecx + 0x10]
xor ebx, ebx
mov dword [ebp - 0x10], eax
mov esi, ebx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 4]
push eax
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x24], eax
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
mov edi, dword [ebp + eax*4 - 0x10]
cmp edi, 0xffffffff
je 0x41c539
push ebx
push ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 1
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x41c4f2
push 0
push edi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x41c3a4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0x217
je 0x41c3c3
cmp esi, 0x218
jne 0x41c3ae
cmp ebx, 0x708
jae 0x41c442
push 0x64
mov esi, 0x80070218
inc ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x80070218
je 0x41c365
jmp 0x41c3bb
test esi, esi
jle 0x41c3bd
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41c447
xor ebx, ebx
lea eax, [ebp - 0x14]
push ebx
push ebx
push eax
push edi
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x41c4bb
push 4
lea eax, [ebp - 0x18]
push eax
push edi
call fcn.00463f8f
mov esi, eax
test esi, esi
js 0x41c4a7
push dword [ebp - 0x18]
push dword [ebp - 0x20]
push edi
call fcn.00463f8f
mov esi, eax
test esi, esi
js 0x41c493
push 4
lea eax, [ebp - 0x24]
push eax
push edi
call fcn.00463f8f
mov esi, eax
test esi, esi
js 0x41c47f
push 4
lea eax, [ebp - 0x28]
push eax
push edi
call fcn.004634eb
mov esi, eax
test esi, esi
js 0x41c463
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 3
jb 0x41c33c
jmp 0x41c539
mov esi, 0x800705b4
push esi
mov ebx, 0x185
mov edi, str.d:_awixwix_src_burnenginepipe.cpp
push ebx
push edi
call fcn.00401225
push str.Failed_to_wait_for_child_to_connect_to_pipe.
jmp 0x41c527
push str.Failed_to_read_ACK_from_pipe.
push esi
push 0x100
push 5
push 0x19a
push str.d:_awixwix_src_burnenginepipe.cpp
jmp 0x41c531
push str.Failed_to_write_our_process_id_to_pipe.
push esi
push 0x100
push 5
push 0x196
jmp 0x41c475
push str.Failed_to_write_secret_to_pipe.
push esi
push 0x100
push 5
push 0x193
jmp 0x41c475
push str.Failed_to_write_secret_length_to_pipe.
push esi
push 0x100
push 5
push 0x190
jmp 0x41c475
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41c4d2
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41c4d9
mov esi, 0x80004005
push esi
mov ebx, 0x18b
mov edi, str.d:_awixwix_src_burnenginepipe.cpp
push ebx
push edi
call fcn.00401225
push str.Failed_to_reset_pipe_to_blocking.
jmp 0x41c527
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x41c509
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41c510
mov esi, 0x80004005
push esi
mov ebx, 0x160
mov edi, str.d:_awixwix_src_burnenginepipe.cpp
push ebx
push edi
call fcn.00401225
push str.Failed_to_set_pipe_to_non_blocking.
push esi
push 0x100
push 5
push ebx
push edi
call fcn.00401228
add esp, 0x18
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00446806
leave
ret 4