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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [ecx + 0x10]
xor esi, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 4]
push eax
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
and dword [ebp - 0x1c], esi
and dword [ebp + 8], esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp + eax*4 - 0x24]
cmp ebx, 0xffffffff
je 0x415823
push 0
push 0
lea eax, [ebp - 4]
mov dword [ebp - 4], 1
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x4157ec
and dword [ebp - 8], 0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x41560a
call edi
mov esi, eax
cmp esi, 0x217
je 0x4156c8
cmp esi, 0x218
jne 0x4156b2
mov eax, dword [ebp - 8]
cmp eax, 0x708
jae 0x4156cf
inc eax
mov esi, 0x80070218
push 0x64
mov dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x80070218
je 0x4155c2
test esi, esi
js 0x4156d4
and dword [ebp - 4], 0
lea eax, [ebp - 4]
push 0
push 0
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x4157bb
push 0
lea eax, [ebp + 8]
push eax
push 4
lea eax, [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41578a
push 0
lea eax, [ebp + 8]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x415756
push 0
lea eax, [ebp + 8]
push eax
push 4
lea eax, [ebp - 0x18]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x415722
push 0
lea eax, [ebp + 8]
push eax
push 4
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4156ee
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 2
jb 0x415593
jmp 0x415823
test esi, esi
jle 0x415614
movzx esi, si
or esi, 0x80070000
jmp 0x415612
xor esi, esi
jmp 0x41561a
mov esi, 0x800705b4
push esi
push 0x1f3
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_wait_for_child_to_connect_to_pipe.
jmp 0x41581b
call edi
mov esi, eax
test esi, esi
jle 0x415701
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x415708
mov esi, 0x80004005
push esi
push 0x20f
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_read_ACK_from_pipe.
jmp 0x41581b
call edi
mov esi, eax
test esi, esi
jle 0x415735
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x41573c
mov esi, 0x80004005
push esi
push 0x209
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_write_our_process_id_to_pipe.
jmp 0x41581b
call edi
mov esi, eax
test esi, esi
jle 0x415769
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x415770
mov esi, 0x80004005
push esi
push 0x204
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_write_secret_to_pipe.
jmp 0x41581b
call edi
mov esi, eax
test esi, esi
jle 0x41579d
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x4157a4
mov esi, 0x80004005
push esi
push 0x1ff
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_write_secret_length_to_pipe.
jmp 0x41581b
call edi
mov esi, eax
test esi, esi
jle 0x4157ce
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x4157d5
mov esi, 0x80004005
push esi
push 0x1f9
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_reset_pipe_to_blocking.
jmp 0x41581b
call edi
mov esi, eax
test esi, esi
jle 0x4157ff
movzx esi, si
or esi, 0x80070000
test esi, esi
js 0x415806
mov esi, 0x80004005
push esi
push 0x1ce
push str.c:_agent_work13_s_src_burnenginepipe.cpp
call fcn.004038f5
push str.Failed_to_set_pipe_to_non_blocking.
push esi
call fcn.0044311f
pop ecx
pop ecx
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 4