Function at 0x42d39b
Capabilities:
Create pipe

Disassembly:
push 0x2c
push 0x43f558
call fcn.004276c0
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
xor eax, eax
mov ecx, dword [ebp + 8]
cmp ecx, ebx
setne al
cmp eax, ebx
jne 0x42d3d9
call fcn.00426e1d
mov dword [eax], ebx
call fcn.00426e0a
mov dword [eax], 0x16
call fcn.00426db8
or eax, 0xffffffff
jmp 0x42d63b
or esi, 0xffffffff
mov dword [ecx + 4], esi
mov dword [ecx], esi
mov eax, dword [ebp + 0x10]
and eax, 0xffff3f7f
neg eax
sbb eax, eax
inc eax
jne 0x42d40e
call fcn.00426e1d
mov dword [eax], ebx
call fcn.00426e0a
mov dword [eax], 0x16
call fcn.00426db8
mov eax, esi
jmp 0x42d63b
mov eax, 0xc000
mov ecx, dword [ebp + 0x10]
and ecx, eax
xor edx, edx
cmp ecx, eax
setne dl
cmp edx, ebx
je 0x42d3f0
mov dword [ebp - 0x3c], 0xc
mov dword [ebp - 0x38], ebx
test byte [ebp + 0x10], 0x80
push 0
pop eax
sete al
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x3c]
push dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_CreatePipe]
or eax, eax
jne 0x42d462
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00426e30
pop ecx
jmp 0x42d407
call fcn.00432961
mov edi, eax
cmp edi, esi
mov dword [ebp - 0x20], edi
je 0x42d5fb
mov dword [ebp - 4], ebx
sar eax, 5
lea ecx, [eax*4 + 0x444b80]
mov eax, edi
and eax, 0x1f
shl eax, 6
mov edx, dword [ecx]
mov byte [edx + eax + 4], 0x89
mov edx, dword [ecx]
lea edx, [edx + eax + 0x24]
and byte [edx], 0x80
mov ecx, dword [ecx]
lea eax, [ecx + eax + 0x24]
and byte [eax], 0x7f
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d5ba
call fcn.00432961
mov esi, eax
cmp esi, 0xffffffff
mov dword [ebp - 0x28], esi
je 0x42d5e1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 4], 1
sar eax, 5
lea ecx, [eax*4 + 0x444b80]
mov edx, dword [ecx]
mov eax, esi
and eax, 0x1f
shl eax, 6
mov byte [eax + edx + 4], 0x89
mov edx, dword [ecx]
lea edx, [eax + edx + 0x24]
and byte [edx], 0x80
mov ecx, dword [ecx]
lea eax, [eax + ecx + 0x24]
and byte [eax], 0x7f
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d5ca
lea eax, [ebp - 0x24]
push eax
call fcn.00436128
or eax, eax
pop ecx
jne 0x42d5d7
mov eax, 0x8000
test dword [ebp + 0x10], eax
jne 0x42d52c
test dword [ebp + 0x10], 0x4000
jne 0x42d562
cmp dword [ebp - 0x24], eax
jne 0x42d562
mov eax, edi
sar eax, 5
mov ecx, edi
and ecx, 0x1f
shl ecx, 6
mov eax, dword [eax*4 + 0x444b80]
lea eax, [eax + ecx + 4]
and byte [eax], 0x7f
mov eax, esi
sar eax, 5
mov ecx, esi
and ecx, 0x1f
shl ecx, 6
mov eax, dword [eax*4 + 0x444b80]
lea eax, [eax + ecx + 4]
and byte [eax], 0x7f
test byte [ebp + 0x10], 0x80
je 0x42d59e
mov ecx, edi
sar ecx, 5
mov eax, edi
and eax, 0x1f
shl eax, 6
mov ecx, dword [ecx*4 + 0x444b80]
lea ecx, [ecx + eax + 4]
or byte [ecx], 0x10
mov eax, esi
sar eax, 5
mov ecx, esi
and ecx, 0x1f
shl ecx, 6
mov eax, dword [eax*4 + 0x444b80]
lea eax, [eax + ecx + 4]
or byte [eax], 0x10
push dword [ebp - 0x2c]
push edi
call fcn.0043272b
push dword [ebp - 0x30]
push esi
call fcn.0043272b
add esp, 0x10
jmp 0x42d605
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.00426d66
mov eax, edi
sar eax, 5
mov ecx, edi
and ecx, 0x1f
shl ecx, 6
mov eax, dword [eax*4 + 0x444b80]
mov byte [eax + ecx + 4], bl
jmp 0x42d5fe
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], ebx
je 0x42d631
call fcn.00426e0a
mov dword [eax], 0x18
push dword [ebp - 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x30]
call esi
call fcn.00426e1d
mov dword [eax], ebx
jmp 0x42d3d1
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], esi
xor eax, eax
call fcn.00427705
ret