user: What is the c source code of the assembly code below?

```asm
<get_real_android>:
  endbr64
  push   %rbp
  lea    D282(%rip),%rsi
  mov    %rdi,%rbp
  call   <strstr@plt>
  test   %rax,%rax
  jne    L122
  lea    D189(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L24
  lea    D235(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L181
  lea    D417(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L58
  lea    D333(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L157
  lea    D312(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L190
  lea    D33(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L13
  lea    D215(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L131
  lea    D267(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L200
  lea    D435(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L42
  lea    D152(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L202
  lea    D52(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L72
  lea    D175(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L217
  lea    D66(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L19
  lea    D419(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L219
  lea    D236(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L125
  lea    D56(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L88
  lea    D355(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L40
  lea    D395(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L18
  lea    D24(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L119
  lea    D308(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L119
  lea    D233(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L93
  lea    D222(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L15
  mov    %rbp,%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  cs nopw 0x0(%rax,%rax,1)
L24:
  lea    D76(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L122:
  lea    D309(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L58:
  lea    D318(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L181:
  lea    D78(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L157:
  lea    D344(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L131:
  lea    D148(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L190:
  lea    D186(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L13:
  lea    D79(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
  nopl   (%rax)
L200:
  lea    D270(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L42:
  lea    D445(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L202:
  lea    D331(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L72:
  lea    D120(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L217:
  lea    D359(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L19:
  lea    D381(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L219:
  lea    D273(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L125:
  lea    D323(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L88:
  lea    D5(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L40:
  lea    D64(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L119:
  lea    D424(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L18:
  lea    D305(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L15:
  lea    D427(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
L93:
  lea    D50(%rip),%rdi
  pop    %rbp
  jmp    1060 <alloc_string@plt>
```

tool_calls: name: parse_data
arguments: data_label: D282
type: string
name: parse_data
arguments: data_label: D189
type: string
name: parse_data
arguments: data_label: D235
type: string
name: parse_data
arguments: data_label: D417
type: string
name: parse_data
arguments: data_label: D333
type: string
name: parse_data
arguments: data_label: D312
type: string
name: parse_data
arguments: data_label: D33
type: string
name: parse_data
arguments: data_label: D215
type: string
name: parse_data
arguments: data_label: D267
type: string
name: parse_data
arguments: data_label: D435
type: string
name: parse_data
arguments: data_label: D152
type: string
name: parse_data
arguments: data_label: D52
type: string
name: parse_data
arguments: data_label: D175
type: string
name: parse_data
arguments: data_label: D66
type: string
name: parse_data
arguments: data_label: D419
type: string
name: parse_data
arguments: data_label: D236
type: string
name: parse_data
arguments: data_label: D56
type: string
name: parse_data
arguments: data_label: D355
type: string
name: parse_data
arguments: data_label: D395
type: string
name: parse_data
arguments: data_label: D24
type: string
name: parse_data
arguments: data_label: D308
type: string
name: parse_data
arguments: data_label: D233
type: string
name: parse_data
arguments: data_label: D222
type: string
name: parse_data
arguments: data_label: D76
type: string
name: parse_data
arguments: data_label: D309
type: string
name: parse_data
arguments: data_label: D318
type: string
name: parse_data
arguments: data_label: D78
type: string
name: parse_data
arguments: data_label: D344
type: string
name: parse_data
arguments: data_label: D148
type: string
name: parse_data
arguments: data_label: D186
type: string
name: parse_data
arguments: data_label: D79
type: string
name: parse_data
arguments: data_label: D270
type: string
name: parse_data
arguments: data_label: D445
type: string
name: parse_data
arguments: data_label: D331
type: string
name: parse_data
arguments: data_label: D120
type: string
name: parse_data
arguments: data_label: D359
type: string
name: parse_data
arguments: data_label: D381
type: string
name: parse_data
arguments: data_label: D273
type: string
name: parse_data
arguments: data_label: D323
type: string
name: parse_data
arguments: data_label: D5
type: string
name: parse_data
arguments: data_label: D64
type: string
name: parse_data
arguments: data_label: D424
type: string
name: parse_data
arguments: data_label: D305
type: string
name: parse_data
arguments: data_label: D427
type: string
name: parse_data
arguments: data_label: D50
type: string

