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

```asm
<PrintFormType>:
  endbr64
  sub    $0x42,%edi
  cmp    $0x32,%edi
  ja     L50
  sub    $0x8,%rsp
  mov    %edi,%edi
  lea    D127(%rip),%rcx
  movslq (%rcx,%rdi,4),%rax
  add    %rcx,%rax
  notrack jmp *%rax
  test   %rsi,%rsi
  je     L155
  mov    %rdx,%rcx
  lea    D59(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L10:
  add    $0x8,%rsp
  ret
L155:
  mov    %rdx,%rsi
  lea    D184(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L105
  mov    %rdx,%rcx
  lea    D8(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L105:
  mov    %rdx,%rsi
  lea    D79(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L17
  mov    %rdx,%rcx
  lea    D119(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L17:
  mov    %rdx,%rsi
  lea    D47(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L43
  mov    %rdx,%rcx
  lea    D190(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L43:
  mov    %rdx,%rsi
  lea    D51(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L4
  lea    D165(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L4:
  mov    %rdx,%rsi
  lea    D55(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L54
  lea    D106(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L54:
  mov    %rdx,%rsi
  lea    D153(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L42
  lea    D206(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L42:
  mov    %rdx,%rsi
  lea    D103(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L145
  lea    D180(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L145:
  mov    %rdx,%rsi
  lea    D50(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L99
  lea    D160(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L99:
  mov    %rdx,%rsi
  lea    D174(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
  test   %rsi,%rsi
  je     L285
  lea    D61(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L285:
  mov    %rdx,%rsi
  lea    D143(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L10
L50:
  ret
```

tool_calls: name: retrieve_data
arguments: label: D59
data_type: string
name: retrieve_data
arguments: label: D184
data_type: string
name: retrieve_data
arguments: label: D8
data_type: string
name: retrieve_data
arguments: label: D79
data_type: string
name: retrieve_data
arguments: label: D119
data_type: string
name: retrieve_data
arguments: label: D47
data_type: string
name: retrieve_data
arguments: label: D190
data_type: string
name: retrieve_data
arguments: label: D51
data_type: string
name: retrieve_data
arguments: label: D165
data_type: string
name: retrieve_data
arguments: label: D55
data_type: string
name: retrieve_data
arguments: label: D106
data_type: string
name: retrieve_data
arguments: label: D153
data_type: string
name: retrieve_data
arguments: label: D206
data_type: string
name: retrieve_data
arguments: label: D103
data_type: string
name: retrieve_data
arguments: label: D180
data_type: string
name: retrieve_data
arguments: label: D50
data_type: string
name: retrieve_data
arguments: label: D160
data_type: string
name: retrieve_data
arguments: label: D174
data_type: string
name: retrieve_data
arguments: label: D61
data_type: string
name: retrieve_data
arguments: label: D143
data_type: string

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


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


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


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


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


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


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


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


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

tool: D55: %s<br>

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

tool: D153: %s 

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

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

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

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

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

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

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

tool: D143: <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;
  }
}
```