user: What would the C source look like for the assembly code provided here?

```asm
<print_mmc_profile>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x43,-0x4(%rbp)
  ja     L55
  mov    -0x4(%rbp),%eax
  lea    0x0(,%rax,4),%rdx
  lea    D29(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D29(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D76(%rip),%rax
  jmp    L8
  lea    D272(%rip),%rax
  jmp    L8
  lea    D285(%rip),%rax
  jmp    L8
  lea    D279(%rip),%rax
  jmp    L8
  lea    D195(%rip),%rax
  jmp    L8
  lea    D264(%rip),%rax
  jmp    L8
  lea    D19(%rip),%rax
  jmp    L8
  lea    D87(%rip),%rax
  jmp    L8
  lea    D177(%rip),%rax
  jmp    L8
  lea    D69(%rip),%rax
  jmp    L8
  lea    D185(%rip),%rax
  jmp    L8
  lea    D37(%rip),%rax
  jmp    L8
  lea    D59(%rip),%rax
  jmp    L8
  lea    D274(%rip),%rax
  jmp    L8
  lea    D1(%rip),%rax
  jmp    L8
  lea    D99(%rip),%rax
  jmp    L8
  lea    D162(%rip),%rax
  jmp    L8
  lea    D252(%rip),%rax
  jmp    L8
  lea    D93(%rip),%rax
  jmp    L8
  lea    D268(%rip),%rax
  jmp    L8
  lea    D60(%rip),%rax
  jmp    L8
  lea    D267(%rip),%rax
  jmp    L8
  lea    D14(%rip),%rax
  jmp    L8
  lea    D104(%rip),%rax
  jmp    L8
L55:
  mov    -0x4(%rbp),%eax
  mov    %eax,%edx
  lea    D178(%rip),%rax
  mov    %rax,%rsi
  lea    D114(%rip),%rax
  mov    %rax,%rdi
  call   <sprintf@plt>
  lea    D114(%rip),%rax
L8:
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D76
type: string
name: unpack_data
arguments: data_tag: D272
type: string
name: unpack_data
arguments: data_tag: D285
type: string
name: unpack_data
arguments: data_tag: D279
type: string
name: unpack_data
arguments: data_tag: D195
type: string
name: unpack_data
arguments: data_tag: D264
type: string
name: unpack_data
arguments: data_tag: D19
type: string
name: unpack_data
arguments: data_tag: D87
type: string
name: unpack_data
arguments: data_tag: D177
type: string
name: unpack_data
arguments: data_tag: D69
type: string
name: unpack_data
arguments: data_tag: D185
type: string
name: unpack_data
arguments: data_tag: D37
type: string
name: unpack_data
arguments: data_tag: D59
type: string
name: unpack_data
arguments: data_tag: D274
type: string
name: unpack_data
arguments: data_tag: D1
type: string
name: unpack_data
arguments: data_tag: D99
type: string
name: unpack_data
arguments: data_tag: D162
type: string
name: unpack_data
arguments: data_tag: D252
type: string
name: unpack_data
arguments: data_tag: D93
type: string
name: unpack_data
arguments: data_tag: D268
type: string
name: unpack_data
arguments: data_tag: D60
type: string
name: unpack_data
arguments: data_tag: D267
type: string
name: unpack_data
arguments: data_tag: D14
type: string
name: unpack_data
arguments: data_tag: D104
type: string
name: unpack_data
arguments: data_tag: D178
type: string

tool: D76: Unknown[0] profile

tool: D272: Non removeable disc

tool: D285: Removable disc

tool: D279: Magneto Optical with sector erase

tool: D195: Magneto Optical write once

tool: D264: Advance Storage Magneto Optical

tool: D19: CD-ROM

tool: D87: CD-R recordable

tool: D177: CD-RW rewritable

tool: D69: DVD-ROM

tool: D185: DVD-R sequential

tool: D37: DVD-RAM rewritable

tool: D59: DVD-RW restricted overwrite

tool: D274: DVD-RW sequential

tool: D1: DVD+RW rewritable

tool: D99: DVD+R recordable

tool: D162: DDCD readonly

tool: D252: DDCD-R recordable

tool: D93: DDCD-RW rewritable

tool: D268: DVD+R double layer

tool: D60: BD-ROM

tool: D267: BD-R Sequential Recording (SRM)

tool: D14: BD-R Random Recording (RRM)

tool: D104: BD-RE rewritable

tool: D178: Reserved profile 0x%02x

assistant: ```c
char const *print_mmc_profile(int profile) {
  static char scrap[100];
  switch (profile) {
  case 0x00:
    return "Unknown[0] profile";
  case 0x01:
    return "Non removeable disc";
  case 0x02:
    return "Removable disc";
  case 0x03:
    return "Magneto Optical with sector erase";
  case 0x04:
    return "Magneto Optical write once";
  case 0x05:
    return "Advance Storage Magneto Optical";
  case 0x08:
    return "CD-ROM";
  case 0x09:
    return "CD-R recordable";
  case 0x0a:
    return "CD-RW rewritable";
  case 0x10:
    return "DVD-ROM";
  case 0x11:
    return "DVD-R sequential";
  case 0x12:
    return "DVD-RAM rewritable";
  case 0x13:
    return "DVD-RW restricted overwrite";
  case 0x14:
    return "DVD-RW sequential";
  case 0x1a:
    return "DVD+RW rewritable";
  case 0x1b:
    return "DVD+R recordable";
  case 0x20:
    return "DDCD readonly";
  case 0x21:
    return "DDCD-R recordable";
  case 0x22:
    return "DDCD-RW rewritable";
  case 0x2b:
    return "DVD+R double layer";
  case 0x40:
    return "BD-ROM";
  case 0x41:
    return "BD-R Sequential Recording (SRM)";
  case 0x42:
    return "BD-R Random Recording (RRM)";
  case 0x43:
    return "BD-RE rewritable";
  }
  sprintf(scrap, "Reserved profile 0x%02x", profile);
  return scrap;
}
```