Function at 0x6a526c
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
xor esi, esi
push ebx
sub esp, 0x4c
mov word [ebp - 0x2c], ax
mov al, byte [ebp + 0xc]
lea ebx, [edi + 2]
mov dword [esp], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x3d], al
call sub.msvcrt.dll_wcslen
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x44], edi
mov edi, ebx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x2c]
sub eax, 0x3f
mov word [ebp - 0x3c], ax
mov ax, word [ebx]
test ax, ax
je 0x6a574c
cmp ax, 0x5b
jne 0x6a5329
cmp dword [0x865288], 0
jne 0x6a52e4
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 dx, word [ebx + 2]
lea eax, [ebx + 2]
cmp dx, 0x21
je 0x6a5300
cmp dword [0x865288], 0
jns 0x6a5303
cmp dx, 0x5e
jne 0x6a5303
lea eax, [ebx + 4]
cmp word [eax], 0x5d
lea ebx, [eax + 2]
cmovne ebx, eax
jmp 0x6a531b
add ebx, 2
test ax, ax
je 0x6a574c
mov ax, word [ebx]
cmp ax, 0x5d
jne 0x6a530f
jmp 0x6a5493
cmp ax, 0x2a
je 0x6a5347
cmp ax, 0x3f
je 0x6a5347
cmp ax, 0x2b
je 0x6a5347
cmp ax, 0x40
je 0x6a5347
cmp ax, 0x21
jne 0x6a5354
cmp word [ebx + 2], 0x28
jne 0x6a5354
inc esi
jmp 0x6a5493
cmp ax, 0x29
jne 0x6a53fa
test esi, esi
je 0x6a5368
dec esi
jmp 0x6a5493
mov edx, dword [ebp - 0x2c]
mov ecx, edi
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x44]
sub edx, 0x3f
cmp dx, 1
jbe 0x6a5383
mov eax, ebx
sub eax, ecx
sar eax, 1
inc eax
lea edx, [eax + eax]
lea esi, [edx + 4]
cmp esi, 3
jbe 0x6a574c
shr eax, 0x1f
jne 0x6a574c
or eax, 0xffffffff
cmp esi, 0x1f3f
ja 0x6a575a
lea eax, [edx + 0x22]
and eax, 0xfffffff0
call fcn.0069df40
sub esp, eax
mov eax, ebx
sub eax, ecx
lea esi, [esp + 0x1b]
and esi, 0xfffffff0
sar eax, 1
mov dword [esp + 8], eax
lea eax, [esi + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0069fde0
mov ecx, dword [ebp - 0x34]
mov word [eax], 0
mov dword [ecx], esi
mov eax, dword [ebp - 0x1c]
mov dword [esi], 0
test eax, eax
mov dword [ebp - 0x34], eax
jne 0x6a54b7
jmp 0x6a549b
cmp ax, 0x7c
jne 0x6a5493
test esi, esi
jne 0x6a5493
cmp word [ebp - 0x3c], 1
mov ecx, dword [ebp - 0x38]
jbe 0x6a541d
mov ecx, ebx
sub ecx, edi
sar ecx, 1
inc ecx
lea eax, [ecx + ecx]
lea edx, [eax + 4]
cmp edx, 3
jbe 0x6a574c
shr ecx, 0x1f
jne 0x6a574c
cmp edx, 0x1f3f
ja 0x6a574c
add eax, 0x22
mov ecx, 0x10
xor edx, edx
div ecx
shl eax, 4
call fcn.0069df40
sub esp, eax
mov eax, ebx
sub eax, edi
lea edx, [esp + 0x1b]
and edx, 0xfffffff0
sar eax, 1
mov dword [esp + 8], eax
lea eax, [edx + 4]
mov dword [esp + 4], edi
lea edi, [ebx + 2]
mov dword [ebp - 0x48], edx
mov dword [esp], eax
call fcn.0069fde0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], edx
mov word [eax], 0
mov dword [edx], 0
mov dword [ecx], edx
add ebx, 2
jmp 0x6a52b0
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 word [ebx - 2], 0x29
je 0x6a54da
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 word [ebp - 0x2c], 0x2b
je 0x6a553b
ja 0x6a54f7
cmp word [ebp - 0x2c], 0x21
je 0x6a5512
cmp word [ebp - 0x2c], 0x2a
jne 0x6a572b
jmp 0x6a555e
cmp word [ebp - 0x2c], 0x3f
je 0x6a5648
cmp word [ebp - 0x2c], 0x40
jne 0x6a572b
jmp 0x6a566f
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x30]
movzx esi, byte [ebp - 0x3d]
and edi, 0xfffffffb
test byte [ebp + 0x10], 1
cmovne edi, dword [ebp + 0x10]
and eax, 5
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], ebx
jmp 0x6a571e
mov eax, dword [ebp + 0x10]
movzx edx, byte [ebp - 0x3d]
mov esi, dword [ebp - 0x30]
and eax, 0xfffffffb
test byte [ebp + 0x10], 1
cmovne eax, dword [ebp + 0x10]
sub edi, 2
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x2c], eax
jmp 0x6a5631
mov ecx, dword [ebp + 0x10]
movzx eax, byte [ebp - 0x3d]
mov edx, dword [ebp - 0x30]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 8]
mov dword [esp], eax
mov eax, ebx
call fcn.0069b3c0
mov edx, eax
xor eax, eax
test edx, edx
jne 0x6a553b
jmp 0x6a575a
mov edx, dword [ebp - 0x2c]
add eax, 4
mov ecx, dword [ebp - 0x34]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [esp], ecx
mov ecx, esi
call fcn.0069b3c0
test eax, eax
jne 0x6a5629
cmp esi, dword [ebp - 0x30]
jne 0x6a55b2
mov eax, dword [ebp - 0x34]
jmp 0x6a55cd
xor eax, eax
cmp word [esi - 2], 0x2f
jne 0x6a55ca
mov eax, dword [ebp + 0x10]
and eax, 5
cmp eax, 5
sete al
movzx eax, al
movzx eax, al
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 4], edx
mov edx, esi
call fcn.0069b3c0
test eax, eax
je 0x6a5751
cmp esi, dword [ebp - 0x30]
je 0x6a5629
xor eax, eax
cmp word [esi - 2], 0x2f
jne 0x6a5608
mov eax, dword [ebp + 0x10]
and eax, 5
cmp eax, 5
sete al
movzx eax, al
mov ecx, dword [ebp - 0x2c]
movzx eax, al
mov edx, esi
mov dword [esp], eax
mov eax, edi
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 8]
call fcn.0069b3c0
test eax, eax
je 0x6a5751
add esi, 2
jmp 0x6a5631
mov esi, dword [ebp - 0x30]
cmp esi, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
jbe 0x6a5586
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x6a562e
jmp 0x6a56b9
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov dword [esp + 4], eax
movzx eax, byte [ebp - 0x3d]
mov dword [esp], eax
mov eax, ebx
call fcn.0069b3c0
mov edx, eax
xor eax, eax
test edx, edx
je 0x6a575a
mov esi, dword [ebp + 0x10]
movzx edi, byte [ebp - 0x3d]
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_wcscat
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0069b3c0
test eax, eax
je 0x6a5751
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x1c], eax
jne 0x6a5681
mov al, 1
jmp 0x6a575a
mov ecx, dword [ebp - 0x2c]
lea eax, [ebx + 4]
mov edx, dword [ebp - 0x30]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0069b3c0
test eax, eax
je 0x6a571a
mov ebx, dword [ebx]
test ebx, ebx
jne 0x6a56c0
mov ecx, dword [ebp - 0x30]
mov eax, esi
cmp dword [ebp - 0x2c], ecx
je 0x6a5701
mov edx, dword [ebp - 0x2c]
xor eax, eax
cmp word [edx - 2], 0x2f
jne 0x6a56fe
xor eax, eax
cmp dword [ebp - 0x38], 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.0069b3c0
test eax, eax
je 0x6a5751
add dword [ebp - 0x2c], 2
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x2c], ecx
ja 0x6a5755
mov ebx, dword [ebp - 0x34]
jmp 0x6a56db
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 0x6a575a
or eax, 0xffffffff
jmp 0x6a575a
xor eax, eax
jmp 0x6a575a
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret