lul, I remember me and my dad tinkering with this a couple weeks ago I think. We never actually figured it all out though. Its a hella lot harder than most things are, and I doubt many people that populate this forum would know anything about it.
If you are not running linux, you wont be getting any of this. He is a linux junky, and recognized it as shellcode. Compiled it in gedit and it didnt crash so he assumed it was. The asm of it further proved the point. After compiling it he found some encrypted memory values, and after collaborating with some of his other linux junkies, (without much help to me mind you) he found the second stage of the challenge. There is also some base64 data encrypted in the header of the actual .png file too. I do believe you need that code, along with the code that you get from the memory from the original code to get some URL to the second stage.