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

```asm
<parse_cfg_line>:
  endbr64
  mov    %rdi,%rax
  mov    %rcx,%r9
  mov    %rsi,%rdi
  movzbl (%rax),%ecx
  cmp    $0x3d,%cl
  je     L156
  cmp    $0x20,%cl
  je     L156
  cmp    $0x1,%edx
  je     L156
  lea    -0x2(%rdx),%r10d
  mov    $0x1,%edx
  add    $0x2,%r10
  jmp    L223
  xchg   %ax,%ax
L169:
  mov    %rsi,%rdx
L223:
  add    $0x1,%rax
  mov    %cl,-0x1(%rdi,%rdx,1)
  movzbl (%rax),%ecx
  cmp    $0x3d,%cl
  je     L30
  cmp    $0x20,%cl
  je     L30
  lea    0x1(%rdx),%rsi
  cmp    %r10,%rsi
  jne    L169
L30:
  add    %rdx,%rdi
L156:
  movb   $0x0,(%rdi)
  movzbl (%rax),%edx
  cmp    $0x20,%dl
  jne    L111
  nop
L116:
  movzbl 0x1(%rax),%edx
  add    $0x1,%rax
  cmp    $0x20,%dl
  je     L116
L111:
  cmp    $0x3d,%dl
  jne    L110
  nopw   0x0(%rax,%rax,1)
L40:
  movzbl 0x1(%rax),%edx
  add    $0x1,%rax
  cmp    $0x3d,%dl
  je     L40
  cmp    $0x20,%dl
  jne    L110
  nopw   0x0(%rax,%rax,1)
L101:
  movzbl 0x1(%rax),%edx
  add    $0x1,%rax
  cmp    $0x20,%dl
  je     L101
L110:
  cmp    $0x27,%dl
  je     L75
  cmp    $0x22,%dl
  je     L75
  movzbl (%rax),%esi
  cmp    $0x20,%sil
  je     L15
  cmp    $0xa,%sil
  je     L15
  lea    -0x1(%r8),%edi
  xor    %edx,%edx
  cmp    $0x1,%r8d
  je     L15
  xchg   %ax,%ax
L213:
  mov    %sil,(%r9,%rdx,1)
  movzbl 0x1(%rax,%rdx,1),%esi
  lea    0x1(%rdx),%ecx
  cmp    $0x20,%sil
  je     L238
  cmp    $0xa,%sil
  je     L238
  add    $0x1,%rdx
  cmp    %rdi,%rdx
  jne    L213
  lea    (%r9,%rdx,1),%rax
L68:
  movb   $0x0,(%rax)
  ret
  nopl   0x0(%rax)
L75:
  movzbl 0x1(%rax),%esi
  lea    0x1(%rax),%r10
  cmp    %dl,%sil
  je     L15
  sub    $0x1,%r8d
  mov    $0x1,%r11d
  mov    %r9,%rdi
  mov    %r10,%rcx
  add    %r9,%r8
  sub    %r9d,%r11d
  cmp    $0x5c,%sil
  je     L64
L215:
  mov    %rdi,%rax
  cmp    %r8,%rdi
  je     L68
  push   %rbx
  jmp    L100
  nopl   0x0(%rax)
L147:
  mov    %r10,%rcx
  cmp    $0x5c,%sil
  jne    L230
  xor    %eax,%eax
  cmp    %dl,0x1(%r10)
  sete   %al
  add    %rax,%rcx
L230:
  mov    %rdi,%rax
  cmp    %r8,%rdi
  je     L159
L100:
  movzbl (%rcx),%esi
  lea    0x1(%rcx),%r10
  lea    (%r11,%rax,1),%ebx
  mov    %sil,(%rdi)
  movzbl 0x1(%rcx),%esi
  lea    0x1(%rax),%rdi
  cmp    %dl,%sil
  jne    L147
  lea    (%r9,%rbx,1),%rax
L159:
  movb   $0x0,(%rax)
  pop    %rbx
  ret
  nopl   0x0(%rax)
L238:
  mov    %ecx,%eax
  add    %r9,%rax
  movb   $0x0,(%rax)
  ret
L15:
  mov    %r9,%rax
  jmp    L68
  nopl   0x0(%rax)
L64:
  xor    %eax,%eax
  cmp    %dl,0x1(%r10)
  sete   %al
  add    %rax,%rcx
  jmp    L215
```

assistant: ```c
void parse_cfg_line(char *line, char *lvalue, unsigned int lvalsz, char *rvalue, unsigned int rvalsz) {
  char longval = '\0';
  unsigned int i = 0;
  while (*line != '=' && *line != ' ') {
    if (i >= lvalsz - 1)
      break;
    *(lvalue + i++) = *line++;
  }
  *(lvalue + i) = '\0';
  while (*line == ' ')
    line++;
  while (*line == '=')
    line++;
  while (*line == ' ')
    line++;
  i = 0;
  if (*line == '\'' || *line == '"') {
    longval = *line;
    line++;
    while (*line != longval) {
      if (*line == longval)
        break;
      if (*line == '\\' && *(line + 1) == longval)
        line++;
      if (i >= rvalsz - 1)
        break;
      *(rvalue + i) = *line;
      line++;
      i++;
    }
  } else {
    i = 0;
    while (*line != ' ' && *line != '\n') {
      if (i >= rvalsz - 1)
        break;
      *(rvalue + i) = *line;
      line++;
      i++;
    }
  }
  *(rvalue + i) = '\0';
  return;
}
```