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

```asm
<bt_compidtostr>:
  endbr64
  cmp    $0x75,%edi
  jg     L26
  test   %edi,%edi
  js     L2
  cmp    $0x75,%edi
  ja     L15
  mov    %edi,%edi
  lea    D55(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D920(%rip),%rax
  ret
L15:
  lea    D954(%rip),%rax
  ret
L26:
  cmp    $0xffff,%edi
  lea    D954(%rip),%rax
  lea    D1184(%rip),%rdx
  cmove  %rdx,%rax
  ret
  lea    D740(%rip),%rax
  ret
  lea    D644(%rip),%rax
  ret
  lea    D734(%rip),%rax
  ret
  lea    D230(%rip),%rax
  ret
  lea    D861(%rip),%rax
  ret
  lea    D741(%rip),%rax
  ret
  lea    D272(%rip),%rax
  ret
  lea    D545(%rip),%rax
  ret
  lea    D958(%rip),%rax
  ret
  lea    D197(%rip),%rax
  ret
  lea    D102(%rip),%rax
  ret
  lea    D520(%rip),%rax
  ret
  lea    D808(%rip),%rax
  ret
  lea    D939(%rip),%rax
  ret
  lea    D952(%rip),%rax
  ret
  lea    D955(%rip),%rax
  ret
  lea    D1027(%rip),%rax
  ret
  lea    D1150(%rip),%rax
  ret
  lea    D423(%rip),%rax
  ret
  lea    D1102(%rip),%rax
  ret
  lea    D182(%rip),%rax
  ret
  lea    D1209(%rip),%rax
  ret
  lea    D531(%rip),%rax
  ret
  lea    D459(%rip),%rax
  ret
  lea    D1130(%rip),%rax
  ret
  lea    D1208(%rip),%rax
  ret
  lea    D313(%rip),%rax
  ret
  lea    D1139(%rip),%rax
  ret
  lea    D637(%rip),%rax
  ret
  lea    D214(%rip),%rax
  ret
  lea    D142(%rip),%rax
  ret
  lea    D136(%rip),%rax
  ret
  lea    D714(%rip),%rax
  ret
  lea    D820(%rip),%rax
  ret
  lea    D949(%rip),%rax
  ret
  lea    D405(%rip),%rax
  ret
  lea    D145(%rip),%rax
  ret
  lea    D1204(%rip),%rax
  ret
  lea    D202(%rip),%rax
  ret
  lea    D598(%rip),%rax
  ret
  lea    D1105(%rip),%rax
  ret
  lea    D995(%rip),%rax
  ret
  lea    D430(%rip),%rax
  ret
  lea    D396(%rip),%rax
  ret
  lea    D556(%rip),%rax
  ret
  lea    D922(%rip),%rax
  ret
  lea    D260(%rip),%rax
  ret
  lea    D471(%rip),%rax
  ret
  lea    D646(%rip),%rax
  ret
  lea    D117(%rip),%rax
  ret
  lea    D597(%rip),%rax
  ret
  lea    D287(%rip),%rax
  ret
  lea    D165(%rip),%rax
  ret
  lea    D813(%rip),%rax
  ret
  lea    D1194(%rip),%rax
  ret
  lea    D616(%rip),%rax
  ret
  lea    D1048(%rip),%rax
  ret
  lea    D303(%rip),%rax
  ret
  lea    D133(%rip),%rax
  ret
  lea    D148(%rip),%rax
  ret
  lea    D944(%rip),%rax
  ret
  lea    D896(%rip),%rax
  ret
  lea    D320(%rip),%rax
  ret
  lea    D317(%rip),%rax
  ret
  lea    D215(%rip),%rax
  ret
  lea    D279(%rip),%rax
  ret
  lea    D525(%rip),%rax
  ret
  lea    D1211(%rip),%rax
  ret
  lea    D395(%rip),%rax
  ret
  lea    D181(%rip),%rax
  ret
  lea    D583(%rip),%rax
  ret
  lea    D253(%rip),%rax
  ret
  lea    D266(%rip),%rax
  ret
  lea    D936(%rip),%rax
  ret
  lea    D132(%rip),%rax
  ret
  lea    D1206(%rip),%rax
  ret
  lea    D248(%rip),%rax
  ret
  lea    D1151(%rip),%rax
  ret
  lea    D123(%rip),%rax
  ret
  lea    D488(%rip),%rax
  ret
  lea    D859(%rip),%rax
  ret
  lea    D199(%rip),%rax
  ret
  lea    D594(%rip),%rax
  ret
  lea    D376(%rip),%rax
  ret
  lea    D890(%rip),%rax
  ret
  lea    D161(%rip),%rax
  ret
  lea    D1111(%rip),%rax
  ret
  lea    D628(%rip),%rax
  ret
  lea    D160(%rip),%rax
  ret
  lea    D688(%rip),%rax
  ret
  lea    D1003(%rip),%rax
  ret
  lea    D226(%rip),%rax
  ret
  lea    D33(%rip),%rax
  ret
  lea    D1022(%rip),%rax
  ret
  lea    D99(%rip),%rax
  ret
  lea    D118(%rip),%rax
  ret
  lea    D1119(%rip),%rax
  ret
  lea    D721(%rip),%rax
  ret
  lea    D114(%rip),%rax
  ret
  lea    D680(%rip),%rax
  ret
  lea    D761(%rip),%rax
  ret
  lea    D336(%rip),%rax
  ret
  lea    D1080(%rip),%rax
  ret
  lea    D35(%rip),%rax
  ret
  lea    D361(%rip),%rax
  ret
  lea    D379(%rip),%rax
  ret
  lea    D246(%rip),%rax
  ret
  lea    D750(%rip),%rax
  ret
  lea    D785(%rip),%rax
  ret
  lea    D555(%rip),%rax
  ret
  lea    D1061(%rip),%rax
  ret
  lea    D892(%rip),%rax
  ret
  lea    D1041(%rip),%rax
  ret
  lea    D1096(%rip),%rax
  ret
  lea    D38(%rip),%rax
  ret
  lea    D664(%rip),%rax
  ret
L2:
  lea    D954(%rip),%rax
  ret
  lea    D786(%rip),%rax
  ret
```

