// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/lunarkeyakv2/Haswell/KeccakP-1600-times4-SIMD256.c
// Function: KeccakP1600times4_ExtractAndAddLanesAll
void KeccakP1600times4_ExtractAndAddLanesAll(const void *states, const unsigned char *input, unsigned char *output, unsigned int laneCount, unsigned int laneOffset)
{
    const UINT64 *curInput0 = (UINT64 *)input;
    const UINT64 *curInput1 = (UINT64 *)(input+laneOffset*1*SnP_laneLengthInBytes);
    const UINT64 *curInput2 = (UINT64 *)(input+laneOffset*2*SnP_laneLengthInBytes);
    const UINT64 *curInput3 = (UINT64 *)(input+laneOffset*3*SnP_laneLengthInBytes);
    UINT64 *curOutput0 = (UINT64 *)output;
    UINT64 *curOutput1 = (UINT64 *)(output+laneOffset*1*SnP_laneLengthInBytes);
    UINT64 *curOutput2 = (UINT64 *)(output+laneOffset*2*SnP_laneLengthInBytes);
    UINT64 *curOutput3 = (UINT64 *)(output+laneOffset*3*SnP_laneLengthInBytes);

    const V256 *stateAsLanes = (const V256 *)states;
    const UINT64 *stateAsLanes64 = (const UINT64*)states;
    V256    lanes0, lanes1, lanes2, lanes3, lanesL01, lanesL23, lanesH01, lanesH23;
    unsigned int i;

    #define ExtrXor( argIndex ) \
                                curOutput0[argIndex] = curInput0[argIndex] ^ stateAsLanes64[4*(argIndex)],\
                                curOutput1[argIndex] = curInput1[argIndex] ^ stateAsLanes64[4*(argIndex)+1],\
                                curOutput2[argIndex] = curInput2[argIndex] ^ stateAsLanes64[4*(argIndex)+2],\
                                curOutput3[argIndex] = curInput3[argIndex] ^ stateAsLanes64[4*(argIndex)+3]

    #define ExtrXor4( argIndex ) \
                                    lanes0 = LOAD256( stateAsLanes[argIndex+0] ),\
                                    lanes1 = LOAD256( stateAsLanes[argIndex+1] ),\
                                    lanes2 = LOAD256( stateAsLanes[argIndex+2] ),\
                                    lanes3 = LOAD256( stateAsLanes[argIndex+3] ),\
                                    UNINTLEAVE(),\
                                    lanesL01 = LOAD256u( curInput0[argIndex]),\
                                    lanesH01 = LOAD256u( curInput1[argIndex]),\
                                    lanesL23 = LOAD256u( curInput2[argIndex]),\
                                    lanesH23 = LOAD256u( curInput3[argIndex]),\
                                    XOReq256( lanes0, lanesL01 ),\
                                    XOReq256( lanes1, lanesH01 ),\
                                    XOReq256( lanes2, lanesL23 ),\
                                    XOReq256( lanes3, lanesH23 ),\
                                    STORE256u( curOutput0[argIndex], lanes0 ),\
                                    STORE256u( curOutput1[argIndex], lanes1 ),\
                                    STORE256u( curOutput2[argIndex], lanes2 ),\
                                    STORE256u( curOutput3[argIndex], lanes3 )

    if ( laneCount >= 16 )  {
        ExtrXor4( 0 );
        ExtrXor4( 4 );
        ExtrXor4( 8 );
        ExtrXor4( 12 );
        if ( laneCount >= 20 )  {
            ExtrXor4( 16 );
            for(i=20; i<laneCount; i++)
                ExtrXor( i );
        }
        else {
            for(i=16; i<laneCount; i++)
                ExtrXor( i );
        }
    }
    else {
        for(i=0; i<laneCount; i++)
            ExtrXor( i );
    }
    #undef  ExtrXor
    #undef  ExtrXor4
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
andq $-0x20, %rsp
subq $0x11e0, %rsp           # imm = 0x11E0
movq %rdi, 0x198(%rsp)
movq %rsi, 0x190(%rsp)
movq %rdx, 0x188(%rsp)
movl %ecx, 0x184(%rsp)
movl %r8d, 0x180(%rsp)
movq 0x190(%rsp), %rax
movq %rax, 0x178(%rsp)
movq 0x190(%rsp), %rax
movl 0x180(%rsp), %ecx
shll $0x0, %ecx
shll $0x3, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x170(%rsp)
movq 0x190(%rsp), %rax
movl 0x180(%rsp), %ecx
shll %ecx
shll $0x3, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x168(%rsp)
movq 0x190(%rsp), %rax
imull $0x3, 0x180(%rsp), %ecx
shll $0x3, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x160(%rsp)
movq 0x188(%rsp), %rax
movq %rax, 0x158(%rsp)
movq 0x188(%rsp), %rax
movl 0x180(%rsp), %ecx
shll $0x0, %ecx
shll $0x3, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x150(%rsp)
movq 0x188(%rsp), %rax
movl 0x180(%rsp), %ecx
shll %ecx
shll $0x3, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x148(%rsp)
movq 0x188(%rsp), %rax
imull $0x3, 0x180(%rsp), %ecx
shll $0x3, %ecx
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, 0x140(%rsp)
movq 0x198(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x198(%rsp), %rax
movq %rax, 0x130(%rsp)
cmpl $0x10, 0x184(%rsp)
jb 0x21779
movq 0x138(%rsp), %rax
movq %rax, 0x7d8(%rsp)
movq 0x7d8(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0x100(%rsp)
movq 0x138(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x7d0(%rsp)
movq 0x7d0(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
movq 0x138(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x7c8(%rsp)
movq 0x7c8(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
movq 0x138(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x7c0(%rsp)
movq 0x7c0(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0xa40(%rsp)
vmovdqa %ymm0, 0xa20(%rsp)
vmovdqa 0xa40(%rsp), %ymm0
vmovdqa 0xa20(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x80(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0xcc0(%rsp)
vmovdqa %ymm0, 0xca0(%rsp)
vmovdqa 0xcc0(%rsp), %ymm0
vmovdqa 0xca0(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x40(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0xa00(%rsp)
vmovdqa %ymm0, 0x9e0(%rsp)
vmovdqa 0xa00(%rsp), %ymm0
vmovdqa 0x9e0(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x60(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0xc80(%rsp)
vmovdqa %ymm0, 0xc60(%rsp)
vmovdqa 0xc80(%rsp), %ymm0
vmovdqa 0xc60(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x178(%rsp), %rax
movq %rax, 0x238(%rsp)
movq 0x238(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x80(%rsp)
movq 0x170(%rsp), %rax
movq %rax, 0x230(%rsp)
movq 0x230(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x40(%rsp)
movq 0x168(%rsp), %rax
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x60(%rsp)
movq 0x160(%rsp), %rax
movq %rax, 0x220(%rsp)
movq 0x220(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0x80(%rsp), %ymm0
vmovdqa %ymm1, 0x720(%rsp)
vmovdqa %ymm0, 0x700(%rsp)
vmovdqa 0x720(%rsp), %ymm0
vmovdqa 0x700(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0xe0(%rsp), %ymm1
vmovdqa 0x40(%rsp), %ymm0
vmovdqa %ymm1, 0x6e0(%rsp)
vmovdqa %ymm0, 0x6c0(%rsp)
vmovdqa 0x6e0(%rsp), %ymm0
vmovdqa 0x6c0(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0x60(%rsp), %ymm0
vmovdqa %ymm1, 0x6a0(%rsp)
vmovdqa %ymm0, 0x680(%rsp)
vmovdqa 0x6a0(%rsp), %ymm0
vmovdqa 0x680(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0xa0(%rsp), %ymm1
vmovdqa 0x20(%rsp), %ymm0
vmovdqa %ymm1, 0x660(%rsp)
vmovdqa %ymm0, 0x640(%rsp)
vmovdqa 0x660(%rsp), %ymm0
vmovdqa 0x640(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x158(%rsp), %rax
vmovdqa 0x100(%rsp), %ymm0
movq %rax, 0x11c8(%rsp)
vmovdqa %ymm0, 0x11a0(%rsp)
vmovdqa 0x11a0(%rsp), %ymm0
movq 0x11c8(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x150(%rsp), %rax
vmovdqa 0xe0(%rsp), %ymm0
movq %rax, 0x1198(%rsp)
vmovdqa %ymm0, 0x1160(%rsp)
vmovdqa 0x1160(%rsp), %ymm0
movq 0x1198(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x148(%rsp), %rax
vmovdqa 0xc0(%rsp), %ymm0
movq %rax, 0x1158(%rsp)
vmovdqa %ymm0, 0x1120(%rsp)
vmovdqa 0x1120(%rsp), %ymm0
movq 0x1158(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x140(%rsp), %rax
vmovdqa 0xa0(%rsp), %ymm0
movq %rax, 0x1118(%rsp)
vmovdqa %ymm0, 0x10e0(%rsp)
vmovdqa 0x10e0(%rsp), %ymm0
movq 0x1118(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x138(%rsp), %rax
subq $-0x80, %rax
movq %rax, 0x7b8(%rsp)
movq 0x7b8(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0x100(%rsp)
movq 0x138(%rsp), %rax
addq $0xa0, %rax
movq %rax, 0x7b0(%rsp)
movq 0x7b0(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
movq 0x138(%rsp), %rax
addq $0xc0, %rax
movq %rax, 0x7a8(%rsp)
movq 0x7a8(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
movq 0x138(%rsp), %rax
addq $0xe0, %rax
movq %rax, 0x7a0(%rsp)
movq 0x7a0(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0x9c0(%rsp)
vmovdqa %ymm0, 0x9a0(%rsp)
vmovdqa 0x9c0(%rsp), %ymm0
vmovdqa 0x9a0(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x80(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0xc40(%rsp)
vmovdqa %ymm0, 0xc20(%rsp)
vmovdqa 0xc40(%rsp), %ymm0
vmovdqa 0xc20(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x40(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0x980(%rsp)
vmovdqa %ymm0, 0x960(%rsp)
vmovdqa 0x980(%rsp), %ymm0
vmovdqa 0x960(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x60(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0xc00(%rsp)
vmovdqa %ymm0, 0xbe0(%rsp)
vmovdqa 0xc00(%rsp), %ymm0
vmovdqa 0xbe0(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x178(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x218(%rsp)
movq 0x218(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x80(%rsp)
movq 0x170(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x210(%rsp)
movq 0x210(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x40(%rsp)
movq 0x168(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x208(%rsp)
movq 0x208(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x60(%rsp)
movq 0x160(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x200(%rsp)
movq 0x200(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0x80(%rsp), %ymm0
vmovdqa %ymm1, 0x620(%rsp)
vmovdqa %ymm0, 0x600(%rsp)
vmovdqa 0x620(%rsp), %ymm0
vmovdqa 0x600(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0xe0(%rsp), %ymm1
vmovdqa 0x40(%rsp), %ymm0
vmovdqa %ymm1, 0x5e0(%rsp)
vmovdqa %ymm0, 0x5c0(%rsp)
vmovdqa 0x5e0(%rsp), %ymm0
vmovdqa 0x5c0(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0x60(%rsp), %ymm0
vmovdqa %ymm1, 0x5a0(%rsp)
vmovdqa %ymm0, 0x580(%rsp)
vmovdqa 0x5a0(%rsp), %ymm0
vmovdqa 0x580(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0xa0(%rsp), %ymm1
vmovdqa 0x20(%rsp), %ymm0
vmovdqa %ymm1, 0x560(%rsp)
vmovdqa %ymm0, 0x540(%rsp)
vmovdqa 0x560(%rsp), %ymm0
vmovdqa 0x540(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x158(%rsp), %rax
addq $0x20, %rax
vmovdqa 0x100(%rsp), %ymm0
movq %rax, 0x10d8(%rsp)
vmovdqa %ymm0, 0x10a0(%rsp)
vmovdqa 0x10a0(%rsp), %ymm0
movq 0x10d8(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x150(%rsp), %rax
addq $0x20, %rax
vmovdqa 0xe0(%rsp), %ymm0
movq %rax, 0x1098(%rsp)
vmovdqa %ymm0, 0x1060(%rsp)
vmovdqa 0x1060(%rsp), %ymm0
movq 0x1098(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x148(%rsp), %rax
addq $0x20, %rax
vmovdqa 0xc0(%rsp), %ymm0
movq %rax, 0x1058(%rsp)
vmovdqa %ymm0, 0x1020(%rsp)
vmovdqa 0x1020(%rsp), %ymm0
movq 0x1058(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x140(%rsp), %rax
addq $0x20, %rax
vmovdqa 0xa0(%rsp), %ymm0
movq %rax, 0x1018(%rsp)
vmovdqa %ymm0, 0xfe0(%rsp)
vmovdqa 0xfe0(%rsp), %ymm0
movq 0x1018(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x138(%rsp), %rax
addq $0x100, %rax            # imm = 0x100
movq %rax, 0x798(%rsp)
movq 0x798(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0x100(%rsp)
movq 0x138(%rsp), %rax
addq $0x120, %rax            # imm = 0x120
movq %rax, 0x790(%rsp)
movq 0x790(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
movq 0x138(%rsp), %rax
addq $0x140, %rax            # imm = 0x140
movq %rax, 0x788(%rsp)
movq 0x788(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
movq 0x138(%rsp), %rax
addq $0x160, %rax            # imm = 0x160
movq %rax, 0x780(%rsp)
movq 0x780(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0x940(%rsp)
vmovdqa %ymm0, 0x920(%rsp)
vmovdqa 0x940(%rsp), %ymm0
vmovdqa 0x920(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x80(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0xbc0(%rsp)
vmovdqa %ymm0, 0xba0(%rsp)
vmovdqa 0xbc0(%rsp), %ymm0
vmovdqa 0xba0(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x40(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0x900(%rsp)
vmovdqa %ymm0, 0x8e0(%rsp)
vmovdqa 0x900(%rsp), %ymm0
vmovdqa 0x8e0(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x60(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0xb80(%rsp)
vmovdqa %ymm0, 0xb60(%rsp)
vmovdqa 0xb80(%rsp), %ymm0
vmovdqa 0xb60(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x178(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x1f8(%rsp)
movq 0x1f8(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x80(%rsp)
movq 0x170(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x1f0(%rsp)
movq 0x1f0(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x40(%rsp)
movq 0x168(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x1e8(%rsp)
movq 0x1e8(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x60(%rsp)
movq 0x160(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x1e0(%rsp)
movq 0x1e0(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0x80(%rsp), %ymm0
vmovdqa %ymm1, 0x520(%rsp)
vmovdqa %ymm0, 0x500(%rsp)
vmovdqa 0x520(%rsp), %ymm0
vmovdqa 0x500(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0xe0(%rsp), %ymm1
vmovdqa 0x40(%rsp), %ymm0
vmovdqa %ymm1, 0x4e0(%rsp)
vmovdqa %ymm0, 0x4c0(%rsp)
vmovdqa 0x4e0(%rsp), %ymm0
vmovdqa 0x4c0(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0x60(%rsp), %ymm0
vmovdqa %ymm1, 0x4a0(%rsp)
vmovdqa %ymm0, 0x480(%rsp)
vmovdqa 0x4a0(%rsp), %ymm0
vmovdqa 0x480(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0xa0(%rsp), %ymm1
vmovdqa 0x20(%rsp), %ymm0
vmovdqa %ymm1, 0x460(%rsp)
vmovdqa %ymm0, 0x440(%rsp)
vmovdqa 0x460(%rsp), %ymm0
vmovdqa 0x440(%rsp), %ymm1
vpxor %ymm1, %ymm0, %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x158(%rsp), %rax
addq $0x40, %rax
vmovdqa 0x100(%rsp), %ymm0
movq %rax, 0xfd8(%rsp)
vmovdqa %ymm0, 0xfa0(%rsp)
vmovdqa 0xfa0(%rsp), %ymm0
movq 0xfd8(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x150(%rsp), %rax
addq $0x40, %rax
vmovdqa 0xe0(%rsp), %ymm0
movq %rax, 0xf98(%rsp)
vmovdqa %ymm0, 0xf60(%rsp)
vmovdqa 0xf60(%rsp), %ymm0
movq 0xf98(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x148(%rsp), %rax
addq $0x40, %rax
vmovdqa 0xc0(%rsp), %ymm0
movq %rax, 0xf58(%rsp)
vmovdqa %ymm0, 0xf20(%rsp)
vmovdqa 0xf20(%rsp), %ymm0
movq 0xf58(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x140(%rsp), %rax
addq $0x40, %rax
vmovdqa 0xa0(%rsp), %ymm0
movq %rax, 0xf18(%rsp)
vmovdqa %ymm0, 0xee0(%rsp)
vmovdqa 0xee0(%rsp), %ymm0
movq 0xf18(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x138(%rsp), %rax
addq $0x180, %rax            # imm = 0x180
movq %rax, 0x778(%rsp)
movq 0x778(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0x100(%rsp)
movq 0x138(%rsp), %rax
addq $0x1a0, %rax            # imm = 0x1A0
movq %rax, 0x770(%rsp)
movq 0x770(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
movq 0x138(%rsp), %rax
addq $0x1c0, %rax            # imm = 0x1C0
movq %rax, 0x768(%rsp)
movq 0x768(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
movq 0x138(%rsp), %rax
addq $0x1e0, %rax            # imm = 0x1E0
movq %rax, 0x760(%rsp)
movq 0x760(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0x8c0(%rsp)
vmovdqa %ymm0, 0x8a0(%rsp)
vmovdqa 0x8c0(%rsp), %ymm0
vmovdqa 0x8a0(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x80(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0xb40(%rsp)
vmovdqa %ymm0, 0xb20(%rsp)
vmovdqa 0xb40(%rsp), %ymm0
vmovdqa 0xb20(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x40(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0x880(%rsp)
vmovdqa %ymm0, 0x860(%rsp)
vmovdqa 0x880(%rsp), %ymm0
vmovdqa 0x860(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x60(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0xb00(%rsp)
vmovdqa %ymm0, 0xae0(%rsp)
vmovdqa 0xb00(%rsp), %ymm0
vmovdqa 0xae0(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x178(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x1d8(%rsp)
movq 0x1d8(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x80(%rsp)
movq 0x170(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x1d0(%rsp)
movq 0x1d0(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x40(%rsp)
movq 0x168(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x1c8(%rsp)
movq 0x1c8(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x60(%rsp)
movq 0x160(%rsp), %rax
addq $0x60, %rax
movq %rax, 0x1c0(%rsp)
movq 0x1c0(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0x80(%rsp), %ymm0
vmovdqa %ymm1, 0x420(%rsp)
vmovdqa %ymm0, 0x400(%rsp)
vmovdqa 0x420(%rsp), %ymm0
vpxor 0x400(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0xe0(%rsp), %ymm1
vmovdqa 0x40(%rsp), %ymm0
vmovdqa %ymm1, 0x3e0(%rsp)
vmovdqa %ymm0, 0x3c0(%rsp)
vmovdqa 0x3e0(%rsp), %ymm0
vpxor 0x3c0(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0x60(%rsp), %ymm0
vmovdqa %ymm1, 0x3a0(%rsp)
vmovdqa %ymm0, 0x380(%rsp)
vmovdqa 0x3a0(%rsp), %ymm0
vpxor 0x380(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0xa0(%rsp), %ymm1
vmovdqa 0x20(%rsp), %ymm0
vmovdqa %ymm1, 0x360(%rsp)
vmovdqa %ymm0, 0x340(%rsp)
vmovdqa 0x360(%rsp), %ymm0
vpxor 0x340(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x158(%rsp), %rax
addq $0x60, %rax
vmovdqa 0x100(%rsp), %ymm0
movq %rax, 0xed8(%rsp)
vmovdqa %ymm0, 0xea0(%rsp)
vmovdqa 0xea0(%rsp), %ymm0
movq 0xed8(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x150(%rsp), %rax
addq $0x60, %rax
vmovdqa 0xe0(%rsp), %ymm0
movq %rax, 0xe98(%rsp)
vmovdqa %ymm0, 0xe60(%rsp)
vmovdqa 0xe60(%rsp), %ymm0
movq 0xe98(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x148(%rsp), %rax
addq $0x60, %rax
vmovdqa 0xc0(%rsp), %ymm0
movq %rax, 0xe58(%rsp)
vmovdqa %ymm0, 0xe20(%rsp)
vmovdqa 0xe20(%rsp), %ymm0
movq 0xe58(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x140(%rsp), %rax
addq $0x60, %rax
vmovdqa 0xa0(%rsp), %ymm0
movq %rax, 0xe18(%rsp)
vmovdqa %ymm0, 0xde0(%rsp)
vmovdqa 0xde0(%rsp), %ymm0
movq 0xe18(%rsp), %rax
vmovdqu %ymm0, (%rax)
cmpl $0x14, 0x184(%rsp)
jb 0x2166c
movq 0x138(%rsp), %rax
addq $0x200, %rax            # imm = 0x200
movq %rax, 0x758(%rsp)
movq 0x758(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0x100(%rsp)
movq 0x138(%rsp), %rax
addq $0x220, %rax            # imm = 0x220
movq %rax, 0x750(%rsp)
movq 0x750(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
movq 0x138(%rsp), %rax
addq $0x240, %rax            # imm = 0x240
movq %rax, 0x748(%rsp)
movq 0x748(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
movq 0x138(%rsp), %rax
addq $0x260, %rax            # imm = 0x260
movq %rax, 0x740(%rsp)
movq 0x740(%rsp), %rax
vmovdqa (%rax), %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0x840(%rsp)
vmovdqa %ymm0, 0x820(%rsp)
vmovdqa 0x840(%rsp), %ymm0
vmovdqa 0x820(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x80(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0xe0(%rsp), %ymm0
vmovdqa %ymm1, 0xac0(%rsp)
vmovdqa %ymm0, 0xaa0(%rsp)
vmovdqa 0xac0(%rsp), %ymm0
vmovdqa 0xaa0(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x40(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0x800(%rsp)
vmovdqa %ymm0, 0x7e0(%rsp)
vmovdqa 0x800(%rsp), %ymm0
vmovdqa 0x7e0(%rsp), %ymm1
vpunpcklqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2]
vmovdqa %ymm0, 0x60(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0xa0(%rsp), %ymm0
vmovdqa %ymm1, 0xa80(%rsp)
vmovdqa %ymm0, 0xa60(%rsp)
vmovdqa 0xa80(%rsp), %ymm0
vmovdqa 0xa60(%rsp), %ymm1
vpunpckhqdq %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3]
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0x80(%rsp), %ymm0
vmovdqa 0x60(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x20, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[0,1],ymm1[0,1]
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0x40(%rsp), %ymm0
vmovdqa 0x20(%rsp), %ymm1
vperm2i128 $0x31, %ymm1, %ymm0, %ymm0 # ymm0 = ymm0[2,3],ymm1[2,3]
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x178(%rsp), %rax
addq $0x80, %rax
movq %rax, 0x1b8(%rsp)
movq 0x1b8(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x80(%rsp)
movq 0x170(%rsp), %rax
addq $0x80, %rax
movq %rax, 0x1b0(%rsp)
movq 0x1b0(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x40(%rsp)
movq 0x168(%rsp), %rax
addq $0x80, %rax
movq %rax, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x60(%rsp)
movq 0x160(%rsp), %rax
addq $0x80, %rax
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rax
vmovdqu (%rax), %ymm0
vmovdqa %ymm0, 0x20(%rsp)
vmovdqa 0x100(%rsp), %ymm1
vmovdqa 0x80(%rsp), %ymm0
vmovdqa %ymm1, 0x320(%rsp)
vmovdqa %ymm0, 0x300(%rsp)
vmovdqa 0x320(%rsp), %ymm0
vpxor 0x300(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0x100(%rsp)
vmovdqa 0xe0(%rsp), %ymm1
vmovdqa 0x40(%rsp), %ymm0
vmovdqa %ymm1, 0x2e0(%rsp)
vmovdqa %ymm0, 0x2c0(%rsp)
vmovdqa 0x2e0(%rsp), %ymm0
vpxor 0x2c0(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0xe0(%rsp)
vmovdqa 0xc0(%rsp), %ymm1
vmovdqa 0x60(%rsp), %ymm0
vmovdqa %ymm1, 0x2a0(%rsp)
vmovdqa %ymm0, 0x280(%rsp)
vmovdqa 0x2a0(%rsp), %ymm0
vpxor 0x280(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0xc0(%rsp)
vmovdqa 0xa0(%rsp), %ymm1
vmovdqa 0x20(%rsp), %ymm0
vmovdqa %ymm1, 0x260(%rsp)
vmovdqa %ymm0, 0x240(%rsp)
vmovdqa 0x260(%rsp), %ymm0
vpxor 0x240(%rsp), %ymm0, %ymm0
vmovdqa %ymm0, 0xa0(%rsp)
movq 0x158(%rsp), %rax
addq $0x80, %rax
vmovdqa 0x100(%rsp), %ymm0
movq %rax, 0xdd8(%rsp)
vmovdqa %ymm0, 0xda0(%rsp)
vmovdqa 0xda0(%rsp), %ymm0
movq 0xdd8(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x150(%rsp), %rax
addq $0x80, %rax
vmovdqa 0xe0(%rsp), %ymm0
movq %rax, 0xd98(%rsp)
vmovdqa %ymm0, 0xd60(%rsp)
vmovdqa 0xd60(%rsp), %ymm0
movq 0xd98(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x148(%rsp), %rax
addq $0x80, %rax
vmovdqa 0xc0(%rsp), %ymm0
movq %rax, 0xd58(%rsp)
vmovdqa %ymm0, 0xd20(%rsp)
vmovdqa 0xd20(%rsp), %ymm0
movq 0xd58(%rsp), %rax
vmovdqu %ymm0, (%rax)
movq 0x140(%rsp), %rax
addq $0x80, %rax
vmovdqa 0xa0(%rsp), %ymm0
movq %rax, 0xd18(%rsp)
vmovdqa %ymm0, 0xce0(%rsp)
vmovdqa 0xce0(%rsp), %ymm0
movq 0xd18(%rsp), %rax
vmovdqu %ymm0, (%rax)
movl $0x14, 0x1c(%rsp)
movl 0x1c(%rsp), %eax
cmpl 0x184(%rsp), %eax
jae 0x21667
movq 0x178(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x158(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x170(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x1, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x150(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x168(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x2, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x148(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x160(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x3, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x140(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movl 0x1c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x21569
jmp 0x21774
movl $0x10, 0x1c(%rsp)
movl 0x1c(%rsp), %eax
cmpl 0x184(%rsp), %eax
jae 0x21772
movq 0x178(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x158(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x170(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x1, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x150(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x168(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x2, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x148(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x160(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x3, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x140(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movl 0x1c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x21674
jmp 0x21774
jmp 0x21881
movl $0x0, 0x1c(%rsp)
movl 0x1c(%rsp), %eax
cmpl 0x184(%rsp), %eax
jae 0x2187f
movq 0x178(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x158(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x170(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x1, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x150(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x168(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x2, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x148(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movq 0x160(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq (%rax,%rcx,8), %rdx
movq 0x130(%rsp), %rax
movl 0x1c(%rsp), %ecx
shll $0x2, %ecx
addl $0x3, %ecx
movl %ecx, %ecx
xorq (%rax,%rcx,8), %rdx
movq 0x140(%rsp), %rax
movl 0x1c(%rsp), %ecx
movq %rdx, (%rax,%rcx,8)
movl 0x1c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1c(%rsp)
jmp 0x21781
jmp 0x21881
movq %rbp, %rsp
popq %rbp
vzeroupper
retq
nopl (%rax)