Function at 0x401010
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x409040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push edi
push 0x406298
call esi
mov edi, dword [sym.imp.KERNEL32.dll_Beep]
add esp, 4
nop dword [eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40629c
call fcn.00401570
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea eax, [ebp - 8]
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::operator___int__]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::operator__void_const]
test al, al
jne 0x40107d
mov eax, dword [ebp - 8]
test eax, eax
js 0x40107d
cmp eax, 5
jle 0x4010d3
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0
push 0x7fff
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int_]
push 5
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4062c8
call fcn.00401570
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, 0x406294
mov ecx, eax
jmp 0x40104b
test eax, eax
je 0x401438
push 0x406298
call esi
mov bl, 1
add esp, 4
xor esi, esi
mov byte [ebp - 9], bl
nop dword [eax]
mov cl, byte [ebp - 8]
mov dl, bl
call fcn.004023b0
mov cl, byte [ebp - 8]
mov dl, bl
mov byte [ebp - 0xb], al
call fcn.00402a00
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov bh, al
mov edx, 0x4062ec
call fcn.00401570
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea edx, [ebp - 0xa]
call fcn.004019c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::operator__void_const]
test al, al
jne 0x401171
mov bl, byte [ebp - 0xa]
cmp bl, 0x31
jl 0x40114d
movsx ecx, bh
add ecx, 0x30
movsx eax, bl
cmp eax, ecx
jle 0x4011c7
cmp bl, 0x41
jl 0x40115f
movsx ecx, bh
add ecx, 0x40
movsx eax, bl
cmp eax, ecx
jle 0x4011c7
cmp bl, 0x61
jl 0x401171
movsx ecx, bh
add ecx, 0x60
movsx eax, bl
cmp eax, ecx
jle 0x4011c7
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0
push 0x7fff
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov bl, bh
mov edx, 0x4062f8
add bl, 0x40
call fcn.00401570
mov dl, bl
mov ecx, eax
call fcn.00401790
mov edx, 0x406294
mov ecx, eax
jmp 0x401114
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0
push 0x7fff
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int_]
mov bh, byte [ebp - 0xb]
movsx ecx, bh
movsx edx, bl
lea eax, [ecx + 0x40]
cmp edx, eax
je 0x40124c
lea eax, [ecx + 0x30]
cmp edx, eax
je 0x40124c
lea eax, [ecx + 0x60]
cmp edx, eax
je 0x40124c
push 0x1f4
push 0xc8
call edi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x406330
push 0x401ab0
add bh, 0x40
call fcn.00401570
push ecx
mov dl, bh
mov ecx, eax
call fcn.00401790
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
jmp 0x40127a
push 0x1f4
push 0x3e8
call edi
push 0x401ab0
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40631c
call fcn.00401570
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
inc esi
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40635c
call fcn.00401570
call dword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
push 0x406298
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov bl, byte [ebp - 9]
add esp, 4
inc bl
mov byte [ebp - 9], bl
cmp bl, 4
jle 0x4010f0
push 0x401ab0
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x406388
call fcn.00401570
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x401ab0
push 4
push esi
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x40639c
call fcn.00401570
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, 0x406394
mov ecx, eax
call fcn.00401570
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4063b4
call fcn.00401570
movss xmm1, dword [0x406778]
mov eax, str.e_42m
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.e_41m
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x406774]
mulss xmm0, dword [0x40677c]
comiss xmm1, xmm0
movss dword [ebp - 0x10], xmm0
cmovbe edx, eax
call fcn.00401570
movss xmm0, dword [ebp - 0x10]
push 0x401ab0
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movss dword [esp], xmm0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___float_]
push ecx
mov edx, str._e_0m
mov ecx, eax
call fcn.00401570
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, 0x4063ec
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401570
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea edx, [ebp - 0xc]
call fcn.004019c0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::operator__void_const]
test al, al
jne 0x4013d9
mov bl, byte [ebp - 0xc]
cmp bl, 0x79
je 0x40140c
cmp bl, 0x59
je 0x40140c
cmp bl, 0x6e
je 0x40140c
cmp bl, 0x4e
je 0x40140c
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0
push 0x7fff
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int_]
mov edx, 0x406414
jmp 0x401398
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push 0x406298
call esi
add esp, 4
cmp bl, 0x79
je 0x401040
cmp bl, 0x59
je 0x401040
push 0x406298
call esi
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040427a
mov esp, ebp
pop ebp
ret