Function at 0x401460
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x40
call sym.___main
fld dword [0x40b39c]
fstp dword [esp + 0x3c]
mov dword [esp], str.color_a
call sym._system
mov dword [esp], str._n4.__Programa_Examen_Gallo__n
call dbg.printf
mov dword [esp], str.Menu_Elige_una_figura_n
call dbg.printf
mov dword [esp], str.1._Circulo_t_n_2._Triangulo_Equilatero_n
call dbg.printf
mov dword [esp], str.3._Triangulo_Isoceles_t_n_4._Triangulo_Escaleno_n
call dbg.printf
mov dword [esp], str.Usuario_elige_una_opcion_n
call dbg.printf
lea eax, [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp], 0x40b111
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x4014f2
mov eax, dword [esp + 0x34]
cmp eax, 2
jle 0x4014fe
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x401490
mov eax, dword [esp + 0x34]
cmp eax, 2
jle 0x401514
jmp 0x401490
mov dword [esp], 0x40b139
call sym._system
mov eax, dword [esp + 0x34]
cmp eax, 2
je 0x401614
cmp eax, 2
jg 0x40153c
cmp eax, 1
je 0x401553
jmp 0x401a09
cmp eax, 3
je 0x4016d7
cmp eax, 4
je 0x40182a
jmp 0x401a09
mov dword [esp], str.Elegiste_el_circulo_n
call dbg.printf
mov dword [esp], str.Usuario_introduce_el_diametro_del_circulo_n
call dbg.printf
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x30]
fld1
fucompp
fnstsw ax
sahf
ja 0x4015ac
fld dword [esp + 0x30]
fld dword [0x40b3a0]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x4015b8
mov dword [esp], str.Valor_no_valido_vuelve_a_intarlo_n
call dbg.printf
fld dword [esp + 0x30]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x40155f
fld dword [esp + 0x30]
fld dword [0x40b3a0]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x4015ed
jmp 0x40155f
fld dword [esp + 0x30]
fld dword [esp + 0x3c]
fmulp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp qword [esp + 4]
mov dword [esp], str.El_perimetro_del_circulo_es:__f
call dbg.printf
jmp 0x401a09
mov dword [esp], str.Elegiste_Triangulo_Equilatero_n
call dbg.printf
mov dword [esp], str.Usuario_introduce_cuanto_miden_los_lados_n
call dbg.printf
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x2c]
fld1
fucompp
fnstsw ax
sahf
ja 0x40166d
fld dword [esp + 0x2c]
fld dword [0x40b3a4]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x401679
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
fld dword [esp + 0x2c]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x401620
fld dword [esp + 0x2c]
fld dword [0x40b3a4]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x4016ae
jmp 0x401620
fld dword [esp + 0x2c]
fld dword [0x40b3a8]
fmulp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp qword [esp + 4]
mov dword [esp], str.El_perimetro_del_triangulo_equilatero_es_:__f
call dbg.printf
jmp 0x401a09
mov dword [esp], str.Elegiste_el_Triangulo_Isoceles_n
call dbg.printf
mov dword [esp], str.Usuario_introduce_cuanto_miden_los_lados
call dbg.printf
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x2c]
fld1
fucompp
fnstsw ax
sahf
ja 0x401730
fld dword [esp + 0x2c]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x40173c
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
fld dword [esp + 0x2c]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x4016e3
fld dword [esp + 0x2c]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x401771
jmp 0x4016e3
mov dword [esp], str.Usuario_introduce_cuanto_mide_la_base
call dbg.printf
lea eax, [esp + 0x28]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x28]
fld1
fucompp
fnstsw ax
sahf
ja 0x4017be
fld dword [esp + 0x28]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x4017ca
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
fld dword [esp + 0x28]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x401771
fld dword [esp + 0x28]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x4017ff
jmp 0x401771
fld dword [esp + 0x2c]
fld st(0)
faddp st(1)
fld dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp qword [esp + 4]
mov dword [esp], str.El_perimetro_del_triangulo_isoceles_es:__f
call dbg.printf
jmp 0x401a09
mov dword [esp], str.Elegiste_Triangulo_Escaleno_n
call dbg.printf
mov dword [esp], str.Usuario_introduce_cuanto_mide_el_1er_lado_n
call dbg.printf
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x24]
fld1
fucompp
fnstsw ax
sahf
ja 0x401883
fld dword [esp + 0x24]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x40188f
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
fld dword [esp + 0x24]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x401836
fld dword [esp + 0x24]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x4018c4
jmp 0x401836
mov dword [esp], str.Usuario_introduce_cuanto_mide_el_2do_lado_n
call dbg.printf
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x20]
fld1
fucompp
fnstsw ax
sahf
ja 0x401911
fld dword [esp + 0x20]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x40191d
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
fld dword [esp + 0x20]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x4018c4
fld dword [esp + 0x20]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x401952
jmp 0x4018c4
mov dword [esp], str.Usuario_introduce_cuanto_mide_el_1er_lado_n
call dbg.printf
lea eax, [esp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp], 0x40b17f
call sym._scanf
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp], eax
call sym._fflush
fld dword [esp + 0x1c]
fld1
fucompp
fnstsw ax
sahf
ja 0x40199f
fld dword [esp + 0x1c]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
jbe 0x4019ab
mov dword [esp], str.Valor_no_valido_vuelve_a_intentarlo_n
call dbg.printf
fld dword [esp + 0x1c]
fld1
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
je 0x401952
fld dword [esp + 0x1c]
fld dword [0x40b3ac]
fxch st(1)
fucompp
fnstsw ax
sahf
seta al
xor eax, 1
test al, al
jne 0x4019e0
jmp 0x401952
fld dword [esp + 0x24]
fld dword [esp + 0x20]
faddp st(1)
fld dword [esp + 0x1c]
faddp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp qword [esp + 4]
mov dword [esp], str.El_perimetro_del_triangulo_Escaleno_es:__f
call dbg.printf
nop
mov dword [esp], str._n_n_n_n_n_n_t_nFIN........._t_n
call dbg.printf
mov eax, 0
leave
ret