This is my take at solving the Synacor Challenge.
The virtual machine is implemented at virtualMachine.py, the disassembled code with a couple comments is at challenge-commented.asm, and the folders puzzle-solvers and decrypt-memory contain some pieces of code which were helpful when solving the puzzles.
There's also a complete writeup at writeup.md, which was almost as fun to write as going through the challenge itself!
Thanks to Eric Wastl for creating this challenge.