user: 这段汇编代码用C语言表示是什么样的？

```asm
<CreateUmtsInterleaver>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rsi,%rbx
  sub    $0x328,%rsp
  movdqa D324(%rip),%xmm0
  mov    %rdx,0x70(%rsp)
  lea    -0x1e1(%rdi),%edx
  mov    %edi,0x34(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0x318(%rsp)
  xor    %eax,%eax
  movaps %xmm0,0x170(%rsp)
  movdqa D326(%rip),%xmm0
  movaps %xmm0,0x180(%rsp)
  movdqa D312(%rip),%xmm0
  movaps %xmm0,0x190(%rsp)
  movdqa D10(%rip),%xmm0
  movaps %xmm0,0x1a0(%rsp)
  movdqa D263(%rip),%xmm0
  movaps %xmm0,0x1b0(%rsp)
  movdqa D176(%rip),%xmm0
  movaps %xmm0,0x1c0(%rsp)
  movdqa D348(%rip),%xmm0
  movaps %xmm0,0x1d0(%rsp)
  movdqa D199(%rip),%xmm0
  movaps %xmm0,0x1e0(%rsp)
  movdqa D373(%rip),%xmm0
  movaps %xmm0,0x1f0(%rsp)
  movdqa D184(%rip),%xmm0
  movaps %xmm0,0x200(%rsp)
  movdqa D142(%rip),%xmm0
  movaps %xmm0,0x210(%rsp)
  movdqa D202(%rip),%xmm0
  movaps %xmm0,0x220(%rsp)
  movdqa D179(%rip),%xmm0
  movaps %xmm0,0x230(%rsp)
  movdqa D367(%rip),%xmm0
  movaps %xmm0,0x240(%rsp)
  movdqa D347(%rip),%xmm0
  movaps %xmm0,0x250(%rsp)
  movdqa D314(%rip),%xmm0
  movaps %xmm0,0x260(%rsp)
  movdqa D257(%rip),%xmm0
  movaps %xmm0,0x270(%rsp)
  movdqa D12(%rip),%xmm0
  movaps %xmm0,0x280(%rsp)
  movdqa D323(%rip),%xmm0
  movaps %xmm0,0x290(%rsp)
  movdqa D190(%rip),%xmm0
  movaps %xmm0,0x2a0(%rsp)
  movdqa D204(%rip),%xmm0
  movaps %xmm0,0x2b0(%rsp)
  movdqa D145(%rip),%xmm0
  movaps %xmm0,0x2c0(%rsp)
  movdqa D78(%rip),%xmm0
  movaps %xmm0,0x2d0(%rsp)
  movdqa D197(%rip),%xmm0
  movaps %xmm0,0x2e0(%rsp)
  movdqa D67(%rip),%xmm0
  movaps %xmm0,0x2f0(%rsp)
  movdqa D62(%rip),%xmm0
  movaps %xmm0,0x300(%rsp)
  movdqa D130(%rip),%xmm0
  movaps %xmm0,0x80(%rsp)
  movl   $0x0,0x90(%rsp)
  movdqa D276(%rip),%xmm0
  movdqa D241(%rip),%xmm2
  mov    D82(%rip),%rax
  movaps %xmm0,0xa0(%rsp)
  movdqa D291(%rip),%xmm0
  movdqa D318(%rip),%xmm1
  movaps %xmm2,0xf0(%rsp)
  movdqa D256(%rip),%xmm2
  movaps %xmm0,0xb0(%rsp)
  movdqa D266(%rip),%xmm0
  movaps %xmm2,0x100(%rsp)
  movdqa D261(%rip),%xmm2
  movaps %xmm0,0xe0(%rsp)
  movaps %xmm0,0x130(%rsp)
  movdqa D40(%rip),%xmm0
  mov    %rax,0xc0(%rsp)
  lea    -0x28(%rdi),%eax
  movaps %xmm0,0x140(%rsp)
  movdqa D206(%rip),%xmm0
  movaps %xmm1,0xd0(%rsp)
  movaps %xmm0,0x150(%rsp)
  movdqa D51(%rip),%xmm0
  movaps %xmm2,0x110(%rsp)
  movaps %xmm1,0x120(%rsp)
  movaps %xmm0,0x160(%rsp)
  cmp    $0x77,%eax
  jbe    L589
  lea    -0xa0(%rdi),%eax
  cmp    $0x28,%eax
  ja     L231
  movl   $0x212,0x48(%rsp)
  mov    0x48(%rsp),%eax
  mov    $0xa,%edi
  movl   $0x208,0x58(%rsp)
  movq   $0x24,0x68(%rsp)
  movl   $0xa,0x30(%rsp)
  mov    %eax,0x4c(%rsp)
  cmp    $0x31,%edx
  ja     L572
L558:
  mov    0x48(%rsp),%r15d
  mov    $0x4,%esi
  mov    %r15d,%edi
  call   <calloc@plt>
  mov    %r15d,%edi
  mov    $0x4,%esi
  mov    %rax,%r14
  call   <calloc@plt>
  mov    %r15d,%edi
  mov    $0x4,%esi
  mov    $0x34,%r15d
  mov    %rax,0x40(%rsp)
  call   <calloc@plt>
  movl   $0x36,0x24(%rsp)
  mov    %rax,0x28(%rsp)
  lea    0x170(%rsp),%rax
  movl   $0x2,(%rsp)
  movl   $0x35,0x20(%rsp)
  movl   $0x35,0xc(%rsp)
  mov    %rax,0x78(%rsp)
L158:
  movslq 0x30(%rsp),%rax
  mov    0xc(%rsp),%r8d
  mov    %r14,%rcx
  xor    %ebp,%ebp
  mov    0x34(%rsp),%r13d
  mov    %r15d,0x18(%rsp)
  xor    %r11d,%r11d
  mov    %rax,%rsi
  mov    %rax,0x10(%rsp)
  lea    0x0(,%rax,4),%rdi
  xor    %eax,%eax
  mov    %esi,%r15d
  nopw   0x0(%rax,%rax,1)
L561:
  cmp    %eax,%r13d
  jg     L330
  xor    %edx,%edx
  lea    (%rax,%r8,1),%r12d
L388:
  mov    %r15d,%eax
  imul   %edx,%eax
  cltq
  add    %r11,%rax
  lea    (%r14,%rax,4),%rax
  cs nopw 0x0(%rax,%rax,1)
L397:
  add    $0x1,%edx
  movl   $0xffffffff,(%rax)
  add    %rdi,%rax
  cmp    %edx,%r8d
  jg     L397
L79:
  movslq %r12d,%rax
  add    $0x1,%r11
  add    $0x4,%rcx
  sub    %r8d,%ebp
  cmp    %r11,0x10(%rsp)
  jne    L561
  mov    0x18(%rsp),%r15d
L383:
  mov    $0x4,%esi
  mov    %r15d,%edi
  call   <calloc@plt>
  mov    %rax,0x38(%rsp)
  movl   $0x1,(%rax)
  cmp    $0x1,%r15d
  jle    L285
  mov    %rax,%rbx
  lea    0x4(%rax),%rsi
  mov    0x20(%rsp),%ecx
  lea    -0x2(%r15),%eax
  mov    (%rsp),%r8d
  lea    0x8(%rbx,%rax,4),%rdi
  mov    $0x1,%edx
  cs nopw 0x0(%rax,%rax,1)
L176:
  mov    %edx,%eax
  add    $0x4,%rsi
  imul   %r8d,%eax
  cltd
  idiv   %ecx
  mov    %edx,-0x4(%rsi)
  cmp    %rsi,%rdi
  jne    L176
L285:
  mov    0x30(%rsp),%ebp
  mov    $0x4,%esi
  mov    %ebp,%edi
  call   <calloc@plt>
  mov    %r14,0x60(%rsp)
  mov    0x78(%rsp),%r12
  mov    %rax,%rbx
  mov    %rax,0x50(%rsp)
  movl   $0x1,(%rax)
  mov    %rax,(%rsp)
  lea    -0x2(%rbp),%eax
  lea    (%rbx,%rax,4),%rax
  xor    %ebx,%ebx
  mov    %rax,0x18(%rsp)
  nop
L630:
  movslq %ebx,%r13
  jmp    L419
  nopl   (%rax)
L637:
  add    $0x1,%r13
  lea    0x1(%rbp),%ebx
  cmp    $0x33,%r13d
  jg     L469
L419:
  mov    (%r12,%r13,4),%r14d
  mov    %r15d,%esi
  mov    %r13d,%ebp
  mov    %r13d,%ebx
  mov    %r14d,%edi
  call   <gcd@plt>
  cmp    $0x1,%eax
  jne    L637
  mov    (%rsp),%rax
  cmp    (%rax),%r14d
  jle    L637
  mov    %r14d,0x4(%rax)
L469:
  mov    0x18(%rsp),%rsi
  cmp    %rsi,(%rsp)
  je     L368
  addq   $0x4,(%rsp)
  cmp    $0x33,%ebx
  jle    L630
L368:
  mov    0x30(%rsp),%ebp
  mov    $0x4,%esi
  mov    0x60(%rsp),%r14
  mov    %ebp,%edi
  call   <calloc@plt>
  mov    0x34(%rsp),%ebx
  mov    %rax,%r12
  lea    -0x8e9(%rbx),%eax
  cmp    $0xc7,%eax
  lea    -0xc59(%rbx),%eax
  setbe  %dl
  cmp    $0x31,%eax
  setbe  %al
  or     %eax,%edx
  mov    %dl,0x18(%rsp)
  cmp    $0x5,%ebp
  je     L327
  cmpl   $0xa,0x30(%rsp)
  je     L24
  xor    %eax,%eax
  cmpb   $0x0,0x18(%rsp)
  je     L384
  mov    0x50(%rsp),%rsi
  lea    0xd0(%rsp),%rdi
  nopl   0x0(%rax,%rax,1)
L458:
  mov    (%rsi,%rax,1),%ecx
  movslq (%rdi,%rax,1),%rdx
  add    $0x4,%rax
  mov    %ecx,(%r12,%rdx,4)
  cmp    $0x50,%rax
  jne    L458
L585:
  mov    0x68(%rsp),%rax
  mov    0x28(%rsp),%rbx
  mov    %r12,%rdi
  xor    %r11d,%r11d
  mov    0x30(%rsp),%ecx
  mov    0x10(%rsp),%rsi
  mov    %r12,0x10(%rsp)
  add    %rbx,%rax
  mov    0x58(%rsp),%r13d
  mov    0x38(%rsp),%r9
  mov    %rax,0x68(%rsp)
  lea    -0x1(%rcx),%eax
  mov    %rcx,%r10
  shl    $0x2,%rsi
  mov    %eax,0x60(%rsp)
  mov    %rax,0x58(%rsp)
  mov    %rcx,(%rsp)
  nopl   0x0(%rax)
L571:
  mov    0x20(%rsp),%ecx
  mov    %r11d,%r12d
  mov    %r11d,%r8d
  cmp    %ecx,0xc(%rsp)
  je     L57
  mov    0x24(%rsp),%ecx
  cmp    %ecx,0xc(%rsp)
  mov    %rbx,%rbp
  mov    $0x0,%ecx
  je     L75
  test   %r15d,%r15d
  jle    L386
  nop
L375:
  mov    (%rdi),%eax
  imul   %ecx,%eax
  add    $0x1,%ecx
  cltd
  idiv   %r15d
  movslq %edx,%rdx
  mov    (%r9,%rdx,4),%eax
  sub    $0x1,%eax
  imul   %r10d,%eax
  add    %r8d,%eax
  cltq
  mov    (%r14,%rax,4),%eax
  mov    %eax,0x0(%rbp)
  add    %rsi,%rbp
  cmp    %r15d,%ecx
  jne    L375
L386:
  add    $0x1,%r11
  add    $0x1,%r13d
  add    $0x4,%rbx
  add    $0x4,%rdi
  cmp    %r11,(%rsp)
  jne    L571
  mov    0x10(%rsp),%r12
  mov    0x40(%rsp),%rcx
  xor    %r8d,%r8d
  mov    0xc(%rsp),%r9d
  mov    0x28(%rsp),%rbx
  mov    0x30(%rsp),%r11d
  movzbl 0x18(%rsp),%ebp
L208:
  cmp    $0x5,%r11d
  je     L611
  cmp    $0xa,%r11d
  je     L211
  test   %bpl,%bpl
  je     L485
  movslq 0xd0(%rsp,%r8,4),%rax
L509:
  test   %r9d,%r9d
  jle    L518
  lea    (%rbx,%rax,4),%r10
  xor    %edx,%edx
  xor    %eax,%eax
  nopw   0x0(%rax,%rax,1)
L320:
  mov    (%r10,%rax,1),%edi
  add    $0x1,%edx
  mov    %edi,(%rcx,%rax,1)
  add    %rsi,%rax
  cmp    %edx,%r9d
  jne    L320
L518:
  add    $0x1,%r8
  add    $0x4,%rcx
  cmp    %r8d,%r11d
  jg     L208
  mov    0xc(%rsp),%eax
  test   %eax,%eax
  jle    L307
  mov    0x58(%rsp),%rax
  mov    0x40(%rsp),%rbx
  xor    %r9d,%r9d
  xor    %ecx,%ecx
  mov    $0xfffffffffffffffc,%r10
  mov    0x70(%rsp),%r11
  shl    $0x2,%rax
  lea    0x4(%rbx,%rax,1),%rdi
  mov    0xc(%rsp),%ebx
  sub    %rax,%r10
  nopw   0x0(%rax,%rax,1)
L365:
  lea    (%r10,%rdi,1),%rax
  nopl   0x0(%rax)
L17:
  mov    (%rax),%edx
  test   %edx,%edx
  js     L603
  movslq %ecx,%r8
  add    $0x1,%ecx
  mov    %edx,(%r11,%r8,4)
L603:
  add    $0x4,%rax
  cmp    %rdi,%rax
  jne    L17
  add    $0x1,%r9d
  add    %rsi,%rdi
  cmp    %r9d,%ebx
  jne    L365
L307:
  mov    %r14,%rdi
  call   <free@plt>
  mov    0x40(%rsp),%rdi
  call   <free@plt>
  mov    0x28(%rsp),%rdi
  call   <free@plt>
  mov    0x38(%rsp),%rdi
  call   <free@plt>
  mov    0x50(%rsp),%rdi
  call   <free@plt>
  mov    0x318(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L432
  add    $0x328,%rsp
  mov    %r12,%rdi
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1080 <free@plt>
L589:
  movl   $0x109,0x48(%rsp)
  mov    0x48(%rsp),%eax
  mov    $0x5,%edi
  movl   $0x104,0x58(%rsp)
  movq   $0x10,0x68(%rsp)
  movl   $0x5,0x30(%rsp)
  mov    %eax,0x4c(%rsp)
  cmp    $0x31,%edx
  jbe    L558
L572:
  lea    0x170(%rsp),%r11
  mov    0x30(%rsp),%r9d
  mov    0x34(%rsp),%r10d
  xor    %eax,%eax
  mov    %r11,0x78(%rsp)
  mov    $0x7,%r8d
  jmp    L287
  nopl   (%rax)
L251:
  add    $0x1,%rax
  cmp    $0x34,%rax
  je     L422
  mov    (%r11,%rax,4),%r8d
L287:
  lea    0x1(%r8),%edx
  movslq %eax,%rsi
  mov    %edx,%ecx
  imul   %r9d,%ecx
  cmp    %r10d,%ecx
  jl     L251
  mov    %r8d,0x20(%rsp)
  mov    %r8d,%r11d
L55:
  lea    -0x1(%r11),%r15d
  mov    0x240(%rsp,%rsi,4),%eax
  mov    0x30(%rsp),%esi
  mov    %edx,0x24(%rsp)
  mov    %r15d,%ecx
  mov    %r15d,0xc(%rsp)
  imul   %edi,%ecx
  mov    %eax,(%rsp)
  mov    %esi,%eax
  imul   %r15d,%eax
  add    %ecx,%edi
  mov    %ecx,0x58(%rsp)
  mov    %edi,0x4c(%rsp)
  mov    0x34(%rsp),%edi
  mov    %eax,0x48(%rsp)
  cmp    %edi,%eax
  jge    L312
  mov    %eax,%ecx
  mov    %r11d,0xc(%rsp)
  mov    %esi,%eax
  add    %esi,%ecx
  mov    %ecx,0x48(%rsp)
  mov    %ecx,%esi
  cmp    %edi,%ecx
  jge    L312
  add    %eax,%esi
  mov    %edx,0xc(%rsp)
  mov    %esi,0x48(%rsp)
L312:
  mov    0x48(%rsp),%ebp
  mov    $0x4,%esi
  mov    %ebp,%edi
  call   <calloc@plt>
  mov    $0x4,%esi
  mov    %ebp,%edi
  mov    %rax,%r14
  call   <calloc@plt>
  mov    $0x4,%esi
  mov    %ebp,%edi
  mov    %rax,0x40(%rsp)
  call   <calloc@plt>
  mov    0xc(%rsp),%edx
  mov    %rax,0x28(%rsp)
  movslq 0x30(%rsp),%rax
  mov    %rax,0x10(%rsp)
  test   %edx,%edx
  jg     L158
  jmp    L383
  nopl   0x0(%rax,%rax,1)
L330:
  lea    (%rax,%r8,1),%r12d
  mov    %r13d,%r10d
  lea    0x1(%rbp),%r9d
  mov    %rcx,%rsi
  cmp    %r13d,%r12d
  cmovle %r12d,%r10d
  nopl   (%rax)
L50:
  mov    (%rbx,%rax,4),%edx
  mov    %edx,(%rsi)
  lea    (%r9,%rax,1),%edx
  add    $0x1,%rax
  add    %rdi,%rsi
  cmp    %eax,%r10d
  jg     L50
  cmp    %r8d,%edx
  jl     L388
  jmp    L79
L231:
  cmp    $0x31,%edx
  ja     L573
  movq   $0x24,0x68(%rsp)
  movl   $0x212,0x4c(%rsp)
  movl   $0x208,0x58(%rsp)
  movl   $0x212,0x48(%rsp)
  movl   $0xa,0x30(%rsp)
  jmp    L558
L24:
  mov    0x50(%rsp),%rbx
  mov    (%rbx),%eax
  mov    %eax,0x24(%r12)
  mov    0x4(%rbx),%eax
  mov    %eax,0x20(%r12)
  mov    0x8(%rbx),%eax
  mov    %eax,0x1c(%r12)
  mov    0xc(%rbx),%eax
  mov    %eax,0x18(%r12)
  mov    0x10(%rbx),%eax
  mov    %eax,0x14(%r12)
  mov    0x14(%rbx),%eax
  mov    %eax,0x10(%r12)
  mov    0x18(%rbx),%eax
  mov    %eax,0xc(%r12)
  mov    0x1c(%rbx),%eax
  mov    %eax,0x8(%r12)
  mov    0x20(%rbx),%eax
  mov    %eax,0x4(%r12)
  mov    0x24(%rbx),%eax
  mov    %eax,(%r12)
  jmp    L585
  nopw   0x0(%rax,%rax,1)
L75:
  test   %r15d,%r15d
  jle    L354
  nopl   (%rax)
L63:
  mov    (%rdi),%eax
  imul   %ecx,%eax
  add    $0x1,%ecx
  cltd
  idiv   %r15d
  movslq %edx,%rdx
  mov    (%r9,%rdx,4),%eax
  imul   %r10d,%eax
  add    %r8d,%eax
  cltq
  mov    (%r14,%rax,4),%eax
  mov    %eax,0x0(%rbp)
  add    %rsi,%rbp
  cmp    %r15d,%ecx
  jne    L63
L354:
  mov    (%r14,%r11,4),%edx
  mov    0x28(%rsp),%rcx
  movslq %r13d,%rax
  add    0x4c(%rsp),%r12d
  mov    0x34(%rsp),%r8d
  movslq %r12d,%r12
  mov    %edx,(%rcx,%rax,4)
  mov    (%r14,%r12,4),%edx
  lea    (%rcx,%r12,4),%rax
  mov    %edx,(%rax)
  cmp    %r8d,0x48(%rsp)
  jne    L386
  cmp    %r11d,0x60(%rsp)
  jne    L386
  mov    0x68(%rsp),%r8
  mov    (%r8),%ecx
  mov    %edx,(%r8)
  mov    %ecx,(%rax)
  jmp    L386
  nopl   0x0(%rax)
L611:
  movslq 0x80(%rsp,%r8,4),%rax
  jmp    L509
  nopl   (%rax)
L57:
  mov    %rbx,%rbp
  xor    %ecx,%ecx
  test   %r15d,%r15d
  jle    L86
  nopw   0x0(%rax,%rax,1)
L542:
  mov    (%rdi),%eax
  imul   %ecx,%eax
  add    $0x1,%ecx
  cltd
  idiv   %r15d
  movslq %edx,%rdx
  mov    (%r9,%rdx,4),%eax
  imul   %r10d,%eax
  add    %r8d,%eax
  cltq
  mov    (%r14,%rax,4),%eax
  mov    %eax,0x0(%rbp)
  add    %rsi,%rbp
  cmp    %r15d,%ecx
  jne    L542
L86:
  mov    (%r14,%r11,4),%edx
  mov    0x28(%rsp),%rcx
  movslq %r13d,%rax
  mov    %edx,(%rcx,%rax,4)
  jmp    L386
  nopw   0x0(%rax,%rax,1)
L211:
  movslq 0xa0(%rsp,%r8,4),%rax
  jmp    L509
L485:
  movslq 0x120(%rsp,%r8,4),%rax
  jmp    L509
L327:
  mov    0x50(%rsp),%rbx
  mov    (%rbx),%eax
  mov    %eax,0x10(%r12)
  mov    0x4(%rbx),%eax
  mov    %eax,0xc(%r12)
  mov    0x8(%rbx),%eax
  mov    %eax,0x8(%r12)
  mov    0xc(%rbx),%eax
  mov    %eax,0x4(%r12)
  mov    0x10(%rbx),%eax
  mov    %eax,(%r12)
  jmp    L585
L384:
  mov    0x50(%rsp),%rsi
  lea    0x120(%rsp),%rdi
  nopw   0x0(%rax,%rax,1)
L564:
  mov    (%rsi,%rax,1),%ecx
  movslq (%rdi,%rax,1),%rdx
  add    $0x4,%rax
  mov    %ecx,(%r12,%rdx,4)
  cmp    $0x50,%rax
  jne    L564
  jmp    L585
L573:
  movq   $0x4c,0x68(%rsp)
  mov    $0x14,%edi
  movl   $0x14,0x30(%rsp)
  jmp    L572
L422:
  mov    0x240(%rsp),%eax
  mov    $0x34,%esi
  mov    %eax,0x20(%rsp)
  lea    0x1(%rax),%edx
  mov    %eax,%r11d
  jmp    L55
L432:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: tag: D324
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D326
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D312
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D10
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D263
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D176
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D348
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D199
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D373
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D184
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D142
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D202
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D179
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D367
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D347
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D314
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D257
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D12
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D323
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D190
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D204
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D145
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D78
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D197
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D67
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D62
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D130
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D276
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D241
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D82
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D291
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D318
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D256
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D266
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D261
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D40
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D206
datatype: byte[16]
name: extract_symbolic_data
arguments: tag: D51
datatype: byte[16]

tool: {"D324": [0x07,0x00,0x00,0x00,0x0b,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x11,0x00,0x00,0x00]}

tool: {"D326": [0x13,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x1d,0x00,0x00,0x00,0x1f,0x00,0x00,0x00]}

tool: {"D312": [0x25,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x2b,0x00,0x00,0x00,0x2f,0x00,0x00,0x00]}

tool: {"D10": [0x35,0x00,0x00,0x00,0x3b,0x00,0x00,0x00,0x3d,0x00,0x00,0x00,0x43,0x00,0x00,0x00]}

tool: {"D263": [0x47,0x00,0x00,0x00,0x49,0x00,0x00,0x00,0x4f,0x00,0x00,0x00,0x53,0x00,0x00,0x00]}

tool: {"D176": [0x59,0x00,0x00,0x00,0x61,0x00,0x00,0x00,0x65,0x00,0x00,0x00,0x67,0x00,0x00,0x00]}

tool: {"D348": [0x6b,0x00,0x00,0x00,0x6d,0x00,0x00,0x00,0x71,0x00,0x00,0x00,0x7f,0x00,0x00,0x00]}

tool: {"D199": [0x83,0x00,0x00,0x00,0x89,0x00,0x00,0x00,0x8b,0x00,0x00,0x00,0x95,0x00,0x00,0x00]}

tool: {"D373": [0x97,0x00,0x00,0x00,0x9d,0x00,0x00,0x00,0xa3,0x00,0x00,0x00,0xa7,0x00,0x00,0x00]}

tool: {"D184": [0xad,0x00,0x00,0x00,0xb3,0x00,0x00,0x00,0xb5,0x00,0x00,0x00,0xbf,0x00,0x00,0x00]}

tool: {"D142": [0xc1,0x00,0x00,0x00,0xc5,0x00,0x00,0x00,0xc7,0x00,0x00,0x00,0xd3,0x00,0x00,0x00]}

tool: {"D202": [0xdf,0x00,0x00,0x00,0xe3,0x00,0x00,0x00,0xe5,0x00,0x00,0x00,0xe9,0x00,0x00,0x00]}

tool: {"D179": [0xef,0x00,0x00,0x00,0xf1,0x00,0x00,0x00,0xfb,0x00,0x00,0x00,0x01,0x01,0x00,0x00]}

tool: {"D367": [0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D347": [0x02,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D314": [0x02,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x05,0x00,0x00,0x00]}

tool: {"D257": [0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00]}

tool: {"D12": [0x07,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00]}

tool: {"D323": [0x03,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x00,0x00]}

tool: {"D190": [0x02,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D204": [0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00]}

tool: {"D145": [0x06,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x00,0x00]}

tool: {"D78": [0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x13,0x00,0x00,0x00]}

tool: {"D197": [0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00]}

tool: {"D67": [0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D62": [0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D130": [0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00]}

tool: {"D276": [0x09,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x06,0x00,0x00,0x00]}

tool: {"D241": [0x0c,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x0d,0x00,0x00,0x00]}

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

tool: {"D291": [0x05,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00]}

tool: {"D318": [0x13,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x04,0x00,0x00,0x00]}

tool: {"D256": [0x11,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00]}

tool: {"D266": [0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x07,0x00,0x00,0x00]}

tool: {"D261": [0x06,0x00,0x00,0x00,0x0b,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x0a,0x00,0x00,0x00]}

tool: {"D40": [0x0c,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x0a,0x00,0x00,0x00,0x08,0x00,0x00,0x00]}

tool: {"D206": [0x0d,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x00,0x00]}

tool: {"D51": [0x10,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x0b,0x00,0x00,0x00]}

assistant: ```c
void CreateUmtsInterleaver(int LL, int *input, int *output) {
  int RR, CC;
  int index, i, j, itemp;
  int pValue, vValue;
  int pTable[52] = {7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257};
  int vTable[52] = {3, 2, 2, 3, 2, 5, 2, 3, 2, 6, 3, 5, 2, 2, 2, 2, 7, 5, 3, 2, 3, 5, 2, 5, 2, 6, 3, 3, 2, 3, 2, 2, 6, 5, 2, 5, 2, 2, 2, 19, 5, 2, 3, 2, 3, 2, 6, 3, 7, 7, 6, 3};
  int T5[5] = {4, 3, 2, 1, 0};
  int T10[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
  int T20a[20] = {19, 9, 14, 4, 0, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10};
  int T20b[20] = {19, 9, 14, 4, 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11};
  int *Matrix, *IntraMatrix, *InterMatrix, *s, *q, *r;
  if ((40 <= LL) && (LL <= 159)) {
    RR = 5;
  } else if ((160 <= LL) && (LL <= 200)) {
    RR = 10;
  } else if ((481 <= LL) && (LL <= 530)) {
    RR = 10;
  } else {
    RR = 20;
  }
  if ((481 <= LL) && (LL <= 530)) {
    pValue = 53;
    CC = pValue;
    vValue = 2;
  } else {
    for (index = 0; index < 52; index++) {
      if (LL <= RR * (pTable[index] + 1)) {
        break;
      }
    }
    pValue = pTable[index];
    vValue = vTable[index];
    if (LL <= RR * (pValue - 1)) {
      CC = pValue - 1;
    } else if (RR * pValue < LL) {
      CC = pValue + 1;
    } else {
      CC = pValue;
    }
  }
  Matrix = calloc(RR * CC, sizeof(int));
  InterMatrix = calloc(RR * CC, sizeof(int));
  IntraMatrix = calloc(RR * CC, sizeof(int));
  index = 0;
  for (i = 0; i < RR; i++) {
    for (j = 0; j < CC; j++) {
      if (index < LL) {
        Matrix[i + j * RR] = input[index];
      } else {
        Matrix[i + j * RR] = -1;
      }
      index++;
    }
  }
  s = calloc(pValue - 1, sizeof(int));
  s[0] = 1;
  for (j = 1; j < pValue - 1; j++) {
    s[j] = (vValue * s[j - 1]) % pValue;
  }
  q = calloc(RR, sizeof(int));
  q[0] = 1;
  index = 0;
  for (i = 1; i < RR; i++) {
    itemp = index;
    for (index = itemp; index < 52; index++) {
      if ((gcd(pTable[index], pValue - 1) == 1) && (pTable[index] > q[i - 1])) {
        q[i] = pTable[index];
        break;
      }
    }
  }
  r = calloc(RR, sizeof(int));
  if (RR == 5) {
    for (i = 0; i < RR; i++) {
      r[T5[i]] = q[i];
    }
  } else if (RR == 10) {
    for (i = 0; i < RR; i++) {
      r[T10[i]] = q[i];
    }
  } else if (((2281 <= LL) && (LL <= 2480)) || ((3161 <= LL) && (LL <= 3210))) {
    for (i = 0; i < RR; i++) {
      r[T20a[i]] = q[i];
    }
  } else {
    for (i = 0; i < RR; i++) {
      r[T20b[i]] = q[i];
    }
  }
  for (i = 0; i < RR; i++) {
    if (CC == pValue) {
      for (j = 0; j <= pValue - 2; j++) {
        index = s[(j * r[i]) % (pValue - 1)];
        IntraMatrix[i + j * RR] = Matrix[i + index * RR];
      }
      IntraMatrix[i + (pValue - 1) * RR] = Matrix[i];
    } else if (CC == pValue + 1) {
      for (j = 0; j <= pValue - 2; j++) {
        index = s[(j * r[i]) % (pValue - 1)];
        IntraMatrix[i + j * RR] = Matrix[i + index * RR];
      }
      IntraMatrix[i + (pValue - 1) * RR] = Matrix[i];
      IntraMatrix[i + pValue * RR] = Matrix[i + pValue * RR];
      if ((LL == RR * CC) && (i == RR - 1)) {
        itemp = IntraMatrix[RR - 1];
        IntraMatrix[RR - 1] = IntraMatrix[(RR - 1) + RR * pValue];
        IntraMatrix[(RR - 1) + RR * pValue] = itemp;
      }
    } else {
      for (j = 0; j <= pValue - 2; j++) {
        index = s[(j * r[i]) % (pValue - 1)] - 1;
        IntraMatrix[i + j * RR] = Matrix[i + index * RR];
      }
    }
  }
  for (i = 0; i < RR; i++) {
    if (RR == 5) {
      index = T5[i];
    } else if (RR == 10) {
      index = T10[i];
    } else if (((2281 <= LL) && (LL <= 2480)) || ((3161 <= LL) && (LL <= 3210))) {
      index = T20a[i];
    } else {
      index = T20b[i];
    }
    for (j = 0; j < CC; j++) {
      InterMatrix[i + j * RR] = IntraMatrix[index + j * RR];
    }
  }
  index = 0;
  for (j = 0; j < CC; j++) {
    for (i = 0; i < RR; i++) {
      if (InterMatrix[i + j * RR] >= 0) {
        output[index] = InterMatrix[i + j * RR];
        index++;
      }
    }
  }
  free(Matrix);
  free(InterMatrix);
  free(IntraMatrix);
  free(s);
  free(q);
  free(r);
}
```