Function at 0x6a5762
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
xor esi, esi
push ebx
mov ebx, edx
sub esp, 0x4c
inc ebx
mov dword [ebp - 0x30], eax
mov al, byte [ebp + 0xc]
mov dword [ebp - 0x2c], edx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x34], ecx
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x41], al
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp - 0x30]
mov edi, ebx
mov dword [ebp - 0x38], edx
sub eax, 0x3f
mov dword [ebp - 0x40], eax
not ecx
dec ecx
mov dword [ebp - 0x3c], ecx
mov al, byte [ebx]
test al, al
je 0x6a5bbc
cmp al, 0x5b
jne 0x6a5812
cmp dword [0x865288], 0
jne 0x6a57d6
mov dword [esp], str.POSIXLY_CORRECT
call sub.msvcrt.dll_getenv
cmp eax, 1
sbb eax, eax
or eax, 1
mov dword [0x865288], eax
mov dl, byte [ebx + 1]
lea eax, [ebx + 1]
cmp dl, 0x21
je 0x6a57ef
cmp dword [0x865288], 0
jns 0x6a57f2
cmp dl, 0x5e
jne 0x6a57f2
lea eax, [ebx + 2]
xor ebx, ebx
cmp byte [eax], 0x5d
sete bl
add ebx, eax
jmp 0x6a5807
inc ebx
test al, al
je 0x6a5bbc
mov al, byte [ebx]
cmp al, 0x5d
jne 0x6a57fe
jmp 0x6a591c
cmp al, 0x2a
je 0x6a5826
cmp al, 0x3f
je 0x6a5826
cmp al, 0x2b
je 0x6a5826
cmp al, 0x40
je 0x6a5826
cmp al, 0x21
jne 0x6a5832
cmp byte [ebx + 1], 0x28
jne 0x6a5832
inc esi
jmp 0x6a591c
cmp al, 0x29
jne 0x6a58ad
test esi, esi
je 0x6a5840
dec esi
jmp 0x6a591c
mov eax, dword [ebp - 0x30]
mov ecx, edi
mov edx, dword [ebp - 0x3c]
sub eax, 0x3f
cmp eax, 1
jbe 0x6a5855
mov edx, ebx
sub edx, edi
inc edx
or eax, 0xffffffff
cmp edx, 0x1f3b
ja 0x6a5bca
lea eax, [edx + 0x22]
and eax, 0xfffffff0
call fcn.0069df40
sub esp, eax
mov eax, ebx
lea esi, [esp + 0x1b]
sub eax, ecx
and esi, 0xfffffff0
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0069fe20
mov ecx, dword [ebp - 0x38]
mov dword [ecx], esi
mov byte [eax], 0
mov eax, dword [ebp - 0x1c]
mov dword [esi], 0
test eax, eax
mov dword [ebp - 0x38], eax
jne 0x6a593e
jmp 0x6a5922
cmp al, 0x7c
jne 0x6a591c
test esi, esi
jne 0x6a591c
cmp dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x3c]
jbe 0x6a58c3
mov eax, ebx
sub eax, edi
inc eax
cmp eax, 0x1f3b
ja 0x6a5bbc
add eax, 0x22
mov ecx, 0x10
xor edx, edx
div ecx
shl eax, 4
call fcn.0069df40
sub esp, eax
mov eax, ebx
lea edx, [esp + 0x1b]
sub eax, edi
and edx, 0xfffffff0
mov dword [esp + 8], eax
lea eax, [edx + 4]
mov dword [esp + 4], edi
lea edi, [ebx + 1]
mov dword [ebp - 0x48], edx
mov dword [esp], eax
call fcn.0069fe20
mov ecx, dword [ebp - 0x38]
mov byte [eax], 0
mov edx, dword [ebp - 0x48]
mov dword [edx], 0
mov dword [ebp - 0x38], edx
mov dword [ecx], edx
inc ebx
jmp 0x6a57a6
mov dword [esp + 8], 0x454
mov dword [esp + 4], str._home_build_work_GCC_4_8_build_src_gdb_gdb_gnulib_import_fnmatch_loop.c
mov dword [esp], str.list___NULL
call fcn.0069fcc0
cmp byte [ebx - 1], 0x29
je 0x6a5960
mov dword [esp + 8], 0x455
mov dword [esp + 4], str._home_build_work_GCC_4_8_build_src_gdb_gdb_gnulib_import_fnmatch_loop.c
mov dword [esp], str.p__1___L____
call fcn.0069fcc0
cmp dword [ebp - 0x30], 0x2b
je 0x6a59bc
jg 0x6a597a
cmp dword [ebp - 0x30], 0x21
je 0x6a5993
cmp dword [ebp - 0x30], 0x2a
jne 0x6a5b9b
jmp 0x6a59e0
cmp dword [ebp - 0x30], 0x3f
je 0x6a5aba
cmp dword [ebp - 0x30], 0x40
jne 0x6a5b9b
jmp 0x6a5ae1
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x34]
movzx esi, byte [ebp - 0x41]
and edi, 0xfffffffb
test byte [ebp + 0x10], 1
cmovne edi, dword [ebp + 0x10]
and eax, 5
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], ebx
jmp 0x6a5b8e
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ebp + 0x10]
movzx edx, byte [ebp - 0x41]
mov esi, dword [ebp - 0x34]
and edi, 0xfffffffb
test byte [ebp + 0x10], 1
cmovne edi, dword [ebp + 0x10]
dec ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
jmp 0x6a5aa3
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp + 8]
mov dword [esp + 4], eax
movzx eax, byte [ebp - 0x41]
mov dword [esp], eax
mov eax, ebx
call fcn.0069bf30
mov edx, eax
xor eax, eax
test edx, edx
jne 0x6a59bc
jmp 0x6a5bca
mov edx, dword [ebp - 0x30]
add eax, 4
mov ecx, esi
mov dword [esp + 4], edi
mov dword [esp], edx
mov edx, dword [ebp - 0x34]
call fcn.0069bf30
test eax, eax
jne 0x6a5a9d
cmp esi, dword [ebp - 0x34]
jne 0x6a5a2d
mov eax, dword [ebp - 0x30]
jmp 0x6a5a47
xor eax, eax
cmp byte [esi - 1], 0x2f
jne 0x6a5a44
mov eax, dword [ebp + 0x10]
and eax, 5
cmp eax, 5
sete al
movzx eax, al
movzx eax, al
mov ecx, dword [ebp + 8]
mov edx, esi
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 4], edi
call fcn.0069bf30
test eax, eax
je 0x6a5bc1
cmp esi, dword [ebp - 0x34]
je 0x6a5a9d
xor eax, eax
cmp byte [esi - 1], 0x2f
jne 0x6a5a7e
mov eax, dword [ebp + 0x10]
and eax, 5
cmp eax, 5
sete al
movzx eax, al
movzx eax, al
mov ecx, dword [ebp + 8]
mov edx, esi
mov dword [esp], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], edi
call fcn.0069bf30
test eax, eax
je 0x6a5bc1
inc esi
jmp 0x6a5aa3
mov esi, dword [ebp - 0x34]
cmp esi, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
jbe 0x6a5a08
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x6a5aa0
jmp 0x6a5b2b
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ebp - 0x41]
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 8]
mov dword [esp], eax
mov eax, ebx
call fcn.0069bf30
mov edx, eax
xor eax, eax
test edx, edx
je 0x6a5bca
mov esi, dword [ebp + 0x10]
movzx edi, byte [ebp - 0x41]
and esi, 0xfffffffb
test byte [ebp + 0x10], 1
cmovne esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], ebx
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_strcat
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0069bf30
test eax, eax
je 0x6a5bc1
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x6a5af3
mov al, 1
jmp 0x6a5bca
mov ecx, dword [ebp - 0x2c]
lea eax, [ebx + 4]
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0069bf30
test eax, eax
je 0x6a5b8b
mov ebx, dword [ebx]
test ebx, ebx
jne 0x6a5b32
mov ecx, dword [ebp - 0x34]
mov eax, esi
cmp dword [ebp - 0x2c], ecx
je 0x6a5b72
mov edx, dword [ebp - 0x2c]
xor eax, eax
cmp byte [edx - 1], 0x2f
jne 0x6a5b6f
xor eax, eax
cmp dword [ebp - 0x30], 5
sete al
movzx eax, al
mov dword [esp], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], edi
call fcn.0069bf30
test eax, eax
je 0x6a5bc1
inc dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x2c], ecx
ja 0x6a5bc5
mov ebx, dword [ebp - 0x38]
jmp 0x6a5b4d
mov dword [esp + 8], 0x4af
mov dword [esp + 4], str._home_build_work_GCC_4_8_build_src_gdb_gdb_gnulib_import_fnmatch_loop.c
mov dword [esp], str.___Invalid_extended_matching_operator_
call fcn.0069fcc0
or eax, 0xffffffff
jmp 0x6a5bca
or eax, 0xffffffff
jmp 0x6a5bca
xor eax, eax
jmp 0x6a5bca
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret