1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-12-03 12:54:05 +00:00
pqcrypto/crypto_kem/ntruhps2048677/avx2/square_5_677_patience.s
2021-03-24 21:02:46 +00:00

1479 lines
30 KiB
ArmAsm

.data
.p2align 5
.text
.global PQCLEAN_NTRUHPS2048677_AVX2_square_5_677
.global _PQCLEAN_NTRUHPS2048677_AVX2_square_5_677
PQCLEAN_NTRUHPS2048677_AVX2_square_5_677:
_PQCLEAN_NTRUHPS2048677_AVX2_square_5_677:
push %r15
push %r14
push %r13
push %r12
push %rbx
push %rbp
mov 0(%rsi), %r11
mov $0x180000000001, %rbp
pext %rbp, %r11, %r10
mov $0x40000000400001, %rbx
pdep %rbx, %r10, %r10
mov %r10, 0(%rdi)
mov $0xc00000, %r12
pext %r12, %r11, %r10
mov $0x800000008000000, %r13
pdep %r13, %r10, %r10
xor %r10, 0(%rdi)
mov %r11, %r10
and $0x2, %r10
rol $31, %r10
xor %r10, 0(%rdi)
mov $0x600000000004, %r14
pext %r14, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 8(%rdi)
mov $0x3000000, %r15
pext %r15, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 8(%rdi)
mov %r11, %r10
and $0x8, %r10
rol $29, %r10
xor %r10, 8(%rdi)
mov $0x1800000000010, %r9
pext %r9, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 16(%rdi)
mov $0xc000000, %r8
pext %r8, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 16(%rdi)
mov %r11, %r10
and $0x20, %r10
rol $27, %r10
xor %r10, 16(%rdi)
mov $0x6000000000040, %rdx
pext %rdx, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 24(%rdi)
mov $0x30000000, %rcx
pext %rcx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 24(%rdi)
mov %r11, %r10
and $0x80, %r10
rol $25, %r10
xor %r10, 24(%rdi)
mov $0x18000000000100, %rax
pext %rax, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 32(%rdi)
mov $0xc0000000, %rbp
pext %rbp, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 32(%rdi)
mov %r11, %r10
and $0x200, %r10
rol $23, %r10
xor %r10, 32(%rdi)
mov $0x60000000000400, %r12
pext %r12, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 40(%rdi)
mov $0x300000000, %r14
pext %r14, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 40(%rdi)
mov %r11, %r10
and $0x800, %r10
rol $21, %r10
xor %r10, 40(%rdi)
mov $0x180000000001000, %r15
pext %r15, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 48(%rdi)
mov $0xc00000000, %r9
pext %r9, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 48(%rdi)
mov %r11, %r10
and $0x2000, %r10
rol $19, %r10
xor %r10, 48(%rdi)
mov $0x600000000004000, %r8
pext %r8, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 56(%rdi)
mov $0x3000000000, %rdx
pext %rdx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 56(%rdi)
mov %r11, %r10
and $0x8000, %r10
rol $17, %r10
xor %r10, 56(%rdi)
mov $0x1800000000010000, %rcx
pext %rcx, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 64(%rdi)
mov $0xc000000000, %rax
pext %rax, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 64(%rdi)
mov %r11, %r10
and $0x20000, %r10
rol $15, %r10
xor %r10, 64(%rdi)
mov $0x6000000000040000, %rbp
pext %rbp, %r11, %r10
pdep %rbx, %r10, %r10
mov %r10, 72(%rdi)
mov $0x30000000000, %r12
pext %r12, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 72(%rdi)
mov %r11, %r10
and $0x80000, %r10
rol $13, %r10
xor %r10, 72(%rdi)
mov $0x8000000000200000, %r14
pext %r14, %r11, %r10
mov $0x400000000000010, %r15
pdep %r15, %r10, %r10
rol $28, %r10
mov %r10, 80(%rdi)
mov $0x40000100000, %r9
pext %r9, %r11, %r10
mov $0x8000001000000000, %r8
pdep %r8, %r10, %r10
rol $28, %r10
xor %r10, 80(%rdi)
mov 8(%rsi), %r11
mov $0x80000c0000000000, %rdx
pext %rdx, %r11, %r10
mov $0x8000001000000010, %rcx
pdep %rcx, %r10, %r10
rol $3, %r10
xor %r10, 0(%rdi)
mov $0x600000, %rax
pext %rax, %r11, %r10
mov $0x20000000200, %rbp
pdep %rbp, %r10, %r10
rol $3, %r10
xor %r10, 0(%rdi)
mov %r11, %r10
and $0x3, %r10
mov $0x400000004000, %rbx
pdep %rbx, %r10, %r10
rol $3, %r10
xor %r10, 0(%rdi)
mov $0x300000000000, %r12
pext %r12, %r11, %r10
mov $0x8000000080, %r13
pdep %r13, %r10, %r10
xor %r10, 8(%rdi)
mov $0x1800000, %r14
pext %r14, %r11, %r10
mov $0x100000001000, %r15
pdep %r15, %r10, %r10
xor %r10, 8(%rdi)
mov $0xc, %r9
pext %r9, %r11, %r10
mov $0x2000000020000, %r8
pdep %r8, %r10, %r10
xor %r10, 8(%rdi)
mov $0xc00000000000, %rdx
pext %rdx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 16(%rdi)
mov $0x6000000, %rcx
pext %rcx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 16(%rdi)
mov $0x30, %rax
pext %rax, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 16(%rdi)
mov $0x3000000000000, %rbp
pext %rbp, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 24(%rdi)
mov $0x18000000, %rbx
pext %rbx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 24(%rdi)
mov $0xc0, %r12
pext %r12, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 24(%rdi)
mov $0xc000000000000, %r14
pext %r14, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 32(%rdi)
mov $0x60000000, %r9
pext %r9, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 32(%rdi)
mov $0x300, %rdx
pext %rdx, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 32(%rdi)
mov $0x30000000000000, %rcx
pext %rcx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 40(%rdi)
mov $0x180000000, %rax
pext %rax, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 40(%rdi)
mov $0xc00, %rbp
pext %rbp, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 40(%rdi)
mov $0xc0000000000000, %rbx
pext %rbx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 48(%rdi)
mov $0x600000000, %r12
pext %r12, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 48(%rdi)
mov $0x3000, %r14
pext %r14, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 48(%rdi)
mov $0x300000000000000, %r9
pext %r9, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 56(%rdi)
mov $0x1800000000, %rdx
pext %rdx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 56(%rdi)
mov $0xc000, %rcx
pext %rcx, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 56(%rdi)
mov $0xc00000000000000, %rax
pext %rax, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 64(%rdi)
mov $0x6000000000, %rbp
pext %rbp, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 64(%rdi)
mov $0x30000, %rbx
pext %rbx, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 64(%rdi)
mov $0x3000000000000000, %r12
pext %r12, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 72(%rdi)
mov $0x18000000000, %r14
pext %r14, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 72(%rdi)
mov $0xc0000, %r9
pext %r9, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 72(%rdi)
mov $0x4000020000000000, %rdx
pext %rdx, %r11, %r10
mov $0x8000000000000010, %rcx
pdep %rcx, %r10, %r10
rol $8, %r10
xor %r10, 80(%rdi)
mov %r11, %r10
and $0x100000, %r10
rol $61, %r10
xor %r10, 80(%rdi)
mov 16(%rsi), %r11
mov $0x8000080000200000, %rax
pext %rax, %r11, %r10
mov $0x400000080000010, %rbp
pdep %rbp, %r10, %r10
rol $25, %r10
xor %r10, 0(%rdi)
mov $0x40000400001, %rbx
pext %rbx, %r11, %r10
mov $0x8000001000000200, %r12
pdep %r12, %r10, %r10
rol $25, %r10
xor %r10, 0(%rdi)
mov $0x300000000002, %r13
pext %r13, %r11, %r10
mov $0x100000001000004, %r14
pdep %r14, %r10, %r10
xor %r10, 8(%rdi)
mov $0x1800000, %r15
pext %r15, %r11, %r10
mov $0x2000000020000000, %r9
pdep %r9, %r10, %r10
xor %r10, 8(%rdi)
mov %r11, %r10
and $0x4, %r10
rol $32, %r10
xor %r10, 8(%rdi)
mov $0xc00000000008, %r8
pext %r8, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 16(%rdi)
mov $0x6000000, %rdx
pext %rdx, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 16(%rdi)
mov %r11, %r10
and $0x10, %r10
rol $30, %r10
xor %r10, 16(%rdi)
mov $0x3000000000020, %rcx
pext %rcx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 24(%rdi)
mov $0x18000000, %rax
pext %rax, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 24(%rdi)
mov %r11, %r10
and $0x40, %r10
rol $28, %r10
xor %r10, 24(%rdi)
mov $0xc000000000080, %rbp
pext %rbp, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 32(%rdi)
mov $0x60000000, %rbx
pext %rbx, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 32(%rdi)
mov %r11, %r10
and $0x100, %r10
rol $26, %r10
xor %r10, 32(%rdi)
mov $0x30000000000200, %r12
pext %r12, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 40(%rdi)
mov $0x180000000, %r13
pext %r13, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 40(%rdi)
mov %r11, %r10
and $0x400, %r10
rol $24, %r10
xor %r10, 40(%rdi)
mov $0xc0000000000800, %r15
pext %r15, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 48(%rdi)
mov $0x600000000, %r8
pext %r8, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 48(%rdi)
mov %r11, %r10
and $0x1000, %r10
rol $22, %r10
xor %r10, 48(%rdi)
mov $0x300000000002000, %rdx
pext %rdx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 56(%rdi)
mov $0x1800000000, %rcx
pext %rcx, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 56(%rdi)
mov %r11, %r10
and $0x4000, %r10
rol $20, %r10
xor %r10, 56(%rdi)
mov $0xc00000000008000, %rax
pext %rax, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 64(%rdi)
mov $0x6000000000, %rbp
pext %rbp, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 64(%rdi)
mov %r11, %r10
and $0x10000, %r10
rol $18, %r10
xor %r10, 64(%rdi)
mov $0x3000000000020000, %rbx
pext %rbx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 72(%rdi)
mov $0x18000000000, %r12
pext %r12, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 72(%rdi)
mov %r11, %r10
and $0x40000, %r10
rol $16, %r10
xor %r10, 72(%rdi)
mov $0x4000000000100000, %r13
pext %r13, %r11, %r10
mov $0x400000000000010, %r15
pdep %r15, %r10, %r10
rol $30, %r10
xor %r10, 80(%rdi)
mov $0x20000080000, %r8
pext %r8, %r11, %r10
mov $0x8000001000000000, %rdx
pdep %rdx, %r10, %r10
rol $30, %r10
xor %r10, 80(%rdi)
mov 24(%rsi), %r11
mov $0xc000040000000000, %rcx
pext %rcx, %r11, %r10
mov $0x8000000080000010, %rax
pdep %rax, %r10, %r10
rol $37, %r10
xor %r10, 0(%rdi)
mov $0x20000200000, %rbp
pext %rbp, %r11, %r10
mov $0x1000000200, %rbx
pdep %rbx, %r10, %r10
rol $37, %r10
xor %r10, 0(%rdi)
mov $0x100001, %r14
pext %r14, %r11, %r10
mov $0x20000004000, %r12
pdep %r12, %r10, %r10
rol $37, %r10
xor %r10, 0(%rdi)
mov $0x180000000000, %r9
pext %r9, %r11, %r10
mov $0x20000000200, %r13
pdep %r13, %r10, %r10
xor %r10, 8(%rdi)
mov $0xc00000, %r15
pext %r15, %r11, %r10
mov $0x400000004000, %r8
pdep %r8, %r10, %r10
xor %r10, 8(%rdi)
mov $0x6, %rdx
pext %rdx, %r11, %r10
mov $0x8000000080000, %rcx
pdep %rcx, %r10, %r10
xor %r10, 8(%rdi)
mov $0x600000000000, %rax
pext %rax, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 16(%rdi)
mov $0x3000000, %rbp
pext %rbp, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 16(%rdi)
mov $0x18, %rbx
pext %rbx, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 16(%rdi)
mov $0x1800000000000, %r14
pext %r14, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 24(%rdi)
mov $0xc000000, %r12
pext %r12, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 24(%rdi)
mov $0x60, %r9
pext %r9, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 24(%rdi)
mov $0x6000000000000, %r15
pext %r15, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 32(%rdi)
mov $0x30000000, %rdx
pext %rdx, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 32(%rdi)
mov $0x180, %rax
pext %rax, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 32(%rdi)
mov $0x18000000000000, %rbp
pext %rbp, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 40(%rdi)
mov $0xc0000000, %rbx
pext %rbx, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 40(%rdi)
mov $0x600, %r14
pext %r14, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 40(%rdi)
mov $0x60000000000000, %r12
pext %r12, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 48(%rdi)
mov $0x300000000, %r9
pext %r9, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 48(%rdi)
mov $0x1800, %r15
pext %r15, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 48(%rdi)
mov $0x180000000000000, %rdx
pext %rdx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 56(%rdi)
mov $0xc00000000, %rax
pext %rax, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 56(%rdi)
mov $0x6000, %rbp
pext %rbp, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 56(%rdi)
mov $0x600000000000000, %rbx
pext %rbx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 64(%rdi)
mov $0x3000000000, %r14
pext %r14, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 64(%rdi)
mov $0x18000, %r12
pext %r12, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 64(%rdi)
mov $0x1800000000000000, %r9
pext %r9, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 72(%rdi)
mov $0xc000000000, %r15
pext %r15, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 72(%rdi)
mov $0x60000, %rdx
pext %rdx, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 72(%rdi)
mov $0x2000010000000000, %rax
pext %rax, %r11, %r10
mov $0x8000000000000010, %rbp
pdep %rbp, %r10, %r10
rol $10, %r10
xor %r10, 80(%rdi)
mov %r11, %r10
and $0x80000, %r10
rol $0, %r10
xor %r10, 80(%rdi)
mov 32(%rsi), %r11
mov $0xc000000000000000, %rbx
pext %rbx, %r11, %r10
mov $0x20000000200000, %r14
pdep %r14, %r10, %r10
xor %r10, 0(%rdi)
mov $0x60000000000, %r12
pext %r12, %r11, %r10
mov $0x400000004000000, %r9
pdep %r9, %r10, %r10
xor %r10, 0(%rdi)
mov $0x300000, %r13
pext %r13, %r11, %r10
mov $0x8000000080000000, %r15
pdep %r15, %r10, %r10
xor %r10, 0(%rdi)
mov $0x180000000001, %r8
pext %r8, %r11, %r10
mov $0x400000004000010, %rdx
pdep %rdx, %r10, %r10
xor %r10, 8(%rdi)
mov $0xc00000, %rcx
pext %rcx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 8(%rdi)
mov %r11, %r10
and $0x2, %r10
rol $35, %r10
xor %r10, 8(%rdi)
mov $0x600000000004, %rax
pext %rax, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 16(%rdi)
mov $0x3000000, %rbp
pext %rbp, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 16(%rdi)
mov %r11, %r10
and $0x8, %r10
rol $33, %r10
xor %r10, 16(%rdi)
mov $0x1800000000010, %rbx
pext %rbx, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 24(%rdi)
mov $0xc000000, %r14
pext %r14, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 24(%rdi)
mov %r11, %r10
and $0x20, %r10
rol $31, %r10
xor %r10, 24(%rdi)
mov $0x6000000000040, %r12
pext %r12, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 32(%rdi)
mov $0x30000000, %r9
pext %r9, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 32(%rdi)
mov %r11, %r10
and $0x80, %r10
rol $29, %r10
xor %r10, 32(%rdi)
mov $0x18000000000100, %r13
pext %r13, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 40(%rdi)
mov $0xc0000000, %r8
pext %r8, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 40(%rdi)
mov %r11, %r10
and $0x200, %r10
rol $27, %r10
xor %r10, 40(%rdi)
mov $0x60000000000400, %rcx
pext %rcx, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 48(%rdi)
mov $0x300000000, %rax
pext %rax, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 48(%rdi)
mov %r11, %r10
and $0x800, %r10
rol $25, %r10
xor %r10, 48(%rdi)
mov $0x180000000001000, %rbp
pext %rbp, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 56(%rdi)
mov $0xc00000000, %rbx
pext %rbx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 56(%rdi)
mov %r11, %r10
and $0x2000, %r10
rol $23, %r10
xor %r10, 56(%rdi)
mov $0x600000000004000, %r14
pext %r14, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 64(%rdi)
mov $0x3000000000, %r12
pext %r12, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 64(%rdi)
mov %r11, %r10
and $0x8000, %r10
rol $21, %r10
xor %r10, 64(%rdi)
mov $0x1800000000010000, %r9
pext %r9, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 72(%rdi)
mov $0xc000000000, %r13
pext %r13, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 72(%rdi)
mov %r11, %r10
and $0x20000, %r10
rol $19, %r10
xor %r10, 72(%rdi)
mov $0x2000000000080000, %r8
pext %r8, %r11, %r10
mov $0x400000000000010, %rcx
pdep %rcx, %r10, %r10
rol $32, %r10
xor %r10, 80(%rdi)
mov $0x10000040000, %rax
pext %rax, %r11, %r10
mov $0x8000001000000000, %rbp
pdep %rbp, %r10, %r10
rol $32, %r10
xor %r10, 80(%rdi)
mov 40(%rsi), %r11
mov $0x6000000000000000, %rbx
pext %rbx, %r11, %r10
mov $0x4000000040, %r14
pdep %r14, %r10, %r10
xor %r10, 0(%rdi)
mov $0x30000000000, %r12
pext %r12, %r11, %r10
mov $0x80000000800, %r9
pdep %r9, %r10, %r10
xor %r10, 0(%rdi)
mov $0x180000, %rdx
pext %rdx, %r11, %r10
mov $0x1000000010000, %r13
pdep %r13, %r10, %r10
xor %r10, 0(%rdi)
mov $0x80000c0000000000, %r15
pext %r15, %r11, %r10
mov $0x8000001000000010, %r8
pdep %r8, %r10, %r10
rol $7, %r10
xor %r10, 8(%rdi)
mov $0x600000, %rcx
pext %rcx, %r11, %r10
mov $0x20000000200, %rax
pdep %rax, %r10, %r10
rol $7, %r10
xor %r10, 8(%rdi)
mov %r11, %r10
and $0x3, %r10
mov $0x400000004000, %rbp
pdep %rbp, %r10, %r10
rol $7, %r10
xor %r10, 8(%rdi)
mov $0x300000000000, %rbx
pext %rbx, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 16(%rdi)
mov $0x1800000, %r14
pext %r14, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 16(%rdi)
mov $0xc, %r12
pext %r12, %r11, %r10
mov $0x20000000200000, %rdx
pdep %rdx, %r10, %r10
xor %r10, 16(%rdi)
mov $0xc00000000000, %r15
pext %r15, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 24(%rdi)
mov $0x6000000, %r8
pext %r8, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 24(%rdi)
mov $0x30, %rcx
pext %rcx, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 24(%rdi)
mov $0x3000000000000, %rax
pext %rax, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 32(%rdi)
mov $0x18000000, %rbp
pext %rbp, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 32(%rdi)
mov $0xc0, %rbx
pext %rbx, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 32(%rdi)
mov $0xc000000000000, %r14
pext %r14, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 40(%rdi)
mov $0x60000000, %r12
pext %r12, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 40(%rdi)
mov $0x300, %r15
pext %r15, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 40(%rdi)
mov $0x30000000000000, %r8
pext %r8, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 48(%rdi)
mov $0x180000000, %rcx
pext %rcx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 48(%rdi)
mov $0xc00, %rax
pext %rax, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 48(%rdi)
mov $0xc0000000000000, %rbp
pext %rbp, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 56(%rdi)
mov $0x600000000, %rbx
pext %rbx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 56(%rdi)
mov $0x3000, %r14
pext %r14, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 56(%rdi)
mov $0x300000000000000, %r12
pext %r12, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 64(%rdi)
mov $0x1800000000, %r15
pext %r15, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 64(%rdi)
mov $0xc000, %r8
pext %r8, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 64(%rdi)
mov $0xc00000000000000, %rcx
pext %rcx, %r11, %r10
pdep %r9, %r10, %r10
xor %r10, 72(%rdi)
mov $0x6000000000, %rax
pext %rax, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 72(%rdi)
mov $0x30000, %rbp
pext %rbp, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 72(%rdi)
mov $0x1000008000000000, %rbx
pext %rbx, %r11, %r10
mov $0x8000000000000010, %r14
pdep %r14, %r10, %r10
rol $12, %r10
xor %r10, 80(%rdi)
mov %r11, %r10
and $0x40000, %r10
rol $3, %r10
xor %r10, 80(%rdi)
mov 48(%rsi), %r11
mov $0x6000000000040000, %r12
pext %r12, %r11, %r10
mov $0x80000000800002, %r15
pdep %r15, %r10, %r10
xor %r10, 0(%rdi)
mov $0x30000000000, %r8
pext %r8, %r11, %r10
mov $0x1000000010000000, %rcx
pdep %rcx, %r10, %r10
xor %r10, 0(%rdi)
mov %r11, %r10
and $0x80000, %r10
rol $14, %r10
xor %r10, 0(%rdi)
mov $0x8000080000200000, %r9
pext %r9, %r11, %r10
mov $0x400000080000010, %rax
pdep %rax, %r10, %r10
rol $29, %r10
xor %r10, 8(%rdi)
mov $0x40000100001, %r13
pext %r13, %r11, %r10
mov $0x8000001000000200, %rbp
pdep %rbp, %r10, %r10
rol $29, %r10
xor %r10, 8(%rdi)
mov $0x300000400000, %rdx
pext %rdx, %r11, %r10
mov $0x1000000010000002, %rbx
pdep %rbx, %r10, %r10
xor %r10, 16(%rdi)
mov $0x800002, %r14
pext %r14, %r11, %r10
mov $0x200000040, %r12
pdep %r12, %r10, %r10
xor %r10, 16(%rdi)
mov %r11, %r10
and $0x4, %r10
rol $36, %r10
xor %r10, 16(%rdi)
mov $0xc00001000000, %r15
pext %r15, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 24(%rdi)
mov $0x2000008, %r8
pext %r8, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 24(%rdi)
mov %r11, %r10
and $0x10, %r10
rol $34, %r10
xor %r10, 24(%rdi)
mov $0x3000004000000, %rcx
pext %rcx, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 32(%rdi)
mov $0x8000020, %r9
pext %r9, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 32(%rdi)
mov %r11, %r10
and $0x40, %r10
rol $32, %r10
xor %r10, 32(%rdi)
mov $0xc000010000000, %rax
pext %rax, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 40(%rdi)
mov $0x20000080, %r13
pext %r13, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 40(%rdi)
mov %r11, %r10
and $0x100, %r10
rol $30, %r10
xor %r10, 40(%rdi)
mov $0x30000040000000, %rbp
pext %rbp, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 48(%rdi)
mov $0x80000200, %rdx
pext %rdx, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 48(%rdi)
mov %r11, %r10
and $0x400, %r10
rol $28, %r10
xor %r10, 48(%rdi)
mov $0xc0000100000000, %r14
pext %r14, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 56(%rdi)
mov $0x200000800, %r15
pext %r15, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 56(%rdi)
mov %r11, %r10
and $0x1000, %r10
rol $26, %r10
xor %r10, 56(%rdi)
mov $0x300000400000000, %r8
pext %r8, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 64(%rdi)
mov $0x800002000, %rcx
pext %rcx, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 64(%rdi)
mov %r11, %r10
and $0x4000, %r10
rol $24, %r10
xor %r10, 64(%rdi)
mov $0xc00001000000000, %r9
pext %r9, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 72(%rdi)
mov $0x2000008000, %rax
pext %rax, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 72(%rdi)
mov %r11, %r10
and $0x10000, %r10
rol $22, %r10
xor %r10, 72(%rdi)
mov $0x1000004000000000, %r13
pext %r13, %r11, %r10
mov $0x10000002, %rbp
pdep %rbp, %r10, %r10
xor %r10, 80(%rdi)
mov $0x8000020000, %rdx
pext %rdx, %r11, %r10
pdep %r12, %r10, %r10
xor %r10, 80(%rdi)
mov 56(%rsi), %r11
mov $0x3000000000000000, %r14
pext %r14, %r11, %r10
mov $0x10000000100, %r15
pdep %r15, %r10, %r10
xor %r10, 0(%rdi)
mov $0x18000000000, %r8
pext %r8, %r11, %r10
mov $0x200000002000, %rcx
pdep %rcx, %r10, %r10
xor %r10, 0(%rdi)
mov $0xc0000, %r9
pext %r9, %r11, %r10
mov $0x4000000040000, %rbx
pdep %rbx, %r10, %r10
xor %r10, 0(%rdi)
mov $0xc000040000000000, %rax
pext %rax, %r11, %r10
mov $0x8000000080000010, %r13
pdep %r13, %r10, %r10
rol $41, %r10
xor %r10, 8(%rdi)
mov $0x20000200000, %rbp
pext %rbp, %r11, %r10
mov $0x1000000200, %rdx
pdep %rdx, %r10, %r10
rol $41, %r10
xor %r10, 8(%rdi)
mov $0x100001, %r12
pext %r12, %r11, %r10
mov $0x20000004000, %r14
pdep %r14, %r10, %r10
rol $41, %r10
xor %r10, 8(%rdi)
mov $0x180000000000, %r15
pext %r15, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 16(%rdi)
mov $0xc00000, %r8
pext %r8, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 16(%rdi)
mov $0x6, %r9
pext %r9, %r11, %r10
mov $0x80000000800000, %rax
pdep %rax, %r10, %r10
xor %r10, 16(%rdi)
mov $0x600000000000, %r13
pext %r13, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 24(%rdi)
mov $0x3000000, %rbp
pext %rbp, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 24(%rdi)
mov $0x18, %rdx
pext %rdx, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 24(%rdi)
mov $0x1800000000000, %r12
pext %r12, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 32(%rdi)
mov $0xc000000, %r14
pext %r14, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 32(%rdi)
mov $0x60, %r15
pext %r15, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 32(%rdi)
mov $0x6000000000000, %r8
pext %r8, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 40(%rdi)
mov $0x30000000, %r9
pext %r9, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 40(%rdi)
mov $0x180, %r13
pext %r13, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 40(%rdi)
mov $0x18000000000000, %rbp
pext %rbp, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 48(%rdi)
mov $0xc0000000, %rdx
pext %rdx, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 48(%rdi)
mov $0x600, %r12
pext %r12, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 48(%rdi)
mov $0x60000000000000, %r14
pext %r14, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 56(%rdi)
mov $0x300000000, %r15
pext %r15, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 56(%rdi)
mov $0x1800, %r8
pext %r8, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 56(%rdi)
mov $0x180000000000000, %r9
pext %r9, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 64(%rdi)
mov $0xc00000000, %r13
pext %r13, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 64(%rdi)
mov $0x6000, %rbp
pext %rbp, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 64(%rdi)
mov $0x600000000000000, %rdx
pext %rdx, %r11, %r10
pdep %rcx, %r10, %r10
xor %r10, 72(%rdi)
mov $0x3000000000, %r12
pext %r12, %r11, %r10
pdep %rbx, %r10, %r10
xor %r10, 72(%rdi)
mov $0x18000, %r14
pext %r14, %r11, %r10
pdep %rax, %r10, %r10
xor %r10, 72(%rdi)
mov $0x800004000000000, %r15
pext %r15, %r11, %r10
mov $0x8000000000000010, %r8
pdep %r8, %r10, %r10
rol $14, %r10
xor %r10, 80(%rdi)
mov %r11, %r10
and $0x20000, %r10
rol $6, %r10
xor %r10, 80(%rdi)
mov 64(%rsi), %r11
mov $0x3000000000020000, %r9
pext %r9, %r11, %r10
mov $0x200000002000008, %r13
pdep %r13, %r10, %r10
xor %r10, 0(%rdi)
mov $0x18000000000, %rbp
pext %rbp, %r11, %r10
mov $0x4000000040000000, %rdx
pdep %rdx, %r10, %r10
xor %r10, 0(%rdi)
mov %r11, %r10
and $0x40000, %r10
rol $17, %r10
xor %r10, 0(%rdi)
mov $0xc000000000080000, %rcx
pext %rcx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 8(%rdi)
mov $0x60000000000, %r12
pext %r12, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 8(%rdi)
mov %r11, %r10
and $0x100000, %r10
rol $15, %r10
xor %r10, 8(%rdi)
mov $0x180000200000, %rbx
pext %rbx, %r11, %r10
mov $0x4000000040000008, %r14
pdep %r14, %r10, %r10
xor %r10, 16(%rdi)
mov $0x400001, %rax
pext %rax, %r11, %r10
mov $0x800000100, %r15
pdep %r15, %r10, %r10
xor %r10, 16(%rdi)
mov %r11, %r10
and $0x2, %r10
rol $39, %r10
xor %r10, 16(%rdi)
mov $0x600000800000, %r8
pext %r8, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 24(%rdi)
mov $0x1000004, %r9
pext %r9, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 24(%rdi)
mov %r11, %r10
and $0x8, %r10
rol $37, %r10
xor %r10, 24(%rdi)
mov $0x1800002000000, %rbp
pext %rbp, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 32(%rdi)
mov $0x4000010, %rcx
pext %rcx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 32(%rdi)
mov %r11, %r10
and $0x20, %r10
rol $35, %r10
xor %r10, 32(%rdi)
mov $0x6000008000000, %r13
pext %r13, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 40(%rdi)
mov $0x10000040, %r12
pext %r12, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 40(%rdi)
mov %r11, %r10
and $0x80, %r10
rol $33, %r10
xor %r10, 40(%rdi)
mov $0x18000020000000, %rdx
pext %rdx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 48(%rdi)
mov $0x40000100, %rbx
pext %rbx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 48(%rdi)
mov %r11, %r10
and $0x200, %r10
rol $31, %r10
xor %r10, 48(%rdi)
mov $0x60000080000000, %rax
pext %rax, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 56(%rdi)
mov $0x100000400, %r8
pext %r8, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 56(%rdi)
mov %r11, %r10
and $0x800, %r10
rol $29, %r10
xor %r10, 56(%rdi)
mov $0x180000200000000, %r9
pext %r9, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 64(%rdi)
mov $0x400001000, %rbp
pext %rbp, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 64(%rdi)
mov %r11, %r10
and $0x2000, %r10
rol $27, %r10
xor %r10, 64(%rdi)
mov $0x600000800000000, %rcx
pext %rcx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 72(%rdi)
mov $0x1000004000, %r13
pext %r13, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 72(%rdi)
mov %r11, %r10
and $0x8000, %r10
rol $25, %r10
xor %r10, 72(%rdi)
mov $0x800002000000000, %r12
pext %r12, %r11, %r10
mov $0x40000008, %rdx
pdep %rdx, %r10, %r10
xor %r10, 80(%rdi)
mov $0x4000010000, %rbx
pext %rbx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 80(%rdi)
mov 72(%rsi), %r11
mov $0x1800000000000000, %rax
pext %rax, %r11, %r10
mov $0x40000000400, %r8
pdep %r8, %r10, %r10
xor %r10, 0(%rdi)
mov $0xc000000000, %r9
pext %r9, %r11, %r10
mov $0x800000008000, %rbp
pdep %rbp, %r10, %r10
xor %r10, 0(%rdi)
mov $0x60000, %rcx
pext %rcx, %r11, %r10
mov $0x10000000100000, %r14
pdep %r14, %r10, %r10
xor %r10, 0(%rdi)
mov $0x6000000000000000, %r13
pext %r13, %r11, %r10
pdep %r8, %r10, %r10
xor %r10, 8(%rdi)
mov $0x30000000000, %r12
pext %r12, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 8(%rdi)
mov $0x180000, %rdx
pext %rdx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 8(%rdi)
mov $0x80000c0000000000, %rbx
pext %rbx, %r11, %r10
mov $0x8000001000000010, %r15
pdep %r15, %r10, %r10
rol $11, %r10
xor %r10, 16(%rdi)
mov $0x600000, %rax
pext %rax, %r11, %r10
mov $0x20000000200, %r9
pdep %r9, %r10, %r10
rol $11, %r10
xor %r10, 16(%rdi)
mov %r11, %r10
and $0x3, %r10
mov $0x400000004000, %rcx
pdep %rcx, %r10, %r10
rol $11, %r10
xor %r10, 16(%rdi)
mov $0x300000000000, %r13
pext %r13, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 24(%rdi)
mov $0x1800000, %r8
pext %r8, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 24(%rdi)
mov $0xc, %r12
pext %r12, %r11, %r10
mov $0x200000002000000, %rdx
pdep %rdx, %r10, %r10
xor %r10, 24(%rdi)
mov $0xc00000000000, %rbx
pext %rbx, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 32(%rdi)
mov $0x6000000, %r15
pext %r15, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 32(%rdi)
mov $0x30, %rax
pext %rax, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 32(%rdi)
mov $0x3000000000000, %r9
pext %r9, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 40(%rdi)
mov $0x18000000, %rcx
pext %rcx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 40(%rdi)
mov $0xc0, %r13
pext %r13, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 40(%rdi)
mov $0xc000000000000, %r8
pext %r8, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 48(%rdi)
mov $0x60000000, %r12
pext %r12, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 48(%rdi)
mov $0x300, %rbx
pext %rbx, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 48(%rdi)
mov $0x30000000000000, %r15
pext %r15, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 56(%rdi)
mov $0x180000000, %rax
pext %rax, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 56(%rdi)
mov $0xc00, %r9
pext %r9, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 56(%rdi)
mov $0xc0000000000000, %rcx
pext %rcx, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 64(%rdi)
mov $0x600000000, %r13
pext %r13, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 64(%rdi)
mov $0x3000, %r8
pext %r8, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 64(%rdi)
mov $0x300000000000000, %r12
pext %r12, %r11, %r10
pdep %rbp, %r10, %r10
xor %r10, 72(%rdi)
mov $0x1800000000, %rbx
pext %rbx, %r11, %r10
pdep %r14, %r10, %r10
xor %r10, 72(%rdi)
mov $0xc000, %r15
pext %r15, %r11, %r10
pdep %rdx, %r10, %r10
xor %r10, 72(%rdi)
mov $0x400002000000000, %rax
pext %rax, %r11, %r10
mov $0x8000000000000010, %r9
pdep %r9, %r10, %r10
rol $16, %r10
xor %r10, 80(%rdi)
mov %r11, %r10
and $0x10000, %r10
rol $9, %r10
xor %r10, 80(%rdi)
mov 80(%rsi), %r11
mov $0x30000, %rcx
pext %rcx, %r11, %r10
mov $0x2000000020, %r13
pdep %r13, %r10, %r10
xor %r10, 0(%rdi)
mov $0xc0000, %r8
pext %r8, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 8(%rdi)
mov $0x300001, %r12
pext %r12, %r11, %r10
mov $0x8000000080000010, %rbp
pdep %rbp, %r10, %r10
rol $38, %r10
xor %r10, 16(%rdi)
mov $0xc00000, %rbx
pext %rbx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 24(%rdi)
mov $0x6, %r14
pext %r14, %r11, %r10
mov $0x40000000400, %r15
pdep %r15, %r10, %r10
xor %r10, 24(%rdi)
mov $0x3000000, %rdx
pext %rdx, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 32(%rdi)
mov $0x18, %rax
pext %rax, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 32(%rdi)
mov $0xc000000, %r9
pext %r9, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 40(%rdi)
mov $0x60, %rcx
pext %rcx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 40(%rdi)
mov $0x30000000, %r8
pext %r8, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 48(%rdi)
mov $0x180, %r12
pext %r12, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 48(%rdi)
mov $0xc0000000, %rbp
pext %rbp, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 56(%rdi)
mov $0x600, %rbx
pext %rbx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 56(%rdi)
mov $0x300000000, %r14
pext %r14, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 64(%rdi)
mov $0x1800, %rdx
pext %rdx, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 64(%rdi)
mov $0xc00000000, %rax
pext %rax, %r11, %r10
pdep %r13, %r10, %r10
xor %r10, 72(%rdi)
mov $0x6000, %r9
pext %r9, %r11, %r10
pdep %r15, %r10, %r10
xor %r10, 72(%rdi)
mov $0x1000008000, %rcx
pext %rcx, %r11, %r10
mov $0x8000000000000010, %r8
pdep %r8, %r10, %r10
rol $6, %r10
xor %r10, 80(%rdi)
movq $0x0, 88(%rdi)
pop %rbp
pop %rbx
pop %r12
pop %r13
pop %r14
pop %r15
ret