user: 下面的汇编指令对应的C源代码是什么：

```asm
<check_intel_cpu_model>:
  endbr64
  cmp    $0x6,%edi
  jne    L107
  test   %edx,%edx
  je     L78
L107:
  ret
L78:
  sub    $0x8,%rsp
  cmp    $0x1f,%esi
  jbe    L115
  lea    -0x25(%rsi),%eax
  cmp    $0x79,%eax
  ja     L143
  sub    $0x25,%esi
  cmp    $0x79,%esi
  ja     L143
  mov    %esi,%esi
  lea    D72(%rip),%rdx
  movslq (%rdx,%rsi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
L115:
  cmp    $0xe,%esi
  ja     L21
L143:
  add    $0x8,%rsp
  ret
L21:
  mov    $0x1,%eax
  mov    %esi,%ecx
  shl    %cl,%rax
  test   $0x20808000,%eax
  jne    L170
  test   $0xc4000000,%eax
  jne    L195
  cmp    $0x1c,%esi
  jne    L143
  lea    D6(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D96(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D71(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
L195:
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D45(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D117(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D105(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D86(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D49(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D15(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D155(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
  lea    D91(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  lea    D55(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
L170:
  lea    D130(%rip),%rdi
  call   <__builtin_cpu_is@plt>
  mov    %eax,%edi
  call   <assert@plt>
  jmp    L143
```

tool_calls: name: extract_symbolic_data
arguments: label: D6
data_type: string
name: extract_symbolic_data
arguments: label: D96
data_type: string
name: extract_symbolic_data
arguments: label: D71
data_type: string
name: extract_symbolic_data
arguments: label: D91
data_type: string
name: extract_symbolic_data
arguments: label: D45
data_type: string
name: extract_symbolic_data
arguments: label: D117
data_type: string
name: extract_symbolic_data
arguments: label: D105
data_type: string
name: extract_symbolic_data
arguments: label: D86
data_type: string
name: extract_symbolic_data
arguments: label: D49
data_type: string
name: extract_symbolic_data
arguments: label: D15
data_type: string
name: extract_symbolic_data
arguments: label: D155
data_type: string
name: extract_symbolic_data
arguments: label: D55
data_type: string
name: extract_symbolic_data
arguments: label: D130
data_type: string

tool: D6: atom

tool: D96: silvermont

tool: D71: knl

tool: D91: corei7

tool: D45: nehalem

tool: D117: westmere

tool: D105: sandybridge

tool: D86: ivybridge

tool: D49: haswell

tool: D15: broadwell

tool: D155: skylake

tool: D55: skylake-avx512

tool: D130: core2

assistant: ```c
void check_intel_cpu_model(unsigned int family, unsigned int model, unsigned int brand_id) {
  if (brand_id == 0) {
    switch (family) {
    case 0x5:
      break;
    case 0x6:
      switch (model) {
      case 0x1c:
      case 0x26:
        assert(__builtin_cpu_is("atom"));
        break;
      case 0x37:
      case 0x4a:
      case 0x4d:
      case 0x5a:
      case 0x5d:
        assert(__builtin_cpu_is("silvermont"));
        break;
      case 0x57:
        assert(__builtin_cpu_is("knl"));
        break;
      case 0x1a:
      case 0x1e:
      case 0x1f:
      case 0x2e:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("nehalem"));
        break;
      case 0x25:
      case 0x2c:
      case 0x2f:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("westmere"));
        break;
      case 0x2a:
      case 0x2d:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("sandybridge"));
        break;
      case 0x3a:
      case 0x3e:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("ivybridge"));
        break;
      case 0x3c:
      case 0x3f:
      case 0x45:
      case 0x46:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("haswell"));
        break;
      case 0x3d:
      case 0x47:
      case 0x4f:
      case 0x56:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("broadwell"));
        break;
      case 0x4e:
      case 0x5e:
      case 0x8e:
      case 0x9e:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("skylake"));
        break;
      case 0x55:
        assert(__builtin_cpu_is("corei7"));
        assert(__builtin_cpu_is("skylake-avx512"));
        break;
      case 0x17:
      case 0x1d:
      case 0x0f:
        assert(__builtin_cpu_is("core2"));
        break;
      default:
        break;
      }
      break;
    default:
      break;
    }
  }
}
```