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

```asm
<montarBorda>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %esi,%ebx
  sub    %edx,%ebx
  cmp    %ebx,%edx
  jge    L95
  movslq %edx,%r9
  mov    %rdi,%r10
  mov    %edx,%edi
  mov    %ebx,%r11d
  lea    0x0(,%r9,4),%r8
  sub    %edi,%r11d
  mov    %ecx,%eax
  lea    (%r8,%r9,1),%rdx
  lea    -0x1(%r11),%ecx
  mov    %r11d,%ebp
  lea    (%rdx,%rdx,4),%rdx
  mov    %ecx,-0x14(%rsp)
  lea    0x0(%rbp,%rbp,4),%r13
  mov    %rdx,%r12
  lea    0x0(%r13,%r13,4),%r13
  lea    (%r9,%rdx,4),%rdx
  shl    $0x4,%r12
  add    %r10,%r12
  cmp    $0x8,%ecx
  seta   %r15b
  imul   $0x194,%r9,%rcx
  add    %rbp,%rdx
  shl    $0x4,%r13
  shl    $0x2,%rdx
  lea    -0x18c(%rcx,%r13,1),%r13
  cmp    %r13,%rdx
  cmovg  %r13,%rdx
  cmp    %rcx,%rdx
  jg     L40
  test   %r15b,%r15b
  je     L40
  mov    %r11d,%r13d
  lea    (%r12,%r8,1),%rdx
  movd   %eax,%xmm1
  shr    $0x2,%r13d
  pshufd $0x0,%xmm1,%xmm0
  mov    %rdx,%rcx
  sub    $0x1,%r13d
  shl    $0x4,%r13
  lea    0x10(%rdx,%r13,1),%r13
  nopl   0x0(%rax,%rax,1)
L12:
  movups %xmm0,(%rcx)
  add    $0x10,%rcx
  add    $0x640,%rdx
  mov    %eax,-0x640(%rdx)
  mov    %eax,-0x4b0(%rdx)
  mov    %eax,-0x320(%rdx)
  mov    %eax,-0x190(%rdx)
  cmp    %r13,%rcx
  jne    L12
  mov    %r11d,%ecx
  and    $0xfffffffc,%ecx
  lea    (%rcx,%rdi,1),%edx
  cmp    %ecx,%r11d
  je     L80
  movslq %edx,%r13
  lea    0x0(,%r13,4),%rcx
  add    %rcx,%r12
  add    %r13,%rcx
  lea    (%rcx,%rcx,4),%rcx
  mov    %eax,(%r12)
  shl    $0x4,%rcx
  add    %r10,%rcx
  mov    %eax,(%rcx,%r8,1)
  lea    0x1(%rdx),%ecx
  cmp    %ebx,%ecx
  jge    L80
  movslq %ecx,%rcx
  add    $0x2,%edx
  mov    %eax,0x4(%r12)
  lea    (%rcx,%rcx,4),%rcx
  lea    (%rcx,%rcx,4),%r13
  lea    (%r10,%r8,1),%rcx
  shl    $0x4,%r13
  add    %r13,%rcx
  mov    %eax,(%rcx)
  cmp    %edx,%ebx
  jle    L80
  mov    %eax,0x8(%r12)
  mov    %eax,0x190(%rcx)
L80:
  lea    -0x1(%rbx),%r12d
  movslq %esi,%rsi
  lea    (%r9,%rbp,1),%r14
  movslq %r12d,%r12
  sub    %r9,%rsi
  lea    (%r14,%r14,4),%r14
  lea    (%r12,%r12,4),%rdx
  lea    (%r14,%r14,4),%r14
  lea    (%rdx,%rdx,4),%rdx
  lea    (%rsi,%r14,4),%r14
  shl    $0x4,%rdx
  lea    -0x190(,%r14,4),%r14
  lea    (%r10,%rdx,1),%rcx
  lea    (%rsi,%rsi,4),%rdx
  lea    (%rdx,%rdx,4),%rdx
  mov    %rcx,-0x20(%rsp)
  lea    (%r9,%rdx,4),%r13
  lea    (%r9,%r9,4),%rdx
  lea    (%rdx,%rdx,4),%rdx
  lea    0x0(,%rdx,4),%rcx
  lea    (%rsi,%rcx,1),%rdx
  mov    %rcx,-0x10(%rsp)
  lea    -0x190(,%r13,4),%rcx
  cmp    %rcx,%r14
  lea    -0x4(,%rdx,4),%rdx
  setle  %r14b
  add    %rbp,%r13
  lea    -0x190(,%r13,4),%rbp
  cmp    %rdx,%rbp
  setle  %bpl
  or     %r14b,%bpl
  je     L107
  test   %r15b,%r15b
  je     L107
  mov    %r11d,%r8d
  movd   %eax,%xmm2
  add    %r10,%rcx
  add    %r10,%rdx
  shr    $0x2,%r8d
  pshufd $0x0,%xmm2,%xmm0
  shl    $0x4,%r8
  add    %rcx,%r8
  nopw   0x0(%rax,%rax,1)
L92:
  movups %xmm0,(%rcx)
  add    $0x10,%rcx
  add    $0x640,%rdx
  mov    %eax,-0x640(%rdx)
  mov    %eax,-0x4b0(%rdx)
  mov    %eax,-0x320(%rdx)
  mov    %eax,-0x190(%rdx)
  cmp    %rcx,%r8
  jne    L92
  mov    %r11d,%edx
  and    $0xfffffffc,%edx
  add    %edx,%edi
  cmp    %r11d,%edx
  je     L95
  movslq %edi,%r8
  mov    -0x20(%rsp),%rcx
  shl    $0x2,%rsi
  lea    0x0(,%r8,4),%rdx
  add    %rdx,%rcx
  add    %r8,%rdx
  lea    (%rdx,%rdx,4),%rdx
  mov    %eax,(%rcx)
  shl    $0x4,%rdx
  add    %r10,%rdx
  mov    %eax,-0x4(%rsi,%rdx,1)
  lea    0x1(%rdi),%edx
  cmp    %ebx,%edx
  jge    L95
  movslq %edx,%rdx
  add    $0x2,%edi
  mov    %eax,0x4(%rcx)
  lea    (%rdx,%rdx,4),%rdx
  lea    (%rdx,%rdx,4),%rdx
  shl    $0x4,%rdx
  add    %r10,%rdx
  add    %rsi,%rdx
  mov    %eax,-0x4(%rdx)
  cmp    %edi,%ebx
  jle    L95
  mov    %eax,0x8(%rcx)
  mov    %eax,0x18c(%rdx)
L95:
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L107:
  mov    -0x14(%rsp),%ecx
  mov    -0x20(%rsp),%rbx
  add    -0x10(%rsp),%r12
  add    %r9,%rcx
  add    %rbx,%r8
  lea    (%r10,%r12,4),%rdx
  lea    0x4(%rbx,%rcx,4),%rcx
  nopl   (%rax)
L17:
  mov    %eax,(%r8)
  add    $0x4,%r8
  add    $0x190,%rdx
  mov    %eax,-0x190(%rdx)
  cmp    %r8,%rcx
  jne    L17
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax)
L40:
  mov    -0x14(%rsp),%ecx
  lea    (%r12,%r8,1),%rdx
  add    %r9,%rcx
  lea    0x4(%r12,%rcx,4),%r12
  mov    %rdx,%rcx
  nopl   0x0(%rax,%rax,1)
L115:
  mov    %eax,(%rdx)
  add    $0x4,%rdx
  add    $0x190,%rcx
  mov    %eax,-0x190(%rcx)
  cmp    %r12,%rdx
  jne    L115
  jmp    L80
```

assistant: ```c
void montarBorda(int matriz[][100], int n, int ij, int valor) {
  int i, j;
  i = ij;
  for (j = ij; j < n - ij; j++) {
    matriz[i][j] = valor;
    matriz[j][i] = valor;
  }
  i = n - ij - 1;
  for (j = ij; j < n - ij; j++) {
    matriz[i][j] = valor;
    matriz[j][i] = valor;
  }
}
```