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

```asm
<strqetok>:
  endbr64
  push   %r13
  push   %r12
  mov    %rsi,%r12
  push   %rbp
  mov    %rcx,%rbp
  push   %rbx
  mov    %rdx,%rbx
  sub    $0x8,%rsp
  test   %rdi,%rdi
  je     L53
  mov    %rdi,D117(%rip)
  mov    %rdi,%rax
  mov    %rdi,D71(%rip)
  movb   $0x0,D27(%rip)
  movb   $0x0,D254(%rip)
L9:
  movsbl (%rax),%edi
  test   %dil,%dil
  je     L176
  xor    %r13d,%r13d
  jmp    L196
L233:
  mov    D117(%rip),%rdx
  test   %r13,%r13
  movb   $0x0,D27(%rip)
  lea    0x1(%rdx),%rcx
  mov    %dil,(%rdx)
  cmove  %rdx,%r13
  mov    %rcx,D178(%rip)
  movsbl 0x1(%rax),%edi
L16:
  add    $0x1,%rax
  mov    %rax,D178(%rip)
  test   %dil,%dil
  je     L160
L196:
  cmpb   $0x0,D27(%rip)
  jne    L233
  movzbl D254(%rip),%eax
  test   %al,%al
  je     L188
  cmp    %dil,%al
  jne    L33
  mov    D178(%rip),%rax
  movb   $0x0,D254(%rip)
  movsbl 0x1(%rax),%edi
  add    $0x1,%rax
  mov    %rax,D178(%rip)
  test   %dil,%dil
  jne    L196
  nopw   0x0(%rax,%rax,1)
L160:
  test   %r13,%r13
  je     L0
  mov    D178(%rip),%rax
  movb   $0x0,(%rax)
L0:
  add    $0x8,%rsp
  mov    %r13,%rax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
  nopl   (%rax)
L188:
  mov    %rbp,%rsi
  call   <_isinstr@plt>
  test   %rax,%rax
  je     L246
  test   %r13,%r13
  jne    L235
L255:
  mov    D178(%rip),%rax
  movsbl 0x1(%rax),%edi
  jmp    L16
  nopw   0x0(%rax,%rax,1)
L33:
  mov    %rbx,%rsi
  call   <_isinstr@plt>
  test   %rax,%rax
  mov    D178(%rip),%rax
  je     L236
  movzbl 0x1(%rax),%edx
  test   %dl,%dl
  je     L236
  movsbl D254(%rip),%edi
  cmp    %dil,%dl
  jne    L97
  movb   $0x1,D27(%rip)
  jmp    L16
  nopl   0x0(%rax)
L97:
  movsbl %dl,%edi
  mov    %rbx,%rsi
  call   <_isinstr@plt>
  test   %rax,%rax
  mov    D178(%rip),%rax
  jne    L43
  nopl   0x0(%rax,%rax,1)
L236:
  mov    D178(%rip),%rdx
  test   %r13,%r13
  cmove  %rdx,%r13
L239:
  lea    0x1(%rdx),%rcx
  mov    %rcx,D178(%rip)
  movzbl (%rax),%ecx
  mov    %cl,(%rdx)
  movsbl 0x1(%rax),%edi
  jmp    L16
  nopw   0x0(%rax,%rax,1)
L246:
  mov    D178(%rip),%rax
  mov    %rbx,%rsi
  movsbl (%rax),%edi
  call   <_isinstr@plt>
  test   %rax,%rax
  je     L211
  movb   $0x1,D27(%rip)
  jmp    L255
  nopl   0x0(%rax,%rax,1)
L53:
  mov    D178(%rip),%rax
  test   %rax,%rax
  jne    L9
L176:
  add    $0x8,%rsp
  xor    %r13d,%r13d
  pop    %rbx
  mov    %r13,%rax
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
  nopl   0x0(%rax)
L211:
  mov    D178(%rip),%rax
  mov    %r12,%rsi
  movsbl (%rax),%edi
  call   <_isinstr@plt>
  test   %rax,%rax
  je     L99
  mov    D178(%rip),%rax
  test   %r13,%r13
  cmove  D178(%rip),%r13
  movzbl (%rax),%edx
  mov    %dl,D178(%rip)
  movsbl 0x1(%rax),%edi
  jmp    L16
L43:
  movb   $0x1,D27(%rip)
  movsbl 0x1(%rax),%edi
  jmp    L16
L99:
  mov    D178(%rip),%rdx
  test   %r13,%r13
  mov    D178(%rip),%rax
  cmove  %rdx,%r13
  jmp    L239
L235:
  mov    D178(%rip),%rax
  lea    0x1(%rax),%rdx
  mov    %rdx,D178(%rip)
  movb   $0x0,(%rax)
  jmp    L0
```

assistant: ```c
char *strqetok(char *str, const char *quot, const char *esc, const char *delim) {
  static char *r, *w;
  static unsigned char e;
  static char q;
  char *t = 0;
  if (str) {
    r = w = str;
    e = 0;
    q = '\0';
  }
  if (!r)
    return 0;
  while (*r) {
    if (e) {
      if (!t)
        t = w;
      *w++ = *r;
      e = 0;
    } else if (q) {
      if (*r == q) {
        q = '\0';
      } else if (_isinstr(*r, esc) && r[1] && (r[1] == q || _isinstr(r[1], esc))) {
        e = 1;
      } else {
        if (!t)
          t = w;
        *w++ = *r;
      }
    } else {
      if (_isinstr(*r, delim)) {
        if (t) {
          *w++ = '\0';
          return t;
        }
      } else if (_isinstr(*r, esc)) {
        e = 1;
      } else if (_isinstr(*r, quot)) {
        if (!t)
          t = w;
        q = *r;
      } else {
        if (!t)
          t = w;
        *w++ = *r;
      }
    }
    ++r;
  }
  if (t)
    *w = '\0';
  return t;
}
```