Function at 0x4011c0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [0x4693d8]
mov dword [ebp - 4], edx
mov dword [ebp - 8], ecx
push edi
test esi, esi
jne 0x4011ed
mov eax, 1
mov esi, eax
mov dword [0x46e868], eax
mov dword [0x4693d8], esi
jmp 0x4011f2
mov eax, dword [0x46e868]
cmp dword [0x4693e8], 0xffffffff
je 0x4011ff
test eax, eax
je 0x401226
push str.POSIXLY_CORRECT
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov esi, dword [0x4693d8]
add esp, 4
mov edx, dword [ebp - 4]
neg eax
sbb eax, eax
neg eax
mov dword [0x4693e8], eax
mov eax, dword [0x46e868]
mov dword [0x46e86c], 0
test eax, eax
je 0x401250
or ebx, 0xffffffff
or edi, ebx
mov dword [0x4693e0], ebx
mov dword [0x4693e4], edi
jmp 0x40125c
mov edi, dword [0x4693e4]
mov ebx, dword [0x4693e0]
mov ecx, dword [sym.imp.VCRUNTIME140.dll_strchr]
test eax, eax
jne 0x401274
mov eax, dword [0x4693dc]
cmp byte [eax], 0
jne 0x40132c
mov dword [0x46e868], 0
cmp esi, dword [ebp - 8]
jge 0x401449
mov eax, dword [edx + esi*4]
mov dword [0x4693dc], eax
cmp byte [eax], 0x2d
jne 0x401435
cmp byte [eax + 1], 0
jne 0x4012cc
push 0x2d
push str._h:a:g:c:
call ecx
add esp, 8
test eax, eax
je 0x401435
mov esi, dword [0x4693d8]
mov edi, dword [0x4693e4]
mov ebx, dword [0x4693e0]
mov eax, dword [0x4693dc]
mov edx, dword [ebp - 4]
cmp edi, 0xffffffff
je 0x4012dd
cmp ebx, 0xffffffff
cmove ebx, esi
mov dword [0x4693e0], ebx
cmp byte [eax + 1], 0
lea ecx, [eax + 1]
je 0x401326
mov eax, ecx
cmp byte [eax], 0x2d
jne 0x401326
cmp byte [ecx + 1], 0
jne 0x401326
inc esi
mov dword [0x4693dc], 0x467090
mov dword [0x4693d8], esi
cmp ebx, 0xffffffff
je 0x401479
push edx
push ecx
call fcn.00401100
sub esi, ebx
add esp, 8
add esi, edi
mov dword [0x4693d8], esi
jmp 0x401479
mov ecx, dword [sym.imp.VCRUNTIME140.dll_strchr]
movsx edi, byte [eax]
inc eax
mov dword [0x4693dc], eax
cmp edi, 0x3a
je 0x40140f
cmp edi, 0x2d
jne 0x40134c
cmp byte [eax], 0
jne 0x40141b
push edi
push str._h:a:g:c:
call ecx
add esp, 8
test eax, eax
je 0x4013f4
cmp byte [eax + 1], 0x3a
je 0x40137e
mov eax, dword [0x4693dc]
cmp byte [eax], 0
jne 0x4013eb
inc dword [0x4693d8]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x4693dc]
mov dword [0x46e86c], 0
cmp byte [ecx], 0
jne 0x4013d5
cmp byte [eax + 2], 0x3a
je 0x4013db
mov ecx, dword [0x4693d8]
inc ecx
mov dword [0x4693d8], ecx
cmp ecx, dword [ebp - 8]
jl 0x4013cf
push edi
push str.option_requires_an_argument_____c
mov dword [0x4693dc], 0x467090
call fcn.00401080
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
mov ecx, dword [eax + ecx*4]
mov dword [0x46e86c], ecx
inc dword [0x4693d8]
mov dword [0x4693dc], 0x467090
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4693dc]
cmp edi, 0x2d
jne 0x401409
cmp byte [eax], 0
je 0x40148d
jmp 0x40141b
mov esi, dword [0x4693d8]
cmp byte [eax], 0
jne 0x40141b
inc esi
mov dword [0x4693d8], esi
push edi
push str.unknown_option_____c
call fcn.00401080
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov dword [0x4693dc], 0x467090
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x4693dc], 0x467090
cmp ebx, 0xffffffff
je 0x40146e
push edx
push ecx
call fcn.00401100
sub edi, ebx
add esp, 8
add esi, edi
mov dword [0x4693d8], esi
jmp 0x401479
cmp edi, 0xffffffff
je 0x401479
mov dword [0x4693d8], edi
mov dword [0x4693e0], 0xffffffff
mov dword [0x4693e4], 0xffffffff
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret