user: 请从给定的汇编指令推导出C源代码:

```asm
<mg_get_response_code_text>:
  endbr64
  sub    $0x64,%edi
  cmp    $0x1e0,%edi
  ja     L2
  mov    %edi,%edi
  lea    D17(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D580(%rip),%rax
  ret
  lea    D564(%rip),%rax
  ret
  lea    D35(%rip),%rax
  ret
  lea    D518(%rip),%rax
  ret
  lea    D331(%rip),%rax
  ret
  lea    D310(%rip),%rax
  ret
  lea    D191(%rip),%rax
  ret
  lea    D170(%rip),%rax
  ret
  lea    D223(%rip),%rax
  ret
  lea    D284(%rip),%rax
  ret
  lea    D163(%rip),%rax
  ret
  lea    D423(%rip),%rax
  ret
  lea    D466(%rip),%rax
  ret
  lea    D571(%rip),%rax
  ret
  lea    D370(%rip),%rax
  ret
  lea    D633(%rip),%rax
  ret
  lea    D230(%rip),%rax
  ret
  lea    D267(%rip),%rax
  ret
  lea    D14(%rip),%rax
  ret
  lea    D433(%rip),%rax
  ret
  lea    D41(%rip),%rax
  ret
  lea    D421(%rip),%rax
  ret
  lea    D117(%rip),%rax
  ret
  lea    D341(%rip),%rax
  ret
  lea    D324(%rip),%rax
  ret
  lea    D0(%rip),%rax
  ret
  lea    D33(%rip),%rax
  ret
  lea    D546(%rip),%rax
  ret
  lea    D543(%rip),%rax
  ret
  lea    D281(%rip),%rax
  ret
  lea    D443(%rip),%rax
  ret
  lea    D56(%rip),%rax
  ret
  lea    D115(%rip),%rax
  ret
  lea    D144(%rip),%rax
  ret
  lea    D493(%rip),%rax
  ret
  lea    D424(%rip),%rax
  ret
  lea    D631(%rip),%rax
  ret
  lea    D136(%rip),%rax
  ret
  lea    D429(%rip),%rax
  ret
  lea    D285(%rip),%rax
  ret
  lea    D382(%rip),%rax
  ret
  lea    D406(%rip),%rax
  ret
  lea    D448(%rip),%rax
  ret
  lea    D266(%rip),%rax
  ret
  lea    D347(%rip),%rax
  ret
  lea    D268(%rip),%rax
  ret
  lea    D52(%rip),%rax
  ret
  lea    D480(%rip),%rax
  ret
  lea    D523(%rip),%rax
  ret
  lea    D335(%rip),%rax
  ret
  lea    D450(%rip),%rax
  ret
  lea    D93(%rip),%rax
  ret
  lea    D72(%rip),%rax
  ret
  lea    D61(%rip),%rax
  ret
  lea    D602(%rip),%rax
  ret
  lea    D539(%rip),%rax
  ret
  lea    D511(%rip),%rax
  ret
  lea    D206(%rip),%rax
  ret
  lea    D142(%rip),%rax
  ret
  lea    D8(%rip),%rax
  ret
  lea    D408(%rip),%rax
  ret
  lea    D49(%rip),%rax
  ret
L2:
  lea    D21(%rip),%rax
  ret
  lea    D282(%rip),%rax
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D580
type: string
name: retrieve_data
arguments: data_tag: D564
type: string
name: retrieve_data
arguments: data_tag: D35
type: string
name: retrieve_data
arguments: data_tag: D518
type: string
name: retrieve_data
arguments: data_tag: D331
type: string
name: retrieve_data
arguments: data_tag: D310
type: string
name: retrieve_data
arguments: data_tag: D191
type: string
name: retrieve_data
arguments: data_tag: D170
type: string
name: retrieve_data
arguments: data_tag: D223
type: string
name: retrieve_data
arguments: data_tag: D284
type: string
name: retrieve_data
arguments: data_tag: D163
type: string
name: retrieve_data
arguments: data_tag: D423
type: string
name: retrieve_data
arguments: data_tag: D466
type: string
name: retrieve_data
arguments: data_tag: D571
type: string
name: retrieve_data
arguments: data_tag: D370
type: string
name: retrieve_data
arguments: data_tag: D633
type: string
name: retrieve_data
arguments: data_tag: D230
type: string
name: retrieve_data
arguments: data_tag: D267
type: string
name: retrieve_data
arguments: data_tag: D14
type: string
name: retrieve_data
arguments: data_tag: D433
type: string
name: retrieve_data
arguments: data_tag: D41
type: string
name: retrieve_data
arguments: data_tag: D421
type: string
name: retrieve_data
arguments: data_tag: D117
type: string
name: retrieve_data
arguments: data_tag: D341
type: string
name: retrieve_data
arguments: data_tag: D324
type: string
name: retrieve_data
arguments: data_tag: D0
type: string
name: retrieve_data
arguments: data_tag: D33
type: string
name: retrieve_data
arguments: data_tag: D546
type: string
name: retrieve_data
arguments: data_tag: D543
type: string
name: retrieve_data
arguments: data_tag: D281
type: string
name: retrieve_data
arguments: data_tag: D443
type: string
name: retrieve_data
arguments: data_tag: D56
type: string
name: retrieve_data
arguments: data_tag: D115
type: string
name: retrieve_data
arguments: data_tag: D144
type: string
name: retrieve_data
arguments: data_tag: D493
type: string
name: retrieve_data
arguments: data_tag: D424
type: string
name: retrieve_data
arguments: data_tag: D631
type: string
name: retrieve_data
arguments: data_tag: D136
type: string
name: retrieve_data
arguments: data_tag: D429
type: string
name: retrieve_data
arguments: data_tag: D285
type: string
name: retrieve_data
arguments: data_tag: D382
type: string
name: retrieve_data
arguments: data_tag: D406
type: string
name: retrieve_data
arguments: data_tag: D448
type: string
name: retrieve_data
arguments: data_tag: D266
type: string
name: retrieve_data
arguments: data_tag: D347
type: string
name: retrieve_data
arguments: data_tag: D268
type: string
name: retrieve_data
arguments: data_tag: D52
type: string
name: retrieve_data
arguments: data_tag: D480
type: string
name: retrieve_data
arguments: data_tag: D523
type: string
name: retrieve_data
arguments: data_tag: D335
type: string
name: retrieve_data
arguments: data_tag: D450
type: string
name: retrieve_data
arguments: data_tag: D93
type: string
name: retrieve_data
arguments: data_tag: D72
type: string
name: retrieve_data
arguments: data_tag: D61
type: string
name: retrieve_data
arguments: data_tag: D602
type: string
name: retrieve_data
arguments: data_tag: D539
type: string
name: retrieve_data
arguments: data_tag: D511
type: string
name: retrieve_data
arguments: data_tag: D206
type: string
name: retrieve_data
arguments: data_tag: D142
type: string
name: retrieve_data
arguments: data_tag: D8
type: string
name: retrieve_data
arguments: data_tag: D408
type: string
name: retrieve_data
arguments: data_tag: D49
type: string
name: retrieve_data
arguments: data_tag: D21
type: string
name: retrieve_data
arguments: data_tag: D282
type: string

tool: D580: Switching Protocols

tool: D564: Processing

tool: D35: OK

tool: D518: Created

tool: D331: Accepted

tool: D310: Non-Authoritative Information

tool: D191: No Content

tool: D170: Reset Content

tool: D223: Partial Content

tool: D284: Multi-Status

tool: D163: Already Reported

tool: D423: IM Used

tool: D466: Multiple Choices

tool: D571: Moved Permanently

tool: D370: Found

tool: D633: See Other

tool: D230: Not Modified

tool: D267: Use Proxy

tool: D14: Temporary Redirect

tool: D433: Permanent Redirect

tool: D41: Bad Request

tool: D421: Unauthorized

tool: D117: Payment Required

tool: D341: Forbidden

tool: D324: Not Found

tool: D0: Method Not Allowed

tool: D33: Not Acceptable

tool: D546: Proxy Authentication Required

tool: D543: Request Time-out

tool: D281: Conflict

tool: D443: Gone

tool: D56: Length Required

tool: D115: Precondition Failed

tool: D144: Request Entity Too Large

tool: D493: Request-URI Too Large

tool: D424: Unsupported Media Type

tool: D631: Requested range not satisfiable

tool: D136: Expectation Failed

tool: D429: Enhance Your Calm

tool: D285: Unprocessable Entity

tool: D382: Locked

tool: D406: Failed Dependency

tool: D448: Unordered Collection

tool: D266: Upgrade Required

tool: D347: Precondition Required

tool: D268: Too Many Requests

tool: D52: Request Headers Field Too Large

tool: D480: Internal Server Error

tool: D523: Not Implemented

tool: D335: Bad Gateway

tool: D450: Service Unavailable

tool: D93: Gateway Time-out

tool: D72: HTTP Version not supported

tool: D61: Variant Also Negotiates

tool: D602: Insufficient Storage

tool: D539: Loop Detected

tool: D511: Not Extended

tool: D206: Network Authentication Required

tool: D142: Mongoose Internal Server Error

tool: D8: Mongoose Internal Server Error: file I/O

tool: D408: Mongoose Internal Server Error: socket I/O

tool: D49: Mongoose Internal Server Error or client closed connection prematurely

tool: D21: Unknown Response Code

tool: D282: Continue

assistant: ```c
const char *mg_get_response_code_text(int response_code) {
  switch (response_code) {
  case 100:
    return "Continue";
  case 101:
    return "Switching Protocols";
  case 102:
    return "Processing";
  case 200:
    return "OK";
  case 201:
    return "Created";
  case 202:
    return "Accepted";
  case 203:
    return "Non-Authoritative Information";
  case 204:
    return "No Content";
  case 205:
    return "Reset Content";
  case 206:
    return "Partial Content";
  case 207:
    return "Multi-Status";
  case 208:
    return "Already Reported";
  case 226:
    return "IM Used";
  case 300:
    return "Multiple Choices";
  case 301:
    return "Moved Permanently";
  case 302:
    return "Found";
  case 303:
    return "See Other";
  case 304:
    return "Not Modified";
  case 305:
    return "Use Proxy";
  case 307:
    return "Temporary Redirect";
  case 308:
    return "Permanent Redirect";
  case 400:
    return "Bad Request";
  case 401:
    return "Unauthorized";
  case 402:
    return "Payment Required";
  case 403:
    return "Forbidden";
  case 404:
    return "Not Found";
  case 405:
    return "Method Not Allowed";
  case 406:
    return "Not Acceptable";
  case 407:
    return "Proxy Authentication Required";
  case 408:
    return "Request Time-out";
  case 409:
    return "Conflict";
  case 410:
    return "Gone";
  case 411:
    return "Length Required";
  case 412:
    return "Precondition Failed";
  case 413:
    return "Request Entity Too Large";
  case 414:
    return "Request-URI Too Large";
  case 415:
    return "Unsupported Media Type";
  case 416:
    return "Requested range not satisfiable";
  case 417:
    return "Expectation Failed";
  case 420:
    return "Enhance Your Calm";
  case 422:
    return "Unprocessable Entity";
  case 423:
    return "Locked";
  case 424:
    return "Failed Dependency";
  case 425:
    return "Unordered Collection";
  case 426:
    return "Upgrade Required";
  case 428:
    return "Precondition Required";
  case 429:
    return "Too Many Requests";
  case 431:
    return "Request Headers Field Too Large";
  case 500:
    return "Internal Server Error";
  case 501:
    return "Not Implemented";
  case 502:
    return "Bad Gateway";
  case 503:
    return "Service Unavailable";
  case 504:
    return "Gateway Time-out";
  case 505:
    return "HTTP Version not supported";
  case 506:
    return "Variant Also Negotiates";
  case 507:
    return "Insufficient Storage";
  case 508:
    return "Loop Detected";
  case 510:
    return "Not Extended";
  case 511:
    return "Network Authentication Required";
  case 577:
    return "Mongoose Internal Server Error";
  case 578:
    return "Mongoose Internal Server Error: file I/O";
  case 579:
    return "Mongoose Internal Server Error: socket I/O";
  case 580:
    return "Mongoose Internal Server Error or client closed connection prematurely";
  default:
    return "Unknown Response Code";
  }
}
```