Function at 0x4095f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov edx, dword [0x44d3f8]
test edx, edx
je 0x40968b
mov eax, dword [0x44b2d8]
test eax, eax
jne 0x409f0f
mov ecx, dword [0x4496e8]
test ecx, ecx
jne 0x409ef6
mov ebx, dword [0x449198]
test ebx, ebx
jne 0x409ef6
mov esi, dword [0x44e268]
test esi, esi
jne 0x409644
mov edi, dword [0x44d3e8]
test edi, edi
je 0x409658
mov dword [esp], str.Cant_use___reentrant_or___bison_bridge_with__l_option
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
mov esi, 1
mov ebx, 1
mov ecx, 1
mov dword [0x44a1b8], esi
mov eax, 1
xor edx, edx
mov dword [0x44a148], ebx
mov dword [0x44a288], ecx
mov dword [0x4496d8], eax
mov dword [0x44a268], edx
cmp dword [0x449248], 0xffffffff
je 0x409ed3
mov eax, dword [0x4496e8]
cmp dword [0x449f98], 0xffffffff
je 0x409b17
test eax, eax
je 0x409b40
mov ecx, dword [0x44ead8]
test ecx, ecx
jne 0x409b5c
mov ebx, dword [0x449f98]
test ebx, ebx
jne 0x409b7e
mov esi, dword [0x44d3f8]
test esi, esi
jne 0x409ba0
mov edi, dword [0x4496e8]
test edi, edi
je 0x409700
mov eax, dword [0x449198]
test eax, eax
jne 0x409f9d
lea esi, [esi]
lea edi, [edi]
mov eax, dword [0x44b2d8]
test eax, eax
je 0x409750
mov edx, dword [0x449198]
test edx, edx
jne 0x409f7f
test eax, eax
je 0x409750
mov ecx, dword [0x44a288]
test ecx, ecx
jne 0x409f4f
test eax, eax
je 0x409750
mov esi, dword [0x44e268]
test esi, esi
jne 0x40a055
test eax, eax
je 0x409750
mov edi, dword [0x44d3e8]
test edi, edi
jne 0x40a019
lea esi, [esi]
mov eax, dword [0x449788]
test eax, eax
je 0x409bc0
mov ecx, dword [0x449248]
xor edx, edx
mov dword [0x44f04c], edx
mov edx, 2
cmp edx, ecx
jg 0x409793
mov ebx, 0x44eae8
lea esi, [esi]
mov dword [ebx + edx*4 - 4], edx
lea esi, [edx - 1]
mov dword [edx*4 + 0x44f048], esi
inc edx
cmp edx, ecx
jle 0x409780
xor ebx, ebx
cmp byte [0x44aaa8], 0
mov dword [ecx*4 + 0x44eae8], ebx
jne 0x409bf5
mov dword [esp], 0x44f5f8
xor eax, eax
mov edi, str.M4_YY_NO_ANSI_FUNC_DEFS
mov dword [esp + 8], eax
mov dword [esp + 4], edi
call fcn.0041c050
cmp byte [0x44a0f8], 0
jne 0x409c02
mov dword [esp], 0x44f5f8
xor esi, esi
mov edx, str.M4_YY_NO_ANSI_FUNC_PROTOS
mov dword [esp + 8], esi
mov dword [esp + 4], edx
call fcn.0041c050
mov eax, dword [0x44815c]
test eax, eax
je 0x409c0f
mov dword [esp + 8], eax
mov ebx, str.M4_EXTRA_TYPE_DEFS
mov dword [esp + 4], ebx
mov dword [esp], 0x44f5f8
call fcn.0041c050
mov ecx, dword [0x44d338]
test ecx, ecx
je 0x409c1d
mov dword [esp], 0
mov edx, dword [0x448158]
mov edi, 0x41d1e0
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.0041cf20
mov dword [0x449098], eax
mov dword [esp], 0x425b44
call sub.msys_1.0.dll_getenv
test eax, eax
je 0x409f75
mov dword [esp + 4], eax
mov ecx, dword [0x449098]
xor edx, edx
mov dword [esp + 0xc], edx
mov edi, 0x425b47
xor ebx, ebx
mov dword [esp + 8], edi
mov esi, 0x41d690
mov dword [esp], ecx
call fcn.0041ce20
mov dword [esp + 8], ebx
mov eax, dword [0x449098]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0041cf20
mov eax, dword [0x41f024]
test eax, eax
jle 0x4098bd
mov dword [esp + 4], eax
mov esi, dword [0x449098]
mov dword [esp], esi
call fcn.0041d190
mov eax, dword [0x449098]
mov dword [esp], eax
call fcn.0041cf90
cmp byte [0x44eaa8], 0
mov eax, 0x425b4a
mov ecx, dword [0x4490a0]
mov ebx, dword [ecx + 8]
mov dword [0x448a0c], ebx
jne 0x4098df
mov eax, 0x425b4c
mov dword [esp + 8], eax
mov edi, 0x425b4e
mov dword [esp + 4], edi
mov dword [esp], 0x44f5f8
call fcn.0041c050
movzx eax, byte [0x44e1b8]
test al, al
je 0x40990a
mov byte [0x44d398], 0
cmp byte [0x44eaa8], 0
je 0x40991a
mov byte [0x44d398], 1
test al, al
jne 0x409db3
mov eax, dword [0x448178]
test eax, eax
jne 0x409d72
mov edi, dword [0x44e268]
test edi, edi
jne 0x409d2a
mov edi, dword [0x44d3e8]
test edi, edi
jne 0x409d0a
mov edx, dword [0x44f018]
test edx, edx
jne 0x409cea
mov dword [esp], 0x44f5f8
mov esi, dword [0x44a1a8]
mov eax, 0x425b62
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.0041c050
mov edi, dword [0x44a008]
test edi, edi
jne 0x409cce
mov edi, dword [0x4496d8]
test edi, edi
jne 0x409cae
mov edx, dword [0x44a278]
mov eax, 0x425b6f
test edx, edx
jne 0x4099a8
mov eax, str.short_int
mov dword [esp + 8], eax
mov edi, str.YY_INT_ALIGNED
lea ebx, [ebp - 0x48]
mov dword [esp + 4], edi
mov edi, 1
mov dword [esp], 0x44f5b8
call fcn.0041bf60
mov dword [esp], ebx
mov ecx, 1
mov dword [esp + 4], ecx
call fcn.0041c170
cmp edi, dword [0x44d308]
jg 0x409a9c
lea esi, [esi]
lea edi, [edi]
mov dword [esp], 0x425b91
call sub.msys_1.0.dll_strlen
mov edx, dword [0x44a198]
mov ebx, eax
mov eax, dword [edx + edi*4]
mov dword [esp], eax
call sub.msys_1.0.dll_strlen
push edi
add ebx, eax
fild dword [esp]
add esp, 4
fstp qword [esp]
call fcn.0041dcb0
fnstcw word [ebp - 0x4a]
movzx esi, word [ebp - 0x4a]
fadd qword [0x425e30]
or si, 0xc00
mov word [ebp - 0x4c], si
fldcw word [ebp - 0x4c]
fistp dword [ebp - 0x50]
fldcw word [ebp - 0x4a]
mov ecx, dword [ebp - 0x50]
lea esi, [ebx + ecx + 2]
mov dword [esp], esi
call fcn.00418dd0
mov ebx, eax
mov eax, dword [0x44a198]
lea edx, [edi - 1]
mov dword [esp + 0x10], edx
mov ecx, dword [eax + edi*4]
mov edx, 0x425b91
mov dword [esp + 8], edx
inc edi
mov dword [esp + 4], esi
mov dword [esp + 0xc], ecx
mov dword [esp], ebx
call sub.msys_intl_8.dll_libintl_snprintf
mov dword [esp + 4], ebx
lea eax, [ebp - 0x48]
mov dword [esp], eax
call fcn.0041bf20
mov dword [esp], ebx
call fcn.0041e3a0
cmp edi, dword [0x44d308]
jle 0x4099f0
mov ebx, dword [ebp - 0x48]
mov ecx, 0x425ba0
lea edi, [ebp - 0x48]
mov dword [esp + 4], ecx
mov dword [esp], 0x44f5f8
mov dword [esp + 8], ebx
call fcn.0041c050
mov dword [esp], edi
call fcn.0041c1a0
mov eax, dword [0x44f5d8]
test eax, eax
jne 0x409ec6
mov edx, dword [0x4490a0]
xor esi, esi
mov eax, dword [edx + 8]
mov dword [esp], 0x44f5f8
mov dword [esp + 4], eax
call fcn.0041bd20
mov dword [0x44f5fc], esi
mov dword [esp], str.line_0__M4_YY_OUTFILE_NAME__n
call fcn.0040d860
mov eax, dword [0x44f5b8]
test eax, eax
jne 0x409eb1
call fcn.0040da90
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
jne 0x409f28
mov esi, dword [0x449198]
test esi, esi
jne 0x409f28
mov eax, 1
mov dword [0x449f98], eax
mov esi, esi
lea edi, [edi]
mov edx, dword [0x449198]
test edx, edx
je 0x409700
mov ecx, dword [0x44ead8]
test ecx, ecx
je 0x4096c0
mov dword [esp], str._Cf__CF_and__Cm_dont_make_sense_together
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
mov ebx, dword [0x449f98]
test ebx, ebx
je 0x4096ce
mov dword [esp], str._Cf__CF_and__I_are_incompatible
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
mov esi, dword [0x44d3f8]
test esi, esi
je 0x4096dc
mov dword [esp], str._Cf__CF_are_incompatible_with_lex_compatibility_mode
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
jmp 0x4096dc
mov edx, dword [0x449248]
mov eax, 1
jmp 0x409be4
mov dword [eax*4 + 0x44f048], eax
mov ecx, 0xffff8001
mov dword [eax*4 + 0x44eae8], ecx
inc eax
cmp eax, edx
jle 0x409bd0
cmp byte [0x44aaa8], 0
je 0x4097a9
cmp byte [0x44a0f8], 0
je 0x4097d1
mov eax, dword [0x44815c]
test eax, eax
jne 0x4097f9
mov ecx, dword [0x44d338]
test ecx, ecx
jne 0x409820
mov edi, dword [0x44a008]
test edi, edi
jne 0x409c72
mov edx, dword [0x44b2d8]
mov eax, 0x425c4d
test edx, edx
jne 0x409c3b
mov eax, 0x425c50
mov dword [esp + 0x10], eax
mov ecx, dword [0x44a1a8]
mov esi, 0x800
mov dword [esp + 4], esi
mov ebx, dword [str.lex._s._s]
mov dword [esp], 0x448198
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
call sub.msys_intl_8.dll_libintl_snprintf
mov eax, 0x448198
mov dword [0x448154], eax
mov esi, dword [0x4490a0]
mov edx, 0x425c52
mov edi, dword [0x448154]
mov eax, dword [esi + 8]
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 8], eax
call sub.msys_1.0.dll_freopen
test eax, eax
je 0x40a032
mov ecx, 1
mov dword [0x448168], ecx
jmp 0x409820
mov dword [esp], 0x44f5f8
xor esi, esi
mov eax, 0x425c55
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call fcn.0041c050
jmp 0x409994
mov ebx, dword [0x4490a0]
xor ecx, ecx
mov dword [esp + 4], ecx
mov edx, dword [ebx + 8]
mov dword [esp], edx
call fcn.0040cf90
jmp 0x409986
mov dword [esp], 0x44f5f8
xor ecx, ecx
mov ebx, str._M4_YY_BISON_LLOC_
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
call fcn.0041c050
jmp 0x409959
mov dword [esp], 0x44f5f8
xor esi, esi
mov eax, str.M4_YY_BISON_LVAL
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call fcn.0041c050
jmp 0x40994b
mov dword [esp], 0x44f5f8
xor edx, edx
mov esi, str.M4_YY_REENTRANT
mov dword [esp + 8], edx
mov dword [esp + 4], esi
call fcn.0041c050
mov eax, dword [0x44a288]
test eax, eax
je 0x40993d
mov dword [esp], 0x44f5f8
xor ecx, ecx
mov ebx, str.M4_YY_TEXT_IS_ARRAY
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
call fcn.0041c050
jmp 0x40993d
mov dword [esp], eax
mov ebx, 0x425cae
mov dword [esp + 4], ebx
call sub.msys_1.0.dll_fopen
mov dword [0x448148], eax
test eax, eax
jne 0x40992f
mov dword [esp], str.cant_open_skeleton_file__s
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
mov ecx, dword [0x448178]
mov dword [esp + 4], ecx
call fcn.0040cf20
jmp 0x40992f
mov dword [esp], 0x44f5f8
xor eax, eax
mov edx, str.M4_YY_TABLES_EXTERNAL
mov dword [esp + 8], eax
xor esi, esi
mov dword [esp + 4], edx
call fcn.0041c050
mov eax, dword [0x448160]
test eax, eax
je 0x409fb6
mov dword [esp], eax
mov ecx, 0x425ce2
mov dword [esp + 4], ecx
call sub.msys_1.0.dll_fopen
test eax, eax
mov ebx, eax
je 0x40a073
test esi, esi
je 0x409e04
mov dword [esp], esi
call fcn.0041e3a0
mov dword [esp + 4], ebx
xor edx, edx
mov dword [0x448160], edx
mov dword [esp], 0x44d358
call fcn.0041c2b0
mov esi, dword [0x44a1a8]
mov dword [esp], esi
lea esi, [ebp - 0x38]
call sub.msys_1.0.dll_strlen
lea ebx, [eax + 8]
mov eax, 1
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msys_1.0.dll_calloc
mov dword [0x448164], eax
mov edi, dword [0x44a1a8]
mov ecx, str._stables
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov ebx, str.2.5.35
mov dword [esp + 0xc], edi
mov dword [esp], eax
call sub.msys_intl_8.dll_libintl_snprintf
mov dword [esp + 4], ebx
mov edx, dword [0x448164]
mov dword [esp], esi
mov dword [esp + 8], edx
call fcn.0041c2d0
mov dword [esp + 4], esi
mov dword [esp], 0x44d358
call fcn.0041c3e0
test eax, eax
jg 0x409922
mov dword [esp], str.could_not_write_tables_header
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
jmp 0x409922
mov dword [esp], eax
call fcn.0040d860
call fcn.0040da90
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
call fcn.0040d860
jmp 0x409ad0
mov eax, dword [0x4496e8]
test eax, eax
jne 0x409f35
mov edi, dword [0x449198]
test edi, edi
jne 0x409f35
mov ebx, 0x100
mov dword [0x449248], ebx
jmp 0x40969d
mov dword [esp], str.Cant_use__f_or__F_with__l_option
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
jmp 0x409630
mov dword [esp], str.Cant_use___with__l_option
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
jmp 0x409614
xor edi, edi
mov dword [0x449f98], edi
jmp 0x4096aa
mov edx, dword [0x449788]
test edx, edx
jne 0x409ee6
mov ecx, pe_nt_image_headers32
mov dword [0x449248], ecx
jmp 0x40969d
mov dword [esp], str._array_incompatible_with___option
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.00411f70
mov eax, dword [0x44b2d8]
xor ebx, ebx
mov dword [0x44a288], ebx
jmp 0x409729
mov eax, str._bin_m4
jmp 0x409858
mov dword [esp], str.Cant_use___with__CF_option
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
mov eax, dword [0x44b2d8]
jmp 0x409717
mov dword [esp], str._Cf_and__CF_are_mutually_exclusive
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
jmp 0x409700
mov eax, dword [0x44a1a8]
mov esi, 1
mov dword [esp], eax
call sub.msys_1.0.dll_strlen
mov edx, dword [str.lex._s.tables]
mov ebx, eax
mov dword [esp], edx
call sub.msys_1.0.dll_strlen
mov dword [esp + 4], esi
lea ebx, [ebx + eax + 2]
mov dword [esp], ebx
call sub.msys_1.0.dll_calloc
mov dword [0x448160], eax
mov edi, dword [0x44a1a8]
mov esi, eax
mov dword [esp + 4], ebx
mov ecx, dword [str.lex._s.tables]
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
call sub.msys_intl_8.dll_libintl_snprintf
mov eax, dword [0x448160]
jmp 0x409ddd
mov dword [esp], str.bison_bridge_not_supported_for_the_C_scanner.
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
jmp 0x409750
mov dword [esp], str.could_not_create__s
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
mov ebx, dword [0x448154]
mov dword [esp + 4], ebx
call fcn.0040cf20
jmp 0x409c9e
mov dword [esp], str.Options___and___reentrant_are_mutually_exclusive.
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
call fcn.0040cdf0
mov eax, dword [0x44b2d8]
jmp 0x40973b
mov dword [esp], str.could_not_create__s
call sub.msys_intl_8.dll_libintl_gettext
mov dword [esp], eax
mov edi, dword [0x448160]
mov dword [esp + 4], edi
call fcn.0040cf20
jmp 0x409df8