user: 请从给定的汇编指令推导出C源代码：

```asm
<DVBGenreCode>:
  endbr64
  sub    $0x10,%edi
  cmp    $0xa3,%dil
  ja     L8
  movzbl %dil,%edi
  lea    D241(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D584(%rip),%rax
  ret
  lea    D90(%rip),%rax
  ret
  lea    D53(%rip),%rax
  ret
  lea    D458(%rip),%rax
  ret
  lea    D723(%rip),%rax
  ret
  lea    D711(%rip),%rax
  ret
  lea    D451(%rip),%rax
  ret
  lea    D420(%rip),%rax
  ret
  lea    D392(%rip),%rax
  ret
  lea    D207(%rip),%rax
  ret
  lea    D521(%rip),%rax
  ret
  lea    D475(%rip),%rax
  ret
  lea    D475(%rip),%rax
  ret
  lea    D601(%rip),%rax
  ret
  lea    D198(%rip),%rax
  ret
  lea    D764(%rip),%rax
  ret
  lea    D138(%rip),%rax
  ret
  lea    D209(%rip),%rax
  ret
  lea    D652(%rip),%rax
  ret
  lea    D303(%rip),%rax
  ret
  lea    D139(%rip),%rax
  ret
  lea    D637(%rip),%rax
  ret
  lea    D426(%rip),%rax
  ret
  lea    D30(%rip),%rax
  ret
  lea    D725(%rip),%rax
  ret
  lea    D297(%rip),%rax
  ret
  lea    D296(%rip),%rax
  ret
  lea    D740(%rip),%rax
  ret
  lea    D341(%rip),%rax
  ret
  lea    D58(%rip),%rax
  ret
  lea    D135(%rip),%rax
  ret
  lea    D561(%rip),%rax
  ret
  lea    D541(%rip),%rax
  ret
  lea    D397(%rip),%rax
  ret
  lea    D350(%rip),%rax
  ret
  lea    D354(%rip),%rax
  ret
  lea    D276(%rip),%rax
  ret
  lea    D19(%rip),%rax
  ret
  lea    D606(%rip),%rax
  ret
  lea    D305(%rip),%rax
  ret
  lea    D151(%rip),%rax
  ret
  lea    D801(%rip),%rax
  ret
  lea    D452(%rip),%rax
  ret
  lea    D405(%rip),%rax
  ret
  lea    D552(%rip),%rax
  ret
  lea    D555(%rip),%rax
  ret
  lea    D473(%rip),%rax
  ret
  lea    D657(%rip),%rax
  ret
  lea    D640(%rip),%rax
  ret
  lea    D12(%rip),%rax
  ret
  lea    D572(%rip),%rax
  ret
  lea    D524(%rip),%rax
  ret
  lea    D471(%rip),%rax
  ret
  lea    D375(%rip),%rax
  ret
  lea    D59(%rip),%rax
  ret
  lea    D199(%rip),%rax
  ret
  lea    D520(%rip),%rax
  ret
  lea    D459(%rip),%rax
  ret
  lea    D617(%rip),%rax
  ret
  lea    D482(%rip),%rax
  ret
  lea    D544(%rip),%rax
  ret
  lea    D22(%rip),%rax
  ret
  lea    D145(%rip),%rax
  ret
  lea    D236(%rip),%rax
  ret
  lea    D234(%rip),%rax
  ret
  lea    D703(%rip),%rax
  ret
  lea    D158(%rip),%rax
  ret
  lea    D596(%rip),%rax
  ret
  lea    D436(%rip),%rax
  ret
  lea    D314(%rip),%rax
  ret
  lea    D667(%rip),%rax
  ret
  lea    D505(%rip),%rax
  ret
  lea    D109(%rip),%rax
  ret
  lea    D62(%rip),%rax
  ret
  lea    D639(%rip),%rax
  ret
  lea    D31(%rip),%rax
  ret
  lea    D28(%rip),%rax
  ret
  lea    D92(%rip),%rax
  ret
  lea    D279(%rip),%rax
  ret
L8:
  lea    D210(%rip),%rax
  ret
```

tool_calls: name: retrieve_data
arguments: data_label: D584
data_type: string
name: retrieve_data
arguments: data_label: D90
data_type: string
name: retrieve_data
arguments: data_label: D53
data_type: string
name: retrieve_data
arguments: data_label: D458
data_type: string
name: retrieve_data
arguments: data_label: D723
data_type: string
name: retrieve_data
arguments: data_label: D711
data_type: string
name: retrieve_data
arguments: data_label: D451
data_type: string
name: retrieve_data
arguments: data_label: D420
data_type: string
name: retrieve_data
arguments: data_label: D392
data_type: string
name: retrieve_data
arguments: data_label: D207
data_type: string
name: retrieve_data
arguments: data_label: D521
data_type: string
name: retrieve_data
arguments: data_label: D475
data_type: string
name: retrieve_data
arguments: data_label: D601
data_type: string
name: retrieve_data
arguments: data_label: D198
data_type: string
name: retrieve_data
arguments: data_label: D764
data_type: string
name: retrieve_data
arguments: data_label: D138
data_type: string
name: retrieve_data
arguments: data_label: D209
data_type: string
name: retrieve_data
arguments: data_label: D652
data_type: string
name: retrieve_data
arguments: data_label: D303
data_type: string
name: retrieve_data
arguments: data_label: D139
data_type: string
name: retrieve_data
arguments: data_label: D637
data_type: string
name: retrieve_data
arguments: data_label: D426
data_type: string
name: retrieve_data
arguments: data_label: D30
data_type: string
name: retrieve_data
arguments: data_label: D725
data_type: string
name: retrieve_data
arguments: data_label: D297
data_type: string
name: retrieve_data
arguments: data_label: D296
data_type: string
name: retrieve_data
arguments: data_label: D740
data_type: string
name: retrieve_data
arguments: data_label: D341
data_type: string
name: retrieve_data
arguments: data_label: D58
data_type: string
name: retrieve_data
arguments: data_label: D135
data_type: string
name: retrieve_data
arguments: data_label: D561
data_type: string
name: retrieve_data
arguments: data_label: D541
data_type: string
name: retrieve_data
arguments: data_label: D397
data_type: string
name: retrieve_data
arguments: data_label: D350
data_type: string
name: retrieve_data
arguments: data_label: D354
data_type: string
name: retrieve_data
arguments: data_label: D276
data_type: string
name: retrieve_data
arguments: data_label: D19
data_type: string
name: retrieve_data
arguments: data_label: D606
data_type: string
name: retrieve_data
arguments: data_label: D305
data_type: string
name: retrieve_data
arguments: data_label: D151
data_type: string
name: retrieve_data
arguments: data_label: D801
data_type: string
name: retrieve_data
arguments: data_label: D452
data_type: string
name: retrieve_data
arguments: data_label: D405
data_type: string
name: retrieve_data
arguments: data_label: D552
data_type: string
name: retrieve_data
arguments: data_label: D555
data_type: string
name: retrieve_data
arguments: data_label: D473
data_type: string
name: retrieve_data
arguments: data_label: D657
data_type: string
name: retrieve_data
arguments: data_label: D640
data_type: string
name: retrieve_data
arguments: data_label: D12
data_type: string
name: retrieve_data
arguments: data_label: D572
data_type: string
name: retrieve_data
arguments: data_label: D524
data_type: string
name: retrieve_data
arguments: data_label: D471
data_type: string
name: retrieve_data
arguments: data_label: D375
data_type: string
name: retrieve_data
arguments: data_label: D59
data_type: string
name: retrieve_data
arguments: data_label: D199
data_type: string
name: retrieve_data
arguments: data_label: D520
data_type: string
name: retrieve_data
arguments: data_label: D459
data_type: string
name: retrieve_data
arguments: data_label: D617
data_type: string
name: retrieve_data
arguments: data_label: D482
data_type: string
name: retrieve_data
arguments: data_label: D544
data_type: string
name: retrieve_data
arguments: data_label: D22
data_type: string
name: retrieve_data
arguments: data_label: D145
data_type: string
name: retrieve_data
arguments: data_label: D236
data_type: string
name: retrieve_data
arguments: data_label: D234
data_type: string
name: retrieve_data
arguments: data_label: D703
data_type: string
name: retrieve_data
arguments: data_label: D158
data_type: string
name: retrieve_data
arguments: data_label: D596
data_type: string
name: retrieve_data
arguments: data_label: D436
data_type: string
name: retrieve_data
arguments: data_label: D314
data_type: string
name: retrieve_data
arguments: data_label: D667
data_type: string
name: retrieve_data
arguments: data_label: D505
data_type: string
name: retrieve_data
arguments: data_label: D109
data_type: string
name: retrieve_data
arguments: data_label: D62
data_type: string
name: retrieve_data
arguments: data_label: D639
data_type: string
name: retrieve_data
arguments: data_label: D31
data_type: string
name: retrieve_data
arguments: data_label: D28
data_type: string
name: retrieve_data
arguments: data_label: D92
data_type: string
name: retrieve_data
arguments: data_label: D279
data_type: string
name: retrieve_data
arguments: data_label: D210
data_type: string

