Function at 0x413ab0
Capabilities:
Query environment variable
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], eax
jge 0x413afd
cld
mov ecx, dword [ebp + 0x10]
mov edi, 0x42567b
mov edx, dword [ebp - 0x10]
mov ebx, dword [ecx + edx*4]
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x413afd
mov edi, str._exec
mov ecx, 6
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x413afd
inc dword [ebp - 0x10]
mov ebx, dword [ebp + 0xc]
cmp dword [ebp - 0x10], ebx
jl 0x413ac8
mov edx, dword [ebp - 0x10]
lea eax, [edx*4 + 4]
mov dword [esp], eax
call fcn.00405830
mov esi, eax
xor edx, edx
jmp 0x413b1f
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + edx*4]
mov dword [esi + edx*4], eax
inc edx
cmp edx, dword [ebp - 0x10]
jl 0x413b15
mov dword [esi + edx*4], 0
mov ebx, dword [ebp + 0xc]
xor edi, edi
cmp dword [ebp - 0x10], ebx
je 0x413b73
mov ecx, dword [ebp - 0x10]
sub ebx, ecx
lea eax, [ebx*4]
mov dword [esp], eax
call fcn.00405830
mov edi, eax
lea eax, [ebx - 1]
xor edx, edx
cmp eax, 0
jle 0x413b6c
mov ecx, eax
mov ebx, dword [ebp - 0x10]
lea eax, [edx + ebx]
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebx + eax*4 + 4]
mov dword [edi + edx*4], eax
inc edx
cmp ecx, edx
jg 0x413b57
mov dword [edi + edx*4], 0
mov eax, dword [ebp + 8]
xor edx, edx
mov ebx, dword [eax]
add ebx, 0x7d0
mov dword [ebx + edx*4], 0
inc edx
cmp edx, 0x14a
jle 0x413b80
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [esp], eax
call fcn.00412630
mov dword [ebx + 0x484], eax
mov dword [esp], str.DISPLAY
call sub.cygwin1.dll_getenv
test eax, eax
jne 0x413f20
mov dword [ebx], 0x42568c
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00417410
mov dword [esp], esi
call fcn.00421030
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x7c]
test edx, edx
jne 0x413bff
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.0041e0a9
mov edx, eax
mov eax, dword [ebp + 8]
test edx, edx
mov dword [eax + 0x7c], edx
je 0x414015
mov eax, dword [ebx + 0x484]
mov dword [esp + 4], edx
mov edx, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.00417a50
test edi, edi
je 0x413e2d
mov edx, dword [edi]
test edx, edx
je 0x413e2d
mov eax, dword [ebx + 0x488]
test eax, eax
jne 0x413c42
mov dword [esp], edx
call fcn.00412630
mov dword [ebx + 0x488], eax
mov edx, dword [ebx + 8]
test edx, edx
je 0x413e54
mov eax, dword [ebx + 0x4c4]
test eax, eax
jne 0x413e65
mov eax, dword [ebx + 0x4f8]
test eax, eax
jne 0x413e9c
mov eax, dword [ebx + 0x4f4]
test eax, eax
jne 0x413ecb
mov eax, dword [ebx + 0x500]
test eax, eax
jne 0x413efa
mov ecx, dword [ebp + 8]
cmp word [ecx + 0x1c], 0
jne 0x413c99
and dword [ecx + 0x80], 0xffffff7f
mov eax, dword [ebx + 0x4e8]
test eax, eax
jne 0x413cae
mov esi, 0x42568f
mov dword [ebx + 0x4e8], esi
mov ecx, dword [ebx + 0x504]
test ecx, ecx
jne 0x413cc3
mov edx, str.____________
mov dword [ebx + 0x504], edx
mov eax, dword [ebx + 0x4dc]
test eax, eax
jne 0x413fac
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, 0x4256aa
mov dword [edx + 0x140], eax
mov eax, dword [ebx + 0x4e0]
test eax, eax
jne 0x413f82
mov eax, str.e_3
mov dword [edx + 0x144], eax
mov eax, dword [ebx + 0x50c]
test eax, eax
jne 0x413f27
mov eax, dword [ebx + 0x4e4]
test eax, eax
jne 0x413f4b
mov eax, dword [ebx + 0x4fc]
mov edx, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x4b4]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x4b0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0040de00
mov dword [esp + 4], ebx
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
call fcn.00416880
xor edx, edx
mov esi, dword [ebx + edx*4 + 0x14]
test esi, esi
jne 0x413d63
mov eax, dword [edx*4 + 0x425240]
mov dword [ebx + edx*4 + 0x14], eax
inc edx
cmp edx, 0x10b
jle 0x413d50
mov eax, dword [ebp + 8]
test byte [eax + 0x80], 0x20
je 0x413d84
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x14], eax
mov edx, dword [ebp + 8]
xor ecx, ecx
mov esi, 0x109
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00413a30
mov ecx, dword [ebp + 8]
mov edx, 1
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00413a30
mov ebx, dword [ebp + 8]
mov eax, 0x102
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00413a30
mov dword [esp], ebx
mov eax, 0x103
mov dword [esp + 4], eax
call fcn.00413a30
mov dword [esp], ebx
mov eax, 0x104
mov dword [esp + 4], eax
call fcn.00413a30
mov dword [esp], ebx
mov eax, 0x105
mov dword [esp + 4], eax
call fcn.00413a30
mov dword [esp], ebx
mov eax, 0x107
mov dword [esp + 4], eax
call fcn.00413a30
mov dword [esp], ebx
mov eax, 0x108
mov dword [esp + 4], eax
call fcn.00413a30
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00413a30
add esp, 0x1c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x488]
test eax, eax
jne 0x413e43
mov eax, dword [ebx + 0x484]
mov dword [ebx + 0x488], eax
mov eax, dword [ebx + 8]
test eax, eax
jne 0x413c4d
mov eax, dword [ebx + 0x484]
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0x4c4]
test eax, eax
je 0x413c5b
mov dword [esp], eax
call sub.cygwin1.dll_atoi
test eax, eax
jl 0x413c5b
jle 0x41400e
cmp eax, 0x7fff
jle 0x413e87
mov eax, 0x7fff
mov ecx, dword [ebp + 8]
mov word [ecx + 0x1c], ax
mov eax, dword [ebx + 0x4f8]
test eax, eax
je 0x413c69
mov dword [esp], eax
call sub.cygwin1.dll_atoi
test eax, eax
js 0x413c69
cmp eax, 0x64
jle 0x413eb6
mov eax, 0x64
mov edx, dword [ebp + 8]
mov word [edx + 0x16], ax
mov eax, dword [ebx + 0x4f4]
test eax, eax
je 0x413c77
mov dword [esp], eax
call sub.cygwin1.dll_atoi
test eax, eax
js 0x413c77
cmp eax, 0x64
jle 0x413ee5
mov eax, 0x64
mov ecx, dword [ebp + 8]
mov word [ecx + 0x18], ax
mov eax, dword [ebx + 0x500]
test eax, eax
je 0x413c85
mov dword [esp], eax
call sub.cygwin1.dll_atoi
test eax, eax
js 0x413c85
cmp eax, 0x64
jle 0x413f14
mov eax, 0x64
mov edx, dword [ebp + 8]
mov word [edx + 0x1a], ax
jmp 0x413c85
mov dword [ebx], eax
jmp 0x413bbd
mov dword [esp], eax
call fcn.00412760
mov eax, dword [ebx + 0x50c]
mov dword [esp], eax
call fcn.00412850
mov eax, dword [ebx + 0x4e4]
test eax, eax
je 0x413d16
mov eax, 7
mov dword [esp + 8], eax
mov eax, str.oldword
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x4e4]
mov dword [esp], eax
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x413fd6
mov ecx, dword [ebp + 8]
mov eax, 1
mov dword [ecx + 0x194], eax
jmp 0x413d16
mov dword [esp], eax
call sub.cygwin1.dll_strdup
mov dword [esp], eax
mov esi, eax
call fcn.00412760
mov dword [esp], esi
call fcn.00412850
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax + 0x144], esi
jmp 0x413cfa
mov dword [esp], eax
call sub.cygwin1.dll_strdup
mov dword [esp], eax
mov esi, eax
call fcn.00412760
mov dword [esp], esi
call fcn.00412850
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx + 0x140], esi
jmp 0x413ce1
mov ecx, 0x4256bb
mov esi, 3
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov eax, dword [ebx + 0x4e4]
mov dword [esp], eax
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x413d16
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax + 0x194], edx
jmp 0x413d16
xor eax, eax
jmp 0x413e87
mov eax, dword [ebx]
mov dword [esp], str.cant_open_display__s
mov dword [esp + 4], eax
call fcn.00412660
mov dword [esp], 1
call sub.cygwin1.dll_exit
lea esi, [esi]
lea edi, [edi]