Function at 0x4170b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov edi, eax
push esi
push ebx
mov ebx, edx
sub esp, 0x5c
mov eax, dword [sym.zsh.exe_sigchld_mask]
mov dword [esp + 0x2c], ecx
mov dword [esp], eax
call sym.zsh.exe_signal_block
lea eax, [esp + 0x38]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp], eax
mov dword [esp + 0x44], 0xffffffff
call sub.cygwin1.dll_pipe
test eax, eax
js 0x4173c1
lea eax, [esp + 0x48]
call fcn.00416f70
mov esi, eax
cmp eax, 0xffffffff
je 0x4173e2
mov ebp, ebx
and ebp, 4
test eax, eax
jne 0x4171e0
mov eax, dword [esp + 0x38]
sar ebx, 2
and ebx, 1
mov dword [esp], eax
call fcn.004e5db0
mov eax, ebx
or eax, 2
cmp dword [esp + 0x2c], 8
je 0x4171d0
or ebx, 6
test ebp, ebp
cmove eax, ebx
mov edx, dword [sym.zsh.exe_thisjob]
mov ecx, dword [sym.zsh.exe_jobtab]
lea ebx, [esp + 0x40]
lea edx, [edx + edx*8]
lea edx, [ecx + edx*4]
mov ecx, dword [edx + 0x18]
mov edx, dword [esp + 0x74]
mov dword [edx], ecx
mov edx, ebx
call fcn.00415aa0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 8
mov dword [esp], eax
call sym.zsh.exe_write_loop
cmp eax, 8
jne 0x4173a0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004e5db0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call sym.zsh.exe_zclose
test byte [0x5237c8], 2
jne 0x4172b0
mov dword [sym.zsh.exe_sigtrapped], 0
test ebp, ebp
je 0x4171c5
cmp byte [0x522cd7], 0
jne 0x417358
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
or ebx, 0x42
test ebp, ebp
cmove eax, ebx
jmp 0x41713b
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004e5db0
lea eax, [esp + 0x40]
mov dword [esp + 8], 8
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym.zsh.exe_read_loop
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004e5db0
test ebp, ebp
jne 0x417340
mov eax, dword [sym.zsh.exe_thisjob]
mov edx, dword [sym.zsh.exe_jobtab]
lea eax, [eax + eax*8]
lea eax, [edx + eax*4]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x417240
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x4172d8
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 0
mov dword [esp], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call fcn.00438dc0
mov edi, dword [esp + 0x7c]
test edi, edi
js 0x417282
movzx eax, byte [esp + 0x7c]
mov byte [0x522cc8], al
mov eax, dword [sym.zsh.exe_thisjob]
mov ebx, dword [sym.zsh.exe_jobtab]
mov dword [esp + 4], 1
lea eax, [eax + eax*8]
lea eax, [ebx + eax*4]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call fcn.00437280
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
call sym.zsh.exe_holdintr
jmp 0x4171aa
mov eax, 0xc
test bl, 0x20
je 0x4172d4
shr ebx, 7
lea eax, [ebx*4 + 8]
add dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov ebx, dword [eax]
mov eax, ebx
and eax, 0x1f
cmp eax, 5
jne 0x417240
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 0
add eax, 4
mov dword [esp + 4], eax
mov eax, dword [edi]
mov dword [esp], eax
call fcn.0045bed0
mov dword [esp + 4], str.STTY
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x4172c0
mov eax, dword [sym.zsh.exe_thisjob]
mov ebp, dword [sym.zsh.exe_jobtab]
lea eax, [eax + eax*8]
lea eax, [ebp + eax*4]
mov dword [eax + 0x1c], 1
jmp 0x417240
mov eax, esi
mov dword [sym.zsh.exe_lastpid], esi
sar eax, 0x1f
mov dword [0x522e3c], eax
jmp 0x417240
call sub.cygwin1.dll___errno
mov dword [eax], 0
mov dword [esp], 5
call sub.cygwin1.dll_nice
call sub.cygwin1.dll___errno
mov eax, dword [eax]
test eax, eax
je 0x4171c5
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], str.nice_5__failed:__e
mov dword [esp + 4], eax
call sym.zsh.exe_zwarn
jmp 0x4171c5
call sub.cygwin1.dll___errno
mov esi, 0xffffffff
mov eax, dword [eax]
mov dword [esp], str.Failed_to_send_entersubsh_ret_report:__e
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
jmp 0x4171c5
call sub.cygwin1.dll___errno
mov esi, 0xffffffff
mov eax, dword [eax]
mov dword [esp], str.pipe_failed:__e
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
jmp 0x4171c5
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004e5db0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004e5db0
or dword [sym.zsh.exe_errflag], 1
mov dword [sym.zsh.exe_lastval], 1
mov dword [0x522e4c], 0
jmp 0x4171c5