Function at 0x401390
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push ebx
mov eax, 0x3704
call fcn.0040d2d0
and esp, 0xfffffff0
mov eax, 0
add eax, 0xf
add eax, 0xf
shr eax, 4
shl eax, 4
mov dword [ebp - 0x36ec], eax
mov eax, dword [ebp - 0x36ec]
call fcn.0040d2d0
call sym.___main
lea eax, [ebp - 0x3f8]
mov dword [esp + 4], eax
mov dword [esp], 0x443460
call fcn.0043d0b0
lea eax, [ebp - 0x3f8]
mov dword [esp], eax
call sym._strlen
mov dword [ebp - 0x36d8], eax
lea eax, [ebp - 0x3f8]
mov dword [esp], eax
call sym._strrev
lea eax, [ebp - 0x7e8]
mov dword [esp + 4], eax
mov dword [esp], 0x443460
call fcn.0043d0b0
lea eax, [ebp - 0x7e8]
mov dword [esp], eax
call sym._strlen
mov dword [ebp - 0x36dc], eax
lea eax, [ebp - 0x7e8]
mov dword [esp], eax
call sym._strrev
mov dword [ebp - 0x36cc], 0
mov eax, dword [ebp - 0x36cc]
cmp eax, dword [ebp - 0x36d8]
jge 0x40147b
mov edx, dword [ebp - 0x36cc]
lea eax, [ebp - 8]
add eax, dword [ebp - 0x36cc]
sub eax, 0x3f0
movsx eax, byte [eax]
sub eax, 0x30
mov dword [ebp + edx*4 - 0x1788], eax
lea eax, [ebp - 0x36cc]
inc dword [eax]
jmp 0x401442
mov dword [ebp - 0x36cc], 0
mov eax, dword [ebp - 0x36cc]
cmp eax, dword [ebp - 0x36dc]
jge 0x4014be
mov edx, dword [ebp - 0x36cc]
lea eax, [ebp - 8]
add eax, dword [ebp - 0x36cc]
sub eax, 0x7e0
movsx eax, byte [eax]
sub eax, 0x30
mov dword [ebp + edx*4 - 0x2728], eax
lea eax, [ebp - 0x36cc]
inc dword [eax]
jmp 0x401485
mov dword [ebp - 0x36d4], 0
mov dword [ebp - 0x36cc], 0
lea eax, [ebp - 0x36dc]
mov dword [esp + 4], eax
lea eax, [ebp - 0x36d8]
mov dword [esp], eax
call method.int_const_std.max_int__int_const__int_const_
mov eax, dword [eax]
cmp eax, dword [ebp - 0x36cc]
jl 0x401590
mov ecx, dword [ebp - 0x36cc]
mov edx, dword [ebp - 0x36cc]
mov eax, dword [ebp - 0x36cc]
mov eax, dword [ebp + eax*4 - 0x2728]
add eax, dword [ebp + edx*4 - 0x1788]
add eax, dword [ebp - 0x36d4]
mov dword [ebp + ecx*4 - 0x36c8], eax
mov eax, dword [ebp - 0x36cc]
mov ecx, dword [ebp + eax*4 - 0x36c8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [ebp - 0x36d4], eax
mov ebx, dword [ebp - 0x36cc]
mov eax, dword [ebp - 0x36cc]
mov ecx, dword [ebp + eax*4 - 0x36c8]
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 + ebx*4 - 0x36c8], eax
lea eax, [ebp - 0x36cc]
inc dword [eax]
jmp 0x4014d2
mov eax, dword [ebp - 0x36dc]
add eax, dword [ebp - 0x36d8]
mov dword [ebp - 0x36d4], eax
mov eax, dword [ebp - 0x36d4]
cmp dword [ebp + eax*4 - 0x36c8], 0
jne 0x4015c5
cmp dword [ebp - 0x36d4], 0
jle 0x4015c5
lea eax, [ebp - 0x36d4]
dec dword [eax]
jmp 0x4015a2
mov eax, dword [ebp - 0x36d4]
dec eax
mov dword [ebp - 0x36cc], eax
cmp dword [ebp - 0x36cc], 0
js 0x401602
mov eax, dword [ebp - 0x36cc]
mov eax, dword [ebp + eax*4 - 0x36c8]
mov dword [esp + 4], eax
mov dword [esp], 0x4433c0
call method.std::ostream.operator___int_
lea eax, [ebp - 0x36cc]
dec dword [eax]
jmp 0x4015d2
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], 0x4433c0
call method.std::ostream.operator___std::ostream____std::ostream__
mov dword [esp], str.pause
call sym._system
mov eax, 0
mov ebx, dword [ebp - 4]
leave
ret