tool: D584: Movie/drama

tool: D90: Detective/thriller

tool: D53: Adventure/western/war

tool: D458: Sci-Fi/fantasy/horror

tool: D723: Comedy

tool: D711: Soap/melodrama/folkloric

tool: D451: Romance

tool: D420: Serious/classical/religious/historical movie/drama

tool: D392: adult movie

tool: D207: New

tool: D521: weather

tool: D475: magazine

tool: D601: discussion/interview/debate

tool: D198: Show

tool: D764: Game/quiz/contest

tool: D138: variety

tool: D209: talk show

tool: D652: Sports

tool: D303: Sports special events

tool: D139: sports magazines

tool: D637: Football/soccer

tool: D426: Tennis/squash

tool: D30: team sports

tool: D725: Athletics

tool: D297: Motorcycle Racing

tool: D296: Water sport

tool: D740: Winter sports

tool: D341: Equestrian

tool: D58: Martial sports

tool: D135: Children

tool: D561: Pre-school children's programmes

tool: D541: Kids 6-14

tool: D397: Kids 10-16

tool: D350: Informational/educational/school programmes

tool: D354: Cartoons/puppets

tool: D276: Music

tool: D19: Rock/Pop

tool: D606: classical music

tool: D305: folk/traditional music

tool: D151: Jazz

tool: D801: Opera/Musical

tool: D452: Ballet

tool: D405: Art

tool: D552: Performing

tool: D555: Fine arts

tool: D473: Religion

tool: D657: Popular culture/traditional arts

tool: D640: Literature

tool: D12: Film/Cinema

tool: D572: Experimental film/video

tool: D524: Broadcasting/press

tool: D471: New media

tool: D375: Arts/Culture magazines

tool: D59: fashion

tool: D199: Social/political issues/Economics

tool: D520: Magazines/reports/documentary

tool: D459: Economics/Social advisory 

tool: D617: Remarkable people

tool: D482: Education/Science/Factual

tool: D544: Nature/animals/environment

tool: D22: Technology/Natural sciences

tool: D145: Medicine/physiology/psychology

tool: D236: Foreign countries/expeditions

tool: D234: Social/spiritual sciences

tool: D703: Further education

tool: D158: Languages

tool: D596: Leisure Hobbies

tool: D436: Travel

tool: D314: Handicraft

tool: D667: Motoring

tool: D505: Fitness

tool: D109: Cooking

tool: D62: Advertisement/shopping

tool: D639: gardening

tool: D31: Original language

tool: D28: Black and white

tool: D92: Unpublished

tool: D279: Live broadcast

tool: 

