use %rdx instead of %rbx for scratch