user: Please show me the C implementation that matches the assembly code listed below:

```asm
<get_cmd>:
  endbr64
  cmp    $0xec,%dil
  jb     L7
  lea    0x14(%rdi),%eax
  lea    D7(%rip),%rdx
  movzbl %al,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   (%rax)
  lea    D76(%rip),%rax
  ret
  lea    D112(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D175(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D17(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D59(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D58(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D130(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D209(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D118(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D51(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D227(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D106(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D194(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D105(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D140(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D42(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D11(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D165(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D139(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D110(%rip),%rax
  ret
L7:
  push   %rbx
  lea    D97(%rip),%rbx
  movzbl %dil,%ecx
  lea    D188(%rip),%rdx
  mov    %rbx,%rdi
  mov    $0x4,%esi
  call   <snprintf@plt>
  mov    %rbx,%rax
  pop    %rbx
  ret
```

tool_calls: name: parse_data
arguments: tag: D76
data_type: string
name: parse_data
arguments: tag: D112
data_type: string
name: parse_data
arguments: tag: D175
data_type: string
name: parse_data
arguments: tag: D17
data_type: string
name: parse_data
arguments: tag: D59
data_type: string
name: parse_data
arguments: tag: D58
data_type: string
name: parse_data
arguments: tag: D130
data_type: string
name: parse_data
arguments: tag: D209
data_type: string
name: parse_data
arguments: tag: D118
data_type: string
name: parse_data
arguments: tag: D51
data_type: string
name: parse_data
arguments: tag: D227
data_type: string
name: parse_data
arguments: tag: D106
data_type: string
name: parse_data
arguments: tag: D194
data_type: string
name: parse_data
arguments: tag: D105
data_type: string
name: parse_data
arguments: tag: D140
data_type: string
name: parse_data
arguments: tag: D42
data_type: string
name: parse_data
arguments: tag: D11
data_type: string
name: parse_data
arguments: tag: D165
data_type: string
name: parse_data
arguments: tag: D139
data_type: string
name: parse_data
arguments: tag: D110
data_type: string
name: parse_data
arguments: tag: D188
data_type: string

tool: D76: DONT

tool: D112: IAC

tool: D175: SUSP

tool: D17: xEOF

tool: D59: DO

tool: D58: SE

tool: D130: EOR

tool: D209: ABORT

tool: D118: NOP

tool: D51: IP

tool: D227: BREAK

tool: D106: DM

tool: D194: GA

tool: D105: EL

tool: D140: EC

tool: D42: AYT

tool: D11: AO

tool: D165: WONT

tool: D139: WILL

tool: D110: SB

tool: D188: %d

assistant: ```c
const char *get_cmd(unsigned char cmd) {
  static char buffer[4];
  switch (cmd) {
  case 255:
    return "IAC";
  case 254:
    return "DONT";
  case 253:
    return "DO";
  case 252:
    return "WONT";
  case 251:
    return "WILL";
  case 250:
    return "SB";
  case 249:
    return "GA";
  case 248:
    return "EL";
  case 247:
    return "EC";
  case 246:
    return "AYT";
  case 245:
    return "AO";
  case 244:
    return "IP";
  case 243:
    return "BREAK";
  case 242:
    return "DM";
  case 241:
    return "NOP";
  case 240:
    return "SE";
  case 239:
    return "EOR";
  case 238:
    return "ABORT";
  case 237:
    return "SUSP";
  case 236:
    return "xEOF";
  default:
    snprintf(buffer, sizeof(buffer), "%d", (int)cmd);
    return buffer;
  }
}
```