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

```asm
<initMat>:
  endbr64
  push   %r12
  mov    $0x8,%esi
  mov    $0xa,%edi
  push   %rbp
  push   %rbx
  call   <calloc@plt>
  mov    %rax,%r12
  mov    %rax,%rbx
  lea    0x50(%rax),%rbp
  nopl   0x0(%rax)
L3:
  mov    $0x1,%esi
  mov    $0xa,%edi
  add    $0x8,%rbx
  call   <calloc@plt>
  mov    %rax,-0x8(%rbx)
  cmp    %rbx,%rbp
  jne    L3
  mov    (%r12),%rax
  movb   $0x7e,(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    (%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x8(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x10(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x18(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x20(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x28(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x30(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x38(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x40(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x1(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x2(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x3(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x4(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x5(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x6(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x7(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x8(%rax)
  mov    0x48(%r12),%rax
  movb   $0x7e,0x9(%rax)
  mov    %r12,%rax
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
```

assistant: ```c
char **initMat() {
  int i, j;
  char **mat = (char **)calloc(10, sizeof(char *));
  for (i = 0; i < 10; i++)
    mat[i] = (char *)calloc(10, sizeof(char));
  for (i = 0; i < 10; i++)
    for (j = 0; j < 10; j++) {
      mat[i][j] = '~';
    }
  return mat;
}
```