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

```asm
<get_ratestr>:
  endbr64
  cmp    $0x93,%edi
  ja     L4
  lea    D166(%rip),%rdx
  mov    %edi,%edi
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  nopl   0x0(%rax,%rax,1)
  lea    D141(%rip),%rax
  ret
  lea    D57(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D41(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D200(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D78(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D21(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D131(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
  lea    D132(%rip),%rax
  ret
  nopl   0x0(%rax,%rax,1)
L4:
  lea    D70(%rip),%rax
  ret
  lea    D165(%rip),%rax
  ret
  lea    D102(%rip),%rax
  ret
  lea    D156(%rip),%rax
  ret
  lea    D117(%rip),%rax
  ret
  lea    D201(%rip),%rax
  ret
  lea    D180(%rip),%rax
  ret
  lea    D218(%rip),%rax
  ret
  lea    D29(%rip),%rax
  ret
  lea    D83(%rip),%rax
  ret
  lea    D123(%rip),%rax
  ret
  lea    D191(%rip),%rax
  ret
  lea    D169(%rip),%rax
  ret
```

tool_calls: name: read_data
arguments: label: D141
type: string
name: read_data
arguments: label: D57
type: string
name: read_data
arguments: label: D41
type: string
name: read_data
arguments: label: D200
type: string
name: read_data
arguments: label: D78
type: string
name: read_data
arguments: label: D21
type: string
name: read_data
arguments: label: D131
type: string
name: read_data
arguments: label: D132
type: string
name: read_data
arguments: label: D70
type: string
name: read_data
arguments: label: D165
type: string
name: read_data
arguments: label: D102
type: string
name: read_data
arguments: label: D156
type: string
name: read_data
arguments: label: D117
type: string
name: read_data
arguments: label: D201
type: string
name: read_data
arguments: label: D180
type: string
name: read_data
arguments: label: D218
type: string
name: read_data
arguments: label: D29
type: string
name: read_data
arguments: label: D83
type: string
name: read_data
arguments: label: D123
type: string
name: read_data
arguments: label: D191
type: string
name: read_data
arguments: label: D169
type: string

tool: D141: MCS0

tool: D57: MCS1

tool: D41: MCS2

tool: D200: MCS3

tool: D78: MCS4

tool: D21: MCS5

tool: D131: MCS6

tool: D132: MCS7

tool: D70: Unkn

tool: D165: 54

tool: D102: 48

tool: D156: 36

tool: D117: 24

tool: D201: 18

tool: D180: 12

tool: D218: 9

tool: D29: 6

tool: D83: 11

tool: D123: 5.5

tool: D191: 1

tool: D169: 2

assistant: ```c
char *get_ratestr(int txRate) {
  char *pStr;
  switch (txRate) {
  case 0:
    pStr = "1";
    break;
  case 1:
    pStr = "2";
    break;
  case 2:
    pStr = "5.5";
    break;
  case 3:
    pStr = "11";
    break;
  case 4:
    pStr = "6";
    break;
  case 5:
    pStr = "9";
    break;
  case 6:
    pStr = "12";
    break;
  case 7:
    pStr = "18";
    break;
  case 8:
    pStr = "24";
    break;
  case 9:
    pStr = "36";
    break;
  case 10:
    pStr = "48";
    break;
  case 11:
    pStr = "54";
    break;
  case 12:
    pStr = "MCS0";
    break;
  case 13:
    pStr = "MCS1";
    break;
  case 14:
    pStr = "MCS2";
    break;
  case 15:
    pStr = "MCS3";
    break;
  case 16:
    pStr = "MCS4";
    break;
  case 17:
    pStr = "MCS5";
    break;
  case 18:
    pStr = "MCS6";
    break;
  case 19:
    pStr = "MCS7";
    break;
  case 140:
    pStr = "MCS0";
    break;
  case 141:
    pStr = "MCS1";
    break;
  case 142:
    pStr = "MCS2";
    break;
  case 143:
    pStr = "MCS3";
    break;
  case 144:
    pStr = "MCS4";
    break;
  case 145:
    pStr = "MCS5";
    break;
  case 146:
    pStr = "MCS6";
    break;
  case 147:
    pStr = "MCS7";
    break;
  default:
    pStr = "Unkn";
    break;
  }
  return pStr;
}
```