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

```asm
<unquote>:
  endbr64
  movzbl (%rsi),%eax
  test   %al,%al
  je     L137
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x18,%rsp
  mov    %rsi,%rbp
  lea    0x1(%rdi),%rbx
  lea    D6(%rip),%r13
  jmp    L60
L125:
  cmp    $0x78,%r12b
  je     L2
  cmp    $0xa,%r12b
  je     L54
  lea    -0x61(%r12),%eax
  cmp    $0x15,%al
  ja     L157
  ja     L157
  movzbl %al,%eax
  movslq 0x0(%r13,%rax,4),%rax
  add    %r13,%rax
  notrack jmp *%rax
L2:
  movzbl 0x2(%rbp),%r14d
  lea    -0x30(%r14),%eax
  cmp    $0x9,%al
  jbe    L53
  movsbl %r14b,%edi
  call   <tolower@plt>
  sub    $0x61,%eax
  cmp    $0x5,%eax
  jbe    L53
L157:
  mov    %rbx,%rdi
  mov    %r12b,-0x1(%rbx)
  jmp    L226
L53:
  movzbl 0x3(%rbp),%r15d
  lea    -0x30(%r15),%eax
  mov    %al,0xf(%rsp)
  cmp    $0x9,%al
  jbe    L0
  movsbl %r15b,%edi
  call   <tolower@plt>
  sub    $0x61,%eax
  cmp    $0x5,%eax
  ja     L157
L0:
  mov    %r14d,%r12d
  shl    $0x4,%r12d
  cmp    $0x39,%r14b
  jle    L81
  movsbl %r14b,%edi
  call   <tolower@plt>
  sub    $0x57,%eax
  mov    %eax,%r12d
  shl    $0x4,%r12d
L81:
  cmp    $0x39,%r15b
  jle    L78
  movsbl %r15b,%edi
  call   <tolower@plt>
  sub    $0x57,%eax
  mov    %al,0xf(%rsp)
L78:
  mov    %rbx,%rdi
  add    0xf(%rsp),%r12b
  mov    %r12b,-0x1(%rbx)
  add    $0x4,%rbp
  jmp    L254
  mov    %rbx,%rdi
  movb   $0xa,-0x1(%rbx)
L226:
  add    $0x2,%rbp
  jmp    L254
  mov    %rbx,%rdi
  movb   $0xd,-0x1(%rbx)
  jmp    L226
  mov    %rbx,%rdi
  movb   $0xc,-0x1(%rbx)
  jmp    L226
  mov    %rbx,%rdi
  movb   $0x9,-0x1(%rbx)
  jmp    L226
  mov    %rbx,%rdi
  movb   $0x7,-0x1(%rbx)
  jmp    L226
  mov    %rbx,%rdi
  movb   $0xb,-0x1(%rbx)
  jmp    L226
L54:
  mov    %rbx,%rdi
  jmp    L226
L269:
  add    $0x1,%rbp
  mov    %rbx,%rdi
  mov    %al,-0x1(%rbx)
L254:
  movzbl 0x0(%rbp),%eax
  add    $0x1,%rbx
  test   %al,%al
  je     L105
L60:
  cmp    $0x5c,%al
  jne    L269
  movzbl 0x1(%rbp),%r12d
  test   %r12b,%r12b
  je     L269
  lea    -0x30(%r12),%eax
  cmp    $0x7,%al
  ja     L125
  movzbl 0x2(%rbp),%eax
  lea    -0x30(%rax),%edx
  cmp    $0x7,%dl
  ja     L157
  movzbl 0x3(%rbp),%ecx
  lea    -0x30(%rcx),%edx
  cmp    $0x7,%dl
  ja     L157
  mov    %rbx,%rdi
  lea    (%rax,%r12,8),%eax
  lea    -0x80(%rdx,%rax,8),%eax
  mov    %al,-0x1(%rbx)
  add    $0x4,%rbp
  jmp    L254
L105:
  movb   $0x0,(%rdi)
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L137:
  movb   $0x0,(%rdi)
  ret
```

assistant: ```c
void unquote(char *unquotedString, const char *quotedString) {
  const char *s = quotedString;
  char *d = unquotedString;
  while (*s != '\0') {
    if (*s == '\\' && s[1] != '\0') {
      if (((s[1]) >= '0' && (s[1]) <= '7') && ((s[2]) >= '0' && (s[2]) <= '7') && ((s[3]) >= '0' && (s[3]) <= '7')) {
        *d++ = ((s[1]) - '0') * 64 + ((s[2]) - '0') * 8 + ((s[3]) - '0');
        s += 4;
      } else if (s[1] == 'x' && (((s[2]) >= '0' && (s[2]) <= '9') || (tolower(s[2]) >= 'a' && tolower(s[2]) <= 'f')) && (((s[3]) >= '0' && (s[3]) <= '9') || (tolower(s[3]) >= 'a' && tolower(s[3]) <= 'f'))) {
        *d++ = ((s[2]) > '9' ? (10 + (tolower(s[2]) - 'a')) : ((s[2]) - '0')) * 16 + ((s[3]) > '9' ? (10 + (tolower(s[3]) - 'a')) : ((s[3]) - '0'));
        s += 4;
      } else {
        if (s[1] == 'n')
          *d++ = '\n';
        else if (s[1] == 'r')
          *d++ = '\r';
        else if (s[1] == 'f')
          *d++ = '\f';
        else if (s[1] == 't')
          *d++ = '\t';
        else if (s[1] == 'a')
          *d++ = '\a';
        else if (s[1] == 'v')
          *d++ = '\v';
        else if (s[1] == '\n')
          *d++;
        else
          *d++ = s[1];
        s += 2;
      }
    } else {
      *d++ = *s++;
    }
  }
  *d++ = '\0';
}
```