user: Demonstrate the C code that generates the assembly output below:

```asm
<IntegerPacker_16>:
  endbr64
  cmp    $0x10,%edx
  jg     L38
  cmp    %ecx,%edx
  jl     L38
  push   %r15
  lea    0x1f(%r9),%eax
  mov    %r9d,%r11d
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x2f0,%rsp
  test   %r9d,%r9d
  cmovns %r9d,%eax
  sar    $0x1f,%r11d
  shr    $0x1b,%r11d
  sar    $0x5,%eax
  add    %r11d,%r9d
  cltq
  and    $0x1f,%r9d
  lea    (%rdi,%rax,4),%r10
  mov    $0xffffffff,%eax
  sub    %r9d,%r11d
  shl    %cl,%eax
  lea    0x20(%r11),%edi
  not    %eax
  movd   %eax,%xmm2
  pshufd $0xe0,%xmm2,%xmm11
  test   %r11d,%r11d
  je     L0
  xor    %r9d,%r9d
  cmp    $0x1f,%edi
  jg     L174
  mov    (%r10),%r9d
  mov    %edi,%ecx
  shr    %cl,%r9d
L174:
  cmp    $0x1,%r8d
  jle    L258
  sub    $0x2,%r8d
  mov    %r8d,%r12d
  shr    %r12d
  lea    0x1(%r12),%ecx
  lea    (%rsi,%rcx,4),%rbp
  nopl   0x0(%rax)
L591:
  movzwl (%rsi),%ebx
  mov    %edi,%r11d
  mov    %edx,%ecx
  shl    %cl,%r9
  sub    %edx,%r11d
  and    %eax,%ebx
  movzwl %bx,%ebx
  or     %rbx,%r9
  test   %r11d,%r11d
  jg     L71
  mov    %edx,%ecx
  sub    %edi,%ecx
  mov    %r9,%rdi
  shr    %cl,%rdi
  test   %r11d,%r11d
  cmovne %rdi,%r9
  add    $0x20,%r11d
  add    $0x4,%r10
  mov    %r9d,-0x4(%r10)
  mov    %rbx,%r9
L71:
  movzwl 0x2(%rsi),%ebx
  mov    %r11d,%edi
  mov    %edx,%ecx
  add    $0x4,%rsi
  shl    %cl,%r9
  sub    %edx,%edi
  and    %eax,%ebx
  movzwl %bx,%ebx
  or     %rbx,%r9
  test   %edi,%edi
  jg     L60
  mov    %edx,%ecx
  mov    %r9,%r15
  sub    %r11d,%ecx
  shr    %cl,%r15
  test   %edi,%edi
  cmovne %r15,%r9
  add    $0x20,%edi
  add    $0x4,%r10
  mov    %r9d,-0x4(%r10)
  mov    %rbx,%r9
L60:
  cmp    %rbp,%rsi
  jne    L591
  neg    %r12d
  lea    (%r8,%r12,2),%r8d
L598:
  mov    %edi,%esi
  cmp    $0x1,%r8d
  jne    L32
  mov    %edx,%ecx
  and    0x0(%rbp),%ax
  sub    %edx,%esi
  shl    %cl,%r9
  movzwl %ax,%eax
  or     %rax,%r9
  test   %esi,%esi
  jg     L32
  sub    %edi,%edx
  mov    %r9,%rdi
  mov    %edx,%ecx
  shr    %cl,%rdi
  test   %esi,%esi
  cmovne %rdi,%r9
  add    $0x20,%esi
  add    $0x4,%r10
  mov    %r9d,-0x4(%r10)
  mov    %rax,%r9
L32:
  cmp    $0x1f,%esi
  jg     L634
  mov    %esi,%ecx
  shl    %cl,%r9
  mov    %r9d,(%r10)
L634:
  add    $0x2f0,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  xchg   %ax,%ax
L0:
  cmp    $0x10,%edx
  je     L224
  cmp    $0xc,%edx
  jne    L349
  cmp    $0x7,%r8d
  jle    L291
  lea    -0x8(%r8),%r11d
  mov    %rsi,%r9
  mov    %r11d,%r12d
  shr    $0x3,%r12d
  lea    0x1(%r12),%ebp
  lea    0x0(%rbp,%rbp,2),%rcx
  lea    (%r10,%rcx,4),%rbx
  nopl   0x0(%rax,%rax,1)
L585:
  movzwl (%r9),%r8d
  movzwl 0x2(%r9),%r14d
  add    $0x10,%r9
  add    $0xc,%r10
  movzwl -0xc(%r9),%r13d
  movzwl -0x6(%r9),%ecx
  and    %eax,%r8d
  and    %eax,%r14d
  shl    $0x8,%r14d
  and    %eax,%r13d
  shl    $0x14,%r8d
  and    %eax,%ecx
  or     %r14d,%r8d
  mov    %r13d,%r14d
  shl    $0x1c,%r13d
  shr    $0x4,%r14d
  or     %r14d,%r8d
  movzwl -0xa(%r9),%r14d
  movd   %r8d,%xmm0
  movzwl -0x4(%r9),%r8d
  and    %eax,%r14d
  shl    $0x10,%r14d
  and    %eax,%r8d
  or     %r14d,%r13d
  movzwl -0x8(%r9),%r14d
  shl    $0xc,%r8d
  and    %eax,%r14d
  shl    $0x4,%r14d
  or     %r14d,%r13d
  mov    %ecx,%r14d
  shl    $0x18,%ecx
  shr    $0x8,%r14d
  or     %r8d,%ecx
  movzwl -0x2(%r9),%r8d
  or     %r14d,%r13d
  movd   %r13d,%xmm2
  and    %eax,%r8d
  punpckldq %xmm2,%xmm0
  or     %r8d,%ecx
  movq   %xmm0,-0xc(%r10)
  mov    %ecx,-0x4(%r10)
  cmp    %r10,%rbx
  jne    L585
  shl    $0x4,%rbp
  neg    %r12d
  add    %rbp,%rsi
  lea    (%r11,%r12,8),%r8d
  nopl   0x0(%rax,%rax,1)
L291:
  xor    %r9d,%r9d
  jmp    L174
L38:
  ret
  nopl   0x0(%rax)
L224:
  cmp    $0x3,%r8d
  jle    L291
  lea    -0x4(%r8),%r12d
  mov    %r12d,%ebp
  shr    $0x2,%ebp
  lea    0x1(%rbp),%r11d
  cmp    $0xb,%r12d
  jbe    L605
  mov    %r11d,%r13d
  movd   %eax,%xmm4
  mov    %rsi,%rcx
  mov    %r10,%r9
  shr    $0x2,%r13d
  punpcklwd %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  sub    $0x1,%r13d
  pshufd $0x0,%xmm4,%xmm4
  shl    $0x5,%r13
  lea    0x20(%rsi,%r13,1),%r13
  nopl   0x0(%rax)
L283:
  movdqu (%rcx),%xmm1
  movdqu 0x10(%rcx),%xmm5
  add    $0x20,%rcx
  add    $0x20,%r9
  movdqa %xmm1,%xmm0
  movdqa %xmm1,%xmm2
  punpcklwd %xmm5,%xmm1
  punpcklwd %xmm5,%xmm0
  punpckhwd %xmm5,%xmm2
  movdqa %xmm0,%xmm6
  punpcklwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm1
  punpckhwd %xmm2,%xmm6
  punpcklwd %xmm6,%xmm0
  punpckhwd %xmm6,%xmm1
  pand   %xmm4,%xmm0
  pand   %xmm4,%xmm1
  movdqa %xmm0,%xmm2
  movdqa %xmm1,%xmm5
  punpckhwd %xmm3,%xmm0
  punpcklwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  punpckhwd %xmm3,%xmm1
  pslld  $0x10,%xmm2
  pslld  $0x10,%xmm0
  por    %xmm5,%xmm2
  por    %xmm1,%xmm0
  movups %xmm2,-0x20(%r9)
  movups %xmm0,-0x10(%r9)
  cmp    %rcx,%r13
  jne    L283
  mov    %r11d,%r13d
  and    $0xfffffffc,%r13d
  mov    %r13d,%ecx
  neg    %ecx
  lea    (%r8,%rcx,4),%r8d
  mov    %r13d,%ecx
  shl    $0x3,%rcx
  lea    (%r10,%rcx,1),%r9
  add    %rsi,%rcx
  cmp    %r13d,%r11d
  je     L232
L110:
  movzwl (%rcx),%ebx
  movzwl 0x4(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x2(%rcx),%ebx
  movzwl 0x6(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  pand   %xmm11,%xmm0
  punpckldq %xmm2,%xmm1
  pslld  $0x10,%xmm0
  lea    -0x4(%r8),%r13d
  pand   %xmm11,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,(%r9)
  cmp    $0x3,%r13d
  jle    L232
  movzwl 0x8(%rcx),%ebx
  movzwl 0xc(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0xa(%rcx),%ebx
  movzwl 0xe(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  pand   %xmm11,%xmm0
  punpckldq %xmm2,%xmm1
  pslld  $0x10,%xmm0
  pand   %xmm11,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x8(%r9)
  cmp    $0xb,%r8d
  jle    L232
  movzwl 0x10(%rcx),%ebx
  movzwl 0x14(%rcx),%r8d
  movd   %ebx,%xmm0
  movzwl 0x12(%rcx),%ebx
  movzwl 0x16(%rcx),%ecx
  movd   %r8d,%xmm2
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %ecx,%xmm2
  pand   %xmm11,%xmm0
  punpckldq %xmm2,%xmm1
  pslld  $0x10,%xmm0
  pand   %xmm11,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x10(%r9)
L232:
  mov    %r11d,%ecx
  neg    %ebp
  shl    $0x3,%rcx
  lea    (%r12,%rbp,4),%r8d
  add    %rcx,%rsi
  add    %rcx,%r10
  jmp    L291
  nopl   0x0(%rax)
L349:
  cmp    $0x8,%edx
  jne    L130
  cmp    $0x7,%r8d
  jle    L291
  lea    -0x8(%r8),%r11d
  mov    %r11d,%r12d
  shr    $0x3,%r12d
  lea    0x1(%r12),%ebp
  cmp    $0x37,%r11d
  jbe    L183
  mov    %ebp,%r13d
  movd   %eax,%xmm0
  mov    %rsi,%rcx
  mov    %r10,%r9
  shr    $0x3,%r13d
  punpcklwd %xmm0,%xmm0
  pxor   %xmm12,%xmm12
  sub    $0x1,%r13d
  pshufd $0x0,%xmm0,%xmm13
  movq   %xmm11,%rbx
  shl    $0x7,%r13
  lea    0x80(%rsi,%r13,1),%r13
  nopw   0x0(%rax,%rax,1)
L237:
  movdqu (%rcx),%xmm1
  movdqu 0x10(%rcx),%xmm8
  sub    $0xffffffffffffff80,%rcx
  add    $0x40,%r9
  movdqu -0x60(%rcx),%xmm7
  movdqu -0x50(%rcx),%xmm5
  movdqa %xmm1,%xmm0
  movdqa %xmm1,%xmm2
  movdqu -0x40(%rcx),%xmm6
  punpcklwd %xmm8,%xmm1
  punpcklwd %xmm8,%xmm0
  punpckhwd %xmm8,%xmm2
  movdqa %xmm7,%xmm8
  movdqu -0x30(%rcx),%xmm3
  movdqa %xmm0,%xmm10
  punpcklwd %xmm5,%xmm8
  punpcklwd %xmm2,%xmm0
  movdqu -0x20(%rcx),%xmm4
  punpckhwd %xmm2,%xmm10
  punpcklwd %xmm2,%xmm1
  movdqa %xmm7,%xmm2
  movdqu -0x10(%rcx),%xmm9
  punpckhwd %xmm5,%xmm2
  punpcklwd %xmm10,%xmm0
  punpckhwd %xmm10,%xmm1
  punpcklwd %xmm5,%xmm7
  movdqa %xmm8,%xmm10
  movdqa %xmm6,%xmm5
  punpckhwd %xmm2,%xmm10
  punpcklwd %xmm3,%xmm5
  punpcklwd %xmm2,%xmm8
  punpcklwd %xmm2,%xmm7
  movdqa %xmm6,%xmm2
  punpcklwd %xmm10,%xmm8
  punpckhwd %xmm10,%xmm7
  punpckhwd %xmm3,%xmm2
  movdqa %xmm5,%xmm10
  punpcklwd %xmm3,%xmm6
  movdqa %xmm4,%xmm3
  punpckhwd %xmm2,%xmm10
  punpcklwd %xmm9,%xmm3
  punpcklwd %xmm2,%xmm5
  punpcklwd %xmm2,%xmm6
  movdqa %xmm4,%xmm2
  punpcklwd %xmm10,%xmm5
  punpckhwd %xmm10,%xmm6
  punpckhwd %xmm9,%xmm2
  movdqa %xmm3,%xmm10
  punpcklwd %xmm9,%xmm4
  punpckhwd %xmm2,%xmm10
  punpcklwd %xmm2,%xmm3
  punpcklwd %xmm2,%xmm4
  movdqa %xmm0,%xmm2
  punpcklwd %xmm10,%xmm3
  movdqa %xmm0,%xmm9
  punpcklwd %xmm8,%xmm2
  movdqa %xmm5,%xmm14
  punpckhwd %xmm10,%xmm4
  punpckhwd %xmm8,%xmm9
  punpcklwd %xmm3,%xmm14
  movdqa %xmm2,%xmm10
  punpcklwd %xmm8,%xmm0
  movdqa %xmm5,%xmm8
  punpckhwd %xmm9,%xmm10
  punpckhwd %xmm3,%xmm8
  punpcklwd %xmm9,%xmm2
  punpcklwd %xmm9,%xmm0
  punpcklwd %xmm3,%xmm5
  movdqa %xmm14,%xmm9
  movdqa %xmm1,%xmm3
  punpckhwd %xmm10,%xmm0
  punpcklwd %xmm10,%xmm2
  punpckhwd %xmm8,%xmm9
  punpcklwd %xmm7,%xmm3
  punpcklwd %xmm8,%xmm14
  punpcklwd %xmm8,%xmm5
  movaps %xmm0,-0x78(%rsp)
  movdqa %xmm1,%xmm8
  movdqa %xmm6,%xmm10
  punpckhwd %xmm9,%xmm5
  punpckhwd %xmm7,%xmm8
  punpcklwd %xmm9,%xmm14
  punpcklwd %xmm4,%xmm10
  movdqa %xmm3,%xmm9
  punpcklwd %xmm7,%xmm1
  movdqa %xmm6,%xmm7
  punpcklwd %xmm4,%xmm6
  punpckhwd %xmm4,%xmm7
  punpckhwd %xmm8,%xmm9
  punpcklwd %xmm8,%xmm3
  punpcklwd %xmm8,%xmm1
  movdqa %xmm6,%xmm11
  movdqa %xmm10,%xmm8
  punpcklwd %xmm7,%xmm11
  punpcklwd %xmm7,%xmm10
  punpckhwd %xmm7,%xmm8
  movdqa %xmm2,%xmm7
  punpcklwd %xmm9,%xmm3
  movdqa %xmm2,%xmm4
  punpcklwd %xmm14,%xmm7
  punpcklwd %xmm8,%xmm10
  punpckhwd %xmm14,%xmm4
  movdqa %xmm7,%xmm6
  movdqa %xmm3,%xmm15
  punpckhwd %xmm9,%xmm1
  punpckhwd %xmm4,%xmm6
  punpcklwd %xmm4,%xmm7
  movaps %xmm4,-0x68(%rsp)
  movdqa %xmm3,%xmm9
  punpcklwd %xmm10,%xmm15
  movaps %xmm6,-0x58(%rsp)
  punpcklwd %xmm6,%xmm7
  punpckhwd %xmm10,%xmm9
  movdqa %xmm15,%xmm6
  punpckhwd %xmm8,%xmm11
  punpckhwd %xmm9,%xmm15
  punpcklwd %xmm9,%xmm6
  movdqa %xmm0,%xmm8
  movaps %xmm9,-0x48(%rsp)
  punpcklwd %xmm5,%xmm8
  movaps %xmm15,-0x38(%rsp)
  punpcklwd %xmm15,%xmm6
  movdqa %xmm0,%xmm15
  punpckhwd %xmm5,%xmm15
  movdqa %xmm8,%xmm4
  pand   %xmm13,%xmm7
  punpckhwd %xmm15,%xmm8
  punpcklwd %xmm15,%xmm4
  movaps %xmm15,-0x28(%rsp)
  pand   %xmm13,%xmm6
  movaps %xmm8,-0x18(%rsp)
  punpcklwd %xmm8,%xmm4
  movdqa %xmm1,%xmm8
  punpcklwd %xmm14,%xmm2
  punpckhwd %xmm11,%xmm8
  pand   %xmm13,%xmm4
  punpcklwd %xmm10,%xmm3
  movdqa %xmm8,%xmm9
  movdqa %xmm1,%xmm8
  punpcklwd -0x68(%rsp),%xmm2
  punpcklwd %xmm11,%xmm8
  movaps %xmm9,-0x8(%rsp)
  punpcklwd %xmm11,%xmm1
  punpckhwd -0x58(%rsp),%xmm2
  movdqa %xmm8,%xmm15
  punpcklwd %xmm9,%xmm8
  punpcklwd -0x48(%rsp),%xmm3
  punpckhwd %xmm9,%xmm15
  movdqa %xmm7,%xmm9
  punpckhwd -0x38(%rsp),%xmm3
  punpcklwd %xmm12,%xmm9
  movaps %xmm15,0x8(%rsp)
  punpcklwd %xmm15,%xmm8
  punpckhwd %xmm12,%xmm7
  movdqa %xmm9,%xmm15
  movdqa %xmm6,%xmm9
  pand   %xmm13,%xmm8
  punpcklwd %xmm12,%xmm9
  pslld  $0x18,%xmm15
  movdqa %xmm8,%xmm0
  pslld  $0x10,%xmm9
  punpcklwd %xmm12,%xmm0
  punpckhwd %xmm12,%xmm6
  por    %xmm9,%xmm15
  movdqa %xmm4,%xmm9
  punpckhwd %xmm12,%xmm4
  punpcklwd %xmm12,%xmm9
  pslld  $0x18,%xmm7
  punpckhwd %xmm12,%xmm8
  pslld  $0x8,%xmm9
  pslld  $0x10,%xmm6
  pand   %xmm13,%xmm2
  por    %xmm0,%xmm9
  pslld  $0x8,%xmm4
  movdqa -0x78(%rsp),%xmm0
  por    %xmm7,%xmm6
  pand   %xmm13,%xmm3
  por    %xmm8,%xmm4
  punpcklwd -0x8(%rsp),%xmm1
  por    %xmm6,%xmm4
  punpcklwd %xmm5,%xmm0
  movdqa %xmm3,%xmm6
  movdqa %xmm2,%xmm5
  punpcklwd -0x28(%rsp),%xmm0
  punpckhwd -0x18(%rsp),%xmm0
  punpckhwd 0x8(%rsp),%xmm1
  punpcklwd %xmm12,%xmm5
  punpcklwd %xmm12,%xmm6
  pand   %xmm13,%xmm0
  pslld  $0x10,%xmm6
  por    %xmm15,%xmm9
  pslld  $0x18,%xmm5
  pand   %xmm13,%xmm1
  punpckhwd %xmm12,%xmm2
  por    %xmm6,%xmm5
  movdqa %xmm0,%xmm6
  movdqa %xmm1,%xmm7
  punpcklwd %xmm12,%xmm6
  punpcklwd %xmm12,%xmm7
  punpckhwd %xmm12,%xmm0
  pslld  $0x8,%xmm6
  pslld  $0x8,%xmm0
  punpckhwd %xmm12,%xmm3
  por    %xmm7,%xmm6
  pslld  $0x18,%xmm2
  punpckhwd %xmm12,%xmm1
  por    %xmm6,%xmm5
  pslld  $0x10,%xmm3
  por    %xmm0,%xmm1
  movdqa %xmm9,%xmm0
  por    %xmm3,%xmm2
  punpckhdq %xmm5,%xmm9
  punpckldq %xmm5,%xmm0
  por    %xmm2,%xmm1
  movups %xmm9,-0x30(%r9)
  movups %xmm0,-0x40(%r9)
  movdqa %xmm4,%xmm0
  punpckhdq %xmm1,%xmm4
  punpckldq %xmm1,%xmm0
  movups %xmm4,-0x10(%r9)
  movups %xmm0,-0x20(%r9)
  cmp    %r13,%rcx
  jne    L237
  mov    %ebp,%r13d
  movq   %rbx,%xmm11
  and    $0xfffffff8,%r13d
  mov    %r13d,%ecx
  neg    %ecx
  lea    (%r8,%rcx,8),%r8d
  mov    %r13d,%ecx
  lea    (%r10,%rcx,8),%r9
  shl    $0x4,%rcx
  add    %rsi,%rcx
  cmp    %r13d,%ebp
  je     L675
L245:
  movzwl (%rcx),%ebx
  movzwl 0x8(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x2(%rcx),%ebx
  movzwl 0xa(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  movzwl 0x4(%rcx),%ebx
  movzwl 0xc(%rcx),%r13d
  punpckldq %xmm2,%xmm1
  pand   %xmm11,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x18,%xmm0
  movd   %r13d,%xmm2
  movzwl 0xe(%rcx),%r13d
  pslld  $0x10,%xmm1
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x6(%rcx),%ebx
  movd   %r13d,%xmm7
  punpckldq %xmm2,%xmm1
  lea    -0x8(%r8),%r13d
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,(%r9)
  cmp    $0x7,%r13d
  jle    L675
  movzwl 0x12(%rcx),%ebx
  movzwl 0x1a(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x10(%rcx),%ebx
  movzwl 0x18(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  movzwl 0x14(%rcx),%ebx
  movzwl 0x1c(%rcx),%r13d
  punpckldq %xmm2,%xmm1
  pand   %xmm11,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x10,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x1e(%rcx),%r13d
  pslld  $0x18,%xmm1
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x16(%rcx),%ebx
  movd   %r13d,%xmm7
  punpckldq %xmm2,%xmm1
  lea    -0x10(%r8),%r13d
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x8(%r9)
  cmp    $0x7,%r13d
  jle    L675
  movzwl 0x20(%rcx),%ebx
  movzwl 0x28(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x22(%rcx),%ebx
  movzwl 0x2a(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  movzwl 0x24(%rcx),%ebx
  movzwl 0x2c(%rcx),%r13d
  punpckldq %xmm2,%xmm1
  pand   %xmm11,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x18,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x2e(%rcx),%r13d
  pslld  $0x10,%xmm1
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x26(%rcx),%ebx
  movd   %r13d,%xmm7
  punpckldq %xmm2,%xmm1
  lea    -0x18(%r8),%r13d
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x10(%r9)
  cmp    $0x7,%r13d
  jle    L675
  movzwl 0x30(%rcx),%ebx
  movzwl 0x38(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x32(%rcx),%ebx
  movzwl 0x3a(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  movzwl 0x34(%rcx),%ebx
  movzwl 0x3c(%rcx),%r13d
  punpckldq %xmm2,%xmm1
  pand   %xmm11,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x18,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x3e(%rcx),%r13d
  pslld  $0x10,%xmm1
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x36(%rcx),%ebx
  movd   %r13d,%xmm7
  punpckldq %xmm2,%xmm1
  lea    -0x20(%r8),%r13d
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x18(%r9)
  cmp    $0x7,%r13d
  jle    L675
  movzwl 0x42(%rcx),%ebx
  movzwl 0x4a(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x40(%rcx),%ebx
  movzwl 0x48(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  movzwl 0x44(%rcx),%ebx
  movzwl 0x4c(%rcx),%r13d
  punpckldq %xmm2,%xmm1
  pand   %xmm11,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x10,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x4e(%rcx),%r13d
  pslld  $0x18,%xmm1
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x46(%rcx),%ebx
  movd   %r13d,%xmm7
  punpckldq %xmm2,%xmm1
  lea    -0x28(%r8),%r13d
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x20(%r9)
  cmp    $0x7,%r13d
  jle    L675
  movzwl 0x52(%rcx),%ebx
  movzwl 0x5a(%rcx),%r13d
  movd   %ebx,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x50(%rcx),%ebx
  movzwl 0x58(%rcx),%r13d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r13d,%xmm2
  movzwl 0x54(%rcx),%ebx
  movzwl 0x5c(%rcx),%r13d
  punpckldq %xmm2,%xmm1
  pand   %xmm11,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x10,%xmm0
  movd   %r13d,%xmm2
  movzwl 0x5e(%rcx),%r13d
  pslld  $0x18,%xmm1
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x56(%rcx),%ebx
  movd   %r13d,%xmm7
  punpckldq %xmm2,%xmm1
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x28(%r9)
  cmp    $0x37,%r8d
  jle    L675
  movzwl 0x62(%rcx),%ebx
  movzwl 0x6a(%rcx),%r8d
  movd   %ebx,%xmm0
  movd   %r8d,%xmm2
  movzwl 0x60(%rcx),%ebx
  movzwl 0x68(%rcx),%r8d
  punpckldq %xmm2,%xmm0
  movd   %ebx,%xmm1
  movd   %r8d,%xmm2
  movzwl 0x64(%rcx),%ebx
  pand   %xmm11,%xmm0
  punpckldq %xmm2,%xmm1
  movzwl 0x6c(%rcx),%r8d
  pslld  $0x10,%xmm0
  pand   %xmm11,%xmm1
  pslld  $0x18,%xmm1
  movd   %r8d,%xmm2
  por    %xmm1,%xmm0
  movd   %ebx,%xmm1
  movzwl 0x66(%rcx),%ebx
  movzwl 0x6e(%rcx),%ecx
  punpckldq %xmm2,%xmm1
  movd   %ecx,%xmm7
  movd   %ebx,%xmm2
  pand   %xmm11,%xmm1
  punpckldq %xmm7,%xmm2
  pslld  $0x8,%xmm1
  pand   %xmm11,%xmm2
  por    %xmm2,%xmm1
  por    %xmm1,%xmm0
  movq   %xmm0,0x30(%r9)
L675:
  mov    %rbp,%rcx
  neg    %r12d
  lea    (%r10,%rbp,8),%r10
  shl    $0x4,%rcx
  lea    (%r11,%r12,8),%r8d
  add    %rcx,%rsi
  jmp    L291
L130:
  cmp    $0x6,%edx
  jne    L719
  cmp    $0xf,%r8d
  jle    L291
  lea    -0x10(%r8),%r15d
  mov    %r15d,%ebx
  shr    $0x4,%ebx
  mov    %ebx,0x168(%rsp)
  lea    0x1(%rbx),%r14d
  cmp    $0x6f,%r15d
  jbe    L637
  mov    %r14d,%r11d
  movd   %eax,%xmm0
  mov    %rsi,%r9
  mov    %r10,%rcx
  shr    $0x3,%r11d
  punpcklwd %xmm0,%xmm0
  pxor   %xmm15,%xmm15
  sub    $0x1,%r11d
  pshufd $0x0,%xmm0,%xmm2
  shl    $0x8,%r11
  movdqa %xmm2,%xmm1
  lea    0x100(%rsi,%r11,1),%r11
  nopl   0x0(%rax,%rax,1)
L343:
  movdqu (%r9),%xmm13
  movdqu 0x10(%r9),%xmm9
  add    $0x60,%rcx
  add    $0x100,%r9
  movdqu -0xe0(%r9),%xmm10
  movdqu -0x80(%r9),%xmm0
  movdqa %xmm13,%xmm12
  movdqa %xmm13,%xmm4
  punpcklwd %xmm9,%xmm13
  movdqu -0xd0(%r9),%xmm7
  punpcklwd %xmm9,%xmm12
  punpckhwd %xmm9,%xmm4
  movdqu -0xc0(%r9),%xmm8
  movdqu -0xb0(%r9),%xmm5
  movdqa %xmm12,%xmm11
  punpcklwd %xmm4,%xmm13
  punpcklwd %xmm4,%xmm12
  movdqu -0xa0(%r9),%xmm6
  punpckhwd %xmm4,%xmm11
  movdqa %xmm10,%xmm4
  movdqu -0x60(%r9),%xmm3
  movdqu -0x40(%r9),%xmm2
  punpcklwd %xmm11,%xmm12
  punpckhwd %xmm11,%xmm13
  punpckhwd %xmm7,%xmm4
  movdqu -0x20(%r9),%xmm14
  movdqa %xmm10,%xmm11
  punpcklwd %xmm7,%xmm10
  movaps %xmm13,-0x78(%rsp)
  punpcklwd %xmm7,%xmm11
  movdqa %xmm10,%xmm7
  movdqa %xmm11,%xmm9
  punpcklwd %xmm4,%xmm7
  punpcklwd %xmm4,%xmm11
  punpckhwd %xmm4,%xmm9
  movdqa %xmm8,%xmm4
  punpcklwd %xmm9,%xmm11
  punpckhwd %xmm9,%xmm7
  movdqa %xmm8,%xmm9
  punpckhwd %xmm5,%xmm4
  punpcklwd %xmm5,%xmm9
  punpcklwd %xmm5,%xmm8
  movdqu -0x90(%r9),%xmm5
  punpcklwd %xmm4,%xmm8
  movdqa %xmm9,%xmm10
  punpckhwd %xmm4,%xmm9
  movaps %xmm7,-0x68(%rsp)
  punpcklwd %xmm4,%xmm10
  movdqa %xmm8,%xmm13
  movdqa %xmm6,%xmm4
  movdqu -0x90(%r9),%xmm8
  punpcklwd %xmm9,%xmm10
  punpckhwd %xmm9,%xmm13
  punpckhwd %xmm5,%xmm4
  movdqu -0x70(%r9),%xmm7
  movdqa %xmm6,%xmm9
  punpcklwd %xmm8,%xmm6
  movdqa %xmm0,%xmm8
  movaps %xmm13,-0x58(%rsp)
  punpcklwd %xmm5,%xmm9
  punpcklwd %xmm4,%xmm6
  movdqu -0x30(%r9),%xmm13
  movdqa %xmm9,%xmm5
  punpcklwd %xmm4,%xmm9
  punpckhwd %xmm4,%xmm5
  movdqa %xmm0,%xmm4
  punpcklwd %xmm7,%xmm0
  movdqu -0x50(%r9),%xmm7
  punpcklwd %xmm5,%xmm9
  punpckhwd %xmm5,%xmm6
  movdqu -0x70(%r9),%xmm5
  movaps %xmm6,-0x48(%rsp)
  movdqu -0x50(%r9),%xmm6
  punpcklwd %xmm5,%xmm8
  punpckhwd %xmm5,%xmm4
  movdqa %xmm8,%xmm5
  punpcklwd %xmm4,%xmm0
  punpcklwd %xmm4,%xmm8
  punpckhwd %xmm4,%xmm5
  movdqa %xmm3,%xmm4
  punpcklwd %xmm5,%xmm8
  punpckhwd %xmm5,%xmm0
  movdqu -0x50(%r9),%xmm5
  punpckhwd %xmm5,%xmm4
  movdqa %xmm3,%xmm5
  punpcklwd %xmm6,%xmm3
  movdqu -0x30(%r9),%xmm6
  punpcklwd %xmm7,%xmm5
  punpcklwd %xmm4,%xmm3
  movdqa %xmm5,%xmm7
  punpckhwd %xmm4,%xmm5
  punpcklwd %xmm4,%xmm7
  punpckhwd %xmm5,%xmm3
  movdqa %xmm2,%xmm4
  punpcklwd %xmm5,%xmm7
  movdqu -0x30(%r9),%xmm5
  punpckhwd %xmm5,%xmm4
  movdqa %xmm2,%xmm5
  punpcklwd %xmm13,%xmm2
  punpcklwd %xmm6,%xmm5
  movdqa %xmm2,%xmm13
  movdqu -0x10(%r9),%xmm2
  movdqa %xmm5,%xmm6
  punpcklwd %xmm4,%xmm13
  punpckhwd %xmm4,%xmm5
  punpcklwd %xmm4,%xmm6
  punpckhwd %xmm5,%xmm13
  movdqa %xmm14,%xmm4
  punpcklwd %xmm5,%xmm6
  movdqu -0x10(%r9),%xmm5
  movaps %xmm13,-0x38(%rsp)
  movdqu -0x10(%r9),%xmm13
  punpckhwd %xmm5,%xmm4
  movdqa %xmm14,%xmm5
  punpcklwd %xmm2,%xmm14
  punpcklwd %xmm13,%xmm5
  punpcklwd %xmm4,%xmm14
  movdqa %xmm5,%xmm13
  punpcklwd %xmm4,%xmm5
  punpckhwd %xmm4,%xmm13
  movdqa %xmm12,%xmm4
  punpckhwd %xmm11,%xmm4
  punpcklwd %xmm13,%xmm5
  punpckhwd %xmm13,%xmm14
  movdqa %xmm4,%xmm13
  movdqa %xmm12,%xmm4
  movdqa %xmm14,%xmm2
  punpcklwd %xmm11,%xmm4
  punpcklwd %xmm11,%xmm12
  movdqa %xmm10,%xmm11
  movdqa %xmm4,%xmm14
  punpcklwd %xmm13,%xmm12
  punpckhwd %xmm9,%xmm11
  punpckhwd %xmm13,%xmm14
  punpcklwd %xmm13,%xmm4
  punpckhwd %xmm14,%xmm12
  punpcklwd %xmm14,%xmm4
  movaps %xmm12,-0x28(%rsp)
  movdqa %xmm11,%xmm12
  movdqa %xmm10,%xmm11
  punpcklwd %xmm9,%xmm11
  movdqa %xmm11,%xmm14
  punpcklwd %xmm12,%xmm11
  punpckhwd %xmm12,%xmm14
  punpcklwd %xmm14,%xmm11
  movdqa %xmm14,%xmm13
  movdqa %xmm10,%xmm14
  punpcklwd %xmm9,%xmm14
  movdqa %xmm14,%xmm9
  movdqa %xmm8,%xmm14
  punpckhwd %xmm7,%xmm14
  punpcklwd %xmm12,%xmm9
  movdqa %xmm14,%xmm10
  movdqa %xmm8,%xmm14
  punpckhwd %xmm13,%xmm9
  punpcklwd %xmm7,%xmm14
  movaps %xmm9,-0x18(%rsp)
  punpcklwd %xmm7,%xmm8
  movdqa %xmm14,%xmm9
  punpckhwd %xmm10,%xmm14
  punpcklwd %xmm10,%xmm9
  movdqa %xmm14,%xmm12
  punpcklwd %xmm14,%xmm9
  movdqa %xmm8,%xmm14
  movdqa %xmm6,%xmm8
  punpckhwd %xmm5,%xmm8
  punpcklwd %xmm10,%xmm14
  movdqa %xmm8,%xmm7
  movdqa %xmm6,%xmm8
  punpcklwd %xmm5,%xmm6
  punpcklwd %xmm5,%xmm8
  punpckhwd %xmm12,%xmm14
  movdqa %xmm6,%xmm5
  movdqa %xmm8,%xmm12
  punpcklwd %xmm7,%xmm5
  punpcklwd %xmm7,%xmm8
  punpckhwd %xmm7,%xmm12
  punpckhwd %xmm12,%xmm5
  punpcklwd %xmm12,%xmm8
  movaps %xmm5,-0x8(%rsp)
  movdqa -0x78(%rsp),%xmm10
  movdqa -0x68(%rsp),%xmm12
  movdqa -0x58(%rsp),%xmm13
  movdqa %xmm10,%xmm5
  movdqa %xmm10,%xmm6
  punpcklwd %xmm12,%xmm10
  punpckhwd %xmm12,%xmm5
  punpcklwd %xmm12,%xmm6
  movdqa %xmm6,%xmm7
  punpcklwd %xmm5,%xmm10
  punpckhwd %xmm5,%xmm6
  punpcklwd %xmm5,%xmm7
  movdqa %xmm10,%xmm5
  movdqa -0x48(%rsp),%xmm10
  punpcklwd %xmm6,%xmm7
  punpckhwd %xmm6,%xmm5
  movdqa %xmm13,%xmm6
  movaps %xmm5,0x8(%rsp)
  punpcklwd %xmm10,%xmm6
  movdqa %xmm13,%xmm5
  punpcklwd %xmm10,%xmm13
  punpckhwd %xmm10,%xmm5
  movdqa %xmm6,%xmm12
  punpckhwd %xmm5,%xmm12
  punpcklwd %xmm5,%xmm13
  punpcklwd %xmm5,%xmm6
  punpckhwd %xmm12,%xmm13
  movdqa %xmm0,%xmm5
  punpcklwd %xmm12,%xmm6
  movaps %xmm13,0x18(%rsp)
  punpcklwd %xmm3,%xmm5
  movdqa %xmm0,%xmm12
  movdqa -0x38(%rsp),%xmm13
  punpckhwd %xmm3,%xmm12
  movdqa %xmm5,%xmm10
  punpcklwd %xmm3,%xmm0
  movdqa %xmm13,%xmm3
  punpckhwd %xmm12,%xmm10
  punpcklwd %xmm12,%xmm5
  punpckhwd %xmm2,%xmm3
  punpcklwd %xmm12,%xmm0
  punpcklwd %xmm10,%xmm5
  movdqa %xmm3,%xmm12
  punpckhwd %xmm10,%xmm0
  movdqa %xmm13,%xmm3
  movdqa %xmm2,%xmm10
  movdqa %xmm13,%xmm2
  punpcklwd %xmm10,%xmm3
  punpcklwd %xmm10,%xmm2
  movdqa %xmm4,%xmm10
  movdqa %xmm3,%xmm13
  punpcklwd %xmm12,%xmm2
  punpcklwd %xmm12,%xmm3
  punpckhwd %xmm12,%xmm13
  punpckhwd %xmm11,%xmm10
  punpcklwd %xmm13,%xmm3
  punpckhwd %xmm13,%xmm2
  movdqa %xmm4,%xmm13
  movdqa %xmm10,%xmm12
  punpcklwd %xmm11,%xmm13
  punpcklwd %xmm11,%xmm4
  movdqa %xmm13,%xmm10
  punpcklwd %xmm12,%xmm4
  punpckhwd %xmm12,%xmm13
  punpckhwd %xmm13,%xmm4
  punpcklwd %xmm12,%xmm10
  movdqa %xmm9,%xmm11
  movdqa %xmm9,%xmm12
  punpcklwd %xmm13,%xmm10
  punpcklwd %xmm8,%xmm11
  movaps %xmm4,-0x68(%rsp)
  punpcklwd %xmm8,%xmm12
  movdqa %xmm9,%xmm4
  movaps %xmm10,-0x78(%rsp)
  movdqa %xmm11,%xmm10
  punpckhwd %xmm8,%xmm4
  movdqa %xmm12,%xmm8
  movdqa -0x8(%rsp),%xmm13
  punpckhwd %xmm4,%xmm11
  punpcklwd %xmm4,%xmm10
  punpcklwd %xmm4,%xmm8
  punpcklwd %xmm11,%xmm10
  punpckhwd %xmm11,%xmm8
  movdqa %xmm7,%xmm4
  movdqa %xmm7,%xmm11
  punpcklwd %xmm6,%xmm4
  movaps %xmm8,-0x48(%rsp)
  punpckhwd %xmm6,%xmm11
  movaps %xmm10,-0x58(%rsp)
  movdqa %xmm11,%xmm8
  movdqa %xmm4,%xmm11
  punpckhwd %xmm8,%xmm11
  punpcklwd %xmm8,%xmm4
  punpcklwd %xmm11,%xmm4
  movdqa %xmm11,%xmm9
  movdqa %xmm7,%xmm11
  movdqa -0x28(%rsp),%xmm7
  punpcklwd %xmm6,%xmm11
  punpcklwd %xmm8,%xmm11
  movdqa %xmm7,%xmm12
  movdqa %xmm11,%xmm8
  movdqa %xmm5,%xmm11
  punpckhwd %xmm3,%xmm11
  punpckhwd %xmm9,%xmm8
  movdqa %xmm11,%xmm6
  movdqa %xmm5,%xmm11
  punpcklwd %xmm3,%xmm5
  punpcklwd %xmm3,%xmm11
  movdqa %xmm5,%xmm3
  movdqa %xmm11,%xmm9
  punpcklwd %xmm6,%xmm3
  punpcklwd %xmm6,%xmm11
  punpckhwd %xmm6,%xmm9
  movdqa 0x18(%rsp),%xmm6
  punpcklwd %xmm9,%xmm11
  punpckhwd %xmm9,%xmm3
  movdqa -0x18(%rsp),%xmm9
  movaps %xmm3,-0x38(%rsp)
  movdqa %xmm7,%xmm3
  punpckhwd %xmm9,%xmm3
  punpcklwd %xmm9,%xmm12
  punpcklwd %xmm9,%xmm7
  movaps %xmm11,0x38(%rsp)
  movdqa %xmm14,%xmm9
  movdqa %xmm12,%xmm5
  punpcklwd %xmm3,%xmm7
  punpckhwd %xmm13,%xmm9
  punpckhwd %xmm3,%xmm5
  punpcklwd %xmm3,%xmm12
  movdqa %xmm9,%xmm3
  movdqa %xmm14,%xmm9
  punpcklwd %xmm5,%xmm12
  punpcklwd %xmm13,%xmm9
  punpckhwd %xmm5,%xmm7
  punpcklwd %xmm13,%xmm14
  movdqa %xmm9,%xmm5
  punpcklwd %xmm3,%xmm14
  punpcklwd %xmm3,%xmm9
  punpckhwd %xmm3,%xmm5
  punpckhwd %xmm5,%xmm14
  punpcklwd %xmm5,%xmm9
  movaps %xmm14,-0x28(%rsp)
  movdqa 0x8(%rsp),%xmm14
  movaps %xmm9,0x58(%rsp)
  movdqa %xmm14,%xmm13
  movdqa %xmm14,%xmm10
  movdqa %xmm14,%xmm3
  punpcklwd %xmm6,%xmm13
  punpcklwd %xmm6,%xmm10
  punpckhwd %xmm6,%xmm3
  movdqa %xmm13,%xmm5
  movdqa %xmm10,%xmm6
  movdqa %xmm0,%xmm14
  punpckhwd %xmm3,%xmm5
  punpcklwd %xmm2,%xmm14
  punpcklwd %xmm3,%xmm13
  punpcklwd %xmm3,%xmm6
  movdqa %xmm0,%xmm3
  punpcklwd %xmm5,%xmm13
  punpckhwd %xmm2,%xmm3
  punpckhwd %xmm5,%xmm6
  punpcklwd %xmm2,%xmm0
  movdqa -0x78(%rsp),%xmm2
  movdqa %xmm14,%xmm5
  punpcklwd %xmm3,%xmm0
  punpcklwd %xmm3,%xmm14
  movaps %xmm6,-0x18(%rsp)
  punpckhwd %xmm3,%xmm5
  movdqa %xmm2,%xmm10
  movdqa %xmm2,%xmm3
  punpcklwd %xmm5,%xmm14
  punpckhwd %xmm5,%xmm0
  movdqa -0x58(%rsp),%xmm5
  movdqa %xmm13,%xmm6
  movaps %xmm0,-0x8(%rsp)
  punpcklwd %xmm14,%xmm6
  punpcklwd %xmm5,%xmm10
  punpckhwd %xmm5,%xmm3
  movdqa %xmm4,%xmm5
  movdqa %xmm10,%xmm2
  punpcklwd %xmm3,%xmm10
  punpcklwd %xmm11,%xmm5
  movaps %xmm3,0x68(%rsp)
  punpckhwd %xmm3,%xmm2
  movdqa %xmm5,%xmm0
  punpcklwd %xmm2,%xmm10
  movaps %xmm2,0x78(%rsp)
  movdqa %xmm12,%xmm2
  pand   %xmm1,%xmm10
  punpckhwd %xmm9,%xmm2
  movaps %xmm10,0x8(%rsp)
  movdqa %xmm4,%xmm10
  punpckhwd %xmm11,%xmm10
  movdqa %xmm12,%xmm11
  movaps %xmm2,0xa8(%rsp)
  punpckhwd %xmm10,%xmm0
  punpcklwd %xmm10,%xmm5
  punpcklwd %xmm9,%xmm11
  movaps %xmm10,0x88(%rsp)
  punpcklwd %xmm0,%xmm5
  movdqa %xmm11,%xmm3
  movdqa %xmm6,%xmm9
  movaps %xmm0,0x98(%rsp)
  movdqa %xmm13,%xmm0
  punpckhwd %xmm2,%xmm11
  punpcklwd %xmm2,%xmm3
  punpckhwd %xmm14,%xmm0
  punpcklwd %xmm11,%xmm3
  pand   %xmm1,%xmm5
  movaps %xmm11,0xb8(%rsp)
  punpckhwd %xmm0,%xmm6
  punpcklwd %xmm0,%xmm9
  movdqa %xmm8,%xmm11
  movaps %xmm0,0xc8(%rsp)
  movaps %xmm6,0xd8(%rsp)
  movdqa -0x48(%rsp),%xmm2
  movdqa -0x68(%rsp),%xmm0
  punpcklwd %xmm6,%xmm9
  movaps %xmm8,0x28(%rsp)
  pand   %xmm1,%xmm3
  pand   %xmm1,%xmm9
  punpcklwd 0x38(%rsp),%xmm4
  movdqa %xmm0,%xmm6
  punpcklwd %xmm2,%xmm0
  movaps %xmm7,0x48(%rsp)
  punpcklwd 0x88(%rsp),%xmm4
  punpckhwd %xmm2,%xmm6
  movdqa %xmm0,%xmm10
  punpckhwd 0x98(%rsp),%xmm4
  punpckhwd %xmm6,%xmm10
  movaps %xmm6,0xe8(%rsp)
  punpcklwd %xmm6,%xmm0
  movdqa -0x38(%rsp),%xmm6
  movaps %xmm10,0xf8(%rsp)
  punpcklwd %xmm10,%xmm0
  pand   %xmm1,%xmm4
  punpcklwd %xmm6,%xmm8
  punpckhwd %xmm6,%xmm11
  movdqa %xmm7,%xmm6
  movdqa %xmm8,%xmm2
  punpckhwd %xmm11,%xmm8
  pand   %xmm1,%xmm0
  movaps %xmm11,0x108(%rsp)
  movaps %xmm8,0x118(%rsp)
  punpcklwd %xmm11,%xmm2
  punpcklwd %xmm8,%xmm2
  movdqa -0x28(%rsp),%xmm8
  pand   %xmm1,%xmm2
  punpcklwd %xmm8,%xmm7
  punpckhwd %xmm8,%xmm6
  movdqa -0x18(%rsp),%xmm8
  movdqa %xmm7,%xmm10
  movaps %xmm6,0x128(%rsp)
  punpcklwd %xmm6,%xmm7
  punpckhwd %xmm6,%xmm10
  movdqa -0x8(%rsp),%xmm6
  movdqa %xmm8,%xmm11
  movaps %xmm10,0x138(%rsp)
  punpcklwd %xmm10,%xmm7
  punpcklwd %xmm6,%xmm8
  punpckhwd %xmm6,%xmm11
  movdqa 0x8(%rsp),%xmm6
  pand   %xmm1,%xmm7
  movaps %xmm11,0x148(%rsp)
  movdqa %xmm8,%xmm10
  punpcklwd %xmm11,%xmm8
  punpckhwd %xmm11,%xmm10
  movdqa %xmm2,%xmm11
  punpcklwd %xmm15,%xmm6
  psrlw  $0x4,%xmm11
  pslld  $0x1a,%xmm6
  punpcklwd %xmm10,%xmm8
  movaps %xmm10,0x158(%rsp)
  movaps %xmm11,0x18(%rsp)
  movdqa %xmm5,%xmm11
  movdqa %xmm9,%xmm10
  punpckhwd %xmm15,%xmm5
  punpcklwd %xmm15,%xmm11
  punpcklwd %xmm15,%xmm10
  punpckhwd %xmm15,%xmm9
  pslld  $0x14,%xmm11
  pslld  $0x14,%xmm5
  pand   %xmm1,%xmm8
  por    %xmm11,%xmm6
  movdqa %xmm3,%xmm11
  punpckhwd %xmm15,%xmm3
  pslld  $0x8,%xmm10
  pslld  $0x8,%xmm9
  punpcklwd %xmm15,%xmm11
  pslld  $0xe,%xmm11
  pslld  $0xe,%xmm3
  por    %xmm10,%xmm11
  movdqa 0x18(%rsp),%xmm10
  por    %xmm9,%xmm3
  por    %xmm6,%xmm11
  movdqa %xmm0,%xmm6
  punpckhwd %xmm15,%xmm0
  punpcklwd %xmm15,%xmm6
  pslld  $0x2,%xmm0
  punpcklwd %xmm15,%xmm10
  pslld  $0x2,%xmm6
  por    %xmm10,%xmm6
  movdqa 0x8(%rsp),%xmm10
  por    %xmm11,%xmm6
  punpckhwd %xmm15,%xmm10
  movd   %xmm6,-0x60(%rcx)
  pslld  $0x1a,%xmm10
  por    %xmm10,%xmm5
  movdqa 0x18(%rsp),%xmm10
  por    %xmm5,%xmm3
  movdqa -0x78(%rsp),%xmm5
  punpcklwd -0x58(%rsp),%xmm5
  punpckhwd %xmm15,%xmm10
  punpcklwd 0x68(%rsp),%xmm5
  punpckhwd 0x78(%rsp),%xmm5
  por    %xmm10,%xmm0
  por    %xmm3,%xmm0
  movdqa %xmm12,%xmm3
  punpcklwd 0x58(%rsp),%xmm3
  punpcklwd 0xa8(%rsp),%xmm3
  movdqa %xmm7,%xmm12
  pand   %xmm1,%xmm5
  punpckhwd 0xb8(%rsp),%xmm3
  punpcklwd %xmm15,%xmm12
  punpckhwd %xmm15,%xmm7
  movdqa %xmm12,%xmm10
  pslld  $0x16,%xmm7
  movdqa %xmm8,%xmm12
  pand   %xmm1,%xmm3
  pslld  $0x16,%xmm10
  punpcklwd %xmm15,%xmm12
  movdqa %xmm3,%xmm9
  punpckhwd %xmm15,%xmm8
  psrlw  $0x2,%xmm9
  pslld  $0x10,%xmm8
  movdqa %xmm9,%xmm11
  movdqa %xmm2,%xmm9
  punpckhwd %xmm15,%xmm2
  punpcklwd %xmm15,%xmm9
  pslld  $0x1c,%xmm2
  pslld  $0x1c,%xmm9
  por    %xmm7,%xmm2
  por    %xmm10,%xmm9
  movdqa %xmm12,%xmm10
  movdqa %xmm5,%xmm12
  punpcklwd %xmm15,%xmm12
  pslld  $0x10,%xmm10
  punpckhwd %xmm15,%xmm5
  pslld  $0xa,%xmm12
  pslld  $0xa,%xmm5
  por    %xmm12,%xmm10
  por    %xmm8,%xmm5
  movdqa %xmm11,%xmm12
  por    %xmm9,%xmm10
  movdqa %xmm4,%xmm9
  punpckhwd %xmm15,%xmm4
  pslld  $0x4,%xmm4
  punpckhwd %xmm15,%xmm11
  por    %xmm5,%xmm2
  por    %xmm11,%xmm4
  punpcklwd %xmm15,%xmm9
  punpcklwd %xmm15,%xmm12
  por    %xmm2,%xmm4
  pslld  $0x4,%xmm9
  pshufd $0x55,%xmm6,%xmm2
  movd   %xmm2,-0x54(%rcx)
  movdqa %xmm6,%xmm2
  por    %xmm12,%xmm9
  movdqa 0x28(%rsp),%xmm8
  punpckhdq %xmm6,%xmm2
  por    %xmm10,%xmm9
  movd   %xmm0,-0x30(%rcx)
  punpcklwd -0x38(%rsp),%xmm8
  movd   %xmm2,-0x48(%rcx)
  pshufd $0x55,%xmm0,%xmm2
  movdqa %xmm9,%xmm5
  movdqa 0x48(%rsp),%xmm7
  movd   %xmm2,-0x24(%rcx)
  movdqa %xmm0,%xmm2
  punpckhdq %xmm9,%xmm5
  punpcklwd -0x28(%rsp),%xmm7
  punpckhdq %xmm0,%xmm2
  pshufd $0xff,%xmm0,%xmm0
  movd   %xmm9,-0x5c(%rcx)
  pshufd $0xff,%xmm6,%xmm6
  movd   %xmm0,-0xc(%rcx)
  pshufd $0x55,%xmm9,%xmm0
  pshufd $0xff,%xmm9,%xmm9
  movd   %xmm9,-0x38(%rcx)
  movdqa %xmm4,%xmm9
  punpckhdq %xmm4,%xmm9
  movd   %xmm0,-0x50(%rcx)
  pshufd $0x55,%xmm4,%xmm0
  movd   %xmm4,-0x2c(%rcx)
  pshufd $0xff,%xmm4,%xmm4
  movd   %xmm2,-0x18(%rcx)
  movdqa -0x68(%rsp),%xmm2
  punpcklwd -0x48(%rsp),%xmm2
  punpcklwd 0xe8(%rsp),%xmm2
  movd   %xmm4,-0x8(%rcx)
  movdqa %xmm8,%xmm4
  punpckhwd 0xf8(%rsp),%xmm2
  punpcklwd 0x108(%rsp),%xmm4
  movd   %xmm9,-0x14(%rcx)
  movdqa %xmm13,%xmm9
  punpckhwd 0x118(%rsp),%xmm4
  punpcklwd %xmm14,%xmm9
  pand   %xmm1,%xmm2
  movd   %xmm5,-0x44(%rcx)
  movdqa %xmm7,%xmm5
  pand   %xmm1,%xmm4
  movd   %xmm0,-0x20(%rcx)
  movdqa %xmm2,%xmm7
  movdqa %xmm9,%xmm0
  movdqa %xmm4,%xmm8
  punpcklwd %xmm15,%xmm7
  punpcklwd 0xc8(%rsp),%xmm0
  movd   %xmm6,-0x3c(%rcx)
  punpcklwd %xmm15,%xmm8
  pslld  $0x12,%xmm7
  punpckhwd 0xd8(%rsp),%xmm0
  movdqa -0x18(%rsp),%xmm6
  pslld  $0xc,%xmm8
  punpcklwd -0x8(%rsp),%xmm6
  punpckhwd %xmm15,%xmm2
  pand   %xmm1,%xmm0
  por    %xmm8,%xmm7
  movdqa %xmm3,%xmm8
  movdqa %xmm0,%xmm9
  punpcklwd %xmm15,%xmm8
  punpcklwd 0x128(%rsp),%xmm5
  punpcklwd %xmm15,%xmm9
  punpckhwd %xmm15,%xmm4
  punpckhwd %xmm15,%xmm3
  pslld  $0x18,%xmm9
  pslld  $0x12,%xmm2
  punpckhwd %xmm15,%xmm0
  punpckhwd 0x138(%rsp),%xmm5
  pslld  $0x1e,%xmm8
  punpcklwd 0x148(%rsp),%xmm6
  pslld  $0xc,%xmm4
  pslld  $0x1e,%xmm3
  por    %xmm9,%xmm8
  pand   %xmm1,%xmm5
  por    %xmm8,%xmm7
  por    %xmm4,%xmm2
  punpckhwd 0x158(%rsp),%xmm6
  pslld  $0x18,%xmm0
  movdqa %xmm5,%xmm8
  punpcklwd %xmm15,%xmm8
  por    %xmm3,%xmm0
  punpckhwd %xmm15,%xmm5
  pand   %xmm1,%xmm6
  pslld  $0x6,%xmm8
  por    %xmm2,%xmm0
  movdqa %xmm6,%xmm9
  pslld  $0x6,%xmm5
  punpckhwd %xmm15,%xmm6
  punpcklwd %xmm15,%xmm9
  por    %xmm5,%xmm6
  por    %xmm9,%xmm8
  por    %xmm6,%xmm0
  por    %xmm8,%xmm7
  pshufd $0x55,%xmm7,%xmm2
  movd   %xmm7,-0x58(%rcx)
  movd   %xmm2,-0x4c(%rcx)
  movdqa %xmm7,%xmm2
  punpckhdq %xmm7,%xmm2
  movd   %xmm0,-0x28(%rcx)
  pshufd $0xff,%xmm7,%xmm7
  movd   %xmm2,-0x40(%rcx)
  pshufd $0x55,%xmm0,%xmm2
  movd   %xmm2,-0x1c(%rcx)
  movdqa %xmm0,%xmm2
  punpckhdq %xmm0,%xmm2
  pshufd $0xff,%xmm0,%xmm0
  movd   %xmm7,-0x34(%rcx)
  movd   %xmm2,-0x10(%rcx)
  movd   %xmm0,-0x4(%rcx)
  cmp    %r11,%r9
  jne    L343
  mov    %r14d,%r9d
  and    $0xfffffff8,%r9d
  mov    %r9d,%ecx
  shl    $0x4,%ecx
  sub    %ecx,%r8d
  mov    %r9d,%ecx
  lea    (%rcx,%rcx,2),%r11
  shl    $0x5,%rcx
  lea    (%r10,%r11,4),%r13
  add    %rsi,%rcx
  cmp    %r9d,%r14d
  je     L692
  xchg   %ax,%ax
L407:
  movzwl (%rcx),%r11d
  movzwl 0x2(%rcx),%ebp
  movzwl 0xa(%rcx),%ebx
  movzwl 0x14(%rcx),%r9d
  and    %eax,%r11d
  and    %eax,%ebp
  movzwl 0x16(%rcx),%r12d
  shl    $0x14,%ebp
  shl    $0x1a,%r11d
  and    %eax,%ebx
  and    %eax,%r9d
  or     %ebp,%r11d
  movzwl 0x4(%rcx),%ebp
  and    %eax,%ebp
  shl    $0xe,%ebp
  or     %ebp,%r11d
  movzwl 0x6(%rcx),%ebp
  and    %eax,%ebp
  shl    $0x8,%ebp
  or     %ebp,%r11d
  movzwl 0x8(%rcx),%ebp
  and    %eax,%ebp
  shl    $0x2,%ebp
  or     %ebp,%r11d
  mov    %ebx,%ebp
  shl    $0x1c,%ebx
  shr    $0x4,%ebp
  or     %ebp,%r11d
  movzwl 0xc(%rcx),%ebp
  movd   %r11d,%xmm0
  movzwl 0x1c(%rcx),%r11d
  and    %eax,%ebp
  shl    $0x16,%ebp
  or     %ebp,%ebx
  movzwl 0xe(%rcx),%ebp
  and    %eax,%ebp
  shl    $0x10,%ebp
  or     %ebp,%ebx
  movzwl 0x10(%rcx),%ebp
  and    %eax,%ebp
  shl    $0xa,%ebp
  or     %ebp,%ebx
  movzwl 0x12(%rcx),%ebp
  and    %eax,%ebp
  shl    $0x4,%ebp
  or     %ebp,%ebx
  mov    %r9d,%ebp
  shr    $0x2,%ebp
  or     %ebp,%ebx
  movzwl 0x18(%rcx),%ebp
  and    %eax,%r12d
  shl    $0x1e,%r9d
  movd   %ebx,%xmm2
  movzwl 0x1a(%rcx),%ebx
  shl    $0x18,%r12d
  and    %eax,%r11d
  and    %eax,%ebp
  or     %r12d,%r9d
  shl    $0x6,%r11d
  add    $0x20,%rcx
  and    %eax,%ebx
  shl    $0x12,%ebp
  punpckldq %xmm2,%xmm0
  add    $0xc,%r13
  or     %ebp,%r9d
  shl    $0xc,%ebx
  movq   %xmm0,-0xc(%r13)
  sub    $0x10,%r8d
  or     %ebx,%r9d
  or     %r11d,%r9d
  movzwl -0x2(%rcx),%r11d
  and    %eax,%r11d
  or     %r11d,%r9d
  mov    %r9d,-0x4(%r13)
  cmp    $0xf,%r8d
  jg     L407
L692:
  mov    %r14,%rcx
  shl    $0x5,%rcx
  add    %rcx,%rsi
  lea    (%r14,%r14,2),%rcx
  lea    (%r10,%rcx,4),%r10
  mov    0x168(%rsp),%ecx
  shl    $0x4,%ecx
  sub    %ecx,%r15d
  mov    %r15d,%r8d
  jmp    L291
L719:
  cmp    $0x4,%edx
  jne    L202
  cmp    $0x7,%r8d
  jle    L291
  lea    -0x8(%r8),%r11d
  mov    %r11d,%ebp
  shr    $0x3,%ebp
  lea    0x1(%rbp),%ebx
  cmp    $0x37,%r11d
  jbe    L238
  mov    %ebx,%r12d
  movd   %eax,%xmm0
  mov    %r10,%r9
  mov    %rsi,%rcx
  shr    $0x3,%r12d
  punpcklwd %xmm0,%xmm0
  pxor   %xmm12,%xmm12
  sub    $0x1,%r12d
  pshufd $0x0,%xmm0,%xmm13
  shl    $0x5,%r12
  lea    0x20(%r10,%r12,1),%r12
  nopl   0x0(%rax,%rax,1)
L505:
  movdqu (%rcx),%xmm1
  movdqu 0x10(%rcx),%xmm8
  add    $0x20,%r9
  sub    $0xffffffffffffff80,%rcx
  movdqu -0x60(%rcx),%xmm7
  movdqu -0x50(%rcx),%xmm6
  movdqa %xmm1,%xmm2
  movdqa %xmm1,%xmm3
  movdqu -0x40(%rcx),%xmm5
  punpcklwd %xmm8,%xmm1
  punpcklwd %xmm8,%xmm2
  punpckhwd %xmm8,%xmm3
  movdqa %xmm7,%xmm8
  movdqu -0x30(%rcx),%xmm4
  movdqa %xmm2,%xmm10
  punpcklwd %xmm6,%xmm8
  punpcklwd %xmm3,%xmm2
  movdqu -0x20(%rcx),%xmm0
  punpckhwd %xmm3,%xmm10
  punpcklwd %xmm3,%xmm1
  movdqa %xmm7,%xmm3
  movdqu -0x10(%rcx),%xmm9
  punpckhwd %xmm6,%xmm3
  punpcklwd %xmm10,%xmm2
  punpckhwd %xmm10,%xmm1
  punpcklwd %xmm6,%xmm7
  movdqa %xmm8,%xmm10
  movdqa %xmm5,%xmm6
  punpckhwd %xmm3,%xmm10
  punpcklwd %xmm4,%xmm6
  punpcklwd %xmm3,%xmm8
  punpcklwd %xmm3,%xmm7
  movdqa %xmm5,%xmm3
  punpcklwd %xmm10,%xmm8
  punpckhwd %xmm10,%xmm7
  punpckhwd %xmm4,%xmm3
  movdqa %xmm6,%xmm10
  punpcklwd %xmm4,%xmm5
  punpckhwd %xmm3,%xmm10
  punpcklwd %xmm3,%xmm6
  punpcklwd %xmm3,%xmm5
  movdqa %xmm0,%xmm3
  movdqa %xmm0,%xmm4
  punpcklwd %xmm9,%xmm3
  punpckhwd %xmm9,%xmm4
  punpcklwd %xmm10,%xmm6
  punpckhwd %xmm10,%xmm5
  punpcklwd %xmm9,%xmm0
  movdqa %xmm3,%xmm10
  punpckhwd %xmm4,%xmm10
  punpcklwd %xmm4,%xmm3
  punpcklwd %xmm4,%xmm0
  movdqa %xmm2,%xmm4
  movdqa %xmm2,%xmm9
  punpcklwd %xmm10,%xmm3
  punpcklwd %xmm8,%xmm4
  punpckhwd %xmm10,%xmm0
  punpckhwd %xmm8,%xmm9
  movdqa %xmm4,%xmm10
  punpcklwd %xmm8,%xmm2
  punpcklwd %xmm9,%xmm4
  punpckhwd %xmm9,%xmm10
  punpcklwd %xmm9,%xmm2
  movdqa %xmm6,%xmm8
  punpcklwd %xmm10,%xmm4
  punpckhwd %xmm10,%xmm2
  movdqa %xmm6,%xmm10
  punpcklwd %xmm3,%xmm10
  punpckhwd %xmm3,%xmm8
  punpcklwd %xmm3,%xmm6
  movdqa %xmm10,%xmm9
  movdqa %xmm1,%xmm3
  punpcklwd %xmm8,%xmm10
  punpckhwd %xmm8,%xmm9
  punpcklwd %xmm7,%xmm3
  punpcklwd %xmm8,%xmm6
  movdqa %xmm1,%xmm8
  punpckhwd %xmm9,%xmm6
  punpcklwd %xmm9,%xmm10
  punpckhwd %xmm7,%xmm8
  movdqa %xmm3,%xmm9
  punpcklwd %xmm7,%xmm1
  punpckhwd %xmm8,%xmm9
  punpcklwd %xmm8,%xmm3
  punpcklwd %xmm8,%xmm1
  punpcklwd %xmm9,%xmm3
  punpckhwd %xmm9,%xmm1
  movdqa %xmm5,%xmm7
  movdqa %xmm5,%xmm9
  punpckhwd %xmm0,%xmm7
  punpcklwd %xmm0,%xmm5
  punpcklwd %xmm0,%xmm9
  movdqa %xmm4,%xmm0
  movdqa %xmm4,%xmm14
  movdqa %xmm9,%xmm8
  punpcklwd %xmm10,%xmm0
  punpckhwd %xmm10,%xmm14
  punpckhwd %xmm7,%xmm8
  punpcklwd %xmm7,%xmm9
  punpcklwd %xmm7,%xmm5
  movdqa %xmm0,%xmm7
  punpcklwd %xmm14,%xmm0
  punpcklwd %xmm8,%xmm9
  punpckhwd %xmm14,%xmm7
  movdqa %xmm3,%xmm11
  punpckhwd %xmm8,%xmm5
  punpcklwd %xmm7,%xmm0
  punpckhwd %xmm9,%xmm11
  movaps %xmm7,-0x58(%rsp)
  movdqa %xmm2,%xmm8
  pand   %xmm13,%xmm0
  punpcklwd %xmm6,%xmm8
  punpcklwd %xmm10,%xmm4
  movaps %xmm0,-0x68(%rsp)
  movdqa %xmm3,%xmm0
  punpcklwd %xmm9,%xmm3
  punpcklwd %xmm14,%xmm4
  punpcklwd %xmm9,%xmm0
  punpckhwd -0x58(%rsp),%xmm4
  punpcklwd %xmm11,%xmm3
  movdqa %xmm0,%xmm7
  movdqa %xmm0,%xmm15
  movdqa %xmm1,%xmm0
  punpckhwd %xmm11,%xmm15
  punpcklwd %xmm11,%xmm7
  punpckhwd %xmm5,%xmm0
  punpcklwd %xmm15,%xmm7
  movaps %xmm15,-0x48(%rsp)
  movdqa %xmm2,%xmm15
  punpcklwd %xmm6,%xmm2
  pand   %xmm13,%xmm7
  punpckhwd %xmm6,%xmm15
  pand   %xmm13,%xmm4
  movaps %xmm7,-0x78(%rsp)
  movdqa %xmm8,%xmm7
  punpcklwd %xmm15,%xmm8
  movdqa -0x78(%rsp),%xmm9
  punpckhwd %xmm15,%xmm7
  movaps %xmm15,-0x38(%rsp)
  movdqa %xmm0,%xmm15
  movdqa %xmm1,%xmm0
  punpcklwd %xmm5,%xmm0
  movaps %xmm7,-0x28(%rsp)
  punpcklwd %xmm7,%xmm8
  punpcklwd %xmm5,%xmm1
  movdqa %xmm0,%xmm7
  punpcklwd %xmm15,%xmm1
  punpckhwd %xmm15,%xmm0
  punpcklwd %xmm15,%xmm7
  punpckhwd %xmm0,%xmm1
  movdqa %xmm9,%xmm6
  punpcklwd %xmm0,%xmm7
  pand   %xmm13,%xmm8
  movdqa -0x68(%rsp),%xmm0
  punpcklwd %xmm12,%xmm6
  pand   %xmm13,%xmm7
  punpckhwd -0x48(%rsp),%xmm3
  punpcklwd -0x38(%rsp),%xmm2
  movdqa %xmm0,%xmm5
  punpckhwd -0x28(%rsp),%xmm2
  pand   %xmm13,%xmm1
  punpcklwd %xmm12,%xmm5
  pand   %xmm13,%xmm3
  punpckhwd %xmm12,%xmm0
  pslld  $0x4,%xmm5
  pslld  $0x4,%xmm0
  pand   %xmm13,%xmm2
  por    %xmm6,%xmm5
  movdqa %xmm8,%xmm6
  punpckhwd %xmm12,%xmm8
  punpcklwd %xmm12,%xmm6
  pslld  $0x4,%xmm5
  por    %xmm6,%xmm5
  movdqa %xmm7,%xmm6
  punpckhwd %xmm12,%xmm7
  punpcklwd %xmm12,%xmm6
  pslld  $0x4,%xmm5
  por    %xmm6,%xmm5
  movdqa %xmm4,%xmm6
  punpckhwd %xmm12,%xmm4
  punpcklwd %xmm12,%xmm6
  pslld  $0x4,%xmm5
  por    %xmm6,%xmm5
  movdqa %xmm3,%xmm6
  punpckhwd %xmm12,%xmm3
  punpcklwd %xmm12,%xmm6
  pslld  $0x4,%xmm5
  por    %xmm6,%xmm5
  movdqa %xmm2,%xmm6
  punpckhwd %xmm12,%xmm2
  punpcklwd %xmm12,%xmm6
  pslld  $0x4,%xmm5
  por    %xmm6,%xmm5
  movdqa %xmm1,%xmm6
  punpckhwd %xmm12,%xmm1
  pslld  $0x4,%xmm5
  punpcklwd %xmm12,%xmm6
  por    %xmm6,%xmm5
  movups %xmm5,-0x20(%r9)
  movdqa %xmm9,%xmm5
  punpckhwd %xmm12,%xmm5
  por    %xmm5,%xmm0
  pslld  $0x4,%xmm0
  por    %xmm8,%xmm0
  pslld  $0x4,%xmm0
  por    %xmm7,%xmm0
  pslld  $0x4,%xmm0
  por    %xmm4,%xmm0
  pslld  $0x4,%xmm0
  por    %xmm3,%xmm0
  pslld  $0x4,%xmm0
  por    %xmm2,%xmm0
  pslld  $0x4,%xmm0
  por    %xmm1,%xmm0
  movups %xmm0,-0x10(%r9)
  cmp    %r9,%r12
  jne    L505
  mov    %ebx,%r9d
  and    $0xfffffff8,%r9d
  mov    %r9d,%ecx
  neg    %ecx
  lea    (%r8,%rcx,8),%r8d
  mov    %r9d,%ecx
  lea    (%r10,%rcx,4),%r12
  shl    $0x4,%rcx
  add    %rsi,%rcx
  cmp    %ebx,%r9d
  je     L475
L457:
  movzwl (%rcx),%r9d
  movzwl 0x2(%rcx),%r13d
  and    %eax,%r9d
  and    %eax,%r13d
  shl    $0x4,%r9d
  or     %r9d,%r13d
  movzwl 0x4(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x6(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x8(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0xa(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0xc(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0xe(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r13d,%r9d
  mov    %r9d,(%r12)
  lea    -0x8(%r8),%r9d
  cmp    $0x7,%r9d
  jle    L475
  movzwl 0x10(%rcx),%r9d
  movzwl 0x12(%rcx),%r13d
  and    %eax,%r9d
  and    %eax,%r13d
  shl    $0x4,%r9d
  or     %r9d,%r13d
  movzwl 0x14(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x16(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x18(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x1a(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x1c(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x1e(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r13d,%r9d
  mov    %r9d,0x4(%r12)
  lea    -0x10(%r8),%r9d
  cmp    $0x7,%r9d
  jle    L475
  movzwl 0x20(%rcx),%r9d
  movzwl 0x22(%rcx),%r13d
  and    %eax,%r9d
  and    %eax,%r13d
  shl    $0x4,%r9d
  or     %r9d,%r13d
  movzwl 0x24(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x26(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x28(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x2a(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x2c(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x2e(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r13d,%r9d
  mov    %r9d,0x8(%r12)
  lea    -0x18(%r8),%r9d
  cmp    $0x7,%r9d
  jle    L475
  movzwl 0x30(%rcx),%r9d
  movzwl 0x32(%rcx),%r13d
  and    %eax,%r9d
  and    %eax,%r13d
  shl    $0x4,%r9d
  or     %r9d,%r13d
  movzwl 0x34(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x36(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x38(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x3a(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x3c(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x3e(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r13d,%r9d
  mov    %r9d,0xc(%r12)
  lea    -0x20(%r8),%r9d
  cmp    $0x7,%r9d
  jle    L475
  movzwl 0x40(%rcx),%r9d
  movzwl 0x42(%rcx),%r13d
  and    %eax,%r9d
  and    %eax,%r13d
  shl    $0x4,%r9d
  or     %r9d,%r13d
  movzwl 0x44(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x46(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x48(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x4a(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x4c(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x4e(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r13d,%r9d
  mov    %r9d,0x10(%r12)
  lea    -0x28(%r8),%r9d
  cmp    $0x7,%r9d
  jle    L475
  movzwl 0x50(%rcx),%r9d
  movzwl 0x52(%rcx),%r13d
  and    %eax,%r9d
  and    %eax,%r13d
  shl    $0x4,%r9d
  or     %r9d,%r13d
  movzwl 0x54(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x56(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x58(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x5a(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r9d,%r13d
  movzwl 0x5c(%rcx),%r9d
  shl    $0x4,%r13d
  and    %eax,%r9d
  or     %r13d,%r9d
  movzwl 0x5e(%rcx),%r13d
  shl    $0x4,%r9d
  and    %eax,%r13d
  or     %r13d,%r9d
  mov    %r9d,0x14(%r12)
  cmp    $0x37,%r8d
  jle    L475
  movzwl 0x60(%rcx),%r8d
  movzwl 0x62(%rcx),%r9d
  and    %eax,%r8d
  and    %eax,%r9d
  shl    $0x4,%r8d
  or     %r8d,%r9d
  movzwl 0x64(%rcx),%r8d
  shl    $0x4,%r9d
  and    %eax,%r8d
  or     %r9d,%r8d
  movzwl 0x66(%rcx),%r9d
  shl    $0x4,%r8d
  and    %eax,%r9d
  or     %r8d,%r9d
  movzwl 0x68(%rcx),%r8d
  shl    $0x4,%r9d
  and    %eax,%r8d
  or     %r9d,%r8d
  movzwl 0x6a(%rcx),%r9d
  shl    $0x4,%r8d
  and    %eax,%r9d
  or     %r8d,%r9d
  movzwl 0x6c(%rcx),%r8d
  movzwl 0x6e(%rcx),%ecx
  shl    $0x4,%r9d
  and    %eax,%r8d
  and    %eax,%ecx
  or     %r9d,%r8d
  shl    $0x4,%r8d
  or     %r8d,%ecx
  mov    %ecx,0x18(%r12)
L475:
  mov    %rbx,%rcx
  neg    %ebp
  lea    (%r10,%rbx,4),%r10
  shl    $0x4,%rcx
  lea    (%r11,%rbp,8),%r8d
  add    %rcx,%rsi
  jmp    L291
L202:
  cmp    $0x2,%edx
  jne    L451
  cmp    $0xf,%r8d
  jle    L291
  lea    -0x10(%r8),%r15d
  mov    %r15d,%ebx
  shr    $0x4,%ebx
  lea    0x1(%rbx),%r11d
  cmp    $0x6f,%r15d
  jbe    L727
  mov    %r11d,%ebp
  movd   %eax,%xmm0
  mov    %rsi,%rcx
  mov    %r10,%r9
  shr    $0x3,%ebp
  punpcklwd %xmm0,%xmm0
  pxor   %xmm15,%xmm15
  sub    $0x1,%ebp
  pshufd $0x0,%xmm0,%xmm2
  shl    $0x8,%rbp
  movdqa %xmm2,%xmm9
  lea    0x100(%rsi,%rbp,1),%rbp
  cs nopw 0x0(%rax,%rax,1)
L58:
  movdqu (%rcx),%xmm13
  movdqu 0x10(%rcx),%xmm8
  add    $0x20,%r9
  add    $0x100,%rcx
  movdqu -0xe0(%rcx),%xmm11
  movdqu -0xd0(%rcx),%xmm6
  movdqa %xmm13,%xmm12
  movdqa %xmm13,%xmm3
  punpcklwd %xmm8,%xmm13
  movdqu -0xc0(%rcx),%xmm7
  punpcklwd %xmm8,%xmm12
  punpckhwd %xmm8,%xmm3
  movdqa %xmm11,%xmm8
  movdqu -0xb0(%rcx),%xmm4
  movdqa %xmm12,%xmm10
  punpcklwd %xmm6,%xmm8
  punpcklwd %xmm3,%xmm12
  movdqu -0xa0(%rcx),%xmm5
  punpckhwd %xmm3,%xmm10
  punpcklwd %xmm3,%xmm13
  movdqa %xmm11,%xmm3
  movdqu -0x80(%rcx),%xmm0
  punpckhwd %xmm6,%xmm3
  punpcklwd %xmm10,%xmm12
  punpckhwd %xmm10,%xmm13
  movdqu -0x60(%rcx),%xmm2
  movdqa %xmm8,%xmm10
  punpcklwd %xmm6,%xmm11
  punpcklwd %xmm3,%xmm8
  movaps %xmm13,-0x28(%rsp)
  punpckhwd %xmm3,%xmm10
  punpcklwd %xmm3,%xmm11
  movdqa %xmm7,%xmm6
  movdqu -0x40(%rcx),%xmm1
  movdqa %xmm7,%xmm3
  punpckhwd %xmm10,%xmm11
  punpcklwd %xmm4,%xmm6
  movdqu -0x20(%rcx),%xmm14
  punpckhwd %xmm4,%xmm3
  punpcklwd %xmm4,%xmm7
  movaps %xmm11,-0x38(%rsp)
  movdqa %xmm6,%xmm11
  punpcklwd %xmm3,%xmm7
  movdqu -0x90(%rcx),%xmm4
  punpckhwd %xmm3,%xmm6
  punpcklwd %xmm3,%xmm11
  movdqa %xmm7,%xmm13
  punpcklwd %xmm6,%xmm11
  movdqa %xmm5,%xmm7
  punpckhwd %xmm6,%xmm13
  movdqa %xmm5,%xmm3
  punpcklwd %xmm4,%xmm7
  movdqu -0x90(%rcx),%xmm6
  punpckhwd %xmm4,%xmm3
  movdqa %xmm7,%xmm4
  punpcklwd %xmm10,%xmm8
  movdqu -0x70(%rcx),%xmm10
  punpcklwd %xmm6,%xmm5
  punpckhwd %xmm3,%xmm4
  punpcklwd %xmm3,%xmm7
  movaps %xmm13,-0x48(%rsp)
  punpcklwd %xmm3,%xmm5
  punpcklwd %xmm4,%xmm7
  movdqa %xmm0,%xmm6
  movdqu -0x30(%rcx),%xmm13
  punpckhwd %xmm4,%xmm5
  movdqu -0x70(%rcx),%xmm4
  movdqa %xmm0,%xmm3
  punpcklwd %xmm10,%xmm0
  movdqu -0x50(%rcx),%xmm10
  movaps %xmm5,-0x78(%rsp)
  punpcklwd %xmm4,%xmm6
  punpckhwd %xmm4,%xmm3
  movdqa %xmm6,%xmm4
  punpcklwd %xmm3,%xmm0
  punpcklwd %xmm3,%xmm6
  punpckhwd %xmm3,%xmm4
  movdqa %xmm2,%xmm3
  punpcklwd %xmm4,%xmm6
  punpckhwd %xmm4,%xmm0
  movdqu -0x50(%rcx),%xmm4
  punpckhwd %xmm4,%xmm3
  movdqa %xmm2,%xmm4
  punpcklwd %xmm10,%xmm2
  punpcklwd %xmm10,%xmm4
  punpcklwd %xmm3,%xmm2
  movdqu -0x30(%rcx),%xmm10
  movdqa %xmm4,%xmm5
  punpckhwd %xmm3,%xmm4
  punpcklwd %xmm3,%xmm5
  punpckhwd %xmm4,%xmm2
  movdqa %xmm1,%xmm3
  punpcklwd %xmm4,%xmm5
  movdqu -0x30(%rcx),%xmm4
  punpckhwd %xmm4,%xmm3
  movdqa %xmm1,%xmm4
  punpcklwd %xmm13,%xmm1
  movdqu -0x10(%rcx),%xmm13
  punpcklwd %xmm10,%xmm4
  punpcklwd %xmm3,%xmm1
  movdqa %xmm4,%xmm10
  punpcklwd %xmm3,%xmm4
  punpckhwd %xmm3,%xmm10
  movdqu -0x10(%rcx),%xmm3
  punpcklwd %xmm10,%xmm4
  punpckhwd %xmm10,%xmm1
  movdqa %xmm14,%xmm10
  punpckhwd %xmm3,%xmm10
  movaps %xmm1,-0x58(%rsp)
  movdqa %xmm14,%xmm3
  movdqu -0x10(%rcx),%xmm1
  punpcklwd %xmm13,%xmm3
  movdqa %xmm3,%xmm13
  punpcklwd %xmm1,%xmm14
  punpcklwd %xmm10,%xmm3
  punpckhwd %xmm10,%xmm13
  punpcklwd %xmm10,%xmm14
  movdqa %xmm12,%xmm10
  punpckhwd %xmm8,%xmm10
  punpcklwd %xmm13,%xmm3
  punpckhwd %xmm13,%xmm14
  movdqa %xmm10,%xmm13
  movdqa %xmm12,%xmm10
  punpcklwd %xmm8,%xmm12
  punpcklwd %xmm8,%xmm10
  movdqa %xmm14,%xmm1
  movdqa %xmm12,%xmm8
  movdqa %xmm10,%xmm14
  punpcklwd %xmm13,%xmm8
  punpcklwd %xmm13,%xmm10
  punpckhwd %xmm13,%xmm14
  movdqa %xmm11,%xmm12
  punpckhwd %xmm14,%xmm8
  punpckhwd %xmm7,%xmm12
  punpcklwd %xmm14,%xmm10
  movaps %xmm8,0x8(%rsp)
  movdqa %xmm11,%xmm8
  punpcklwd %xmm7,%xmm8
  movdqa %xmm8,%xmm14
  punpcklwd %xmm12,%xmm8
  punpckhwd %xmm12,%xmm14
  punpcklwd %xmm14,%xmm8
  movdqa %xmm14,%xmm13
  movdqa %xmm11,%xmm14
  punpcklwd %xmm7,%xmm14
  movdqa %xmm14,%xmm7
  movdqa %xmm6,%xmm14
  punpcklwd %xmm12,%xmm7
  punpckhwd %xmm5,%xmm14
  punpckhwd %xmm13,%xmm7
  movdqa %xmm14,%xmm11
  movaps %xmm7,-0x8(%rsp)
  movdqa %xmm6,%xmm7
  punpcklwd %xmm5,%xmm7
  movdqa %xmm7,%xmm12
  punpcklwd %xmm14,%xmm7
  punpckhwd %xmm14,%xmm12
  movdqa %xmm6,%xmm14
  movdqa %xmm4,%xmm6
  punpcklwd %xmm5,%xmm14
  punpcklwd %xmm3,%xmm6
  movdqa %xmm4,%xmm5
  punpcklwd %xmm11,%xmm14
  punpckhwd %xmm3,%xmm5
  punpcklwd %xmm12,%xmm7
  punpckhwd %xmm12,%xmm14
  punpcklwd %xmm3,%xmm4
  movdqa %xmm6,%xmm12
  punpckhwd %xmm5,%xmm12
  punpcklwd %xmm5,%xmm6
  punpcklwd %xmm5,%xmm4
  punpcklwd %xmm12,%xmm6
  punpckhwd %xmm12,%xmm4
  movdqa -0x28(%rsp),%xmm12
  movaps %xmm4,-0x68(%rsp)
  movdqa -0x38(%rsp),%xmm11
  movdqa -0x48(%rsp),%xmm13
  movdqa %xmm12,%xmm5
  movdqa %xmm12,%xmm3
  punpcklwd %xmm11,%xmm5
  punpcklwd %xmm11,%xmm12
  punpckhwd %xmm11,%xmm3
  movdqa %xmm5,%xmm4
  movdqa %xmm12,%xmm11
  punpcklwd %xmm3,%xmm5
  punpckhwd %xmm3,%xmm4
  punpcklwd %xmm3,%xmm11
  movdqa %xmm13,%xmm3
  punpckhwd %xmm4,%xmm11
  punpcklwd %xmm4,%xmm5
  movdqa %xmm13,%xmm4
  movaps %xmm11,-0x18(%rsp)
  movdqa -0x78(%rsp),%xmm11
  punpcklwd %xmm11,%xmm4
  punpckhwd %xmm11,%xmm3
  punpcklwd %xmm11,%xmm13
  movdqa %xmm4,%xmm12
  punpcklwd %xmm3,%xmm13
  punpcklwd %xmm3,%xmm4
  punpckhwd %xmm3,%xmm12
  movdqa %xmm0,%xmm3
  movdqa %xmm1,%xmm11
  punpcklwd %xmm12,%xmm4
  punpckhwd %xmm12,%xmm13
  movdqa %xmm0,%xmm12
  punpckhwd %xmm2,%xmm12
  punpcklwd %xmm2,%xmm3
  punpcklwd %xmm2,%xmm0
  movdqa -0x58(%rsp),%xmm2
  movaps %xmm13,-0x78(%rsp)
  movdqa %xmm3,%xmm13
  punpcklwd %xmm12,%xmm0
  punpcklwd %xmm12,%xmm3
  punpckhwd %xmm12,%xmm13
  movdqa %xmm2,%xmm12
  punpckhwd %xmm1,%xmm12
  movdqa %xmm2,%xmm1
  punpcklwd %xmm11,%xmm2
  punpcklwd %xmm13,%xmm3
  punpckhwd %xmm13,%xmm0
  movdqa %xmm2,%xmm13
  punpckhwd %xmm12,%xmm13
  punpcklwd %xmm11,%xmm1
  punpcklwd %xmm12,%xmm2
  punpcklwd %xmm13,%xmm2
  movaps %xmm13,-0x58(%rsp)
  movdqa %xmm1,%xmm13
  movdqa %xmm10,%xmm1
  punpcklwd %xmm12,%xmm13
  movdqa %xmm10,%xmm12
  punpckhwd %xmm8,%xmm1
  punpcklwd %xmm8,%xmm12
  punpcklwd %xmm8,%xmm10
  punpckhwd -0x58(%rsp),%xmm13
  movdqa %xmm12,%xmm11
  punpcklwd %xmm1,%xmm10
  punpckhwd %xmm1,%xmm12
  punpcklwd %xmm1,%xmm11
  punpckhwd %xmm12,%xmm10
  movdqa %xmm7,%xmm1
  punpcklwd %xmm12,%xmm11
  movdqa %xmm7,%xmm12
  punpckhwd %xmm6,%xmm1
  punpcklwd %xmm6,%xmm12
  punpcklwd %xmm6,%xmm7
  movaps %xmm11,-0x28(%rsp)
  movdqa -0x68(%rsp),%xmm11
  movdqa %xmm12,%xmm8
  punpcklwd %xmm1,%xmm7
  punpcklwd %xmm1,%xmm12
  punpckhwd %xmm1,%xmm8
  movdqa %xmm7,%xmm1
  movdqa %xmm5,%xmm7
  punpckhwd %xmm8,%xmm1
  punpcklwd %xmm8,%xmm12
  punpcklwd %xmm4,%xmm7
  movdqa -0x8(%rsp),%xmm8
  movaps %xmm1,-0x48(%rsp)
  movdqa %xmm5,%xmm1
  punpcklwd %xmm4,%xmm5
  movdqa %xmm7,%xmm6
  punpckhwd %xmm4,%xmm1
  movaps %xmm12,-0x38(%rsp)
  punpcklwd %xmm1,%xmm5
  punpckhwd %xmm1,%xmm6
  punpcklwd %xmm1,%xmm7
  movdqa %xmm5,%xmm12
  movdqa %xmm3,%xmm5
  movdqa %xmm3,%xmm1
  punpcklwd %xmm2,%xmm5
  punpcklwd %xmm2,%xmm3
  punpckhwd %xmm2,%xmm1
  movdqa %xmm5,%xmm4
  movdqa %xmm3,%xmm2
  punpcklwd %xmm6,%xmm7
  punpckhwd %xmm6,%xmm12
  punpckhwd %xmm1,%xmm4
  movdqa 0x8(%rsp),%xmm6
  punpcklwd %xmm1,%xmm2
  punpckhwd %xmm4,%xmm2
  punpcklwd %xmm1,%xmm5
  movaps %xmm2,-0x58(%rsp)
  movdqa %xmm6,%xmm2
  movdqa %xmm6,%xmm1
  punpcklwd %xmm8,%xmm6
  punpcklwd %xmm8,%xmm2
  punpckhwd %xmm8,%xmm1
  movdqa %xmm14,%xmm8
  movdqa %xmm2,%xmm3
  punpcklwd %xmm11,%xmm8
  punpcklwd %xmm1,%xmm2
  punpckhwd %xmm1,%xmm3
  punpcklwd %xmm1,%xmm6
  movdqa %xmm14,%xmm1
  punpckhwd %xmm11,%xmm1
  punpcklwd %xmm3,%xmm2
  punpckhwd %xmm3,%xmm6
  punpcklwd %xmm11,%xmm14
  movdqa %xmm8,%xmm3
  movdqa -0x18(%rsp),%xmm11
  punpcklwd %xmm1,%xmm8
  punpckhwd %xmm1,%xmm3
  punpcklwd %xmm1,%xmm14
  punpcklwd %xmm4,%xmm5
  punpckhwd %xmm3,%xmm14
  movdqa %xmm11,%xmm1
  punpcklwd %xmm3,%xmm8
  movaps %xmm14,-0x68(%rsp)
  movdqa -0x78(%rsp),%xmm14
  movdqa %xmm11,%xmm3
  punpcklwd %xmm14,%xmm1
  punpcklwd %xmm14,%xmm11
  punpckhwd %xmm14,%xmm3
  movdqa %xmm1,%xmm4
  movdqa %xmm11,%xmm14
  movdqa %xmm0,%xmm11
  punpckhwd %xmm3,%xmm4
  punpcklwd %xmm3,%xmm14
  punpcklwd %xmm13,%xmm11
  punpckhwd %xmm4,%xmm14
  punpcklwd %xmm3,%xmm1
  movdqa %xmm0,%xmm3
  punpcklwd %xmm13,%xmm0
  punpckhwd %xmm13,%xmm3
  punpcklwd %xmm4,%xmm1
  movaps %xmm14,-0x78(%rsp)
  movdqa %xmm11,%xmm4
  movdqa %xmm0,%xmm14
  punpcklwd %xmm3,%xmm11
  movdqa -0x38(%rsp),%xmm13
  punpckhwd %xmm3,%xmm4
  punpcklwd %xmm3,%xmm14
  punpcklwd %xmm4,%xmm11
  punpckhwd %xmm4,%xmm14
  movdqa -0x28(%rsp),%xmm4
  movaps %xmm11,0x28(%rsp)
  movdqa %xmm4,%xmm0
  movdqa %xmm4,%xmm3
  movdqa %xmm7,%xmm4
  punpcklwd %xmm13,%xmm0
  punpckhwd %xmm13,%xmm3
  punpcklwd %xmm5,%xmm4
  movdqa %xmm0,%xmm13
  punpcklwd %xmm3,%xmm0
  punpckhwd %xmm3,%xmm13
  punpcklwd %xmm13,%xmm0
  movaps %xmm13,0x58(%rsp)
  movdqa %xmm7,%xmm13
  pand   %xmm9,%xmm0
  punpckhwd %xmm5,%xmm13
  movaps %xmm0,-0x18(%rsp)
  movdqa %xmm4,%xmm0
  punpckhwd %xmm13,%xmm4
  punpcklwd %xmm13,%xmm0
  movaps %xmm4,0x78(%rsp)
  punpcklwd %xmm4,%xmm0
  movdqa %xmm2,%xmm4
  movaps %xmm13,0x68(%rsp)
  movdqa %xmm2,%xmm13
  punpcklwd %xmm8,%xmm4
  pand   %xmm9,%xmm0
  punpckhwd %xmm8,%xmm13
  movaps %xmm0,-0x8(%rsp)
  movdqa %xmm4,%xmm0
  punpckhwd %xmm13,%xmm4
  punpcklwd %xmm8,%xmm2
  punpcklwd %xmm13,%xmm0
  movaps %xmm4,0x98(%rsp)
  movaps %xmm13,0x88(%rsp)
  punpcklwd %xmm4,%xmm0
  movdqa %xmm0,%xmm13
  movdqa %xmm1,%xmm0
  punpckhwd %xmm11,%xmm0
  pand   %xmm9,%xmm13
  movaps %xmm13,0x8(%rsp)
  movdqa %xmm0,%xmm13
  movdqa %xmm1,%xmm0
  movaps %xmm13,0xa8(%rsp)
  punpcklwd %xmm11,%xmm0
  movdqa %xmm0,%xmm4
  punpcklwd %xmm13,%xmm0
  punpckhwd %xmm13,%xmm4
  movdqa %xmm10,%xmm13
  punpcklwd %xmm4,%xmm0
  movaps %xmm4,0xb8(%rsp)
  movdqa %xmm6,%xmm4
  pand   %xmm9,%xmm0
  movaps %xmm0,0x18(%rsp)
  movdqa %xmm10,%xmm0
  movdqa -0x48(%rsp),%xmm11
  punpcklwd 0x88(%rsp),%xmm2
  movaps %xmm10,0x48(%rsp)
  punpcklwd 0x28(%rsp),%xmm1
  punpckhwd 0x98(%rsp),%xmm2
  punpcklwd %xmm11,%xmm13
  punpckhwd %xmm11,%xmm0
  movaps %xmm12,0x38(%rsp)
  movdqa %xmm12,%xmm11
  movdqa %xmm13,%xmm10
  movaps %xmm0,0xc8(%rsp)
  punpcklwd %xmm0,%xmm13
  punpcklwd 0xa8(%rsp),%xmm1
  punpckhwd %xmm0,%xmm10
  movdqa -0x58(%rsp),%xmm0
  pand   %xmm9,%xmm2
  punpckhwd 0xb8(%rsp),%xmm1
  movaps %xmm10,0xd8(%rsp)
  punpcklwd %xmm10,%xmm13
  movdqa 0x48(%rsp),%xmm8
  punpcklwd -0x48(%rsp),%xmm8
  punpcklwd %xmm0,%xmm12
  punpckhwd %xmm0,%xmm11
  movdqa %xmm6,%xmm0
  movdqa %xmm12,%xmm10
  punpcklwd %xmm11,%xmm12
  pand   %xmm9,%xmm13
  movaps %xmm11,0xe8(%rsp)
  punpckhwd %xmm11,%xmm10
  punpcklwd -0x68(%rsp),%xmm6
  pand   %xmm9,%xmm1
  movaps %xmm10,0xf8(%rsp)
  punpcklwd %xmm10,%xmm12
  movdqa -0x68(%rsp),%xmm10
  punpcklwd 0xc8(%rsp),%xmm8
  punpckhwd 0xd8(%rsp),%xmm8
  pand   %xmm9,%xmm12
  punpckhwd %xmm10,%xmm0
  punpcklwd %xmm10,%xmm4
  movdqa -0x78(%rsp),%xmm10
  movdqa %xmm4,%xmm11
  punpckhwd %xmm0,%xmm4
  pand   %xmm9,%xmm8
  movaps %xmm0,0x108(%rsp)
  punpcklwd %xmm0,%xmm11
  movdqa %xmm10,%xmm0
  punpcklwd %xmm14,%xmm10
  movaps %xmm4,0x118(%rsp)
  punpckhwd %xmm14,%xmm0
  punpcklwd %xmm4,%xmm11
  movdqa %xmm10,%xmm4
  punpckhwd %xmm0,%xmm4
  punpcklwd %xmm0,%xmm10
  pand   %xmm9,%xmm11
  movaps %xmm4,0x128(%rsp)
  punpcklwd %xmm4,%xmm10
  movdqa -0x28(%rsp),%xmm4
  punpcklwd -0x38(%rsp),%xmm4
  pand   %xmm9,%xmm10
  punpcklwd %xmm3,%xmm4
  movdqa %xmm7,%xmm3
  punpckhwd 0x58(%rsp),%xmm4
  movdqa 0x38(%rsp),%xmm7
  punpcklwd %xmm5,%xmm3
  punpcklwd -0x58(%rsp),%xmm7
  punpcklwd 0x68(%rsp),%xmm3
  punpcklwd 0xe8(%rsp),%xmm7
  punpckhwd 0x78(%rsp),%xmm3
  pand   %xmm9,%xmm4
  punpckhwd 0xf8(%rsp),%xmm7
  punpcklwd 0x108(%rsp),%xmm6
  movdqa -0x78(%rsp),%xmm5
  pand   %xmm9,%xmm3
  punpckhwd 0x118(%rsp),%xmm6
  pand   %xmm9,%xmm7
  punpcklwd %xmm14,%xmm5
  movdqa -0x8(%rsp),%xmm14
  pand   %xmm9,%xmm6
  punpcklwd %xmm0,%xmm5
  movdqa -0x18(%rsp),%xmm0
  punpckhwd 0x128(%rsp),%xmm5
  punpcklwd %xmm15,%xmm14
  punpcklwd %xmm15,%xmm0
  pand   %xmm9,%xmm5
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa 0x8(%rsp),%xmm14
  pslld  $0x2,%xmm0
  punpcklwd %xmm15,%xmm14
  por    %xmm14,%xmm0
  movdqa 0x18(%rsp),%xmm14
  pslld  $0x2,%xmm0
  punpcklwd %xmm15,%xmm14
  por    %xmm14,%xmm0
  movdqa %xmm13,%xmm14
  punpckhwd %xmm15,%xmm13
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm12,%xmm14
  punpckhwd %xmm15,%xmm12
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm11,%xmm14
  punpckhwd %xmm15,%xmm11
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm10,%xmm14
  punpckhwd %xmm15,%xmm10
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm4,%xmm14
  punpckhwd %xmm15,%xmm4
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm3,%xmm14
  punpckhwd %xmm15,%xmm3
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm2,%xmm14
  punpckhwd %xmm15,%xmm2
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm1,%xmm14
  punpckhwd %xmm15,%xmm1
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm8,%xmm14
  punpckhwd %xmm15,%xmm8
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm7,%xmm14
  punpckhwd %xmm15,%xmm7
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm6,%xmm14
  punpckhwd %xmm15,%xmm6
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa %xmm5,%xmm14
  punpckhwd %xmm15,%xmm5
  punpcklwd %xmm15,%xmm14
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa -0x8(%rsp),%xmm14
  movups %xmm0,-0x20(%r9)
  movdqa -0x18(%rsp),%xmm0
  punpckhwd %xmm15,%xmm14
  punpckhwd %xmm15,%xmm0
  pslld  $0x2,%xmm0
  por    %xmm14,%xmm0
  movdqa 0x8(%rsp),%xmm14
  pslld  $0x2,%xmm0
  punpckhwd %xmm15,%xmm14
  por    %xmm14,%xmm0
  movdqa 0x18(%rsp),%xmm14
  pslld  $0x2,%xmm0
  punpckhwd %xmm15,%xmm14
  por    %xmm14,%xmm0
  pslld  $0x2,%xmm0
  por    %xmm0,%xmm13
  pslld  $0x2,%xmm13
  por    %xmm13,%xmm12
  pslld  $0x2,%xmm12
  por    %xmm12,%xmm11
  pslld  $0x2,%xmm11
  por    %xmm11,%xmm10
  pslld  $0x2,%xmm10
  por    %xmm10,%xmm4
  pslld  $0x2,%xmm4
  por    %xmm4,%xmm3
  pslld  $0x2,%xmm3
  por    %xmm3,%xmm2
  pslld  $0x2,%xmm2
  por    %xmm2,%xmm1
  pslld  $0x2,%xmm1
  por    %xmm1,%xmm8
  pslld  $0x2,%xmm8
  por    %xmm8,%xmm7
  pslld  $0x2,%xmm7
  por    %xmm7,%xmm6
  pslld  $0x2,%xmm6
  por    %xmm6,%xmm5
  movups %xmm5,-0x10(%r9)
  cmp    %rcx,%rbp
  jne    L58
  mov    %r11d,%r9d
  and    $0xfffffff8,%r9d
  mov    %r9d,%ecx
  shl    $0x4,%ecx
  sub    %ecx,%r8d
  mov    %r9d,%ecx
  lea    (%r10,%rcx,4),%rbp
  shl    $0x5,%rcx
  add    %rsi,%rcx
  cmp    %r11d,%r9d
  je     L218
  nopl   0x0(%rax,%rax,1)
L352:
  movzwl (%rcx),%r9d
  movzwl 0x2(%rcx),%r12d
  and    %eax,%r9d
  and    %eax,%r12d
  shl    $0x2,%r9d
  or     %r9d,%r12d
  movzwl 0x4(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl 0x6(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  or     %r9d,%r12d
  movzwl 0x8(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl 0xa(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  or     %r9d,%r12d
  movzwl 0xc(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl 0xe(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  or     %r9d,%r12d
  movzwl 0x10(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl 0x12(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  or     %r9d,%r12d
  movzwl 0x14(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl 0x16(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  add    $0x20,%rcx
  add    $0x4,%rbp
  sub    $0x10,%r8d
  or     %r9d,%r12d
  movzwl -0x8(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl -0x6(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  or     %r9d,%r12d
  movzwl -0x4(%rcx),%r9d
  shl    $0x2,%r12d
  and    %eax,%r9d
  or     %r12d,%r9d
  movzwl -0x2(%rcx),%r12d
  shl    $0x2,%r9d
  and    %eax,%r12d
  or     %r12d,%r9d
  mov    %r9d,-0x4(%rbp)
  cmp    $0xf,%r8d
  jg     L352
L218:
  mov    %r11,%rcx
  shl    $0x4,%ebx
  lea    (%r10,%r11,4),%r10
  shl    $0x5,%rcx
  sub    %ebx,%r15d
  add    %rcx,%rsi
  mov    %r15d,%r8d
  jmp    L291
L451:
  cmp    $0x1,%edx
  jne    L291
  cmp    $0x1f,%r8d
  jle    L291
  lea    -0x20(%r8),%ebp
  mov    %ebp,%ebx
  shr    $0x5,%ebx
  lea    0x1(%rbx),%r11d
  cmp    $0xdf,%ebp
  jbe    L90
  mov    %r11d,%r12d
  mov    %r10,%r9
  mov    %rsi,%rcx
  shr    $0x3,%r12d
  sub    $0x1,%r12d
  shl    $0x5,%r12
  lea    0x20(%r10,%r12,1),%r12
  nopl   0x0(%rax)
L412:
  movdqu (%rcx),%xmm14
  movdqu 0x10(%rcx),%xmm12
  add    $0x20,%r9
  add    $0x200,%rcx
  movdqu -0x180(%rcx),%xmm7
  movdqu -0x160(%rcx),%xmm6
  movdqa %xmm14,%xmm13
  movdqa %xmm14,%xmm11
  punpcklwd %xmm12,%xmm14
  movdqu -0x1e0(%rcx),%xmm10
  punpcklwd %xmm12,%xmm13
  punpckhwd %xmm12,%xmm11
  movdqu -0x1c0(%rcx),%xmm9
  movdqu -0x1a0(%rcx),%xmm8
  movdqa %xmm13,%xmm15
  punpcklwd %xmm11,%xmm14
  punpcklwd %xmm11,%xmm13
  movdqu -0x140(%rcx),%xmm5
  punpckhwd %xmm11,%xmm15
  movdqa %xmm10,%xmm12
  movdqa %xmm10,%xmm11
  movdqu -0x120(%rcx),%xmm0
  punpcklwd %xmm15,%xmm13
  punpckhwd %xmm15,%xmm14
  movdqu -0x1d0(%rcx),%xmm15
  movdqu -0xc0(%rcx),%xmm3
  movdqu -0x100(%rcx),%xmm4
  movdqu -0xe0(%rcx),%xmm1
  movaps %xmm14,0x148(%rsp)
  punpcklwd %xmm15,%xmm12
  punpckhwd %xmm15,%xmm11
  movdqu -0xa0(%rcx),%xmm2
  movdqa %xmm12,%xmm15
  punpckhwd %xmm11,%xmm12
  punpcklwd %xmm11,%xmm15
  punpcklwd %xmm12,%xmm15
  movaps %xmm15,-0x78(%rsp)
  movdqu -0x1d0(%rcx),%xmm15
  punpcklwd %xmm15,%xmm10
  punpcklwd %xmm11,%xmm10
  movdqu -0x1b0(%rcx),%xmm11
  movdqa %xmm10,%xmm15
  movdqa %xmm9,%xmm10
  punpckhwd %xmm12,%xmm15
  punpckhwd %xmm11,%xmm10
  movdqa %xmm9,%xmm11
  movdqu -0x1b0(%rcx),%xmm12
  movaps %xmm15,0x138(%rsp)
  punpcklwd %xmm12,%xmm11
  movdqa %xmm11,%xmm12
  punpcklwd %xmm10,%xmm11
  punpckhwd %xmm10,%xmm12
  punpcklwd %xmm12,%xmm11
  movdqa %xmm12,%xmm14
  movdqu -0x1b0(%rcx),%xmm12
  punpcklwd %xmm12,%xmm9
  movdqa %xmm8,%xmm12
  punpcklwd %xmm10,%xmm9
  movdqu -0x190(%rcx),%xmm10
  punpckhwd %xmm14,%xmm9
  movaps %xmm9,0x128(%rsp)
  punpckhwd %xmm10,%xmm12
  movdqa %xmm8,%xmm10
  movdqa %xmm12,%xmm9
  movdqu -0x190(%rcx),%xmm12
  punpcklwd %xmm12,%xmm10
  movdqa %xmm10,%xmm15
  movdqa %xmm10,%xmm12
  movdqa %xmm10,%xmm8
  punpckhwd %xmm9,%xmm12
  punpcklwd %xmm9,%xmm15
  punpcklwd %xmm9,%xmm8
  movdqu -0x170(%rcx),%xmm9
  punpcklwd %xmm12,%xmm15
  punpckhwd %xmm12,%xmm8
  movdqa %xmm7,%xmm12
  punpckhwd %xmm9,%xmm12
  movaps %xmm8,0x68(%rsp)
  movdqa %xmm12,%xmm8
  movdqa %xmm7,%xmm12
  movaps %xmm15,0x78(%rsp)
  movdqa %xmm6,%xmm15
  punpcklwd %xmm9,%xmm12
  movdqa %xmm12,%xmm9
  punpckhwd %xmm8,%xmm12
  punpcklwd %xmm8,%xmm9
  movdqa %xmm12,%xmm14
  punpcklwd %xmm12,%xmm9
  movdqu -0x170(%rcx),%xmm12
  punpcklwd %xmm12,%xmm7
  movdqa %xmm6,%xmm12
  punpcklwd %xmm8,%xmm7
  punpckhwd %xmm14,%xmm7
  movdqa %xmm0,%xmm14
  movaps %xmm7,0x118(%rsp)
  movdqu -0x150(%rcx),%xmm7
  punpckhwd %xmm7,%xmm12
  movdqa %xmm12,%xmm7
  movdqu -0x150(%rcx),%xmm12
  punpcklwd %xmm12,%xmm15
  punpcklwd %xmm12,%xmm6
  movdqa %xmm5,%xmm12
  movdqa %xmm15,%xmm8
  punpcklwd %xmm7,%xmm6
  punpcklwd %xmm7,%xmm15
  punpckhwd %xmm7,%xmm8
  punpcklwd %xmm8,%xmm15
  punpckhwd %xmm8,%xmm6
  movaps %xmm15,-0x28(%rsp)
  movaps %xmm6,0x58(%rsp)
  movdqu -0x130(%rcx),%xmm7
  punpckhwd %xmm7,%xmm12
  movdqa %xmm12,%xmm6
  movdqa %xmm5,%xmm12
  punpcklwd %xmm7,%xmm12
  movdqa %xmm12,%xmm8
  punpckhwd %xmm6,%xmm12
  punpcklwd %xmm6,%xmm8
  movdqa %xmm12,%xmm7
  punpcklwd %xmm12,%xmm8
  movdqu -0x130(%rcx),%xmm12
  punpcklwd %xmm12,%xmm5
  movdqa %xmm0,%xmm12
  punpcklwd %xmm6,%xmm5
  punpckhwd %xmm7,%xmm5
  movdqu -0x110(%rcx),%xmm7
  movaps %xmm5,0x108(%rsp)
  punpckhwd %xmm7,%xmm12
  movdqa %xmm0,%xmm7
  movdqa %xmm12,%xmm5
  movdqu -0x110(%rcx),%xmm12
  punpcklwd %xmm12,%xmm7
  punpcklwd %xmm12,%xmm14
  movdqa %xmm4,%xmm12
  movdqa %xmm7,%xmm6
  punpcklwd %xmm5,%xmm14
  punpcklwd %xmm5,%xmm7
  punpckhwd %xmm5,%xmm6
  movdqu -0xf0(%rcx),%xmm5
  punpcklwd %xmm6,%xmm7
  punpckhwd %xmm6,%xmm14
  punpckhwd %xmm5,%xmm12
  movaps %xmm7,-0x38(%rsp)
  movdqa %xmm12,%xmm0
  movdqa %xmm4,%xmm12
  movaps %xmm14,0x48(%rsp)
  movdqu -0x60(%rcx),%xmm14
  punpcklwd %xmm5,%xmm12
  movdqa %xmm12,%xmm7
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm7
  movdqa %xmm12,%xmm5
  punpcklwd %xmm12,%xmm7
  movdqu -0xf0(%rcx),%xmm12
  punpcklwd %xmm12,%xmm4
  movdqa %xmm1,%xmm12
  punpcklwd %xmm0,%xmm4
  punpckhwd %xmm5,%xmm4
  movaps %xmm4,0x38(%rsp)
  movdqu -0xd0(%rcx),%xmm4
  punpckhwd %xmm4,%xmm12
  movdqa %xmm12,%xmm0
  movdqa %xmm1,%xmm12
  punpcklwd %xmm4,%xmm12
  movdqa %xmm12,%xmm15
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm15
  movdqa %xmm12,%xmm4
  punpcklwd %xmm12,%xmm15
  movdqu -0xd0(%rcx),%xmm12
  punpcklwd %xmm12,%xmm1
  movdqa %xmm3,%xmm12
  punpcklwd %xmm0,%xmm1
  punpckhwd %xmm4,%xmm1
  movdqa %xmm3,%xmm4
  movaps %xmm1,0x28(%rsp)
  movdqu -0xb0(%rcx),%xmm1
  punpckhwd %xmm1,%xmm12
  movdqa %xmm12,%xmm0
  movdqa %xmm3,%xmm12
  punpcklwd %xmm1,%xmm12
  movdqa %xmm12,%xmm6
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm6
  movdqa %xmm12,%xmm1
  punpcklwd %xmm12,%xmm6
  movdqu -0xb0(%rcx),%xmm12
  punpcklwd %xmm12,%xmm4
  movdqa %xmm2,%xmm12
  punpcklwd %xmm0,%xmm4
  movdqa %xmm4,%xmm0
  punpckhwd %xmm1,%xmm0
  movdqu -0x90(%rcx),%xmm1
  movaps %xmm0,0x18(%rsp)
  punpckhwd %xmm1,%xmm12
  movdqa %xmm12,%xmm0
  movdqa %xmm2,%xmm12
  punpcklwd %xmm1,%xmm12
  movdqa %xmm12,%xmm5
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm5
  movdqa %xmm12,%xmm1
  punpcklwd %xmm12,%xmm5
  movdqu -0x90(%rcx),%xmm12
  punpcklwd %xmm12,%xmm2
  movdqu -0x80(%rcx),%xmm12
  punpcklwd %xmm0,%xmm2
  punpckhwd %xmm1,%xmm2
  movaps %xmm2,0x8(%rsp)
  movdqu -0x70(%rcx),%xmm2
  punpckhwd %xmm2,%xmm12
  movdqa %xmm12,%xmm0
  movdqu -0x80(%rcx),%xmm12
  punpcklwd %xmm2,%xmm12
  movdqu -0x80(%rcx),%xmm2
  movdqa %xmm12,%xmm4
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm4
  movdqa %xmm12,%xmm1
  punpcklwd %xmm12,%xmm4
  movdqu -0x70(%rcx),%xmm12
  punpcklwd %xmm12,%xmm2
  movdqu -0x60(%rcx),%xmm12
  punpcklwd %xmm0,%xmm2
  punpckhwd %xmm1,%xmm2
  movdqu -0x50(%rcx),%xmm1
  movaps %xmm2,-0x8(%rsp)
  punpckhwd %xmm1,%xmm12
  movdqa %xmm12,%xmm0
  movdqu -0x60(%rcx),%xmm12
  punpcklwd %xmm1,%xmm12
  movdqa %xmm12,%xmm3
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm3
  movdqa %xmm12,%xmm1
  punpcklwd %xmm12,%xmm3
  movdqu -0x50(%rcx),%xmm12
  punpcklwd %xmm12,%xmm14
  movdqu -0x40(%rcx),%xmm12
  punpcklwd %xmm0,%xmm14
  punpckhwd %xmm1,%xmm14
  movaps %xmm14,-0x18(%rsp)
  movdqu -0x30(%rcx),%xmm1
  movdqu -0x40(%rcx),%xmm14
  movdqu -0x10(%rcx),%xmm10
  punpckhwd %xmm1,%xmm12
  movdqa %xmm12,%xmm0
  movdqu -0x40(%rcx),%xmm12
  punpcklwd %xmm1,%xmm12
  movdqa %xmm12,%xmm2
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm2
  movdqa %xmm12,%xmm1
  punpcklwd %xmm12,%xmm2
  movdqu -0x30(%rcx),%xmm12
  punpcklwd %xmm12,%xmm14
  movdqu -0x20(%rcx),%xmm12
  punpcklwd %xmm0,%xmm14
  punpckhwd %xmm1,%xmm14
  movdqu -0x10(%rcx),%xmm1
  movaps %xmm14,-0x68(%rsp)
  punpckhwd %xmm1,%xmm12
  movdqa %xmm12,%xmm0
  movdqu -0x20(%rcx),%xmm12
  punpcklwd %xmm1,%xmm12
  movdqa %xmm12,%xmm1
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm1
  movdqa %xmm12,%xmm14
  punpcklwd %xmm12,%xmm1
  movdqu -0x20(%rcx),%xmm12
  punpcklwd %xmm10,%xmm12
  movdqa -0x78(%rsp),%xmm10
  punpcklwd %xmm0,%xmm12
  punpckhwd %xmm14,%xmm12
  movaps %xmm12,-0x58(%rsp)
  movdqa %xmm13,%xmm12
  punpckhwd %xmm10,%xmm12
  movdqa %xmm12,%xmm14
  movdqa %xmm13,%xmm12
  punpcklwd -0x78(%rsp),%xmm13
  punpcklwd %xmm10,%xmm12
  movdqa %xmm12,%xmm10
  punpckhwd %xmm14,%xmm12
  punpcklwd %xmm14,%xmm10
  movdqa %xmm12,%xmm0
  punpcklwd %xmm12,%xmm10
  movdqa %xmm13,%xmm12
  movdqa %xmm11,%xmm13
  punpcklwd %xmm14,%xmm12
  movaps %xmm10,-0x48(%rsp)
  punpckhwd %xmm0,%xmm12
  movdqa 0x78(%rsp),%xmm0
  movaps %xmm12,0xf8(%rsp)
  movdqa %xmm11,%xmm12
  punpcklwd %xmm0,%xmm11
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm13
  movdqa -0x28(%rsp),%xmm0
  movdqa %xmm11,%xmm10
  movdqa %xmm13,%xmm14
  punpckhwd %xmm12,%xmm13
  punpcklwd %xmm12,%xmm10
  movdqa %xmm9,%xmm11
  punpcklwd %xmm12,%xmm14
  punpckhwd %xmm13,%xmm10
  punpckhwd %xmm0,%xmm11
  punpcklwd %xmm13,%xmm14
  movaps %xmm10,0xe8(%rsp)
  movdqa %xmm9,%xmm10
  punpcklwd %xmm0,%xmm9
  punpcklwd %xmm0,%xmm10
  punpcklwd %xmm11,%xmm9
  movdqa -0x38(%rsp),%xmm0
  movdqa %xmm10,%xmm12
  punpcklwd %xmm11,%xmm10
  punpckhwd %xmm11,%xmm12
  movdqa %xmm8,%xmm11
  punpckhwd %xmm12,%xmm9
  punpckhwd %xmm0,%xmm11
  punpcklwd %xmm12,%xmm10
  movaps %xmm9,0xd8(%rsp)
  movdqa %xmm8,%xmm9
  punpcklwd %xmm0,%xmm8
  punpcklwd %xmm0,%xmm9
  punpcklwd %xmm11,%xmm8
  movdqa %xmm6,%xmm0
  movdqa %xmm9,%xmm12
  punpcklwd %xmm11,%xmm9
  punpcklwd %xmm5,%xmm0
  punpckhwd %xmm11,%xmm12
  movdqa %xmm7,%xmm11
  punpckhwd %xmm12,%xmm8
  punpcklwd %xmm12,%xmm9
  punpckhwd %xmm15,%xmm11
  movaps %xmm8,0xc8(%rsp)
  movdqa %xmm7,%xmm8
  punpcklwd %xmm15,%xmm7
  punpcklwd %xmm15,%xmm8
  movdqa %xmm7,%xmm15
  movdqa %xmm6,%xmm7
  movdqa %xmm8,%xmm12
  punpcklwd %xmm11,%xmm15
  punpcklwd %xmm11,%xmm8
  punpckhwd %xmm11,%xmm12
  punpckhwd %xmm5,%xmm7
  movdqa %xmm0,%xmm11
  punpcklwd %xmm12,%xmm8
  punpckhwd %xmm12,%xmm15
  movdqa %xmm6,%xmm12
  punpcklwd %xmm5,%xmm12
  punpckhwd %xmm7,%xmm11
  punpcklwd %xmm7,%xmm0
  movaps %xmm15,0xb8(%rsp)
  punpcklwd %xmm7,%xmm12
  punpcklwd %xmm11,%xmm0
  movdqa %xmm12,%xmm7
  movdqa %xmm2,%xmm12
  movaps %xmm0,-0x28(%rsp)
  punpckhwd %xmm11,%xmm7
  movdqa %xmm4,%xmm11
  punpcklwd %xmm1,%xmm12
  movaps %xmm7,0xa8(%rsp)
  movdqa %xmm4,%xmm7
  punpckhwd %xmm3,%xmm11
  punpcklwd %xmm3,%xmm4
  punpcklwd %xmm3,%xmm7
  movdqa %xmm11,%xmm5
  movdqa %xmm12,%xmm15
  movdqa %xmm7,%xmm11
  punpcklwd %xmm5,%xmm4
  punpcklwd %xmm5,%xmm7
  punpckhwd %xmm5,%xmm11
  punpcklwd %xmm11,%xmm7
  punpckhwd %xmm11,%xmm4
  movdqa %xmm2,%xmm11
  punpckhwd %xmm1,%xmm11
  movaps %xmm4,0x98(%rsp)
  punpckhwd %xmm11,%xmm15
  movdqa %xmm11,%xmm3
  punpcklwd %xmm11,%xmm12
  movdqa %xmm2,%xmm11
  punpcklwd %xmm15,%xmm12
  punpcklwd %xmm1,%xmm11
  movaps %xmm12,-0x38(%rsp)
  punpcklwd %xmm3,%xmm11
  movdqa 0x148(%rsp),%xmm3
  punpckhwd %xmm15,%xmm11
  movdqa 0x138(%rsp),%xmm15
  movdqa %xmm3,%xmm1
  movdqa %xmm3,%xmm12
  movaps %xmm11,0x88(%rsp)
  punpckhwd %xmm15,%xmm1
  punpcklwd %xmm15,%xmm12
  punpcklwd %xmm15,%xmm3
  punpcklwd %xmm1,%xmm3
  movdqa %xmm12,%xmm11
  punpcklwd %xmm1,%xmm12
  punpckhwd %xmm1,%xmm11
  movdqa %xmm3,%xmm4
  movdqa 0x68(%rsp),%xmm3
  punpcklwd %xmm11,%xmm12
  punpckhwd %xmm11,%xmm4
  movdqa 0x128(%rsp),%xmm11
  movaps %xmm4,0x78(%rsp)
  movdqa %xmm11,%xmm15
  movdqa %xmm11,%xmm1
  punpcklwd %xmm3,%xmm11
  punpcklwd %xmm3,%xmm15
  punpckhwd %xmm3,%xmm1
  movdqa %xmm15,%xmm13
  punpcklwd %xmm1,%xmm11
  punpcklwd %xmm1,%xmm15
  punpckhwd %xmm1,%xmm13
  punpckhwd %xmm13,%xmm11
  punpcklwd %xmm13,%xmm15
  movaps %xmm11,0x68(%rsp)
  movdqa 0x58(%rsp),%xmm3
  movdqa 0x118(%rsp),%xmm6
  movdqa 0x48(%rsp),%xmm0
  movdqa %xmm6,%xmm1
  movdqa %xmm6,%xmm11
  punpcklwd %xmm3,%xmm6
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm11
  movdqa 0x108(%rsp),%xmm3
  movdqa %xmm11,%xmm13
  punpcklwd %xmm1,%xmm6
  punpcklwd %xmm1,%xmm11
  punpckhwd %xmm1,%xmm13
  movdqa %xmm6,%xmm1
  movdqa %xmm3,%xmm6
  punpckhwd %xmm13,%xmm1
  punpckhwd %xmm0,%xmm6
  punpcklwd %xmm13,%xmm11
  movaps %xmm1,0x58(%rsp)
  movdqa %xmm6,%xmm1
  movdqa %xmm3,%xmm6
  punpcklwd %xmm0,%xmm3
  punpcklwd %xmm0,%xmm6
  punpcklwd %xmm1,%xmm3
  movdqa 0x8(%rsp),%xmm0
  movdqa %xmm6,%xmm13
  punpcklwd %xmm1,%xmm6
  punpckhwd %xmm1,%xmm13
  punpcklwd %xmm13,%xmm6
  punpckhwd %xmm13,%xmm3
  movdqa 0x38(%rsp),%xmm13
  movaps %xmm3,0x48(%rsp)
  movdqa 0x28(%rsp),%xmm3
  movdqa %xmm13,%xmm5
  movdqa %xmm13,%xmm1
  punpcklwd %xmm3,%xmm5
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm13
  movdqa %xmm5,%xmm2
  punpcklwd %xmm1,%xmm13
  punpcklwd %xmm1,%xmm5
  punpckhwd %xmm1,%xmm2
  punpckhwd %xmm2,%xmm13
  punpcklwd %xmm2,%xmm5
  movaps %xmm13,0x38(%rsp)
  movdqa 0x18(%rsp),%xmm13
  movdqa %xmm13,%xmm4
  movdqa %xmm13,%xmm1
  punpcklwd %xmm0,%xmm13
  punpcklwd %xmm0,%xmm4
  punpckhwd %xmm0,%xmm1
  movdqa -0x18(%rsp),%xmm0
  movdqa %xmm4,%xmm2
  punpcklwd %xmm1,%xmm13
  punpcklwd %xmm1,%xmm4
  punpckhwd %xmm1,%xmm2
  punpckhwd %xmm2,%xmm13
  punpcklwd %xmm2,%xmm4
  movaps %xmm13,0x28(%rsp)
  movdqa -0x8(%rsp),%xmm13
  movdqa %xmm13,%xmm3
  movdqa %xmm13,%xmm2
  punpcklwd %xmm0,%xmm13
  punpckhwd %xmm0,%xmm3
  punpcklwd %xmm0,%xmm2
  movdqa -0x68(%rsp),%xmm0
  movdqa %xmm3,%xmm1
  movaps %xmm2,-0x78(%rsp)
  punpckhwd %xmm3,%xmm2
  movdqa -0x78(%rsp),%xmm3
  punpcklwd %xmm1,%xmm13
  punpcklwd %xmm1,%xmm3
  punpckhwd %xmm2,%xmm13
  punpcklwd %xmm2,%xmm3
  movdqa -0x68(%rsp),%xmm2
  movaps %xmm13,0x18(%rsp)
  movaps %xmm3,-0x78(%rsp)
  movdqa -0x58(%rsp),%xmm3
  movdqa %xmm2,%xmm1
  punpcklwd %xmm3,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm0
  movdqa -0x48(%rsp),%xmm3
  movdqa %xmm2,%xmm13
  punpcklwd %xmm1,%xmm0
  punpcklwd %xmm1,%xmm2
  punpckhwd %xmm1,%xmm13
  punpckhwd %xmm13,%xmm0
  punpcklwd %xmm13,%xmm2
  movaps %xmm0,-0x58(%rsp)
  movdqa %xmm3,%xmm0
  punpckhwd %xmm14,%xmm0
  movdqa %xmm0,%xmm13
  movdqa %xmm3,%xmm0
  punpcklwd %xmm14,%xmm0
  movdqa %xmm0,%xmm3
  punpckhwd %xmm13,%xmm0
  punpcklwd %xmm13,%xmm3
  movdqa %xmm0,%xmm1
  punpcklwd %xmm0,%xmm3
  movdqa -0x48(%rsp),%xmm0
  movaps %xmm3,-0x68(%rsp)
  punpcklwd %xmm14,%xmm0
  movdqa %xmm10,%xmm14
  punpcklwd %xmm13,%xmm0
  punpckhwd %xmm9,%xmm14
  punpckhwd %xmm1,%xmm0
  movdqa -0x28(%rsp),%xmm1
  movaps %xmm0,0x178(%rsp)
  movdqa %xmm14,%xmm0
  movdqa %xmm10,%xmm14
  punpcklwd %xmm9,%xmm10
  punpcklwd %xmm9,%xmm14
  movdqa %xmm10,%xmm9
  movdqa %xmm14,%xmm13
  punpcklwd %xmm0,%xmm9
  punpcklwd %xmm0,%xmm14
  punpckhwd %xmm0,%xmm13
  movdqa %xmm8,%xmm0
  punpckhwd %xmm13,%xmm9
  punpcklwd %xmm1,%xmm0
  punpcklwd %xmm13,%xmm14
  movaps %xmm9,0x8(%rsp)
  movdqa %xmm8,%xmm9
  movdqa %xmm0,%xmm10
  punpcklwd %xmm1,%xmm8
  punpckhwd %xmm1,%xmm9
  movdqa -0x38(%rsp),%xmm1
  movdqa %xmm7,%xmm13
  punpckhwd %xmm9,%xmm10
  punpcklwd %xmm9,%xmm8
  punpcklwd %xmm9,%xmm0
  punpckhwd %xmm10,%xmm8
  movdqa %xmm7,%xmm9
  punpcklwd %xmm1,%xmm13
  movaps %xmm8,0x168(%rsp)
  movdqa %xmm7,%xmm8
  punpckhwd %xmm1,%xmm9
  punpcklwd %xmm10,%xmm0
  punpcklwd %xmm1,%xmm8
  punpcklwd %xmm9,%xmm13
  movdqa %xmm8,%xmm10
  punpcklwd %xmm9,%xmm8
  punpckhwd %xmm9,%xmm10
  movdqa %xmm13,%xmm9
  punpcklwd %xmm10,%xmm8
  punpckhwd %xmm10,%xmm9
  movdqa %xmm12,%xmm10
  punpckhwd %xmm15,%xmm10
  movaps %xmm9,-0x8(%rsp)
  movdqa %xmm10,%xmm9
  movdqa %xmm12,%xmm10
  punpcklwd %xmm15,%xmm12
  punpcklwd %xmm15,%xmm10
  punpcklwd %xmm9,%xmm12
  movdqa %xmm11,%xmm15
  movdqa %xmm10,%xmm7
  punpckhwd %xmm9,%xmm10
  punpcklwd %xmm6,%xmm15
  punpcklwd %xmm9,%xmm7
  movdqa %xmm12,%xmm9
  movdqa %xmm11,%xmm12
  punpcklwd %xmm10,%xmm7
  punpckhwd %xmm10,%xmm9
  movdqa %xmm11,%xmm10
  punpckhwd %xmm6,%xmm10
  punpcklwd %xmm6,%xmm12
  movdqa %xmm15,%xmm6
  movaps %xmm7,-0x18(%rsp)
  movaps %xmm9,0x158(%rsp)
  punpcklwd %xmm10,%xmm6
  movdqa %xmm12,%xmm9
  punpckhwd %xmm10,%xmm12
  punpcklwd %xmm10,%xmm9
  movdqa %xmm6,%xmm10
  movdqa %xmm5,%xmm6
  movdqa 0xe8(%rsp),%xmm1
  punpcklwd %xmm12,%xmm9
  punpckhwd %xmm12,%xmm10
  punpckhwd %xmm4,%xmm6
  movdqa 0x68(%rsp),%xmm7
  movaps %xmm10,0x148(%rsp)
  movdqa %xmm5,%xmm12
  punpcklwd %xmm4,%xmm12
  movdqa %xmm12,%xmm10
  punpckhwd %xmm6,%xmm12
  punpcklwd %xmm6,%xmm10
  movdqa %xmm12,%xmm11
  punpcklwd %xmm12,%xmm10
  movdqa %xmm5,%xmm12
  punpcklwd %xmm4,%xmm12
  punpcklwd %xmm6,%xmm12
  movdqa -0x78(%rsp),%xmm6
  punpckhwd %xmm11,%xmm12
  movaps %xmm12,0x138(%rsp)
  punpckhwd %xmm2,%xmm6
  movdqa %xmm6,%xmm4
  movdqa -0x78(%rsp),%xmm6
  punpcklwd %xmm2,%xmm6
  movdqa %xmm6,%xmm12
  punpcklwd %xmm4,%xmm6
  punpckhwd %xmm4,%xmm12
  movdqa %xmm12,%xmm5
  punpcklwd %xmm12,%xmm6
  movdqa -0x78(%rsp),%xmm12
  movaps %xmm6,-0x28(%rsp)
  punpcklwd %xmm2,%xmm12
  movdqa %xmm12,%xmm2
  punpcklwd %xmm4,%xmm2
  movdqa 0x88(%rsp),%xmm4
  punpckhwd %xmm5,%xmm2
  movdqa 0xf8(%rsp),%xmm5
  movaps %xmm2,-0x38(%rsp)
  movdqa %xmm5,%xmm12
  movdqa %xmm5,%xmm2
  punpcklwd %xmm1,%xmm5
  punpckhwd %xmm1,%xmm2
  punpcklwd %xmm1,%xmm12
  movdqa 0xc8(%rsp),%xmm1
  movdqa %xmm12,%xmm6
  punpcklwd %xmm2,%xmm5
  punpcklwd %xmm2,%xmm12
  punpckhwd %xmm2,%xmm6
  movdqa %xmm5,%xmm2
  punpcklwd %xmm6,%xmm12
  punpckhwd %xmm6,%xmm2
  movdqa 0xd8(%rsp),%xmm6
  movaps %xmm2,0x128(%rsp)
  movdqa %xmm6,%xmm5
  movdqa %xmm6,%xmm15
  punpcklwd %xmm1,%xmm6
  punpckhwd %xmm1,%xmm5
  punpcklwd %xmm1,%xmm15
  movdqa 0xa8(%rsp),%xmm1
  movdqa %xmm5,%xmm2
  movdqa %xmm15,%xmm5
  punpckhwd %xmm2,%xmm5
  punpcklwd %xmm2,%xmm15
  punpcklwd %xmm2,%xmm6
  punpcklwd %xmm5,%xmm15
  punpckhwd %xmm5,%xmm6
  movdqa 0xb8(%rsp),%xmm5
  movaps %xmm6,-0x48(%rsp)
  movdqa %xmm5,%xmm11
  punpckhwd %xmm1,%xmm11
  movdqa %xmm11,%xmm2
  movdqa %xmm5,%xmm11
  punpcklwd %xmm1,%xmm5
  punpcklwd %xmm1,%xmm11
  punpcklwd %xmm2,%xmm5
  movdqa %xmm11,%xmm6
  punpcklwd %xmm2,%xmm11
  punpckhwd %xmm2,%xmm6
  punpckhwd %xmm6,%xmm5
  punpcklwd %xmm6,%xmm11
  movaps %xmm5,0x118(%rsp)
  movdqa 0x98(%rsp),%xmm5
  movdqa %xmm5,%xmm6
  punpckhwd %xmm4,%xmm6
  movdqa %xmm6,%xmm2
  movdqa %xmm5,%xmm6
  punpcklwd %xmm4,%xmm5
  punpcklwd %xmm4,%xmm6
  punpcklwd %xmm2,%xmm5
  movdqa 0x78(%rsp),%xmm4
  movdqa %xmm6,%xmm1
  punpcklwd %xmm2,%xmm6
  punpckhwd %xmm2,%xmm1
  movdqa %xmm4,%xmm2
  punpckhwd %xmm1,%xmm5
  punpcklwd %xmm1,%xmm6
  punpckhwd %xmm7,%xmm2
  movaps %xmm5,0x108(%rsp)
  movdqa %xmm4,%xmm5
  punpcklwd %xmm7,%xmm4
  punpcklwd %xmm7,%xmm5
  punpcklwd %xmm2,%xmm4
  movdqa 0x48(%rsp),%xmm7
  movdqa %xmm5,%xmm1
  punpcklwd %xmm2,%xmm5
  punpckhwd %xmm2,%xmm1
  punpcklwd %xmm1,%xmm5
  punpckhwd %xmm1,%xmm4
  movdqa 0x58(%rsp),%xmm1
  movaps %xmm4,0xf8(%rsp)
  movdqa %xmm1,%xmm3
  movdqa %xmm1,%xmm4
  punpcklwd %xmm7,%xmm1
  punpckhwd %xmm7,%xmm3
  punpcklwd %xmm7,%xmm4
  movdqa 0x28(%rsp),%xmm7
  movdqa %xmm3,%xmm2
  movdqa %xmm4,%xmm3
  punpckhwd %xmm2,%xmm3
  punpcklwd %xmm2,%xmm1
  punpcklwd %xmm2,%xmm4
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm4
  movaps %xmm1,0xe8(%rsp)
  movdqa 0x38(%rsp),%xmm1
  movdqa %xmm1,%xmm3
  movdqa %xmm1,%xmm2
  punpcklwd %xmm7,%xmm1
  punpcklwd %xmm7,%xmm3
  punpckhwd %xmm7,%xmm2
  movdqa -0x58(%rsp),%xmm7
  movdqa %xmm3,%xmm13
  punpcklwd %xmm2,%xmm1
  punpcklwd %xmm2,%xmm3
  punpckhwd %xmm2,%xmm13
  punpckhwd %xmm13,%xmm1
  punpcklwd %xmm13,%xmm3
  movaps %xmm1,0xd8(%rsp)
  movdqa 0x18(%rsp),%xmm1
  movdqa %xmm1,%xmm13
  movdqa %xmm1,%xmm2
  punpcklwd -0x58(%rsp),%xmm1
  punpckhwd %xmm7,%xmm13
  punpcklwd %xmm7,%xmm2
  movdqa %xmm2,%xmm7
  punpcklwd %xmm13,%xmm1
  punpcklwd %xmm13,%xmm2
  punpckhwd %xmm13,%xmm7
  movdqa %xmm1,%xmm13
  punpckhwd %xmm7,%xmm13
  punpcklwd %xmm7,%xmm2
  movaps %xmm13,-0x78(%rsp)
  movdqa -0x68(%rsp),%xmm1
  movdqa %xmm1,%xmm7
  punpckhwd %xmm14,%xmm7
  movdqa %xmm7,%xmm13
  movdqa %xmm1,%xmm7
  punpcklwd %xmm14,%xmm7
  movdqa %xmm7,%xmm1
  punpcklwd %xmm13,%xmm7
  punpckhwd %xmm13,%xmm1
  punpcklwd %xmm1,%xmm7
  movaps %xmm7,0xc8(%rsp)
  movdqa -0x68(%rsp),%xmm7
  punpcklwd %xmm14,%xmm7
  movdqa -0x18(%rsp),%xmm14
  punpcklwd %xmm13,%xmm7
  movdqa %xmm7,%xmm13
  movdqa %xmm0,%xmm7
  punpckhwd %xmm8,%xmm7
  punpckhwd %xmm1,%xmm13
  movaps %xmm13,0xb8(%rsp)
  movdqa %xmm7,%xmm1
  movdqa %xmm0,%xmm7
  punpcklwd %xmm8,%xmm0
  punpcklwd %xmm8,%xmm7
  movdqa %xmm0,%xmm8
  movdqa %xmm14,%xmm0
  movdqa %xmm7,%xmm13
  punpcklwd %xmm1,%xmm8
  punpcklwd %xmm1,%xmm7
  punpckhwd %xmm1,%xmm13
  punpckhwd %xmm9,%xmm0
  punpcklwd %xmm13,%xmm7
  punpckhwd %xmm13,%xmm8
  movdqa %xmm14,%xmm13
  punpcklwd %xmm9,%xmm13
  movaps %xmm7,0xa8(%rsp)
  movaps %xmm8,0x98(%rsp)
  movdqa %xmm13,%xmm7
  punpcklwd %xmm0,%xmm13
  movdqa %xmm10,%xmm8
  punpckhwd %xmm0,%xmm7
  punpcklwd %xmm7,%xmm13
  movdqa %xmm7,%xmm1
  movdqa %xmm14,%xmm7
  punpcklwd %xmm9,%xmm7
  movdqa -0x28(%rsp),%xmm9
  punpcklwd %xmm0,%xmm7
  movdqa %xmm10,%xmm0
  punpcklwd %xmm9,%xmm8
  punpckhwd %xmm9,%xmm0
  punpcklwd %xmm9,%xmm10
  movdqa %xmm8,%xmm14
  punpcklwd %xmm0,%xmm10
  punpcklwd %xmm0,%xmm8
  punpckhwd %xmm0,%xmm14
  movdqa %xmm12,%xmm0
  punpckhwd %xmm1,%xmm7
  punpckhwd %xmm14,%xmm10
  punpckhwd %xmm15,%xmm0
  punpcklwd %xmm14,%xmm8
  movaps %xmm7,0x88(%rsp)
  movaps %xmm10,0x68(%rsp)
  movdqa %xmm12,%xmm10
  punpcklwd %xmm15,%xmm12
  movdqa %xmm11,%xmm14
  punpcklwd %xmm15,%xmm10
  movdqa %xmm12,%xmm15
  punpcklwd %xmm6,%xmm14
  movaps %xmm8,0x78(%rsp)
  movdqa %xmm10,%xmm7
  punpcklwd %xmm0,%xmm15
  punpckhwd %xmm0,%xmm10
  punpcklwd %xmm0,%xmm7
  movdqa %xmm15,%xmm0
  movdqa %xmm5,%xmm12
  movdqa 0x178(%rsp),%xmm15
  punpcklwd %xmm10,%xmm7
  punpckhwd %xmm10,%xmm0
  movdqa %xmm11,%xmm10
  punpcklwd %xmm6,%xmm10
  movaps %xmm0,0x58(%rsp)
  movdqa %xmm11,%xmm0
  punpcklwd %xmm4,%xmm12
  punpckhwd %xmm6,%xmm0
  movdqa %xmm10,%xmm9
  movdqa %xmm15,%xmm8
  movdqa 0x158(%rsp),%xmm11
  punpckhwd %xmm0,%xmm9
  punpcklwd %xmm0,%xmm10
  punpcklwd %xmm0,%xmm14
  punpcklwd %xmm9,%xmm10
  movdqa %xmm5,%xmm0
  punpckhwd %xmm9,%xmm14
  punpckhwd %xmm4,%xmm0
  movaps %xmm10,0x48(%rsp)
  movdqa %xmm12,%xmm10
  punpcklwd %xmm0,%xmm10
  punpckhwd %xmm0,%xmm12
  movaps %xmm14,0x38(%rsp)
  punpcklwd %xmm12,%xmm10
  movdqa %xmm12,%xmm1
  movdqa %xmm5,%xmm12
  punpcklwd %xmm4,%xmm12
  movdqa 0x8(%rsp),%xmm4
  punpcklwd %xmm0,%xmm12
  movdqa %xmm3,%xmm0
  punpckhwd %xmm1,%xmm12
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm4,%xmm8
  movaps %xmm12,0x28(%rsp)
  movdqa %xmm3,%xmm12
  punpcklwd %xmm2,%xmm3
  punpcklwd %xmm2,%xmm12
  punpcklwd %xmm0,%xmm3
  movdqa -0x38(%rsp),%xmm2
  movdqa %xmm12,%xmm9
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm9
  movdqa %xmm3,%xmm0
  movdqa 0x168(%rsp),%xmm3
  punpckhwd %xmm12,%xmm0
  punpcklwd %xmm12,%xmm9
  movdqa %xmm8,%xmm12
  movaps %xmm0,0x18(%rsp)
  movdqa %xmm15,%xmm0
  punpcklwd %xmm4,%xmm15
  punpckhwd %xmm4,%xmm0
  movdqa -0x8(%rsp),%xmm4
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm15
  punpcklwd %xmm0,%xmm8
  punpckhwd %xmm12,%xmm15
  movdqa %xmm3,%xmm0
  punpcklwd %xmm12,%xmm8
  movaps %xmm15,0x8(%rsp)
  movdqa %xmm3,%xmm15
  punpckhwd %xmm4,%xmm0
  punpcklwd %xmm4,%xmm3
  punpcklwd %xmm4,%xmm15
  punpcklwd %xmm0,%xmm3
  movdqa %xmm11,%xmm4
  movdqa %xmm15,%xmm14
  punpcklwd %xmm0,%xmm15
  punpckhwd %xmm0,%xmm14
  movdqa %xmm11,%xmm0
  punpcklwd %xmm14,%xmm15
  punpckhwd %xmm14,%xmm3
  movdqa -0x48(%rsp),%xmm14
  movaps %xmm15,-0x8(%rsp)
  movdqa 0x148(%rsp),%xmm15
  movaps %xmm3,-0x18(%rsp)
  movdqa 0x138(%rsp),%xmm3
  punpcklwd %xmm15,%xmm4
  punpckhwd %xmm15,%xmm0
  punpcklwd %xmm15,%xmm11
  movdqa %xmm4,%xmm12
  movdqa %xmm3,%xmm15
  punpcklwd %xmm0,%xmm4
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm2,%xmm15
  punpcklwd %xmm0,%xmm11
  movdqa %xmm3,%xmm0
  punpcklwd %xmm12,%xmm4
  punpckhwd %xmm12,%xmm11
  punpckhwd %xmm2,%xmm0
  movdqa %xmm15,%xmm12
  punpcklwd %xmm2,%xmm3
  movdqa 0x128(%rsp),%xmm2
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm3
  punpcklwd %xmm0,%xmm15
  movaps %xmm11,-0x28(%rsp)
  punpckhwd %xmm12,%xmm3
  movdqa %xmm2,%xmm0
  punpcklwd %xmm12,%xmm15
  movaps %xmm3,-0x38(%rsp)
  movdqa %xmm2,%xmm3
  punpckhwd %xmm14,%xmm0
  punpcklwd %xmm14,%xmm2
  punpcklwd %xmm14,%xmm3
  punpcklwd %xmm0,%xmm2
  movdqa %xmm3,%xmm12
  punpcklwd %xmm0,%xmm3
  punpckhwd %xmm0,%xmm12
  punpckhwd %xmm12,%xmm2
  punpcklwd %xmm12,%xmm3
  movaps %xmm2,-0x48(%rsp)
  movdqa 0x118(%rsp),%xmm2
  movdqa 0x108(%rsp),%xmm11
  movdqa 0xf8(%rsp),%xmm5
  movdqa 0xe8(%rsp),%xmm6
  movdqa %xmm2,%xmm0
  movdqa %xmm2,%xmm14
  punpcklwd %xmm11,%xmm2
  punpckhwd %xmm11,%xmm0
  punpcklwd %xmm11,%xmm14
  movdqa -0x78(%rsp),%xmm11
  movdqa %xmm14,%xmm12
  punpcklwd %xmm0,%xmm2
  punpcklwd %xmm0,%xmm14
  punpckhwd %xmm0,%xmm12
  movdqa %xmm2,%xmm0
  movdqa %xmm5,%xmm2
  punpckhwd %xmm12,%xmm0
  punpcklwd %xmm6,%xmm2
  punpcklwd %xmm12,%xmm14
  movaps %xmm0,-0x58(%rsp)
  movdqa %xmm5,%xmm0
  punpcklwd %xmm6,%xmm5
  movdqa %xmm2,%xmm12
  punpckhwd %xmm6,%xmm0
  movdqa 0xd8(%rsp),%xmm6
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm2
  punpcklwd %xmm0,%xmm5
  movdqa %xmm6,%xmm1
  movdqa %xmm6,%xmm0
  punpcklwd %xmm11,%xmm6
  punpckhwd %xmm11,%xmm0
  punpcklwd %xmm11,%xmm1
  punpcklwd %xmm12,%xmm2
  punpckhwd %xmm12,%xmm5
  punpcklwd %xmm0,%xmm6
  movdqa %xmm1,%xmm12
  punpckhwd %xmm0,%xmm12
  punpcklwd %xmm0,%xmm1
  movdqa %xmm6,%xmm0
  movaps %xmm5,-0x68(%rsp)
  punpckhwd %xmm12,%xmm0
  movdqa 0x78(%rsp),%xmm6
  punpcklwd %xmm12,%xmm1
  movdqa 0xa8(%rsp),%xmm5
  movaps %xmm0,-0x78(%rsp)
  movdqa %xmm13,%xmm12
  movdqa 0xc8(%rsp),%xmm0
  punpcklwd %xmm6,%xmm12
  movdqa %xmm0,%xmm11
  punpcklwd %xmm5,%xmm0
  punpckhwd %xmm5,%xmm11
  movdqa %xmm0,%xmm5
  punpckhwd %xmm11,%xmm5
  punpcklwd %xmm11,%xmm0
  movaps %xmm11,0xf8(%rsp)
  movdqa %xmm13,%xmm11
  punpckhwd %xmm6,%xmm11
  movaps %xmm5,0x108(%rsp)
  punpcklwd %xmm5,%xmm0
  movdqa %xmm12,%xmm6
  movdqa %xmm12,%xmm5
  punpckhwd %xmm11,%xmm6
  pand   D148(%rip),%xmm0
  movaps %xmm11,0x118(%rsp)
  punpcklwd %xmm11,%xmm5
  movdqa 0x48(%rsp),%xmm11
  movdqa %xmm7,%xmm12
  movaps %xmm6,0x128(%rsp)
  punpcklwd %xmm6,%xmm5
  pand   D148(%rip),%xmm5
  psllw  $0x1,%xmm0
  punpcklwd %xmm11,%xmm12
  por    %xmm5,%xmm0
  movdqa %xmm7,%xmm5
  punpckhwd %xmm11,%xmm5
  psllw  $0x1,%xmm0
  movdqa %xmm12,%xmm11
  movdqa %xmm5,%xmm6
  movdqa %xmm12,%xmm5
  movdqa %xmm10,%xmm12
  punpckhwd %xmm6,%xmm11
  punpckhwd %xmm9,%xmm12
  punpcklwd %xmm6,%xmm5
  movaps %xmm6,0x138(%rsp)
  movaps %xmm11,0x148(%rsp)
  punpcklwd %xmm11,%xmm5
  movdqa %xmm12,%xmm11
  pand   D148(%rip),%xmm5
  movaps %xmm11,0x158(%rsp)
  movdqa %xmm10,%xmm12
  punpcklwd %xmm9,%xmm12
  por    %xmm5,%xmm0
  movdqa %xmm12,%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm12,%xmm5
  punpckhwd %xmm11,%xmm5
  punpcklwd %xmm11,%xmm6
  movdqa %xmm8,%xmm12
  movaps %xmm5,0x168(%rsp)
  punpcklwd %xmm5,%xmm6
  movdqa -0x8(%rsp),%xmm5
  pand   D148(%rip),%xmm6
  movdqa %xmm8,%xmm11
  punpcklwd %xmm5,%xmm12
  punpckhwd %xmm5,%xmm11
  por    %xmm6,%xmm0
  movdqa %xmm12,%xmm6
  punpckhwd %xmm11,%xmm12
  movdqa %xmm4,%xmm5
  movaps %xmm11,0x178(%rsp)
  punpcklwd %xmm11,%xmm6
  psllw  $0x1,%xmm0
  punpckhwd %xmm15,%xmm5
  movaps %xmm12,0x188(%rsp)
  punpcklwd %xmm12,%xmm6
  movdqa %xmm4,%xmm12
  pand   D148(%rip),%xmm6
  movaps %xmm5,0x198(%rsp)
  punpcklwd %xmm15,%xmm12
  movdqa %xmm3,%xmm11
  punpcklwd %xmm15,%xmm4
  por    %xmm6,%xmm0
  movdqa %xmm12,%xmm6
  punpckhwd %xmm5,%xmm12
  punpcklwd %xmm5,%xmm6
  psllw  $0x1,%xmm0
  punpckhwd %xmm14,%xmm11
  movaps %xmm12,0x1a8(%rsp)
  punpcklwd %xmm12,%xmm6
  movdqa %xmm3,%xmm12
  punpcklwd %xmm14,%xmm3
  pand   D148(%rip),%xmm6
  punpcklwd %xmm14,%xmm12
  pxor   %xmm15,%xmm15
  movaps %xmm11,0x1b8(%rsp)
  por    %xmm6,%xmm0
  movdqa %xmm12,%xmm6
  punpckhwd %xmm11,%xmm12
  punpcklwd %xmm11,%xmm6
  psllw  $0x1,%xmm0
  movaps %xmm12,0x1c8(%rsp)
  movdqa 0x98(%rsp),%xmm11
  punpcklwd %xmm12,%xmm6
  pand   D148(%rip),%xmm6
  movdqa %xmm2,%xmm12
  punpcklwd %xmm1,%xmm12
  por    %xmm6,%xmm0
  movdqa %xmm2,%xmm6
  punpcklwd %xmm1,%xmm2
  punpckhwd %xmm1,%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm5
  movdqa %xmm12,%xmm6
  punpcklwd %xmm5,%xmm6
  punpckhwd %xmm5,%xmm12
  movaps %xmm5,0x1d8(%rsp)
  movaps %xmm12,0x1e8(%rsp)
  punpcklwd %xmm12,%xmm6
  pand   D148(%rip),%xmm6
  por    %xmm6,%xmm0
  movdqa 0xb8(%rsp),%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm5
  punpcklwd %xmm11,%xmm6
  punpckhwd %xmm11,%xmm5
  movdqa %xmm6,%xmm12
  punpckhwd %xmm5,%xmm12
  punpcklwd %xmm5,%xmm6
  movaps %xmm5,0x1f8(%rsp)
  movdqa 0x68(%rsp),%xmm5
  movaps %xmm12,0x208(%rsp)
  punpcklwd %xmm12,%xmm6
  pand   D148(%rip),%xmm6
  por    %xmm6,%xmm0
  movdqa 0x88(%rsp),%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm11
  punpcklwd %xmm5,%xmm6
  punpckhwd %xmm5,%xmm11
  movdqa %xmm6,%xmm12
  movdqa 0x58(%rsp),%xmm5
  punpckhwd %xmm11,%xmm12
  punpcklwd %xmm11,%xmm6
  movaps %xmm11,0x218(%rsp)
  punpcklwd %xmm12,%xmm6
  pand   D148(%rip),%xmm6
  movdqa %xmm5,%xmm11
  movaps %xmm12,0x228(%rsp)
  movdqa %xmm5,%xmm12
  movdqa 0x18(%rsp),%xmm5
  por    %xmm6,%xmm0
  movdqa 0x38(%rsp),%xmm6
  psllw  $0x1,%xmm0
  punpcklwd %xmm6,%xmm12
  punpckhwd %xmm6,%xmm11
  movaps %xmm11,0x238(%rsp)
  movdqa %xmm12,%xmm6
  punpckhwd %xmm11,%xmm12
  movaps %xmm12,0x248(%rsp)
  punpcklwd %xmm11,%xmm6
  punpcklwd %xmm12,%xmm6
  movdqa 0x28(%rsp),%xmm12
  pand   D148(%rip),%xmm6
  por    %xmm6,%xmm0
  movdqa %xmm12,%xmm6
  punpckhwd %xmm5,%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm11
  movdqa %xmm12,%xmm6
  movaps %xmm11,0x258(%rsp)
  punpcklwd %xmm5,%xmm6
  movdqa -0x18(%rsp),%xmm5
  movdqa %xmm6,%xmm12
  punpcklwd %xmm11,%xmm6
  punpckhwd %xmm11,%xmm12
  movaps %xmm12,0x268(%rsp)
  punpcklwd %xmm12,%xmm6
  movdqa 0x8(%rsp),%xmm12
  pand   D148(%rip),%xmm6
  movdqa %xmm12,%xmm11
  por    %xmm6,%xmm0
  punpckhwd %xmm5,%xmm11
  psllw  $0x1,%xmm0
  movaps %xmm11,0xd8(%rsp)
  movdqa %xmm12,%xmm11
  punpcklwd %xmm5,%xmm11
  movdqa %xmm11,%xmm6
  movdqa %xmm11,%xmm5
  movdqa 0xd8(%rsp),%xmm11
  punpckhwd %xmm11,%xmm5
  punpcklwd %xmm11,%xmm6
  punpcklwd %xmm5,%xmm6
  pand   D148(%rip),%xmm6
  movaps %xmm5,0x278(%rsp)
  por    %xmm6,%xmm0
  movdqa -0x28(%rsp),%xmm6
  movdqa -0x38(%rsp),%xmm5
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm11
  punpcklwd %xmm5,%xmm6
  punpckhwd %xmm5,%xmm11
  movdqa %xmm6,%xmm12
  punpckhwd %xmm11,%xmm12
  punpcklwd %xmm11,%xmm6
  movaps %xmm11,0x288(%rsp)
  movdqa -0x78(%rsp),%xmm11
  movaps %xmm12,0x298(%rsp)
  punpcklwd %xmm12,%xmm6
  pand   D148(%rip),%xmm6
  movdqa -0x58(%rsp),%xmm12
  por    %xmm6,%xmm0
  movdqa -0x48(%rsp),%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm5
  punpcklwd %xmm12,%xmm6
  punpckhwd %xmm12,%xmm5
  movdqa %xmm6,%xmm12
  punpckhwd %xmm5,%xmm12
  punpcklwd %xmm5,%xmm6
  movaps %xmm5,0x2a8(%rsp)
  movaps %xmm12,0x2b8(%rsp)
  punpcklwd %xmm12,%xmm6
  pand   D148(%rip),%xmm6
  por    %xmm6,%xmm0
  movdqa -0x68(%rsp),%xmm6
  psllw  $0x1,%xmm0
  movdqa %xmm6,%xmm5
  punpcklwd %xmm11,%xmm6
  punpckhwd %xmm11,%xmm5
  movdqa %xmm6,%xmm11
  punpckhwd %xmm5,%xmm11
  punpcklwd %xmm5,%xmm6
  movaps %xmm5,0x2c8(%rsp)
  movaps %xmm11,0x2d8(%rsp)
  punpcklwd %xmm11,%xmm6
  pand   D148(%rip),%xmm6
  por    %xmm6,%xmm0
  movdqa 0xc8(%rsp),%xmm6
  punpcklwd 0xa8(%rsp),%xmm6
  movaps %xmm0,0xe8(%rsp)
  punpcklwd 0xf8(%rsp),%xmm6
  movdqa D148(%rip),%xmm0
  punpckhwd 0x108(%rsp),%xmm6
  pand   %xmm6,%xmm0
  movaps %xmm0,0xa8(%rsp)
  movdqa %xmm13,%xmm0
  punpcklwd 0x78(%rsp),%xmm0
  movdqa %xmm10,%xmm13
  punpcklwd %xmm9,%xmm13
  movdqa %xmm0,%xmm6
  movdqa D148(%rip),%xmm0
  punpcklwd 0x118(%rsp),%xmm6
  punpckhwd 0x128(%rsp),%xmm6
  pand   %xmm6,%xmm0
  movaps %xmm0,0x78(%rsp)
  movdqa %xmm7,%xmm0
  punpcklwd 0x48(%rsp),%xmm0
  movdqa %xmm0,%xmm6
  movdqa D148(%rip),%xmm0
  punpcklwd 0x138(%rsp),%xmm6
  punpckhwd 0x148(%rsp),%xmm6
  pand   %xmm6,%xmm0
  movdqa %xmm13,%xmm6
  punpcklwd 0x158(%rsp),%xmm6
  movaps %xmm0,0x48(%rsp)
  punpckhwd 0x168(%rsp),%xmm6
  punpcklwd -0x8(%rsp),%xmm8
  pand   D148(%rip),%xmm6
  movdqa 0x58(%rsp),%xmm12
  punpcklwd 0x198(%rsp),%xmm4
  movdqa %xmm8,%xmm5
  punpckhwd 0x1a8(%rsp),%xmm4
  punpcklwd 0x178(%rsp),%xmm5
  pand   D148(%rip),%xmm4
  punpckhwd 0x188(%rsp),%xmm5
  punpcklwd 0x1b8(%rsp),%xmm3
  pand   D148(%rip),%xmm5
  punpckhwd 0x1c8(%rsp),%xmm3
  punpcklwd 0x1d8(%rsp),%xmm2
  pand   D148(%rip),%xmm3
  punpckhwd 0x1e8(%rsp),%xmm2
  punpcklwd 0x38(%rsp),%xmm12
  pand   D148(%rip),%xmm2
  movdqa 0x28(%rsp),%xmm11
  movdqa 0xb8(%rsp),%xmm14
  punpcklwd 0x18(%rsp),%xmm11
  punpcklwd 0x98(%rsp),%xmm14
  movdqa 0x88(%rsp),%xmm13
  punpcklwd 0x1f8(%rsp),%xmm14
  punpcklwd 0x68(%rsp),%xmm13
  punpckhwd 0x208(%rsp),%xmm14
  punpcklwd 0x218(%rsp),%xmm13
  pand   D148(%rip),%xmm14
  punpckhwd 0x228(%rsp),%xmm13
  punpcklwd 0x238(%rsp),%xmm12
  pand   D148(%rip),%xmm13
  punpckhwd 0x248(%rsp),%xmm12
  pand   D148(%rip),%xmm12
  punpcklwd 0x258(%rsp),%xmm11
  movdqa -0x68(%rsp),%xmm7
  movdqa 0xe8(%rsp),%xmm1
  movdqa 0x8(%rsp),%xmm10
  movdqa 0xa8(%rsp),%xmm0
  punpcklwd -0x18(%rsp),%xmm10
  punpcklwd %xmm15,%xmm1
  movdqa -0x28(%rsp),%xmm9
  punpckhwd 0x268(%rsp),%xmm11
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  movdqa -0x48(%rsp),%xmm8
  por    %xmm0,%xmm1
  movdqa 0x78(%rsp),%xmm0
  pand   D148(%rip),%xmm11
  pslld  $0x1,%xmm1
  punpcklwd -0x38(%rsp),%xmm9
  punpcklwd 0xd8(%rsp),%xmm10
  punpcklwd %xmm15,%xmm0
  pxor   %xmm15,%xmm15
  punpckhwd 0x278(%rsp),%xmm10
  por    %xmm0,%xmm1
  movdqa 0x48(%rsp),%xmm0
  pand   D148(%rip),%xmm10
  pslld  $0x1,%xmm1
  punpcklwd -0x58(%rsp),%xmm8
  punpcklwd 0x288(%rsp),%xmm9
  punpcklwd %xmm15,%xmm0
  pxor   %xmm15,%xmm15
  punpckhwd 0x298(%rsp),%xmm9
  por    %xmm0,%xmm1
  movdqa %xmm6,%xmm0
  punpcklwd -0x78(%rsp),%xmm7
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  pand   D148(%rip),%xmm9
  por    %xmm0,%xmm1
  movdqa %xmm5,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  punpcklwd 0x2a8(%rsp),%xmm8
  por    %xmm0,%xmm1
  movdqa %xmm4,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  punpckhwd 0x2b8(%rsp),%xmm8
  por    %xmm0,%xmm1
  movdqa %xmm3,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  pand   D148(%rip),%xmm8
  por    %xmm0,%xmm1
  movdqa %xmm2,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  punpcklwd 0x2c8(%rsp),%xmm7
  por    %xmm0,%xmm1
  movdqa %xmm14,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  punpckhwd 0x2d8(%rsp),%xmm7
  por    %xmm0,%xmm1
  movdqa %xmm13,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  movdqa %xmm12,%xmm0
  pand   D148(%rip),%xmm7
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  movdqa %xmm11,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  movdqa %xmm10,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  movdqa %xmm9,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  movdqa %xmm8,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  movdqa %xmm7,%xmm0
  punpcklwd %xmm15,%xmm0
  pslld  $0x1,%xmm1
  pxor   %xmm15,%xmm15
  por    %xmm0,%xmm1
  punpckhwd %xmm15,%xmm6
  punpckhwd %xmm15,%xmm5
  movdqa 0xe8(%rsp),%xmm0
  movups %xmm1,-0x20(%r9)
  punpckhwd %xmm15,%xmm4
  punpckhwd %xmm15,%xmm3
  movdqa 0xa8(%rsp),%xmm1
  punpckhwd %xmm15,%xmm0
  punpckhwd %xmm15,%xmm2
  punpckhwd %xmm15,%xmm14
  punpckhwd %xmm15,%xmm1
  pslld  $0x1,%xmm0
  punpckhwd %xmm15,%xmm13
  por    %xmm1,%xmm0
  movdqa 0x78(%rsp),%xmm1
  punpckhwd %xmm15,%xmm12
  punpckhwd %xmm15,%xmm11
  pslld  $0x1,%xmm0
  punpckhwd %xmm15,%xmm10
  punpckhwd %xmm15,%xmm9
  punpckhwd %xmm15,%xmm1
  punpckhwd %xmm15,%xmm8
  punpckhwd %xmm15,%xmm7
  por    %xmm1,%xmm0
  movdqa 0x48(%rsp),%xmm1
  pslld  $0x1,%xmm0
  punpckhwd %xmm15,%xmm1
  por    %xmm1,%xmm0
  pslld  $0x1,%xmm0
  por    %xmm0,%xmm6
  pslld  $0x1,%xmm6
  por    %xmm6,%xmm5
  pslld  $0x1,%xmm5
  por    %xmm5,%xmm4
  pslld  $0x1,%xmm4
  por    %xmm4,%xmm3
  pslld  $0x1,%xmm3
  por    %xmm3,%xmm2
  pslld  $0x1,%xmm2
  por    %xmm2,%xmm14
  pslld  $0x1,%xmm14
  por    %xmm14,%xmm13
  pslld  $0x1,%xmm13
  por    %xmm13,%xmm12
  pslld  $0x1,%xmm12
  por    %xmm12,%xmm11
  pslld  $0x1,%xmm11
  por    %xmm11,%xmm10
  pslld  $0x1,%xmm10
  por    %xmm10,%xmm9
  pslld  $0x1,%xmm9
  por    %xmm9,%xmm8
  pslld  $0x1,%xmm8
  por    %xmm8,%xmm7
  movups %xmm7,-0x10(%r9)
  cmp    %r12,%r9
  jne    L412
  mov    %r11d,%r9d
  and    $0xfffffff8,%r9d
  mov    %r9d,%ecx
  shl    $0x5,%ecx
  sub    %ecx,%r8d
  mov    %r9d,%ecx
  lea    (%r10,%rcx,4),%r12
  shl    $0x6,%rcx
  add    %rsi,%rcx
  cmp    %r11d,%r9d
  je     L749
  nopl   0x0(%rax)
L367:
  movzwl (%rcx),%r9d
  movzwl 0x2(%rcx),%r13d
  and    $0x1,%r9d
  and    $0x1,%r13d
  add    %r9d,%r9d
  or     %r13d,%r9d
  movzwl 0x4(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r13d,%r9d
  movzwl 0x6(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x8(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0xa(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0xc(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0xe(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x10(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x12(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x14(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x16(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x18(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x1a(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x1c(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x1e(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x20(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x22(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x24(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x26(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x28(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl 0x2a(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl 0x2c(%rcx),%r9d
  add    %r13d,%r13d
  add    $0x40,%rcx
  add    $0x4,%r12
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl -0x12(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl -0x10(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl -0xe(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl -0xc(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl -0xa(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl -0x8(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl -0x6(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r9d,%r13d
  movzwl -0x4(%rcx),%r9d
  add    %r13d,%r13d
  and    $0x1,%r9d
  or     %r13d,%r9d
  movzwl -0x2(%rcx),%r13d
  add    %r9d,%r9d
  and    $0x1,%r13d
  or     %r13d,%r9d
  sub    $0x20,%r8d
  mov    %r9d,-0x4(%r12)
  cmp    $0x1f,%r8d
  jg     L367
L749:
  lea    (%r10,%r11,4),%r10
  shl    $0x5,%ebx
  mov    %ebp,%r8d
  shl    $0x6,%r11
  sub    %ebx,%r8d
  add    %r11,%rsi
  xor    %r9d,%r9d
  jmp    L174
  nopl   0x0(%rax,%rax,1)
L258:
  mov    %rsi,%rbp
  jmp    L598
L238:
  mov    %rsi,%rcx
  mov    %r10,%r12
  jmp    L457
L637:
  mov    %rsi,%rcx
  mov    %r10,%r13
  jmp    L407
L183:
  mov    %rsi,%rcx
  mov    %r10,%r9
  jmp    L245
L605:
  mov    %rsi,%rcx
  mov    %r10,%r9
  jmp    L110
L90:
  mov    %rsi,%rcx
  mov    %r10,%r12
  jmp    L367
L727:
  mov    %rsi,%rcx
  mov    %r10,%rbp
  jmp    L352
```

