Function at 0x4014fc
Capabilities:
Execute command

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push ecx
sub esp, 0x44
call sym.___main
mov dword [esp + 4], str.Welcome_to_MJ_Calculator_Program_
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov dword [esp + 4], str.Enter_the_value_for_Number_1
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x10]
mov dword [esp], eax
mov ecx, sym.imp.libstdc_6.dll_std::cin
call sym.std::istream::operator___float_
sub esp, 4
mov dword [esp + 4], str.Enter_the_value_for_Number_2
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x14]
mov dword [esp], eax
mov ecx, sym.imp.libstdc_6.dll_std::cin
call sym.std::istream::operator___float_
sub esp, 4
mov dword [esp + 4], str.Pres_A_for_Addition__M_for_Multiplication__D_for_Division_or_S_for_Subtraction
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x15]
mov dword [esp + 4], eax
mov dword [esp], sym.imp.libstdc_6.dll_std::cin
call sym.std::basic_istream_char__std::char_traits_char____std::operator___char__std::char_traits_char____std::basic_istream_char__std::char_traits_char_____char_
movzx eax, byte [ebp - 0x15]
cmp al, 0x41
je 0x4015ef
movzx eax, byte [ebp - 0x15]
cmp al, 0x61
jne 0x401611
fld dword [ebp - 0x14]
fld dword [ebp - 0x10]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call sym.add_float__float_
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fstp dword [ebp - 0xc]
jmp 0x40169c
movzx eax, byte [ebp - 0x15]
cmp al, 0x4d
je 0x401621
movzx eax, byte [ebp - 0x15]
cmp al, 0x6d
jne 0x401640
fld dword [ebp - 0x14]
fld dword [ebp - 0x10]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call sym.mul_float__float_
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fstp dword [ebp - 0xc]
jmp 0x40169c
movzx eax, byte [ebp - 0x15]
cmp al, 0x44
je 0x401650
movzx eax, byte [ebp - 0x15]
cmp al, 0x64
jne 0x40166f
fld dword [ebp - 0x14]
fld dword [ebp - 0x10]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call sym.div_float__float_
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fstp dword [ebp - 0xc]
jmp 0x40169c
movzx eax, byte [ebp - 0x15]
cmp al, 0x53
je 0x40167f
movzx eax, byte [ebp - 0x15]
cmp al, 0x73
jne 0x40169c
fld dword [ebp - 0x14]
fld dword [ebp - 0x10]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call sym.sub_float__float_
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fstp dword [ebp - 0xc]
fld dword [ebp - 0xc]
fstp dword [esp]
mov ecx, sym.imp.libstdc_6.dll_std::cout
call sym.std::ostream::operator___float_
sub esp, 4
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
mov dword [esp + 4], str.Press_Q_to_Quit_or_Press_any_other_key_to_repeat
mov dword [esp], sym.imp.libstdc_6.dll_std::cout
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp], sym.std::basic_ostream_char__std::char_traits_char____std::endl_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov ecx, eax
call sym.std::ostream::operator___std::ostream____std::ostream__
sub esp, 4
lea eax, [ebp - 0x1c]
mov dword [esp], eax
mov ecx, sym.imp.libstdc_6.dll_std::cin
call sym.std::istream::operator___int_
sub esp, 4
mov eax, dword [ebp - 0x1c]
cmp eax, 0x51
je 0x40171b
movzx eax, byte [ebp - 0x15]
cmp al, 0x71
je 0x40171b
mov dword [esp], str.Pause
call sym._system
mov eax, 0
jmp 0x401720
mov eax, 0
mov ecx, dword [ebp - 4]
leave
lea esp, [ecx - 4]
ret