user: Please show me the C implementation that matches the assembly code listed below:

```asm
<diagonally>:
  endbr64
  push   %rbx
  mov    %esi,%ecx
  mov    %edx,%r10d
  movslq %edx,%rax
  lea    (%rax,%rax,2),%rdx
  shl    $0x2,%rdx
  lea    -0xc(%rdi,%rdx,1),%r11
  lea    -0x1(%rsi),%r8d
  movslq %r8d,%rax
  cmpb   $0x23,(%r11,%rax,1)
  je     L180
L266:
  lea    0xc(%rdi,%rdx,1),%r9
  lea    0x1(%rcx),%esi
  movslq %esi,%rax
  cmpb   $0x23,(%r9,%rax,1)
  je     L196
L26:
  movslq %esi,%rsi
  cmpb   $0x23,(%r11,%rsi,1)
  je     L321
L169:
  movslq %r8d,%r8
  mov    $0x0,%eax
  cmpb   $0x23,(%r9,%r8,1)
  jne    L83
  cmp    $0xa,%r10d
  jg     L12
  test   %ecx,%ecx
  jle    L12
  lea    -0x2(%rcx),%esi
  movslq %esi,%rsi
  add    %rdx,%rdi
  cmpb   $0x23,0x18(%rsi,%rdi,1)
  jne    L83
  cmp    $0x9,%r10d
  setle  %dl
  cmp    $0x1,%ecx
  setg   %al
  movzbl %al,%eax
  and    %edx,%eax
L83:
  pop    %rbx
  ret
L180:
  test   %r10d,%r10d
  jle    L266
  test   %esi,%esi
  jle    L266
  lea    -0x2(%rsi),%eax
  cltq
  lea    (%rdi,%rdx,1),%rsi
  cmpb   $0x23,-0x18(%rax,%rsi,1)
  je     L141
L294:
  lea    0xc(%rdi,%rdx,1),%r9
  lea    0x1(%rcx),%esi
  movslq %esi,%rax
  cmpb   $0x23,(%r9,%rax,1)
  jne    L26
  cmp    $0xa,%r10d
  jg     L26
  mov    $0x1,%eax
  cmp    $0xa,%ecx
  jle    L83
  jmp    L26
L141:
  cmp    $0x1,%r10d
  jle    L294
  mov    $0x1,%eax
  cmp    $0x1,%ecx
  jg     L83
  jmp    L294
L196:
  cmp    $0xa,%r10d
  jg     L26
  cmp    $0xa,%ecx
  jg     L26
  lea    0x2(%rcx),%eax
  cltq
  lea    (%rdi,%rdx,1),%rbx
  cmpb   $0x23,0x18(%rax,%rbx,1)
  jne    L26
  cmp    $0x9,%r10d
  jg     L26
  mov    $0x1,%eax
  cmp    $0x9,%ecx
  jle    L83
  jmp    L26
L321:
  test   %r10d,%r10d
  jle    L169
  cmp    $0xa,%ecx
  jg     L169
  lea    0x2(%rcx),%eax
  cltq
  add    %rdi,%rdx
  cmpb   $0x23,-0x18(%rax,%rdx,1)
  je     L190
L281:
  movslq %r8d,%r8
  cmpb   $0x23,(%r9,%r8,1)
  je     L225
  mov    $0x0,%eax
  jmp    L83
L190:
  cmp    $0x1,%r10d
  jle    L281
  mov    $0x1,%eax
  cmp    $0x9,%ecx
  jle    L83
  jmp    L281
L225:
  cmp    $0xa,%r10d
  setle  %dl
  test   %ecx,%ecx
  setg   %al
  movzbl %al,%eax
  and    %edx,%eax
  jmp    L83
L12:
  mov    $0x0,%eax
  jmp    L83
```

assistant: ```c
int diagonally(char board[12][12], int columnNumber, int rowNumber) {
  if ((((board[rowNumber - 1][columnNumber - 1] == '#') && (rowNumber - 1 >= 0) && (columnNumber - 1 >= 0)) && ((board[rowNumber - 2][columnNumber - 2] == '#') && (rowNumber - 2 >= 0) && (columnNumber - 2 >= 0))) || (((board[rowNumber - 1][columnNumber - 1] == '#') && (rowNumber - 1 >= 0) && (columnNumber - 1 >= 0)) && ((board[rowNumber + 1][columnNumber + 1] == '#') && (rowNumber + 1 < 12) && (columnNumber + 1 < 12))) || (((board[rowNumber + 1][columnNumber + 1] == '#') && (rowNumber + 1 < 12) && (columnNumber + 1 < 12)) && ((board[rowNumber + 2][columnNumber + 2] == '#') && (rowNumber + 2 < 12) && (columnNumber + 2 < 12))) || (((board[rowNumber - 1][columnNumber + 1] == '#') && (rowNumber - 1 >= 0) && (columnNumber + 1 < 12)) && ((board[rowNumber - 2][columnNumber + 2] == '#') && (rowNumber - 2 >= 0) && (columnNumber + 2 < 12))) || (((board[rowNumber - 1][columnNumber + 1] == '#') && (rowNumber - 1 >= 0) && (columnNumber + 1 < 12)) && ((board[rowNumber + 1][columnNumber - 1] == '#') && (rowNumber + 1 < 12) && (columnNumber - 1 >= 0))) ||
      (((board[rowNumber + 1][columnNumber - 1] == '#') && (rowNumber + 1 < 12) && (columnNumber - 1 >= 0)) && ((board[rowNumber + 2][columnNumber - 2] == '#') && (rowNumber + 2 < 12) && (columnNumber - 2 >= 0))))
    return 1;
  else
    return 0;
}
```