Function at 0x40cfb5
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, 0x42c640
sub esp, 0x21c
mov eax, dword [0x42a4a0]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], eax
cmp dword [ebx + 0x10], 0
je 0x40d193
cmp dword [ebx], 0
je 0x40d185
cmp dword [ebx + 0xc], 0
je 0x40d13b
lea eax, [ebp - 0x218]
push 0x1f4
push eax
mov eax, dword [ebp - 0x220]
lea eax, [eax*8 + 0x320]
push eax
push dword [0x472ce0]
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
cmp dword [ebx + 8], 0
je 0x40d0cd
lea eax, [ebp - 0x218]
sub esp, 0xc
push eax
call fcn.00410bc8
mov ecx, dword [ebx + 0xc]
add esp, 0x10
mov esi, dword [ecx]
cmp eax, esi
je 0x40d185
cmp ecx, 0x4656ac
jne 0x40d066
cmp dword [0x4656ac], 0
je 0x40d05c
test esi, esi
jne 0x40d066
mov dword [ebp - 0x21c], 0
mov dword [ecx], eax
push ecx
push ecx
push 0x43aa05
push dword [ebx]
call fcn.004034b5
pop esi
xor esi, esi
test eax, eax
mov eax, dword [ebp - 0x21c]
pop edi
push 0x43aa09
push dword [ebx]
cmovne eax, esi
mov dword [ebp - 0x21c], eax
call fcn.004034b5
pop edx
test eax, eax
mov eax, dword [ebp - 0x21c]
pop ecx
push str.cache
push dword [ebx]
cmovne eax, esi
mov dword [ebp - 0x21c], eax
call fcn.004034b5
add esp, 0x10
test eax, eax
cmove esi, dword [ebp - 0x21c]
mov dword [ebp - 0x21c], esi
jmp 0x40d185
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
je 0x40d0f1
push edx
push edx
push dword [eax]
lea eax, [ebp - 0x218]
push eax
call fcn.004033f7
add esp, 0x10
test eax, eax
jne 0x40d103
jmp 0x40d185
cmp byte [ebp - 0x218], 0
je 0x40d185
jmp 0x40d24a
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
je 0x40d24a
lea eax, [ebp - 0x218]
sub esp, 0xc
push eax
call fcn.00428f74
mov esi, eax
pop eax
mov eax, dword [ebx + 0xc]
push dword [eax]
call fcn.00428f74
add esp, 0x10
cmp esi, eax
jbe 0x40d2c7
jmp 0x40d24a
cmp dword [ebx + 8], 0
je 0x40d185
mov eax, dword [ebp - 0x220]
push ecx
push ecx
lea eax, [eax*8 + 0x325]
push eax
push dword [0x472ce0]
call fcn.004021df
add esp, 0x10
test eax, eax
mov eax, dword [ebx + 4]
je 0x40d179
mov ecx, dword [eax*4 + 0x465798]
or ecx, dword [ebx + 8]
mov dword [eax*4 + 0x465798], ecx
jmp 0x40d185
mov ecx, dword [ebx + 8]
not ecx
and dword [eax*4 + 0x465798], ecx
inc dword [ebp - 0x220]
add ebx, 0x18
jmp 0x40cfdb
sub esp, 0xc
push 0x20000
call fcn.00428e70
mov esi, eax
mov dword [esp], eax
call fcn.00411d01
add esp, 0xc
push esi
push 0
push dword [section..bss]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push edx
push edx
push dword [0x472ce0]
call dword [sym.imp.USER32.dll_DestroyWindow]
add esp, 0xc
cmp dword [ebp - 0x21c], 0
jne 0x40d20c
push eax
push eax
push dword [0x431040]
push 0x45c2c0
call fcn.0040418c
mov dword [esp], 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
mov dword [0x42a4a0], 0
call fcn.0040cf60
jmp 0x40d347
call fcn.004110a3
test byte [0x4657a3], 2
je 0x40d347
cmp dword [0x4652e8], 0
jg 0x40d347
push 0x400
push 0x42a458
push 0x4652e8
push 0x4652e4
call dword [sym.imp.KERNEL32.dll_CreatePipe]
jmp 0x40d347
lea eax, [ebp - 0x218]
sub esp, 0xc
lea esi, [ebp - 0x218]
push eax
call fcn.00428f74
lea ecx, [eax + 3]
mov dword [esp], ecx
mov dword [ebp - 0x224], ecx
call fcn.00428e70
mov ecx, dword [ebp - 0x224]
mov edx, eax
mov edi, eax
test edi, edi
je 0x40d287
test esi, esi
je 0x40d287
jecxz 0x40d287
cld
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0xc]
add esp, 0x10
mov eax, dword [eax]
cmp eax, dword [0x465af0]
ja 0x40d2a1
mov eax, dword [ebx + 0xc]
mov dword [eax], edx
jmp 0x40d185
cmp eax, section..rsrc
jbe 0x40d297
mov dword [ebp - 0x224], edx
push esi
push eax
push 0
push dword [section..bss]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x224]
pop edi
jmp 0x40d297
cmp byte [ebp - 0x218], 0
mov eax, dword [ebx + 0xc]
je 0x40d2ef
mov edi, dword [eax]
lea esi, [ebp - 0x218]
test edi, edi
je 0x40d2ea
test esi, esi
je 0x40d2ea
cld
lodsb al, byte [esi]
stosb byte es:[edi], al
or al, al
jne 0x40d2e4
jmp 0x40d185
cmp eax, 0x42a4c0
jne 0x40d305
mov dword [0x42a4c0], 0x43aa14
jmp 0x40d185
cmp eax, 0x465ae4
setne dl
cmp eax, 0x42a670
setne cl
and edx, ecx
cmp eax, 0x42a66c
setne cl
and edx, ecx
cmp eax, 0x42a678
setne cl
test dl, cl
je 0x40d185
cmp eax, 0x42a4c4
je 0x40d185
mov dword [eax], 0
jmp 0x40d185
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret