user: Converte this assembly snippet into its equivalent C code:

```asm
<register_keywords>:
  endbr64
  push   %rbp
  mov    $0x3a,%edx
  mov    %rdi,%rbp
  lea    D149(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x3b,%edx
  lea    D279(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x3c,%edx
  lea    D139(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x3d,%edx
  lea    D53(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x3e,%edx
  lea    D29(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x3f,%edx
  lea    D125(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x40,%edx
  lea    D193(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x41,%edx
  lea    D262(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x42,%edx
  lea    D341(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x43,%edx
  lea    D290(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x44,%edx
  lea    D217(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x45,%edx
  lea    D258(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x46,%edx
  lea    D199(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x47,%edx
  lea    D227(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x48,%edx
  lea    D24(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x49,%edx
  lea    D234(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x4a,%edx
  lea    D88(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x4b,%edx
  lea    D365(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x4c,%edx
  lea    D120(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x4d,%edx
  lea    D314(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x4e,%edx
  lea    D224(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x4f,%edx
  lea    D200(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x50,%edx
  lea    D278(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x51,%edx
  lea    D8(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x52,%edx
  lea    D232(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x53,%edx
  lea    D138(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x54,%edx
  lea    D5(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x55,%edx
  lea    D94(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x56,%edx
  lea    D305(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x57,%edx
  lea    D211(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x58,%edx
  lea    D170(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x59,%edx
  lea    D78(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x5a,%edx
  lea    D164(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x5a,%edx
  lea    D87(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x5b,%edx
  lea    D148(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x5c,%edx
  lea    D121(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x5c,%edx
  lea    D260(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  mov    $0x5d,%edx
  lea    D304(%rip),%rsi
  call   <hash_keyword@plt>
  mov    %rbp,%rdi
  pop    %rbp
  mov    $0x5e,%edx
  lea    D19(%rip),%rsi
  jmp    1050 <hash_keyword@plt>
```

tool_calls: name: unpack_data
arguments: label: D149
data_type: string
name: unpack_data
arguments: label: D279
data_type: string
name: unpack_data
arguments: label: D139
data_type: string
name: unpack_data
arguments: label: D53
data_type: string
name: unpack_data
arguments: label: D29
data_type: string
name: unpack_data
arguments: label: D125
data_type: string
name: unpack_data
arguments: label: D193
data_type: string
name: unpack_data
arguments: label: D262
data_type: string
name: unpack_data
arguments: label: D341
data_type: string
name: unpack_data
arguments: label: D290
data_type: string
name: unpack_data
arguments: label: D217
data_type: string
name: unpack_data
arguments: label: D258
data_type: string
name: unpack_data
arguments: label: D199
data_type: string
name: unpack_data
arguments: label: D227
data_type: string
name: unpack_data
arguments: label: D24
data_type: string
name: unpack_data
arguments: label: D234
data_type: string
name: unpack_data
arguments: label: D88
data_type: string
name: unpack_data
arguments: label: D365
data_type: string
name: unpack_data
arguments: label: D120
data_type: string
name: unpack_data
arguments: label: D314
data_type: string
name: unpack_data
arguments: label: D224
data_type: string
name: unpack_data
arguments: label: D200
data_type: string
name: unpack_data
arguments: label: D278
data_type: string
name: unpack_data
arguments: label: D8
data_type: string
name: unpack_data
arguments: label: D232
data_type: string
name: unpack_data
arguments: label: D138
data_type: string
name: unpack_data
arguments: label: D5
data_type: string
name: unpack_data
arguments: label: D94
data_type: string
name: unpack_data
arguments: label: D305
data_type: string
name: unpack_data
arguments: label: D211
data_type: string
name: unpack_data
arguments: label: D170
data_type: string
name: unpack_data
arguments: label: D78
data_type: string
name: unpack_data
arguments: label: D164
data_type: string
name: unpack_data
arguments: label: D87
data_type: string
name: unpack_data
arguments: label: D148
data_type: string
name: unpack_data
arguments: label: D121
data_type: string
name: unpack_data
arguments: label: D260
data_type: string
name: unpack_data
arguments: label: D304
data_type: string
name: unpack_data
arguments: label: D19
data_type: string

tool: D149: auto

tool: D279: break

tool: D139: case

tool: D53: char

tool: D29: const

tool: D125: continue

tool: D193: default

tool: D262: do

tool: D341: double

tool: D290: else

tool: D217: enum

tool: D258: extern

tool: D199: float

tool: D227: for

tool: D24: goto

tool: D234: if

tool: D88: inline

tool: D365: int

tool: D120: long

tool: D314: register

tool: D224: restrict

tool: D200: return

tool: D278: short

tool: D8: signed

tool: D232: sizeof

tool: D138: static

tool: D5: struct

tool: D94: switch

tool: D305: typedef

tool: D211: union

tool: D170: unsigned

tool: D78: void

tool: D164: volatile

tool: D87: __volatile__

tool: D148: while

tool: D121: asm

tool: D260: __asm__

tool: D304: __attribute__

tool: D19: __alignof__

assistant: ```c
void register_keywords(struct compile_state *state) {
  hash_keyword(state, "auto", 58);
  hash_keyword(state, "break", 59);
  hash_keyword(state, "case", 60);
  hash_keyword(state, "char", 61);
  hash_keyword(state, "const", 62);
  hash_keyword(state, "continue", 63);
  hash_keyword(state, "default", 64);
  hash_keyword(state, "do", 65);
  hash_keyword(state, "double", 66);
  hash_keyword(state, "else", 67);
  hash_keyword(state, "enum", 68);
  hash_keyword(state, "extern", 69);
  hash_keyword(state, "float", 70);
  hash_keyword(state, "for", 71);
  hash_keyword(state, "goto", 72);
  hash_keyword(state, "if", 73);
  hash_keyword(state, "inline", 74);
  hash_keyword(state, "int", 75);
  hash_keyword(state, "long", 76);
  hash_keyword(state, "register", 77);
  hash_keyword(state, "restrict", 78);
  hash_keyword(state, "return", 79);
  hash_keyword(state, "short", 80);
  hash_keyword(state, "signed", 81);
  hash_keyword(state, "sizeof", 82);
  hash_keyword(state, "static", 83);
  hash_keyword(state, "struct", 84);
  hash_keyword(state, "switch", 85);
  hash_keyword(state, "typedef", 86);
  hash_keyword(state, "union", 87);
  hash_keyword(state, "unsigned", 88);
  hash_keyword(state, "void", 89);
  hash_keyword(state, "volatile", 90);
  hash_keyword(state, "__volatile__", 90);
  hash_keyword(state, "while", 91);
  hash_keyword(state, "asm", 92);
  hash_keyword(state, "__asm__", 92);
  hash_keyword(state, "__attribute__", 93);
  hash_keyword(state, "__alignof__", 94);
}
```