Don't push a register in the middle of a an asm function. Instead add a proper prolog and store rbx in a home param slot.