tool_calls: name: disassemble_data
arguments: data_tag: D148
datatype: byte[16]

tool: {"D148": [0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00]}

assistant: ```c
void IntegerPacker_16(void *stream, void *src, int nbits, int nbitt, int n, int offset) {
  unsigned int *packed = (unsigned int *)stream;
  unsigned short *unpacked = (unsigned short *)src;
  unsigned long long temp;
  unsigned int mask, token, token1, token2, token3, token4, token5, token6, token7, token8;
  int bleft, i;
  if (nbits > 16 || nbitt > nbits)
    return;
  packed += offset / 32;
  bleft = 32 - (offset % 32);
  temp = 0;
  mask = ~(0xFFFFFFFF << nbitt);
  if (bleft == 32) {
    if (nbits == 16) {
      while (n > 3) {
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        token3 = (*unpacked++) & mask;
        token4 = (*unpacked++) & mask;
        *packed++ = (token1 << 16) | token2;
        *packed++ = (token3 << 16) | token4;
        n -= 4;
      }
    }
    if (nbits == 12) {
      while (n > 7) {
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        token3 = (*unpacked++) & mask;
        token4 = (*unpacked++) & mask;
        *packed++ = (token1 << 20) | (token2 << 8) | (token3 >> 4);
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        *packed++ = (token3 << 28) | (token4 << 16) | (token1 << 4) | (token2 >> 8);
        token3 = (*unpacked++) & mask;
        token4 = (*unpacked++) & mask;
        *packed++ = (token2 << 24) | (token3 << 12) | token4;
        n -= 8;
      }
    }
    if (nbits == 8) {
      while (n > 7) {
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        token3 = (*unpacked++) & mask;
        token4 = (*unpacked++) & mask;
        *packed++ = (token1 << 24) | (token2 << 16) | (token3 << 8) | token4;
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        token3 = (*unpacked++) & mask;
        token4 = (*unpacked++) & mask;
        *packed++ = (token1 << 24) | (token2 << 16) | (token3 << 8) | token4;
        n -= 8;
      }
    }
    if (nbits == 6) {
      while (n > 15) {
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        token3 = (*unpacked++) & mask;
        token4 = (*unpacked++) & mask;
        token5 = (*unpacked++) & mask;
        token6 = (*unpacked++) & mask;
        token7 = (*unpacked++) & mask;
        token8 = (*unpacked++) & mask;
        *packed++ = (token1 << 26) | (token2 << 20) | (token3 << 14) | (token4 << 8) | (token5 << 2) | (token6 >> 4);
        token1 = (*unpacked++) & mask;
        token2 = (*unpacked++) & mask;
        token3 = (*unpacked++) & mask;
        *packed++ = (token6 << 28) | (token7 << 22) | (token8 << 16) | (token1 << 10) | (token2 << 4) | (token3 >> 2);
        token4 = (*unpacked++) & mask;
        token5 = (*unpacked++) & mask;
        token6 = (*unpacked++) & mask;
        token7 = (*unpacked++) & mask;
        token8 = (*unpacked++) & mask;
        *packed++ = (token3 << 30) | (token4 << 24) | (token5 << 18) | (token6 << 12) | (token7 << 6) | token8;
        n -= 16;
      }
    }
    if (nbits == 4) {
      while (n > 7) {
        token = (*unpacked++) & mask;
        token = (token << 4) | ((*unpacked++) & mask);
        token = (token << 4) | ((*unpacked++) & mask);
        token = (token << 4) | ((*unpacked++) & mask);
        token = (token << 4) | ((*unpacked++) & mask);
        token = (token << 4) | ((*unpacked++) & mask);
        token = (token << 4) | ((*unpacked++) & mask);
        *packed++ = (token << 4) | ((*unpacked++) & mask);
        n -= 8;
      }
    }
    if (nbits == 2) {
      while (n > 15) {
        token = (*unpacked++) & mask;
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        token = (token << 2) | ((*unpacked++) & mask);
        *packed++ = (token << 2) | ((*unpacked++) & mask);
        n -= 16;
      }
    }
    if (nbits == 1) {
      while (n > 31) {
        token = 0;
        i = 8;
        while (i-- != 0) {
          token = (token << 1) | ((*unpacked++) & 1);
          token = (token << 1) | ((*unpacked++) & 1);
          token = (token << 1) | ((*unpacked++) & 1);
          token = (token << 1) | ((*unpacked++) & 1);
        }
        *packed++ = token;
        n -= 32;
      }
    }
  }
  if (bleft < 32)
    temp = *packed >> bleft;
  while (n > 1) {
    token = (*unpacked++) & mask;
    bleft -= nbits;
    temp = (temp << nbits) | token;
    if (bleft <= 0) {
      if (bleft < 0)
        temp >>= (-bleft);
      *packed++ = temp;
      bleft += 32;
      temp = token;
    }
    token = (*unpacked++) & mask;
    bleft -= nbits;
    temp = (temp << nbits) | token;
    if (bleft <= 0) {
      if (bleft < 0)
        temp >>= (-bleft);
      *packed++ = temp;
      bleft += 32;
      temp = token;
    }
    n -= 2;
  }
  while (n-- > 0) {
    token = (*unpacked++) & mask;
    bleft -= nbits;
    temp = (temp << nbits) | token;
    if (bleft <= 0) {
      if (bleft < 0)
        temp >>= (-bleft);
      *packed++ = temp;
      bleft += 32;
      temp = token;
    }
  }
  if (bleft < 32)
    *packed = (temp << bleft);
}
```