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

```asm
<ttcmdidtostr>:
  endbr64
  sub    $0x10,%edi
  cmp    $0x90,%edi
  ja     L6
  mov    %edi,%edi
  lea    D170(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D50(%rip),%rax
  ret
  lea    D15(%rip),%rax
  ret
  lea    D68(%rip),%rax
  ret
  lea    D279(%rip),%rax
  ret
  lea    D53(%rip),%rax
  ret
  lea    D47(%rip),%rax
  ret
  lea    D84(%rip),%rax
  ret
  lea    D71(%rip),%rax
  ret
  lea    D98(%rip),%rax
  ret
  lea    D116(%rip),%rax
  ret
  lea    D101(%rip),%rax
  ret
  lea    D43(%rip),%rax
  ret
  lea    D17(%rip),%rax
  ret
  lea    D133(%rip),%rax
  ret
  lea    D153(%rip),%rax
  ret
  lea    D172(%rip),%rax
  ret
  lea    D224(%rip),%rax
  ret
  lea    D88(%rip),%rax
  ret
  lea    D215(%rip),%rax
  ret
  lea    D85(%rip),%rax
  ret
  lea    D242(%rip),%rax
  ret
  lea    D83(%rip),%rax
  ret
  lea    D195(%rip),%rax
  ret
  lea    D114(%rip),%rax
  ret
  lea    D100(%rip),%rax
  ret
L6:
  lea    D37(%rip),%rax
  ret
  lea    D261(%rip),%rax
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D50
type_infered: string
name: extract_symbolic_data
arguments: label: D15
type_infered: string
name: extract_symbolic_data
arguments: label: D68
type_infered: string
name: extract_symbolic_data
arguments: label: D279
type_infered: string
name: extract_symbolic_data
arguments: label: D53
type_infered: string
name: extract_symbolic_data
arguments: label: D47
type_infered: string
name: extract_symbolic_data
arguments: label: D84
type_infered: string
name: extract_symbolic_data
arguments: label: D71
type_infered: string
name: extract_symbolic_data
arguments: label: D98
type_infered: string
name: extract_symbolic_data
arguments: label: D116
type_infered: string
name: extract_symbolic_data
arguments: label: D101
type_infered: string
name: extract_symbolic_data
arguments: label: D43
type_infered: string
name: extract_symbolic_data
arguments: label: D17
type_infered: string
name: extract_symbolic_data
arguments: label: D133
type_infered: string
name: extract_symbolic_data
arguments: label: D153
type_infered: string
name: extract_symbolic_data
arguments: label: D172
type_infered: string
name: extract_symbolic_data
arguments: label: D224
type_infered: string
name: extract_symbolic_data
arguments: label: D88
type_infered: string
name: extract_symbolic_data
arguments: label: D215
type_infered: string
name: extract_symbolic_data
arguments: label: D85
type_infered: string
name: extract_symbolic_data
arguments: label: D242
type_infered: string
name: extract_symbolic_data
arguments: label: D83
type_infered: string
name: extract_symbolic_data
arguments: label: D195
type_infered: string
name: extract_symbolic_data
arguments: label: D114
type_infered: string
name: extract_symbolic_data
arguments: label: D100
type_infered: string
name: extract_symbolic_data
arguments: label: D37
type_infered: string
name: extract_symbolic_data
arguments: label: D261
type_infered: string

tool: D50: putkeep

tool: D15: putcat

tool: D68: putshl

tool: D279: putnr

tool: D53: out

tool: D47: get

tool: D84: mget

tool: D71: vsiz

tool: D98: iterinit

tool: D116: iternext

tool: D101: fwmkeys

tool: D43: addint

tool: D17: adddouble

tool: D133: ext

tool: D153: sync

tool: D172: optimize

tool: D224: vanish

tool: D88: copy

tool: D215: restore

tool: D85: setmst

tool: D242: rnum

tool: D83: size

tool: D195: stat

tool: D114: misc

tool: D100: repl

tool: D37: (unknown)

tool: D261: put

assistant: ```c
const char *ttcmdidtostr(int id) {
  switch (id) {
  case 0x10:
    return "put";
  case 0x11:
    return "putkeep";
  case 0x12:
    return "putcat";
  case 0x13:
    return "putshl";
  case 0x18:
    return "putnr";
  case 0x20:
    return "out";
  case 0x30:
    return "get";
  case 0x31:
    return "mget";
  case 0x38:
    return "vsiz";
  case 0x50:
    return "iterinit";
  case 0x51:
    return "iternext";
  case 0x58:
    return "fwmkeys";
  case 0x60:
    return "addint";
  case 0x61:
    return "adddouble";
  case 0x68:
    return "ext";
  case 0x70:
    return "sync";
  case 0x71:
    return "optimize";
  case 0x72:
    return "vanish";
  case 0x73:
    return "copy";
  case 0x74:
    return "restore";
  case 0x78:
    return "setmst";
  case 0x80:
    return "rnum";
  case 0x81:
    return "size";
  case 0x88:
    return "stat";
  case 0x90:
    return "misc";
  case 0xa0:
    return "repl";
  }
  return "(unknown)";
}
```