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

```asm
<test_subclassing>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    $0x1,%edx
  lea    D163(%rip),%rax
  mov    %rax,%rsi
  lea    D181(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D163(%rip),%rax
  mov    %rax,%rsi
  lea    D127(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D8(%rip),%rax
  mov    %rax,%rsi
  lea    D127(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D124(%rip),%rax
  mov    %rax,%rsi
  lea    D127(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D67(%rip),%rax
  mov    %rax,%rsi
  lea    D127(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D67(%rip),%rax
  mov    %rax,%rsi
  lea    D181(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D163(%rip),%rax
  mov    %rax,%rsi
  lea    D144(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D173(%rip),%rax
  mov    %rax,%rsi
  lea    D45(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D45(%rip),%rax
  mov    %rax,%rsi
  lea    D173(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x0,%edx
  lea    D163(%rip),%rax
  mov    %rax,%rsi
  lea    D173(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x0,%edx
  lea    D124(%rip),%rax
  mov    %rax,%rsi
  lea    D173(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  mov    $0x1,%edx
  lea    D163(%rip),%rax
  mov    %rax,%rsi
  lea    D124(%rip),%rax
  mov    %rax,%rdi
  call   <test_subclass@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D163
data_type: string
name: extract_symbolic_data
arguments: tag: D181
data_type: string
name: extract_symbolic_data
arguments: tag: D127
data_type: string
name: extract_symbolic_data
arguments: tag: D8
data_type: string
name: extract_symbolic_data
arguments: tag: D124
data_type: string
name: extract_symbolic_data
arguments: tag: D67
data_type: string
name: extract_symbolic_data
arguments: tag: D144
data_type: string
name: extract_symbolic_data
arguments: tag: D173
data_type: string
name: extract_symbolic_data
arguments: tag: D45
data_type: string

tool: D163: text/plain

tool: D181: application/rtf

tool: D127: message/news

tool: D8: message/*

tool: D124: text/*

tool: D67: application/octet-stream

tool: D144: application/x-gnome-app-info

tool: D173: image/vnd.djvu

tool: D45: image/x-djvu

assistant: ```c
void test_subclassing(void) {
  test_subclass("application/rtf", "text/plain", 1);
  test_subclass("message/news", "text/plain", 1);
  test_subclass("message/news", "message/*", 1);
  test_subclass("message/news", "text/*", 1);
  test_subclass("message/news", "application/octet-stream", 1);
  test_subclass("application/rtf", "application/octet-stream", 1);
  test_subclass("application/x-gnome-app-info", "text/plain", 1);
  test_subclass("image/x-djvu", "image/vnd.djvu", 1);
  test_subclass("image/vnd.djvu", "image/x-djvu", 1);
  test_subclass("image/vnd.djvu", "text/plain", 0);
  test_subclass("image/vnd.djvu", "text/*", 0);
  test_subclass("text/*", "text/plain", 1);
}
```