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

```asm
<main>:
  endbr64
  push   %r13
  mov    $0x20,%ecx
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x128,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x118(%rsp)
  xor    %eax,%eax
  lea    0x10(%rsp),%rdi
  lea    0x4(%rsp),%rsi
  rep stos %rax,%es:(%rdi)
  lea    D8(%rip),%rdi
  call   <scanf@plt>
  mov    0x4(%rsp),%eax
  test   %eax,%eax
  jle    L364
  xor    %ebx,%ebx
  lea    0xc(%rsp),%r13
  lea    0x8(%rsp),%r12
  lea    D24(%rip),%rbp
L650:
  mov    %r13,%rdx
  mov    %r12,%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  movslq 0xc(%rsp),%rsi
  movslq 0x8(%rsp),%rcx
  lea    (%rsi,%rcx,8),%rdi
  mov    %rcx,%rax
  mov    %rsi,%rdx
  movl   $0x1,0x10(%rsp,%rdi,4)
  cmpl   $0x1,0x10(%rsp,%rsi,4)
  jne    L713
  test   %ecx,%ecx
  jne    L90
L713:
  cmpl   $0x1,0x30(%rsp,%rsi,4)
  jne    L305
  cmp    $0x1,%eax
  jne    L90
L305:
  cmpl   $0x1,0x50(%rsp,%rsi,4)
  jne    L795
  cmp    $0x2,%eax
  jne    L90
L795:
  cmpl   $0x1,0x70(%rsp,%rsi,4)
  jne    L523
  cmp    $0x3,%eax
  jne    L90
L523:
  cmpl   $0x1,0x90(%rsp,%rsi,4)
  jne    L793
  cmp    $0x4,%eax
  jne    L90
L793:
  cmpl   $0x1,0xb0(%rsp,%rsi,4)
  jne    L826
  cmp    $0x5,%eax
  jne    L90
L826:
  cmpl   $0x1,0xd0(%rsp,%rsi,4)
  jne    L502
  cmp    $0x6,%eax
  jne    L90
L502:
  cmpl   $0x1,0xf0(%rsp,%rsi,4)
  jne    L310
  cmp    $0x7,%eax
  jne    L90
L310:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x10(%rsp,%rsi,1)
  jne    L452
  test   %edx,%edx
  jne    L90
L452:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x14(%rsp,%rsi,1)
  jne    L51
  cmp    $0x1,%edx
  jne    L90
L51:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x18(%rsp,%rsi,1)
  jne    L149
  cmp    $0x2,%edx
  jne    L90
L149:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x1c(%rsp,%rsi,1)
  jne    L653
  cmp    $0x3,%edx
  jne    L90
L653:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x20(%rsp,%rsi,1)
  jne    L456
  cmp    $0x4,%edx
  jne    L90
L456:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x24(%rsp,%rsi,1)
  jne    L471
  cmp    $0x5,%edx
  jne    L90
L471:
  mov    %rcx,%rsi
  shl    $0x5,%rsi
  cmpl   $0x1,0x28(%rsp,%rsi,1)
  jne    L240
  cmp    $0x6,%edx
  jne    L90
L240:
  shl    $0x5,%rcx
  cmpl   $0x1,0x2c(%rsp,%rcx,1)
  jne    L97
  cmp    $0x7,%edx
  jne    L90
L97:
  mov    %eax,%edi
  lea    -0x1(%rdx),%ecx
  lea    -0x1(%rax),%esi
  neg    %edi
  jns    L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x2(%rdx),%ecx
  sub    $0x2,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x3(%rdx),%ecx
  sub    $0x3,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x4(%rdx),%ecx
  sub    $0x4,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x5(%rdx),%ecx
  sub    $0x5,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x6(%rdx),%ecx
  sub    $0x6,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x7(%rdx),%ecx
  sub    $0x7,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  mov    %eax,%esi
  lea    -0x8(%rdx),%ecx
  sub    $0x8,%esi
  js     L656
  test   %ecx,%ecx
  js     L656
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
L656:
  lea    0x1(%rax),%ecx
  lea    0x1(%rdx),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %esi,%rsi
  movslq %ecx,%rcx
  lea    (%rsi,%rcx,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  lea    0x2(%rdx),%ecx
  lea    0x2(%rax),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  lea    0x3(%rdx),%ecx
  lea    0x3(%rax),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %ecx,%rcx
  movslq %esi,%rsi
  lea    (%rcx,%rsi,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  lea    0x4(%rax),%ecx
  lea    0x4(%rdx),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %esi,%rsi
  movslq %ecx,%rcx
  lea    (%rsi,%rcx,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  lea    0x5(%rax),%ecx
  lea    0x5(%rdx),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %esi,%rsi
  movslq %ecx,%rcx
  lea    (%rsi,%rcx,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  lea    0x6(%rax),%ecx
  lea    0x6(%rdx),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %esi,%rsi
  movslq %ecx,%rcx
  lea    (%rsi,%rcx,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  lea    0x7(%rax),%ecx
  lea    0x7(%rdx),%esi
  cmp    $0x7,%ecx
  jg     L392
  cmp    $0x7,%esi
  jg     L392
  movslq %esi,%rsi
  movslq %ecx,%rcx
  lea    (%rsi,%rcx,8),%rcx
  cmpl   $0x1,0x10(%rsp,%rcx,4)
  je     L90
  add    $0x8,%eax
  add    $0x8,%edx
  cmp    $0x7,%eax
  jg     L392
  cmp    $0x7,%edx
  jg     L392
  movslq %edx,%rdx
  cltq
  lea    (%rdx,%rax,8),%rax
  cmpl   $0x1,0x10(%rsp,%rax,4)
  je     L90
L392:
  add    $0x1,%ebx
  cmp    %ebx,0x4(%rsp)
  jg     L650
L364:
  lea    D22(%rip),%rdi
  call   <printf@plt>
  jmp    L819
L90:
  lea    D3(%rip),%rdi
  call   <printf@plt>
L819:
  mov    0x118(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L758
  add    $0x128,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L758:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D8
type_guessed: string
name: unpack_data
arguments: data_label: D24
type_guessed: string
name: unpack_data
arguments: data_label: D22
type_guessed: string
name: unpack_data
arguments: data_label: D3
type_guessed: string

tool: D8: %d

tool: D24: %d %d


tool: D22: yes

tool: D3: no

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;
}
```