Running the program, it looks quite simple, the goal is to get more than 1000 points
We see that if we try to add more 100 points in the current score, it says "Stop Cheating". Let's analyze a the program with radare2.
We have 5 printf() functions showing the 5 outputs when the program is being run.
The interesting part is located after the functiong fgets(), when there is a string conversion into an integer. Atoi() function take the string that the user has entered and convert it as a integer.
Integer range is between those two values : [-2147483647 ; +2147483648]. Getting a value lower than -2147483647 or superior than 2147483648 will cause an integer overflow.
We see that the program is comparing the value that we have entered with 0x64 = 100 in decimal. In the case, the value is greater than 100, it will print "Stop Cheating" and then jump again to 0x12eb to terminate the program.
Let's enter a value lower than 100 and that causes a integer overflow.
For example : -2147483648.