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

```asm
<scan1tm>:
  endbr64
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdi,%rbp
  mov    %rsi,%r12
  mov    %edx,%r13d
  jmp    L72
L9:
  test   %bl,%bl
  je     L204
L72:
  mov    0x0(%rbp),%rax
  lea    0x1(%rax),%rdx
  mov    %rdx,0x0(%rbp)
  movzbl (%rax),%ebx
  movsbl %bl,%edi
  test   %bl,%bl
  js     L133
  call   <isspace@plt>
  test   %bl,%bl
  je     L9
  test   %eax,%eax
  jne    L9
L133:
  cmp    $0x28,%bl
  je     L166
  cmp    $0x29,%bl
  je     L8
  cmp    $0x22,%bl
  je     L178
  lea    0x1(%r12),%r14
  mov    %bl,(%r12)
  jmp    L46
L204:
  mov    $0x6,%edi
  mov    $0x0,%eax
  call   <ERRMOD@plt>
  jmp    L72
L166:
  movb   $0x28,(%r12)
  lea    0x2(%r12),%rbx
  movb   $0x20,0x1(%r12)
  jmp    L58
L120:
  add    $0x1,%rbx
  cmpb   $0x0,(%rbx)
  jne    L120
L233:
  movb   $0x20,(%rbx)
  lea    0x1(%rbx),%rbx
L58:
  mov    $0x0,%edx
  mov    %rbx,%rsi
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <scan1tm>
  test   %eax,%eax
  je     L167
  cmpb   $0x0,(%rbx)
  jne    L120
  jmp    L233
L167:
  lea    0x1(%rbx),%r14
  movb   $0x29,(%rbx)
L44:
  movb   $0x0,(%r14)
  cmp    $0x2,%r13d
  je     L122
  mov    $0x1,%ebx
  jmp    L144
L178:
  lea    0x1(%r12),%r14
  movb   $0x22,(%r12)
L268:
  mov    0x0(%rbp),%rax
  lea    0x1(%rax),%rdx
  mov    %rdx,0x0(%rbp)
  add    $0x1,%r14
  movzbl (%rax),%eax
  mov    %al,-0x1(%r14)
  cmp    $0x22,%al
  je     L44
  cmp    $0x5c,%al
  jne    L268
L62:
  mov    0x0(%rbp),%rax
  lea    0x1(%rax),%rdx
  mov    %rdx,0x0(%rbp)
  add    $0x1,%r14
  movzbl (%rax),%eax
  mov    %al,-0x1(%r14)
  sub    $0x30,%eax
  cmp    $0x7,%al
  jbe    L62
  jmp    L268
L67:
  lea    0x1(%rbx),%rax
  mov    %rax,0x0(%rbp)
  add    $0x1,%r14
  movzbl (%rbx),%eax
  mov    %al,-0x1(%r14)
L46:
  mov    0x0(%rbp),%rbx
  movzbl (%rbx),%r12d
  test   %r12b,%r12b
  js     L67
  movsbl %r12b,%edi
  call   <isspace@plt>
  test   %r12b,%r12b
  je     L44
  test   %eax,%eax
  je     L67
  jmp    L44
L8:
  movb   $0x0,(%r12)
  cmp    $0x1,%r13d
  jne    L155
  mov    $0x0,%ebx
  jmp    L151
L122:
  mov    $0x1,%ebx
L151:
  mov    $0x6,%edi
  mov    $0x0,%eax
  call   <ERRMOD@plt>
L144:
  mov    %ebx,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
L155:
  mov    $0x0,%ebx
  jmp    L144
```

assistant: ```c
int scan1tm(socp, dest, flg)
char **socp, *dest;
int flg;
{
  register char c;
  register int retval = 1;
  while (c = *(*socp)++, (isascii(c) && (isspace(c) || (c) == '\0')))
    if (c == '\0')
      ERRMOD(6);
  switch (c) {
  case ')':
    retval = 0;
    break;
  case '(':
    *dest++ = c;
    *dest++ = ' ';
    while (scan1tm(socp, dest, 0)) {
      {
        while (*(dest))
          (dest)++;
      };
      *dest++ = ' ';
    }
    *dest++ = ')';
    break;
  case '"':
    *dest++ = c;
    while ((c = *dest++ = *(*socp)++) != '"') {
      if (c == '\\') {
        while (c = *dest++ = *(*socp)++, (isascii(c) && (isdigit(c) && (c) < '8')))
          ;
      }
    }
    break;
  default:
    *dest++ = c;
    while (!(isascii(**socp) && (isspace(**socp) || (**socp) == '\0')))
      *dest++ = *(*socp)++;
  }
  *dest = '\0';
  if (flg == 1 && retval == 0 || flg == 2 && retval == 1)
    ERRMOD(6);
  return (retval);
}
```