user: What is the c source code of the assembly code below?

```asm
<get_opcode>:
  endbr64
  push   %rbp
  lea    D235(%rip),%rsi
  mov    %rdi,%rbp
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x80,%eax
  test   %r8d,%r8d
  je     L144
  lea    D40(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x81,%eax
  test   %r8d,%r8d
  je     L144
  lea    D94(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x83,%eax
  test   %r8d,%r8d
  je     L144
  lea    D203(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x84,%eax
  test   %r8d,%r8d
  je     L144
  lea    D166(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x89,%eax
  test   %r8d,%r8d
  je     L144
  lea    D9(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x91,%eax
  test   %r8d,%r8d
  je     L144
  lea    D35(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8b,%eax
  test   %r8d,%r8d
  je     L144
  lea    D19(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x93,%eax
  test   %r8d,%r8d
  je     L144
  lea    D165(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8a,%eax
  test   %r8d,%r8d
  je     L144
  lea    D95(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x90,%eax
  test   %r8d,%r8d
  je     L144
  lea    D71(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x97,%eax
  test   %r8d,%r8d
  je     L144
  lea    D64(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8c,%eax
  test   %r8d,%r8d
  je     L144
  lea    D68(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8d,%eax
  test   %r8d,%r8d
  je     L144
  lea    D125(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x95,%eax
  test   %r8d,%r8d
  je     L144
  lea    D83(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x8e,%eax
  test   %r8d,%r8d
  je     L144
  lea    D111(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x94,%eax
  test   %r8d,%r8d
  je     L144
  lea    D56(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x96,%eax
  test   %r8d,%r8d
  je     L144
  lea    D149(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x98,%eax
  test   %r8d,%r8d
  je     L144
  lea    D130(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x99,%eax
  test   %r8d,%r8d
  je     L144
  lea    D219(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9a,%eax
  test   %r8d,%r8d
  je     L144
  lea    D90(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9b,%eax
  test   %r8d,%r8d
  je     L144
  lea    D32(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9c,%eax
  test   %r8d,%r8d
  je     L144
  lea    D119(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  mov    %eax,%r8d
  mov    $0x9d,%eax
  test   %r8d,%r8d
  je     L144
  lea    D113(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  cmp    $0x1,%eax
  sbb    %eax,%eax
  and    $0x9e,%eax
L144:
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D235
data_type: string
name: extract_symbolic_data
arguments: data_label: D40
data_type: string
name: extract_symbolic_data
arguments: data_label: D94
data_type: string
name: extract_symbolic_data
arguments: data_label: D203
data_type: string
name: extract_symbolic_data
arguments: data_label: D166
data_type: string
name: extract_symbolic_data
arguments: data_label: D9
data_type: string
name: extract_symbolic_data
arguments: data_label: D35
data_type: string
name: extract_symbolic_data
arguments: data_label: D19
data_type: string
name: extract_symbolic_data
arguments: data_label: D165
data_type: string
name: extract_symbolic_data
arguments: data_label: D95
data_type: string
name: extract_symbolic_data
arguments: data_label: D71
data_type: string
name: extract_symbolic_data
arguments: data_label: D64
data_type: string
name: extract_symbolic_data
arguments: data_label: D68
data_type: string
name: extract_symbolic_data
arguments: data_label: D125
data_type: string
name: extract_symbolic_data
arguments: data_label: D83
data_type: string
name: extract_symbolic_data
arguments: data_label: D111
data_type: string
name: extract_symbolic_data
arguments: data_label: D56
data_type: string
name: extract_symbolic_data
arguments: data_label: D149
data_type: string
name: extract_symbolic_data
arguments: data_label: D130
data_type: string
name: extract_symbolic_data
arguments: data_label: D219
data_type: string
name: extract_symbolic_data
arguments: data_label: D90
data_type: string
name: extract_symbolic_data
arguments: data_label: D32
data_type: string
name: extract_symbolic_data
arguments: data_label: D119
data_type: string
name: extract_symbolic_data
arguments: data_label: D113
data_type: string

tool: D235: srt

tool: D40: bud

tool: D94: saf

tool: D203: fll

tool: D166: drv

tool: D9: drd

tool: D35: led

tool: D19: dos

tool: D165: lsd

tool: D95: pwm

tool: D71: sir

tool: D64: sng

tool: D68: psg

tool: D125: qls

tool: D83: sns

tool: D111: stm

tool: D56: prs

tool: D149: spt

tool: D130: psc

tool: D219: ssc

tool: D90: wat

tool: D32: wad

tool: D119: waa

tool: D113: 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;
  }
}
```