Function at 0x401390
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xec
and esp, 0xfffffff0
mov eax, 0
add eax, 0xf
add eax, 0xf
shr eax, 4
shl eax, 4
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
call fcn.0040de30
mov dword [ebp - 0xac], sym.___gxx_personality_sj0
mov dword [ebp - 0xa8], 0x43dcb4
lea eax, [ebp - 0xa4]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x4015bc
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0xc4]
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
call sym.___main
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], 0x443460
mov dword [ebp - 0xc0], 0xffffffff
call method.std::istream.operator___int_
lea eax, [ebp - 0x38]
mov dword [esp], eax
call fcn.0042e890
cmp dword [ebp - 0x1c], 0
jle 0x401585
lea eax, [ebp - 0x1c]
dec dword [eax]
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
mov dword [esp], 0x443460
mov dword [ebp - 0xc0], 1
call method.std::basic_istream_char__std::char_traits_char____std::operator___char__std::char_traits_char___std.allocator_char____std::basic_istream_char__std::char_traits_char_____std::basic_string_char__std::char_traits_char___std::allocator_char____
lea eax, [ebp - 0x38]
mov dword [esp], eax
call method.std::string.length___const
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x3c]
jge 0x4014bc
mov eax, dword [ebp - 0x8c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
mov dword [ebp - 0xc0], 1
call method.std::string.operator___unsigned_int_
movsx eax, byte [eax]
sub eax, 0x30
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x90]
lea eax, [ebp - 0x40]
add dword [eax], edx
lea eax, [ebp - 0x8c]
inc dword [eax]
jmp 0x401471
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
test eax, eax
jle 0x401550
mov dword [ebp - 0x90], 0
cmp dword [ebp - 0x40], 0
jle 0x401542
mov ecx, dword [ebp - 0x40]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x40]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x90]
add dword [eax], edx
jmp 0x4014ec
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x40], eax
jmp 0x4014c5
mov eax, dword [ebp - 0x90]
mov dword [esp + 4], eax
mov dword [esp], 0x4433c0
mov dword [ebp - 0xc0], 1
call method.std::ostream.operator___int_
mov dword [esp + 4], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov dword [esp], eax
call method.std::ostream.operator___std::ostream____std::ostream__
jmp 0x401426
mov dword [esp], str.pause
mov dword [ebp - 0xc0], 1
call sym._system
lea eax, [ebp - 0x38]
mov dword [esp], eax
mov dword [ebp - 0xc0], 0xffffffff
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
mov dword [ebp - 0xc8], 0
jmp 0x401610
lea eax, [ebp - 0xc4]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0xc8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret