user: 请将以下的汇编代码转换成C语言代码：

```asm
<gr_get_color_int>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  cmpq   $0x0,-0x8(%rbp)
  jne    L135
  mov    $0xffffffff,%eax
  jmp    L199
L135:
  mov    -0x8(%rbp),%rax
  lea    D98(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L419
  mov    $0x1,%eax
  jmp    L199
L419:
  mov    -0x8(%rbp),%rax
  lea    D198(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L293
  mov    $0x2,%eax
  jmp    L199
L293:
  mov    -0x8(%rbp),%rax
  lea    D128(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L340
  mov    $0x3,%eax
  jmp    L199
L340:
  mov    -0x8(%rbp),%rax
  lea    D65(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L257
  mov    $0x4,%eax
  jmp    L199
L257:
  mov    -0x8(%rbp),%rax
  lea    D120(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L405
  mov    $0x5,%eax
  jmp    L199
L405:
  mov    -0x8(%rbp),%rax
  lea    D165(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L430
  mov    $0x6,%eax
  jmp    L199
L430:
  mov    -0x8(%rbp),%rax
  lea    D59(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L207
  mov    $0x7,%eax
  jmp    L199
L207:
  mov    -0x8(%rbp),%rax
  lea    D155(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L172
  mov    $0x8,%eax
  jmp    L199
L172:
  mov    -0x8(%rbp),%rax
  lea    D111(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L294
  mov    $0x9,%eax
  jmp    L199
L294:
  mov    -0x8(%rbp),%rax
  lea    D208(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L310
  mov    $0xa,%eax
  jmp    L199
L310:
  mov    -0x8(%rbp),%rax
  lea    D193(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L103
  mov    $0xb,%eax
  jmp    L199
L103:
  mov    -0x8(%rbp),%rax
  lea    D74(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L429
  mov    $0xc,%eax
  jmp    L199
L429:
  mov    -0x8(%rbp),%rax
  lea    D104(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L164
  mov    $0xd,%eax
  jmp    L199
L164:
  mov    -0x8(%rbp),%rax
  lea    D114(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L300
  mov    $0xe,%eax
  jmp    L199
L300:
  mov    -0x8(%rbp),%rax
  lea    D35(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L434
  mov    $0xf,%eax
  jmp    L199
L434:
  mov    -0x8(%rbp),%rax
  lea    D92(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L307
  mov    $0x10,%eax
  jmp    L199
L307:
  mov    -0x8(%rbp),%rax
  lea    D121(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L403
  mov    $0x11,%eax
  jmp    L199
L403:
  mov    -0x8(%rbp),%rax
  lea    D171(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L142
  mov    $0x12,%eax
  jmp    L199
L142:
  mov    -0x8(%rbp),%rax
  lea    D189(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L34
  mov    $0x13,%eax
  jmp    L199
L34:
  mov    -0x8(%rbp),%rax
  lea    D196(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L95
  mov    $0x14,%eax
  jmp    L199
L95:
  mov    -0x8(%rbp),%rax
  lea    D186(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L433
  mov    $0x15,%eax
  jmp    L199
L433:
  mov    $0x0,%eax
L199:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D98
type_infered: string
name: retrieve_data
arguments: data_tag: D198
type_infered: string
name: retrieve_data
arguments: data_tag: D128
type_infered: string
name: retrieve_data
arguments: data_tag: D65
type_infered: string
name: retrieve_data
arguments: data_tag: D120
type_infered: string
name: retrieve_data
arguments: data_tag: D165
type_infered: string
name: retrieve_data
arguments: data_tag: D59
type_infered: string
name: retrieve_data
arguments: data_tag: D155
type_infered: string
name: retrieve_data
arguments: data_tag: D111
type_infered: string
name: retrieve_data
arguments: data_tag: D208
type_infered: string
name: retrieve_data
arguments: data_tag: D193
type_infered: string
name: retrieve_data
arguments: data_tag: D74
type_infered: string
name: retrieve_data
arguments: data_tag: D104
type_infered: string
name: retrieve_data
arguments: data_tag: D114
type_infered: string
name: retrieve_data
arguments: data_tag: D35
type_infered: string
name: retrieve_data
arguments: data_tag: D92
type_infered: string
name: retrieve_data
arguments: data_tag: D121
type_infered: string
name: retrieve_data
arguments: data_tag: D171
type_infered: string
name: retrieve_data
arguments: data_tag: D189
type_infered: string
name: retrieve_data
arguments: data_tag: D196
type_infered: string
name: retrieve_data
arguments: data_tag: D186
type_infered: string

tool: D98: Green

tool: D198: Navy

tool: D128: Yellow

tool: D65: Magenta

tool: D120: Cyan

tool: D165: Gray

tool: D59: Orange

tool: D155: Black

tool: D111: Maroon

tool: D208: White

tool: D193: Blue

tool: D74: Pink

tool: D104: Brown

tool: D114: Grey

tool: D35: LimeGreen

tool: D92: Turquoise

tool: D121: Violet

tool: D171: Wheat

tool: D189: Purple

tool: D196: Beige

tool: D186: Red

assistant: ```c
short gr_get_color_int(char *colorstr) {
  if (!colorstr)
    return -1;
  if (!strcmp(colorstr, "Green"))
    return 1;
  if (!strcmp(colorstr, "Navy"))
    return 2;
  if (!strcmp(colorstr, "Yellow"))
    return 3;
  if (!strcmp(colorstr, "Magenta"))
    return 4;
  if (!strcmp(colorstr, "Cyan"))
    return 5;
  if (!strcmp(colorstr, "Gray"))
    return 6;
  if (!strcmp(colorstr, "Orange"))
    return 7;
  if (!strcmp(colorstr, "Black"))
    return 8;
  if (!strcmp(colorstr, "Maroon"))
    return 9;
  if (!strcmp(colorstr, "White"))
    return 10;
  if (!strcmp(colorstr, "Blue"))
    return 11;
  if (!strcmp(colorstr, "Pink"))
    return 12;
  if (!strcmp(colorstr, "Brown"))
    return 13;
  if (!strcmp(colorstr, "Grey"))
    return 14;
  if (!strcmp(colorstr, "LimeGreen"))
    return 15;
  if (!strcmp(colorstr, "Turquoise"))
    return 16;
  if (!strcmp(colorstr, "Violet"))
    return 17;
  if (!strcmp(colorstr, "Wheat"))
    return 18;
  if (!strcmp(colorstr, "Purple"))
    return 19;
  if (!strcmp(colorstr, "Beige"))
    return 20;
  if (!strcmp(colorstr, "Red"))
    return 21;
  return 0;
}
```