Function at 0x420160
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x9038
call fcn.004e6390
sub esp, eax
mov esi, ecx
mov eax, dword [esp + eax]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [eax]
cmp byte [0x522d5c], 0
mov ebx, dword [eax + 8]
je 0x4201c0
mov dword [esp + 4], 0x2f
mov dword [esp], ebx
call sub.cygwin1.dll_strchr
or eax, esi
je 0x420478
mov dword [esp + 4], ebx
mov dword [esp], 0x4f1d90
call sym.zsh.exe_zerr
mov dword [esp], 1
call sub.cygwin1.dll__exit
mov ebp, dword [0x5212f0]
test ebp, ebp
je 0x4203f5
mov dword [esp], 0
call sub.cygwin1.dll_isatty
test eax, eax
jne 0x420675
mov dword [esp], ebp
mov dword [0x5212f0], 0
call sym.zsh.exe_zsfree
cmp byte [0x522d5c], 0
je 0x4203f5
test byte [esp + 0x14], 0x40
jne 0x420644
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call sym.zsh.exe_countlinknodes
lea eax, [eax*4 + 0x10]
mov dword [esp], eax
call sym.zsh.exe_hcalloc
add eax, 8
cmp byte [0x522d73], 0
mov dword [esp + 0x18], eax
je 0x42042f
cmp dword [0x5212f4], 0
je 0x4206e2
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edi, dword [eax]
test edi, edi
jne 0x42027b
jmp 0x42029c
mov eax, dword [0x523b74]
mov dword [esp], 0x20
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
mov edi, dword [edi]
test edi, edi
je 0x42029c
mov eax, dword [edi + 8]
mov edx, dword [0x523b74]
add ebp, 4
mov dword [ebp - 4], eax
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.zsh.exe_quotedzputs
mov eax, dword [edi]
test eax, eax
jne 0x420260
mov eax, dword [0x523b74]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
mov eax, dword [0x523b74]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov dword [ebp], 0
mov edx, 0x5212ec
mov eax, 0
test dword [esp + 0x14], 0x10000
mov dword [esp + 4], 0
cmovne eax, edx
mov dword [esp], 4
mov ebp, eax
call sym.zsh.exe_closem
mov eax, dword [sym.zsh.exe_sigchld_mask]
mov dword [esp], eax
call sym.zsh.exe_signal_unblock
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
cmp eax, 0xfff
ja 0x42045c
movzx eax, byte [ebx]
mov edi, ebx
test al, al
jne 0x42032b
jmp 0x42035a
movzx eax, byte [edi + 1]
add edi, 1
test al, al
je 0x42035a
cmp al, 0x2f
jne 0x420320
mov edx, dword [esp + 0x18]
mov ecx, ebp
mov eax, ebx
call fcn.004155d0
cmp ebx, edi
je 0x42054e
cmp byte [0x522d40], 0
je 0x42054e
cmp byte [ebx], 0x2e
je 0x420532
test esi, esi
jne 0x42048b
mov eax, dword [sym.zsh.exe_cmdnamtab]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [eax + 0x24]
mov edi, eax
test eax, eax
je 0x42086f
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
and eax, 2
mov dword [esp + 0x1c], eax
jne 0x420884
mov esi, dword [sym.zsh.exe_path]
cmp edx, esi
jbe 0x42070e
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x18]
jmp 0x4203c1
cmp al, 0x2e
je 0x4205b8
cmp al, 0x2f
jne 0x4205c2
add esi, 4
cmp edx, esi
jbe 0x42070a
mov ecx, dword [esi]
movzx eax, byte [ecx]
test al, al
jne 0x4203a6
mov ecx, ebp
mov edx, edi
mov eax, ebx
call fcn.004155d0
cmp eax, 0xd
je 0x420616
cmp eax, 2
je 0x4203ec
cmp eax, 0x14
je 0x4203ec
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xc]
jmp 0x4203b6
mov dword [esp], str.ARGV0
call sym.zsh.exe_zgetenv
mov dword [esp + 0x28], eax
test eax, eax
je 0x420201
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx]
mov dword [esp], eax
call sym.zsh.exe_ztrdup
mov dword [ebp + 8], eax
mov dword [esp], str.ARGV0
call sub.cygwin1.dll_unsetenv
jmp 0x42020c
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x4202be
lea esi, [esi]
mov edx, dword [eax + 8]
mov eax, dword [eax]
add ebp, 4
mov dword [ebp - 4], edx
test eax, eax
jne 0x420448
jmp 0x4202be
mov dword [esp + 4], ebx
mov dword [esp], str.command_too_long:__s
call sym.zsh.exe_zerr
mov dword [esp], 1
call sub.cygwin1.dll__exit
mov ebp, dword [0x5212f0]
test ebp, ebp
je 0x420201
jmp 0x4201ce
lea edi, [esp + 0x102e]
mov ecx, 0x1000
mov eax, ebx
mov edx, edi
call fcn.00417700
test eax, eax
je 0x42089d
mov edx, dword [esp + 0x18]
mov ecx, ebp
mov eax, edi
call fcn.004155d0
mov dword [esp + 4], 0x2f
mov dword [esp], edi
mov esi, eax
call sub.cygwin1.dll_strrchr
test eax, eax
je 0x4204ce
mov byte [eax], 0
cmp byte [esp + 0x102e], 0
mov eax, 0x4f1bc6
cmove edi, eax
cmp esi, 0xd
je 0x420581
cmp esi, 2
je 0x420599
cmp esi, 0x14
je 0x420599
test esi, esi
je 0x420599
cmp esi, 8
mov dword [esp + 8], ebx
sete al
cmp esi, 0xd
mov dword [esp + 4], esi
sete dl
mov dword [esp], 0x4f2015
or eax, edx
mov edi, eax
call sym.zsh.exe_zerr
mov eax, edi
test al, al
je 0x420574
mov eax, 0x7e
jmp 0x420579
lea edx, [ebx + 1]
cmp edi, edx
je 0x42054e
cmp byte [ebx + 1], 0x2e
jne 0x42035a
lea edx, [ebx + 2]
cmp edi, edx
jne 0x42035a
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp], 0x4f2015
mov dword [esp + 0x10], eax
call sym.zsh.exe_zerr
mov eax, dword [esp + 0x10]
cmp eax, 0xd
je 0x42052b
cmp eax, 8
je 0x42052b
mov eax, 0x7f
mov dword [esp], eax
call sub.cygwin1.dll__exit
mov dword [esp + 4], 1
mov dword [esp], edi
call sub.cygwin1.dll_access
test eax, eax
je 0x420501
mov edx, dword [esp + 0x10]
mov eax, ebx
call fcn.004200f0
test eax, eax
jne 0x4206ec
call fcn.00412a10
mov eax, 0x7f
jmp 0x420579
cmp byte [ecx + 1], 0
je 0x4203ca
lea eax, [esp + 0x102e]
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
lea eax, [esp + 0x28]
mov dword [esp], eax
call sym.zsh.exe_strucpy
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
mov dword [esp + 0x28], edx
mov byte [eax], 0x2f
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov ecx, ebp
mov edx, edi
lea eax, [esp + 0x102e]
call fcn.004155d0
cmp eax, 0xd
jne 0x4203de
mov dword [esp + 4], 1
mov eax, dword [esi]
mov dword [esp], eax
call sub.cygwin1.dll_access
test eax, eax
jne 0x4203ec
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], 0xd
mov edx, dword [eax + 0xc]
jmp 0x4203b6
lea ebp, [esp + 0x502f]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4f22b8
mov dword [esp], ebp
call sub.cygwin1.dll_sprintf
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov dword [esp], ebp
call sym.zsh.exe_ztrdup
mov dword [edi + 8], eax
jmp 0x42020c
call sub.cygwin1.dll_getpgrp
mov edi, eax
call sub.cygwin1.dll_getpid
cmp edi, eax
jne 0x4201e2
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x4f22ab
mov dword [esp], str.stty
call sym.zsh.exe_tricat
mov dword [esp], ebp
mov dword [0x5212f0], 0
mov edi, eax
call sym.zsh.exe_zsfree
mov dword [esp + 0xc], str.stty
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], edi
call sym.zsh.exe_execstring
mov dword [esp], edi
call sym.zsh.exe_zsfree
jmp 0x4201f4
call fcn.0047a5b0
jmp 0x420248
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov dword [esp], str._s:_command_not_found._nYou_can_try_to_install_this_tool_by_using_the_following_command:_apt_get_install__s
call sym.zsh.exe_zerr
mov eax, 0x7f
jmp 0x420579
mov edi, dword [esp + 0x14]
test edx, edx
je 0x4208cc
mov eax, dword [edx]
mov dword [esp + 4], eax
lea eax, [esp + 0x2d]
mov dword [esp], eax
mov dword [esp + 0x14], eax
call sub.cygwin1.dll_stpcpy
mov word [eax], 0x2f
mov edx, dword [edi + 4]
add eax, 1
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_strcpy
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, ebp
mov eax, edi
call fcn.004155d0
mov dword [esp + 4], 0x2f
mov dword [esp], edi
mov dword [esp + 0x1c], eax
call sub.cygwin1.dll_strrchr
mov edx, dword [esp + 0x1c]
test eax, eax
je 0x420777
mov byte [eax], 0
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x2d], 0
mov eax, 0x4f1bc6
cmove edi, eax
cmp edx, 0xd
je 0x4208d6
cmp edx, 2
je 0x42079c
cmp edx, 0x14
cmovne esi, edx
mov edi, dword [sym.zsh.exe_path]
mov eax, dword [edi]
test eax, eax
je 0x4204f9
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
jmp 0x4207e7
cmp byte [eax + 1], 0
jne 0x4207f3
mov ecx, ebp
mov edx, esi
mov eax, ebx
call fcn.004155d0
cmp eax, 0xd
je 0x420843
cmp eax, 2
je 0x4207dd
cmp eax, 0x14
cmove eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 4]
add edi, 4
test eax, eax
je 0x420866
movzx edx, byte [eax]
test dl, dl
je 0x4207bc
cmp dl, 0x2e
je 0x4207b6
lea eax, [esp + 0x102e]
mov dword [esp + 0x28], eax
mov eax, dword [edi]
mov dword [esp + 4], eax
lea eax, [esp + 0x28]
mov dword [esp], eax
call sym.zsh.exe_strucpy
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
mov dword [esp + 0x28], edx
mov byte [eax], 0x2f
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov ecx, ebp
mov edx, esi
lea eax, [esp + 0x102e]
call fcn.004155d0
cmp eax, 0xd
jne 0x4207cc
mov dword [esp + 4], 1
mov eax, dword [edi]
mov dword [esp], eax
call sub.cygwin1.dll_access
test eax, eax
jne 0x4207dd
mov dword [esp + 0x14], 0xd
jmp 0x4207dd
mov esi, dword [esp + 0x14]
jmp 0x4204f9
mov edi, dword [sym.zsh.exe_path]
mov eax, dword [edi]
test eax, eax
jne 0x4207ac
jmp 0x420599
lea eax, [esp + 0x2d]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x14], eax
call sub.cygwin1.dll_strcpy
jmp 0x420747
mov edx, dword [esp + 0x10]
mov eax, ebx
call fcn.004200f0
test eax, eax
je 0x420920
mov dword [esp + 8], ebx
mov dword [esp + 4], ebx
mov dword [esp], str._s:_command_not_found._nYou_can_try_to_install_this_tool_by_using_the_following_command:_apt_get_install__s
call sym.zsh.exe_zerr
mov dword [esp], 0x7f
call sub.cygwin1.dll__exit
mov eax, 0x4f1bc5
jmp 0x420718
mov dword [esp + 4], 1
mov dword [esp], edi
call sub.cygwin1.dll_access
test eax, eax
jne 0x42079c
mov edi, dword [sym.zsh.exe_path]
mov esi, 0xd
mov eax, dword [edi]
test eax, eax
jne 0x4207ac
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xd
mov dword [esp], 0x4f2015
call sym.zsh.exe_zerr
jmp 0x42052b
call fcn.00412a10
jmp 0x4208ac