Function at 0x402440
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
mov eax, dword [0x408004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push str.title__
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
mov dword [ebp - 0x10], 0
mov edi, 9
mov esi, 9
nop word [eax + eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4051b4
call fcn.00403700
sub esi, 1
jne 0x402480
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x403930
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_____]
sub edi, 1
jne 0x402470
lea esi, [edi + 1]
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
call edi
cdq
mov ecx, 9
idiv ecx
lea ebx, [edx + 1]
mov dword [ebp - 0x1c], ebx
call edi
cdq
mov ecx, 9
idiv ecx
lea eax, [ebx + ebx*4]
lea ecx, [edx + 1]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x18], ecx
cmp byte [ebp + eax - 0x88], 0
jne 0x4024ed
mov byte [ebp + eax - 0x88], 1
inc esi
inc esi
cmp esi, 0xa
jle 0x4024b4
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop dword [eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.___________x_
call fcn.00403700
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 [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.___________y_
call fcn.00403700
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
lea eax, [ebp - 0xc]
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 eax, dword [ebp - 8]
push 0x405340
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xc]
lea eax, [eax + ecx*2]
mov byte [ebp + eax - 0xf0], 1
call esi
mov ecx, dword [ebp - 8]
add esp, 4
mov edx, dword [ebp - 0xc]
cmp ebx, ecx
jne 0x402571
cmp dword [ebp - 0x18], edx
je 0x402694
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*2]
cmp byte [ebp + eax - 0x88], 0
jne 0x402500
mov edi, 1
mov dword [ebp - 0x14], edi
lea ebx, [edi + 9]
mov esi, 1
cmp edi, ecx
jne 0x40259d
cmp esi, edx
je 0x4025ae
lea eax, [ebx + esi]
cmp byte [ebp + eax - 0xf0], 1
jne 0x402643
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x10]
lea edi, [edx + eax*2]
cmp byte [ebp + edi - 0x93], 1
lea eax, [ecx + 1]
cmovne eax, ecx
cmp byte [ebp + edi - 0x92], 1
lea ecx, [eax + 1]
cmovne ecx, eax
cmp byte [ebp + edi - 0x89], 1
lea eax, [ecx + 1]
cmovne eax, ecx
cmp byte [ebp + edi - 0x7d], 1
lea ecx, [eax + 1]
cmovne ecx, eax
cmp byte [ebp + edi - 0x7e], 1
lea edx, [ecx + 1]
cmovne edx, ecx
cmp byte [ebp + edi - 0x87], 1
lea eax, [edx + 1]
cmovne eax, edx
cmp byte [ebp + edi - 0x7f], 1
mov edx, 0x40547c
lea ecx, [eax + 1]
cmovne ecx, eax
cmp byte [ebp + edi - 0x91], 1
lea eax, [ecx + 1]
cmovne eax, ecx
push eax
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov dword [ebp - 0x10], eax
call fcn.00403700
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 edi, dword [ebp - 0x14]
jmp 0x402653
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4051b4
call fcn.00403700
inc esi
cmp esi, 9
jg 0x402664
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
jmp 0x402595
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x403930
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 edi
add ebx, 0xa
mov dword [ebp - 0x14], edi
cmp ebx, 0x5a
jg 0x40268c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
jmp 0x402590
mov ebx, dword [ebp - 0x1c]
jmp 0x4024f3
push 0x405340
call esi
add esp, 4
mov edx, str._________
push 0x403930
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00403700
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 ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403ad9
mov esp, ebp
pop ebp
ret