user: What would the C source look like for the assembly code provided here:

```asm
<get_opcode>:
  endbr64
  push   %rbp
  lea    D72(%rip),%rsi
  mov    %rdi,%rbp
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x80,%eax
  test   %r8d,%r8d
  je     L114
  lea    D165(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x81,%eax
  test   %r8d,%r8d
  je     L114
  lea    D146(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x83,%eax
  test   %r8d,%r8d
  je     L114
  lea    D219(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x84,%eax
  test   %r8d,%r8d
  je     L114
  lea    D215(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x89,%eax
  test   %r8d,%r8d
  je     L114
  lea    D151(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x91,%eax
  test   %r8d,%r8d
  je     L114
  lea    D191(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8b,%eax
  test   %r8d,%r8d
  je     L114
  lea    D24(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x93,%eax
  test   %r8d,%r8d
  je     L114
  lea    D197(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8a,%eax
  test   %r8d,%r8d
  je     L114
  lea    D87(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x90,%eax
  test   %r8d,%r8d
  je     L114
  lea    D100(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x97,%eax
  test   %r8d,%r8d
  je     L114
  lea    D68(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8c,%eax
  test   %r8d,%r8d
  je     L114
  lea    D233(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8d,%eax
  test   %r8d,%r8d
  je     L114
  lea    D4(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x95,%eax
  test   %r8d,%r8d
  je     L114
  lea    D37(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8e,%eax
  test   %r8d,%r8d
  je     L114
  lea    D149(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x94,%eax
  test   %r8d,%r8d
  je     L114
  lea    D55(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x96,%eax
  test   %r8d,%r8d
  je     L114
  lea    D31(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x98,%eax
  test   %r8d,%r8d
  je     L114
  lea    D179(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x99,%eax
  test   %r8d,%r8d
  je     L114
  lea    D174(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9a,%eax
  test   %r8d,%r8d
  je     L114
  lea    D194(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9b,%eax
  test   %r8d,%r8d
  je     L114
  lea    D94(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9c,%eax
  test   %r8d,%r8d
  je     L114
  lea    D204(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9d,%eax
  test   %r8d,%r8d
  je     L114
  lea    D236(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  cmp    $0x1,%eax
  sbb    %eax,%eax
  and    $0x9e,%eax
L114:
  pop    %rbp
  ret
```

tool_calls: name: retrieve_data
arguments: label: D72
datatype: string
name: retrieve_data
arguments: label: D165
datatype: string
name: retrieve_data
arguments: label: D146
datatype: string
name: retrieve_data
arguments: label: D219
datatype: string
name: retrieve_data
arguments: label: D215
datatype: string
name: retrieve_data
arguments: label: D151
datatype: string
name: retrieve_data
arguments: label: D191
datatype: string
name: retrieve_data
arguments: label: D24
datatype: string
name: retrieve_data
arguments: label: D197
datatype: string
name: retrieve_data
arguments: label: D87
datatype: string
name: retrieve_data
arguments: label: D100
datatype: string
name: retrieve_data
arguments: label: D68
datatype: string
name: retrieve_data
arguments: label: D233
datatype: string
name: retrieve_data
arguments: label: D4
datatype: string
name: retrieve_data
arguments: label: D37
datatype: string
name: retrieve_data
arguments: label: D149
datatype: string
name: retrieve_data
arguments: label: D55
datatype: string
name: retrieve_data
arguments: label: D31
datatype: string
name: retrieve_data
arguments: label: D179
datatype: string
name: retrieve_data
arguments: label: D174
datatype: string
name: retrieve_data
arguments: label: D194
datatype: string
name: retrieve_data
arguments: label: D94
datatype: string
name: retrieve_data
arguments: label: D204
datatype: string
name: retrieve_data
arguments: label: D236
datatype: string

tool: D72: srt

tool: D165: bud

tool: D146: saf

tool: D219: fll

tool: D215: drv

tool: D151: drd

tool: D191: led

tool: D24: dos

tool: D197: lsd

tool: D87: pwm

tool: D100: sir

tool: D68: sng

tool: D233: psg

tool: D4: qls

tool: D37: sns

tool: D149: stm

tool: D55: prs

tool: D31: spt

tool: D179: psc

tool: D174: ssc

tool: D194: wat

tool: D94: wad

tool: D204: waa

tool: D236: wae

assistant: ```c
int get_opcode(char asm_instruction[3]) {
  if (!strcmp(asm_instruction, "srt")) {
    return 128;
  }
  if (!strcmp(asm_instruction, "bud")) {
    return 129;
  }
  if (!strcmp(asm_instruction, "saf")) {
    return 131;
  }
  if (!strcmp(asm_instruction, "fll")) {
    return 132;
  }
  if (!strcmp(asm_instruction, "drv")) {
    return 137;
  }
  if (!strcmp(asm_instruction, "drd")) {
    return 145;
  }
  if (!strcmp(asm_instruction, "led")) {
    return 139;
  }
  if (!strcmp(asm_instruction, "dos")) {
    return 147;
  }
  if (!strcmp(asm_instruction, "lsd")) {
    return 138;
  }
  if (!strcmp(asm_instruction, "pwm")) {
    return 144;
  }
  if (!strcmp(asm_instruction, "sir")) {
    return 151;
  }
  if (!strcmp(asm_instruction, "sng")) {
    return 140;
  }
  if (!strcmp(asm_instruction, "psg")) {
    return 141;
  }
  if (!strcmp(asm_instruction, "qls")) {
    return 149;
  }
  if (!strcmp(asm_instruction, "sns")) {
    return 142;
  }
  if (!strcmp(asm_instruction, "stm")) {
    return 148;
  }
  if (!strcmp(asm_instruction, "prs")) {
    return 150;
  }
  if (!strcmp(asm_instruction, "spt")) {
    return 152;
  }
  if (!strcmp(asm_instruction, "psc")) {
    return 153;
  }
  if (!strcmp(asm_instruction, "ssc")) {
    return 154;
  }
  if (!strcmp(asm_instruction, "wat")) {
    return 155;
  }
  if (!strcmp(asm_instruction, "wad")) {
    return 156;
  }
  if (!strcmp(asm_instruction, "waa")) {
    return 157;
  }
  if (!strcmp(asm_instruction, "wae")) {
    return 158;
  } else {
    return 0;
  }
}
```