Function at 0x40e880
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [0x56ccd4]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x40e967
mov ebx, dword [0x56ccbc]
test ebx, ebx
jne 0x40e92e
mov ecx, dword [0x56ccd0]
mov dword [esp + 0x30], ecx
test ecx, ecx
je 0x40e9f1
mov eax, dword [0x56a284]
test eax, eax
je 0x40e8ef
cmp byte [ecx], 0x6c
jne 0x40e8ef
cmp byte [ecx + 1], 0x64
jne 0x40e8ef
cmp byte [ecx + 2], 0
jne 0x40e8ef
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ecx
call sym._concat
mov dword [esp + 0x30], eax
mov dword [0x56ccd0], eax
mov dword [esp], 0
mov edx, dword [esp + 0x30]
mov ecx, 1
mov eax, 0x4f3530
call sym.find_a_file_path_prefix_const__char_const__int__bool_
mov dword [esp], 0x4f5c57
test eax, eax
cmove eax, dword [0x56ccd0]
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov eax, dword [esp + 0x20]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 1
mov ecx, 4
mov edx, ebx
mov eax, 0x4f3524
call sym.find_a_file_path_prefix_const__char_const__int__bool_
mov dword [esp], 0x4f5c57
test eax, eax
cmove eax, ebx
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov eax, dword [esp + 0x20]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x56a154]
mov edx, 0x4f5098
test eax, eax
je 0x40ea78
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str.install:__s_s_n
call sym.printf_char_const__..._
mov dword [esp], 0
xor ecx, ecx
mov edx, 0x4f5098
mov eax, 0x4f3530
call sym.build_search_list_path_prefix_const__char_const__bool__bool_
mov dword [esp], str.programs:__s_n
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov dword [esp], 1
xor ecx, ecx
mov edx, 0x4f5098
mov eax, 0x4f3524
call sym.build_search_list_path_prefix_const__char_const__bool__bool_
mov dword [esp], str.libraries:__s_n
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [0x56ccc4]
test edi, edi
jne 0x40eaf8
mov ecx, dword [0x56ccc0]
test ecx, ecx
jne 0x40ea88
mov edx, dword [0x56cccc]
test edx, edx
jne 0x40ee18
mov eax, dword [0x56ccd8]
test eax, eax
jne 0x40eaa6
mov eax, dword [0x56ccc8]
test eax, eax
jne 0x40ead6
mov eax, dword [0x56ccdc]
test eax, eax
je 0x40ee50
mov eax, dword [0x4f355c]
cmp byte [eax], 0
je 0x40fa35
mov eax, dword [0x56a278]
mov edx, 0x4f5098
mov dword [esp], 0x4f5c57
test eax, eax
cmove eax, edx
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov dword [esp + 0x20], 0
jmp 0x40e95b
mov edx, dword [0x56a15c]
mov eax, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_lib_gcc_
jmp 0x40e979
mov eax, dword [0x56a14c]
test eax, eax
je 0x40eadf
mov dword [esp + 4], eax
mov dword [esp], 0x4f5c57
call sym.printf_char_const__..._
jmp 0x40e95b
mov eax, dword [str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_riscv_none_elf]
test eax, eax
je 0x40e95b
mov edx, dword [0x56a27c]
test edx, edx
je 0x40ea91
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], str._s_s_n
call sym.printf_char_const__..._
jmp 0x40e95b
mov eax, dword [0x56a148]
test eax, eax
jne 0x40ea91
mov dword [esp], 0x4f6f7e
call sym.printf_char_const__..._
mov dword [esp + 0x20], 0
jmp 0x40e95b
mov eax, dword [0x56a18c]
movzx edx, byte [eax]
mov dword [esp + 0x28], eax
test dl, dl
je 0x40e95b
mov dword [esp + 0x48], 0
cmp dl, 0xa
je 0x40ee36
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x34]
cmp al, 0x20
je 0x40eb47
test al, al
je 0x40eda0
movzx eax, byte [ecx + 1]
add ecx, 1
cmp al, 0x20
jne 0x40eb30
mov dword [esp + 0x34], ecx
mov eax, dword [0x56a180]
mov dword [esp + 0x4c], eax
movzx eax, byte [eax]
cmp dl, 0x2e
je 0x40eea5
test al, al
je 0x40f687
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x4c]
mov edi, dword [0x56a07c]
mov ebp, dword [0x56a080]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x34]
add ecx, 1
mov dword [esp + 0x44], ecx
cmp al, 0xa
je 0x40ecfd
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
cmp al, 0x3b
je 0x40f9fe
mov dword [esp + 0x3c], 1
mov edx, ebp
mov ecx, edi
test al, al
je 0x40fa50
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x40edf1
mov edi, dword [esp + 0x14]
movzx eax, byte [edi]
mov dword [esp + 0x24], edi
mov byte [esp + 0x2c], al
cmp al, 0x20
je 0x40ebff
movzx eax, byte [esp + 0x2c]
mov ebx, dword [esp + 0x24]
jmp 0x40ebf3
test al, al
je 0x40fa50
movzx eax, byte [ebx + 1]
add ebx, 1
cmp al, 0x20
je 0x40ebf7
cmp al, 0x3b
jne 0x40ebe0
mov byte [esp + 0x2c], al
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x24]
sub ebp, dword [esp + 0x14]
movzx ebx, byte [eax]
mov dword [esp + 0x40], eax
cmp bl, 0x3b
je 0x40ede4
lea esi, [esi]
nop
test bl, bl
je 0x40eda0
mov edi, eax
xor esi, esi
cmp bl, 0x20
jne 0x40ec40
jmp 0x40ec55
test bl, bl
je 0x40eda0
movzx ebx, byte [edi + 1]
add edi, 1
cmp bl, 0x20
je 0x40ec51
cmp bl, 0x3b
jne 0x40ec38
mov esi, edi
sub esi, eax
cmp ebp, esi
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x14]
cmovge esi, ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0x1c], ecx
call sym._strncmp
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x40ecd0
test ecx, ecx
jle 0x40edcd
mov byte [esp + 0x18], bl
xor esi, esi
mov ebx, edx
mov dword [esp + 0x1c], edi
mov edi, ecx
jmp 0x40ecab
add esi, 1
cmp esi, edi
je 0x40edc0
cmp ebp, dword [ebx + esi*8 + 4]
jne 0x40eca0
mov dword [esp + 8], ebp
mov eax, dword [ebx + esi*8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call sym._strncmp
test eax, eax
jne 0x40eca0
mov edx, ebx
mov ecx, edi
xor eax, eax
cmp byte [esp + 0x2c], 0x20
sete al
add eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp al, 0x3b
jne 0x40ebae
mov ebx, dword [esp + 0x3c]
mov ebp, edx
mov edi, ecx
test ebx, ebx
jne 0x40fa09
add dword [esp + 0x14], 1
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
test al, al
jne 0x40eb8b
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x40f687
mov eax, dword [esp + 0x34]
movzx edx, byte [eax + 1]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x28], eax
cmp dl, 0x3b
je 0x40f84e
mov ebx, edx
jmp 0x40ed50
add ebp, 1
movzx ebx, byte [ebp]
cmp bl, 0x3b
je 0x40f990
test bl, bl
je 0x40eda0
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x40ed40
cmp bl, 0x21
je 0x40ed6d
mov dword [esp], 0x40
call sym._putchar
movsx eax, byte [ebp]
cmp al, 0x20
jne 0x40ed98
jmp 0x40ed40
cmp bl, 0x21
je 0x40ed8d
mov dword [esp], eax
call sym._putchar
movsx eax, byte [ebp + 1]
add ebp, 1
cmp al, 0x20
je 0x40ed40
cmp al, 0x3b
je 0x40ed43
test al, al
jne 0x40ed80
mov eax, dword [0x56a18c]
mov dword [esp + 4], str.multilib_select__qs_is_invalid
mov dword [esp + 8], eax
mov eax, dword [0x56cefc]
mov dword [esp], eax
call sym.fatal_error_unsigned_int__char_const__..._
nop
mov edx, ebx
mov ecx, edi
movzx ebx, byte [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, edi
add edi, 1
cmp bl, 0x20
cmove eax, edi
movzx ebx, byte [eax]
cmp bl, 0x3b
jne 0x40ec20
mov dword [esp + 0x3c], 0
jmp 0x40ecd0
mov eax, dword [esp + 0x14]
mov ebp, edx
mov edi, ecx
jmp 0x40ee03
test dl, dl
je 0x40fa50
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x3b
jne 0x40edfb
mov dword [esp + 0x14], eax
jmp 0x40ecfd
mov eax, dword [0x56a144]
test eax, eax
jne 0x40ea91
mov dword [esp], 0x4f51f3
call sym.printf_char_const__..._
jmp 0x40e95b
add dword [esp + 0x28], 1
mov eax, dword [esp + 0x28]
movzx edx, byte [eax]
test dl, dl
jne 0x40eb14
jmp 0x40e95b
mov eax, dword [0x56a298]
test eax, eax
jne 0x40eed8
mov edi, dword [0x56a294]
test edi, edi
jne 0x40f898
mov ecx, dword [0x56cd08]
mov dword [esp + 0x20], 1
test ecx, ecx
je 0x40e95b
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call sym.print_configuration__iobuf_
mov edx, dword [0x56a050]
xor eax, eax
test edx, edx
setne al
mov dword [esp + 0x20], eax
jmp 0x40e95b
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 1], 0x3a
jne 0x40eb5c
mov ecx, dword [esp + 0x28]
xor edx, edx
cmp byte [ecx + 2], 0x3a
setne dl
mov dword [esp + 0x38], edx
test al, al
jne 0x40eb6c
jmp 0x40ed11
mov eax, dword [0x56cda0]
mov dword [esp], str.Usage:__s__options__file..._n
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [esp], 1
call ebx
mov dword [esp + 8], 9
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.Options:_n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x46
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___pass_exit_codes_________Exit_with_highest_error_code_from_a_phase._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x35
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.____help___________________Display_this_information._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x72
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.____target_help____________Display_target_specific_command_line_options__including_assembler_and_linker_options_._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x5d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.____helpcommonoptimizersparamstargetwarnings__joinedseparateundocumented__..._._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___________________________Display_specific_types_of_command_line_options._n
call sym._fwrite
mov eax, dword [0x56cd08]
test eax, eax
je 0x40fa9a
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x41
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.____version________________Display_compiler_version_information._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x45
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___dumpspecs_______________Display_all_of_the_built_in_spec_strings._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___dumpversion_____________Display_the_version_of_the_compiler._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x44
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___dumpmachine_____________Display_the_compilers_target_processor._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x37
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___foffload_targets_______Specify_offloading_targets._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x52
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_search_dirs_______Display_the_directories_in_the_compilers_search_path._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x51
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_libgcc_file_name__Display_the_name_of_the_compilers_companion_library._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x43
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_file_name_lib____Display_the_full_path_to_library__lib_._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4f
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_prog_name_prog___Display_the_full_path_to_compiler_component__prog_._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x8c
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_multiarch_________Display_the_targets_normalized_GNU_triplet__used_as_n___________________________a_component_in_the_library_path._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4e
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_multi_directory___Display_the_root_directory_for_versions_of_libgcc._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x90
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_multi_lib_________Display_the_mapping_between_command_line_options_and_n___________________________multiple_library_search_directories._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x47
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_multi_os_directory_Display_the_relative_path_to_OS_libraries._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x43
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_sysroot___________Display_the_target_libraries_directory._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x51
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___print_sysroot_headers_suffix_Display_the_sysroot_suffix_used_to_find_headers._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4f
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Wa__options_____________Pass_comma_separated__options__on_to_the_assembler._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x52
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Wp__options_____________Pass_comma_separated__options__on_to_the_preprocessor._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4c
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Wl__options_____________Pass_comma_separated__options__on_to_the_linker._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x3b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Xassembler__arg_________Pass__arg__on_to_the_assembler._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x3e
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Xpreprocessor__arg______Pass__arg__on_to_the_preprocessor._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x38
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Xlinker__arg____________Pass__arg__on_to_the_linker._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x3d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___save_temps______________Do_not_delete_intermediate_files._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x3d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___save_temps_arg_________Do_not_delete_intermediate_files._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x89
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___no_canonical_prefixes___Do_not_canonicalize_paths_when_building_relative_n___________________________prefixes_to_other_gcc_components._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x45
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___pipe____________________Use_pipes_rather_than_intermediate_files._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x42
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___time____________________Time_the_execution_of_each_subprocess._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x50
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___specs_file_____________Override_built_in_specs_with_the_contents_of__file_._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___std_standard___________Assume_that_the_input_sources_are_for__standard_._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x77
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.____sysroot_directory_____Use__directory__as_the_root_directory_for_headers_n___________________________and_libraries._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___B__directory____________Add__directory__to_the_compilers_search_paths._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x49
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___v_______________________Display_the_programs_invoked_by_the_compiler._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x51
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.________________________Like__v_but_options_quoted_and_commands_not_executed._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x4e
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___E_______________________Preprocess_only__do_not_compile__assemble_or_link._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x42
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___S_______________________Compile_only__do_not_assemble_or_link._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x42
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___c_______________________Compile_and_assemble__but_do_not_link._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x39
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___o__file_________________Place_the_output_into__file_._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x73
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___pie_____________________Create_a_dynamically_linked_position_independent_n___________________________executable._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x34
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___shared__________________Create_a_shared_library._n
call sym._fwrite
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x137
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___x__language_____________Specify_the_language_of_the_following_input_files._n___________________________Permissible_languages_include:_c_c_assembler_none_n___________________________none_means_revert_to_the_default_behavior_of_n___________________________guessing_the_language_based_on_the_files_extension._n
call sym._fwrite
mov eax, dword [0x56cda0]
mov dword [esp], str._nOptions_starting_with__g___f___m___O___W__or___param_are_automatically_n_passed_on_to_the_various_sub_processes_invoked_by__s.__In_order_to_pass_n_other_options_on_to_these_processes_the__W_letter__options_must_be_used._n
mov dword [esp + 4], eax
call sym.printf_char_const__..._
mov ebp, dword [0x56cd08]
test ebp, ebp
je 0x40fa6d
mov dword [esp], 1
call ebx
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sym._fputc
mov dword [esp], 1
call ebx
mov dword [esp], eax
call sym._fflush
jmp 0x40ee59
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea ebp, [eax + 1]
test edx, edx
je 0x40f6a4
sub eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x48]
je 0x40f93d
mov eax, dword [esp + 0x34]
movzx edx, byte [eax + 1]
mov ecx, eax
sub ecx, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
cmp dl, 0x3b
je 0x40f7da
mov eax, dword [0x56a07c]
mov byte [esp + 0x1c], 0
mov ebx, ebp
mov byte [esp + 0x38], dl
mov dword [esp + 0x14], eax
mov eax, dword [0x56a080]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x30], eax
mov eax, edx
test al, al
je 0x40eda0
cmp al, 0x21
jne 0x40f871
movzx ecx, byte [ebx + 1]
lea ebp, [ebx + 1]
mov edx, 1
cmp cl, 0x20
je 0x40f85a
mov ebx, ebp
jmp 0x40f724
test cl, cl
je 0x40eda0
movzx ecx, byte [ebx + 1]
add ebx, 1
cmp cl, 0x20
je 0x40f729
cmp cl, 0x3b
jne 0x40f710
mov eax, dword [esp + 0x14]
mov edi, ebx
sub edi, ebp
test eax, eax
jle 0x40f7d2
mov dword [esp + 0x24], edx
xor esi, esi
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], ebx
mov ebx, ecx
jmp 0x40f759
add esi, 1
cmp esi, dword [esp + 0x14]
je 0x40f7c8
cmp dword [edx + esi*8 + 4], edi
jne 0x40f750
mov dword [esp + 8], edi
mov eax, dword [edx + esi*8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 0x3c], edx
call sym._strncmp
mov edx, dword [esp + 0x3c]
test eax, eax
jne 0x40f750
mov edx, dword [esp + 0x24]
mov ecx, ebx
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x40f7d6
mov byte [esp + 0x1c], 1
cmp cl, 0x20
je 0x40f869
movzx eax, byte [ebx]
cmp al, 0x3b
jne 0x40f6e2
cmp byte [esp + 0x1c], 0
movzx edx, byte [esp + 0x38]
mov dword [esp + 0x38], 1
mov ebp, dword [esp + 0x18]
jne 0x40ed39
jmp 0x40f7da
mov ecx, ebx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x40f791
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x34], eax
jbe 0x40f800
mov ebx, eax
jmp 0x40f7f9
mov dword [esp], eax
add ebx, 1
call sym._putchar
cmp ebx, dword [esp + 0x34]
je 0x40f800
movsx eax, byte [ebx]
cmp al, 0x3a
jne 0x40f7e8
mov dword [esp], 0x3b
call sym._putchar
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], 0
movzx edx, byte [eax + 1]
cmp dl, 0x3b
jne 0x40ed39
mov ebx, dword [0x4f35d8]
test ebx, ebx
je 0x40f83a
movzx eax, byte [ebx]
test al, al
jne 0x40f9cd
mov dword [esp], 0xa
call sym._putchar
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
lea eax, [ebp + 1]
mov dword [esp + 0x28], eax
jmp 0x40ee3b
xor edi, edi
cmp dword [esp + 0x14], 0
mov ebx, ebp
jg 0x40f739
add ebx, 1
jmp 0x40f79a
movzx ecx, byte [ebx]
xor edx, edx
mov ebp, ebx
cmp cl, 0x20
jne 0x40f707
cmp dword [esp + 0x14], 0
jle 0x40f7d6
xor edi, edi
jmp 0x40f739
mov eax, dword [0x56cda0]
mov dword [esp + 0xc], 0x4f51f5
mov dword [esp + 8], str._xPack_GNU_RISC_V_Embedded_GCC_i386_
mov dword [esp + 4], eax
mov dword [esp], str._s__s_s_n
call sym.printf_char_const__..._
mov dword [esp + 4], 0x4f801c
mov dword [esp], str.Copyright__s_2022_Free_Software_Foundation__Inc._n
call sym.printf_char_const__..._
mov dword [esp], 1
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call ebx
mov dword [esp + 8], 0x98
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.This_is_free_software__see_the_source_for_copying_conditions.__There_is_NO_nwarranty__not_even_for_MERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._n_n
call sym._fwrite
mov esi, dword [0x56cd08]
test esi, esi
je 0x40e95b
mov dword [esp], 1
call ebx
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sym._fputc
mov dword [esp], 1
call ebx
mov dword [esp], eax
call sym._fflush
jmp 0x40ee67
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym._filename_ncmp
test eax, eax
jne 0x40f6a4
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], 1
movzx edx, byte [eax + 1]
cmp dl, 0x3b
jne 0x40ed39
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
jmp 0x40f84e
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
test ebx, ebx
je 0x40f825
jmp 0x40f84e
movzx eax, byte [ebx + 1]
test al, al
je 0x40f83a
add ebx, 1
cmp al, 0x20
jne 0x40f9d1
mov esi, ebx
movzx eax, byte [esi + 1]
lea ebx, [esi + 1]
test al, al
je 0x40f83a
cmp al, 0x20
je 0x40f9a9
mov dword [esp], 0x40
mov esi, ebx
call sym._putchar
movsx eax, byte [esi]
add esi, 1
mov dword [esp], eax
call sym._putchar
movzx eax, byte [esi]
test al, al
je 0x40f83a
cmp al, 0x20
jne 0x40f9df
jmp 0x40f9be
mov eax, dword [esp + 0x34]
add eax, 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
movzx edx, byte [eax + 1]
cmp dl, 0x3b
je 0x40f84e
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], 1
mov ebx, edx
mov dword [esp + 0x28], eax
jmp 0x40ed50
mov eax, dword [0x56cefc]
mov dword [esp + 4], str.not_configured_with_sysroot_headers_suffix
mov dword [esp], eax
call sym.fatal_error_unsigned_int__char_const__..._
lea esi, [esi]
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], str.multilib_exclusion__qs_is_invalid
mov dword [esp + 8], eax
mov eax, dword [0x56cefc]
mov dword [esp], eax
call sym.fatal_error_unsigned_int__char_const__..._
mov dword [esp], str._nFor_bug_reporting_instructions__please_see:_n
call sym.printf_char_const__..._
mov dword [esp + 4], 0x4f7ff2
mov dword [esp], str._s._n
call sym.printf_char_const__..._
mov dword [esp + 0x20], 0
jmp 0x40e95b
mov dword [esp], 1
call ebx
mov dword [esp + 8], 0x46
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.___Use__v___help_to_display_command_line_options_of_sub_processes_._n
call sym._fwrite
jmp 0x40eff6