Function at 0x408490
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov dword [ebp - 0x4c], eax
mov dword [esp], 0x4f6218
mov dword [ebp - 0x50], edx
call sym._getenv
cmp byte [0x56a2a1], 0
mov ebx, eax
jne 0x409338
mov dword [esp], 0x4f51f5
mov dword [0x56a154], ebx
mov dword [0x56a0f8], 0
mov dword [0x56a050], 0
mov dword [0x56a0c4], 0
call sym._xstrdup
mov dword [0x56a250], eax
movzx edx, byte [eax]
test dl, dl
jne 0x40850b
jmp 0x408513
movzx edx, byte [eax + 1]
add eax, 1
test dl, dl
je 0x408513
cmp dl, 0x20
jne 0x408500
mov byte [eax], 0
mov ecx, dword [ebp - 0x4c]
cmp ecx, 1
jbe 0x408550
mov ebx, dword [ebp - 0x50]
mov eax, 1
jmp 0x40852f
add eax, 1
cmp eax, ecx
je 0x408550
mov edx, eax
shl edx, 6
cmp dword [ebx + edx], 0x6ff
jne 0x408528
mov dword [ebp - 0x5c], sym._make_relative_prefix_ignore_links
jmp 0x408557
mov dword [ebp - 0x5c], sym._make_relative_prefix
mov eax, dword [0x56a154]
mov dword [0x56a150], 0x4f6228
test eax, eax
je 0x409240
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f62f9
mov dword [esp], eax
call sym._concat
mov dword [esp + 8], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_libexec_gcc_
mov dword [esp], eax
mov ebx, eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_lib_gcc_
call eax
mov edx, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_libexec_gcc_
mov dword [esp], ebx
test eax, eax
cmove eax, edx
mov dword [0x56a150], eax
call sym._free
lea eax, [ebp - 0x4c]
mov dword [esp + 8], 0x56a0c4
mov dword [esp + 4], eax
lea eax, [ebp - 0x50]
mov dword [esp], eax
call sym.lang_specific_driver_cl_decoded_option__unsigned_int__int_
mov esi, dword [0x56a154]
test esi, esi
je 0x408652
mov dword [esp], esi
call sym._strlen
mov edi, eax
cmp eax, 9
ja 0x408ec0
mov dword [esp + 4], edi
mov dword [esp], esi
call sym._set_std_prefix
mov dword [esp + 8], 0
mov edx, dword [0x56a150]
mov ecx, 0x4f55cf
mov dword [esp + 4], 0
mov eax, 0x4f3530
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov dword [esp + 8], 0
mov edx, dword [0x56a154]
mov ecx, 0x4f55cf
mov dword [esp + 4], 0
mov eax, 0x4f3524
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov dword [esp], str.COMPILER_PATH
call sym._getenv
cmp byte [0x56a2a1], 0
mov edi, eax
jne 0x4093d0
test edi, edi
je 0x408788
mov dword [esp], edi
call sym._strlen
add eax, 0x1e
shr eax, 4
shl eax, 4
call fcn.00471ce0
sub esp, eax
mov ebx, edi
lea esi, [esp + 0x2f]
and esi, 0xfffffff0
lea esi, [esi]
lea esi, [esi]
movzx eax, byte [ebx]
test al, al
je 0x4086c0
cmp al, 0x3b
je 0x4086c0
movzx eax, byte [ebx + 1]
add ebx, 1
test al, al
jne 0x4086a7
lea esi, [esi]
lea esi, [esi]
mov edx, ebx
mov dword [esp + 4], edi
sub edx, edi
mov dword [esp], esi
mov dword [esp + 8], edx
mov dword [ebp - 0x54], edx
call sym._strncpy
cmp edi, ebx
mov edx, dword [ebp - 0x54]
je 0x408758
movzx eax, byte [ebx - 1]
lea ecx, [esi + edx]
cmp al, 0x5c
je 0x408750
cmp al, 0x2f
je 0x408750
mov byte [ecx], 0x2f
mov byte [esi + edx + 1], 0
mov dword [esp], 1
xor ecx, ecx
mov edx, esi
mov eax, 0x4f3530
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov dword [esp], 1
xor ecx, ecx
mov edx, esi
mov dword [esp + 8], 0
mov eax, 0x4f3518
mov dword [esp + 4], 0
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
cmp byte [ebx], 0
je 0x408788
add ebx, 1
mov edi, ebx
jmp 0x4086a0
mov byte [ecx], 0
jmp 0x4086f5
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4fc848
mov dword [esp], 0x4f630b
call sym._concat
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._strcpy
jmp 0x4086f5
mov dword [esp], str.LIBRARY_PATH
call sym._getenv
cmp byte [0x56a2a1], 0
mov edi, eax
jne 0x4093a0
test edi, edi
je 0x4087b5
mov eax, dword [0x4f35c8]
cmp byte [eax], 0x30
je 0x409010
mov dword [esp], str.LPATH
call sym._getenv
cmp byte [0x56a2a1], 0
mov edi, eax
jne 0x409370
test edi, edi
je 0x4087e2
mov eax, dword [0x4f35c8]
cmp byte [eax], 0x30
je 0x408f48
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], sym.driver_unknown_option_callback_cl_decoded_option_const_
mov dword [0x56a0bc], 0xffffffff
mov dword [ebp - 0x3c], sym.driver_wrong_lang_callback_cl_decoded_option_const__unsigned_int_
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x30], sym.driver_handle_option_gcc_options__gcc_options__cl_decoded_option_const__unsigned_int__int__unsigned_int__cl_option_handlers_const__diagnostic_context__void______
mov dword [ebp - 0x2c], 0x80000
mov dword [ebp - 0x28], sym.common_handle_option_gcc_options__gcc_options__cl_decoded_option_const__unsigned_int__int__unsigned_int__cl_option_handlers_const__diagnostic_context__void______
mov dword [ebp - 0x24], 0x200000
mov dword [ebp - 0x20], sym.target_handle_option_gcc_options__gcc_options__cl_decoded_option_const__unsigned_int__int__unsigned_int__cl_option_handlers_const__diagnostic_context__void______
mov dword [ebp - 0x1c], 0x100000
cmp ebx, 1
jbe 0x408900
mov eax, dword [ebp - 0x50]
mov esi, dword [0x56a12c]
mov ecx, 1
jmp 0x408863
cmp edx, 0x187
je 0x40887b
test esi, esi
jne 0x408885
add ecx, 1
cmp ecx, ebx
je 0x408885
mov edx, ecx
shl edx, 6
mov edx, dword [eax + edx]
cmp edx, 0x1a5
je 0x40887b
cmp edx, 0x34f
jne 0x408850
mov dword [0x56a12c], 1
mov esi, 1
lea ebx, [ebp - 0x40]
jmp 0x4088d1
mov edx, dword [0x4f3624]
mov dword [esp + 0x14], ebx
add esi, 1
mov dword [esp + 0x10], 0x80000
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x56a380
mov dword [esp], 0x56b860
call sym.read_cmdline_option_gcc_options__gcc_options__cl_decoded_option__unsigned_int__unsigned_int__cl_option_handlers_const__diagnostic_context_
cmp dword [ebp - 0x4c], esi
jbe 0x408900
mov eax, dword [ebp - 0x50]
mov edx, esi
shl edx, 6
add eax, edx
cmp dword [eax], 0x78a
jne 0x408890
mov eax, dword [eax + 8]
mov edx, dword [0x56a0c0]
add esi, 1
call sym.add_infile_char_const__char_const_
cmp dword [ebp - 0x4c], esi
ja 0x4088ce
lea esi, [esi]
lea esi, [esi]
mov esi, dword [0x56cc4c]
test esi, esi
je 0x40891e
mov ebx, dword [0x56b89c]
xor eax, eax
test ebx, ebx
sete al
add eax, eax
mov dword [0x56b89c], eax
mov ebx, dword [0x56a120]
test ebx, ebx
je 0x408e80
cmp byte [ebx], 0x2d
jne 0x408e00
cmp byte [ebx + 1], 0
jne 0x408e00
cmp byte [ebx], 0
je 0x409c35
mov esi, dword [0x56a26c]
cmp byte [0x56a270], 0
mov dword [ebp - 0x60], esi
jne 0x4090d0
mov eax, esi
test esi, esi
je 0x4090d0
mov ecx, dword [0x56a274]
test ecx, ecx
je 0x409170
mov dword [0x56a274], 2
mov edx, dword [0x56a268]
mov edi, edx
test eax, eax
je 0x4089bd
test edx, edx
je 0x40917e
mov dword [esp], edx
call sym._lbasename
mov edi, dword [0x56a268]
cmp edi, eax
je 0x4089bd
mov eax, dword [0x56a26c]
mov dword [esp], eax
call sym._free
mov dword [0x56a26c], 0
mov ebx, dword [0x56a264]
test ebx, ebx
je 0x409450
test edi, edi
je 0x40917e
cmp byte [edi], 0
je 0x4097a0
mov dword [esp], edi
call sym._strlen
mov dword [esp], ebx
mov esi, eax
call sym._strlen
cmp esi, eax
jle 0x408a0a
sub esi, eax
mov dword [esp + 4], ebx
add esi, edi
mov dword [esp], esi
call sym._strcmp
test eax, eax
je 0x409463
mov dword [esp], ebx
call sym._free
movzx eax, byte [edi]
mov dword [0x56a264], 0
test al, al
jne 0x409463
mov eax, dword [0x56a12c]
test eax, eax
je 0x4097ae
test edi, edi
je 0x4091a1
movzx eax, byte [edi]
test al, al
je 0x408b0a
mov eax, dword [0x56a258]
test eax, eax
jne 0x4ee268
mov edx, dword [0x56a050]
test edx, edx
jle 0x408ac8
mov eax, dword [0x56cbfc]
mov dword [ebp - 0x60], edi
mov esi, 0xffffffff
xor ebx, ebx
mov ecx, dword [0x56a0d0]
mov dword [ebp - 0x58], eax
mov edi, ecx
lea esi, [esi]
nop
mov eax, ebx
shl eax, 4
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x408ab3
cmp byte [eax], 0x2a
je 0x408abe
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x408ab3
mov dword [esp + 4], 0x4f6371
mov dword [esp], eax
mov dword [ebp - 0x54], edx
call sym._strcmp
mov edx, dword [ebp - 0x54]
test eax, eax
je 0x408abe
cmp esi, 0xffffffff
jne 0x4ee230
mov esi, ebx
add ebx, 1
cmp ebx, edx
jne 0x408a80
mov edi, dword [ebp - 0x60]
mov esi, dword [0x56a264]
mov dword [esp], edi
test esi, esi
je 0x409ae0
call sym._strlen
mov dword [esp], esi
mov ebx, eax
call sym._strlen
mov dword [esp], edi
sub ebx, eax
mov dword [esp + 4], ebx
call sym._xstrndup
mov dword [0x56a258], eax
mov ebx, eax
mov dword [esp], ebx
call sym._strlen
mov dword [0x56a254], eax
mov edx, dword [0x56a26c]
xor eax, eax
test edx, edx
je 0x408b1e
mov dword [esp], edx
call sym._strlen
mov edi, dword [0x56a264]
mov dword [0x56a260], eax
test edi, edi
je 0x408b6e
mov ebx, dword [0x56a268]
test ebx, ebx
je 0x4095a8
cmp byte [ebx], 0
je 0x4095a8
mov dword [esp], ebx
call sym._strlen
mov dword [esp], edi
mov esi, eax
call sym._strlen
mov dword [esp + 4], edi
sub esi, eax
add ebx, esi
mov dword [esp], ebx
call sym._strcmp
test eax, eax
jne 0x4ee24c
mov eax, dword [0x56a274]
test eax, eax
je 0x408b84
mov eax, dword [0x56ccb8]
test eax, eax
jne 0x4099f0
mov edi, dword [0x56a05c]
test edi, edi
je 0x4095c0
js 0x409650
mov ebx, dword [0x56a154]
test ebx, ebx
je 0x409676
mov eax, dword [str.riscv_none_elf]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4fc848
mov dword [esp + 4], eax
mov dword [esp], str..._.._.._.._
call sym._concat
mov edx, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_lib_gcc_
mov dword [esp + 0x1c], 0
mov esi, eax
mov eax, dword [0x56a154]
mov dword [esp + 0x14], 0x4fc848
mov dword [esp + 0x18], esi
test eax, eax
mov dword [esp + 0x10], 0x4f5098
cmove eax, edx
mov dword [esp + 0xc], 0x4f51f5
mov dword [esp + 8], 0x4fc848
mov dword [esp + 4], str.riscv_none_elf
mov dword [esp], eax
call sym._concat
mov dword [esp], esi
mov ebx, eax
call sym._free
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4fc848
mov dword [esp + 4], 0x4f63f7
mov dword [esp], ebx
call sym._concat
mov dword [esp + 8], 0
mov ecx, str.BINUTILS
mov dword [esp + 4], 0
mov edx, eax
mov eax, 0x4f3530
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4fc848
mov dword [esp + 4], 0x4f52a9
mov dword [esp], ebx
call sym._concat
mov dword [esp + 8], 1
mov ecx, str.BINUTILS
mov dword [esp + 4], 0
mov edx, eax
mov eax, 0x4f3524
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov dword [esp], ebx
call sym._free
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 0x408d20
mov ecx, dword [0x56a280]
test ecx, ecx
jne 0x408d20
mov edx, dword [0x56a154]
test edx, edx
je 0x408d20
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_bin_
mov eax, dword [eax + 8]
mov dword [esp], eax
mov eax, dword [ebp - 0x5c]
call eax
mov ebx, eax
test eax, eax
je 0x408d20
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.___mingw_access
test eax, eax
jne 0x408d20
mov dword [str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_riscv_none_elf], ebx
mov dword [0x56a280], 1
lea esi, [esi]
nop
mov eax, dword [0x56a050]
test eax, eax
je 0x408d35
cmp eax, dword [0x56a0bc]
je 0x4099c0
mov eax, dword [0x56a05c]
sub eax, 2
cmp eax, 1
jbe 0x409730
mov esi, dword [0x56a050]
mov eax, dword [0x56a298]
mov edx, dword [0x56a294]
test esi, esi
jne 0x408d76
or edx, eax
xor eax, eax
or edx, dword [0x56a288]
je 0x408d8d
mov edx, 0x4f642a
mov eax, str.help_dummy
call sym.add_infile_char_const__char_const_
mov ebx, dword [0x56a294]
xor eax, eax
test ebx, ebx
setne al
cmp dword [0x56a298], 1
sbb eax, 0xffffffff
mov ecx, dword [0x56cd08]
mov edx, dword [ebp - 0x4c]
test ecx, ecx
je 0x408da4
mov ecx, 1
cmp edx, 2
je 0x408dac
sub edx, 1
cmp edx, eax
sete cl
mov byte [0x56a0c9], cl
call sym.alloc_switch__
mov eax, dword [0x56a0f8]
mov ecx, dword [0x56a0cc]
shl eax, 4
add eax, dword [0x56a0fc]
mov dword [eax], 0
test ecx, ecx
je 0x409620
mov edx, dword [0x56a050]
mov eax, dword [0x56a0d0]
cmp ecx, edx
je 0x409ab8
shl edx, 4
mov dword [eax + edx], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x4f6320
mov dword [esp], ebx
call sym._strcmp
test eax, eax
je 0x40893f
mov ecx, dword [0x56a050]
xor esi, esi
test ecx, ecx
jle 0x40893f
lea esi, [esi]
nop
mov eax, esi
shl eax, 4
add eax, dword [0x56a0d0]
mov edx, dword [eax + 4]
test edx, edx
je 0x408e47
cmp byte [edx], 0x2a
je 0x408e63
mov dword [esp + 4], ebx
mov eax, dword [eax]
mov dword [esp], eax
call sym._canonical_filename_eq
test eax, eax
jne 0x409c17
mov ebx, dword [0x56a120]
add esi, 1
cmp dword [0x56a050], esi
jg 0x408e30
test ebx, ebx
jne 0x40893f
lea esi, [esi]
lea esi, [esi]
mov eax, dword [0x56a26c]
cmp byte [0x56a270], 0
mov dword [ebp - 0x60], eax
jne 0x409400
mov edi, dword [ebp - 0x60]
mov eax, edi
test edi, edi
jne 0x408968
mov ebx, dword [0x56a274]
mov edi, dword [0x56a268]
test ebx, ebx
je 0x4089bd
jmp 0x408976
movzx edx, byte [esi + eax - 1]
cmp dl, 0x5c
je 0x408ed3
cmp dl, 0x2f
jne 0x4085ee
lea ebx, [eax - 9]
lea edx, [esi + ebx]
movzx eax, byte [edx]
cmp al, 0x5c
je 0x408ee8
cmp al, 0x2f
jne 0x4085ee
lea eax, [edx + 1]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x4f52a9
mov dword [esp], eax
mov dword [ebp - 0x54], edx
call sym._filename_ncmp
mov edx, dword [ebp - 0x54]
test eax, eax
jne 0x408f3a
movzx eax, byte [edx + 4]
cmp al, 0x5c
je 0x408f19
cmp al, 0x2f
jne 0x408f3a
add edx, 5
mov dword [esp + 8], 3
mov dword [esp + 4], 0x4f62f9
mov dword [esp], edx
call sym._filename_ncmp
test eax, eax
jne 0x408f3a
mov edi, ebx
mov esi, dword [0x56a154]
jmp 0x4085ee
mov dword [esp], edi
call sym._strlen
add eax, 0x1e
shr eax, 4
shl eax, 4
call fcn.00471ce0
sub esp, eax
mov ebx, edi
lea esi, [esp + 0x2f]
and esi, 0xfffffff0
lea esi, [esi]
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x408f90
test al, al
je 0x408f90
movzx eax, byte [ebx + 1]
add ebx, 1
cmp al, 0x3b
jne 0x408f77
lea esi, [esi]
lea esi, [esi]
mov edx, ebx
mov dword [esp + 4], edi
sub edx, edi
mov dword [esp], esi
mov dword [esp + 8], edx
mov dword [ebp - 0x54], edx
call sym._strncpy
cmp edi, ebx
mov edx, dword [ebp - 0x54]
je 0x4092d8
movzx eax, byte [ebx - 1]
lea ecx, [esi + edx]
cmp al, 0x2f
je 0x409220
cmp al, 0x5c
je 0x409220
mov byte [ecx], 0x2f
mov byte [esi + edx + 1], 0
mov dword [esp], 1
xor ecx, ecx
mov edx, esi
mov eax, 0x4f3524
mov dword [esp + 8], 1
mov dword [esp + 4], 0
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
cmp byte [ebx], 0
je 0x4087e2
add ebx, 1
mov edi, ebx
jmp 0x408f70
mov dword [esp], edi
call sym._strlen
add eax, 0x1e
shr eax, 4
shl eax, 4
call fcn.00471ce0
sub esp, eax
mov ebx, edi
lea esi, [esp + 0x2f]
and esi, 0xfffffff0
lea esi, [esi]
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x409050
test al, al
je 0x409050
movzx eax, byte [ebx + 1]
add ebx, 1
cmp al, 0x3b
jne 0x40903f
nop
mov edx, ebx
mov dword [esp + 4], edi
sub edx, edi
mov dword [esp], esi
mov dword [esp + 8], edx
mov dword [ebp - 0x54], edx
call sym._strncpy
cmp edi, ebx
mov edx, dword [ebp - 0x54]
je 0x409308
movzx eax, byte [ebx - 1]
lea ecx, [esi + edx]
cmp al, 0x2f
je 0x409230
cmp al, 0x5c
je 0x409230
mov byte [ecx], 0x2f
mov byte [esi + edx + 1], 0
mov dword [esp], 1
xor ecx, ecx
mov edx, esi
mov eax, 0x4f3524
mov dword [esp + 8], 1
mov dword [esp + 4], 0
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
cmp byte [ebx], 0
je 0x4087b5
add ebx, 1
mov edi, ebx
jmp 0x409038
movzx eax, byte [ebx]
sub eax, 0x2d
jne 0x4090dc
movzx eax, byte [ebx + 1]
mov edi, dword [0x56a274]
test eax, eax
je 0x4092c0
mov dword [esp + 4], 0x4f6320
mov dword [esp], ebx
call sym._strcmp
test eax, eax
je 0x4092c0
cmp edi, 1
je 0x409c4a
mov dword [esp], esi
call sym._free
mov dword [esp], ebx
mov dword [0x56a26c], 0
call sym._lbasename
mov edi, dword [0x56a120]
mov esi, eax
mov eax, dword [0x56a26c]
cmp edi, esi
je 0x4092c2
mov dword [esp], edi
call sym._strlen
mov dword [esp], esi
mov ebx, eax
call sym._strlen
mov dword [esp], edi
sub ebx, eax
mov dword [esp + 4], ebx
call sym._xstrndup
mov edx, dword [0x56a274]
mov dword [0x56a26c], eax
test edx, edx
jne 0x408976
lea esi, [esi]
mov edx, dword [0x56a268]
test edx, edx
jne 0x408994
mov esi, dword [0x56a12c]
test esi, esi
jne 0x4091a1
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x409501
mov edi, dword [0x56a12c]
test edi, edi
je 0x408b0a
mov eax, dword [0x56a258]
test eax, eax
jne 0x409c59
mov ebx, dword [0x56a120]
test ebx, ebx
je 0x408b0a
cmp byte [ebx], 0x2d
jne 0x4091cb
cmp byte [ebx + 1], 0
je 0x408b0a
mov dword [esp + 4], 0x4f6320
mov dword [esp], ebx
call sym._strcmp
test eax, eax
je 0x408b0a
mov dword [esp], ebx
call sym._lbasename
mov dword [esp], eax
call sym._xstrdup
mov dword [esp + 4], 0x2e
mov dword [0x56a258], eax
mov ebx, eax
lea eax, [eax + 1]
mov dword [esp], eax
call sym._strrchr
test eax, eax
je 0x408afd
mov byte [eax], 0
jmp 0x408afd
mov byte [ecx], 0
jmp 0x408fd1
mov byte [ecx], 0
jmp 0x409091
mov eax, dword [ebp - 0x50]
mov edi, dword [ebp - 0x5c]
mov dword [esp + 8], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_lib_gcc_
mov dword [esp + 4], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_bin_
mov eax, dword [eax + 8]
mov dword [esp], eax
call edi
mov dword [esp + 8], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_libexec_gcc_
mov dword [0x56a154], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_bin_
mov eax, dword [eax + 8]
mov dword [esp], eax
call edi
mov dword [0x56a150], eax
mov eax, dword [0x56a154]
test eax, eax
je 0x4085b7
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.GCC_EXEC_PREFIX
call sym._concat
mov ecx, 0x56a2a0
mov dword [esp], eax
call method.env_manager.xput_char_const_
sub esp, 4
jmp 0x4085b7
mov eax, esi
mov ecx, dword [0x56a274]
test ecx, ecx
je 0x408980
jmp 0x408976
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4fc848
mov dword [esp], 0x4f630b
call sym._concat
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._strcpy
jmp 0x408fd1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4fc848
mov dword [esp], 0x4f630b
call sym._concat
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._strcpy
jmp 0x409091
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4f6218
mov dword [esp + 4], str.env_manager::getenv___s______s_n
mov dword [esp], eax
call sym.fprintf__iobuf__char_const__..._
jmp 0x4084ba
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.LPATH
mov dword [esp + 4], str.env_manager::getenv___s______s_n
mov dword [esp], eax
call sym.fprintf__iobuf__char_const__..._
jmp 0x4087d0
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.LIBRARY_PATH
mov dword [esp + 4], str.env_manager::getenv___s______s_n
mov dword [esp], eax
call sym.fprintf__iobuf__char_const__..._
jmp 0x4087a3
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.COMPILER_PATH
mov dword [esp + 4], str.env_manager::getenv___s______s_n
mov dword [esp], eax
call sym.fprintf__iobuf__char_const__..._
jmp 0x40866d
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x4097d0
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call sym._free
mov esi, dword [0x56a274]
mov dword [0x56a26c], 0
mov edi, dword [0x56a268]
test esi, esi
je 0x4089bd
mov ebx, dword [0x56a264]
mov dword [0x56a274], 2
test ebx, ebx
jne 0x4089cb
lea esi, [esi]
test edi, edi
je 0x40917e
movzx eax, byte [edi]
test al, al
je 0x408a27
mov ecx, dword [0x56a050]
test ecx, ecx
jle 0x4094d8
mov eax, dword [0x56cbfc]
mov dword [ebp - 0x64], edi
mov esi, 0xffffffff
xor ebx, ebx
mov edx, dword [0x56a0d0]
mov dword [ebp - 0x58], eax
mov edi, edx
lea esi, [esi]
nop
mov eax, ebx
shl eax, 4
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x4094c3
cmp byte [eax], 0x2a
je 0x4094ce
mov edx, dword [ebp - 0x58]
test edx, edx
je 0x4094c3
mov dword [esp + 4], 0x4f6371
mov dword [esp], eax
mov dword [ebp - 0x54], ecx
call sym._strcmp
mov ecx, dword [ebp - 0x54]
test eax, eax
je 0x4094ce
cmp esi, 0xffffffff
jne 0x409a18
mov esi, ebx
add ebx, 1
cmp ebx, ecx
jne 0x409490
mov edi, dword [ebp - 0x64]
mov eax, dword [0x56a12c]
test eax, eax
jne 0x408a34
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x409a1b
test edi, edi
je 0x409193
cmp byte [edi], 0
jne 0x408a47
mov ebx, dword [0x56a120]
mov dword [ebp - 0x54], 0x4f5353
test ebx, ebx
je 0x409527
cmp byte [ebx], 0x2d
jne 0x409930
cmp byte [ebx + 1], 0
jne 0x409930
xor ebx, ebx
mov esi, dword [0x56a258]
test esi, esi
jne 0x4ee214
mov ecx, dword [0x56a268]
mov dword [0x56a254], 0
test ecx, ecx
je 0x4097fe
cmp dword [ebp - 0x54], ebx
je 0x409b26
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call sym._xstrdup
mov dword [esp], ebx
mov dword [0x56a258], eax
call sym._free
mov ebx, dword [ebp - 0x60]
mov edi, dword [0x56a268]
test ebx, ebx
je 0x409b33
test edi, edi
je 0x409193
mov eax, dword [0x56a264]
mov dword [esp], eax
call sym._free
mov dword [0x56a264], 0
jmp 0x408a3c
mov dword [esp], edi
call sym._free
mov dword [0x56a264], 0
jmp 0x408b6e
mov dword [esp], str.GCC_COMPARE_DEBUG
call sym._getenv
cmp byte [0x56a2a1], 0
mov ebx, eax
jne 0x409af8
test ebx, ebx
je 0x408b98
movzx eax, byte [ebx]
cmp al, 0x2d
je 0x4097e9
test al, al
je 0x408b98
cmp byte [ebx], 0x30
jne 0x409605
cmp byte [ebx + 1], 0
je 0x408b98
mov dword [0x56a05c], 3
mov dword [0x56a054], 0x4f5c1b
jmp 0x408b98
mov dword [esp], 0x100
mov dword [0x56a0cc], 0x10
call sym._xmalloc
mov edx, dword [0x56a050]
mov dword [0x56a0d0], eax
jmp 0x408dec
mov esi, dword [0x56a054]
mov dword [0x56a05c], 0
test esi, esi
jne 0x4ee1f8
mov ebx, dword [0x56a154]
test ebx, ebx
jne 0x408ba6
mov ecx, 0x4f55cf
mov edx, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_libexec_gcc_
mov eax, 0x4f3530
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov ecx, str.BINUTILS
mov edx, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_libexec_gcc_
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov eax, 0x4f3530
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov ecx, str.BINUTILS
mov edx, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_lib_gcc_
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov eax, 0x4f3530
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
mov ecx, str.BINUTILS
mov edx, str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_install_riscv_none_elf_gcc_lib_gcc_
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, 0x4f3524
mov dword [esp], 1
call sym.add_prefix_path_prefix__char_const__char_const__int__int__int_
jmp 0x408ba6
mov eax, dword [0x56a054]
mov dword [esp + 8], 0
mov edi, 1
mov dword [esp], 0x4f5bf1
mov dword [esp + 4], eax
call sym._concat
mov ebx, eax
call sym.alloc_switch__
mov edx, dword [0x56a0f8]
add ebx, 1
mov eax, edx
add edx, 1
shl eax, 4
add eax, dword [0x56a0fc]
mov dword [0x56a0f8], edx
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov word [eax + 0xc], di
mov byte [eax + 0xe], 0
mov dword [0x56a05c], 1
jmp 0x408d46
mov ebx, dword [0x56a12c]
test ebx, ebx
jne 0x408a3c
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x4094f0
test edi, edi
je 0x409501
cmp byte [edi], 0
je 0x409501
jmp sym.process_command_unsigned_int__cl_decoded_option___clone_.cold_
mov edx, dword [0x56a274]
mov edi, dword [0x56a268]
test edx, edx
jne 0x409434
jmp 0x4089bd
mov dword [0x56a05c], 2
mov dword [0x56a054], ebx
jmp 0x408b98
mov ecx, dword [0x56a050]
test ecx, ecx
jle 0x4098d5
mov eax, dword [0x56cbfc]
mov dword [ebp - 0x68], ebx
mov edi, 0xffffffff
xor esi, esi
mov edx, dword [0x56a0d0]
mov dword [ebp - 0x64], eax
mov ebx, edx
lea esi, [esi]
lea esi, [esi]
mov eax, esi
shl eax, 4
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x409863
cmp byte [eax], 0x2a
je 0x40986e
mov edx, dword [ebp - 0x64]
test edx, edx
je 0x409863
mov dword [esp + 4], 0x4f6371
mov dword [esp], eax
mov dword [ebp - 0x58], ecx
call sym._strcmp
mov ecx, dword [ebp - 0x58]
test eax, eax
je 0x40986e
cmp edi, 0xffffffff
jne 0x409c0f
mov edi, esi
add esi, 1
cmp esi, ecx
jne 0x409830
mov edx, ebx
mov ebx, dword [ebp - 0x68]
cmp edi, 0xffffffff
je 0x4098d5
shl edi, 4
mov eax, dword [edx + edi]
mov dword [esp], eax
call sym._lbasename
mov esi, eax
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov edi, eax
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call sym._strncmp
test eax, eax
jne 0x4098d5
cmp byte [esi + edi], 0x2e
jne 0x4098d5
lea eax, [esi + edi + 1]
mov dword [esp + 4], 0x2e
mov dword [esp], eax
call sym._strchr
test eax, eax
je 0x40954d
mov eax, dword [0x56a26c]
test eax, eax
je 0x409b60
mov edi, dword [ebp - 0x54]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4f5392
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._concat
mov esi, eax
mov eax, dword [0x56a26c]
mov dword [esp], eax
call sym._free
mov dword [esp], ebx
mov dword [0x56a26c], esi
mov byte [0x56a25c], 1
call sym._free
jmp 0x40956e
mov dword [esp + 4], 0x4f6320
mov dword [esp], ebx
call sym._strcmp
test eax, eax
jne 0x409952
mov dword [ebp - 0x54], 0x4f5353
xor ebx, ebx
jmp 0x409527
mov dword [esp], ebx
call sym._lbasename
mov dword [esp], eax
mov edi, eax
mov dword [ebp - 0x54], eax
call sym._strlen
mov ebx, dword [0x56a264]
mov esi, eax
test ebx, ebx
je 0x409b82
mov dword [esp], ebx
call sym._strlen
cmp esi, eax
jbe 0x409525
sub esi, eax
mov dword [esp + 4], ebx
lea eax, [edi + esi]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x409525
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._xstrndup
mov dword [ebp - 0x54], eax
mov ebx, eax
jmp 0x409527
mov eax, dword [0x56a0c0]
test eax, eax
je 0x408d35
mov dword [esp + 8], eax
mov dword [esp + 4], str.___x__s___after_last_input_file_has_no_effect
mov dword [esp], 0
call sym.warning_int__char_const__..._
jmp 0x408d35
mov dword [esp + 4], str.___pipe___ignored_because____save_temps___specified
mov dword [esp], 0
call sym.warning_int__char_const__..._
mov dword [0x56ccb8], 0
jmp 0x408b84
mov edi, dword [ebp - 0x64]
mov esi, dword [0x56a264]
test esi, esi
je 0x409a3d
mov dword [esp], edi
call sym._strlen
mov dword [esp], esi
mov ebx, eax
call sym._strlen
sub ebx, eax
mov byte [edi + ebx], 0
mov eax, dword [0x56a26c]
test eax, eax
je 0x409bf0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4f5392
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._concat
mov ebx, eax
mov eax, dword [0x56a26c]
mov dword [esp], eax
call sym._free
mov eax, dword [0x56a268]
mov dword [esp], eax
call sym._free
mov eax, dword [0x56a264]
mov dword [esp], eax
call sym._free
mov dword [0x56a26c], ebx
mov dword [0x56a264], 0
mov dword [0x56a268], 0
mov byte [0x56a25c], 1
jmp 0x409193
lea ecx, [edx + edx]
shl edx, 5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [0x56a0cc], ecx
call sym._xrealloc
mov edx, dword [0x56a050]
mov dword [0x56a0d0], eax
jmp 0x408dec
call sym._xstrdup
mov dword [0x56a258], eax
mov ebx, eax
jmp 0x408afd
mov dword [esp], 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.GCC_COMPARE_DEBUG
mov dword [esp + 4], str.env_manager::getenv___s______s_n
mov dword [esp], eax
call sym.fprintf__iobuf__char_const__..._
jmp 0x4095db
mov eax, dword [ebp - 0x54]
mov dword [0x56a258], eax
jmp 0x40956e
mov eax, dword [0x56a264]
mov dword [esp], eax
call sym._free
mov dword [0x56a264], 0
test edi, edi
jne 0x408a3c
jmp 0x409193
mov eax, dword [ebp - 0x54]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f5392
mov dword [esp], eax
call sym._concat
mov esi, eax
jmp 0x409910
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], 0x2e
add eax, 1
mov dword [esp], eax
call sym._strrchr
test eax, eax
je 0x409527
mov dword [esp], eax
mov dword [ebp - 0x58], eax
call sym._strlen
mov edi, eax
test eax, eax
je 0x409527
mov edx, dword [ebp - 0x58]
mov dword [esp + 4], 0x4f526a
mov dword [esp], edx
call sym._strcmp
test eax, eax
je 0x409be7
mov eax, dword [ebp - 0x54]
mov dword [esp + 4], str.a.out
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x409527
sub esi, edi
jmp 0x4099a0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x4f5392
mov dword [esp], edi
call sym._concat
mov ebx, eax
jmp 0x409a68
mov ebx, dword [ebp - 0x68]
jmp 0x4098d5
mov eax, dword [0x56a120]
mov dword [esp + 4], str.input_file__qs_is_the_same_as_output_file
mov dword [esp + 8], eax
mov eax, dword [0x56cefc]
mov dword [esp], eax
call sym.fatal_error_unsigned_int__char_const__..._
mov eax, dword [0x56cefc]
mov dword [esp + 4], str.output_filename_may_not_be_empty
mov dword [esp], eax
call sym.fatal_error_unsigned_int__char_const__..._
xor eax, eax
test esi, esi
jne 0x40940b
jmp 0x408976
jmp 0x4ee268
mov dword [esp + 8], str.process_command
mov dword [esp + 4], 0x1504
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_gcc.cc
call sym.fancy_abort_char_const__int__char_const_
mov dword [esp + 8], str.process_command
mov dword [esp + 4], 0x1475
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_gcc.cc
call sym.fancy_abort_char_const__int__char_const_
mov dword [esp + 8], str.process_command
mov dword [esp + 4], 0x14b4
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_gcc.cc
call sym.fancy_abort_char_const__int__char_const_
mov dword [esp + 8], str.process_command
mov dword [esp + 4], 0x14e6
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_gcc.cc
call sym.fancy_abort_char_const__int__char_const_
mov dword [esp + 8], str.process_command
mov dword [esp + 4], 0x14b0
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_gcc.cc
call sym.fancy_abort_char_const__int__char_const_