// File: /workspace/github_c_makefile_star2_O0/mjosaarinen[P]brutus/crypto_aead/aezv4/aesni/encrypt.c
// Function: cipher_aez_tiny
int cipher_aez_tiny(aez_ctx_t *ctx, block t, int d, char *src, unsigned bytes, unsigned abytes, char *dst) {
    block l, r, tmp, one, rcon, buf[2], mask_10, mask_ff;
    block I=ctx->I[0], L=ctx->L, J=ctx->J[0], t_orig = t;
    unsigned rnds, i;
    
    /* load src into buf, zero pad, update bytes for abytes */
    if (bytes >= 16) {
        buf[0] = load(src);
        buf[1] = zero_pad(load_partial(src+16,bytes-16),32-bytes);
    } else {
        buf[0] = zero_pad(load_partial(src,bytes),16-bytes);
        buf[1] = zero;
    }
    if (!d) bytes += abytes;
    
    /* load l/r, create 10* padding masks, shift r 4 bits if odd length */
    l = buf[0];
    r = loadu((char*)buf+bytes/2);
    mask_ff = loadu(pad+16-bytes/2);
    mask_10 = loadu(pad+32-bytes/2);
    if (bytes&1) {  /* Odd length. Deal with nibbles. */
        mask_10 = sll4(mask_10);
        ((char*)&mask_ff)[bytes/2] = (char)0xf0;
        r = bswap16(r);
        r = srl4(r);
        r = bswap16(r);
    }
    r = vor(vand(r, mask_ff), mask_10);
    
    /* Add tweak offset into t, and determine the number of rounds */
    if (bytes >= 16) {
        t = vxor3(t, ctx->I[1], ctx->I[2]);             /* (0,6) offset */
        rnds = 8;
    } else {
        t = vxor4(t, ctx->I[0], ctx->I[1], ctx->I[2]);  /* (0,7) offset */
        if (bytes>=3) rnds = 10; else if (bytes==2) rnds = 16; else rnds = 24;
    }
    
    if (!d) {
        one = zero_set_byte(1,15);
        rcon = zero;
    } else {
        one = zero_set_byte(-1,15);
        rcon = zero_set_byte((char)(rnds-1),15);
    }
    
    if ((d) && (bytes < 16)) {
        tmp = vor(l, loadu(pad+32));
        tmp = aes4(vxor4(tmp,t_orig,ctx->I[0],ctx->I[1]), J, I, L, zero);
        tmp = vand(tmp, loadu(pad+32));
        l = vxor(l, tmp);
    }
    
    /* Feistel */
    for (i=0; i<rnds; i+=2) {
        l = vor(vand(aes4(vxor3(t,r,rcon), J, I, L, l), mask_ff), mask_10);
        rcon = vadd(rcon,one);
        r = vor(vand(aes4(vxor3(t,l,rcon), J, I, L, r), mask_ff), mask_10);
        rcon = vadd(rcon,one);
    }
    buf[0] = r;
    if (bytes&1) {
        l = bswap16(l);
        l = sll4(l);
        l = bswap16(l);
        r = vand(loadu((char*)buf+bytes/2), zero_set_byte((char)0xf0,0));
        l = vor(l, r);
    }
    storeu((char*)buf+bytes/2, l);
    if (d) {
        bytes -= abytes;
        if (abytes==16) tmp = loadu((char*)buf+bytes);
        else {
            tmp = zero;
            for (i=0; i<abytes; i++) ((char*)&tmp)[i] = ((char*)buf+bytes)[i];
        }
        if (!is_zero(tmp)) return -1;
    } else if (bytes < 16) {
        tmp = vor(zero_pad(buf[0], 16-bytes), loadu(pad+32));
        tmp = aes4(vxor4(tmp,t_orig,ctx->I[0],ctx->I[1]), J, I, L, zero);
        buf[0] = vxor(buf[0], vand(tmp, loadu(pad+32)));
    }
    for (i=0; i<bytes; i++) dst[i] = ((char*)buf)[i];
    return 0;
}

