// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/aezv3/aesni/aez_ni.c
// Function: aez_setup
void aez_setup(unsigned char *key, unsigned kbytes, aez_ctx_t *ctx) {
    __m128i tmp;
    if (kbytes==16) {
        __m128i K   = load(key);
        __m128i C11 = _mm_setr_epi8(0xCB,0xEC,0x5B,0xC6,0xB0,0x2F,0xFA,0xA8,
                                    0xA5,0x0D,0x52,0x99,0xA9,0x94,0xA2,0x0A);
        __m128i C12 = _mm_setr_epi8(0x0B,0x97,0x9B,0xB6,0x0A,0x61,0x7C,0x2C,
                                    0xBB,0x65,0x2B,0x68,0x7D,0x12,0xED,0x8D);
        __m128i C13 = _mm_setr_epi8(0x1D,0x8B,0x1E,0x93,0xA6,0x94,0x06,0x4D,
                                    0x4A,0xC9,0x92,0xAF,0xDE,0x78,0x67,0x0F);
        ctx->I      = aes4(vxor(K,C11),C11,C11,C11,C11);
        ctx->J[0]   = aes4(vxor(K,C12),C12,C12,C12,C12);
        ctx->L      = aes4(vxor(K,C13),C13,C13,C13,C13);
    } else {
        __m128i Z  = _mm_setr_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
        __m128i i1 = _mm_insert_epi8(zero, 1, 7);
        __m128i i2 = _mm_insert_epi8(zero, 2, 7);
        __m128i i3 = _mm_insert_epi8(zero, 3, 7);
        __m128i j, one = _mm_insert_epi8(zero, 1, 15);
        ctx->I = ctx->J[0] = ctx->L = zero;
        if (kbytes==0) key = (unsigned char *)ctx->J; /* used as a flag later */
        for (j=one; kbytes>=16; key+=16, kbytes-=16, j = _mm_add_epi8(j,one)) {
            __m128i K   = load(key);
            __m128i C1j = aes4(vxor3(i1,j,Z),Z,Z,Z,Z);
            __m128i C2j = aes4(vxor3(i2,j,Z),Z,Z,Z,Z);
            __m128i C3j = aes4(vxor3(i3,j,Z),Z,Z,Z,Z);
            ctx->I      = vxor(ctx->I,    aes4(vxor(K,C1j),C1j,C1j,C1j,C1j));
            ctx->J[0]   = vxor(ctx->J[0], aes4(vxor(K,C2j),C2j,C2j,C2j,C2j));
            ctx->L      = vxor(ctx->L,    aes4(vxor(K,C3j),C3j,C3j,C3j,C3j));
        }
        if (kbytes || (key == (unsigned char *)ctx->J)) {
            __m128i K = one_zero_pad(load_partial(key,kbytes),16-kbytes);
            __m128i C10 = aes4(vxor(i1,Z),Z,Z,Z,Z);
            __m128i C20 = aes4(vxor(i2,Z),Z,Z,Z,Z);
            __m128i C30 = aes4(vxor(i3,Z),Z,Z,Z,Z);
            ctx->I      = vxor(ctx->I,    aes4(vxor(K,C10),C10,C10,C10,C10));
            ctx->J[0]   = vxor(ctx->J[0], aes4(vxor(K,C20),C20,C20,C20,C20));
            ctx->L      = vxor(ctx->L,    aes4(vxor(K,C30),C30,C30,C30,C30));
        }
    }

    /* Fill ctx */
    ctx->J[1] = bswap16(tmp = double_block(bswap16(ctx->J[0])));
    ctx->J[2] = bswap16(tmp = double_block(tmp));
    ctx->J[3] = bswap16(tmp = double_block(tmp));
    ctx->J[4] = bswap16(tmp = double_block(tmp));
    ctx->delta3_cache = zero;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x608, %rsp            # imm = 0x608
movq %rdi, 0x1b8(%rsp)
movl %esi, 0x1b4(%rsp)
movq %rdx, 0x1a8(%rsp)
cmpl $0x10, 0x1b4(%rsp)
jne 0x1ad1
movq 0x1b8(%rsp), %rdi
callq 0x26f0
vmovdqa %xmm0, 0x180(%rsp)
movb $-0x35, 0x1ff(%rsp)
movb $-0x14, 0x1fe(%rsp)
movb $0x5b, 0x1fd(%rsp)
movb $-0x3a, 0x1fc(%rsp)
movb $-0x50, 0x1fb(%rsp)
movb $0x2f, 0x1fa(%rsp)
movb $-0x6, 0x1f9(%rsp)
movb $-0x58, 0x1f8(%rsp)
movb $-0x5b, 0x1f7(%rsp)
movb $0xd, 0x1f6(%rsp)
movb $0x52, 0x1f5(%rsp)
movb $-0x67, 0x1f4(%rsp)
movb $-0x57, 0x1f3(%rsp)
movb $-0x6c, 0x1f2(%rsp)
movb $-0x5e, 0x1f1(%rsp)
movb $0xa, 0x1f0(%rsp)
movb 0x1f0(%rsp), %al
movb %al, 0x6a(%rsp)
movb 0x1f1(%rsp), %r13b
movb 0x1f2(%rsp), %r12b
movb 0x1f3(%rsp), %r15b
movb 0x1f4(%rsp), %r14b
movb 0x1f5(%rsp), %bpl
movb 0x1f6(%rsp), %bl
movb 0x1f7(%rsp), %r11b
movb 0x1f8(%rsp), %r10b
movb 0x1f9(%rsp), %r9b
movb 0x1fa(%rsp), %r8b
movb 0x1fb(%rsp), %dil
movb 0x1fc(%rsp), %sil
movb 0x1fd(%rsp), %dl
movb 0x1fe(%rsp), %cl
movb 0x1ff(%rsp), %al
movb %al, 0x6b(%rsp)
movb 0x6a(%rsp), %al
movb %al, 0x59f(%rsp)
movb 0x6b(%rsp), %al
movb %r13b, 0x59e(%rsp)
movb %r12b, 0x59d(%rsp)
movb %r15b, 0x59c(%rsp)
movb %r14b, 0x59b(%rsp)
movb %bpl, 0x59a(%rsp)
movb %bl, 0x599(%rsp)
movb %r11b, 0x598(%rsp)
movb %r10b, 0x597(%rsp)
movb %r9b, 0x596(%rsp)
movb %r8b, 0x595(%rsp)
movb %dil, 0x594(%rsp)
movb %sil, 0x593(%rsp)
movb %dl, 0x592(%rsp)
movb %cl, 0x591(%rsp)
movb %al, 0x590(%rsp)
movzbl 0x590(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x591(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x592(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x593(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x594(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x595(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x596(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x597(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x598(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x599(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x59a(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x59b(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x59c(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x59d(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x59e(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x59f(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x580(%rsp)
vmovdqa 0x580(%rsp), %xmm0
vmovdqa %xmm0, 0x170(%rsp)
movb $0xb, 0x1ef(%rsp)
movb $-0x69, 0x1ee(%rsp)
movb $-0x65, 0x1ed(%rsp)
movb $-0x4a, 0x1ec(%rsp)
movb $0xa, 0x1eb(%rsp)
movb $0x61, 0x1ea(%rsp)
movb $0x7c, 0x1e9(%rsp)
movb $0x2c, 0x1e8(%rsp)
movb $-0x45, 0x1e7(%rsp)
movb $0x65, 0x1e6(%rsp)
movb $0x2b, 0x1e5(%rsp)
movb $0x68, 0x1e4(%rsp)
movb $0x7d, 0x1e3(%rsp)
movb $0x12, 0x1e2(%rsp)
movb $-0x13, 0x1e1(%rsp)
movb $-0x73, 0x1e0(%rsp)
movb 0x1e0(%rsp), %al
movb %al, 0x6c(%rsp)
movb 0x1e1(%rsp), %r13b
movb 0x1e2(%rsp), %r12b
movb 0x1e3(%rsp), %r15b
movb 0x1e4(%rsp), %r14b
movb 0x1e5(%rsp), %bpl
movb 0x1e6(%rsp), %bl
movb 0x1e7(%rsp), %r11b
movb 0x1e8(%rsp), %r10b
movb 0x1e9(%rsp), %r9b
movb 0x1ea(%rsp), %r8b
movb 0x1eb(%rsp), %dil
movb 0x1ec(%rsp), %sil
movb 0x1ed(%rsp), %dl
movb 0x1ee(%rsp), %cl
movb 0x1ef(%rsp), %al
movb %al, 0x6d(%rsp)
movb 0x6c(%rsp), %al
movb %al, 0x5bf(%rsp)
movb 0x6d(%rsp), %al
movb %r13b, 0x5be(%rsp)
movb %r12b, 0x5bd(%rsp)
movb %r15b, 0x5bc(%rsp)
movb %r14b, 0x5bb(%rsp)
movb %bpl, 0x5ba(%rsp)
movb %bl, 0x5b9(%rsp)
movb %r11b, 0x5b8(%rsp)
movb %r10b, 0x5b7(%rsp)
movb %r9b, 0x5b6(%rsp)
movb %r8b, 0x5b5(%rsp)
movb %dil, 0x5b4(%rsp)
movb %sil, 0x5b3(%rsp)
movb %dl, 0x5b2(%rsp)
movb %cl, 0x5b1(%rsp)
movb %al, 0x5b0(%rsp)
movzbl 0x5b0(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x5b1(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x5b2(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x5b3(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x5b4(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x5b5(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x5b6(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x5b7(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x5b8(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x5b9(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x5ba(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x5bb(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x5bc(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x5bd(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x5be(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x5bf(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x5a0(%rsp)
vmovdqa 0x5a0(%rsp), %xmm0
vmovdqa %xmm0, 0x160(%rsp)
movb $0x1d, 0x1df(%rsp)
movb $-0x75, 0x1de(%rsp)
movb $0x1e, 0x1dd(%rsp)
movb $-0x6d, 0x1dc(%rsp)
movb $-0x5a, 0x1db(%rsp)
movb $-0x6c, 0x1da(%rsp)
movb $0x6, 0x1d9(%rsp)
movb $0x4d, 0x1d8(%rsp)
movb $0x4a, 0x1d7(%rsp)
movb $-0x37, 0x1d6(%rsp)
movb $-0x6e, 0x1d5(%rsp)
movb $-0x51, 0x1d4(%rsp)
movb $-0x22, 0x1d3(%rsp)
movb $0x78, 0x1d2(%rsp)
movb $0x67, 0x1d1(%rsp)
movb $0xf, 0x1d0(%rsp)
movb 0x1d0(%rsp), %al
movb %al, 0x6e(%rsp)
movb 0x1d1(%rsp), %r13b
movb 0x1d2(%rsp), %r12b
movb 0x1d3(%rsp), %r15b
movb 0x1d4(%rsp), %r14b
movb 0x1d5(%rsp), %bpl
movb 0x1d6(%rsp), %bl
movb 0x1d7(%rsp), %r11b
movb 0x1d8(%rsp), %r10b
movb 0x1d9(%rsp), %r9b
movb 0x1da(%rsp), %r8b
movb 0x1db(%rsp), %dil
movb 0x1dc(%rsp), %sil
movb 0x1dd(%rsp), %dl
movb 0x1de(%rsp), %cl
movb 0x1df(%rsp), %al
movb %al, 0x6f(%rsp)
movb 0x6e(%rsp), %al
movb %al, 0x5df(%rsp)
movb 0x6f(%rsp), %al
movb %r13b, 0x5de(%rsp)
movb %r12b, 0x5dd(%rsp)
movb %r15b, 0x5dc(%rsp)
movb %r14b, 0x5db(%rsp)
movb %bpl, 0x5da(%rsp)
movb %bl, 0x5d9(%rsp)
movb %r11b, 0x5d8(%rsp)
movb %r10b, 0x5d7(%rsp)
movb %r9b, 0x5d6(%rsp)
movb %r8b, 0x5d5(%rsp)
movb %dil, 0x5d4(%rsp)
movb %sil, 0x5d3(%rsp)
movb %dl, 0x5d2(%rsp)
movb %cl, 0x5d1(%rsp)
movb %al, 0x5d0(%rsp)
movzbl 0x5d0(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x5d1(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x5d2(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x5d3(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x5d4(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x5d5(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x5d6(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x5d7(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x5d8(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x5d9(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x5da(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x5db(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x5dc(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x5dd(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x5de(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x5df(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x5c0(%rsp)
vmovdqa 0x5c0(%rsp), %xmm0
vmovdqa %xmm0, 0x150(%rsp)
vmovdqa 0x180(%rsp), %xmm1
vmovdqa 0x170(%rsp), %xmm0
vmovdqa %xmm1, 0x4f0(%rsp)
vmovdqa %xmm0, 0x4e0(%rsp)
vmovdqa 0x4f0(%rsp), %xmm0
vpxor 0x4e0(%rsp), %xmm0, %xmm0
vmovdqa 0x170(%rsp), %xmm1
vmovdqa 0x170(%rsp), %xmm2
vmovdqa 0x170(%rsp), %xmm3
vmovdqa 0x170(%rsp), %xmm4
callq 0x2710
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, (%rax)
vmovdqa 0x180(%rsp), %xmm1
vmovdqa 0x160(%rsp), %xmm0
vmovdqa %xmm1, 0x4d0(%rsp)
vmovdqa %xmm0, 0x4c0(%rsp)
vmovdqa 0x4d0(%rsp), %xmm0
vpxor 0x4c0(%rsp), %xmm0, %xmm0
vmovdqa 0x160(%rsp), %xmm1
vmovdqa 0x160(%rsp), %xmm2
vmovdqa 0x160(%rsp), %xmm3
vmovdqa 0x160(%rsp), %xmm4
callq 0x2710
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x20(%rax)
vmovdqa 0x180(%rsp), %xmm1
vmovdqa 0x150(%rsp), %xmm0
vmovdqa %xmm1, 0x4b0(%rsp)
vmovdqa %xmm0, 0x4a0(%rsp)
vmovdqa 0x4b0(%rsp), %xmm0
vpxor 0x4a0(%rsp), %xmm0, %xmm0
vmovdqa 0x150(%rsp), %xmm1
vmovdqa 0x150(%rsp), %xmm2
vmovdqa 0x150(%rsp), %xmm3
vmovdqa 0x150(%rsp), %xmm4
callq 0x2710
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x10(%rax)
jmp 0x260c
movb $0x0, 0x1cf(%rsp)
movb $0x1, 0x1ce(%rsp)
movb $0x2, 0x1cd(%rsp)
movb $0x3, 0x1cc(%rsp)
movb $0x4, 0x1cb(%rsp)
movb $0x5, 0x1ca(%rsp)
movb $0x6, 0x1c9(%rsp)
movb $0x7, 0x1c8(%rsp)
movb $0x8, 0x1c7(%rsp)
movb $0x9, 0x1c6(%rsp)
movb $0xa, 0x1c5(%rsp)
movb $0xb, 0x1c4(%rsp)
movb $0xc, 0x1c3(%rsp)
movb $0xd, 0x1c2(%rsp)
movb $0xe, 0x1c1(%rsp)
movb $0xf, 0x1c0(%rsp)
movb 0x1c0(%rsp), %al
movb %al, 0x68(%rsp)
movb 0x1c1(%rsp), %r13b
movb 0x1c2(%rsp), %r12b
movb 0x1c3(%rsp), %r15b
movb 0x1c4(%rsp), %r14b
movb 0x1c5(%rsp), %bpl
movb 0x1c6(%rsp), %bl
movb 0x1c7(%rsp), %r11b
movb 0x1c8(%rsp), %r10b
movb 0x1c9(%rsp), %r9b
movb 0x1ca(%rsp), %r8b
movb 0x1cb(%rsp), %dil
movb 0x1cc(%rsp), %sil
movb 0x1cd(%rsp), %dl
movb 0x1ce(%rsp), %cl
movb 0x1cf(%rsp), %al
movb %al, 0x69(%rsp)
movb 0x68(%rsp), %al
movb %al, 0x607(%rsp)
movb 0x69(%rsp), %al
movb %r13b, 0x606(%rsp)
movb %r12b, 0x605(%rsp)
movb %r15b, 0x604(%rsp)
movb %r14b, 0x603(%rsp)
movb %bpl, 0x602(%rsp)
movb %bl, 0x601(%rsp)
movb %r11b, 0x600(%rsp)
movb %r10b, 0x5ff(%rsp)
movb %r9b, 0x5fe(%rsp)
movb %r8b, 0x5fd(%rsp)
movb %dil, 0x5fc(%rsp)
movb %sil, 0x5fb(%rsp)
movb %dl, 0x5fa(%rsp)
movb %cl, 0x5f9(%rsp)
movb %al, 0x5f8(%rsp)
movzbl 0x5f8(%rsp), %eax
vmovd %eax, %xmm0
movzbl 0x5f9(%rsp), %eax
vpinsrb $0x1, %eax, %xmm0, %xmm0
movzbl 0x5fa(%rsp), %eax
vpinsrb $0x2, %eax, %xmm0, %xmm0
movzbl 0x5fb(%rsp), %eax
vpinsrb $0x3, %eax, %xmm0, %xmm0
movzbl 0x5fc(%rsp), %eax
vpinsrb $0x4, %eax, %xmm0, %xmm0
movzbl 0x5fd(%rsp), %eax
vpinsrb $0x5, %eax, %xmm0, %xmm0
movzbl 0x5fe(%rsp), %eax
vpinsrb $0x6, %eax, %xmm0, %xmm0
movzbl 0x5ff(%rsp), %eax
vpinsrb $0x7, %eax, %xmm0, %xmm0
movzbl 0x600(%rsp), %eax
vpinsrb $0x8, %eax, %xmm0, %xmm0
movzbl 0x601(%rsp), %eax
vpinsrb $0x9, %eax, %xmm0, %xmm0
movzbl 0x602(%rsp), %eax
vpinsrb $0xa, %eax, %xmm0, %xmm0
movzbl 0x603(%rsp), %eax
vpinsrb $0xb, %eax, %xmm0, %xmm0
movzbl 0x604(%rsp), %eax
vpinsrb $0xc, %eax, %xmm0, %xmm0
movzbl 0x605(%rsp), %eax
vpinsrb $0xd, %eax, %xmm0, %xmm0
movzbl 0x606(%rsp), %eax
vpinsrb $0xe, %eax, %xmm0, %xmm0
movzbl 0x607(%rsp), %eax
vpinsrb $0xf, %eax, %xmm0, %xmm0
vmovdqa %xmm0, 0x5e0(%rsp)
vmovdqa 0x5e0(%rsp), %xmm0
vmovdqa %xmm0, 0x140(%rsp)
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, 0x550(%rsp)
vmovdqa 0x550(%rsp), %xmm1
movl $0x1, %eax
vpinsrb $0x7, %eax, %xmm1, %xmm1
vmovdqa %xmm1, 0x130(%rsp)
vmovdqa %xmm0, 0x540(%rsp)
vmovdqa 0x540(%rsp), %xmm1
movl $0x2, %ecx
vpinsrb $0x7, %ecx, %xmm1, %xmm1
vmovdqa %xmm1, 0x120(%rsp)
vmovdqa %xmm0, 0x530(%rsp)
vmovdqa 0x530(%rsp), %xmm1
movl $0x3, %ecx
vpinsrb $0x7, %ecx, %xmm1, %xmm1
vmovdqa %xmm1, 0x110(%rsp)
vmovdqa %xmm0, 0x520(%rsp)
vmovdqa 0x520(%rsp), %xmm1
vpinsrb $0xf, %eax, %xmm1, %xmm1
vmovdqa %xmm1, 0xf0(%rsp)
vmovdqa %xmm0, 0x510(%rsp)
vmovdqa 0x510(%rsp), %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x10(%rax)
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x20(%rax)
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, (%rax)
cmpl $0x0, 0x1b4(%rsp)
jne 0x1e3d
movq 0x1a8(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x1b8(%rsp)
vmovdqa 0xf0(%rsp), %xmm0
vmovdqa %xmm0, 0x100(%rsp)
cmpl $0x10, 0x1b4(%rsp)
jb 0x2298
movq 0x1b8(%rsp), %rdi
callq 0x26f0
vmovdqa %xmm0, 0xe0(%rsp)
vmovdqa 0x130(%rsp), %xmm1
vmovdqa 0x100(%rsp), %xmm0
vmovdqa %xmm1, 0x490(%rsp)
vmovdqa %xmm0, 0x480(%rsp)
vmovdqa 0x490(%rsp), %xmm0
vpxor 0x480(%rsp), %xmm0, %xmm1
vmovdqa 0x140(%rsp), %xmm0
vmovdqa %xmm1, 0x470(%rsp)
vmovdqa %xmm0, 0x460(%rsp)
vmovdqa 0x470(%rsp), %xmm0
vpxor 0x460(%rsp), %xmm0, %xmm0
vmovdqa 0x140(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm2
vmovdqa 0x140(%rsp), %xmm3
vmovdqa 0x140(%rsp), %xmm4
callq 0x2710
vmovdqa %xmm0, 0xd0(%rsp)
vmovdqa 0x120(%rsp), %xmm1
vmovdqa 0x100(%rsp), %xmm0
vmovdqa %xmm1, 0x450(%rsp)
vmovdqa %xmm0, 0x440(%rsp)
vmovdqa 0x450(%rsp), %xmm0
vpxor 0x440(%rsp), %xmm0, %xmm1
vmovdqa 0x140(%rsp), %xmm0
vmovdqa %xmm1, 0x430(%rsp)
vmovdqa %xmm0, 0x420(%rsp)
vmovdqa 0x430(%rsp), %xmm0
vpxor 0x420(%rsp), %xmm0, %xmm0
vmovdqa 0x140(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm2
vmovdqa 0x140(%rsp), %xmm3
vmovdqa 0x140(%rsp), %xmm4
callq 0x2710
vmovdqa %xmm0, 0xc0(%rsp)
vmovdqa 0x110(%rsp), %xmm1
vmovdqa 0x100(%rsp), %xmm0
vmovdqa %xmm1, 0x410(%rsp)
vmovdqa %xmm0, 0x400(%rsp)
vmovdqa 0x410(%rsp), %xmm0
vpxor 0x400(%rsp), %xmm0, %xmm1
vmovdqa 0x140(%rsp), %xmm0
vmovdqa %xmm1, 0x3f0(%rsp)
vmovdqa %xmm0, 0x3e0(%rsp)
vmovdqa 0x3f0(%rsp), %xmm0
vpxor 0x3e0(%rsp), %xmm0, %xmm0
vmovdqa 0x140(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm2
vmovdqa 0x140(%rsp), %xmm3
vmovdqa 0x140(%rsp), %xmm4
callq 0x2710
vmovdqa %xmm0, 0xb0(%rsp)
movq 0x1a8(%rsp), %rax
vmovdqa (%rax), %xmm0
vmovaps %xmm0, 0x30(%rsp)
vmovdqa 0xe0(%rsp), %xmm1
vmovdqa 0xd0(%rsp), %xmm0
vmovdqa %xmm1, 0x3d0(%rsp)
vmovdqa %xmm0, 0x3c0(%rsp)
vmovdqa 0x3d0(%rsp), %xmm0
vpxor 0x3c0(%rsp), %xmm0, %xmm0
vmovdqa 0xd0(%rsp), %xmm1
vmovdqa 0xd0(%rsp), %xmm2
vmovdqa 0xd0(%rsp), %xmm3
vmovdqa 0xd0(%rsp), %xmm4
callq 0x2710
vmovaps 0x30(%rsp), %xmm1
vmovdqa %xmm1, 0x3b0(%rsp)
vmovdqa %xmm0, 0x3a0(%rsp)
vmovdqa 0x3b0(%rsp), %xmm0
vpxor 0x3a0(%rsp), %xmm0, %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, (%rax)
movq 0x1a8(%rsp), %rax
vmovdqa 0x20(%rax), %xmm0
vmovaps %xmm0, 0x40(%rsp)
vmovdqa 0xe0(%rsp), %xmm1
vmovdqa 0xc0(%rsp), %xmm0
vmovdqa %xmm1, 0x390(%rsp)
vmovdqa %xmm0, 0x380(%rsp)
vmovdqa 0x390(%rsp), %xmm0
vpxor 0x380(%rsp), %xmm0, %xmm0
vmovdqa 0xc0(%rsp), %xmm1
vmovdqa 0xc0(%rsp), %xmm2
vmovdqa 0xc0(%rsp), %xmm3
vmovdqa 0xc0(%rsp), %xmm4
callq 0x2710
vmovaps 0x40(%rsp), %xmm1
vmovdqa %xmm1, 0x370(%rsp)
vmovdqa %xmm0, 0x360(%rsp)
vmovdqa 0x370(%rsp), %xmm0
vpxor 0x360(%rsp), %xmm0, %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x20(%rax)
movq 0x1a8(%rsp), %rax
vmovdqa 0x10(%rax), %xmm0
vmovaps %xmm0, 0x50(%rsp)
vmovdqa 0xe0(%rsp), %xmm1
vmovdqa 0xb0(%rsp), %xmm0
vmovdqa %xmm1, 0x350(%rsp)
vmovdqa %xmm0, 0x340(%rsp)
vmovdqa 0x350(%rsp), %xmm0
vpxor 0x340(%rsp), %xmm0, %xmm0
vmovdqa 0xb0(%rsp), %xmm1
vmovdqa 0xb0(%rsp), %xmm2
vmovdqa 0xb0(%rsp), %xmm3
vmovdqa 0xb0(%rsp), %xmm4
callq 0x2710
vmovaps 0x50(%rsp), %xmm1
vmovdqa %xmm1, 0x330(%rsp)
vmovdqa %xmm0, 0x320(%rsp)
vmovdqa 0x330(%rsp), %xmm0
vpxor 0x320(%rsp), %xmm0, %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x10(%rax)
movq 0x1b8(%rsp), %rax
addq $0x10, %rax
movq %rax, 0x1b8(%rsp)
movl 0x1b4(%rsp), %eax
subl $0x10, %eax
movl %eax, 0x1b4(%rsp)
vmovdqa 0x100(%rsp), %xmm1
vmovdqa 0xf0(%rsp), %xmm0
vmovdqa %xmm1, 0x570(%rsp)
vmovdqa %xmm0, 0x560(%rsp)
vmovdqa 0x570(%rsp), %xmm0
vmovdqa 0x560(%rsp), %xmm1
vpaddb %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x100(%rsp)
jmp 0x1e4f
cmpl $0x0, 0x1b4(%rsp)
jne 0x22bf
movq 0x1b8(%rsp), %rax
movq 0x1a8(%rsp), %rcx
addq $0x20, %rcx
cmpq %rcx, %rax
jne 0x260a
movq 0x1b8(%rsp), %rdi
movl 0x1b4(%rsp), %esi
callq 0x2870
movl $0x10, %edi
subl 0x1b4(%rsp), %edi
callq 0x27f0
vmovdqa %xmm0, 0xa0(%rsp)
vmovdqa 0x130(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm0
vmovdqa %xmm1, 0x310(%rsp)
vmovdqa %xmm0, 0x300(%rsp)
vmovdqa 0x310(%rsp), %xmm0
vpxor 0x300(%rsp), %xmm0, %xmm0
vmovdqa 0x140(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm2
vmovdqa 0x140(%rsp), %xmm3
vmovdqa 0x140(%rsp), %xmm4
callq 0x2710
vmovdqa %xmm0, 0x90(%rsp)
vmovdqa 0x120(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm0
vmovdqa %xmm1, 0x2f0(%rsp)
vmovdqa %xmm0, 0x2e0(%rsp)
vmovdqa 0x2f0(%rsp), %xmm0
vpxor 0x2e0(%rsp), %xmm0, %xmm0
vmovdqa 0x140(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm2
vmovdqa 0x140(%rsp), %xmm3
vmovdqa 0x140(%rsp), %xmm4
callq 0x2710
vmovdqa %xmm0, 0x80(%rsp)
vmovdqa 0x110(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm0
vmovdqa %xmm1, 0x2d0(%rsp)
vmovdqa %xmm0, 0x2c0(%rsp)
vmovdqa 0x2d0(%rsp), %xmm0
vpxor 0x2c0(%rsp), %xmm0, %xmm0
vmovdqa 0x140(%rsp), %xmm1
vmovdqa 0x140(%rsp), %xmm2
vmovdqa 0x140(%rsp), %xmm3
vmovdqa 0x140(%rsp), %xmm4
callq 0x2710
vmovdqa %xmm0, 0x70(%rsp)
movq 0x1a8(%rsp), %rax
vmovdqa (%rax), %xmm0
vmovaps %xmm0, (%rsp)
vmovdqa 0xa0(%rsp), %xmm1
vmovdqa 0x90(%rsp), %xmm0
vmovdqa %xmm1, 0x2b0(%rsp)
vmovdqa %xmm0, 0x2a0(%rsp)
vmovdqa 0x2b0(%rsp), %xmm0
vpxor 0x2a0(%rsp), %xmm0, %xmm0
vmovdqa 0x90(%rsp), %xmm1
vmovdqa 0x90(%rsp), %xmm2
vmovdqa 0x90(%rsp), %xmm3
vmovdqa 0x90(%rsp), %xmm4
callq 0x2710
vmovaps (%rsp), %xmm1
vmovdqa %xmm1, 0x290(%rsp)
vmovdqa %xmm0, 0x280(%rsp)
vmovdqa 0x290(%rsp), %xmm0
vpxor 0x280(%rsp), %xmm0, %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, (%rax)
movq 0x1a8(%rsp), %rax
vmovdqa 0x20(%rax), %xmm0
vmovaps %xmm0, 0x10(%rsp)
vmovdqa 0xa0(%rsp), %xmm1
vmovdqa 0x80(%rsp), %xmm0
vmovdqa %xmm1, 0x270(%rsp)
vmovdqa %xmm0, 0x260(%rsp)
vmovdqa 0x270(%rsp), %xmm0
vpxor 0x260(%rsp), %xmm0, %xmm0
vmovdqa 0x80(%rsp), %xmm1
vmovdqa 0x80(%rsp), %xmm2
vmovdqa 0x80(%rsp), %xmm3
vmovdqa 0x80(%rsp), %xmm4
callq 0x2710
vmovaps 0x10(%rsp), %xmm1
vmovdqa %xmm1, 0x250(%rsp)
vmovdqa %xmm0, 0x240(%rsp)
vmovdqa 0x250(%rsp), %xmm0
vpxor 0x240(%rsp), %xmm0, %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x20(%rax)
movq 0x1a8(%rsp), %rax
vmovdqa 0x10(%rax), %xmm0
vmovaps %xmm0, 0x20(%rsp)
vmovdqa 0xa0(%rsp), %xmm1
vmovdqa 0x70(%rsp), %xmm0
vmovdqa %xmm1, 0x230(%rsp)
vmovdqa %xmm0, 0x220(%rsp)
vmovdqa 0x230(%rsp), %xmm0
vpxor 0x220(%rsp), %xmm0, %xmm0
vmovdqa 0x70(%rsp), %xmm1
vmovdqa 0x70(%rsp), %xmm2
vmovdqa 0x70(%rsp), %xmm3
vmovdqa 0x70(%rsp), %xmm4
callq 0x2710
vmovaps 0x20(%rsp), %xmm1
vmovdqa %xmm1, 0x210(%rsp)
vmovdqa %xmm0, 0x200(%rsp)
vmovdqa 0x210(%rsp), %xmm0
vpxor 0x200(%rsp), %xmm0, %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x10(%rax)
jmp 0x260c
movq 0x1a8(%rsp), %rax
vmovdqa 0x20(%rax), %xmm0
callq 0x28f0
callq 0x2a30
vmovdqa %xmm0, 0x190(%rsp)
callq 0x28f0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x30(%rax)
vmovdqa 0x190(%rsp), %xmm0
callq 0x2a30
vmovdqa %xmm0, 0x190(%rsp)
callq 0x28f0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x40(%rax)
vmovdqa 0x190(%rsp), %xmm0
callq 0x2a30
vmovdqa %xmm0, 0x190(%rsp)
callq 0x28f0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x50(%rax)
vmovdqa 0x190(%rsp), %xmm0
callq 0x2a30
vmovdqa %xmm0, 0x190(%rsp)
callq 0x28f0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x60(%rax)
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, 0x500(%rsp)
vmovdqa 0x500(%rsp), %xmm0
movq 0x1a8(%rsp), %rax
vmovdqa %xmm0, 0x70(%rax)
addq $0x608, %rsp            # imm = 0x608
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop