user: 下面的汇编指令对应的C源代码是什么:

```asm
<vo_format_name>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x76757963,-0x4(%rbp)
  je     L9
  cmpl   $0x76757963,-0x4(%rbp)
  jg     L187
  cmpl   $0x5a524e49,-0x4(%rbp)
  je     L492
  cmpl   $0x5a524e49,-0x4(%rbp)
  jg     L187
  cmpl   $0x5a524954,-0x4(%rbp)
  je     L896
  cmpl   $0x5a524954,-0x4(%rbp)
  jg     L187
  cmpl   $0x5a524942,-0x4(%rbp)
  je     L1401
  cmpl   $0x5a524942,-0x4(%rbp)
  jg     L187
  cmpl   $0x59565955,-0x4(%rbp)
  je     L1043
  cmpl   $0x59565955,-0x4(%rbp)
  jg     L187
  cmpl   $0x56595549,-0x4(%rbp)
  je     L731
  cmpl   $0x56595549,-0x4(%rbp)
  jg     L187
  cmpl   $0x56555949,-0x4(%rbp)
  je     L173
  cmpl   $0x56555949,-0x4(%rbp)
  jg     L187
  cmpl   $0x564e5955,-0x4(%rbp)
  je     L348
  cmpl   $0x564e5955,-0x4(%rbp)
  jg     L187
  cmpl   $0x564e5559,-0x4(%rbp)
  je     L253
  cmpl   $0x564e5559,-0x4(%rbp)
  jg     L187
  cmpl   $0x55595659,-0x4(%rbp)
  je     L881
  cmpl   $0x55595659,-0x4(%rbp)
  jg     L187
  cmpl   $0x54323459,-0x4(%rbp)
  je     L1174
  cmpl   $0x54323459,-0x4(%rbp)
  jg     L187
  cmpl   $0x54313459,-0x4(%rbp)
  je     L584
  cmpl   $0x54313459,-0x4(%rbp)
  jg     L187
  cmpl   $0x524a4c43,-0x4(%rbp)
  je     L933
  cmpl   $0x524a4c43,-0x4(%rbp)
  jg     L187
  cmpl   $0x52474284,-0x4(%rbp)
  je     L1285
  cmpl   $0x52474284,-0x4(%rbp)
  jg     L187
  cmpl   $0x52474260,-0x4(%rbp)
  je     L1267
  cmpl   $0x52474260,-0x4(%rbp)
  jg     L187
  cmpl   $0x52474220,-0x4(%rbp)
  jg     L187
  cmpl   $0x52474201,-0x4(%rbp)
  jge    L80
  cmpl   $0x50565955,-0x4(%rbp)
  je     L220
  cmpl   $0x50565955,-0x4(%rbp)
  jg     L187
  cmpl   $0x50565559,-0x4(%rbp)
  je     L96
  cmpl   $0x50565559,-0x4(%rbp)
  jg     L187
  cmpl   $0x50343434,-0x4(%rbp)
  je     L303
  cmpl   $0x50343434,-0x4(%rbp)
  jg     L187
  cmpl   $0x50323234,-0x4(%rbp)
  je     L979
  cmpl   $0x50323234,-0x4(%rbp)
  jg     L187
  cmpl   $0x50313459,-0x4(%rbp)
  je     L1471
  cmpl   $0x50313459,-0x4(%rbp)
  jg     L187
  cmpl   $0x50313134,-0x4(%rbp)
  je     L388
  cmpl   $0x50313134,-0x4(%rbp)
  jg     L187
  cmpl   $0x4d504553,-0x4(%rbp)
  je     L1114
  cmpl   $0x4d504553,-0x4(%rbp)
  jg     L187
  cmpl   $0x4c504c43,-0x4(%rbp)
  je     L893
  cmpl   $0x4c504c43,-0x4(%rbp)
  jg     L187
  cmpl   $0x42475284,-0x4(%rbp)
  je     L875
  cmpl   $0x42475284,-0x4(%rbp)
  jg     L187
  cmpl   $0x42475260,-0x4(%rbp)
  je     L1402
  cmpl   $0x42475260,-0x4(%rbp)
  jg     L187
  cmpl   $0x42475220,-0x4(%rbp)
  jg     L187
  cmpl   $0x42475201,-0x4(%rbp)
  jge    L1393
  cmpl   $0x39555659,-0x4(%rbp)
  je     L191
  cmpl   $0x39555659,-0x4(%rbp)
  jg     L187
  cmpl   $0x39304649,-0x4(%rbp)
  je     L880
  cmpl   $0x39304649,-0x4(%rbp)
  jg     L187
  cmpl   $0x35353656,-0x4(%rbp)
  je     L684
  cmpl   $0x35353656,-0x4(%rbp)
  jg     L187
  cmpl   $0x32595559,-0x4(%rbp)
  je     L789
  cmpl   $0x32595559,-0x4(%rbp)
  jg     L187
  cmpl   $0x32555949,-0x4(%rbp)
  je     L1248
  cmpl   $0x32555949,-0x4(%rbp)
  jg     L187
  cmpl   $0x32323459,-0x4(%rbp)
  je     L424
  cmpl   $0x32323459,-0x4(%rbp)
  jg     L187
  cmpl   $0x32323456,-0x4(%rbp)
  je     L1392
  cmpl   $0x32323456,-0x4(%rbp)
  jg     L187
  cmpl   $0x32315659,-0x4(%rbp)
  je     L1265
  cmpl   $0x32315659,-0x4(%rbp)
  jg     L187
  cmpl   $0x3231564e,-0x4(%rbp)
  je     L1094
  cmpl   $0x3231564e,-0x4(%rbp)
  jg     L187
  cmpl   $0x32314d48,-0x4(%rbp)
  je     L1428
  cmpl   $0x32314d48,-0x4(%rbp)
  jg     L187
  cmpl   $0x31555949,-0x4(%rbp)
  je     L326
  cmpl   $0x31555949,-0x4(%rbp)
  jg     L187
  cmpl   $0x31435949,-0x4(%rbp)
  je     L1427
  cmpl   $0x31435949,-0x4(%rbp)
  jg     L187
  cmpl   $0x3132564e,-0x4(%rbp)
  je     L115
  cmpl   $0x3132564e,-0x4(%rbp)
  jg     L187
  cmpl   $0x31313259,-0x4(%rbp)
  je     L97
  cmpl   $0x31313259,-0x4(%rbp)
  jg     L187
  cmpl   $0x30323449,-0x4(%rbp)
  je     L940
  cmpl   $0x30323449,-0x4(%rbp)
  jg     L187
  cmpl   $0x30303859,-0x4(%rbp)
  je     L209
  cmpl   $0x30303859,-0x4(%rbp)
  jg     L187
  cmpl   $0x20203859,-0x4(%rbp)
  je     L141
  cmpl   $0x20203859,-0x4(%rbp)
  jg     L187
  cmpl   $0x1dc70002,-0x4(%rbp)
  je     L576
  cmpl   $0x1dc70082,-0x4(%rbp)
  je     L561
  jmp    L187
L80:
  mov    -0x4(%rbp),%eax
  sub    $0x52474201,%eax
  cmp    $0x1f,%eax
  ja     L187
  mov    %eax,%eax
  lea    0x0(,%rax,4),%rdx
  lea    D231(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D231(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
L1393:
  mov    -0x4(%rbp),%eax
  sub    $0x42475201,%eax
  cmp    $0x1f,%eax
  ja     L187
  mov    %eax,%eax
  lea    0x0(,%rax,4),%rdx
  lea    D507(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D507(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D188(%rip),%rax
  jmp    L1020
  lea    D466(%rip),%rax
  jmp    L1020
L1285:
  lea    D450(%rip),%rax
  jmp    L1020
  lea    D523(%rip),%rax
  jmp    L1020
  lea    D534(%rip),%rax
  jmp    L1020
  lea    D1(%rip),%rax
  jmp    L1020
  lea    D304(%rip),%rax
  jmp    L1020
  lea    D74(%rip),%rax
  jmp    L1020
  lea    D540(%rip),%rax
  jmp    L1020
L875:
  lea    D26(%rip),%rax
  jmp    L1020
  lea    D301(%rip),%rax
  jmp    L1020
  lea    D620(%rip),%rax
  jmp    L1020
  lea    D570(%rip),%rax
  jmp    L1020
  lea    D334(%rip),%rax
  jmp    L1020
L1402:
  lea    D396(%rip),%rax
  jmp    L1020
  lea    D569(%rip),%rax
  jmp    L1020
L1267:
  lea    D177(%rip),%rax
  jmp    L1020
  lea    D70(%rip),%rax
  jmp    L1020
L191:
  lea    D97(%rip),%rax
  jmp    L1020
L880:
  lea    D9(%rip),%rax
  jmp    L1020
L1265:
  lea    D504(%rip),%rax
  jmp    L1020
L940:
  lea    D498(%rip),%rax
  jmp    L1020
L173:
  lea    D312(%rip),%rax
  jmp    L1020
L893:
  lea    D112(%rip),%rax
  jmp    L1020
L209:
  lea    D411(%rip),%rax
  jmp    L1020
L141:
  lea    D385(%rip),%rax
  jmp    L1020
L303:
  lea    D590(%rip),%rax
  jmp    L1020
L979:
  lea    D64(%rip),%rax
  jmp    L1020
L388:
  lea    D537(%rip),%rax
  jmp    L1020
L1094:
  lea    D264(%rip),%rax
  jmp    L1020
L115:
  lea    D530(%rip),%rax
  jmp    L1020
L1428:
  lea    D130(%rip),%rax
  jmp    L1020
L731:
  lea    D263(%rip),%rax
  jmp    L1020
L1427:
  lea    D311(%rip),%rax
  jmp    L1020
L326:
  lea    D293(%rip),%rax
  jmp    L1020
L1248:
  lea    D463(%rip),%rax
  jmp    L1020
L1043:
  lea    D325(%rip),%rax
  jmp    L1020
L348:
  lea    D501(%rip),%rax
  jmp    L1020
L9:
  lea    D599(%rip),%rax
  jmp    L1020
L424:
  lea    D221(%rip),%rax
  jmp    L1020
L789:
  lea    D72(%rip),%rax
  jmp    L1020
L253:
  lea    D607(%rip),%rax
  jmp    L1020
L881:
  lea    D225(%rip),%rax
  jmp    L1020
L1471:
  lea    D274(%rip),%rax
  jmp    L1020
L97:
  lea    D553(%rip),%rax
  jmp    L1020
L584:
  lea    D155(%rip),%rax
  jmp    L1020
L1174:
  lea    D108(%rip),%rax
  jmp    L1020
L1392:
  lea    D76(%rip),%rax
  jmp    L1020
L684:
  lea    D289(%rip),%rax
  jmp    L1020
L933:
  lea    D36(%rip),%rax
  jmp    L1020
L96:
  lea    D68(%rip),%rax
  jmp    L1020
L220:
  lea    D422(%rip),%rax
  jmp    L1020
L1114:
  lea    D344(%rip),%rax
  jmp    L1020
L492:
  lea    D381(%rip),%rax
  jmp    L1020
L896:
  lea    D141(%rip),%rax
  jmp    L1020
L1401:
  lea    D53(%rip),%rax
  jmp    L1020
L576:
  lea    D203(%rip),%rax
  jmp    L1020
L561:
  lea    D31(%rip),%rax
  jmp    L1020
L187:
  lea    D592(%rip),%rax
L1020:
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D188
type_infered: string
name: disassemble_data
arguments: tag: D466
type_infered: string
name: disassemble_data
arguments: tag: D450
type_infered: string
name: disassemble_data
arguments: tag: D523
type_infered: string
name: disassemble_data
arguments: tag: D534
type_infered: string
name: disassemble_data
arguments: tag: D1
type_infered: string
name: disassemble_data
arguments: tag: D304
type_infered: string
name: disassemble_data
arguments: tag: D74
type_infered: string
name: disassemble_data
arguments: tag: D540
type_infered: string
name: disassemble_data
arguments: tag: D26
type_infered: string
name: disassemble_data
arguments: tag: D301
type_infered: string
name: disassemble_data
arguments: tag: D620
type_infered: string
name: disassemble_data
arguments: tag: D570
type_infered: string
name: disassemble_data
arguments: tag: D334
type_infered: string
name: disassemble_data
arguments: tag: D396
type_infered: string
name: disassemble_data
arguments: tag: D569
type_infered: string
name: disassemble_data
arguments: tag: D177
type_infered: string
name: disassemble_data
arguments: tag: D70
type_infered: string
name: disassemble_data
arguments: tag: D97
type_infered: string
name: disassemble_data
arguments: tag: D9
type_infered: string
name: disassemble_data
arguments: tag: D504
type_infered: string
name: disassemble_data
arguments: tag: D498
type_infered: string
name: disassemble_data
arguments: tag: D312
type_infered: string
name: disassemble_data
arguments: tag: D112
type_infered: string
name: disassemble_data
arguments: tag: D411
type_infered: string
name: disassemble_data
arguments: tag: D385
type_infered: string
name: disassemble_data
arguments: tag: D590
type_infered: string
name: disassemble_data
arguments: tag: D64
type_infered: string
name: disassemble_data
arguments: tag: D537
type_infered: string
name: disassemble_data
arguments: tag: D264
type_infered: string
name: disassemble_data
arguments: tag: D530
type_infered: string
name: disassemble_data
arguments: tag: D130
type_infered: string
name: disassemble_data
arguments: tag: D263
type_infered: string
name: disassemble_data
arguments: tag: D311
type_infered: string
name: disassemble_data
arguments: tag: D293
type_infered: string
name: disassemble_data
arguments: tag: D463
type_infered: string
name: disassemble_data
arguments: tag: D325
type_infered: string
name: disassemble_data
arguments: tag: D501
type_infered: string
name: disassemble_data
arguments: tag: D599
type_infered: string
name: disassemble_data
arguments: tag: D221
type_infered: string
name: disassemble_data
arguments: tag: D72
type_infered: string
name: disassemble_data
arguments: tag: D607
type_infered: string
name: disassemble_data
arguments: tag: D225
type_infered: string
name: disassemble_data
arguments: tag: D274
type_infered: string
name: disassemble_data
arguments: tag: D553
type_infered: string
name: disassemble_data
arguments: tag: D155
type_infered: string
name: disassemble_data
arguments: tag: D108
type_infered: string
name: disassemble_data
arguments: tag: D76
type_infered: string
name: disassemble_data
arguments: tag: D289
type_infered: string
name: disassemble_data
arguments: tag: D36
type_infered: string
name: disassemble_data
arguments: tag: D68
type_infered: string
name: disassemble_data
arguments: tag: D422
type_infered: string
name: disassemble_data
arguments: tag: D344
type_infered: string
name: disassemble_data
arguments: tag: D381
type_infered: string
name: disassemble_data
arguments: tag: D141
type_infered: string
name: disassemble_data
arguments: tag: D53
type_infered: string
name: disassemble_data
arguments: tag: D203
type_infered: string
name: disassemble_data
arguments: tag: D31
type_infered: string
name: disassemble_data
arguments: tag: D592
type_infered: string

tool: D188: RGB 1-bit

tool: D466: RGB 4-bit

tool: D450: RGB 4-bit per byte

tool: D523: RGB 8-bit

tool: D534: RGB 15-bit

tool: D1: RGB 16-bit

tool: D304: RGB 24-bit

tool: D74: BGR 1-bit

tool: D540: BGR 4-bit

tool: D26: BGR 4-bit per byte

tool: D301: BGR 8-bit

tool: D620: BGR 15-bit

tool: D570: BGR 16-bit

tool: D334: BGR 24-bit

tool: D396: ABGR

tool: D569: BGRA

tool: D177: ARGB

tool: D70: RGBA

tool: D97: Planar YVU9

tool: D9: Planar IF09

tool: D504: Planar YV12

tool: D498: Planar I420

tool: D312: Planar IYUV

tool: D112: Planar CLPL

tool: D411: Planar Y800

tool: D385: Planar Y8

tool: D590: Planar 444P

tool: D64: Planar 422P

tool: D537: Planar 411P

tool: D264: Planar NV12

tool: D530: Planar NV21

tool: D130: Planar NV12 Macroblock

tool: D263: Packed IUYV

tool: D311: Packed IY41

tool: D293: Packed IYU1

tool: D463: Packed IYU2

tool: D325: Packed UYVY

tool: D501: Packed UYNV

tool: D599: Packed CYUV

tool: D221: Packed Y422

tool: D72: Packed YUY2

tool: D607: Packed YUNV

tool: D225: Packed YVYU

tool: D274: Packed Y41P

tool: D553: Packed Y211

tool: D155: Packed Y41T

tool: D108: Packed Y42T

tool: D76: Packed V422

tool: D289: Packed V655

tool: D36: Packed CLJR

tool: D68: Packed YUVP

tool: D422: Packed UYVP

tool: D344: Mpeg PES

tool: D381: Zoran MJPEG non-interlaced

tool: D141: Zoran MJPEG top field first

tool: D53: Zoran MJPEG bottom field first

tool: D203: MPEG1/2 Motion Compensation

tool: D31: MPEG1/2 Motion Compensation and IDCT

tool: D592: Unknown

assistant: ```c
const char *vo_format_name(int format) {
  switch (format) {
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 1):
    return ("RGB 1-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 4):
    return ("RGB 4-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 4 | 128):
    return ("RGB 4-bit per byte");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 8):
    return ("RGB 8-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 15):
    return ("RGB 15-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 16):
    return ("RGB 16-bit");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 24):
    return ("RGB 24-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 1):
    return ("BGR 1-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 4):
    return ("BGR 4-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 4 | 128):
    return ("BGR 4-bit per byte");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 8):
    return ("BGR 8-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 15):
    return ("BGR 15-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 16):
    return ("BGR 16-bit");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 24):
    return ("BGR 24-bit");
  case (((('B' << 24) | ('G' << 16) | ('R' << 8)) | 32) | 64):
    return ("ABGR");
  case ((('B' << 24) | ('G' << 16) | ('R' << 8)) | 32):
    return ("BGRA");
  case (((('R' << 24) | ('G' << 16) | ('B' << 8)) | 32) | 64):
    return ("ARGB");
  case ((('R' << 24) | ('G' << 16) | ('B' << 8)) | 32):
    return ("RGBA");
  case 0x39555659:
    return ("Planar YVU9");
  case 0x39304649:
    return ("Planar IF09");
  case 0x32315659:
    return ("Planar YV12");
  case 0x30323449:
    return ("Planar I420");
  case 0x56555949:
    return ("Planar IYUV");
  case 0x4C504C43:
    return ("Planar CLPL");
  case 0x30303859:
    return ("Planar Y800");
  case 0x20203859:
    return ("Planar Y8");
  case 0x50343434:
    return ("Planar 444P");
  case 0x50323234:
    return ("Planar 422P");
  case 0x50313134:
    return ("Planar 411P");
  case 0x3231564E:
    return ("Planar NV12");
  case 0x3132564E:
    return ("Planar NV21");
  case 0x32314D48:
    return ("Planar NV12 Macroblock");
  case 0x56595549:
    return ("Packed IUYV");
  case 0x31435949:
    return ("Packed IY41");
  case 0x31555949:
    return ("Packed IYU1");
  case 0x32555949:
    return ("Packed IYU2");
  case 0x59565955:
    return ("Packed UYVY");
  case 0x564E5955:
    return ("Packed UYNV");
  case 0x76757963:
    return ("Packed CYUV");
  case 0x32323459:
    return ("Packed Y422");
  case 0x32595559:
    return ("Packed YUY2");
  case 0x564E5559:
    return ("Packed YUNV");
  case 0x55595659:
    return ("Packed YVYU");
  case 0x50313459:
    return ("Packed Y41P");
  case 0x31313259:
    return ("Packed Y211");
  case 0x54313459:
    return ("Packed Y41T");
  case 0x54323459:
    return ("Packed Y42T");
  case 0x32323456:
    return ("Packed V422");
  case 0x35353656:
    return ("Packed V655");
  case 0x524A4C43:
    return ("Packed CLJR");
  case 0x50565559:
    return ("Packed YUVP");
  case 0x50565955:
    return ("Packed UYVP");
  case (('M' << 24) | ('P' << 16) | ('E' << 8) | ('S')):
    return ("Mpeg PES");
  case (('Z' << 24) | ('R' << 16) | ('N' << 8) | ('I')):
    return ("Zoran MJPEG non-interlaced");
  case (('Z' << 24) | ('R' << 16) | ('I' << 8) | ('T')):
    return ("Zoran MJPEG top field first");
  case (('Z' << 24) | ('R' << 16) | ('I' << 8) | ('B')):
    return ("Zoran MJPEG bottom field first");
  case (0x1DC70000 | 0x02):
    return ("MPEG1/2 Motion Compensation");
  case (0x1DC70000 | 0x82):
    return ("MPEG1/2 Motion Compensation and IDCT");
  }
  return ("Unknown");
}
```