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

```asm
<ssl_verificateion_description>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  add    $0xffffff80,%eax
  cmp    $0x20,%eax
  ja     L81
  mov    %eax,%eax
  lea    0x0(,%rax,4),%rdx
  lea    D177(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D177(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D276(%rip),%rax
  jmp    L150
  lea    D301(%rip),%rax
  jmp    L150
  lea    D49(%rip),%rax
  jmp    L150
  lea    D8(%rip),%rax
  jmp    L150
  lea    D307(%rip),%rax
  jmp    L150
  lea    D84(%rip),%rax
  jmp    L150
  lea    D115(%rip),%rax
  jmp    L150
  lea    D348(%rip),%rax
  jmp    L150
  lea    D153(%rip),%rax
  jmp    L150
  lea    D96(%rip),%rax
  jmp    L150
  lea    D171(%rip),%rax
  jmp    L150
  lea    D86(%rip),%rax
  jmp    L150
  lea    D43(%rip),%rax
  jmp    L150
  lea    D279(%rip),%rax
  jmp    L150
  lea    D1(%rip),%rax
  jmp    L150
  lea    D352(%rip),%rax
  jmp    L150
  lea    D198(%rip),%rax
  jmp    L150
  lea    D72(%rip),%rax
  jmp    L150
  lea    D318(%rip),%rax
  jmp    L150
  lea    D332(%rip),%rax
  jmp    L150
  lea    D58(%rip),%rax
  jmp    L150
  lea    D320(%rip),%rax
  jmp    L150
  lea    D11(%rip),%rax
  jmp    L150
  lea    D183(%rip),%rax
  jmp    L150
  lea    D239(%rip),%rax
  jmp    L150
  lea    D79(%rip),%rax
  jmp    L150
  lea    D196(%rip),%rax
  jmp    L150
  lea    D120(%rip),%rax
  jmp    L150
  lea    D302(%rip),%rax
  jmp    L150
  lea    D350(%rip),%rax
  jmp    L150
  lea    D340(%rip),%rax
  jmp    L150
  lea    D103(%rip),%rax
  jmp    L150
  lea    D2(%rip),%rax
  jmp    L150
L81:
  nop
  lea    D343(%rip),%rax
L150:
  pop    %rbp
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D276
data_type: string
name: retrieve_data
arguments: data_tag: D301
data_type: string
name: retrieve_data
arguments: data_tag: D49
data_type: string
name: retrieve_data
arguments: data_tag: D8
data_type: string
name: retrieve_data
arguments: data_tag: D307
data_type: string
name: retrieve_data
arguments: data_tag: D84
data_type: string
name: retrieve_data
arguments: data_tag: D115
data_type: string
name: retrieve_data
arguments: data_tag: D348
data_type: string
name: retrieve_data
arguments: data_tag: D153
data_type: string
name: retrieve_data
arguments: data_tag: D96
data_type: string
name: retrieve_data
arguments: data_tag: D171
data_type: string
name: retrieve_data
arguments: data_tag: D86
data_type: string
name: retrieve_data
arguments: data_tag: D43
data_type: string
name: retrieve_data
arguments: data_tag: D279
data_type: string
name: retrieve_data
arguments: data_tag: D1
data_type: string
name: retrieve_data
arguments: data_tag: D352
data_type: string
name: retrieve_data
arguments: data_tag: D198
data_type: string
name: retrieve_data
arguments: data_tag: D72
data_type: string
name: retrieve_data
arguments: data_tag: D318
data_type: string
name: retrieve_data
arguments: data_tag: D332
data_type: string
name: retrieve_data
arguments: data_tag: D58
data_type: string
name: retrieve_data
arguments: data_tag: D320
data_type: string
name: retrieve_data
arguments: data_tag: D11
data_type: string
name: retrieve_data
arguments: data_tag: D183
data_type: string
name: retrieve_data
arguments: data_tag: D239
data_type: string
name: retrieve_data
arguments: data_tag: D79
data_type: string
name: retrieve_data
arguments: data_tag: D196
data_type: string
name: retrieve_data
arguments: data_tag: D120
data_type: string
name: retrieve_data
arguments: data_tag: D302
data_type: string
name: retrieve_data
arguments: data_tag: D350
data_type: string
name: retrieve_data
arguments: data_tag: D340
data_type: string
name: retrieve_data
arguments: data_tag: D103
data_type: string
name: retrieve_data
arguments: data_tag: D2
data_type: string
name: retrieve_data
arguments: data_tag: D343
data_type: string

tool: D276: ok

tool: D301: unable to get issuer certificate

tool: D49: unable to get certificate CRL

tool: D8: unable to decrypt certificate's signature

tool: D307: unable to decrypt CRL's signature

tool: D84: unable to decode issuer public key

tool: D115: certificate signature failure

tool: D348: CRL signature failure

tool: D153: certificate is not yet valid

tool: D96: certificate has expired

tool: D171: CRL is not yet valid

tool: D86: CRL has expired

tool: D43: format error in certificate's notBefore field

tool: D279: format error in certificate's notAfter field

tool: D1: format error in CRL's lastUpdate field

tool: D352: format error in CRL's nextUpdate field

tool: D198: out of memory

tool: D72: self signed certificate

tool: D318: self signed certificate in certificate chain

tool: D332: unable to get local issuer certificate

tool: D58: unable to verify the first certificate

tool: D320: certificate chain too long

tool: D11: certificate revoked

tool: D183: invalid CA certificate

tool: D239: path length constraint exceeded

tool: D79: unsupported certificate purpose

tool: D196: certificate not trusted

tool: D120: certificate rejected

tool: D302: subject issuer mismatch

tool: D350: authority and subject key identifier mismatch

tool: D340: authority and issuer serial number mismatch

tool: D103: key usage does not include certificate signing

tool: D2: application verification failure

tool: D343: (undefined TLS/SSL verification code)

assistant: ```c
const char *ssl_verificateion_description(int code) {
  switch (code) {
  case X509_V_OK:
    return "ok";
  case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
    return "unable to get issuer certificate";
  case X509_V_ERR_UNABLE_TO_GET_CRL:
    return "unable to get certificate CRL";
  case X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE:
    return "unable to decrypt certificate's signature";
  case X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE:
    return "unable to decrypt CRL's signature";
  case X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY:
    return "unable to decode issuer public key";
  case X509_V_ERR_CERT_SIGNATURE_FAILURE:
    return "certificate signature failure";
  case X509_V_ERR_CRL_SIGNATURE_FAILURE:
    return "CRL signature failure";
  case X509_V_ERR_CERT_NOT_YET_VALID:
    return "certificate is not yet valid";
  case X509_V_ERR_CERT_HAS_EXPIRED:
    return "certificate has expired";
  case X509_V_ERR_CRL_NOT_YET_VALID:
    return "CRL is not yet valid";
  case X509_V_ERR_CRL_HAS_EXPIRED:
    return "CRL has expired";
  case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD:
    return "format error in certificate's notBefore field";
  case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD:
    return "format error in certificate's notAfter field";
  case X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD:
    return "format error in CRL's lastUpdate field";
  case X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD:
    return "format error in CRL's nextUpdate field";
  case X509_V_ERR_OUT_OF_MEM:
    return "out of memory";
  case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
    return "self signed certificate";
  case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:
    return "self signed certificate in certificate chain";
  case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:
    return "unable to get local issuer certificate";
  case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:
    return "unable to verify the first certificate";
  case X509_V_ERR_CERT_CHAIN_TOO_LONG:
    return "certificate chain too long";
  case X509_V_ERR_CERT_REVOKED:
    return "certificate revoked";
  case X509_V_ERR_INVALID_CA:
    return "invalid CA certificate";
  case X509_V_ERR_PATH_LENGTH_EXCEEDED:
    return "path length constraint exceeded";
  case X509_V_ERR_INVALID_PURPOSE:
    return "unsupported certificate purpose";
  case X509_V_ERR_CERT_UNTRUSTED:
    return "certificate not trusted";
  case X509_V_ERR_CERT_REJECTED:
    return "certificate rejected";
  case X509_V_ERR_SUBJECT_ISSUER_MISMATCH:
    return "subject issuer mismatch";
  case X509_V_ERR_AKID_SKID_MISMATCH:
    return "authority and subject key identifier mismatch";
  case X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH:
    return "authority and issuer serial number mismatch";
  case X509_V_ERR_KEYUSAGE_NO_CERTSIGN:
    return "key usage does not include certificate signing";
  case X509_V_ERR_APPLICATION_VERIFICATION:
    return "application verification failure";
  default:
    break;
  }
  return "(undefined TLS/SSL verification code)";
}
```