Thread:KockaAdmiralac/@comment-31984232-20180612141733/@comment-27345308-20180701002903

Simplification of the above code works this way:
 * Original state:
 * parameter to the first immediately invoking function is equal to the  array and   parameter is equal to 387, so this can be simplified to:
 * means that the  variable is increased by one before its value is returned, which means 388 is passed as the   to the immediately invoking function:
 * means that the block inside it is executed as long as  isn't zero, which means that it's executed 387 times. You might have seen this loop before as something like:
 * pushes an element at the end of the  array and   removes an element from the front of it and returns it, which basically means the code above is removing things from the front of the   array and pushing them to the back of it. Those two functions have their inverse functions, too. If you want to return the array to its initial state after shifting it with the above way, you can do:
 * As for where "katana" originally came from, since 0x393 means 915 and 915 < 387 it means it wasn't moved from front to back during the shift, so its original position was 915 + 387 = 1302. As 1302 is 0x516, try using  without shifting the array and see what comes up.