tool_calls: name: parse_data
arguments: label: D920
data_type: string
name: parse_data
arguments: label: D954
data_type: string
name: parse_data
arguments: label: D1184
data_type: string
name: parse_data
arguments: label: D740
data_type: string
name: parse_data
arguments: label: D644
data_type: string
name: parse_data
arguments: label: D734
data_type: string
name: parse_data
arguments: label: D230
data_type: string
name: parse_data
arguments: label: D861
data_type: string
name: parse_data
arguments: label: D741
data_type: string
name: parse_data
arguments: label: D272
data_type: string
name: parse_data
arguments: label: D545
data_type: string
name: parse_data
arguments: label: D958
data_type: string
name: parse_data
arguments: label: D197
data_type: string
name: parse_data
arguments: label: D102
data_type: string
name: parse_data
arguments: label: D520
data_type: string
name: parse_data
arguments: label: D808
data_type: string
name: parse_data
arguments: label: D939
data_type: string
name: parse_data
arguments: label: D952
data_type: string
name: parse_data
arguments: label: D955
data_type: string
name: parse_data
arguments: label: D1027
data_type: string
name: parse_data
arguments: label: D1150
data_type: string
name: parse_data
arguments: label: D423
data_type: string
name: parse_data
arguments: label: D1102
data_type: string
name: parse_data
arguments: label: D182
data_type: string
name: parse_data
arguments: label: D1209
data_type: string
name: parse_data
arguments: label: D531
data_type: string
name: parse_data
arguments: label: D459
data_type: string
name: parse_data
arguments: label: D1130
data_type: string
name: parse_data
arguments: label: D1208
data_type: string
name: parse_data
arguments: label: D313
data_type: string
name: parse_data
arguments: label: D1139
data_type: string
name: parse_data
arguments: label: D637
data_type: string
name: parse_data
arguments: label: D214
data_type: string
name: parse_data
arguments: label: D142
data_type: string
name: parse_data
arguments: label: D136
data_type: string
name: parse_data
arguments: label: D714
data_type: string
name: parse_data
arguments: label: D820
data_type: string
name: parse_data
arguments: label: D949
data_type: string
name: parse_data
arguments: label: D405
data_type: string
name: parse_data
arguments: label: D145
data_type: string
name: parse_data
arguments: label: D1204
data_type: string
name: parse_data
arguments: label: D202
data_type: string
name: parse_data
arguments: label: D598
data_type: string
name: parse_data
arguments: label: D1105
data_type: string
name: parse_data
arguments: label: D995
data_type: string
name: parse_data
arguments: label: D430
data_type: string
name: parse_data
arguments: label: D396
data_type: string
name: parse_data
arguments: label: D556
data_type: string
name: parse_data
arguments: label: D922
data_type: string
name: parse_data
arguments: label: D260
data_type: string
name: parse_data
arguments: label: D471
data_type: string
name: parse_data
arguments: label: D646
data_type: string
name: parse_data
arguments: label: D117
data_type: string
name: parse_data
arguments: label: D597
data_type: string
name: parse_data
arguments: label: D287
data_type: string
name: parse_data
arguments: label: D165
data_type: string
name: parse_data
arguments: label: D813
data_type: string
name: parse_data
arguments: label: D1194
data_type: string
name: parse_data
arguments: label: D616
data_type: string
name: parse_data
arguments: label: D1048
data_type: string
name: parse_data
arguments: label: D303
data_type: string
name: parse_data
arguments: label: D133
data_type: string
name: parse_data
arguments: label: D148
data_type: string
name: parse_data
arguments: label: D944
data_type: string
name: parse_data
arguments: label: D896
data_type: string
name: parse_data
arguments: label: D320
data_type: string
name: parse_data
arguments: label: D317
data_type: string
name: parse_data
arguments: label: D215
data_type: string
name: parse_data
arguments: label: D279
data_type: string
name: parse_data
arguments: label: D525
data_type: string
name: parse_data
arguments: label: D1211
data_type: string
name: parse_data
arguments: label: D395
data_type: string
name: parse_data
arguments: label: D181
data_type: string
name: parse_data
arguments: label: D583
data_type: string
name: parse_data
arguments: label: D253
data_type: string
name: parse_data
arguments: label: D266
data_type: string
name: parse_data
arguments: label: D936
data_type: string
name: parse_data
arguments: label: D132
data_type: string
name: parse_data
arguments: label: D1206
data_type: string
name: parse_data
arguments: label: D248
data_type: string
name: parse_data
arguments: label: D1151
data_type: string
name: parse_data
arguments: label: D123
data_type: string
name: parse_data
arguments: label: D488
data_type: string
name: parse_data
arguments: label: D859
data_type: string
name: parse_data
arguments: label: D199
data_type: string
name: parse_data
arguments: label: D594
data_type: string
name: parse_data
arguments: label: D376
data_type: string
name: parse_data
arguments: label: D890
data_type: string
name: parse_data
arguments: label: D161
data_type: string
name: parse_data
arguments: label: D1111
data_type: string
name: parse_data
arguments: label: D628
data_type: string
name: parse_data
arguments: label: D160
data_type: string
name: parse_data
arguments: label: D688
data_type: string
name: parse_data
arguments: label: D1003
data_type: string
name: parse_data
arguments: label: D226
data_type: string
name: parse_data
arguments: label: D33
data_type: string
name: parse_data
arguments: label: D1022
data_type: string
name: parse_data
arguments: label: D99
data_type: string
name: parse_data
arguments: label: D118
data_type: string
name: parse_data
arguments: label: D1119
data_type: string
name: parse_data
arguments: label: D721
data_type: string
name: parse_data
arguments: label: D114
data_type: string
name: parse_data
arguments: label: D680
data_type: string
name: parse_data
arguments: label: D761
data_type: string
name: parse_data
arguments: label: D336
data_type: string
name: parse_data
arguments: label: D1080
data_type: string
name: parse_data
arguments: label: D35
data_type: string
name: parse_data
arguments: label: D361
data_type: string
name: parse_data
arguments: label: D379
data_type: string
name: parse_data
arguments: label: D246
data_type: string
name: parse_data
arguments: label: D750
data_type: string
name: parse_data
arguments: label: D785
data_type: string
name: parse_data
arguments: label: D555
data_type: string
name: parse_data
arguments: label: D1061
data_type: string
name: parse_data
arguments: label: D892
data_type: string
name: parse_data
arguments: label: D1041
data_type: string
name: parse_data
arguments: label: D1096
data_type: string
name: parse_data
arguments: label: D38
data_type: string
name: parse_data
arguments: label: D664
data_type: string
name: parse_data
arguments: label: D786
data_type: string

