user: Demonstrate the C code that generates the assembly output below:

```asm
<get_dump_format>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  mov    $0xd,%edx
  lea    D114(%rip),%rsi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x2,%eax
  test   %edx,%edx
  je     L136
  mov    $0xd,%edx
  lea    D53(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x1,%eax
  test   %edx,%edx
  jne    L202
L136:
  pop    %rbx
  ret
L202:
  mov    $0xc,%edx
  lea    D140(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x3,%eax
  test   %edx,%edx
  je     L136
  mov    $0x11,%edx
  lea    D97(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x6,%eax
  test   %edx,%edx
  je     L136
  mov    $0x14,%edx
  lea    D90(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x6,%eax
  test   %edx,%edx
  je     L136
  mov    $0x11,%edx
  lea    D107(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x7,%eax
  test   %edx,%edx
  je     L136
  mov    $0x14,%edx
  lea    D95(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x7,%eax
  test   %edx,%edx
  je     L136
  mov    $0x10,%edx
  lea    D185(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0xa,%eax
  test   %edx,%edx
  je     L136
  mov    $0x13,%edx
  lea    D118(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0xa,%eax
  test   %edx,%edx
  je     L136
  mov    $0xf,%edx
  lea    D80(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x8,%eax
  test   %edx,%edx
  je     L136
  mov    $0x12,%edx
  lea    D35(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x8,%eax
  test   %edx,%edx
  je     L136
  mov    $0xf,%edx
  lea    D4(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x9,%eax
  test   %edx,%edx
  je     L136
  mov    $0x12,%edx
  lea    D21(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x9,%eax
  test   %edx,%edx
  je     L136
  mov    $0x8,%edx
  lea    D228(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x4,%eax
  test   %edx,%edx
  je     L136
  mov    $0xb,%edx
  lea    D62(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  mov    %eax,%edx
  mov    $0x4,%eax
  test   %edx,%edx
  je     L136
  mov    $0x8,%edx
  lea    D216(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L230
  mov    $0xb,%edx
  lea    D63(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L218
  mov    $0x6,%edx
  lea    D209(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L195
  mov    $0xf,%edx
  lea    D241(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L154
  mov    $0xc,%edx
  lea    D124(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L157
  mov    $0xa,%edx
  lea    D15(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L166
  mov    $0xc,%edx
  lea    D92(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L165
  mov    $0x8,%edx
  lea    D112(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L175
  mov    $0xa,%edx
  lea    D55(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L125
  mov    $0x9,%edx
  lea    D8(%rip),%rsi
  mov    %rbx,%rdi
  call   <strncmp@plt>
  cmp    $0x1,%eax
  sbb    %eax,%eax
  and    $0x12,%eax
  jmp    L136
L230:
  mov    $0x5,%eax
  jmp    L136
L218:
  mov    $0x5,%eax
  jmp    L136
L195:
  mov    $0xb,%eax
  jmp    L136
L154:
  mov    $0xc,%eax
  jmp    L136
L157:
  mov    $0xd,%eax
  jmp    L136
L166:
  mov    $0xe,%eax
  jmp    L136
L165:
  mov    $0xf,%eax
  jmp    L136
L175:
  mov    $0x10,%eax
  jmp    L136
L125:
  mov    $0x11,%eax
  jmp    L136
```

tool_calls: name: parse_data
arguments: tag: D114
type: string
name: parse_data
arguments: tag: D53
type: string
name: parse_data
arguments: tag: D140
type: string
name: parse_data
arguments: tag: D97
type: string
name: parse_data
arguments: tag: D90
type: string
name: parse_data
arguments: tag: D107
type: string
name: parse_data
arguments: tag: D95
type: string
name: parse_data
arguments: tag: D185
type: string
name: parse_data
arguments: tag: D118
type: string
name: parse_data
arguments: tag: D80
type: string
name: parse_data
arguments: tag: D35
type: string
name: parse_data
arguments: tag: D4
type: string
name: parse_data
arguments: tag: D21
type: string
name: parse_data
arguments: tag: D228
type: string
name: parse_data
arguments: tag: D62
type: string
name: parse_data
arguments: tag: D216
type: string
name: parse_data
arguments: tag: D63
type: string
name: parse_data
arguments: tag: D209
type: string
name: parse_data
arguments: tag: D241
type: string
name: parse_data
arguments: tag: D124
type: string
name: parse_data
arguments: tag: D15
type: string
name: parse_data
arguments: tag: D92
type: string
name: parse_data
arguments: tag: D112
type: string
name: parse_data
arguments: tag: D55
type: string
name: parse_data
arguments: tag: D8
type: string

tool: D114: member_groups

tool: D53: group_members

tool: D140: groups_short

tool: D97: app_fans_settings

tool: D90: app_members_settings

tool: D107: fan_apps_settings

tool: D95: member_apps_settings

tool: D185: fan_apps_balance

tool: D118: member_apps_balance

tool: D80: app_fans_notify

tool: D35: app_members_notify

tool: D4: fan_apps_notify

tool: D21: member_apps_notify

tool: D228: app_fans

tool: D62: app_members

tool: D216: fan_apps

tool: D63: member_apps

tool: D209: family

tool: D241: widget_comments

tool: D124: widget_votes

tool: D15: blacklist

tool: D92: blacklisted

tool: D112: banlist

tool: D55: banlisted

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