#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ fputs(char *, int /*<<< orphan*/);
int /*<<< orphan*/ stdout;
void strfilter(char *s1, char *s2, char c) {
  char *ptr_s1_tmp = s1;
  char *ptr_s2_tmp = s2;
  char filtered[41] = "\0";
  char *ptr_filtered_tmp = filtered;
  unsigned i = 0;
  unsigned j = 0;
  for (i; i < 41 - 1; ++i) {
    *ptr_filtered_tmp = *ptr_s1_tmp;
    for (j; j < 21 - 1; ++j) {
      if (*ptr_s1_tmp == *ptr_s2_tmp)
        *ptr_filtered_tmp = c;
      ptr_s2_tmp++;
    }
    ptr_filtered_tmp++;
    ptr_s1_tmp++;
    j = 0;
  }
  fputs("filtered = {\"", stdout);
  fputs(filtered, stdout);
  fputs("\"}\n", stdout);
}


x86 assembly (clang, -O0):
<strfilter>:
push   %rbp
mov    %rsp,%rbp
sub    $0x70,%rsp
mov    %dl,%al
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %al,-0x11(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x10(%rbp),%rax
mov    %rax,-0x28(%rbp)
lea    -0x60(%rbp),%rdi
xor    %esi,%esi
mov    $0x29,%edx
call   1040 <memset@plt>
lea    -0x60(%rbp),%rax
mov    %rax,-0x68(%rbp)
movl   $0x0,-0x6c(%rbp)
movl   $0x0,-0x70(%rbp)
cmpl   $0x28,-0x6c(%rbp)
jae    11f1 <strfilter+0xd1>
mov    -0x20(%rbp),%rax
mov    (%rax),%cl
mov    -0x68(%rbp),%rax
mov    %cl,(%rax)
cmpl   $0x14,-0x70(%rbp)
jae    11c4 <strfilter+0xa4>
mov    -0x20(%rbp),%rax
movsbl (%rax),%eax
mov    -0x28(%rbp),%rcx
movsbl (%rcx),%ecx
cmp    %ecx,%eax
jne    11aa <strfilter+0x8a>
mov    -0x11(%rbp),%cl
mov    -0x68(%rbp),%rax
mov    %cl,(%rax)
mov    -0x28(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x28(%rbp)
mov    -0x70(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x70(%rbp)
jmp    1181 <strfilter+0x61>
mov    -0x68(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x68(%rbp)
mov    -0x20(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x20(%rbp)
movl   $0x0,-0x70(%rbp)
mov    -0x6c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x6c(%rbp)
jmp    116b <strfilter+0x4b>
mov    0x2de8(%rip),%rax
mov    (%rax),%esi
lea    0xdff(%rip),%rdi
call   1030 <fputs@plt>
lea    -0x60(%rbp),%rdi
mov    0x2dcf(%rip),%rax
mov    (%rax),%esi
call   1030 <fputs@plt>
mov    0x2dc1(%rip),%rax
mov    (%rax),%esi
lea    0xde6(%rip),%rdi
call   1030 <fputs@plt>
add    $0x70,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<strfilter>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x108,%rsp
pxor   %xmm0,%xmm0
movdqu %xmm0,0x29(%rsp)
movdqa %xmm0,0x20(%rsp)
movdqa %xmm0,0x10(%rsp)
lea    0x38(%rsp),%r8
lea    0x28(%rdi),%rax
lea    0x320(%rsi),%rbp
lea    0x10(%rsp),%r9
cmp    %rax,%r9
setb   %bl
mov    %rdi,0xe8(%rsp)
cmp    %rdi,%r8
seta   %cl
cmp    %rbp,%r9
setb   %al
cmp    %rsi,%r8
seta   %dil
test   %cl,%bl
jne    342d <strfilter+0x231d>
and    %dil,%al
jne    342d <strfilter+0x231d>
movzbl %dl,%eax
movd   %eax,%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x0,%xmm0,%xmm0
movdqa %xmm0,0xf0(%rsp)
pshufd $0x0,%xmm0,%xmm0
movdqa %xmm0,0xa0(%rsp)
xor    %eax,%eax
nopw   0x0(%rax,%rax,1)
mov    %rax,0x8(%rsp)
mov    0x8(%rsp),%rcx
or     $0x2,%rcx
lea    (%rcx,%rcx,4),%rax
mov    %rax,0xe0(%rsp)
mov    0x8(%rsp),%rcx
or     $0x3,%rcx
lea    (%rcx,%rcx,4),%rax
mov    %rax,0xc8(%rsp)
mov    0x8(%rsp),%rcx
or     $0x4,%rcx
lea    (%rcx,%rcx,4),%rax
mov    %rax,0x50(%rsp)
mov    0x8(%rsp),%rcx
or     $0x5,%rcx
lea    (%rcx,%rcx,4),%r15
mov    0x8(%rsp),%rcx
or     $0x6,%rcx
lea    (%rcx,%rcx,4),%rdx
mov    %rdx,0x60(%rsp)
mov    0x8(%rsp),%rcx
or     $0x7,%rcx
lea    (%rcx,%rcx,4),%rdi
mov    0x8(%rsp),%rcx
or     $0x8,%rcx
lea    (%rcx,%rcx,4),%r11
mov    %r11,0x48(%rsp)
mov    0x8(%rsp),%rcx
or     $0x9,%rcx
lea    (%rcx,%rcx,4),%r14
mov    %r14,0x40(%rsp)
mov    0x8(%rsp),%rcx
or     $0xa,%rcx
lea    (%rcx,%rcx,4),%r8
mov    %r8,0x58(%rsp)
mov    0x8(%rsp),%rcx
or     $0xb,%rcx
lea    (%rcx,%rcx,4),%rbx
mov    %rbx,0x80(%rsp)
mov    0x8(%rsp),%rcx
or     $0xc,%rcx
lea    (%rcx,%rcx,4),%rax
mov    0x8(%rsp),%rcx
or     $0xd,%rcx
lea    (%rcx,%rcx,4),%r13
mov    0x8(%rsp),%rcx
or     $0xe,%rcx
lea    (%rcx,%rcx,4),%rbp
mov    %rbp,0x70(%rsp)
mov    0x8(%rsp),%rcx
or     $0xf,%rcx
lea    (%rcx,%rcx,4),%r9
mov    0xe8(%rsp),%rcx
mov    0x8(%rsp),%r10
movdqu (%rcx,%r10,1),%xmm10
mov    0x8(%rsp),%rcx
movdqa %xmm10,0x10(%rsp,%rcx,1)
movzbl (%rsi,%r9,4),%ecx
mov    %r9,0x68(%rsp)
movd   %ecx,%xmm3
movzbl (%rsi,%rbp,4),%ecx
movd   %ecx,%xmm4
movzbl (%rsi,%r13,4),%ecx
mov    %r13,0xb8(%rsp)
movd   %ecx,%xmm11
movzbl (%rsi,%rax,4),%ecx
mov    %rax,%rbp
movd   %ecx,%xmm5
movzbl (%rsi,%rbx,4),%ecx
movd   %ecx,%xmm12
movzbl (%rsi,%r8,4),%ecx
movd   %ecx,%xmm1
movzbl (%rsi,%r14,4),%ecx
movd   %ecx,%xmm13
movzbl (%rsi,%r11,4),%ecx
movd   %ecx,%xmm0
mov    %rdi,0x90(%rsp)
movzbl (%rsi,%rdi,4),%ecx
movd   %ecx,%xmm14
movzbl (%rsi,%rdx,4),%ecx
movd   %ecx,%xmm7
mov    %r15,%rdx
mov    %r15,0x78(%rsp)
movzbl (%rsi,%r15,4),%ecx
movd   %ecx,%xmm15
mov    0x50(%rsp),%r15
movzbl (%rsi,%r15,4),%ecx
movd   %ecx,%xmm6
mov    0xc8(%rsp),%r14
movzbl (%rsi,%r14,4),%ecx
movd   %ecx,%xmm2
mov    0xe0(%rsp),%r10
movzbl (%rsi,%r10,4),%ecx
movd   %ecx,%xmm8
mov    0x8(%rsp),%rcx
or     $0x1,%rcx
lea    (%rcx,%rcx,4),%r12
movzbl (%rsi,%r12,4),%ecx
mov    %r12,0xc0(%rsp)
movd   %ecx,%xmm9
punpcklbw %xmm3,%xmm4
mov    0x8(%rsp),%rax
lea    (%rax,%rax,4),%rax
movzbl (%rsi,%rax,4),%r11d
mov    %rax,%r8
movd   %r11d,%xmm3
punpcklbw %xmm11,%xmm5
punpcklwd %xmm4,%xmm5
punpcklbw %xmm12,%xmm1
punpcklbw %xmm13,%xmm0
punpcklwd %xmm1,%xmm0
punpckldq %xmm5,%xmm0
punpcklbw %xmm14,%xmm7
punpcklbw %xmm15,%xmm6
punpcklwd %xmm7,%xmm6
punpcklbw %xmm2,%xmm8
punpcklbw %xmm9,%xmm3
punpcklwd %xmm8,%xmm3
punpckldq %xmm6,%xmm3
punpcklqdq %xmm0,%xmm3
movdqa %xmm10,0xd0(%rsp)
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm8
movdqa %xmm8,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm10,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rax
movdqa %xmm3,0x10(%rsp,%rax,1)
movzbl 0x1(%rsi,%r9,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%r9
movzbl 0x1(%rsi,%r9,4),%ebx
movd   %ebx,%xmm14
movzbl 0x1(%rsi,%r13,4),%ebx
movd   %ebx,%xmm4
movzbl 0x1(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%rax
movzbl 0x1(%rsi,%rax,4),%ebx
movd   %ebx,%xmm10
mov    0x58(%rsp),%rax
movzbl 0x1(%rsi,%rax,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%rax
movzbl 0x1(%rsi,%rax,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%rax
movzbl 0x1(%rsi,%rax,4),%ebx
movd   %ebx,%xmm1
movzbl 0x1(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%rcx
movzbl 0x1(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm7
movzbl 0x1(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm13
mov    %r15,%r11
movzbl 0x1(%rsi,%r15,4),%ebx
movd   %ebx,%xmm0
mov    %r14,%rax
movzbl 0x1(%rsi,%r14,4),%ebx
movd   %ebx,%xmm15
mov    %r10,%rdx
movzbl 0x1(%rsi,%r10,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x1(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
movzbl 0x1(%rsi,%r8,4),%ebx
mov    %r8,%r13
mov    %r8,0x88(%rsp)
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm10,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
movdqa 0xd0(%rsp),%xmm10
pcmpeqb %xmm10,%xmm4
pand   %xmm4,%xmm8
pandn  %xmm3,%xmm4
por    %xmm8,%xmm4
mov    0x8(%rsp),%rdi
movdqa %xmm4,0x10(%rsp,%rdi,1)
mov    0x68(%rsp),%r12
movzbl 0x2(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
movzbl 0x2(%rsi,%r9,4),%ebx
mov    %r9,%r8
movd   %ebx,%xmm14
mov    0xb8(%rsp),%r10
movzbl 0x2(%rsi,%r10,4),%ebx
movd   %ebx,%xmm3
movzbl 0x2(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%rdi
movzbl 0x2(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%r15
movzbl 0x2(%rsi,%r15,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%r14
movzbl 0x2(%rsi,%r14,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%r9
movzbl 0x2(%rsi,%r9,4),%ebx
movd   %ebx,%xmm1
mov    0x90(%rsp),%rbx
movzbl 0x2(%rsi,%rbx,4),%ebx
movd   %ebx,%xmm12
movzbl 0x2(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%rcx
movzbl 0x2(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm13
movzbl 0x2(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
movzbl 0x2(%rsi,%rax,4),%ebx
movd   %ebx,%xmm15
movzbl 0x2(%rsi,%rdx,4),%ebx
mov    %rdx,%r11
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
mov    0xc0(%rsp),%rcx
movzbl 0x2(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0x2(%rsi,%r13,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm10
movdqa %xmm10,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rax
movdqa %xmm3,0x10(%rsp,%rax,1)
movzbl 0x3(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
movzbl 0x3(%rsi,%r8,4),%ebx
movd   %ebx,%xmm14
movzbl 0x3(%rsi,%r10,4),%ebx
movd   %ebx,%xmm4
mov    %rbp,0x98(%rsp)
movzbl 0x3(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
movzbl 0x3(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm8
movzbl 0x3(%rsi,%r15,4),%ebx
movd   %ebx,%xmm2
movzbl 0x3(%rsi,%r14,4),%ebx
movd   %ebx,%xmm9
movzbl 0x3(%rsi,%r9,4),%ebx
movd   %ebx,%xmm1
mov    0x90(%rsp),%r15
movzbl 0x3(%rsi,%r15,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%rdi
movzbl 0x3(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%r8
movzbl 0x3(%rsi,%r8,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%rdx
movzbl 0x3(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm0
mov    0xc8(%rsp),%r13
movzbl 0x3(%rsi,%r13,4),%ebx
movd   %ebx,%xmm15
movzbl 0x3(%rsi,%r11,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x3(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    0x88(%rsp),%r14
movzbl 0x3(%rsi,%r14,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
pcmpeqb 0xd0(%rsp),%xmm4
movdqa %xmm10,%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rax
movdqa %xmm4,0x10(%rsp,%rax,1)
movzbl 0x4(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%rax
movzbl 0x4(%rsi,%rax,4),%ebx
movd   %ebx,%xmm14
movzbl 0x4(%rsi,%r10,4),%ebx
movd   %ebx,%xmm3
movzbl 0x4(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%rcx
movzbl 0x4(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%rax
movzbl 0x4(%rsi,%rax,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%r9
movzbl 0x4(%rsi,%r9,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%rax
movzbl 0x4(%rsi,%rax,4),%ebx
movd   %ebx,%xmm1
movzbl 0x4(%rsi,%r15,4),%ebx
movd   %ebx,%xmm12
movzbl 0x4(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm7
movzbl 0x4(%rsi,%r8,4),%ebx
movd   %ebx,%xmm13
movzbl 0x4(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm0
movzbl 0x4(%rsi,%r13,4),%ebx
mov    %r13,%rdi
movd   %ebx,%xmm15
movzbl 0x4(%rsi,%r11,4),%ebx
mov    %r11,%rdx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
mov    0xc0(%rsp),%rbp
movzbl 0x4(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0x4(%rsi,%r14,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
movdqa 0xd0(%rsp),%xmm10
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rax
movdqa %xmm3,0x10(%rsp,%rax,1)
movzbl 0x5(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%r15
movzbl 0x5(%rsi,%r15,4),%ebx
movd   %ebx,%xmm14
movzbl 0x5(%rsi,%r10,4),%ebx
movd   %ebx,%xmm4
mov    0x98(%rsp),%rax
movzbl 0x5(%rsi,%rax,4),%ebx
movd   %ebx,%xmm6
movzbl 0x5(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%r13
movzbl 0x5(%rsi,%r13,4),%ebx
movd   %ebx,%xmm2
movzbl 0x5(%rsi,%r9,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%r14
movzbl 0x5(%rsi,%r14,4),%ebx
movd   %ebx,%xmm1
mov    0x90(%rsp),%r12
movzbl 0x5(%rsi,%r12,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%r9
movzbl 0x5(%rsi,%r9,4),%ebx
movd   %ebx,%xmm7
movzbl 0x5(%rsi,%r8,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%r11
movzbl 0x5(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
movzbl 0x5(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm15
movzbl 0x5(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x5(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    0x88(%rsp),%rax
movzbl 0x5(%rsi,%rax,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
pcmpeqb %xmm10,%xmm4
movdqa 0xa0(%rsp),%xmm10
movdqa %xmm10,%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rax
movdqa %xmm4,0x10(%rsp,%rax,1)
mov    0x68(%rsp),%rax
movzbl 0x6(%rsi,%rax,4),%ebx
movd   %ebx,%xmm11
movzbl 0x6(%rsi,%r15,4),%ebx
movd   %ebx,%xmm14
movzbl 0x6(%rsi,%r10,4),%ebx
movd   %ebx,%xmm3
mov    0x98(%rsp),%rbp
movzbl 0x6(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
movzbl 0x6(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm8
movzbl 0x6(%rsi,%r13,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%rcx
movzbl 0x6(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm9
movzbl 0x6(%rsi,%r14,4),%ebx
movd   %ebx,%xmm1
movzbl 0x6(%rsi,%r12,4),%ebx
movd   %ebx,%xmm12
movzbl 0x6(%rsi,%r9,4),%ebx
movd   %ebx,%xmm7
movzbl 0x6(%rsi,%r8,4),%ebx
movd   %ebx,%xmm13
movzbl 0x6(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
movzbl 0x6(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm15
movzbl 0x6(%rsi,%rdx,4),%ebx
mov    %rdx,%r13
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
mov    0xc0(%rsp),%rdx
movzbl 0x6(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
mov    0x88(%rsp),%r14
movzbl 0x6(%rsi,%r14,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
pcmpeqb 0xd0(%rsp),%xmm3
movdqa %xmm10,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rax
movdqa %xmm3,0x10(%rsp,%rax,1)
mov    0x68(%rsp),%r12
movzbl 0x7(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
movzbl 0x7(%rsi,%r15,4),%ebx
movd   %ebx,%xmm14
movzbl 0x7(%rsi,%r10,4),%ebx
movd   %ebx,%xmm4
movzbl 0x7(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%rdi
movzbl 0x7(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%r9
movzbl 0x7(%rsi,%r9,4),%ebx
movd   %ebx,%xmm2
movzbl 0x7(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%r15
movzbl 0x7(%rsi,%r15,4),%ebx
movd   %ebx,%xmm1
mov    0x90(%rsp),%r10
movzbl 0x7(%rsi,%r10,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%rax
movzbl 0x7(%rsi,%rax,4),%ebx
movd   %ebx,%xmm7
movzbl 0x7(%rsi,%r8,4),%ebx
movd   %ebx,%xmm13
movzbl 0x7(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
mov    0xc8(%rsp),%rax
movzbl 0x7(%rsi,%rax,4),%ebx
movd   %ebx,%xmm15
movzbl 0x7(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x7(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    %r14,%rcx
movzbl 0x7(%rsi,%r14,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
movdqa 0xd0(%rsp),%xmm10
pcmpeqb %xmm10,%xmm4
movdqa 0xa0(%rsp),%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rax
movdqa %xmm4,0x10(%rsp,%rax,1)
movzbl 0x8(%rsi,%r12,4),%ebx
mov    %r12,%r11
movd   %ebx,%xmm11
mov    0x70(%rsp),%r14
movzbl 0x8(%rsi,%r14,4),%ebx
movd   %ebx,%xmm14
mov    0xb8(%rsp),%rax
movzbl 0x8(%rsi,%rax,4),%ebx
movd   %ebx,%xmm3
movzbl 0x8(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
movzbl 0x8(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm8
mov    %r9,%r13
movzbl 0x8(%rsi,%r9,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%rbp
movzbl 0x8(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm9
mov    %r15,%r12
movzbl 0x8(%rsi,%r15,4),%ebx
movd   %ebx,%xmm1
movzbl 0x8(%rsi,%r10,4),%ebx
mov    %r10,%r9
movd   %ebx,%xmm12
mov    0x60(%rsp),%r10
movzbl 0x8(%rsi,%r10,4),%ebx
movd   %ebx,%xmm7
movzbl 0x8(%rsi,%r8,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%r8
movzbl 0x8(%rsi,%r8,4),%ebx
movd   %ebx,%xmm0
mov    0xc8(%rsp),%rdi
movzbl 0x8(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm15
mov    0xe0(%rsp),%rbx
movzbl 0x8(%rsi,%rbx,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x8(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0x8(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm10
movdqa %xmm10,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rdx
movdqa %xmm3,0x10(%rsp,%rdx,1)
movzbl 0x9(%rsi,%r11,4),%ebx
movd   %ebx,%xmm11
movzbl 0x9(%rsi,%r14,4),%ebx
mov    %r14,%rcx
movd   %ebx,%xmm14
movzbl 0x9(%rsi,%rax,4),%ebx
movd   %ebx,%xmm4
mov    0x98(%rsp),%r14
movzbl 0x9(%rsi,%r14,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%r15
movzbl 0x9(%rsi,%r15,4),%ebx
movd   %ebx,%xmm8
movzbl 0x9(%rsi,%r13,4),%ebx
movd   %ebx,%xmm2
movzbl 0x9(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm9
mov    %r12,%r13
movzbl 0x9(%rsi,%r12,4),%ebx
movd   %ebx,%xmm1
movzbl 0x9(%rsi,%r9,4),%ebx
movd   %ebx,%xmm12
mov    %r10,%r9
movzbl 0x9(%rsi,%r10,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%r10
movzbl 0x9(%rsi,%r10,4),%ebx
movd   %ebx,%xmm13
mov    %r8,%r11
movzbl 0x9(%rsi,%r8,4),%ebx
movd   %ebx,%xmm0
mov    %rdi,%r8
movzbl 0x9(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm15
mov    0xe0(%rsp),%rdi
movzbl 0x9(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
mov    0xc0(%rsp),%r12
movzbl 0x9(%rsi,%r12,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    0x88(%rsp),%rax
movzbl 0x9(%rsi,%rax,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
pcmpeqb 0xd0(%rsp),%xmm4
movdqa %xmm10,%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rdx
movdqa %xmm4,0x10(%rsp,%rdx,1)
mov    0x68(%rsp),%rdx
movzbl 0xa(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm11
mov    %rcx,%rdx
movzbl 0xa(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm14
mov    0xb8(%rsp),%rcx
movzbl 0xa(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm3
movzbl 0xa(%rsi,%r14,4),%ebx
movd   %ebx,%xmm6
movzbl 0xa(%rsi,%r15,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%rbx
movzbl 0xa(%rsi,%rbx,4),%ebx
movd   %ebx,%xmm2
movzbl 0xa(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm9
movzbl 0xa(%rsi,%r13,4),%ebx
movd   %ebx,%xmm1
mov    0x90(%rsp),%r14
movzbl 0xa(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
movzbl 0xa(%rsi,%r9,4),%ebx
movd   %ebx,%xmm7
movzbl 0xa(%rsi,%r10,4),%ebx
movd   %ebx,%xmm13
movzbl 0xa(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
movzbl 0xa(%rsi,%r8,4),%ebx
movd   %ebx,%xmm15
movzbl 0xa(%rsi,%rdi,4),%ebx
mov    %rdi,%r13
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0xa(%rsi,%r12,4),%ebx
mov    %r12,%r11
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0xa(%rsi,%rax,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
movdqa 0xd0(%rsp),%xmm10
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rdi
movdqa %xmm3,0x10(%rsp,%rdi,1)
mov    0x68(%rsp),%rax
movzbl 0xb(%rsi,%rax,4),%ebx
movd   %ebx,%xmm11
movzbl 0xb(%rsi,%rdx,4),%ebx
mov    %rdx,%r10
movd   %ebx,%xmm14
movzbl 0xb(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm4
mov    0x98(%rsp),%rbp
movzbl 0xb(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
movzbl 0xb(%rsi,%r15,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%rdx
movzbl 0xb(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%r12
movzbl 0xb(%rsi,%r12,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%rdi
movzbl 0xb(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm1
movzbl 0xb(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
movzbl 0xb(%rsi,%r9,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%rdi
movzbl 0xb(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%rdi
movzbl 0xb(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm0
movzbl 0xb(%rsi,%r8,4),%ebx
movd   %ebx,%xmm15
movzbl 0xb(%rsi,%r13,4),%ebx
mov    %r13,%r9
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0xb(%rsi,%r11,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    0x88(%rsp),%r8
movzbl 0xb(%rsi,%r8,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
pcmpeqb %xmm10,%xmm4
movdqa 0xa0(%rsp),%xmm10
movdqa %xmm10,%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rdi
movdqa %xmm4,0x10(%rsp,%rdi,1)
movzbl 0xc(%rsi,%rax,4),%ebx
movd   %ebx,%xmm11
movzbl 0xc(%rsi,%r10,4),%ebx
movd   %ebx,%xmm14
movzbl 0xc(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm3
movzbl 0xc(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm6
movzbl 0xc(%rsi,%r15,4),%ebx
movd   %ebx,%xmm8
movzbl 0xc(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm2
mov    %r12,%rdx
movzbl 0xc(%rsi,%r12,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%r13
movzbl 0xc(%rsi,%r13,4),%ebx
movd   %ebx,%xmm1
movzbl 0xc(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%rdi
movzbl 0xc(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%r15
movzbl 0xc(%rsi,%r15,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%r11
movzbl 0xc(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
mov    0xc8(%rsp),%r10
movzbl 0xc(%rsi,%r10,4),%ebx
movd   %ebx,%xmm15
movzbl 0xc(%rsi,%r9,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
mov    0xc0(%rsp),%rdi
movzbl 0xc(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0xc(%rsi,%r8,4),%ebx
mov    %r8,%rbp
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
pcmpeqb 0xd0(%rsp),%xmm3
movdqa %xmm10,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rdi
movdqa %xmm3,0x10(%rsp,%rdi,1)
movzbl 0xd(%rsi,%rax,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%rax
movzbl 0xd(%rsi,%rax,4),%ebx
movd   %ebx,%xmm14
movzbl 0xd(%rsi,%rcx,4),%ebx
mov    %rcx,%r12
movd   %ebx,%xmm4
mov    0x98(%rsp),%rax
movzbl 0xd(%rsi,%rax,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%rax
movzbl 0xd(%rsi,%rax,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%rax
movzbl 0xd(%rsi,%rax,4),%ebx
movd   %ebx,%xmm2
movzbl 0xd(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm9
mov    %r13,%rax
movzbl 0xd(%rsi,%r13,4),%ebx
movd   %ebx,%xmm1
movzbl 0xd(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%r9
movzbl 0xd(%rsi,%r9,4),%ebx
movd   %ebx,%xmm7
mov    %r15,%rcx
movzbl 0xd(%rsi,%r15,4),%ebx
movd   %ebx,%xmm13
movzbl 0xd(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
mov    %r10,%r8
movzbl 0xd(%rsi,%r10,4),%ebx
movd   %ebx,%xmm15
mov    0xe0(%rsp),%r13
movzbl 0xd(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
mov    0xc0(%rsp),%r10
movzbl 0xd(%rsi,%r10,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
movzbl 0xd(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
movdqa 0xd0(%rsp),%xmm10
pcmpeqb %xmm10,%xmm4
movdqa 0xa0(%rsp),%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rdi
movdqa %xmm4,0x10(%rsp,%rdi,1)
mov    0x68(%rsp),%rdx
movzbl 0xe(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%rdx
movzbl 0xe(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm14
movzbl 0xe(%rsi,%r12,4),%ebx
movd   %ebx,%xmm3
mov    0x98(%rsp),%r12
movzbl 0xe(%rsi,%r12,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%r15
movzbl 0xe(%rsi,%r15,4),%ebx
movd   %ebx,%xmm8
mov    0x58(%rsp),%rbp
movzbl 0xe(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%rdi
movzbl 0xe(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm9
movzbl 0xe(%rsi,%rax,4),%ebx
movd   %ebx,%xmm1
movzbl 0xe(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
movzbl 0xe(%rsi,%r9,4),%ebx
movd   %ebx,%xmm7
movzbl 0xe(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm13
movzbl 0xe(%rsi,%r11,4),%ebx
movd   %ebx,%xmm0
movzbl 0xe(%rsi,%r8,4),%ebx
movd   %ebx,%xmm15
movzbl 0xe(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0xe(%rsi,%r10,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
mov    0x88(%rsp),%rax
movzbl 0xe(%rsi,%rax,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm10
movdqa %xmm10,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rdi
movdqa %xmm3,0x10(%rsp,%rdi,1)
mov    0x68(%rsp),%rcx
movzbl 0xf(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm11
movzbl 0xf(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm14
mov    0xb8(%rsp),%rax
movzbl 0xf(%rsi,%rax,4),%ebx
movd   %ebx,%xmm4
movzbl 0xf(%rsi,%r12,4),%ebx
movd   %ebx,%xmm6
movzbl 0xf(%rsi,%r15,4),%ebx
movd   %ebx,%xmm8
movzbl 0xf(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%rax
movzbl 0xf(%rsi,%rax,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%r9
movzbl 0xf(%rsi,%r9,4),%ebx
movd   %ebx,%xmm1
movzbl 0xf(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%r11
movzbl 0xf(%rsi,%r11,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%rdi
movzbl 0xf(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%rdi
movzbl 0xf(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm0
movzbl 0xf(%rsi,%r8,4),%ebx
mov    %r8,%r15
movd   %ebx,%xmm15
movzbl 0xf(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0xf(%rsi,%r10,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    0x88(%rsp),%r8
movzbl 0xf(%rsi,%r8,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
pcmpeqb 0xd0(%rsp),%xmm4
movdqa %xmm10,%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rdi
movdqa %xmm4,0x10(%rsp,%rdi,1)
movzbl 0x10(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm11
movzbl 0x10(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm14
mov    0xb8(%rsp),%rcx
movzbl 0x10(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm3
movzbl 0x10(%rsi,%r12,4),%ebx
movd   %ebx,%xmm6
mov    0x80(%rsp),%rdx
movzbl 0x10(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm8
movzbl 0x10(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm2
movzbl 0x10(%rsi,%rax,4),%ebx
movd   %ebx,%xmm9
movzbl 0x10(%rsi,%r9,4),%ebx
movd   %ebx,%xmm1
movzbl 0x10(%rsi,%r14,4),%ebx
movd   %ebx,%xmm12
movzbl 0x10(%rsi,%r11,4),%ebx
mov    %r11,%r14
movd   %ebx,%xmm7
mov    0x78(%rsp),%rax
movzbl 0x10(%rsi,%rax,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%r9
movzbl 0x10(%rsi,%r9,4),%ebx
movd   %ebx,%xmm0
movzbl 0x10(%rsi,%r15,4),%ebx
movd   %ebx,%xmm15
movzbl 0x10(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x10(%rsi,%r10,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0x10(%rsi,%r8,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
movdqa 0xd0(%rsp),%xmm10
pcmpeqb %xmm10,%xmm3
movdqa 0xa0(%rsp),%xmm0
pand   %xmm3,%xmm0
pandn  %xmm4,%xmm3
por    %xmm0,%xmm3
mov    0x8(%rsp),%rdi
movdqa %xmm3,0x10(%rsp,%rdi,1)
mov    0x68(%rsp),%r8
movzbl 0x11(%rsi,%r8,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%rdi
movzbl 0x11(%rsi,%rdi,4),%ebx
movd   %ebx,%xmm14
movzbl 0x11(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm4
movzbl 0x11(%rsi,%r12,4),%ebx
movd   %ebx,%xmm6
movzbl 0x11(%rsi,%rdx,4),%ebx
mov    %rdx,%r12
movd   %ebx,%xmm8
movzbl 0x11(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm2
mov    0x40(%rsp),%rdx
movzbl 0x11(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm9
mov    0x48(%rsp),%r15
movzbl 0x11(%rsi,%r15,4),%ebx
movd   %ebx,%xmm1
mov    0x90(%rsp),%r11
movzbl 0x11(%rsi,%r11,4),%ebx
movd   %ebx,%xmm12
movzbl 0x11(%rsi,%r14,4),%ebx
movd   %ebx,%xmm7
movzbl 0x11(%rsi,%rax,4),%ebx
movd   %ebx,%xmm13
movzbl 0x11(%rsi,%r9,4),%ebx
movd   %ebx,%xmm0
mov    0xc8(%rsp),%rax
movzbl 0x11(%rsi,%rax,4),%ebx
movd   %ebx,%xmm15
movzbl 0x11(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x11(%rsi,%r10,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm4,%xmm6
mov    0x88(%rsp),%rcx
movzbl 0x11(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm4
punpcklwd %xmm14,%xmm6
punpcklbw %xmm8,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm4
punpcklwd %xmm5,%xmm4
punpckldq %xmm0,%xmm4
punpcklqdq %xmm1,%xmm4
pcmpeqb %xmm10,%xmm4
movdqa 0xa0(%rsp),%xmm8
movdqa %xmm8,%xmm0
pand   %xmm4,%xmm0
pandn  %xmm3,%xmm4
por    %xmm0,%xmm4
mov    0x8(%rsp),%rdi
movdqa %xmm4,0x10(%rsp,%rdi,1)
movzbl 0x12(%rsi,%r8,4),%ebx
movd   %ebx,%xmm11
mov    0x70(%rsp),%r8
movzbl 0x12(%rsi,%r8,4),%ebx
movd   %ebx,%xmm14
mov    0xb8(%rsp),%r9
movzbl 0x12(%rsi,%r9,4),%ebx
movd   %ebx,%xmm3
mov    0x98(%rsp),%r14
movzbl 0x12(%rsi,%r14,4),%ebx
movd   %ebx,%xmm6
movzbl 0x12(%rsi,%r12,4),%ebx
movd   %ebx,%xmm10
movzbl 0x12(%rsi,%rbp,4),%ebx
movd   %ebx,%xmm2
movzbl 0x12(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm9
movzbl 0x12(%rsi,%r15,4),%ebx
movd   %ebx,%xmm1
movzbl 0x12(%rsi,%r11,4),%ebx
movd   %ebx,%xmm12
mov    0x60(%rsp),%r15
movzbl 0x12(%rsi,%r15,4),%ebx
movd   %ebx,%xmm7
mov    0x78(%rsp),%r11
movzbl 0x12(%rsi,%r11,4),%ebx
movd   %ebx,%xmm13
mov    0x50(%rsp),%rdx
movzbl 0x12(%rsi,%rdx,4),%ebx
movd   %ebx,%xmm0
movzbl 0x12(%rsi,%rax,4),%ebx
movd   %ebx,%xmm15
movzbl 0x12(%rsi,%r13,4),%ebx
movd   %ebx,%xmm5
punpcklbw %xmm11,%xmm14
movzbl 0x12(%rsi,%r10,4),%ebx
movd   %ebx,%xmm11
punpcklbw %xmm3,%xmm6
movzbl 0x12(%rsi,%rcx,4),%ebx
movd   %ebx,%xmm3
punpcklwd %xmm14,%xmm6
punpcklbw %xmm10,%xmm2
punpcklbw %xmm9,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm12,%xmm7
punpcklbw %xmm13,%xmm0
punpcklwd %xmm7,%xmm0
punpcklbw %xmm15,%xmm5
punpcklbw %xmm11,%xmm3
punpcklwd %xmm5,%xmm3
punpckldq %xmm0,%xmm3
punpcklqdq %xmm1,%xmm3
movdqa 0xd0(%rsp),%xmm9
pcmpeqb %xmm9,%xmm3
pand   %xmm3,%xmm8
pandn  %xmm4,%xmm3
por    %xmm8,%xmm3
mov    0x8(%rsp),%rdi
movdqa %xmm3,0x10(%rsp,%rdi,1)
mov    0x68(%rsp),%rdi
movzbl 0x13(%rsi,%rdi,4),%edi
movd   %edi,%xmm11
movzbl 0x13(%rsi,%r8,4),%edi
movd   %edi,%xmm15
movzbl 0x13(%rsi,%r9,4),%edi
movd   %edi,%xmm8
movzbl 0x13(%rsi,%r14,4),%edi
movd   %edi,%xmm6
movzbl 0x13(%rsi,%r12,4),%edi
movd   %edi,%xmm10
movzbl 0x13(%rsi,%rbp,4),%edi
movd   %edi,%xmm2
mov    0x40(%rsp),%rdi
movzbl 0x13(%rsi,%rdi,4),%edi
movd   %edi,%xmm12
mov    0x48(%rsp),%rdi
movzbl 0x13(%rsi,%rdi,4),%edi
movd   %edi,%xmm1
mov    0x90(%rsp),%rdi
movzbl 0x13(%rsi,%rdi,4),%edi
movd   %edi,%xmm13
movzbl 0x13(%rsi,%r15,4),%edi
movd   %edi,%xmm0
movzbl 0x13(%rsi,%r11,4),%edi
movd   %edi,%xmm14
movzbl 0x13(%rsi,%rdx,4),%edi
movd   %edi,%xmm7
movzbl 0x13(%rsi,%rax,4),%edi
movd   %edi,%xmm5
movzbl 0x13(%rsi,%r13,4),%edi
movd   %edi,%xmm4
punpcklbw %xmm11,%xmm15
movzbl 0x13(%rsi,%r10,4),%edx
movd   %edx,%xmm11
punpcklbw %xmm8,%xmm6
movzbl 0x13(%rsi,%rcx,4),%ecx
movd   %ecx,%xmm8
mov    0x8(%rsp),%rax
punpcklwd %xmm15,%xmm6
punpcklbw %xmm10,%xmm2
punpcklbw %xmm12,%xmm1
punpcklwd %xmm2,%xmm1
punpckldq %xmm6,%xmm1
punpcklbw %xmm13,%xmm0
punpcklbw %xmm14,%xmm7
punpcklwd %xmm0,%xmm7
punpcklbw %xmm5,%xmm4
punpcklbw %xmm11,%xmm8
punpcklwd %xmm4,%xmm8
punpckldq %xmm7,%xmm8
punpcklqdq %xmm1,%xmm8
pcmpeqb %xmm9,%xmm8
movdqa 0xa0(%rsp),%xmm0
pand   %xmm8,%xmm0
pandn  %xmm3,%xmm8
por    %xmm0,%xmm8
movdqa %xmm8,0x10(%rsp,%rax,1)
add    $0x10,%rax
cmp    $0x20,%rax
jne    11b0 <strfilter+0xa0>
add    $0x31f,%rsi
xor    %eax,%eax
movdqa 0xf0(%rsp),%xmm4
nopl   0x0(%rax)
mov    0xe8(%rsp),%rcx
mov    0x20(%rcx,%rax,1),%rcx
movq   %rcx,%xmm1
mov    %rcx,0x30(%rsp,%rax,1)
movzbl -0x9f(%rsi),%ecx
movzbl -0x77(%rsi),%edx
movzbl -0x4f(%rsi),%edi
movzbl -0x27(%rsi),%ebp
movzbl -0x63(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x8b(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x3b(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x13(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm1,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x9e(%rsi),%ecx
movzbl -0x76(%rsi),%edx
movzbl -0x4e(%rsi),%edi
movzbl -0x26(%rsi),%ebp
movzbl -0x62(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x8a(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x3a(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0x12(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x9d(%rsi),%ecx
movzbl -0x75(%rsi),%edx
movzbl -0x4d(%rsi),%edi
movzbl -0x25(%rsi),%ebp
movzbl -0x61(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x89(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x39(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x11(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x9c(%rsi),%ecx
movzbl -0x74(%rsi),%edx
movzbl -0x4c(%rsi),%edi
movzbl -0x24(%rsi),%ebp
movzbl -0x60(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x88(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x38(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0x10(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x9b(%rsi),%ecx
movzbl -0x73(%rsi),%edx
movzbl -0x4b(%rsi),%edi
movzbl -0x23(%rsi),%ebp
movzbl -0x5f(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x87(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x37(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0xf(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x9a(%rsi),%ecx
movzbl -0x72(%rsi),%edx
movzbl -0x4a(%rsi),%edi
movzbl -0x22(%rsi),%ebp
movzbl -0x5e(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x86(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x36(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0xe(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x99(%rsi),%ecx
movzbl -0x71(%rsi),%edx
movzbl -0x49(%rsi),%edi
movzbl -0x21(%rsi),%ebp
movzbl -0x5d(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x85(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x35(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0xd(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x98(%rsi),%ecx
movzbl -0x70(%rsi),%edx
movzbl -0x48(%rsi),%edi
movzbl -0x20(%rsi),%ebp
movzbl -0x5c(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x84(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x34(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0xc(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x97(%rsi),%ecx
movzbl -0x6f(%rsi),%edx
movzbl -0x47(%rsi),%edi
movzbl -0x1f(%rsi),%ebp
movzbl -0x5b(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x83(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x33(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0xb(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x96(%rsi),%ecx
movzbl -0x6e(%rsi),%edx
movzbl -0x46(%rsi),%edi
movzbl -0x1e(%rsi),%ebp
movzbl -0x5a(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x82(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x32(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0xa(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x95(%rsi),%ecx
movzbl -0x6d(%rsi),%edx
movzbl -0x45(%rsi),%edi
movzbl -0x1d(%rsi),%ebp
movzbl -0x59(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x81(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x31(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x9(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x94(%rsi),%ecx
movzbl -0x6c(%rsi),%edx
movzbl -0x44(%rsi),%edi
movzbl -0x1c(%rsi),%ebp
movzbl -0x58(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x80(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x30(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0x8(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x93(%rsi),%ecx
movzbl -0x6b(%rsi),%edx
movzbl -0x43(%rsi),%edi
movzbl -0x1b(%rsi),%ebp
movzbl -0x57(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x7f(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x2f(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x7(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x92(%rsi),%ecx
movzbl -0x6a(%rsi),%edx
movzbl -0x42(%rsi),%edi
movzbl -0x1a(%rsi),%ebp
movzbl -0x56(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x7e(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x2e(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0x6(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x91(%rsi),%ecx
movzbl -0x69(%rsi),%edx
movzbl -0x41(%rsi),%edi
movzbl -0x19(%rsi),%ebp
movzbl -0x55(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x7d(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x2d(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x5(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x90(%rsi),%ecx
movzbl -0x68(%rsi),%edx
movzbl -0x40(%rsi),%edi
movzbl -0x18(%rsi),%ebp
movzbl -0x54(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x7c(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x2c(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0x4(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x8f(%rsi),%ecx
movzbl -0x67(%rsi),%edx
movzbl -0x3f(%rsi),%edi
movzbl -0x17(%rsi),%ebp
movzbl -0x53(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x7b(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x2b(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x3(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x8e(%rsi),%ecx
movzbl -0x66(%rsi),%edx
movzbl -0x3e(%rsi),%edi
movzbl -0x16(%rsi),%ebp
movzbl -0x52(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x7a(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm3
pinsrw $0x1,%ebx,%xmm3
movzbl -0x2a(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm3
movzbl -0x2(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm3
pcmpeqb %xmm1,%xmm3
movdqa %xmm4,%xmm0
pand   %xmm3,%xmm0
pandn  %xmm2,%xmm3
por    %xmm0,%xmm3
movq   %xmm3,0x30(%rsp,%rax,1)
movzbl -0x8d(%rsi),%ecx
movzbl -0x65(%rsi),%edx
movzbl -0x3d(%rsi),%edi
movzbl -0x15(%rsi),%ebp
movzbl -0x51(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x79(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm2
pinsrw $0x1,%ebx,%xmm2
movzbl -0x29(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm2
movzbl -0x1(%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm2
pcmpeqb %xmm1,%xmm2
movdqa %xmm4,%xmm0
pand   %xmm2,%xmm0
pandn  %xmm3,%xmm2
por    %xmm0,%xmm2
movq   %xmm2,0x30(%rsp,%rax,1)
movzbl -0x8c(%rsi),%ecx
movzbl -0x64(%rsi),%edx
movzbl -0x3c(%rsi),%edi
movzbl -0x14(%rsi),%ebp
movzbl -0x50(%rsi),%ebx
shl    $0x8,%ebx
or     %edx,%ebx
movzbl -0x78(%rsi),%edx
shl    $0x8,%edx
or     %ecx,%edx
movd   %edx,%xmm0
pinsrw $0x1,%ebx,%xmm0
movzbl -0x28(%rsi),%ecx
shl    $0x8,%ecx
or     %edi,%ecx
pinsrw $0x2,%ecx,%xmm0
movzbl (%rsi),%ecx
shl    $0x8,%ecx
or     %ebp,%ecx
pinsrw $0x3,%ecx,%xmm0
pcmpeqb %xmm1,%xmm0
movdqa %xmm4,%xmm1
pand   %xmm0,%xmm1
pandn  %xmm2,%xmm0
por    %xmm1,%xmm0
movq   %xmm0,0x30(%rsp,%rax,1)
add    $0x8,%rax
add    $0xa0,%rsi
cmp    $0x8,%rax
jne    2bd0 <strfilter+0x1ac0>
mov    0x2bed(%rip),%rbx
mov    (%rbx),%esi
lea    0xc04(%rip),%rdi
call   1030 <fputs@plt>
mov    (%rbx),%esi
lea    0x10(%rsp),%rdi
call   1030 <fputs@plt>
mov    (%rbx),%esi
lea    0xbf8(%rip),%rdi
call   1030 <fputs@plt>
add    $0x108,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
xor    %eax,%eax
movzbl %dl,%ecx
jmp    3528 <strfilter+0x2418>
nopw   0x0(%rax,%rax,1)
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x1(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x2(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x3(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x4(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x5(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x6(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x7(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x8(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x9(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0xa(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0xb(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0xc(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0xd(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0xe(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0xf(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x10(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x11(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x12(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
cmp    0x13(%rsi),%dl
cmove  %ecx,%edi
mov    %dil,0x10(%rsp,%rax,1)
add    $0x1,%rax
add    $0x14,%rsi
cmp    $0x28,%rax
je     33ec <strfilter+0x22dc>
mov    0xe8(%rsp),%rdx
movzbl (%rdx,%rax,1),%edx
mov    %dl,0x10(%rsp,%rax,1)
mov    %ecx,%edi
cmp    (%rsi),%dl
je     3440 <strfilter+0x2330>
mov    %edx,%edi
jmp    3440 <strfilter+0x2330>

LLVM IR (-O0):
@.str = [14 x i8] c"filtered = {\22\00"
@stdout = global i32 0
@.str.1 = [4 x i8] c"\22}\0A\00"
define void @strfilter(i8* %0, i8* %1, i8 signext %2) {
%4 = alloca i8*
%5 = alloca i8*
%6 = alloca i8
%7 = alloca i8*
%8 = alloca i8*
%9 = alloca [41 x i8]
%10 = alloca i8*
%11 = alloca i32
%12 = alloca i32
store i8* %0, i8** %4
store i8* %1, i8** %5
store i8 %2, i8* %6
%13 = load i8*, i8** %4
store i8* %13, i8** %7
%14 = load i8*, i8** %5
store i8* %14, i8** %8
%15 = bitcast [41 x i8]* %9 to i8*
%16 = getelementptr inbounds [41 x i8], [41 x i8]* %9, i64 0, i64 0
store i8* %16, i8** %10
store i32 0, i32* %11
store i32 0, i32* %12
%17 = load i32, i32* %11
br label %18
18: ; preds = %51, %3
%19 = load i32, i32* %11
%20 = icmp ult i32 %19, 40
br i1 %20, label %21, label %54
21: ; preds = %18
%22 = load i8*, i8** %7
%23 = load i8, i8* %22
%24 = load i8*, i8** %10
store i8 %23, i8* %24
%25 = load i32, i32* %12
br label %26
26: ; preds = %43, %21
%27 = load i32, i32* %12
%28 = icmp ult i32 %27, 20
br i1 %28, label %29, label %46
29: ; preds = %26
%30 = load i8*, i8** %7
%31 = load i8, i8* %30
%32 = sext i8 %31 to i32
%33 = load i8*, i8** %8
%34 = load i8, i8* %33
%35 = sext i8 %34 to i32
%36 = icmp eq i32 %32, %35
br i1 %36, label %37, label %40
37: ; preds = %29
%38 = load i8, i8* %6
%39 = load i8*, i8** %10
store i8 %38, i8* %39
br label %40
40: ; preds = %37, %29
%41 = load i8*, i8** %8
%42 = getelementptr inbounds i8, i8* %41, i32 1
store i8* %42, i8** %8
br label %43
43: ; preds = %40
%44 = load i32, i32* %12
%45 = add i32 %44, 1
store i32 %45, i32* %12
br label %26
46: ; preds = %26
%47 = load i8*, i8** %10
%48 = getelementptr inbounds i8, i8* %47, i32 1
store i8* %48, i8** %10
%49 = load i8*, i8** %7
%50 = getelementptr inbounds i8, i8* %49, i32 1
store i8* %50, i8** %7
store i32 0, i32* %12
br label %51
51: ; preds = %46
%52 = load i32, i32* %11
%53 = add i32 %52, 1
store i32 %53, i32* %11
br label %18
54: ; preds = %18
%55 = load i32, i32* @stdout
%56 = call i32 @fputs(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i64 0, i64 0), i32 %55)
%57 = getelementptr inbounds [41 x i8], [41 x i8]* %9, i64 0, i64 0
%58 = load i32, i32* @stdout
%59 = call i32 @fputs(i8* %57, i32 %58)
%60 = load i32, i32* @stdout
%61 = call i32 @fputs(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %60)
ret void
}

LLVM IR (-O2):
@.str = [14 x i8] c"filtered = {\22\00"
@stdout = global i32 0
@.str.1 = [4 x i8] c"\22}\0A\00"
define void @strfilter(i8* nocapture %0, i8* nocapture %1, i8 signext %2) {
%4 = alloca [41 x i8]
%5 = getelementptr inbounds [41 x i8], [41 x i8]* %4, i64 0, i64 0
%6 = getelementptr inbounds [41 x i8], [41 x i8]* %4, i64 0, i64 0
%7 = getelementptr inbounds [41 x i8], [41 x i8]* %4, i64 0, i64 39
%8 = getelementptr inbounds [41 x i8], [41 x i8]* %4, i64 0, i64 40
%9 = getelementptr i8, i8* %0, i64 40
%10 = getelementptr i8, i8* %1, i64 800
%11 = icmp ult i8* %5, %9
%12 = icmp ugt i8* %8, %0
%13 = and i1 %11, %12
%14 = icmp ult i8* %5, %10
%15 = icmp ugt i8* %8, %1
%16 = and i1 %14, %15
%17 = or i1 %13, %16
br i1 %17, label %1648, label %18
18: ; preds = %3
%19 = insertelement <16 x i8> poison, i8 %2, i64 0
%20 = shufflevector <16 x i8> %19, <16 x i8> poison, <16 x i32> zeroinitializer
br label %21
21: ; preds = %21, %18
%22 = phi i64 [ 0, %18 ], [ %1079, %21 ]
%23 = getelementptr [41 x i8], [41 x i8]* %4, i64 0, i64 %22
%24 = mul i64 %22, 20
%25 = getelementptr i8, i8* %1, i64 %24
%26 = or i64 %22, 1
%27 = mul i64 %26, 20
%28 = getelementptr i8, i8* %1, i64 %27
%29 = or i64 %22, 2
%30 = mul i64 %29, 20
%31 = getelementptr i8, i8* %1, i64 %30
%32 = or i64 %22, 3
%33 = mul i64 %32, 20
%34 = getelementptr i8, i8* %1, i64 %33
%35 = or i64 %22, 4
%36 = mul i64 %35, 20
%37 = getelementptr i8, i8* %1, i64 %36
%38 = or i64 %22, 5
%39 = mul i64 %38, 20
%40 = getelementptr i8, i8* %1, i64 %39
%41 = or i64 %22, 6
%42 = mul i64 %41, 20
%43 = getelementptr i8, i8* %1, i64 %42
%44 = or i64 %22, 7
%45 = mul i64 %44, 20
%46 = getelementptr i8, i8* %1, i64 %45
%47 = or i64 %22, 8
%48 = mul i64 %47, 20
%49 = getelementptr i8, i8* %1, i64 %48
%50 = or i64 %22, 9
%51 = mul i64 %50, 20
%52 = getelementptr i8, i8* %1, i64 %51
%53 = or i64 %22, 10
%54 = mul i64 %53, 20
%55 = getelementptr i8, i8* %1, i64 %54
%56 = or i64 %22, 11
%57 = mul i64 %56, 20
%58 = getelementptr i8, i8* %1, i64 %57
%59 = or i64 %22, 12
%60 = mul i64 %59, 20
%61 = getelementptr i8, i8* %1, i64 %60
%62 = or i64 %22, 13
%63 = mul i64 %62, 20
%64 = getelementptr i8, i8* %1, i64 %63
%65 = or i64 %22, 14
%66 = mul i64 %65, 20
%67 = getelementptr i8, i8* %1, i64 %66
%68 = or i64 %22, 15
%69 = mul i64 %68, 20
%70 = getelementptr i8, i8* %1, i64 %69
%71 = getelementptr i8, i8* %0, i64 %22
%72 = bitcast i8* %71 to <16 x i8>*
%73 = load <16 x i8>, <16 x i8>* %72
%74 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %73, <16 x i8>* %74
%75 = load i8, i8* %25
%76 = load i8, i8* %28
%77 = load i8, i8* %31
%78 = load i8, i8* %34
%79 = load i8, i8* %37
%80 = load i8, i8* %40
%81 = load i8, i8* %43
%82 = load i8, i8* %46
%83 = load i8, i8* %49
%84 = load i8, i8* %52
%85 = load i8, i8* %55
%86 = load i8, i8* %58
%87 = load i8, i8* %61
%88 = load i8, i8* %64
%89 = load i8, i8* %67
%90 = load i8, i8* %70
%91 = insertelement <16 x i8> poison, i8 %75, i64 0
%92 = insertelement <16 x i8> %91, i8 %76, i64 1
%93 = insertelement <16 x i8> %92, i8 %77, i64 2
%94 = insertelement <16 x i8> %93, i8 %78, i64 3
%95 = insertelement <16 x i8> %94, i8 %79, i64 4
%96 = insertelement <16 x i8> %95, i8 %80, i64 5
%97 = insertelement <16 x i8> %96, i8 %81, i64 6
%98 = insertelement <16 x i8> %97, i8 %82, i64 7
%99 = insertelement <16 x i8> %98, i8 %83, i64 8
%100 = insertelement <16 x i8> %99, i8 %84, i64 9
%101 = insertelement <16 x i8> %100, i8 %85, i64 10
%102 = insertelement <16 x i8> %101, i8 %86, i64 11
%103 = insertelement <16 x i8> %102, i8 %87, i64 12
%104 = insertelement <16 x i8> %103, i8 %88, i64 13
%105 = insertelement <16 x i8> %104, i8 %89, i64 14
%106 = insertelement <16 x i8> %105, i8 %90, i64 15
%107 = icmp eq <16 x i8> %73, %106
%108 = select <16 x i1> %107, <16 x i8> %20, <16 x i8> %73
%109 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %108, <16 x i8>* %109
%110 = getelementptr inbounds i8, i8* %25, i64 1
%111 = getelementptr inbounds i8, i8* %28, i64 1
%112 = getelementptr inbounds i8, i8* %31, i64 1
%113 = getelementptr inbounds i8, i8* %34, i64 1
%114 = getelementptr inbounds i8, i8* %37, i64 1
%115 = getelementptr inbounds i8, i8* %40, i64 1
%116 = getelementptr inbounds i8, i8* %43, i64 1
%117 = getelementptr inbounds i8, i8* %46, i64 1
%118 = getelementptr inbounds i8, i8* %49, i64 1
%119 = getelementptr inbounds i8, i8* %52, i64 1
%120 = getelementptr inbounds i8, i8* %55, i64 1
%121 = getelementptr inbounds i8, i8* %58, i64 1
%122 = getelementptr inbounds i8, i8* %61, i64 1
%123 = getelementptr inbounds i8, i8* %64, i64 1
%124 = getelementptr inbounds i8, i8* %67, i64 1
%125 = getelementptr inbounds i8, i8* %70, i64 1
%126 = load i8, i8* %110
%127 = load i8, i8* %111
%128 = load i8, i8* %112
%129 = load i8, i8* %113
%130 = load i8, i8* %114
%131 = load i8, i8* %115
%132 = load i8, i8* %116
%133 = load i8, i8* %117
%134 = load i8, i8* %118
%135 = load i8, i8* %119
%136 = load i8, i8* %120
%137 = load i8, i8* %121
%138 = load i8, i8* %122
%139 = load i8, i8* %123
%140 = load i8, i8* %124
%141 = load i8, i8* %125
%142 = insertelement <16 x i8> poison, i8 %126, i64 0
%143 = insertelement <16 x i8> %142, i8 %127, i64 1
%144 = insertelement <16 x i8> %143, i8 %128, i64 2
%145 = insertelement <16 x i8> %144, i8 %129, i64 3
%146 = insertelement <16 x i8> %145, i8 %130, i64 4
%147 = insertelement <16 x i8> %146, i8 %131, i64 5
%148 = insertelement <16 x i8> %147, i8 %132, i64 6
%149 = insertelement <16 x i8> %148, i8 %133, i64 7
%150 = insertelement <16 x i8> %149, i8 %134, i64 8
%151 = insertelement <16 x i8> %150, i8 %135, i64 9
%152 = insertelement <16 x i8> %151, i8 %136, i64 10
%153 = insertelement <16 x i8> %152, i8 %137, i64 11
%154 = insertelement <16 x i8> %153, i8 %138, i64 12
%155 = insertelement <16 x i8> %154, i8 %139, i64 13
%156 = insertelement <16 x i8> %155, i8 %140, i64 14
%157 = insertelement <16 x i8> %156, i8 %141, i64 15
%158 = icmp eq <16 x i8> %73, %157
%159 = select <16 x i1> %158, <16 x i8> %20, <16 x i8> %108
%160 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %159, <16 x i8>* %160
%161 = getelementptr inbounds i8, i8* %25, i64 2
%162 = getelementptr inbounds i8, i8* %28, i64 2
%163 = getelementptr inbounds i8, i8* %31, i64 2
%164 = getelementptr inbounds i8, i8* %34, i64 2
%165 = getelementptr inbounds i8, i8* %37, i64 2
%166 = getelementptr inbounds i8, i8* %40, i64 2
%167 = getelementptr inbounds i8, i8* %43, i64 2
%168 = getelementptr inbounds i8, i8* %46, i64 2
%169 = getelementptr inbounds i8, i8* %49, i64 2
%170 = getelementptr inbounds i8, i8* %52, i64 2
%171 = getelementptr inbounds i8, i8* %55, i64 2
%172 = getelementptr inbounds i8, i8* %58, i64 2
%173 = getelementptr inbounds i8, i8* %61, i64 2
%174 = getelementptr inbounds i8, i8* %64, i64 2
%175 = getelementptr inbounds i8, i8* %67, i64 2
%176 = getelementptr inbounds i8, i8* %70, i64 2
%177 = load i8, i8* %161
%178 = load i8, i8* %162
%179 = load i8, i8* %163
%180 = load i8, i8* %164
%181 = load i8, i8* %165
%182 = load i8, i8* %166
%183 = load i8, i8* %167
%184 = load i8, i8* %168
%185 = load i8, i8* %169
%186 = load i8, i8* %170
%187 = load i8, i8* %171
%188 = load i8, i8* %172
%189 = load i8, i8* %173
%190 = load i8, i8* %174
%191 = load i8, i8* %175
%192 = load i8, i8* %176
%193 = insertelement <16 x i8> poison, i8 %177, i64 0
%194 = insertelement <16 x i8> %193, i8 %178, i64 1
%195 = insertelement <16 x i8> %194, i8 %179, i64 2
%196 = insertelement <16 x i8> %195, i8 %180, i64 3
%197 = insertelement <16 x i8> %196, i8 %181, i64 4
%198 = insertelement <16 x i8> %197, i8 %182, i64 5
%199 = insertelement <16 x i8> %198, i8 %183, i64 6
%200 = insertelement <16 x i8> %199, i8 %184, i64 7
%201 = insertelement <16 x i8> %200, i8 %185, i64 8
%202 = insertelement <16 x i8> %201, i8 %186, i64 9
%203 = insertelement <16 x i8> %202, i8 %187, i64 10
%204 = insertelement <16 x i8> %203, i8 %188, i64 11
%205 = insertelement <16 x i8> %204, i8 %189, i64 12
%206 = insertelement <16 x i8> %205, i8 %190, i64 13
%207 = insertelement <16 x i8> %206, i8 %191, i64 14
%208 = insertelement <16 x i8> %207, i8 %192, i64 15
%209 = icmp eq <16 x i8> %73, %208
%210 = select <16 x i1> %209, <16 x i8> %20, <16 x i8> %159
%211 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %210, <16 x i8>* %211
%212 = getelementptr inbounds i8, i8* %25, i64 3
%213 = getelementptr inbounds i8, i8* %28, i64 3
%214 = getelementptr inbounds i8, i8* %31, i64 3
%215 = getelementptr inbounds i8, i8* %34, i64 3
%216 = getelementptr inbounds i8, i8* %37, i64 3
%217 = getelementptr inbounds i8, i8* %40, i64 3
%218 = getelementptr inbounds i8, i8* %43, i64 3
%219 = getelementptr inbounds i8, i8* %46, i64 3
%220 = getelementptr inbounds i8, i8* %49, i64 3
%221 = getelementptr inbounds i8, i8* %52, i64 3
%222 = getelementptr inbounds i8, i8* %55, i64 3
%223 = getelementptr inbounds i8, i8* %58, i64 3
%224 = getelementptr inbounds i8, i8* %61, i64 3
%225 = getelementptr inbounds i8, i8* %64, i64 3
%226 = getelementptr inbounds i8, i8* %67, i64 3
%227 = getelementptr inbounds i8, i8* %70, i64 3
%228 = load i8, i8* %212
%229 = load i8, i8* %213
%230 = load i8, i8* %214
%231 = load i8, i8* %215
%232 = load i8, i8* %216
%233 = load i8, i8* %217
%234 = load i8, i8* %218
%235 = load i8, i8* %219
%236 = load i8, i8* %220
%237 = load i8, i8* %221
%238 = load i8, i8* %222
%239 = load i8, i8* %223
%240 = load i8, i8* %224
%241 = load i8, i8* %225
%242 = load i8, i8* %226
%243 = load i8, i8* %227
%244 = insertelement <16 x i8> poison, i8 %228, i64 0
%245 = insertelement <16 x i8> %244, i8 %229, i64 1
%246 = insertelement <16 x i8> %245, i8 %230, i64 2
%247 = insertelement <16 x i8> %246, i8 %231, i64 3
%248 = insertelement <16 x i8> %247, i8 %232, i64 4
%249 = insertelement <16 x i8> %248, i8 %233, i64 5
%250 = insertelement <16 x i8> %249, i8 %234, i64 6
%251 = insertelement <16 x i8> %250, i8 %235, i64 7
%252 = insertelement <16 x i8> %251, i8 %236, i64 8
%253 = insertelement <16 x i8> %252, i8 %237, i64 9
%254 = insertelement <16 x i8> %253, i8 %238, i64 10
%255 = insertelement <16 x i8> %254, i8 %239, i64 11
%256 = insertelement <16 x i8> %255, i8 %240, i64 12
%257 = insertelement <16 x i8> %256, i8 %241, i64 13
%258 = insertelement <16 x i8> %257, i8 %242, i64 14
%259 = insertelement <16 x i8> %258, i8 %243, i64 15
%260 = icmp eq <16 x i8> %73, %259
%261 = select <16 x i1> %260, <16 x i8> %20, <16 x i8> %210
%262 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %261, <16 x i8>* %262
%263 = getelementptr inbounds i8, i8* %25, i64 4
%264 = getelementptr inbounds i8, i8* %28, i64 4
%265 = getelementptr inbounds i8, i8* %31, i64 4
%266 = getelementptr inbounds i8, i8* %34, i64 4
%267 = getelementptr inbounds i8, i8* %37, i64 4
%268 = getelementptr inbounds i8, i8* %40, i64 4
%269 = getelementptr inbounds i8, i8* %43, i64 4
%270 = getelementptr inbounds i8, i8* %46, i64 4
%271 = getelementptr inbounds i8, i8* %49, i64 4
%272 = getelementptr inbounds i8, i8* %52, i64 4
%273 = getelementptr inbounds i8, i8* %55, i64 4
%274 = getelementptr inbounds i8, i8* %58, i64 4
%275 = getelementptr inbounds i8, i8* %61, i64 4
%276 = getelementptr inbounds i8, i8* %64, i64 4
%277 = getelementptr inbounds i8, i8* %67, i64 4
%278 = getelementptr inbounds i8, i8* %70, i64 4
%279 = load i8, i8* %263
%280 = load i8, i8* %264
%281 = load i8, i8* %265
%282 = load i8, i8* %266
%283 = load i8, i8* %267
%284 = load i8, i8* %268
%285 = load i8, i8* %269
%286 = load i8, i8* %270
%287 = load i8, i8* %271
%288 = load i8, i8* %272
%289 = load i8, i8* %273
%290 = load i8, i8* %274
%291 = load i8, i8* %275
%292 = load i8, i8* %276
%293 = load i8, i8* %277
%294 = load i8, i8* %278
%295 = insertelement <16 x i8> poison, i8 %279, i64 0
%296 = insertelement <16 x i8> %295, i8 %280, i64 1
%297 = insertelement <16 x i8> %296, i8 %281, i64 2
%298 = insertelement <16 x i8> %297, i8 %282, i64 3
%299 = insertelement <16 x i8> %298, i8 %283, i64 4
%300 = insertelement <16 x i8> %299, i8 %284, i64 5
%301 = insertelement <16 x i8> %300, i8 %285, i64 6
%302 = insertelement <16 x i8> %301, i8 %286, i64 7
%303 = insertelement <16 x i8> %302, i8 %287, i64 8
%304 = insertelement <16 x i8> %303, i8 %288, i64 9
%305 = insertelement <16 x i8> %304, i8 %289, i64 10
%306 = insertelement <16 x i8> %305, i8 %290, i64 11
%307 = insertelement <16 x i8> %306, i8 %291, i64 12
%308 = insertelement <16 x i8> %307, i8 %292, i64 13
%309 = insertelement <16 x i8> %308, i8 %293, i64 14
%310 = insertelement <16 x i8> %309, i8 %294, i64 15
%311 = icmp eq <16 x i8> %73, %310
%312 = select <16 x i1> %311, <16 x i8> %20, <16 x i8> %261
%313 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %312, <16 x i8>* %313
%314 = getelementptr inbounds i8, i8* %25, i64 5
%315 = getelementptr inbounds i8, i8* %28, i64 5
%316 = getelementptr inbounds i8, i8* %31, i64 5
%317 = getelementptr inbounds i8, i8* %34, i64 5
%318 = getelementptr inbounds i8, i8* %37, i64 5
%319 = getelementptr inbounds i8, i8* %40, i64 5
%320 = getelementptr inbounds i8, i8* %43, i64 5
%321 = getelementptr inbounds i8, i8* %46, i64 5
%322 = getelementptr inbounds i8, i8* %49, i64 5
%323 = getelementptr inbounds i8, i8* %52, i64 5
%324 = getelementptr inbounds i8, i8* %55, i64 5
%325 = getelementptr inbounds i8, i8* %58, i64 5
%326 = getelementptr inbounds i8, i8* %61, i64 5
%327 = getelementptr inbounds i8, i8* %64, i64 5
%328 = getelementptr inbounds i8, i8* %67, i64 5
%329 = getelementptr inbounds i8, i8* %70, i64 5
%330 = load i8, i8* %314
%331 = load i8, i8* %315
%332 = load i8, i8* %316
%333 = load i8, i8* %317
%334 = load i8, i8* %318
%335 = load i8, i8* %319
%336 = load i8, i8* %320
%337 = load i8, i8* %321
%338 = load i8, i8* %322
%339 = load i8, i8* %323
%340 = load i8, i8* %324
%341 = load i8, i8* %325
%342 = load i8, i8* %326
%343 = load i8, i8* %327
%344 = load i8, i8* %328
%345 = load i8, i8* %329
%346 = insertelement <16 x i8> poison, i8 %330, i64 0
%347 = insertelement <16 x i8> %346, i8 %331, i64 1
%348 = insertelement <16 x i8> %347, i8 %332, i64 2
%349 = insertelement <16 x i8> %348, i8 %333, i64 3
%350 = insertelement <16 x i8> %349, i8 %334, i64 4
%351 = insertelement <16 x i8> %350, i8 %335, i64 5
%352 = insertelement <16 x i8> %351, i8 %336, i64 6
%353 = insertelement <16 x i8> %352, i8 %337, i64 7
%354 = insertelement <16 x i8> %353, i8 %338, i64 8
%355 = insertelement <16 x i8> %354, i8 %339, i64 9
%356 = insertelement <16 x i8> %355, i8 %340, i64 10
%357 = insertelement <16 x i8> %356, i8 %341, i64 11
%358 = insertelement <16 x i8> %357, i8 %342, i64 12
%359 = insertelement <16 x i8> %358, i8 %343, i64 13
%360 = insertelement <16 x i8> %359, i8 %344, i64 14
%361 = insertelement <16 x i8> %360, i8 %345, i64 15
%362 = icmp eq <16 x i8> %73, %361
%363 = select <16 x i1> %362, <16 x i8> %20, <16 x i8> %312
%364 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %363, <16 x i8>* %364
%365 = getelementptr inbounds i8, i8* %25, i64 6
%366 = getelementptr inbounds i8, i8* %28, i64 6
%367 = getelementptr inbounds i8, i8* %31, i64 6
%368 = getelementptr inbounds i8, i8* %34, i64 6
%369 = getelementptr inbounds i8, i8* %37, i64 6
%370 = getelementptr inbounds i8, i8* %40, i64 6
%371 = getelementptr inbounds i8, i8* %43, i64 6
%372 = getelementptr inbounds i8, i8* %46, i64 6
%373 = getelementptr inbounds i8, i8* %49, i64 6
%374 = getelementptr inbounds i8, i8* %52, i64 6
%375 = getelementptr inbounds i8, i8* %55, i64 6
%376 = getelementptr inbounds i8, i8* %58, i64 6
%377 = getelementptr inbounds i8, i8* %61, i64 6
%378 = getelementptr inbounds i8, i8* %64, i64 6
%379 = getelementptr inbounds i8, i8* %67, i64 6
%380 = getelementptr inbounds i8, i8* %70, i64 6
%381 = load i8, i8* %365
%382 = load i8, i8* %366
%383 = load i8, i8* %367
%384 = load i8, i8* %368
%385 = load i8, i8* %369
%386 = load i8, i8* %370
%387 = load i8, i8* %371
%388 = load i8, i8* %372
%389 = load i8, i8* %373
%390 = load i8, i8* %374
%391 = load i8, i8* %375
%392 = load i8, i8* %376
%393 = load i8, i8* %377
%394 = load i8, i8* %378
%395 = load i8, i8* %379
%396 = load i8, i8* %380
%397 = insertelement <16 x i8> poison, i8 %381, i64 0
%398 = insertelement <16 x i8> %397, i8 %382, i64 1
%399 = insertelement <16 x i8> %398, i8 %383, i64 2
%400 = insertelement <16 x i8> %399, i8 %384, i64 3
%401 = insertelement <16 x i8> %400, i8 %385, i64 4
%402 = insertelement <16 x i8> %401, i8 %386, i64 5
%403 = insertelement <16 x i8> %402, i8 %387, i64 6
%404 = insertelement <16 x i8> %403, i8 %388, i64 7
%405 = insertelement <16 x i8> %404, i8 %389, i64 8
%406 = insertelement <16 x i8> %405, i8 %390, i64 9
%407 = insertelement <16 x i8> %406, i8 %391, i64 10
%408 = insertelement <16 x i8> %407, i8 %392, i64 11
%409 = insertelement <16 x i8> %408, i8 %393, i64 12
%410 = insertelement <16 x i8> %409, i8 %394, i64 13
%411 = insertelement <16 x i8> %410, i8 %395, i64 14
%412 = insertelement <16 x i8> %411, i8 %396, i64 15
%413 = icmp eq <16 x i8> %73, %412
%414 = select <16 x i1> %413, <16 x i8> %20, <16 x i8> %363
%415 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %414, <16 x i8>* %415
%416 = getelementptr inbounds i8, i8* %25, i64 7
%417 = getelementptr inbounds i8, i8* %28, i64 7
%418 = getelementptr inbounds i8, i8* %31, i64 7
%419 = getelementptr inbounds i8, i8* %34, i64 7
%420 = getelementptr inbounds i8, i8* %37, i64 7
%421 = getelementptr inbounds i8, i8* %40, i64 7
%422 = getelementptr inbounds i8, i8* %43, i64 7
%423 = getelementptr inbounds i8, i8* %46, i64 7
%424 = getelementptr inbounds i8, i8* %49, i64 7
%425 = getelementptr inbounds i8, i8* %52, i64 7
%426 = getelementptr inbounds i8, i8* %55, i64 7
%427 = getelementptr inbounds i8, i8* %58, i64 7
%428 = getelementptr inbounds i8, i8* %61, i64 7
%429 = getelementptr inbounds i8, i8* %64, i64 7
%430 = getelementptr inbounds i8, i8* %67, i64 7
%431 = getelementptr inbounds i8, i8* %70, i64 7
%432 = load i8, i8* %416
%433 = load i8, i8* %417
%434 = load i8, i8* %418
%435 = load i8, i8* %419
%436 = load i8, i8* %420
%437 = load i8, i8* %421
%438 = load i8, i8* %422
%439 = load i8, i8* %423
%440 = load i8, i8* %424
%441 = load i8, i8* %425
%442 = load i8, i8* %426
%443 = load i8, i8* %427
%444 = load i8, i8* %428
%445 = load i8, i8* %429
%446 = load i8, i8* %430
%447 = load i8, i8* %431
%448 = insertelement <16 x i8> poison, i8 %432, i64 0
%449 = insertelement <16 x i8> %448, i8 %433, i64 1
%450 = insertelement <16 x i8> %449, i8 %434, i64 2
%451 = insertelement <16 x i8> %450, i8 %435, i64 3
%452 = insertelement <16 x i8> %451, i8 %436, i64 4
%453 = insertelement <16 x i8> %452, i8 %437, i64 5
%454 = insertelement <16 x i8> %453, i8 %438, i64 6
%455 = insertelement <16 x i8> %454, i8 %439, i64 7
%456 = insertelement <16 x i8> %455, i8 %440, i64 8
%457 = insertelement <16 x i8> %456, i8 %441, i64 9
%458 = insertelement <16 x i8> %457, i8 %442, i64 10
%459 = insertelement <16 x i8> %458, i8 %443, i64 11
%460 = insertelement <16 x i8> %459, i8 %444, i64 12
%461 = insertelement <16 x i8> %460, i8 %445, i64 13
%462 = insertelement <16 x i8> %461, i8 %446, i64 14
%463 = insertelement <16 x i8> %462, i8 %447, i64 15
%464 = icmp eq <16 x i8> %73, %463
%465 = select <16 x i1> %464, <16 x i8> %20, <16 x i8> %414
%466 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %465, <16 x i8>* %466
%467 = getelementptr inbounds i8, i8* %25, i64 8
%468 = getelementptr inbounds i8, i8* %28, i64 8
%469 = getelementptr inbounds i8, i8* %31, i64 8
%470 = getelementptr inbounds i8, i8* %34, i64 8
%471 = getelementptr inbounds i8, i8* %37, i64 8
%472 = getelementptr inbounds i8, i8* %40, i64 8
%473 = getelementptr inbounds i8, i8* %43, i64 8
%474 = getelementptr inbounds i8, i8* %46, i64 8
%475 = getelementptr inbounds i8, i8* %49, i64 8
%476 = getelementptr inbounds i8, i8* %52, i64 8
%477 = getelementptr inbounds i8, i8* %55, i64 8
%478 = getelementptr inbounds i8, i8* %58, i64 8
%479 = getelementptr inbounds i8, i8* %61, i64 8
%480 = getelementptr inbounds i8, i8* %64, i64 8
%481 = getelementptr inbounds i8, i8* %67, i64 8
%482 = getelementptr inbounds i8, i8* %70, i64 8
%483 = load i8, i8* %467
%484 = load i8, i8* %468
%485 = load i8, i8* %469
%486 = load i8, i8* %470
%487 = load i8, i8* %471
%488 = load i8, i8* %472
%489 = load i8, i8* %473
%490 = load i8, i8* %474
%491 = load i8, i8* %475
%492 = load i8, i8* %476
%493 = load i8, i8* %477
%494 = load i8, i8* %478
%495 = load i8, i8* %479
%496 = load i8, i8* %480
%497 = load i8, i8* %481
%498 = load i8, i8* %482
%499 = insertelement <16 x i8> poison, i8 %483, i64 0
%500 = insertelement <16 x i8> %499, i8 %484, i64 1
%501 = insertelement <16 x i8> %500, i8 %485, i64 2
%502 = insertelement <16 x i8> %501, i8 %486, i64 3
%503 = insertelement <16 x i8> %502, i8 %487, i64 4
%504 = insertelement <16 x i8> %503, i8 %488, i64 5
%505 = insertelement <16 x i8> %504, i8 %489, i64 6
%506 = insertelement <16 x i8> %505, i8 %490, i64 7
%507 = insertelement <16 x i8> %506, i8 %491, i64 8
%508 = insertelement <16 x i8> %507, i8 %492, i64 9
%509 = insertelement <16 x i8> %508, i8 %493, i64 10
%510 = insertelement <16 x i8> %509, i8 %494, i64 11
%511 = insertelement <16 x i8> %510, i8 %495, i64 12
%512 = insertelement <16 x i8> %511, i8 %496, i64 13
%513 = insertelement <16 x i8> %512, i8 %497, i64 14
%514 = insertelement <16 x i8> %513, i8 %498, i64 15
%515 = icmp eq <16 x i8> %73, %514
%516 = select <16 x i1> %515, <16 x i8> %20, <16 x i8> %465
%517 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %516, <16 x i8>* %517
%518 = getelementptr inbounds i8, i8* %25, i64 9
%519 = getelementptr inbounds i8, i8* %28, i64 9
%520 = getelementptr inbounds i8, i8* %31, i64 9
%521 = getelementptr inbounds i8, i8* %34, i64 9
%522 = getelementptr inbounds i8, i8* %37, i64 9
%523 = getelementptr inbounds i8, i8* %40, i64 9
%524 = getelementptr inbounds i8, i8* %43, i64 9
%525 = getelementptr inbounds i8, i8* %46, i64 9
%526 = getelementptr inbounds i8, i8* %49, i64 9
%527 = getelementptr inbounds i8, i8* %52, i64 9
%528 = getelementptr inbounds i8, i8* %55, i64 9
%529 = getelementptr inbounds i8, i8* %58, i64 9
%530 = getelementptr inbounds i8, i8* %61, i64 9
%531 = getelementptr inbounds i8, i8* %64, i64 9
%532 = getelementptr inbounds i8, i8* %67, i64 9
%533 = getelementptr inbounds i8, i8* %70, i64 9
%534 = load i8, i8* %518
%535 = load i8, i8* %519
%536 = load i8, i8* %520
%537 = load i8, i8* %521
%538 = load i8, i8* %522
%539 = load i8, i8* %523
%540 = load i8, i8* %524
%541 = load i8, i8* %525
%542 = load i8, i8* %526
%543 = load i8, i8* %527
%544 = load i8, i8* %528
%545 = load i8, i8* %529
%546 = load i8, i8* %530
%547 = load i8, i8* %531
%548 = load i8, i8* %532
%549 = load i8, i8* %533
%550 = insertelement <16 x i8> poison, i8 %534, i64 0
%551 = insertelement <16 x i8> %550, i8 %535, i64 1
%552 = insertelement <16 x i8> %551, i8 %536, i64 2
%553 = insertelement <16 x i8> %552, i8 %537, i64 3
%554 = insertelement <16 x i8> %553, i8 %538, i64 4
%555 = insertelement <16 x i8> %554, i8 %539, i64 5
%556 = insertelement <16 x i8> %555, i8 %540, i64 6
%557 = insertelement <16 x i8> %556, i8 %541, i64 7
%558 = insertelement <16 x i8> %557, i8 %542, i64 8
%559 = insertelement <16 x i8> %558, i8 %543, i64 9
%560 = insertelement <16 x i8> %559, i8 %544, i64 10
%561 = insertelement <16 x i8> %560, i8 %545, i64 11
%562 = insertelement <16 x i8> %561, i8 %546, i64 12
%563 = insertelement <16 x i8> %562, i8 %547, i64 13
%564 = insertelement <16 x i8> %563, i8 %548, i64 14
%565 = insertelement <16 x i8> %564, i8 %549, i64 15
%566 = icmp eq <16 x i8> %73, %565
%567 = select <16 x i1> %566, <16 x i8> %20, <16 x i8> %516
%568 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %567, <16 x i8>* %568
%569 = getelementptr inbounds i8, i8* %25, i64 10
%570 = getelementptr inbounds i8, i8* %28, i64 10
%571 = getelementptr inbounds i8, i8* %31, i64 10
%572 = getelementptr inbounds i8, i8* %34, i64 10
%573 = getelementptr inbounds i8, i8* %37, i64 10
%574 = getelementptr inbounds i8, i8* %40, i64 10
%575 = getelementptr inbounds i8, i8* %43, i64 10
%576 = getelementptr inbounds i8, i8* %46, i64 10
%577 = getelementptr inbounds i8, i8* %49, i64 10
%578 = getelementptr inbounds i8, i8* %52, i64 10
%579 = getelementptr inbounds i8, i8* %55, i64 10
%580 = getelementptr inbounds i8, i8* %58, i64 10
%581 = getelementptr inbounds i8, i8* %61, i64 10
%582 = getelementptr inbounds i8, i8* %64, i64 10
%583 = getelementptr inbounds i8, i8* %67, i64 10
%584 = getelementptr inbounds i8, i8* %70, i64 10
%585 = load i8, i8* %569
%586 = load i8, i8* %570
%587 = load i8, i8* %571
%588 = load i8, i8* %572
%589 = load i8, i8* %573
%590 = load i8, i8* %574
%591 = load i8, i8* %575
%592 = load i8, i8* %576
%593 = load i8, i8* %577
%594 = load i8, i8* %578
%595 = load i8, i8* %579
%596 = load i8, i8* %580
%597 = load i8, i8* %581
%598 = load i8, i8* %582
%599 = load i8, i8* %583
%600 = load i8, i8* %584
%601 = insertelement <16 x i8> poison, i8 %585, i64 0
%602 = insertelement <16 x i8> %601, i8 %586, i64 1
%603 = insertelement <16 x i8> %602, i8 %587, i64 2
%604 = insertelement <16 x i8> %603, i8 %588, i64 3
%605 = insertelement <16 x i8> %604, i8 %589, i64 4
%606 = insertelement <16 x i8> %605, i8 %590, i64 5
%607 = insertelement <16 x i8> %606, i8 %591, i64 6
%608 = insertelement <16 x i8> %607, i8 %592, i64 7
%609 = insertelement <16 x i8> %608, i8 %593, i64 8
%610 = insertelement <16 x i8> %609, i8 %594, i64 9
%611 = insertelement <16 x i8> %610, i8 %595, i64 10
%612 = insertelement <16 x i8> %611, i8 %596, i64 11
%613 = insertelement <16 x i8> %612, i8 %597, i64 12
%614 = insertelement <16 x i8> %613, i8 %598, i64 13
%615 = insertelement <16 x i8> %614, i8 %599, i64 14
%616 = insertelement <16 x i8> %615, i8 %600, i64 15
%617 = icmp eq <16 x i8> %73, %616
%618 = select <16 x i1> %617, <16 x i8> %20, <16 x i8> %567
%619 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %618, <16 x i8>* %619
%620 = getelementptr inbounds i8, i8* %25, i64 11
%621 = getelementptr inbounds i8, i8* %28, i64 11
%622 = getelementptr inbounds i8, i8* %31, i64 11
%623 = getelementptr inbounds i8, i8* %34, i64 11
%624 = getelementptr inbounds i8, i8* %37, i64 11
%625 = getelementptr inbounds i8, i8* %40, i64 11
%626 = getelementptr inbounds i8, i8* %43, i64 11
%627 = getelementptr inbounds i8, i8* %46, i64 11
%628 = getelementptr inbounds i8, i8* %49, i64 11
%629 = getelementptr inbounds i8, i8* %52, i64 11
%630 = getelementptr inbounds i8, i8* %55, i64 11
%631 = getelementptr inbounds i8, i8* %58, i64 11
%632 = getelementptr inbounds i8, i8* %61, i64 11
%633 = getelementptr inbounds i8, i8* %64, i64 11
%634 = getelementptr inbounds i8, i8* %67, i64 11
%635 = getelementptr inbounds i8, i8* %70, i64 11
%636 = load i8, i8* %620
%637 = load i8, i8* %621
%638 = load i8, i8* %622
%639 = load i8, i8* %623
%640 = load i8, i8* %624
%641 = load i8, i8* %625
%642 = load i8, i8* %626
%643 = load i8, i8* %627
%644 = load i8, i8* %628
%645 = load i8, i8* %629
%646 = load i8, i8* %630
%647 = load i8, i8* %631
%648 = load i8, i8* %632
%649 = load i8, i8* %633
%650 = load i8, i8* %634
%651 = load i8, i8* %635
%652 = insertelement <16 x i8> poison, i8 %636, i64 0
%653 = insertelement <16 x i8> %652, i8 %637, i64 1
%654 = insertelement <16 x i8> %653, i8 %638, i64 2
%655 = insertelement <16 x i8> %654, i8 %639, i64 3
%656 = insertelement <16 x i8> %655, i8 %640, i64 4
%657 = insertelement <16 x i8> %656, i8 %641, i64 5
%658 = insertelement <16 x i8> %657, i8 %642, i64 6
%659 = insertelement <16 x i8> %658, i8 %643, i64 7
%660 = insertelement <16 x i8> %659, i8 %644, i64 8
%661 = insertelement <16 x i8> %660, i8 %645, i64 9
%662 = insertelement <16 x i8> %661, i8 %646, i64 10
%663 = insertelement <16 x i8> %662, i8 %647, i64 11
%664 = insertelement <16 x i8> %663, i8 %648, i64 12
%665 = insertelement <16 x i8> %664, i8 %649, i64 13
%666 = insertelement <16 x i8> %665, i8 %650, i64 14
%667 = insertelement <16 x i8> %666, i8 %651, i64 15
%668 = icmp eq <16 x i8> %73, %667
%669 = select <16 x i1> %668, <16 x i8> %20, <16 x i8> %618
%670 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %669, <16 x i8>* %670
%671 = getelementptr inbounds i8, i8* %25, i64 12
%672 = getelementptr inbounds i8, i8* %28, i64 12
%673 = getelementptr inbounds i8, i8* %31, i64 12
%674 = getelementptr inbounds i8, i8* %34, i64 12
%675 = getelementptr inbounds i8, i8* %37, i64 12
%676 = getelementptr inbounds i8, i8* %40, i64 12
%677 = getelementptr inbounds i8, i8* %43, i64 12
%678 = getelementptr inbounds i8, i8* %46, i64 12
%679 = getelementptr inbounds i8, i8* %49, i64 12
%680 = getelementptr inbounds i8, i8* %52, i64 12
%681 = getelementptr inbounds i8, i8* %55, i64 12
%682 = getelementptr inbounds i8, i8* %58, i64 12
%683 = getelementptr inbounds i8, i8* %61, i64 12
%684 = getelementptr inbounds i8, i8* %64, i64 12
%685 = getelementptr inbounds i8, i8* %67, i64 12
%686 = getelementptr inbounds i8, i8* %70, i64 12
%687 = load i8, i8* %671
%688 = load i8, i8* %672
%689 = load i8, i8* %673
%690 = load i8, i8* %674
%691 = load i8, i8* %675
%692 = load i8, i8* %676
%693 = load i8, i8* %677
%694 = load i8, i8* %678
%695 = load i8, i8* %679
%696 = load i8, i8* %680
%697 = load i8, i8* %681
%698 = load i8, i8* %682
%699 = load i8, i8* %683
%700 = load i8, i8* %684
%701 = load i8, i8* %685
%702 = load i8, i8* %686
%703 = insertelement <16 x i8> poison, i8 %687, i64 0
%704 = insertelement <16 x i8> %703, i8 %688, i64 1
%705 = insertelement <16 x i8> %704, i8 %689, i64 2
%706 = insertelement <16 x i8> %705, i8 %690, i64 3
%707 = insertelement <16 x i8> %706, i8 %691, i64 4
%708 = insertelement <16 x i8> %707, i8 %692, i64 5
%709 = insertelement <16 x i8> %708, i8 %693, i64 6
%710 = insertelement <16 x i8> %709, i8 %694, i64 7
%711 = insertelement <16 x i8> %710, i8 %695, i64 8
%712 = insertelement <16 x i8> %711, i8 %696, i64 9
%713 = insertelement <16 x i8> %712, i8 %697, i64 10
%714 = insertelement <16 x i8> %713, i8 %698, i64 11
%715 = insertelement <16 x i8> %714, i8 %699, i64 12
%716 = insertelement <16 x i8> %715, i8 %700, i64 13
%717 = insertelement <16 x i8> %716, i8 %701, i64 14
%718 = insertelement <16 x i8> %717, i8 %702, i64 15
%719 = icmp eq <16 x i8> %73, %718
%720 = select <16 x i1> %719, <16 x i8> %20, <16 x i8> %669
%721 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %720, <16 x i8>* %721
%722 = getelementptr inbounds i8, i8* %25, i64 13
%723 = getelementptr inbounds i8, i8* %28, i64 13
%724 = getelementptr inbounds i8, i8* %31, i64 13
%725 = getelementptr inbounds i8, i8* %34, i64 13
%726 = getelementptr inbounds i8, i8* %37, i64 13
%727 = getelementptr inbounds i8, i8* %40, i64 13
%728 = getelementptr inbounds i8, i8* %43, i64 13
%729 = getelementptr inbounds i8, i8* %46, i64 13
%730 = getelementptr inbounds i8, i8* %49, i64 13
%731 = getelementptr inbounds i8, i8* %52, i64 13
%732 = getelementptr inbounds i8, i8* %55, i64 13
%733 = getelementptr inbounds i8, i8* %58, i64 13
%734 = getelementptr inbounds i8, i8* %61, i64 13
%735 = getelementptr inbounds i8, i8* %64, i64 13
%736 = getelementptr inbounds i8, i8* %67, i64 13
%737 = getelementptr inbounds i8, i8* %70, i64 13
%738 = load i8, i8* %722
%739 = load i8, i8* %723
%740 = load i8, i8* %724
%741 = load i8, i8* %725
%742 = load i8, i8* %726
%743 = load i8, i8* %727
%744 = load i8, i8* %728
%745 = load i8, i8* %729
%746 = load i8, i8* %730
%747 = load i8, i8* %731
%748 = load i8, i8* %732
%749 = load i8, i8* %733
%750 = load i8, i8* %734
%751 = load i8, i8* %735
%752 = load i8, i8* %736
%753 = load i8, i8* %737
%754 = insertelement <16 x i8> poison, i8 %738, i64 0
%755 = insertelement <16 x i8> %754, i8 %739, i64 1
%756 = insertelement <16 x i8> %755, i8 %740, i64 2
%757 = insertelement <16 x i8> %756, i8 %741, i64 3
%758 = insertelement <16 x i8> %757, i8 %742, i64 4
%759 = insertelement <16 x i8> %758, i8 %743, i64 5
%760 = insertelement <16 x i8> %759, i8 %744, i64 6
%761 = insertelement <16 x i8> %760, i8 %745, i64 7
%762 = insertelement <16 x i8> %761, i8 %746, i64 8
%763 = insertelement <16 x i8> %762, i8 %747, i64 9
%764 = insertelement <16 x i8> %763, i8 %748, i64 10
%765 = insertelement <16 x i8> %764, i8 %749, i64 11
%766 = insertelement <16 x i8> %765, i8 %750, i64 12
%767 = insertelement <16 x i8> %766, i8 %751, i64 13
%768 = insertelement <16 x i8> %767, i8 %752, i64 14
%769 = insertelement <16 x i8> %768, i8 %753, i64 15
%770 = icmp eq <16 x i8> %73, %769
%771 = select <16 x i1> %770, <16 x i8> %20, <16 x i8> %720
%772 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %771, <16 x i8>* %772
%773 = getelementptr inbounds i8, i8* %25, i64 14
%774 = getelementptr inbounds i8, i8* %28, i64 14
%775 = getelementptr inbounds i8, i8* %31, i64 14
%776 = getelementptr inbounds i8, i8* %34, i64 14
%777 = getelementptr inbounds i8, i8* %37, i64 14
%778 = getelementptr inbounds i8, i8* %40, i64 14
%779 = getelementptr inbounds i8, i8* %43, i64 14
%780 = getelementptr inbounds i8, i8* %46, i64 14
%781 = getelementptr inbounds i8, i8* %49, i64 14
%782 = getelementptr inbounds i8, i8* %52, i64 14
%783 = getelementptr inbounds i8, i8* %55, i64 14
%784 = getelementptr inbounds i8, i8* %58, i64 14
%785 = getelementptr inbounds i8, i8* %61, i64 14
%786 = getelementptr inbounds i8, i8* %64, i64 14
%787 = getelementptr inbounds i8, i8* %67, i64 14
%788 = getelementptr inbounds i8, i8* %70, i64 14
%789 = load i8, i8* %773
%790 = load i8, i8* %774
%791 = load i8, i8* %775
%792 = load i8, i8* %776
%793 = load i8, i8* %777
%794 = load i8, i8* %778
%795 = load i8, i8* %779
%796 = load i8, i8* %780
%797 = load i8, i8* %781
%798 = load i8, i8* %782
%799 = load i8, i8* %783
%800 = load i8, i8* %784
%801 = load i8, i8* %785
%802 = load i8, i8* %786
%803 = load i8, i8* %787
%804 = load i8, i8* %788
%805 = insertelement <16 x i8> poison, i8 %789, i64 0
%806 = insertelement <16 x i8> %805, i8 %790, i64 1
%807 = insertelement <16 x i8> %806, i8 %791, i64 2
%808 = insertelement <16 x i8> %807, i8 %792, i64 3
%809 = insertelement <16 x i8> %808, i8 %793, i64 4
%810 = insertelement <16 x i8> %809, i8 %794, i64 5
%811 = insertelement <16 x i8> %810, i8 %795, i64 6
%812 = insertelement <16 x i8> %811, i8 %796, i64 7
%813 = insertelement <16 x i8> %812, i8 %797, i64 8
%814 = insertelement <16 x i8> %813, i8 %798, i64 9
%815 = insertelement <16 x i8> %814, i8 %799, i64 10
%816 = insertelement <16 x i8> %815, i8 %800, i64 11
%817 = insertelement <16 x i8> %816, i8 %801, i64 12
%818 = insertelement <16 x i8> %817, i8 %802, i64 13
%819 = insertelement <16 x i8> %818, i8 %803, i64 14
%820 = insertelement <16 x i8> %819, i8 %804, i64 15
%821 = icmp eq <16 x i8> %73, %820
%822 = select <16 x i1> %821, <16 x i8> %20, <16 x i8> %771
%823 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %822, <16 x i8>* %823
%824 = getelementptr inbounds i8, i8* %25, i64 15
%825 = getelementptr inbounds i8, i8* %28, i64 15
%826 = getelementptr inbounds i8, i8* %31, i64 15
%827 = getelementptr inbounds i8, i8* %34, i64 15
%828 = getelementptr inbounds i8, i8* %37, i64 15
%829 = getelementptr inbounds i8, i8* %40, i64 15
%830 = getelementptr inbounds i8, i8* %43, i64 15
%831 = getelementptr inbounds i8, i8* %46, i64 15
%832 = getelementptr inbounds i8, i8* %49, i64 15
%833 = getelementptr inbounds i8, i8* %52, i64 15
%834 = getelementptr inbounds i8, i8* %55, i64 15
%835 = getelementptr inbounds i8, i8* %58, i64 15
%836 = getelementptr inbounds i8, i8* %61, i64 15
%837 = getelementptr inbounds i8, i8* %64, i64 15
%838 = getelementptr inbounds i8, i8* %67, i64 15
%839 = getelementptr inbounds i8, i8* %70, i64 15
%840 = load i8, i8* %824
%841 = load i8, i8* %825
%842 = load i8, i8* %826
%843 = load i8, i8* %827
%844 = load i8, i8* %828
%845 = load i8, i8* %829
%846 = load i8, i8* %830
%847 = load i8, i8* %831
%848 = load i8, i8* %832
%849 = load i8, i8* %833
%850 = load i8, i8* %834
%851 = load i8, i8* %835
%852 = load i8, i8* %836
%853 = load i8, i8* %837
%854 = load i8, i8* %838
%855 = load i8, i8* %839
%856 = insertelement <16 x i8> poison, i8 %840, i64 0
%857 = insertelement <16 x i8> %856, i8 %841, i64 1
%858 = insertelement <16 x i8> %857, i8 %842, i64 2
%859 = insertelement <16 x i8> %858, i8 %843, i64 3
%860 = insertelement <16 x i8> %859, i8 %844, i64 4
%861 = insertelement <16 x i8> %860, i8 %845, i64 5
%862 = insertelement <16 x i8> %861, i8 %846, i64 6
%863 = insertelement <16 x i8> %862, i8 %847, i64 7
%864 = insertelement <16 x i8> %863, i8 %848, i64 8
%865 = insertelement <16 x i8> %864, i8 %849, i64 9
%866 = insertelement <16 x i8> %865, i8 %850, i64 10
%867 = insertelement <16 x i8> %866, i8 %851, i64 11
%868 = insertelement <16 x i8> %867, i8 %852, i64 12
%869 = insertelement <16 x i8> %868, i8 %853, i64 13
%870 = insertelement <16 x i8> %869, i8 %854, i64 14
%871 = insertelement <16 x i8> %870, i8 %855, i64 15
%872 = icmp eq <16 x i8> %73, %871
%873 = select <16 x i1> %872, <16 x i8> %20, <16 x i8> %822
%874 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %873, <16 x i8>* %874
%875 = getelementptr inbounds i8, i8* %25, i64 16
%876 = getelementptr inbounds i8, i8* %28, i64 16
%877 = getelementptr inbounds i8, i8* %31, i64 16
%878 = getelementptr inbounds i8, i8* %34, i64 16
%879 = getelementptr inbounds i8, i8* %37, i64 16
%880 = getelementptr inbounds i8, i8* %40, i64 16
%881 = getelementptr inbounds i8, i8* %43, i64 16
%882 = getelementptr inbounds i8, i8* %46, i64 16
%883 = getelementptr inbounds i8, i8* %49, i64 16
%884 = getelementptr inbounds i8, i8* %52, i64 16
%885 = getelementptr inbounds i8, i8* %55, i64 16
%886 = getelementptr inbounds i8, i8* %58, i64 16
%887 = getelementptr inbounds i8, i8* %61, i64 16
%888 = getelementptr inbounds i8, i8* %64, i64 16
%889 = getelementptr inbounds i8, i8* %67, i64 16
%890 = getelementptr inbounds i8, i8* %70, i64 16
%891 = load i8, i8* %875
%892 = load i8, i8* %876
%893 = load i8, i8* %877
%894 = load i8, i8* %878
%895 = load i8, i8* %879
%896 = load i8, i8* %880
%897 = load i8, i8* %881
%898 = load i8, i8* %882
%899 = load i8, i8* %883
%900 = load i8, i8* %884
%901 = load i8, i8* %885
%902 = load i8, i8* %886
%903 = load i8, i8* %887
%904 = load i8, i8* %888
%905 = load i8, i8* %889
%906 = load i8, i8* %890
%907 = insertelement <16 x i8> poison, i8 %891, i64 0
%908 = insertelement <16 x i8> %907, i8 %892, i64 1
%909 = insertelement <16 x i8> %908, i8 %893, i64 2
%910 = insertelement <16 x i8> %909, i8 %894, i64 3
%911 = insertelement <16 x i8> %910, i8 %895, i64 4
%912 = insertelement <16 x i8> %911, i8 %896, i64 5
%913 = insertelement <16 x i8> %912, i8 %897, i64 6
%914 = insertelement <16 x i8> %913, i8 %898, i64 7
%915 = insertelement <16 x i8> %914, i8 %899, i64 8
%916 = insertelement <16 x i8> %915, i8 %900, i64 9
%917 = insertelement <16 x i8> %916, i8 %901, i64 10
%918 = insertelement <16 x i8> %917, i8 %902, i64 11
%919 = insertelement <16 x i8> %918, i8 %903, i64 12
%920 = insertelement <16 x i8> %919, i8 %904, i64 13
%921 = insertelement <16 x i8> %920, i8 %905, i64 14
%922 = insertelement <16 x i8> %921, i8 %906, i64 15
%923 = icmp eq <16 x i8> %73, %922
%924 = select <16 x i1> %923, <16 x i8> %20, <16 x i8> %873
%925 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %924, <16 x i8>* %925
%926 = getelementptr inbounds i8, i8* %25, i64 17
%927 = getelementptr inbounds i8, i8* %28, i64 17
%928 = getelementptr inbounds i8, i8* %31, i64 17
%929 = getelementptr inbounds i8, i8* %34, i64 17
%930 = getelementptr inbounds i8, i8* %37, i64 17
%931 = getelementptr inbounds i8, i8* %40, i64 17
%932 = getelementptr inbounds i8, i8* %43, i64 17
%933 = getelementptr inbounds i8, i8* %46, i64 17
%934 = getelementptr inbounds i8, i8* %49, i64 17
%935 = getelementptr inbounds i8, i8* %52, i64 17
%936 = getelementptr inbounds i8, i8* %55, i64 17
%937 = getelementptr inbounds i8, i8* %58, i64 17
%938 = getelementptr inbounds i8, i8* %61, i64 17
%939 = getelementptr inbounds i8, i8* %64, i64 17
%940 = getelementptr inbounds i8, i8* %67, i64 17
%941 = getelementptr inbounds i8, i8* %70, i64 17
%942 = load i8, i8* %926
%943 = load i8, i8* %927
%944 = load i8, i8* %928
%945 = load i8, i8* %929
%946 = load i8, i8* %930
%947 = load i8, i8* %931
%948 = load i8, i8* %932
%949 = load i8, i8* %933
%950 = load i8, i8* %934
%951 = load i8, i8* %935
%952 = load i8, i8* %936
%953 = load i8, i8* %937
%954 = load i8, i8* %938
%955 = load i8, i8* %939
%956 = load i8, i8* %940
%957 = load i8, i8* %941
%958 = insertelement <16 x i8> poison, i8 %942, i64 0
%959 = insertelement <16 x i8> %958, i8 %943, i64 1
%960 = insertelement <16 x i8> %959, i8 %944, i64 2
%961 = insertelement <16 x i8> %960, i8 %945, i64 3
%962 = insertelement <16 x i8> %961, i8 %946, i64 4
%963 = insertelement <16 x i8> %962, i8 %947, i64 5
%964 = insertelement <16 x i8> %963, i8 %948, i64 6
%965 = insertelement <16 x i8> %964, i8 %949, i64 7
%966 = insertelement <16 x i8> %965, i8 %950, i64 8
%967 = insertelement <16 x i8> %966, i8 %951, i64 9
%968 = insertelement <16 x i8> %967, i8 %952, i64 10
%969 = insertelement <16 x i8> %968, i8 %953, i64 11
%970 = insertelement <16 x i8> %969, i8 %954, i64 12
%971 = insertelement <16 x i8> %970, i8 %955, i64 13
%972 = insertelement <16 x i8> %971, i8 %956, i64 14
%973 = insertelement <16 x i8> %972, i8 %957, i64 15
%974 = icmp eq <16 x i8> %73, %973
%975 = select <16 x i1> %974, <16 x i8> %20, <16 x i8> %924
%976 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %975, <16 x i8>* %976
%977 = getelementptr inbounds i8, i8* %25, i64 18
%978 = getelementptr inbounds i8, i8* %28, i64 18
%979 = getelementptr inbounds i8, i8* %31, i64 18
%980 = getelementptr inbounds i8, i8* %34, i64 18
%981 = getelementptr inbounds i8, i8* %37, i64 18
%982 = getelementptr inbounds i8, i8* %40, i64 18
%983 = getelementptr inbounds i8, i8* %43, i64 18
%984 = getelementptr inbounds i8, i8* %46, i64 18
%985 = getelementptr inbounds i8, i8* %49, i64 18
%986 = getelementptr inbounds i8, i8* %52, i64 18
%987 = getelementptr inbounds i8, i8* %55, i64 18
%988 = getelementptr inbounds i8, i8* %58, i64 18
%989 = getelementptr inbounds i8, i8* %61, i64 18
%990 = getelementptr inbounds i8, i8* %64, i64 18
%991 = getelementptr inbounds i8, i8* %67, i64 18
%992 = getelementptr inbounds i8, i8* %70, i64 18
%993 = load i8, i8* %977
%994 = load i8, i8* %978
%995 = load i8, i8* %979
%996 = load i8, i8* %980
%997 = load i8, i8* %981
%998 = load i8, i8* %982
%999 = load i8, i8* %983
%1000 = load i8, i8* %984
%1001 = load i8, i8* %985
%1002 = load i8, i8* %986
%1003 = load i8, i8* %987
%1004 = load i8, i8* %988
%1005 = load i8, i8* %989
%1006 = load i8, i8* %990
%1007 = load i8, i8* %991
%1008 = load i8, i8* %992
%1009 = insertelement <16 x i8> poison, i8 %993, i64 0
%1010 = insertelement <16 x i8> %1009, i8 %994, i64 1
%1011 = insertelement <16 x i8> %1010, i8 %995, i64 2
%1012 = insertelement <16 x i8> %1011, i8 %996, i64 3
%1013 = insertelement <16 x i8> %1012, i8 %997, i64 4
%1014 = insertelement <16 x i8> %1013, i8 %998, i64 5
%1015 = insertelement <16 x i8> %1014, i8 %999, i64 6
%1016 = insertelement <16 x i8> %1015, i8 %1000, i64 7
%1017 = insertelement <16 x i8> %1016, i8 %1001, i64 8
%1018 = insertelement <16 x i8> %1017, i8 %1002, i64 9
%1019 = insertelement <16 x i8> %1018, i8 %1003, i64 10
%1020 = insertelement <16 x i8> %1019, i8 %1004, i64 11
%1021 = insertelement <16 x i8> %1020, i8 %1005, i64 12
%1022 = insertelement <16 x i8> %1021, i8 %1006, i64 13
%1023 = insertelement <16 x i8> %1022, i8 %1007, i64 14
%1024 = insertelement <16 x i8> %1023, i8 %1008, i64 15
%1025 = icmp eq <16 x i8> %73, %1024
%1026 = select <16 x i1> %1025, <16 x i8> %20, <16 x i8> %975
%1027 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %1026, <16 x i8>* %1027
%1028 = getelementptr inbounds i8, i8* %25, i64 19
%1029 = getelementptr inbounds i8, i8* %28, i64 19
%1030 = getelementptr inbounds i8, i8* %31, i64 19
%1031 = getelementptr inbounds i8, i8* %34, i64 19
%1032 = getelementptr inbounds i8, i8* %37, i64 19
%1033 = getelementptr inbounds i8, i8* %40, i64 19
%1034 = getelementptr inbounds i8, i8* %43, i64 19
%1035 = getelementptr inbounds i8, i8* %46, i64 19
%1036 = getelementptr inbounds i8, i8* %49, i64 19
%1037 = getelementptr inbounds i8, i8* %52, i64 19
%1038 = getelementptr inbounds i8, i8* %55, i64 19
%1039 = getelementptr inbounds i8, i8* %58, i64 19
%1040 = getelementptr inbounds i8, i8* %61, i64 19
%1041 = getelementptr inbounds i8, i8* %64, i64 19
%1042 = getelementptr inbounds i8, i8* %67, i64 19
%1043 = getelementptr inbounds i8, i8* %70, i64 19
%1044 = load i8, i8* %1028
%1045 = load i8, i8* %1029
%1046 = load i8, i8* %1030
%1047 = load i8, i8* %1031
%1048 = load i8, i8* %1032
%1049 = load i8, i8* %1033
%1050 = load i8, i8* %1034
%1051 = load i8, i8* %1035
%1052 = load i8, i8* %1036
%1053 = load i8, i8* %1037
%1054 = load i8, i8* %1038
%1055 = load i8, i8* %1039
%1056 = load i8, i8* %1040
%1057 = load i8, i8* %1041
%1058 = load i8, i8* %1042
%1059 = load i8, i8* %1043
%1060 = insertelement <16 x i8> poison, i8 %1044, i64 0
%1061 = insertelement <16 x i8> %1060, i8 %1045, i64 1
%1062 = insertelement <16 x i8> %1061, i8 %1046, i64 2
%1063 = insertelement <16 x i8> %1062, i8 %1047, i64 3
%1064 = insertelement <16 x i8> %1063, i8 %1048, i64 4
%1065 = insertelement <16 x i8> %1064, i8 %1049, i64 5
%1066 = insertelement <16 x i8> %1065, i8 %1050, i64 6
%1067 = insertelement <16 x i8> %1066, i8 %1051, i64 7
%1068 = insertelement <16 x i8> %1067, i8 %1052, i64 8
%1069 = insertelement <16 x i8> %1068, i8 %1053, i64 9
%1070 = insertelement <16 x i8> %1069, i8 %1054, i64 10
%1071 = insertelement <16 x i8> %1070, i8 %1055, i64 11
%1072 = insertelement <16 x i8> %1071, i8 %1056, i64 12
%1073 = insertelement <16 x i8> %1072, i8 %1057, i64 13
%1074 = insertelement <16 x i8> %1073, i8 %1058, i64 14
%1075 = insertelement <16 x i8> %1074, i8 %1059, i64 15
%1076 = icmp eq <16 x i8> %73, %1075
%1077 = select <16 x i1> %1076, <16 x i8> %20, <16 x i8> %1026
%1078 = bitcast i8* %23 to <16 x i8>*
store <16 x i8> %1077, <16 x i8>* %1078
%1079 = add nuw i64 %22, 16
%1080 = icmp eq i64 %1079, 32
br i1 %1080, label %1081, label %21
1081: ; preds = %21
%1082 = insertelement <8 x i8> poison, i8 %2, i64 0
%1083 = shufflevector <8 x i8> %1082, <8 x i8> poison, <8 x i32> zeroinitializer
br label %1084
1084: ; preds = %1084, %1081
%1085 = phi i64 [ 32, %1081 ], [ %1646, %1084 ]
%1086 = getelementptr [41 x i8], [41 x i8]* %4, i64 0, i64 %1085
%1087 = mul i64 %1085, 20
%1088 = getelementptr i8, i8* %1, i64 %1087
%1089 = or i64 %1085, 1
%1090 = mul i64 %1089, 20
%1091 = getelementptr i8, i8* %1, i64 %1090
%1092 = or i64 %1085, 2
%1093 = mul i64 %1092, 20
%1094 = getelementptr i8, i8* %1, i64 %1093
%1095 = or i64 %1085, 3
%1096 = mul i64 %1095, 20
%1097 = getelementptr i8, i8* %1, i64 %1096
%1098 = or i64 %1085, 4
%1099 = mul i64 %1098, 20
%1100 = getelementptr i8, i8* %1, i64 %1099
%1101 = or i64 %1085, 5
%1102 = mul i64 %1101, 20
%1103 = getelementptr i8, i8* %1, i64 %1102
%1104 = or i64 %1085, 6
%1105 = mul i64 %1104, 20
%1106 = getelementptr i8, i8* %1, i64 %1105
%1107 = or i64 %1085, 7
%1108 = mul i64 %1107, 20
%1109 = getelementptr i8, i8* %1, i64 %1108
%1110 = getelementptr i8, i8* %0, i64 %1085
%1111 = bitcast i8* %1110 to <8 x i8>*
%1112 = load <8 x i8>, <8 x i8>* %1111
%1113 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1112, <8 x i8>* %1113
%1114 = load i8, i8* %1088
%1115 = load i8, i8* %1091
%1116 = load i8, i8* %1094
%1117 = load i8, i8* %1097
%1118 = load i8, i8* %1100
%1119 = load i8, i8* %1103
%1120 = load i8, i8* %1106
%1121 = load i8, i8* %1109
%1122 = insertelement <8 x i8> poison, i8 %1114, i64 0
%1123 = insertelement <8 x i8> %1122, i8 %1115, i64 1
%1124 = insertelement <8 x i8> %1123, i8 %1116, i64 2
%1125 = insertelement <8 x i8> %1124, i8 %1117, i64 3
%1126 = insertelement <8 x i8> %1125, i8 %1118, i64 4
%1127 = insertelement <8 x i8> %1126, i8 %1119, i64 5
%1128 = insertelement <8 x i8> %1127, i8 %1120, i64 6
%1129 = insertelement <8 x i8> %1128, i8 %1121, i64 7
%1130 = icmp eq <8 x i8> %1112, %1129
%1131 = select <8 x i1> %1130, <8 x i8> %1083, <8 x i8> %1112
%1132 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1131, <8 x i8>* %1132
%1133 = getelementptr inbounds i8, i8* %1088, i64 1
%1134 = getelementptr inbounds i8, i8* %1091, i64 1
%1135 = getelementptr inbounds i8, i8* %1094, i64 1
%1136 = getelementptr inbounds i8, i8* %1097, i64 1
%1137 = getelementptr inbounds i8, i8* %1100, i64 1
%1138 = getelementptr inbounds i8, i8* %1103, i64 1
%1139 = getelementptr inbounds i8, i8* %1106, i64 1
%1140 = getelementptr inbounds i8, i8* %1109, i64 1
%1141 = load i8, i8* %1133
%1142 = load i8, i8* %1134
%1143 = load i8, i8* %1135
%1144 = load i8, i8* %1136
%1145 = load i8, i8* %1137
%1146 = load i8, i8* %1138
%1147 = load i8, i8* %1139
%1148 = load i8, i8* %1140
%1149 = insertelement <8 x i8> poison, i8 %1141, i64 0
%1150 = insertelement <8 x i8> %1149, i8 %1142, i64 1
%1151 = insertelement <8 x i8> %1150, i8 %1143, i64 2
%1152 = insertelement <8 x i8> %1151, i8 %1144, i64 3
%1153 = insertelement <8 x i8> %1152, i8 %1145, i64 4
%1154 = insertelement <8 x i8> %1153, i8 %1146, i64 5
%1155 = insertelement <8 x i8> %1154, i8 %1147, i64 6
%1156 = insertelement <8 x i8> %1155, i8 %1148, i64 7
%1157 = icmp eq <8 x i8> %1112, %1156
%1158 = select <8 x i1> %1157, <8 x i8> %1083, <8 x i8> %1131
%1159 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1158, <8 x i8>* %1159
%1160 = getelementptr inbounds i8, i8* %1088, i64 2
%1161 = getelementptr inbounds i8, i8* %1091, i64 2
%1162 = getelementptr inbounds i8, i8* %1094, i64 2
%1163 = getelementptr inbounds i8, i8* %1097, i64 2
%1164 = getelementptr inbounds i8, i8* %1100, i64 2
%1165 = getelementptr inbounds i8, i8* %1103, i64 2
%1166 = getelementptr inbounds i8, i8* %1106, i64 2
%1167 = getelementptr inbounds i8, i8* %1109, i64 2
%1168 = load i8, i8* %1160
%1169 = load i8, i8* %1161
%1170 = load i8, i8* %1162
%1171 = load i8, i8* %1163
%1172 = load i8, i8* %1164
%1173 = load i8, i8* %1165
%1174 = load i8, i8* %1166
%1175 = load i8, i8* %1167
%1176 = insertelement <8 x i8> poison, i8 %1168, i64 0
%1177 = insertelement <8 x i8> %1176, i8 %1169, i64 1
%1178 = insertelement <8 x i8> %1177, i8 %1170, i64 2
%1179 = insertelement <8 x i8> %1178, i8 %1171, i64 3
%1180 = insertelement <8 x i8> %1179, i8 %1172, i64 4
%1181 = insertelement <8 x i8> %1180, i8 %1173, i64 5
%1182 = insertelement <8 x i8> %1181, i8 %1174, i64 6
%1183 = insertelement <8 x i8> %1182, i8 %1175, i64 7
%1184 = icmp eq <8 x i8> %1112, %1183
%1185 = select <8 x i1> %1184, <8 x i8> %1083, <8 x i8> %1158
%1186 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1185, <8 x i8>* %1186
%1187 = getelementptr inbounds i8, i8* %1088, i64 3
%1188 = getelementptr inbounds i8, i8* %1091, i64 3
%1189 = getelementptr inbounds i8, i8* %1094, i64 3
%1190 = getelementptr inbounds i8, i8* %1097, i64 3
%1191 = getelementptr inbounds i8, i8* %1100, i64 3
%1192 = getelementptr inbounds i8, i8* %1103, i64 3
%1193 = getelementptr inbounds i8, i8* %1106, i64 3
%1194 = getelementptr inbounds i8, i8* %1109, i64 3
%1195 = load i8, i8* %1187
%1196 = load i8, i8* %1188
%1197 = load i8, i8* %1189
%1198 = load i8, i8* %1190
%1199 = load i8, i8* %1191
%1200 = load i8, i8* %1192
%1201 = load i8, i8* %1193
%1202 = load i8, i8* %1194
%1203 = insertelement <8 x i8> poison, i8 %1195, i64 0
%1204 = insertelement <8 x i8> %1203, i8 %1196, i64 1
%1205 = insertelement <8 x i8> %1204, i8 %1197, i64 2
%1206 = insertelement <8 x i8> %1205, i8 %1198, i64 3
%1207 = insertelement <8 x i8> %1206, i8 %1199, i64 4
%1208 = insertelement <8 x i8> %1207, i8 %1200, i64 5
%1209 = insertelement <8 x i8> %1208, i8 %1201, i64 6
%1210 = insertelement <8 x i8> %1209, i8 %1202, i64 7
%1211 = icmp eq <8 x i8> %1112, %1210
%1212 = select <8 x i1> %1211, <8 x i8> %1083, <8 x i8> %1185
%1213 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1212, <8 x i8>* %1213
%1214 = getelementptr inbounds i8, i8* %1088, i64 4
%1215 = getelementptr inbounds i8, i8* %1091, i64 4
%1216 = getelementptr inbounds i8, i8* %1094, i64 4
%1217 = getelementptr inbounds i8, i8* %1097, i64 4
%1218 = getelementptr inbounds i8, i8* %1100, i64 4
%1219 = getelementptr inbounds i8, i8* %1103, i64 4
%1220 = getelementptr inbounds i8, i8* %1106, i64 4
%1221 = getelementptr inbounds i8, i8* %1109, i64 4
%1222 = load i8, i8* %1214
%1223 = load i8, i8* %1215
%1224 = load i8, i8* %1216
%1225 = load i8, i8* %1217
%1226 = load i8, i8* %1218
%1227 = load i8, i8* %1219
%1228 = load i8, i8* %1220
%1229 = load i8, i8* %1221
%1230 = insertelement <8 x i8> poison, i8 %1222, i64 0
%1231 = insertelement <8 x i8> %1230, i8 %1223, i64 1
%1232 = insertelement <8 x i8> %1231, i8 %1224, i64 2
%1233 = insertelement <8 x i8> %1232, i8 %1225, i64 3
%1234 = insertelement <8 x i8> %1233, i8 %1226, i64 4
%1235 = insertelement <8 x i8> %1234, i8 %1227, i64 5
%1236 = insertelement <8 x i8> %1235, i8 %1228, i64 6
%1237 = insertelement <8 x i8> %1236, i8 %1229, i64 7
%1238 = icmp eq <8 x i8> %1112, %1237
%1239 = select <8 x i1> %1238, <8 x i8> %1083, <8 x i8> %1212
%1240 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1239, <8 x i8>* %1240
%1241 = getelementptr inbounds i8, i8* %1088, i64 5
%1242 = getelementptr inbounds i8, i8* %1091, i64 5
%1243 = getelementptr inbounds i8, i8* %1094, i64 5
%1244 = getelementptr inbounds i8, i8* %1097, i64 5
%1245 = getelementptr inbounds i8, i8* %1100, i64 5
%1246 = getelementptr inbounds i8, i8* %1103, i64 5
%1247 = getelementptr inbounds i8, i8* %1106, i64 5
%1248 = getelementptr inbounds i8, i8* %1109, i64 5
%1249 = load i8, i8* %1241
%1250 = load i8, i8* %1242
%1251 = load i8, i8* %1243
%1252 = load i8, i8* %1244
%1253 = load i8, i8* %1245
%1254 = load i8, i8* %1246
%1255 = load i8, i8* %1247
%1256 = load i8, i8* %1248
%1257 = insertelement <8 x i8> poison, i8 %1249, i64 0
%1258 = insertelement <8 x i8> %1257, i8 %1250, i64 1
%1259 = insertelement <8 x i8> %1258, i8 %1251, i64 2
%1260 = insertelement <8 x i8> %1259, i8 %1252, i64 3
%1261 = insertelement <8 x i8> %1260, i8 %1253, i64 4
%1262 = insertelement <8 x i8> %1261, i8 %1254, i64 5
%1263 = insertelement <8 x i8> %1262, i8 %1255, i64 6
%1264 = insertelement <8 x i8> %1263, i8 %1256, i64 7
%1265 = icmp eq <8 x i8> %1112, %1264
%1266 = select <8 x i1> %1265, <8 x i8> %1083, <8 x i8> %1239
%1267 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1266, <8 x i8>* %1267
%1268 = getelementptr inbounds i8, i8* %1088, i64 6
%1269 = getelementptr inbounds i8, i8* %1091, i64 6
%1270 = getelementptr inbounds i8, i8* %1094, i64 6
%1271 = getelementptr inbounds i8, i8* %1097, i64 6
%1272 = getelementptr inbounds i8, i8* %1100, i64 6
%1273 = getelementptr inbounds i8, i8* %1103, i64 6
%1274 = getelementptr inbounds i8, i8* %1106, i64 6
%1275 = getelementptr inbounds i8, i8* %1109, i64 6
%1276 = load i8, i8* %1268
%1277 = load i8, i8* %1269
%1278 = load i8, i8* %1270
%1279 = load i8, i8* %1271
%1280 = load i8, i8* %1272
%1281 = load i8, i8* %1273
%1282 = load i8, i8* %1274
%1283 = load i8, i8* %1275
%1284 = insertelement <8 x i8> poison, i8 %1276, i64 0
%1285 = insertelement <8 x i8> %1284, i8 %1277, i64 1
%1286 = insertelement <8 x i8> %1285, i8 %1278, i64 2
%1287 = insertelement <8 x i8> %1286, i8 %1279, i64 3
%1288 = insertelement <8 x i8> %1287, i8 %1280, i64 4
%1289 = insertelement <8 x i8> %1288, i8 %1281, i64 5
%1290 = insertelement <8 x i8> %1289, i8 %1282, i64 6
%1291 = insertelement <8 x i8> %1290, i8 %1283, i64 7
%1292 = icmp eq <8 x i8> %1112, %1291
%1293 = select <8 x i1> %1292, <8 x i8> %1083, <8 x i8> %1266
%1294 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1293, <8 x i8>* %1294
%1295 = getelementptr inbounds i8, i8* %1088, i64 7
%1296 = getelementptr inbounds i8, i8* %1091, i64 7
%1297 = getelementptr inbounds i8, i8* %1094, i64 7
%1298 = getelementptr inbounds i8, i8* %1097, i64 7
%1299 = getelementptr inbounds i8, i8* %1100, i64 7
%1300 = getelementptr inbounds i8, i8* %1103, i64 7
%1301 = getelementptr inbounds i8, i8* %1106, i64 7
%1302 = getelementptr inbounds i8, i8* %1109, i64 7
%1303 = load i8, i8* %1295
%1304 = load i8, i8* %1296
%1305 = load i8, i8* %1297
%1306 = load i8, i8* %1298
%1307 = load i8, i8* %1299
%1308 = load i8, i8* %1300
%1309 = load i8, i8* %1301
%1310 = load i8, i8* %1302
%1311 = insertelement <8 x i8> poison, i8 %1303, i64 0
%1312 = insertelement <8 x i8> %1311, i8 %1304, i64 1
%1313 = insertelement <8 x i8> %1312, i8 %1305, i64 2
%1314 = insertelement <8 x i8> %1313, i8 %1306, i64 3
%1315 = insertelement <8 x i8> %1314, i8 %1307, i64 4
%1316 = insertelement <8 x i8> %1315, i8 %1308, i64 5
%1317 = insertelement <8 x i8> %1316, i8 %1309, i64 6
%1318 = insertelement <8 x i8> %1317, i8 %1310, i64 7
%1319 = icmp eq <8 x i8> %1112, %1318
%1320 = select <8 x i1> %1319, <8 x i8> %1083, <8 x i8> %1293
%1321 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1320, <8 x i8>* %1321
%1322 = getelementptr inbounds i8, i8* %1088, i64 8
%1323 = getelementptr inbounds i8, i8* %1091, i64 8
%1324 = getelementptr inbounds i8, i8* %1094, i64 8
%1325 = getelementptr inbounds i8, i8* %1097, i64 8
%1326 = getelementptr inbounds i8, i8* %1100, i64 8
%1327 = getelementptr inbounds i8, i8* %1103, i64 8
%1328 = getelementptr inbounds i8, i8* %1106, i64 8
%1329 = getelementptr inbounds i8, i8* %1109, i64 8
%1330 = load i8, i8* %1322
%1331 = load i8, i8* %1323
%1332 = load i8, i8* %1324
%1333 = load i8, i8* %1325
%1334 = load i8, i8* %1326
%1335 = load i8, i8* %1327
%1336 = load i8, i8* %1328
%1337 = load i8, i8* %1329
%1338 = insertelement <8 x i8> poison, i8 %1330, i64 0
%1339 = insertelement <8 x i8> %1338, i8 %1331, i64 1
%1340 = insertelement <8 x i8> %1339, i8 %1332, i64 2
%1341 = insertelement <8 x i8> %1340, i8 %1333, i64 3
%1342 = insertelement <8 x i8> %1341, i8 %1334, i64 4
%1343 = insertelement <8 x i8> %1342, i8 %1335, i64 5
%1344 = insertelement <8 x i8> %1343, i8 %1336, i64 6
%1345 = insertelement <8 x i8> %1344, i8 %1337, i64 7
%1346 = icmp eq <8 x i8> %1112, %1345
%1347 = select <8 x i1> %1346, <8 x i8> %1083, <8 x i8> %1320
%1348 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1347, <8 x i8>* %1348
%1349 = getelementptr inbounds i8, i8* %1088, i64 9
%1350 = getelementptr inbounds i8, i8* %1091, i64 9
%1351 = getelementptr inbounds i8, i8* %1094, i64 9
%1352 = getelementptr inbounds i8, i8* %1097, i64 9
%1353 = getelementptr inbounds i8, i8* %1100, i64 9
%1354 = getelementptr inbounds i8, i8* %1103, i64 9
%1355 = getelementptr inbounds i8, i8* %1106, i64 9
%1356 = getelementptr inbounds i8, i8* %1109, i64 9
%1357 = load i8, i8* %1349
%1358 = load i8, i8* %1350
%1359 = load i8, i8* %1351
%1360 = load i8, i8* %1352
%1361 = load i8, i8* %1353
%1362 = load i8, i8* %1354
%1363 = load i8, i8* %1355
%1364 = load i8, i8* %1356
%1365 = insertelement <8 x i8> poison, i8 %1357, i64 0
%1366 = insertelement <8 x i8> %1365, i8 %1358, i64 1
%1367 = insertelement <8 x i8> %1366, i8 %1359, i64 2
%1368 = insertelement <8 x i8> %1367, i8 %1360, i64 3
%1369 = insertelement <8 x i8> %1368, i8 %1361, i64 4
%1370 = insertelement <8 x i8> %1369, i8 %1362, i64 5
%1371 = insertelement <8 x i8> %1370, i8 %1363, i64 6
%1372 = insertelement <8 x i8> %1371, i8 %1364, i64 7
%1373 = icmp eq <8 x i8> %1112, %1372
%1374 = select <8 x i1> %1373, <8 x i8> %1083, <8 x i8> %1347
%1375 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1374, <8 x i8>* %1375
%1376 = getelementptr inbounds i8, i8* %1088, i64 10
%1377 = getelementptr inbounds i8, i8* %1091, i64 10
%1378 = getelementptr inbounds i8, i8* %1094, i64 10
%1379 = getelementptr inbounds i8, i8* %1097, i64 10
%1380 = getelementptr inbounds i8, i8* %1100, i64 10
%1381 = getelementptr inbounds i8, i8* %1103, i64 10
%1382 = getelementptr inbounds i8, i8* %1106, i64 10
%1383 = getelementptr inbounds i8, i8* %1109, i64 10
%1384 = load i8, i8* %1376
%1385 = load i8, i8* %1377
%1386 = load i8, i8* %1378
%1387 = load i8, i8* %1379
%1388 = load i8, i8* %1380
%1389 = load i8, i8* %1381
%1390 = load i8, i8* %1382
%1391 = load i8, i8* %1383
%1392 = insertelement <8 x i8> poison, i8 %1384, i64 0
%1393 = insertelement <8 x i8> %1392, i8 %1385, i64 1
%1394 = insertelement <8 x i8> %1393, i8 %1386, i64 2
%1395 = insertelement <8 x i8> %1394, i8 %1387, i64 3
%1396 = insertelement <8 x i8> %1395, i8 %1388, i64 4
%1397 = insertelement <8 x i8> %1396, i8 %1389, i64 5
%1398 = insertelement <8 x i8> %1397, i8 %1390, i64 6
%1399 = insertelement <8 x i8> %1398, i8 %1391, i64 7
%1400 = icmp eq <8 x i8> %1112, %1399
%1401 = select <8 x i1> %1400, <8 x i8> %1083, <8 x i8> %1374
%1402 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1401, <8 x i8>* %1402
%1403 = getelementptr inbounds i8, i8* %1088, i64 11
%1404 = getelementptr inbounds i8, i8* %1091, i64 11
%1405 = getelementptr inbounds i8, i8* %1094, i64 11
%1406 = getelementptr inbounds i8, i8* %1097, i64 11
%1407 = getelementptr inbounds i8, i8* %1100, i64 11
%1408 = getelementptr inbounds i8, i8* %1103, i64 11
%1409 = getelementptr inbounds i8, i8* %1106, i64 11
%1410 = getelementptr inbounds i8, i8* %1109, i64 11
%1411 = load i8, i8* %1403
%1412 = load i8, i8* %1404
%1413 = load i8, i8* %1405
%1414 = load i8, i8* %1406
%1415 = load i8, i8* %1407
%1416 = load i8, i8* %1408
%1417 = load i8, i8* %1409
%1418 = load i8, i8* %1410
%1419 = insertelement <8 x i8> poison, i8 %1411, i64 0
%1420 = insertelement <8 x i8> %1419, i8 %1412, i64 1
%1421 = insertelement <8 x i8> %1420, i8 %1413, i64 2
%1422 = insertelement <8 x i8> %1421, i8 %1414, i64 3
%1423 = insertelement <8 x i8> %1422, i8 %1415, i64 4
%1424 = insertelement <8 x i8> %1423, i8 %1416, i64 5
%1425 = insertelement <8 x i8> %1424, i8 %1417, i64 6
%1426 = insertelement <8 x i8> %1425, i8 %1418, i64 7
%1427 = icmp eq <8 x i8> %1112, %1426
%1428 = select <8 x i1> %1427, <8 x i8> %1083, <8 x i8> %1401
%1429 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1428, <8 x i8>* %1429
%1430 = getelementptr inbounds i8, i8* %1088, i64 12
%1431 = getelementptr inbounds i8, i8* %1091, i64 12
%1432 = getelementptr inbounds i8, i8* %1094, i64 12
%1433 = getelementptr inbounds i8, i8* %1097, i64 12
%1434 = getelementptr inbounds i8, i8* %1100, i64 12
%1435 = getelementptr inbounds i8, i8* %1103, i64 12
%1436 = getelementptr inbounds i8, i8* %1106, i64 12
%1437 = getelementptr inbounds i8, i8* %1109, i64 12
%1438 = load i8, i8* %1430
%1439 = load i8, i8* %1431
%1440 = load i8, i8* %1432
%1441 = load i8, i8* %1433
%1442 = load i8, i8* %1434
%1443 = load i8, i8* %1435
%1444 = load i8, i8* %1436
%1445 = load i8, i8* %1437
%1446 = insertelement <8 x i8> poison, i8 %1438, i64 0
%1447 = insertelement <8 x i8> %1446, i8 %1439, i64 1
%1448 = insertelement <8 x i8> %1447, i8 %1440, i64 2
%1449 = insertelement <8 x i8> %1448, i8 %1441, i64 3
%1450 = insertelement <8 x i8> %1449, i8 %1442, i64 4
%1451 = insertelement <8 x i8> %1450, i8 %1443, i64 5
%1452 = insertelement <8 x i8> %1451, i8 %1444, i64 6
%1453 = insertelement <8 x i8> %1452, i8 %1445, i64 7
%1454 = icmp eq <8 x i8> %1112, %1453
%1455 = select <8 x i1> %1454, <8 x i8> %1083, <8 x i8> %1428
%1456 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1455, <8 x i8>* %1456
%1457 = getelementptr inbounds i8, i8* %1088, i64 13
%1458 = getelementptr inbounds i8, i8* %1091, i64 13
%1459 = getelementptr inbounds i8, i8* %1094, i64 13
%1460 = getelementptr inbounds i8, i8* %1097, i64 13
%1461 = getelementptr inbounds i8, i8* %1100, i64 13
%1462 = getelementptr inbounds i8, i8* %1103, i64 13
%1463 = getelementptr inbounds i8, i8* %1106, i64 13
%1464 = getelementptr inbounds i8, i8* %1109, i64 13
%1465 = load i8, i8* %1457
%1466 = load i8, i8* %1458
%1467 = load i8, i8* %1459
%1468 = load i8, i8* %1460
%1469 = load i8, i8* %1461
%1470 = load i8, i8* %1462
%1471 = load i8, i8* %1463
%1472 = load i8, i8* %1464
%1473 = insertelement <8 x i8> poison, i8 %1465, i64 0
%1474 = insertelement <8 x i8> %1473, i8 %1466, i64 1
%1475 = insertelement <8 x i8> %1474, i8 %1467, i64 2
%1476 = insertelement <8 x i8> %1475, i8 %1468, i64 3
%1477 = insertelement <8 x i8> %1476, i8 %1469, i64 4
%1478 = insertelement <8 x i8> %1477, i8 %1470, i64 5
%1479 = insertelement <8 x i8> %1478, i8 %1471, i64 6
%1480 = insertelement <8 x i8> %1479, i8 %1472, i64 7
%1481 = icmp eq <8 x i8> %1112, %1480
%1482 = select <8 x i1> %1481, <8 x i8> %1083, <8 x i8> %1455
%1483 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1482, <8 x i8>* %1483
%1484 = getelementptr inbounds i8, i8* %1088, i64 14
%1485 = getelementptr inbounds i8, i8* %1091, i64 14
%1486 = getelementptr inbounds i8, i8* %1094, i64 14
%1487 = getelementptr inbounds i8, i8* %1097, i64 14
%1488 = getelementptr inbounds i8, i8* %1100, i64 14
%1489 = getelementptr inbounds i8, i8* %1103, i64 14
%1490 = getelementptr inbounds i8, i8* %1106, i64 14
%1491 = getelementptr inbounds i8, i8* %1109, i64 14
%1492 = load i8, i8* %1484
%1493 = load i8, i8* %1485
%1494 = load i8, i8* %1486
%1495 = load i8, i8* %1487
%1496 = load i8, i8* %1488
%1497 = load i8, i8* %1489
%1498 = load i8, i8* %1490
%1499 = load i8, i8* %1491
%1500 = insertelement <8 x i8> poison, i8 %1492, i64 0
%1501 = insertelement <8 x i8> %1500, i8 %1493, i64 1
%1502 = insertelement <8 x i8> %1501, i8 %1494, i64 2
%1503 = insertelement <8 x i8> %1502, i8 %1495, i64 3
%1504 = insertelement <8 x i8> %1503, i8 %1496, i64 4
%1505 = insertelement <8 x i8> %1504, i8 %1497, i64 5
%1506 = insertelement <8 x i8> %1505, i8 %1498, i64 6
%1507 = insertelement <8 x i8> %1506, i8 %1499, i64 7
%1508 = icmp eq <8 x i8> %1112, %1507
%1509 = select <8 x i1> %1508, <8 x i8> %1083, <8 x i8> %1482
%1510 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1509, <8 x i8>* %1510
%1511 = getelementptr inbounds i8, i8* %1088, i64 15
%1512 = getelementptr inbounds i8, i8* %1091, i64 15
%1513 = getelementptr inbounds i8, i8* %1094, i64 15
%1514 = getelementptr inbounds i8, i8* %1097, i64 15
%1515 = getelementptr inbounds i8, i8* %1100, i64 15
%1516 = getelementptr inbounds i8, i8* %1103, i64 15
%1517 = getelementptr inbounds i8, i8* %1106, i64 15
%1518 = getelementptr inbounds i8, i8* %1109, i64 15
%1519 = load i8, i8* %1511
%1520 = load i8, i8* %1512
%1521 = load i8, i8* %1513
%1522 = load i8, i8* %1514
%1523 = load i8, i8* %1515
%1524 = load i8, i8* %1516
%1525 = load i8, i8* %1517
%1526 = load i8, i8* %1518
%1527 = insertelement <8 x i8> poison, i8 %1519, i64 0
%1528 = insertelement <8 x i8> %1527, i8 %1520, i64 1
%1529 = insertelement <8 x i8> %1528, i8 %1521, i64 2
%1530 = insertelement <8 x i8> %1529, i8 %1522, i64 3
%1531 = insertelement <8 x i8> %1530, i8 %1523, i64 4
%1532 = insertelement <8 x i8> %1531, i8 %1524, i64 5
%1533 = insertelement <8 x i8> %1532, i8 %1525, i64 6
%1534 = insertelement <8 x i8> %1533, i8 %1526, i64 7
%1535 = icmp eq <8 x i8> %1112, %1534
%1536 = select <8 x i1> %1535, <8 x i8> %1083, <8 x i8> %1509
%1537 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1536, <8 x i8>* %1537
%1538 = getelementptr inbounds i8, i8* %1088, i64 16
%1539 = getelementptr inbounds i8, i8* %1091, i64 16
%1540 = getelementptr inbounds i8, i8* %1094, i64 16
%1541 = getelementptr inbounds i8, i8* %1097, i64 16
%1542 = getelementptr inbounds i8, i8* %1100, i64 16
%1543 = getelementptr inbounds i8, i8* %1103, i64 16
%1544 = getelementptr inbounds i8, i8* %1106, i64 16
%1545 = getelementptr inbounds i8, i8* %1109, i64 16
%1546 = load i8, i8* %1538
%1547 = load i8, i8* %1539
%1548 = load i8, i8* %1540
%1549 = load i8, i8* %1541
%1550 = load i8, i8* %1542
%1551 = load i8, i8* %1543
%1552 = load i8, i8* %1544
%1553 = load i8, i8* %1545
%1554 = insertelement <8 x i8> poison, i8 %1546, i64 0
%1555 = insertelement <8 x i8> %1554, i8 %1547, i64 1
%1556 = insertelement <8 x i8> %1555, i8 %1548, i64 2
%1557 = insertelement <8 x i8> %1556, i8 %1549, i64 3
%1558 = insertelement <8 x i8> %1557, i8 %1550, i64 4
%1559 = insertelement <8 x i8> %1558, i8 %1551, i64 5
%1560 = insertelement <8 x i8> %1559, i8 %1552, i64 6
%1561 = insertelement <8 x i8> %1560, i8 %1553, i64 7
%1562 = icmp eq <8 x i8> %1112, %1561
%1563 = select <8 x i1> %1562, <8 x i8> %1083, <8 x i8> %1536
%1564 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1563, <8 x i8>* %1564
%1565 = getelementptr inbounds i8, i8* %1088, i64 17
%1566 = getelementptr inbounds i8, i8* %1091, i64 17
%1567 = getelementptr inbounds i8, i8* %1094, i64 17
%1568 = getelementptr inbounds i8, i8* %1097, i64 17
%1569 = getelementptr inbounds i8, i8* %1100, i64 17
%1570 = getelementptr inbounds i8, i8* %1103, i64 17
%1571 = getelementptr inbounds i8, i8* %1106, i64 17
%1572 = getelementptr inbounds i8, i8* %1109, i64 17
%1573 = load i8, i8* %1565
%1574 = load i8, i8* %1566
%1575 = load i8, i8* %1567
%1576 = load i8, i8* %1568
%1577 = load i8, i8* %1569
%1578 = load i8, i8* %1570
%1579 = load i8, i8* %1571
%1580 = load i8, i8* %1572
%1581 = insertelement <8 x i8> poison, i8 %1573, i64 0
%1582 = insertelement <8 x i8> %1581, i8 %1574, i64 1
%1583 = insertelement <8 x i8> %1582, i8 %1575, i64 2
%1584 = insertelement <8 x i8> %1583, i8 %1576, i64 3
%1585 = insertelement <8 x i8> %1584, i8 %1577, i64 4
%1586 = insertelement <8 x i8> %1585, i8 %1578, i64 5
%1587 = insertelement <8 x i8> %1586, i8 %1579, i64 6
%1588 = insertelement <8 x i8> %1587, i8 %1580, i64 7
%1589 = icmp eq <8 x i8> %1112, %1588
%1590 = select <8 x i1> %1589, <8 x i8> %1083, <8 x i8> %1563
%1591 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1590, <8 x i8>* %1591
%1592 = getelementptr inbounds i8, i8* %1088, i64 18
%1593 = getelementptr inbounds i8, i8* %1091, i64 18
%1594 = getelementptr inbounds i8, i8* %1094, i64 18
%1595 = getelementptr inbounds i8, i8* %1097, i64 18
%1596 = getelementptr inbounds i8, i8* %1100, i64 18
%1597 = getelementptr inbounds i8, i8* %1103, i64 18
%1598 = getelementptr inbounds i8, i8* %1106, i64 18
%1599 = getelementptr inbounds i8, i8* %1109, i64 18
%1600 = load i8, i8* %1592
%1601 = load i8, i8* %1593
%1602 = load i8, i8* %1594
%1603 = load i8, i8* %1595
%1604 = load i8, i8* %1596
%1605 = load i8, i8* %1597
%1606 = load i8, i8* %1598
%1607 = load i8, i8* %1599
%1608 = insertelement <8 x i8> poison, i8 %1600, i64 0
%1609 = insertelement <8 x i8> %1608, i8 %1601, i64 1
%1610 = insertelement <8 x i8> %1609, i8 %1602, i64 2
%1611 = insertelement <8 x i8> %1610, i8 %1603, i64 3
%1612 = insertelement <8 x i8> %1611, i8 %1604, i64 4
%1613 = insertelement <8 x i8> %1612, i8 %1605, i64 5
%1614 = insertelement <8 x i8> %1613, i8 %1606, i64 6
%1615 = insertelement <8 x i8> %1614, i8 %1607, i64 7
%1616 = icmp eq <8 x i8> %1112, %1615
%1617 = select <8 x i1> %1616, <8 x i8> %1083, <8 x i8> %1590
%1618 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1617, <8 x i8>* %1618
%1619 = getelementptr inbounds i8, i8* %1088, i64 19
%1620 = getelementptr inbounds i8, i8* %1091, i64 19
%1621 = getelementptr inbounds i8, i8* %1094, i64 19
%1622 = getelementptr inbounds i8, i8* %1097, i64 19
%1623 = getelementptr inbounds i8, i8* %1100, i64 19
%1624 = getelementptr inbounds i8, i8* %1103, i64 19
%1625 = getelementptr inbounds i8, i8* %1106, i64 19
%1626 = getelementptr inbounds i8, i8* %1109, i64 19
%1627 = load i8, i8* %1619
%1628 = load i8, i8* %1620
%1629 = load i8, i8* %1621
%1630 = load i8, i8* %1622
%1631 = load i8, i8* %1623
%1632 = load i8, i8* %1624
%1633 = load i8, i8* %1625
%1634 = load i8, i8* %1626
%1635 = insertelement <8 x i8> poison, i8 %1627, i64 0
%1636 = insertelement <8 x i8> %1635, i8 %1628, i64 1
%1637 = insertelement <8 x i8> %1636, i8 %1629, i64 2
%1638 = insertelement <8 x i8> %1637, i8 %1630, i64 3
%1639 = insertelement <8 x i8> %1638, i8 %1631, i64 4
%1640 = insertelement <8 x i8> %1639, i8 %1632, i64 5
%1641 = insertelement <8 x i8> %1640, i8 %1633, i64 6
%1642 = insertelement <8 x i8> %1641, i8 %1634, i64 7
%1643 = icmp eq <8 x i8> %1112, %1642
%1644 = select <8 x i1> %1643, <8 x i8> %1083, <8 x i8> %1617
%1645 = bitcast i8* %1086 to <8 x i8>*
store <8 x i8> %1644, <8 x i8>* %1645
%1646 = add nuw i64 %1085, 8
%1647 = icmp eq i64 %1646, 40
br i1 %1647, label %1736, label %1084
1648: ; preds = %3, %1648
%1649 = phi i8* [ %1733, %1648 ], [ %6, %3 ]
%1650 = phi i8* [ %1732, %1648 ], [ %1, %3 ]
%1651 = phi i8* [ %1734, %1648 ], [ %0, %3 ]
%1652 = load i8, i8* %1651
store i8 %1652, i8* %1649
%1653 = load i8, i8* %1650
%1654 = icmp eq i8 %1652, %1653
%1655 = select i1 %1654, i8 %2, i8 %1652
store i8 %1655, i8* %1649
%1656 = getelementptr inbounds i8, i8* %1650, i64 1
%1657 = load i8, i8* %1656
%1658 = icmp eq i8 %1652, %1657
%1659 = select i1 %1658, i8 %2, i8 %1655
store i8 %1659, i8* %1649
%1660 = getelementptr inbounds i8, i8* %1650, i64 2
%1661 = load i8, i8* %1660
%1662 = icmp eq i8 %1652, %1661
%1663 = select i1 %1662, i8 %2, i8 %1659
store i8 %1663, i8* %1649
%1664 = getelementptr inbounds i8, i8* %1650, i64 3
%1665 = load i8, i8* %1664
%1666 = icmp eq i8 %1652, %1665
%1667 = select i1 %1666, i8 %2, i8 %1663
store i8 %1667, i8* %1649
%1668 = getelementptr inbounds i8, i8* %1650, i64 4
%1669 = load i8, i8* %1668
%1670 = icmp eq i8 %1652, %1669
%1671 = select i1 %1670, i8 %2, i8 %1667
store i8 %1671, i8* %1649
%1672 = getelementptr inbounds i8, i8* %1650, i64 5
%1673 = load i8, i8* %1672
%1674 = icmp eq i8 %1652, %1673
%1675 = select i1 %1674, i8 %2, i8 %1671
store i8 %1675, i8* %1649
%1676 = getelementptr inbounds i8, i8* %1650, i64 6
%1677 = load i8, i8* %1676
%1678 = icmp eq i8 %1652, %1677
%1679 = select i1 %1678, i8 %2, i8 %1675
store i8 %1679, i8* %1649
%1680 = getelementptr inbounds i8, i8* %1650, i64 7
%1681 = load i8, i8* %1680
%1682 = icmp eq i8 %1652, %1681
%1683 = select i1 %1682, i8 %2, i8 %1679
store i8 %1683, i8* %1649
%1684 = getelementptr inbounds i8, i8* %1650, i64 8
%1685 = load i8, i8* %1684
%1686 = icmp eq i8 %1652, %1685
%1687 = select i1 %1686, i8 %2, i8 %1683
store i8 %1687, i8* %1649
%1688 = getelementptr inbounds i8, i8* %1650, i64 9
%1689 = load i8, i8* %1688
%1690 = icmp eq i8 %1652, %1689
%1691 = select i1 %1690, i8 %2, i8 %1687
store i8 %1691, i8* %1649
%1692 = getelementptr inbounds i8, i8* %1650, i64 10
%1693 = load i8, i8* %1692
%1694 = icmp eq i8 %1652, %1693
%1695 = select i1 %1694, i8 %2, i8 %1691
store i8 %1695, i8* %1649
%1696 = getelementptr inbounds i8, i8* %1650, i64 11
%1697 = load i8, i8* %1696
%1698 = icmp eq i8 %1652, %1697
%1699 = select i1 %1698, i8 %2, i8 %1695
store i8 %1699, i8* %1649
%1700 = getelementptr inbounds i8, i8* %1650, i64 12
%1701 = load i8, i8* %1700
%1702 = icmp eq i8 %1652, %1701
%1703 = select i1 %1702, i8 %2, i8 %1699
store i8 %1703, i8* %1649
%1704 = getelementptr inbounds i8, i8* %1650, i64 13
%1705 = load i8, i8* %1704
%1706 = icmp eq i8 %1652, %1705
%1707 = select i1 %1706, i8 %2, i8 %1703
store i8 %1707, i8* %1649
%1708 = getelementptr inbounds i8, i8* %1650, i64 14
%1709 = load i8, i8* %1708
%1710 = icmp eq i8 %1652, %1709
%1711 = select i1 %1710, i8 %2, i8 %1707
store i8 %1711, i8* %1649
%1712 = getelementptr inbounds i8, i8* %1650, i64 15
%1713 = load i8, i8* %1712
%1714 = icmp eq i8 %1652, %1713
%1715 = select i1 %1714, i8 %2, i8 %1711
store i8 %1715, i8* %1649
%1716 = getelementptr inbounds i8, i8* %1650, i64 16
%1717 = load i8, i8* %1716
%1718 = icmp eq i8 %1652, %1717
%1719 = select i1 %1718, i8 %2, i8 %1715
store i8 %1719, i8* %1649
%1720 = getelementptr inbounds i8, i8* %1650, i64 17
%1721 = load i8, i8* %1720
%1722 = icmp eq i8 %1652, %1721
%1723 = select i1 %1722, i8 %2, i8 %1719
store i8 %1723, i8* %1649
%1724 = getelementptr inbounds i8, i8* %1650, i64 18
%1725 = load i8, i8* %1724
%1726 = icmp eq i8 %1652, %1725
%1727 = select i1 %1726, i8 %2, i8 %1723
store i8 %1727, i8* %1649
%1728 = getelementptr inbounds i8, i8* %1650, i64 19
%1729 = load i8, i8* %1728
%1730 = icmp eq i8 %1652, %1729
%1731 = select i1 %1730, i8 %2, i8 %1727
store i8 %1731, i8* %1649
%1732 = getelementptr i8, i8* %1650, i64 20
%1733 = getelementptr inbounds i8, i8* %1649, i64 1
%1734 = getelementptr inbounds i8, i8* %1651, i64 1
%1735 = icmp eq i8* %1649, %7
br i1 %1735, label %1736, label %1648
1736: ; preds = %1084, %1648
%1737 = load i32, i32* @stdout
%1738 = tail call i32 @fputs(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i64 0, i64 0), i32 %1737)
%1739 = load i32, i32* @stdout
%1740 = call i32 @fputs(i8* %6, i32 %1739)
%1741 = load i32, i32* @stdout
%1742 = call i32 @fputs(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i32 %1741)
ret void
}