tool: D920: Nokia Mobile Phones

tool: D954: not assigned

tool: D1184: internal use

tool: D740: Intel Corp.

tool: D644: IBM Corp.

tool: D734: Toshiba Corp.

tool: D230: 3Com

tool: D861: Microsoft

tool: D741: Lucent

tool: D272: Motorola

tool: D545: Infineon Technologies AG

tool: D958: Cambridge Silicon Radio

tool: D197: Silicon Wave

tool: D102: Digianswer A/S

tool: D520: Texas Instruments Inc.

tool: D808: Parthus Technologies Inc.

tool: D939: Broadcom Corporation

tool: D952: Mitel Semiconductor

tool: D955: Widcomm, Inc.

tool: D1027: Zeevo, Inc.

tool: D1150: Atmel Corporation

tool: D423: Mitsubishi Electric Corporation

tool: D1102: RTX Telecom A/S

tool: D182: KC Technology Inc.

tool: D1209: Newlogic

tool: D531: Transilica, Inc.

tool: D459: Rohde & Schwartz GmbH & Co. KG

tool: D1130: TTPCom Limited

tool: D1208: Signia Technologies, Inc.

tool: D313: Conexant Systems Inc.

tool: D1139: Qualcomm

tool: D637: Inventel

tool: D214: AVM Berlin

