Function at 0x40e91b
Capabilities:
Query environment variable
Set current directory

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00401d75
mov ebx, eax
mov dword [ebp + 8], eax
cmp byte [eax], 0
jne 0x40e943
mov edx, 1
jmp 0x40f021
cmp dword [0x433520], 2
jg 0x40e9d1
mov dword [esp + 8], 3
mov dword [esp + 4], 0x42efb0
mov dword [esp], eax
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40e9d1
mov dword [esp], ebx
call fcn.00401ddc
mov dword [ebp + 8], eax
cmp byte [eax], 0
jne 0x40e992
mov dword [esp], str.HOME
call sub.cygwin1.dll_getenv
mov dword [ebp - 0x10], eax
test eax, eax
je 0x40e992
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.cygwin1.dll_chdir
test eax, eax
je 0x40e9b7
mov dword [esp], str.Error_changing_directory.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0040e8ba
mov edx, 1
jmp 0x40f021
lea eax, [ebp + 8]
mov dword [esp], eax
call fcn.00409319
mov edi, eax
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call fcn.00401ddc
mov esi, eax
mov dword [ebp + 8], eax
mov dword [esp + 8], 5
mov dword [esp + 4], str.debug
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ea57
test edi, edi
je 0x40ea1d
mov dword [0x43c608], 0
jmp 0x40f00e
lea eax, [ebp - 0x10]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00402104
mov edx, dword [ebp - 0x10]
cmp dword [ebp + 8], edx
jne 0x40ea4a
mov dword [esp], str.Please_specify_the_debug_level_number.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
mov dword [ebp + 8], edx
mov dword [0x43c608], eax
jmp 0x40f00e
mov dword [esp + 8], 7
mov dword [esp + 4], str.special
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40eaaa
test edi, edi
je 0x40ea88
mov byte [0x42a060], 0
mov edx, 1
jmp 0x40f021
mov dword [esp + 8], 0x100
mov dword [esp + 4], esi
mov dword [esp], 0x42a060
call fcn.00407b94
mov edx, 1
jmp 0x40f021
mov dword [esp + 8], 6
mov dword [esp + 4], str.columns
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40eb17
test edi, edi
je 0x40ead9
mov dword [0x42a03c], 0
jmp 0x40f00e
lea eax, [ebp - 0x10]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00402104
test eax, eax
js 0x40eaf4
mov edx, dword [ebp - 0x10]
cmp dword [ebp + 8], edx
jne 0x40eb0a
mov dword [esp], str.Please_specify_how_wide_the_screen_is__0__infinite_columns.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
mov dword [ebp + 8], edx
mov dword [0x42a03c], eax
jmp 0x40f00e
mov dword [esp + 8], 4
mov dword [esp + 4], str.wide
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40eb5a
test edi, edi
jne 0x40eb50
mov dword [0x42a03c], 0
mov dword [0x42a040], 0
jmp 0x40e924
call fcn.00402783
jmp 0x40e924
mov dword [esp + 8], 4
mov dword [esp + 4], str.precision
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ebba
lea eax, [ebp - 0x10]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00402104
mov edx, eax
cmp eax, 0xe
ja 0x40eb94
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jne 0x40ebaa
mov dword [esp], str.Please_specify_a_display_precision_between_0_and_14_digits.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
mov dword [0x42a024], edx
mov edx, 1
jmp 0x40f021
mov dword [esp + 4], str.auto
mov dword [esp], ebx
call fcn.0040205f
test eax, eax
jne 0x40ebea
test edi, edi
sete al
movzx eax, al
mov dword [0x42a04c], eax
mov dword [0x42a048], eax
mov dword [0x42a044], eax
jmp 0x40e924
mov dword [esp + 8], 9
mov dword [esp + 4], str.autosolve
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ec18
test edi, edi
sete al
movzx eax, al
mov dword [0x42a044], eax
jmp 0x40e924
mov dword [esp + 8], 8
mov dword [esp + 4], str.autocalc
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ec46
test edi, edi
sete al
movzx eax, al
mov dword [0x42a048], eax
jmp 0x40e924
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.autoselect
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ec74
test edi, edi
sete al
movzx eax, al
mov dword [0x42a04c], eax
jmp 0x40e924
mov dword [esp + 8], 4
mov dword [esp + 4], str.case
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40eca2
test edi, edi
sete al
movzx eax, al
mov dword [0x42a028], eax
jmp 0x40e924
mov dword [esp + 8], 7
mov dword [esp + 4], str.display2d
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ecd0
test edi, edi
sete al
movzx eax, al
mov dword [0x42a02c], eax
jmp 0x40e924
mov dword [esp + 8], 6
mov dword [esp + 4], str.prompt
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ecf7
mov dword [0x43c838], edi
jmp 0x40e924
mov dword [esp + 8], 8
mov dword [esp + 4], str.preserve
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ed25
test edi, edi
sete al
movzx eax, al
mov dword [0x42a030], eax
jmp 0x40e924
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.rationalize
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ed53
test edi, edi
sete al
movzx eax, al
mov dword [0x42a034], eax
jmp 0x40e924
mov dword [esp + 8], 3
mov dword [esp + 4], str.modulus_mode
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ee05
test edi, edi
je 0x40ed86
mov dword [0x42a038], 0
jmp 0x40f00e
lea eax, [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00402104
mov edx, dword [ebp - 0x10]
cmp dword [ebp + 8], edx
je 0x40eda9
test eax, eax
js 0x40eda9
cmp eax, 2
jle 0x40edf8
mov dword [esp], str.Please_specify_the_modulus_mode_number__0__1__or_2_.
call fcn.004029a3
mov dword [esp], str.0_means_modulus_operator______result_has_same_sign_as_dividend__n
call sub.cygwin1.dll_printf
mov dword [esp], str.1_means_computed_result_always_has_same_sign_as_the_divisor_
call sub.cygwin1.dll_puts
mov dword [esp], str.2_means_the_result_is_always_positive_or_zero.
call sub.cygwin1.dll_puts
mov eax, dword [0x42a038]
mov dword [esp + 4], eax
mov dword [esp], str.Current_value_is__d._n
call sub.cygwin1.dll_printf
mov edx, 0
jmp 0x40f021
mov dword [ebp + 8], edx
mov dword [0x42a038], eax
jmp 0x40f00e
mov dword [esp + 8], 5
mov dword [esp + 4], str.color
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ee38
call fcn.004272be
test edi, edi
sete al
movzx eax, al
mov dword [0x42a164], eax
jmp 0x40e924
mov dword [esp + 8], 4
mov dword [esp + 4], str.bold
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ee6b
call fcn.004272be
test edi, edi
sete al
movzx eax, al
mov dword [0x43cb2c], eax
jmp 0x40e924
mov dword [esp + 8], 7
mov dword [esp + 4], str.finance
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40eefe
test edi, edi
je 0x40ee9a
mov dword [0x4348d0], 0
jmp 0x40f00e
lea eax, [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00402104
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
jne 0x40eed6
mov eax, 2
cmp byte [edx], 0
je 0x40eef1
mov dword [esp], str.Please_specify_the_number_of_digits.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
cmp eax, 0xe
jbe 0x40eef1
mov dword [esp], str.Minimum_is_0__maximum_is_14.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
mov dword [ebp + 8], ecx
mov dword [0x4348d0], eax
jmp 0x40f00e
mov dword [esp + 8], 6
mov dword [esp + 4], str.factor_integers
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ef2c
test edi, edi
sete al
movzx eax, al
mov dword [0x43c5f4], eax
jmp 0x40e924
mov dword [esp + 8], 5
mov dword [esp + 4], str.right_associative_power
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ef5a
test edi, edi
sete al
movzx eax, al
mov dword [0x43ccd8], eax
jmp 0x40e924
mov dword [esp + 8], 6
mov dword [esp + 4], str.negate_highest_precedence
mov dword [esp], ebx
call sub.cygwin1.dll_strncasecmp
test eax, eax
jne 0x40ef88
test edi, edi
sete al
movzx eax, al
mov dword [0x42a160], eax
jmp 0x40e924
cmp dword [0x433520], 1
jg 0x40effb
mov dword [esp + 4], str.save
mov dword [esp], ebx
call fcn.0040205f
test eax, eax
jne 0x40effb
cmp byte [0x433540], 0
jne 0x40efc1
mov dword [esp], str.Set_options_startup_file_name_not_set.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
test edi, edi
je 0x40efeb
mov dword [esp], 0x433540
call sub.cygwin1.dll_unlink
test eax, eax
jne 0x40f00e
mov dword [esp + 4], 0x433540
mov dword [esp], str.Set_options_startup_file___s__removed._n
call sub.cygwin1.dll_printf
jmp 0x40f00e
call fcn.00409dfb
mov edx, 0
test eax, eax
jne 0x40f00e
jmp 0x40f021
mov dword [esp], str.Unknown_set_option.
call fcn.004029a3
mov edx, 0
jmp 0x40f021
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.004029d2
test eax, eax
sete al
movzx edx, al
mov eax, edx
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret