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

```asm
<get_dump_format>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  mov    $0xd,%edx
  lea    D207(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L131
  mov    $0x2,%eax
  jmp    L7
L131:
  mov    -0x8(%rbp),%rax
  mov    $0xd,%edx
  lea    D184(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L95
  mov    $0x1,%eax
  jmp    L7
L95:
  mov    -0x8(%rbp),%rax
  mov    $0xc,%edx
  lea    D72(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L209
  mov    $0x3,%eax
  jmp    L7
L209:
  mov    -0x8(%rbp),%rax
  mov    $0x11,%edx
  lea    D188(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L324
  mov    -0x8(%rbp),%rax
  mov    $0x14,%edx
  lea    D38(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L105
L324:
  mov    $0x6,%eax
  jmp    L7
L105:
  mov    -0x8(%rbp),%rax
  mov    $0x11,%edx
  lea    D62(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L358
  mov    -0x8(%rbp),%rax
  mov    $0x14,%edx
  lea    D75(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L122
L358:
  mov    $0x7,%eax
  jmp    L7
L122:
  mov    -0x8(%rbp),%rax
  mov    $0x10,%edx
  lea    D143(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L426
  mov    -0x8(%rbp),%rax
  mov    $0x13,%edx
  lea    D246(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L49
L426:
  mov    $0xa,%eax
  jmp    L7
L49:
  mov    -0x8(%rbp),%rax
  mov    $0xf,%edx
  lea    D39(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L207
  mov    -0x8(%rbp),%rax
  mov    $0x12,%edx
  lea    D56(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L233
L207:
  mov    $0x8,%eax
  jmp    L7
L233:
  mov    -0x8(%rbp),%rax
  mov    $0xf,%edx
  lea    D112(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L384
  mov    -0x8(%rbp),%rax
  mov    $0x12,%edx
  lea    D221(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L128
L384:
  mov    $0x9,%eax
  jmp    L7
L128:
  mov    -0x8(%rbp),%rax
  mov    $0x8,%edx
  lea    D136(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L422
  mov    -0x8(%rbp),%rax
  mov    $0xb,%edx
  lea    D134(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L257
L422:
  mov    $0x4,%eax
  jmp    L7
L257:
  mov    -0x8(%rbp),%rax
  mov    $0x8,%edx
  lea    D58(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L243
  mov    -0x8(%rbp),%rax
  mov    $0xb,%edx
  lea    D77(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L75
L243:
  mov    $0x5,%eax
  jmp    L7
L75:
  mov    -0x8(%rbp),%rax
  mov    $0x6,%edx
  lea    D106(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L9
  mov    $0xb,%eax
  jmp    L7
L9:
  mov    -0x8(%rbp),%rax
  mov    $0xf,%edx
  lea    D219(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L193
  mov    $0xc,%eax
  jmp    L7
L193:
  mov    -0x8(%rbp),%rax
  mov    $0xc,%edx
  lea    D163(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L62
  mov    $0xd,%eax
  jmp    L7
L62:
  mov    -0x8(%rbp),%rax
  mov    $0xa,%edx
  lea    D139(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L365
  mov    $0xe,%eax
  jmp    L7
L365:
  mov    -0x8(%rbp),%rax
  mov    $0xc,%edx
  lea    D36(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L100
  mov    $0xf,%eax
  jmp    L7
L100:
  mov    -0x8(%rbp),%rax
  mov    $0x8,%edx
  lea    D205(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L241
  mov    $0x10,%eax
  jmp    L7
L241:
  mov    -0x8(%rbp),%rax
  mov    $0xa,%edx
  lea    D244(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L415
  mov    $0x11,%eax
  jmp    L7
L415:
  mov    -0x8(%rbp),%rax
  mov    $0x9,%edx
  lea    D122(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L261
  mov    $0x12,%eax
  jmp    L7
L261:
  mov    $0x0,%eax
L7:
  leave
  ret
```

