Appropriately save/restore registers.

    We clobber them, we should restore them. That's the calling
    convention. So say we all.
Appropriately put in fresh registers.

    We weren't seeing issues in the old setup because
    we were spilling to stack far too often. This fixes
    all the bad clobbers.