user: 下面的汇编指令对应的C源代码是什么：

```asm
<var_y>:
  endbr64
  movslq %edx,%rsi
  movq   (%rdi),%xmm2
  pxor   %xmm3,%xmm3
  pxor   %xmm5,%xmm5
  lea    (%rdi,%rsi,1),%rax
  movdqa %xmm5,%xmm6
  movdqa %xmm5,%xmm8
  mov    %rsi,%rcx
  movq   (%rax),%xmm1
  lea    (%rax,%rsi,1),%rdx
  movzbl 0x1(%rdx),%edi
  punpcklqdq %xmm1,%xmm2
  movhps (%rax,%rsi,1),%xmm1
  movzbl (%rdx,%rsi,1),%esi
  movzbl (%rdx),%eax
  movdqa %xmm2,%xmm0
  movdqa %xmm1,%xmm4
  punpckhbw %xmm3,%xmm2
  punpcklbw %xmm3,%xmm4
  punpcklbw %xmm3,%xmm0
  punpckhbw %xmm3,%xmm1
  sub    %esi,%eax
  psubw  %xmm4,%xmm0
  psubw  %xmm1,%xmm2
  mov    %eax,%esi
  pcmpgtw %xmm0,%xmm6
  movdqa %xmm0,%xmm4
  movdqa %xmm0,%xmm7
  sar    $0x1f,%esi
  movdqa %xmm0,%xmm1
  movdqa %xmm5,%xmm0
  movdqa %xmm2,%xmm3
  xor    %eax,%esi
  pcmpgtw %xmm2,%xmm0
  psraw  $0x1f,%xmm4
  shr    $0x1f,%eax
  pcmpgtw %xmm4,%xmm8
  punpcklwd %xmm6,%xmm7
  punpckhwd %xmm6,%xmm1
  add    %eax,%esi
  movdqa %xmm2,%xmm6
  psraw  $0x1f,%xmm3
  punpcklwd %xmm0,%xmm6
  pcmpgtw %xmm3,%xmm5
  punpckhwd %xmm0,%xmm2
  movdqa %xmm4,%xmm0
  punpcklwd %xmm8,%xmm4
  punpckhwd %xmm8,%xmm0
  pxor   %xmm7,%xmm4
  pxor   %xmm1,%xmm0
  psrld  $0x1f,%xmm1
  paddd  %xmm1,%xmm0
  psrld  $0x1f,%xmm7
  movdqa %xmm3,%xmm1
  punpcklwd %xmm5,%xmm1
  paddd  %xmm7,%xmm4
  punpckhwd %xmm5,%xmm3
  pxor   %xmm6,%xmm1
  psrld  $0x1f,%xmm6
  pxor   %xmm2,%xmm3
  paddd  %xmm6,%xmm1
  paddd  %xmm4,%xmm0
  psrld  $0x1f,%xmm2
  paddd  %xmm1,%xmm0
  paddd  %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%eax
  add    %eax,%esi
  lea    0x1(%rcx),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  sub    %eax,%edi
  mov    %edi,%eax
  sar    $0x1f,%eax
  xor    %edi,%eax
  shr    $0x1f,%edi
  add    %edi,%eax
  movzbl 0x2(%rdx),%edi
  add    %esi,%eax
  lea    0x2(%rcx),%esi
  movslq %esi,%rsi
  movzbl (%rdx,%rsi,1),%esi
  sub    %esi,%edi
  mov    %edi,%esi
  sar    $0x1f,%esi
  xor    %edi,%esi
  shr    $0x1f,%edi
  add    %edi,%esi
  movzbl 0x3(%rdx),%edi
  add    %eax,%esi
  lea    0x3(%rcx),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  sub    %eax,%edi
  mov    %edi,%eax
  sar    $0x1f,%eax
  xor    %edi,%eax
  shr    $0x1f,%edi
  add    %edi,%eax
  movzbl 0x4(%rdx),%edi
  add    %esi,%eax
  lea    0x4(%rcx),%esi
  movslq %esi,%rsi
  movzbl (%rdx,%rsi,1),%esi
  sub    %esi,%edi
  mov    %edi,%esi
  sar    $0x1f,%esi
  xor    %edi,%esi
  shr    $0x1f,%edi
  add    %edi,%esi
  movzbl 0x5(%rdx),%edi
  add    %eax,%esi
  lea    0x5(%rcx),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  sub    %eax,%edi
  mov    %edi,%eax
  sar    $0x1f,%eax
  xor    %edi,%eax
  shr    $0x1f,%edi
  add    %edi,%eax
  movzbl 0x6(%rdx),%edi
  add    %esi,%eax
  lea    0x6(%rcx),%esi
  movslq %esi,%rsi
  movzbl (%rdx,%rsi,1),%esi
  sub    %esi,%edi
  mov    %edi,%esi
  sar    $0x1f,%esi
  xor    %edi,%esi
  shr    $0x1f,%edi
  add    %edi,%esi
  movzbl 0x7(%rdx),%edi
  add    %eax,%esi
  lea    0x7(%rcx),%eax
  cltq
  movzbl (%rdx,%rax,1),%eax
  mov    %edi,%edx
  sub    %eax,%edx
  mov    %edx,%eax
  sar    $0x1f,%eax
  xor    %edx,%eax
  shr    $0x1f,%edx
  add    %edx,%eax
  add    %esi,%eax
  shl    $0x2,%eax
  ret
```

assistant: ```c
int var_y(unsigned char *a, unsigned char *b, int s) {
  int i, j, var = 0;
  for (i = 3; i; i--) {
    for (j = 0; j < 8; j++) {
      var += (((a[j] - a[j + s]) ^ ((a[j] - a[j + s]) >> 31)) - ((a[j] - a[j + s]) >> 31));
    }
    a += s;
    b += s;
  }
  return 4 * var;
}
```