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

```asm
<_conf_value>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x18,%rsp
  test   %rdi,%rdi
  je     L9
  mov    %rdi,%rbx
  mov    %rsi,%r14
  test   %rsi,%rsi
  je     L9
  mov    %rsi,%rdi
  call   <strlen@plt>
  mov    %eax,%r12d
  mov    $0x0,%ebp
  movabs $0x800000401,%r13
  jmp    L301
L266:
  add    $0x1,%ebp
L301:
  movslq %ebp,%rdi
  add    %rbx,%rdi
  movzbl (%rdi),%eax
  lea    -0x9(%rax),%edx
  cmp    $0x1,%dl
  jbe    L266
  cmp    $0x20,%al
  je     L266
  test   %al,%al
  je     L97
  mov    %r12d,%edx
  mov    %r14,%rsi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L65
  lea    0x0(%rbp,%r12,1),%ecx
  movslq %ecx,%rax
  movzbl (%rbx,%rax,1),%eax
  cmp    $0x20,%al
  sete   %dl
  cmp    $0x9,%al
  sete   %sil
  or     %esi,%edx
  cmp    $0x3d,%al
  je     L27
  test   %dl,%dl
  je     L65
L27:
  lea    0x1(%rcx),%eax
  cltq
  test   %dl,%dl
  je     L21
L107:
  mov    %eax,%ecx
  movzbl (%rbx,%rax,1),%edx
  add    $0x1,%rax
  cmp    $0x20,%dl
  je     L107
  cmp    $0x9,%dl
  je     L107
  cmp    $0x3d,%dl
  je     L21
L312:
  movslq %ecx,%rax
  add    %rbx,%rax
  mov    %rax,0x8(%rsp)
  movzbl (%rax),%edx
  cmp    $0x23,%dl
  ja     L49
  mov    %ecx,%eax
  bt     %rdx,%r13
  jb     L86
L49:
  lea    0x1(%rcx),%edx
  movslq %edx,%rdx
  jmp    L169
L21:
  lea    0x1(%rcx),%eax
  cltq
L260:
  mov    %eax,%ecx
  movzbl (%rbx,%rax,1),%edx
  add    $0x1,%rax
  cmp    $0x20,%dl
  je     L260
  cmp    $0x9,%dl
  je     L260
  jmp    L312
L95:
  lea    0x2(%rax),%esi
  mov    $0x1,%edi
  call   <calloc@plt>
  mov    %rax,%rdi
  mov    $0x0,%ebx
  test   %rax,%rax
  je     L77
  mov    %rax,%rbx
  mov    %r15d,%edx
  mov    0x8(%rsp),%rsi
  call   <strncpy@plt>
  jmp    L77
L9:
  mov    $0x0,%ebx
  jmp    L77
L97:
  mov    $0x0,%ebx
L77:
  mov    %rbx,%rax
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L3:
  add    $0x1,%rdx
L169:
  mov    %edx,%eax
  movzbl (%rbx,%rdx,1),%esi
  cmp    $0x23,%sil
  ja     L3
  add    $0x1,%rdx
  bt     %rsi,%r13
  jae    L169
L86:
  sub    $0x1,%eax
  cltq
L131:
  mov    %eax,%ebp
  movzbl (%rbx,%rax,1),%edx
  sub    $0x1,%rax
  cmp    $0x20,%dl
  je     L131
  cmp    $0x9,%dl
  je     L131
  mov    %ebp,%eax
  sub    %ecx,%eax
  lea    0x1(%rax),%r15d
  test   %r15d,%r15d
  jg     L95
L65:
  movslq %ebp,%rax
  movzbl (%rbx,%rax,1),%edx
  cmp    $0xa,%dl
  je     L103
  test   %dl,%dl
  setne  %cl
  lea    0x1(%rbp),%eax
  cltq
  test   %cl,%cl
  je     L103
L219:
  mov    %eax,%ebp
  movzbl (%rbx,%rax,1),%edx
  add    $0x1,%rax
  cmp    $0xa,%dl
  je     L103
  test   %dl,%dl
  jne    L219
L103:
  test   %dl,%dl
  jne    L301
  mov    $0x0,%ebx
  jmp    L77
```

assistant: ```c
char *_conf_value(const char *buf, const char *option) {
  char *value = NULL;
  int optlen, pos = 0, pos2, pos3, len;
  if (buf == NULL || option == NULL)
    return NULL;
  optlen = strlen(option);
  do {
    while (buf[pos] == ' ' || buf[pos] == '\t' || buf[pos] == '\n')
      pos++;
    if (buf[pos] == '\0')
      return NULL;
    if (strncmp(&(buf[pos]), option, optlen) == 0 && (buf[pos + optlen] == ' ' || buf[pos + optlen] == '\t' || buf[pos + optlen] == '=')) {
      pos2 = pos + optlen;
      while (buf[pos2] == ' ' || buf[pos2] == '\t')
        pos2++;
      if (buf[pos2] == '=') {
        do {
          pos2++;
        } while (buf[pos2] == ' ' || buf[pos2] == '\t');
      }
      pos3 = pos2;
      while (buf[pos3] != '\n' && buf[pos3] != '\0' && buf[pos3] != '#')
        pos3++;
      do {
        pos3--;
      } while (buf[pos3] == ' ' || buf[pos3] == '\t');
      if ((len = pos3 - pos2 + 1) > 0) {
        if ((value = (char *)calloc(1, len + 1)) == NULL)
          return NULL;
        strncpy(value, &(buf[pos2]), len);
        break;
      }
      pos = pos3;
    }
    while (buf[pos] != '\n' && buf[pos] != '\0')
      pos++;
  } while (value == NULL && buf[pos] != '\0');
  return value;
}
```