The problem was that when BSWAP was used, UnsafeWriteRegToReg() returned the address of that instead of the MOV.