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

```asm
<check_response>:
  endbr64
  push   %r13
  mov    %rcx,%r13
  push   %r12
  mov    %rsi,%r12
  lea    D3(%rip),%rsi
  push   %rbp
  mov    %rdi,%rbp
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D139(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D40(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L17
  mov    %r12,%rsi
  lea    D75(%rip),%rdi
L35:
  pop    %rbp
  xor    %eax,%eax
  pop    %r12
  pop    %r13
  jmp    1080 <printf@plt>
  nopw   0x0(%rax,%rax,1)
L17:
  lea    D128(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D82(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D28(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D157(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D143(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D161(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D56(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D133(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D135(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D44(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D104(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D165(%rip),%rdi
  test   %rax,%rax
  jne    L35
  lea    D66(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  mov    %r12,%rsi
  lea    D78(%rip),%rdi
  test   %rax,%rax
  jne    L35
  mov    %r12,%rdx
  mov    %rbp,%rsi
  lea    D83(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13,%rdx
  mov    %r12,%rsi
  mov    %rbp,%rdi
  pop    %rbp
  pop    %r12
  pop    %r13
  jmp    1070 <send_mail@plt>
```

tool_calls: name: unpack_data
arguments: data_tag: D3
data_type: string
name: unpack_data
arguments: data_tag: D139
data_type: string
name: unpack_data
arguments: data_tag: D40
data_type: string
name: unpack_data
arguments: data_tag: D75
data_type: string
name: unpack_data
arguments: data_tag: D128
data_type: string
name: unpack_data
arguments: data_tag: D82
data_type: string
name: unpack_data
arguments: data_tag: D28
data_type: string
name: unpack_data
arguments: data_tag: D157
data_type: string
name: unpack_data
arguments: data_tag: D143
data_type: string
name: unpack_data
arguments: data_tag: D161
data_type: string
name: unpack_data
arguments: data_tag: D56
data_type: string
name: unpack_data
arguments: data_tag: D133
data_type: string
name: unpack_data
arguments: data_tag: D135
data_type: string
name: unpack_data
arguments: data_tag: D44
data_type: string
name: unpack_data
arguments: data_tag: D104
data_type: string
name: unpack_data
arguments: data_tag: D165
data_type: string
name: unpack_data
arguments: data_tag: D66
data_type: string
name: unpack_data
arguments: data_tag: D78
data_type: string
name: unpack_data
arguments: data_tag: D83
data_type: string

tool: D3: good

tool: D139: Update of %s succeeded


tool: D40: nochg

tool: D75: Host %s not changed


tool: D128: notfqdn

tool: D82: Host %s is not a Fully-Qualified Domain Name


tool: D28: nohost

tool: D157: Host %s does not exist


tool: D143: !yours

tool: D161: Host %s does not belong to you


tool: D56: abuse

tool: D133: Host %s blocked due to abuse


tool: D135: numhost

tool: D44: Too many or too few hosts found


tool: D104: dnserr

tool: D165: DNS error encountered


tool: D66: Authorization Required

tool: D78: Invalid user credentials supplied


tool: D83: Unknown error: Got response %s on host %s


assistant: ```c
void check_response(char *response, char *host_id, char *mailresp, char *mailreq) {
  if (strstr(response, "good"))
    printf("Update of %s succeeded\n", host_id);
  else if (strstr(response, "nochg"))
    printf("Host %s not changed\n", host_id);
  else if (strstr(response, "notfqdn"))
    printf("Host %s is not a Fully-Qualified Domain Name\n", host_id);
  else if (strstr(response, "nohost"))
    printf("Host %s does not exist\n", host_id);
  else if (strstr(response, "!yours"))
    printf("Host %s does not belong to you\n", host_id);
  else if (strstr(response, "abuse"))
    printf("Host %s blocked due to abuse\n", host_id);
  else if (strstr(response, "numhost"))
    printf("Too many or too few hosts found\n", host_id);
  else if (strstr(response, "dnserr"))
    printf("DNS error encountered\n", host_id);
  else if (strstr(response, "Authorization Required"))
    printf("Invalid user credentials supplied\n", host_id);
  else {
    printf("Unknown error: Got response %s on host %s\n", response, host_id);
    send_mail(response, host_id, mailreq);
  }
}
```