Function at 0x408200
Capabilities:
Connect pipe
Create pipe
Create thread
Read pipe
Write pipe

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x420f37
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
lea esi, [edi + 4]
xor ebx, ebx
cmp dword [edi], 0
jne 0x4082be
cmp dword [edi + 0x18], 0xf
lea esi, [edi + 4]
mov eax, esi
jbe 0x40824b
mov eax, dword [esi]
push 0
push 0
push 0x64
push 0x64
push 2
push 4
push 0x80003
push eax
call ecx
test eax, eax
je 0x408268
cmp eax, 0xffffffff
jne 0x408281
push 0x4b0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
inc ebx
cmp ebx, 0xc
jge 0x408289
jmp 0x408235
mov ecx, dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
mov dword [edi], eax
cmp dword [edi], 0
jne 0x4082be
cmp dword [esi + 0x14], 0xf
mov eax, esi
mov ebx, esi
jbe 0x40829d
mov eax, dword [esi]
lea ebx, [edi + 4]
push 0
push 0
push 0x64
push 0x64
push 2
push 4
push 0x80003
push eax
call ecx
test eax, eax
je 0x4082d2
mov esi, ebx
cmp eax, 0xffffffff
je 0x4082d2
mov dword [edi], eax
mov ecx, edi
call fcn.00408590
test al, al
je 0x4083eb
jmp 0x408363
mov eax, dword [0x42de5c]
test eax, eax
jne 0x408305
push 0xc8
call fcn.004094bf
add esp, 4
mov dword [ebp - 0x1c], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.00401230
mov dword [ebp - 4], 0xffffffff
mov dword [0x42de5c], eax
cmp dword [esi + 0x14], 0xf
movzx ebx, word [eax + 4]
mov eax, ebx
mov dword [ebp - 0x14], eax
mov eax, esi
jbe 0x408318
mov eax, dword [esi]
push 0
lea ecx, [ebp - 0x20]
push ecx
push 2
lea ecx, [ebp - 0x10]
push ecx
push 4
lea ecx, [ebp - 0x14]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CallNamedPipeA]
test eax, eax
je 0x4083f2
mov ax, word [ebp - 0x10]
mov edx, ebx
movzx ecx, ax
shr ecx, 8
shr edx, 8
cmp cl, dl
ja 0x408424
jne 0x4082be
cmp al, bl
jae 0x408424
jmp 0x4082be
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
lea eax, [ebp - 0x18]
push eax
push 0
push edi
push 0x407f40
push 0
push 0
call esi
mov dword [edi + 0x1c], eax
test eax, eax
je 0x4083ab
cmp eax, 0xffffffff
je 0x4083ab
lea eax, [ebp - 0x18]
push eax
push 0
push edi
push 0x407ec0
push 0
push 0
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.__30____31____4__
push 0
mov dword [edi + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x6f
push 0x427c8c
push ecx
call fcn.004011d0
add esp, 4
push eax
call fcn.00402a00
add esp, 0x18
push 0xea60
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, edi
call fcn.004084b0
mov ecx, edi
call fcn.004088e0
mov ecx, esi
call fcn.00402e10
push eax
push str.__27____30____4___s.__2__
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x60
push 0x427c8c
call fcn.004011d0
push eax
call fcn.00402a00
add esp, 0x1c
mov ecx, edi
call fcn.004088e0
movzx eax, bl
push eax
movzx eax, dl
push eax
mov ax, word [ebp - 0x10]
movzx eax, al
push eax
movzx eax, cl
push eax
push str.__28___d._d____29___d._d.__1__
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x63
push 0x427c8c
push ecx
call fcn.004011d0
add esp, 4
push eax
call fcn.00402a00
add esp, 0x28
mov ecx, edi
call fcn.00408570
int3