Function at 0x416640
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], edx
mov dword [ebp - 0x14], eax
call fcn.00401720
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
movzx eax, byte [ecx]
test al, al
je 0x4166e3
lea esi, [esi]
cmp al, 0x40
je 0x4166f0
cmp al, 0x25
je 0x416748
xor esi, esi
test al, al
je 0x4166ae
mov edi, dword [ebp - 0x1c]
movzx edx, byte [edi]
nop
lea esi, [esi]
cmp dl, 0x40
sete al
cmp dl, 0x25
sete dl
or eax, edx
test al, 1
jne 0x4166ae
mov eax, dword [ebp - 0x1c]
inc esi
movzx edx, byte [eax + esi]
test dl, dl
jne 0x416690
mov dword [esp + 4], esi
mov edx, dword [ebp - 0x1c]
mov dword [esp], str._.s
mov dword [esp + 8], edx
call sub.cygwin1.dll_printf
mov ecx, dword [ebp - 0x1c]
lea esi, [ecx + esi - 1]
mov dword [ebp - 0x1c], esi
inc dword [ebp - 0x1c]
mov dword [ebp + 0x14], 0
mov edi, dword [ebp - 0x1c]
movzx eax, byte [edi]
test al, al
jne 0x416670
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
inc dword [ebp - 0x1c]
mov eax, 0x439780
mov edx, dword [str.aextended_attribute]
mov edi, dword [ebp - 0x1c]
test edx, edx
movzx ebx, byte [edi]
je 0x416799
mov ecx, edx
nop
cmp byte [ecx], bl
je 0x41679f
add eax, 4
mov ecx, dword [eax]
test ecx, ecx
jne 0x416710
test ecx, ecx
setne al
xor edx, edx
cmp dword [ebp + 0x18], 9
setle dl
test eax, edx
jne 0x4167b1
mov dword [esp], 0x440477
movsx eax, bl
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx + 1]
cmp al, 0x49
je 0x416835
cmp al, 0x44
je 0x416861
inc dword [ebp - 0x1c]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x1c]
test edx, edx
movzx eax, byte [edi]
je 0x416781
movsx eax, al
lea edx, [eax - 0x25]
cmp edx, 0x4e
ja case.0x41677a.38
jmp dword [edx*4 + 0x440534]
movsx eax, al
mov dword [esp + 4], eax
mov dword [esp], str.___c
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov ecx, dword [str.aextended_attribute]
test ecx, ecx
setne al
xor edx, edx
cmp dword [ebp + 0x18], 9
setle dl
test eax, edx
je 0x416733
mov dword [esp], ecx
call fcn.00432230
mov edx, dword [ebp + 0x14]
mov ecx, eax
lea eax, [eax + 1]
mov dword [ebp - 0x18], eax
test edx, edx
je 0x41680b
movsx eax, byte [ecx + 1]
mov esi, dword [sym.imp.cygwin1.dll__ctype_]
test byte [esi + eax + 1], 2
je 0x41680b
mov dword [ebp + 0x14], 0
lea edx, [ecx + 2]
mov dword [ebp - 0x18], edx
movsx ebx, byte [ecx + 1]
test byte [esi + ebx + 1], 2
je 0x4167f4
sub ebx, 0x20
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
mov edx, dword [ebp + 0x14]
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x18]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00416640
jmp 0x4166cf
mov ebx, dword [ebp + 0x10]
add edx, 2
mov dword [ebp - 0x1c], edx
movzx eax, byte [edx]
test ebx, ebx
je 0x41688e
mov ecx, dword [ebp + 0x10]
movsx edx, al
mov ebx, dword [ecx + 0x10]
test ebx, ebx
je case.0x41685a.71
lea eax, [edx - 0x46]
cmp eax, 0x2f
ja case.0x41685a.71
jmp dword [eax*4 + 0x440670]
add dword [ebp - 0x1c], 2
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
test ecx, ecx
movzx edx, byte [eax]
je 0x4168a6
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x14]
movsx ecx, dl
test eax, eax
je case.0x416887.106
lea edx, [ecx - 0x69]
cmp edx, 0xb
ja case.0x416887.106
jmp dword [edx*4 + 0x440730]
movsx edx, al
mov dword [esp + 4], edx
mov dword [esp], str.__I_c
call sub.cygwin1.dll_printf
jmp 0x4166cf
movsx ecx, dl
mov dword [esp + 4], ecx
mov dword [esp], str.__D_c
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x38]
test eax, eax
jne 0x4168cd
mov eax, str.NULL
mov dword [esp + 4], eax
mov dword [esp], 0x440491
call sub.cygwin1.dll_printf
jmp 0x4166cf
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 8]
mov dword [esp], 0x25
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
jmp 0x4166cf
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov dword [esp], str._lld
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], str._llu
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 8]
xor ecx, ecx
test eax, eax
je 0x416954
mov ecx, dword [eax]
mov dword [esp], ecx
jmp 0x416965
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
mov eax, dword [ebp - 0x14]
call fcn.00416570
jmp 0x4166cf
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x30]
mov edx, dword [ecx + 0x34]
mov dword [esp], str.0x_llx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 0x4404a5
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov dword [esp], 0
xor edi, edi
xor esi, esi
mov dword [esp + 0xc], edi
mov edi, dword [ebp - 0x14]
mov dword [esp + 8], esi
mov dword [esp + 4], edi
call fcn.00414d00
jmp 0x41699a
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + 0x1c]
jmp 0x41699a
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0xc]
jmp 0x41699a
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x28]
mov dword [esp + 4], eax
mov dword [esp], 0x4404a8
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + 4]
jmp 0x41699a
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 8]
jmp 0x41699a
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov dword [esp], eax
call fcn.0042cbd0
jmp 0x4168cd
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov dword [esp], 0
jmp 0x416965
mov edi, dword [ebp + 0x10]
mov edx, dword [edi + 0xc]
jmp 0x416a23
movzx eax, byte [eax + 7]
jmp 0x41699a
movzx eax, word [eax + 4]
jmp 0x41699a
movzx edx, byte [eax + 6]
cmp edx, 0xff
jle 0x416a5a
mov edx, 0xff
movzx ecx, word [eax + 4]
cmp ecx, edx
jge 0x416a64
mov edx, ecx
add eax, 8
call fcn.004164a0
jmp 0x4166cf
movzx eax, byte [eax + 6]
jmp 0x41699a
mov eax, dword [eax]
jmp 0x41699a
movzx edx, word [ebx + 2]
movzx eax, word [ebx + 0x78]
shl eax, 0x10
or edx, eax
mov dword [esp + 4], edx
jmp 0x4169ea
movzx eax, word [ebx]
and eax, 0xf000
cmp eax, 0x8000
je 0x416c4a
cmp eax, 0x4000
je 0x416c41
cmp eax, 0x2000
je 0x416c38
cmp eax, 0x6000
je 0x416c53
cmp eax, 0x1000
je 0x416c65
cmp eax, 0xa000
je 0x416c5c
cmp eax, 0xc000
je 0x416c1f
mov dword [esp], str.unknown_file_type_with_mode_0_o
call fcn.00432230
movzx edx, word [ebx]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_printf
jmp 0x4166cf
movzx eax, word [ebx]
and eax, 0xf000
cmp eax, 0x4000
je 0x416c17
mov ecx, dword [ebx + 0x6c]
xor edx, edx
mov eax, dword [ebx + 4]
mov ebx, ecx
xor ecx, ecx
or edx, ebx
or eax, ecx
jmp 0x41692a
movzx eax, word [ebx + 0x1a]
jmp 0x4169e6
movzx edx, word [ebx + 0x18]
movzx eax, word [ebx + 0x7a]
jmp 0x416a89
movzx eax, word [ebx]
mov dword [esp], 0x4404cc
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov eax, dword [ebx + 0x68]
jmp 0x41699a
movzx eax, word [ebx]
xor edx, edx
and eax, 0xf000
cmp eax, 0x4000
je 0x416bf7
mov dword [esp + 4], edx
jmp 0x41699e
mov eax, dword [ebx + 0x1c]
jmp 0x41699a
movzx eax, word [ebx + 0x80]
jmp 0x41699a
mov dword [esp], 0x4404d0
call sub.cygwin1.dll_getenv
test eax, eax
je 0x416c10
cld
mov edx, 0x4404d3
mov esi, eax
mov edi, edx
mov ecx, 4
mov eax, dword [ebx + 0x10]
repe cmpsb byte [esi], byte es:[edi]
sete dl
test dl, 1
mov dword [ebp - 0x10], eax
je 0x416c03
lea eax, [ebp - 0x10]
mov dword [esp], eax
call sub.cygwin1.dll_gmtime
mov dword [esp], eax
call sub.cygwin1.dll_asctime
mov dword [esp + 4], eax
mov dword [esp], str._.24s
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov eax, dword [ebx + 0x70]
jmp 0x41699a
mov edx, dword [ebx + 0x6c]
mov dword [esp + 4], edx
jmp 0x41699e
lea eax, [ebp - 0x10]
mov dword [esp], eax
call sub.cygwin1.dll_localtime
jmp 0x416bd2
mov eax, 0x4404dd
jmp 0x416ba8
mov eax, dword [ebx + 4]
jmp 0x41699a
mov dword [esp], str.socket
call fcn.00432230
mov dword [esp], eax
call sub.cygwin1.dll_printf
jmp 0x4166cf
mov dword [esp], str.character_device
jmp 0x416c26
mov dword [esp], str.directory
jmp 0x416c26
mov dword [esp], str.regular_file
jmp 0x416c26
mov dword [esp], str.block_device
jmp 0x416c26
mov dword [esp], str.symbolic_link
jmp 0x416c26
mov dword [esp], str.named_pipe
jmp 0x416c26