Function at 0x406df0
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
mov esi, ecx
mov edx, str.Select_a_plate___
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push edi
mov dword [esp + 0x14], esi
call fcn.00403760
mov ebx, dword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
call ebx
mov edi, eax
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
add esp, 4
test eax, eax
je 0x406f63
lea eax, [edi - 0x31]
test eax, eax
js 0x406f63
cmp eax, 2
ja 0x406f63
mov ecx, dword [esi + 8]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
call fcn.00405370
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Select_a_Customer___
mov dword [esp + 0xc], eax
call fcn.00403760
mov edi, dword [esi + 0x20]
sub edi, dword [esi + 0x1c]
sar edi, 2
call ebx
mov ebx, eax
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
add esp, 4
test eax, eax
je 0x406f46
add ebx, 0xffffffcf
js 0x406f46
lea eax, [edi - 1]
cmp ebx, eax
ja 0x406f46
mov eax, dword [esi + 0x1c]
mov edx, 0
mov ebx, dword [eax + ebx*4]
mov edi, dword [ebx + 0x24]
mov esi, dword [ebx + 0x20]
sub edi, esi
je 0x406ec4
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
sub esi, ecx
mov al, byte [esi + ecx]
cmp al, byte [ecx]
jne 0x406f15
inc edx
inc ecx
cmp edx, edi
jb 0x406eb7
mov esi, dword [esp + 0x14]
mov edx, str.Great_Job_
mov eax, dword [esi + 0x28]
inc dword [eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00403760
push 0x403730
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_____]
movss xmm0, dword [ebx + 4]
mov ecx, esi
subss xmm0, dword [0x40f04c]
push 0
movss dword [ebx + 4], xmm0
call fcn.00406fa0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
je 0x406f80
mov dword [eax + 4], ecx
jmp 0x406f80
movss xmm0, dword [ebx + 4]
mov edx, str.Wrong_Order_
subss xmm0, dword [0x40f04c]
movss dword [ebx + 4], xmm0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00403760
push 0x403730
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 0x406f05
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Invalid_Input
call fcn.00403760
push 0x403730
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, str.Invalid_Input
call fcn.00403760
push 0x403730
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 str.pause
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret