user: Demonstrate the C code that generates the assembly output below:

```asm
<token_next_from_string>:
  endbr64
  push   %rbp
  mov    %ecx,%r11d
  mov    %rsi,%r9
  mov    %rdx,%r10
  push   %rbx
  movslq (%rdx),%rax
  mov    %rdi,%rbx
  lea    (%rsi,%rax,1),%rcx
  mov    %eax,%edi
  movzbl (%rcx),%esi
  cmp    $0x20,%sil
  ja     L260
  movabs $0xfffffffeffffd9ff,%r8
  bt     %rsi,%r8
  jb     L260
  lea    0x1(%r9,%rax,1),%rax
  lea    0x1(%rdi),%esi
  sub    %eax,%esi
  xchg   %ax,%ax
L12:
  movzbl (%rax),%edx
  lea    (%rsi,%rax,1),%edi
  mov    %rax,%rcx
  cmp    $0x20,%dl
  jbe    L241
L260:
  mov    %edi,(%r10)
  movzbl (%rcx),%edx
  xor    %eax,%eax
  test   %dl,%dl
  jne    L248
L156:
  pop    %rbx
  pop    %rbp
  ret
  nopl   (%rax)
L241:
  add    $0x1,%rax
  bt     %rdx,%r8
  jae    L12
  jmp    L260
L248:
  cmp    $0x22,%dl
  je     L236
  movslq %edi,%rax
  lea    (%r9,%rax,1),%r8
  movzbl (%r8),%edx
  cmp    $0x20,%dl
  ja     L87
  movabs $0xfffffffeffffd9fe,%rcx
  bt     %rdx,%rcx
  jae    L38
L87:
  lea    0x1(%r9,%rax,1),%rax
  add    $0x1,%edi
  sub    $0x1,%r11d
  xor    %esi,%esi
  movabs $0xfffffffeffffd9fe,%rbp
  sub    %eax,%edi
L262:
  cmp    %esi,%r11d
  jle    L151
  movslq %esi,%rcx
  add    $0x1,%esi
  mov    %dl,(%rbx,%rcx,1)
L151:
  movzbl (%rax),%edx
  lea    (%rdi,%rax,1),%ecx
  mov    %rax,%r8
  add    $0x1,%rax
  cmp    $0x20,%dl
  ja     L262
  bt     %rdx,%rbp
  lea    0x1(%r8),%rax
  jb     L262
  movslq %esi,%rsi
  add    %rsi,%rbx
L165:
  movb   $0x0,(%rbx)
L70:
  movzbl (%r8),%eax
  cmp    $0x20,%al
  ja     L44
  movabs $0xfffffffeffffd9ff,%rsi
  bt     %rax,%rsi
  jb     L44
  lea    0x1(%rcx),%eax
  cltq
  nopl   0x0(%rax,%rax,1)
L173:
  movzbl (%r9,%rax,1),%edx
  mov    %eax,%ecx
  cmp    $0x20,%dl
  jbe    L226
L44:
  mov    %ecx,(%r10)
  mov    $0xffffffff,%eax
  jmp    L156
  nopl   0x0(%rax)
L226:
  add    $0x1,%rax
  bt     %rdx,%rsi
  jae    L173
  jmp    L44
L236:
  lea    0x1(%rdi),%ecx
  movslq %ecx,%r8
  add    %r9,%r8
  movzbl (%r8),%edx
  cmp    $0x22,%dl
  je     L219
  test   %dl,%dl
  je     L219
  lea    0x2(%rdi),%eax
  sub    $0x1,%r11d
  xor    %esi,%esi
  cltq
  jmp    L170
L22:
  test   %dl,%dl
  je     L254
L170:
  cmp    %r11d,%esi
  jge    L63
  movslq %esi,%rcx
  add    $0x1,%esi
  mov    %dl,(%rbx,%rcx,1)
L63:
  movzbl (%r9,%rax,1),%edx
  mov    %eax,%ecx
  lea    (%r9,%rax,1),%r8
  add    $0x1,%rax
  cmp    $0x22,%dl
  jne    L22
L254:
  movslq %esi,%rsi
  add    %rsi,%rbx
L219:
  movb   $0x0,(%rbx)
  cmpb   $0x22,(%r8)
  jne    L264
  add    $0x1,%ecx
L264:
  movslq %ecx,%r8
  add    %r9,%r8
  jmp    L70
L38:
  mov    %edi,%ecx
  jmp    L165
```

assistant: ```c
int token_next_from_string(char *dst, char *src, int *index, int max) {
  int i, j;
  i = (*index);
  for (; src[i] == ' ' || src[i] == '\t' || src[i] == '\n' || src[i] == '\r'; i++)
    ;
  (*index) = i;
  if (src[i] == '\0')
    return (0);
  if (src[i] == '\"') {
    for (j = 0, i++; src[i] != '\"' && src[i] != '\0'; i++) {
      if (j < max - 1)
        dst[j++] = src[i];
    }
    dst[j] = '\0';
    if (src[i] == '\"')
      i++;
  } else {
    for (j = 0; src[i] != ' ' && src[i] != '\t' && src[i] != '\n' && src[i] != '\r' && src[i] != '\0'; i++)
      if (j < max - 1)
        dst[j++] = src[i];
    dst[j] = '\0';
  }
  for (; src[i] == ' ' || src[i] == '\t' || src[i] == '\n' || src[i] == '\r'; i++)
    ;
  (*index) = i;
  return (-1);
}
```