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

Disassembly:
push ebp
mov ebp, eax
push edi
mov edi, edx
push esi
push ebx
mov ebx, ecx
sub esp, 0xbc
mov esi, dword [sym.zsh.exe_usemenu]
mov dword [esp + 0x2c], eax
mov eax, dword [sym.zsh.exe_mnum]
mov dword [esp], edx
mov dword [esp + 0x4c], eax
mov eax, dword [sym.zsh.exe_haspattern]
mov dword [esp + 0x50], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x30], eax
and eax, 0x1c
or dword [0x528e8c], eax
cmp dword [sym.zsh.exe_incompfunc], 1
mov eax, dword [0x528e98]
je 0x48efa0
test eax, eax
je 0x48fc11
mov edx, dword [eax]
mov ecx, dword [esp + 0x2c]
test edx, edx
jne 0x48ef86
jmp 0x48efa8
mov edx, dword [edx]
test edx, edx
je 0x48efa8
cmp ecx, dword [edx + 8]
jne 0x48ef80
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
je 0x48fc11
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov edx, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.zsh.exe_insertlinknode
cmp dword [sym.zsh.exe_incompfunc], 1
je 0x48f020
mov edx, dword [sym.zsh.exe_allccs]
test edx, edx
je 0x48f020
mov eax, dword [edx]
mov ecx, dword [esp + 0x2c]
test eax, eax
jne 0x48efe6
jmp 0x48f009
mov eax, dword [eax]
test eax, eax
je 0x48f009
cmp ecx, dword [eax + 8]
jne 0x48efe0
mov eax, dword [0x528e98]
mov edx, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.zsh.exe_uremnode
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [edx + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
cmp byte [0x522ce7], 0
jne 0x48f048
mov eax, dword [sym.zsh.exe_we]
cmp dword [sym.zsh.exe_zlemetacs], eax
je 0x48f048
mov dword [esp], edi
mov dword [sym.zsh.exe_zlemetacs], eax
call sub.cygwin1.dll_strlen
mov dword [sym.zsh.exe_offs], eax
mov dword [esp], edi
call sym.zsh.exe_dupstring
mov edi, dword [esp + 0x2c]
mov dword [sym.zsh.exe_usemenu], esi
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0xc]
mov dword [sym.zsh.exe_ispattern], 0
mov dword [0x528e84], 0
mov edx, eax
mov ecx, eax
and eax, 1
mov dword [0x528e88], 0
shr edx, 3
shr ecx, 1
mov dword [0x528e40], 0
and edx, 8
and ecx, 0x10
mov dword [0x528e44], 0
or edx, ecx
mov dword [0x528e48], 0
mov esi, edx
mov dword [0x528e4c], 0
or esi, eax
mov eax, dword [edi + 0x44]
mov dword [0x528e50], 0
mov dword [0x528e54], 0
mov dword [0x528e60], 0
mov dword [sym.zsh.exe_ripre], 0
mov dword [sym.zsh.exe_ipre], 0
mov dword [0x528e58], 0
mov dword [0x528e5c], 0
mov dword [0x528e64], 0
mov dword [0x528e68], 0
mov dword [0x528e6c], 0
mov dword [0x528e70], 0
mov dword [0x528e7c], 0
mov dword [0x528e80], 0
mov dword [0x528e74], 0
mov dword [0x528e78], 0
mov dword [0x528ea4], edi
mov dword [sym.zsh.exe_mflags], 0
mov dword [esp + 0x5c], esi
test eax, eax
je 0x48f18b
mov dword [esp], 0
call sym.zsh.exe_endcmgroup
mov dword [esp + 4], esi
mov eax, dword [edi + 0x44]
mov dword [esp], eax
call sym.zsh.exe_begcmgroup
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x48f1b6
mov dword [esp], 0
call sym.zsh.exe_endcmgroup
mov eax, dword [esp + 0x5c]
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.zsh.exe_begcmgroup
mov eax, dword [esp + 0x2c]
test byte [eax + 8], 4
je 0x48f1c7
or dword [sym.zsh.exe_mflags], 2
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x48fbc0
mov dword [esp], 0x10
call sym.zsh.exe_zhalloc
mov dword [sym.zsh.exe_curexpl], eax
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
test ebx, ebx
jne 0x48fbd2
mov dword [sym.zsh.exe_ipre], 0
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x54]
test edx, edx
je 0x48f260
mov eax, dword [sym.zsh.exe_mstack]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa4]
mov dword [sym.zsh.exe_mstack], eax
mov eax, dword [sym.zsh.exe_mnum]
test eax, eax
je 0x4916d5
mov eax, dword [sym.zsh.exe_matchers]
mov dword [esp + 8], edx
mov edx, dword [eax + 4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.zsh.exe_insertlinknode
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x54]
add dword [eax], 1
mov ebp, dword [sym.zsh.exe_mnum]
test ebp, ebp
je 0x48f27d
mov edi, dword [sym.zsh.exe_mstack]
test edi, edi
je 0x48fc3e
call sym.zsh.exe_update_bmatchers
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x28]
test edi, edi
je 0x48f297
mov eax, dword [esp + 0x40]
cmp byte [eax], 0
jne 0x4916e9
xor edi, edi
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x48f318
mov dword [esp], eax
call sym.zsh.exe_rembslash
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_strlen
mov ebx, eax
lea eax, [esi + eax - 1]
cmp esi, eax
jbe 0x48f2ca
jmp 0x48f2cf
sub eax, 1
sub ebx, 1
cmp esi, eax
ja 0x48f2cf
cmp byte [eax], 0x20
je 0x48f2c0
mov byte [eax + 1], 0
test edi, edi
je 0x491e50
cmp byte [edi], 0
je 0x48f318
mov dword [esp], edi
call sub.cygwin1.dll_strlen
mov ebp, eax
cmp eax, ebx
jl 0x48f318
sub ebp, ebx
cmp ebp, dword [sym.zsh.exe_offs]
jl 0x48f318
add edi, ebp
mov dword [esp], esi
mov dword [esp + 4], edi
call sub.cygwin1.dll_strcmp
test eax, eax
jne 0x48f318
mov eax, dword [esp + 0x40]
mov byte [eax + ebp], 0
lea esi, [esi]
mov eax, dword [sym.zsh.exe_incompfunc]
mov dword [esp + 0x58], eax
test eax, eax
jne 0x48f350
mov eax, dword [esp + 0x40]
movzx eax, byte [eax]
cmp al, 0x98
je 0x48fc51
cmp al, 0x8d
je 0x48fc51
mov byte [0x528e24], 0
jmp 0x48fc56
mov byte [0x528e24], 0
mov edi, dword [esp + 0x2c]
mov eax, dword [sym.zsh.exe_offs]
cmp edi, 0x528ca0
mov dword [esp + 0x68], eax
sete byte [esp + 0x64]
test byte [edi + 0xa], 0x80
je 0x4915ad
mov eax, dword [esp + 0x40]
mov byte [eax], 0
cmp byte [0x522cca], 0
mov dword [sym.zsh.exe_offs], 0
jne 0x48fc20
mov dword [esp + 0x58], 1
mov edx, 1
xor ecx, ecx
mov dword [esp], edx
mov dword [0x528e3c], ecx
call sym.zsh.exe_zhalloc
mov ebx, dword [sym.zsh.exe_comppatmatch]
mov dword [0x528e80], eax
mov edi, eax
test ebx, ebx
je 0x49187c
mov esi, dword [0x528e3c]
mov dword [esp + 0x30], esi
test esi, esi
jle 0x48f42b
mov edx, dword [esp + 0x40]
mov ecx, eax
xor ebx, ebx
mov ebp, 0x2d
jmp 0x48f405
cmp al, 0x9b
cmove eax, ebp
add ebx, 1
add edx, 1
add ecx, 1
mov byte [ecx - 1], al
cmp ebx, esi
jge 0x48f42b
movzx eax, byte [edx]
cmp al, 0x83
jne 0x48f3f0
mov byte [ecx], 0x83
movzx eax, byte [edx + 1]
add ebx, 1
add ecx, 1
add edx, 1
add ebx, 1
mov byte [ecx], al
add edx, 1
add ecx, 1
cmp ebx, esi
jl 0x48f405
mov eax, dword [esp + 0x30]
mov ebx, 1
mov byte [edi + eax], 0
mov eax, dword [sym.zsh.exe_instring]
mov dword [esp], edi
test eax, eax
cmove eax, ebx
mov dword [esp + 4], eax
call sym.zsh.exe_quotestring
mov dword [0x528e44], eax
mov eax, dword [esp + 0x40]
add eax, dword [sym.zsh.exe_offs]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov esi, eax
mov dword [0x528e7c], eax
call sub.cygwin1.dll_strlen
mov dword [esp], esi
mov dword [0x528e38], eax
mov eax, dword [sym.zsh.exe_instring]
test eax, eax
cmove eax, ebx
mov dword [esp + 4], eax
call sym.zsh.exe_quotestring
movzx edi, byte [0x528e24]
mov esi, dword [0x528e80]
mov dword [0x528e40], eax
mov eax, edi
cmp al, 0x98
je 0x49144e
movzx eax, byte [esi]
cmp al, 0x85
setne cl
test al, al
setne dl
test cl, dl
mov edx, esi
jne 0x48f4d5
jmp 0x48f4d9
movzx eax, byte [edx + 1]
add edx, 1
test al, al
setne bl
cmp al, 0x85
setne cl
test bl, cl
je 0x48f4d9
cmp al, 0x93
jne 0x48f4c0
mov ecx, edi
mov eax, esi
test cl, cl
je 0x48f4eb
cmp dword [sym.zsh.exe_ispar], 1
adc eax, 0
mov dword [esp + 0x94], eax
cmp byte [edx], 0
jne 0x490e30
movzx edx, byte [esi]
cmp dl, 0x8d
je 0x490e30
cmp dl, 0x98
je 0x490e30
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov edx, dword [sym.zsh.exe_instring]
mov ecx, 1
mov dword [esp], eax
mov dword [0x528e78], eax
test edx, edx
cmove edx, ecx
mov dword [esp + 4], edx
call sym.zsh.exe_quotestring
mov ecx, dword [0x528e7c]
mov dword [0x528e4c], eax
movzx eax, byte [ecx]
cmp al, 0x85
je 0x490ee3
mov edx, ecx
test al, al
jne 0x48f577
jmp 0x490eeb
movzx eax, byte [edx + 1]
add edx, 1
test al, al
je 0x490eeb
cmp al, 0x85
je 0x490ee3
cmp al, 0x93
jne 0x48f560
mov eax, ecx
call fcn.0048dc10
mov edx, dword [sym.zsh.exe_instring]
mov ecx, 1
mov dword [esp], eax
mov dword [0x528e74], eax
test edx, edx
cmove edx, ecx
xor ebp, ebp
mov dword [esp + 4], edx
call sym.zsh.exe_quotestring
mov ebx, dword [0x528e78]
mov dword [0x528e48], eax
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov esi, dword [sym.zsh.exe_ispattern]
mov dword [esp + 0x38], eax
mov dword [0x528e34], eax
lea eax, [ebx + eax - 1]
cmp ebx, eax
ja 0x491f31
xor edi, edi
lea esi, [esi]
movzx ecx, byte [eax]
mov edx, ecx
test byte [ecx + ecx + sym.zsh.exe_typtab], 0x10
je 0x48fdc0
cmp ebx, eax
jae 0x48fdb0
cmp edi, 1
mov edx, 1
adc edx, 0
or esi, edx
mov dword [sym.zsh.exe_ispattern], esi
sub eax, 1
cmp ebx, eax
ja 0x48f616
cmp esi, 3
jne 0x48f5d8
test edi, edi
je 0x48f5d8
mov dword [esp + 0x60], edi
mov edi, dword [0x528e74]
mov dword [esp], edi
call sub.cygwin1.dll_strlen
mov dword [esp + 0x34], 0
mov dword [esp + 0x44], eax
mov dword [0x528e30], eax
movzx eax, byte [edi]
test al, al
je 0x491f24
mov dword [esp + 0x30], 0
xor edx, edx
nop
movzx ecx, al
test byte [ecx + ecx + sym.zsh.exe_typtab], 0x10
je 0x48fde0
cmp dword [esp + 0x30], 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 4
or edx, eax
movzx eax, byte [edi + 1]
add edi, 1
test al, al
je 0x48f687
test edx, edx
je 0x48f650
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x48f650
or esi, edx
mov eax, dword [sym.zsh.exe_comppatmatch]
mov dword [sym.zsh.exe_ispattern], esi
test eax, eax
je 0x490ea8
cmp byte [eax], 0
je 0x490ea8
mov eax, dword [0x528e88]
test esi, esi
je 0x48f746
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x44]
lea eax, [eax + edi + 2]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov ebx, eax
mov eax, dword [0x528e78]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [0x528e34]
test eax, eax
je 0x491c41
cmp byte [ebx + eax - 1], 0x87
mov edx, eax
je 0x48f706
mov ecx, dword [sym.zsh.exe_comppatmatch]
test ecx, ecx
je 0x491e15
cmp byte [ecx], 0x2a
je 0x491e15
mov eax, dword [0x528e74]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov dword [esp], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call sym.zsh.exe_patcompile
mov ebx, dword [0x528e78]
mov dword [sym.zsh.exe_haspattern], 1
mov dword [0x528e88], eax
test eax, eax
jne 0x48f75a
jmp 0x49183e
cmp al, 0x9b
jne 0x48f757
mov byte [ebx], 0x2d
add ebx, 1
movzx eax, byte [ebx]
test al, al
jne 0x48f750
mov eax, dword [0x528e74]
movzx edx, byte [eax]
test dl, dl
je 0x48f783
lea esi, [esi]
cmp dl, 0x9b
jne 0x48f778
mov byte [eax], 0x2d
movzx edx, byte [eax + 1]
add eax, 1
test dl, dl
jne 0x48f770
mov eax, dword [0x528e80]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [0x528e7c]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
test eax, 0x800000
jne 0x48f7b5
mov dword [sym.zsh.exe_hasmatched], 1
test eax, 0x10000003
jne 0x48f7cb
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x48fe3e
mov edi, dword [esp + 0x34]
test ebp, ebp
cmove ebp, dword [0x528e78]
test edi, edi
je 0x4916c1
cmp byte [ebp], 0x2f
mov eax, 0x4fbb45
je 0x491915
mov dword [0x528e70], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [0x528e6c], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
cmp eax, dword [sym.zsh.exe_wb]
je 0x491586
add eax, dword [sym.zsh.exe_zlemetaline]
movzx esi, byte [eax]
mov byte [eax], 0
xor eax, eax
mov ecx, dword [sym.zsh.exe_qipre]
mov ebx, dword [sym.zsh.exe_zlemetaline]
test ecx, ecx
je 0x48f85f
movzx edx, byte [ecx]
test dl, dl
mov byte [esp + 0x38], dl
je 0x48f85f
mov dword [esp], ecx
call sub.cygwin1.dll_strlen
movzx edx, byte [esp + 0x38]
cmp dl, 0x27
sete cl
cmp dl, 0x22
sete dl
or edx, ecx
movzx edx, dl
sub eax, edx
add eax, dword [sym.zsh.exe_wb]
add ebx, eax
mov dword [esp], ebx
call sym.zsh.exe_dupstring
mov edx, dword [sym.zsh.exe_zlemetaline]
mov ecx, esi
mov dword [0x528e68], eax
mov ebx, eax
mov eax, dword [sym.zsh.exe_zlemetacs]
mov byte [edx + eax], cl
mov esi, dword [sym.zsh.exe_brbeg]
test esi, esi
je 0x48f8b6
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x10]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
add eax, edi
add edi, ebx
add eax, ebx
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov esi, dword [esi]
test esi, esi
jne 0x48f890
mov dword [esp + 4], 0x2f
mov dword [esp], ebx
call sub.cygwin1.dll_strrchr
test eax, eax
je 0x491933
mov byte [eax + 1], 0
mov eax, dword [sym.zsh.exe_zlemetacs]
mov esi, dword [sym.zsh.exe_we]
cmp esi, eax
je 0x49159e
mov edi, dword [sym.zsh.exe_zlemetaline]
mov ebx, dword [sym.zsh.exe_qisuf]
lea eax, [edi + esi]
movzx ecx, byte [eax]
mov byte [esp + 0x44], cl
test ebx, ebx
je 0x48f929
cmp byte [ebx], 0
je 0x48f929
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
movzx ecx, byte [ebx + eax - 1]
cmp cl, 0x27
sete dl
cmp cl, 0x22
sete cl
or edx, ecx
movzx edx, dl
sub eax, edx
sub esi, eax
lea eax, [edi + esi]
mov byte [eax], 0
mov eax, dword [sym.zsh.exe_zlemetacs]
add eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp], eax
call sym.zsh.exe_dupstring
movzx ecx, byte [esp + 0x44]
mov dword [esp + 0x38], eax
mov dword [0x528e64], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov byte [eax + esi], cl
mov edi, dword [sym.zsh.exe_brend]
test edi, edi
je 0x48f9b5
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 0x38]
lea esi, [esi]
nop
mov eax, dword [edi + 8]
mov ebx, dword [sym.zsh.exe_we]
sub ebx, dword [sym.zsh.exe_zlemetacs]
sub ebx, dword [edi + 0x10]
mov dword [esp], eax
add ebx, esi
call sub.cygwin1.dll_strlen
mov dword [esp], ebx
mov ebp, eax
call sub.cygwin1.dll_strlen
mov dword [esp + 4], ebx
sub ebx, ebp
add eax, 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.cygwin1.dll_memmove
mov edi, dword [edi]
test edi, edi
jne 0x48f970
mov ebp, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 0x2f
mov dword [esp], eax
call sub.cygwin1.dll_strchr
mov dword [0x528e64], eax
test eax, eax
jne 0x48f9de
mov ebx, dword [esp + 0x30]
test ebx, ebx
jne 0x491e6b
cmp ebp, dword [esp + 0x40]
je 0x490ec0
cmp ebp, dword [0x528e78]
je 0x490ec0
cmp byte [0x528e24], 0
jne 0x490ec0
add ebp, 1
mov dword [esp], ebp
mov ebx, 1
call sym.zsh.exe_dupstring
mov edx, dword [sym.zsh.exe_instring]
mov dword [esp], eax
test edx, edx
mov dword [0x528e5c], eax
cmove edx, ebx
mov dword [esp + 4], edx
call sym.zsh.exe_quotestring
mov edx, dword [0x528e74]
mov dword [0x528e54], eax
mov eax, dword [esp + 0x34]
mov dword [esp], edx
sub eax, edx
mov dword [esp + 4], eax
call sym.zsh.exe_dupstrpfx
mov edx, dword [sym.zsh.exe_instring]
mov dword [esp], eax
test edx, edx
mov dword [0x528e58], eax
cmove edx, ebx
mov dword [esp + 4], edx
call sym.zsh.exe_quotestring
mov dword [0x528e50], eax
mov eax, dword [sym.zsh.exe_comppatmatch]
test eax, eax
je 0x48fa86
cmp byte [eax], 0
je 0x48fa86
test byte [sym.zsh.exe_ispattern], 2
jne 0x491d18
mov eax, dword [0x528e84]
test eax, eax
je 0x491961
movzx eax, byte [0x528e24]
mov dword [0x528e20], 0xffffffff
cmp al, 0x98
je 0x48fdff
cmp al, 0x8d
je 0x491795
test byte [sym.zsh.exe_ispattern], 1
jne 0x4919e9
mov eax, dword [esp + 0x2c]
mov ebx, dword [0x528e70]
mov dword [0x528e20], 1
mov esi, dword [eax + 0x38]
test esi, esi
je 0x491b0c
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov dword [esp], esi
mov ebx, eax
call sym.zsh.exe_get_user_var
mov edi, eax
test eax, eax
je 0x48fcb1
mov dword [esp], eax
call sym.zsh.exe_arrlen
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov dword [esp + 0x44], eax
mov ebp, eax
mov eax, dword [edi]
test eax, eax
je 0x491fce
lea esi, [ebx + 2]
mov dword [esp + 0x34], esi
lea esi, [esi]
mov dword [esp], eax
add ebp, 4
add edi, 4
call sub.cygwin1.dll_strlen
mov esi, eax
mov eax, dword [esp + 0x34]
add eax, esi
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov ebx, eax
mov eax, dword [edi - 4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [0x528e70]
mov byte [ebx + esi], 0x2f
mov dword [esp + 4], eax
lea eax, [ebx + esi + 1]
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov dword [ebp - 4], ebx
mov eax, dword [edi]
test eax, eax
jne 0x48fb30
mov eax, dword [esp + 0x44]
mov dword [ebp], 0
test eax, eax
je 0x48fcb1
mov ebx, dword [eax]
lea esi, [esi]
lea esi, [esi]
test ebx, ebx
jne 0x48fd38
mov dword [0x528e60], 0
jmp 0x48fe2a
mov dword [sym.zsh.exe_curexpl], 0
test ebx, ebx
je 0x48f1fd
mov edi, dword [esp + 0x40]
mov dword [esp], edi
add edi, ebx
call sym.zsh.exe_dupstring
mov dword [sym.zsh.exe_ipre], eax
mov byte [eax + ebx], 0
mov eax, dword [sym.zsh.exe_ipre]
mov dword [esp], eax
call sym.zsh.exe_untokenize
add dword [sym.zsh.exe_wb], ebx
sub dword [sym.zsh.exe_offs], ebx
mov dword [esp + 0x40], edi
jns 0x48f207
jmp 0x48efeb
call sym.zsh.exe_newlinklist
mov dword [0x528e98], eax
jmp 0x48efa8
mov dword [esp + 0x58], 1
mov edx, 1
xor ecx, ecx
mov dword [sym.zsh.exe_usemenu], 1
jmp 0x48f3a6
mov esi, dword [sym.zsh.exe_bmatchers]
test esi, esi
jne 0x48f278
jmp 0x48f27d
mov byte [0x528e24], al
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call sym.zsh.exe_check_param
test eax, eax
je 0x48f357
mov ecx, dword [sym.zsh.exe_offs]
mov dword [esp + 0x40], eax
mov dword [0x528ca0], 0x2710
mov dword [0x528ca8], 0x600
lea edx, [ecx + 1]
mov dword [esp + 0x68], ecx
mov byte [esp + 0x64], 1
mov dword [esp + 0x2c], 0x528ca0
jmp 0x48f3a6
mov edi, dword [esp + 0x2c]
mov ebx, dword [0x528e70]
mov eax, dword [edi + 0x38]
test eax, eax
je 0x491b0c
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp], ebx
mov esi, eax
call sub.cygwin1.dll_strlen
lea eax, [esi + eax + 2]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov ebx, eax
mov dword [esp + 0x9c], eax
mov eax, dword [edi + 0x38]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [0x528e70]
mov byte [ebx + esi], 0x2f
mov dword [esp + 4], eax
lea eax, [ebx + esi + 1]
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
lea eax, [esp + 0x9c]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x44], eax
test ebx, ebx
je 0x48fba8
lea esi, [esi]
nop
mov edi, dword [esp + 0x30]
mov dword [0x528e60], ebx
test edi, edi
jne 0x490e40
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
test al, 1
jne 0x490fe0
test al, 2
je 0x490fc0
mov esi, dword [esp + 0x60]
test esi, esi
jne 0x48fd78
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x491f3e
xor ecx, ecx
mov edx, 1
mov eax, 1
call fcn.0048e530
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x14]
test ebx, ebx
jne 0x490ffd
add dword [esp + 0x44], 4
mov eax, dword [esp + 0x44]
mov ebx, dword [eax]
jmp 0x48fba0
cmp cl, 0x8d
je 0x48fdc0
cmp cl, 0x98
jne 0x48f5f3
nop
mov esi, dword [sym.zsh.exe_ispattern]
cmp dl, 0x2f
jne 0x48f606
add edi, 1
test ebp, ebp
cmove ebp, eax
jmp 0x48f606
cmp al, 0x2f
jne 0x48f670
mov eax, dword [esp + 0x34]
add dword [esp + 0x30], 1
test eax, eax
cmove eax, edi
mov dword [esp + 0x34], eax
jmp 0x48f670
mov ebx, dword [sym.zsh.exe_ipre]
mov eax, 0x4fbbf2
test ebx, ebx
je 0x48fe1a
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [sym.zsh.exe_ipre], eax
call fcn.0048dbb0
mov dword [sym.zsh.exe_ipre], ebx
mov dword [0x528e64], 0
mov dword [0x528e68], 0
movzx eax, byte [0x528e24]
test al, al
je 0x490f00
mov esi, 0x4fbbf4
cmp al, 0x98
mov ebx, 0x4fbbf2
mov edx, dword [0x528e78]
mov eax, esi
cmove eax, ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.zsh.exe_dyncat
add dword [0x528e34], 1
cmp byte [0x528e24], 0x98
cmovne ebx, esi
mov dword [0x528e78], eax
mov eax, dword [0x528e4c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.zsh.exe_dyncat
cmp byte [0x528e24], 0
mov dword [0x528e4c], eax
je 0x490f00
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
mov edx, eax
and edx, 0x2000000
cmp edx, 1
sbb ebx, ebx
and ebx, 0x2000002
sub ebx, 2
mov dword [0x528e20], ebx
test eax, 0x1000000
jne 0x49156e
test al, 8
jne 0x491552
test al, 0x10
jne 0x491531
test al, 0x20
jne 0x491517
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x48ff20
mov dword [esp], eax
call sym.zsh.exe_get_user_var
mov esi, eax
test eax, eax
je 0x48ff20
mov eax, dword [eax]
test eax, eax
je 0x48ff20
nop
add esi, 4
xor edx, edx
call fcn.0048dcb0
mov eax, dword [esi]
test eax, eax
jne 0x48ff10
mov eax, dword [esp + 0x2c]
test byte [eax + 0xa], 2
jne 0x491507
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x49006f
mov dword [esp], eax
mov ebx, dword [sym.zsh.exe_lastval]
call sym.zsh.exe_getshfunc
mov ebp, eax
test eax, eax
je 0x490060
call sym.zsh.exe_newlinklist
mov esi, dword [sym.zsh.exe_sfcontext]
mov edi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4919a4
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call sym.zsh.exe_dupstrpfx
mov dword [esp], eax
mov dword [esp + 0x30], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x68]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov dword [esp + 0x30], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
cmp dword [sym.zsh.exe_incompfunc], 1
je 0x490005
mov dword [sym.zsh.exe_incompctlfunc], 1
mov dword [esp + 8], 1
mov dword [esp + 4], edi
mov dword [esp], ebp
mov dword [sym.zsh.exe_sfcontext], 5
call sym.zsh.exe_doshfunc
mov dword [esp], 0x4fbbf6
mov dword [sym.zsh.exe_sfcontext], esi
mov dword [sym.zsh.exe_incompctlfunc], 0
call sym.zsh.exe_get_user_var
mov esi, eax
test eax, eax
je 0x490060
mov eax, dword [eax]
test eax, eax
je 0x490060
lea esi, [esi]
nop
add esi, 4
xor edx, edx
call fcn.0048dcb0
mov eax, dword [esi]
test eax, eax
jne 0x490050
mov dword [sym.zsh.exe_lastval], ebx
sar ebx, 0x1f
mov dword [0x522e4c], ebx
mov eax, dword [esp + 0x2c]
test dword [eax + 8], 0x3800
je 0x490100
mov esi, dword [sym.zsh.exe_maxjob]
test esi, esi
js 0x490100
xor ebx, ebx
jmp 0x49009b
add ebx, 1
cmp ebx, dword [sym.zsh.exe_maxjob]
jg 0x490100
mov edx, dword [sym.zsh.exe_jobtab]
lea eax, [ebx + ebx*8]
lea eax, [edx + eax*4]
mov esi, dword [eax + 8]
test esi, 0x40
je 0x490090
mov eax, dword [eax + 0x10]
test eax, eax
je 0x490090
cmp byte [eax + 8], 0
je 0x490090
add eax, 8
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov edi, dword [esp + 0x2c]
mov edx, dword [edi + 8]
test dh, 8
jne 0x4900e4
and esi, 2
jne 0x491953
and dh, 0x10
je 0x490090
xor edx, edx
add ebx, 1
call fcn.0048dcb0
cmp ebx, dword [sym.zsh.exe_maxjob]
jle 0x49009b
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x18]
test edi, edi
je 0x490273
call sym.zsh.exe_newlinklist
mov ebp, dword [sym.zsh.exe_wb]
mov edi, dword [sym.zsh.exe_noaliases]
mov esi, eax
movzx eax, byte [0x522d3c]
mov byte [0x522d3c], 1
mov byte [esp + 0x30], al
mov eax, dword [sym.zsh.exe_we]
mov dword [esp + 0x34], eax
call sym.zsh.exe_zcontext_save
mov eax, dword [esp + 0x2c]
mov dword [sym.zsh.exe_lexflags], 2
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
add eax, 5
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], str.foo__s
mov dword [esp + 8], eax
call sub.cygwin1.dll_sprintf
mov dword [esp], ebx
mov ebx, 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call sym.zsh.exe_inpush
mov dword [esp], 0
call sym.zsh.exe_strinbeg
mov dword [sym.zsh.exe_noaliases], 1
lea esi, [esi]
lea esi, [esi]
call sym.zsh.exe_ctxtlex
mov eax, dword [sym.zsh.exe_tok]
sub eax, 0x25
cmp eax, 1
jbe 0x490218
test ebx, ebx
jne 0x4901e4
mov eax, dword [sym.zsh.exe_tokstr]
test eax, eax
je 0x4901e4
cmp byte [eax], 0
jne 0x4901f0
xor ebx, ebx
jmp 0x4901c0
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [esp + 8], eax
mov eax, dword [esi + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [sym.zsh.exe_tok]
sub eax, 0x25
cmp eax, 1
ja 0x4901e4
mov dword [sym.zsh.exe_noaliases], edi
call sym.zsh.exe_strinend
call sym.zsh.exe_inpop
and dword [sym.zsh.exe_errflag], 0xfffffffe
call sym.zsh.exe_zcontext_restore
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.zsh.exe_prefork
mov ebx, dword [sym.zsh.exe_errflag]
test ebx, ebx
je 0x4918d7
movzx eax, byte [esp + 0x30]
mov dword [sym.zsh.exe_wb], ebp
mov byte [0x522d3c], al
mov eax, dword [esp + 0x34]
mov dword [sym.zsh.exe_we], eax
mov edi, dword [esp + 0x2c]
mov edx, dword [edi + 0x3c]
test edx, edx
je 0x4903e0
mov eax, dword [sym.zsh.exe_curhist]
mov edx, dword [0x5214d4]
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0xffffffff
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.zsh.exe_addhistnum
mov ebx, dword [edi + 0x40]
mov dword [esp + 8], 0xffffffff
mov dword [esp], eax
mov dword [esp + 4], edx
mov esi, ebx
mov dword [esp + 0x2c], edi
mov edi, ebx
sar edi, 0x1f
call sym.zsh.exe_gethistent
mov dword [esp + 0x30], 0
mov ebp, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x3c]
cmp byte [eax], 0
jne 0x49189e
mov ecx, edi
mov eax, 0xfffffffe
mov edx, 0xffffffff
or ecx, ebx
je 0x4902ff
mov eax, esi
mov edx, edi
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
test ebp, ebp
je 0x4903d4
nop
mov esi, dword [ebp + 0x24]
sub esi, 1
jns 0x49032b
jmp 0x4903a0
test cl, cl
je 0x490326
mov byte [ebx], cl
sub esi, 1
jb 0x4903a0
mov eax, dword [ebp + 0x20]
movsx edi, word [eax + esi*4]
movsx eax, word [eax + esi*4 + 2]
add edi, dword [ebp + 4]
add eax, dword [ebp + 4]
movzx ecx, byte [eax]
mov ebx, eax
mov byte [eax], 0
movzx eax, byte [edi]
lea edx, [eax - 0x22]
and edx, 0xfd
je 0x490320
cmp al, 0x27
setne dl
cmp al, 0x60
setne al
test dl, al
je 0x490320
mov eax, dword [esp + 0x30]
test eax, eax
je 0x490386
mov eax, dword [esp + 0x30]
mov dword [esp + 4], edi
mov byte [esp + 0x34], cl
mov dword [esp], eax
call sym.zsh.exe_pattry
movzx ecx, byte [esp + 0x34]
test eax, eax
je 0x490320
mov dword [esp], edi
mov byte [esp + 0x34], cl
call sym.zsh.exe_dupstring
xor edx, edx
call fcn.0048dcb0
movzx ecx, byte [esp + 0x34]
jmp 0x490320
mov dword [esp], ebp
call sym.zsh.exe_up_histent
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
test eax, eax
mov ebp, eax
mov eax, ecx
setne dl
or eax, ebx
setne al
add ecx, 0xffffffff
adc ebx, 0xffffffff
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebx
test dl, al
jne 0x490310
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym.zsh.exe_freepatprog
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
mov eax, edx
and eax, 0x7006c0
jne 0x4914ef
mov eax, edx
and eax, 0x100
jne 0x4914d1
mov eax, edx
and eax, 0x4000
jne 0x4914b3
mov ebx, edx
and ebx, 0x4000000
je 0x49044c
cmp byte [0x522d08], 0
je 0x490433
mov eax, dword [sym.zsh.exe_cmdnamtab]
mov dword [esp], eax
call dword [eax + 0x18]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
mov eax, dword [sym.zsh.exe_cmdnamtab]
and edx, 0xc0000
or edx, ebx
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
mov eax, edx
and eax, 0x8000000
jne 0x491495
mov eax, edx
and eax, 0x18000
jne 0x49147e
mov eax, dword [sym.zsh.exe_keypm]
test eax, eax
je 0x49047a
cmp byte [esp + 0x64], 0
jne 0x491740
mov eax, dword [sym.zsh.exe_errflag]
test eax, eax
jne 0x490e58
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x490e58
movzx edx, byte [eax]
lea ecx, [edx - 0x24]
and ecx, 0xfb
jne 0x491b3b
cmp dl, 0x24
sete dl
movzx edx, dl
add eax, edx
mov dword [esp], eax
call sym.zsh.exe_get_user_var
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x94], eax
test eax, eax
je 0x491808
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x94], eax
test byte [edi + 0xb], 0x40
jne 0x491e84
mov edx, dword [sym.zsh.exe_curexpl]
mov edi, dword [esp + 0x2c]
mov dword [edx + 4], eax
mov eax, dword [edi + 0x44]
test eax, eax
je 0x4917fc
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym.zsh.exe_endcmgroup
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x44]
mov dword [esp], eax
call sym.zsh.exe_begcmgroup
mov dword [esp], 0
call sym.zsh.exe_addexpl
lea esi, [esi]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x4906a7
mov esi, dword [sym.zsh.exe_cmdstr]
mov ebx, dword [sym.zsh.exe_clwnum]
mov ecx, dword [0x528e94]
mov edi, dword [sym.zsh.exe_clwords]
mov dword [esp + 0x34], esi
mov esi, dword [sym.zsh.exe_clwpos]
mov dword [esp + 0x30], esi
mov esi, dword [0x528e8c]
mov dword [0x528e8c], 4
mov dword [esp + 0x38], esi
cmp ebx, ecx
jg 0x49058e
lea ecx, [ebx - 1]
mov dword [0x528e94], ecx
mov esi, ecx
test ecx, ecx
jg 0x4905a8
mov dword [0x528e94], 1
mov esi, 1
mov ecx, 1
mov edx, dword [0x528e90]
cmp ebx, edx
jg 0x4905bb
lea edx, [ebx - 1]
mov dword [0x528e90], edx
test edx, edx
jg 0x4905ce
mov dword [0x528e90], 1
mov edx, 1
sub edx, ecx
lea ebp, [edx + 1]
mov dword [sym.zsh.exe_clwnum], ebp
mov ebp, dword [esp + 0x30]
sub ebp, ecx
mov dword [sym.zsh.exe_clwpos], ebp
cmp byte [eax], 0
je 0x4913e7
add edx, 2
add esi, 0x3fffffff
add ebp, 1
mov dword [sym.zsh.exe_clwnum], edx
lea edx, [esi*4]
lea ecx, [edi + edx]
mov dword [sym.zsh.exe_clwpos], ebp
mov ebp, dword [ecx]
mov dword [esp], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
call sym.zsh.exe_ztrdup
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x30]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov edx, dword [esp + 0x48]
mov ecx, 1
add dword [sym.zsh.exe_clwords], edx
mov dword [sym.zsh.exe_cmdstr], eax
mov eax, dword [esp + 0x40]
xor edx, edx
call fcn.0048ec70
mov eax, dword [sym.zsh.exe_cmdstr]
mov dword [sym.zsh.exe_clwords], edi
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov dword [sym.zsh.exe_clwnum], ebx
mov dword [sym.zsh.exe_cmdstr], edi
mov dword [sym.zsh.exe_clwpos], eax
test ebp, ebp
je 0x49069e
mov eax, dword [sym.zsh.exe_clwords]
mov eax, dword [eax + esi*4]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [sym.zsh.exe_clwords]
mov dword [eax + esi*4], ebp
mov eax, dword [esp + 0x38]
mov dword [0x528e8c], eax
mov eax, dword [esp + 0x2c]
mov ebp, dword [eax + 0x34]
test ebp, ebp
je 0x490ddc
mov edi, dword [sym.zsh.exe_offs]
call sym.zsh.exe_newlinklist
mov dword [esp], ebp
mov dword [esp + 0x44], eax
mov eax, dword [sym.zsh.exe_we]
mov dword [esp + 0x60], eax
mov eax, dword [sym.zsh.exe_wb]
mov dword [esp + 0x64], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
mov dword [esp + 0x68], eax
mov eax, dword [sym.zsh.exe_noerrs]
mov dword [esp + 0x6c], eax
call sub.cygwin1.dll_strlen
mov dword [sym.zsh.exe_addedx], 1
mov dword [sym.zsh.exe_noerrs], 1
mov esi, eax
mov eax, dword [sym.zsh.exe_zlemetall]
mov dword [esp + 0x70], eax
mov eax, dword [sym.zsh.exe_instring]
mov dword [esp + 0x80], eax
mov eax, dword [sym.zsh.exe_inbackt]
mov dword [esp + 0x84], eax
mov eax, dword [sym.zsh.exe_noaliases]
mov dword [esp + 0x74], eax
mov eax, dword [sym.zsh.exe_zlemetaline]
mov dword [esp + 0x78], eax
mov eax, dword [sym.zsh.exe_autoq]
mov dword [esp + 0x88], eax
call sym.zsh.exe_zcontext_save
mov eax, dword [esp + 0x40]
mov dword [sym.zsh.exe_lexflags], 2
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp + 0x58], esi
lea ebx, [esi + eax]
lea eax, [ebx + 3]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov dword [esp + 4], ebp
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_strcpy
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
lea edx, [ebp + 1]
mov byte [esi + ebp], 0x20
lea eax, [esi + edx]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 0x5c], edx
call sub.cygwin1.dll_memcpy
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
add edx, edi
lea eax, [ecx + edi]
mov dword [sym.zsh.exe_zlemetacs], edx
mov byte [esi + edx], 0x78
mov dword [esp + 4], eax
lea eax, [edi + ebp + 2]
add eax, esi
mov dword [esp + 0x8c], edx
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [sym.zsh.exe_compqstack]
movzx eax, byte [eax]
mov byte [esp + 0x7c], al
cmp al, 1
je 0x491c48
mov dword [esp], esi
add ebx, 2
mov edi, 1
call sym.zsh.exe_dupstrspace
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.zsh.exe_inpush
mov dword [esp], 0
mov dword [sym.zsh.exe_zlemetaline], esi
xor esi, esi
mov dword [sym.zsh.exe_zlemetall], ebx
call sym.zsh.exe_strinbeg
mov dword [esp + 0x34], 0
mov dword [sym.zsh.exe_noaliases], 1
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
jmp 0x49088f
test esi, esi
jne 0x49088c
xor ebp, ebp
mov eax, dword [sym.zsh.exe_lexflags]
xor esi, esi
test eax, eax
je 0x490a30
mov eax, dword [sym.zsh.exe_tok]
mov ebx, edi
sub eax, 0x25
cmp eax, 1
jbe 0x4908f0
add edi, 1
call sym.zsh.exe_ctxtlex
mov eax, dword [sym.zsh.exe_tok]
lea ebx, [edi - 1]
cmp eax, 0x26
je 0x4909c0
sub eax, 0x25
cmp eax, 1
jbe 0x4908f0
mov ecx, dword [sym.zsh.exe_tokstr]
test ecx, ecx
je 0x490868
cmp byte [ecx], 0
je 0x490868
mov dword [esp], ecx
call sym.zsh.exe_ztrdup
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], eax
mov ebp, eax
mov eax, dword [ecx + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
test esi, esi
je 0x49086e
mov eax, dword [sym.zsh.exe_tok]
mov ebx, edi
sub eax, 0x25
cmp eax, 1
ja 0x49088c
mov eax, dword [esp + 0x74]
mov dword [sym.zsh.exe_noaliases], eax
call sym.zsh.exe_strinend
call sym.zsh.exe_inpop
mov eax, dword [esp + 0x6c]
and dword [sym.zsh.exe_errflag], 0xfffffffe
mov dword [sym.zsh.exe_noerrs], eax
call sym.zsh.exe_zcontext_restore
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x38]
mov dword [sym.zsh.exe_wb], eax
mov eax, dword [esp + 0x60]
mov dword [sym.zsh.exe_we], eax
mov eax, dword [esp + 0x68]
mov dword [sym.zsh.exe_zlemetacs], eax
mov eax, dword [esp + 0x78]
mov dword [sym.zsh.exe_zlemetaline], eax
mov eax, dword [esp + 0x70]
mov dword [sym.zsh.exe_zlemetall], eax
test esi, esi
js 0x490ddc
test ebx, ebx
jle 0x490ddc
mov eax, dword [esp + 0x30]
mov ebx, dword [sym.zsh.exe_offs]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [sym.zsh.exe_offs], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym.zsh.exe_check_param
test eax, eax
je 0x4915bf
mov edx, dword [esp + 0x34]
movzx eax, byte [edx]
test al, al
jne 0x4909b6
jmp 0x4915bf
cmp al, 0x9d
jne 0x4909a7
mov byte [edx], 0x27
movzx eax, byte [edx + 1]
add edx, 1
test al, al
je 0x4915bf
cmp al, 0x9e
jne 0x4909a0
mov byte [edx], 0x22
jmp 0x4909a7
mov ecx, dword [sym.zsh.exe_tokstr]
test ecx, ecx
je 0x4908f0
movzx eax, byte [ecx]
test al, al
je 0x4908f0
mov edx, ecx
xor ebp, ebp
lea esi, [esi]
add eax, 0x63
cmp al, 2
adc ebp, 0
movzx eax, byte [edx + 1]
add edx, 1
test al, al
jne 0x4909e0
and ebp, 1
je 0x4908f0
mov dword [sym.zsh.exe_tok], 0x22
cmp ecx, edx
jae 0x4908b7
cmp byte [edx - 1], 0x20
jne 0x4908b7
mov byte [edx - 1], 0
mov eax, dword [sym.zsh.exe_tok]
jmp 0x4908a5
mov eax, dword [sym.zsh.exe_wb]
lea esi, [eax - 1]
mov eax, dword [sym.zsh.exe_we]
mov dword [esp + 0x54], esi
sub eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
sub eax, esi
mov esi, 1
mov dword [esp + 0x30], eax
add eax, ebp
mov dword [esp], eax
call sym.zsh.exe_chuck
mov dword [esp], ebp
call sym.zsh.exe_dupstring
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], eax
jmp 0x49087d
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x34]
mov ebx, dword [sym.zsh.exe_instring]
test ebx, ebx
je 0x490ad7
mov ebx, dword [sym.zsh.exe_compqstack]
mov dword [esp + 4], 1
mov dword [esp], ebx
call sub.cygwin1.dll_strchr
test eax, eax
je 0x490ad7
mov dword [esp], ebp
call sub.cygwin1.dll_strlen
mov edi, eax
xor eax, eax
cmp byte [ebx + 1], 0
mov dword [esp], ebp
setne al
mov dword [esp + 4], eax
call sym.zsh.exe_multiquote
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov edx, esi
mov ecx, eax
sub ecx, edi
sub edx, ecx
cmp edi, eax
cmovl esi, edx
mov ecx, dword [esp + 0x40]
mov eax, esi
sub eax, dword [esp + 0x58]
lea ebx, [ecx + eax - 1]
movzx edi, byte [ebx]
mov byte [ebx], 0
mov dword [esp], ecx
mov dword [esp + 4], 0
call sym.zsh.exe_multiquote
mov dword [esp + 8], 0x4fbb45
mov dword [esp + 4], eax
mov eax, dword [sym.zsh.exe_qipre]
mov dword [esp], eax
call sym.zsh.exe_tricat
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov eax, edi
mov byte [ebx], al
mov eax, dword [esp + 0x48]
mov dword [esp], ecx
cmp eax, esi
mov edi, eax
cmovl edi, esi
sub edi, dword [esp + 0x5c]
call sub.cygwin1.dll_strlen
mov ebx, eax
cmp edi, eax
jg 0x4919c6
mov ebx, edi
add ebx, dword [esp + 0x40]
mov dword [esp + 4], 0
mov dword [esp], ebx
mov esi, dword [sym.zsh.exe_qisuf]
call sym.zsh.exe_multiquote
mov dword [esp + 8], 0x4fbb45
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.zsh.exe_tricat
mov dword [esp], ebp
mov dword [esp + 0x40], eax
call sub.cygwin1.dll_strlen
mov edi, dword [esp + 0x30]
mov edx, 1
mov byte [esp + 0x9d], 0
mov dword [esp + 8], 0x4fbb45
cmp eax, edi
cmovg eax, edi
mov edi, dword [sym.zsh.exe_compqstack]
mov dword [esp + 0x30], eax
mov eax, dword [sym.zsh.exe_clwords]
mov dword [esp + 0x60], edi
mov dword [esp + 0x48], eax
mov eax, dword [sym.zsh.exe_cmdstr]
mov dword [esp + 0x54], eax
mov eax, dword [sym.zsh.exe_qipre]
mov dword [esp + 0x58], eax
mov eax, dword [sym.zsh.exe_qisuf]
mov dword [esp + 0x5c], eax
mov eax, dword [sym.zsh.exe_clwsize]
mov dword [esp + 0x64], eax
mov eax, dword [sym.zsh.exe_clwnum]
mov dword [esp + 0x68], eax
mov eax, dword [sym.zsh.exe_clwpos]
mov dword [esp + 0x6c], eax
mov eax, dword [0x528e94]
mov dword [esp + 0x70], eax
mov eax, dword [0x528e90]
mov dword [esp + 0x74], eax
mov eax, dword [sym.zsh.exe_offs]
mov dword [esp + 0x78], eax
mov eax, dword [0x528e8c]
mov dword [esp + 0x7c], eax
mov eax, dword [sym.zsh.exe_instring]
test eax, eax
cmove eax, edx
mov byte [esp + 0x9c], al
lea eax, [esp + 0x9c]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.zsh.exe_tricat
mov edi, dword [esp + 0x44]
mov dword [sym.zsh.exe_compqstack], eax
mov dword [esp], edi
call sym.zsh.exe_countlinknodes
mov dword [sym.zsh.exe_clwnum], eax
mov dword [sym.zsh.exe_clwsize], eax
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym.zsh.exe_zalloc
mov dword [sym.zsh.exe_clwords], eax
mov ebx, dword [edi]
test ebx, ebx
je 0x491fc7
xor edi, edi
lea esi, [esi]
nop
mov edx, dword [ebx + 8]
lea esi, [edi*4]
mov dword [eax + edi*4], edx
add edi, 1
mov dword [esp], edx
call sym.zsh.exe_untokenize
mov ebx, dword [ebx]
mov eax, dword [sym.zsh.exe_clwords]
test ebx, ebx
jne 0x490c70
lea edx, [eax + esi + 4]
mov dword [edx], 0
mov eax, dword [eax]
mov edi, dword [esp + 0x38]
mov dword [esp], eax
mov dword [sym.zsh.exe_clwpos], edi
call sym.zsh.exe_ztrdup
mov ecx, dword [sym.zsh.exe_clwpos]
xor edx, edx
mov dword [0x528e94], 0
mov dword [sym.zsh.exe_cmdstr], eax
mov eax, dword [sym.zsh.exe_clwnum]
mov dword [0x528e8c], 4
sub eax, 1
test ecx, ecx
mov ecx, 1
mov dword [0x528e90], eax
mov eax, dword [esp + 0x34]
sete dl
mov dword [sym.zsh.exe_qipre], eax
mov eax, dword [esp + 0x40]
mov dword [sym.zsh.exe_qisuf], eax
mov eax, dword [esp + 0x30]
mov dword [sym.zsh.exe_offs], eax
mov eax, ebp
call fcn.0048ec70
mov eax, dword [esp + 0x7c]
mov dword [0x528e8c], eax
mov eax, dword [esp + 0x78]
mov dword [sym.zsh.exe_offs], eax
mov eax, dword [sym.zsh.exe_cmdstr]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [esp + 0x54]
mov dword [sym.zsh.exe_cmdstr], eax
mov eax, dword [sym.zsh.exe_clwords]
mov dword [esp], eax
call sym.zsh.exe_freearray
mov eax, dword [esp + 0x48]
mov dword [sym.zsh.exe_clwords], eax
mov eax, dword [esp + 0x64]
mov dword [sym.zsh.exe_clwsize], eax
mov eax, dword [esp + 0x68]
mov dword [sym.zsh.exe_clwnum], eax
mov eax, dword [esp + 0x6c]
mov dword [sym.zsh.exe_clwpos], eax
mov eax, dword [esp + 0x70]
mov dword [0x528e94], eax
mov eax, dword [esp + 0x74]
mov dword [0x528e90], eax
mov eax, dword [sym.zsh.exe_qipre]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [esp + 0x58]
mov dword [sym.zsh.exe_qipre], eax
mov eax, dword [sym.zsh.exe_qisuf]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [esp + 0x5c]
mov dword [sym.zsh.exe_qisuf], eax
mov eax, dword [sym.zsh.exe_compqstack]
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [esp + 0x60]
mov dword [sym.zsh.exe_compqstack], eax
mov eax, dword [esp + 0x88]
mov dword [sym.zsh.exe_autoq], eax
mov eax, dword [esp + 0x80]
mov dword [sym.zsh.exe_instring], eax
mov eax, dword [esp + 0x84]
mov dword [sym.zsh.exe_inbackt], eax
mov eax, dword [0x528e98]
mov edx, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.zsh.exe_uremnode
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x54]
test eax, eax
je 0x490e06
mov eax, dword [sym.zsh.exe_mstack]
mov eax, dword [eax]
mov dword [sym.zsh.exe_mstack], eax
mov eax, dword [esp + 0x4c]
cmp eax, dword [sym.zsh.exe_mnum]
jne 0x48ef8b
mov eax, dword [esp + 0x50]
mov dword [sym.zsh.exe_haspattern], eax
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.0048dc10
jmp 0x48f518
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.0048e530
jmp 0x48fd98
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x94], eax
test eax, eax
je 0x490538
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x94], eax
test byte [edi + 0xb], 0x40
jne 0x491b18
mov edx, dword [sym.zsh.exe_curexpl]
mov dword [edx + 4], eax
mov dword [esp], 0
call sym.zsh.exe_addexpl
jmp 0x490538
mov dword [sym.zsh.exe_ispattern], 0
mov eax, dword [0x528e88]
jmp 0x48f746
mov eax, dword [esp + 0x40]
cmp byte [eax], 0x2f
jne 0x48fa04
mov eax, dword [sym.zsh.exe_wb]
cmp dword [sym.zsh.exe_zlemetacs], eax
jne 0x48fa01
jmp 0x48fa04
test al, al
jne 0x48f57b
mov dword [esp], ecx
call sym.zsh.exe_dupstring
jmp 0x48f582
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
test al, 2
je 0x48feb0
mov edx, dword [0x528e70]
cmp byte [edx], 0
jne 0x48feb0
mov edx, dword [0x528e6c]
cmp byte [edx], 0
jne 0x48feb0
mov eax, dword [sym.zsh.exe_aliastab]
mov edx, 0xfffffffd
call fcn.0048ea20
mov eax, dword [sym.zsh.exe_reswdtab]
mov edx, 0xfffffffd
call fcn.0048ea20
mov eax, dword [sym.zsh.exe_shfunctab]
mov edx, 0xfffffffd
call fcn.0048ea20
mov eax, dword [sym.zsh.exe_builtintab]
mov edx, 0xfffffffd
call fcn.0048ea20
cmp byte [0x522d08], 0
je 0x490f7d
mov eax, dword [sym.zsh.exe_cmdnamtab]
mov dword [esp], eax
call dword [eax + 0x18]
mov eax, dword [sym.zsh.exe_cmdnamtab]
mov edx, 0xfffffffd
call fcn.0048ea20
cmp byte [0x522cc7], 0
je 0x48fea9
cmp byte [0x522cdd], 0
je 0x48fea9
mov eax, dword [sym.zsh.exe_paramtab]
mov edx, 0xfffffffc
call fcn.0048ea20
jmp 0x48fea9
test eax, 0x10000000
je 0x48fd89
xor ecx, ecx
xor edx, edx
mov eax, 1
call fcn.0048e530
jmp 0x48fd89
xor eax, eax
mov ecx, 1
xor edx, edx
call fcn.0048e530
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x48fd98
mov eax, dword [0x528e60]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp], ebx
mov dword [esp + 0x6c], eax
call sym.zsh.exe_dupstring
mov edx, dword [sym.zsh.exe_ispattern]
mov dword [esp + 0x98], eax
mov eax, dword [sym.zsh.exe_noerrs]
mov dword [esp + 0x70], eax
movzx eax, byte [0x522d34]
mov byte [esp + 0x74], al
test edx, edx
jne 0x491048
mov eax, dword [sym.zsh.exe_mstack]
test eax, eax
je 0x491ea7
mov dword [sym.zsh.exe_glob_suf], 0
mov dword [sym.zsh.exe_glob_pre], 0
mov eax, dword [0x528e60]
mov dword [sym.zsh.exe_noerrs], 1
mov dword [0x528e20], 0xfffffffa
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [esp + 0x38], eax
add eax, 0x1000
mov dword [esp], eax
mov dword [esp + 0x48], eax
call sym.zsh.exe_zalloc
mov dword [esp + 0x34], eax
mov edi, eax
mov eax, dword [0x528e60]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x98]
mov byte [0x522d34], 0
cmp byte [eax], 0
je 0x491240
call sym.zsh.exe_newlinklist
mov ebx, dword [esp + 0x98]
mov esi, eax
movzx eax, byte [ebx]
test al, al
jne 0x4910f2
jmp 0x491240
mov dword [esp + 0x98], ebx
movzx eax, byte [ebx]
test al, al
je 0x491240
mov ecx, ebx
add ebx, 1
test byte [eax + eax + sym.zsh.exe_typtab], 8
jne 0x4910e0
movzx eax, byte [ecx + 1]
test al, al
jne 0x491119
jmp 0x4917f2
mov eax, edx
add ebx, 1
test al, al
je 0x491139
movzx edx, al
test byte [edx + edx + sym.zsh.exe_typtab], 8
jne 0x491139
movzx edx, byte [ebx + 1]
cmp al, 0x5c
jne 0x491110
test dl, dl
jne 0x491280
add ebx, 1
mov eax, ebx
sub eax, ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.zsh.exe_dupstrpfx
mov dword [esp], eax
mov dword [esp + 0x98], eax
call sym.zsh.exe_tokenize
mov eax, dword [esp + 0x98]
movzx edx, byte [eax]
cmp dl, 0x3d
je 0x4912e8
cmp dl, 0x7e
jne 0x49117a
mov byte [eax], 0x98
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call sym.zsh.exe_remnulargs
mov ebp, dword [esp + 0x98]
movzx eax, byte [ebp]
cmp al, 0x8d
je 0x491290
cmp al, 0x98
je 0x491290
cmp al, 0x2f
je 0x4913d0
mov dword [esp], ebp
call sub.cygwin1.dll_strlen
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x48]
jge 0x4913a0
mov edi, dword [esp + 0x34]
add edi, dword [esp + 0x38]
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 8], eax
mov eax, dword [esi + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov dword [esp + 4], 0
movzx ebp, byte [0x522d3c]
mov dword [esp], esi
mov byte [0x522d3c], 1
call sym.zsh.exe_globlist
mov eax, ebp
mov byte [0x522d3c], al
mov eax, dword [esi]
test eax, eax
je 0x491224
mov edx, dword [eax + 8]
test edx, edx
jne 0x491310
mov byte [edi], 0
mov dword [esp + 0x98], ebx
cmp byte [ebx], 0
jne 0x4910c0
lea esi, [esi]
nop
mov dword [sym.zsh.exe_glob_suf], 0
mov eax, dword [esp + 0x70]
mov dword [sym.zsh.exe_glob_pre], 0
mov dword [sym.zsh.exe_noerrs], eax
movzx eax, byte [esp + 0x74]
mov byte [0x522d34], al
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym.zsh.exe_zfree
jmp 0x48fd98
movzx eax, byte [ebx + 2]
add ebx, 1
jmp 0x491112
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
test eax, eax
jne 0x4911a5
lea eax, [esp + 0x98]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_filesub
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 8], eax
mov eax, dword [esi + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov edi, dword [esp + 0x34]
add edi, dword [esp + 0x38]
jmp 0x4911ee
cmp byte [0x522cf3], 0
je 0x49117a
mov byte [eax], 0x8d
mov eax, dword [esp + 0x98]
movzx edx, byte [eax]
jmp 0x49116b
movzx eax, byte [edx]
test al, al
je 0x491339
lea esi, [esi]
nop
test byte [eax + eax + sym.zsh.exe_typtab], 0x10
jne 0x491224
movzx eax, byte [edx + 1]
add edx, 1
test al, al
jne 0x491320
mov eax, dword [esp + 0x98]
movzx eax, byte [eax]
cmp al, 0x8d
sete cl
cmp al, 0x98
sete dl
or dl, cl
jne 0x491368
cmp al, 0x2f
je 0x491368
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x491cbe
lea esi, [esi]
mov dword [esp], esi
call sym.zsh.exe_ugetnode
mov ebp, eax
test eax, eax
je 0x491224
mov eax, dword [0x528e60]
mov dword [esp + 4], ebp
mov dword [esp], eax
call sym.zsh.exe_strpfx
test eax, eax
je 0x491368
mov eax, dword [esp + 0x6c]
xor edx, edx
add eax, ebp
call fcn.0048dcb0
jmp 0x491368
add eax, 1
mov dword [esp + 0x48], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sym.zsh.exe_zrealloc
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x34], eax
jmp 0x4911bb
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
test eax, eax
jne 0x4911a5
mov dword [esp], ebp
jmp 0x4912c0
mov eax, dword [edi + esi*4]
lea ebp, [esi*4]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
xor edx, edx
mov ecx, 1
mov dword [sym.zsh.exe_cmdstr], eax
mov eax, dword [sym.zsh.exe_clwpos]
test eax, eax
mov eax, dword [esp + 0x40]
sete dl
add dword [sym.zsh.exe_clwords], ebp
call fcn.0048ec70
mov eax, dword [sym.zsh.exe_cmdstr]
mov dword [sym.zsh.exe_clwords], edi
mov dword [esp], eax
call sym.zsh.exe_zsfree
mov eax, dword [esp + 0x34]
mov dword [sym.zsh.exe_clwnum], ebx
mov dword [sym.zsh.exe_cmdstr], eax
mov eax, dword [esp + 0x30]
mov dword [sym.zsh.exe_clwpos], eax
jmp 0x49069e
mov eax, dword [0x528e3c]
add eax, esi
cmp esi, eax
jb 0x49146b
jmp 0x491728
sub eax, 1
cmp esi, eax
je 0x491728
cmp byte [eax], 0x2f
jne 0x491460
mov byte [0x528e24], 0
xor edi, edi
jmp 0x48f4ab
and edx, 0xc0000
or edx, eax
mov eax, dword [sym.zsh.exe_aliastab]
call fcn.0048ea20
jmp 0x490466
and edx, 0xc0000
or edx, eax
mov eax, dword [sym.zsh.exe_reswdtab]
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
jmp 0x490459
and edx, 0xc0000
or edx, eax
mov eax, dword [sym.zsh.exe_builtintab]
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
jmp 0x49040e
and edx, 0xc0000
or edx, eax
mov eax, dword [sym.zsh.exe_shfunctab]
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
jmp 0x490401
mov edx, eax
mov eax, dword [sym.zsh.exe_paramtab]
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
jmp 0x4903f4
call fcn.0048dbb0
mov dword [0x528e20], ebx
jmp 0x48ff2e
mov eax, dword [sym.zsh.exe_thingytab]
mov edx, 0x20
call fcn.0048ea20
mov dword [0x528e20], ebx
jmp 0x48feef
mov eax, dword [sym.zsh.exe_paramtab]
mov edx, 0xfffffff7
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov dword [0x528e20], ebx
mov eax, dword [eax + 8]
jmp 0x48fee7
mov eax, dword [sym.zsh.exe_optiontab]
mov edx, dword [0x528e20]
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
jmp 0x48fedf
mov eax, dword [sym.zsh.exe_nameddirtab]
mov edx, ebx
call fcn.0048ea20
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
jmp 0x48fed7
mov esi, dword [sym.zsh.exe_we]
mov dword [0x528e68], 0
cmp esi, eax
jne 0x48f8e5
mov dword [0x528e64], 0
jmp 0x48f9de
mov dword [esp + 0x58], 0
mov ecx, eax
lea edx, [eax + 1]
jmp 0x48f3a6
mov edi, dword [esp + 0x34]
mov dword [sym.zsh.exe_offs], ebx
mov dword [esp], edi
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov ebx, eax
call sym.zsh.exe_untokenize
movzx eax, byte [edi]
lea edx, [eax + 0x63]
cmp dl, 1
jbe 0x491c57
cmp al, 0x85
je 0x491df3
cmp al, 0x8c
je 0x491df3
mov dword [sym.zsh.exe_instring], 0
mov ebp, ebx
mov dword [sym.zsh.exe_autoq], 0x4fbb45
mov ecx, dword [esp + 0x34]
movzx eax, byte [ecx]
test al, al
je 0x491fbe
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x8c]
lea ebx, [edx - 1]
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], ebx
mov ebx, ecx
jmp 0x49165c
mov esi, ebx
add edi, 1
add ebx, 1
movzx eax, byte [esi + 1]
test al, al
je 0x490a77
movzx edx, al
test byte [edx + edx + 0x523921], 0x40
je 0x491648
movzx edx, byte [ebx + 1]
cmp ebp, edi
jle 0x4916a0
sub dword [esp + 0x30], 1
cmp byte [esp + 0x7c], 1
jne 0x4916a0
cmp al, 0x9f
je 0x491ec0
xor eax, eax
cmp ebp, edi
setg al
sub ebp, eax
mov dword [esp], ebx
lea esi, [ebx - 1]
call sym.zsh.exe_chuck
jmp 0x491650
cmp al, 0x9f
jne 0x491685
test dl, dl
je 0x49182d
cmp al, 0x9f
jne 0x491685
add edi, 1
cmp edi, ebp
jne 0x49168e
add dword [esp + 0x30], 1
lea ebp, [edi + 1]
jmp 0x49168e
mov eax, dword [0x528e30]
add eax, dword [0x528e74]
mov dword [esp + 0x34], eax
jmp 0x48f7e0
mov dword [esp], edx
call sym.zsh.exe_add_bmatchers
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x54]
jmp 0x48f23e
mov dword [esp], edi
call sym.zsh.exe_rembslash
mov esi, dword [esp + 0x40]
mov ebx, eax
mov dword [esp], esi
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov edi, eax
call sym.zsh.exe_untokenize
mov dword [esp + 4], edi
mov dword [esp], ebx
call sym.zsh.exe_pfxlen
sub dword [sym.zsh.exe_offs], eax
add esi, eax
add edi, eax
mov dword [esp + 0x40], esi
jmp 0x48f297
cmp byte [eax], 0x2f
jne 0x48f4ab
jmp 0x491470
mov edx, dword [eax + 0x18]
mov dword [esp], eax
call dword [edx]
test eax, eax
je 0x49177c
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x48e520
mov dword [esp + 0xc], 0x1000000
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_scanhashtable
mov dword [sym.zsh.exe_keypm], 0
mov dword [0x528ccc], 0
jmp 0x49047a
mov ebx, dword [sym.zsh.exe_ipre]
mov eax, 0x4fbbf4
test ebx, ebx
je 0x4917b0
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.zsh.exe_dyncat
cmp byte [0x522d08], 0
mov dword [sym.zsh.exe_ipre], eax
je 0x4917c9
mov eax, dword [sym.zsh.exe_cmdnamtab]
mov dword [esp], eax
call dword [eax + 0x18]
mov eax, dword [sym.zsh.exe_cmdnamtab]
mov edx, 0xfffffff9
call fcn.0048ea20
mov eax, dword [sym.zsh.exe_aliastab]
mov edx, 0xfffffffe
call fcn.0048ea20
mov dword [sym.zsh.exe_ipre], ebx
jmp 0x48fe2a
mov eax, 1
jmp 0x49113d
mov dword [esp], 0
call sym.zsh.exe_addexpl
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call sym.zsh.exe_endcmgroup
mov dword [esp + 4], 0
mov dword [esp], 0x4fbc0a
call sym.zsh.exe_begcmgroup
jmp 0x490538
add edi, 1
cmp dword [esp + 0x48], ebp
cmove ebp, dword [esp + 0x60]
jmp 0x49168e
mov dword [esp], ebx
call sym.zsh.exe_untokenize
mov eax, dword [0x528e74]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [0x528e78]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [0x528e34], eax
mov eax, dword [0x528e74]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [0x528e30], eax
jmp 0x48f783
mov eax, dword [0x528e3c]
mov dword [esp], edi
mov dword [esp + 0x30], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
call sub.cygwin1.dll_memcpy
jmp 0x48f42b
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov dword [esp + 0x30], eax
call sym.zsh.exe_tokenize
mov eax, dword [esp + 0x30]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_patcompile
mov dword [esp + 0x30], eax
jmp 0x4902e5
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.zsh.exe_globlist
mov ecx, dword [sym.zsh.exe_errflag]
test ecx, ecx
jne 0x49025a
mov ebx, dword [esi]
test ebx, ebx
je 0x49025a
nop
mov eax, dword [ebx + 8]
xor edx, edx
call fcn.0048dcb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x491900
jmp 0x49025a
mov edx, dword [0x528e78]
mov eax, ebp
sub eax, edx
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call sym.zsh.exe_dupstrpfx
jmp 0x48f7ef
mov esi, dword [esp + 0x60]
test esi, esi
jne 0x491daa
mov dword [0x528e68], 0
mov eax, dword [sym.zsh.exe_zlemetacs]
jmp 0x48f8d7
and dh, 0x20
jne 0x4900e4
jmp 0x490090
mov eax, dword [0x528e5c]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [0x528e58]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [0x528e5c]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [0x528e2c], eax
mov eax, dword [0x528e58]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov dword [0x528e28], eax
jmp 0x48fa93
mov eax, dword [0x528e80]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [0x528e7c]
jmp 0x48ffdf
mov dword [esp], ebp
call sub.cygwin1.dll_strlen
mov ecx, eax
mov eax, ebx
sub eax, esi
lea edx, [eax + 1]
cmp ecx, edx
jle 0x490b43
mov byte [ebp + eax + 1], 0
jmp 0x490b43
call sym.zsh.exe_newlinklist
mov dword [0x528e20], 0
mov ebp, eax
movzx eax, byte [0x522d3c]
mov byte [0x522d3c], 1
mov byte [esp + 0x30], al
mov eax, dword [0x528e38]
add eax, dword [0x528e3c]
add eax, 3
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov edi, dword [0x528e80]
mov dword [esp], eax
mov ebx, eax
mov dword [esp + 4], edi
call sub.cygwin1.dll_stpcpy
mov esi, dword [0x528e7c]
cmp byte [esi], 0x2a
je 0x491a5b
cmp byte [edi], 0
je 0x491a5b
mov edx, dword [0x528e3c]
cmp byte [edi + edx - 1], 0x2a
je 0x491a5b
mov ecx, 0x2a
mov word [eax], cx
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov dword [esp + 4], esi
add eax, ebx
mov dword [esp], eax
call sub.cygwin1.dll_stpcpy
cmp byte [esi], 0
je 0x491a91
mov edx, dword [0x528e38]
movzx edx, byte [esi + edx - 1]
sub edx, 0x29
cmp dl, 1
jbe 0x491a91
mov edx, 0x2a
mov word [eax], dx
mov dword [esp], ebx
call sym.zsh.exe_tokenize
mov dword [esp], ebx
call sym.zsh.exe_remnulargs
mov dword [esp + 8], ebx
mov eax, dword [ebp + 4]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov dword [esp + 4], 0
mov dword [esp], ebp
call sym.zsh.exe_globlist
mov eax, dword [ebp]
test eax, eax
je 0x491afd
mov eax, dword [sym.zsh.exe_mflags]
or eax, 1
mov dword [sym.zsh.exe_mflags], eax
mov ebx, dword [ebp]
test ebx, ebx
je 0x491af5
nop
mov eax, dword [ebx + 8]
xor edx, edx
call fcn.0048dcb0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x491ae0
mov eax, dword [sym.zsh.exe_mflags]
and eax, 0xfffffffe
mov dword [sym.zsh.exe_mflags], eax
movzx eax, byte [esp + 0x30]
mov byte [0x522d3c], al
jmp 0x48fe2a
mov dword [esp + 0x9c], ebx
jmp 0x48fd15
lea ebx, [esp + 0x94]
mov dword [esp], ebx
call sym.zsh.exe_parsestr
test eax, eax
je 0x491e34
mov eax, dword [esp + 0x94]
jmp 0x490e87
mov dword [esp], eax
call sym.zsh.exe_getshfunc
mov dword [esp + 0x38], eax
test eax, eax
je 0x4904bf
call sym.zsh.exe_newlinklist
mov edi, eax
mov eax, dword [sym.zsh.exe_sfcontext]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [sym.zsh.exe_matches]
mov esi, dword [eax]
test esi, esi
jne 0x491c1c
jmp 0x491ed2
mov dword [esp], edx
mov dword [esp + 0x30], edx
call sub.cygwin1.dll_strlen
mov edx, dword [esp + 0x30]
mov ecx, eax
mov dword [esp], ebp
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
call sub.cygwin1.dll_strlen
mov ebp, eax
mov eax, dword [ebx]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + ebp + 1]
add ecx, eax
mov dword [esp], ecx
call sym.zsh.exe_zhalloc
mov edx, dword [esp + 0x30]
mov ebp, eax
mov dword [esp + 0x10], edx
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 4], 0x4fbc03
mov dword [esp + 8], eax
mov dword [esp], ebp
call sub.cygwin1.dll_sprintf
mov dword [esp], ebp
call sym.zsh.exe_dupstring
mov dword [esp + 8], eax
mov eax, dword [edi + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinknode
mov esi, dword [esi]
test esi, esi
je 0x491ed2
mov ebx, dword [esi + 8]
mov ebp, dword [ebx + 0x14]
test ebp, ebp
je 0x491e7a
mov edx, dword [ebx + 0x18]
test edx, edx
jne 0x491b90
xor ecx, ecx
mov edx, 0x4fbb45
jmp 0x491ba2
xor edx, edx
jmp 0x48f706
mov dword [esp], esi
call sym.zsh.exe_rembslash
mov esi, eax
jmp 0x4907eb
cmp al, 0x9d
mov esi, dword [esp + 0x34]
mov edi, ebx
setne al
movzx eax, al
add eax, 2
mov dword [esp], esi
add dword [esp + 0x54], 1
mov dword [sym.zsh.exe_instring], eax
mov dword [sym.zsh.exe_inbackt], 0
call sub.cygwin1.dll_strlen
movzx ecx, byte [esi]
cmp byte [esi + eax - 1], cl
je 0x491de5
movzx ecx, byte [edi + 1]
mov byte [edi + 1], 0
lea ebp, [edi + 1]
mov eax, 0x4fbb45
mov edx, dword [sym.zsh.exe_compqstack]
cmp byte [edx + 1], 0
je 0x491dc7
mov dword [sym.zsh.exe_autoq], eax
mov byte [edi + 1], cl
jmp 0x491610
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x60]
lea esi, [esi]
lea esi, [esi]
mov dword [esp], esi
call sym.zsh.exe_ugetnode
test eax, eax
je 0x491d0f
movzx edx, byte [eax]
test dl, dl
je 0x491d06
mov ecx, ebp
test ebp, ebp
jne 0x491cf4
jmp 0x491d06
test dl, dl
je 0x491d06
xor ebx, ebx
cmp dl, 0x2f
sete bl
add eax, 1
movzx edx, byte [eax]
sub ecx, ebx
jne 0x491cf0
xor edx, edx
call fcn.0048dcb0
jmp 0x491cd0
mov ebx, dword [esp + 0x78]
jmp 0x491224
mov eax, dword [0x528e5c]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov ebx, eax
mov edi, eax
mov eax, dword [0x528e58]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
lea eax, [ebx + eax + 2]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov esi, eax
mov eax, dword [0x528e5c]
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [0x528e58]
test ebx, ebx
jne 0x491dbe
cmp byte [eax], 0x87
je 0x491d7a
mov edx, dword [sym.zsh.exe_comppatmatch]
test edx, edx
je 0x491fb2
cmp byte [edx], 0x2a
je 0x491fb2
add ebx, esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.cygwin1.dll_strcpy
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.zsh.exe_patcompile
mov dword [0x528e84], eax
jmp 0x48fa8b
mov eax, dword [0x528e70]
mov dword [0x528e68], eax
mov eax, dword [sym.zsh.exe_zlemetacs]
jmp 0x48f8d7
cmp byte [esi + ebx - 1], 0x87
jne 0x491d5e
jmp 0x491d7a
mov dword [esp + 4], 1
mov dword [esp], ebx
mov byte [esp + 0x60], cl
call sym.zsh.exe_multiquote
movzx ecx, byte [esp + 0x60]
jmp 0x491cb1
cmp byte [esi + 1], 1
adc dword [esp + 0x48], 0xffffffff
jmp 0x491c91
mov eax, dword [esp + 0x34]
cmp byte [eax + 1], 0x9d
jne 0x4915fa
mov eax, dword [esp + 0x34]
lea edi, [ebx + 1]
lea esi, [eax + 1]
mov eax, 4
jmp 0x491c68
mov edx, dword [0x528e74]
mov byte [ebx + eax], 0x87
lea eax, [ebx + eax + 1]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_strcpy
jmp 0x48f719
mov dword [esp], ebx
call sym.zsh.exe_singsub
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call sym.zsh.exe_untokenize
jmp 0x491b2f
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov edi, eax
call sym.zsh.exe_untokenize
jmp 0x48f2db
mov eax, dword [0x528e6c]
mov dword [0x528e64], eax
jmp 0x48f9de
mov eax, dword [ebx]
mov dword [esp], eax
jmp 0x491bfa
lea ebx, [esp + 0x94]
mov dword [esp], ebx
call sym.zsh.exe_parsestr
test eax, eax
je 0x491f96
mov eax, dword [esp + 0x94]
jmp 0x4904ee
mov eax, dword [0x528e5c]
mov dword [sym.zsh.exe_glob_pre], eax
mov eax, dword [0x528e58]
mov dword [sym.zsh.exe_glob_suf], eax
jmp 0x49105c
test dl, dl
je 0x49182d
sub dword [esp + 0x34], 2
jmp 0x4916b0
cmp dword [sym.zsh.exe_incompfunc], 1
je 0x491ee5
mov dword [sym.zsh.exe_incompctlfunc], 1
mov eax, dword [esp + 0x38]
mov dword [esp + 4], edi
mov dword [esp + 8], 1
mov dword [esp], eax
mov dword [sym.zsh.exe_sfcontext], 5
call sym.zsh.exe_doshfunc
mov eax, dword [esp + 0x44]
mov dword [sym.zsh.exe_incompctlfunc], 0
mov dword [sym.zsh.exe_sfcontext], eax
mov eax, 0x4fbbf6
jmp 0x4904b3
mov dword [esp + 0x30], 0
jmp 0x48f689
mov dword [esp + 0x60], 0
jmp 0x48f61a
mov edx, dword [sym.zsh.exe_path]
mov eax, dword [edx]
test eax, eax
jne 0x491f5e
jmp 0x48fd89
mov eax, dword [edx + 4]
add edx, 4
test eax, eax
je 0x48fd89
movzx ecx, byte [eax]
test cl, cl
je 0x491f70
cmp cl, 0x2e
jne 0x491f50
cmp byte [eax + 1], 0
jne 0x491f50
xor ecx, ecx
mov edx, 1
mov eax, 1
mov dword [0x528e60], 0x4fbc12
call fcn.0048e530
mov dword [0x528e60], ebx
jmp 0x48fd89
mov dword [esp], ebx
call sym.zsh.exe_singsub
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call sym.zsh.exe_untokenize
jmp 0x491e9b
mov byte [esi + edi], 0x87
lea ebx, [edi + 1]
jmp 0x491d7a
mov esi, dword [esp + 0x54]
jmp 0x490a7f
mov edx, eax
jmp 0x490c97
mov ebp, dword [esp + 0x44]
jmp 0x48fb81