user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<get_real_android>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  lea    D122(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L29
  mov    -0x8(%rbp),%rax
  lea    D150(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L187
L29:
  lea    D38(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L187:
  mov    -0x8(%rbp),%rax
  lea    D8(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L223
  lea    D105(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L223:
  mov    -0x8(%rbp),%rax
  lea    D22(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L232
  mov    -0x8(%rbp),%rax
  lea    D45(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L232
  mov    -0x8(%rbp),%rax
  lea    D14(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L89
L232:
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L89:
  mov    -0x8(%rbp),%rax
  lea    D138(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L227
  lea    D80(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L227:
  mov    -0x8(%rbp),%rax
  lea    D101(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L119
  lea    D213(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L119:
  mov    -0x8(%rbp),%rax
  lea    D185(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L176
  lea    D149(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L176:
  mov    -0x8(%rbp),%rax
  lea    D41(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L129
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L129:
  mov    -0x8(%rbp),%rax
  lea    D158(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L219
  mov    -0x8(%rbp),%rax
  lea    D32(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L95
L219:
  lea    D181(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L95:
  mov    -0x8(%rbp),%rax
  lea    D159(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L229
  lea    D175(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L229:
  mov    -0x8(%rbp),%rax
  lea    D85(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L202
  lea    D0(%rip),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
  jmp    L199
L202:
  mov    -0x8(%rbp),%rax
  mov    %rax,%rdi
  call   <alloc_string@plt>
L199:
  leave
  ret
```

tool_calls: name: read_data
arguments: tag: D122
type: string
name: read_data
arguments: tag: D150
type: string
name: read_data
arguments: tag: D38
type: string
name: read_data
arguments: tag: D8
type: string
name: read_data
arguments: tag: D105
type: string
name: read_data
arguments: tag: D22
type: string
name: read_data
arguments: tag: D45
type: string
name: read_data
arguments: tag: D14
type: string
name: read_data
arguments: tag: D43
type: string
name: read_data
arguments: tag: D138
type: string
name: read_data
arguments: tag: D80
type: string
name: read_data
arguments: tag: D101
type: string
name: read_data
arguments: tag: D213
type: string
name: read_data
arguments: tag: D185
type: string
name: read_data
arguments: tag: D149
type: string
name: read_data
arguments: tag: D41
type: string
name: read_data
arguments: tag: D11
type: string
name: read_data
arguments: tag: D158
type: string
name: read_data
arguments: tag: D32
type: string
name: read_data
arguments: tag: D181
type: string
name: read_data
arguments: tag: D159
type: string
name: read_data
arguments: tag: D175
type: string
name: read_data
arguments: tag: D85
type: string
name: read_data
arguments: tag: D0
type: string

tool: D122: 5.0

tool: D150: 5.1

tool: D38: Lollipop

tool: D8: 4.4

tool: D105: KitKat

tool: D22: 4.3

tool: D45: 4.2

tool: D14: 4.1

tool: D43: Jelly Bean

tool: D138: 4.0

tool: D80: Ice Cream Sandwich

tool: D101: 3.

tool: D213: Honeycomb

tool: D185: 2.3

tool: D149: Gingerbread

tool: D41: 2.2

tool: D11: Froyo

tool: D158: 2.0

tool: D32: 2.1

tool: D181: Eclair

tool: D159: 1.6

tool: D175: Donut

tool: D85: 1.5

tool: D0: Cupcake

assistant: ```c
char *get_real_android(const char *droid) {
  if (strstr(droid, "5.0") || strstr(droid, "5.1"))
    return alloc_string("Lollipop");
  else if (strstr(droid, "4.4"))
    return alloc_string("KitKat");
  else if (strstr(droid, "4.3") || strstr(droid, "4.2") || strstr(droid, "4.1"))
    return alloc_string("Jelly Bean");
  else if (strstr(droid, "4.0"))
    return alloc_string("Ice Cream Sandwich");
  else if (strstr(droid, "3."))
    return alloc_string("Honeycomb");
  else if (strstr(droid, "2.3"))
    return alloc_string("Gingerbread");
  else if (strstr(droid, "2.2"))
    return alloc_string("Froyo");
  else if (strstr(droid, "2.0") || strstr(droid, "2.1"))
    return alloc_string("Eclair");
  else if (strstr(droid, "1.6"))
    return alloc_string("Donut");
  else if (strstr(droid, "1.5"))
    return alloc_string("Cupcake");
  return alloc_string(droid);
}
```