Function at 0x415170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, eax
mov eax, ecx
push edi
push esi
push ebx
sub esp, 0x4c
mov edi, dword [eax + 4]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x38], ebx
mov byte [esp + 0x37], cl
cmp edx, 2
je 0x414ff7
test cl, cl
jne sym.maybe_default_option_gcc_options__gcc_options__default_options_const__int__bool__bool__bool__unsigned_int__cl_option_handlers_const__unsigned_int__diagnostic_context___clone_.cold_
cmp edx, 3
je 0x415007
cmp byte [esp + 0x38], 0
jne 0x4eeae0
cmp edx, 1
je 0x415016
mov ebx, esi
test bl, bl
jne 0x4eeaa8
cmp dword [eax], 0xb
ja case.0x415021.0
mov ebx, dword [eax]
jmp dword [ebx*4 + 0x5061f4]
test edx, edx
sete dl
test dl, dl
je 0x4150b0
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], esi
mov edx, dword [eax + 0xc]
mov dword [esp + 0x10], edx
sar edx, 0x1f
mov dword [esp + 0x14], edx
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], edi
mov dword [esp], ebp
mov dword [esp + 4], eax
call sym.handle_generated_option_gcc_options__gcc_options__unsigned_int__char_const__long_long__unsigned_int__int__unsigned_int__cl_option_handlers_const__bool__diagnostic_context_
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebx, byte [esp + 0x38]
mov byte [esp + 0x37], bl
cmp byte [esp + 0x37], 0
jne case.0x415021.1
mov edx, dword [eax + 8]
test edx, edx
jne 0x415092
lea edx, [edi + edi*8]
lea edx, [edx*8 + 0x52c3a0]
cmp byte [edx + 0x28], 0
js 0x415092
test byte [edx + 0x26], 1
jne 0x415092
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], 0
test eax, eax
mov dword [esp + 0xc], 0
sete al
movzx eax, al
mov dword [esp + 0x10], eax
jmp 0x41507e
test edx, edx
setg dl
jmp 0x415035
test edx, edx
setle dl
or dl, cl
jne 0x4150b0
mov ebx, esi
test bl, bl
jne 0x4150b0
jmp case.0x415021.1
test edx, edx
setg bl
xor esi, 1
and ebx, esi
mov byte [esp + 0x37], bl
jmp case.0x415021.10
cmp edx, 1
setg dl
jmp 0x415035
cmp edx, 1
setle dl
or dl, cl
je 0x415145
jmp 0x4150b0
cmp edx, 2
setg dl
jmp 0x415035
cmp edx, 2
setg bl
or ebx, ecx
mov byte [esp + 0x37], bl
jmp case.0x415021.10
mov dword [esp + 8], str.maybe_default_option
mov dword [esp + 4], 0x1d3
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_opts.cc
call sym.fancy_abort_char_const__int__char_const_
mov dword [esp + 8], str.maybe_default_option
mov dword [esp + 4], 0x205
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_opts.cc
call sym.fancy_abort_char_const__int__char_const_
mov dword [esp + 8], str.maybe_default_option
mov dword [esp + 4], 0x1d1
mov dword [esp], str._Host_home_yyyy_Work_riscv_none_elf_gcc_12.2.0_1_win32_ia32_sources_gcc_12.2.0_gcc_opts.cc
call sym.fancy_abort_char_const__int__char_const_