Function at 0x40ad80
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x22c
mov dword [esp], edx
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x208], eax
call sub.cygwin1.dll_strlen
mov esi, dword [ebp - 0x210]
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0x40
and esi, 0x40
mov dword [ebp - 0x214], eax
sete al
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x208]
mov dword [esp], eax
call fcn.0040aae0
test eax, eax
je 0x40afa3
mov ebx, dword [ebp - 0x210]
and ebx, 0x200
jne 0x40b43a
mov ecx, dword [ebp - 0x20c]
mov dword [esp], ecx
call sub.cygwin1.dll_opendir
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x204]
test edx, edx
je 0x40b3b8
test ebx, ebx
mov dword [ebp - 0x1ec], 0xffffffff
jne 0x40ae3f
mov eax, dword [ebp - 0x204]
mov dword [esp], eax
call sub.cygwin1.dll_dirfd
mov dword [ebp - 0x1ec], eax
movzx eax, byte [ebp - 0x210]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0x108
mov dword [ebp - 0x1f0], 0
and eax, 0xffffff80
cmp al, 1
sbb edx, edx
xor eax, eax
and edx, 4
test esi, esi
setne al
or dword [ebp - 0x210], 0x100
or edx, eax
mov ecx, dword [ebp - 0x210]
lea esi, [ebp - 0x1d8]
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x200], esi
and ecx, 0x200
and eax, 0x2000
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x1e4]
test eax, eax
jne 0x40b3a2
mov esi, dword [ebp - 0x204]
mov dword [esp], esi
call sub.cygwin1.dll_readdir
mov ebx, eax
test ebx, ebx
je 0x40b250
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x40af02
movzx eax, byte [ebx + 0xc]
cmp al, 4
je 0x40af02
test al, al
je 0x40af02
cmp al, 0xa
jne 0x40aec2
mov eax, dword [ebp - 0x1e8]
lea esi, [ebx + 0x14]
mov edx, dword [ebp - 0x208]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], edx
call sub.cygwin1.dll_fnmatch
test eax, eax
jne 0x40aec2
movzx eax, byte [ebx + 0xc]
test al, al
je 0x40b180
cmp al, 0xa
je 0x40b180
mov ecx, dword [ebp - 0x200]
mov edi, dword [ecx + 4]
cmp edi, dword [ebp - 0x1f0]
je 0x40b1b0
mov edi, dword [ebp - 0x1f0]
mov dword [esp], esi
call sub.cygwin1.dll_strlen
mov ebx, eax
lea eax, [eax + 1]
mov dword [esp], eax
call sub.cygwin1.dll_malloc
mov ecx, dword [ebp - 0x200]
test eax, eax
mov dword [ecx + edi*4 + 8], eax
je 0x40b10b
add edi, 1
mov dword [ebp - 0x1f0], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.cygwin1.dll_mempcpy
mov byte [eax], 0
add dword [ebp - 0x1f8], 1
jmp 0x40aec2
test dword [ebp - 0x210], 0x810
jne 0x40b170
mov edx, dword [ebp - 0x208]
mov dword [esp], edx
call sub.cygwin1.dll_strlen
mov ecx, dword [ebp - 0x214]
mov esi, eax
lea eax, [ecx + eax + 0x20]
and eax, 0xfffffff0
call fcn.00412940
mov eax, dword [ebp - 0x20c]
lea ebx, [esp + 0x1f]
and ebx, 0xfffffff0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.cygwin1.dll_mempcpy
lea edx, [esi + 1]
mov byte [eax], 0x2f
add eax, 1
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x208]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.cygwin1.dll_memcpy
test dword [ebp - 0x210], 0x200
jne 0x40b454
lea eax, [ebp - 0xd0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.cygwin1.dll__stat64
test eax, eax
sete dl
mov eax, dword [ebp - 0x210]
or eax, 0x10
test dl, dl
cmove eax, dword [ebp - 0x210]
mov dword [ebp - 0x210], eax
lea esi, [ebp - 0x1d8]
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f0], 0
test byte [ebp - 0x210], 0x10
mov ebx, 3
jne 0x40b33c
mov eax, dword [ebp - 0x204]
test eax, eax
je 0x40b0cc
and dword [ebp - 0x210], 0x200
call sub.cygwin1.dll___errno
mov edi, dword [ebp - 0x210]
test edi, edi
mov esi, dword [eax]
jne 0x40b402
mov ecx, dword [ebp - 0x204]
mov dword [esp], ecx
call sub.cygwin1.dll_closedir
call sub.cygwin1.dll___errno
mov dword [eax], esi
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x200]
mov ebx, dword [eax]
test ebx, ebx
je 0x40b136
mov ecx, dword [ebp - 0x1fc]
cmp dword [ebp - 0x200], ecx
mov edi, dword [ebx + 4]
je 0x40b245
mov esi, dword [ebp - 0x200]
mov dword [esp], esi
call sub.cygwin1.dll_free
mov dword [ebp - 0x200], ebx
test edi, edi
je 0x40b0d6
xor ebx, ebx
mov esi, dword [ebp - 0x200]
mov eax, dword [esi + ebx*4 + 8]
add ebx, 1
mov dword [esp], eax
call sub.cygwin1.dll_free
cmp edi, ebx
ja 0x40b111
mov eax, dword [ebp - 0x200]
mov ebx, dword [eax]
test ebx, ebx
jne 0x40b0e2
mov edx, dword [ebp - 0x218]
mov bl, 1
cmp eax, edx
je 0x40b08e
mov dword [esp + 0xc], str.old__init_names
mov dword [esp + 8], str.glob_in_dir
mov dword [esp + 4], 0x5d8
mov dword [esp], str._usr_src_packages_inetutils_tmp_inetutils_1.7_1_src_inetutils_1.7_lib_glob.c
call sub.cygwin1.dll___assert_func
lea esi, [esi]
or dword [ebp - 0x210], 0x10
jmp 0x40b050
mov eax, dword [ebp - 0x1e4]
test eax, eax
je 0x40b201
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
mov dword [esp], ecx
mov ecx, esi
call fcn.0040abf0
test eax, eax
je 0x40aec2
jmp 0x40af39
mov ebx, dword [ebp - 0x1f0]
add ebx, ebx
lea eax, [ebx*4 + 8]
add dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0xfbf
ja 0x40b232
add eax, 0x1e
and eax, 0xfffffff0
call fcn.00412940
lea eax, [esp + 0x1f]
and eax, 0xfffffff0
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp - 0x200]
xor edi, edi
mov dword [eax + 4], ebx
mov dword [ebp - 0x200], eax
mov dword [eax], edx
jmp 0x40af54
mov edx, dword [ebp - 0x1ec]
lea eax, [ebp - 0xd0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edx
call sub.cygwin1.dll_fstatat
test eax, eax
sete al
movzx eax, al
jmp 0x40b1a3
mov dword [esp], eax
call sub.cygwin1.dll_malloc
test eax, eax
jne 0x40b1e9
nop
jmp 0x40b10b
mov dword [ebp - 0x1fc], ebx
jmp 0x40b105
mov eax, dword [ebp - 0x1f8]
mov edi, dword [ebp - 0x1f0]
test eax, eax
je 0x40b07c
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [edx]
add eax, dword [edx + 8]
lea eax, [ecx + eax + 1]
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [edx + 4]
mov dword [esp], eax
call sub.cygwin1.dll_realloc
test eax, eax
mov dword [ebp - 0x224], eax
je 0x40b10b
test edi, edi
je 0x40b2cb
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov ecx, dword [eax]
mov esi, dword [ebp + 0xc]
mov edx, ecx
add ecx, 1
add edx, dword [esi + 8]
mov esi, dword [ebp - 0x200]
mov eax, dword [esi + ebx*4 + 8]
add ebx, 1
mov esi, dword [ebp - 0x224]
cmp edi, ebx
mov dword [esi + edx*4], eax
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
ja 0x40b2a1
mov edx, dword [ebp - 0x200]
mov ebx, dword [edx]
test ebx, ebx
je 0x40b306
mov esi, dword [ebp - 0x1fc]
cmp dword [ebp - 0x200], esi
mov edi, dword [ebx + 4]
je 0x40b2fe
mov eax, dword [ebp - 0x200]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov dword [ebp - 0x200], ebx
jmp 0x40b296
mov dword [ebp - 0x1fc], ebx
jmp 0x40b2f6
mov ecx, dword [ebp - 0x218]
cmp edx, ecx
jne 0x40b416
mov edx, dword [ebp + 0xc]
xor ebx, ebx
mov ecx, dword [ebp - 0x224]
mov esi, dword [ebp - 0x210]
mov eax, dword [edx]
add eax, dword [edx + 8]
mov dword [edx + 4], ecx
mov dword [edx + 0xc], esi
mov dword [ecx + eax*4], 0
jmp 0x40b08e
mov esi, dword [ebp - 0x208]
mov dword [esp], esi
call sub.cygwin1.dll_strlen
mov ebx, eax
lea eax, [eax + 1]
mov dword [esp], eax
call sub.cygwin1.dll_malloc
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x200]
mov edi, edx
test eax, eax
mov dword [ecx + edx*4 + 8], eax
je 0x40b10b
mov esi, dword [ebp - 0x208]
mov edi, dword [ebp - 0x1f0]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], esi
call sub.cygwin1.dll_mempcpy
add edi, 1
mov byte [eax], 0
mov dword [ebp - 0x1f8], 1
jmp 0x40b264
mov edx, dword [ebp - 0x204]
mov ecx, dword [ebp + 0xc]
mov dword [esp], edx
call dword [ecx + 0x14]
mov ebx, eax
jmp 0x40aee0
call sub.cygwin1.dll___errno
cmp dword [eax], 0x14
je 0x40b050
mov eax, dword [ebp + 8]
test eax, eax
je 0x40b3eb
lea esi, [esi]
call sub.cygwin1.dll___errno
mov esi, dword [ebp - 0x20c]
mov eax, dword [eax]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [ebp + 8]
test eax, eax
jne 0x40b3f8
test byte [ebp - 0x210], 1
je 0x40b050
mov ebx, 2
jmp 0x40b0cc
mov eax, dword [ebp - 0x204]
mov edx, dword [ebp + 0xc]
mov dword [esp], eax
call dword [edx + 0x10]
jmp 0x40b0c5
mov dword [esp + 0xc], str.old__init_names
mov dword [esp + 8], str.glob_in_dir
mov dword [esp + 4], 0x5f3
mov dword [esp], str._usr_src_packages_inetutils_tmp_inetutils_1.7_1_src_inetutils_1.7_lib_glob.c
call sub.cygwin1.dll___assert_func
mov eax, dword [ebp - 0x20c]
mov edx, dword [ebp + 0xc]
mov dword [esp], eax
call dword [edx + 0x18]
mov dword [ebp - 0x204], eax
jmp 0x40ae0f
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x70]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ecx + 0x20]
test eax, eax
sete dl
jmp 0x40b038