user: Translate the below assembly code into C programming language:

```asm
<libiso_msgs__text_to_sev>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %edx,-0x14(%rbp)
  mov    -0x8(%rbp),%rax
  mov    $0x5,%edx
  lea    D79(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L38
  mov    -0x10(%rbp),%rax
  movl   $0x7fffffff,(%rax)
  jmp    L180
L38:
  mov    -0x8(%rbp),%rax
  mov    $0x5,%edx
  lea    D12(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L60
  mov    -0x10(%rbp),%rax
  movl   $0x71000000,(%rax)
  jmp    L180
L60:
  mov    -0x8(%rbp),%rax
  mov    $0x5,%edx
  lea    D89(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L168
  mov    -0x10(%rbp),%rax
  movl   $0x70000000,(%rax)
  jmp    L180
L168:
  mov    -0x8(%rbp),%rax
  mov    $0x7,%edx
  lea    D44(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L264
  mov    -0x10(%rbp),%rax
  movl   $0x68000000,(%rax)
  jmp    L180
L264:
  mov    -0x8(%rbp),%rax
  mov    $0x6,%edx
  lea    D37(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L64
  mov    -0x10(%rbp),%rax
  movl   $0x64000000,(%rax)
  jmp    L180
L64:
  mov    -0x8(%rbp),%rax
  mov    $0x5,%edx
  lea    D63(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L204
  mov    -0x10(%rbp),%rax
  movl   $0x60000000,(%rax)
  jmp    L180
L204:
  mov    -0x8(%rbp),%rax
  mov    $0x7,%edx
  lea    D20(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L158
  mov    -0x10(%rbp),%rax
  movl   $0x50000000,(%rax)
  jmp    L180
L158:
  mov    -0x8(%rbp),%rax
  mov    $0x4,%edx
  lea    D78(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L92
  mov    -0x10(%rbp),%rax
  movl   $0x40000000,(%rax)
  jmp    L180
L92:
  mov    -0x8(%rbp),%rax
  mov    $0x4,%edx
  lea    D87(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L260
  mov    -0x10(%rbp),%rax
  movl   $0x30000000,(%rax)
  jmp    L180
L260:
  mov    -0x8(%rbp),%rax
  mov    $0x6,%edx
  lea    D122(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L87
  mov    -0x10(%rbp),%rax
  movl   $0x20000000,(%rax)
  jmp    L180
L87:
  mov    -0x8(%rbp),%rax
  mov    $0x5,%edx
  lea    D76(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L62
  mov    -0x10(%rbp),%rax
  movl   $0x10000000,(%rax)
  jmp    L180
L62:
  mov    -0x8(%rbp),%rax
  mov    $0x7,%edx
  lea    D101(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L269
  mov    -0x10(%rbp),%rax
  movl   $0x8000000,(%rax)
  jmp    L180
L269:
  mov    -0x8(%rbp),%rax
  mov    $0x3,%edx
  lea    D8(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %rax,%rax
  jne    L84
  mov    -0x10(%rbp),%rax
  movl   $0x0,(%rax)
  jmp    L180
L84:
  mov    -0x10(%rbp),%rax
  movl   $0x0,(%rax)
  mov    $0x0,%eax
  jmp    L23
L180:
  mov    $0x1,%eax
L23:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D79
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D12
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D89
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D44
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D37
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D63
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D20
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D78
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D87
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D122
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D76
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D101
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D8
type_guessed: string

tool: D79: NEVER

tool: D12: ABORT

tool: D89: FATAL

tool: D44: FAILURE

tool: D37: MISHAP

tool: D63: SORRY

tool: D20: WARNING

tool: D78: HINT

tool: D87: NOTE

tool: D122: UPDATE

tool: D76: DEBUG

tool: D101: ERRFILE

tool: D8: 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);
}
```