tool: D142: BandSpeed, Inc.

tool: D136: Mansella Ltd

tool: D714: NEC Corporation

tool: D820: WavePlus Technology Co., Ltd.

tool: D949: Alcatel

tool: D405: Philips Semiconductors

tool: D145: C Technologies

tool: D1204: Open Interface

tool: D202: R F Micro Devices

tool: D598: Hitachi Ltd

tool: D1105: Symbol Technologies, Inc.

tool: D995: Tenovis

tool: D430: Macronix International Co. Ltd.

tool: D396: GCT Semiconductor

tool: D556: Norwood Systems

tool: D922: MewTel Technology Inc.

tool: D260: ST Microelectronics

tool: D471: Synopsys

tool: D646: Red-M (Communications) Ltd

tool: D117: Commil Ltd

tool: D597: Computer Access Technology Corporation (CATC)

tool: D287: Eclipse (HQ Espana) S.L.

tool: D165: Renesas Technology Corp.

tool: D813: Mobilian Corporation

tool: D1194: Terax

tool: D616: Integrated System Solution Corp.

tool: D1048: Matsushita Electric Industrial Co., Ltd.

tool: D303: Gennum Corporation

tool: D133: Research In Motion

tool: D148: IPextreme, Inc.

tool: D944: Systems and Chips, Inc

tool: D896: Bluetooth SIG, Inc

tool: D320: Seiko Epson Corporation

tool: D317: Integrated Silicon Solution Taiwain, Inc.

tool: D215: CONWISE Technology Corporation Ltd

tool: D279: PARROT SA

tool: D525: Socket Communications

tool: D1211: Atheros Communications, Inc.

tool: D395: MediaTek, Inc.

tool: D181: Bluegiga

tool: D583: Marvell Technology Group Ltd.

tool: D253: 3DSP Corporation

tool: D266: Accel Semiconductor Ltd.

tool: D936: Continental Automotive Systems

tool: D132: Apple, Inc.

tool: D1206: Staccato Communications, Inc.

tool: D248: Avago Technologies

