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

```asm
<maceval>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x88,%rsp
  mov    %rsi,%rbp
  mov    %fs:0x28,%rax
  mov    %rax,0x78(%rsp)
  xor    %eax,%eax
  movb   $0x0,(%rdi)
  add    $0x1,%rdi
  call   <skipwd@plt>
  cltq
  lea    0x1(%rax),%rdi
  movb   $0x0,(%rax)
  mov    $0x0,%ebx
  mov    $0x2401,%r12d
  jmp    L192
L135:
  test   %al,%al
  je     L69
  test   %dil,%dil
  je     L69
L112:
  add    $0x1,%rdx
  movzbl (%rdx),%ecx
  cmp    %sil,%cl
  setne  %dil
  mov    %r8d,%eax
  cmp    $0xd,%cl
  ja     L135
  mov    %r12,%rax
  shr    %cl,%rax
  xor    $0x1,%rax
  and    $0x1,%eax
  jmp    L135
L107:
  mov    %rdi,(%rsp,%rbx,8)
  mov    $0x0,%eax
  call   <skipwd@plt>
  cltq
  lea    0x1(%rax),%rdi
  movb   $0x0,(%rax)
L95:
  add    $0x1,%rbx
  cmp    $0xa,%rbx
  je     L206
L192:
  mov    $0x0,%eax
  call   <skipbl@plt>
  movslq %eax,%rdi
  movzbl (%rdi),%esi
  cmp    $0xd,%sil
  ja     L195
  bt     %rsi,%r12
  jae    L107
  mov    $0x0,%edx
  mov    %ebx,%esi
  lea    D4(%rip),%rdi
  mov    $0x0,%eax
  call   <set_ireg@plt>
  cmp    $0x9,%ebx
  jg     L206
  movslq %ebx,%r13
  lea    (%rsp,%r13,8),%rax
  mov    $0x9,%edx
  sub    %ebx,%edx
  add    %r13,%rdx
  lea    0x8(%rsp,%rdx,8),%rdx
L22:
  movq   $0x0,(%rax)
  add    $0x8,%rax
  cmp    %rdx,%rax
  jne    L22
L206:
  mov    %rbp,%rdi
  call   <strlen@plt>
  mov    %eax,%ebx
  sub    $0x1,%ebx
  jns    L129
L70:
  mov    0x78(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L67
  mov    $0x0,%eax
  add    $0x88,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L200:
  movsbl %dil,%edi
  mov    $0x0,%eax
  call   <putbak@plt>
  sub    $0x1,%ebx
  jmp    L129
L159:
  movslq %ebx,%rax
  movsbl 0x0(%rbp,%rax,1),%edi
  mov    $0x0,%eax
  call   <putbak@plt>
L3:
  sub    $0x1,%ebx
  js     L70
L129:
  test   %ebx,%ebx
  jle    L159
  movslq %ebx,%rax
  cmpb   $0x24,-0x1(%rbp,%rax,1)
  jne    L159
  movzbl 0x0(%rbp,%rax,1),%edi
  movsbl %dil,%eax
  sub    $0x30,%eax
  cmp    $0x9,%eax
  ja     L200
  movsbl %dil,%eax
  sub    $0x31,%eax
  cltq
  mov    (%rsp,%rax,8),%rdi
  test   %rdi,%rdi
  je     L97
  mov    $0x0,%eax
  call   <pbstr@plt>
L97:
  sub    $0x1,%ebx
  jmp    L3
L195:
  cmp    $0x27,%sil
  sete   %al
  cmp    $0x22,%sil
  sete   %dl
  or     %dl,%al
  je     L107
  lea    0x1(%rdi),%rdx
  mov    %rdx,(%rsp,%rbx,8)
  movzbl 0x1(%rdi),%ecx
  cmp    %cl,%sil
  setne  %r8b
  cmp    $0xd,%cl
  ja     L197
  mov    %r12,%rax
  shr    %cl,%rax
  xor    $0x1,%rax
  and    $0x1,%eax
L197:
  and    %al,%r8b
  jne    L112
L69:
  lea    0x1(%rdx),%rdi
  movb   $0x0,(%rdx)
  jmp    L95
L67:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: label: D4
type: string

tool: D4: .$

assistant: ```c
maceval(p, m) char *p;
char *m;
{
  int i;
  int j;
  char *argp[15];
  char c;
  int xc;
  *p++ = '\0';
  p = skipwd(p);
  *p++ = '\0';
  for (i = 0; i < 10; ++i) {
    p = skipbl(p);
    if (*p == '\r' || *p == '\n' || *p == '\0') {
      set_ireg(".$", i, 0);
      for (; i < 10; i++) {
        argp[i] = (char *)0;
      }
      break;
    }
    if (*p == '\'' || *p == '"') {
      c = *p++;
      argp[i] = p;
      while (*p != c && *p != '\r' && *p != '\n' && *p != '\0')
        ++p;
      *p++ = '\0';
    } else {
      argp[i] = p;
      p = skipwd(p);
      *p++ = '\0';
    }
  }
  for (i = strlen(m) - 1; i >= 0; --i) {
    if (i > 0 && m[i - 1] == '$') {
      if (!isdigit(m[i])) {
        putbak(m[i]);
      } else {
        xc = m[i] - '1';
        if (argp[xc])
          pbstr(argp[xc]);
        --i;
      }
    } else {
      putbak(m[i]);
    }
  }
}
```