user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<libiso_msgs__text_to_sev>:
  endbr64
  push   %r12
  mov    $0x5,%edx
  mov    $0x1,%r12d
  push   %rbp
  mov    %rdi,%rbp
  push   %rbx
  mov    %rsi,%rbx
  lea    D74(%rip),%rsi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x7fffffff,%eax
  test   %r8,%r8
  jne    L72
L156:
  mov    %eax,(%rbx)
  mov    %r12d,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax)
L72:
  mov    $0x5,%edx
  lea    D98(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x71000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x5,%edx
  lea    D102(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x70000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x7,%edx
  lea    D40(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x68000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x6,%edx
  lea    D6(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x64000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x5,%edx
  lea    D55(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x60000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x7,%edx
  lea    D15(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x50000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x4,%edx
  lea    D100(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x40000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x4,%edx
  lea    D95(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  mov    %rax,%r8
  mov    $0x30000000,%eax
  test   %r8,%r8
  je     L156
  mov    $0x6,%edx
  lea    D66(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L85
  mov    $0x20000000,%eax
  mov    $0x1,%r12d
  jmp    L156
L85:
  mov    $0x5,%edx
  lea    D115(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L70
  mov    $0x10000000,%eax
  mov    $0x1,%r12d
  jmp    L156
L70:
  mov    $0x7,%edx
  lea    D50(%rip),%rsi
  mov    %rbp,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L114
  mov    $0x8000000,%eax
  mov    $0x1,%r12d
  jmp    L156
L114:
  mov    $0x3,%edx
  lea    D4(%rip),%rsi
  mov    %rbp,%rdi
  xor    %r12d,%r12d
  call   <strncmp@plt>
  test   %rax,%rax
  sete   %r12b
  xor    %eax,%eax
  jmp    L156
```

tool_calls: name: disassemble_data
arguments: data_label: D74
type: string
name: disassemble_data
arguments: data_label: D98
type: string
name: disassemble_data
arguments: data_label: D102
type: string
name: disassemble_data
arguments: data_label: D40
type: string
name: disassemble_data
arguments: data_label: D6
type: string
name: disassemble_data
arguments: data_label: D55
type: string
name: disassemble_data
arguments: data_label: D15
type: string
name: disassemble_data
arguments: data_label: D100
type: string
name: disassemble_data
arguments: data_label: D95
type: string
name: disassemble_data
arguments: data_label: D66
type: string
name: disassemble_data
arguments: data_label: D115
type: string
name: disassemble_data
arguments: data_label: D50
type: string
name: disassemble_data
arguments: data_label: D4
type: string

tool: D74: NEVER

tool: D98: ABORT

tool: D102: FATAL

tool: D40: FAILURE

tool: D6: MISHAP

tool: D55: SORRY

tool: D15: WARNING

tool: D100: HINT

tool: D95: NOTE

tool: D66: UPDATE

tool: D115: DEBUG

tool: D50: ERRFILE

tool: D4: ALL

assistant: ```c
int libiso_msgs__text_to_sev(char *severity_name, int *severity, int flag) {
  if (strncmp(severity_name, "NEVER", 5) == 0)
    *severity = 0x7fffffff;
  else if (strncmp(severity_name, "ABORT", 5) == 0)
    *severity = 0x71000000;
  else if (strncmp(severity_name, "FATAL", 5) == 0)
    *severity = 0x70000000;
  else if (strncmp(severity_name, "FAILURE", 7) == 0)
    *severity = 0x68000000;
  else if (strncmp(severity_name, "MISHAP", 6) == 0)
    *severity = 0x64000000;
  else if (strncmp(severity_name, "SORRY", 5) == 0)
    *severity = 0x60000000;
  else if (strncmp(severity_name, "WARNING", 7) == 0)
    *severity = 0x50000000;
  else if (strncmp(severity_name, "HINT", 4) == 0)
    *severity = 0x40000000;
  else if (strncmp(severity_name, "NOTE", 4) == 0)
    *severity = 0x30000000;
  else if (strncmp(severity_name, "UPDATE", 6) == 0)
    *severity = 0x20000000;
  else if (strncmp(severity_name, "DEBUG", 5) == 0)
    *severity = 0x10000000;
  else if (strncmp(severity_name, "ERRFILE", 7) == 0)
    *severity = 0x08000000;
  else if (strncmp(severity_name, "ALL", 3) == 0)
    *severity = 0x00000000;
  else {
    *severity = 0x00000000;
    return (0);
  }
  return (1);
}
```