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

```asm
<is_platform>:
  endbr64
  push   %r12
  push   %rbp
  mov    %rsi,%rbp
  lea    D41(%rip),%rsi
  push   %rbx
  mov    %rdi,%rbx
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L131
L86:
  lea    D50(%rip),%rax
  mov    %rax,(%rbx)
  xor    %eax,%eax
L256:
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax,%rax,1)
L131:
  lea    D90(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L86
  lea    D131(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L86
  lea    D208(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L86
  lea    D176(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L86
  lea    D175(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L86
  lea    D10(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L183
  lea    D179(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L183
  lea    D21(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L183
  lea    D218(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L183
  lea    D272(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L183
  lea    D148(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L183
  lea    D47(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L287
  lea    D183(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L152
  lea    D31(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L152
  lea    D180(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L152
  lea    D0(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L287
  lea    D199(%rip),%r12
  mov    %rbp,%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L287
  lea    D45(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  lea    D164(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  lea    D237(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  lea    D94(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  lea    D54(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  lea    D186(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  lea    D109(%rip),%rsi
  mov    %rbp,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L34
  or     $0xffffffff,%eax
  jmp    L256
  nopl   (%rax)
L183:
  lea    D117(%rip),%rax
  mov    %rax,(%rbx)
  xor    %eax,%eax
  jmp    L256
L152:
  lea    D53(%rip),%rax
  mov    %rax,(%rbx)
  xor    %eax,%eax
  jmp    L256
L287:
  mov    %r12,(%rbx)
  jmp    L256
L34:
  lea    D92(%rip),%rax
  mov    %rax,(%rbx)
  or     $0xffffffff,%eax
  jmp    L256
```

tool_calls: name: unpack_data
arguments: data_label: D41
datatype: string
name: unpack_data
arguments: data_label: D50
datatype: string
name: unpack_data
arguments: data_label: D90
datatype: string
name: unpack_data
arguments: data_label: D131
datatype: string
name: unpack_data
arguments: data_label: D208
datatype: string
name: unpack_data
arguments: data_label: D176
datatype: string
name: unpack_data
arguments: data_label: D175
datatype: string
name: unpack_data
arguments: data_label: D10
datatype: string
name: unpack_data
arguments: data_label: D179
datatype: string
name: unpack_data
arguments: data_label: D21
datatype: string
name: unpack_data
arguments: data_label: D218
datatype: string
name: unpack_data
arguments: data_label: D272
datatype: string
name: unpack_data
arguments: data_label: D148
datatype: string
name: unpack_data
arguments: data_label: D47
datatype: string
name: unpack_data
arguments: data_label: D183
datatype: string
name: unpack_data
arguments: data_label: D31
datatype: string
name: unpack_data
arguments: data_label: D180
datatype: string
name: unpack_data
arguments: data_label: D0
datatype: string
name: unpack_data
arguments: data_label: D199
datatype: string
name: unpack_data
arguments: data_label: D45
datatype: string
name: unpack_data
arguments: data_label: D164
datatype: string
name: unpack_data
arguments: data_label: D237
datatype: string
name: unpack_data
arguments: data_label: D94
datatype: string
name: unpack_data
arguments: data_label: D54
datatype: string
name: unpack_data
arguments: data_label: D186
datatype: string
name: unpack_data
arguments: data_label: D109
datatype: string
name: unpack_data
arguments: data_label: D117
datatype: string
name: unpack_data
arguments: data_label: D53
datatype: string
name: unpack_data
arguments: data_label: D92
datatype: string

tool: D41: 1710

tool: D50: 1700

tool: D90: 1720

tool: D131: 1721

tool: D208: 1750

tool: D176: 1751

tool: D175: 1760

tool: D10: 2610

tool: D179: 2611

tool: D21: 2620

tool: D218: 2621

tool: D272: 2610XM

tool: D148: 2650XM

tool: D47: 2691

tool: D183: 3620

tool: D31: 3640

tool: D180: 3660

tool: D0: 3725

tool: D199: 3745

tool: D45: npe-100

tool: D164: npe-150

tool: D237: npe-175

tool: D94: npe-200

tool: D54: npe-225

tool: D186: npe-300

tool: D109: npe-400

tool: D117: 2600

tool: D53: 3600

tool: D92: 7200

assistant: ```c
int is_platform(char **family, const char *platform) {
  if (strcmp(platform, "1710") == 0 || strcmp(platform, "1720") == 0 || strcmp(platform, "1721") == 0 || strcmp(platform, "1750") == 0 || strcmp(platform, "1751") == 0 || strcmp(platform, "1760") == 0) {
    *family = "1700";
    return 0;
  } else if (strcmp(platform, "2610") == 0 || strcmp(platform, "2611") == 0 || strcmp(platform, "2620") == 0 || strcmp(platform, "2621") == 0 || strcmp(platform, "2610XM") == 0 || strcmp(platform, "2650XM") == 0) {
    *family = "2600";
    return 0;
  } else if (strcmp(platform, "2691") == 0) {
    *family = "2691";
    return 0;
  } else if (strcmp(platform, "3620") == 0 || strcmp(platform, "3640") == 0 || strcmp(platform, "3660") == 0) {
    *family = "3600";
    return 0;
  } else if (strcmp(platform, "3725") == 0) {
    *family = "3725";
    return 0;
  } else if (strcmp(platform, "3745") == 0) {
    *family = "3745";
    return 0;
  } else if (strcmp(platform, "npe-100") == 0 || strcmp(platform, "npe-150") == 0 || strcmp(platform, "npe-175") == 0 || strcmp(platform, "npe-200") == 0 || strcmp(platform, "npe-225") == 0 || strcmp(platform, "npe-300") == 0 || strcmp(platform, "npe-400") == 0) {
    *family = "7200";
  }
  return -1;
}
```