user: What is the c source code of the assembly code below:

```asm
<not_found>:
  endbr64
  push   %r12
  lea    D23(%rip),%rsi
  mov    %edi,%r12d
  push   %rbp
  sub    $0x418,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x408(%rsp)
  xor    %eax,%eax
  mov    %rsp,%rbp
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D10(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D31(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D58(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D56(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D5(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D88(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D70(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  lea    D20(%rip),%rsi
  mov    %rbp,%rdi
  call   <sprintf@plt>
  mov    %rbp,%rdi
  call   <strlen@plt>
  xor    %ecx,%ecx
  mov    %rbp,%rsi
  mov    %r12d,%edi
  mov    %eax,%edx
  call   <send@plt>
  mov    0x408(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L4
  add    $0x418,%rsp
  pop    %rbp
  pop    %r12
  ret
L4:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D23
type_guessed: string
name: disassemble_data
arguments: tag: D10
type_guessed: string
name: disassemble_data
arguments: tag: D31
type_guessed: string
name: disassemble_data
arguments: tag: D58
type_guessed: string
name: disassemble_data
arguments: tag: D56
type_guessed: string
name: disassemble_data
arguments: tag: D5
type_guessed: string
name: disassemble_data
arguments: tag: D88
type_guessed: string
name: disassemble_data
arguments: tag: D70
type_guessed: string
name: disassemble_data
arguments: tag: D20
type_guessed: string

tool: D23: HTTP/1.0 404 NOT FOUND


tool: D10: Server: jdbhttpd/0.1.0


tool: D31: Content-Type: text/html


tool: D58: 


tool: D56: <HTML><TITLE>Not Found</TITLE>


tool: D5: <BODY><P>The server could not fulfill


tool: D88: your request because the resource specified


tool: D70: is unavailable or nonexistent.


tool: D20: </BODY></HTML>


assistant: ```c
void not_found(int32_t client) {
  char buf[1024];
  sprintf(buf, "HTTP/1.0 404 NOT FOUND\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "Server: jdbhttpd/0.1.0\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "Content-Type: text/html\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "<HTML><TITLE>Not Found</TITLE>\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "<BODY><P>The server could not fulfill\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "your request because the resource specified\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "is unavailable or nonexistent.\r\n");
  send(client, buf, strlen(buf), 0);
  sprintf(buf, "</BODY></HTML>\r\n");
  send(client, buf, strlen(buf), 0);
}
```