user: 下面的汇编指令对应的C源代码是什么：

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x130,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x110(%rbp),%rdx
  mov    $0x0,%eax
  mov    $0x20,%ecx
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  lea    -0x128(%rbp),%rax
  mov    %rax,%rsi
  lea    D3(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  movl   $0x0,-0x11c(%rbp)
  jmp    L121
L36:
  lea    -0x120(%rbp),%rdx
  lea    -0x124(%rbp),%rax
  mov    %rax,%rsi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <scanf@plt>
  mov    -0x124(%rbp),%eax
  mov    -0x120(%rbp),%edx
  movslq %edx,%rdx
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  movl   $0x1,-0x110(%rbp,%rax,4)
  mov    -0x120(%rbp),%eax
  mov    %eax,-0x114(%rbp)
  movl   $0x0,-0x118(%rbp)
  jmp    L118
L55:
  mov    -0x114(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x118(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    -0x110(%rbp,%rax,4),%eax
  cmp    $0x1,%eax
  jne    L94
  mov    -0x124(%rbp),%eax
  cmp    %eax,-0x118(%rbp)
  je     L94
  lea    D26(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  jmp    L140
L94:
  addl   $0x1,-0x118(%rbp)
L118:
  cmpl   $0x7,-0x118(%rbp)
  jle    L55
  mov    -0x124(%rbp),%eax
  mov    %eax,-0x118(%rbp)
  movl   $0x0,-0x114(%rbp)
  jmp    L131
L180:
  mov    -0x114(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x118(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    -0x110(%rbp,%rax,4),%eax
  cmp    $0x1,%eax
  jne    L226
  mov    -0x120(%rbp),%eax
  cmp    %eax,-0x114(%rbp)
  je     L226
  lea    D26(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  jmp    L140
L226:
  addl   $0x1,-0x114(%rbp)
L131:
  cmpl   $0x7,-0x114(%rbp)
  jle    L180
  mov    -0x120(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x114(%rbp)
  mov    -0x124(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x118(%rbp)
  jmp    L216
L54:
  mov    -0x114(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x118(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    -0x110(%rbp,%rax,4),%eax
  cmp    $0x1,%eax
  jne    L211
  lea    D26(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  jmp    L140
L211:
  subl   $0x1,-0x114(%rbp)
  subl   $0x1,-0x118(%rbp)
L216:
  cmpl   $0x0,-0x118(%rbp)
  js     L145
  cmpl   $0x0,-0x114(%rbp)
  jns    L54
L145:
  mov    -0x120(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x114(%rbp)
  mov    -0x124(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x118(%rbp)
  jmp    L104
L93:
  mov    -0x114(%rbp),%eax
  movslq %eax,%rdx
  mov    -0x118(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rdx,%rax
  mov    -0x110(%rbp,%rax,4),%eax
  cmp    $0x1,%eax
  jne    L210
  lea    D26(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  jmp    L140
L210:
  addl   $0x1,-0x114(%rbp)
  addl   $0x1,-0x118(%rbp)
L104:
  cmpl   $0x7,-0x118(%rbp)
  jg     L38
  cmpl   $0x7,-0x114(%rbp)
  jle    L93
L38:
  addl   $0x1,-0x11c(%rbp)
L121:
  mov    -0x128(%rbp),%eax
  cmp    %eax,-0x11c(%rbp)
  jl     L36
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
L140:
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L215
  call   <__stack_chk_fail@plt>
L215:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D3
type: string
name: extract_symbolic_data
arguments: label: D11
type: string
name: extract_symbolic_data
arguments: label: D26
type: string
name: extract_symbolic_data
arguments: label: D43
type: string

tool: D3: %d

tool: D11: %d %d


tool: D26: no

tool: D43: yes

assistant: ```c
int main() {
  int mat[8][8] = {};
  int n, i, j, k, r, c;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d %d\n", &r, &c);
    mat[r][c] = 1;
    k = c;
    for (j = 0; j < 8; j++) {
      if (mat[j][k] == 1 && j != r) {
        printf("no");
        return 0;
      }
    }
    j = r;
    for (k = 0; k < 8; k++) {
      if (mat[j][k] == 1 && k != c) {
        printf("no");
        return 0;
      }
    }
    k = c - 1;
    for (j = r - 1; j >= 0 && k >= 0; j--) {
      if (mat[j][k] == 1) {
        printf("no");
        return 0;
      }
      k = k - 1;
    }
    k = c + 1;
    for (j = r + 1; j < 8 && k < 8; j++) {
      if (mat[j][k] == 1) {
        printf("no");
        return 0;
      }
      k = k + 1;
    }
  }
  printf("yes");
  return 0;
}
```