// Assembly:
subq $0x5b8, %rsp            # imm = 0x5B8
movq %rdi, 0x170(%rsp)
vmovdqa %xmm0, 0x160(%rsp)
movl %esi, 0x15c(%rsp)
movq %rdx, 0x150(%rsp)
movl %ecx, 0x14c(%rsp)
movl %r8d, 0x148(%rsp)
movq %r9, 0x140(%rsp)
movq 0x170(%rsp), %rax
vmovdqa (%rax), %xmm0
vmovdqa %xmm0, 0xa0(%rsp)
movq 0x170(%rsp), %rax
vmovdqa 0x60(%rax), %xmm0
vmovdqa %xmm0, 0x90(%rsp)
movq 0x170(%rsp), %rax
vmovdqa 0x30(%rax), %xmm0
vmovdqa %xmm0, 0x80(%rsp)
vmovdqa 0x160(%rsp), %xmm0
vmovdqa %xmm0, 0x70(%rsp)
cmpl $0x10, 0x14c(%rsp)
jb 0x88fb
movq 0x150(%rsp), %rdi
callq 0x1380
vmovdqa %xmm0, 0xd0(%rsp)
movq 0x150(%rsp), %rdi
addq $0x10, %rdi
callq 0x1380
movl $0x20, %edi
subl 0x14c(%rsp), %edi
callq 0x8510
vmovdqa %xmm0, 0xe0(%rsp)
jmp 0x8943
movq 0x150(%rsp), %rdi
callq 0x1380
movl 0x14c(%rsp), %eax
movl $0x10, %edi
subl %eax, %edi
callq 0x8510
vmovdqa %xmm0, 0xd0(%rsp)
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, 0x1c0(%rsp)
vmovdqa 0x1c0(%rsp), %xmm0
vmovdqa %xmm0, 0xe0(%rsp)
cmpl $0x0, 0x15c(%rsp)
jne 0x8962
movl 0x148(%rsp), %eax
addl 0x14c(%rsp), %eax
movl %eax, 0x14c(%rsp)
vmovdqa 0xd0(%rsp), %xmm0
vmovdqa %xmm0, 0x130(%rsp)
leaq 0xd0(%rsp), %rdi
movl 0x14c(%rsp), %eax
shrl %eax
movl %eax, %eax
addq %rax, %rdi
callq 0x1380
vmovdqa %xmm0, 0x120(%rsp)
movl 0x14c(%rsp), %eax
shrl %eax
movl %eax, %eax
movl %eax, %ecx
xorl %eax, %eax
subq %rcx, %rax
leaq 0x264f(%rip), %rdi      # 0xb000
addq $0x10, %rdi
addq %rax, %rdi
callq 0x1380
vmovdqa %xmm0, 0xb0(%rsp)
movl 0x14c(%rsp), %eax
shrl %eax
movl %eax, %eax
movl %eax, %ecx
xorl %eax, %eax
subq %rcx, %rax
leaq 0x2621(%rip), %rdi      # 0xb000
addq $0x20, %rdi
addq %rax, %rdi
callq 0x1380
vmovdqa %xmm0, 0xc0(%rsp)
movl 0x14c(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x8a72
vmovdqa 0xc0(%rsp), %xmm0
callq 0x9560
vmovdqa %xmm0, 0xc0(%rsp)
movl 0x14c(%rsp), %eax
shrl %eax
movl %eax, %eax
movb $-0x10, 0xb0(%rsp,%rax)
vmovdqa 0x120(%rsp), %xmm0
callq 0x1450
vmovdqa %xmm0, 0x120(%rsp)
vmovdqa 0x120(%rsp), %xmm0
callq 0x95d0
vmovdqa %xmm0, 0x120(%rsp)
vmovdqa 0x120(%rsp), %xmm0
callq 0x1450
vmovdqa %xmm0, 0x120(%rsp)
vmovdqa 0x120(%rsp), %xmm1
vmovdqa 0xb0(%rsp), %xmm0
vmovdqa %xmm1, 0x560(%rsp)
vmovdqa %xmm0, 0x550(%rsp)
vmovdqa 0x560(%rsp), %xmm0
vpand 0x550(%rsp), %xmm0, %xmm1
vmovdqa 0xc0(%rsp), %xmm0
vmovdqa %xmm1, 0x4a0(%rsp)
vmovdqa %xmm0, 0x490(%rsp)
vmovdqa 0x4a0(%rsp), %xmm0
vpor 0x490(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x120(%rsp)
cmpl $0x10, 0x14c(%rsp)
jb 0x8b6d
vmovdqa 0x160(%rsp), %xmm1
movq 0x170(%rsp), %rax
vmovdqa 0x10(%rax), %xmm0
vmovdqa %xmm1, 0x3e0(%rsp)
vmovdqa %xmm0, 0x3d0(%rsp)
vmovdqa 0x3e0(%rsp), %xmm0
vpxor 0x3d0(%rsp), %xmm0, %xmm1
movq 0x170(%rsp), %rax
vmovdqa 0x20(%rax), %xmm0
vmovdqa %xmm1, 0x3c0(%rsp)
vmovdqa %xmm0, 0x3b0(%rsp)
vmovdqa 0x3c0(%rsp), %xmm0
vpxor 0x3b0(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x160(%rsp)
movl $0x8, 0x6c(%rsp)
jmp 0x8c45
vmovdqa 0x160(%rsp), %xmm1
movq 0x170(%rsp), %rax
vmovdqa (%rax), %xmm0
vmovdqa %xmm1, 0x3a0(%rsp)
vmovdqa %xmm0, 0x390(%rsp)
vmovdqa 0x3a0(%rsp), %xmm0
vpxor 0x390(%rsp), %xmm0, %xmm1
movq 0x170(%rsp), %rax
vmovdqa 0x10(%rax), %xmm2
movq 0x170(%rsp), %rax
vmovdqa 0x20(%rax), %xmm0
vmovdqa %xmm2, 0x380(%rsp)
vmovdqa %xmm0, 0x370(%rsp)
vmovdqa 0x380(%rsp), %xmm0
vpxor 0x370(%rsp), %xmm0, %xmm0
vmovdqa %xmm1, 0x360(%rsp)
vmovdqa %xmm0, 0x350(%rsp)
vmovdqa 0x360(%rsp), %xmm0
vpxor 0x350(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x160(%rsp)
cmpl $0x3, 0x14c(%rsp)
jb 0x8c25
movl $0xa, 0x6c(%rsp)
jmp 0x8c43
cmpl $0x2, 0x14c(%rsp)
jne 0x8c39
movl $0x10, 0x6c(%rsp)
jmp 0x8c41
movl $0x18, 0x6c(%rsp)
jmp 0x8c43
jmp 0x8c45
cmpl $0x0, 0x15c(%rsp)
jne 0x8c88
movl $0x1, %edi
movl $0xf, %esi
callq 0x1040
vmovdqa %xmm0, 0x100(%rsp)
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, 0x1b0(%rsp)
vmovdqa 0x1b0(%rsp), %xmm0
vmovdqa %xmm0, 0xf0(%rsp)
jmp 0x8cbd
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xf, %esi
callq 0x1040
vmovdqa %xmm0, 0x100(%rsp)
movl 0x6c(%rsp), %eax
subl $0x1, %eax
movl $0xf, %esi
movsbl %al, %edi
callq 0x1040
vmovdqa %xmm0, 0xf0(%rsp)
cmpl $0x0, 0x15c(%rsp)
je 0x8e93
cmpl $0x10, 0x14c(%rsp)
jae 0x8e93
vmovdqa 0x130(%rsp), %xmm0
vmovaps %xmm0, 0x40(%rsp)
leaq 0x2331(%rip), %rdi      # 0xb020
callq 0x1380
vmovaps 0x40(%rsp), %xmm1
vmovdqa %xmm1, 0x480(%rsp)
vmovdqa %xmm0, 0x470(%rsp)
vmovdqa 0x480(%rsp), %xmm0
vmovdqa 0x470(%rsp), %xmm1
vpor %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x110(%rsp)
vmovdqa 0x110(%rsp), %xmm1
vmovdqa 0x70(%rsp), %xmm0
vmovdqa %xmm1, 0x340(%rsp)
vmovdqa %xmm0, 0x330(%rsp)
vmovdqa 0x340(%rsp), %xmm0
vmovdqa 0x330(%rsp), %xmm1
vpxor %xmm1, %xmm0, %xmm1
movq 0x170(%rsp), %rax
vmovdqa (%rax), %xmm2
vmovdqa 0x10(%rax), %xmm0
vmovdqa %xmm2, 0x320(%rsp)
vmovdqa %xmm0, 0x310(%rsp)
vmovdqa 0x320(%rsp), %xmm0
vmovdqa 0x310(%rsp), %xmm2
vpxor %xmm2, %xmm0, %xmm0
vmovdqa %xmm1, 0x300(%rsp)
vmovdqa %xmm0, 0x2f0(%rsp)
vmovdqa 0x300(%rsp), %xmm0
vmovdqa 0x2f0(%rsp), %xmm1
vpxor %xmm1, %xmm0, %xmm0
vmovdqa 0x80(%rsp), %xmm1
vmovdqa 0xa0(%rsp), %xmm2
vmovdqa 0x90(%rsp), %xmm3
vpxor %xmm4, %xmm4, %xmm4
vmovdqa %xmm4, 0x1a0(%rsp)
vmovdqa 0x1a0(%rsp), %xmm4
callq 0x2b10
vmovdqa %xmm0, 0x110(%rsp)
vmovdqa 0x110(%rsp), %xmm0
vmovaps %xmm0, 0x50(%rsp)
leaq 0x21e8(%rip), %rdi      # 0xb000
addq $0x20, %rdi
callq 0x1380
vmovaps 0x50(%rsp), %xmm1
vmovdqa %xmm1, 0x540(%rsp)
vmovdqa %xmm0, 0x530(%rsp)
vmovdqa 0x540(%rsp), %xmm0
vpand 0x530(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x110(%rsp)
vmovdqa 0x130(%rsp), %xmm1
vmovdqa 0x110(%rsp), %xmm0
vmovdqa %xmm1, 0x2e0(%rsp)
vmovdqa %xmm0, 0x2d0(%rsp)
vmovdqa 0x2e0(%rsp), %xmm0
vpxor 0x2d0(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x130(%rsp)
movl $0x0, 0x68(%rsp)
movl 0x68(%rsp), %eax
cmpl 0x6c(%rsp), %eax
jae 0x9125
vmovdqa 0x160(%rsp), %xmm1
vmovdqa 0x120(%rsp), %xmm0
vmovdqa %xmm1, 0x2c0(%rsp)
vmovdqa %xmm0, 0x2b0(%rsp)
vmovdqa 0x2c0(%rsp), %xmm0
vpxor 0x2b0(%rsp), %xmm0, %xmm1
vmovdqa 0xf0(%rsp), %xmm0
vmovdqa %xmm1, 0x2a0(%rsp)
vmovdqa %xmm0, 0x290(%rsp)
vmovdqa 0x2a0(%rsp), %xmm0
vpxor 0x290(%rsp), %xmm0, %xmm0
vmovdqa 0x80(%rsp), %xmm1
vmovdqa 0xa0(%rsp), %xmm2
vmovdqa 0x90(%rsp), %xmm3
vmovdqa 0x130(%rsp), %xmm4
callq 0x2b10
vmovaps %xmm0, %xmm1
vmovdqa 0xb0(%rsp), %xmm0
vmovdqa %xmm1, 0x520(%rsp)
vmovdqa %xmm0, 0x510(%rsp)
vmovdqa 0x520(%rsp), %xmm0
vpand 0x510(%rsp), %xmm0, %xmm1
vmovdqa 0xc0(%rsp), %xmm0
vmovdqa %xmm1, 0x460(%rsp)
vmovdqa %xmm0, 0x450(%rsp)
vmovdqa 0x460(%rsp), %xmm0
vpor 0x450(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x130(%rsp)
vmovdqa 0xf0(%rsp), %xmm1
vmovdqa 0x100(%rsp), %xmm0
vmovdqa %xmm1, 0x5a0(%rsp)
vmovdqa %xmm0, 0x590(%rsp)
vmovdqa 0x5a0(%rsp), %xmm0
vmovdqa 0x590(%rsp), %xmm1
vpaddb %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0xf0(%rsp)
vmovdqa 0x160(%rsp), %xmm1
vmovdqa 0x130(%rsp), %xmm0
vmovdqa %xmm1, 0x280(%rsp)
vmovdqa %xmm0, 0x270(%rsp)
vmovdqa 0x280(%rsp), %xmm0
vpxor 0x270(%rsp), %xmm0, %xmm1
vmovdqa 0xf0(%rsp), %xmm0
vmovdqa %xmm1, 0x260(%rsp)
vmovdqa %xmm0, 0x250(%rsp)
vmovdqa 0x260(%rsp), %xmm0
vpxor 0x250(%rsp), %xmm0, %xmm0
vmovdqa 0x80(%rsp), %xmm1
vmovdqa 0xa0(%rsp), %xmm2
vmovdqa 0x90(%rsp), %xmm3
vmovdqa 0x120(%rsp), %xmm4
callq 0x2b10
vmovaps %xmm0, %xmm1
vmovdqa 0xb0(%rsp), %xmm0
vmovdqa %xmm1, 0x500(%rsp)
vmovdqa %xmm0, 0x4f0(%rsp)
vmovdqa 0x500(%rsp), %xmm0
vpand 0x4f0(%rsp), %xmm0, %xmm1
vmovdqa 0xc0(%rsp), %xmm0
vmovdqa %xmm1, 0x440(%rsp)
vmovdqa %xmm0, 0x430(%rsp)
vmovdqa 0x440(%rsp), %xmm0
vpor 0x430(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x120(%rsp)
vmovdqa 0xf0(%rsp), %xmm1
vmovdqa 0x100(%rsp), %xmm0
vmovdqa %xmm1, 0x580(%rsp)
vmovdqa %xmm0, 0x570(%rsp)
vmovdqa 0x580(%rsp), %xmm0
vmovdqa 0x570(%rsp), %xmm1
vpaddb %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0xf0(%rsp)
movl 0x68(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x68(%rsp)
jmp 0x8e9b
vmovdqa 0x120(%rsp), %xmm0
vmovdqa %xmm0, 0xd0(%rsp)
movl 0x14c(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x922e
vmovdqa 0x130(%rsp), %xmm0
callq 0x1450
vmovdqa %xmm0, 0x130(%rsp)
vmovdqa 0x130(%rsp), %xmm0
callq 0x9560
vmovdqa %xmm0, 0x130(%rsp)
vmovdqa 0x130(%rsp), %xmm0
callq 0x1450
vmovdqa %xmm0, 0x130(%rsp)
leaq 0xd0(%rsp), %rdi
movl 0x14c(%rsp), %eax
shrl %eax
movl %eax, %eax
addq %rax, %rdi
callq 0x1380
vmovaps %xmm0, 0x30(%rsp)
movl $0xfffffff0, %edi       # imm = 0xFFFFFFF0
xorl %esi, %esi
callq 0x1040
vmovaps 0x30(%rsp), %xmm1
vmovdqa %xmm1, 0x4e0(%rsp)
vmovdqa %xmm0, 0x4d0(%rsp)
vmovdqa 0x4e0(%rsp), %xmm0
vpand 0x4d0(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x120(%rsp)
vmovdqa 0x130(%rsp), %xmm1
vmovdqa 0x120(%rsp), %xmm0
vmovdqa %xmm1, 0x420(%rsp)
vmovdqa %xmm0, 0x410(%rsp)
vmovdqa 0x420(%rsp), %xmm0
vpor 0x410(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0x130(%rsp)
leaq 0xd0(%rsp), %rdi
movl 0x14c(%rsp), %eax
shrl %eax
movl %eax, %eax
addq %rax, %rdi
vmovdqa 0x130(%rsp), %xmm0
callq 0x4d40
cmpl $0x0, 0x15c(%rsp)
je 0x9332
movl 0x148(%rsp), %ecx
movl 0x14c(%rsp), %eax
subl %ecx, %eax
movl %eax, 0x14c(%rsp)
cmpl $0x10, 0x148(%rsp)
jne 0x92a3
leaq 0xd0(%rsp), %rdi
movl 0x14c(%rsp), %eax
addq %rax, %rdi
callq 0x1380
vmovdqa %xmm0, 0x110(%rsp)
jmp 0x930a
vpxor %xmm0, %xmm0, %xmm0
vmovdqa %xmm0, 0x190(%rsp)
vmovdqa 0x190(%rsp), %xmm0
vmovdqa %xmm0, 0x110(%rsp)
movl $0x0, 0x68(%rsp)
movl 0x68(%rsp), %eax
cmpl 0x148(%rsp), %eax
jae 0x9308
leaq 0xd0(%rsp), %rax
movl 0x14c(%rsp), %ecx
addq %rcx, %rax
movl 0x68(%rsp), %ecx
movb (%rax,%rcx), %cl
movl 0x68(%rsp), %eax
movb %cl, 0x110(%rsp,%rax)
movl 0x68(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x68(%rsp)
jmp 0x92ca
jmp 0x930a
vmovdqa 0x110(%rsp), %xmm0
callq 0x87e0
cmpl $0x0, %eax
jne 0x932d
movl $0xffffffff, 0x17c(%rsp) # imm = 0xFFFFFFFF
jmp 0x954e
jmp 0x9507
cmpl $0x10, 0x14c(%rsp)
jae 0x9505
vmovdqa 0xd0(%rsp), %xmm0
movl 0x14c(%rsp), %eax
movl $0x10, %edi
subl %eax, %edi
callq 0x8510
vmovaps %xmm0, (%rsp)
leaq 0x1cb8(%rip), %rdi      # 0xb020
callq 0x1380
vmovaps (%rsp), %xmm1
vmovdqa %xmm1, 0x400(%rsp)
vmovdqa %xmm0, 0x3f0(%rsp)
vmovdqa 0x400(%rsp), %xmm0
vmovdqa 0x3f0(%rsp), %xmm1
vpor %xmm1, %xmm0, %xmm0
vmovdqa %xmm0, 0x110(%rsp)
vmovdqa 0x110(%rsp), %xmm1
vmovdqa 0x70(%rsp), %xmm0
vmovdqa %xmm1, 0x240(%rsp)
vmovdqa %xmm0, 0x230(%rsp)
vmovdqa 0x240(%rsp), %xmm0
vmovdqa 0x230(%rsp), %xmm1
vpxor %xmm1, %xmm0, %xmm1
movq 0x170(%rsp), %rax
vmovdqa (%rax), %xmm2
vmovdqa 0x10(%rax), %xmm0
vmovdqa %xmm2, 0x220(%rsp)
vmovdqa %xmm0, 0x210(%rsp)
vmovdqa 0x220(%rsp), %xmm0
vmovdqa 0x210(%rsp), %xmm2
vpxor %xmm2, %xmm0, %xmm0
vmovdqa %xmm1, 0x200(%rsp)
vmovdqa %xmm0, 0x1f0(%rsp)
vmovdqa 0x200(%rsp), %xmm0
vmovdqa 0x1f0(%rsp), %xmm1
vpxor %xmm1, %xmm0, %xmm0
vmovdqa 0x80(%rsp), %xmm1
vmovdqa 0xa0(%rsp), %xmm2
vmovdqa 0x90(%rsp), %xmm3
vpxor %xmm4, %xmm4, %xmm4
vmovdqa %xmm4, 0x180(%rsp)
vmovdqa 0x180(%rsp), %xmm4
callq 0x2b10
vmovdqa %xmm0, 0x110(%rsp)
vmovdqa 0xd0(%rsp), %xmm0
vmovaps %xmm0, 0x20(%rsp)
vmovdqa 0x110(%rsp), %xmm0
vmovaps %xmm0, 0x10(%rsp)
leaq 0x1b61(%rip), %rdi      # 0xb000
addq $0x20, %rdi
callq 0x1380
vmovaps 0x10(%rsp), %xmm2
vmovaps 0x20(%rsp), %xmm1
vmovdqa %xmm2, 0x4c0(%rsp)
vmovdqa %xmm0, 0x4b0(%rsp)
vmovdqa 0x4c0(%rsp), %xmm0
vpand 0x4b0(%rsp), %xmm0, %xmm0
vmovdqa %xmm1, 0x1e0(%rsp)
vmovdqa %xmm0, 0x1d0(%rsp)
vmovdqa 0x1e0(%rsp), %xmm0
vpxor 0x1d0(%rsp), %xmm0, %xmm0
vmovdqa %xmm0, 0xd0(%rsp)
jmp 0x9507
movl $0x0, 0x68(%rsp)
movl 0x68(%rsp), %eax
cmpl 0x14c(%rsp), %eax
jae 0x9543
movl 0x68(%rsp), %eax
movb 0xd0(%rsp,%rax), %dl
movq 0x140(%rsp), %rax
movl 0x68(%rsp), %ecx
movb %dl, (%rax,%rcx)
movl 0x68(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x68(%rsp)
jmp 0x950f
movl $0x0, 0x17c(%rsp)
movl 0x17c(%rsp), %eax
addq $0x5b8, %rsp            # imm = 0x5B8
retq
nopl (%rax)