Function at 0x401290
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
push edi
mov ebx, ecx
push 0x4031e0
mov dword [esp + 0x18], ebx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov eax, dword [ebx]
add esp, 4
add eax, 2
xor esi, esi
test eax, eax
jle 0x4012da
nop dword [eax + eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4031e4
call fcn.00401930
mov eax, dword [ebx]
inc esi
add eax, 2
cmp esi, eax
jl 0x4012c0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x401b60
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_____]
xor esi, esi
cmp dword [ebx + 4], esi
jle 0x401439
xor edi, edi
cmp dword [ebx], edi
jle 0x40141e
mov ecx, dword [ebx + 0x18]
call fcn.004010c0
mov dword [esp + 0x20], eax
call fcn.004010d0
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x24], eax
call fcn.004010c0
mov edx, eax
mov dword [esp + 0x1c], edx
call fcn.004010d0
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov ecx, dword [ecx + 0x20]
call fcn.004010c0
mov dword [esp + 0x10], eax
call fcn.004010d0
mov ecx, eax
mov dword [esp + 0x18], ecx
test edi, edi
jne 0x401361
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4031e4
call fcn.00401930
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x20], edi
jne 0x401374
cmp dword [esp + 0x24], esi
jne 0x401374
mov edx, 0x4031e8
jmp 0x4013eb
cmp edx, edi
jne 0x401383
cmp ebx, esi
jne 0x401383
mov edx, 0x4031ec
jmp 0x4013eb
mov eax, dword [esp + 0x10]
cmp eax, edi
jne 0x401396
cmp ecx, esi
jne 0x401396
mov edx, 0x4031ec
jmp 0x4013eb
cmp edx, edi
jne 0x4013c8
lea eax, [ebx + 1]
cmp eax, esi
jne 0x4013a8
mov edx, 0x4031ec
jmp 0x4013eb
lea eax, [ebx + 2]
cmp eax, esi
jne 0x4013b6
mov edx, 0x4031ec
jmp 0x4013eb
lea eax, [ebx + 3]
cmp eax, esi
jne 0x4013c4
mov edx, 0x4031ec
jmp 0x4013eb
mov eax, dword [esp + 0x10]
cmp eax, edi
jne 0x4013e6
lea eax, [ecx + 1]
mov edx, 0x4031ec
cmp eax, esi
je 0x4013eb
lea eax, [ecx + 2]
cmp eax, esi
je 0x4013eb
lea eax, [ecx + 3]
cmp eax, esi
je 0x4013eb
mov edx, 0x4031f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00401930
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx]
lea eax, [ecx - 1]
cmp edi, eax
jne 0x401415
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4031e4
call fcn.00401930
mov ecx, dword [ebx]
inc edi
cmp edi, ecx
jl 0x401300
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x401b60
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
cmp esi, dword [ebx + 4]
jl 0x4012f6
mov eax, dword [ebx]
xor esi, esi
add eax, 2
test eax, eax
jle 0x40146a
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x4031e4
call fcn.00401930
mov eax, dword [ebx]
inc esi
add eax, 2
cmp esi, eax
jl 0x401450
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x401b60
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.Score_1:
push 0x401b60
push dword [ebx + 0xc]
push 0x401b60
push dword [ebx + 8]
call fcn.00401930
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 edx, 0x4031f4
mov ecx, eax
call fcn.00401930
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_____]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret