user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<interpRGB32>:
  endbr64
  sar    %r8d
  push   %r15
  mov    %rdi,%rax
  mov    %r8d,%r11d
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x1,%r11d
  je     L60
  mov    %r11d,%edi
  lea    -0x2(%r8),%r14d
  lea    0x4(,%rdi,8),%rbp
  shl    $0x4,%rdi
  mov    %r14d,-0xc(%rsp)
  lea    (%rdx,%rdi,1),%r10
  lea    (%rcx,%rdi,1),%r9
  mov    %rcx,%rdi
  sub    %rdx,%rdi
  lea    (%rax,%rbp,1),%rbx
  add    %rsi,%rbp
  sub    $0x4,%rdi
  cmp    $0x38,%rdi
  seta   %dil
  cmp    $0x1,%r14d
  seta   %r12b
  and    %r12d,%edi
  cmp    %r10,%rax
  setae  %r12b
  cmp    %rbx,%rdx
  setae  %r13b
  or     %r13d,%r12d
  and    %r12d,%edi
  cmp    %r9,%rax
  setae  %r12b
  cmp    %rbx,%rcx
  setae  %bl
  or     %r12d,%ebx
  and    %ebx,%edi
  cmp    %rbp,%rdx
  setae  %bl
  cmp    %r10,%rsi
  setae  %r10b
  or     %ebx,%r10d
  test   %r10b,%dil
  je     L95
  cmp    %r9,%rsi
  setae  %dil
  cmp    %rbp,%rcx
  setae  %r9b
  or     %r9b,%dil
  je     L95
  cmp    $0x3,%r14d
  jbe    L58
  shr    $0x2,%r14d
  movdqa D123(%rip),%xmm6
  movdqa D234(%rip),%xmm1
  xor    %edi,%edi
  mov    %r14d,%r9d
  movdqa D231(%rip),%xmm0
  movdqa D129(%rip),%xmm2
  movdqa D255(%rip),%xmm7
  shl    $0x5,%r9
  nopw   0x0(%rax,%rax,1)
L24:
  movdqu (%rax,%rdi,1),%xmm3
  movdqu 0x10(%rax,%rdi,1),%xmm5
  movdqu 0x8(%rax,%rdi,1),%xmm11
  movdqa %xmm3,%xmm9
  shufps $0xdd,%xmm5,%xmm3
  movdqa %xmm3,%xmm10
  shufps $0x88,%xmm5,%xmm9
  movdqa %xmm9,%xmm12
  movdqa %xmm9,%xmm4
  paddd  %xmm3,%xmm12
  movdqu 0x18(%rax,%rdi,1),%xmm3
  psrld  $0x6,%xmm4
  pand   %xmm0,%xmm4
  movdqa %xmm12,%xmm5
  paddd  %xmm7,%xmm12
  shufps $0x88,%xmm3,%xmm11
  movdqa %xmm9,%xmm3
  paddd  %xmm6,%xmm5
  paddd  %xmm10,%xmm11
  psrld  $0x3,%xmm3
  movdqa %xmm5,%xmm13
  movdqa %xmm11,%xmm8
  pand   %xmm1,%xmm3
  psrld  $0x4,%xmm13
  paddd  %xmm6,%xmm8
  por    %xmm4,%xmm3
  movdqa %xmm9,%xmm4
  pand   %xmm1,%xmm13
  pand   %xmm2,%xmm4
  movdqa %xmm8,%xmm14
  paddd  %xmm7,%xmm11
  por    %xmm4,%xmm3
  psrld  $0x4,%xmm14
  movdqa %xmm5,%xmm4
  psrld  $0x1,%xmm4
  psrld  $0x7,%xmm5
  pand   %xmm1,%xmm14
  pand   %xmm2,%xmm4
  pand   %xmm0,%xmm5
  por    %xmm13,%xmm4
  movdqa %xmm10,%xmm13
  por    %xmm5,%xmm4
  psrld  $0x3,%xmm13
  movdqa %xmm10,%xmm5
  psrld  $0x6,%xmm5
  pand   %xmm1,%xmm13
  pand   %xmm0,%xmm5
  por    %xmm5,%xmm13
  movdqa %xmm10,%xmm5
  pand   %xmm2,%xmm5
  por    %xmm5,%xmm13
  movdqa %xmm8,%xmm5
  psrld  $0x1,%xmm5
  psrld  $0x7,%xmm8
  pand   %xmm2,%xmm5
  pand   %xmm0,%xmm8
  por    %xmm14,%xmm5
  por    %xmm8,%xmm5
  movdqa %xmm3,%xmm8
  punpckhdq %xmm13,%xmm3
  punpckldq %xmm13,%xmm8
  movdqa %xmm4,%xmm13
  punpckhdq %xmm5,%xmm4
  punpckldq %xmm5,%xmm13
  movdqa %xmm8,%xmm5
  punpckldq %xmm13,%xmm5
  punpckhdq %xmm13,%xmm8
  movups %xmm5,(%rdx,%rdi,2)
  movdqa %xmm3,%xmm5
  punpckhdq %xmm4,%xmm3
  punpckldq %xmm4,%xmm5
  movups %xmm8,0x10(%rdx,%rdi,2)
  movups %xmm5,0x20(%rdx,%rdi,2)
  movups %xmm3,0x30(%rdx,%rdi,2)
  movdqu (%rsi,%rdi,1),%xmm5
  movdqu 0x10(%rsi,%rdi,1),%xmm3
  movdqu 0x8(%rsi,%rdi,1),%xmm8
  movdqu 0x18(%rsi,%rdi,1),%xmm15
  movdqa %xmm5,%xmm4
  shufps $0xdd,%xmm3,%xmm5
  shufps $0x88,%xmm3,%xmm4
  paddd  %xmm4,%xmm9
  movdqa %xmm10,%xmm3
  paddd  %xmm5,%xmm4
  paddd  %xmm6,%xmm9
  paddd  %xmm5,%xmm3
  shufps $0x88,%xmm15,%xmm8
  movdqa %xmm9,%xmm10
  paddd  %xmm5,%xmm8
  movdqa %xmm9,%xmm5
  psrld  $0x1,%xmm5
  psrld  $0x4,%xmm10
  paddd  %xmm12,%xmm4
  pand   %xmm1,%xmm10
  pand   %xmm2,%xmm5
  paddd  %xmm6,%xmm3
  psrld  $0x7,%xmm9
  por    %xmm10,%xmm5
  movdqa %xmm4,%xmm10
  pand   %xmm0,%xmm9
  psrld  $0x5,%xmm10
  paddd  %xmm11,%xmm8
  por    %xmm9,%xmm5
  movdqa %xmm4,%xmm9
  pand   %xmm1,%xmm10
  psrld  $0x2,%xmm9
  psrld  $0x8,%xmm4
  pand   %xmm2,%xmm9
  pand   %xmm0,%xmm4
  por    %xmm10,%xmm9
  movdqa %xmm3,%xmm10
  por    %xmm4,%xmm9
  psrld  $0x4,%xmm10
  movdqa %xmm3,%xmm4
  psrld  $0x1,%xmm4
  psrld  $0x7,%xmm3
  pand   %xmm1,%xmm10
  pand   %xmm2,%xmm4
  pand   %xmm0,%xmm3
  por    %xmm10,%xmm4
  movdqa %xmm8,%xmm10
  por    %xmm3,%xmm4
  psrld  $0x5,%xmm10
  movdqa %xmm8,%xmm3
  psrld  $0x2,%xmm3
  psrld  $0x8,%xmm8
  pand   %xmm1,%xmm10
  pand   %xmm2,%xmm3
  pand   %xmm0,%xmm8
  por    %xmm10,%xmm3
  por    %xmm8,%xmm3
  movdqa %xmm5,%xmm8
  punpckhdq %xmm4,%xmm5
  punpckldq %xmm4,%xmm8
  movdqa %xmm9,%xmm4
  punpckhdq %xmm3,%xmm9
  punpckldq %xmm3,%xmm4
  movdqa %xmm8,%xmm3
  punpckldq %xmm4,%xmm3
  punpckhdq %xmm4,%xmm8
  movups %xmm3,(%rcx,%rdi,2)
  movdqa %xmm5,%xmm3
  punpckhdq %xmm9,%xmm5
  punpckldq %xmm9,%xmm3
  movups %xmm8,0x10(%rcx,%rdi,2)
  movups %xmm3,0x20(%rcx,%rdi,2)
  movups %xmm5,0x30(%rcx,%rdi,2)
  add    $0x20,%rdi
  cmp    %r9,%rdi
  jne    L24
  mov    -0xc(%rsp),%ebx
  and    $0xfffffffc,%ebx
  mov    %ebx,%r9d
  sub    %ebx,%r11d
  lea    0x0(,%r9,8),%rdi
  shl    $0x4,%r9
  lea    (%rax,%rdi,1),%r10
  lea    (%rdx,%r9,1),%r12
  add    %rsi,%rdi
  add    %rcx,%r9
L89:
  sub    %ebx,%r8d
  lea    -0x2(%r8),%r15d
  cmp    $0x1,%r15d
  jbe    L82
  movq   D234(%rip),%xmm9
  mov    %ebx,%r8d
  and    $0xfffffffe,%r15d
  movq   D231(%rip),%xmm8
  lea    0x8(,%r8,8),%rbp
  mov    %r8,%rbx
  sub    %r15d,%r11d
  movq   (%rax,%r8,8),%xmm3
  lea    (%rax,%rbp,1),%r14
  shl    $0x4,%rbx
  add    %rsi,%rbp
  movq   D123(%rip),%xmm14
  movq   (%r14),%xmm11
  movdqa %xmm3,%xmm4
  movq   0x8(%r14),%xmm5
  lea    (%rdx,%rbx,1),%r13
  movq   D129(%rip),%xmm10
  add    %rcx,%rbx
  punpckldq %xmm11,%xmm4
  punpckldq %xmm11,%xmm3
  punpckldq %xmm5,%xmm11
  pshufd $0xe,%xmm3,%xmm3
  movdqa %xmm4,%xmm15
  movdqa %xmm4,%xmm5
  paddd  %xmm3,%xmm15
  movdqa %xmm4,%xmm6
  paddd  %xmm3,%xmm11
  psrld  $0x3,%xmm5
  psrld  $0x6,%xmm6
  pand   %xmm8,%xmm6
  pand   %xmm9,%xmm5
  movdqa %xmm15,%xmm12
  por    %xmm6,%xmm5
  movdqa %xmm4,%xmm6
  paddd  %xmm14,%xmm12
  pand   %xmm10,%xmm6
  movdqa %xmm11,%xmm7
  por    %xmm6,%xmm5
  paddd  %xmm14,%xmm7
  movq   %xmm5,-0x18(%rsp)
  movdqa %xmm12,%xmm6
  movdqa %xmm12,%xmm13
  psrld  $0x1,%xmm6
  psrld  $0x4,%xmm13
  pand   %xmm9,%xmm13
  psrld  $0x7,%xmm12
  pand   %xmm10,%xmm6
  por    %xmm13,%xmm6
  pand   %xmm8,%xmm12
  movdqa %xmm3,%xmm13
  por    %xmm12,%xmm6
  psrld  $0x6,%xmm13
  movdqa %xmm3,%xmm12
  psrld  $0x3,%xmm12
  pand   %xmm8,%xmm13
  pand   %xmm9,%xmm12
  por    %xmm13,%xmm12
  movdqa %xmm3,%xmm13
  pand   %xmm10,%xmm13
  por    %xmm13,%xmm12
  movdqa %xmm7,%xmm13
  psrld  $0x1,%xmm13
  pand   %xmm10,%xmm13
  movq   %xmm13,%r14
  movdqa %xmm7,%xmm13
  psrld  $0x4,%xmm13
  psrld  $0x7,%xmm7
  movq   %r14,%xmm5
  pand   %xmm9,%xmm13
  pand   %xmm8,%xmm7
  por    %xmm5,%xmm13
  movq   -0x18(%rsp),%xmm5
  por    %xmm13,%xmm7
  movdqa %xmm5,%xmm13
  punpckldq %xmm12,%xmm5
  punpckldq %xmm12,%xmm13
  movdqa %xmm6,%xmm12
  punpckldq %xmm7,%xmm6
  punpckldq %xmm7,%xmm12
  movdqa %xmm13,%xmm7
  pshufd $0xe,%xmm6,%xmm6
  punpckldq %xmm12,%xmm7
  pshufd $0xe,%xmm5,%xmm5
  punpckldq %xmm12,%xmm13
  movq   D255(%rip),%xmm12
  movq   %xmm7,0x0(%r13)
  movdqa %xmm5,%xmm7
  punpckldq %xmm6,%xmm5
  pshufd $0xe,%xmm13,%xmm13
  punpckldq %xmm6,%xmm7
  pshufd $0xe,%xmm5,%xmm5
  movq   %xmm13,0x8(%r13)
  paddd  %xmm12,%xmm15
  movq   %xmm5,0x18(%r13)
  movq   %xmm7,0x10(%r13)
  movq   (%rsi,%r8,8),%xmm7
  mov    %r15d,%r8d
  movq   0x0(%rbp),%xmm6
  movq   0x8(%rbp),%xmm13
  movdqa %xmm7,%xmm5
  punpckldq %xmm6,%xmm7
  punpckldq %xmm6,%xmm5
  pshufd $0xe,%xmm7,%xmm7
  punpckldq %xmm13,%xmm6
  paddd  %xmm5,%xmm4
  paddd  %xmm7,%xmm3
  paddd  %xmm7,%xmm5
  paddd  %xmm11,%xmm6
  paddd  %xmm12,%xmm7
  paddd  %xmm14,%xmm4
  paddd  %xmm14,%xmm3
  paddd  %xmm15,%xmm5
  paddd  %xmm7,%xmm6
  movdqa %xmm4,%xmm11
  movdqa %xmm4,%xmm7
  psrld  $0x1,%xmm11
  psrld  $0x4,%xmm7
  movdqa %xmm5,%xmm15
  pand   %xmm9,%xmm7
  psrld  $0x2,%xmm15
  pand   %xmm10,%xmm11
  por    %xmm7,%xmm11
  movdqa %xmm4,%xmm7
  pand   %xmm10,%xmm15
  psrld  $0x7,%xmm7
  movdqa %xmm11,%xmm4
  pand   %xmm8,%xmm7
  por    %xmm7,%xmm4
  movdqa %xmm5,%xmm7
  psrld  $0x5,%xmm7
  psrld  $0x8,%xmm5
  pand   %xmm9,%xmm7
  pand   %xmm8,%xmm5
  por    %xmm7,%xmm15
  movdqa %xmm3,%xmm7
  por    %xmm5,%xmm15
  psrld  $0x1,%xmm7
  movdqa %xmm3,%xmm5
  psrld  $0x4,%xmm5
  pand   %xmm10,%xmm7
  pand   %xmm9,%xmm5
  por    %xmm5,%xmm7
  movdqa %xmm3,%xmm5
  psrld  $0x7,%xmm5
  pand   %xmm8,%xmm5
  por    %xmm5,%xmm7
  movdqa %xmm6,%xmm5
  movdqa %xmm7,%xmm3
  psrld  $0x2,%xmm5
  movdqa %xmm6,%xmm7
  psrld  $0x5,%xmm7
  psrld  $0x8,%xmm6
  pand   %xmm10,%xmm5
  pand   %xmm9,%xmm7
  pand   %xmm8,%xmm6
  por    %xmm7,%xmm5
  por    %xmm6,%xmm5
  movdqa %xmm4,%xmm6
  punpckldq %xmm3,%xmm4
  punpckldq %xmm3,%xmm6
  movdqa %xmm15,%xmm3
  punpckldq %xmm5,%xmm15
  punpckldq %xmm5,%xmm3
  pshufd $0xe,%xmm4,%xmm4
  pshufd $0xe,%xmm15,%xmm15
  movdqa %xmm6,%xmm5
  punpckldq %xmm3,%xmm6
  punpckldq %xmm3,%xmm5
  movdqa %xmm4,%xmm3
  punpckldq %xmm15,%xmm4
  pshufd $0xe,%xmm6,%xmm6
  punpckldq %xmm15,%xmm3
  pshufd $0xe,%xmm4,%xmm4
  movq   %xmm5,(%rbx)
  movq   %xmm6,0x8(%rbx)
  movq   %xmm3,0x10(%rbx)
  movq   %xmm4,0x18(%rbx)
  lea    0x0(,%r8,8),%rbx
  shl    $0x4,%r8
  add    %rbx,%r10
  add    %rbx,%rdi
  add    %r8,%r12
  add    %r8,%r9
L82:
  mov    0x4(%r10),%ebp
  mov    (%r10),%r8d
  mov    0x8(%r10),%r14d
  lea    (%r8,%rbp,1),%r15d
  lea    0x400801(%r15),%ebx
  add    %ebp,%r14d
  mov    %ebx,-0x18(%rsp)
  mov    %r8d,%ebx
  lea    0x400801(%r14),%r13d
  shr    $0x6,%ebx
  movd   %ebx,%xmm3
  mov    -0x18(%rsp),%ebx
  shr    $0x4,%ebx
  movd   %ebx,%xmm5
  mov    %ebp,%ebx
  shr    $0x6,%ebx
  punpckldq %xmm5,%xmm3
  movd   %ebx,%xmm4
  mov    %r13d,%ebx
  shr    $0x4,%ebx
  movd   %ebx,%xmm6
  mov    %r8d,%ebx
  punpckldq %xmm6,%xmm4
  shr    $0x3,%ebx
  movdqa D262(%rip),%xmm6
  punpcklqdq %xmm4,%xmm3
  movd   %ebx,%xmm4
  mov    -0x18(%rsp),%ebx
  pand   %xmm6,%xmm3
  shr    %ebx
  movd   %ebx,%xmm7
  mov    %ebp,%ebx
  shr    $0x3,%ebx
  punpckldq %xmm7,%xmm4
  movdqa D51(%rip),%xmm7
  movd   %ebx,%xmm5
  mov    %r13d,%ebx
  shr    $0x7,%r13d
  shr    %ebx
  movd   %ebx,%xmm8
  mov    -0x18(%rsp),%ebx
  punpckldq %xmm8,%xmm5
  punpcklqdq %xmm5,%xmm4
  shr    $0x7,%ebx
  movd   %ebp,%xmm5
  pand   %xmm7,%xmm4
  movd   %ebx,%xmm14
  por    %xmm4,%xmm3
  movd   %r13d,%xmm4
  punpckldq %xmm4,%xmm5
  movd   %r8d,%xmm4
  punpckldq %xmm14,%xmm4
  punpcklqdq %xmm5,%xmm4
  movdqa D209(%rip),%xmm5
  pand   %xmm5,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,(%r12)
  mov    0x4(%rdi),%r13d
  mov    (%rdi),%ebx
  lea    0x400801(%rbx,%r8,1),%r8d
  lea    0x801002(%rbx,%r13,1),%ebx
  add    %r15d,%ebx
  mov    %r8d,%r15d
  lea    0x400801(%r13,%rbp,1),%ebp
  add    0x8(%rdi),%r13d
  shr    $0x4,%r15d
  lea    0x801002(%r14,%r13,1),%r13d
  mov    %ebx,%r14d
  movd   %r15d,%xmm3
  mov    %ebp,%r15d
  shr    $0x5,%r14d
  shr    $0x4,%r15d
  movd   %r14d,%xmm14
  mov    %ebx,%r14d
  shr    $0x8,%ebx
  movd   %r15d,%xmm4
  mov    %r13d,%r15d
  punpckldq %xmm14,%xmm3
  shr    $0x2,%r14d
  shr    $0x5,%r15d
  movd   %r14d,%xmm14
  movd   %r15d,%xmm15
  mov    %r8d,%r15d
  shr    $0x7,%r8d
  punpckldq %xmm15,%xmm4
  shr    %r15d
  punpcklqdq %xmm4,%xmm3
  movd   %r15d,%xmm4
  mov    %ebp,%r15d
  shr    $0x7,%ebp
  shr    %r15d
  punpckldq %xmm14,%xmm4
  pand   %xmm1,%xmm3
  movd   %r15d,%xmm8
  mov    %r13d,%r15d
  shr    $0x8,%r13d
  movd   %ebx,%xmm14
  shr    $0x2,%r15d
  movd   %r15d,%xmm15
  punpckldq %xmm15,%xmm8
  movd   %r13d,%xmm15
  punpcklqdq %xmm8,%xmm4
  movd   %ebp,%xmm8
  pand   %xmm2,%xmm4
  punpckldq %xmm15,%xmm8
  por    %xmm4,%xmm3
  movd   %r8d,%xmm4
  punpckldq %xmm14,%xmm4
  punpcklqdq %xmm8,%xmm4
  pand   %xmm0,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,(%r9)
  cmp    $0x1,%r11d
  je     L14
  mov    0x8(%r10),%r11d
  mov    0xc(%r10),%r8d
  mov    0x10(%r10),%r13d
  lea    (%r11,%r8,1),%ebp
  mov    %r11d,%r14d
  mov    %r8d,%r15d
  add    %r8d,%r13d
  lea    0x400801(%rbp),%ebx
  shr    $0x3,%r14d
  lea    0x400801(%r13),%r10d
  shr    $0x3,%r15d
  movd   %r14d,%xmm3
  mov    %ebx,%r14d
  movd   %r15d,%xmm4
  mov    %r10d,%r15d
  shr    %r14d
  shr    %r15d
  movd   %r14d,%xmm15
  mov    %r11d,%r14d
  movd   %r15d,%xmm11
  mov    %r8d,%r15d
  punpckldq %xmm15,%xmm3
  shr    $0x6,%r14d
  punpckldq %xmm11,%xmm4
  shr    $0x6,%r15d
  punpcklqdq %xmm4,%xmm3
  movd   %r15d,%xmm8
  movd   %r14d,%xmm4
  mov    %r10d,%r15d
  shr    $0x4,%r15d
  mov    %ebx,%r14d
  shr    $0x7,%r10d
  pand   %xmm7,%xmm3
  shr    $0x4,%r14d
  movd   %r15d,%xmm14
  shr    $0x7,%ebx
  movd   %r14d,%xmm11
  punpckldq %xmm14,%xmm8
  movd   %ebx,%xmm15
  punpckldq %xmm11,%xmm4
  punpcklqdq %xmm8,%xmm4
  movd   %r8d,%xmm8
  pand   %xmm6,%xmm4
  por    %xmm4,%xmm3
  movd   %r10d,%xmm4
  punpckldq %xmm4,%xmm8
  movd   %r11d,%xmm4
  punpckldq %xmm15,%xmm4
  punpcklqdq %xmm8,%xmm4
  pand   %xmm5,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,0x10(%r12)
  mov    0xc(%rdi),%ebx
  mov    0x8(%rdi),%r12d
  lea    0x400801(%r8,%rbx,1),%r8d
  lea    0x400801(%r11,%r12,1),%r10d
  lea    0x801002(%r12,%rbx,1),%r11d
  add    0x10(%rdi),%ebx
  mov    %r8d,%r14d
  mov    %r8d,%r15d
  lea    0x801002(%r13,%rbx,1),%edi
  mov    %r10d,%ebx
  add    %ebp,%r11d
  shr    %r14d
  shr    %ebx
  mov    %edi,%ebp
  movd   %r14d,%xmm4
  shr    $0x4,%r15d
  shr    $0x2,%ebp
  movd   %ebx,%xmm3
  mov    %r11d,%ebx
  shr    $0x7,%r8d
  shr    $0x2,%ebx
  movd   %ebp,%xmm14
  movd   %r15d,%xmm8
  mov    %edi,%ebp
  shr    $0x5,%ebp
  movd   %ebx,%xmm11
  mov    %r10d,%ebx
  shr    $0x8,%edi
  punpckldq %xmm14,%xmm4
  punpckldq %xmm11,%xmm3
  shr    $0x4,%ebx
  movd   %ebp,%xmm15
  punpcklqdq %xmm4,%xmm3
  movd   %ebx,%xmm4
  mov    %r11d,%ebx
  shr    $0x7,%r10d
  shr    $0x5,%ebx
  punpckldq %xmm15,%xmm8
  pand   %xmm2,%xmm3
  shr    $0x8,%r11d
  movd   %ebx,%xmm14
  movd   %edi,%xmm11
  movd   %r11d,%xmm15
  punpckldq %xmm14,%xmm4
  punpcklqdq %xmm8,%xmm4
  movd   %r8d,%xmm8
  pand   %xmm1,%xmm4
  punpckldq %xmm11,%xmm8
  por    %xmm4,%xmm3
  movd   %r10d,%xmm4
  punpckldq %xmm15,%xmm4
  punpcklqdq %xmm8,%xmm4
  pand   %xmm0,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,0x10(%r9)
