It scans in shellcode, and runs it. There is a length check, and an xor check. Checkout the linked writeup for a much more detailed explanation.
https://github.com/guyinatuxedo/ctf/tree/master/defconquals2019/speedrun/s3