user: Converte this assembly snippet into its equivalent C code:

```asm
<getPayloadType>:
  endbr64
  push   %r13
  lea    D118(%rip),%r13
  push   %r12
  mov    %rdx,%r12
  push   %rbp
  mov    %rsi,%rbp
  mov    %r13,%rsi
  push   %rbx
  mov    %edi,%ebx
  mov    %rbp,%rdi
  sub    $0x8,%rsp
  call   <strcpy@plt>
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
  cmp    $0x22,%ebx
  ja     L285
  lea    D347(%rip),%rdx
  mov    %ebx,%eax
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
L285:
  lea    -0x23(%rbx),%eax
  cmp    $0x24,%eax
  ja     L286
  lea    D176(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcpy@plt>
  lea    D218(%rip),%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
L4:
  sub    $0x60,%ebx
  cmp    $0x1f,%ebx
  ja     L44
  lea    D111(%rip),%rsi
L259:
  mov    %rbp,%rdi
  call   <strcpy@plt>
  lea    D218(%rip),%rsi
L165:
  add    $0x8,%rsp
  mov    %r12,%rdi
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  jmp    1050 <strcpy@plt>
  nopl   (%rax)
  lea    D48(%rip),%rsi
L228:
  mov    %rbp,%rdi
  call   <strcpy@plt>
  lea    D20(%rip),%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
L286:
  lea    -0x48(%rbx),%eax
  cmp    $0x4,%eax
  ja     L255
  lea    D150(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcpy@plt>
  lea    D369(%rip),%rsi
  jmp    L165
  cs nopw 0x0(%rax,%rax,1)
  lea    D17(%rip),%rsi
  nopw   0x0(%rax,%rax,1)
L35:
  mov    %rbp,%rdi
  call   <strcpy@plt>
  lea    D20(%rip),%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
L255:
  lea    -0x4d(%rbx),%eax
  lea    D176(%rip),%rsi
  cmp    $0x12,%eax
  jbe    L259
  jmp    L4
  nop
  mov    %rbp,%rdi
  lea    D176(%rip),%rsi
  call   <strcpy@plt>
  lea    D330(%rip),%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
  jmp    L286
  nopl   0x0(%rax,%rax,1)
  lea    D176(%rip),%rsi
  jmp    L228
  nopl   0x0(%rax)
  lea    D150(%rip),%rsi
  jmp    L228
  nopl   0x0(%rax)
  lea    D367(%rip),%rsi
  jmp    L228
  nopl   0x0(%rax)
  lea    D213(%rip),%rsi
  nop
L34:
  mov    %rbp,%rdi
  call   <strcpy@plt>
  lea    D330(%rip),%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
  lea    -0x4d(%rbx),%eax
  lea    D176(%rip),%rsi
  cmp    $0x12,%eax
  jbe    L259
  jmp    L4
  nop
  lea    D341(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D224(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D3(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D286(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D325(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D232(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D211(%rip),%rsi
  jmp    L34
  nopl   0x0(%rax)
  lea    D102(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D22(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D13(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  lea    D193(%rip),%rsi
  jmp    L35
  nopl   0x0(%rax)
  mov    %rbp,%rdi
  lea    D56(%rip),%rsi
  call   <strcpy@plt>
  lea    D42(%rip),%rsi
  mov    %r12,%rdi
  call   <strcpy@plt>
  jmp    L255
  nopl   0x0(%rax,%rax,1)
  lea    D242(%rip),%rsi
  jmp    L34
  nopl   0x0(%rax)
  lea    D274(%rip),%rsi
  jmp    L34
  nopl   0x0(%rax)
  lea    D47(%rip),%rsi
  jmp    L34
  nopl   0x0(%rax)
  lea    D333(%rip),%rsi
  jmp    L34
  nopl   0x0(%rax)
L44:
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: read_data
arguments: data_tag: D118
type_guessed: string
name: read_data
arguments: data_tag: D176
type_guessed: string
name: read_data
arguments: data_tag: D218
type_guessed: string
name: read_data
arguments: data_tag: D111
type_guessed: string
name: read_data
arguments: data_tag: D48
type_guessed: string
name: read_data
arguments: data_tag: D20
type_guessed: string
name: read_data
arguments: data_tag: D150
type_guessed: string
name: read_data
arguments: data_tag: D369
type_guessed: string
name: read_data
arguments: data_tag: D17
type_guessed: string
name: read_data
arguments: data_tag: D330
type_guessed: string
name: read_data
arguments: data_tag: D367
type_guessed: string
name: read_data
arguments: data_tag: D213
type_guessed: string
name: read_data
arguments: data_tag: D341
type_guessed: string
name: read_data
arguments: data_tag: D224
type_guessed: string
name: read_data
arguments: data_tag: D3
type_guessed: string
name: read_data
arguments: data_tag: D286
type_guessed: string
name: read_data
arguments: data_tag: D325
type_guessed: string
name: read_data
arguments: data_tag: D232
type_guessed: string
name: read_data
arguments: data_tag: D211
type_guessed: string
name: read_data
arguments: data_tag: D102
type_guessed: string
name: read_data
arguments: data_tag: D22
type_guessed: string
name: read_data
arguments: data_tag: D13
type_guessed: string
name: read_data
arguments: data_tag: D193
type_guessed: string
name: read_data
arguments: data_tag: D56
type_guessed: string
name: read_data
arguments: data_tag: D42
type_guessed: string
name: read_data
arguments: data_tag: D242
type_guessed: string
name: read_data
arguments: data_tag: D274
type_guessed: string
name: read_data
arguments: data_tag: D47
type_guessed: string
name: read_data
arguments: data_tag: D333
type_guessed: string

tool: D118: unknown

tool: D176: unassigned

tool: D218: ?

tool: D111: dynamic

tool: D48: DVI4

tool: D20: A

tool: D150: reserved

tool: D369: N/A

tool: D17: PCMU

tool: D330: V

tool: D367: L16

tool: D213: DelB

tool: D341: G723

tool: D224: GSM

tool: D3: G729

tool: D286: G728

tool: D325: G722

tool: D232: PCMA

tool: D211: H263

tool: D102: QCELP

tool: D22: MPA

tool: D13: CN

tool: D193: LPC

tool: D56: MP2T

tool: D42: AV

tool: D242: MPV

tool: D274: H261

tool: D47: nv

tool: D333: JPEG

assistant: ```c
void getPayloadType(int tp, char *name, char *media_type) {
  strcpy(name, "unknown");
  strcpy(media_type, "unknown");
  switch (tp) {
  case 0:
    strcpy(name, "PCMU");
    strcpy(media_type, "A");
    break;
  case 1:
    strcpy(name, "reserved");
    strcpy(media_type, "A");
    break;
  case 2:
    strcpy(name, "reserved");
    strcpy(media_type, "A");
    break;
  case 3:
    strcpy(name, "GSM");
    strcpy(media_type, "A");
    break;
  case 4:
    strcpy(name, "G723");
    strcpy(media_type, "A");
    break;
  case 5:
    strcpy(name, "DVI4");
    strcpy(media_type, "A");
    break;
  case 6:
    strcpy(name, "DVI4");
    strcpy(media_type, "A");
    break;
  case 7:
    strcpy(name, "LPC");
    strcpy(media_type, "A");
    break;
  case 8:
    strcpy(name, "PCMA");
    strcpy(media_type, "A");
    break;
  case 9:
    strcpy(name, "G722");
    strcpy(media_type, "A");
    break;
  case 10:
    strcpy(name, "L16");
    strcpy(media_type, "A");
    break;
  case 11:
    strcpy(name, "L16");
    strcpy(media_type, "A");
    break;
  case 12:
    strcpy(name, "QCELP");
    strcpy(media_type, "A");
    break;
  case 13:
    strcpy(name, "CN");
    strcpy(media_type, "A");
    break;
  case 14:
    strcpy(name, "MPA");
    strcpy(media_type, "A");
    break;
  case 15:
    strcpy(name, "G728");
    strcpy(media_type, "A");
    break;
  case 16:
    strcpy(name, "DVI4");
    strcpy(media_type, "A");
    break;
  case 17:
    strcpy(name, "DVI4");
    strcpy(media_type, "A");
    break;
  case 18:
    strcpy(name, "G729");
    strcpy(media_type, "A");
    break;
  case 19:
    strcpy(name, "reserved");
    strcpy(media_type, "A");
    break;
  case 20:
    strcpy(name, "unassigned");
    strcpy(media_type, "A");
    break;
  case 21:
    strcpy(name, "unassigned");
    strcpy(media_type, "A");
    break;
  case 22:
    strcpy(name, "unassigned");
    strcpy(media_type, "A");
    break;
  case 23:
    strcpy(name, "unassigned");
    strcpy(media_type, "A");
    break;
  case 24:
    strcpy(name, "unassigned");
    strcpy(media_type, "V");
    break;
  case 25:
    strcpy(name, "DelB");
    strcpy(media_type, "V");
    break;
  case 26:
    strcpy(name, "JPEG");
    strcpy(media_type, "V");
    break;
  case 27:
    strcpy(name, "unassigned");
    strcpy(media_type, "V");
    break;
  case 28:
    strcpy(name, "nv");
    strcpy(media_type, "V");
    break;
  case 29:
    strcpy(name, "unassigned");
    strcpy(media_type, "V");
    break;
  case 30:
    strcpy(name, "unassigned");
    strcpy(media_type, "V");
    break;
  case 31:
    strcpy(name, "H261");
    strcpy(media_type, "V");
    break;
  case 32:
    strcpy(name, "MPV");
    strcpy(media_type, "V");
    break;
  case 33:
    strcpy(name, "MP2T");
    strcpy(media_type, "AV");
    break;
  case 34:
    strcpy(name, "H263");
    strcpy(media_type, "V");
    break;
  }
  if ((tp >= 35) && (tp <= 71)) {
    strcpy(name, "unassigned");
    strcpy(media_type, "?");
  }
  if ((tp >= 72) && (tp <= 76)) {
    strcpy(name, "reserved");
    strcpy(media_type, "N/A");
  }
  if ((tp >= 77) && (tp <= 95)) {
    strcpy(name, "unassigned");
    strcpy(media_type, "?");
  }
  if ((tp >= 96) && (tp <= 127)) {
    strcpy(name, "dynamic");
    strcpy(media_type, "?");
  }
}
```