; must preserve rbx, rbp, rdi, rsi, rsp, r12, r13, r14, AND r15