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

```asm
<help_required>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D34(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L23
  mov    $0x1,%eax
  jmp    L36
L23:
  mov    -0x8(%rbp),%rax
  lea    D13(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L9
  mov    $0x1,%eax
  jmp    L36
L9:
  mov    -0x8(%rbp),%rax
  lea    D16(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L21
  mov    $0x1,%eax
  jmp    L36
L21:
  mov    -0x8(%rbp),%rax
  lea    D77(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L175
  mov    $0x1,%eax
  jmp    L36
L175:
  mov    -0x8(%rbp),%rax
  lea    D9(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L111
  mov    $0x1,%eax
  jmp    L36
L111:
  mov    -0x8(%rbp),%rax
  lea    D53(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L88
  mov    $0x1,%eax
  jmp    L36
L88:
  mov    -0x8(%rbp),%rax
  lea    D46(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L131
  mov    $0x1,%eax
  jmp    L36
L131:
  mov    -0x8(%rbp),%rax
  lea    D11(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L174
  mov    $0x1,%eax
  jmp    L36
L174:
  mov    -0x8(%rbp),%rax
  lea    D25(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L13
  mov    $0x1,%eax
  jmp    L36
L13:
  mov    -0x8(%rbp),%rax
  lea    D10(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strings_equal@plt>
  test   %rax,%rax
  je     L82
  mov    $0x1,%eax
  jmp    L36
L82:
  mov    $0x0,%eax
L36:
  leave
  ret
```

tool_calls: name: parse_data
arguments: data_tag: D34
type_infered: string
name: parse_data
arguments: data_tag: D13
type_infered: string
name: parse_data
arguments: data_tag: D16
type_infered: string
name: parse_data
arguments: data_tag: D77
type_infered: string
name: parse_data
arguments: data_tag: D9
type_infered: string
name: parse_data
arguments: data_tag: D53
type_infered: string
name: parse_data
arguments: data_tag: D46
type_infered: string
name: parse_data
arguments: data_tag: D11
type_infered: string
name: parse_data
arguments: data_tag: D25
type_infered: string
name: parse_data
arguments: data_tag: D10
type_infered: string

tool: D34: help

tool: D13: HELP

tool: D16: -help

tool: D77: -HELP

tool: D9: --help

tool: D53: --HELP

tool: D46: -h

tool: D11: -H

tool: D25: --h

tool: D10: --H

assistant: ```c
int help_required(char *string) {
  if (strings_equal(string, "help"))
    return (1);
  if (strings_equal(string, "HELP"))
    return (1);
  if (strings_equal(string, "-help"))
    return (1);
  if (strings_equal(string, "-HELP"))
    return (1);
  if (strings_equal(string, "--help"))
    return (1);
  if (strings_equal(string, "--HELP"))
    return (1);
  if (strings_equal(string, "-h"))
    return (1);
  if (strings_equal(string, "-H"))
    return (1);
  if (strings_equal(string, "--h"))
    return (1);
  if (strings_equal(string, "--H"))
    return (1);
  return (0);
}
```