Function at 0x4024c0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xb0c
mov eax, dword [ebp + 0xc]
movzx ebx, byte [eax]
cmp bl, 0x5c
sete al
cmp bl, 0x2f
sete dl
or eax, edx
test al, 1
jne 0x4027f5
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call sub.cygwin1.dll_strlen
cmp eax, 3
ja 0x402702
cmp bl, 0x2e
jne 0x40251c
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 1]
cmp al, 0x5c
sete dl
cmp al, 0x2f
sete al
or eax, edx
test al, 1
jne 0x402953
mov dword [esp], str.PATH
call sub.cygwin1.dll_getenv
mov dword [esp], eax
mov esi, eax
call sub.cygwin1.dll_strlen
mov edx, dword [ebp + 0x10]
mov ebx, eax
mov dword [esp], edx
call sub.cygwin1.dll_strlen
lea eax, [ebx + eax + 4]
mov dword [esp], eax
call sub.cygwin1.dll_malloc
test eax, eax
mov ebx, eax
je 0x402a4c
mov word [ebx], 0x2e
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov word [ebx + eax], 0x3a
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcat
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
mov word [ebx + eax], 0x3a
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp], ebx
call sub.cygwin1.dll_strcat
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x288]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_strcpy
mov eax, dword [esi*4 + section..data]
lea edx, [ebp - 0x288]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcat
mov dword [esp + 8], ebx
lea edx, [ebp - 0x4f8]
lea eax, [ebp - 0x288]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004023c0
mov dword [esp], 0
lea eax, [ebp - 0x4f8]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
call fcn.00402170
test eax, eax
jne 0x40260a
mov byte [ebp - 0x4f8], 0
inc esi
cmp esi, 1
jle 0x402593
mov dword [esp], ebx
call sub.cygwin1.dll_free
cmp byte [ebp - 0x4f8], 0
jne 0x402670
xor edi, edi
xor esi, esi
mov eax, dword [esi*4 + section..data]
lea ebx, [esi + 1]
mov esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, str.___d_:__s_n
mov dword [esp + 4], eax
lea eax, [ebp - 0x768]
add eax, edi
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
add edi, eax
cmp ebx, 1
jle 0x40261f
lea edx, [ebp - 0x768]
mov dword [esp + 8], edx
mov eax, dword [ebp + 0xc]
mov dword [esp], str.Couldnt_find__s_anywhere._nI_even_looked_in_the_PATH__nI_also_tried_appending_the_following_extensions:__n_s
mov dword [esp + 4], eax
call fcn.00401580
lea edx, [ebp - 0x4f8]
lea eax, [ebp - 0x288]
mov dword [esp + 4], edx
lea ebx, [ebp - 0x8d8]
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov dword [esp + 4], ebx
lea edx, [ebp - 0x288]
mov dword [esp], edx
call sub.cygwin1.dll_cygwin_conv_to_posix_path
mov dword [esp], ebx
lea eax, [ebp - 0x7c8]
mov dword [esp + 4], eax
call sub.cygwin1.dll__lstat64
test eax, eax
jne 0x4027c5
mov eax, dword [ebp - 0x7b8]
and eax, 0xa000
cmp eax, 0xa000
je 0x4028a0
mov dword [esp + 4], ebx
lea eax, [ebp - 0x4f8]
mov dword [esp], eax
call sub.cygwin1.dll_strcpy
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x4f8]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_cygwin_conv_to_full_win32_path
add esp, 0xb0c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0xc]
cmp byte [eax + 1], 0x3a
jne 0x4024fc
movzx eax, byte [eax + 2]
cmp al, 0x5c
sete dl
cmp al, 0x2f
sete al
or eax, edx
test al, 1
je 0x4024fc
mov eax, dword [ebp + 0xc]
lea edx, [ebp - 0x288]
xor edi, edi
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_strcpy
mov dword [esp + 4], edi
mov eax, 2
lea edx, [ebp - 0x4f8]
mov dword [esp + 0x10], eax
mov eax, section..data
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x288]
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.00402310
test eax, eax
jne 0x402670
xor edi, edi
xor esi, esi
mov eax, dword [esi*4 + section..data]
lea ebx, [esi + 1]
mov esi, str.___d_:__s_n
mov dword [esp + 4], esi
mov esi, ebx
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x768]
add eax, edi
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
add edi, eax
cmp ebx, 1
jle 0x402778
lea eax, [ebp - 0x768]
lea edx, [ebp - 0x288]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
jmp 0x40288e
mov dword [esp + 4], ebx
mov dword [esp], str.cant_locate_executable____s
call fcn.00401580
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x4f8]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_cygwin_conv_to_full_win32_path
add esp, 0xb0c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x288]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_strcpy
mov eax, 2
lea edx, [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, section..data
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x4f8]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00402310
test eax, eax
jne 0x402670
xor edi, edi
xor esi, esi
mov eax, dword [esi*4 + section..data]
lea ebx, [esi + 1]
mov esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, str.___d_:__s_n
mov dword [esp + 4], eax
lea eax, [ebp - 0x768]
add eax, edi
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
add edi, eax
cmp ebx, 1
jle 0x402846
lea edx, [ebp - 0x768]
lea eax, [ebp - 0x288]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.Couldnt_locate__s_nI_tried_appending_the_following_extensions:__n_s
jmp 0x40266b
mov dword [esp], ebx
mov esi, 0x105
mov dword [esp + 8], esi
lea esi, [ebp - 0x9e8]
mov dword [esp + 4], esi
call sub.cygwin1.dll_readlink
inc eax
je 0x402a6f
cmp byte [ebp - 0x9e8], 0x2f
je 0x402a5d
mov dword [esp], ebx
lea eax, [ebp - 0xaf8]
mov dword [esp + 8], eax
lea eax, [ebp - 0x4f8]
mov dword [esp + 4], eax
call sub.cygwin1.dll_cygwin_split_path
mov ecx, 0x405222
lea edx, [ebp - 0x4f8]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00401520
test eax, eax
jne 0x402921
lea eax, [ebp - 0x4f8]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov edx, 0x2f
mov word [ebp + eax - 0x4f8], dx
mov dword [esp + 4], esi
lea edx, [ebp - 0x4f8]
mov dword [esp], edx
call sub.cygwin1.dll_strcat
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x4f8]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.cygwin1.dll_cygwin_conv_to_full_win32_path
add esp, 0xb0c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 0x104
lea eax, [ebp - 0x288]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.cygwin1.dll_getcwd
test eax, eax
je 0x402a8a
mov edx, 2
mov eax, section..data
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x288]
mov dword [esp + 0xc], eax
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x4f8]
mov dword [esp + 4], edx
mov dword [esp], eax
add ebx, 2
mov dword [esp + 8], ebx
call fcn.00402310
test eax, eax
jne 0x402670
mov dword [esp + 8], ebx
mov eax, 2
mov dword [esp + 0x10], eax
mov eax, section..data
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x10]
lea eax, [ebp - 0x4f8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00402310
test eax, eax
jne 0x402670
xor edi, edi
xor esi, esi
mov eax, dword [esi*4 + section..data]
lea ebx, [esi + 1]
mov esi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, str.___d_:__s_n
mov dword [esp + 4], eax
lea eax, [ebp - 0x768]
add eax, edi
mov dword [esp], eax
call sub.cygwin1.dll_sprintf
add edi, eax
cmp ebx, 1
jle 0x4029e5
lea edx, [ebp - 0x768]
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x288]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], str.Couldnt_locate__s_nI_looked_in_the_following_directories:_n__1_:__s_n__2_:__s_nI_also_tried_appending_the_following_extensions:__n_s
mov dword [esp + 4], eax
call fcn.00401580
jmp 0x402670
mov dword [esp], str.internal_error___out_of_memory
call fcn.00401580
jmp 0x402555
mov dword [esp + 4], esi
lea edx, [ebp - 0x4f8]
mov dword [esp], edx
jmp 0x4026dd
mov dword [esp], str.problem_reading_symbolic_link_for__s
lea eax, [ebp - 0x288]
mov dword [esp + 4], eax
call fcn.00401580
jmp 0x4027d5
mov dword [esp], str.cant_find_current_working_directory
call fcn.00401580
jmp 0x402972