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

```asm
<quoted_printable_decode>:
  endbr64
  mov    (%rsi),%rdx
  mov    (%rdi),%rcx
  mov    %rdi,%r9
  movzbl (%rdx),%eax
  test   %al,%al
  je     L5
  push   %rbp
  mov    %rsi,%r10
  mov    $0x41,%r11d
  lea    -0x1(%rdx),%rsi
  push   %rbx
  mov    $0x61,%ebx
  jmp    L111
  nopl   0x0(%rax)
L25:
  lea    0x1(%rdx),%rsi
  cmp    $0x3d,%al
  jne    L142
  movsbl 0x1(%rdx),%r8d
  mov    %r8d,%edi
  test   %r8d,%r8d
  je     L159
  movzbl 0x2(%rdx),%eax
  test   %al,%al
  je     L159
  lea    -0x30(%r8),%ebp
  cmp    $0x9,%ebp
  ja     L229
  sub    $0x30,%edi
L98:
  movsbl %dil,%edi
  lea    0x2(%rdx),%rsi
  shl    $0x4,%edi
  mov    %dil,(%rcx)
  movsbl 0x2(%rdx),%r8d
  lea    -0x30(%r8),%ebp
  mov    %r8d,%eax
  cmp    $0x9,%ebp
  jbe    L251
  mov    %r8d,%ebp
  and    $0xffffffdf,%ebp
  sub    $0x41,%ebp
  cmp    $0x5,%bpl
  jbe    L151
  cmp    $0xa,%r8d
  je     L161
  cmp    $0xd,%r8d
  je     L161
  movb   $0x20,(%rcx)
  movzbl 0x3(%rdx),%eax
  nopw   0x0(%rax,%rax,1)
L156:
  lea    0x1(%rsi),%rdx
  test   %al,%al
  je     L159
L111:
  cmp    $0x5f,%al
  je     L92
  cmp    $0x3f,%al
  jne    L25
  movzbl 0x2(%rsi),%eax
  lea    0x2(%rsi),%rdi
  test   %al,%al
  je     L220
  cmp    $0x3d,%al
  je     L125
L239:
  mov    %al,(%rcx)
  movzbl 0x1(%rdi),%eax
  mov    %rdi,%rsi
  add    $0x1,%rcx
  lea    0x1(%rsi),%rdx
  test   %al,%al
  jne    L111
L159:
  pop    %rbx
  pop    %rbp
  mov    %rcx,(%r9)
  ret
  nop
L142:
  mov    %rdx,%rdi
  jmp    L239
  nopl   (%rax)
L92:
  movb   $0x20,(%rcx)
  mov    %rdx,%rsi
  movzbl 0x1(%rdx),%eax
  add    $0x1,%rcx
  jmp    L156
  nopl   0x0(%rax,%rax,1)
L229:
  mov    %r8d,%ebp
  and    $0xffffffdf,%ebp
  sub    $0x41,%ebp
  cmp    $0x5,%bpl
  ja     L263
  cmp    $0x60,%r8d
  mov    %r11d,%eax
  cmovg  %ebx,%eax
  add    $0xa,%edi
  sub    %eax,%edi
  jmp    L98
  nopl   0x0(%rax,%rax,1)
L263:
  cmp    $0xa,%r8d
  je     L130
  cmp    $0xd,%r8d
  je     L130
  movb   $0x3d,(%rcx)
  add    $0x2,%rcx
  mov    %r8b,-0x1(%rcx)
  movzbl 0x2(%rdx),%eax
  jmp    L156
  nopl   0x0(%rax,%rax,1)
L251:
  lea    -0x30(%r8,%rdi,1),%eax
L137:
  mov    %al,(%rcx)
  add    $0x1,%rcx
  movzbl 0x3(%rdx),%eax
  jmp    L156
  nopl   0x0(%rax)
L161:
  mov    %al,(%rcx)
  add    $0x1,%rcx
  movzbl 0x3(%rdx),%eax
  jmp    L156
  nopw   0x0(%rax,%rax,1)
L151:
  cmp    $0x60,%r8d
  mov    %r11d,%r8d
  lea    0xa(%rax,%rdi,1),%eax
  cmovg  %ebx,%r8d
  sub    %r8d,%eax
  jmp    L137
  nopl   0x0(%rax)
L130:
  add    $0x2,%rdx
  jmp    L111
L125:
  add    $0x2,%rdx
L220:
  mov    %rdx,(%r10)
  pop    %rbx
  mov    %rcx,(%r9)
  pop    %rbp
  ret
L5:
  mov    %rcx,(%rdi)
  ret
```

assistant: ```c
void quoted_printable_decode(char **dest, char **src) {
  char *buf = *src;
  char *s = *dest;
  register int n = 0;
  buf--;
  while (*++buf) {
    if (*buf == '_') {
      *s++ = ' ';
      continue;
    };
    if (*buf == '?') {
      buf++;
      if (!*buf) {
        *src = --buf;
        break;
      } else if (*buf == '=') {
        *src = ++buf;
        break;
      }
    }
    if (*buf == '=') {
      n = *++buf;
      if (!n) {
        buf--;
        break;
      }
      if (!*(buf + 1))
        break;
      if ((n >= '0') && (n <= '9'))
        *s = (n - '0');
      else if (((n >= 'A') && (n <= 'F')) || ((n >= 'a') && (n <= 'f')))
        *s = 10 + n - ((n >= 'a') ? 'a' : 'A');
      else {
        if (n == '\n' || n == '\r')
          continue;
        *s++ = '=';
        *s++ = n;
        continue;
      };
      *s <<= 4;
      n = *++buf;
      if ((n >= '0') && (n <= '9'))
        *s += (n - '0');
      else if (((n >= 'A') && (n <= 'F')) || ((n >= 'a') && (n <= 'f')))
        *s += 10 + n - ((n >= 'a') ? 'a' : 'A');
      else {
        if (n == '\n' || n == '\r') {
          *s++ = n;
          continue;
        };
        *s = ' ';
        continue;
      };
      s++;
      continue;
    };
    *s++ = *buf;
  }
  *dest = s;
}
```