tool_calls: name: read_data
arguments: data_tag: D207
type_guessed: string
name: read_data
arguments: data_tag: D184
type_guessed: string
name: read_data
arguments: data_tag: D72
type_guessed: string
name: read_data
arguments: data_tag: D188
type_guessed: string
name: read_data
arguments: data_tag: D38
type_guessed: string
name: read_data
arguments: data_tag: D62
type_guessed: string
name: read_data
arguments: data_tag: D75
type_guessed: string
name: read_data
arguments: data_tag: D143
type_guessed: string
name: read_data
arguments: data_tag: D246
type_guessed: string
name: read_data
arguments: data_tag: D39
type_guessed: string
name: read_data
arguments: data_tag: D56
type_guessed: string
name: read_data
arguments: data_tag: D112
type_guessed: string
name: read_data
arguments: data_tag: D221
type_guessed: string
name: read_data
arguments: data_tag: D136
type_guessed: string
name: read_data
arguments: data_tag: D134
type_guessed: string
name: read_data
arguments: data_tag: D58
type_guessed: string
name: read_data
arguments: data_tag: D77
type_guessed: string
name: read_data
arguments: data_tag: D106
type_guessed: string
name: read_data
arguments: data_tag: D219
type_guessed: string
name: read_data
arguments: data_tag: D163
type_guessed: string
name: read_data
arguments: data_tag: D139
type_guessed: string
name: read_data
arguments: data_tag: D36
type_guessed: string
name: read_data
arguments: data_tag: D205
type_guessed: string
name: read_data
arguments: data_tag: D244
type_guessed: string
name: read_data
arguments: data_tag: D122
type_guessed: string

tool: D207: member_groups

tool: D184: group_members

tool: D72: groups_short

tool: D188: app_fans_settings

tool: D38: app_members_settings

tool: D62: fan_apps_settings

tool: D75: member_apps_settings

tool: D143: fan_apps_balance

tool: D246: member_apps_balance

tool: D39: app_fans_notify

tool: D56: app_members_notify

tool: D112: fan_apps_notify

tool: D221: member_apps_notify

tool: D136: app_fans

tool: D134: app_members

tool: D58: fan_apps

tool: D77: member_apps

tool: D106: family

tool: D219: widget_comments

tool: D163: widget_votes

tool: D139: blacklist

tool: D36: blacklisted

tool: D205: banlist

tool: D244: banlisted

tool: D122: photorev

assistant: ```c
int get_dump_format(char *str) {
  if (!strncmp(str, "member_groups", 13)) {
    return 2;
  }
  if (!strncmp(str, "group_members", 13)) {
    return 1;
  }
  if (!strncmp(str, "groups_short", 12)) {
    return 3;
  }
  if (!strncmp(str, "app_fans_settings", 17) || !strncmp(str, "app_members_settings", 20)) {
    return 6;
  }
  if (!strncmp(str, "fan_apps_settings", 17) || !strncmp(str, "member_apps_settings", 20)) {
    return 7;
  }
  if (!strncmp(str, "fan_apps_balance", 16) || !strncmp(str, "member_apps_balance", 19)) {
    return 10;
  }
  if (!strncmp(str, "app_fans_notify", 15) || !strncmp(str, "app_members_notify", 18)) {
    return 8;
  }
  if (!strncmp(str, "fan_apps_notify", 15) || !strncmp(str, "member_apps_notify", 18)) {
    return 9;
  }
  if (!strncmp(str, "app_fans", 8) || !strncmp(str, "app_members", 11)) {
    return 4;
  }
  if (!strncmp(str, "fan_apps", 8) || !strncmp(str, "member_apps", 11)) {
    return 5;
  }
  if (!strncmp(str, "family", 6)) {
    return 11;
  }
  if (!strncmp(str, "widget_comments", 15)) {
    return 12;
  }
  if (!strncmp(str, "widget_votes", 12)) {
    return 13;
  }
  if (!strncmp(str, "blacklist", 10)) {
    return 14;
  }
  if (!strncmp(str, "blacklisted", 12)) {
    return 15;
  }
  if (!strncmp(str, "banlist", 8)) {
    return 16;
  }
  if (!strncmp(str, "banlisted", 10)) {
    return 17;
  }
  if (!strncmp(str, "photorev", 9)) {
    return 18;
  }
  return 0;
}
```