Function at 0x46ce20
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x16c
mov ebp, dword [edx + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [sym.zsh.exe_errflag]
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], ebp
test eax, eax
jne 0x46cf96
mov eax, ebp
jmp 0x46cf68
cmp dl, 0x96
je 0x46cf7c
cmp ebp, eax
jne 0x46cf82
cmp dl, 0x8d
jne 0x46cf82
cmp byte [eax + 1], 0x88
jne 0x46cf82
lea esi, [esp + 0x148]
mov dword [esp], eax
mov edi, eax
mov dword [esp + 4], esi
sub edi, ebp
call fcn.0041e580
mov edx, eax
mov ebp, dword [sym.zsh.exe_errflag]
test ebp, ebp
jne 0x46cf96
test edx, edx
je 0x46d000
mov dword [esp], edx
mov dword [esp + 0x30], edx
call sub.cygwin1.dll_strlen
mov ebx, eax
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov ecx, eax
lea eax, [ebx + edi]
lea eax, [ecx + eax + 1]
mov dword [esp + 0x2c], ecx
mov dword [esp], eax
call sym.zsh.exe_hcalloc
test edi, edi
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov esi, eax
mov ebp, eax
jne 0x46cfcf
test ebx, ebx
je 0x46cf17
mov dword [esp], esi
add esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp + 0x2c], ecx
call sub.cygwin1.dll_memcpy
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x46cf3a
mov eax, dword [esp + 0x148]
mov dword [esp + 8], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 0x2c], ecx
call sub.cygwin1.dll_memcpy
mov ecx, dword [esp + 0x2c]
mov byte [esi + ecx], 0
add ebx, edi
mov eax, dword [esp + 0x44]
mov edi, dword [sym.zsh.exe_errflag]
add ebx, ebp
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], ebx
mov dword [eax + 8], ebp
test edi, edi
jne 0x46cf96
mov eax, dword [esp + 0x10c]
movzx edx, byte [eax]
test dl, dl
je 0x46d027
cmp dl, 0x94
jne 0x46ce60
cmp byte [eax + 1], 0x88
je 0x46cfa8
mov edi, dword [sym.zsh.exe_errflag]
add eax, 1
mov dword [esp + 0x10c], eax
test edi, edi
je 0x46cf61
xor edx, edx
add esp, 0x16c
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [esp + 0x148]
mov dword [esp], eax
mov edi, eax
mov dword [esp + 4], esi
sub edi, ebp
call fcn.0041e8b0
mov edx, eax
jmp 0x46ce9d
xor ecx, ecx
xor ebx, ebx
mov edx, 0x4f8fb8
mov eax, dword [esp + 0x108]
mov dword [esp], esi
mov ebp, esi
add esi, edi
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
call sub.cygwin1.dll_memcpy
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
jmp 0x46cef9
mov dword [esp + 0x148], 0x4f8fb8
lea eax, [edi + 1]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
mov esi, eax
test edi, edi
jne 0x46cfc6
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
jmp 0x46cf3a
mov esi, dword [sym.zsh.exe_errflag]
mov dword [esp + 0x10c], ebp
test esi, esi
jne 0x46cf96
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x30]
movzx eax, byte [eax]
mov byte [esp + 0x3b], al
test al, al
je 0x46fde1
movzx eax, byte [esp + 0x3b]
cmp al, 0x8c
sete byte [esp + 0x40]
cmp al, 0x85
movzx ecx, byte [esp + 0x40]
sete al
or al, cl
mov byte [esp + 0xf4], al
je 0x46d378
movzx eax, cl
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x30]
movzx eax, byte [eax + 1]
cmp al, 0x88
je 0x46d792
cmp al, 0x89
je 0x46d7e9
cmp al, 0x91
je 0x46def2
cmp al, 0x9d
je 0x46e478
cmp byte [0x522d66], 0
jne 0x46d3de
mov eax, dword [esp + 0x68]
test al, 8
jne 0x46d3e9
and eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x114], 0
cmp byte [esp + 0x3b], 0x8c
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x118], 0
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x11c], 0
movsx ebp, byte [0x522d57]
mov eax, dword [eax + 8]
mov dword [esp + 0xdc], eax
movsx eax, byte [0x522d04]
mov dword [esp + 0x60], eax
setne al
and edx, 0x14
cmp edx, 0x10
sete dl
movzx edx, dl
and edx, eax
mov dword [esp + 0x34], edx
test ebx, ebx
je 0x46d157
mov edx, dword [sym.zsh.exe_ifs]
test edx, edx
je 0x46d150
cmp byte [edx], 0
mov dword [esp + 0x2c], 0
jne 0x46d157
movzx eax, al
mov dword [esp + 0x2c], eax
mov dword [esp + 0x120], 0
mov esi, dword [esp + 0x30]
lea eax, [esi + 1]
mov dword [esp + 0x110], eax
mov dword [esp + 0x48], eax
mov byte [esi], 0
mov eax, dword [esp + 0x110]
movzx esi, byte [eax]
mov dword [esp + 8], 1
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call sym.zsh.exe_itype_end
mov edi, dword [esp + 0x110]
cmp edi, eax
je 0x46dd98
mov eax, esi
cmp al, 0x8f
jne 0x46de14
lea eax, [edi + 1]
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 1]
cmp bl, 0x21
je 0x46df93
cmp bl, 0x28
je 0x46d1d7
cmp bl, 0x88
jne 0x46d990
lea ebx, [edi + 2]
mov byte [esp + 0xf6], 0
xor esi, esi
mov dword [esp + 0x110], ebx
movzx eax, byte [edi + 2]
mov byte [esp + 0xf5], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xc8], 0
cmp al, 0x29
je 0x4716e6
cmp al, 0x8a
je 0x4716e6
mov dword [esp + 0x3c], 0
xor edi, edi
mov edx, ebx
mov dword [esp + 0xa0], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xb4], 0xffffffff
lea esi, [esi]
lea esi, [esi]
cmp al, 0x7f
je case.0x46d36e.1
cmp al, 0x22
jle 0x46d652
sub eax, 0x23
cmp al, 0x5b
ja case.0x46d36e.1
movzx eax, al
jmp dword [eax*4 + 0x4f95f4]
movzx eax, byte [esp + 0x3b]
cmp al, 0x99
je 0x46d774
cmp al, 0x93
je 0x46d3fb
mov ebx, dword [esp + 0x184]
test ebx, ebx
je 0x46d3b3
movzx eax, byte [esp + 0x3b]
cmp al, 0x3d
je 0x46d3a1
cmp al, 0x8d
jne 0x46d3b3
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x108], eax
je 0x46d3b3
or dword [esp + 0x68], 4
mov eax, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x10c], eax
mov eax, dword [sym.zsh.exe_errflag]
test eax, eax
jne 0x46cf96
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x30], eax
jmp 0x46d040
test byte [esp + 0x68], 0x20
jne 0x46d0b4
or dword [esp + 0x68], 0x10
mov dword [esp + 0x2c], 0x10
jmp 0x46d0c7
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x50], 0
or dword [eax + 8], 1
mov eax, dword [esp + 0x30]
movzx ebx, byte [esp + 0x3b]
mov byte [eax], 0
mov eax, dword [esp + 0x10c]
add eax, 1
jmp 0x46d433
add eax, 1
test dl, dl
je 0x46d781
mov dword [esp + 0x10c], eax
movzx edx, byte [eax]
mov ecx, eax
cmp dl, bl
jne 0x46d428
mov edx, dword [esp + 0x30]
mov byte [ecx], 0
lea ebx, [edx + 1]
mov dword [esp + 0x10c], ebx
movzx eax, byte [edx + 1]
test al, al
je 0x46fe33
movzx edi, byte [esp + 0x50]
mov ebp, ebx
xor edi, 1
lea esi, [esi]
movzx ecx, al
test byte [ecx + ecx + sym.zsh.exe_typtab], 0x10
je 0x46d4b0
cmp al, 0xa1
je 0x46d4b0
cmp byte [esp + 0x3b], 0x8a
je 0x46d640
cmp al, 0x9f
jne 0x46d640
movzx ecx, byte [edx + 2]
lea esi, [ecx - 0x5c]
and esi, 0xfb
je 0x46d4b0
cmp cl, 0x24
jne 0x46d627
lea esi, [esi]
mov edx, dword [esp + 0x10c]
lea eax, [edx + 1]
mov dword [esp + 0x10c], eax
movzx eax, byte [edx + 1]
test al, al
jne 0x46d470
mov ebx, ebp
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x50]
add edx, 2
mov dword [esp], ebx
mov dword [esp + 0x10c], edx
and esi, 4
or eax, esi
setne al
movzx eax, al
mov dword [esp + 4], eax
call fcn.0041e260
mov edx, eax
test eax, eax
je 0x4716cd
mov dword [esp], edx
xor eax, eax
cmp byte [esp + 0x3b], 0x8a
sete al
mov dword [esp + 0x2c], edx
sub dword [esp + 0x30], eax
call sym.zsh.exe_ugetnode
mov edx, dword [esp + 0x2c]
test eax, eax
mov edi, eax
je 0x46e4a3
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x46d53f
test esi, esi
je 0x46d53f
cmp byte [0x522d04], 0
jne 0x46ed07
mov dword [esp], edi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x2c], edx
sub esi, dword [esp + 0x108]
call sub.cygwin1.dll_strlen
mov edx, dword [esp + 0x2c]
lea ebx, [eax + esi]
mov ebp, dword [edx]
test ebp, ebp
je 0x46d926
add ebx, 1
mov ebp, dword [edx + 4]
mov dword [esp], ebx
call sym.zsh.exe_hcalloc
mov ebx, eax
mov eax, dword [esp + 0x108]
mov dword [esp], ebx
add esi, ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.cygwin1.dll_strcpy
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x6c]
mov dword [eax + 8], ebx
mov dword [esp], edx
mov dword [esp + 8], esi
mov esi, ebp
mov dword [esp + 4], eax
call sym.zsh.exe_insertlinklist
mov edi, dword [ebp + 8]
mov dword [esp], edi
call sub.cygwin1.dll_strlen
mov ebx, eax
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
lea eax, [ebx + eax + 1]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
mov dword [esp + 0x44], esi
mov ebp, eax
mov dword [esp + 4], edi
add ebx, ebp
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x10c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov dword [esp + 0x108], ebp
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x44]
mov dword [eax + 8], ebp
mov eax, dword [sym.zsh.exe_errflag]
jmp 0x46d3c6
mov ebx, edi
test bl, bl
jne 0x46d640
cmp cl, 0x22
je 0x46d4b0
lea esi, [esi]
lea esi, [esi]
movsx eax, al
movzx eax, byte [eax + 0x4e8038]
mov byte [edx + 1], al
jmp 0x46d4b0
cmp al, 0x84
je case.0x46d36e.0
cmp al, 0x98
jne case.0x46d36e.1
mov ecx, dword [esp + 0x110]
xor edi, 1
lea edx, [ecx + 1]
nop
mov dword [esp + 0x110], edx
movzx eax, byte [ecx + 1]
cmp al, 0x29
je 0x46d687
cmp al, 0x8a
jne 0x46d350
mov ebx, edx
mov ecx, dword [esp + 0xec]
lea edi, [ebx + 1]
mov byte [esp + 0x3c], 1
mov dword [esp + 0x110], edi
movzx ebx, byte [ebx + 1]
test ecx, ecx
je 0x46dad1
mov ecx, dword [esp + 0x78]
mov eax, 0x4f936a
mov dword [esp + 0xd8], 0
mov dword [esp + 0x64], 0
test ecx, ecx
cmovne eax, ecx
mov dword [esp + 0x78], eax
cmp bl, 0x5e
je 0x46d748
cmp bl, 0x86
je 0x46d748
cmp bl, 0x8d
je 0x46db00
cmp bl, 0x3d
je 0x46db00
cmp bl, 0x23
je 0x46db88
cmp bl, 0x84
je 0x46db88
cmp bl, 0x7e
sete al
cmp bl, 0x98
sete dl
or al, dl
je 0x46dbe8
lea eax, [edi + 1]
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 1]
cmp bl, 0x7e
je 0x46dc30
cmp bl, 0x98
je 0x46dc30
mov dword [esp + 0x60], 2
mov edi, eax
cmp bl, 0x5e
jne 0x46d6d5
lea esi, [esi]
lea eax, [edi + 1]
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 1]
cmp bl, 0x86
je 0x46dae8
cmp bl, 0x5e
je 0x46dae8
mov edi, eax
mov ebp, 1
jmp 0x46d6d0
mov dword [esp + 0x50], 1
jmp 0x46d40b
mov dword [esp], str.failed_to_find_end_of_command_substitution
call sym.zsh.exe_zerr
jmp 0x46cf96
cmp byte [esp + 0x3b], 0x8c
je 0x46d7a1
mov eax, dword [esp + 0x6c]
or dword [eax + 8], 1
mov eax, dword [esp + 0x30]
lea ebx, [eax + 1]
mov dword [esp + 0x10c], ebx
mov byte [eax], 0
lea eax, [esp + 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffff8a
mov dword [esp], 0xffffff88
call sym.zsh.exe_skipparens
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3b], 0x8a
lea ecx, [eax - 1]
jmp 0x46d443
mov eax, dword [esp + 0x30]
cmp byte [esp + 0x3b], 0x8c
lea esi, [eax + 1]
jne 0x46d88d
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10c], esi
mov ecx, 1
mov byte [eax], 0
mov eax, dword [esp + 0x10c]
movzx edx, byte [eax]
add eax, 1
jmp 0x46d82d
xor ebx, ebx
cmp dl, 0x89
sete bl
add ecx, ebx
add eax, 1
test dl, dl
je 0x46df78
mov dword [esp + 0x10c], eax
movzx edx, byte [eax]
cmp dl, 0x8b
jne 0x46d820
sub ecx, 1
jne 0x46d82a
mov byte [eax - 1], 0
cmp byte [0x522cf6], 0
jne 0x46d967
mov eax, dword [esp + 0x108]
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.cygwin1.dll_strncpy
mov eax, dword [esp + 0x108]
mov esi, dword [esp + 0x44]
mov dword [esi + 8], eax
mov eax, dword [sym.zsh.exe_errflag]
jmp 0x46d3c6
mov eax, dword [esp + 0x6c]
or dword [eax + 8], 1
jmp 0x46d7fb
add edx, 1
lea ebx, [esp + 0x138]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0x110], edx
call fcn.0046c090
movzx ecx, byte [eax]
mov byte [esp + 0x64], cl
test cl, cl
je case.0x46d36e.1
mov byte [eax], 0
mov edx, dword [esp + 0x110]
lea ecx, [edx + 1]
mov dword [esp + 0x110], ecx
movzx ecx, byte [edx + 1]
test cl, cl
je 0x46e8bf
mov edx, dword [esp + 0xb0]
cmp cl, 0x63
je 0x46fe78
cmp cl, 0x6e
je 0x46fe7d
cmp cl, 0x43
je 0x46fe4c
movzx ecx, byte [esp + 0x64]
mov byte [eax], cl
mov dword [esp], str.error_in_flags
call sym.zsh.exe_zerr
add esp, 0x16c
xor edx, edx
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
lea eax, [ebx + eax + 1]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
mov ebp, eax
test esi, esi
je 0x46d5e7
mov eax, dword [esp + 0x108]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
lea eax, [ebp + esi]
jmp 0x46d5e7
mov eax, dword [esp + 0x10c]
lea edx, [esp + 0x108]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x30]
add eax, 3
call fcn.00473780
mov dword [esp + 0x10c], eax
jmp 0x46d875
mov byte [esp + 0xf6], 0
mov edi, eax
xor esi, esi
mov byte [esp + 0xf5], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0x3c], 1
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xec], 0x4f936a
jmp 0x46d6ab
lea eax, [edi + 2]
xor ebp, ebp
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 2]
mov edi, eax
jmp 0x46d6d0
lea eax, [edi + 1]
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 1]
cmp bl, 0x8d
je 0x46db58
cmp bl, 0x3d
je 0x46db58
cmp dword [esp + 0x2c], 2
mov dword [esp + 0x34], 2
mov edi, eax
je 0x46d6d0
mov eax, dword [sym.zsh.exe_ifs]
mov dword [esp + 0x2c], 1
test eax, eax
je 0x46d6d0
cmp byte [eax], 0
sete al
movzx eax, al
mov dword [esp + 0x2c], eax
jmp 0x46d6d0
xor eax, eax
cmp dword [esp + 0x2c], 2
mov dword [esp + 0x34], 0
sete al
add eax, eax
mov dword [esp + 0x2c], eax
lea eax, [edi + 2]
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 2]
mov edi, eax
jmp 0x46d6d0
cmp byte [esp + 0x3c], 0
jne 0x46db9c
cmp byte [0x522d47], 0
jne 0x46d6fe
add edi, 1
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], pe_nt_image_headers32
call sym.zsh.exe_itype_end
mov edx, eax
mov eax, dword [esp + 0x110]
lea edi, [eax + 1]
cmp edi, edx
je 0x46dc50
lea ecx, [esi + 1]
mov dword [esp + 0x110], edi
movzx ebx, byte [eax + 1]
mov dword [esp + 0x64], ecx
jmp 0x46d6d0
cmp bl, 0x2b
je 0x46dca0
cmp byte [esp + 0x3c], 0
je 0x46e248
movzx eax, byte [edi]
mov ebx, eax
test byte [eax + eax + 0x523921], 0x40
je 0x46e075
cmp al, 0x9f
je 0x46e075
lea eax, [edi + 1]
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 1]
mov edi, eax
jmp 0x46d6d0
lea eax, [edi + 2]
mov dword [esp + 0x60], 0
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 2]
mov edi, eax
jmp 0x46d6d0
movzx edx, byte [eax + 1]
cmp dl, 0x2a
je 0x46dbcb
cmp dl, 0x98
jge 0x46dce6
cmp dl, 0x84
jge 0x46dc72
mov edi, eax
jmp 0x46d6fe
lea ecx, [edx + 0x7c]
mov edx, 1
shl edx, cl
test edx, 0x8010a
jne 0x46dbcb
and edx, 1
je 0x46dc6b
cmp byte [eax + 2], 0x90
je 0x46dbcb
mov edi, eax
jmp 0x46d6fe
add edi, 1
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], pe_nt_image_headers32
call sym.zsh.exe_itype_end
mov edx, eax
mov eax, dword [esp + 0x110]
lea edi, [eax + 1]
cmp edi, edx
je 0x46dd46
mov dword [esp + 0x110], edi
movzx ebx, byte [eax + 1]
mov dword [esp + 0xd8], 1
jmp 0x46d6d0
cmp dl, 0x23
je 0x46dc8d
cmp dl, 0x22
jg 0x46dd30
cmp dl, 0x2d
je 0x46dbcb
cmp dl, 0x9b
je 0x46dbcb
cmp dl, 0x3a
jne 0x46dc6b
movzx edx, byte [eax + 2]
cmp dl, 0x2d
je 0x46dbcb
cmp dl, 0x9b
je 0x46dbcb
mov edi, eax
jmp 0x46d6fe
cmp dl, 0x24
je 0x46dbcb
lea ecx, [edx - 0x3f]
cmp cl, 1
ja 0x46dcf0
jmp 0x46dbcb
mov edx, dword [esp + 0x58]
test edx, edx
je 0x46dd7d
movzx edx, byte [eax + 1]
cmp dl, 0x24
sete cl
cmp dl, 0x85
sete bl
or cl, bl
jne 0x46dd67
cmp dl, 0x8c
jne 0x46dd7d
movzx edx, byte [eax + 2]
cmp dl, 0x8f
je 0x46dccb
cmp dl, 0x88
je 0x46dccb
cmp byte [esp + 0x3c], 0
jne 0x46e45e
mov eax, dword [esp + 0x30]
mov byte [eax], 0x24
jmp 0x46dde8
movzx ebx, byte [edi]
mov eax, ebx
cmp bl, 0x23
je 0x46d1a8
mov ecx, esi
cmp cl, 0x84
je 0x46de19
lea edx, [esi - 0x21]
cmp dl, 0x1f
ja 0x46edc7
mov ecx, 0xd0001209
bt ecx, edx
jb 0x46de17
mov ecx, esi
cmp cl, 0x7b
je 0x46de17
mov eax, esi
and eax, 0xffffffdf
cmp al, 0x5e
je 0x46de19
mov eax, esi
cmp al, 0x2b
je 0x46de19
mov byte [edi - 1], 0x24
mov eax, dword [esp + 0x110]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [sym.zsh.exe_errflag]
mov dword [esp + 0x10c], eax
test ecx, ecx
jne 0x46cf96
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov dword [esp + 0x108], eax
jmp 0x46d3ce
movzx eax, byte [edi]
mov ebx, eax
mov byte [esp + 0xf6], 0
xor esi, esi
mov byte [esp + 0xf5], 0
mov byte [esp + 0x3c], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0xcc], 0
jmp 0x46da66
mov eax, dword [esp + 0x30]
mov dword [esp + 4], 0xffffff92
mov dword [esp], 0xffffff91
add eax, 1
mov dword [esp + 0x148], eax
lea eax, [esp + 0x148]
mov dword [esp + 8], eax
call sym.zsh.exe_skipparens
test eax, eax
jne 0x46fdea
mov eax, dword [esp + 0x10c]
lea edx, [esp + 0x108]
mov byte [eax], 0
mov eax, dword [esp + 0x148]
mov byte [eax - 1], 0
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x148]
add eax, 2
call fcn.00473780
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x108]
mov dword [esi + 8], eax
mov eax, dword [sym.zsh.exe_errflag]
jmp 0x46d3c6
mov dword [esp], str.failed_to_find_end_of_math_substitution
call sym.zsh.exe_zerr
add esp, 0x16c
xor edx, edx
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
cmp byte [edi + 2], 0x90
je 0x46d990
mov esi, dword [sym.zsh.exe_emulation]
and esi, 4
jne 0x470a1a
mov byte [esp + 0xf6], 0
mov edi, eax
mov byte [esp + 0xf5], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
jmp 0x46da56
xor eax, eax
cmp byte [esp + 0x3b], 0x8c
cmovne eax, dword [esp + 0x60]
cmp byte [edi - 1], 0
mov dword [esp + 0x60], eax
je 0x46e258
cmp bl, 0x24
sete al
cmp bl, 0x85
sete dl
or al, dl
jne 0x46e0a8
cmp bl, 0x8c
jne 0x46e258
movzx eax, byte [edi + 1]
lea edx, [eax + 0x78]
cmp dl, 1
jbe 0x46e0bc
cmp al, 0x8f
jne 0x46e258
lea eax, [edi + 1]
mov dword [esp + 0x118], edi
mov dword [esp + 0x110], eax
movsx edx, byte [edi + 1]
cmp dl, 0x89
je 0x471e57
cmp dl, 0x8f
je 0x471e4d
cmp dl, 0x88
jne 0x46cf96
mov eax, 0xffffff8a
lea esi, [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp], edx
call sym.zsh.exe_skipparens
mov eax, dword [esp + 0x110]
movzx ecx, byte [eax]
mov byte [eax], 0
mov eax, dword [esp + 0x58]
mov byte [esp + 0x48], cl
test eax, eax
jne 0x471dff
lea eax, [esp + 0x120]
lea ecx, [esp + 0x11c]
mov edx, 0x40
mov dword [esp + 4], eax
lea eax, [esp + 0x114]
mov dword [esp], eax
lea eax, [esp + 0x118]
call fcn.004738d0
mov dword [esp + 0xf0], eax
test eax, eax
jne 0x471ddf
mov eax, dword [esp + 0x118]
cmp byte [eax], 0xa1
jne 0x46e177
add eax, 1
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x110]
movzx ecx, byte [esp + 0x48]
mov byte [eax], cl
mov edx, dword [esp + 0x110]
movzx eax, byte [edx]
test byte [eax + eax + 0x523921], 0x40
je 0x46e1b5
lea eax, [edx + 1]
mov edx, eax
mov dword [esp + 0x110], eax
add eax, 1
movzx ecx, byte [edx]
test byte [ecx + ecx + 0x523921], 0x40
jne 0x46e19c
mov eax, dword [esp + 0x120]
and eax, 4
mov dword [esp + 0x48], eax
je 0x4717a0
mov ebx, dword [esp + 0x114]
test ebx, ebx
jne 0x471cd6
mov eax, dword [esp + 0x118]
test eax, eax
je 0x4728fa
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x471b2c
mov eax, dword [esp + 0x68]
and eax, 0x40
mov dword [esp + 0x8c], eax
je 0x46e279
mov eax, dword [esp + 0x180]
mov dword [esp + 0x48], 0
mov dword [esp + 0xf0], 0
or dword [eax], 4
mov dword [esp + 0x58], 0
jmp 0x46e4ed
xor eax, eax
cmp byte [esp + 0x3b], 0x8c
cmovne eax, dword [esp + 0x60]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x46e4da
mov eax, dword [esp + 0x68]
lea esi, [esp + 0x110]
and eax, 0x40
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], 1
mov dword [esp + 4], esi
shl eax, 8
mov dword [esp + 0xc], eax
lea eax, [esp + 0x148]
mov dword [esp], eax
call sym.zsh.exe_fetchvalue
mov ebx, eax
test eax, eax
je 0x46e5e5
mov dword [esp], eax
call sym.zsh.exe_getstrvalue
mov dword [esp + 0x48], 0
mov dword [esp + 0x118], eax
mov edi, eax
mov dword [esp + 0x58], 1
mov esi, dword [esp + 0x8c]
mov dword [esp + 0xf0], 1
test esi, esi
je 0x46e4ed
mov eax, dword [esp + 0x180]
mov dword [esp + 0xf0], 0
or dword [eax], 4
cmp dword [esp + 0x58], 1
jne 0x471b41
test ebx, ebx
je 0x46ed30
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp + 0x114], eax
test eax, eax
je 0x46eee0
cmp eax, 4
je 0x46ef7a
mov dword [esp], ebx
call sym.zsh.exe_getarrvalue
mov dword [esp + 0x11c], eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x46e34d
cmp dword [eax + 0x18], sym.zsh.exe_vararray_gsu
je 0x46ef60
mov dword [esp + 0x58], 0
cmp byte [esp + 0x3c], 0
je 0x46f004
mov edx, dword [esp + 0x110]
movzx eax, byte [edx]
mov dword [esp + 0x70], edx
cmp al, 0x5b
je 0x46e386
cmp al, 0x91
jne 0x46e438
cmp al, 0x5b
je 0x46e386
cmp al, 0x91
jne 0x46e431
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x46ed7a
mov esi, dword [esp + 0x114]
xor eax, eax
mov dword [esp], 0x4ea8c5
test esi, esi
setne al
mov dword [esp + 4], eax
call sym.zsh.exe_createparam
mov edx, eax
test esi, esi
je 0x46edb6
mov eax, dword [esp + 0x11c]
mov dword [edx + 0x10], eax
mov dword [esp], 0x18
mov dword [esp + 0x8c], edx
call sym.zsh.exe_hcalloc
mov edx, dword [esp + 0x8c]
mov dword [eax], esi
mov ebx, eax
lea esi, [esp + 0x110]
mov dword [eax + 4], edx
mov dword [eax + 0x10], 0xffffffff
mov eax, dword [esp + 0x50]
mov dword [esp + 4], ebx
shl eax, 8
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00451120
test eax, eax
jne 0x46e41f
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x110], eax
jne 0x46e310
cmp byte [esp + 0x3c], 0
je 0x46f004
mov edx, dword [esp + 0x110]
mov dword [esp + 0x70], edx
movzx eax, byte [edx]
mov edx, eax
and edx, 0xffffffbf
cmp dl, 0x3d
je 0x46f64c
lea ecx, [eax - 0x23]
cmp cl, 0x1c
jbe 0x472e2d
lea ecx, [eax + 0x7c]
cmp cl, 0x17
jbe 0x46f63a
mov dword [esp], str.bad_substitution
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x10c]
call fcn.0046a260
mov esi, dword [esp + 0x44]
mov dword [esp + 0x108], eax
mov dword [esi + 8], eax
mov eax, dword [sym.zsh.exe_errflag]
jmp 0x46d3c6
mov ebx, dword [esp + 0x10c]
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov dword [esp + 4], ebx
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sub.cygwin1.dll_memmove
mov dword [esp + 0x10c], eax
mov eax, dword [sym.zsh.exe_errflag]
jmp 0x46d3c6
mov dword [esp + 0x48], 0
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x118]
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x138], eax
movzx eax, byte [esp + 0xf5]
or al, byte [esp + 0xf6]
mov edx, eax
or edx, 0x40
test esi, esi
cmovne eax, edx
movsx eax, al
mov edx, eax
or dh, 1
cmp byte [esp + 0x3b], 0x8c
cmove eax, edx
mov edx, eax
or dh, 4
test ecx, ecx
cmovne eax, edx
mov edx, 0xffffffff
test ebx, ebx
jne 0x46e55e
cmp byte [0x522d21], 0
je 0x46e559
cmp byte [esp + 0x3c], 0
je 0x46e55e
mov edx, 1
mov ebx, dword [esp + 0x58]
lea ecx, [esp + 0x138]
lea esi, [esp + 0x110]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x148]
mov dword [esp + 8], edx
test ebx, ebx
mov dword [esp], eax
cmovne esi, ecx
mov dword [esp + 4], esi
call sym.zsh.exe_fetchvalue
mov ebx, eax
test eax, eax
je 0x46ed1c
mov eax, dword [eax + 4]
test eax, eax
je 0x4708c7
mov esi, dword [eax + 8]
test esi, 0x1000000
je 0x4708c7
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
test eax, eax
je 0x47161d
test esi, 0x1000000
jne 0x470c37
mov eax, esi
and eax, 0x1f
cmp eax, 0x10
ja case.0x46e5de.3
jmp dword [eax*4 + 0x4f9764]
mov dword [esp + 0x58], 0
mov dword [esp + 0x48], 1
jmp 0x46e2ca
mov ecx, dword [esp + 0x110]
mov esi, 2
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xe4], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov byte [esp + 0xf6], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov eax, dword [esp + 0x84]
cmp eax, 4
je case.0x46d36e.1
cmp eax, 7
je case.0x46d36e.1
movzx eax, byte [edx + 1]
lea ecx, [eax - 0x2b]
and ecx, 0xfd
je 0x470884
cmp al, 0x9b
je 0x470884
mov eax, dword [esp + 0x84]
cmp eax, 6
je case.0x46d36e.1
mov ecx, dword [esp + 0x110]
add eax, 1
add dword [esp + 0xa0], 1
mov dword [esp + 0x84], eax
lea edx, [ecx + 1]
jmp 0x46d670
lea eax, [edx + 1]
lea edx, [esp + 0x148]
mov dword [esp + 0x64], eax
mov dword [esp + 0x110], eax
lea eax, [esp + 0x110]
call fcn.004735f0
cdq
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
test edx, edx
js case.0x46d36e.1
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x148]
mov edx, dword [esp + 0x110]
test eax, eax
je 0x46e723
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xd8], edx
call sub.cygwin1.dll_memcmp
mov edx, dword [esp + 0xd8]
test eax, eax
je 0x4710a0
lea ecx, [edx - 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x88], 2
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov esi, 3
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x9c], 1
lea edx, [ecx + 1]
jmp 0x46d670
add edx, 1
lea ebx, [esp + 0x138]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0x110], edx
call fcn.0046c090
movzx ebx, byte [eax]
test bl, bl
je case.0x46d36e.1
mov byte [eax], 0
mov edx, dword [esp + 0x110]
lea ecx, [edx + 1]
mov dword [esp + 0x110], ecx
cmp byte [edx + 1], 0
jne 0x472800
mov byte [eax], bl
mov edx, dword [esp + 0x138]
lea ecx, [eax + edx - 1]
add edx, eax
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0xa4], 0x10
mov dword [esp + 0xe0], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x98], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x80], 0x4f9368
lea edx, [ecx + 1]
jmp 0x46d670
add edx, 1
lea ebx, [esp + 0x138]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0x110], edx
call fcn.0046c090
mov ecx, dword [esp + 0xb4]
xor edx, edx
test ecx, ecx
cmovns edx, ecx
movzx ecx, byte [eax]
mov dword [esp + 0xb4], edx
mov ebx, edx
mov byte [esp + 0x64], cl
test cl, cl
je case.0x46d36e.1
mov byte [eax], 0
mov edx, dword [esp + 0x110]
lea ecx, [edx + 1]
mov dword [esp + 0x110], ecx
movzx ecx, byte [edx + 1]
test cl, cl
je 0x46e8bf
mov edx, ebx
cmp cl, 0x65
je 0x46fe44
cmp cl, 0x6f
je 0x46fe3c
cmp cl, 0x63
jne 0x46d904
or edx, 4
mov ecx, dword [esp + 0x110]
lea ebx, [ecx + 1]
mov dword [esp + 0x110], ebx
movzx ecx, byte [ecx + 1]
test cl, cl
jne 0x46e881
mov dword [esp + 0xb4], edx
movzx ecx, byte [esp + 0x64]
mov byte [eax], cl
mov edx, dword [esp + 0x138]
lea ecx, [eax + edx - 1]
add edx, eax
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xcc], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
add dword [esp + 0xe8], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov dword [esp], 3
call sym.zsh.exe_zhalloc
mov edx, 0x2083
mov word [eax], dx
mov byte [eax + 2], 0
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x80], eax
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x2c], 2
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
add dword [esp + 0x90], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov eax, dword [esp + 0xa0]
or eax, dword [esp + 0x84]
jne case.0x46d36e.1
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x84], 7
mov dword [esp + 0xa0], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov esi, 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x7c], 0x20
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xc4], 3
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x88], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x7c], 0x40
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x94], 0x4f9368
lea edx, [ecx + 1]
jmp 0x46d670
add edx, 1
lea eax, [esp + 0x110]
mov dword [esp + 0x110], edx
lea edx, [esp + 0x148]
call fcn.004735f0
mov dword [esp + 0xc0], eax
test eax, eax
js case.0x46d36e.1
mov edx, dword [esp + 0x110]
lea ecx, [edx - 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xc4], 2
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x7c], 8
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x7c], 0x80
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0xa4], 4
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xb0], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0xa4], 2
lea edx, [ecx + 1]
jmp 0x46d670
mov ebx, dword [esp + 0xa4]
mov eax, 0x10
mov ecx, dword [esp + 0x110]
test ebx, ebx
lea edx, [ecx + 1]
cmovne eax, ebx
mov dword [esp + 0xa4], eax
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x3c], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x58], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
sub dword [esp + 0xa0], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x7c], 0x10
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0x7c], 4
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xc4], 1
lea edx, [ecx + 1]
jmp 0x46d670
add edx, 1
lea ebx, [esp + 0x138]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0x110], edx
call fcn.0046c090
mov ebx, eax
movzx eax, byte [eax]
mov byte [esp + 0x64], al
test al, al
je case.0x46d36e.1
mov byte [ebx], 0
mov edx, dword [esp + 0x3c]
mov ecx, edi
mov eax, dword [esp + 0x138]
add eax, dword [esp + 0x110]
call fcn.0046a4b0
mov dword [esp + 0x94], eax
movzx eax, byte [esp + 0x64]
mov byte [ebx], al
mov edx, dword [esp + 0x138]
lea ecx, [ebx + edx - 1]
add edx, ebx
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov byte [esp + 0xf5], 2
lea edx, [ecx + 1]
jmp 0x46d670
lea eax, [edx + 1]
lea edx, [esp + 0x148]
mov dword [esp + 0x64], eax
mov dword [esp + 0x110], eax
lea eax, [esp + 0x110]
call fcn.004735f0
cdq
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
test edx, edx
js case.0x46d36e.1
mov dword [esp + 0x8c], 1
jmp 0x46e6e7
mov ecx, dword [esp + 0x110]
add dword [esp + 0xc8], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x70], 1
lea edx, [ecx + 1]
jmp 0x46d670
mov ecx, dword [esp + 0x110]
or dword [esp + 0xa4], 1
lea edx, [ecx + 1]
jmp 0x46d670
add edx, 1
lea ebx, [esp + 0x138]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0x110], edx
call fcn.0046c090
mov ebx, eax
movzx eax, byte [eax]
mov byte [esp + 0x64], al
test al, al
je case.0x46d36e.1
mov byte [ebx], 0
mov edx, dword [esp + 0x3c]
mov ecx, edi
mov eax, dword [esp + 0x138]
add eax, dword [esp + 0x110]
call fcn.0046a4b0
mov dword [esp + 0x80], eax
jmp 0x46ebf4
mov dword [esp], edi
mov dword [esp + 0x2c], edx
call sym.zsh.exe_shtokenize
mov edx, dword [esp + 0x2c]
jmp 0x46d53f
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x470c2f
mov dword [esp + 0x48], 1
cmp byte [esp + 0x3c], 0
jne 0x471690
cmp byte [0x522d21], 0
jne 0x46effc
mov esi, dword [esp + 0x48]
test esi, esi
je 0x46effc
mov eax, dword [esp + 0x110]
mov dword [esp + 0x70], eax
movzx eax, byte [eax]
cmp al, 0x5b
je 0x46efec
cmp al, 0x91
jne 0x46effc
mov dword [esp + 0x58], 0
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 4], 0
mov dword [esp], 0x4ea8c5
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], 0
call sym.zsh.exe_createparam
mov dword [esp + 0x48], 1
mov edx, eax
mov eax, dword [esp + 0x118]
xor esi, esi
mov dword [edx + 0x10], eax
jmp 0x46e3c4
lea edx, [esi + 0x7b]
cmp dl, 0x16
ja 0x46ddc3
mov eax, 0xffbbfb7a
bt eax, edx
jae 0x46d1a8
lea ecx, [esi + 0x7a]
cmp cl, 0x12
ja 0x46ddca
mov eax, 0xfffbff7e
sar eax, cl
test al, 1
je 0x46de19
jmp 0x46ddd9
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov edx, dword [ebx + 4]
mov dword [esp + 0x118], eax
mov edx, dword [edx + 0x30]
test edx, edx
jne 0x471f56
test esi, 0x20
jne 0x471f33
test esi, 0x40
jne 0x471f10
test esi, 0x80
jne 0x471eed
test esi, 0x100
jne 0x471eca
test esi, 0x200
jne 0x471ea7
test esi, 0x400
jne 0x471e84
test esi, 0x800
jne 0x471e61
test esi, 0x10000
jne 0x471dbc
test esi, 0x1000
jne 0x471d99
test esi, 0x2000
jne 0x471d76
test esi, 0x4000
jne 0x471d53
test esi, 0x8000
jne 0x471d30
and esi, 0x100000
mov dword [esp + 0x48], esi
jne 0x471d05
mov dword [esp + 0x114], 0
jmp 0x46ed30
mov eax, dword [ebx + 4]
mov esi, dword [eax + 8]
and esi, 1
je 0x46ef30
mov ecx, dword [ebx + 0xc]
test ecx, ecx
js 0x46efa5
test byte [ebx + 8], 1
jne 0x46ef30
mov edx, dword [eax + 0x18]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call dword [edx]
mov ecx, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.zsh.exe_arrlen_le
test al, al
jne 0x46ef24
mov eax, dword [esp + 0x48]
test eax, eax
je 0x46ef3c
mov dword [esp + 0x48], esi
jmp 0x46e339
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x46e340
or dword [ebx + 8], 4
mov dword [esp], ebx
call sym.zsh.exe_getstrvalue
mov dword [esp + 0x48], 0
mov dword [esp + 0x118], eax
jmp 0x46e339
mov dword [esp + 0x58], 1
cmp dword [eax + 0x10], 0x522ecc
jne 0x46e34d
jmp 0x46e355
mov eax, dword [ebx + 4]
mov dword [ebx], 0
mov dword [esp + 0x114], 0
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x46e339
mov edx, dword [eax + 0x18]
mov dword [esp], eax
call dword [edx]
mov dword [esp], eax
call sym.zsh.exe_arrlen
mov edx, eax
mov eax, dword [ebx + 8]
and eax, 1
lea ecx, [edx + eax]
add ecx, dword [ebx + 0xc]
mov dword [ebx + 0xc], ecx
test eax, eax
jne 0x46ef1c
test ecx, ecx
js 0x46ef24
cmp edx, 0xffffffff
je 0x4718f0
cmp edx, ecx
jle 0x46ef24
jmp 0x46ef1c
cmp al, 0x91
je 0x46ed72
cmp al, 0x5b
je 0x46ed72
mov dword [esp + 0x58], 0
mov ebx, dword [esp + 0x114]
test ebx, ebx
jne 0x46f65b
mov ebx, dword [esp + 0x110]
mov dword [esp + 0x70], ebx
movzx eax, byte [ebx]
mov byte [esp + 0xf7], 0
cmp al, 0x3a
je 0x46fe15
cmp byte [esp + 0x3c], 0
je 0x46f69f
movzx eax, byte [ebx]
test al, al
je 0x46f998
mov edx, 1
jmp 0x46f063
cmp al, 0x90
je 0x46f06c
movzx eax, byte [ebx + 1]
add ebx, 1
test al, al
je 0x46f998
cmp al, 0x8f
jne 0x46f050
add edx, 1
jmp 0x46f054
sub edx, 1
jne 0x46f054
mov byte [ebx], 0
mov esi, dword [esp + 0x110]
lea eax, [ebx + 1]
mov dword [esp + 0x8c], eax
movzx eax, byte [esi]
mov dword [esp + 0x50], edx
cmp al, 0x2b
je 0x470c4f
cmp al, 0x9c
jl 0x46fe82
lea edx, [eax - 0x23]
cmp dl, 0x1c
ja 0x46fe8a
mov ecx, 0x14801405
bt ecx, edx
jb 0x470f7f
cmp al, 0x2a
sete bl
cmp al, 0x87
sete cl
cmp al, 0x7c
sete dl
cmp al, 0x8e
sete al
or edx, eax
or dl, bl
jne 0x46f0d8
test cl, cl
je 0x47169d
lea eax, [esi + 1]
mov dword [esp + 8], 0
or ebx, ecx
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
mov dword [esp + 0x110], eax
call sym.zsh.exe_itype_end
cmp byte [eax], 0
mov eax, dword [esp + 0x110]
mov dword [esp], eax
jne 0x471fde
call sym.zsh.exe_getaparam
mov esi, eax
test eax, eax
je 0x47163b
mov dword [esp], eax
call sym.zsh.exe_arrlen
add eax, 1
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0044e030
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
test eax, eax
je 0x46f16e
mov dword [esp], 0xc
add esi, 4
call sym.zsh.exe_zhalloc
mov dword [esp + 8], eax
mov eax, dword [esi - 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00429640
mov ecx, dword [esi]
test ecx, ecx
jne 0x46f142
mov esi, dword [esp + 0x48]
test esi, esi
je 0x471f72
cmp byte [0x522d6e], 0
je 0x472c3b
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym.zsh.exe_deletehashtable
mov ebx, dword [esp + 0x48]
test ebx, ebx
je case.0x4700b2.1
cmp byte [0x522d6e], 0
je 0x471fb6
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
mov eax, dword [sym.zsh.exe_errflag]
test eax, eax
jne 0x46cf96
mov eax, dword [esp + 0x114]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x46f2ba
mov eax, dword [sym.zsh.exe_noerrs]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x48], eax
test edi, edi
jne 0x46f213
mov dword [sym.zsh.exe_noerrs], 1
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x470bc9
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_arrlen
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov esi, dword [esp + 0x11c]
mov ebx, eax
mov eax, dword [esi]
mov edi, ebx
test eax, eax
jne 0x46f269
jmp 0x471a53
mov eax, dword [esi + 4]
add esi, 4
add edi, 4
test eax, eax
je 0x471a53
call fcn.0046a5b0
mov dword [edi], eax
test eax, eax
jne 0x46f258
mov dword [edi], 0
mov dword [esp + 0x11c], ebx
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x9c]
mov dword [sym.zsh.exe_noerrs], eax
test ebx, ebx
jne 0x46f29c
and dword [sym.zsh.exe_errflag], 2
mov eax, dword [esp + 0xcc]
or eax, dword [sym.zsh.exe_errflag]
jne 0x46cf96
mov dword [esp + 0x120], 0
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x47061f
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x471221
mov eax, dword [esp + 0x94]
mov edi, 1
test eax, eax
je 0x46f2fc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_mb_metastrlenend
mov edi, eax
mov esi, dword [esp + 0x11c]
cmp dword [esp + 0x64], 1
mov eax, dword [esi]
je 0x472741
cmp dword [esp + 0x64], 2
je 0x472706
test eax, eax
je 0x472cab
xor ecx, ecx
cmp dword [esp + 0x64], 3
setg cl
xor ebx, ebx
mov edi, ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], edi
add esi, 4
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047d260
add ebx, eax
mov eax, dword [esi]
test eax, eax
jne 0x46f331
lea eax, [esp + 0x138]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4f9558
mov esi, eax
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
mov dword [esp], esi
call sym.zsh.exe_dupstring
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], eax
mov dword [esp + 0x120], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x3c], 0
and dword [eax + 8], 0xfffffffe
mov eax, dword [esp + 0x68]
and eax, 4
mov dword [esp + 0x58], eax
or eax, dword [esp + 0x34]
jne 0x4705c2
mov eax, dword [esp + 0x94]
or eax, dword [esp + 0x80]
jne 0x4708f1
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x470bf0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x470b33
mov esi, dword [esp + 0x11c]
mov dword [esp], esi
call sym.zsh.exe_arrlen
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov dword [esp + 0x11c], eax
mov ebx, eax
mov eax, dword [esi]
test eax, eax
je 0x46f438
mov edi, dword [esp + 0xc4]
mov dword [esp + 4], edi
add esi, 4
add ebx, 4
mov dword [esp], eax
call fcn.0042c640
mov dword [ebx - 4], eax
mov eax, dword [esi]
test eax, eax
jne 0x46f41d
cmp dword [esp + 0xb4], 0xffffffff
mov dword [ebx], 0
je 0x46f4e2
mov esi, dword [esp + 0x11c]
mov dword [esp], esi
call sym.zsh.exe_arrlen
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov dword [esp + 0x11c], eax
mov ebx, eax
mov eax, dword [esi]
test eax, eax
je 0x46f4dc
lea ecx, [esp + 0x138]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x48], ecx
mov ecx, ebx
mov ebx, esi
mov esi, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], edi
add ebx, 4
add esi, 4
mov dword [esp + 0xc], 0
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.zsh.exe_getkeystring
mov ecx, dword [esp + 0x138]
mov dword [esi - 4], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.zsh.exe_metafy
mov dword [esi - 4], eax
mov eax, dword [ebx]
test eax, eax
jne 0x46f491
mov ebx, esi
mov dword [ebx], 0
mov dword [esp + 0x50], 1
mov esi, dword [esp + 0xe8]
test esi, esi
je 0x47079e
movzx eax, byte [0x522d4e]
movzx ebx, byte [0x522d52]
mov byte [esp + 0x34], al
movzx eax, byte [0x522d50]
mov byte [esp + 0x48], al
cmp esi, 1
jne 0x46f530
mov byte [0x522d50], 1
mov byte [0x522d4e], 0
mov byte [0x522d52], 0
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x4711b9
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x11c]
test ecx, ecx
je 0x472583
mov eax, dword [esi]
test eax, eax
je 0x46f5a6
mov dword [esp], eax
add esi, 4
call sym.zsh.exe_untokenize
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [esi - 4]
mov dword [esp], eax
call sym.zsh.exe_promptexpand
mov dword [esp], eax
mov edi, eax
call sym.zsh.exe_dupstring
mov dword [esi - 4], eax
mov dword [esp], edi
call fcn.004e5e70
mov eax, dword [esi]
test eax, eax
jne 0x46f555
movzx eax, byte [esp + 0x34]
mov byte [0x522d52], bl
mov dword [esp + 0x50], 1
mov byte [0x522d4e], al
movzx eax, byte [esp + 0x48]
mov byte [0x522d50], al
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x470458
mov eax, dword [esp + 0x88]
test eax, eax
je 0x46f9b3
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4707e6
mov edi, dword [esp + 0x11c]
mov eax, dword [edi]
test eax, eax
je 0x46f9ab
mov esi, dword [esp + 0x88]
mov ebx, esi
and esi, 2
and ebx, 1
jmp 0x46f62a
test esi, esi
jne 0x46fdd0
mov eax, dword [edi + 4]
add edi, 4
test eax, eax
je 0x46f9ab
test ebx, ebx
je 0x46f614
mov dword [esp], eax
call fcn.0047ea60
mov dword [edi], eax
jmp 0x46f614
mov edx, 0xff77edfe
sar edx, cl
and edx, 1
test dl, dl
jne 0x46e45e
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x46f95c
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x470825
mov dword [esp + 0x114], 0xffffffff
mov eax, dword [esp + 0x110]
cmp byte [esp + 0x3c], 0
mov dword [esp + 0x70], eax
movzx eax, byte [eax]
jne 0x46f95c
cmp al, 0x3a
je 0x46fe11
mov byte [esp + 0xf7], 0
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x470c6c
mov eax, dword [esp + 0x48]
mov edx, 0x4f93a7
test eax, eax
mov eax, 0x4f93a5
cmove eax, edx
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], eax
cmp byte [esp + 0x3c], 0
je 0x471524
cmp byte [esp + 0xf7], 0
je 0x46f937
lea eax, [esp + 0x138]
mov dword [esp + 0x48], eax
mov edx, eax
mov eax, dword [esp + 0x110]
call fcn.004736a0
mov dword [esp + 0x50], eax
test eax, eax
je 0x471532
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call sym.zsh.exe_mathevali
mov esi, eax
mov eax, dword [sym.zsh.exe_errflag]
mov edi, edx
mov dword [esp + 0x70], eax
test eax, eax
jne 0x46cf96
mov eax, dword [esp + 0x138]
movzx edx, byte [eax]
test dl, dl
je 0x47244e
cmp dl, 0x3a
jne 0x472891
test dl, dl
je 0x47244e
mov edx, dword [esp + 0x48]
add eax, 1
call fcn.004736a0
mov edx, dword [esp + 0x138]
movzx edx, byte [edx]
test dl, dl
je 0x46f780
cmp dl, 0x3a
jne 0x472d37
test eax, eax
je 0x47244e
mov dword [esp], eax
call sym.zsh.exe_mathevali
cmp dword [sym.zsh.exe_errflag], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
jne 0x46cf96
mov dword [esp + 0x50], 1
mov eax, dword [esp + 0x114]
test eax, eax
je 0x47246b
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x11c]
test eax, eax
je 0x472b1d
mov eax, esi
or eax, edi
je 0x472b05
xor eax, eax
cmp eax, esi
sbb eax, edi
jge 0x472b1d
mov dword [esp], ecx
add esi, 0xffffffff
adc edi, 0xffffffff
call sym.zsh.exe_arrlen
mov ecx, eax
mov eax, ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x50]
cdq
mov dword [esp + 0x5c], edx
test ecx, ecx
je 0x472af0
mov ecx, dword [esp + 0x4c]
test ecx, ecx
js 0x472aac
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
cmp edx, esi
mov eax, ecx
sbb eax, edi
mov eax, edx
cmovge eax, esi
mov dword [esp + 0xf8], eax
mov eax, edi
mov esi, dword [esp + 0xf8]
cmovl eax, ecx
add esi, dword [esp + 0x48]
mov dword [esp + 0xfc], eax
mov eax, ecx
mov edi, dword [esp + 0xfc]
adc edi, dword [esp + 0x4c]
cmp edx, esi
sbb eax, edi
jge 0x46f872
sub edx, dword [esp + 0xf8]
sbb ecx, dword [esp + 0xfc]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x11c]
mov edx, dword [esp + 0x48]
lea eax, [edi + eax*4]
mov dword [esp + 0x48], eax
mov eax, edx
mov esi, edx
add eax, 1
shl eax, 2
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov ecx, eax
test esi, esi
je 0x472920
test byte [esp + 0x70], 1
je 0x472920
mov dword [esp + 0x50], eax
lea edi, [eax + 4]
mov eax, dword [sym.zsh.exe_argzero]
sub esi, 1
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov ecx, dword [esp + 0x50]
mov dword [ecx], eax
mov dword [esp + 0x50], esi
mov edx, edi
test esi, esi
je 0x46f913
mov dword [esp + 0x58], ebp
mov ebp, ebx
mov ebx, edx
add dword [esp + 0x48], 4
mov eax, dword [esp + 0x48]
add ebx, 4
mov dword [esp + 0x70], ecx
mov eax, dword [eax - 4]
mov dword [esp], eax
call sym.zsh.exe_dupstring
sub dword [esp + 0x50], 1
mov ecx, dword [esp + 0x70]
mov dword [ebx - 4], eax
jne 0x46f8e1
mov ebx, ebp
mov ebp, dword [esp + 0x58]
lea edi, [edi + esi*4]
mov dword [edi], 0
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x138]
cmp byte [eax], 0
mov dword [esp + 0x8c], eax
jne 0x471543
movzx ecx, byte [esp + 0x3c]
mov eax, ebx
mov dword [esp + 0x50], 0
test cl, cl
cmove eax, dword [esp + 0x110]
mov dword [esp + 0x8c], eax
jmp case.0x4700b2.1
movzx edx, al
test byte [edx + edx + 0x523921], 0x40
je 0x4718f8
mov eax, dword [esp + 0x70]
lea edx, [eax + 1]
lea esi, [esi]
mov dword [esp + 0x110], edx
movzx ecx, byte [edx]
mov ebx, edx
add edx, 1
mov eax, ecx
test byte [ecx + ecx + 0x523921], 0x40
jne 0x46f978
jmp 0x46f021
mov dword [esp], str.closing_brace_expected
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov dword [esp + 0x50], 1
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x4705a7
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4713db
mov esi, dword [esp + 0x11c]
mov eax, dword [esi]
test eax, eax
je 0x472012
mov edi, dword [esp + 0xb0]
xor ebx, ebx
mov dword [esp], eax
add esi, 4
call sym.zsh.exe_untokenize
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov eax, dword [esi - 4]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.zsh.exe_bufferwords
mov ebx, eax
mov eax, dword [esi]
test eax, eax
jne 0x46f9e8
mov dword [esp + 0x114], 0
mov eax, dword [esp + 0x58]
test eax, eax
setne al
mov esi, eax
test ebx, ebx
je 0x47135f
mov eax, dword [ebx]
test eax, eax
je 0x47135f
mov edi, dword [eax]
test edi, edi
je 0x4718c7
mov dword [esp + 4], 0
mov dword [esp], ebx
call sym.zsh.exe_hlinklist2array
cmp dword [esp + 0x2c], 1
mov dword [esp + 0x50], 1
mov dword [esp + 0x11c], eax
mov eax, 1
adc eax, 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x6c]
or dword [eax + 8], 1
mov eax, esi
test al, al
jne 0x4714de
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0xdc], ecx
jae 0x46faad
test al, 1
jne 0x471391
test al, 2
je 0x46fac1
mov eax, dword [esp + 0x8c]
cmp byte [eax], 0
jne 0x471324
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x47068b
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x11c]
test edx, edx
je 0x4715d2
mov edi, dword [esp + 0xe4]
test edi, edi
je 0x46fb1d
mov esi, dword [esp + 0x50]
test esi, esi
je 0x472136
mov dword [esp], eax
call sym.zsh.exe_arrlen
cmp eax, 1
mov eax, dword [esp + 0x11c]
jle 0x46fb1d
mov dword [esp], eax
call fcn.0044e0f0
mov eax, dword [esp + 0x11c]
mov esi, dword [eax]
test esi, esi
je 0x470c9d
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x470c9d
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x46fb66
mov edx, dword [esp + 0x50]
test edx, edx
je 0x472171
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x47214a
test byte [esp + 0xa4], 4
jne 0x4722a7
test ebp, ebp
jne 0x470cb4
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xac]
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
mov edx, ecx
mov eax, dword [esp + 0x11c]
mov ecx, ebx
or ecx, edi
or edx, esi
mov eax, dword [eax]
mov esi, ecx
mov dword [esp + 0x34], edx
or esi, edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x124], eax
jne 0x472255
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x46fbe9
mov ecx, dword [esp + 0x2c]
xor edx, edx
lea eax, [esp + 0x124]
test ecx, ecx
mov ecx, dword [esp + 0x9c]
sete dl
and edx, dword [esp + 0x40]
call fcn.0046a690
test eax, eax
jne 0x46cf96
mov ebx, dword [esp + 0x124]
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov edx, dword [esp + 0xdc]
lea eax, [esp + 0x128]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
call fcn.0046a350
cmp byte [esp + 0x3b], 0x8c
jne 0x471ca2
mov eax, dword [esp + 0x128]
cmp byte [eax], 0
jne 0x46fc5f
cmp dword [esp + 0x3c], 2
je 0x46fc5f
mov dword [esp], 0x4ea8c5
call sym.zsh.exe_dupstring
mov dword [esp + 0x128], eax
mov edi, dword [esp + 0x44]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x11c]
mov edx, dword [eax + 8]
test edx, edx
je 0x4717cf
mov ecx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x48]
mov esi, 1
or ebp, dword [esp + 0x34]
mov dword [esp + 0x58], ecx
jmp 0x46fd0c
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x46fd74
cmp byte [esp + 0x3b], 0x8c
mov eax, dword [esp + 0x124]
jne 0x46fcc5
cmp byte [eax], 0
jne 0x46fcc5
cmp dword [esp + 0x3c], 2
jne 0x470a02
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x128], eax
test ecx, ecx
jne 0x46fdfd
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
add esi, 1
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [esp + 0x11c]
mov edi, dword [edi]
mov edx, dword [eax + ebx + 8]
test edx, edx
je 0x4717d8
mov eax, dword [eax + esi*4]
lea ebx, [esi*4]
mov dword [esp + 0x124], eax
test ebp, ebp
je 0x46fc98
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
call fcn.0046a750
mov dword [esp + 0x124], eax
jmp 0x46fc98
mov eax, dword [esp + 0x2c]
xor edx, edx
mov ecx, dword [esp + 0x9c]
test eax, eax
lea eax, [esp + 0x124]
sete dl
and edx, dword [esp + 0x40]
call fcn.0046a690
test eax, eax
je 0x46fca7
mov dword [esp + 0x44], 0
mov eax, dword [sym.zsh.exe_errflag]
test eax, eax
jne 0x46cf96
cmp byte [esp + 0xf4], 0
je 0x46de01
jmp 0x46cf96
mov eax, dword [edi]
mov dword [esp], eax
call sym.zsh.exe_nicedupstring
mov dword [edi], eax
jmp 0x46f61c
mov edx, dword [esp + 0x44]
jmp 0x46cf98
mov dword [esp], str.closing_bracket_missing
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov dword [esp], eax
call sym.zsh.exe_shtokenize
mov eax, dword [esp + 0x128]
jmp 0x46fce0
mov ebx, dword [esp + 0x70]
movzx eax, byte [esp + 0xf4]
add ebx, 1
mov dword [esp + 0x110], ebx
mov byte [esp + 0xf7], al
jmp 0x46f031
mov edx, dword [esp + 0x30]
jmp 0x46d4cb
or edx, 1
jmp 0x46e89f
or edx, 2
jmp 0x46e89f
or edx, 8
mov ecx, dword [esp + 0x110]
lea ebx, [ecx + 1]
mov dword [esp + 0x110], ebx
movzx ecx, byte [ecx + 1]
test cl, cl
jne 0x46d8e9
mov dword [esp + 0xb0], edx
jmp 0x46e8bf
or edx, 4
jmp 0x46fe4f
or edx, 0x10
jmp 0x46fe4f
cmp al, 0x84
jge 0x46ffe0
cmp al, 0x5e
je 0x46fe96
cmp al, 0x86
jne 0x46f0b6
lea eax, [esi + 1]
mov dword [esp + 0x110], eax
movzx edx, byte [esi + 1]
cmp dl, 0x5e
je 0x4716b6
mov dword [esp + 0x3c], 1
cmp dl, 0x86
je 0x4716b6
mov dword [esp + 8], 0
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call sym.zsh.exe_itype_end
cmp byte [eax], 0
jne 0x471fd4
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x46f1ae
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sym.zsh.exe_getaparam
mov esi, dword [esp + 0x114]
mov ebx, eax
test eax, eax
je 0x47299c
test esi, esi
je 0x4729bd
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_arrlen
mov dword [esp], ebx
mov esi, eax
mov dword [esp + 0x58], eax
call sym.zsh.exe_arrlen
mov ecx, esi
mov edx, dword [esp + 0x3c]
cmp ecx, eax
mov esi, eax
mov dword [esp + 0x50], eax
setg al
movzx eax, al
cmp eax, edx
mov eax, esi
cmovne esi, ecx
test edx, edx
jne 0x46ff5f
test ecx, ecx
je 0x4728aa
test eax, eax
je case.0x4700b2.1
lea eax, [esi*8 + 4]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov edi, eax
test esi, esi
jle 0x472927
mov dword [esp + 0x3c], ebp
mov ebp, esi
mov esi, ebx
mov ebx, dword [esp + 0x48]
mov eax, ebx
cdq
idiv dword [esp + 0x58]
mov eax, dword [esp + 0x11c]
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [edi + ebx*8], eax
mov eax, ebx
cdq
idiv dword [esp + 0x50]
mov eax, dword [esi + edx*4]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [edi + ebx*8 + 4], eax
add ebx, 1
cmp ebp, ebx
jne 0x46ff84
mov esi, ebp
mov ebp, dword [esp + 0x3c]
mov dword [edi + esi*8], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x11c], edi
jmp case.0x4700b2.1
lea edx, [eax + 0x7c]
mov ecx, 0x880201
bt ecx, edx
jae 0x46fe8a
mov edx, dword [esp + 0xc0]
test edx, edx
jne 0x470f97
mov dword [esp + 0xc0], 1
cmp al, 0x23
je 0x470013
cmp al, 0x84
jne 0x470020
cmp al, byte [esi + 1]
jne 0x470020
or dword [esp + 0x7c], 2
add esi, 1
lea ebx, [esi + 1]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x110], ebx
movzx ecx, byte [esi]
cmp cl, 0x2f
je 0x471255
mov eax, dword [esp + 0x7c]
and eax, 0xf8
cmp byte [esp + 0xf7], 0
jne 0x471608
test eax, eax
jne 0x470092
or dword [esp + 0x7c], 0x10
test byte [esp + 0x48], 1
jne 0x470092
cmp byte [esp + 0xf7], 0
je 0x470092
mov eax, dword [esp + 0x114]
mov dword [esp + 0x48], eax
test eax, eax
je 0x4719db
mov eax, dword [esp + 0x11c]
cmp dword [eax], 1
sbb eax, eax
mov dword [esp + 0x48], eax
cmp cl, 0x3f
jg case.0x4700b2.1
cmp cl, 0x22
jle 0x470198
lea eax, [ecx - 0x23]
cmp al, 0x1c
ja case.0x4700b2.1
movzx eax, al
jmp dword [eax*4 + 0x4f97a8]
mov eax, dword [sym.zsh.exe_errflag]
mov esi, dword [sym.zsh.exe_noerrs]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x9c]
test eax, eax
jne 0x472045
mov dword [esp], ebx
mov dword [sym.zsh.exe_noerrs], 1
call sym.zsh.exe_parse_subst_string
mov dword [sym.zsh.exe_noerrs], esi
mov edx, eax
mov eax, dword [sym.zsh.exe_errflag]
and eax, 2
or eax, dword [esp + 0x50]
mov dword [sym.zsh.exe_errflag], eax
test edx, edx
jne 0x472bf2
lea esi, [esp + 0x110]
mov dword [esp], esi
call sym.zsh.exe_singsub
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x47261a
mov eax, dword [esp + 0x114]
test eax, eax
jne 0x472783
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp], eax
mov dword [esp + 0x118], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
lea eax, [esp + 0x118]
mov dword [esp], eax
call fcn.00427f90
mov dword [esp + 0x50], 1
jmp case.0x4700b2.1
cmp cl, 0x97
je case.0x4700b2.28
cmp cl, 0x98
jl 0x470243
cmp cl, 0x9b
jne case.0x4700b2.1
mov eax, dword [esp + 0x48]
mov dword [esp + 0x50], 0
test eax, eax
je case.0x4700b2.1
mov dword [esp], ebx
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x472646
mov eax, dword [esp + 0xf0]
test eax, eax
jne 0x4727f4
mov edx, 0x18
lea ecx, [esp + 0x11c]
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
lea eax, [esp + 0x114]
mov dword [esp], eax
lea eax, [esp + 0x118]
call fcn.004738d0
xor eax, eax
cmp dword [esp + 0x60], 2
mov dword [esp + 0x34], 0
sete al
mov dword [esp + 0x50], 1
add eax, eax
mov dword [esp + 0x60], eax
jmp case.0x4700b2.1
cmp cl, 0x84
je case.0x4700b2.0
cmp cl, 0x8d
jne case.0x4700b2.1
mov esi, dword [esp + 0x48]
mov dword [esp + 0x50], 0
test esi, esi
je case.0x4700b2.1
mov esi, dword [esp + 0x70]
movzx eax, byte [esi]
mov byte [esi], 0
mov byte [esp + 0x3c], al
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x118], eax
test ebx, ebx
jne 0x4722e2
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x4722e2
lea eax, [esp + 0x120]
cmp dword [esp + 0x34], 1
lea ecx, [esp + 0x11c]
mov dword [esp + 4], eax
lea eax, [esp + 0x114]
sbb edx, edx
mov dword [esp], eax
and edx, 8
lea eax, [esp + 0x118]
add edx, 0x18
call fcn.004738d0
mov eax, dword [esp + 0x114]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x472811
mov eax, dword [esp + 0x118]
cmp byte [eax], 0
jne 0x47030d
cmp dword [esp + 0x90], 1
jne 0x472d4c
mov dword [esp + 0x138], eax
xor edx, edx
mov eax, 8
mov ebx, 1
mov dword [esp + 0x13c], 0
lea esi, [esp + 0x138]
mov dword [esp + 0x11c], esi
mov dword [esp], eax
mov dword [esp + 0x48], edx
call sym.zsh.exe_zalloc
mov ecx, eax
test ebx, ebx
je 0x470397
mov edx, dword [esp + 0x48]
mov dword [esp + 0x50], edi
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x58], ebp
lea eax, [edx + 1]
mov ebp, edx
mov dword [esp + 0x48], eax
mov eax, dword [esi + ebx*4]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esi + ebx*4]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [edi + ebx*4], eax
mov eax, ebx
add ebx, 1
cmp ebp, eax
jne 0x470364
mov eax, dword [esp + 0x48]
mov ecx, edi
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
lea eax, [ecx + eax*4]
cmp dword [esp + 0x90], 1
mov dword [eax], 0
mov dword [esp + 4], ecx
mov dword [esp], edi
je 0x472807
call sym.zsh.exe_sethparam
test eax, eax
je 0x4703ea
mov edx, dword [eax + 0x18]
mov dword [esp], eax
call dword [edx]
mov edx, eax
movzx eax, byte [esp + 0xf5]
or al, byte [esp + 0xf6]
movsx eax, al
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0044d660
mov dword [esp + 0x11c], eax
mov esi, dword [esp + 0x70]
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0x114], 1
mov dword [esp + 0x90], 1
mov byte [esi], al
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x472cc6
mov dword [esp + 0x114], 0xffffffff
mov dword [esp + 0x90], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x94], 0
jmp case.0x4700b2.1
mov edi, dword [esp + 0xa0]
test edi, edi
jle 0x47130f
mov eax, dword [esp + 0x84]
cmp eax, 4
je 0x471add
jg 0x470c16
cmp eax, 1
setne al
movzx eax, al
mov edi, eax
mov ebx, eax
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x470fa9
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x11c]
test ecx, ecx
je 0x471b16
mov edx, dword [esp + 0xa0]
mov eax, dword [esi]
test edx, edx
jle 0x47141b
cmp dword [esp + 0x84], 9
je 0x4726dd
cmp dword [esp + 0x84], 1
jle 0x4726b4
test eax, eax
je 0x472cb2
cmp dword [esp + 0x84], 3
mov dword [esp + 0x48], ebp
mov ebp, edi
mov edi, ebx
setne dl
lea edx, [edx + edx*4 + 0x22]
mov ecx, dword [esp + 0x84]
mov dword [esp], eax
mov byte [esp + 0x64], dl
mov dword [esp + 4], ecx
call sym.zsh.exe_quotestring
mov dword [esp], eax
mov ebx, eax
call sub.cygwin1.dll_strlen
add eax, edi
lea ecx, [eax + ebp]
mov dword [esp + 0x34], eax
lea eax, [ecx + 1]
mov dword [esp + 0x50], ecx
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov dword [esi], eax
add eax, edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
test edi, edi
mov ecx, dword [esp + 0x50]
movzx edx, byte [esp + 0x64]
je 0x47055a
mov eax, dword [esi]
mov ebx, dword [esp + 0x34]
mov byte [eax + ebx], dl
mov eax, dword [esi]
mov byte [eax + edi - 1], dl
mov eax, dword [esi]
cmp dword [esp + 0x84], 4
mov byte [eax + ecx], 0
jne 0x47056f
mov eax, dword [esi]
mov byte [eax], 0x24
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x4704f5
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x46f5f2
mov ecx, dword [esp + 0xb0]
test ecx, ecx
jne 0x46f9ce
mov dword [esp + 0x50], 1
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, dword [esp + 0x58]
setne dl
test eax, eax
mov esi, edx
setne al
and esi, eax
jmp 0x46fa87
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4708f1
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x470b1c
mov edi, dword [esp + 0x94]
test edi, edi
jne 0x472668
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x472668
mov eax, dword [esp + 0x6c]
or dword [eax + 8], 1
mov eax, dword [esp + 0xc4]
test eax, eax
jne 0x46f3e9
cmp dword [esp + 0xb4], 0xffffffff
jne 0x46f44c
jmp 0x46f4ea
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esi + 8]
test ecx, ecx
je 0x46f395
or eax, 1
mov dword [esi + 8], eax
mov eax, dword [esp + 0x11c]
test ecx, ecx
jle 0x4711a2
test ebp, ebp
jne 0x4711a2
test eax, eax
je 0x471901
mov edx, dword [eax]
test edx, edx
je 0x471901
mov eax, dword [eax + 4]
test eax, eax
jne 0x46f3a5
mov dword [esp + 0x118], edx
mov dword [esp + 0x114], 0
mov dword [esp + 0x3c], 0
jmp 0x46f3a5
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x472914
mov eax, dword [esp + 0x118]
mov dword [esp + 0x12c], eax
test eax, eax
je 0x46cf96
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov edx, dword [esp + 0xac]
or ecx, esi
or edx, edi
or edx, ecx
jne 0x471a8b
mov edx, dword [esp + 0x98]
test edx, edx
je 0x47070c
mov eax, dword [esp + 0x2c]
xor edx, edx
lea esi, [esp + 0x12c]
mov ecx, dword [esp + 0x9c]
test eax, eax
mov eax, esi
sete dl
and edx, dword [esp + 0x40]
call fcn.0046a690
test eax, eax
jne 0x46cf96
mov ebx, dword [esp + 0x12c]
lea esi, [esp + 0x138]
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov ecx, dword [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov edx, dword [esp + 0xdc]
mov eax, esi
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
call fcn.0046a350
cmp byte [esp + 0x3b], 0x8c
mov dword [esp + 0x10c], eax
jne 0x471318
mov eax, dword [esp + 0x138]
cmp byte [eax], 0
je 0x471bf2
mov esi, dword [esp + 0x44]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x98]
test eax, eax
je 0x470bb6
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
jmp 0x46dde8
mov eax, dword [esp + 0xa0]
test eax, eax
jne 0x470458
mov esi, dword [esp + 0x88]
test esi, esi
je 0x46f9b3
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jne 0x4725da
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x4707e6
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
test byte [esp + 0x88], 1
jne 0x472427
mov dword [esp + 0x50], 1
test byte [esp + 0x88], 2
je 0x46f9b3
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_nicedupstring
mov dword [esp + 0x118], eax
jmp 0x46f9b3
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x46f672
cmp byte [esp + 0x40], 0
je 0x46f672
mov eax, dword [esp + 0x114]
test eax, eax
jle 0x46f672
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_sepjoin
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], eax
jmp 0x46f672
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne case.0x46d36e.1
mov dword [esp + 0xa0], 1
lea ecx, [edx + 1]
add edx, 2
mov dword [esp + 0x110], ecx
movzx eax, byte [edx - 1]
cmp al, 0x2b
sete al
movzx eax, al
lea eax, [eax + eax*2 + 6]
mov dword [esp + 0x84], eax
jmp 0x46d670
test byte [ebx + 8], 2
je 0x47134e
mov esi, dword [esp + 0x70]
mov dword [esp + 0x48], esi
test esi, esi
je 0x47161d
test eax, eax
je 0x470c37
mov esi, dword [eax + 8]
jmp 0x46e5c4
mov eax, dword [esp + 0x34]
or eax, dword [esp + 0x80]
je 0x4705ce
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x470997
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x471cc2
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x471cc2
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x471cae
cmp dword [esp + 0x2c], 2
je 0x471cae
mov ecx, dword [sym.zsh.exe_ifs]
test ecx, ecx
jne 0x4705f5
mov edx, dword [esp + 0x3c]
test edx, edx
jns 0x4705f5
xor eax, eax
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_sepjoin
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], eax
mov dword [esp + 0x120], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call fcn.0047d6a0
mov dword [esp + 0x11c], eax
test eax, eax
je 0x470afe
mov edx, dword [eax]
test edx, edx
je 0x470afe
mov eax, dword [eax + 4]
test eax, eax
je 0x472985
cmp dword [esp + 0x2c], 1
mov eax, 1
adc eax, 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x114], eax
jmp 0x4705f5
mov dword [esp], 0x4ea8c5
call sym.zsh.exe_dupstring
mov dword [esp + 0x128], eax
jmp 0x46fce0
lea eax, [edi + 2]
mov byte [esp + 0xf6], 0
xor esi, esi
mov dword [esp + 0x110], eax
movzx ebx, byte [edi + 2]
mov edi, eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0xcc], 0
mov byte [esp + 0xf5], 2
jmp 0x46da61
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x6c]
and dword [eax + 8], 0xfffffffe
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x470bf0
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call fcn.0042c640
cmp dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0x118], eax
je 0x46f4e2
mov esi, dword [esp + 0xb4]
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 8], esi
lea esi, [esp + 0x138]
mov dword [esp + 4], esi
call sym.zsh.exe_getkeystring
mov edx, dword [esp + 0x138]
mov dword [esp + 8], 1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x118], eax
call sym.zsh.exe_metafy
mov dword [esp + 0x118], eax
jmp 0x46f4e2
mov eax, dword [esp + 0x44]
test eax, eax
sete byte [esp + 0xf4]
jmp 0x46fda6
mov eax, dword [esp + 0x118]
call fcn.0046a5b0
test eax, eax
mov dword [esp + 0x118], eax
sete al
movzx eax, al
mov dword [esp + 0xcc], eax
jmp 0x46f281
cmp dword [esp + 0xb4], 0xffffffff
je 0x46f4ea
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x118]
test edi, edi
je 0x470b62
jmp 0x46f44c
mov eax, dword [esp + 0x84]
sub eax, 6
cmp eax, 2
sbb edi, edi
add edi, 1
mov ebx, edi
jmp 0x47048a
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x46eecc
mov ecx, dword [esp + 0xc0]
mov eax, 1
test ecx, ecx
cmovne eax, ecx
mov dword [esp + 0xc0], eax
jmp 0x470020
mov eax, dword [esp + 0x48]
test eax, eax
je 0x46f6db
cmp byte [0x522d6e], 0
je 0x471fb6
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x46f6db
test ebp, ebp
je 0x472185
mov edx, dword [esp + 0xa4]
test edx, edx
jne 0x46fb3d
mov ecx, dword [esp + 0x8c]
lea eax, [esp + 0x138]
lea esi, [esp + 0x12c]
mov dword [esp + 0x48], eax
mov byte [ecx - 1], 0xa2
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
lea eax, [ecx - 1]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], esi
test eax, eax
je 0x471b51
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x11c]
lea edx, [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x124], eax
test eax, eax
je 0x472907
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov edx, ecx
mov ecx, ebx
or edx, esi
or ecx, edi
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x58], edx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x64]
or ecx, dword [esp + 0x58]
jne 0x470f10
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x470ed8
mov eax, dword [esp + 0x124]
mov dword [esp], eax
mov dword [esp + 0x34], eax
call sub.cygwin1.dll_strlen
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0x48], eax
test ebx, ebx
jne 0x470dcf
jmp 0x470e73
mov dword [edi + 8], eax
mov ebx, dword [ebx]
xor ebp, ebp
test ebx, ebx
je 0x470e73
mov eax, dword [ebx + 8]
mov dword [esp + 0x128], eax
cmp byte [eax], 0xa2
jne 0x470e73
add eax, 1
mov ecx, dword [esp + 0x50]
mov edx, esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp], eax
lea eax, [esp + 0x128]
call fcn.0046a350
cmp byte [esp + 0x3b], 0x8c
mov eax, dword [esp + 0x128]
jne 0x470e50
cmp byte [eax], 0
jne 0x470e50
cmp dword [esp + 0x3c], 2
je 0x470e50
mov dword [esp], 0x4ea8c5
call sym.zsh.exe_dupstring
mov dword [esp + 0x128], eax
lea esi, [esi]
nop
test ebp, ebp
jne 0x470dc0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.zsh.exe_insertlinknode
mov edi, dword [edi]
jmp 0x470dc3
mov eax, dword [esp + 0x11c]
lea edx, [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x124], eax
test eax, eax
jne 0x470d79
mov esi, edi
test ebx, ebx
je 0x47192c
mov eax, dword [ebx + 8]
mov dword [esp + 0x128], eax
movzx edx, byte [eax]
cmp dl, 0xa2
je 0x470ed4
cmp dword [esp + 0x3c], 2
setne cl
test byte [esp + 0x40], cl
je 0x470ec7
test dl, dl
je 0x47194f
test ebp, ebp
je 0x470f62
mov dword [esi + 8], eax
xor ebp, ebp
mov ebx, dword [ebx]
jmp 0x470e97
mov eax, dword [esp + 0x2c]
xor edx, edx
mov ecx, dword [esp + 0x9c]
test eax, eax
lea eax, [esp + 0x124]
sete dl
and edx, dword [esp + 0x40]
call fcn.0046a690
test eax, eax
je 0x470d96
xor esi, esi
mov dword [esp + 0x44], esi
jmp 0x46fda6
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
call fcn.0046a750
mov dword [esp + 0x124], eax
jmp 0x470d87
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.zsh.exe_insertlinknode
mov esi, dword [esi]
mov ebx, dword [ebx]
jmp 0x470e97
mov ecx, dword [esp + 0xc0]
mov edx, 1
test ecx, ecx
cmovne edx, ecx
mov dword [esp + 0xc0], edx
cmp al, 0x25
jne 0x47000b
or dword [esp + 0x7c], 1
jmp 0x470013
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x118]
test ecx, ecx
je 0x472599
mov edx, dword [esp + 0xa0]
test edx, edx
jle 0x471967
cmp dword [esp + 0x84], 9
je 0x47293b
mov esi, dword [esp + 0x84]
cmp esi, 1
jle 0x471bc7
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.zsh.exe_quotestring
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_strlen
lea edx, [eax + ebx]
add edi, edx
mov dword [esp + 0x34], edx
lea eax, [edi + 1]
mov dword [esp], eax
call sym.zsh.exe_zhalloc
mov dword [esp + 4], esi
mov dword [esp + 0x118], eax
add eax, ebx
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
test ebx, ebx
je 0x471054
cmp dword [esp + 0x84], 3
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x34]
setne al
lea eax, [eax + eax*4 + 0x22]
mov byte [ecx + edx], al
mov edx, dword [esp + 0x118]
mov byte [edx + ebx - 1], al
mov eax, dword [esp + 0x118]
cmp dword [esp + 0x84], 4
mov byte [eax + edi], 0
je 0x4728d1
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4707e6
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x4713db
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], 1
jmp 0x46fa91
lea ebx, [esp + 0x138]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0046c090
mov dword [esp + 0xd8], eax
mov ecx, eax
movzx eax, byte [eax]
mov byte [esp + 0xf0], al
test al, al
je case.0x46d36e.1
mov byte [ecx], 0
mov eax, dword [esp + 0x138]
mov ecx, edi
add eax, dword [esp + 0x110]
cmp dword [esp + 0x8c], 0
mov edx, dword [esp + 0x3c]
je 0x471682
call fcn.0046a4b0
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0xd8]
movzx eax, byte [esp + 0xf0]
mov byte [ecx], al
mov eax, dword [esp + 0x148]
add ecx, dword [esp + 0x138]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x110], ecx
mov dword [esp + 0xd8], ecx
call sub.cygwin1.dll_memcmp
mov edx, dword [esp + 0xd8]
test eax, eax
jne 0x46e723
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0046c090
mov ebx, eax
movzx eax, byte [eax]
mov byte [esp + 0x64], al
test al, al
je case.0x46d36e.1
mov byte [ebx], 0
mov eax, dword [esp + 0x138]
mov ecx, edi
add eax, dword [esp + 0x110]
cmp dword [esp + 0x8c], 0
mov edx, dword [esp + 0x3c]
je 0x472001
call fcn.0046a4b0
mov dword [esp + 0xd0], eax
jmp 0x46ebf4
test eax, eax
je 0x46f3a5
mov edx, dword [eax]
test edx, edx
je 0x46f3a5
jmp 0x470661
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x118]
test edx, edx
je 0x47275a
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x118]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_promptexpand
mov dword [esp], eax
mov esi, eax
call sym.zsh.exe_dupstring
mov dword [esp], esi
mov dword [esp + 0x118], eax
call fcn.004e5e70
jmp 0x46f5a6
cmp dword [esp + 0x64], 2
mov eax, dword [esp + 0x118]
jg 0x471a63
mov esi, dword [esp + 0xc8]
mov dword [esp + 8], 0
mov dword [esp], eax
mov dword [esp + 4], esi
call sym.zsh.exe_mb_metastrlenend
mov ebx, eax
jmp 0x46f353
xor eax, eax
test byte [esp + 0x7c], 4
sete al
add eax, eax
mov dword [esp + 0x7c], eax
movzx eax, byte [esi + 1]
cmp al, 0x2f
jne 0x471283
or dword [esp + 0x7c], 0x200
lea ebx, [esi + 2]
mov dword [esp + 0x110], ebx
movzx eax, byte [esi + 2]
cmp al, 0x23
je 0x471a1b
cmp al, 0x84
je 0x471a1b
movzx eax, byte [ebx]
cmp al, 0x25
je 0x471bc0
mov esi, dword [esp + 0x7c]
mov edx, esi
or edx, 4
test esi, 0x1001
cmovne edx, esi
mov dword [esp + 0x7c], edx
jmp 0x4712bf
cmp al, 0x5c
mov eax, edx
je 0x4712db
add ebx, 1
test al, al
je 0x47292e
movzx edx, byte [ebx + 1]
cmp al, 0x2f
je 0x471a05
lea ecx, [eax + 0x61]
cmp cl, 1
ja 0x4712b6
test dl, dl
jne 0x4712fd
mov dword [esp + 0x3c], 0x4f8fb8
add ebx, 1
mov byte [ebx], 0
mov ebx, dword [esp + 0x110]
movzx ecx, byte [ebx - 1]
jmp 0x47003e
cmp dl, 0x2f
je 0x47162a
movzx eax, byte [ebx + 2]
add ebx, 1
jmp 0x4712bc
xor edi, edi
xor ebx, ebx
jmp 0x47048a
mov eax, dword [esp + 0x138]
jmp 0x470778
mov dword [esp], eax
mov esi, eax
call sym.zsh.exe_dupstring
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sym.zsh.exe_insertlinknode
mov byte [esi], 0
jmp 0x46fac1
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4708e1
jmp 0x46e304
mov eax, dword [esp + 0x114]
mov dword [esp], 0x4f8fb8
test eax, eax
mov dword [esp + 0x3c], eax
setne al
and esi, eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x50], 1
mov dword [esp + 0x118], eax
jmp 0x46fa87
mov esi, ecx
mov eax, ecx
mov ecx, dword [esp + 0xdc]
sub eax, ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.zsh.exe_dupstrpfx
mov edi, dword [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [edi]
mov dword [esp + 0xdc], esi
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x120]
jmp 0x46faad
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], 0
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
call sym.zsh.exe_bufferwords
mov ebx, eax
jmp 0x46fa21
mov edi, dword [sym.zsh.exe_errflag]
mov ebx, dword [esp + 0x9c]
mov ecx, dword [sym.zsh.exe_noerrs]
mov edx, edi
test ebx, ebx
jne 0x471aec
mov dword [sym.zsh.exe_noerrs], 1
test eax, eax
je 0x4728ef
mov dword [esp + 0x34], ebp
xor ebx, ebx
mov ebp, edi
mov edi, ecx
mov dword [esp], eax
add esi, 4
call sym.zsh.exe_parse_subst_string
or ebx, eax
mov eax, dword [esi - 4]
mov dword [esp], eax
call sym.zsh.exe_remnulargs
mov eax, dword [esi - 4]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esi]
test eax, eax
jne 0x471454
mov esi, dword [esp + 0x9c]
mov ecx, edi
mov edi, ebp
mov ebp, dword [esp + 0x34]
mov dword [sym.zsh.exe_noerrs], ecx
test esi, esi
jne 0x472610
mov edx, dword [sym.zsh.exe_errflag]
mov eax, edx
mov ebx, dword [esp + 0x88]
and eax, 2
or eax, edi
mov dword [sym.zsh.exe_errflag], eax
test ebx, ebx
jne 0x46f5f2
mov eax, dword [esp + 0xb0]
test eax, eax
jne 0x46f9ce
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], 1
test eax, eax
je 0x46fa91
mov eax, dword [esp + 0x11c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_sepjoin
mov dword [esp + 0x3c], 0
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x114], 0
and dword [eax + 8], 0xfffffffe
jmp 0x46fa91
cmp byte [esp + 0xf7], 0
je 0x46f937
mov eax, dword [esp + 0x110]
sub eax, 1
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
cmp byte [0x522d21], 0
mov dword [esp + 0x110], eax
je 0x471565
cmp byte [esp + 0x3c], 0
je 0x4716a9
mov eax, dword [esp + 0x114]
movsx ecx, byte [esp + 0x3c]
test eax, eax
jne 0x472081
lea eax, [esp + 0x118]
lea esi, [esp + 0x110]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0046c220
mov eax, dword [esp + 0x110]
mov dword [esp + 0x8c], eax
cmp byte [esp + 0x3c], 0
je 0x4715c5
mov eax, dword [esp + 0x8c]
movzx eax, byte [eax]
test al, al
jne 0x472c65
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x50], 1
jmp case.0x4700b2.1
mov eax, dword [esp + 0x6c]
or dword [eax + 8], 1
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_hmkarray
mov dword [esp + 0x3c], 1
mov dword [esp + 0x11c], eax
mov dword [esp + 0x114], 1
jmp 0x46fae3
or dword [esp + 0x7c], 0x100
test eax, eax
je 0x470059
jmp 0x47005e
mov dword [esp + 0x48], 1
jmp 0x46e304
mov dword [esp], ebx
call sym.zsh.exe_chuck
movzx eax, byte [ebx + 1]
jmp 0x4712bc
test bl, bl
je 0x46f1a6
mov edx, dword [esp + 0x48]
test edx, edx
jne 0x46f1ae
mov eax, dword [esp + 0x114]
mov dword [esp + 0x50], eax
test eax, eax
je 0x46f1bb
mov dword [esp], 0
call sym.zsh.exe_hmkarray
mov dword [esp + 0x50], 0
mov dword [esp + 0x11c], eax
jmp case.0x4700b2.1
call fcn.0046a4b0
mov dword [esp + 0x78], eax
jmp 0x4710ff
mov dword [esp + 0x58], 0
jmp 0x46e360
mov ebx, dword [esp + 0x8c]
jmp 0x46f69f
mov dword [esp + 0x50], 0
jmp case.0x4700b2.1
lea eax, [esi + 2]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x110], eax
jmp 0x46febe
mov dword [esp], str.parse_error_in_command_substitution
mov dword [esp + 0x2c], eax
call sym.zsh.exe_zerr
mov edx, dword [esp + 0x2c]
jmp 0x46cf98
mov dword [esp + 0xa0], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xb4], 0xffffffff
jmp 0x46d689
mov eax, dword [esp + 0xf0]
test eax, eax
je 0x471690
mov eax, dword [esp + 0x68]
xor ebx, ebx
and eax, 0x40
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x58], eax
jmp 0x46e2ca
mov edi, dword [esp + 0x44]
mov esi, 1
mov eax, dword [eax + esi*4]
mov esi, dword [esp + 0x48]
or esi, dword [esp + 0x34]
mov dword [esp + 0x124], eax
jne 0x4723d5
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x471825
mov ecx, dword [esp + 0x2c]
xor edx, edx
lea eax, [esp + 0x124]
test ecx, ecx
mov ecx, dword [esp + 0x9c]
sete dl
and edx, dword [esp + 0x40]
call fcn.0046a690
test eax, eax
jne 0x46cf96
mov ebx, dword [esp + 0x124]
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x60]
mov edx, ecx
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 8], esi
call fcn.0046a350
cmp byte [esp + 0x3b], 0x8c
mov dword [esp + 0x10c], eax
jne 0x472442
mov eax, dword [esp + 0x128]
cmp byte [eax], 0
jne 0x4718a0
cmp dword [esp + 0x3c], 2
je 0x4718a0
mov dword [esp], 0x4ea8c5
call sym.zsh.exe_dupstring
mov dword [esp + 0x128], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.zsh.exe_insertlinknode
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov dword [esp + 0x10c], eax
jmp 0x47077f
mov eax, dword [eax + 8]
mov dword [esp + 0x50], 1
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x114]
test eax, eax
mov dword [esp + 0x3c], eax
setne al
and esi, eax
jmp 0x46fa87
mov eax, dword [ebx + 4]
jmp 0x46eefc
mov ebx, dword [esp + 0x70]
jmp 0x46f021
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x3c], 0
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], 0
jmp 0x46f3a5
test ebp, ebp
je 0x4718b4
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym.zsh.exe_uremnode
test esi, esi
sete byte [esp + 0xf4]
jmp 0x470f04
mov dword [esp], 0x4ea8c5
call sym.zsh.exe_dupstring
mov dword [esp + 0x128], eax
jmp 0x470ec7
mov edx, dword [esp + 0x9c]
mov ebx, dword [sym.zsh.exe_noerrs]
mov esi, dword [sym.zsh.exe_errflag]
test edx, edx
jne 0x4725ad
mov dword [esp], eax
mov dword [sym.zsh.exe_noerrs], 1
call sym.zsh.exe_parse_subst_string
mov eax, dword [sym.zsh.exe_errflag]
mov dword [sym.zsh.exe_noerrs], ebx
and eax, 2
or eax, esi
mov dword [sym.zsh.exe_errflag], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_remnulargs
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4707e6
jmp 0x47107c
mov eax, dword [esp + 0x118]
movzx edx, byte [eax]
test dl, dl
je 0x472603
cmp dl, 0xa1
jne 0x470092
cmp byte [eax + 1], 1
sbb eax, eax
mov dword [esp + 0x48], eax
jmp 0x470092
test dl, dl
lea eax, [ebx + 1]
mov edx, 0x4f8fb8
cmovne edx, eax
mov dword [esp + 0x3c], edx
jmp 0x4712ea
lea edx, [ebx + 1]
or dword [esp + 0x7c], 0x1000
mov dword [esp + 0x110], edx
movzx eax, byte [ebx + 1]
mov ebx, edx
cmp al, 0x25
jne 0x4712bf
lea ebx, [edx + 1]
or dword [esp + 0x7c], 1
mov dword [esp + 0x110], ebx
movzx eax, byte [edx + 1]
jmp 0x47129e
mov dword [esp + 0xcc], 0
jmp 0x46f274
mov esi, dword [esp + 0x80]
xor edx, edx
cmp dword [esp + 0x64], 3
mov dword [esp], eax
setg dl
mov dword [esp + 8], edx
mov dword [esp + 4], esi
call fcn.0047d260
mov ebx, eax
jmp 0x46f353
mov esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xec]
mov dword [esp + 8], esi
mov esi, dword [esp + 0xd4]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xd0]
mov dword [esp], esi
call fcn.0046a750
mov dword [esp + 0x12c], eax
jmp 0x4706d5
mov edi, 1
mov ebx, 2
jmp 0x47048a
test eax, eax
jne 0x47144a
mov edi, dword [sym.zsh.exe_errflag]
test edi, edi
jne 0x4725c7
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4714bb
jmp 0x46f5f2
mov dword [esp], esi
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
mov esi, eax
jmp 0x4704a9
mov dword [esp + 0x48], 0
mov dword [esp + 0x58], 0
jmp 0x46e4ed
mov eax, dword [esp + 0x58]
mov dword [esp + 0xf0], eax
jmp 0x46e4ed
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], 0
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov eax, esi
call fcn.0046ce20
mov edx, eax
test eax, eax
je 0x46cf98
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x12c]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x11c]
lea edx, [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x124], eax
test eax, eax
jne 0x470d42
mov esi, dword [esp + 0x44]
jmp 0x470e97
mov edx, ebx
jmp 0x471a3b
mov dword [esp + 4], 8
mov dword [esp], eax
call sym.zsh.exe_quotestring
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x118], eax
test ecx, ecx
jne 0x4707e6
jmp 0x47107c
mov dword [esp], 0x4ea8c5
call sym.zsh.exe_dupstring
jmp 0x470778
mov edx, dword [esp + 0x48]
test edx, edx
je 0x4716a9
cmp byte [0x522cf6], 0
je 0x46cf96
mov eax, dword [esp + 0x70]
mov edx, 0x4f9393
mov byte [eax], 0
mov eax, dword [esp + 0x110]
cmp byte [eax], 0
mov dword [esp + 4], edi
cmove eax, edx
mov dword [esp], str._s:__s
mov dword [esp + 8], eax
call sym.zsh.exe_zerr
or dword [sym.zsh.exe_errflag], 4
cmp byte [0x522d1f], 0
jne 0x46cf96
call sub.cygwin1.dll_getpid
mov edx, dword [0x522e44]
mov ebx, eax
xor eax, dword [sym.zsh.exe_mypid]
sar ebx, 0x1f
xor edx, ebx
or edx, eax
jne 0x472966
mov dword [esp + 4], 0
mov dword [esp], 1
mov dword [sym.zsh.exe_stopmsg], 1
call sym.zsh.exe_zexit
xor edx, edx
jmp 0x46cf98
mov eax, dword [esp + 0x128]
jmp 0x46fc5f
xor eax, eax
cmp dword [esp + 0x2c], 1
cmovne eax, dword [esp + 0x80]
jmp 0x47095f
mov dword [esp + 8], 1
mov eax, dword [esp + 0x94]
jmp 0x470967
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx]
test eax, eax
je 0x471cee
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x472972
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], 0
jmp 0x46e1df
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9463
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x48], 0
mov dword [esp + 0x118], eax
jmp 0x46eecc
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f945a
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46eebc
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9454
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46eeb0
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f944c
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46eea4
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9444
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee98
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f943e
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee8c
cmp bl, 0x8c
je 0x472c06
mov dword [esp + 0xf0], 0
mov eax, dword [esp + 0x118]
jmp 0x46e168
lea eax, [esp + 0x120]
xor ecx, ecx
mov edx, 0x40
mov dword [esp + 4], eax
lea eax, [esp + 0x114]
mov dword [esp], eax
lea eax, [esp + 0x118]
call fcn.004738d0
test eax, eax
je 0x471e34
cmp bl, 0x8c
je 0x472c06
mov edi, dword [esp + 0x118]
mov ecx, dword [esp + 0x58]
mov eax, edi
mov dword [esp + 0xf0], ecx
jmp 0x46e168
mov eax, 0xffffff90
jmp 0x46e0f1
mov eax, 0xffffff8b
jmp 0x46e0f1
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9439
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee80
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f942f
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee74
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9428
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee68
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9421
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee5c
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9414
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee50
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9406
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee44
mov eax, dword [esp + 0x118]
mov dword [esp + 4], 0x4f9400
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee38
mov dword [esp + 4], 0x4f93f9
mov dword [esp], eax
call sym.zsh.exe_dyncat
mov dword [esp + 0x118], eax
jmp 0x46ee2c
mov eax, dword [esp + 0x114]
mov dword [esp + 0x50], eax
test eax, eax
jne 0x472e46
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym.zsh.exe_gethashnode2
test bl, bl
je 0x472e3c
test eax, eax
sete al
test al, al
je 0x46f19a
jmp 0x46f187
mov eax, dword [esp + 0x70]
mov byte [eax], 0
mov dword [esp + 4], edi
mov dword [esp], str._s:_parameter_not_set
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x110]
mov dword [esp], 0x4f94ca
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
call fcn.0046a4b0
mov dword [esp + 0xd4], eax
jmp 0x46ebf4
mov dword [esp], 0x4f8fb8
mov dword [esp + 0x114], 0
call sym.zsh.exe_dupstring
mov dword [esp + 0x3c], 0
mov dword [esp + 0x118], eax
mov dword [esp + 0x50], 1
jmp 0x46fa91
mov dword [esp], ebx
call sym.zsh.exe_parse_subst_string
or eax, dword [sym.zsh.exe_errflag]
mov dword [sym.zsh.exe_noerrs], esi
je 0x47010a
mov eax, dword [esp + 0x110]
movsx eax, byte [eax - 1]
mov dword [esp], str.parse_error_in__..._c..._substitution
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x48], ecx
mov dword [esp], esi
call sym.zsh.exe_arrlen
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
lea edx, [esi + 4]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x11c], eax
mov edi, eax
mov eax, dword [esi]
lea esi, [esp + 0x12c]
test eax, eax
mov dword [edi], eax
je 0x472bbd
mov dword [esp + 0x48], ebx
mov ebx, edx
mov dword [esp + 0x50], ebp
mov ebp, esi
mov esi, ecx
mov eax, dword [esp + 0x110]
mov dword [esp + 8], esi
add ebx, 4
mov dword [esp + 4], ebp
mov dword [esp + 0x12c], eax
mov eax, edi
add edi, 4
mov dword [esp], eax
call fcn.0046c220
mov eax, dword [ebx - 4]
mov dword [edi], eax
test eax, eax
jne 0x4720d4
mov ecx, esi
mov ebx, dword [esp + 0x48]
mov esi, ebp
mov ebp, dword [esp + 0x50]
cmp edi, dword [esp + 0x11c]
je 0x472bbd
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x110], eax
jmp 0x4715a5
mov dword [esp], eax
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
jmp 0x46fafa
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_strmetasort
jmp 0x46fb66
mov dword [esp], eax
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
jmp 0x46fb49
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
cmp dword [ecx + 8], eax
jae 0x47219c
cmp byte [eax - 1], 0x9e
je 0x472b88
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0xdc]
mov dword [esp], eax
sub ebx, ebp
call sub.cygwin1.dll_strlen
mov edi, eax
test esi, esi
je 0x472b4d
mov dword [esp], esi
call sub.cygwin1.dll_strlen
mov esi, eax
lea eax, [eax + ebx]
lea eax, [edi + eax + 1]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
mov dword [esp + 4], ebp
mov dword [esp], eax
mov dword [esp + 0x128], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x128]
add eax, ebx
mov dword [esp + 0x10c], eax
test esi, esi
je 0x472227
mov edx, dword [esp + 0x11c]
mov edx, dword [edx]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x10c]
add eax, esi
mov dword [esp + 0x10c], eax
mov esi, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x128]
mov esi, dword [esp + 0x44]
mov byte [esp + 0xf4], 0
mov dword [esi + 8], eax
jmp 0x46fda6
mov esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xec]
mov dword [esp + 8], esi
mov esi, dword [esp + 0xd4]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xd0]
mov dword [esp], esi
call fcn.0046a750
mov dword [esp + 0x124], eax
jmp 0x46fbb4
mov ebx, dword [esp + 0x11c]
mov dword [esp], ebx
call sym.zsh.exe_arrlen
lea edx, [ebx + eax*4 - 4]
mov eax, dword [esp + 0x11c]
cmp edx, eax
jbe 0x46fb66
mov ecx, dword [edx]
mov ebx, dword [eax]
sub edx, 4
add eax, 4
mov dword [edx + 4], ebx
mov dword [eax - 4], ecx
cmp edx, eax
ja 0x4722c9
jmp 0x46fb66
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x120]
mov ecx, 0
mov dword [esp + 4], eax
lea eax, [esp + 0x114]
test edx, edx
mov dword [esp], eax
jne 0x472e08
mov edx, 0x20
lea eax, [esp + 0x118]
call fcn.004738d0
mov eax, dword [esp + 0x90]
test eax, eax
jne 0x472d66
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.zsh.exe_setsparam
mov esi, dword [esp + 0x114]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x50], 1
movzx eax, byte [esp + 0x3c]
mov dword [esp + 0x90], esi
mov byte [ecx], al
test esi, esi
je case.0x4700b2.1
jmp 0x47040b
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4701c7
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x50], 1
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], 0
jmp case.0x4700b2.1
movzx eax, byte [ebx]
cmp al, 0x3d
je 0x4723c6
cmp al, 0x8d
jne 0x46f998
lea eax, [ebx + 1]
mov dword [esp + 0x110], eax
jmp 0x470269
mov esi, dword [esp + 0xc8]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0xec]
mov dword [esp + 8], esi
mov esi, dword [esp + 0xd4]
mov dword [esp + 4], esi
mov esi, dword [esp + 0xd0]
mov dword [esp], esi
call fcn.0046a750
mov dword [esp + 0x124], eax
jmp 0x4717f0
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call fcn.0047ea60
mov dword [esp + 0x118], eax
jmp 0x4707f4
mov eax, dword [esp + 0x128]
jmp 0x4718a0
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
jmp 0x46f7ad
test edi, edi
js 0x472840
call sym.zsh.exe_mb_charinit
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
test edx, edx
jns 0x472498
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x472498
sub eax, esi
sbb edx, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x118]
cmp byte [edx], 0
je 0x4724ff
mov eax, esi
or eax, edi
je 0x4724ff
mov dword [esp + 0x5c], edi
mov dword [esp + 0x74], edi
mov edi, ebp
mov ebp, ebx
mov ebx, edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x70], esi
jmp 0x4724c8
mov esi, eax
or esi, edx
je 0x4724f1
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym.zsh.exe_mb_metacharlenconv
add ebx, eax
add dword [esp + 0x58], 0xffffffff
mov eax, dword [esp + 0x58]
adc dword [esp + 0x5c], 0xffffffff
cmp byte [ebx], 0
mov edx, dword [esp + 0x5c]
jne 0x4724c2
mov edx, ebx
mov esi, dword [esp + 0x70]
mov ebx, ebp
mov ebp, edi
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
test eax, eax
je 0x472f43
mov eax, dword [esp + 0x4c]
test eax, eax
js 0x472ed9
cmp byte [edx], 0
je 0x472ed2
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
mov esi, edx
je 0x472ed2
mov edi, ebx
mov ebx, edx
jmp 0x47253c
mov ecx, eax
or ecx, edx
je 0x472565
mov dword [esp], esi
mov dword [esp + 4], 0
call sym.zsh.exe_mb_metacharlenconv
add esi, eax
add dword [esp + 0x48], 0xffffffff
mov eax, dword [esp + 0x48]
adc dword [esp + 0x4c], 0xffffffff
cmp byte [esi], 0
mov edx, dword [esp + 0x4c]
jne 0x472536
mov edx, ebx
mov ebx, edi
sub esi, edx
mov dword [esp], edx
mov dword [esp + 4], esi
call sym.zsh.exe_dupstrpfx
mov dword [esp + 0x118], eax
jmp 0x46f920
mov dword [esp], esi
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
mov esi, eax
jmp 0x46f54f
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x470fbc
mov dword [esp], eax
call sym.zsh.exe_parse_subst_string
or eax, dword [sym.zsh.exe_errflag]
mov dword [sym.zsh.exe_noerrs], ebx
je 0x4719a9
mov dword [esp], str.parse_error_in_parameter_value
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x11c]
test ecx, ecx
jne 0x46f5f9
mov dword [esp], edi
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
mov edi, eax
jmp 0x46f5f9
mov dword [esp + 0x48], 0xffffffff
jmp 0x470092
test ebx, ebx
je 0x471af4
jmp 0x4725c7
cmp dword [esp + 0x48], 1
jne 0x47262e
cmp byte [0x522d6e], 0
je 0x471fb6
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x47013b
mov edi, dword [esp + 0xf0]
mov edx, 0x20
lea ecx, [esp + 0x11c]
test edi, edi
je 0x4701fd
xor ecx, ecx
jmp 0x4701fd
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_sepjoin
mov dword [esp + 0x3c], 0
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], 0
mov dword [esp + 0x120], 0
jmp 0x470b1c
test eax, eax
je 0x472cb2
mov dword [esp + 4], 8
add esi, 4
mov dword [esp], eax
call sym.zsh.exe_quotestring
mov dword [esi - 4], eax
mov eax, dword [esi]
test eax, eax
jne 0x4726bc
jmp 0x470581
test eax, eax
je 0x472cb2
mov dword [esp + 4], 0
add esi, 4
mov dword [esp], eax
call sym.zsh.exe_quotedzputs
mov dword [esi - 4], eax
mov eax, dword [esi]
test eax, eax
jne 0x4726e5
jmp 0x470581
xor ebx, ebx
test eax, eax
je 0x46f353
mov ebx, edi
neg ebx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 8], 0
add esi, 4
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.zsh.exe_mb_metastrlenend
add eax, edi
add ebx, eax
mov eax, dword [esi]
test eax, eax
jne 0x472714
jmp 0x46f353
xor ebx, ebx
test eax, eax
je 0x46f353
add ebx, 1
mov eax, dword [esi + ebx*4]
test eax, eax
jne 0x47274b
jmp 0x46f353
mov dword [esp], eax
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x4711cc
mov dword [esp + 0x118], 0x4f9387
mov eax, 0x4f9387
jmp 0x46ee0f
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
mov ebx, eax
mov eax, dword [eax]
test eax, eax
je 0x4727b2
mov dword [esp], eax
add ebx, 4
call sym.zsh.exe_untokenize
mov eax, dword [ebx]
test eax, eax
jne 0x4727a1
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 4], eax
lea eax, [esp + 0x11c]
mov dword [esp], eax
call fcn.00427fe0
mov dword [esp + 0x50], 1
jmp case.0x4700b2.1
mov edx, 0x10
xor ecx, ecx
jmp 0x4701fd
mov byte [eax], bl
jmp case.0x46d36e.1
call sym.zsh.exe_setaparam
jmp 0x4703ea
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_arrlen
mov dword [esp + 0x34], 0
mov esi, dword [esp + 0x11c]
mov ebx, eax
lea edx, [eax - 1]
lea eax, [eax*4 + 4]
jmp 0x470339
call sym.zsh.exe_mb_charinit
mov edx, dword [esp + 0x118]
cmp byte [edx], 0
je 0x47287c
mov dword [esp + 0x58], ebp
mov ebp, ebx
mov ebx, edx
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym.zsh.exe_mb_metacharlenconv
add ebx, eax
add esi, 1
adc edi, 0
cmp byte [ebx], 0
jne 0x472859
mov ebx, ebp
mov ebp, dword [esp + 0x58]
xor edx, edx
xor eax, eax
mov ecx, edi
cmp esi, edx
sbb ecx, eax
cmovl esi, edx
cmovl edi, eax
jmp 0x472473
mov eax, dword [esp + 0x50]
mov dword [esp], str.invalid_subscript:__s
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
jmp 0x46cf96
cmp dword [esp + 0x50], 0
je case.0x4700b2.1
mov dword [esp], ebx
call sym.zsh.exe_arrdup
mov dword [esp + 0x50], 0
mov dword [esp + 0x11c], eax
jmp case.0x4700b2.1
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x88]
mov byte [eax], 0x24
test ebx, ebx
jne 0x4707e6
jmp 0x47107c
mov dword [sym.zsh.exe_noerrs], ecx
jmp 0x4714a0
mov dword [esp], edx
call sym.zsh.exe_dupstring
jmp 0x46e1f3
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
jmp 0x470e9f
mov eax, dword [esp + 0x11c]
jmp 0x46fae3
mov edi, ecx
jmp 0x46f8cf
xor esi, esi
jmp 0x46ffc3
mov dword [esp + 0x3c], 0x4f8fb8
jmp 0x4712ea
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.zsh.exe_quotedzputs
mov esi, dword [esp + 0x88]
mov dword [esp + 0x118], eax
test esi, esi
jne 0x4707e6
jmp 0x47107c
mov dword [esp], 1
call sub.cygwin1.dll__exit
mov dword [esp], str.parameter_name_reference_used_with_array
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
mov eax, dword [esp + 0x114]
mov dword [esp + 0x118], edx
mov dword [esp + 0x3c], eax
jmp 0x470b1c
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sym.zsh.exe_getsparam
test eax, eax
je 0x472a2d
mov dword [esp], eax
call sym.zsh.exe_hmkarray
mov ebx, eax
test esi, esi
jne 0x4729de
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_hmkarray
mov dword [esp + 0x114], 1
mov dword [esp + 0x11c], eax
test ebx, ebx
jne 0x46ff13
cmp byte [0x522d6e], 0
je 0x472a0f
mov dword [esp], 0x4f8fb8
call sym.zsh.exe_dupstring
mov dword [esp + 0x50], 0
mov dword [esp + 0x118], eax
jmp case.0x4700b2.1
mov eax, dword [esp + 0x110]
mov dword [esp], str._s:_parameter_not_set
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
test esi, esi
jne 0x4729e6
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call sym.zsh.exe_hmkarray
mov dword [esp + 0x114], 1
mov dword [esp + 0x11c], eax
jmp 0x4729e6
mov dword [esp + 0x118], 0x4f9381
mov eax, 0x4f9381
jmp 0x46ee0f
mov dword [esp + 0x118], 0x4f9379
mov eax, 0x4f9379
jmp 0x46ee0f
mov dword [esp + 0x118], 0x4f9373
mov eax, 0x4f9373
jmp 0x46ee0f
mov dword [esp + 0x118], 0x4f936c
mov eax, 0x4f936c
jmp 0x46ee0f
mov ecx, edx
mov edx, eax
sub edx, esi
sbb ecx, edi
add dword [esp + 0x48], edx
adc dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x4c]
test edx, edx
jns 0x46f818
mov eax, dword [esp + 0x48]
mov dword [esp + 8], esi
mov dword [esp], str.substring_expression:__d____d
add eax, esi
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
jmp 0x46cf96
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
jmp 0x46f818
mov dword [esp], ecx
call sym.zsh.exe_arrlen
lea ecx, [eax + 1]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x70], eax
jmp 0x46f7f5
mov dword [esp], ecx
call sym.zsh.exe_arrlen
mov ecx, eax
test edi, edi
jns 0x46f7f5
cdq
add esi, eax
adc edi, edx
xor eax, eax
cmp esi, 0
mov edx, edi
sbb edx, eax
mov edx, 0
cmovl esi, edx
cmovl edi, eax
jmp 0x46f7f5
lea eax, [ebx + eax + 1]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
mov esi, dword [esp + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 0x128], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [esp + 0x128]
add eax, ebx
mov dword [esp + 0x10c], eax
jmp 0x472227
mov eax, dword [esp + 0x8c]
cmp byte [eax], 0x9e
jne 0x47219c
mov ecx, dword [esp + 0x30]
add dword [esp + 0x8c], 1
mov byte [ecx - 1], 0
mov eax, dword [esp + 0x11c]
mov esi, dword [eax]
lea eax, [ecx - 1]
mov dword [esp + 0x30], eax
jmp 0x47219c
mov eax, dword [esp + 0x110]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 0x138], 0x4f8fb8
call fcn.0046c220
jmp 0x47211c
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sym.zsh.exe_shtokenize
jmp 0x47010a
mov dword [esp], 4
mov dword [esp + 0x114], 0xffffffff
call sym.zsh.exe_hcalloc
mov dword [esp + 0xf0], 0
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x118]
jmp 0x46e168
mov eax, dword [esp + 0x70]
mov byte [eax], 0
mov dword [esp + 4], edi
mov dword [esp], str._s:_parameter_not_set
call sym.zsh.exe_zerr
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym.zsh.exe_deletehashtable
xor edx, edx
jmp 0x46cf98
cmp al, 0x3a
jne 0x472c7e
mov eax, dword [esp + 0x8c]
movzx edx, byte [eax + 1]
test byte [edx + edx + 0x523921], 0x10
je 0x472c91
mov dword [esp], str.unrecognized_modifier
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
movsx eax, dl
mov dword [esp], str.unrecognized_modifier___c
mov dword [esp + 4], eax
call sym.zsh.exe_zerr
xor edx, edx
jmp 0x46cf98
xor ebx, ebx
jmp 0x46f353
mov edi, dword [esp + 0x88]
test edi, edi
jne 0x470590
jmp 0x4714bb
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x64]
jne 0x470422
cmp byte [esp + 0x40], 0
je 0x470422
mov ecx, dword [esp + 0x90]
test ecx, ecx
jle 0x472cf4
cmp dword [esp + 0x34], 2
jne 0x472d01
mov dword [esp + 0x64], 0
jmp 0x470422
mov eax, dword [esp + 0x94]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_sepjoin
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], eax
jmp 0x472cf4
mov dword [esp + 4], eax
mov dword [esp], str.invalid_length:__s
call sym.zsh.exe_zerr
jmp 0x46cf96
mov dword [esp + 0x138], 0
xor ebx, ebx
or edx, 0xffffffff
mov eax, 4
jmp 0x47032b
mov esi, dword [esp + 0x80]
test esi, esi
je 0x4702e0
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
call fcn.0047d6a0
cmp dword [esp + 0x2c], 1
mov edx, 1
mov dword [esp], eax
adc edx, 0
mov dword [esp + 0x11c], eax
mov dword [esp + 0x114], edx
call sym.zsh.exe_arrlen
mov esi, dword [esp + 0x11c]
mov ebx, eax
test eax, eax
je 0x472df9
mov eax, dword [esi + eax*4 - 4]
cmp byte [eax], 0
jne 0x472ddd
sub ebx, 1
je 0x472df9
mov eax, dword [esi]
cmp byte [eax], 0
jne 0x472df9
lea edx, [ebx - 2]
lea eax, [ebx*4]
add esi, 4
sub ebx, 1
jmp 0x470339
lea edx, [ebx - 1]
lea eax, [ebx*4 + 4]
jmp 0x470339
mov edx, 4
lea eax, [esp + 0x118]
call fcn.004738d0
mov eax, dword [esp + 0x90]
test eax, eax
je 0x472328
jmp 0x472d75
mov edx, 0xef7feafa
sar edx, cl
and edx, 1
jmp 0x46f644
test eax, eax
setne al
jmp 0x471fa9
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sym.zsh.exe_arrdup
mov dword [esp + 0x11c], eax
mov edx, eax
mov eax, dword [eax]
test eax, eax
je 0x472ebf
mov dword [esp + 0x50], ebp
mov esi, edx
mov ebp, edi
mov edi, ebx
mov ebx, edx
jmp 0x472e90
test eax, eax
sete al
test al, al
je 0x472e86
cmp ebx, esi
je 0x472e83
mov eax, dword [esi]
mov dword [ebx], eax
add ebx, 4
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
je 0x472eb7
mov dword [esp], eax
call sym.zsh.exe_untokenize
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sym.zsh.exe_gethashnode2
mov ecx, edi
test cl, cl
je 0x472e72
test eax, eax
setne al
jmp 0x472e77
mov edi, ebp
mov ebp, dword [esp + 0x50]
mov edx, ebx
mov dword [edx], 0
mov dword [esp + 0x50], 1
jmp 0x46f19a
mov esi, edx
jmp 0x472569
mov dword [esp + 0x70], edx
call sym.zsh.exe_mb_charinit
mov ecx, dword [esp + 0x118]
cmp byte [ecx], 0
je 0x472ac8
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x54], edi
mov edi, ebx
mov ebx, ecx
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym.zsh.exe_mb_metacharlenconv
add ebx, eax
add dword [esp + 0x48], 1
adc dword [esp + 0x4c], 0
cmp byte [ebx], 0
jne 0x472f06
cmp dword [esp + 0x4c], 0
mov edx, ebp
mov esi, dword [esp + 0x50]
mov ebx, edi
mov ebp, dword [esp + 0x58]
jns 0x472517
jmp 0x472ac8
mov dword [esp], edx
call sym.zsh.exe_dupstring
mov dword [esp + 0x118], eax
jmp 0x46f920