user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<DingShenShi_add_attack>:
  endbr64
  cmp    $0x24,%edi
  ja     L5
  lea    D58(%rip),%rdx
  mov    %edi,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax)
L5:
  pxor   %xmm0,%xmm0
  mov    %edi,%eax
  movsd  D27(%rip),%xmm3
  pxor   %xmm2,%xmm2
  cvtsi2sd %edi,%xmm0
  imul   %edi,%eax
  mulsd  %xmm0,%xmm3
  cvtsi2sd %eax,%xmm2
  mulsd  D7(%rip),%xmm0
  movapd %xmm2,%xmm1
  subsd  %xmm3,%xmm1
  addsd  D24(%rip),%xmm1
  mulsd  D6(%rip),%xmm1
  addsd  %xmm2,%xmm0
  addsd  D57(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  cvttsd2si %xmm1,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x20b,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x99,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x8e,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x84,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x7b,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x73,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x6a,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x64,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x5e,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x59,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x54,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x50,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x4c,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x47,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x43,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x3f,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x3b,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x38,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x34,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x31,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x2d,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x2a,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x27,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    $0x23,%eax
  ret
  cs nopw 0x0(%rax,%rax,1)
  mov    %edi,%eax
  ret
  nopl   0x0(%rax,%rax,1)
  mov    $0x20,%eax
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D58
type_guessed: string
name: disassemble_data
arguments: data_tag: D27
type_guessed: f64
name: disassemble_data
arguments: data_tag: D7
type_guessed: f64
name: disassemble_data
arguments: data_tag: D24
type_guessed: f64
name: disassemble_data
arguments: data_tag: D6
type_guessed: f64
name: disassemble_data
arguments: data_tag: D57
type_guessed: f64

tool: 

tool: D27: 42.8

tool: D7: 7.43

tool: D24: 747

tool: D6: 0.00064

tool: D57: 64

assistant: ```c
int DingShenShi_add_attack(int level) {
  int attack = 0;
  switch (level) {
  case 0:
    attack = 0;
    break;
  case 1:
    attack = 32;
    break;
  case 2:
    attack = 35;
    break;
  case 3:
    attack = 39;
    break;
  case 4:
    attack = 42;
    break;
  case 5:
    attack = 45;
    break;
  case 6:
    attack = 49;
    break;
  case 7:
    attack = 52;
    break;
  case 8:
    attack = 56;
    break;
  case 9:
    attack = 59;
    break;
  case 10:
    attack = 63;
    break;
  case 11:
    attack = 67;
    break;
  case 12:
    attack = 71;
    break;
  case 13:
    attack = 76;
    break;
  case 14:
    attack = 80;
    break;
  case 15:
    attack = 84;
    break;
  case 16:
    attack = 89;
    break;
  case 17:
    attack = 94;
    break;
  case 18:
    attack = 100;
    break;
  case 19:
    attack = 106;
    break;
  case 20:
    attack = 115;
    break;
  case 21:
    attack = 123;
    break;
  case 22:
    attack = 132;
    break;
  case 23:
    attack = 142;
    break;
  case 24:
    attack = 153;
    break;
  case 36:
    attack = 523;
    break;
  default:
    attack = (int)(0.00064 * (level * level - 42.8 * level + 747.0) * (level * level + 7.43 * level + 64.0));
    break;
  }
  return attack;
}
```