// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/aezv4/aesni/encrypt.c
// Function: blake2b_compress
static void blake2b_compress(blake2b_ctx *ctx, int last)
{
    const uint8_t sigma[12][16] = {
        { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
        { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 },
        { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 },
        { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 },
        { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 },
        { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 },
        { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 },
        { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 },
        { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 },
        { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0 },
        { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
        { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 }
    };
    int i;
    uint64_t v[16], m[16];
    
    for (i = 0; i < 8; i++) {
        v[i] = ctx->h[i];
        v[i + 8] = blake2b_iv[i];
    }
    
    v[12] ^= ctx->t[0];
    v[13] ^= ctx->t[1];
    if (last)
        v[14] = ~v[14];
    
    for (i = 0; i < 16; i++)
        m[i] = B2B_GET64(&ctx->b[8 * i]);
    
    for (i = 0; i < 12; i++) {
        B2B_G( 0, 4,  8, 12, m[sigma[i][ 0]], m[sigma[i][ 1]]);
        B2B_G( 1, 5,  9, 13, m[sigma[i][ 2]], m[sigma[i][ 3]]);
        B2B_G( 2, 6, 10, 14, m[sigma[i][ 4]], m[sigma[i][ 5]]);
        B2B_G( 3, 7, 11, 15, m[sigma[i][ 6]], m[sigma[i][ 7]]);
        B2B_G( 0, 5, 10, 15, m[sigma[i][ 8]], m[sigma[i][ 9]]);
        B2B_G( 1, 6, 11, 12, m[sigma[i][10]], m[sigma[i][11]]);
        B2B_G( 2, 7,  8, 13, m[sigma[i][12]], m[sigma[i][13]]);
        B2B_G( 3, 4,  9, 14, m[sigma[i][14]], m[sigma[i][15]]);
    }
    
    for( i = 0; i < 8; ++i )
        ctx->h[i] ^= v[i] ^ v[i + 8];
}

// Assembly:
subq $0x1e8, %rsp            # imm = 0x1E8
movq %rdi, 0x1e0(%rsp)
movl %esi, 0x1dc(%rsp)
leaq 0x110(%rsp), %rdi
leaq 0x118b(%rip), %rsi      # 0xb070
movl $0xc0, %edx
callq 0x10d0
movl $0x0, 0x10c(%rsp)
cmpl $0x8, 0x10c(%rsp)
jge 0x9f66
movq 0x1e0(%rsp), %rax
movslq 0x10c(%rsp), %rcx
movq 0x80(%rax,%rcx,8), %rcx
movslq 0x10c(%rsp), %rax
movq %rcx, 0x80(%rsp,%rax,8)
movslq 0x10c(%rsp), %rcx
leaq 0x10f5(%rip), %rax      # 0xb030
movq (%rax,%rcx,8), %rcx
movl 0x10c(%rsp), %eax
addl $0x8, %eax
cltq
movq %rcx, 0x80(%rsp,%rax,8)
movl 0x10c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10c(%rsp)
jmp 0x9efa
movq 0x1e0(%rsp), %rax
movq 0xc0(%rax), %rax
xorq 0xe0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x1e0(%rsp), %rax
movq 0xc8(%rax), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
cmpl $0x0, 0x1dc(%rsp)
je 0x9fc2
movq 0xf0(%rsp), %rax
xorq $-0x1, %rax
movq %rax, 0xf0(%rsp)
movl $0x0, 0x10c(%rsp)
cmpl $0x10, 0x10c(%rsp)
jge 0xa0ff
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %ecx
shll $0x3, %ecx
movslq %ecx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %ecx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x1(%rax,%rdx), %eax
shlq $0x8, %rax
xorq %rax, %rcx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x2(%rax,%rdx), %eax
shlq $0x10, %rax
xorq %rax, %rcx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x3(%rax,%rdx), %eax
shlq $0x18, %rax
xorq %rax, %rcx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x4(%rax,%rdx), %eax
shlq $0x20, %rax
xorq %rax, %rcx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x5(%rax,%rdx), %eax
shlq $0x28, %rax
xorq %rax, %rcx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x6(%rax,%rdx), %eax
shlq $0x30, %rax
xorq %rax, %rcx
movq 0x1e0(%rsp), %rax
movl 0x10c(%rsp), %edx
shll $0x3, %edx
movslq %edx, %rdx
movzbl 0x7(%rax,%rdx), %eax
shlq $0x38, %rax
xorq %rax, %rcx
movslq 0x10c(%rsp), %rax
movq %rcx, (%rsp,%rax,8)
movl 0x10c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10c(%rsp)
jmp 0x9fcd
movl $0x0, 0x10c(%rsp)
cmpl $0xc, 0x10c(%rsp)
jge 0xac75
movq 0x80(%rsp), %rax
addq 0xa0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl (%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x80(%rsp)
movq 0xe0(%rsp), %rax
xorq 0x80(%rsp), %rax
shrq $0x20, %rax
movq 0xe0(%rsp), %rcx
xorq 0x80(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xe0(%rsp)
movq 0xc0(%rsp), %rax
addq 0xe0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xa0(%rsp), %rax
xorq 0xc0(%rsp), %rax
shrq $0x18, %rax
movq 0xa0(%rsp), %rcx
xorq 0xc0(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xa0(%rsp)
movq 0x80(%rsp), %rax
addq 0xa0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x1(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x80(%rsp)
movq 0xe0(%rsp), %rax
xorq 0x80(%rsp), %rax
shrq $0x10, %rax
movq 0xe0(%rsp), %rcx
xorq 0x80(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xe0(%rsp)
movq 0xc0(%rsp), %rax
addq 0xe0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xa0(%rsp), %rax
xorq 0xc0(%rsp), %rax
shrq $0x3f, %rax
movq 0xa0(%rsp), %rcx
xorq 0xc0(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xa0(%rsp)
movq 0x88(%rsp), %rax
addq 0xa8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x2(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x88(%rsp)
movq 0xe8(%rsp), %rax
xorq 0x88(%rsp), %rax
shrq $0x20, %rax
movq 0xe8(%rsp), %rcx
xorq 0x88(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xc8(%rsp), %rax
addq 0xe8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0xa8(%rsp), %rax
xorq 0xc8(%rsp), %rax
shrq $0x18, %rax
movq 0xa8(%rsp), %rcx
xorq 0xc8(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xa8(%rsp)
movq 0x88(%rsp), %rax
addq 0xa8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x3(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x88(%rsp)
movq 0xe8(%rsp), %rax
xorq 0x88(%rsp), %rax
shrq $0x10, %rax
movq 0xe8(%rsp), %rcx
xorq 0x88(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xc8(%rsp), %rax
addq 0xe8(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0xa8(%rsp), %rax
xorq 0xc8(%rsp), %rax
shrq $0x3f, %rax
movq 0xa8(%rsp), %rcx
xorq 0xc8(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xa8(%rsp)
movq 0x90(%rsp), %rax
addq 0xb0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x4(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x90(%rsp)
movq 0xf0(%rsp), %rax
xorq 0x90(%rsp), %rax
shrq $0x20, %rax
movq 0xf0(%rsp), %rcx
xorq 0x90(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xf0(%rsp)
movq 0xd0(%rsp), %rax
addq 0xf0(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xb0(%rsp), %rax
xorq 0xd0(%rsp), %rax
shrq $0x18, %rax
movq 0xb0(%rsp), %rcx
xorq 0xd0(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xb0(%rsp)
movq 0x90(%rsp), %rax
addq 0xb0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x5(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x90(%rsp)
movq 0xf0(%rsp), %rax
xorq 0x90(%rsp), %rax
shrq $0x10, %rax
movq 0xf0(%rsp), %rcx
xorq 0x90(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xf0(%rsp)
movq 0xd0(%rsp), %rax
addq 0xf0(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xb0(%rsp), %rax
xorq 0xd0(%rsp), %rax
shrq $0x3f, %rax
movq 0xb0(%rsp), %rcx
xorq 0xd0(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xb0(%rsp)
movq 0x98(%rsp), %rax
addq 0xb8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x6(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x98(%rsp)
movq 0xf8(%rsp), %rax
xorq 0x98(%rsp), %rax
shrq $0x20, %rax
movq 0xf8(%rsp), %rcx
xorq 0x98(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xf8(%rsp)
movq 0xd8(%rsp), %rax
addq 0xf8(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0xb8(%rsp), %rax
xorq 0xd8(%rsp), %rax
shrq $0x18, %rax
movq 0xb8(%rsp), %rcx
xorq 0xd8(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xb8(%rsp)
movq 0x98(%rsp), %rax
addq 0xb8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x7(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x98(%rsp)
movq 0xf8(%rsp), %rax
xorq 0x98(%rsp), %rax
shrq $0x10, %rax
movq 0xf8(%rsp), %rcx
xorq 0x98(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xf8(%rsp)
movq 0xd8(%rsp), %rax
addq 0xf8(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0xb8(%rsp), %rax
xorq 0xd8(%rsp), %rax
shrq $0x3f, %rax
movq 0xb8(%rsp), %rcx
xorq 0xd8(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xb8(%rsp)
movq 0x80(%rsp), %rax
addq 0xa8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x8(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x80(%rsp)
movq 0xf8(%rsp), %rax
xorq 0x80(%rsp), %rax
shrq $0x20, %rax
movq 0xf8(%rsp), %rcx
xorq 0x80(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xf8(%rsp)
movq 0xd0(%rsp), %rax
addq 0xf8(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xa8(%rsp), %rax
xorq 0xd0(%rsp), %rax
shrq $0x18, %rax
movq 0xa8(%rsp), %rcx
xorq 0xd0(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xa8(%rsp)
movq 0x80(%rsp), %rax
addq 0xa8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0x9(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x80(%rsp)
movq 0xf8(%rsp), %rax
xorq 0x80(%rsp), %rax
shrq $0x10, %rax
movq 0xf8(%rsp), %rcx
xorq 0x80(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xf8(%rsp)
movq 0xd0(%rsp), %rax
addq 0xf8(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xa8(%rsp), %rax
xorq 0xd0(%rsp), %rax
shrq $0x3f, %rax
movq 0xa8(%rsp), %rcx
xorq 0xd0(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xa8(%rsp)
movq 0x88(%rsp), %rax
addq 0xb0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0xa(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x88(%rsp)
movq 0xe0(%rsp), %rax
xorq 0x88(%rsp), %rax
shrq $0x20, %rax
movq 0xe0(%rsp), %rcx
xorq 0x88(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xe0(%rsp)
movq 0xd8(%rsp), %rax
addq 0xe0(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0xb0(%rsp), %rax
xorq 0xd8(%rsp), %rax
shrq $0x18, %rax
movq 0xb0(%rsp), %rcx
xorq 0xd8(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xb0(%rsp)
movq 0x88(%rsp), %rax
addq 0xb0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0xb(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x88(%rsp)
movq 0xe0(%rsp), %rax
xorq 0x88(%rsp), %rax
shrq $0x10, %rax
movq 0xe0(%rsp), %rcx
xorq 0x88(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xe0(%rsp)
movq 0xd8(%rsp), %rax
addq 0xe0(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0xb0(%rsp), %rax
xorq 0xd8(%rsp), %rax
shrq $0x3f, %rax
movq 0xb0(%rsp), %rcx
xorq 0xd8(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xb0(%rsp)
movq 0x90(%rsp), %rax
addq 0xb8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0xc(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x90(%rsp)
movq 0xe8(%rsp), %rax
xorq 0x90(%rsp), %rax
shrq $0x20, %rax
movq 0xe8(%rsp), %rcx
xorq 0x90(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xc0(%rsp), %rax
addq 0xe8(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xb8(%rsp), %rax
xorq 0xc0(%rsp), %rax
shrq $0x18, %rax
movq 0xb8(%rsp), %rcx
xorq 0xc0(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xb8(%rsp)
movq 0x90(%rsp), %rax
addq 0xb8(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0xd(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x90(%rsp)
movq 0xe8(%rsp), %rax
xorq 0x90(%rsp), %rax
shrq $0x10, %rax
movq 0xe8(%rsp), %rcx
xorq 0x90(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xc0(%rsp), %rax
addq 0xe8(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0xb8(%rsp), %rax
xorq 0xc0(%rsp), %rax
shrq $0x3f, %rax
movq 0xb8(%rsp), %rcx
xorq 0xc0(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xb8(%rsp)
movq 0x98(%rsp), %rax
addq 0xa0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0xe(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x98(%rsp)
movq 0xf0(%rsp), %rax
xorq 0x98(%rsp), %rax
shrq $0x20, %rax
movq 0xf0(%rsp), %rcx
xorq 0x98(%rsp), %rcx
shlq $0x20, %rcx
xorq %rcx, %rax
movq %rax, 0xf0(%rsp)
movq 0xc8(%rsp), %rax
addq 0xf0(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0xa0(%rsp), %rax
xorq 0xc8(%rsp), %rax
shrq $0x18, %rax
movq 0xa0(%rsp), %rcx
xorq 0xc8(%rsp), %rcx
shlq $0x28, %rcx
xorq %rcx, %rax
movq %rax, 0xa0(%rsp)
movq 0x98(%rsp), %rax
addq 0xa0(%rsp), %rax
movslq 0x10c(%rsp), %rdx
leaq 0x110(%rsp), %rcx
shlq $0x4, %rdx
addq %rdx, %rcx
movzbl 0xf(%rcx), %ecx
addq (%rsp,%rcx,8), %rax
movq %rax, 0x98(%rsp)
movq 0xf0(%rsp), %rax
xorq 0x98(%rsp), %rax
shrq $0x10, %rax
movq 0xf0(%rsp), %rcx
xorq 0x98(%rsp), %rcx
shlq $0x30, %rcx
xorq %rcx, %rax
movq %rax, 0xf0(%rsp)
movq 0xc8(%rsp), %rax
addq 0xf0(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0xa0(%rsp), %rax
xorq 0xc8(%rsp), %rax
shrq $0x3f, %rax
movq 0xa0(%rsp), %rcx
xorq 0xc8(%rsp), %rcx
shlq %rcx
xorq %rcx, %rax
movq %rax, 0xa0(%rsp)
movl 0x10c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10c(%rsp)
jmp 0xa10a
movl $0x0, 0x10c(%rsp)
cmpl $0x8, 0x10c(%rsp)
jge 0xace1
movslq 0x10c(%rsp), %rax
movq 0x80(%rsp,%rax,8), %rdx
movl 0x10c(%rsp), %eax
addl $0x8, %eax
cltq
xorq 0x80(%rsp,%rax,8), %rdx
movq 0x1e0(%rsp), %rax
movslq 0x10c(%rsp), %rcx
xorq 0x80(%rax,%rcx,8), %rdx
movq %rdx, 0x80(%rax,%rcx,8)
movl 0x10c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10c(%rsp)
jmp 0xac80
addq $0x1e8, %rsp            # imm = 0x1E8
retq
nopl (%rax)