#![allow(non_upper_case_globals, unused_macros, unused_imports)]
use crate::low::macros::*;
pub(crate) fn bignum_kmul_32_64(z: &mut [u64], x: &[u64], y: &[u64], t: &mut [u64; 96]) {
debug_assert!(z.len() == 64);
debug_assert!(x.len() == 32);
debug_assert!(y.len() == 32);
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!(" push " "rcx"),
Q!(" mov " "rcx, rdx"),
Q!(" call " Label!("bignum_kmul_32_64_local_bignum_kmul_16_32", 2, After)),
Q!(" lea " "rdi, [rdi + 0xc0]"),
Q!(" lea " "rsi, [rsi + 0x40]"),
Q!(" lea " "rcx, [rcx + 0x80]"),
Q!(" call " Label!("bignum_kmul_32_64_local_bignum_kmul_16_32", 2, After)),
Q!(" mov " "r8, QWORD PTR [rsp]"),
Q!(" sub " "rdi, 0x140"),
Q!(" mov " "QWORD PTR [rsp], rdi"),
Q!(" mov " "rax, QWORD PTR [rsi -0xc0]"),
Q!(" sub " "rax, QWORD PTR [rsi -0x40]"),
Q!(" mov " "QWORD PTR [r8], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0xb8]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x38]"),
Q!(" mov " "QWORD PTR [r8 + 0x8], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0xb0]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x30]"),
Q!(" mov " "QWORD PTR [r8 + 0x10], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0xa8]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x28]"),
Q!(" mov " "QWORD PTR [r8 + 0x18], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0xa0]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x20]"),
Q!(" mov " "QWORD PTR [r8 + 0x20], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x98]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x18]"),
Q!(" mov " "QWORD PTR [r8 + 0x28], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x90]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x10]"),
Q!(" mov " "QWORD PTR [r8 + 0x30], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x88]"),
Q!(" sbb " "rax, QWORD PTR [rsi -0x8]"),
Q!(" mov " "QWORD PTR [r8 + 0x38], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x80]"),
Q!(" sbb " "rax, QWORD PTR [rsi]"),
Q!(" mov " "QWORD PTR [r8 + 0x40], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x78]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x8]"),
Q!(" mov " "QWORD PTR [r8 + 0x48], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x70]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x10]"),
Q!(" mov " "QWORD PTR [r8 + 0x50], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x68]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x18]"),
Q!(" mov " "QWORD PTR [r8 + 0x58], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x60]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x20]"),
Q!(" mov " "QWORD PTR [r8 + 0x60], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x58]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x28]"),
Q!(" mov " "QWORD PTR [r8 + 0x68], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x50]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x30]"),
Q!(" mov " "QWORD PTR [r8 + 0x70], rax"),
Q!(" mov " "rax, QWORD PTR [rsi -0x48]"),
Q!(" sbb " "rax, QWORD PTR [rsi + 0x38]"),
Q!(" mov " "QWORD PTR [r8 + 0x78], rax"),
Q!(" mov " "ebx, 0x0"),
Q!(" sbb " "r9, r9"),
Q!(" mov " "rdx, QWORD PTR [r8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x10]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x10], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x18]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x18], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x20]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x20], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x28]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x28], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x30]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x30], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x38]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x38], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x40]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x40], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x48]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x48], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x50]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x50], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x58]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x58], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x60]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x60], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x68]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x68], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x70]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x70], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x78]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x78], rdx"),
Q!(" mov " "rax, QWORD PTR [rcx]"),
Q!(" sub " "rax, QWORD PTR [rcx -0x80]"),
Q!(" mov " "QWORD PTR [r8 + 0x80], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x8]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x78]"),
Q!(" mov " "QWORD PTR [r8 + 0x88], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x10]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x70]"),
Q!(" mov " "QWORD PTR [r8 + 0x90], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x18]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x68]"),
Q!(" mov " "QWORD PTR [r8 + 0x98], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x20]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x60]"),
Q!(" mov " "QWORD PTR [r8 + 0xa0], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x28]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x58]"),
Q!(" mov " "QWORD PTR [r8 + 0xa8], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x30]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x50]"),
Q!(" mov " "QWORD PTR [r8 + 0xb0], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x38]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x48]"),
Q!(" mov " "QWORD PTR [r8 + 0xb8], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x40]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x40]"),
Q!(" mov " "QWORD PTR [r8 + 0xc0], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x48]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x38]"),
Q!(" mov " "QWORD PTR [r8 + 0xc8], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x50]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x30]"),
Q!(" mov " "QWORD PTR [r8 + 0xd0], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x58]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x28]"),
Q!(" mov " "QWORD PTR [r8 + 0xd8], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x60]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x20]"),
Q!(" mov " "QWORD PTR [r8 + 0xe0], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x68]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x18]"),
Q!(" mov " "QWORD PTR [r8 + 0xe8], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x70]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x10]"),
Q!(" mov " "QWORD PTR [r8 + 0xf0], rax"),
Q!(" mov " "rax, QWORD PTR [rcx + 0x78]"),
Q!(" sbb " "rax, QWORD PTR [rcx -0x8]"),
Q!(" mov " "QWORD PTR [r8 + 0xf8], rax"),
Q!(" mov " "ebx, 0x0"),
Q!(" sbb " "rbp, rbp"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x80]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x80], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x88]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x88], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x90]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x90], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0x98]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0x98], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xa0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xa0], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xa8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xa8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xb0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xb0], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xb8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xb8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xc0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xc0], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xc8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xc8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xd0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xd0], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xd8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xd8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xe0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xe0], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xe8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xe8], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xf0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xf0], rdx"),
Q!(" mov " "rdx, QWORD PTR [r8 + 0xf8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, rbx"),
Q!(" mov " "QWORD PTR [r8 + 0xf8], rdx"),
Q!(" xor " "r9, rbp"),
Q!(" mov " "QWORD PTR [r8 + 0x200], r9"),
Q!(" mov " "rcx, r8"),
Q!(" lea " "rsi, [r8 + 0x80]"),
Q!(" lea " "rdi, [r8 + 0x100]"),
Q!(" call " Label!("bignum_kmul_32_64_local_bignum_kmul_16_32", 2, After)),
Q!(" mov " "rdi, QWORD PTR [rsp]"),
Q!(" xor " "ebx, ebx"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x80]"),
Q!(" adcx " "rax, QWORD PTR [rdi]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x100]"),
Q!(" mov " "QWORD PTR [rcx], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x88]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x108]"),
Q!(" mov " "QWORD PTR [rcx + 0x8], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x90]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x10]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x110]"),
Q!(" mov " "QWORD PTR [rcx + 0x10], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x98]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x18]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x118]"),
Q!(" mov " "QWORD PTR [rcx + 0x18], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xa0]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x20]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x120]"),
Q!(" mov " "QWORD PTR [rcx + 0x20], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xa8]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x28]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x128]"),
Q!(" mov " "QWORD PTR [rcx + 0x28], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xb0]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x30]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x130]"),
Q!(" mov " "QWORD PTR [rcx + 0x30], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xb8]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x38]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x138]"),
Q!(" mov " "QWORD PTR [rcx + 0x38], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xc0]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x40]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x140]"),
Q!(" mov " "QWORD PTR [rcx + 0x40], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xc8]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x48]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x148]"),
Q!(" mov " "QWORD PTR [rcx + 0x48], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xd0]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x50]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x150]"),
Q!(" mov " "QWORD PTR [rcx + 0x50], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xd8]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x58]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x158]"),
Q!(" mov " "QWORD PTR [rcx + 0x58], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xe0]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x60]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x160]"),
Q!(" mov " "QWORD PTR [rcx + 0x60], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xe8]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x68]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x168]"),
Q!(" mov " "QWORD PTR [rcx + 0x68], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xf0]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x70]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x170]"),
Q!(" mov " "QWORD PTR [rcx + 0x70], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0xf8]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x78]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x178]"),
Q!(" mov " "QWORD PTR [rcx + 0x78], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x100]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x80]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x180]"),
Q!(" mov " "QWORD PTR [rcx + 0x80], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x108]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x88]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x188]"),
Q!(" mov " "QWORD PTR [rcx + 0x88], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x110]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x90]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x190]"),
Q!(" mov " "QWORD PTR [rcx + 0x90], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x118]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0x98]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x198]"),
Q!(" mov " "QWORD PTR [rcx + 0x98], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x120]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xa0]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1a0]"),
Q!(" mov " "QWORD PTR [rcx + 0xa0], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x128]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xa8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1a8]"),
Q!(" mov " "QWORD PTR [rcx + 0xa8], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x130]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xb0]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1b0]"),
Q!(" mov " "QWORD PTR [rcx + 0xb0], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x138]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xb8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1b8]"),
Q!(" mov " "QWORD PTR [rcx + 0xb8], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x140]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xc0]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1c0]"),
Q!(" mov " "QWORD PTR [rcx + 0xc0], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x148]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xc8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1c8]"),
Q!(" mov " "QWORD PTR [rcx + 0xc8], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x150]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xd0]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1d0]"),
Q!(" mov " "QWORD PTR [rcx + 0xd0], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x158]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xd8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1d8]"),
Q!(" mov " "QWORD PTR [rcx + 0xd8], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x160]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xe0]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1e0]"),
Q!(" mov " "QWORD PTR [rcx + 0xe0], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x168]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xe8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1e8]"),
Q!(" mov " "QWORD PTR [rcx + 0xe8], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x170]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xf0]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1f0]"),
Q!(" mov " "QWORD PTR [rcx + 0xf0], rax"),
Q!(" mov " "rax, QWORD PTR [rdi + 0x178]"),
Q!(" adcx " "rax, QWORD PTR [rdi + 0xf8]"),
Q!(" adox " "rax, QWORD PTR [rdi + 0x1f8]"),
Q!(" mov " "QWORD PTR [rcx + 0xf8], rax"),
Q!(" adox " "rbx, rbx"),
Q!(" adc " "rbx, 0x0"),
Q!(" mov " "r9, QWORD PTR [rcx + 0x200]"),
Q!(" neg " "r9"),
Q!(" neg " "r9"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x100]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx]"),
Q!(" mov " "QWORD PTR [rdi + 0x80], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x108]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x8]"),
Q!(" mov " "QWORD PTR [rdi + 0x88], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x110]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x10]"),
Q!(" mov " "QWORD PTR [rdi + 0x90], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x118]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x18]"),
Q!(" mov " "QWORD PTR [rdi + 0x98], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x120]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x20]"),
Q!(" mov " "QWORD PTR [rdi + 0xa0], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x128]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x28]"),
Q!(" mov " "QWORD PTR [rdi + 0xa8], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x130]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x30]"),
Q!(" mov " "QWORD PTR [rdi + 0xb0], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x138]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x38]"),
Q!(" mov " "QWORD PTR [rdi + 0xb8], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x140]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x40]"),
Q!(" mov " "QWORD PTR [rdi + 0xc0], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x148]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x48]"),
Q!(" mov " "QWORD PTR [rdi + 0xc8], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x150]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x50]"),
Q!(" mov " "QWORD PTR [rdi + 0xd0], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x158]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x58]"),
Q!(" mov " "QWORD PTR [rdi + 0xd8], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x160]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x60]"),
Q!(" mov " "QWORD PTR [rdi + 0xe0], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x168]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x68]"),
Q!(" mov " "QWORD PTR [rdi + 0xe8], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x170]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x70]"),
Q!(" mov " "QWORD PTR [rdi + 0xf0], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x178]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x78]"),
Q!(" mov " "QWORD PTR [rdi + 0xf8], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x180]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x80]"),
Q!(" mov " "QWORD PTR [rdi + 0x100], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x188]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x88]"),
Q!(" mov " "QWORD PTR [rdi + 0x108], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x190]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x90]"),
Q!(" mov " "QWORD PTR [rdi + 0x110], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x198]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0x98]"),
Q!(" mov " "QWORD PTR [rdi + 0x118], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1a0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xa0]"),
Q!(" mov " "QWORD PTR [rdi + 0x120], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1a8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xa8]"),
Q!(" mov " "QWORD PTR [rdi + 0x128], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1b0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xb0]"),
Q!(" mov " "QWORD PTR [rdi + 0x130], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1b8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xb8]"),
Q!(" mov " "QWORD PTR [rdi + 0x138], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1c0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xc0]"),
Q!(" mov " "QWORD PTR [rdi + 0x140], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1c8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xc8]"),
Q!(" mov " "QWORD PTR [rdi + 0x148], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1d0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xd0]"),
Q!(" mov " "QWORD PTR [rdi + 0x150], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1d8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xd8]"),
Q!(" mov " "QWORD PTR [rdi + 0x158], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1e0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xe0]"),
Q!(" mov " "QWORD PTR [rdi + 0x160], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1e8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xe8]"),
Q!(" mov " "QWORD PTR [rdi + 0x168], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1f0]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xf0]"),
Q!(" mov " "QWORD PTR [rdi + 0x170], rdx"),
Q!(" mov " "rdx, QWORD PTR [rcx + 0x1f8]"),
Q!(" mov " "rax, rdx"),
Q!(" not " "rdx"),
Q!(" cmove " "rdx, rax"),
Q!(" adcx " "rdx, QWORD PTR [rcx + 0xf8]"),
Q!(" mov " "QWORD PTR [rdi + 0x178], rdx"),
Q!(" adcx " "rbx, r9"),
Q!(" xor " "eax, eax"),
Q!(" add " "QWORD PTR [rdi + 0x180], rbx"),
Q!(" adc " "QWORD PTR [rdi + 0x188], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x190], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x198], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1a0], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1a8], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1b0], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1b8], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1c0], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1c8], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1d0], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1d8], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1e0], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1e8], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1f0], rax"),
Q!(" adc " "QWORD PTR [rdi + 0x1f8], rax"),
Q!(" pop " "rcx"),
Q!(" pop " "r15"),
Q!(" pop " "r14"),
Q!(" pop " "r13"),
Q!(" pop " "r12"),
Q!(" pop " "rbp"),
Q!(" pop " "rbx"),
Q!(" jmp " Label!("hoist_finish", 3, After)),
Q!(Label!("bignum_kmul_32_64_local_bignum_kmul_16_32", 2) ":"),
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!(" ret " ),
Q!(Label!("hoist_finish", 3) ":"),
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") _,
)
};
}