tool: D282: 11

tool: D189: 10

tool: D235: 9

tool: D417: 8.1

tool: D333: 8.0

tool: D312: 7.1

tool: D33: 7.0

tool: D215: 6.0.1

tool: D267: 6.0

tool: D435: 5.1

tool: D152: 5.0

tool: D52: 4.4

tool: D175: 4.3

tool: D66: 4.2

tool: D419: 4.1

tool: D236: 4.0

tool: D56: 3.

tool: D355: 2.3

tool: D395: 2.2

tool: D24: 2.0

tool: D308: 2.1

tool: D233: 1.6

tool: D222: 1.5

tool: D76: Android 10

tool: D309: Android 11

tool: D318: Oreo 8.1

tool: D78: Pie 9

tool: D344: Oreo 8.0

tool: D148: Marshmallow 6.0.1

tool: D186: Nougat 7.1

tool: D79: Nougat 7.0

tool: D270: Marshmallow 6.0

tool: D445: Lollipop 5.1

tool: D331: Lollipop 5.0

tool: D120: KitKat 4.4

tool: D359: Jelly Bean 4.3

tool: D381: Jelly Bean 4.2

tool: D273: Jelly Bean 4.1

tool: D323: Ice Cream Sandwich 4.0

tool: D5: Honeycomb 3

tool: D64: Gingerbread 2.3

tool: D424: Eclair 2

tool: D305: Froyo 2.2

tool: D427: Cupcake 1.5

tool: D50: Donut 1.6

assistant: ```c
char *get_real_android(const char *droid) {
  if (strstr(droid, "11"))
    return alloc_string("Android 11");
  else if (strstr(droid, "10"))
    return alloc_string("Android 10");
  else if (strstr(droid, "9"))
    return alloc_string("Pie 9");
  else if (strstr(droid, "8.1"))
    return alloc_string("Oreo 8.1");
  else if (strstr(droid, "8.0"))
    return alloc_string("Oreo 8.0");
  else if (strstr(droid, "7.1"))
    return alloc_string("Nougat 7.1");
  else if (strstr(droid, "7.0"))
    return alloc_string("Nougat 7.0");
  else if (strstr(droid, "6.0.1"))
    return alloc_string("Marshmallow 6.0.1");
  else if (strstr(droid, "6.0"))
    return alloc_string("Marshmallow 6.0");
  else if (strstr(droid, "5.1"))
    return alloc_string("Lollipop 5.1");
  else if (strstr(droid, "5.0"))
    return alloc_string("Lollipop 5.0");
  else if (strstr(droid, "4.4"))
    return alloc_string("KitKat 4.4");
  else if (strstr(droid, "4.3"))
    return alloc_string("Jelly Bean 4.3");
  else if (strstr(droid, "4.2"))
    return alloc_string("Jelly Bean 4.2");
  else if (strstr(droid, "4.1"))
    return alloc_string("Jelly Bean 4.1");
  else if (strstr(droid, "4.0"))
    return alloc_string("Ice Cream Sandwich 4.0");
  else if (strstr(droid, "3."))
    return alloc_string("Honeycomb 3");
  else if (strstr(droid, "2.3"))
    return alloc_string("Gingerbread 2.3");
  else if (strstr(droid, "2.2"))
    return alloc_string("Froyo 2.2");
  else if (strstr(droid, "2.0") || strstr(droid, "2.1"))
    return alloc_string("Eclair 2");
  else if (strstr(droid, "1.6"))
    return alloc_string("Donut 1.6");
  else if (strstr(droid, "1.5"))
    return alloc_string("Cupcake 1.5");
  return alloc_string(droid);
}
```