Function at 0x4ade20
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x16c
mov eax, dword [sym.zsh.exe_onlyexpl]
mov dword [0x5291ac], 0
mov dword [0x5291a8], 0x4fcf20
mov dword [esp + 0x74], eax
mov eax, dword [sym.zsh.exe_nlnct]
mov dword [0x5291a4], 0
mov dword [esp + 0x60], eax
mov eax, dword [sym.zsh.exe_queueing_enabled]
mov byte [esp + 0xe0], 0
lea edx, [eax + 1]
mov dword [sym.zsh.exe_queueing_enabled], edx
mov edx, dword [0x529168]
test edx, edx
je 0x4adf0a
mov edi, dword [esp + 0x184]
mov ecx, dword [edi]
mov dword [edx], ecx
mov ecx, dword [edi + 4]
mov dword [sym.zsh.exe_queueing_enabled], eax
mov dword [edx + 4], ecx
mov ecx, dword [edi + 8]
mov dword [edx + 8], ecx
test eax, eax
jne 0x4adefd
mov eax, dword [sym.zsh.exe_queue_front]
cmp eax, dword [sym.zsh.exe_queue_rear]
je 0x4adefd
lea esi, [esi]
nop
add eax, 1
cdq
shr edx, 0x19
add eax, edx
and eax, 0x7f
sub eax, edx
mov dword [sym.zsh.exe_queue_front], eax
mov eax, dword [eax*4 + sym.zsh.exe_signal_mask_queue]
mov dword [esp], eax
call sym.zsh.exe_signal_setmask
mov ebx, eax
mov eax, dword [sym.zsh.exe_queue_front]
mov eax, dword [eax*4 + sym.zsh.exe_signal_queue]
mov dword [esp], eax
call sym.zsh.exe_zhandler
mov dword [esp], ebx
call sym.zsh.exe_signal_setmask
mov eax, dword [sym.zsh.exe_queue_front]
cmp eax, dword [sym.zsh.exe_queue_rear]
jne 0x4adeb0
xor eax, eax
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x180]
test edi, edi
je 0x4adf4e
mov dword [esp], str.MENUSELECT
call sym.zsh.exe_getsparam
test eax, eax
je 0x4ae1d8
mov esi, dword [esp + 0x184]
test esi, esi
je 0x4adf4e
mov ebx, dword [esp + 0x184]
mov ebx, dword [ebx + 4]
mov dword [esp], eax
call sub.cygwin1.dll_atoi
cmp ebx, eax
jl 0x4ae1d8
mov ebx, dword [sym.zsh.exe_zlemetaline]
mov dword [esp + 0x78], 1
test ebx, ebx
je 0x4af76e
mov dword [esp], str.MENUSCROLL
call sym.zsh.exe_getsparam
test eax, eax
je 0x4ae1cb
mov dword [esp], eax
call sym.zsh.exe_mathevali
mov dword [esp + 0x5c], eax
test eax, eax
jne 0x4ae1ab
mov ecx, dword [sym.zsh.exe_nlnct]
mov eax, dword [sym.zsh.exe_zterm_lines]
mov edx, dword [0x522e2c]
mov ebx, ecx
sar ebx, 0x1f
sub eax, ecx
sbb edx, ebx
shrd eax, edx, 1
mov dword [esp + 0x5c], eax
mov dword [esp], str.MENUMODE
call sym.zsh.exe_getsparam
mov ebx, eax
test eax, eax
je 0x4af09f
mov dword [esp + 4], str.interactive
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x4af31e
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp + 4], 4
mov dword [sym.zsh.exe_zlemetacs], 0
mov ebx, eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp], eax
call sym.zsh.exe_foredel
mov dword [esp], ebx
call sym.zsh.exe_spaceinline
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sub.cygwin1.dll_strncpy
mov eax, dword [sym.zsh.exe_origcs]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [sym.zsh.exe_zlemetacs], eax
lea eax, [esp + 0xe0]
call fcn.004ad280
mov dword [esp + 0x24], 1
mov dword [esp], str.MENUPROMPT
call sym.zsh.exe_getsparam
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [0x529368], eax
test eax, eax
je 0x4ae099
cmp byte [eax], 0
jne 0x4ae099
mov dword [0x529368], str._SScrolling_active:_current_selection_at__p_s
sub dword [sym.zsh.exe_queueing_enabled], 1
jne 0x4ae0fd
mov eax, dword [sym.zsh.exe_queue_front]
cmp eax, dword [sym.zsh.exe_queue_rear]
je 0x4ae0fd
nop
add eax, 1
cdq
shr edx, 0x19
add eax, edx
and eax, 0x7f
sub eax, edx
mov dword [sym.zsh.exe_queue_front], eax
mov eax, dword [eax*4 + sym.zsh.exe_signal_mask_queue]
mov dword [esp], eax
call sym.zsh.exe_signal_setmask
mov ebx, eax
mov eax, dword [sym.zsh.exe_queue_front]
mov eax, dword [eax*4 + sym.zsh.exe_signal_queue]
mov dword [esp], eax
call sym.zsh.exe_zhandler
mov dword [esp], ebx
call sym.zsh.exe_signal_setmask
mov eax, dword [sym.zsh.exe_queue_front]
cmp eax, dword [sym.zsh.exe_queue_rear]
jne 0x4ae0b0
mov eax, dword [0x529368]
test eax, eax
je 0x4ae10f
cmp byte [eax], 0
setne al
movzx eax, al
mov dword [0x529384], eax
mov eax, dword [esp + 0x184]
mov dword [0x529168], eax
call fcn.004ad520
mov eax, dword [0x529234]
mov dword [esp], eax
call sym.zsh.exe_selectlocalmap
mov dword [0x5293b8], 1
jmp 0x4ae17a
mov eax, dword [0x529084]
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
mov ecx, eax
and ecx, 0x4000
jne 0x4ae16e
test eax, 0x820
je 0x4ae200
mov eax, dword [edx]
test eax, eax
je 0x4ae16e
cmp byte [eax], 0
jne 0x4ae200
mov dword [esp], 0
call sym.zsh.exe_do_menucmp
mov edx, dword [sym.zsh.exe_menuacc]
test edx, edx
je 0x4ae140
mov eax, dword [0x5290a4]
mov dword [esp + 8], eax
mov eax, dword [0x5290a0]
mov dword [esp + 4], eax
mov eax, dword [0x529084]
mov eax, dword [eax]
mov dword [esp], eax
call sym.zsh.exe_hasbrpsfx
test eax, eax
je 0x4ae16e
jmp 0x4ae140
jns 0x4adfae
mov eax, dword [esp + 0x5c]
add eax, dword [sym.zsh.exe_zterm_lines]
sub eax, dword [sym.zsh.exe_nlnct]
mov dword [esp + 0x5c], eax
jns 0x4adfae
mov dword [esp + 0x5c], 1
jmp 0x4adfae
mov eax, dword [sym.zsh.exe_queueing_enabled]
mov edx, dword [0x529168]
sub eax, 1
test edx, edx
jne 0x4ade7e
mov dword [sym.zsh.exe_queueing_enabled], eax
test eax, eax
je 0x4ade9e
jmp 0x4adefd
mov eax, dword [edx + 0x50]
xor edi, edi
mov dword [esp + 0x7c], ecx
xor ebp, ebp
mov dword [0x5293a8], 0
mov dword [0x5293b4], eax
mov dword [0x5293a0], 0xf423f
mov dword [0x4eb870], 0
mov dword [0x4eb868], 0xffffffd6
mov dword [0x529358], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x54], 1
test edi, edi
js 0x4ae870
lea esi, [esi]
mov eax, dword [0x529358]
test eax, eax
jne 0x4ae870
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dword [0x529358], 0
mov esi, eax
mov eax, dword [esp + 0x5c]
jmp 0x4ae2dd
mov edx, 1
sub esi, eax
js 0x4ae8f0
cmp esi, edi
jg 0x4ae2d0
test dl, dl
je 0x4aeddf
mov dword [0x4eb870], esi
test esi, esi
setne dl
cmp dword [esp + 0x28], esi
setne al
and dl, al
mov byte [esp + 0x2c], dl
jne 0x4aeeb4
mov ebx, dword [sym.zsh.exe_zterm_lines]
mov eax, dword [esp + 0x60]
add eax, dword [0x529384]
sub ebx, eax
mov dword [esp + 0x2c], ebx
test ebx, ebx
jg 0x4aece4
cmp dword [esp + 0x28], esi
jne 0x4aed43
nop
mov dword [sym.zsh.exe_onlyexpl], 0
mov eax, dword [esp + 0x54]
mov dword [sym.zsh.exe_showinglist], 0xfffffffe
test eax, eax
je 0x4ae397
mov eax, dword [sym.zsh.exe_listshown]
test eax, eax
jne 0x4ae362
cmp byte [0x522d28], 0
jne 0x4af0ac
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x6c], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
mov dword [esp + 0xcc], eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp + 0xd0], eax
mov eax, dword [0x52908c]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x24]
lea ebx, [esp + 0xe0]
cmp eax, 1
je 0x4ae412
test eax, eax
je 0x4aedd8
cmp eax, 2
mov edi, 0x4fcf20
mov ecx, str._backward
mov dword [esp], ebx
mov eax, dword [0x5291a4]
cmove ecx, edi
mov edx, str.wrapped
mov dword [esp + 4], str._s_sisearch_s:
test al, 2
mov dword [esp + 0x10], ecx
cmove edx, edi
test al, 1
mov eax, str.failed
cmove eax, edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call sub.cygwin1.dll_sprintf
mov dword [esp], ebx
mov edx, eax
mov eax, 0x7f
sub eax, edx
mov dword [esp + 8], eax
mov eax, dword [0x5291a8]
mov dword [esp + 4], eax
call sub.cygwin1.dll_strncat
mov eax, dword [0x5293b8]
mov dword [sym.zsh.exe_statusline], ebx
test eax, eax
jns 0x4ae43f
mov dword [sym.zsh.exe_clearlist], 0
mov dword [sym.zsh.exe_showinglist], 0
mov dword [sym.zsh.exe_clearflag], 1
call sym.zsh.exe_zrefresh
mov eax, dword [0x5293b8]
mov dword [sym.zsh.exe_statusline], 0
mov dword [0x5293b0], 1
mov dword [0x52939c], 1
test eax, eax
jne 0x4aede8
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4aef57
mov eax, dword [0x52935c]
mov edx, dword [0x529350]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], edx
test eax, eax
je 0x4aedfd
mov ebx, dword [edx]
mov ecx, dword [eax]
mov edi, dword [0x5293ac]
mov dword [sym.zsh.exe_minfo], ebx
mov ebx, dword [esp + 0x3c]
mov dword [0x529084], ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], edi
test ebx, ebx
jne 0x4aee8f
cmp dword [esp + 0x58], edi
jl 0x4af383
mov dword [esp + 0x4c], 0
mov dword [esp + 0x38], 1
jg 0x4af400
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esp + 0x50]
lea edi, [esp + 0xe0]
test eax, eax
je 0x4ae81d
mov eax, dword [esp + 0x20]
cmp eax, 0x4ec870
sete bl
test eax, eax
sete al
or bl, al
jne 0x4af0c0
mov eax, dword [esp + 0x20]
cmp eax, 0x4ec930
je 0x4ae560
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4ae560
mov edx, dword [esp + 0x24]
test edx, edx
je 0x4afb96
cmp eax, 0x4ec840
mov ecx, eax
setne dl
cmp eax, 0x4ebfd0
setne al
test dl, al
je 0x4ae560
cmp ecx, 0x4ec858
jne 0x4afb96
lea esi, [esi]
mov eax, dword [esp + 0x20]
cmp eax, 0x4ebf28
je 0x4af364
cmp eax, 0x4ebf58
je 0x4af364
cmp dword [esp + 0x20], 0x4ecd68
je 0x4af780
cmp dword [esp + 0x20], 0x4ebef8
je 0x4ae915
cmp dword [esp + 0x24], 1
je 0x4ae8ff
mov eax, dword [esp + 0x20]
cmp eax, sym.zsh.exe_thingies
je 0x4af492
cmp eax, 0x4ebf10
je 0x4af492
mov eax, dword [esp + 0x20]
cmp eax, 0x4ec930
je 0x4ae5dc
cmp dword [esp + 0x24], 1
jne 0x4af815
cmp eax, 0x4ebfd0
jne 0x4af815
test ebp, ebp
je 0x4afb18
call sym.zsh.exe_handleundo
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp + 4], 4
mov dword [sym.zsh.exe_zlemetacs], 0
mov dword [esp], eax
call sym.zsh.exe_foredel
mov eax, dword [ebp + 4]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp], eax
mov ebx, eax
call sym.zsh.exe_spaceinline
mov dword [esp + 8], ebx
mov eax, dword [ebp + 4]
mov dword [esp + 4], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sub.cygwin1.dll_strncpy
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x30]
mov dword [esp + 0xc4], 0x529084
mov dword [sym.zsh.exe_zlemetacs], eax
mov eax, dword [ebp + 0x1c]
mov dword [sym.zsh.exe_minfo], edx
mov edx, dword [ebp + 0x34]
mov dword [sym.zsh.exe_menuacc], eax
mov eax, dword [ebp + 0x54]
mov dword [0x529084], edx
mov edx, dword [ebp + 0x38]
mov dword [0x529088], edx
mov edx, dword [ebp + 0x3c]
mov dword [0x52908c], edx
mov edx, dword [ebp + 0x40]
mov dword [0x529090], edx
mov edx, dword [ebp + 0x44]
mov dword [0x529094], edx
mov edx, dword [ebp + 0x48]
mov dword [0x5290a4], eax
mov dword [0x529098], edx
mov edx, dword [ebp + 0x4c]
mov dword [0x52909c], edx
mov edx, dword [ebp + 0x50]
mov dword [0x5290a0], edx
mov eax, dword [ebp + 0x24]
mov dword [0x5293a8], eax
mov eax, dword [ebp + 0x28]
mov dword [0x4eb870], eax
mov eax, dword [ebp + 0x60]
test eax, eax
je 0x4ae71c
mov edx, dword [sym.zsh.exe_lastmatches]
cmp eax, edx
je 0x4ae71c
test edx, edx
je 0x4ae6e1
mov dword [esp + 4], 0
mov dword [esp], edx
call sym.zsh.exe_freematches
mov eax, dword [ebp + 0x60]
mov edx, dword [ebp + 0x58]
mov dword [sym.zsh.exe_lastmatches], eax
mov dword [sym.zsh.exe_validlist], 1
mov eax, dword [ebp + 0x64]
mov dword [sym.zsh.exe_amatches], edx
mov edx, dword [ebp + 0x5c]
mov dword [sym.zsh.exe_lastlmatches], eax
mov eax, dword [ebp + 0x20]
mov dword [sym.zsh.exe_pmatches], edx
mov dword [sym.zsh.exe_nmatches], eax
mov dword [sym.zsh.exe_hasoldlist], 1
mov eax, dword [sym.zsh.exe_brbeg]
mov dword [esp], eax
call sym.zsh.exe_freebrinfo
mov eax, dword [sym.zsh.exe_brend]
mov dword [esp], eax
call sym.zsh.exe_freebrinfo
mov dword [esp + 8], 0
mov dword [esp + 4], sym.zsh.exe_lastbrbeg
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym.zsh.exe_dupbrinfo
mov dword [esp + 8], 0
mov dword [sym.zsh.exe_brbeg], eax
mov dword [esp + 4], sym.zsh.exe_lastbrend
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym.zsh.exe_dupbrinfo
mov dword [sym.zsh.exe_brend], eax
mov eax, dword [ebp + 0x10]
mov dword [sym.zsh.exe_nbrbeg], eax
mov eax, dword [ebp + 0x14]
mov dword [sym.zsh.exe_nbrend], eax
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [ebp + 0x68]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [sym.zsh.exe_origline], eax
mov eax, dword [ebp + 0x6c]
mov dword [sym.zsh.exe_origcs], eax
mov eax, dword [ebp + 0x70]
mov dword [sym.zsh.exe_origll], eax
mov eax, dword [ebp + 0x74]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov ebx, dword [ebp + 0x78]
mov eax, dword [ebp + 0x2c]
mov dword [0x4eb868], 0xffffffd6
mov ebp, dword [ebp]
mov dword [sym.zsh.exe_clearlist], 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], eax
mov dword [0x528fcc], 0
test eax, eax
je 0x4afaf5
xor eax, eax
cmp ebx, 1
cmove eax, edi
mov dword [sym.zsh.exe_statusline], eax
call sym.zsh.exe_zrefresh
mov dword [esp + 0x3c], 1
mov dword [sym.zsh.exe_statusline], 0
mov dword [0x5299d4], 1
call sym.zsh.exe_getkeycmd
mov ebx, dword [0x529358]
and dword [sym.zsh.exe_errflag], 0xfffffffd
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x4ae503
mov dword [esp + 0x50], 1
mov edi, dword [0x5293a8]
mov eax, dword [0x4eb870]
mov dword [esp + 0x54], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], eax
test edi, edi
jns 0x4ae2a8
mov eax, dword [0x5293a0]
mov ecx, dword [0x529360]
mov dword [esp + 0x68], eax
test eax, eax
jle 0x4ae2b5
mov edx, dword [0x5293a4]
mov ebx, dword [0x5293b4]
mov dword [esp + 0x30], ebp
xor esi, esi
mov dword [esp + 0x48], edi
mov edi, eax
mov dword [esp + 0x64], edx
mov ebp, edx
lea esi, [esi]
test ebp, ebp
jle 0x4aec83
mov edx, ebp
lea esi, [esi]
mov eax, dword [ecx]
test eax, eax
je 0x4ae8d1
test al, 1
jne 0x4ae8d1
mov eax, dword [eax]
test eax, eax
je 0x4ae8d1
cmp dword [eax + 0x50], ebx
je 0x4aeca0
add ecx, 4
sub edx, 1
jne 0x4ae8b8
add esi, 1
cmp esi, edi
jne 0x4ae8a8
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
jmp 0x4ae2b5
test edi, edi
js 0x4af08e
xor esi, esi
jmp 0x4ae2dd
mov eax, dword [esp + 0x20]
cmp eax, 0x4ec858
je 0x4ae915
cmp eax, 0x4ec840
jne 0x4ae5a1
mov dword [esp], 0x7c
call sym.zsh.exe_zhalloc
mov ebx, eax
mov dword [eax], ebp
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [ebx + 4], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
mov dword [ebx + 0x18], eax
mov eax, dword [0x5293a8]
mov dword [ebx + 0x24], eax
mov eax, dword [0x4eb870]
mov edx, dword [sym.zsh.exe_minfo]
mov dword [ebx + 0x28], eax
mov eax, dword [sym.zsh.exe_amatches]
mov dword [ebx + 0x30], edx
mov edx, dword [0x529084]
mov dword [ebx + 0x58], eax
mov eax, dword [sym.zsh.exe_pmatches]
mov dword [ebx + 0x34], edx
mov edx, dword [0x529088]
mov dword [ebx + 0x5c], eax
mov eax, dword [sym.zsh.exe_lastmatches]
mov dword [ebx + 0x38], edx
mov edx, dword [0x52908c]
mov dword [ebx + 0x3c], edx
mov edx, dword [0x529090]
mov dword [ebx + 0x40], edx
mov edx, dword [0x529094]
mov dword [ebx + 0x44], edx
mov edx, dword [0x529098]
mov dword [ebx + 0x48], edx
mov edx, dword [0x52909c]
mov dword [ebx + 0x4c], edx
mov edx, dword [0x5290a0]
mov dword [ebx + 0x50], edx
mov edx, dword [0x5290a4]
mov dword [ebx + 0x54], edx
mov dword [ebx + 0x60], eax
mov eax, dword [sym.zsh.exe_lastlmatches]
mov dword [ebx + 0x64], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x2c], eax
mov eax, dword [sym.zsh.exe_menuacc]
mov dword [ebx + 0x1c], eax
mov eax, dword [sym.zsh.exe_brbeg]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_dupbrinfo
mov dword [ebx + 8], eax
mov eax, dword [sym.zsh.exe_brend]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_dupbrinfo
mov dword [ebx + 0xc], eax
mov eax, dword [sym.zsh.exe_nbrbeg]
mov dword [ebx + 0x10], eax
mov eax, dword [sym.zsh.exe_nbrend]
mov dword [ebx + 0x14], eax
mov eax, dword [sym.zsh.exe_nmatches]
mov dword [ebx + 0x20], eax
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [ebx + 0x68], eax
mov eax, dword [sym.zsh.exe_origcs]
mov dword [ebx + 0x6c], eax
mov eax, dword [sym.zsh.exe_origll]
mov dword [ebx + 0x70], eax
mov dword [esp], edi
call sym.zsh.exe_dupstring
mov dword [sym.zsh.exe_hasoldlist], 0
mov dword [ebx + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [sym.zsh.exe_menuacc], 0
mov dword [ebx + 0x78], eax
mov dword [sym.zsh.exe_menucmp], 0
mov dword [0x529084], 0
call sym.zsh.exe_fixsuffix
call sym.zsh.exe_handleundo
mov dword [sym.zsh.exe_validlist], 0
mov dword [sym.zsh.exe_lastmatches], 0
mov dword [sym.zsh.exe_pmatches], 0
mov dword [sym.zsh.exe_amatches], 0
call sym.zsh.exe_invalidate_list
mov dword [sym.zsh.exe_iforcemenu], 1
mov dword [sym.zsh.exe_comprecursive], 1
cmp dword [esp + 0x20], 0x4ebef8
je 0x4aee3d
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp + 4], 4
mov dword [sym.zsh.exe_zlemetacs], 0
mov ebp, eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp], eax
call sym.zsh.exe_foredel
mov dword [esp], ebp
call sym.zsh.exe_spaceinline
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sub.cygwin1.dll_strncpy
mov eax, dword [sym.zsh.exe_origcs]
mov dword [sym.zsh.exe_zlemetacs], eax
call sym.zsh.exe_unmetafy_line
cmp dword [esp + 0x20], 0x4ec840
mov dword [esp], sym.zsh.exe_zlenoargs
je 0x4af0b6
call sym.zsh.exe_selfinsertunmeta
call sym.zsh.exe_metafy_line
mov eax, dword [sym.zsh.exe_zlemetall]
add dword [0x52908c], 1
add dword [0x529090], 1
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov ebp, eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp], ebp
mov dword [esp + 8], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp + 4], eax
call sub.cygwin1.dll_memcpy
mov ecx, dword [sym.zsh.exe_zlemetall]
mov edx, dword [sym.zsh.exe_zlemetacs]
mov dword [sym.zsh.exe_iforcemenu], 0xffffffff
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
call sym.zsh.exe_unmetafy_line
mov dword [esp], sym.zsh.exe_zlenoargs
call sym.zsh.exe_menucomplete
call sym.zsh.exe_metafy_line
lea eax, [esp + 0xd4]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
mov eax, edi
mov dword [esp], edx
mov edx, ebp
mov dword [sym.zsh.exe_iforcemenu], 0
call fcn.004ad280
mov ecx, dword [sym.zsh.exe_nmatches]
mov dword [esp + 0x6c], eax
test ecx, ecx
jle 0x4aef98
mov eax, dword [0x529084]
test eax, eax
je 0x4aef98
mov eax, dword [eax]
test eax, eax
je 0x4aef98
mov eax, dword [eax + 0x50]
mov dword [esp + 0x50], 0
xor edi, edi
mov ebp, ebx
mov dword [sym.zsh.exe_listshown], 1
mov dword [sym.zsh.exe_clearlist], 1
mov dword [0x5293b4], eax
mov dword [0x5293a8], 0
mov dword [0x4eb868], 0xffffffd6
mov dword [esp + 0x4c], 1
mov dword [esp + 0x3c], 1
jmp 0x4ae853
je 0x4ae8d9
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
jmp 0x4aeca8
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x64]
sub eax, edx
mov dword [0x5293ac], eax
cmp esi, dword [esp + 0x68]
jge 0x4ae2b5
mov dword [0x5293a8], esi
mov edi, esi
jmp 0x4ae2b5
mov ecx, dword [sym.zsh.exe_zterm_lines]
mov eax, dword [esp + 0x60]
add eax, dword [0x529384]
sub ecx, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
jle 0x4aed52
mov ecx, dword [0x5293a0]
mov dword [esp + 0x48], ebp
mov edx, esi
xor ebx, ebx
mov ebp, dword [esp + 0x5c]
mov eax, ecx
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
add eax, edx
jmp 0x4aed21
add eax, ebp
add edx, ebp
mov ebx, 1
cmp ecx, eax
jl 0x4aedcf
cmp eax, edi
jle 0x4aed10
mov ebp, dword [esp + 0x48]
test bl, bl
je 0x4ae325
mov dword [0x4eb870], edx
mov esi, edx
cmp dword [esp + 0x28], esi
je 0x4ae330
mov eax, dword [0x529360]
mov ebx, dword [sym.zsh.exe_zterm_columns]
mov dword [esp + 0x70], eax
lea eax, [ebx*4]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x30], eax
imul eax, esi
add edi, eax
mov eax, dword [0x5293a0]
mov dword [esp + 0x2c], eax
cmp eax, esi
jle 0x4ae330
mov byte [esp + 0x28], 0
lea ecx, [esi + 1]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x40]
lea esi, [esi]
nop
test ebx, ebx
jle 0x4aee10
mov edx, ebx
mov eax, edi
jmp 0x4aeda8
add eax, 4
sub edx, 1
je 0x4aee16
cmp dword [eax], 0
je 0x4aeda0
cmp byte [esp + 0x28], 0
mov dword [esp + 0x40], esi
mov edi, esi
mov esi, dword [esp + 0x48]
je 0x4ae330
mov dword [0x4eb870], edi
mov esi, edi
jmp 0x4ae330
mov edx, dword [esp + 0x30]
jmp 0x4aed00
xor ebx, ebx
jmp 0x4ae412
mov esi, dword [esp + 0x2c]
jmp 0x4ae2ef
jns 0x4afe07
mov dword [0x5293b8], 0
jmp 0x4ae4f0
mov dword [esp + 0x38], 1
mov edi, dword [0x5293a8]
jmp 0x4ae853
jne 0x4afe21
mov esi, ecx
mov byte [esp + 0x28], 1
add edi, dword [esp + 0x30]
lea ecx, [ecx + 1]
cmp dword [esp + 0x2c], esi
jne 0x4aed90
mov dword [esp + 0x40], esi
mov dword [0x4eb870], esi
jmp 0x4ae330
call sym.zsh.exe_unmetafy_line
mov dword [esp], sym.zsh.exe_zlenoargs
call sym.zsh.exe_menucomplete
call sym.zsh.exe_metafy_line
mov edx, dword [sym.zsh.exe_nmatches]
mov dword [sym.zsh.exe_iforcemenu], 0
test edx, edx
jle 0x4aefd8
mov eax, dword [0x529084]
test eax, eax
je 0x4af761
mov eax, dword [eax]
test eax, eax
je 0x4aefd8
mov dword [esp + 0x24], 0
jmp 0x4aec32
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], eax
jmp 0x4ae4f0
mov ebx, dword [sym.zsh.exe_zterm_columns]
lea edx, [esi - 1]
mov ecx, dword [0x529360]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x64], edi
lea eax, [ebx*4]
mov dword [esp + 0x70], ecx
imul edx, eax
neg eax
mov byte [esp + 0x30], 0
mov dword [esp + 0x68], esi
mov edi, eax
add edx, ecx
mov ebp, edx
test ebx, ebx
jle 0x4aef27
nop
mov edx, ebx
mov eax, ebp
lea esi, [esi]
mov ecx, dword [eax]
test ecx, ecx
je 0x4aef03
and ecx, 1
je 0x4aef30
add eax, 4
sub edx, 1
jne 0x4aeef8
add ebp, edi
sub esi, 1
je 0x4af086
movzx eax, byte [esp + 0x2c]
mov dword [esp + 0x44], esi
mov byte [esp + 0x30], al
test ebx, ebx
jg 0x4aeef0
je 0x4aef0b
lea esi, [esi]
cmp byte [esp + 0x30], 0
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
je 0x4aecca
mov eax, dword [esp + 0x44]
mov dword [0x4eb870], eax
mov esi, eax
jmp 0x4ae307
mov eax, dword [0x5293a4]
imul eax, dword [0x5293a0]
mov ecx, dword [0x529360]
sub eax, 1
jmp 0x4aef72
mov eax, edx
cmp eax, 0xffffffff
je 0x4ae47b
mov edi, dword [ecx + eax*4]
lea edx, [eax - 1]
test edi, edi
je 0x4aef70
test eax, eax
jne 0x4ae47b
xor ebx, ebx
jmp 0x4af0fe
cmp dword [esp + 0x24], 1
mov eax, edi
jne 0x4aefe0
mov edx, dword [sym.zsh.exe_nmessages]
mov dword [sym.zsh.exe_statusline], eax
test edx, edx
je 0x4aefe4
mov dword [sym.zsh.exe_showinglist], 0xfffffffe
call sym.zsh.exe_zrefresh
mov dword [0x5293b8], 0xffffffff
mov dword [esp + 0x34], 1
mov ebp, ebx
jmp 0x4ae813
mov dword [esp + 0x24], 0
xor eax, eax
jmp 0x4aefa1
call sym.zsh.exe_trashzle
call sym.zsh.exe_zsetterm
mov eax, dword [0x5215f4]
test eax, eax
jne 0x4af3ef
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp + 8], 0xb
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], str.no_matches_r
call sub.cygwin1.dll_fwrite
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov eax, dword [sym.zsh.exe_nlnct]
mov dword [esp + 4], 6
mov dword [esp], 5
mov dword [esp + 8], eax
call sym.zsh.exe_tcmultout
mov dword [sym.zsh.exe_clearlist], 0
mov dword [sym.zsh.exe_showinglist], 0
mov dword [sym.zsh.exe_clearflag], 1
call sym.zsh.exe_zrefresh
mov dword [sym.zsh.exe_clearlist], 0
mov dword [sym.zsh.exe_showinglist], 0
jmp 0x4aefc9
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x64]
mov dword [0x4eb870], 0
xor esi, esi
jmp 0x4ae307
mov dword [esp + 0x24], 0
jmp 0x4ae06d
call sym.zsh.exe_zbeep
jmp 0x4ae362
call sym.zsh.exe_selfinsert
jmp 0x4aeb5a
call sym.zsh.exe_zbeep
xor ebx, ebx
mov dword [esp + 0x38], 0
mov dword [0x4eb868], 0xffffffff
jmp 0x4af0fe
mov eax, dword [ebp + 0x60]
cmp eax, dword [sym.zsh.exe_lastmatches]
je 0x4af0fb
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_freematches
mov ebp, dword [ebp]
test ebp, ebp
jne 0x4af0e0
mov dword [esp], 0
call sym.zsh.exe_selectlocalmap
mov eax, dword [esp + 0x34]
mov dword [0x529388], 0xffffffff
mov dword [0x52938c], 0xffffffff
mov dword [0x5293b4], 0xffffffff
mov dword [0x529368], 0
mov dword [0x529384], 0
mov dword [0x5293b0], 0
test eax, eax
je 0x4af166
mov dword [sym.zsh.exe_listshown], 1
mov dword [sym.zsh.exe_clearlist], 1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4af1a8
mov eax, dword [sym.zsh.exe_validlist]
test eax, eax
je 0x4af1a8
mov eax, dword [0x529084]
test eax, eax
je 0x4af1a8
mov dword [sym.zsh.exe_hasoldlist], 0
mov eax, dword [eax]
mov dword [sym.zsh.exe_lastambig], 0
mov dword [esp], eax
mov dword [sym.zsh.exe_menucmp], 0
call sym.zsh.exe_do_single
mov ebp, dword [esp + 0x4c]
test ebp, ebp
je 0x4af254
mov edi, dword [sym.zsh.exe_validlist]
mov dword [sym.zsh.exe_menucmp], 1
test edi, edi
je 0x4afaee
mov esi, dword [esp + 0x34]
mov eax, 0xfffffffe
test esi, esi
jne 0x4afaee
mov ecx, dword [0x5293b8]
mov dword [sym.zsh.exe_showinglist], eax
mov dword [0x52909c], 0
test ecx, ecx
je 0x4af7c5
mov dword [0x4eb870], 0xffffffff
mov edi, dword [esp + 0x78]
mov dword [0x529168], 0
test edi, edi
je 0x4af35a
mov eax, 3
cmp ebx, 2
je 0x4adeff
mov esi, dword [esp + 0x184]
test esi, esi
je 0x4af302
and ebx, 1
jne 0x4af302
mov eax, 2
sub eax, dword [esp + 0x38]
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x5293b8]
test edx, edx
jne 0x4af1fa
mov eax, dword [esp + 0x184]
test eax, eax
je 0x4af270
test byte [esp + 0x38], 1
je 0x4af1fa
mov eax, dword [sym.zsh.exe_validlist]
mov dword [0x4eb870], 0xffffffff
test eax, eax
je 0x4af297
mov eax, dword [esp + 0x34]
test eax, eax
mov eax, 0xfffffffe
cmovne eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov dword [sym.zsh.exe_showinglist], eax
mov eax, dword [esp + 0x74]
mov dword [sym.zsh.exe_onlyexpl], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4af2e2
mov eax, dword [sym.zsh.exe_listshown]
test eax, eax
je 0x4af2e2
mov dword [sym.zsh.exe_showinglist], 1
mov dword [sym.zsh.exe_listshown], 1
mov dword [sym.zsh.exe_clearlist], 1
call sym.zsh.exe_zrefresh
jmp 0x4af1fa
mov ebp, dword [sym.zsh.exe_smatches]
test ebp, ebp
jne 0x4af2d8
mov dword [sym.zsh.exe_listshown], 1
mov dword [sym.zsh.exe_clearlist], 1
jmp 0x4af2d8
mov ebx, dword [0x5293b8]
xor eax, eax
test ebx, ebx
sete al
xor eax, dword [esp + 0x38]
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], ebx
mov dword [esp], str.search
call sym.zsh.exe_strpfx
test eax, eax
je 0x4af09f
mov dword [esp + 4], str.back
mov dword [esp], ebx
call sub.cygwin1.dll_strstr
cmp eax, 1
mov eax, 2
sbb eax, 0xffffffff
mov dword [esp + 0x24], eax
jmp 0x4ae06d
call sym.zsh.exe_unmetafy_line
jmp 0x4af21a
mov eax, dword [esp + 0x24]
sub eax, 2
cmp eax, 1
jbe 0x4afb7b
mov dword [esp + 0x38], 1
xor ebx, ebx
jmp 0x4af0fe
xor ebx, ebx
test edi, edi
jle 0x4af3da
mov dword [esp + 0x28], ebp
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0xa4]
jmp 0x4af3b0
sub eax, 4
sub edx, 4
mov ebx, 1
sub edi, 1
je 0x4af7d9
mov ebp, edi
cmp ecx, dword [eax - 4]
je 0x4af39a
mov dword [esp + 0xa4], ebp
mov edi, ebp
mov ebp, dword [esp + 0x28]
test bl, bl
je 0x4af3da
mov dword [esp + 0xc8], edx
mov dword [0x5293ac], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x38], 1
jmp 0x4ae4f0
mov dword [esp], 0xd
call sym.zsh.exe_tcout
jmp 0x4aeffb
mov ebx, dword [0x5293a4]
mov dword [esp + 0x30], ebx
sub ebx, 1
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x28]
lea edi, [ebx + 1]
mov dword [esp + 0x48], edi
xor edi, edi
cmp dword [esp + 0x2c], ebx
jle 0x4ae4f0
mov dword [esp + 0x28], ebp
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x2c], esi
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x30]
jmp 0x4af459
mov ebp, ebx
lea ebx, [ebx + 1]
add eax, 4
add edx, 4
mov edi, 1
cmp esi, ebx
je 0x4afac4
cmp ecx, dword [eax + 4]
je 0x4af441
mov ebx, edi
mov dword [esp + 0x98], ebp
mov ecx, ebp
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
test bl, bl
je 0x4af3da
mov dword [esp + 0xc8], edx
mov dword [0x5293ac], ecx
mov dword [esp + 0xc4], eax
jmp 0x4af3da
mov dword [esp], 0x7c
call sym.zsh.exe_zhalloc
cmp dword [esp + 0x24], 1
mov dword [esp + 0x30], eax
je 0x4afc26
mov edi, dword [esp + 0x30]
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [edi], ebp
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [edi + 0x64], 0
mov dword [edi + 4], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
mov dword [edi + 0x60], 0
mov dword [edi + 0x18], eax
mov eax, dword [0x5293a8]
mov dword [edi + 0x5c], 0
mov dword [edi + 0x24], eax
mov eax, dword [0x4eb870]
mov edx, dword [sym.zsh.exe_minfo]
mov dword [edi + 0x58], 0
mov dword [edi + 0x28], eax
mov eax, dword [esp + 0x34]
mov dword [edi + 0x30], edx
mov edx, dword [0x529084]
mov dword [edi + 0x34], edx
mov edx, dword [0x529088]
mov dword [edi + 0x38], edx
mov edx, dword [0x52908c]
mov dword [edi + 0x3c], edx
mov edx, dword [0x529090]
mov dword [edi + 0x40], edx
mov edx, dword [0x529094]
mov dword [edi + 0x44], edx
mov edx, dword [0x529098]
mov dword [edi + 0x48], edx
mov edx, dword [0x52909c]
mov dword [edi + 0x4c], edx
mov edx, dword [0x5290a0]
mov dword [edi + 0x50], edx
mov edx, dword [0x5290a4]
mov dword [edi + 0x54], edx
mov dword [edi + 0x2c], eax
mov eax, dword [sym.zsh.exe_menuacc]
mov dword [edi + 0x1c], eax
mov eax, dword [sym.zsh.exe_brbeg]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_dupbrinfo
mov dword [edi + 8], eax
mov eax, dword [sym.zsh.exe_brend]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_dupbrinfo
mov dword [edi + 0xc], eax
mov eax, dword [sym.zsh.exe_nbrbeg]
mov dword [edi + 0x10], eax
mov eax, dword [sym.zsh.exe_nbrend]
mov dword [edi + 0x14], eax
mov eax, dword [sym.zsh.exe_nmatches]
mov dword [edi + 0x20], eax
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [edi + 0x68], eax
mov eax, dword [sym.zsh.exe_origcs]
mov dword [edi + 0x6c], eax
mov eax, dword [sym.zsh.exe_origll]
mov dword [edi + 0x70], eax
lea eax, [esp + 0xe0]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [edi + 0x78], 0
mov dword [edi + 0x74], eax
call sym.zsh.exe_accept_last
call sym.zsh.exe_handleundo
mov dword [esp], 0
mov dword [sym.zsh.exe_comprecursive], 1
call sym.zsh.exe_do_menucmp
mov ebp, dword [0x529084]
mov edx, dword [esp + 0xc4]
mov byte [esp + 0x24], 0
mov ecx, dword [0x5293a4]
mov edi, dword [0x5293a8]
mov eax, dword [ebp]
mov dword [esp + 0x28], edi
mov eax, dword [eax + 0x50]
mov dword [0x5293b4], eax
mov eax, dword [0x5293ac]
shl eax, 2
sub edx, eax
mov eax, dword [0x5293a0]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], eax
imul eax, ecx
mov dword [esp + 0xc4], edx
shl eax, 2
neg eax
mov dword [esp + 0x48], eax
mov eax, edx
test ecx, ecx
jle 0x4af6ce
xor edx, edx
jmp 0x4af687
add edx, 1
add eax, 4
mov ebx, 1
cmp edx, ecx
je 0x4af6d4
cmp ebp, dword [eax]
jne 0x4af678
cmp byte [esp + 0x24], 0
mov dword [0x5293ac], edx
je 0x4af758
mov dword [0x5293a8], edi
test bl, bl
je 0x4af6ad
mov dword [esp + 0xc4], eax
mov dword [esp + 0x24], 0
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x50], 0
mov dword [esp + 0x3c], 1
jmp 0x4ae853
jne 0x4b003f
add edi, 1
cmp edi, dword [esp + 0x2c]
jne 0x4af6e8
add eax, dword [esp + 0x48]
xor edi, edi
mov ebx, 1
mov byte [esp + 0x24], 1
cmp dword [esp + 0x28], edi
jne 0x4af66a
mov dword [0x5293ac], ecx
test bl, bl
je 0x4af70c
mov dword [esp + 0xc4], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
cmp ebp, dword [eax]
je 0x4b005f
mov dword [sym.zsh.exe_listshown], 1
xor ebx, ebx
mov dword [sym.zsh.exe_clearlist], 1
mov dword [0x5293b8], 1
mov dword [sym.zsh.exe_onlyexpl], 0
call sym.zsh.exe_zrefresh
mov dword [esp + 0x38], 0
mov ebp, dword [esp + 0x30]
jmp 0x4af0e0
mov edi, dword [esp + 0x28]
jmp 0x4af6a2
mov dword [esp + 0x24], 0
jmp 0x4aefa1
call sym.zsh.exe_metafy_line
mov dword [esp + 0x78], 0
jmp 0x4adf64
cmp dword [esp + 0x24], 1
jne 0x4afa20
mov ebx, dword [esp + 0xc4]
mov eax, dword [ebx]
mov dword [esp + 0x24], 0
mov eax, dword [eax]
mov dword [esp], eax
call sym.zsh.exe_do_single
mov eax, dword [ebx]
mov dword [esp + 0x50], 0
mov edi, dword [0x5293a8]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [0x5293b4], eax
jmp 0x4ae853
call sym.zsh.exe_zrefresh
mov dword [0x5293b8], 0
jmp 0x4af25e
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x4c], edi
mov dword [esp + 0xc8], edx
mov dword [0x5293ac], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 1
jmp 0x4ae4f0
cmp dword [esp + 0x20], 0x4ec738
je 0x4afebb
cmp dword [esp + 0x20], 0x4ec0f0
je 0x4b0090
mov edi, dword [esp + 0x20]
cmp edi, 0x4ec210
sete al
cmp edi, 0x4ec240
sete dl
or eax, edx
cmp edi, 0x4ec258
sete dl
or al, dl
jne 0x4afc3a
cmp edi, 0x4ecba0
je 0x4afc3a
mov edi, dword [esp + 0x20]
cmp edi, 0x4ec978
sete al
cmp edi, 0x4ec9a8
sete dl
or eax, edx
cmp edi, 0x4ec9c0
sete dl
or al, dl
jne 0x4afd2d
cmp edi, 0x4ecff0
je 0x4afd2d
mov edi, dword [esp + 0x20]
cmp edi, 0x4ecca8
sete al
cmp edi, 0x4ec288
sete dl
or eax, edx
cmp edi, 0x4eccc0
sete dl
or al, dl
jne 0x4af8cc
cmp edi, 0x4ec3f0
jne 0x4b00b9
mov edi, dword [0x5293a0]
mov eax, dword [esp + 0x60]
lea ebx, [edi - 1]
mov edi, dword [0x5293a8]
not eax
add eax, dword [sym.zsh.exe_zterm_lines]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ebx
cmp ebx, edi
je 0x4af98a
test eax, eax
jle 0x4afde6
mov eax, dword [0x5293a4]
mov dword [esp + 0x24], 0
xor ebx, ebx
shl eax, 2
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x28]
add edi, 1
xor ecx, ecx
add dword [esp + 0xc4], eax
mov eax, dword [esp + 0x58]
mov dword [0x5293a8], edi
call fcn.004ad1c0
test eax, eax
jne 0x4af972
mov eax, dword [esp + 0xc4]
mov edx, dword [eax]
test edx, edx
je 0x4af972
and edx, 1
jne 0x4af972
sub dword [esp + 0x30], 1
mov ebx, eax
mov dword [esp + 0x24], edi
je 0x4afdf0
cmp dword [esp + 0x48], edi
jne 0x4af928
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x2c], ecx
je 0x4af98a
test ebx, ebx
jne 0x4afdf0
mov ebx, dword [esp + 0xc4]
test edi, edi
je 0x4afa04
mov eax, dword [0x5293a4]
lea ecx, [esp + 0xc4]
mov dword [esp + 0x2c], esi
mov esi, edi
mov dword [esp + 0x28], ecx
shl eax, 2
neg eax
mov dword [esp + 0x24], eax
mov eax, ebx
jmp 0x4af9bf
mov eax, dword [esp + 0xc4]
add eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
sub esi, 1
xor ecx, ecx
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x58]
mov dword [0x5293a8], esi
call fcn.004ad1c0
test eax, eax
jne 0x4af9fc
mov eax, dword [esp + 0xc4]
mov edx, dword [eax]
test edx, edx
je 0x4af9fc
and edx, 1
cmove ebx, eax
cmove edi, esi
test esi, esi
jne 0x4af9b8
mov esi, dword [esp + 0x2c]
mov eax, dword [ebx]
mov dword [0x5293a8], edi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x24], 0
jmp 0x4af79c
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp + 4], 4
mov dword [sym.zsh.exe_zlemetacs], 0
mov ebx, eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp], eax
call sym.zsh.exe_foredel
mov dword [esp], ebx
call sym.zsh.exe_spaceinline
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sub.cygwin1.dll_strncpy
mov eax, dword [sym.zsh.exe_origcs]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [sym.zsh.exe_zlemetacs], eax
lea eax, [esp + 0xe0]
call fcn.004ad280
mov dword [esp + 0x50], 0
mov edi, dword [0x5293a8]
mov dword [esp + 0x24], 1
jmp 0x4ae853
mov ebx, ebp
mov dword [esp + 0x98], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc8], edx
mov ebp, dword [esp + 0x28]
mov dword [0x5293ac], ebx
mov dword [esp + 0xc4], eax
jmp 0x4af3da
xor eax, eax
jmp 0x4af1dd
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4afd12
mov dword [esp + 0x3c], 1
mov eax, dword [0x529084]
mov ebx, 0x529084
jmp 0x4af79c
mov dword [esp], 0
xor ebx, ebx
call sym.zsh.exe_selectlocalmap
mov eax, dword [esp + 0x34]
mov dword [0x529388], 0xffffffff
mov dword [0x52938c], 0xffffffff
test eax, eax
mov dword [0x5293b4], 0xffffffff
mov dword [0x529368], 0
mov dword [0x529384], 0
mov dword [0x5293b0], 0
mov dword [esp + 0x38], 0
je 0x4af1a8
jmp 0x4af152
mov dword [esp + 0x24], 0
mov edi, dword [0x5293a8]
mov dword [esp + 0x50], 0
jmp 0x4ae853
call sym.zsh.exe_ungetkeycmd
xor ebx, ebx
mov dword [esp + 0x38], 0
test ebp, ebp
jne 0x4af0e0
mov dword [esp], 0
call sym.zsh.exe_selectlocalmap
mov ecx, dword [esp + 0x4c]
mov dword [0x529388], 0xffffffff
mov dword [0x52938c], 0xffffffff
mov dword [0x5293b4], 0xffffffff
mov dword [0x529368], 0
mov dword [0x529384], 0
mov dword [0x5293b0], 0
mov dword [sym.zsh.exe_listshown], 1
mov dword [sym.zsh.exe_clearlist], 1
test ecx, ecx
je 0x4af254
mov dword [sym.zsh.exe_menucmp], 1
xor eax, eax
jmp 0x4af1dd
mov eax, dword [0x529084]
mov eax, dword [eax]
mov dword [esp], eax
call sym.zsh.exe_do_single
jmp 0x4af4ad
mov eax, dword [esp + 0xc4]
xor edi, edi
mov dword [esp + 0x2c], eax
mov ebx, dword [0x5293a0]
mov eax, dword [0x5293a8]
sub ebx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x58]
jmp 0x4afca5
add eax, 1
mov dword [0x5293a8], eax
mov eax, dword [0x5293a4]
shl eax, 2
add dword [esp + 0xc4], eax
lea edx, [esp + 0xc4]
xor ecx, ecx
mov eax, ebx
call fcn.004ad1c0
mov edx, dword [esp + 0xc4]
mov eax, dword [edx]
test eax, eax
je 0x4afca0
test al, 1
je 0x4afcd7
mov eax, dword [0x5293a8]
cmp eax, dword [esp + 0x24]
jne 0x4afc68
test edi, 2
jne 0x4afcef
mov eax, dword [esp + 0x24]
imul eax, dword [0x5293a4]
or edi, 1
mov dword [0x5293a8], 0
shl eax, 2
sub dword [esp + 0xc4], eax
jmp 0x4afc7f
mov ebx, edx
cmp edi, 1
je 0x4afe4c
mov dword [esp + 0x24], 0
jmp 0x4af79c
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [0x5293a8], eax
mov eax, dword [ebx]
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x24], 0
jmp 0x4af79c
mov dword [esp + 0x50], 0
mov edi, dword [0x5293a8]
mov dword [esp + 0x3c], 1
jmp 0x4ae853
xor edi, edi
mov eax, dword [0x5293a8]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jmp 0x4afd9c
test edi, 2
jne 0x4b0020
mov eax, dword [0x5293a0]
or edi, 1
sub eax, 1
mov dword [0x5293a8], eax
imul eax, dword [0x5293a4]
lea edx, [edx + eax*4]
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc4], edx
xor ecx, ecx
lea edx, [esp + 0xc4]
call fcn.004ad1c0
mov ebx, dword [esp + 0xc4]
mov eax, dword [ebx]
mov edx, ebx
test eax, eax
je 0x4afd97
test al, 1
je 0x4afdb4
mov eax, dword [0x5293a8]
test eax, eax
je 0x4afd45
sub eax, 1
mov dword [0x5293a8], eax
mov eax, dword [0x5293a4]
shl eax, 2
sub edx, eax
jmp 0x4afd6b
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], 0
cmp edi, 1
jne 0x4af79c
mov ecx, dword [0x5293ac]
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x58]
je 0x4aff36
mov dword [esp + 0x58], ecx
jmp 0x4af79c
mov dword [esp + 0x24], 0
xor ebx, ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc4], ebx
mov dword [0x5293a8], eax
mov eax, dword [ebx]
jmp 0x4afce2
mov dword [esp + 0x38], 0
mov ebx, 1
mov dword [esp + 0x4c], 1
jmp 0x4af0fe
cmp byte [esp + 0x28], 0
mov dword [esp + 0x40], esi
mov ebx, esi
mov esi, dword [esp + 0x48]
je 0x4ae330
mov dword [0x4eb870], ebx
mov esi, ebx
jmp 0x4ae330
mov ebx, dword [esp + 0xc4]
xor edi, edi
mov eax, dword [0x5293a4]
mov ecx, dword [0x5293ac]
lea edx, [eax - 1]
mov dword [esp + 0x28], ecx
mov eax, ebx
mov dword [esp + 0x24], edx
shl edx, 2
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x24], ecx
je 0x4afea8
add ecx, 1
add eax, 4
mov edx, dword [eax]
test edx, edx
je 0x4afe6b
test dl, 1
jne 0x4afe6b
cmp dword [esp + 0x28], ecx
je 0x4aff17
cmp edx, dword [ebx]
je 0x4afe6b
mov dword [0x5293ac], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x28], ecx
jmp 0x4afef4
test edi, 1
jne 0x4afee4
sub eax, dword [esp + 0x2c]
or edi, 2
xor ecx, ecx
jmp 0x4afe77
mov dword [esp], sym.zsh.exe_zlenoargs
call sym.zsh.exe_redisplay
mov dword [esp + 0x50], 0
mov edi, dword [0x5293a8]
mov dword [0x4eb868], 0xffffffd6
jmp 0x4ae853
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc4], ebx
mov dword [0x5293ac], eax
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], ebx
cmp edi, 2
je 0x4afc47
mov eax, dword [ebx]
jmp 0x4afce2
mov dword [esp + 0xc4], eax
jmp 0x4afef4
mov eax, dword [0x5293ac]
xor edi, edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x2c], eax
mov eax, dword [0x5293a4]
mov ecx, dword [esp + 0x28]
sub eax, 1
lea ebx, [eax*4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
test ecx, ecx
jne 0x4afff0
test edi, 1
jne 0x4b0004
mov ecx, dword [esp + 0x24]
add eax, dword [esp + 0x30]
or edi, 2
mov edx, dword [eax]
test edx, edx
je 0x4aff55
test dl, 1
jne 0x4aff55
cmp dword [esp + 0x28], ecx
je 0x4afffb
mov ebx, dword [esp + 0x2c]
cmp edx, dword [ebx]
je 0x4aff55
mov dword [0x5293ac], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x58], eax
cmp edi, 2
jne 0x4afe00
mov ecx, dword [esp + 0x24]
mov eax, ecx
sub eax, dword [esp + 0x58]
mov dword [0x5293ac], ecx
lea eax, [ebx + eax*4]
lea ebx, [esp + 0xc4]
mov dword [esp + 0xc4], eax
mov eax, ecx
mov edx, ebx
xor ecx, ecx
mov ebx, eax
call fcn.004ad1c0
mov dword [esp + 0x58], ebx
jmp 0x4afd2f
sub ecx, 1
sub eax, 4
jmp 0x4aff74
mov dword [esp + 0xc4], eax
jmp 0x4aff9e
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x28]
mov dword [0x5293ac], eax
jmp 0x4aff9e
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc4], ebx
mov dword [0x5293a8], eax
mov eax, dword [ebx]
jmp 0x4af79c
mov dword [0x5293ac], 0
cmp byte [esp + 0x24], 0
je 0x4af6fd
mov dword [0x5293a8], edi
jmp 0x4af6fd
mov dword [esp + 0x24], 0
mov edi, dword [0x5293a8]
mov dword [esp + 0x50], 0
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x3c], 1
jmp 0x4ae853
mov dword [esp], sym.zsh.exe_zlenoargs
call sym.zsh.exe_clearscreen
mov dword [esp + 0x50], 0
mov edi, dword [0x5293a8]
mov dword [0x4eb868], 0xffffffd6
jmp 0x4ae853
mov edi, dword [esp + 0x20]
cmp edi, 0x4ec270
sete al
cmp edi, 0x4eca68
sete dl
or al, dl
jne 0x4b0268
cmp edi, 0x4ec030
je 0x4b0268
cmp dword [esp + 0x20], 0x4ec078
je 0x4b058d
cmp dword [esp + 0x20], 0x4ec2b8
je 0x4b030f
mov eax, dword [esp + 0x20]
cmp eax, 0x4ecc90
je 0x4afe43
cmp eax, 0x4ec3d8
je 0x4afe43
mov eax, dword [esp + 0x20]
cmp eax, 0x4eca20
sete dl
cmp eax, 0x4ebfb8
sete al
or dl, al
mov edi, edx
jne 0x4aff20
mov ebx, dword [esp + 0x20]
cmp ebx, 0x4ec090
sete al
cmp ebx, 0x4ec060
sete dl
or eax, edx
cmp ebx, 0x4ec0a8
sete dl
or eax, edx
cmp ebx, 0x4ecab0
sete dl
or al, dl
jne 0x4b0bfd
mov edi, dword [esp + 0x20]
cmp edi, 0x4ec2a0
sete dl
cmp edi, 0x4ec2d0
sete cl
or edx, ecx
cmp edi, 0x4ec2e8
sete cl
or edx, ecx
cmp edi, 0x4ecbb8
sete cl
or dl, cl
mov edi, edx
jne 0x4b0ba1
mov eax, dword [esp + 0x20]
cmp eax, 0x4ecc78
je 0x4b0ad6
cmp eax, 0x4ecc60
je 0x4b0ad6
cmp dword [esp + 0x20], 0x4eca08
je 0x4b0a18
mov edi, dword [esp + 0x20]
cmp edi, 0x4ec108
sete al
cmp edi, 0x4ec390
sete dl
or eax, edx
cmp edi, 0x4ec3a8
sete dl
or eax, edx
cmp edi, 0x4ec5e8
sete dl
or eax, edx
cmp edi, 0x4ec600
sete dl
or al, dl
je 0x4b0447
cmp dword [esp + 0x24], 1
je 0x4b039d
mov dword [esp], 0
mov dword [sym.zsh.exe_comprecursive], 1
call sym.zsh.exe_do_menucmp
mov eax, dword [0x529084]
or edi, 0xffffffff
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x24], 0
mov dword [0x5293a8], 0xffffffff
mov dword [0x5293b4], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x3c], 1
jmp 0x4ae853
mov edi, dword [0x5293a8]
mov edx, dword [sym.zsh.exe_zterm_lines]
mov eax, edi
test edi, edi
je 0x4b0314
lea eax, [edx - 1]
sub eax, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x4afde6
mov eax, dword [0x5293a4]
mov dword [esp + 0x24], 0
xor ebx, ebx
shl eax, 2
neg eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
sub edi, 1
xor ecx, ecx
add dword [esp + 0xc4], eax
mov eax, dword [esp + 0x58]
mov dword [0x5293a8], edi
call fcn.004ad1c0
test eax, eax
jne 0x4b02f9
sub dword [esp + 0x30], 1
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x24], edi
je 0x4afdf0
test edi, edi
jne 0x4b02bc
mov edi, dword [esp + 0x30]
cmp dword [esp + 0x2c], edi
je 0x4b030f
test ebx, ebx
jne 0x4afdf0
mov eax, dword [0x5293a8]
mov edi, eax
mov eax, dword [0x5293a0]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
sub eax, 1
cmp edi, eax
jge 0x4afa04
mov eax, dword [0x5293a4]
lea ecx, [esp + 0xc4]
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], ecx
shl eax, 2
mov dword [esp + 0x2c], eax
lea eax, [edi + 1]
mov esi, eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov dword [0x5293a8], esi
add dword [esp + 0xc4], eax
mov eax, dword [esp + 0x58]
call fcn.004ad1c0
test eax, eax
jne 0x4b038b
mov eax, dword [esp + 0xc4]
mov edx, dword [eax]
test edx, edx
je 0x4b038b
and edx, 1
cmove ebx, eax
cmove edi, esi
add esi, 1
cmp esi, dword [esp + 0x24]
jne 0x4b0351
mov esi, dword [esp + 0x30]
jmp 0x4afa04
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [esp + 4], 4
mov dword [sym.zsh.exe_origline], eax
mov eax, dword [esp + 0xcc]
mov dword [sym.zsh.exe_zlemetacs], 0
mov dword [sym.zsh.exe_origcs], eax
mov eax, dword [esp + 0xd0]
mov dword [sym.zsh.exe_origll], eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp], eax
call sym.zsh.exe_foredel
mov eax, dword [sym.zsh.exe_origll]
mov dword [esp], eax
call sym.zsh.exe_spaceinline
mov eax, dword [sym.zsh.exe_origll]
mov dword [esp + 8], eax
mov eax, dword [sym.zsh.exe_origline]
mov dword [esp + 4], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sub.cygwin1.dll_strncpy
mov eax, dword [sym.zsh.exe_origcs]
mov dword [esp + 0x50], 0
mov edi, dword [0x5293a8]
mov dword [sym.zsh.exe_zlemetacs], eax
mov eax, dword [esp + 0xd4]
mov dword [0x52908c], eax
jmp 0x4ae853
mov ebx, dword [edi + 4]
mov dword [esp + 4], str.menu_select
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0208
mov dword [esp + 4], 0x4fd016
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0208
mov dword [esp + 4], 0x4fd024
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0208
mov dword [esp + 4], 0x4fd037
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0208
mov dword [esp + 4], 0x4fd051
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0208
mov dword [esp + 4], 0x4fd05f
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0208
cmp dword [esp + 0x20], 0x4ec780
je 0x4b0ce5
mov dword [esp + 4], 0x4fd077
mov dword [esp], ebx
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4b0ce5
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cmp edi, 0x4ec468
sete byte [esp + 0x50]
cmp edi, 0x4ec480
movzx ebx, byte [esp + 0x50]
sete al
sub ecx, 2
or al, bl
mov dword [esp + 0xa8], ecx
mov byte [esp + 0xbd], al
jne 0x4b068a
cmp ecx, 1
jbe 0x4b0598
cmp dword [esp + 0x20], 0x4ec918
je 0x4afb7b
call sym.zsh.exe_ungetkeycmd
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x4af374
mov eax, dword [eax]
mov dword [esp + 0x38], 1
and eax, 2
mov ebx, eax
je 0x4af0fe
or dword [esp + 0x4c], 2
mov ebx, 2
mov dword [esp + 0x38], 0
jmp 0x4af0fe
mov edi, dword [0x5293a8]
jmp 0x4af98a
cmp edi, 0x4ec858
sete al
cmp edi, 0x4ec840
sete dl
or al, dl
jne 0x4b068a
cmp edi, 0x4ec0c0
je 0x4b068a
cmp dword [esp + 0x20], 0x4ebfd0
jne 0x4b053f
mov eax, dword [0x5291ac]
test eax, eax
je 0x4b0646
mov edx, dword [eax]
test edx, edx
je 0x4b05e1
mov dword [0x5291ac], edx
mov edx, dword [eax + 4]
cmp dword [eax + 0x10], 1
mov ebx, dword [eax + 0xc]
mov dword [0x5291a8], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x58], ebx
mov dword [0x5293a8], edx
mov edx, dword [eax + 0x14]
mov dword [0x5293ac], ebx
mov dword [0x5291a4], edx
mov edx, dword [eax + 0x18]
sbb eax, eax
add eax, 3
mov dword [esp + 0x24], eax
test edx, edx
je 0x4b067c
lea eax, [esp + 0xc4]
mov dword [esp + 0xc4], edx
xor ecx, ecx
mov edx, eax
mov eax, dword [esp + 0x58]
call fcn.004ad1c0
mov ebx, dword [esp + 0xc4]
mov eax, dword [ebx]
jmp 0x4af79c
mov eax, dword [0x5293ac]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x24], 3
mov dword [esp + 0x58], eax
mov eax, dword [ebx]
jmp 0x4af79c
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
call fcn.004ad1c0
mov ebx, dword [esp + 0xc4]
mov eax, dword [ebx]
jmp 0x4af79c
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x30], ebp
cmp dword [esp + 0xa8], 1
mov dword [esp + 0x48], esi
setbe byte [esp + 0xbc]
cmp edi, 0x4ec840
movzx ebx, byte [esp + 0xbc]
mov dword [esp + 0xac], eax
sete al
cmp edi, 0x4ec858
sete dl
or eax, edx
cmp edi, 0x4ec0c0
sete dl
and ebx, 1
or eax, edx
mov byte [esp + 0xbf], bl
mov byte [esp + 0x83], al
lea eax, [esp + 0xc4]
mov dword [esp + 0x28], eax
call sub.cygwin1.dll___locale_mb_cur_max
add eax, 1
mov dword [esp], eax
call sym.zsh.exe_zhalloc
cmp dword [esp + 0xa8], 1
mov ebx, eax
jbe 0x4b0c74
cmp byte [esp + 0x83], 0
jne 0x4b0e27
mov dword [0x5291a8], 0x4fcf20
mov dword [0x5291ac], 0
mov dword [0x5291a4], 0
movzx eax, byte [esp + 0xbf]
xor ebx, ebx
mov byte [esp + 0x84], al
movzx eax, byte [esp + 0x50]
mov byte [esp + 0x2c], al
mov eax, dword [0x5291a4]
mov dword [esp], 0x1c
mov ecx, dword [esp + 0xc4]
mov esi, dword [0x5293ac]
and eax, 2
mov ebp, dword [0x5293a8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xb0], eax
call sym.zsh.exe_zhalloc
mov edi, eax
mov eax, dword [0x5291ac]
mov dword [0x5291ac], edi
mov dword [edi], eax
mov eax, dword [0x5291a8]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov ecx, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0x5293a8]
mov dword [edi + 0x18], ecx
mov dword [esp + 0x70], eax
mov dword [edi + 8], eax
mov eax, dword [0x5293ac]
mov dword [esp + 0x68], eax
mov dword [edi + 0xc], eax
movzx eax, byte [esp + 0x2c]
mov dword [edi + 0x10], eax
mov eax, dword [0x5291a4]
mov dword [edi + 0x14], eax
test ebx, ebx
je 0x4b0809
mov eax, dword [0x5291a8]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [0x5291a8], eax
mov eax, dword [0x5293a8]
mov dword [esp + 0x70], eax
mov eax, dword [0x5293ac]
mov dword [esp + 0x68], eax
mov edi, dword [0x5293a4]
cmp byte [esp + 0x2c], 0
mov ecx, dword [0x528fd4]
mov dword [esp + 0x64], edi
je 0x4b0e05
lea eax, [edi - 1]
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov edi, dword [0x529360]
mov eax, dword [esp + 0x70]
imul eax, dword [esp + 0x64]
add eax, dword [esp + 0x68]
cmp byte [esp + 0x84], 0
mov dword [esp + 0x88], edi
lea edi, [edi + eax*4]
je 0x4b09fd
mov dword [esp + 0x9c], 1
mov eax, dword [edi]
mov dword [esp + 0x84], eax
mov eax, dword [0x5291a8]
sub ecx, 1
mov edx, dword [esp + 0x88]
mov dword [esp + 0x8c], 0
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
imul eax, ecx
add eax, dword [esp + 0x94]
cmp byte [esp + 0x2c], 0
lea eax, [edx + eax*4]
cmove eax, edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0xb8], eax
mov eax, 0
cmovne eax, ecx
cmp dword [esp + 0x68], edx
mov dword [esp + 0x88], edx
sete cl
cmp dword [esp + 0x70], eax
mov dword [esp + 0xb4], eax
sete al
and ecx, eax
cmp dword [esp + 0x9c], 0
mov byte [esp + 0xbe], cl
jne 0x4b09cc
jmp 0x4b097d
sub esi, 1
jns 0x4b0910
mov esi, dword [esp + 0x94]
sub ebp, 1
cmp dword [esp + 0x88], esi
jne 0x4b0e80
cmp dword [esp + 0x54], ebp
jne 0x4b0e80
cmp dword [esp + 0x8c], 0
jne 0x4b0e6a
cmp byte [esp + 0xbe], 0
jne 0x4b0e6a
mov eax, dword [esp + 0x70]
or dword [0x5291a4], 2
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x8c], 1
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x88], eax
mov ecx, dword [edi]
mov eax, ecx
mov dword [esp + 0x9c], ecx
and eax, 0xfffffffe
je 0x4b09cc
cmp ecx, dword [esp + 0x84]
je 0x4b09cc
mov ecx, dword [eax]
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x4b0dfe
mov ecx, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.cygwin1.dll_strstr
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x84], ecx
test eax, eax
jne 0x4b0d0a
cmp byte [esp + 0x2c], 0
jne 0x4b0901
add esi, 1
cmp esi, dword [esp + 0x64]
jne 0x4b09e5
add ebp, 1
xor esi, esi
cmp dword [esp + 0x88], esi
jne 0x4b09f8
cmp dword [esp + 0x54], ebp
je 0x4b0927
add edi, 4
jmp 0x4b097d
mov dword [esp + 0x84], 0
mov dword [esp + 0x9c], 0
jmp 0x4b087c
mov edi, dword [esp + 0xc8]
lea ebx, [esp + 0xc4]
mov dword [esp + 0x28], ebx
lea ebx, [esp + 0xc8]
mov eax, dword [edi]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], eax
mov eax, dword [0x5293a8]
mov dword [esp + 0x30], eax
mov ebx, eax
jmp 0x4b0ab1
mov ebx, dword [0x5293a0]
sub ebx, 1
imul edx, ebx
lea ecx, [edx*4]
lea edx, [eax + ecx]
lea eax, [edi + ecx]
mov dword [esp + 0xc4], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc8], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
mov dword [0x5293a8], ebx
call fcn.004ad1c0
cmp dword [esp + 0x30], ebx
je 0x4af78b
mov edi, dword [esp + 0xc8]
mov eax, dword [edi]
test eax, eax
je 0x4b0aab
cmp eax, dword [esp + 0x2c]
je 0x4b0aab
test al, 1
je 0x4af78b
mov ebx, dword [0x5293a8]
mov eax, dword [esp + 0xc4]
mov edx, dword [0x5293a4]
test ebx, ebx
je 0x4b0a48
lea ecx, [edx*4]
sub ebx, 1
sub eax, ecx
mov edx, eax
mov eax, edi
sub eax, ecx
jmp 0x4b0a61
mov edi, dword [esp + 0xc8]
lea ecx, [esp + 0xc4]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0xc8]
mov eax, dword [edi]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [0x5293a8]
mov dword [esp + 0x30], eax
jmp 0x4b0b63
add eax, 1
shl edx, 2
mov dword [0x5293a8], eax
lea eax, [ecx + edx]
add edx, edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], edx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
call fcn.004ad1c0
mov eax, dword [esp + 0x30]
cmp dword [0x5293a8], eax
je 0x4af78b
mov edi, dword [esp + 0xc8]
mov eax, dword [edi]
test eax, eax
je 0x4b0b5e
cmp eax, dword [esp + 0x2c]
je 0x4b0b5e
test al, 1
je 0x4af78b
mov eax, dword [0x5293a8]
mov ebx, dword [0x5293a0]
mov ecx, dword [esp + 0xc4]
mov edx, dword [0x5293a4]
sub ebx, 1
cmp ebx, eax
jne 0x4b0b04
mov dword [0x5293a8], 0
imul eax, edx
shl eax, 2
sub ecx, eax
sub edi, eax
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edi
jmp 0x4b0b22
mov ebx, dword [0x5293a4]
mov edx, dword [esp + 0xc4]
mov ecx, ebx
sub ecx, dword [0x5293ac]
lea edx, [edx + ecx*4 - 4]
lea ecx, [ebx - 1]
mov dword [esp + 0xc4], edx
mov dword [esp + 0x58], ecx
mov dword [0x5293ac], ecx
jmp 0x4b0bd8
sub edx, 4
sub ecx, 1
mov eax, edi
mov ebx, dword [edx]
test ebx, ebx
je 0x4b0bd0
and ebx, 1
jne 0x4b0bd0
test al, al
je 0x4af78b
mov dword [0x5293ac], ecx
mov dword [esp + 0xc4], edx
jmp 0x4af78b
mov ebx, dword [0x5293ac]
mov edx, dword [esp + 0xc4]
mov dword [0x5293ac], 0
lea ecx, [ebx*4]
sub edx, ecx
xor ecx, ecx
mov dword [esp + 0xc4], edx
jmp 0x4b0c38
add ecx, 1
add edx, 4
mov edi, eax
mov ebx, dword [edx]
test ebx, ebx
je 0x4b0c30
and ebx, 1
jne 0x4b0c30
mov eax, edi
test al, al
je 0x4b0c56
mov dword [0x5293ac], ecx
mov dword [esp + 0xc4], edx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x24], 0
mov dword [esp + 0x58], 0
mov eax, dword [ebx]
jmp 0x4af79c
mov edi, dword [esp + 0x58]
mov eax, edi
sub eax, dword [0x5293ac]
mov dword [0x5293ac], edi
shl eax, 2
add dword [esp + 0xc4], eax
cmp byte [esp + 0x83], 0
jne 0x4b0e27
mov eax, dword [0x5291a8]
cmp byte [eax], 0
jne 0x4b0743
mov eax, dword [0x529164]
test eax, eax
je 0x4b0743
cmp dword [esp + 0x24], 3
sete dl
cmp byte [esp + 0x50], dl
jne 0x4b0743
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x24], 0
mov dword [0x5291a8], eax
jmp 0x4b0743
mov dword [sym.zsh.exe_comprecursive], 1
call sym.zsh.exe_unmetafy_line
mov dword [esp], sym.zsh.exe_zlenoargs
call sym.zsh.exe_reversemenucomplete
call sym.zsh.exe_metafy_line
jmp 0x4b0229
mov dword [0x5293ac], esi
mov dword [0x5293a8], ebp
cmp byte [esp + 0x83], 0
jne 0x4b0de3
xor eax, eax
cmp dword [esp + 0x20], 0x4ec468
sete al
add eax, 2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa0]
cmp byte [eax], 0
je 0x4b0d63
mov eax, dword [0x529164]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [0x5291a8]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [0x529164], eax
test edi, edi
je 0x4b0665
mov eax, dword [0x5293ac]
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0xc4], edi
mov dword [esp + 0x58], eax
call fcn.004ad1c0
cmp byte [esp + 0xbd], 0
je 0x4b0dcd
mov ebx, dword [esp + 0xc4]
cmp dword [esp + 0x8c], 0
mov eax, dword [ebx]
mov edx, dword [eax]
jne 0x4b0dc0
cmp byte [esp + 0xbc], 0
je 0x4b0dc0
mov edi, dword [esp + 0xac]
mov ecx, dword [edi]
cmp dword [ecx], edx
je 0x4b06f7
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
jmp 0x4af79c
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
mov eax, dword [ebx]
jmp 0x4af79c
cmp dword [esp + 0x20], 0x4ec0c0
jne 0x4b0d38
mov dword [esp], ebx
call fcn.004e5e70
jmp 0x4b0d38
mov eax, dword [ecx]
jmp 0x4b09a3
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x90], 0
sub eax, 1
mov dword [esp + 0x94], eax
jmp 0x4b083d
cmp dword [esp + 0x20], 0x4ec858
je 0x4b0ec7
cmp dword [esp + 0x20], 0x4ec0c0
je 0x4b0ebe
cmp dword [sym.zsh.exe_lastchar_wide_valid], 0
jne 0x4b0e88
mov eax, dword [sym.zsh.exe_lastchar]
mov byte [ebx + 1], 0
mov byte [ebx], al
cmp dword [esp + 0x24], 3
mov byte [esp + 0x84], 0
sete byte [esp + 0x2c]
jmp 0x4b075d
mov eax, dword [esp + 0xb0]
xor edi, edi
or eax, 1
mov dword [0x5291a4], eax
jmp 0x4b0d16
sub edi, 4
jmp 0x4b097d
lea edx, [esp + 0xd8]
xor eax, eax
mov ecx, 2
mov edi, edx
rep stosd dword es:[edi], eax
movzx eax, word [sym.zsh.exe_lastchar_wide]
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_wcrtomb
xor edx, edx
test eax, eax
cmovs eax, edx
mov byte [ebx + eax], 0
jmp 0x4b0e53
call sym.zsh.exe_bracketedstring
mov ebx, eax
jmp 0x4b0e53
call sym.zsh.exe_fixunmeta
jmp 0x4b0e3f