L14:
  mov    -0xc(%rsp),%edi
  add    $0x1,%rdi
  lea    0x0(,%rdi,8),%r8
  shl    $0x4,%rdi
  add    %r8,%rax
  add    %r8,%rsi
  add    %rdi,%rdx
  add    %rdi,%rcx
L54:
  mov    0x4(%rax),%r8d
  mov    (%rax),%r10d
  lea    (%r8,%r8,1),%r9d
  lea    (%r10,%r8,1),%r11d
  mov    %r10d,%ebx
  mov    %r8d,%r15d
  lea    0x400801(%r9),%edi
  lea    0x400801(%r11),%eax
  shr    $0x3,%ebx
  shr    $0x3,%r15d
  movd   %ebx,%xmm3
  mov    %edi,%ebp
  movd   %r15d,%xmm4
  mov    %eax,%ebx
  shr    %ebx
  shr    %ebp
  mov    %r8d,%r15d
  movd   %ebp,%xmm14
  movd   %ebx,%xmm15
  mov    %r10d,%ebx
  mov    %edi,%ebp
  shr    $0x6,%ebx
  punpckldq %xmm14,%xmm4
  punpckldq %xmm15,%xmm3
  shr    $0x4,%ebp
  shr    $0x6,%r15d
  punpcklqdq %xmm4,%xmm3
  movd   %ebx,%xmm4
  mov    %eax,%ebx
  shr    $0x4,%ebx
  pand   %xmm7,%xmm3
  movd   %ebp,%xmm14
  shr    $0x7,%edi
  movd   %r15d,%xmm7
  movd   %ebx,%xmm15
  shr    $0x7,%eax
  punpckldq %xmm14,%xmm7
  punpckldq %xmm15,%xmm4
  punpcklqdq %xmm7,%xmm4
  movd   %edi,%xmm7
  pand   %xmm6,%xmm4
  movd   %r8d,%xmm6
  punpckldq %xmm7,%xmm6
  por    %xmm4,%xmm3
  movd   %eax,%xmm7
  movd   %r10d,%xmm4
  punpckldq %xmm7,%xmm4
  punpcklqdq %xmm6,%xmm4
  pand   %xmm5,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,(%rdx)
  mov    (%rsi),%edx
  mov    0x4(%rsi),%edi
  lea    0x400801(%r10,%rdx,1),%eax
  lea    0x801002(%rdx,%rdi,1),%esi
  mov    %eax,%ebx
  lea    0x400801(%r8,%rdi,1),%edx
  add    %r11d,%esi
  lea    0x801002(%r9,%rdi,2),%edi
  shr    %ebx
  mov    %esi,%r8d
  movd   %ebx,%xmm3
  mov    %edi,%r9d
  mov    %edx,%ebx
  shr    $0x2,%r8d
  shr    %ebx
  shr    $0x2,%r9d
  movd   %r9d,%xmm6
  movd   %ebx,%xmm4
  mov    %eax,%ebx
  mov    %edi,%r9d
  shr    $0x4,%ebx
  punpckldq %xmm6,%xmm4
  movd   %r8d,%xmm6
  shr    $0x5,%r9d
  punpckldq %xmm6,%xmm3
  mov    %esi,%r8d
  movd   %r9d,%xmm6
  shr    $0x7,%eax
  shr    $0x5,%r8d
  punpcklqdq %xmm4,%xmm3
  shr    $0x8,%esi
  pand   %xmm3,%xmm2
  movd   %ebx,%xmm3
  mov    %edx,%ebx
  shr    $0x7,%edx
  shr    $0x4,%ebx
  movd   %ebx,%xmm4
  pop    %rbx
  pop    %rbp
  punpckldq %xmm6,%xmm4
  movd   %r8d,%xmm6
  pop    %r12
  pop    %r13
  punpckldq %xmm6,%xmm3
  pop    %r14
  pop    %r15
  punpcklqdq %xmm4,%xmm3
  pand   %xmm3,%xmm1
  movd   %edx,%xmm3
  por    %xmm2,%xmm1
  movd   %eax,%xmm2
  mov    %edi,%eax
  shr    $0x8,%eax
  movd   %eax,%xmm6
  punpckldq %xmm6,%xmm3
  movd   %esi,%xmm6
  punpckldq %xmm6,%xmm2
  punpcklqdq %xmm3,%xmm2
  pand   %xmm2,%xmm0
  por    %xmm1,%xmm0
  movups %xmm0,(%rcx)
  ret
  nopl   0x0(%rax,%rax,1)
