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

```asm
<PrintFormType>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %edi,-0x4(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %rdx,-0x18(%rbp)
  mov    -0x4(%rbp),%eax
  sub    $0x42,%eax
  cmp    $0x32,%eax
  ja     L79
  mov    %eax,%eax
  lea    0x0(,%rax,4),%rdx
  lea    D179(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D179(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  cmpq   $0x0,-0x10(%rbp)
  je     L76
  mov    -0x18(%rbp),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D8(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L76:
  mov    -0x18(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D21(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L277
  mov    -0x18(%rbp),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D16(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L277:
  mov    -0x18(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D110(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L266
  mov    -0x18(%rbp),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D93(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L266:
  mov    -0x18(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D27(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L173
  mov    -0x18(%rbp),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D54(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L173:
  mov    -0x18(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D73(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L35
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D5(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L35:
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L133
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D101(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L133:
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D4(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L39
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D150(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L39:
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D96(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L12
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D50(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L12:
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D70(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L241
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D182(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
L241:
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D114(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L79
  cmpq   $0x0,-0x10(%rbp)
  je     L172
  mov    -0x18(%rbp),%rdx
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  lea    D29(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L111
L172:
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D177(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L111:
  nop
L79:
  nop
  leave
  ret
```

tool_calls: name: parse_data
arguments: label: D8
type_guessed: string
name: parse_data
arguments: label: D21
type_guessed: string
name: parse_data
arguments: label: D16
type_guessed: string
name: parse_data
arguments: label: D110
type_guessed: string
name: parse_data
arguments: label: D93
type_guessed: string
name: parse_data
arguments: label: D27
type_guessed: string
name: parse_data
arguments: label: D54
type_guessed: string
name: parse_data
arguments: label: D73
type_guessed: string
name: parse_data
arguments: label: D5
type_guessed: string
name: parse_data
arguments: label: D43
type_guessed: string
name: parse_data
arguments: label: D101
type_guessed: string
name: parse_data
arguments: label: D4
type_guessed: string
name: parse_data
arguments: label: D150
type_guessed: string
name: parse_data
arguments: label: D96
type_guessed: string
name: parse_data
arguments: label: D50
type_guessed: string
name: parse_data
arguments: label: D70
type_guessed: string
name: parse_data
arguments: label: D182
type_guessed: string
name: parse_data
arguments: label: D114
type_guessed: string
name: parse_data
arguments: label: D29
type_guessed: string
name: parse_data
arguments: label: D177
type_guessed: string

tool: D8: <b>%s:</b> <a href="mailto:%s">%s</a><br>


tool: D21: <a href="mailto:%s">%s</a><br>


tool: D16: <b>%s:</b> <a href="mailto:%s">%s</a> 


tool: D110: <a href="mailto:%s">%s</a> 


tool: D93: <b>%s:</b> <a href="%s">%s</a><br>


tool: D27: <a href="%s">%s</a><br>


tool: D54: <b>%s:</b> <a href="%s">%s</a> 


tool: D73: <a href="%s">%s</a> 


tool: D5: <b>%s:</b> %s<br>

tool: D43: %s<br>

tool: D101: <b>%s:</b> %s 

tool: D4: %s 

tool: D150: <b>%s:</b> <i>%s</i><br>

tool: D96: <i>%s</i><br>

tool: D50: <b>%s:</b> <i>%s</i> 

tool: D70: <i>%s</i> 

tool: D182: <b>%s:</b> <b>%s</b><br>

tool: D114: <b>%s</b><br>

tool: D29: <b>%s:</b> <b>%s</b> 

tool: D177: <b>%s</b> 

assistant: ```c
void PrintFormType(int type, char *field, char *text) {
  switch (type) {
  case 'M':
    if (field)
      printf("<b>%s:</b> <a href=\"mailto:%s\">%s</a><br>\n", field, text, text);
    else
      printf("<a href=\"mailto:%s\">%s</a><br>\n", text, text);
    break;
  case 'm':
    if (field)
      printf("<b>%s:</b> <a href=\"mailto:%s\">%s</a> \n", field, text, text);
    else
      printf("<a href=\"mailto:%s\">%s</a> \n", text, text);
    break;
  case 'L':
    if (field)
      printf("<b>%s:</b> <a href=\"%s\">%s</a><br>\n", field, text, text);
    else
      printf("<a href=\"%s\">%s</a><br>\n", text, text);
    break;
  case 'l':
    if (field)
      printf("<b>%s:</b> <a href=\"%s\">%s</a> \n", field, text, text);
    else
      printf("<a href=\"%s\">%s</a> \n", text, text);
    break;
  case 'T':
    if (field)
      printf("<b>%s:</b> %s<br>", field, text);
    else
      printf("%s<br>", text);
    break;
  case 't':
    if (field)
      printf("<b>%s:</b> %s ", field, text);
    else
      printf("%s ", text);
    break;
  case 'I':
    if (field)
      printf("<b>%s:</b> <i>%s</i><br>", field, text);
    else
      printf("<i>%s</i><br>", text);
    break;
  case 'i':
    if (field)
      printf("<b>%s:</b> <i>%s</i> ", field, text);
    else
      printf("<i>%s</i> ", text);
    break;
  case 'B':
    if (field)
      printf("<b>%s:</b> <b>%s</b><br>", field, text);
    else
      printf("<b>%s</b><br>", text);
    break;
  case 'b':
    if (field)
      printf("<b>%s:</b> <b>%s</b> ", field, text);
    else
      printf("<b>%s</b> ", text);
    break;
  }
}
```