tool: D1151: APT Ltd.

tool: D123: SiRF Technology, Inc.

tool: D488: Tzero Technologies, Inc.

tool: D859: J&M Corporation

tool: D199: Free2move AB

tool: D594: 3DiJoy Corporation

tool: D376: Plantronics, Inc.

tool: D890: Sony Ericsson Mobile Communications

tool: D161: Harman International Industries, Inc.

tool: D1111: Vizio, Inc.

tool: D628: Nordic Semiconductor ASA

tool: D160: EM Microelectronic-Marin SA

tool: D688: Ralink Technology Corporation

tool: D1003: Belkin International, Inc.

tool: D226: Realtek Semiconductor Corporation

tool: D33: Stonestreet One, LLC

tool: D1022: Wicentric, Inc.

tool: D99: RivieraWaves S.A.S

tool: D118: RDA Microelectronics

tool: D1119: Gibson Guitars

tool: D721: MiCommand Inc.

tool: D114: Band XI International, LLC

tool: D680: Hewlett-Packard Company

tool: D761: 9Solutions Oy

tool: D336: GN Netcom A/S

tool: D1080: General Motors

tool: D35: A&D Engineering, Inc.

tool: D361: MindTree Ltd.

tool: D379: Polar Electro OY

tool: D246: Beautiful Enterprise Co., Ltd.

tool: D750: BriarTek, Inc.

tool: D785: Summit Data Communications, Inc.

tool: D555: Sound ID

tool: D1061: Monster, LLC

tool: D892: connectBlue AB

tool: D1041: ShangHai Super Smart Electronics Co. Ltd.

tool: D1096: Group Sense Ltd.

tool: D38: Zomm, LLC

tool: D664: Samsung Electronics Co. Ltd.

tool: D786: Ericsson Technology Licensing

