user: Translate the below assembly code into C programming language:

```asm
<isKeyword>:
  endbr64
  push   %rbp
  lea    D197(%rip),%rsi
  mov    %rdi,%rbp
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L133
L146:
  mov    $0x1,%eax
  pop    %rbp
  ret
L133:
  lea    D97(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D148(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D157(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D13(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D99(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D15(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D98(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D179(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D178(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D103(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D110(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D198(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D172(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D173(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D55(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D167(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D153(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D195(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  lea    D177(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L146
  mov    %rbp,%rdi
  lea    D115(%rip),%rsi
  call   <strcmp@plt>
  pop    %rbp
  test   %rax,%rax
  sete   %al
  movzbl %al,%eax
  ret
```

tool_calls: name: read_data
arguments: data_label: D197
type_infered: string
name: read_data
arguments: data_label: D97
type_infered: string
name: read_data
arguments: data_label: D148
type_infered: string
name: read_data
arguments: data_label: D157
type_infered: string
name: read_data
arguments: data_label: D13
type_infered: string
name: read_data
arguments: data_label: D99
type_infered: string
name: read_data
arguments: data_label: D15
type_infered: string
name: read_data
arguments: data_label: D98
type_infered: string
name: read_data
arguments: data_label: D179
type_infered: string
name: read_data
arguments: data_label: D178
type_infered: string
name: read_data
arguments: data_label: D103
type_infered: string
name: read_data
arguments: data_label: D110
type_infered: string
name: read_data
arguments: data_label: D198
type_infered: string
name: read_data
arguments: data_label: D172
type_infered: string
name: read_data
arguments: data_label: D173
type_infered: string
name: read_data
arguments: data_label: D55
type_infered: string
name: read_data
arguments: data_label: D167
type_infered: string
name: read_data
arguments: data_label: D153
type_infered: string
name: read_data
arguments: data_label: D195
type_infered: string
name: read_data
arguments: data_label: D177
type_infered: string
name: read_data
arguments: data_label: D115
type_infered: string

tool: D197: class

tool: D97: constructor

tool: D148: function

tool: D157: method

tool: D13: field

tool: D99: static

tool: D15: var

tool: D98: int

tool: D179: char

tool: D178: boolean

tool: D103: void

tool: D110: true

tool: D198: false

tool: D172: null

tool: D173: this

tool: D55: let

tool: D167: do

tool: D153: if

tool: D195: else

tool: D177: while

tool: D115: return

assistant: ```c
bool isKeyword(char *buf) {
  if (strcmp(buf, "class") == 0 || strcmp(buf, "constructor") == 0 || strcmp(buf, "function") == 0 || strcmp(buf, "method") == 0 || strcmp(buf, "field") == 0 || strcmp(buf, "static") == 0 || strcmp(buf, "var") == 0 || strcmp(buf, "int") == 0 || strcmp(buf, "char") == 0 || strcmp(buf, "boolean") == 0 || strcmp(buf, "void") == 0 || strcmp(buf, "true") == 0 || strcmp(buf, "false") == 0 || strcmp(buf, "null") == 0 || strcmp(buf, "this") == 0 || strcmp(buf, "let") == 0 || strcmp(buf, "do") == 0 || strcmp(buf, "if") == 0 || strcmp(buf, "else") == 0 || strcmp(buf, "while") == 0 || strcmp(buf, "return") == 0) {
    return true;
  }
  return false;
}
```