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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xcc
mov eax, dword [0x529c48]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x4d46ab
mov edi, dword [sym.zsh.exe_zlemetaline]
mov dword [esp + 0x74], 0
test edi, edi
je 0x4d3c0a
call sym.zsh.exe_unmetafy_line
mov dword [esp + 0x74], 1
mov eax, dword [0x529bf8]
mov edx, dword [0x529bf4]
mov esi, dword [sym.zsh.exe_zlell]
mov edi, eax
or edi, edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], edi
je 0x4d46b6
add eax, esi
add eax, edx
add eax, eax
mov dword [esp], eax
call sym.zsh.exe_zalloc
mov dword [esp + 0x6c], eax
mov eax, dword [0x529bf8]
test eax, eax
jne 0x4d58fe
mov ecx, dword [sym.zsh.exe_zlell]
test ecx, ecx
jne 0x4d592a
mov edx, dword [0x529bf4]
test edx, edx
jne 0x4d5960
mov edi, dword [sym.zsh.exe_zlecs]
mov dword [esp + 0x70], 1
add edi, eax
add eax, ecx
add eax, edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x60], eax
mov dword [esp], str.zle_highlight
call sym.zsh.exe_getaparam
mov dword [0x529cd0], 0
mov dword [0x529cd4], 0
mov esi, eax
mov eax, dword [0x529bf0]
mov dword [0x529cc8], 0
mov dword [0x529ccc], 0
test eax, eax
je 0x4d642f
lea ecx, [eax + 0x80]
mov dword [eax], 0
add eax, 0x20
mov dword [eax - 0x1c], 0
cmp eax, ecx
jne 0x4d3ccd
test esi, esi
je 0x4d5830
mov ebp, dword [esi]
test ebp, ebp
je 0x4d68a6
mov dword [esp + 0x50], 0
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
jmp 0x4d3d6c
mov dword [0x529cd0], 0
mov ebx, 1
mov edi, 1
mov dword [0x529cd4], 0
mov dword [0x529cc8], 0
mov dword [0x529ccc], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x28], 1
mov ebp, dword [esi + 4]
add esi, 4
test ebp, ebp
je 0x4d3db6
mov dword [esp + 4], str.none
mov dword [esp], ebp
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4d3d18
mov dword [esp + 4], ebp
mov dword [esp], str.default:
call sym.zsh.exe_strpfx
test eax, eax
je 0x4d46cd
mov dword [esp + 4], 0x529cd0
mov eax, dword [esi]
add esi, 4
add eax, 8
mov dword [esp], eax
call sym.zsh.exe_match_highlight
mov ebp, dword [esi]
test ebp, ebp
jne 0x4d3d6c
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4d66a3
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4d668c
mov edx, dword [esp + 0x50]
test edx, edx
je 0x4d6c44
test edi, edi
je 0x4d68e3
test ebx, ebx
jne 0x4d3df9
mov eax, dword [0x529bf0]
mov dword [eax + 0x60], 2
mov dword [eax + 0x64], 0
call sym.zsh.exe_allocate_colour_buffer
mov eax, dword [0x529be8]
test eax, eax
je 0x4d4afc
mov esi, dword [sym.zsh.exe_zlecs]
mov edx, dword [0x529a20]
mov ebx, dword [0x529bf0]
mov ecx, esi
cmp esi, edx
jg 0x4d55c4
mov dword [ebx + 8], ecx
mov dword [ebx + 0x10], edx
cmp eax, 2
je 0x4d6847
mov eax, dword [0x529980]
mov dword [esp + 4], 0x50035c
mov dword [esp], eax
call sub.cygwin1.dll_strcmp
test eax, eax
je 0x4d5656
mov eax, dword [0x529928]
test eax, eax
je 0x4d4ae9
mov eax, dword [0x529924]
mov dword [ebx + 0x28], eax
mov eax, dword [0x529920]
mov dword [ebx + 0x30], eax
mov eax, dword [sym.zsh.exe_suffixlen]
test eax, eax
je 0x4d4ad6
mov edx, dword [sym.zsh.exe_zlecs]
mov ecx, edx
mov dword [ebx + 0x50], edx
sub ecx, eax
mov dword [ebx + 0x48], ecx
test byte [sym.zsh.exe_lastcmd], 0x18
je 0x4d4ac3
mov eax, dword [0x529a90]
mov dword [ebx + 0x68], eax
mov eax, dword [0x529a8c]
mov dword [ebx + 0x70], eax
mov eax, dword [sym.zsh.exe_clearlist]
test eax, eax
je 0x4d3f86
mov eax, dword [sym.zsh.exe_listshown]
test eax, eax
jle 0x4d3f86
mov eax, dword [0x5215f4]
test eax, eax
je 0x4d65ca
mov esi, dword [0x529c8c]
mov edx, dword [0x529cb4]
mov eax, dword [0x529cb8]
mov edi, dword [0x529c90]
mov edx, dword [edx + esi*4]
lea eax, [eax + esi*4]
mov ebp, dword [eax]
mov dword [eax], edx
mov eax, dword [sym.zsh.exe_nlnct]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004d2950
mov ecx, dword [0x529cc0]
mov ebx, dword [0x529cc4]
mov eax, ecx
or eax, ebx
jne 0x4d6acb
mov ecx, dword [0x529be4]
test ecx, ecx
je 0x4d6aa9
mov edx, 0xffffffff
mov eax, 0xd
call fcn.004d1740
mov dword [esp + 4], edi
mov eax, dword [0x5215f4]
mov dword [esp], esi
add dword [0x529be0], eax
call fcn.004d2950
mov edx, dword [0x529c8c]
mov eax, dword [0x529cb8]
mov dword [eax + edx*4], ebp
cmp dword [sym.zsh.exe_showinglist], 0xfffffffe
mov dword [sym.zsh.exe_lastlistlen], 0
mov dword [sym.zsh.exe_listshown], 0
je 0x4d3f86
mov dword [sym.zsh.exe_showinglist], 0
mov eax, dword [0x523b44]
mov dword [sym.zsh.exe_clearlist], 0
mov dword [0x529be0], 0
mov edx, dword [sym.zsh.exe_termflags]
mov dword [0x529c64], 0
and eax, 0x1800
mov dword [0x529cac], 0
cmp eax, 0x1800
mov dword [0x529cb0], 0
sete al
cmp byte [0x522d68], 0
movzx eax, al
mov dword [0x529c54], eax
jne 0x4d3ffd
mov eax, 2
cmp eax, dword [sym.zsh.exe_zterm_lines]
mov eax, 0
sbb eax, dword [0x522e2c]
jl 0x4d55cd
mov eax, edx
or eax, 8
mov edx, dword [sym.zsh.exe_resetneeded]
mov dword [sym.zsh.exe_termflags], eax
test edx, edx
jne 0x4d53d6
mov edx, dword [0x529c84]
mov ecx, dword [0x522e34]
mov ebx, edx
xor edx, dword [sym.zsh.exe_zterm_columns]
sar ebx, 0x1f
xor ecx, ebx
or ecx, edx
jne 0x4d404f
mov edx, dword [0x529c7c]
mov ecx, dword [0x522e2c]
mov ebx, edx
xor edx, dword [sym.zsh.exe_zterm_lines]
sar ebx, 0x1f
xor ecx, ebx
or ecx, edx
je 0x4d4059
call fcn.004d20a0
mov eax, dword [sym.zsh.exe_termflags]
mov edi, dword [esp + 0x38]
xor edx, edx
test edi, edi
cmovns edx, edi
and eax, 8
mov dword [esp + 0x78], eax
mov dword [esp + 0x5c], edx
jne 0x4d59e8
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
mov dword [0x529c50], 0
mov ebx, dword [0x529cb8]
lea eax, [eax + edi*2]
mov edi, dword [ebx]
mov dword [esp + 0x64], eax
test edi, edi
je 0x4d660b
lea ecx, [esp + 0xa0]
xor edx, edx
xor eax, eax
mov dword [esp + 0x68], ecx
mov dword [ecx + eax], edx
add eax, 4
cmp eax, 0x18
jb 0x4d40ad
mov eax, dword [0x529ca4]
mov edx, dword [ebx]
mov dword [esp + 0xb0], 0xffffffff
shl eax, 4
add eax, edx
mov dword [esp + 0xb8], eax
mov eax, dword [0x529c84]
shl eax, 4
add edx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xbc], edx
test eax, eax
jle 0x4d6baf
mov edx, dword [esp + 0x6c]
sub eax, 1
xor edi, edi
mov dword [esp + 0x5c], eax
mov ebp, edi
mov dword [esp + 0x54], edx
lea esi, [esi]
lea esi, [esi]
mov eax, dword [0x529cd0]
mov esi, dword [0x529bec]
mov dword [esp + 0x50], eax
mov eax, dword [0x529cd4]
mov dword [esp + 0x48], eax
mov eax, dword [0x529bf0]
test esi, esi
je 0x4d4980
mov dword [esp + 0x28], esi
mov edi, dword [0x529bf8]
xor edx, edx
mov dword [esp + 0x58], 0
jmp 0x4d418c
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
and esi, 0xfe0
or esi, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], esi
sub ecx, 1
cmp ecx, ebp
je 0x4d41d8
cmp dword [esp + 0x5c], ebp
je 0x4d41d8
lea esi, [esi]
add edx, 1
add eax, 0x20
cmp edx, dword [esp + 0x28]
je 0x4d41f8
xor ecx, ecx
test byte [eax + 0x18], 1
mov ebx, dword [eax + 8]
cmove ecx, edi
add ebx, ecx
cmp ebx, ebp
jg 0x4d4180
add ecx, dword [eax + 0x10]
mov dword [esp + 0x34], ecx
cmp ecx, ebp
jle 0x4d4180
mov ebx, dword [eax]
mov esi, dword [eax + 4]
mov dword [esp + 0x3c], esi
mov esi, ebx
and esi, 0x18
mov dword [esp + 0x38], ebx
jne 0x4d4150
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
or dword [esp + 0x50], ebx
sub ecx, 1
or dword [esp + 0x48], esi
cmp ecx, ebp
jne 0x4d4177
mov ecx, dword [esp + 0x38]
add edx, 1
add eax, 0x20
shl ecx, 5
and ecx, 0x3e0
or dword [esp + 0x58], ecx
cmp edx, dword [esp + 0x28]
jne 0x4d418c
lea esi, [esi]
mov eax, dword [0x529cc8]
mov edx, dword [0x529ccc]
test al, 0x18
je 0x4d4780
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x44], edx
and ecx, 0xfe7
or ecx, eax
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x64], edi
je 0x4d479e
mov eax, dword [esp + 0x54]
movzx esi, word [eax]
cmp si, 0xa
je 0x4d47d7
mov ebx, dword [esp + 0xb8]
cmp si, 9
je 0x4d4710
mov eax, dword [esp + 0x40]
movzx edi, si
shl eax, 5
and eax, 0x3e0
mov dword [esp + 0x28], eax
lea eax, [esi + 0x2000]
cmp ax, 0xff
ja 0x4d47f0
sub edi, 0xe000
mov dword [esp + 4], str.__.02x_
mov dword [esp + 8], edi
lea edi, [esp + 0x94]
mov dword [esp], edi
call sub.cygwin1.dll_sprintf
cmp byte [esp + 0x94], 0
je 0x4d4757
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], ebp
lea esi, [esp + 0x90]
mov edx, dword [esp + 0x44]
mov ebp, edi
xor edi, edi
or ecx, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], edx
jmp 0x4d42d9
add ebp, 1
cmp byte [ebp], 0
je 0x4d4331
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], esi
call sub.cygwin1.dll_mbtowc
cmp eax, 1
jne 0x4d42d0
movzx eax, word [esp + 0x90]
mov edx, dword [esp + 0x44]
mov dword [ebx], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0xc], edx
mov dword [ebx + 8], eax
lea eax, [ebx + 0x10]
mov dword [esp + 0xb8], eax
cmp eax, dword [esp + 0xbc]
je 0x4d48b8
add ebp, 1
mov ebx, eax
mov edi, 1
cmp byte [ebp], 0
jne 0x4d42d9
mov eax, edi
mov edi, ebp
mov ebp, dword [esp + 0x38]
test eax, eax
je 0x4d4757
mov eax, dword [esp + 0x28]
or dword [ebx - 8], eax
cmp byte [edi], 0
je 0x4d4750
mov ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0x64]
cmp dword [esp + 0x54], edi
je 0x4d5889
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x60]
lea eax, [eax + edi*2]
cmp dword [esp + 0x54], eax
je 0x4d4381
mov dword [0x529cac], 1
mov eax, dword [sym.zsh.exe_statusline]
test eax, eax
je 0x4d53af
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [esp + 0x10], 0
mov edi, eax
mov dword [esp + 0x48], eax
lea eax, [esp + 0x94]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x90]
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 0
call sym.zsh.exe_stringaszleline
mov esi, dword [0x529cc8]
mov edi, dword [0x529ccc]
mov ebx, eax
mov dword [esp + 0x50], eax
mov edx, dword [0x529c84]
mov eax, esi
mov dword [esp + 0x3c], edi
shl eax, 5
mov dword [esp + 0x38], esi
mov edi, eax
lea eax, [ebp + 1]
mov dword [esp + 0xb4], eax
lea eax, [edx + 1]
and edi, 0x3e0
mov edx, dword [0x529cb8]
shl eax, 4
add eax, dword [edx + ebp*4]
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x68]
call fcn.004d1450
mov eax, dword [esp + 0x90]
mov edx, ebx
lea eax, [ebx + eax*2]
cmp ebx, eax
jae 0x4d4b6f
or edi, dword [esp + 0x38]
mov ebp, dword [esp + 0xbc]
mov esi, edx
mov dword [esp + 0x40], edi
mov ebx, dword [esp + 0xb8]
jmp 0x4d44d3
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [ebx], 0x5e
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov dword [esp + 0xb8], ecx
cmp ebp, ecx
je 0x4d5995
and edi, 0xffffff7f
lea ebx, [ecx + 0x10]
mov edx, edi
movzx edi, word [esp + 0x28]
or edi, 0x40
cmp edx, 0x20
movzx eax, di
mov edi, 0x3f
cmovae eax, edi
mov dword [ecx], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov dword [esp + 0xb8], ebx
cmp ebx, ebp
je 0x4d4523
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x50]
add esi, 2
lea eax, [edi + eax*2]
cmp esi, eax
jae 0x4d4b7d
movzx edi, word [esi]
mov dword [esp], edi
mov word [esp + 0x28], di
call sub.cygwin1.dll_iswprint
test eax, eax
jne 0x4d4a15
mov dword [esp], edi
lea ecx, [ebx + 0x10]
mov dword [esp + 0x34], ecx
call sub.cygwin1.dll_iswcntrl
mov ecx, dword [esp + 0x34]
test eax, eax
jne 0x4d445b
mov dword [ebx], edi
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov ebx, ecx
mov dword [esp + 0xb8], ecx
cmp ebx, ebp
jne 0x4d44ba
mov eax, dword [0x529c84]
mov ecx, dword [esp + 0xa4]
mov edx, dword [0x529cb8]
add eax, 1
shl eax, 4
add eax, dword [edx + ecx*4]
mov dword [eax], 0xa
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x68]
call fcn.004d1450
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
jmp 0x4d44ba
mov edx, dword [0x529c24]
mov eax, dword [0x529c20]
mov edi, edx
or edi, eax
jne 0x4d537b
mov eax, dword [0x529c5c]
mov dword [0x529c60], 0
mov dword [0x529c58], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call fcn.004d2950
mov eax, dword [0x529cb8]
mov edx, dword [0x529cb4]
mov dword [0x529c68], 1
mov dword [0x529cb8], edx
mov edx, dword [0x529cdc]
mov dword [0x529cb4], eax
mov eax, dword [0x529cd8]
mov dword [0x529cd8], edx
mov edx, dword [0x529c70]
mov dword [0x529cdc], eax
mov eax, dword [0x529c6c]
mov dword [0x529c6c], edx
mov edx, dword [0x529c50]
mov dword [0x529c70], eax
mov eax, dword [sym.zsh.exe_nlnct]
mov dword [0x529c4c], edx
mov dword [0x529ca8], eax
cmp eax, dword [0x529c88]
jle 0x4d4620
mov dword [0x529c88], eax
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4d53bb
call sym.zsh.exe_free_colour_buffer
mov eax, dword [sym.zsh.exe_showinglist]
cmp eax, 0xfffffffe
je 0x4d465c
test eax, eax
jle 0x4d5385
cmp eax, dword [sym.zsh.exe_nlnct]
jge 0x4d5394
mov ecx, dword [esp + 0x74]
test ecx, ecx
jne 0x4d6425
mov dword [esp + 4], 0
mov dword [esp], sym.zsh.exe_zlehooks
mov dword [0x529c48], 1
call sym.zsh.exe_runhookdef
mov edx, dword [sym.zsh.exe_errflag]
mov dword [0x529c48], 0
test edx, edx
je 0x4d641b
cmp dword [sym.zsh.exe_showinglist], 0xffffffff
je 0x4d5615
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [sym.zsh.exe_zleline]
mov dword [esp + 0x6c], eax
mov eax, dword [sym.zsh.exe_zlecs]
mov dword [esp + 0x38], eax
jmp 0x4d3c84
mov eax, dword [esi]
mov dword [esp], str.special:
mov dword [esp + 4], eax
call sym.zsh.exe_strpfx
test eax, eax
je 0x4d4b15
mov dword [esp + 4], 0x529cc8
mov eax, dword [esi]
add eax, 8
mov dword [esp], eax
call sym.zsh.exe_match_highlight
mov dword [esp + 0x28], 1
jmp 0x4d3d62
mov edx, dword [esp + 0xa4]
mov eax, dword [0x529cb8]
mov edi, ebx
sub edi, dword [eax + edx*4]
mov eax, edi
sar eax, 4
mov edx, eax
or edx, 7
add edx, 1
cmp edx, dword [0x529c84]
jl 0x4d48f0
mov eax, dword [esp + 0x68]
mov edx, 1
call fcn.004d1300
test eax, eax
jne 0x4d4351
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
cmp ebx, esi
je 0x4d4896
add dword [esp + 0x54], 2
add ebp, 1
cmp dword [esp + 0x60], ebp
jg 0x4d4110
jmp 0x4d4351
or eax, dword [esp + 0x50]
or edx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov edi, dword [esp + 0x54]
mov dword [esp + 0x44], edx
cmp dword [esp + 0x64], edi
jne 0x4d422d
mov eax, dword [esp + 0xa4]
mov edx, dword [0x529cb8]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xb0], eax
sub ecx, dword [edx + eax*4]
mov eax, dword [esp + 0x54]
sar ecx, 4
mov dword [esp + 0xac], ecx
movzx esi, word [eax]
cmp si, 0xa
jne 0x4d423e
mov eax, dword [esp + 0x68]
xor edx, edx
call fcn.004d1300
test eax, eax
je 0x4d4750
jmp 0x4d4351
mov dword [esp], edi
call sub.cygwin1.dll_iswprint
mov dword [esp], edi
test eax, eax
jne 0x4d498d
call sub.cygwin1.dll_iswcntrl
test eax, eax
je 0x4d496d
cmp si, 0xff
ja 0x4d496d
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov dword [ebx], 0x5e
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x28]
mov dword [ebx + 0xc], edx
or edi, dword [esp + 0x40]
lea edx, [ebx + 0x10]
mov dword [ebx + 8], eax
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0xb8], edx
cmp edx, esi
je 0x4d4a90
mov eax, dword [esp + 0x54]
lea ebx, [edx + 0x10]
movzx eax, word [eax]
mov dword [edx + 0xc], edi
mov ecx, eax
or eax, 0x40
and ecx, 0xff7f
movzx eax, ax
cmp ecx, 0x20
mov ecx, 0x3f
cmovae eax, ecx
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 8], eax
mov dword [esp + 0xb8], ebx
cmp ebx, esi
jne 0x4d4766
mov eax, dword [esp + 0x68]
mov edx, 1
call fcn.004d1300
test eax, eax
je 0x4d4766
jmp 0x4d4351
mov eax, dword [esp + 0x34]
mov edx, 1
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x68]
call fcn.004d1300
mov edi, eax
test eax, eax
jne 0x4d587e
mov ebx, dword [esp + 0xb8]
jmp 0x4d42d0
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
lea esi, [esi]
nop
add eax, 1
mov dword [ebx], 0x20
mov edx, ebx
add ebx, 0x10
mov dword [ebx - 8], ecx
mov dword [ebx - 4], esi
test al, 7
jne 0x4d4900
mov eax, dword [esp + 0x58]
or eax, dword [esp + 0x50]
mov dword [esp + 0xb8], ebx
mov dword [edx + 8], eax
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0xbc]
mov dword [edx + 0xc], eax
jmp 0x4d475e
mov eax, dword [esp + 0x54]
movzx edi, word [eax]
mov dword [esp], edi
mov esi, edi
call sub.cygwin1.dll_iswcntrl
cmp di, 0xff
ja 0x4d495d
test eax, eax
jne 0x4d481b
add si, 0x2000
cmp si, 0xff
jbe 0x4d4272
mov dword [esp + 8], edi
mov dword [esp + 4], str.__.04x_
jmp 0x4d4284
mov dword [esp + 0x58], 0
jmp 0x4d41f8
call sub.cygwin1.dll_wcwidth
mov edi, eax
test eax, eax
jle 0x4d493d
mov esi, dword [esp + 0xbc]
mov eax, esi
sub eax, ebx
sar eax, 4
mov edx, eax
cmp eax, edi
jl 0x4d5770
cmp byte [0x522ce5], 0
je 0x4d6544
mov eax, dword [esp + 0x54]
mov dword [esp + 0x38], edx
movzx ecx, word [eax]
mov dword [esp], ecx
mov dword [esp + 0x34], ecx
call sub.cygwin1.dll_iswgraph
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x4d644f
cmp edi, edx
jle 0x4d6544
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov dword [ebx], 0x3f
add ebx, 0x10
mov ecx, dword [esp + 0x44]
or eax, edx
mov dword [ebx - 8], eax
mov dword [ebx - 4], ecx
mov dword [esp + 0xb8], ebx
jmp 0x4d475e
mov dword [esp], edi
call sub.cygwin1.dll_wcwidth
mov edi, eax
mov eax, ebp
sub eax, ebx
sar eax, 4
cmp eax, edi
jl 0x4d5504
movzx eax, word [esi]
lea ecx, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx], eax
mov dword [esp + 0xb8], ecx
cmp edi, 1
jle 0x4d695c
mov edx, edi
mov eax, ecx
shl edx, 4
add edx, ebx
lea esi, [esi]
mov dword [eax], 0xffffffff
add eax, 0x10
mov dword [eax - 8], 0
mov dword [eax - 4], 0
cmp edx, eax
jne 0x4d4a60
lea eax, [edi - 1]
shl eax, 4
lea ebx, [ecx + eax]
mov dword [esp + 0xb8], ebx
jmp 0x4d44b6
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xc], edi
mov edx, 1
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x68]
call fcn.004d1300
test eax, eax
jne 0x4d4351
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
jmp 0x4d4858
mov dword [ebx + 0x70], 0xffffffff
mov dword [ebx + 0x68], 0xffffffff
jmp 0x4d3eaa
mov dword [ebx + 0x50], 0xffffffff
mov dword [ebx + 0x48], 0xffffffff
jmp 0x4d3e8d
mov dword [ebx + 0x30], 0xffffffff
mov dword [ebx + 0x28], 0xffffffff
jmp 0x4d3e70
mov ebx, dword [0x529bf0]
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 8], 0xffffffff
jmp 0x4d3e53
mov eax, dword [esi]
mov dword [esp], str.region:
mov dword [esp + 4], eax
call sym.zsh.exe_strpfx
test eax, eax
jne 0x4d55e0
mov eax, dword [esi]
mov dword [esp], str.isearch:
mov dword [esp + 4], eax
call sym.zsh.exe_strpfx
test eax, eax
je 0x4d6635
mov eax, dword [0x529bf0]
add eax, 0x20
mov dword [esp + 4], eax
mov eax, dword [esi]
add eax, 8
mov dword [esp], eax
call sym.zsh.exe_match_highlight
mov dword [esp + 0x50], 1
jmp 0x4d3d62
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
cmp ebx, ebp
je 0x4d6992
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call sym.zsh.exe_zfree
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004e5e70
mov ebp, dword [esp + 0xa4]
mov eax, dword [0x529c80]
mov ecx, dword [0x529cac]
mov dword [ebx], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [esp + 0x28], eax
test ecx, ecx
je 0x4d4d3f
mov edx, dword [sym.zsh.exe_statusline]
test edx, edx
je 0x4d566c
mov edx, dword [esp + 0xb4]
mov eax, dword [0x529cb8]
lea eax, [eax + edx*4 - 4]
mov ebx, dword [eax]
mov dword [esp + 0x50], eax
mov eax, dword [0x529c84]
mov dword [esp + 0xb8], ebx
add eax, 0xffffff9
shl eax, 4
mov dword [esp + 0x38], eax
add eax, ebx
mov dword [esp + 0xbc], eax
cmp ebx, eax
jae 0x4d6b53
mov edi, dword [esp + 0x88]
mov edx, ebx
xor esi, esi
jmp 0x4d4c4a
add edx, 0x10
mov esi, 1
cmp eax, edx
jbe 0x4d6532
mov edi, edx
mov ecx, dword [edx]
test ecx, ecx
jne 0x4d4c38
mov dword [esp + 0x34], ecx
mov ecx, esi
test cl, cl
je 0x4d4c61
mov dword [esp + 0xb8], edi
mov ecx, dword [esp + 0x34]
cmp eax, edx
je 0x4d4c89
add edx, 0x10
mov dword [edx - 0x10], 0x20
mov dword [edx - 8], 0
mov dword [edx - 4], 0
cmp eax, edx
jne 0x4d4c69
mov dword [esp + 0x34], ecx
mov dword [eax], 0
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
xor edx, edx
xor esi, esi
jmp 0x4d4cb9
sub eax, 0x10
lea esi, [edx + 1]
cmp ebx, eax
jae 0x4d636a
mov ecx, dword [eax]
mov edx, esi
mov edi, eax
mov esi, 1
cmp ecx, 0xffffffff
je 0x4d4ca0
mov ebx, esi
test bl, bl
je 0x4d4ccb
mov dword [esp + 0xbc], edi
mov ecx, dword [0x500440]
lea edi, [eax + 4]
mov esi, 0x500440
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [0x5004ac]
mov dword [eax + 0x6c], ecx
mov ecx, eax
sub ecx, edi
sub esi, ecx
add ecx, 0x70
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
test edx, edx
jne 0x4d6b36
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x38]
mov eax, dword [eax]
lea edx, [eax + edi + 0x80]
mov dword [edx + 8], 0
mov dword [edx], 0
mov dword [edx + 0xc], 0
mov dword [eax + edi + 0x70], 0
mov ecx, dword [edx + 4]
mov dword [eax + edi + 0x74], ecx
mov ecx, dword [edx + 8]
mov dword [eax + edi + 0x78], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + edi + 0x7c], edx
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4d4ed0
mov eax, dword [esp + 0xb4]
mov esi, dword [0x529cb8]
xor ecx, ecx
mov edi, dword [esp + 0x80]
lea ebx, [eax*4]
lea eax, [esi + ebx]
mov edx, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [0x529c84]
mov dword [esp + 0xb8], edx
add eax, 0xffffff8
shl eax, 4
mov dword [esp + 0x50], eax
add eax, edx
mov dword [esp + 0xbc], eax
cmp edx, eax
jb 0x4d4db2
jmp 0x4d4de2
add edx, 0x10
mov ecx, 1
cmp eax, edx
jbe 0x4d635e
mov edi, edx
cmp dword [edx], 0
jne 0x4d4da0
test cl, cl
je 0x4d4dc2
mov dword [esp + 0xb8], edi
cmp eax, edx
je 0x4d4de2
add edx, 0x10
mov dword [edx - 0x10], 0x20
mov dword [edx - 8], 0
mov dword [edx - 4], 0
cmp eax, edx
jne 0x4d4dc6
mov esi, dword [esi + ebx - 4]
xor edx, edx
cmp eax, esi
ja 0x4d4e0a
jmp 0x4d6bbe
lea ecx, [eax - 0x10]
lea ebx, [edx + 1]
cmp ecx, esi
jbe 0x4d63c0
mov edx, ebx
mov eax, ecx
cmp dword [eax], 0xffffffff
je 0x4d4df8
mov ecx, dword [0x5003e0]
lea edi, [eax + 4]
mov esi, 0x5003e0
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [0x50043c]
mov dword [eax + 0x5c], ecx
mov ecx, eax
add eax, 0x60
sub ecx, edi
sub esi, ecx
add ecx, 0x60
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xbc], eax
test edx, edx
jne 0x4d6b3e
mov dword [eax], 0x3e
mov edi, dword [esp + 0x50]
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0x20
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
lea edx, [eax + edi + 0x90]
mov dword [edx + 8], 0
mov dword [edx], 0
mov dword [edx + 0xc], 0
mov dword [eax + edi + 0x80], 0
mov ecx, dword [edx + 4]
mov dword [eax + edi + 0x84], ecx
mov ecx, dword [edx + 8]
mov dword [eax + edi + 0x88], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + edi + 0x8c], edx
add ebp, 1
mov edx, dword [0x529cb8]
mov dword [sym.zsh.exe_nlnct], ebp
cmp ebp, dword [esp + 0x28]
jge 0x4d4f1a
lea esi, [esi]
mov eax, dword [0x529c84]
add eax, 2
shl eax, 4
mov dword [esp + 4], eax
mov eax, dword [edx + ebp*4]
mov dword [esp], eax
call sym.zsh.exe_zfree
mov edx, dword [0x529cb8]
mov dword [edx + ebp*4], 0
add ebp, 1
cmp dword [0x529c80], ebp
jg 0x4d4ee8
mov ebx, dword [0x529cb0]
test ebx, ebx
jne 0x4d4f55
mov eax, dword [0x529c04]
test eax, eax
jne 0x4d5603
cmp dword [0x529c94], 1
je 0x4d670c
mov dword [0x529c5c], 0
mov dword [esp + 0x34], 1
jmp 0x4d5041
mov ebp, dword [0x529cb8]
mov edi, dword [0x529ca4]
mov edx, dword [ebp]
lea ecx, [edi - 1]
mov eax, edx
test edi, edi
je 0x4d4f8d
lea esi, [esi]
add eax, 0x10
mov dword [eax - 0x10], 0x20
mov dword [eax - 8], 0
mov dword [eax - 4], 0
sub ecx, 1
jae 0x4d4f70
mov esi, dword [0x529c84]
mov eax, 5
mov dword [esp + 4], 0x500380
mov ebx, esi
sub ebx, edi
cmp ebx, eax
cmovg ebx, eax
mov eax, edi
shl eax, 4
add eax, edx
mov edx, ebx
shl edx, 4
mov dword [esp], eax
mov dword [esp + 8], edx
call sub.cygwin1.dll_memcpy
mov eax, esi
lea ecx, [ebx + edi]
mov edx, dword [ebp]
sub eax, ebx
shl ecx, 4
sub eax, edi
add ecx, edx
lea ebx, [eax - 1]
test eax, eax
je 0x4d4ffd
lea esi, [esi]
add ecx, 0x10
mov dword [ecx - 0x10], 0x20
mov dword [ecx - 8], 0
mov dword [ecx - 4], 0
sub ebx, 1
jae 0x4d4fe0
add esi, 1
mov dword [esp + 0x34], 1
shl esi, 4
lea eax, [edx + esi]
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [edx + esi - 0x10], 0
mov eax, dword [eax + 4]
mov dword [edx + esi - 8], 0
mov dword [edx + esi - 0xc], eax
mov dword [edx + esi - 4], 0
mov ebx, dword [sym.zsh.exe_nlnct]
test ebx, ebx
jle 0x4d5320
mov esi, dword [esp + 0x78]
mov ebp, 4
jmp 0x4d5088
mov eax, esi
call fcn.004d2bf0
mov eax, dword [0x529c5c]
test eax, eax
jne 0x4d51f3
mov ebx, dword [sym.zsh.exe_nlnct]
add esi, 1
add ebp, 4
cmp ebx, esi
jle 0x4d5320
mov ebx, dword [0x529ca8]
cmp ebx, esi
jg 0x4d509c
mov dword [0x529c64], 1
mov eax, dword [0x529c60]
test eax, eax
jne 0x4d5060
test esi, esi
je 0x4d5060
lea eax, [ebx - 1]
cmp eax, esi
jle 0x4d51e7
mov edi, dword [sym.zsh.exe_hasam]
test edi, edi
je 0x4d50cf
mov eax, dword [0x529c84]
cmp dword [0x529c90], eax
je 0x4d51e7
mov eax, dword [0x529cb8]
lea edi, [esi*4]
mov edx, dword [eax + esi*4]
mov dword [esp + 0x28], eax
test edx, edx
je 0x4d51e7
mov ecx, dword [0x529cb4]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], eax
test eax, eax
je 0x4d51e7
mov dword [esp + 0x40], edx
call fcn.004d18f0
test eax, eax
je 0x4d51e7
mov ecx, dword [0x521600]
test ecx, ecx
je 0x4d56b1
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + ebp]
test eax, eax
je 0x4d56b1
mov edx, dword [eax]
test edx, edx
je 0x4d56b1
mov edx, dword [esp + 0x40]
call fcn.004d18f0
test eax, eax
jne 0x4d56b1
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.004d2950
mov ebx, dword [0x529be4]
test ebx, ebx
je 0x4d6d68
mov edx, 0xffffffff
mov eax, 0x10
call fcn.004d1740
mov eax, dword [0x521600]
add dword [0x529be0], eax
mov eax, dword [0x529c84]
add eax, 2
shl eax, 4
mov dword [esp + 4], eax
mov eax, dword [0x529cb4]
mov eax, dword [eax + edi]
mov dword [esp], eax
call sym.zsh.exe_zfree
mov ebx, dword [0x529ca8]
mov edx, dword [0x529cb4]
cmp ebx, esi
je 0x4d51d7
mov eax, ebx
add edi, edx
mov dword [esp + 0x28], edx
sub eax, esi
mov dword [esp], edi
shl eax, 2
mov dword [esp + 8], eax
lea eax, [edx + ebp]
mov dword [esp + 4], eax
call sub.cygwin1.dll_memmove
mov edx, dword [esp + 0x28]
sub ebx, 1
mov dword [0x529ca8], ebx
mov dword [edx + ebx*4], 0
mov eax, esi
call fcn.004d2bf0
jmp 0x4d5074
mov eax, esi
or eax, dword [0x529c58]
jne 0x4d5074
mov edi, dword [esp + 0x34]
mov eax, dword [0x529c84]
mov dword [esp], 0
sub eax, edi
sub eax, dword [0x529ca0]
mov dword [esp + 4], eax
call fcn.004d2950
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp + 4], eax
mov eax, dword [0x529c30]
mov dword [esp], eax
call sym.zsh.exe_zputs
test edi, edi
je 0x4d6510
mov eax, dword [0x529c84]
sub eax, edi
mov dword [0x529c90], eax
mov eax, dword [0x529c20]
mov edx, dword [0x529c24]
mov ecx, dword [0x529c28]
mov dword [esp + 0x28], eax
shl eax, 5
mov ebx, dword [0x529c2c]
mov edi, eax
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
and edi, 0x3e0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x50], ecx
shrd eax, edx, 5
and eax, 0x1f
or edi, eax
mov eax, ecx
mov edx, edi
mov dword [esp + 0x40], edi
xor edi, edi
and edx, ecx
test al, 8
je 0x4d52d4
mov ecx, dword [esp + 0x28]
and ecx, 8
je 0x4d52c0
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x28]
mov ecx, eax
xor ebx, dword [esp + 0x2c]
xor cx, cx
movzx eax, bl
or eax, ecx
je 0x4d52d4
mov eax, dword [esp + 0x40]
movzx edi, byte [esp + 0x38]
or eax, 0xffff0008
and eax, dword [esp + 0x50]
mov edx, eax
test byte [esp + 0x50], 0x10
je 0x4d5308
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov eax, ecx
and eax, 0x10
je 0x4d52f7
mov eax, dword [esp + 0x38]
xor eax, ebx
test eax, 0xffffff00
je 0x4d5308
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
and eax, 0x10
xor cl, cl
or edx, eax
or edi, ecx
mov eax, edi
or eax, edx
je 0x4d5074
mov eax, edx
mov edx, edi
call fcn.004d11c0
jmp 0x4d5074
cmp dword [0x529ca8], ebx
jle 0x4d534a
mov dword [0x529c64], 1
lea esi, [esi]
mov eax, ebx
add ebx, 1
call fcn.004d2bf0
cmp dword [0x529ca8], ebx
jg 0x4d5338
mov edi, dword [0x529c60]
test edi, edi
je 0x4d4583
mov esi, dword [sym.zsh.exe_postedit]
test esi, esi
je 0x4d4583
mov edx, dword [0x529c2c]
mov eax, dword [0x529c28]
mov edi, edx
or edi, eax
je 0x4d456e
call fcn.004d11c0
jmp 0x4d4583
cmp eax, 0xffffffff
jne 0x4d5394
mov eax, dword [sym.zsh.exe_nlnct]
mov dword [sym.zsh.exe_showinglist], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4d46ab
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
jmp sym.zsh.exe_metafy_line
mov ebx, dword [esp + 0xb8]
jmp 0x4d4baf
mov eax, dword [esp + 0x60]
add eax, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sym.zsh.exe_zfree
jmp 0x4d4639
mov dword [0x529c4c], 0
mov esi, 0xffffffff
call sym.zsh.exe_zsetterm
mov eax, dword [sym.zsh.exe_winchanged]
test eax, eax
jne 0x4d567e
mov dword [esp + 4], 0
mov dword [esp], 0x15
call sym.zsh.exe_tsetcap
mov dword [esp + 4], 0
mov dword [esp], 0x16
call sym.zsh.exe_tsetcap
mov dword [esp + 4], 0
mov dword [esp], 0x17
call sym.zsh.exe_tsetcap
mov eax, dword [0x529c04]
mov dword [sym.zsh.exe_txtattrmask], 0
mov dword [0x52308c], 0
test eax, eax
je 0x4d545d
mov eax, dword [sym.zsh.exe_clearflag]
test eax, eax
je 0x4d6910
call fcn.004d20a0
mov edx, dword [sym.zsh.exe_clearflag]
mov dword [sym.zsh.exe_resetneeded], 0
mov dword [0x529c58], 0
mov eax, edx
test edx, edx
jne 0x4d54af
mov eax, dword [0x5215f4]
test eax, eax
jne 0x4d69e9
mov dword [0x529c64], 1
mov edi, dword [sym.zsh.exe_listshown]
test edi, edi
jle 0x4d54ad
mov dword [sym.zsh.exe_listshown], 0
mov eax, edx
test esi, esi
js 0x4d54c4
mov ecx, dword [0x529c80]
cmp ecx, esi
cmovg ecx, esi
mov dword [0x529ca8], ecx
test byte [sym.zsh.exe_termflags], 8
je 0x4d562a
mov dword [0x529c90], 0
test eax, eax
jne 0x4d66cd
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov eax, dword [sym.zsh.exe_clearflag]
mov dword [0x529c60], eax
mov eax, dword [sym.zsh.exe_termflags]
jmp 0x4d4059
mov eax, ebx
lea esi, [esi]
lea esi, [esi]
mov dword [eax], 0x20
add eax, 0x10
mov dword [eax - 8], 0
mov dword [eax - 4], 0
cmp ebp, eax
ja 0x4d5510
lea eax, [ebp - 1]
lea edx, [ebx + 1]
mov ecx, dword [esp + 0xa4]
sub eax, ebx
and eax, 0xfffffff0
add eax, 0x10
cmp ebp, edx
mov edx, 0x10
cmovb eax, edx
mov edx, dword [0x529cb8]
add eax, ebx
mov dword [esp + 0xb8], eax
mov eax, dword [0x529c84]
add eax, 1
shl eax, 4
add eax, dword [edx + ecx*4]
mov dword [eax], 0xa
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x68]
call fcn.004d1450
mov ebp, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
mov eax, ebp
sub eax, ebx
sar eax, 4
cmp eax, edi
jge 0x4d4a2e
mov eax, dword [esp + 0x40]
mov dword [ebx], 0x3f
add ebx, 0x10
mov dword [ebx - 8], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx - 4], eax
mov dword [esp + 0xb8], ebx
jmp 0x4d44b6
mov ecx, edx
mov edx, esi
jmp 0x4d3e27
mov eax, edx
and eax, 0xfffffff7
test dl, 7
je 0x4d4002
jmp 0x4d3ffd
mov eax, dword [0x529bf0]
mov dword [esp + 4], eax
mov eax, dword [esi]
add eax, 7
mov dword [esp], eax
call sym.zsh.exe_match_highlight
mov dword [esp + 0x34], 1
jmp 0x4d3d62
cmp byte [0x522d6b], 0
je 0x4d4f31
jmp 0x4d4f3e
mov eax, dword [sym.zsh.exe_nlnct]
mov dword [sym.zsh.exe_showinglist], eax
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
test edx, edx
jne 0x4d563c
mov eax, dword [0x529c34]
cmp byte [eax], 0
jne 0x4d691a
mov eax, dword [0x529c28]
mov edx, dword [0x529c2c]
call fcn.004d11c0
mov eax, dword [sym.zsh.exe_clearflag]
jmp 0x4d54db
add ebx, 0x10
mov dword [esp], ebx
call sym.zsh.exe_incpos
mov ebx, dword [0x529bf0]
jmp 0x4d3e53
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb4], eax
mov edx, eax
jmp 0x4d4bef
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004d2950
mov esi, dword [0x529ca8]
mov dword [sym.zsh.exe_winchanged], 0
mov dword [sym.zsh.exe_listshown], 0
jmp 0x4d53f7
mov ecx, dword [0x5215fc]
test ecx, ecx
je 0x4d51e7
cmp ebx, dword [0x529c88]
jge 0x4d51e7
mov eax, dword [esp + 0x28]
mov edx, dword [eax + ebp]
test edx, edx
je 0x4d51e7
mov eax, dword [esp + 0x50]
call fcn.004d18f0
test eax, eax
jne 0x4d51e7
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.004d2950
mov edx, dword [0x529be4]
test edx, edx
je 0x4d6d26
mov edx, 0xffffffff
mov eax, 0xf
call fcn.004d1740
mov ebx, dword [0x529ca8]
mov eax, dword [0x5215fc]
mov edx, dword [0x529cb4]
add dword [0x529be0], eax
cmp ebx, esi
je 0x4d5759
mov eax, ebx
mov dword [esp + 0x28], edx
sub eax, esi
shl eax, 2
mov dword [esp + 8], eax
lea eax, [edx + edi]
mov dword [esp + 4], eax
lea eax, [edx + edi + 4]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov edx, dword [esp + 0x28]
add ebx, 1
mov dword [edx + edi], 0
mov dword [0x529ca8], ebx
jmp 0x4d51e7
mov eax, ebx
mov edx, ebx
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
lea esi, [esi]
mov dword [eax], 0x20
add eax, 0x10
mov dword [eax - 8], ecx
mov dword [eax - 4], ebx
cmp esi, eax
ja 0x4d5780
mov ebx, edx
lea eax, [esi - 1]
lea edx, [edx + 1]
sub eax, ebx
mov dword [esp + 0x34], edx
shr eax, 4
mov ecx, eax
lea eax, [eax + 1]
shl eax, 4
cmp esi, edx
mov edx, 0x10
cmovb eax, edx
xor edx, edx
add eax, ebx
mov dword [esp + 0xb8], eax
mov eax, ecx
shl eax, 4
cmp esi, dword [esp + 0x34]
cmovb eax, edx
mov edx, dword [esp + 0x40]
or edx, dword [esp + 0x28]
mov dword [ebx + eax + 8], edx
mov edx, dword [esp + 0x44]
mov dword [ebx + eax + 0xc], edx
mov eax, dword [esp + 0x68]
mov edx, 1
call fcn.004d1300
test eax, eax
jne 0x4d4351
mov ebx, dword [esp + 0xb8]
mov edx, dword [esp + 0x54]
cmp dword [esp + 0x64], edx
je 0x4d687c
mov esi, dword [esp + 0xbc]
mov eax, esi
sub eax, ebx
sar eax, 4
cmp byte [0x522ce5], 0
mov edx, eax
je 0x4d49e4
jmp 0x4d49bd
mov eax, dword [0x529bf0]
xor ebx, ebx
mov dword [0x529cc8], 2
mov dword [0x529ccc], 0
mov dword [eax], 2
mov dword [eax + 4], 0
mov eax, dword [0x529bf0]
mov dword [eax + 0x20], 4
mov dword [eax + 0x24], 0
mov dword [eax + 0x40], 1
mov dword [eax + 0x44], 0
jmp 0x4d3de2
mov edi, ebp
mov ebp, dword [esp + 0x38]
jmp 0x4d4348
mov edx, dword [0x529cb8]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xb0], ebp
sub eax, dword [edx + ebp*4]
sar eax, 4
mov dword [esp + 0xac], eax
cmp eax, dword [0x529c84]
jne 0x4d4366
mov eax, dword [esp + 0x68]
mov edx, 1
call fcn.004d1300
mov eax, dword [esp + 0xb8]
mov ebp, dword [esp + 0xa4]
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
add dword [esp + 0xb0], 1
mov dword [esp + 0xac], 0
jmp 0x4d4366
mov dword [esp + 8], eax
mov eax, dword [0x529c00]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sub.cygwin1.dll_wmemcpy
mov ecx, dword [sym.zsh.exe_zlell]
mov eax, dword [0x529bf8]
test ecx, ecx
je 0x4d3c5a
mov edi, dword [esp + 0x6c]
mov edx, dword [sym.zsh.exe_zleline]
mov dword [esp + 8], ecx
lea eax, [edi + eax*2]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.cygwin1.dll_wmemcpy
mov edx, dword [0x529bf4]
mov eax, dword [0x529bf8]
mov ecx, dword [sym.zsh.exe_zlell]
test edx, edx
je 0x4d3c68
add ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [0x529bfc]
lea eax, [eax + ecx*2]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.cygwin1.dll_wmemcpy
mov eax, dword [0x529bf8]
mov ecx, dword [sym.zsh.exe_zlell]
mov edx, dword [0x529bf4]
jmp 0x4d3c68
mov eax, dword [0x529c84]
mov ecx, dword [esp + 0xa4]
mov edx, dword [0x529cb8]
add eax, 1
shl eax, 4
add eax, dword [edx + ecx*4]
mov dword [eax], 0xa
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov eax, dword [esp + 0x68]
call fcn.004d1450
movzx edi, word [esi]
mov ecx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
mov word [esp + 0x28], di
jmp 0x4d447e
mov eax, dword [0x529c78]
mov dword [sym.zsh.exe_nlnct], 1
mov dword [esp + 0x88], eax
mov eax, dword [0x529c74]
mov dword [esp + 0x78], eax
mov eax, dword [0x529ca4]
add eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4d5a85
sub eax, 1
xor ebx, ebx
mov dword [esp + 0x34], eax
jmp 0x4d5a5e
movzx ebp, si
mov dword [esp], ebp
call sub.cygwin1.dll_iswprint
test eax, eax
jne 0x4d5d94
mov dword [esp], ebp
call sub.cygwin1.dll_iswcntrl
cmp si, 0xff
ja 0x4d5a50
test eax, eax
jne 0x4d5e20
add dword [esp + 0x28], 0xa
add ebx, 1
cmp dword [esp + 0x60], ebx
je 0x4d5a85
mov eax, dword [esp + 0x6c]
lea edi, [eax + ebx*2]
movzx esi, word [edi]
cmp si, 9
jne 0x4d5a26
mov edi, dword [esp + 0x28]
add ebx, 1
or edi, 7
lea eax, [edi + 2]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x60], ebx
jne 0x4d5a5e
mov eax, dword [esp + 0x28]
shl eax, 4
mov dword [esp], eax
mov dword [esp + 0x8c], eax
call sym.zsh.exe_zalloc
mov ecx, dword [0x529ca4]
mov dword [esp + 0x7c], eax
lea edx, [ecx - 1]
test ecx, ecx
je 0x4d5ac9
add eax, 0x10
mov dword [eax - 0x10], 0x20
mov dword [eax - 8], 0
mov dword [eax - 4], 0
sub edx, 1
jae 0x4d5aac
mov eax, dword [esp + 0x60]
shl ecx, 4
xor edi, edi
add ecx, dword [esp + 0x7c]
mov dword [esp + 0x40], ecx
mov ebp, edi
lea edx, [eax - 1]
mov dword [ecx], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x68], edx
test eax, eax
jle 0x4d5d0a
mov esi, dword [0x529bec]
mov eax, dword [0x529bf0]
test esi, esi
je 0x4d6336
mov dword [esp + 0x58], 0
mov edi, dword [0x529bf8]
xor edx, edx
mov dword [esp + 0x84], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x28], esi
jmp 0x4d5b7c
mov ebx, ecx
mov ecx, dword [esp + 0x34]
and ebx, 0xfe7
or esi, ebx
sub ecx, 1
mov dword [esp + 0x50], esi
cmp ecx, ebp
je 0x4d5bcf
cmp dword [esp + 0x68], ebp
je 0x4d5bcf
lea esi, [esi]
add edx, 1
add eax, 0x20
cmp edx, dword [esp + 0x28]
je 0x4d5bec
xor ecx, ecx
test byte [eax + 0x18], 1
mov ebx, dword [eax + 8]
cmove ecx, edi
add ebx, ecx
cmp ebx, ebp
jg 0x4d5b70
add ecx, dword [eax + 0x10]
mov dword [esp + 0x34], ecx
cmp ecx, ebp
jle 0x4d5b70
mov esi, dword [eax + 4]
mov ebx, dword [eax]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x50]
mov ecx, ebx
mov dword [esp + 0x38], ebx
test esi, 0x18
jne 0x4d5b4e
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
or dword [esp + 0x50], ebx
sub ecx, 1
or dword [esp + 0x54], esi
cmp ecx, ebp
jne 0x4d5b67
mov ecx, dword [esp + 0x38]
add edx, 1
add eax, 0x20
shl ecx, 5
and ecx, 0x3e0
or dword [esp + 0x58], ecx
cmp edx, dword [esp + 0x28]
jne 0x4d5b7c
mov eax, dword [0x529cc8]
mov edx, dword [0x529ccc]
test al, 0x18
je 0x4d60d6
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x4c], edx
and ecx, 0xfe7
or ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x48]
lea edi, [ebp + ebp]
shl eax, 5
and eax, 0x3e0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x6c]
lea edx, [eax + edi]
movzx esi, word [edx]
cmp si, 9
je 0x4d61fb
cmp si, 0xa
je 0x4d60eb
movzx ebx, si
lea eax, [ebp + 1]
mov dword [esp + 0x38], edx
mov dword [esp], ebx
mov dword [esp + 0x28], eax
call sub.cygwin1.dll_iswprint
mov edx, dword [esp + 0x38]
test eax, eax
jne 0x4d61cf
mov dword [esp], ebx
call sub.cygwin1.dll_iswcntrl
cmp si, 0xff
ja 0x4d612a
test eax, eax
je 0x4d612a
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
movzx eax, word [eax + edi + 2]
mov edi, dword [esp + 0x48]
mov dword [esi], 0x5e
mov dword [esi + 0xc], ebp
mov edx, eax
or eax, 0x40
mov dword [esi + 0x1c], ebp
and edx, 0xff7f
movzx eax, ax
mov dword [esi + 8], edi
cmp edx, 0x20
mov edx, 0x3f
cmovae eax, edx
add esi, 0x20
mov dword [esi - 0x10], eax
mov eax, dword [esp + 0x34]
or eax, edi
mov dword [esi - 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], esi
mov ebp, eax
add eax, 1
mov dword [esp + 0x28], eax
cmp ebp, dword [esp + 0x5c]
jne 0x4d5cfa
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x7c]
sar eax, 4
sub eax, 1
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x60], ebp
jg 0x4d5b0a
mov edi, ebp
mov edx, dword [esp + 0x40]
mov eax, edx
sub eax, dword [esp + 0x7c]
mov dword [edx], 0
sar eax, 4
cmp edi, dword [esp + 0x5c]
cmovne eax, dword [esp + 0x80]
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov edi, dword [0x529c84]
mov dword [esp + 0x80], eax
mov eax, dword [0x529c78]
cmp eax, 0xffffffff
je 0x4d5e2a
test eax, eax
je 0x4d5e36
cmp eax, dword [esp + 0x80]
jl 0x4d5e36
mov esi, dword [sym.zsh.exe_hasam]
mov ebp, edi
mov ebx, dword [esp + 0x80]
sub ebp, esi
mov eax, ebp
shr eax, 0x1f
add eax, ebp
sar eax, 1
sub ebx, eax
js 0x4d677e
mov dword [0x529c78], ebx
jmp 0x4d5e57
mov dword [esp], ebp
call sub.cygwin1.dll_wcwidth
test eax, eax
jle 0x4d662b
add dword [esp + 0x28], eax
cmp byte [0x522ce5], 0
je 0x4d5a55
movzx esi, word [edi]
mov dword [esp], esi
call sub.cygwin1.dll_iswgraph
test eax, eax
je 0x4d5a55
mov dword [esp], esi
call sub.cygwin1.dll_wcwidth
test eax, eax
jle 0x4d5a55
mov esi, ebx
cmp dword [esp + 0x34], ebx
jle 0x4d5a55
mov eax, dword [esp + 0x6c]
mov ebx, esi
movzx eax, word [eax + esi*2 + 2]
lea esi, [esi + 1]
test ax, ax
je 0x4d5a55
mov dword [esp], eax
call sub.cygwin1.dll_wcwidth
test eax, eax
jne 0x4d5a55
cmp dword [esp + 0x34], esi
jne 0x4d5de4
mov ebx, dword [esp + 0x34]
jmp 0x4d5a55
add dword [esp + 0x28], 2
jmp 0x4d5a55
mov dword [0x529c78], 0
xor eax, eax
mov esi, dword [sym.zsh.exe_hasam]
lea eax, [eax + edi - 1]
cmp dword [esp + 0x80], eax
jge 0x4d5d6d
mov ebp, edi
mov ebx, dword [0x529c78]
sub ebp, esi
mov ecx, ebx
shl ecx, 4
add ecx, dword [esp + 0x7c]
test ebx, ebx
je 0x4d678c
mov dword [ecx], 0x3c
lea eax, [ecx + 0x10]
mov dword [ecx + 8], 0
mov edx, eax
mov dword [ecx + 0xc], 0
xor ecx, ecx
add edx, 0x10
add ecx, 1
cmp dword [edx - 0x10], 0
jne 0x4d5e83
cmp ecx, ebp
jle 0x4d5ed4
lea edx, [ebx + edi]
mov edi, dword [esp + 0x7c]
sub edx, esi
add edx, 0xfffffff
shl edx, 4
lea ecx, [edi + edx]
lea edx, [edi + edx + 0x10]
mov dword [ecx], 0x3e
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [edx], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov edx, dword [0x529cb8]
mov edx, dword [edx]
jmp 0x4d5ee1
add eax, 0x10
mov ecx, dword [eax - 0x10]
add edx, 0x10
mov dword [edx - 0x10], ecx
mov ebx, dword [eax - 0xc]
mov dword [edx - 0xc], ebx
mov ebx, dword [eax - 8]
mov dword [edx - 8], ebx
mov ebx, dword [eax - 4]
mov dword [edx - 4], ebx
test ecx, ecx
jne 0x4d5ede
mov eax, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call sym.zsh.exe_zfree
mov ebp, dword [0x529c78]
mov eax, dword [esp + 0x80]
sub eax, ebp
mov dword [esp + 0x38], eax
mov eax, dword [0x529ca4]
cmp ebp, eax
jge 0x4d66bc
sub eax, ebp
mov dword [0x529c74], eax
mov esi, eax
cmp dword [esp + 0x88], ebp
je 0x4d5f9e
xor eax, eax
xor ebx, ebx
call fcn.004d24c0
call sym.zsh.exe_mb_charinit
mov esi, dword [0x529c34]
movzx eax, byte [esi]
test al, al
jne 0x4d5f84
jmp 0x4d5f92
cmp al, 0x8a
jne 0x4d6963
add esi, 1
xor ebx, ebx
movzx eax, byte [esi]
test al, al
je 0x4d5f92
cmp al, 0x88
jne 0x4d5f70
add esi, 1
mov ebx, 1
jmp 0x4d5f7d
mov esi, dword [0x529c74]
mov dword [0x529c90], esi
mov ebx, esi
shl ebx, 4
mov eax, dword [0x529cb8]
mov ecx, dword [eax]
mov eax, dword [0x529cb4]
lea edi, [ecx + ebx]
add ebx, dword [eax]
jmp 0x4d6019
mov eax, dword [edi]
test eax, eax
jne 0x4d5fd0
mov eax, dword [ebx]
test eax, eax
je 0x4d62dc
mov eax, esi
call fcn.004d24c0
mov eax, dword [ebx]
test eax, eax
je 0x4d626a
mov ebp, dword [edi]
test ebp, ebp
je 0x4d69a7
mov dword [esp], edi
add esi, 1
add edi, 0x10
add ebx, 0x10
mov dword [esp + 4], 0
call fcn.004d1e80
mov eax, dword [0x529cb8]
add dword [0x529be0], 1
add dword [0x529c90], 1
mov ecx, dword [eax]
mov eax, edi
mov edx, dword [edi]
sub eax, ecx
sar eax, 4
cmp dword [esp + 0x78], eax
jg 0x4d5fc0
test edx, edx
je 0x4d5fc6
mov eax, dword [0x529cdc]
mov dword [esp + 0x28], eax
mov eax, dword [0x529cd8]
mov dword [esp + 0x34], eax
jmp 0x4d60ac
lea ecx, [eax*4]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + eax*4]
lea ebp, [edx*4]
cmp eax, dword [ecx + edx*4]
jne 0x4d5fc0
shl eax, 2
mov edx, dword [esp + 0x50]
mov dword [esp + 8], eax
lea eax, [ecx + ebp + 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
lea eax, [eax + edx + 4]
mov dword [esp], eax
call sub.cygwin1.dll_memcmp
test eax, eax
jne 0x4d5fc0
lea esi, [esi]
mov edx, dword [edi + 0x10]
add edi, 0x10
add esi, 1
add ebx, 0x10
test edx, edx
je 0x4d5fc6
mov ecx, dword [ebx + 8]
mov ebp, dword [edi + 8]
mov eax, dword [ebx + 0xc]
xor eax, dword [edi + 0xc]
xor ebp, ecx
or eax, ebp
jne 0x4d5fc0
mov eax, dword [ebx]
and ch, 4
jne 0x4d6040
cmp edx, eax
je 0x4d6098
jmp 0x4d5fc0
or eax, dword [esp + 0x50]
or edx, dword [esp + 0x54]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
jmp 0x4d5c13
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
or eax, esi
mov dword [edx + 0x18], eax
add edx, 0x20
lea eax, [ebp + 1]
mov dword [edx - 0x20], 0x5c
mov dword [edx - 0x18], esi
mov dword [edx - 0x14], edi
mov dword [edx - 0x10], 0x6e
mov dword [edx - 4], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], edx
jmp 0x4d5cdf
lea edi, [esp + 0xa0]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__.04x_
mov dword [esp], edi
call sub.cygwin1.dll_sprintf
cmp byte [esp + 0xa0], 0
je 0x4d5cdf
xor esi, esi
lea ebx, [esp + 0x94]
mov dword [esp + 0x50], ebp
mov ebp, edi
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x40]
lea esi, [esi]
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], esi
call sub.cygwin1.dll_mbtowc
cmp eax, 1
jne 0x4d61aa
movzx eax, word [esp + 0x94]
mov edx, dword [esp + 0x4c]
add ebx, 0x10
mov edi, 1
mov dword [ebx - 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [ebx - 4], edx
mov dword [ebx - 8], eax
add ebp, 1
cmp byte [ebp], 0
jne 0x4d6170
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 0x50]
test edi, edi
je 0x4d5cdf
mov eax, dword [esp + 0x34]
or dword [ebx - 8], eax
jmp 0x4d5cdf
mov dword [esp], ebx
mov dword [esp + 0x84], edx
call sub.cygwin1.dll_wcwidth
mov edx, dword [esp + 0x84]
test eax, eax
mov dword [esp + 0x38], eax
jg 0x4d67a4
movzx ebx, word [edx]
mov esi, ebx
jmp 0x4d5c67
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x7c]
lea eax, [edi + 0x10]
mov dword [edi], 0x20
mov edx, eax
mov dword [edi + 8], 0
sub edx, ecx
mov dword [edi + 0xc], 0
and edx, 0x70
je 0x4d6249
lea esi, [esi]
nop
add eax, 0x10
mov dword [eax - 0x10], 0x20
mov edx, eax
mov dword [eax - 8], 0
sub edx, ecx
mov dword [eax - 4], 0
and edx, 0x70
jne 0x4d6228
mov edi, dword [esp + 0x58]
mov dword [esp + 0x40], eax
mov dword [eax - 8], edi
mov edi, dword [esp + 0x84]
mov dword [eax - 4], edi
lea eax, [ebp + 1]
mov dword [esp + 0x28], eax
jmp 0x4d5cdf
mov eax, dword [edi]
test eax, eax
je 0x4d62d2
mov eax, dword [esp + 0x64]
add eax, 1
mov edx, eax
shl edx, 4
mov esi, dword [edi + edx]
test esi, esi
jne 0x4d6274
mov dword [esp + 0x64], eax
lea eax, [esp + 0xa0]
mov ebx, edi
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov dword [esp], ebx
add esi, 1
add ebx, 0x10
mov dword [esp + 4], eax
call fcn.004d1e80
cmp esi, dword [esp + 0x64]
jne 0x4d62aa
mov eax, dword [esp + 0x64]
add eax, eax
add dword [0x529be0], eax
mov eax, dword [esp + 0x64]
add dword [0x529c90], eax
mov eax, dword [esp + 0x38]
call fcn.004d24c0
mov eax, dword [0x529cb8]
mov edx, dword [0x529cb4]
mov dword [0x529c68], 1
mov dword [0x529cb8], edx
mov edx, dword [0x529cdc]
mov dword [0x529cb4], eax
mov eax, dword [0x529cd8]
mov dword [0x529cd8], edx
mov edx, dword [0x529c70]
mov dword [0x529cdc], eax
mov eax, dword [0x529c6c]
mov dword [0x529c6c], edx
mov dword [0x529c70], eax
jmp 0x4d4620
mov dword [esp + 0x58], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
jmp 0x4d5bec
mov dword [esp + 0xb8], edx
jmp 0x4d4de2
mov ecx, dword [0x500440]
lea edi, [eax + 4]
mov esi, 0x500440
and edi, 0xfffffffc
mov dword [eax], ecx
mov ecx, dword [0x5004ac]
mov dword [eax + 0x6c], ecx
mov ecx, eax
sub ecx, edi
sub esi, ecx
add ecx, 0x70
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
add eax, 0x70
mov dword [esp + 0xbc], eax
add eax, 0x10
mov dword [eax - 0x10], 0x2e
mov dword [eax - 8], 0
mov dword [eax - 4], 0
sub edx, 1
jae 0x4d639e
jmp 0x4d4cfd
mov esi, dword [0x5003e0]
lea edi, [eax - 0xc]
add eax, 0x50
and edi, 0xfffffffc
mov dword [ecx], esi
mov esi, dword [0x50043c]
mov dword [ecx + 0x5c], esi
sub ecx, edi
mov esi, 0x5003e0
sub esi, ecx
add ecx, 0x60
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add ecx, 0x10
mov dword [ecx - 0x10], 0x2e
mov dword [ecx - 8], 0
mov dword [ecx - 4], 0
sub edx, 1
jae 0x4d63ed
shl ebx, 4
add eax, ebx
mov dword [esp + 0xbc], eax
jmp 0x4d4e4b
call sym.zsh.exe_zrefresh
jmp 0x4d469e
call sym.zsh.exe_metafy_line
jmp 0x4d4668
mov dword [esp], pe_nt_image_headers32
call sym.zsh.exe_zshcalloc
mov dword [0x529bec], 4
mov dword [0x529bf0], eax
jmp 0x4d3ce1
mov dword [esp], ecx
mov dword [esp + 0x34], edx
call sub.cygwin1.dll_wcwidth
mov edx, dword [esp + 0x34]
test eax, eax
jle 0x4d49e4
mov ecx, dword [esp + 0x60]
lea eax, [ebp + 1]
cmp ecx, eax
jle 0x4d49e4
sub ecx, ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ecx
mov ecx, 1
mov dword [esp + 0x7c], edx
mov ebx, ecx
jmp 0x4d64a6
mov dword [esp], eax
call sub.cygwin1.dll_wcwidth
test eax, eax
jne 0x4d64b3
add ebx, 1
cmp ebx, dword [esp + 0x34]
je 0x4d6b82
mov eax, dword [esp + 0x54]
movzx eax, word [eax + ebx*2]
test ax, ax
jne 0x4d648d
mov edx, dword [esp + 0x7c]
mov ecx, ebx
mov ebx, dword [esp + 0x38]
cmp edx, edi
jl 0x4d6d48
mov eax, dword [esp + 0x58]
or eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0xc], eax
cmp ecx, 1
je 0x4d655a
mov edx, dword [esp + 0x54]
mov eax, ebx
mov dword [esp + 0x34], ecx
add ebx, 0x10
call fcn.004d1120
mov eax, edi
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0x34]
sub eax, 1
jne 0x4d657e
jmp 0x4d65b5
mov dword [esp + 4], 0
mov dword [esp], 0x5004d0
call fcn.004d1e80
add dword [0x529be0], 1
xor eax, eax
jmp 0x4d5247
mov edi, dword [eax]
mov dword [esp + 0xb8], edx
mov dword [esp + 0x34], edi
jmp 0x4d4c8f
mov eax, dword [esp + 0x58]
or eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x54]
add ebx, 0x10
movzx eax, word [eax]
mov dword [ebx - 0x10], eax
mov eax, edi
mov dword [esp + 0xb8], ebx
sub eax, 1
je 0x4d475e
mov ecx, 1
shl eax, 4
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x28]
add eax, ebx
lea esi, [esi]
nop
mov dword [ebx], 0xffffffff
add ebx, 0x10
mov dword [ebx - 8], edi
mov dword [ebx - 4], edx
cmp eax, ebx
jne 0x4d6590
mov ebx, eax
mov dword [esp + 0xb8], ebx
cmp ecx, 1
je 0x4d475e
mov eax, dword [esp + 0x54]
lea ebp, [ebp + ecx - 1]
lea eax, [eax + ecx*2 - 2]
mov dword [esp + 0x54], eax
jmp 0x4d475e
mov dword [esp + 4], 0
mov dword [esp], 0x4ef324
call sym.zsh.exe_runhookdef
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004d2950
mov dword [sym.zsh.exe_clearflag], 0
mov dword [sym.zsh.exe_resetneeded], 1
jmp 0x4d3f5f
mov eax, dword [0x529c84]
add eax, 2
shl eax, 4
mov dword [esp], eax
call sym.zsh.exe_zalloc
mov dword [ebx], eax
mov ebx, dword [0x529cb8]
jmp 0x4d409e
movzx ebp, word [edi]
mov esi, ebp
jmp 0x4d5a39
mov eax, dword [esi]
mov dword [esp], str.suffix:
mov dword [esp + 4], eax
call sym.zsh.exe_strpfx
test eax, eax
jne 0x4d68ed
mov eax, dword [esi]
mov dword [esp], str.paste:
mov dword [esp + 4], eax
call sym.zsh.exe_strpfx
test eax, eax
je 0x4d3d62
mov eax, dword [0x529bf0]
mov ebx, 1
add eax, 0x60
mov dword [esp + 4], eax
mov eax, dword [esi]
add eax, 6
mov dword [esp], eax
call sym.zsh.exe_match_highlight
jmp 0x4d3d62
mov eax, dword [0x529bf0]
mov dword [eax], 2
mov dword [eax + 4], 0
jmp 0x4d3dce
mov dword [0x529cc8], 2
mov dword [0x529ccc], 0
jmp 0x4d3dc2
mov dword [0x529c74], 0
xor esi, esi
jmp 0x4d5fa3
mov dword [esp + 4], 0
mov dword [esp], 0x5004d0
call fcn.004d1e80
mov eax, dword [0x529ca4]
mov dword [esp], 0
add dword [0x529be0], 1
mov dword [esp + 4], eax
mov dword [0x529c90], 0
call fcn.004d2950
jmp 0x4d54e3
mov eax, dword [0x529c30]
cmp byte [eax], 0
je 0x4d4f3e
mov dword [esp + 4], 9
mov dword [esp], eax
call sub.cygwin1.dll_strchr
test eax, eax
jne 0x4d4f3e
mov edi, dword [sym.zsh.exe_rprompt_indent]
test edi, edi
cmovns eax, edi
mov dword [esp + 0x34], eax
mov eax, dword [0x529cb8]
mov edx, dword [eax]
mov eax, dword [edx]
test eax, eax
je 0x4d675d
add ebx, 1
mov eax, ebx
shl eax, 4
mov eax, dword [edx + eax]
test eax, eax
jne 0x4d674e
mov eax, dword [0x529c84]
add ebx, dword [0x529ca0]
sub eax, dword [esp + 0x34]
cmp ebx, eax
setl al
movzx eax, al
mov dword [0x529c5c], eax
jmp 0x4d5041
mov dword [0x529c78], 0
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + 0x10]
mov ecx, dword [ecx]
xor ebx, ebx
mov edx, eax
test ecx, ecx
jne 0x4d5e81
xor ecx, ecx
jmp 0x4d5e8f
mov ebx, dword [esp + 0x50]
or ebx, dword [esp + 0x58]
cmp byte [0x522ce5], 0
movzx esi, word [edx]
je 0x4d67f7
mov dword [esp], esi
mov dword [esp + 0x34], edx
call sub.cygwin1.dll_iswgraph
mov edx, dword [esp + 0x34]
test eax, eax
je 0x4d67f7
mov dword [esp], esi
mov dword [esp + 0x34], edx
call sub.cygwin1.dll_wcwidth
mov edx, dword [esp + 0x34]
test eax, eax
jg 0x4d6c4e
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
movzx esi, word [edx]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
jmp 0x4d6805
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov eax, dword [esp + 0x40]
mov dword [eax], esi
mov ecx, dword [esp + 0x38]
add dword [esp + 0x40], 0x10
mov eax, dword [esp + 0x40]
sub ecx, 1
mov edx, ecx
je 0x4d5cdf
mov esi, dword [esp + 0x54]
mov dword [eax], 0xffffffff
add eax, 0x10
mov dword [eax - 8], ebx
mov dword [eax - 4], esi
sub edx, 1
jne 0x4d6827
shl ecx, 4
add dword [esp + 0x40], ecx
jmp 0x4d5cdf
mov dword [sym.zsh.exe_zlecs], edx
call fcn.004e0480
mov dword [ebx + 0x10], eax
mov ebx, dword [0x529bf0]
mov eax, dword [ebx + 8]
mov dword [sym.zsh.exe_zlecs], eax
call fcn.004e0450
mov dword [sym.zsh.exe_zlecs], esi
mov dword [ebx + 8], eax
mov ebx, dword [0x529bf0]
jmp 0x4d3e53
mov eax, dword [esp + 0xa4]
mov edx, dword [0x529cb8]
mov esi, ebx
sub esi, dword [edx + eax*4]
mov dword [esp + 0xb0], eax
mov eax, esi
sar eax, 4
mov dword [esp + 0xac], eax
jmp 0x4d580c
mov eax, dword [0x529bf0]
xor edi, edi
xor ebx, ebx
mov dword [0x529cc8], 2
mov dword [0x529ccc], 0
mov dword [eax], 2
mov dword [eax + 4], 0
mov dword [eax + 0x20], 4
mov dword [eax + 0x24], 0
jmp 0x4d3dda
mov eax, dword [0x529bf0]
jmp 0x4d586b
mov eax, dword [0x529bf0]
mov edi, 1
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [esi]
add eax, 7
mov dword [esp], eax
call sym.zsh.exe_match_highlight
jmp 0x4d3d62
call fcn.004c9670
jmp 0x4d545d
mov edx, dword [sym.zsh.exe_shout]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.zsh.exe_zputs
mov eax, dword [0x529c84]
cmp dword [0x529c9c], eax
jne 0x4d564c
mov eax, dword [sym.zsh.exe_shout]
mov dword [esp], 0x500315
mov dword [esp + 4], eax
call sym.zsh.exe_zputs
mov eax, dword [sym.zsh.exe_clearflag]
jmp 0x4d54db
mov ebx, ecx
jmp 0x4d44b6
lea eax, [esp + 0xa0]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym.zsh.exe_mb_metacharlenconv
mov edi, eax
test ebp, ebp
je 0x4d6a32
test ebx, ebx
jne 0x4d6a32
sub ebp, 1
add esi, eax
jmp 0x4d5f7d
mov eax, dword [esp + 0x68]
call fcn.004d1450
mov ebx, dword [esp + 0xb8]
jmp 0x4d4b85
mov esi, dword [0x5215f8]
add ebx, 0x10
test esi, esi
jne 0x4d6af5
mov dword [esp + 4], 0
add ebx, 0x10
mov dword [esp], 0x5004b0
call fcn.004d1e80
add dword [0x529be0], 1
mov ebp, dword [ebx - 0x10]
add dword [0x529c90], 1
test ebp, ebp
jne 0x4d69b8
jmp 0x4d62dc
mov ecx, dword [0x529cc0]
mov ebx, dword [0x529cc4]
mov eax, ecx
or eax, ebx
jne 0x4d6c1a
mov ebp, dword [0x529be4]
test ebp, ebp
je 0x4d6bf8
mov edx, 0xffffffff
mov eax, 0xd
call fcn.004d1740
mov eax, dword [0x5215f4]
mov edx, dword [sym.zsh.exe_clearflag]
add dword [0x529be0], eax
jmp 0x4d5499
test edi, edi
je 0x4d5f7d
mov eax, ebx
mov ebx, esi
mov esi, eax
jmp 0x4d6a5a
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.cygwin1.dll_fputc
add ebx, 1
sub edi, 1
je 0x4d6b48
cmp dword [esp + 0xa0], 0xffffffff
mov ecx, dword [sym.zsh.exe_shout]
je 0x4d6a97
movsx eax, byte [ebx]
cmp al, 0x83
jne 0x4d6a42
lea eax, [ebx + 1]
mov dword [esp + 4], ecx
sub edi, 1
mov dword [esp + 0x28], eax
movzx eax, byte [ebx + 1]
xor eax, 0x20
movsx eax, al
mov dword [esp], eax
call sub.cygwin1.dll_fputc
mov ebx, dword [esp + 0x28]
jmp 0x4d6a4e
mov dword [esp + 4], ecx
mov dword [esp], 0x3f
call sub.cygwin1.dll_fputc
jmp 0x4d6a4e
mov eax, dword [0x521694]
mov dword [esp + 8], sym.zsh.exe_putshout
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004e5ca0
jmp 0x4d3f3a
shl ecx, 5
xor edx, edx
mov eax, ecx
and eax, 0x3e0
call fcn.004d11c0
mov dword [0x529cc0], 0
mov dword [0x529cc4], 0
jmp 0x4d3f1d
mov edx, dword [0x529cc4]
mov eax, dword [0x529cc0]
mov ecx, edx
or ecx, eax
jne 0x4d6cd3
mov eax, dword [0x529be4]
test eax, eax
je 0x4d6cb1
mov edx, 0xffffffff
mov eax, 0xe
call fcn.004d1740
mov eax, dword [0x5215f8]
add dword [0x529be0], eax
jmp 0x4d62dc
sub edx, 1
jmp 0x4d6394
mov ebx, edx
sub edx, 1
jmp 0x4d63eb
mov eax, esi
mov esi, ebx
mov ebx, eax
jmp 0x4d5f7d
mov edx, dword [0x500440]
lea edi, [eax + 4]
mov esi, 0x500440
and edi, 0xfffffffc
mov dword [eax], edx
mov edx, dword [0x5004ac]
mov dword [eax + 0x6c], edx
sub eax, edi
mov ecx, eax
sub esi, eax
add ecx, 0x70
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
jmp 0x4d4cfd
mov edx, dword [esp + 0x7c]
mov ecx, ebx
mov ebx, dword [esp + 0x38]
cmp edx, edi
jl 0x4d6d48
mov eax, dword [esp + 0x58]
or eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0xc], eax
jmp 0x4d64e0
mov eax, dword [esp + 0x6c]
xor ebp, ebp
mov dword [esp + 0x54], eax
jmp 0x4d4358
mov edx, dword [0x5003e0]
lea edi, [eax + 4]
mov ecx, eax
mov esi, 0x5003e0
and edi, 0xfffffffc
add eax, 0x60
mov dword [eax - 0x60], edx
mov edx, dword [0x50043c]
sub ecx, edi
sub esi, ecx
add ecx, 0x60
mov dword [eax - 4], edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xbc], eax
jmp 0x4d4e4b
mov eax, dword [0x521694]
mov dword [esp + 8], sym.zsh.exe_putshout
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004e5ca0
jmp 0x4d6a1c
shl ecx, 5
xor edx, edx
mov eax, ecx
and eax, 0x3e0
call fcn.004d11c0
mov dword [0x529cc0], 0
mov dword [0x529cc4], 0
jmp 0x4d69ff
mov eax, dword [0x529bf0]
jmp 0x4d68d0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
mov esi, 1
mov edi, eax
sub edi, ebp
cmp eax, ecx
jle 0x4d67e4
mov dword [esp + 0x34], ebx
mov ebx, edx
jmp 0x4d6c84
mov dword [esp], eax
call sub.cygwin1.dll_wcwidth
test eax, eax
jne 0x4d6c8d
lea ecx, [esi + 1]
cmp edi, ecx
je 0x4d6cfb
mov esi, ecx
movzx eax, word [ebx + esi*2]
test ax, ax
jne 0x4d6c6f
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + 0xc], edi
mov dword [eax + 8], ebx
cmp esi, 1
je 0x4d6d8a
mov ecx, esi
sub esi, 1
jmp 0x4d6d0f
mov eax, dword [0x521698]
mov dword [esp + 8], sym.zsh.exe_putshout
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004e5ca0
jmp 0x4d6b26
shl eax, 5
xor edx, edx
and eax, 0x3e0
call fcn.004d11c0
mov dword [0x529cc0], 0
mov dword [0x529cc4], 0
jmp 0x4d6b0a
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + 0xc], edi
mov dword [eax + 8], ebx
mov eax, dword [esp + 0x40]
add ebp, esi
call fcn.004d1120
lea eax, [ebp + 1]
mov dword [esp + 0x28], eax
jmp 0x4d680b
mov eax, dword [0x52169c]
mov dword [esp + 8], sym.zsh.exe_putshout
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004e5ca0
jmp 0x4d5718
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x40]
mov dword [ebx], 0x3f
add ebx, 0x10
mov dword [ebx - 8], eax
mov eax, dword [esp + 0x44]
mov dword [ebx - 4], eax
jmp 0x4d65a5
mov eax, dword [0x5216a0]
mov dword [esp + 8], sym.zsh.exe_putshout
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004e5ca0
jmp 0x4d5179
movzx esi, word [edx]
jmp 0x4d6805