user: What is the c source code of the assembly code below:

```asm
<parse_cfg_line>:
  endbr64
  mov    %rdi,%rax
  mov    %rcx,%r9
  mov    %rsi,%rdi
  movzbl (%rax),%ecx
  cmp    $0x3d,%cl
  je     L52
  cmp    $0x20,%cl
  je     L52
  cmp    $0x1,%edx
  je     L52
  lea    -0x2(%rdx),%r10d
  mov    $0x1,%edx
  add    $0x2,%r10
  jmp    L103
  xchg   %ax,%ax
L271:
  mov    %rsi,%rdx
L103:
  add    $0x1,%rax
  mov    %cl,-0x1(%rdi,%rdx,1)
  movzbl (%rax),%ecx
  cmp    $0x3d,%cl
  je     L92
  cmp    $0x20,%cl
  je     L92
  lea    0x1(%rdx),%rsi
  cmp    %rsi,%r10
  jne    L271
L92:
  add    %rdx,%rdi
L52:
  movb   $0x0,(%rdi)
  movzbl (%rax),%edx
  cmp    $0x20,%dl
  jne    L95
  nop
L78:
  movzbl 0x1(%rax),%edx
  add    $0x1,%rax
  cmp    $0x20,%dl
  je     L78
L95:
  cmp    $0x3d,%dl
  jne    L90
  nopw   0x0(%rax,%rax,1)
L123:
  movzbl 0x1(%rax),%edx
  add    $0x1,%rax
  cmp    $0x3d,%dl
  je     L123
  cmp    $0x20,%dl
  jne    L90
  nopw   0x0(%rax,%rax,1)
L155:
  movzbl 0x1(%rax),%edx
  add    $0x1,%rax
  cmp    $0x20,%dl
  je     L155
L90:
  cmp    $0x27,%dl
  je     L77
  cmp    $0x22,%dl
  je     L77
  cmp    $0x20,%dl
  je     L218
  cmp    $0xa,%dl
  je     L218
  lea    -0x1(%r8),%edi
  xor    %ecx,%ecx
  cmp    $0x1,%r8d
  je     L218
  nopl   0x0(%rax)
L267:
  mov    %dl,(%r9,%rcx,1)
  movzbl 0x1(%rax,%rcx,1),%edx
  lea    0x1(%rcx),%esi
  cmp    $0x20,%dl
  je     L3
  cmp    $0xa,%dl
  je     L3
  add    $0x1,%rcx
  cmp    %rcx,%rdi
  jne    L267
  lea    (%r9,%rdi,1),%rax
L4:
  movb   $0x0,(%rax)
  ret
  nop
L77:
  movzbl 0x1(%rax),%ecx
  lea    0x1(%rax),%r10
  cmp    %dl,%cl
  je     L218
  sub    $0x1,%r8d
  mov    $0x1,%r11d
  mov    %r9,%rdi
  mov    %r10,%rsi
  add    %r9,%r8
  sub    %r9d,%r11d
  cmp    $0x5c,%cl
  je     L120
L325:
  mov    %rdi,%rax
  cmp    %rdi,%r8
  je     L4
  push   %rbx
  jmp    L27
  cs nopw 0x0(%rax,%rax,1)
L310:
  mov    %rdi,%rax
  cmp    %rdi,%r8
  je     L233
L27:
  mov    %cl,(%rdi)
  movzbl 0x1(%rsi),%ecx
  lea    0x1(%rsi),%r10
  lea    (%r11,%rax,1),%ebx
  lea    0x1(%rax),%rdi
  cmp    %dl,%cl
  je     L178
  mov    %r10,%rsi
  cmp    $0x5c,%cl
  jne    L310
  cmp    %dl,0x1(%r10)
  jne    L310
  add    $0x1,%rsi
  mov    %edx,%ecx
  mov    %rdi,%rax
  cmp    %rdi,%r8
  jne    L27
L233:
  movb   $0x0,(%rax)
  pop    %rbx
  ret
  nop
L178:
  lea    (%r9,%rbx,1),%rax
  movb   $0x0,(%rax)
  pop    %rbx
  ret
  nopl   0x0(%rax)
L3:
  mov    %esi,%eax
  add    %r9,%rax
  movb   $0x0,(%rax)
  ret
L218:
  mov    %r9,%rax
  jmp    L4
  nopl   0x0(%rax)
L120:
  cmp    %dl,0x1(%r10)
  jne    L325
  add    $0x1,%rsi
  mov    %edx,%ecx
  jmp    L325
```

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;
}
```