assistant: ```c
char *DVBGenreCode(unsigned char code) {
  char *p = "";
  switch (code) {
  case 0x00:
    p = "";
    break;
  case 0x10:
    p = "Movie/drama";
    break;
  case 0x11:
    p = "Detective/thriller";
    break;
  case 0x12:
    p = "Adventure/western/war";
    break;
  case 0x13:
    p = "Sci-Fi/fantasy/horror";
    break;
  case 0x14:
    p = "Comedy";
    break;
  case 0x15:
    p = "Soap/melodrama/folkloric";
    break;
  case 0x16:
    p = "Romance";
    break;
  case 0x17:
    p = "Serious/classical/religious/historical movie/drama";
    break;
  case 0x18:
    p = "adult movie";
    break;
  case 0x20:
    p = "New";
    break;
  case 0x21:
    p = "weather";
    break;
  case 0x22:
    p = "magazine";
    break;
  case 0x23:
    p = "magazine";
    break;
  case 0x24:
    p = "discussion/interview/debate";
    break;
  case 0x30:
    p = "Show";
    break;
  case 0x31:
    p = "Game/quiz/contest";
    break;
  case 0x32:
    p = "variety";
    break;
  case 0x33:
    p = "talk show";
    break;
  case 0x40:
    p = "Sports";
    break;
  case 0x41:
    p = "Sports special events";
    break;
  case 0x42:
    p = "sports magazines";
    break;
  case 0x43:
    p = "Football/soccer";
    break;
  case 0x44:
    p = "Tennis/squash";
    break;
  case 0x45:
    p = "team sports";
    break;
  case 0x46:
    p = "Athletics";
    break;
  case 0x47:
    p = "Motorcycle Racing";
    break;
  case 0x48:
    p = "Water sport";
    break;
  case 0x49:
    p = "Winter sports";
    break;
  case 0x4A:
    p = "Equestrian";
    break;
  case 0x4B:
    p = "Martial sports";
    break;
  case 0x50:
    p = "Children";
    break;
  case 0x51:
    p = "Pre-school children's programmes";
    break;
  case 0x52:
    p = "Kids 6-14";
    break;
  case 0x53:
    p = "Kids 10-16";
    break;
  case 0x54:
    p = "Informational/educational/school programmes";
    break;
  case 0x55:
    p = "Cartoons/puppets";
    break;
  case 0x60:
    p = "Music";
    break;
  case 0x61:
    p = "Rock/Pop";
    break;
  case 0x62:
    p = "classical music";
    break;
  case 0x63:
    p = "folk/traditional music";
    break;
  case 0x64:
    p = "Jazz";
    break;
  case 0x65:
    p = "Opera/Musical";
    break;
  case 0x66:
    p = "Ballet";
    break;
  case 0x70:
    p = "Art";
    break;
  case 0x71:
    p = "Performing";
    break;
  case 0x72:
    p = "Fine arts";
    break;
  case 0x73:
    p = "Religion";
    break;
  case 0x74:
    p = "Popular culture/traditional arts";
    break;
  case 0x75:
    p = "Literature";
    break;
  case 0x76:
    p = "Film/Cinema";
    break;
  case 0x77:
    p = "Experimental film/video";
    break;
  case 0x78:
    p = "Broadcasting/press";
    break;
  case 0x79:
    p = "New media";
    break;
  case 0x7A:
    p = "Arts/Culture magazines";
    break;
  case 0x7B:
    p = "fashion";
    break;
  case 0x80:
    p = "Social/political issues/Economics";
    break;
  case 0x81:
    p = "Magazines/reports/documentary";
    break;
  case 0x82:
    p = "Economics/Social advisory ";
    break;
  case 0x83:
    p = "Remarkable people";
    break;
  case 0x90:
    p = "Education/Science/Factual";
    break;
  case 0x91:
    p = "Nature/animals/environment";
    break;
  case 0x92:
    p = "Technology/Natural sciences";
    break;
  case 0x93:
    p = "Medicine/physiology/psychology";
    break;
  case 0x94:
    p = "Foreign countries/expeditions";
    break;
  case 0x95:
    p = "Social/spiritual sciences";
    break;
  case 0x96:
    p = "Further education";
    break;
  case 0x97:
    p = "Languages";
    break;
  case 0xa0:
    p = "Leisure Hobbies";
    break;
  case 0xa1:
    p = "Travel";
    break;
  case 0xa2:
    p = "Handicraft";
    break;
  case 0xa3:
    p = "Motoring";
    break;
  case 0xa4:
    p = "Fitness";
    break;
  case 0xa5:
    p = "Cooking";
    break;
  case 0xa6:
    p = "Advertisement/shopping";
    break;
  case 0xa7:
    p = "gardening";
    break;
  case 0xb0:
    p = "Original language";
    break;
  case 0xb1:
    p = "Black and white";
    break;
  case 0xb2:
    p = "Unpublished";
    break;
  case 0xb3:
    p = "Live broadcast";
    break;
  default:
    p = "";
    break;
  }
  return p;
}
```