user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<handle_request>:
  endbr64
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x620,%rsp
  mov    %edi,%r12d
  mov    %fs:0x28,%rax
  mov    %rax,0x618(%rsp)
  xor    %eax,%eax
  lea    D56(%rip),%rdi
  call   <puts@plt>
  movb   $0x0,0x10(%rsp)
  lea    0x10(%rsp),%rbx
  mov    $0x200,%edx
  mov    %rbx,%rsi
  mov    %r12d,%edi
  call   <read_text_data@plt>
  movq   $0x0,0x8(%rsp)
  lea    0x8(%rsp),%r14
  mov    %r14,%rdx
  lea    D95(%rip),%r13
  mov    %r13,%rsi
  mov    %rbx,%rdi
  call   <strtok_r@plt>
  mov    %rax,%rbp
  mov    %r14,%rdx
  mov    %r13,%rsi
  mov    $0x0,%edi
  call   <strtok_r@plt>
  mov    %rax,%rbx
  mov    %r14,%rdx
  mov    %r13,%rsi
  mov    $0x0,%edi
  call   <strtok_r@plt>
  mov    %rax,%r13
  lea    0x1(%rbx),%rsi
  lea    0x210(%rsp),%rdi
  mov    $0x1ff,%edx
  call   <strncpy@plt>
  movb   $0x0,0x40f(%rsp)
  lea    D65(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L2
  mov    %r13,%rdx
  mov    %rbp,%rsi
  lea    D7(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
L8:
  movabs $0x65726f6e6769,%rax
  mov    $0x0,%edx
  mov    %rax,0x410(%rsp)
  mov    %rdx,0x418(%rsp)
  lea    0x420(%rsp),%rdi
  mov    $0x3e,%ecx
  mov    $0x0,%eax
  rep stos %rax,%es:(%rdi)
  lea    D74(%rip),%r13
  jmp    L0
L2:
  lea    0x210(%rsp),%rsi
  lea    D27(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  jmp    L8
L14:
  lea    0x410(%rsp),%rsi
  mov    $0x200,%edx
  mov    %r12d,%edi
  call   <read_text_data@plt>
L0:
  lea    0x410(%rsp),%rbp
  mov    %r13,%rsi
  mov    %rbp,%rdi
  call   <strspn@plt>
  mov    %rax,%rbx
  mov    %rbp,%rdi
  call   <strlen@plt>
  cmp    %rax,%rbx
  jne    L14
  lea    D83(%rip),%rsi
  mov    %r12d,%edi
  call   <write_data@plt>
  lea    D4(%rip),%rsi
  mov    %r12d,%edi
  call   <write_data@plt>
  lea    D11(%rip),%rsi
  mov    %r12d,%edi
  call   <write_data@plt>
  lea    D57(%rip),%rsi
  mov    %r12d,%edi
  call   <write_data@plt>
  lea    D61(%rip),%rsi
  mov    %r12d,%edi
  call   <write_data@plt>
  mov    0x618(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L32
  add    $0x620,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
L32:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D56
type_infered: string
name: extract_symbolic_data
arguments: label: D95
type_infered: string
name: extract_symbolic_data
arguments: label: D65
type_infered: string
name: extract_symbolic_data
arguments: label: D7
type_infered: string
name: extract_symbolic_data
arguments: label: D74
type_infered: string
name: extract_symbolic_data
arguments: label: D27
type_infered: string
name: extract_symbolic_data
arguments: label: D83
type_infered: string
name: extract_symbolic_data
arguments: label: D4
type_infered: string
name: extract_symbolic_data
arguments: label: D11
type_infered: string
name: extract_symbolic_data
arguments: label: D57
type_infered: string
name: extract_symbolic_data
arguments: label: D61
type_infered: string

tool: D56: Handling request...

tool: D95:  

tool: D65: GET

tool: D7: Unknown request: 'GET %s %s'


tool: D74:  
	

tool: D27: Requesting '%s'


tool: D83: HTTP/1.0 200 OK


tool: D4: Content-Type: 

tool: D11: pepper-application/x-chromoting-plugin

tool: D57: 



tool: D61: Data


assistant: ```c
void handle_request(int connection) {
  printf("Handling request...\n");
  char buffer[512];
  buffer[0] = '\0';
  read_text_data(connection, buffer, 512);
  char *saveptr = NULL;
  char *request = strtok_r(buffer, " ", &saveptr);
  char *resource = strtok_r(NULL, " ", &saveptr);
  char *version = strtok_r(NULL, " ", &saveptr);
  char mime_type[512];
  strncpy(mime_type, &resource[1], 511);
  mime_type[511] = '\0';
  if (strcmp(request, "GET")) {
    printf("Unknown request: 'GET %s %s'\n", request, version);
  } else {
    printf("Requesting '%s'\n", mime_type);
  }
  char ignore[512] = "ignore";
  while (strspn(ignore, " \n\r\t") != strlen(ignore)) {
    read_text_data(connection, ignore, sizeof(ignore));
  }
  write_data(connection, "HTTP/1.0 200 OK\r\n");
  write_data(connection, "Content-Type: ");
  write_data(connection, "pepper-application/x-chromoting-plugin");
  write_data(connection, "\r\n\r\n");
  write_data(connection, "Data\n");
}
```