// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/libraries/libwebp/src/dsp/yuv_sse2.c
// Function: ConvertYUV444ToRGB_SSE2
static void ConvertYUV444ToRGB_SSE2(const __m128i* const Y0,
                                    const __m128i* const U0,
                                    const __m128i* const V0,
                                    __m128i* const R,
                                    __m128i* const G,
                                    __m128i* const B) {
  const __m128i k19077 = _mm_set1_epi16(19077);
  const __m128i k26149 = _mm_set1_epi16(26149);
  const __m128i k14234 = _mm_set1_epi16(14234);
  // 33050 doesn't fit in a signed short: only use this with unsigned arithmetic
  const __m128i k33050 = _mm_set1_epi16((short)33050);
  const __m128i k17685 = _mm_set1_epi16(17685);
  const __m128i k6419  = _mm_set1_epi16(6419);
  const __m128i k13320 = _mm_set1_epi16(13320);
  const __m128i k8708  = _mm_set1_epi16(8708);

  const __m128i Y1 = _mm_mulhi_epu16(*Y0, k19077);

  const __m128i R0 = _mm_mulhi_epu16(*V0, k26149);
  const __m128i R1 = _mm_sub_epi16(Y1, k14234);
  const __m128i R2 = _mm_add_epi16(R1, R0);

  const __m128i G0 = _mm_mulhi_epu16(*U0, k6419);
  const __m128i G1 = _mm_mulhi_epu16(*V0, k13320);
  const __m128i G2 = _mm_add_epi16(Y1, k8708);
  const __m128i G3 = _mm_add_epi16(G0, G1);
  const __m128i G4 = _mm_sub_epi16(G2, G3);

  // be careful with the saturated *unsigned* arithmetic here!
  const __m128i B0 = _mm_mulhi_epu16(*U0, k33050);
  const __m128i B1 = _mm_adds_epu16(B0, Y1);
  const __m128i B2 = _mm_subs_epu16(B1, k17685);

  // use logical shift for B2, which can be larger than 32767
  *R = _mm_srai_epi16(R2, 6);   // range: [-14234, 30815]
  *G = _mm_srai_epi16(G4, 6);   // range: [-10953, 27710]
  *B = _mm_srli_epi16(B2, 6);   // range: [0, 34238]
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3e0, %rsp            # imm = 0x3E0
movq %rdi, -0x2f8(%rbp)
movq %rsi, -0x300(%rbp)
movq %rdx, -0x308(%rbp)
movq %rcx, -0x310(%rbp)
movq %r8, -0x318(%rbp)
movq %r9, -0x320(%rbp)
movw $0x4a85, -0x2e2(%rbp)   # imm = 0x4A85
movw -0x2e2(%rbp), %ax
movw %ax, -0x2c2(%rbp)
movw %ax, -0x2c4(%rbp)
movw %ax, -0x2c6(%rbp)
movw %ax, -0x2c8(%rbp)
movw %ax, -0x2ca(%rbp)
movw %ax, -0x2cc(%rbp)
movw %ax, -0x2ce(%rbp)
movw %ax, -0x2d0(%rbp)
movzwl -0x2c2(%rbp), %eax
movd %eax, %xmm1
movzwl -0x2c4(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x2c6(%rbp), %eax
movd %eax, %xmm2
movzwl -0x2c8(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x2ca(%rbp), %eax
movd %eax, %xmm0
movzwl -0x2cc(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x2ce(%rbp), %eax
movd %eax, %xmm3
movzwl -0x2d0(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x2e0(%rbp)
movaps -0x2e0(%rbp), %xmm0
movaps %xmm0, -0x330(%rbp)
movw $0x6625, -0x2e4(%rbp)   # imm = 0x6625
movw -0x2e4(%rbp), %ax
movw %ax, -0x2a2(%rbp)
movw %ax, -0x2a4(%rbp)
movw %ax, -0x2a6(%rbp)
movw %ax, -0x2a8(%rbp)
movw %ax, -0x2aa(%rbp)
movw %ax, -0x2ac(%rbp)
movw %ax, -0x2ae(%rbp)
movw %ax, -0x2b0(%rbp)
movzwl -0x2a2(%rbp), %eax
movd %eax, %xmm1
movzwl -0x2a4(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x2a6(%rbp), %eax
movd %eax, %xmm2
movzwl -0x2a8(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x2aa(%rbp), %eax
movd %eax, %xmm0
movzwl -0x2ac(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x2ae(%rbp), %eax
movd %eax, %xmm3
movzwl -0x2b0(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x2c0(%rbp)
movaps -0x2c0(%rbp), %xmm0
movaps %xmm0, -0x340(%rbp)
movw $0x379a, -0x2e6(%rbp)   # imm = 0x379A
movw -0x2e6(%rbp), %ax
movw %ax, -0x282(%rbp)
movw %ax, -0x284(%rbp)
movw %ax, -0x286(%rbp)
movw %ax, -0x288(%rbp)
movw %ax, -0x28a(%rbp)
movw %ax, -0x28c(%rbp)
movw %ax, -0x28e(%rbp)
movw %ax, -0x290(%rbp)
movzwl -0x282(%rbp), %eax
movd %eax, %xmm1
movzwl -0x284(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x286(%rbp), %eax
movd %eax, %xmm2
movzwl -0x288(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x28a(%rbp), %eax
movd %eax, %xmm0
movzwl -0x28c(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x28e(%rbp), %eax
movd %eax, %xmm3
movzwl -0x290(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x2a0(%rbp)
movaps -0x2a0(%rbp), %xmm0
movaps %xmm0, -0x350(%rbp)
movw $0x811a, -0x2e8(%rbp)   # imm = 0x811A
movw -0x2e8(%rbp), %ax
movw %ax, -0x262(%rbp)
movw %ax, -0x264(%rbp)
movw %ax, -0x266(%rbp)
movw %ax, -0x268(%rbp)
movw %ax, -0x26a(%rbp)
movw %ax, -0x26c(%rbp)
movw %ax, -0x26e(%rbp)
movw %ax, -0x270(%rbp)
movzwl -0x262(%rbp), %eax
movd %eax, %xmm1
movzwl -0x264(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x266(%rbp), %eax
movd %eax, %xmm2
movzwl -0x268(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x26a(%rbp), %eax
movd %eax, %xmm0
movzwl -0x26c(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x26e(%rbp), %eax
movd %eax, %xmm3
movzwl -0x270(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x280(%rbp)
movaps -0x280(%rbp), %xmm0
movaps %xmm0, -0x360(%rbp)
movw $0x4515, -0x2ea(%rbp)   # imm = 0x4515
movw -0x2ea(%rbp), %ax
movw %ax, -0x242(%rbp)
movw %ax, -0x244(%rbp)
movw %ax, -0x246(%rbp)
movw %ax, -0x248(%rbp)
movw %ax, -0x24a(%rbp)
movw %ax, -0x24c(%rbp)
movw %ax, -0x24e(%rbp)
movw %ax, -0x250(%rbp)
movzwl -0x242(%rbp), %eax
movd %eax, %xmm1
movzwl -0x244(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x246(%rbp), %eax
movd %eax, %xmm2
movzwl -0x248(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x24a(%rbp), %eax
movd %eax, %xmm0
movzwl -0x24c(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x24e(%rbp), %eax
movd %eax, %xmm3
movzwl -0x250(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x260(%rbp)
movaps -0x260(%rbp), %xmm0
movaps %xmm0, -0x370(%rbp)
movw $0x1913, -0x2ec(%rbp)   # imm = 0x1913
movw -0x2ec(%rbp), %ax
movw %ax, -0x222(%rbp)
movw %ax, -0x224(%rbp)
movw %ax, -0x226(%rbp)
movw %ax, -0x228(%rbp)
movw %ax, -0x22a(%rbp)
movw %ax, -0x22c(%rbp)
movw %ax, -0x22e(%rbp)
movw %ax, -0x230(%rbp)
movzwl -0x222(%rbp), %eax
movd %eax, %xmm1
movzwl -0x224(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x226(%rbp), %eax
movd %eax, %xmm2
movzwl -0x228(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x22a(%rbp), %eax
movd %eax, %xmm0
movzwl -0x22c(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x22e(%rbp), %eax
movd %eax, %xmm3
movzwl -0x230(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x240(%rbp)
movaps -0x240(%rbp), %xmm0
movaps %xmm0, -0x380(%rbp)
movw $0x3408, -0x2ee(%rbp)   # imm = 0x3408
movw -0x2ee(%rbp), %ax
movw %ax, -0x202(%rbp)
movw %ax, -0x204(%rbp)
movw %ax, -0x206(%rbp)
movw %ax, -0x208(%rbp)
movw %ax, -0x20a(%rbp)
movw %ax, -0x20c(%rbp)
movw %ax, -0x20e(%rbp)
movw %ax, -0x210(%rbp)
movzwl -0x202(%rbp), %eax
movd %eax, %xmm1
movzwl -0x204(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x206(%rbp), %eax
movd %eax, %xmm2
movzwl -0x208(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x20a(%rbp), %eax
movd %eax, %xmm0
movzwl -0x20c(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x20e(%rbp), %eax
movd %eax, %xmm3
movzwl -0x210(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movaps %xmm0, -0x220(%rbp)
movaps -0x220(%rbp), %xmm0
movaps %xmm0, -0x390(%rbp)
movw $0x2204, -0x2f0(%rbp)   # imm = 0x2204
movw -0x2f0(%rbp), %ax
movw %ax, -0x1e2(%rbp)
movw %ax, -0x1e4(%rbp)
movw %ax, -0x1e6(%rbp)
movw %ax, -0x1e8(%rbp)
movw %ax, -0x1ea(%rbp)
movw %ax, -0x1ec(%rbp)
movw %ax, -0x1ee(%rbp)
movw %ax, -0x1f0(%rbp)
movzwl -0x1e2(%rbp), %eax
movd %eax, %xmm1
movzwl -0x1e4(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
movzwl -0x1e6(%rbp), %eax
movd %eax, %xmm2
movzwl -0x1e8(%rbp), %eax
movd %eax, %xmm1
punpcklwd %xmm2, %xmm1    # xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
punpckldq %xmm0, %xmm1    # xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
movzwl -0x1ea(%rbp), %eax
movd %eax, %xmm0
movzwl -0x1ec(%rbp), %eax
movd %eax, %xmm2
punpcklwd %xmm0, %xmm2    # xmm2 = xmm2[0],xmm0[0],xmm2[1],xmm0[1],xmm2[2],xmm0[2],xmm2[3],xmm0[3]
movzwl -0x1ee(%rbp), %eax
movd %eax, %xmm3
movzwl -0x1f0(%rbp), %eax
movd %eax, %xmm0
punpcklwd %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1],xmm0[2],xmm3[2],xmm0[3],xmm3[3]
punpckldq %xmm2, %xmm0    # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
punpcklqdq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0]
movdqa %xmm0, -0x200(%rbp)
movdqa -0x200(%rbp), %xmm0
movdqa %xmm0, -0x3a0(%rbp)
movq -0x2f8(%rbp), %rax
movdqa (%rax), %xmm1
movdqa -0x330(%rbp), %xmm0
movdqa %xmm1, -0x150(%rbp)
movdqa %xmm0, -0x160(%rbp)
movdqa -0x150(%rbp), %xmm0
movdqa -0x160(%rbp), %xmm1
pmulhuw %xmm1, %xmm0
movdqa %xmm0, -0x3b0(%rbp)
movq -0x308(%rbp), %rax
movdqa (%rax), %xmm1
movdqa -0x340(%rbp), %xmm0
movdqa %xmm1, -0x170(%rbp)
movdqa %xmm0, -0x180(%rbp)
movdqa -0x170(%rbp), %xmm0
movdqa -0x180(%rbp), %xmm1
pmulhuw %xmm1, %xmm0
movdqa %xmm0, -0x3c0(%rbp)
movdqa -0x3b0(%rbp), %xmm1
movdqa -0x350(%rbp), %xmm0
movdqa %xmm1, -0x110(%rbp)
movdqa %xmm0, -0x120(%rbp)
movdqa -0x110(%rbp), %xmm0
movdqa -0x120(%rbp), %xmm1
psubw %xmm1, %xmm0
movdqa %xmm0, -0x3d0(%rbp)
movdqa -0x3d0(%rbp), %xmm1
movdqa -0x3c0(%rbp), %xmm0
movdqa %xmm1, -0xb0(%rbp)
movdqa %xmm0, -0xc0(%rbp)
movdqa -0xb0(%rbp), %xmm0
movdqa -0xc0(%rbp), %xmm1
paddw %xmm1, %xmm0
movdqa %xmm0, -0x3e0(%rbp)
movq -0x300(%rbp), %rax
movdqa (%rax), %xmm1
movdqa -0x380(%rbp), %xmm0
movdqa %xmm1, -0x190(%rbp)
movdqa %xmm0, -0x1a0(%rbp)
movdqa -0x190(%rbp), %xmm0
movdqa -0x1a0(%rbp), %xmm1
pmulhuw %xmm1, %xmm0
movdqa %xmm0, -0x3f0(%rbp)
movq -0x308(%rbp), %rax
movdqa (%rax), %xmm1
movdqa -0x390(%rbp), %xmm0
movdqa %xmm1, -0x1b0(%rbp)
movdqa %xmm0, -0x1c0(%rbp)
movdqa -0x1b0(%rbp), %xmm0
movdqa -0x1c0(%rbp), %xmm1
pmulhuw %xmm1, %xmm0
movdqa %xmm0, -0x400(%rbp)
movdqa -0x3b0(%rbp), %xmm1
movdqa -0x3a0(%rbp), %xmm0
movdqa %xmm1, -0xd0(%rbp)
movdqa %xmm0, -0xe0(%rbp)
movdqa -0xd0(%rbp), %xmm0
movdqa -0xe0(%rbp), %xmm1
paddw %xmm1, %xmm0
movdqa %xmm0, -0x410(%rbp)
movdqa -0x3f0(%rbp), %xmm1
movdqa -0x400(%rbp), %xmm0
movdqa %xmm1, -0xf0(%rbp)
movdqa %xmm0, -0x100(%rbp)
movdqa -0xf0(%rbp), %xmm0
movdqa -0x100(%rbp), %xmm1
paddw %xmm1, %xmm0
movdqa %xmm0, -0x420(%rbp)
movdqa -0x410(%rbp), %xmm1
movdqa -0x420(%rbp), %xmm0
movdqa %xmm1, -0x130(%rbp)
movdqa %xmm0, -0x140(%rbp)
movdqa -0x130(%rbp), %xmm0
movdqa -0x140(%rbp), %xmm1
psubw %xmm1, %xmm0
movdqa %xmm0, -0x430(%rbp)
movq -0x300(%rbp), %rax
movdqa (%rax), %xmm1
movdqa -0x360(%rbp), %xmm0
movdqa %xmm1, -0x1d0(%rbp)
movdqa %xmm0, -0x1e0(%rbp)
movdqa -0x1d0(%rbp), %xmm0
movdqa -0x1e0(%rbp), %xmm1
pmulhuw %xmm1, %xmm0
movdqa %xmm0, -0x440(%rbp)
movdqa -0x440(%rbp), %xmm1
movdqa -0x3b0(%rbp), %xmm0
movdqa %xmm1, -0x90(%rbp)
movdqa %xmm0, -0xa0(%rbp)
movdqa -0x90(%rbp), %xmm0
movdqa -0xa0(%rbp), %xmm1
paddusw %xmm1, %xmm0
movdqa %xmm0, -0x450(%rbp)
movdqa -0x450(%rbp), %xmm1
movdqa -0x370(%rbp), %xmm0
movdqa %xmm1, -0x70(%rbp)
movdqa %xmm0, -0x80(%rbp)
movdqa -0x70(%rbp), %xmm0
movdqa -0x80(%rbp), %xmm1
psubusw %xmm1, %xmm0
movdqa %xmm0, -0x460(%rbp)
movdqa -0x3e0(%rbp), %xmm0
movdqa %xmm0, -0x30(%rbp)
movl $0x6, -0x34(%rbp)
movdqa -0x30(%rbp), %xmm0
movl -0x34(%rbp), %eax
movd %eax, %xmm1
psraw %xmm1, %xmm0
movq -0x310(%rbp), %rax
movdqa %xmm0, (%rax)
movdqa -0x430(%rbp), %xmm0
movdqa %xmm0, -0x50(%rbp)
movl $0x6, -0x54(%rbp)
movdqa -0x50(%rbp), %xmm0
movl -0x54(%rbp), %eax
movd %eax, %xmm1
psraw %xmm1, %xmm0
movq -0x318(%rbp), %rax
movdqa %xmm0, (%rax)
movdqa -0x460(%rbp), %xmm0
movdqa %xmm0, -0x10(%rbp)
movl $0x6, -0x14(%rbp)
movdqa -0x10(%rbp), %xmm0
movl -0x14(%rbp), %eax
movd %eax, %xmm1
psrlw %xmm1, %xmm0
movq -0x320(%rbp), %rax
movdqa %xmm0, (%rax)
addq $0x3e0, %rsp            # imm = 0x3E0
popq %rbp
retq
nopl (%rax)