L95:
  mov    -0xc(%rsp),%edi
  movdqa D234(%rip),%xmm1
  xor    %r8d,%r8d
  movdqa D231(%rip),%xmm0
  movdqa D129(%rip),%xmm2
  movdqa D262(%rip),%xmm6
  movdqa D51(%rip),%xmm7
  lea    0x8(,%rdi,8),%r10
  movdqa D209(%rip),%xmm5
  nopw   0x0(%rax,%rax,1)
L86:
  mov    0x4(%rax,%r8,1),%edi
  mov    0x8(%rax,%r8,1),%ebp
  mov    (%rax,%r8,1),%r9d
  add    %edi,%ebp
  lea    0x400801(%rbp),%ebx
  mov    %r9d,%r15d
  lea    (%r9,%rdi,1),%r12d
  shr    $0x3,%r15d
  mov    %ebx,%r14d
  lea    0x400801(%r12),%r11d
  movd   %r15d,%xmm3
  shr    %r14d
  mov    %edi,%r15d
  mov    %r11d,%r13d
  shr    $0x3,%r15d
  movd   %r14d,%xmm14
  mov    %edi,%r14d
  shr    %r13d
  movd   %r15d,%xmm4
  shr    $0x6,%r14d
  mov    %r9d,%r15d
  punpckldq %xmm14,%xmm4
  movd   %r14d,%xmm8
  mov    %ebx,%r14d
  shr    $0x6,%r15d
  shr    $0x4,%r14d
  movd   %r13d,%xmm14
  mov    %r11d,%r13d
  shr    $0x7,%ebx
  punpckldq %xmm14,%xmm3
  shr    $0x4,%r13d
  movd   %r14d,%xmm15
  punpcklqdq %xmm4,%xmm3
  movd   %r13d,%xmm14
  movd   %r15d,%xmm4
  shr    $0x7,%r11d
  punpckldq %xmm15,%xmm8
  punpckldq %xmm14,%xmm4
  pand   %xmm7,%xmm3
  punpcklqdq %xmm8,%xmm4
  movd   %edi,%xmm8
  movd   %r11d,%xmm15
  pand   %xmm6,%xmm4
  por    %xmm4,%xmm3
  movd   %ebx,%xmm4
  punpckldq %xmm4,%xmm8
  movd   %r9d,%xmm4
  punpckldq %xmm15,%xmm4
  punpcklqdq %xmm8,%xmm4
  pand   %xmm5,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,(%rdx,%r8,2)
  mov    (%rsi,%r8,1),%r11d
  mov    0x4(%rsi,%r8,1),%ebx
  lea    0x400801(%r9,%r11,1),%r9d
  lea    0x400801(%rdi,%rbx,1),%edi
  lea    0x801002(%r11,%rbx,1),%r11d
  mov    %r9d,%r15d
  add    0x8(%rsi,%r8,1),%ebx
  mov    %r9d,%r14d
  add    %r12d,%r11d
  lea    0x801002(%rbp,%rbx,1),%ebx
  shr    %r15d
  movd   %r15d,%xmm3
  mov    %r11d,%ebp
  mov    %edi,%r15d
  mov    %ebx,%r12d
  shr    $0x2,%ebp
  shr    %r15d
  shr    $0x2,%r12d
  movd   %ebp,%xmm15
  movd   %r15d,%xmm4
  mov    %r11d,%ebp
  movd   %r12d,%xmm14
  mov    %edi,%r15d
  mov    %ebx,%r12d
  shr    $0x4,%r14d
  shr    $0x5,%ebp
  punpckldq %xmm14,%xmm4
  punpckldq %xmm15,%xmm3
  shr    $0x7,%edi
  shr    $0x4,%r15d
  punpcklqdq %xmm4,%xmm3
  movd   %ebp,%xmm15
  shr    $0x8,%ebx
  shr    $0x5,%r12d
  movd   %r14d,%xmm4
  pand   %xmm2,%xmm3
  shr    $0x7,%r9d
  movd   %r12d,%xmm14
  movd   %r15d,%xmm8
  punpckldq %xmm15,%xmm4
  shr    $0x8,%r11d
  punpckldq %xmm14,%xmm8
  movd   %r11d,%xmm15
  movd   %ebx,%xmm14
  punpcklqdq %xmm8,%xmm4
  movd   %edi,%xmm8
  pand   %xmm1,%xmm4
  punpckldq %xmm14,%xmm8
  por    %xmm4,%xmm3
  movd   %r9d,%xmm4
  punpckldq %xmm15,%xmm4
  punpcklqdq %xmm8,%xmm4
  pand   %xmm0,%xmm4
  por    %xmm4,%xmm3
  movups %xmm3,(%rcx,%r8,2)
  add    $0x8,%r8
  cmp    %r10,%r8
  jne    L86
  jmp    L14
  nopl   0x0(%rax,%rax,1)
