#![allow(non_upper_case_globals, unused_macros, unused_imports)]
use crate::low::macros::*;
pub(crate) fn bignum_kmul_16_32(z: &mut [u64], x: &[u64], y: &[u64], t: &mut [u64; 32]) {
debug_assert!(z.len() == 32);
debug_assert!(x.len() == 16);
debug_assert!(y.len() == 16);
unsafe {
core::arch::asm!(
Q!(" endbr64 " ),
Q!(" push " "rbx"),
Q!(" push " "rbp"),
Q!(" push " "r12"),
Q!(" push " "r13"),
Q!(" push " "r14"),
Q!(" push " "r15"),
Q!(" mov " "rcx, rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "r9, rax, QWORD PTR [rsi]"),
Q!(" mov " "QWORD PTR [rdi], rax"),
Q!(" mulx " "r10, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r9, rax"),
Q!(" mulx " "r11, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r10, rax"),
Q!(" mulx " "r12, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r11, rax"),
Q!(" mulx " "r13, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r12, rax"),
Q!(" mulx " "r14, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r13, rax"),
Q!(" mulx " "r15, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r14, rax"),
Q!(" mulx " "r8, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r15, rax"),
Q!(" adc " "r8, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x8]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x8], r9"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "r9, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbp"),
Q!(" adc " "r9, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x10]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x10], r10"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "r10, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbp"),
Q!(" adc " "r10, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x18]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x18], r11"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "r11, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbp"),
Q!(" adc " "r11, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x20]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x20], r12"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "r12, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbp"),
Q!(" adc " "r12, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x28]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x28], r13"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "r13, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbp"),
Q!(" adc " "r13, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x30]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x30], r14"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "r14, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbp"),
Q!(" adc " "r14, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x38]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x38], r15"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "r15, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbp"),
Q!(" adc " "r15, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x40]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x40], r8"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "r8, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbp"),
Q!(" adc " "r8, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x48]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x48], r9"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "r9, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbp"),
Q!(" adc " "r9, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x50]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x50], r10"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "r10, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbp"),
Q!(" adc " "r10, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x58]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x58], r11"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "r11, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbp"),
Q!(" adc " "r11, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x60]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x60], r12"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "r12, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbp"),
Q!(" adc " "r12, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x68]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x68], r13"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "r13, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbp"),
Q!(" adc " "r13, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x70]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x70], r14"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "r14, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbp"),
Q!(" adc " "r14, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x78]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x78], r15"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "r15, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbp"),
Q!(" adc " "r15, rbp"),
Q!(" mov " "QWORD PTR [rdi + 0x80], r8"),
Q!(" mov " "QWORD PTR [rdi + 0x88], r9"),
Q!(" mov " "QWORD PTR [rdi + 0x90], r10"),
Q!(" mov " "QWORD PTR [rdi + 0x98], r11"),
Q!(" mov " "QWORD PTR [rdi + 0xa0], r12"),
Q!(" mov " "QWORD PTR [rdi + 0xa8], r13"),
Q!(" mov " "QWORD PTR [rdi + 0xb0], r14"),
Q!(" mov " "QWORD PTR [rdi + 0xb8], r15"),
Q!(" add " "rdi, 0x40"),
Q!(" add " "rsi, 0x40"),
Q!(" mov " "rdx, QWORD PTR [rcx]"),
Q!(" xor " "ebp, ebp"),
Q!(" mov " "r8, QWORD PTR [rdi]"),
Q!(" mov " "r9, QWORD PTR [rdi + 0x8]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mov " "QWORD PTR [rdi], r8"),
Q!(" mov " "r10, QWORD PTR [rdi + 0x10]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mov " "r11, QWORD PTR [rdi + 0x18]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mov " "r12, QWORD PTR [rdi + 0x20]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mov " "r13, QWORD PTR [rdi + 0x28]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mov " "r14, QWORD PTR [rdi + 0x30]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mov " "r15, QWORD PTR [rdi + 0x38]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "r8, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbp"),
Q!(" adcx " "r8, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x8]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x8], r9"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "r9, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbp"),
Q!(" adc " "r9, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x10]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x10], r10"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "r10, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbp"),
Q!(" adc " "r10, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x18]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x18], r11"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "r11, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbp"),
Q!(" adc " "r11, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x20]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x20], r12"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "r12, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbp"),
Q!(" adc " "r12, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x28]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x28], r13"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "r13, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbp"),
Q!(" adc " "r13, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x30]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x30], r14"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "r14, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbp"),
Q!(" adc " "r14, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x38]"),
Q!(" xor " "ebp, ebp"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x38], r15"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "r15, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbp"),
Q!(" adc " "r15, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x40]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r8, QWORD PTR [rdi + 0x40]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x40], r8"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "r8, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbp"),
Q!(" adc " "r8, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x48]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r9, QWORD PTR [rdi + 0x48]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x48], r9"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "r9, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbp"),
Q!(" adc " "r9, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x50]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r10, QWORD PTR [rdi + 0x50]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x50], r10"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "r10, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbp"),
Q!(" adc " "r10, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x58]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r11, QWORD PTR [rdi + 0x58]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x58], r11"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "r11, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbp"),
Q!(" adc " "r11, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x60]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r12, QWORD PTR [rdi + 0x60]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x60], r12"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "r12, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbp"),
Q!(" adc " "r12, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x68]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r13, QWORD PTR [rdi + 0x68]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x68], r13"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "r13, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbp"),
Q!(" adc " "r13, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x70]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r14, QWORD PTR [rdi + 0x70]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x70], r14"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "r14, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbp"),
Q!(" adc " "r14, rbp"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x78]"),
Q!(" xor " "ebp, ebp"),
Q!(" adox " "r15, QWORD PTR [rdi + 0x78]"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi]"),
Q!(" adcx " "r15, rax"),
Q!(" adox " "r8, rbx"),
Q!(" mov " "QWORD PTR [rdi + 0x78], r15"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x8]"),
Q!(" adcx " "r8, rax"),
Q!(" adox " "r9, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x10]"),
Q!(" adcx " "r9, rax"),
Q!(" adox " "r10, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x18]"),
Q!(" adcx " "r10, rax"),
Q!(" adox " "r11, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x20]"),
Q!(" adcx " "r11, rax"),
Q!(" adox " "r12, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x28]"),
Q!(" adcx " "r12, rax"),
Q!(" adox " "r13, rbx"),
Q!(" mulx " "rbx, rax, QWORD PTR [rsi + 0x30]"),
Q!(" adcx " "r13, rax"),
Q!(" adox " "r14, rbx"),
Q!(" mulx " "r15, rax, QWORD PTR [rsi + 0x38]"),
Q!(" adcx " "r14, rax"),
Q!(" adox " "r15, rbp"),
Q!(" adc " "r15, rbp"),
Q!(" mov " "QWORD PTR [rdi + 0x80], r8"),
Q!(" mov " "QWORD PTR [rdi + 0x88], r9"),
Q!(" mov " "QWORD PTR [rdi + 0x90], r10"),
Q!(" mov " "QWORD PTR [rdi + 0x98], r11"),
Q!(" mov " "QWORD PTR [rdi + 0xa0], r12"),
Q!(" mov " "QWORD PTR [rdi + 0xa8], r13"),
Q!(" mov " "QWORD PTR [rdi + 0xb0], r14"),
Q!(" mov " "QWORD PTR [rdi + 0xb8], r15"),
Q!(" pop " "r15"),
Q!(" pop " "r14"),
Q!(" pop " "r13"),
Q!(" pop " "r12"),
Q!(" pop " "rbp"),
Q!(" pop " "rbx"),
inout("rdi") z.as_mut_ptr() => _,
inout("rsi") x.as_ptr() => _,
inout("rdx") y.as_ptr() => _,
inout("rcx") t.as_mut_ptr() => _,
out("r10") _,
out("r11") _,
out("r12") _,
out("r13") _,
out("r14") _,
out("r15") _,
out("r8") _,
out("r9") _,
out("rax") _,
)
};
}