assistant: ```c
char *bt_compidtostr(int compid) {
  switch (compid) {
  case 0:
    return "Ericsson Technology Licensing";
  case 1:
    return "Nokia Mobile Phones";
  case 2:
    return "Intel Corp.";
  case 3:
    return "IBM Corp.";
  case 4:
    return "Toshiba Corp.";
  case 5:
    return "3Com";
  case 6:
    return "Microsoft";
  case 7:
    return "Lucent";
  case 8:
    return "Motorola";
  case 9:
    return "Infineon Technologies AG";
  case 10:
    return "Cambridge Silicon Radio";
  case 11:
    return "Silicon Wave";
  case 12:
    return "Digianswer A/S";
  case 13:
    return "Texas Instruments Inc.";
  case 14:
    return "Parthus Technologies Inc.";
  case 15:
    return "Broadcom Corporation";
  case 16:
    return "Mitel Semiconductor";
  case 17:
    return "Widcomm, Inc.";
  case 18:
    return "Zeevo, Inc.";
  case 19:
    return "Atmel Corporation";
  case 20:
    return "Mitsubishi Electric Corporation";
  case 21:
    return "RTX Telecom A/S";
  case 22:
    return "KC Technology Inc.";
  case 23:
    return "Newlogic";
  case 24:
    return "Transilica, Inc.";
  case 25:
    return "Rohde & Schwartz GmbH & Co. KG";
  case 26:
    return "TTPCom Limited";
  case 27:
    return "Signia Technologies, Inc.";
  case 28:
    return "Conexant Systems Inc.";
  case 29:
    return "Qualcomm";
  case 30:
    return "Inventel";
  case 31:
    return "AVM Berlin";
  case 32:
    return "BandSpeed, Inc.";
  case 33:
    return "Mansella Ltd";
  case 34:
    return "NEC Corporation";
  case 35:
    return "WavePlus Technology Co., Ltd.";
  case 36:
    return "Alcatel";
  case 37:
    return "Philips Semiconductors";
  case 38:
    return "C Technologies";
  case 39:
    return "Open Interface";
  case 40:
    return "R F Micro Devices";
  case 41:
    return "Hitachi Ltd";
  case 42:
    return "Symbol Technologies, Inc.";
  case 43:
    return "Tenovis";
  case 44:
    return "Macronix International Co. Ltd.";
  case 45:
    return "GCT Semiconductor";
  case 46:
    return "Norwood Systems";
  case 47:
    return "MewTel Technology Inc.";
  case 48:
    return "ST Microelectronics";
  case 49:
    return "Synopsys";
  case 50:
    return "Red-M (Communications) Ltd";
  case 51:
    return "Commil Ltd";
  case 52:
    return "Computer Access Technology Corporation (CATC)";
  case 53:
    return "Eclipse (HQ Espana) S.L.";
  case 54:
    return "Renesas Technology Corp.";
  case 55:
    return "Mobilian Corporation";
  case 56:
    return "Terax";
  case 57:
    return "Integrated System Solution Corp.";
  case 58:
    return "Matsushita Electric Industrial Co., Ltd.";
  case 59:
    return "Gennum Corporation";
  case 60:
    return "Research In Motion";
  case 61:
    return "IPextreme, Inc.";
  case 62:
    return "Systems and Chips, Inc";
  case 63:
    return "Bluetooth SIG, Inc";
  case 64:
    return "Seiko Epson Corporation";
  case 65:
    return "Integrated Silicon Solution Taiwain, Inc.";
  case 66:
    return "CONWISE Technology Corporation Ltd";
  case 67:
    return "PARROT SA";
  case 68:
    return "Socket Communications";
  case 69:
    return "Atheros Communications, Inc.";
  case 70:
    return "MediaTek, Inc.";
  case 71:
    return "Bluegiga";
  case 72:
    return "Marvell Technology Group Ltd.";
  case 73:
    return "3DSP Corporation";
  case 74:
    return "Accel Semiconductor Ltd.";
  case 75:
    return "Continental Automotive Systems";
  case 76:
    return "Apple, Inc.";
  case 77:
    return "Staccato Communications, Inc.";
  case 78:
    return "Avago Technologies";
  case 79:
    return "APT Ltd.";
  case 80:
    return "SiRF Technology, Inc.";
  case 81:
    return "Tzero Technologies, Inc.";
  case 82:
    return "J&M Corporation";
  case 83:
    return "Free2move AB";
  case 84:
    return "3DiJoy Corporation";
  case 85:
    return "Plantronics, Inc.";
  case 86:
    return "Sony Ericsson Mobile Communications";
  case 87:
    return "Harman International Industries, Inc.";
  case 88:
    return "Vizio, Inc.";
  case 89:
    return "Nordic Semiconductor ASA";
  case 90:
    return "EM Microelectronic-Marin SA";
  case 91:
    return "Ralink Technology Corporation";
  case 92:
    return "Belkin International, Inc.";
  case 93:
    return "Realtek Semiconductor Corporation";
  case 94:
    return "Stonestreet One, LLC";
  case 95:
    return "Wicentric, Inc.";
  case 96:
    return "RivieraWaves S.A.S";
  case 97:
    return "RDA Microelectronics";
  case 98:
    return "Gibson Guitars";
  case 99:
    return "MiCommand Inc.";
  case 100:
    return "Band XI International, LLC";
  case 101:
    return "Hewlett-Packard Company";
  case 102:
    return "9Solutions Oy";
  case 103:
    return "GN Netcom A/S";
  case 104:
    return "General Motors";
  case 105:
    return "A&D Engineering, Inc.";
  case 106:
    return "MindTree Ltd.";
  case 107:
    return "Polar Electro OY";
  case 108:
    return "Beautiful Enterprise Co., Ltd.";
  case 109:
    return "BriarTek, Inc.";
  case 110:
    return "Summit Data Communications, Inc.";
  case 111:
    return "Sound ID";
  case 112:
    return "Monster, LLC";
  case 113:
    return "connectBlue AB";
  case 114:
    return "ShangHai Super Smart Electronics Co. Ltd.";
  case 115:
    return "Group Sense Ltd.";
  case 116:
    return "Zomm, LLC";
  case 117:
    return "Samsung Electronics Co. Ltd.";
  case 65535:
    return "internal use";
  default:
    return "not assigned";
  }
}
```