// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/oceankeyakv2/KnightsLanding/KeccakP-1600-times8-SIMD512.c
// Function: KeccakP1600times8_ExtractAndAddLanesAll
void KeccakP1600times8_ExtractAndAddLanesAll(const void *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset)
{
    const V512 *stateAsLanes = states;
    const UINT64 *inAsLanes = (const UINT64 *)input;
    UINT64 *outAsLanes = (UINT64 *)output;
    unsigned int i;
	V256 index;

    #define ExtrAdd( argIndex )  STORE_SCATTER8_64(outAsLanes+argIndex, index, XOR(stateAsLanes[argIndex], LOAD_GATHER8_64(index, inAsLanes+argIndex)))
    index = LOAD8_32(7*laneOffset, 6*laneOffset, 5*laneOffset, 4*laneOffset, 3*laneOffset, 2*laneOffset, 1*laneOffset, 0*laneOffset);
    if ( laneCount >= 16 )  {
        ExtrAdd( 0 );
        ExtrAdd( 1 );
        ExtrAdd( 2 );
        ExtrAdd( 3 );
        ExtrAdd( 4 );
        ExtrAdd( 5 );
        ExtrAdd( 6 );
        ExtrAdd( 7 );
        ExtrAdd( 8 );
        ExtrAdd( 9 );
        ExtrAdd( 10 );
        ExtrAdd( 11 );
        ExtrAdd( 12 );
        ExtrAdd( 13 );
        ExtrAdd( 14 );
        ExtrAdd( 15 );
        if ( laneCount >= 20 )  {
	        ExtrAdd( 16 );
    	    ExtrAdd( 17 );
	        ExtrAdd( 18 );
    	    ExtrAdd( 19 );
            for(i=20; i<laneCount; i++)
                ExtrAdd( i );
        }
        else {
            for(i=16; i<laneCount; i++)
                ExtrAdd( i );
        }
    }
    else {
        for(i=0; i<laneCount; i++)
            ExtrAdd( i );
    }
    #undef  ExtrAdd

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
andq $-0x40, %rsp
subq $0xc80, %rsp            # imm = 0xC80
movq %rdi, 0x78(%rsp)
movq %rsi, 0x70(%rsp)
movq %rdx, 0x68(%rsp)
movl %ecx, 0x64(%rsp)
movl %r8d, 0x60(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x48(%rsp)
movl 0x60(%rsp), %eax
movl %eax, %r9d
shll $0x3, %r9d
subl %eax, %r9d
movl %eax, %ecx
addl %ecx, %ecx
movl %ecx, %edx
leal (%rdx,%rdx,2), %r8d
movl %eax, %edx
leal (%rdx,%rdx,4), %edi
movl %eax, %esi
shll $0x2, %esi
leal (%rdx,%rdx,2), %edx
movl %r9d, 0xbc(%rsp)
movl %r8d, 0xb8(%rsp)
movl %edi, 0xb4(%rsp)
movl %esi, 0xb0(%rsp)
movl %edx, 0xac(%rsp)
movl %ecx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
movl $0x0, 0xa0(%rsp)
movl 0xa4(%rsp), %edx
movl 0xa8(%rsp), %ecx
movl 0xac(%rsp), %eax
movl 0xb4(%rsp), %r8d
movl 0xb8(%rsp), %edi
movl 0xbc(%rsp), %esi
vmovd 0xb0(%rsp), %xmm0
vpinsrd $0x1, %r8d, %xmm0, %xmm0
vpinsrd $0x2, %edi, %xmm0, %xmm0
vpinsrd $0x3, %esi, %xmm0, %xmm1
vmovd 0xa0(%rsp), %xmm0
vpinsrd $0x1, %edx, %xmm0, %xmm0
vpinsrd $0x2, %ecx, %xmm0, %xmm0
vpinsrd $0x3, %eax, %xmm0, %xmm2
vmovaps %xmm2, %xmm0
vinserti128 $0x1, %xmm1, %ymm0, %ymm0
vmovdqa %ymm0, 0x80(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa %ymm0, 0x20(%rsp)
cmpl $0x10, 0x64(%rsp)
jb 0xc5e5c
movq 0x48(%rsp), %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 (%rcx), %zmm2
movq 0x50(%rsp), %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0xc00(%rsp)
vmovdqa64 %zmm1, 0xbc0(%rsp)
vmovdqa64 0xc00(%rsp), %zmm1
vpxorq 0xbc0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x8, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x40(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x8, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0xb80(%rsp)
vmovdqa64 %zmm1, 0xb40(%rsp)
vmovdqa64 0xb80(%rsp), %zmm1
vpxorq 0xb40(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x10, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x80(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x10, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0xb00(%rsp)
vmovdqa64 %zmm1, 0xac0(%rsp)
vmovdqa64 0xb00(%rsp), %zmm1
vpxorq 0xac0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x18, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0xc0(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x18, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0xa80(%rsp)
vmovdqa64 %zmm1, 0xa40(%rsp)
vmovdqa64 0xa80(%rsp), %zmm1
vpxorq 0xa40(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x20, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x100(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x20, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0xa00(%rsp)
vmovdqa64 %zmm1, 0x9c0(%rsp)
vmovdqa64 0xa00(%rsp), %zmm1
vpxorq 0x9c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x28, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x140(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x28, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x980(%rsp)
vmovdqa64 %zmm1, 0x940(%rsp)
vmovdqa64 0x980(%rsp), %zmm1
vpxorq 0x940(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x30, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x180(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x30, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x900(%rsp)
vmovdqa64 %zmm1, 0x8c0(%rsp)
vmovdqa64 0x900(%rsp), %zmm1
vpxorq 0x8c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x38, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x1c0(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x38, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x880(%rsp)
vmovdqa64 %zmm1, 0x840(%rsp)
vmovdqa64 0x880(%rsp), %zmm1
vpxorq 0x840(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x40, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x200(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x40, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x800(%rsp)
vmovdqa64 %zmm1, 0x7c0(%rsp)
vmovdqa64 0x800(%rsp), %zmm1
vpxorq 0x7c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x48, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x240(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x48, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x780(%rsp)
vmovdqa64 %zmm1, 0x740(%rsp)
vmovdqa64 0x780(%rsp), %zmm1
vpxorq 0x740(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x50, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x280(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x50, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x700(%rsp)
vmovdqa64 %zmm1, 0x6c0(%rsp)
vmovdqa64 0x700(%rsp), %zmm1
vpxorq 0x6c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x58, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x2c0(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x58, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x680(%rsp)
vmovdqa64 %zmm1, 0x640(%rsp)
vmovdqa64 0x680(%rsp), %zmm1
vpxorq 0x640(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x60, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x300(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x60, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x600(%rsp)
vmovdqa64 %zmm1, 0x5c0(%rsp)
vmovdqa64 0x600(%rsp), %zmm1
vpxorq 0x5c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x68, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x340(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x68, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x580(%rsp)
vmovdqa64 %zmm1, 0x540(%rsp)
vmovdqa64 0x580(%rsp), %zmm1
vpxorq 0x540(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x70, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x380(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x70, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x500(%rsp)
vmovdqa64 %zmm1, 0x4c0(%rsp)
vmovdqa64 0x500(%rsp), %zmm1
vpxorq 0x4c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x78, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x3c0(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x78, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x480(%rsp)
vmovdqa64 %zmm1, 0x440(%rsp)
vmovdqa64 0x480(%rsp), %zmm1
vpxorq 0x440(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
cmpl $0x14, 0x64(%rsp)
jb 0xc5db3
movq 0x48(%rsp), %rax
addq $0x80, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x400(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x80, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x400(%rsp)
vmovdqa64 %zmm1, 0x3c0(%rsp)
vmovdqa64 0x400(%rsp), %zmm1
vpxorq 0x3c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x88, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x440(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x88, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x380(%rsp)
vmovdqa64 %zmm1, 0x340(%rsp)
vmovdqa64 0x380(%rsp), %zmm1
vpxorq 0x340(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x90, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x480(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x90, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x300(%rsp)
vmovdqa64 %zmm1, 0x2c0(%rsp)
vmovdqa64 0x300(%rsp), %zmm1
vpxorq 0x2c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movq 0x48(%rsp), %rax
addq $0x98, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
vmovdqa64 0x4c0(%rcx), %zmm2
movq 0x50(%rsp), %rcx
addq $0x98, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x280(%rsp)
vmovdqa64 %zmm1, 0x240(%rsp)
vmovdqa64 0x280(%rsp), %zmm1
vpxorq 0x240(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movl $0x14, 0x44(%rsp)
movl 0x44(%rsp), %eax
cmpl 0x64(%rsp), %eax
jae 0xc5dae
movq 0x48(%rsp), %rax
movl 0x44(%rsp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
movl 0x44(%rsp), %edx
shlq $0x6, %rdx
addq %rdx, %rcx
vmovdqa64 (%rcx), %zmm2
movq 0x50(%rsp), %rcx
movl 0x44(%rsp), %edx
shlq $0x3, %rdx
addq %rdx, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x200(%rsp)
vmovdqa64 %zmm1, 0x1c0(%rsp)
vmovdqa64 0x200(%rsp), %zmm1
vpxorq 0x1c0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
jmp 0xc5d14
jmp 0xc5e57
movl $0x10, 0x44(%rsp)
movl 0x44(%rsp), %eax
cmpl 0x64(%rsp), %eax
jae 0xc5e55
movq 0x48(%rsp), %rax
movl 0x44(%rsp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
movl 0x44(%rsp), %edx
shlq $0x6, %rdx
addq %rdx, %rcx
vmovdqa64 (%rcx), %zmm2
movq 0x50(%rsp), %rcx
movl 0x44(%rsp), %edx
shlq $0x3, %rdx
addq %rdx, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x180(%rsp)
vmovdqa64 %zmm1, 0x140(%rsp)
vmovdqa64 0x180(%rsp), %zmm1
vpxorq 0x140(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
jmp 0xc5dbb
jmp 0xc5e57
jmp 0xc5f00
movl $0x0, 0x44(%rsp)
movl 0x44(%rsp), %eax
cmpl 0x64(%rsp), %eax
jae 0xc5efe
movq 0x48(%rsp), %rax
movl 0x44(%rsp), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
vmovdqa 0x20(%rsp), %ymm0
movq 0x58(%rsp), %rcx
movl 0x44(%rsp), %edx
shlq $0x6, %rdx
addq %rdx, %rcx
vmovdqa64 (%rcx), %zmm2
movq 0x50(%rsp), %rcx
movl 0x44(%rsp), %edx
shlq $0x3, %rdx
addq %rdx, %rcx
vmovdqa 0x20(%rsp), %ymm3
kxnorw %k0, %k0, %k1
vpxor %xmm1, %xmm1, %xmm1
vpgatherdq (%rcx,%ymm3,8), %zmm1 {%k1}
vmovdqa64 %zmm2, 0x100(%rsp)
vmovdqa64 %zmm1, 0xc0(%rsp)
vmovdqa64 0x100(%rsp), %zmm1
vpxorq 0xc0(%rsp), %zmm1, %zmm1
kxnorw %k0, %k0, %k1
vpscatterdq %zmm1, (%rax,%ymm0,8) {%k1}
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
jmp 0xc5e64
jmp 0xc5f00
movq %rbp, %rsp
popq %rbp
vzeroupper
retq
nopl (%rax,%rax)