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

```asm
<PrintHelp>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  lea    D54(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  cmpl   $0x0,-0x4(%rbp)
  je     L5
  lea    D22(%rip),%rax
  mov    %rax,%rcx
  lea    D23(%rip),%rax
  mov    %rax,%rdx
  lea    D25(%rip),%rax
  mov    %rax,%rsi
  lea    D50(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L7
L5:
  lea    D34(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L7:
  nop
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D54
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D22
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D23
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D25
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D50
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D34
type_guessed: string

tool: D54:  SGFC V1.18  - Smart Game Format Syntax Checker & Converter
               Copyright (C) 1996-2018 by Arno Hollosi
               Email: <ahollosi@xmp.net>
 ----------------------------------------------------------

tool: D22:     -n  ... delete empty nodes
    -o  ... delete obsolete properties
    -p  ... write pass moves as '[tt]' if possible
    -r  ... restrictive checking
    -s  ... split game collection into single files
    -t  ... do not insert any soft linebreaks into text values
    -u  ... delete unknown properties
    -v  ... correct variation level and root moves
    -w  ... disable warning messages
    -yP ... delete property P (P = property id)
    -z  ... reverse ordering of variations

tool: D23:     -i  ... interactive mode (faulty game-info values only)
    -k  ... keep header in front of SGF data
    -lx ... x = 1,2,3,4: a hard linebreak is
              1 - any linebreak encountered (default)
              2 - any linebreak not preceeded by a space (MGT)
              3 - two linebreaks in a row
              4 - paragraph style (ISHI format, MFGO)
    -L  ... try to keep linebreaks at the end of nodes
    -m  ... delete markup on current move


tool: D25:  sgfc [options] infile [outfile]
 Options:
    -h  ... print this help message
    -bx ... x = 1,2,3: beginning of SGF data is detected by
              1 - sophisticated search algorithm (default)
              2 - first occurence of '(;'
              3 - first occurence of '('
    -c  ... write file even if a critical error occurs
    -dn ... n = number : disable message number -n-
    -e  ... expand compressed point lists
    -g  ... print game signature (Go GM[1] games only)


tool: D50: %s%s%s


tool: D34:  'sgfc -h' for help on options

assistant: ```c
void PrintHelp(int everything) {
  puts(" SGFC V1.18  - Smart Game Format Syntax Checker & Converter\n"
       "               Copyright (C) 1996-2018 by Arno Hollosi\n"
       "               Email: <ahollosi@xmp.net>\n"
       " ----------------------------------------------------------");
  if (everything)
    printf("%s%s%s\n",
           " sgfc [options] infile [outfile]\n"
           " Options:\n"
           "    -h  ... print this help message\n"
           "    -bx ... x = 1,2,3: beginning of SGF data is detected by\n"
           "              1 - sophisticated search algorithm (default)\n"
           "              2 - first occurence of '(;'\n"
           "              3 - first occurence of '('\n"
           "    -c  ... write file even if a critical error occurs\n"
           "    -dn ... n = number : disable message number -n-\n"
           "    -e  ... expand compressed point lists\n"
           "    -g  ... print game signature (Go GM[1] games only)\n",
           "    -i  ... interactive mode (faulty game-info values only)\n"
           "    -k  ... keep header in front of SGF data\n"
           "    -lx ... x = 1,2,3,4: a hard linebreak is\n"
           "              1 - any linebreak encountered (default)\n"
           "              2 - any linebreak not preceeded by a space (MGT)\n"
           "              3 - two linebreaks in a row\n"
           "              4 - paragraph style (ISHI format, MFGO)\n"
           "    -L  ... try to keep linebreaks at the end of nodes\n"
           "    -m  ... delete markup on current move\n",
           "    -n  ... delete empty nodes\n"
           "    -o  ... delete obsolete properties\n"
           "    -p  ... write pass moves as '[tt]' if possible\n"
           "    -r  ... restrictive checking\n"
           "    -s  ... split game collection into single files\n"
           "    -t  ... do not insert any soft linebreaks into text values\n"
           "    -u  ... delete unknown properties\n"
           "    -v  ... correct variation level and root moves\n"
           "    -w  ... disable warning messages\n"
           "    -yP ... delete property P (P = property id)\n"
           "    -z  ... reverse ordering of variations");
  else
    puts(" 'sgfc -h' for help on options");
}
```