L60:
  movdqa D234(%rip),%xmm1
  movdqa D231(%rip),%xmm0
  movdqa D129(%rip),%xmm2
  movdqa D262(%rip),%xmm6
  movdqa D51(%rip),%xmm7
  movdqa D209(%rip),%xmm5
  jmp    L54
L58:
  movdqa D234(%rip),%xmm1
  mov    %rcx,%r9
  mov    %rdx,%r12
  xor    %ebx,%ebx
  movdqa D231(%rip),%xmm0
  movdqa D129(%rip),%xmm2
  mov    %rsi,%rdi
  mov    %rax,%r10
  jmp    L89
```

tool_calls: name: read_data
arguments: data_label: D123
type: byte[16]
name: read_data
arguments: data_label: D234
type: byte[16]
name: read_data
arguments: data_label: D231
type: byte[16]
name: read_data
arguments: data_label: D129
type: byte[16]
name: read_data
arguments: data_label: D255
type: byte[16]
name: read_data
arguments: data_label: D262
type: byte[16]
name: read_data
arguments: data_label: D51
type: byte[16]
name: read_data
arguments: data_label: D209
type: byte[16]

tool: {"D123": [0x01,0x08,0x40,0x00,0x01,0x08,0x40,0x00,0x01,0x08,0x40,0x00,0x01,0x08,0x40,0x00]}

tool: {"D234": [0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00]}

tool: {"D231": [0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00]}

tool: {"D129": [0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00]}

tool: {"D255": [0x02,0x10,0x80,0x00,0x02,0x10,0x80,0x00,0x02,0x10,0x80,0x00,0x02,0x10,0x80,0x00]}

tool: {"D262": [0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00]}

tool: {"D51": [0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00]}

tool: {"D209": [0xff,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0x00]}

assistant: ```c
void interpRGB32(unsigned char *src1, unsigned char *src2, unsigned char *dst1, unsigned char *dst2, int width) {
  unsigned int a, b, c, d, e, f;
  unsigned int w, x, y, z;
  width >>= 1;
  while (--width) {
    a = *(unsigned int *)(src1 + 0);
    b = *(unsigned int *)(src1 + 4);
    e = *(unsigned int *)(src1 + 8);
    w = a;
    x = a + b + 0x00400801;
    y = b;
    z = b + e + 0x00400801;
    *(unsigned int *)(dst1 + 0) = ((w & 0x000000ff) >> 0) | ((w & 0x0007f800) >> 3) | ((w & 0x3fc00000) >> 6);
    *(unsigned int *)(dst1 + 4) = ((x & 0x000001fe) >> 1) | ((x & 0x000ff000) >> 4) | ((x & 0x7f800000) >> 7);
    *(unsigned int *)(dst1 + 8) = ((y & 0x000000ff) >> 0) | ((y & 0x0007f800) >> 3) | ((y & 0x3fc00000) >> 6);
    *(unsigned int *)(dst1 + 12) = ((z & 0x000001fe) >> 1) | ((z & 0x000ff000) >> 4) | ((z & 0x7f800000) >> 7);
    c = *(unsigned int *)(src2 + 0);
    d = *(unsigned int *)(src2 + 4);
    f = *(unsigned int *)(src2 + 8);
    w = a + c + 0x00400801;
    x = a + b + c + d + (0x00400801 << 1);
    y = b + d + 0x00400801;
    z = b + e + d + f + (0x00400801 << 1);
    *(unsigned int *)(dst2 + 0) = ((w & 0x000001fe) >> 1) | ((w & 0x000ff000) >> 4) | ((w & 0x7f800000) >> 7);
    *(unsigned int *)(dst2 + 4) = ((x & 0x000003fc) >> 2) | ((x & 0x001fe000) >> 5) | ((x & 0xff000000) >> 8);
    *(unsigned int *)(dst2 + 8) = ((y & 0x000001fe) >> 1) | ((y & 0x000ff000) >> 4) | ((y & 0x7f800000) >> 7);
    *(unsigned int *)(dst2 + 12) = ((z & 0x000003fc) >> 2) | ((z & 0x001fe000) >> 5) | ((z & 0xff000000) >> 8);
    src1 += 8;
    src2 += 8;
    dst1 += 16;
    dst2 += 16;
  }
  a = *(unsigned int *)(src1 + 0);
  b = *(unsigned int *)(src1 + 4);
  e = b;
  w = a;
  x = a + b + 0x00400801;
  y = b;
  z = b + e + 0x00400801;
  *(unsigned int *)(dst1 + 0) = ((w & 0x000000ff) >> 0) | ((w & 0x0007f800) >> 3) | ((w & 0x3fc00000) >> 6);
  *(unsigned int *)(dst1 + 4) = ((x & 0x000001fe) >> 1) | ((x & 0x000ff000) >> 4) | ((x & 0x7f800000) >> 7);
  *(unsigned int *)(dst1 + 8) = ((y & 0x000000ff) >> 0) | ((y & 0x0007f800) >> 3) | ((y & 0x3fc00000) >> 6);
  *(unsigned int *)(dst1 + 12) = ((z & 0x000001fe) >> 1) | ((z & 0x000ff000) >> 4) | ((z & 0x7f800000) >> 7);
  c = *(unsigned int *)(src2 + 0);
  d = *(unsigned int *)(src2 + 4);
  f = d;
  w = a + c + 0x00400801;
  x = a + b + c + d + (0x00400801 << 1);
  y = b + d + 0x00400801;
  z = b + e + d + f + (0x00400801 << 1);
  *(unsigned int *)(dst2 + 0) = ((w & 0x000001fe) >> 1) | ((w & 0x000ff000) >> 4) | ((w & 0x7f800000) >> 7);
  *(unsigned int *)(dst2 + 4) = ((x & 0x000003fc) >> 2) | ((x & 0x001fe000) >> 5) | ((x & 0xff000000) >> 8);
  *(unsigned int *)(dst2 + 8) = ((y & 0x000001fe) >> 1) | ((y & 0x000ff000) >> 4) | ((y & 0x7f800000) >> 7);
  *(unsigned int *)(dst2 + 12) = ((z & 0x000003fc) >> 2) | ((z & 0x001fe000) >> 5) | ((z & 0xff000000) >> 8);
}
```