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

```asm
<StreamType>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,%eax
  mov    %al,-0x4(%rbp)
  cmpb   $0x0,-0x4(%rbp)
  jne    L180
  lea    D56(%rip),%rax
  jmp    L150
L180:
  cmpb   $0x1,-0x4(%rbp)
  jne    L66
  lea    D3(%rip),%rax
  jmp    L150
L66:
  cmpb   $0x2,-0x4(%rbp)
  jne    L120
  lea    D160(%rip),%rax
  jmp    L150
L120:
  cmpb   $0x3,-0x4(%rbp)
  jne    L292
  lea    D23(%rip),%rax
  jmp    L150
L292:
  cmpb   $0x4,-0x4(%rbp)
  jne    L203
  lea    D17(%rip),%rax
  jmp    L150
L203:
  cmpb   $0x5,-0x4(%rbp)
  jne    L142
  lea    D11(%rip),%rax
  jmp    L150
L142:
  cmpb   $0x6,-0x4(%rbp)
  jne    L78
  lea    D87(%rip),%rax
  jmp    L150
L78:
  cmpb   $0x7,-0x4(%rbp)
  jne    L98
  lea    D141(%rip),%rax
  jmp    L150
L98:
  cmpb   $0x8,-0x4(%rbp)
  jne    L135
  lea    D164(%rip),%rax
  jmp    L150
L135:
  cmpb   $0x9,-0x4(%rbp)
  jne    L279
  lea    D72(%rip),%rax
  jmp    L150
L279:
  cmpb   $0xa,-0x4(%rbp)
  jne    L63
  lea    D63(%rip),%rax
  jmp    L150
L63:
  cmpb   $0xb,-0x4(%rbp)
  jne    L137
  lea    D166(%rip),%rax
  jmp    L150
L137:
  cmpb   $0xc,-0x4(%rbp)
  jne    L112
  lea    D32(%rip),%rax
  jmp    L150
L112:
  cmpb   $0xd,-0x4(%rbp)
  jne    L179
  lea    D138(%rip),%rax
  jmp    L150
L179:
  cmpb   $0xe,-0x4(%rbp)
  jne    L278
  lea    D78(%rip),%rax
  jmp    L150
L278:
  movzbl -0x4(%rbp),%eax
  test   %al,%al
  jns    L163
  lea    D159(%rip),%rax
  jmp    L150
L163:
  lea    D143(%rip),%rax
L150:
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: label: D56
data_type: string
name: parse_data
arguments: label: D3
data_type: string
name: parse_data
arguments: label: D160
data_type: string
name: parse_data
arguments: label: D23
data_type: string
name: parse_data
arguments: label: D17
data_type: string
name: parse_data
arguments: label: D11
data_type: string
name: parse_data
arguments: label: D87
data_type: string
name: parse_data
arguments: label: D141
data_type: string
name: parse_data
arguments: label: D164
data_type: string
name: parse_data
arguments: label: D72
data_type: string
name: parse_data
arguments: label: D63
data_type: string
name: parse_data
arguments: label: D166
data_type: string
name: parse_data
arguments: label: D32
data_type: string
name: parse_data
arguments: label: D138
data_type: string
name: parse_data
arguments: label: D78
data_type: string
name: parse_data
arguments: label: D159
data_type: string
name: parse_data
arguments: label: D143
data_type: string

tool: D56: ITU-T | ISO/IEC reserved

tool: D3: ISO/IEC 11172-2 Video

tool: D160: ITU-T Rec. H.262 | ISO/IEC 13818-2 Video

tool: D23: ISO/IEC 11172-3 Audio

tool: D17: ISO/IEC 13818-3 Audio

tool: D11: ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections

tool: D87: ITU-T Rec. H.222.0 | ISO/IEC 13818-3 PES private data

tool: D141: ISO/IEC 13522 MHEG

tool: D164: DSM CC

tool: D72: ITU-T Rec. H.222.1

tool: D63: ISO/IEC 13818-6 Type A

tool: D166: ISO/IEC 13818-6 Type B

tool: D32: ISO/IEC 13818-6 Type C

tool: D138: ISO/IEC 13818-6 Type D

tool: D78: ISO/IEC 13818-1 auxiliary

tool: D159: User private

tool: D143: ITU-T Rec. H.222.0 | ISO/IEC 13818-1 reserved

assistant: ```c
char *StreamType(unsigned char stream_type) {
  if (stream_type == 0x00)
    return "ITU-T | ISO/IEC reserved";
  else if (stream_type == 0x01)
    return "ISO/IEC 11172-2 Video";
  else if (stream_type == 0x02)
    return "ITU-T Rec. H.262 | ISO/IEC 13818-2 Video";
  else if (stream_type == 0x03)
    return "ISO/IEC 11172-3 Audio";
  else if (stream_type == 0x04)
    return "ISO/IEC 13818-3 Audio";
  else if (stream_type == 0x05)
    return "ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections";
  else if (stream_type == 0x06)
    return "ITU-T Rec. H.222.0 | ISO/IEC 13818-3 PES private data";
  else if (stream_type == 0x07)
    return "ISO/IEC 13522 MHEG";
  else if (stream_type == 0x08)
    return "DSM CC";
  else if (stream_type == 0x09)
    return "ITU-T Rec. H.222.1";
  else if (stream_type == 0x0A)
    return "ISO/IEC 13818-6 Type A";
  else if (stream_type == 0x0B)
    return "ISO/IEC 13818-6 Type B";
  else if (stream_type == 0x0C)
    return "ISO/IEC 13818-6 Type C";
  else if (stream_type == 0x0D)
    return "ISO/IEC 13818-6 Type D";
  else if (stream_type == 0x0E)
    return "ISO/IEC 13818-1 auxiliary";
  else if (stream_type >= 0x80)
    return "User private";
  else
    return "ITU-T Rec. H.222.0 | ISO/IEC 13818-1 reserved";
}
```