const char *description(unsigned ciphersuite) {
  switch (ciphersuite) {
  case 0x0004:
    return "TLS_RSA_WITH_RC4_128_MD5";
  case 0x0005:
    return "TLS_RSA_WITH_RC4_128_SHA";
  case 0x0006:
    return "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5";
  case 0x0007:
    return "TLS_RSA_WITH_IDEA_CBC_SHA";
  case 0x0008:
    return "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA";
  case 0x0009:
    return "TLS_RSA_WITH_DES_CBC_SHA";
  case 0x000A:
    return "TLS_RSA_WITH_3DES_EDE_CBC_SHA";
  case 0x000B:
    return "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA";
  case 0x000C:
    return "TLS_DH_DSS_WITH_DES_CBC_SHA";
  case 0x000D:
    return "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA";
  case 0x000E:
    return "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA";
  case 0x000F:
    return "TLS_DH_RSA_WITH_DES_CBC_SHA";
  case 0x0010:
    return "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA";
  case 0x0011:
    return "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA";
  case 0x0012:
    return "TLS_DHE_DSS_WITH_DES_CBC_SHA";
  case 0x0013:
    return "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA";
  case 0x0014:
    return "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA";
  case 0x0015:
    return "TLS_DHE_RSA_WITH_DES_CBC_SHA";
  case 0x0016:
    return "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA";
  case 0x0017:
    return "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5";
  case 0x0018:
    return "TLS_DH_anon_WITH_RC4_128_MD5";
  case 0x0019:
    return "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA";
  case 0x001A:
    return "TLS_DH_anon_WITH_DES_CBC_SHA";
  case 0x001B:
    return "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA";
  case 0x002E:
    return "TLS_RSA_PSK_WITH_NULL_SHA";
  case 0x002F:
    return "TLS_RSA_WITH_AES_128_CBC_SHA";
  case 0x0030:
    return "TLS_DH_DSS_WITH_AES_128_CBC_SHA";
  case 0x0031:
    return "TLS_DH_RSA_WITH_AES_128_CBC_SHA";
  case 0x0032:
    return "TLS_DHE_DSS_WITH_AES_128_CBC_SHA";
  case 0x0033:
    return "TLS_DHE_RSA_WITH_AES_128_CBC_SHA";
  case 0x0034:
    return "TLS_DH_anon_WITH_AES_128_CBC_SHA";
  case 0x0035:
    return "TLS_RSA_WITH_AES_256_CBC_SHA";
  case 0x0036:
    return "TLS_DH_DSS_WITH_AES_256_CBC_SHA";
  case 0x0037:
    return "TLS_DH_RSA_WITH_AES_256_CBC_SHA";
  case 0x0038:
    return "TLS_DHE_DSS_WITH_AES_256_CBC_SHA";
  case 0x0039:
    return "TLS_DHE_RSA_WITH_AES_256_CBC_SHA";
  case 0x003A:
    return "TLS_DH_anon_WITH_AES_256_CBC_SHA";
  case 0x003B:
    return "TLS_RSA_WITH_NULL_SHA256";
  case 0x003C:
    return "TLS_RSA_WITH_AES_128_CBC_SHA256";
  case 0x003D:
    return "TLS_RSA_WITH_AES_256_CBC_SHA256";
  case 0x003E:
    return "TLS_DH_DSS_WITH_AES_128_CBC_SHA256";
  case 0x003F:
    return "TLS_DH_RSA_WITH_AES_128_CBC_SHA256";
  case 0x0040:
    return "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256";
  case 0x0067:
    return "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256";
  case 0x0068:
    return "TLS_DH_DSS_WITH_AES_256_CBC_SHA256";
  case 0x0069:
    return "TLS_DH_RSA_WITH_AES_256_CBC_SHA256";
  case 0x006A:
    return "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256";
  case 0x006B:
    return "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256";
  case 0x006C:
    return "TLS_DH_anon_WITH_AES_128_CBC_SHA256";
  case 0x006D:
    return "TLS_DH_anon_WITH_AES_256_CBC_SHA256";
  case 0x0084:
    return "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA";
  case 0x0085:
    return "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA";
  case 0x0086:
    return "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA";
  case 0x0087:
    return "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA";
  case 0x0088:
    return "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA";
  case 0xC002:
    return "TLS_ECDH_ECDSA_WITH_RC4_128_SHA";
  case 0xC003:
    return "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA";
  case 0xC004:
    return "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA";
  case 0xC005:
    return "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA";
  case 0xC006:
    return "TLS_ECDHE_ECDSA_WITH_NULL_SHA";
  case 0xC007:
    return "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA";
  case 0xC008:
    return "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA";
  case 0xC009:
    return "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA";
  case 0xC00A:
    return "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA";
  case 0xC00B:
    return "TLS_ECDH_RSA_WITH_NULL_SHA";
  case 0xC00C:
    return "TLS_ECDH_RSA_WITH_RC4_128_SHA";
  case 0xC00D:
    return "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA";
  case 0xC00E:
    return "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA";
  case 0xC00F:
    return "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA";
  case 0xC010:
    return "TLS_ECDHE_RSA_WITH_NULL_SHA";
  case 0xC011:
    return "TLS_ECDHE_RSA_WITH_RC4_128_SHA";
  case 0xC012:
    return "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA";
  case 0xC013:
    return "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA";
  case 0xC014:
    return "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA";
  case 0xC023:
    return "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256";
  case 0xC024:
    return "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384";
  case 0xC025:
    return "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256";
  case 0xC026:
    return "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384";
  case 0xC027:
    return "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256";
  case 0xC028:
    return "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384";
  case 0xC029:
    return "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256";
  case 0xC02A:
    return "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384";
  case 0xC02B:
    return "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256";
  case 0xC02C:
    return "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384";
  case 0xC02D:
    return "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256";
  case 0xC02E:
    return "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384";
  case 0xC02F:
    return "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256";
  case 0xC030:
    return "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384";
  case 0xC031:
    return "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256";
  case 0xC032:
    return "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384";
  default:
    return "";
  }
}


x86 assembly (clang, -O0):
<description>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0xc(%rbp)
mov    -0xc(%rbp),%eax
mov    %eax,-0x10(%rbp)
sub    $0x4,%eax
je     1754 <description+0x654>
jmp    111b <description+0x1b>
mov    -0x10(%rbp),%eax
sub    $0x5,%eax
je     1764 <description+0x664>
jmp    112c <description+0x2c>
mov    -0x10(%rbp),%eax
sub    $0x6,%eax
je     1774 <description+0x674>
jmp    113d <description+0x3d>
mov    -0x10(%rbp),%eax
sub    $0x7,%eax
je     1784 <description+0x684>
jmp    114e <description+0x4e>
mov    -0x10(%rbp),%eax
sub    $0x8,%eax
je     1794 <description+0x694>
jmp    115f <description+0x5f>
mov    -0x10(%rbp),%eax
sub    $0x9,%eax
je     17a4 <description+0x6a4>
jmp    1170 <description+0x70>
mov    -0x10(%rbp),%eax
sub    $0xa,%eax
je     17b4 <description+0x6b4>
jmp    1181 <description+0x81>
mov    -0x10(%rbp),%eax
sub    $0xb,%eax
je     17c4 <description+0x6c4>
jmp    1192 <description+0x92>
mov    -0x10(%rbp),%eax
sub    $0xc,%eax
je     17d4 <description+0x6d4>
jmp    11a3 <description+0xa3>
mov    -0x10(%rbp),%eax
sub    $0xd,%eax
je     17e4 <description+0x6e4>
jmp    11b4 <description+0xb4>
mov    -0x10(%rbp),%eax
sub    $0xe,%eax
je     17f4 <description+0x6f4>
jmp    11c5 <description+0xc5>
mov    -0x10(%rbp),%eax
sub    $0xf,%eax
je     1804 <description+0x704>
jmp    11d6 <description+0xd6>
mov    -0x10(%rbp),%eax
sub    $0x10,%eax
je     1814 <description+0x714>
jmp    11e7 <description+0xe7>
mov    -0x10(%rbp),%eax
sub    $0x11,%eax
je     1824 <description+0x724>
jmp    11f8 <description+0xf8>
mov    -0x10(%rbp),%eax
sub    $0x12,%eax
je     1834 <description+0x734>
jmp    1209 <description+0x109>
mov    -0x10(%rbp),%eax
sub    $0x13,%eax
je     1844 <description+0x744>
jmp    121a <description+0x11a>
mov    -0x10(%rbp),%eax
sub    $0x14,%eax
je     1854 <description+0x754>
jmp    122b <description+0x12b>
mov    -0x10(%rbp),%eax
sub    $0x15,%eax
je     1864 <description+0x764>
jmp    123c <description+0x13c>
mov    -0x10(%rbp),%eax
sub    $0x16,%eax
je     1874 <description+0x774>
jmp    124d <description+0x14d>
mov    -0x10(%rbp),%eax
sub    $0x17,%eax
je     1884 <description+0x784>
jmp    125e <description+0x15e>
mov    -0x10(%rbp),%eax
sub    $0x18,%eax
je     1894 <description+0x794>
jmp    126f <description+0x16f>
mov    -0x10(%rbp),%eax
sub    $0x19,%eax
je     18a4 <description+0x7a4>
jmp    1280 <description+0x180>
mov    -0x10(%rbp),%eax
sub    $0x1a,%eax
je     18b4 <description+0x7b4>
jmp    1291 <description+0x191>
mov    -0x10(%rbp),%eax
sub    $0x1b,%eax
je     18c4 <description+0x7c4>
jmp    12a2 <description+0x1a2>
mov    -0x10(%rbp),%eax
sub    $0x2e,%eax
je     18d4 <description+0x7d4>
jmp    12b3 <description+0x1b3>
mov    -0x10(%rbp),%eax
sub    $0x2f,%eax
je     18e4 <description+0x7e4>
jmp    12c4 <description+0x1c4>
mov    -0x10(%rbp),%eax
sub    $0x30,%eax
je     18f4 <description+0x7f4>
jmp    12d5 <description+0x1d5>
mov    -0x10(%rbp),%eax
sub    $0x31,%eax
je     1904 <description+0x804>
jmp    12e6 <description+0x1e6>
mov    -0x10(%rbp),%eax
sub    $0x32,%eax
je     1914 <description+0x814>
jmp    12f7 <description+0x1f7>
mov    -0x10(%rbp),%eax
sub    $0x33,%eax
je     1924 <description+0x824>
jmp    1308 <description+0x208>
mov    -0x10(%rbp),%eax
sub    $0x34,%eax
je     1934 <description+0x834>
jmp    1319 <description+0x219>
mov    -0x10(%rbp),%eax
sub    $0x35,%eax
je     1944 <description+0x844>
jmp    132a <description+0x22a>
mov    -0x10(%rbp),%eax
sub    $0x36,%eax
je     1954 <description+0x854>
jmp    133b <description+0x23b>
mov    -0x10(%rbp),%eax
sub    $0x37,%eax
je     1964 <description+0x864>
jmp    134c <description+0x24c>
mov    -0x10(%rbp),%eax
sub    $0x38,%eax
je     1974 <description+0x874>
jmp    135d <description+0x25d>
mov    -0x10(%rbp),%eax
sub    $0x39,%eax
je     1984 <description+0x884>
jmp    136e <description+0x26e>
mov    -0x10(%rbp),%eax
sub    $0x3a,%eax
je     1994 <description+0x894>
jmp    137f <description+0x27f>
mov    -0x10(%rbp),%eax
sub    $0x3b,%eax
je     19a4 <description+0x8a4>
jmp    1390 <description+0x290>
mov    -0x10(%rbp),%eax
sub    $0x3c,%eax
je     19b4 <description+0x8b4>
jmp    13a1 <description+0x2a1>
mov    -0x10(%rbp),%eax
sub    $0x3d,%eax
je     19c4 <description+0x8c4>
jmp    13b2 <description+0x2b2>
mov    -0x10(%rbp),%eax
sub    $0x3e,%eax
je     19d4 <description+0x8d4>
jmp    13c3 <description+0x2c3>
mov    -0x10(%rbp),%eax
sub    $0x3f,%eax
je     19e4 <description+0x8e4>
jmp    13d4 <description+0x2d4>
mov    -0x10(%rbp),%eax
sub    $0x40,%eax
je     19f4 <description+0x8f4>
jmp    13e5 <description+0x2e5>
mov    -0x10(%rbp),%eax
sub    $0x67,%eax
je     1a04 <description+0x904>
jmp    13f6 <description+0x2f6>
mov    -0x10(%rbp),%eax
sub    $0x68,%eax
je     1a14 <description+0x914>
jmp    1407 <description+0x307>
mov    -0x10(%rbp),%eax
sub    $0x69,%eax
je     1a24 <description+0x924>
jmp    1418 <description+0x318>
mov    -0x10(%rbp),%eax
sub    $0x6a,%eax
je     1a34 <description+0x934>
jmp    1429 <description+0x329>
mov    -0x10(%rbp),%eax
sub    $0x6b,%eax
je     1a44 <description+0x944>
jmp    143a <description+0x33a>
mov    -0x10(%rbp),%eax
sub    $0x6c,%eax
je     1a54 <description+0x954>
jmp    144b <description+0x34b>
mov    -0x10(%rbp),%eax
sub    $0x6d,%eax
je     1a64 <description+0x964>
jmp    145c <description+0x35c>
mov    -0x10(%rbp),%eax
sub    $0x84,%eax
je     1a74 <description+0x974>
jmp    146f <description+0x36f>
mov    -0x10(%rbp),%eax
sub    $0x85,%eax
je     1a84 <description+0x984>
jmp    1482 <description+0x382>
mov    -0x10(%rbp),%eax
sub    $0x86,%eax
je     1a94 <description+0x994>
jmp    1495 <description+0x395>
mov    -0x10(%rbp),%eax
sub    $0x87,%eax
je     1aa4 <description+0x9a4>
jmp    14a8 <description+0x3a8>
mov    -0x10(%rbp),%eax
sub    $0x88,%eax
je     1ab4 <description+0x9b4>
jmp    14bb <description+0x3bb>
mov    -0x10(%rbp),%eax
sub    $0xc002,%eax
je     1ac4 <description+0x9c4>
jmp    14ce <description+0x3ce>
mov    -0x10(%rbp),%eax
sub    $0xc003,%eax
je     1ad4 <description+0x9d4>
jmp    14e1 <description+0x3e1>
mov    -0x10(%rbp),%eax
sub    $0xc004,%eax
je     1ae4 <description+0x9e4>
jmp    14f4 <description+0x3f4>
mov    -0x10(%rbp),%eax
sub    $0xc005,%eax
je     1af4 <description+0x9f4>
jmp    1507 <description+0x407>
mov    -0x10(%rbp),%eax
sub    $0xc006,%eax
je     1b04 <description+0xa04>
jmp    151a <description+0x41a>
mov    -0x10(%rbp),%eax
sub    $0xc007,%eax
je     1b14 <description+0xa14>
jmp    152d <description+0x42d>
mov    -0x10(%rbp),%eax
sub    $0xc008,%eax
je     1b24 <description+0xa24>
jmp    1540 <description+0x440>
mov    -0x10(%rbp),%eax
sub    $0xc009,%eax
je     1b34 <description+0xa34>
jmp    1553 <description+0x453>
mov    -0x10(%rbp),%eax
sub    $0xc00a,%eax
je     1b44 <description+0xa44>
jmp    1566 <description+0x466>
mov    -0x10(%rbp),%eax
sub    $0xc00b,%eax
je     1b54 <description+0xa54>
jmp    1579 <description+0x479>
mov    -0x10(%rbp),%eax
sub    $0xc00c,%eax
je     1b64 <description+0xa64>
jmp    158c <description+0x48c>
mov    -0x10(%rbp),%eax
sub    $0xc00d,%eax
je     1b74 <description+0xa74>
jmp    159f <description+0x49f>
mov    -0x10(%rbp),%eax
sub    $0xc00e,%eax
je     1b84 <description+0xa84>
jmp    15b2 <description+0x4b2>
mov    -0x10(%rbp),%eax
sub    $0xc00f,%eax
je     1b94 <description+0xa94>
jmp    15c5 <description+0x4c5>
mov    -0x10(%rbp),%eax
sub    $0xc010,%eax
je     1ba4 <description+0xaa4>
jmp    15d8 <description+0x4d8>
mov    -0x10(%rbp),%eax
sub    $0xc011,%eax
je     1bb4 <description+0xab4>
jmp    15eb <description+0x4eb>
mov    -0x10(%rbp),%eax
sub    $0xc012,%eax
je     1bc4 <description+0xac4>
jmp    15fe <description+0x4fe>
mov    -0x10(%rbp),%eax
sub    $0xc013,%eax
je     1bd4 <description+0xad4>
jmp    1611 <description+0x511>
mov    -0x10(%rbp),%eax
sub    $0xc014,%eax
je     1be4 <description+0xae4>
jmp    1624 <description+0x524>
mov    -0x10(%rbp),%eax
sub    $0xc023,%eax
je     1bf4 <description+0xaf4>
jmp    1637 <description+0x537>
mov    -0x10(%rbp),%eax
sub    $0xc024,%eax
je     1c04 <description+0xb04>
jmp    164a <description+0x54a>
mov    -0x10(%rbp),%eax
sub    $0xc025,%eax
je     1c14 <description+0xb14>
jmp    165d <description+0x55d>
mov    -0x10(%rbp),%eax
sub    $0xc026,%eax
je     1c24 <description+0xb24>
jmp    1670 <description+0x570>
mov    -0x10(%rbp),%eax
sub    $0xc027,%eax
je     1c34 <description+0xb34>
jmp    1683 <description+0x583>
mov    -0x10(%rbp),%eax
sub    $0xc028,%eax
je     1c44 <description+0xb44>
jmp    1696 <description+0x596>
mov    -0x10(%rbp),%eax
sub    $0xc029,%eax
je     1c54 <description+0xb54>
jmp    16a9 <description+0x5a9>
mov    -0x10(%rbp),%eax
sub    $0xc02a,%eax
je     1c64 <description+0xb64>
jmp    16bc <description+0x5bc>
mov    -0x10(%rbp),%eax
sub    $0xc02b,%eax
je     1c74 <description+0xb74>
jmp    16cf <description+0x5cf>
mov    -0x10(%rbp),%eax
sub    $0xc02c,%eax
je     1c84 <description+0xb84>
jmp    16e2 <description+0x5e2>
mov    -0x10(%rbp),%eax
sub    $0xc02d,%eax
je     1c94 <description+0xb94>
jmp    16f5 <description+0x5f5>
mov    -0x10(%rbp),%eax
sub    $0xc02e,%eax
je     1ca4 <description+0xba4>
jmp    1708 <description+0x608>
mov    -0x10(%rbp),%eax
sub    $0xc02f,%eax
je     1cb4 <description+0xbb4>
jmp    171b <description+0x61b>
mov    -0x10(%rbp),%eax
sub    $0xc030,%eax
je     1cc4 <description+0xbc4>
jmp    172e <description+0x62e>
mov    -0x10(%rbp),%eax
sub    $0xc031,%eax
je     1cd4 <description+0xbd4>
jmp    1741 <description+0x641>
mov    -0x10(%rbp),%eax
sub    $0xc032,%eax
je     1ce4 <description+0xbe4>
jmp    1cf4 <description+0xbf4>
lea    0x8a5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8ae(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8b7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8ca(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8d4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8e6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8ef(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x8fd(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x912(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x91e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x92f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x944(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x950(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x961(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x977(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x984(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x996(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x9ac(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x9b9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x9cb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x9de(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0x9eb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa01(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa0e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa20(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa2a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa37(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa47(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa57(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa68(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa79(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa8a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xa97(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xaa7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xab7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xac8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xad9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xaea(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xaf3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb03(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb13(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb26(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb39(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb4d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb61(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb74(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb87(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xb9b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xbaf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xbc3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xbd7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xbe9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xbfe(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc13(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc29(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc3f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc4f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc64(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc78(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc8c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xc9a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xcab(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xcc1(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xcd6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xceb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xcf6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd04(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd17(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd29(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd3b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd47(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd56(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd6a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd7d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xd90(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xda8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xdc0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xdd7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xdee(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe04(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe1a(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe2f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe44(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe5c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe74(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xe8b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xea2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xeb8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xece(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xee3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    1cff <description+0xbff>
lea    0xcdf(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<description>:
lea    -0x4(%rdi),%ecx
cmp    $0x84,%ecx
ja     112a <description+0x2a>
lea    0x11c6(%rip),%rax
lea    0xee7(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
lea    0x11c8(%rip),%rax
ret
add    $0xffff3ffe,%edi
cmp    $0x30,%edi
ja     1389 <description+0x289>
lea    0x10d4(%rip),%rax
movslq (%rax,%rdi,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x1892(%rip),%rax
ret
lea    0x11b2(%rip),%rax
ret
lea    0x11cd(%rip),%rax
ret
lea    0x11df(%rip),%rax
ret
lea    0x11f9(%rip),%rax
ret
lea    0x120a(%rip),%rax
ret
lea    0x1220(%rip),%rax
ret
lea    0x123d(%rip),%rax
ret
lea    0x1251(%rip),%rax
ret
lea    0x126a(%rip),%rax
ret
lea    0x1287(%rip),%rax
ret
lea    0x129b(%rip),%rax
ret
lea    0x12b4(%rip),%rax
ret
lea    0x12d2(%rip),%rax
ret
lea    0x12e7(%rip),%rax
ret
lea    0x1301(%rip),%rax
ret
lea    0x131f(%rip),%rax
ret
lea    0x1334(%rip),%rax
ret
lea    0x134e(%rip),%rax
ret
lea    0x1369(%rip),%rax
ret
lea    0x137e(%rip),%rax
ret
lea    0x139c(%rip),%rax
ret
lea    0x13b1(%rip),%rax
ret
lea    0x13cb(%rip),%rax
ret
lea    0x13dd(%rip),%rax
ret
lea    0x13f2(%rip),%rax
ret
lea    0x140a(%rip),%rax
ret
lea    0x1422(%rip),%rax
ret
lea    0x143b(%rip),%rax
ret
lea    0x1454(%rip),%rax
ret
lea    0x146d(%rip),%rax
ret
lea    0x1482(%rip),%rax
ret
lea    0x149a(%rip),%rax
ret
lea    0x14b2(%rip),%rax
ret
lea    0x14cb(%rip),%rax
ret
lea    0x14e4(%rip),%rax
ret
lea    0x14fd(%rip),%rax
ret
lea    0x150e(%rip),%rax
ret
lea    0x1526(%rip),%rax
ret
lea    0x153e(%rip),%rax
ret
lea    0x1559(%rip),%rax
ret
lea    0x1574(%rip),%rax
ret
lea    0x1590(%rip),%rax
ret
lea    0x15ac(%rip),%rax
ret
lea    0x15c7(%rip),%rax
ret
lea    0x15e2(%rip),%rax
ret
lea    0x15fe(%rip),%rax
ret
lea    0x161a(%rip),%rax
ret
lea    0x1636(%rip),%rax
ret
lea    0x1652(%rip),%rax
ret
lea    0x166c(%rip),%rax
ret
lea    0x1689(%rip),%rax
ret
lea    0x16a6(%rip),%rax
ret
lea    0x16c4(%rip),%rax
ret
lea    0x1702(%rip),%rax
ret
lea    0x171f(%rip),%rax
ret
lea    0x173b(%rip),%rax
ret
lea    0x1757(%rip),%rax
ret
lea    0x176d(%rip),%rax
ret
lea    0x1786(%rip),%rax
ret
lea    0x17a4(%rip),%rax
ret
lea    0x17c1(%rip),%rax
ret
lea    0x17de(%rip),%rax
ret
lea    0x17f1(%rip),%rax
ret
lea    0x1807(%rip),%rax
ret
lea    0x1822(%rip),%rax
ret
lea    0x183c(%rip),%rax
ret
lea    0x1856(%rip),%rax
ret
lea    0x186a(%rip),%rax
ret
lea    0x1881(%rip),%rax
ret
lea    0x189d(%rip),%rax
ret
lea    0x18b8(%rip),%rax
ret
lea    0x1922(%rip),%rax
ret
lea    0x18cb(%rip),%rax
ret
lea    0x18eb(%rip),%rax
ret
lea    0x190b(%rip),%rax
ret
lea    0x192a(%rip),%rax
ret
lea    0x1949(%rip),%rax
ret
lea    0x1967(%rip),%rax
ret
lea    0x1985(%rip),%rax
ret
lea    0x19a2(%rip),%rax
ret
lea    0x19bf(%rip),%rax
ret
lea    0x19df(%rip),%rax
ret
lea    0x19ff(%rip),%rax
ret
lea    0x1a1e(%rip),%rax
ret
lea    0x1a3d(%rip),%rax
ret
lea    0x1a5b(%rip),%rax
ret
lea    0x1a79(%rip),%rax
ret
lea    0x1a96(%rip),%rax
ret

LLVM IR (-O0):
@.str = [25 x i8] c"TLS_RSA_WITH_RC4_128_MD5\00"
@.str.1 = [25 x i8] c"TLS_RSA_WITH_RC4_128_SHA\00"
@.str.2 = [35 x i8] c"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5\00"
@.str.3 = [26 x i8] c"TLS_RSA_WITH_IDEA_CBC_SHA\00"
@.str.4 = [34 x i8] c"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.5 = [25 x i8] c"TLS_RSA_WITH_DES_CBC_SHA\00"
@.str.6 = [30 x i8] c"TLS_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.7 = [37 x i8] c"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.8 = [28 x i8] c"TLS_DH_DSS_WITH_DES_CBC_SHA\00"
@.str.9 = [33 x i8] c"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA\00"
@.str.10 = [37 x i8] c"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.11 = [28 x i8] c"TLS_DH_RSA_WITH_DES_CBC_SHA\00"
@.str.12 = [33 x i8] c"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.13 = [38 x i8] c"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.14 = [29 x i8] c"TLS_DHE_DSS_WITH_DES_CBC_SHA\00"
@.str.15 = [34 x i8] c"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA\00"
@.str.16 = [38 x i8] c"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.17 = [29 x i8] c"TLS_DHE_RSA_WITH_DES_CBC_SHA\00"
@.str.18 = [34 x i8] c"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.19 = [35 x i8] c"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5\00"
@.str.20 = [29 x i8] c"TLS_DH_anon_WITH_RC4_128_MD5\00"
@.str.21 = [38 x i8] c"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.22 = [29 x i8] c"TLS_DH_anon_WITH_DES_CBC_SHA\00"
@.str.23 = [34 x i8] c"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA\00"
@.str.24 = [26 x i8] c"TLS_RSA_PSK_WITH_NULL_SHA\00"
@.str.25 = [29 x i8] c"TLS_RSA_WITH_AES_128_CBC_SHA\00"
@.str.26 = [32 x i8] c"TLS_DH_DSS_WITH_AES_128_CBC_SHA\00"
@.str.27 = [32 x i8] c"TLS_DH_RSA_WITH_AES_128_CBC_SHA\00"
@.str.28 = [33 x i8] c"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\00"
@.str.29 = [33 x i8] c"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\00"
@.str.30 = [33 x i8] c"TLS_DH_anon_WITH_AES_128_CBC_SHA\00"
@.str.31 = [29 x i8] c"TLS_RSA_WITH_AES_256_CBC_SHA\00"
@.str.32 = [32 x i8] c"TLS_DH_DSS_WITH_AES_256_CBC_SHA\00"
@.str.33 = [32 x i8] c"TLS_DH_RSA_WITH_AES_256_CBC_SHA\00"
@.str.34 = [33 x i8] c"TLS_DHE_DSS_WITH_AES_256_CBC_SHA\00"
@.str.35 = [33 x i8] c"TLS_DHE_RSA_WITH_AES_256_CBC_SHA\00"
@.str.36 = [33 x i8] c"TLS_DH_anon_WITH_AES_256_CBC_SHA\00"
@.str.37 = [25 x i8] c"TLS_RSA_WITH_NULL_SHA256\00"
@.str.38 = [32 x i8] c"TLS_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.39 = [32 x i8] c"TLS_RSA_WITH_AES_256_CBC_SHA256\00"
@.str.40 = [35 x i8] c"TLS_DH_DSS_WITH_AES_128_CBC_SHA256\00"
@.str.41 = [35 x i8] c"TLS_DH_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.42 = [36 x i8] c"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256\00"
@.str.43 = [36 x i8] c"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.44 = [35 x i8] c"TLS_DH_DSS_WITH_AES_256_CBC_SHA256\00"
@.str.45 = [35 x i8] c"TLS_DH_RSA_WITH_AES_256_CBC_SHA256\00"
@.str.46 = [36 x i8] c"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256\00"
@.str.47 = [36 x i8] c"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256\00"
@.str.48 = [36 x i8] c"TLS_DH_anon_WITH_AES_128_CBC_SHA256\00"
@.str.49 = [36 x i8] c"TLS_DH_anon_WITH_AES_256_CBC_SHA256\00"
@.str.50 = [34 x i8] c"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.51 = [37 x i8] c"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.52 = [37 x i8] c"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.53 = [38 x i8] c"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.54 = [38 x i8] c"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.55 = [32 x i8] c"TLS_ECDH_ECDSA_WITH_RC4_128_SHA\00"
@.str.56 = [37 x i8] c"TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.57 = [36 x i8] c"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA\00"
@.str.58 = [36 x i8] c"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA\00"
@.str.59 = [30 x i8] c"TLS_ECDHE_ECDSA_WITH_NULL_SHA\00"
@.str.60 = [33 x i8] c"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA\00"
@.str.61 = [38 x i8] c"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.62 = [37 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\00"
@.str.63 = [37 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\00"
@.str.64 = [27 x i8] c"TLS_ECDH_RSA_WITH_NULL_SHA\00"
@.str.65 = [30 x i8] c"TLS_ECDH_RSA_WITH_RC4_128_SHA\00"
@.str.66 = [35 x i8] c"TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.67 = [34 x i8] c"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA\00"
@.str.68 = [34 x i8] c"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA\00"
@.str.69 = [28 x i8] c"TLS_ECDHE_RSA_WITH_NULL_SHA\00"
@.str.70 = [31 x i8] c"TLS_ECDHE_RSA_WITH_RC4_128_SHA\00"
@.str.71 = [36 x i8] c"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.72 = [35 x i8] c"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\00"
@.str.73 = [35 x i8] c"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\00"
@.str.74 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256\00"
@.str.75 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384\00"
@.str.76 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256\00"
@.str.77 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384\00"
@.str.78 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.79 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384\00"
@.str.80 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.81 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384\00"
@.str.82 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\00"
@.str.83 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\00"
@.str.84 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256\00"
@.str.85 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384\00"
@.str.86 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\00"
@.str.87 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\00"
@.str.88 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256\00"
@.str.89 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384\00"
@.str.90 = [1 x i8] zeroinitializer
define i8* @description(i32 %0) {
%2 = alloca i8*
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
switch i32 %4, label %95 [
i32 4, label %5
i32 5, label %6
i32 6, label %7
i32 7, label %8
i32 8, label %9
i32 9, label %10
i32 10, label %11
i32 11, label %12
i32 12, label %13
i32 13, label %14
i32 14, label %15
i32 15, label %16
i32 16, label %17
i32 17, label %18
i32 18, label %19
i32 19, label %20
i32 20, label %21
i32 21, label %22
i32 22, label %23
i32 23, label %24
i32 24, label %25
i32 25, label %26
i32 26, label %27
i32 27, label %28
i32 46, label %29
i32 47, label %30
i32 48, label %31
i32 49, label %32
i32 50, label %33
i32 51, label %34
i32 52, label %35
i32 53, label %36
i32 54, label %37
i32 55, label %38
i32 56, label %39
i32 57, label %40
i32 58, label %41
i32 59, label %42
i32 60, label %43
i32 61, label %44
i32 62, label %45
i32 63, label %46
i32 64, label %47
i32 103, label %48
i32 104, label %49
i32 105, label %50
i32 106, label %51
i32 107, label %52
i32 108, label %53
i32 109, label %54
i32 132, label %55
i32 133, label %56
i32 134, label %57
i32 135, label %58
i32 136, label %59
i32 49154, label %60
i32 49155, label %61
i32 49156, label %62
i32 49157, label %63
i32 49158, label %64
i32 49159, label %65
i32 49160, label %66
i32 49161, label %67
i32 49162, label %68
i32 49163, label %69
i32 49164, label %70
i32 49165, label %71
i32 49166, label %72
i32 49167, label %73
i32 49168, label %74
i32 49169, label %75
i32 49170, label %76
i32 49171, label %77
i32 49172, label %78
i32 49187, label %79
i32 49188, label %80
i32 49189, label %81
i32 49190, label %82
i32 49191, label %83
i32 49192, label %84
i32 49193, label %85
i32 49194, label %86
i32 49195, label %87
i32 49196, label %88
i32 49197, label %89
i32 49198, label %90
i32 49199, label %91
i32 49200, label %92
i32 49201, label %93
i32 49202, label %94
]
5: ; preds = %1
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0), i8** %2
br label %96
6: ; preds = %1
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.1, i64 0, i64 0), i8** %2
br label %96
7: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.2, i64 0, i64 0), i8** %2
br label %96
8: ; preds = %1
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.3, i64 0, i64 0), i8** %2
br label %96
9: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.4, i64 0, i64 0), i8** %2
br label %96
10: ; preds = %1
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.5, i64 0, i64 0), i8** %2
br label %96
11: ; preds = %1
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.6, i64 0, i64 0), i8** %2
br label %96
12: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.7, i64 0, i64 0), i8** %2
br label %96
13: ; preds = %1
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), i8** %2
br label %96
14: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0), i8** %2
br label %96
15: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.10, i64 0, i64 0), i8** %2
br label %96
16: ; preds = %1
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.11, i64 0, i64 0), i8** %2
br label %96
17: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.12, i64 0, i64 0), i8** %2
br label %96
18: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.13, i64 0, i64 0), i8** %2
br label %96
19: ; preds = %1
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.14, i64 0, i64 0), i8** %2
br label %96
20: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.15, i64 0, i64 0), i8** %2
br label %96
21: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.16, i64 0, i64 0), i8** %2
br label %96
22: ; preds = %1
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0), i8** %2
br label %96
23: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.18, i64 0, i64 0), i8** %2
br label %96
24: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.19, i64 0, i64 0), i8** %2
br label %96
25: ; preds = %1
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.20, i64 0, i64 0), i8** %2
br label %96
26: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.21, i64 0, i64 0), i8** %2
br label %96
27: ; preds = %1
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22, i64 0, i64 0), i8** %2
br label %96
28: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.23, i64 0, i64 0), i8** %2
br label %96
29: ; preds = %1
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.24, i64 0, i64 0), i8** %2
br label %96
30: ; preds = %1
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.25, i64 0, i64 0), i8** %2
br label %96
31: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0), i8** %2
br label %96
32: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.27, i64 0, i64 0), i8** %2
br label %96
33: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.28, i64 0, i64 0), i8** %2
br label %96
34: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.29, i64 0, i64 0), i8** %2
br label %96
35: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.30, i64 0, i64 0), i8** %2
br label %96
36: ; preds = %1
store i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.31, i64 0, i64 0), i8** %2
br label %96
37: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.32, i64 0, i64 0), i8** %2
br label %96
38: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.33, i64 0, i64 0), i8** %2
br label %96
39: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.34, i64 0, i64 0), i8** %2
br label %96
40: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.35, i64 0, i64 0), i8** %2
br label %96
41: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.36, i64 0, i64 0), i8** %2
br label %96
42: ; preds = %1
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.37, i64 0, i64 0), i8** %2
br label %96
43: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.38, i64 0, i64 0), i8** %2
br label %96
44: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.39, i64 0, i64 0), i8** %2
br label %96
45: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.40, i64 0, i64 0), i8** %2
br label %96
46: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.41, i64 0, i64 0), i8** %2
br label %96
47: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.42, i64 0, i64 0), i8** %2
br label %96
48: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.43, i64 0, i64 0), i8** %2
br label %96
49: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.44, i64 0, i64 0), i8** %2
br label %96
50: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.45, i64 0, i64 0), i8** %2
br label %96
51: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.46, i64 0, i64 0), i8** %2
br label %96
52: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.47, i64 0, i64 0), i8** %2
br label %96
53: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.48, i64 0, i64 0), i8** %2
br label %96
54: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.49, i64 0, i64 0), i8** %2
br label %96
55: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.50, i64 0, i64 0), i8** %2
br label %96
56: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.51, i64 0, i64 0), i8** %2
br label %96
57: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.52, i64 0, i64 0), i8** %2
br label %96
58: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.53, i64 0, i64 0), i8** %2
br label %96
59: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.54, i64 0, i64 0), i8** %2
br label %96
60: ; preds = %1
store i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.55, i64 0, i64 0), i8** %2
br label %96
61: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.56, i64 0, i64 0), i8** %2
br label %96
62: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.57, i64 0, i64 0), i8** %2
br label %96
63: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.58, i64 0, i64 0), i8** %2
br label %96
64: ; preds = %1
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.59, i64 0, i64 0), i8** %2
br label %96
65: ; preds = %1
store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.60, i64 0, i64 0), i8** %2
br label %96
66: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.61, i64 0, i64 0), i8** %2
br label %96
67: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.62, i64 0, i64 0), i8** %2
br label %96
68: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.63, i64 0, i64 0), i8** %2
br label %96
69: ; preds = %1
store i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.64, i64 0, i64 0), i8** %2
br label %96
70: ; preds = %1
store i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.65, i64 0, i64 0), i8** %2
br label %96
71: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.66, i64 0, i64 0), i8** %2
br label %96
72: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.67, i64 0, i64 0), i8** %2
br label %96
73: ; preds = %1
store i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.68, i64 0, i64 0), i8** %2
br label %96
74: ; preds = %1
store i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.69, i64 0, i64 0), i8** %2
br label %96
75: ; preds = %1
store i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.70, i64 0, i64 0), i8** %2
br label %96
76: ; preds = %1
store i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.71, i64 0, i64 0), i8** %2
br label %96
77: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.72, i64 0, i64 0), i8** %2
br label %96
78: ; preds = %1
store i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.73, i64 0, i64 0), i8** %2
br label %96
79: ; preds = %1
store i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.74, i64 0, i64 0), i8** %2
br label %96
80: ; preds = %1
store i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.75, i64 0, i64 0), i8** %2
br label %96
81: ; preds = %1
store i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.76, i64 0, i64 0), i8** %2
br label %96
82: ; preds = %1
store i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.77, i64 0, i64 0), i8** %2
br label %96
83: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.78, i64 0, i64 0), i8** %2
br label %96
84: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.79, i64 0, i64 0), i8** %2
br label %96
85: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.80, i64 0, i64 0), i8** %2
br label %96
86: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.81, i64 0, i64 0), i8** %2
br label %96
87: ; preds = %1
store i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.82, i64 0, i64 0), i8** %2
br label %96
88: ; preds = %1
store i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.83, i64 0, i64 0), i8** %2
br label %96
89: ; preds = %1
store i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.84, i64 0, i64 0), i8** %2
br label %96
90: ; preds = %1
store i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.85, i64 0, i64 0), i8** %2
br label %96
91: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.86, i64 0, i64 0), i8** %2
br label %96
92: ; preds = %1
store i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.87, i64 0, i64 0), i8** %2
br label %96
93: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.88, i64 0, i64 0), i8** %2
br label %96
94: ; preds = %1
store i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.89, i64 0, i64 0), i8** %2
br label %96
95: ; preds = %1
store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.90, i64 0, i64 0), i8** %2
br label %96
96: ; preds = %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5
%97 = load i8*, i8** %2
ret i8* %97
}

LLVM IR (-O2):
@.str = [25 x i8] c"TLS_RSA_WITH_RC4_128_MD5\00"
@.str.1 = [25 x i8] c"TLS_RSA_WITH_RC4_128_SHA\00"
@.str.2 = [35 x i8] c"TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5\00"
@.str.3 = [26 x i8] c"TLS_RSA_WITH_IDEA_CBC_SHA\00"
@.str.4 = [34 x i8] c"TLS_RSA_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.5 = [25 x i8] c"TLS_RSA_WITH_DES_CBC_SHA\00"
@.str.6 = [30 x i8] c"TLS_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.7 = [37 x i8] c"TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.8 = [28 x i8] c"TLS_DH_DSS_WITH_DES_CBC_SHA\00"
@.str.9 = [33 x i8] c"TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA\00"
@.str.10 = [37 x i8] c"TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.11 = [28 x i8] c"TLS_DH_RSA_WITH_DES_CBC_SHA\00"
@.str.12 = [33 x i8] c"TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.13 = [38 x i8] c"TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.14 = [29 x i8] c"TLS_DHE_DSS_WITH_DES_CBC_SHA\00"
@.str.15 = [34 x i8] c"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA\00"
@.str.16 = [38 x i8] c"TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.17 = [29 x i8] c"TLS_DHE_RSA_WITH_DES_CBC_SHA\00"
@.str.18 = [34 x i8] c"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.19 = [35 x i8] c"TLS_DH_anon_EXPORT_WITH_RC4_40_MD5\00"
@.str.20 = [29 x i8] c"TLS_DH_anon_WITH_RC4_128_MD5\00"
@.str.21 = [38 x i8] c"TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA\00"
@.str.22 = [29 x i8] c"TLS_DH_anon_WITH_DES_CBC_SHA\00"
@.str.23 = [34 x i8] c"TLS_DH_anon_WITH_3DES_EDE_CBC_SHA\00"
@.str.24 = [26 x i8] c"TLS_RSA_PSK_WITH_NULL_SHA\00"
@.str.25 = [29 x i8] c"TLS_RSA_WITH_AES_128_CBC_SHA\00"
@.str.26 = [32 x i8] c"TLS_DH_DSS_WITH_AES_128_CBC_SHA\00"
@.str.27 = [32 x i8] c"TLS_DH_RSA_WITH_AES_128_CBC_SHA\00"
@.str.28 = [33 x i8] c"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\00"
@.str.29 = [33 x i8] c"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\00"
@.str.30 = [33 x i8] c"TLS_DH_anon_WITH_AES_128_CBC_SHA\00"
@.str.31 = [29 x i8] c"TLS_RSA_WITH_AES_256_CBC_SHA\00"
@.str.32 = [32 x i8] c"TLS_DH_DSS_WITH_AES_256_CBC_SHA\00"
@.str.33 = [32 x i8] c"TLS_DH_RSA_WITH_AES_256_CBC_SHA\00"
@.str.34 = [33 x i8] c"TLS_DHE_DSS_WITH_AES_256_CBC_SHA\00"
@.str.35 = [33 x i8] c"TLS_DHE_RSA_WITH_AES_256_CBC_SHA\00"
@.str.36 = [33 x i8] c"TLS_DH_anon_WITH_AES_256_CBC_SHA\00"
@.str.37 = [25 x i8] c"TLS_RSA_WITH_NULL_SHA256\00"
@.str.38 = [32 x i8] c"TLS_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.39 = [32 x i8] c"TLS_RSA_WITH_AES_256_CBC_SHA256\00"
@.str.40 = [35 x i8] c"TLS_DH_DSS_WITH_AES_128_CBC_SHA256\00"
@.str.41 = [35 x i8] c"TLS_DH_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.42 = [36 x i8] c"TLS_DHE_DSS_WITH_AES_128_CBC_SHA256\00"
@.str.43 = [36 x i8] c"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.44 = [35 x i8] c"TLS_DH_DSS_WITH_AES_256_CBC_SHA256\00"
@.str.45 = [35 x i8] c"TLS_DH_RSA_WITH_AES_256_CBC_SHA256\00"
@.str.46 = [36 x i8] c"TLS_DHE_DSS_WITH_AES_256_CBC_SHA256\00"
@.str.47 = [36 x i8] c"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256\00"
@.str.48 = [36 x i8] c"TLS_DH_anon_WITH_AES_128_CBC_SHA256\00"
@.str.49 = [36 x i8] c"TLS_DH_anon_WITH_AES_256_CBC_SHA256\00"
@.str.50 = [34 x i8] c"TLS_RSA_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.51 = [37 x i8] c"TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.52 = [37 x i8] c"TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.53 = [38 x i8] c"TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.54 = [38 x i8] c"TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA\00"
@.str.55 = [32 x i8] c"TLS_ECDH_ECDSA_WITH_RC4_128_SHA\00"
@.str.56 = [37 x i8] c"TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.57 = [36 x i8] c"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA\00"
@.str.58 = [36 x i8] c"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA\00"
@.str.59 = [30 x i8] c"TLS_ECDHE_ECDSA_WITH_NULL_SHA\00"
@.str.60 = [33 x i8] c"TLS_ECDHE_ECDSA_WITH_RC4_128_SHA\00"
@.str.61 = [38 x i8] c"TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.62 = [37 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA\00"
@.str.63 = [37 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA\00"
@.str.64 = [27 x i8] c"TLS_ECDH_RSA_WITH_NULL_SHA\00"
@.str.65 = [30 x i8] c"TLS_ECDH_RSA_WITH_RC4_128_SHA\00"
@.str.66 = [35 x i8] c"TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.67 = [34 x i8] c"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA\00"
@.str.68 = [34 x i8] c"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA\00"
@.str.69 = [28 x i8] c"TLS_ECDHE_RSA_WITH_NULL_SHA\00"
@.str.70 = [31 x i8] c"TLS_ECDHE_RSA_WITH_RC4_128_SHA\00"
@.str.71 = [36 x i8] c"TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA\00"
@.str.72 = [35 x i8] c"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA\00"
@.str.73 = [35 x i8] c"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA\00"
@.str.74 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256\00"
@.str.75 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384\00"
@.str.76 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256\00"
@.str.77 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384\00"
@.str.78 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.79 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384\00"
@.str.80 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256\00"
@.str.81 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384\00"
@.str.82 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256\00"
@.str.83 = [40 x i8] c"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384\00"
@.str.84 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256\00"
@.str.85 = [39 x i8] c"TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384\00"
@.str.86 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256\00"
@.str.87 = [38 x i8] c"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\00"
@.str.88 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256\00"
@.str.89 = [37 x i8] c"TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384\00"
@.str.90 = [1 x i8] zeroinitializer
define i8* @description(i32 %0) {
switch i32 %0, label %91 [
i32 4, label %92
i32 5, label %2
i32 6, label %3
i32 7, label %4
i32 8, label %5
i32 9, label %6
i32 10, label %7
i32 11, label %8
i32 12, label %9
i32 13, label %10
i32 14, label %11
i32 15, label %12
i32 16, label %13
i32 17, label %14
i32 18, label %15
i32 19, label %16
i32 20, label %17
i32 21, label %18
i32 22, label %19
i32 23, label %20
i32 24, label %21
i32 25, label %22
i32 26, label %23
i32 27, label %24
i32 46, label %25
i32 47, label %26
i32 48, label %27
i32 49, label %28
i32 50, label %29
i32 51, label %30
i32 52, label %31
i32 53, label %32
i32 54, label %33
i32 55, label %34
i32 56, label %35
i32 57, label %36
i32 58, label %37
i32 59, label %38
i32 60, label %39
i32 61, label %40
i32 62, label %41
i32 63, label %42
i32 64, label %43
i32 103, label %44
i32 104, label %45
i32 105, label %46
i32 106, label %47
i32 107, label %48
i32 108, label %49
i32 109, label %50
i32 132, label %51
i32 133, label %52
i32 134, label %53
i32 135, label %54
i32 136, label %55
i32 49154, label %56
i32 49155, label %57
i32 49156, label %58
i32 49157, label %59
i32 49158, label %60
i32 49159, label %61
i32 49160, label %62
i32 49161, label %63
i32 49162, label %64
i32 49163, label %65
i32 49164, label %66
i32 49165, label %67
i32 49166, label %68
i32 49167, label %69
i32 49168, label %70
i32 49169, label %71
i32 49170, label %72
i32 49171, label %73
i32 49172, label %74
i32 49187, label %75
i32 49188, label %76
i32 49189, label %77
i32 49190, label %78
i32 49191, label %79
i32 49192, label %80
i32 49193, label %81
i32 49194, label %82
i32 49195, label %83
i32 49196, label %84
i32 49197, label %85
i32 49198, label %86
i32 49199, label %87
i32 49200, label %88
i32 49201, label %89
i32 49202, label %90
]
2: ; preds = %1
br label %92
3: ; preds = %1
br label %92
4: ; preds = %1
br label %92
5: ; preds = %1
br label %92
6: ; preds = %1
br label %92
7: ; preds = %1
br label %92
8: ; preds = %1
br label %92
9: ; preds = %1
br label %92
10: ; preds = %1
br label %92
11: ; preds = %1
br label %92
12: ; preds = %1
br label %92
13: ; preds = %1
br label %92
14: ; preds = %1
br label %92
15: ; preds = %1
br label %92
16: ; preds = %1
br label %92
17: ; preds = %1
br label %92
18: ; preds = %1
br label %92
19: ; preds = %1
br label %92
20: ; preds = %1
br label %92
21: ; preds = %1
br label %92
22: ; preds = %1
br label %92
23: ; preds = %1
br label %92
24: ; preds = %1
br label %92
25: ; preds = %1
br label %92
26: ; preds = %1
br label %92
27: ; preds = %1
br label %92
28: ; preds = %1
br label %92
29: ; preds = %1
br label %92
30: ; preds = %1
br label %92
31: ; preds = %1
br label %92
32: ; preds = %1
br label %92
33: ; preds = %1
br label %92
34: ; preds = %1
br label %92
35: ; preds = %1
br label %92
36: ; preds = %1
br label %92
37: ; preds = %1
br label %92
38: ; preds = %1
br label %92
39: ; preds = %1
br label %92
40: ; preds = %1
br label %92
41: ; preds = %1
br label %92
42: ; preds = %1
br label %92
43: ; preds = %1
br label %92
44: ; preds = %1
br label %92
45: ; preds = %1
br label %92
46: ; preds = %1
br label %92
47: ; preds = %1
br label %92
48: ; preds = %1
br label %92
49: ; preds = %1
br label %92
50: ; preds = %1
br label %92
51: ; preds = %1
br label %92
52: ; preds = %1
br label %92
53: ; preds = %1
br label %92
54: ; preds = %1
br label %92
55: ; preds = %1
br label %92
56: ; preds = %1
br label %92
57: ; preds = %1
br label %92
58: ; preds = %1
br label %92
59: ; preds = %1
br label %92
60: ; preds = %1
br label %92
61: ; preds = %1
br label %92
62: ; preds = %1
br label %92
63: ; preds = %1
br label %92
64: ; preds = %1
br label %92
65: ; preds = %1
br label %92
66: ; preds = %1
br label %92
67: ; preds = %1
br label %92
68: ; preds = %1
br label %92
69: ; preds = %1
br label %92
70: ; preds = %1
br label %92
71: ; preds = %1
br label %92
72: ; preds = %1
br label %92
73: ; preds = %1
br label %92
74: ; preds = %1
br label %92
75: ; preds = %1
br label %92
76: ; preds = %1
br label %92
77: ; preds = %1
br label %92
78: ; preds = %1
br label %92
79: ; preds = %1
br label %92
80: ; preds = %1
br label %92
81: ; preds = %1
br label %92
82: ; preds = %1
br label %92
83: ; preds = %1
br label %92
84: ; preds = %1
br label %92
85: ; preds = %1
br label %92
86: ; preds = %1
br label %92
87: ; preds = %1
br label %92
88: ; preds = %1
br label %92
89: ; preds = %1
br label %92
90: ; preds = %1
br label %92
91: ; preds = %1
br label %92
92: ; preds = %1, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6, %5, %4, %3, %2
%93 = phi i8* [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str.90, i64 0, i64 0), %91 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.89, i64 0, i64 0), %90 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.88, i64 0, i64 0), %89 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.87, i64 0, i64 0), %88 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.86, i64 0, i64 0), %87 ], [ getelementptr inbounds ([39 x i8], [39 x i8]* @.str.85, i64 0, i64 0), %86 ], [ getelementptr inbounds ([39 x i8], [39 x i8]* @.str.84, i64 0, i64 0), %85 ], [ getelementptr inbounds ([40 x i8], [40 x i8]* @.str.83, i64 0, i64 0), %84 ], [ getelementptr inbounds ([40 x i8], [40 x i8]* @.str.82, i64 0, i64 0), %83 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.81, i64 0, i64 0), %82 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.80, i64 0, i64 0), %81 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.79, i64 0, i64 0), %80 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.78, i64 0, i64 0), %79 ], [ getelementptr inbounds ([39 x i8], [39 x i8]* @.str.77, i64 0, i64 0), %78 ], [ getelementptr inbounds ([39 x i8], [39 x i8]* @.str.76, i64 0, i64 0), %77 ], [ getelementptr inbounds ([40 x i8], [40 x i8]* @.str.75, i64 0, i64 0), %76 ], [ getelementptr inbounds ([40 x i8], [40 x i8]* @.str.74, i64 0, i64 0), %75 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.73, i64 0, i64 0), %74 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.72, i64 0, i64 0), %73 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.71, i64 0, i64 0), %72 ], [ getelementptr inbounds ([31 x i8], [31 x i8]* @.str.70, i64 0, i64 0), %71 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.69, i64 0, i64 0), %70 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.68, i64 0, i64 0), %69 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.67, i64 0, i64 0), %68 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.66, i64 0, i64 0), %67 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.65, i64 0, i64 0), %66 ], [ getelementptr inbounds ([27 x i8], [27 x i8]* @.str.64, i64 0, i64 0), %65 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.63, i64 0, i64 0), %64 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.62, i64 0, i64 0), %63 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.61, i64 0, i64 0), %62 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.60, i64 0, i64 0), %61 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.59, i64 0, i64 0), %60 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.58, i64 0, i64 0), %59 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.57, i64 0, i64 0), %58 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.56, i64 0, i64 0), %57 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.55, i64 0, i64 0), %56 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.54, i64 0, i64 0), %55 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.53, i64 0, i64 0), %54 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.52, i64 0, i64 0), %53 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.51, i64 0, i64 0), %52 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.50, i64 0, i64 0), %51 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.49, i64 0, i64 0), %50 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.48, i64 0, i64 0), %49 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.47, i64 0, i64 0), %48 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.46, i64 0, i64 0), %47 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.45, i64 0, i64 0), %46 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.44, i64 0, i64 0), %45 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.43, i64 0, i64 0), %44 ], [ getelementptr inbounds ([36 x i8], [36 x i8]* @.str.42, i64 0, i64 0), %43 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.41, i64 0, i64 0), %42 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.40, i64 0, i64 0), %41 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.39, i64 0, i64 0), %40 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.38, i64 0, i64 0), %39 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.37, i64 0, i64 0), %38 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.36, i64 0, i64 0), %37 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.35, i64 0, i64 0), %36 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.34, i64 0, i64 0), %35 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.33, i64 0, i64 0), %34 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.32, i64 0, i64 0), %33 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.31, i64 0, i64 0), %32 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.30, i64 0, i64 0), %31 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.29, i64 0, i64 0), %30 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.28, i64 0, i64 0), %29 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.27, i64 0, i64 0), %28 ], [ getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0), %27 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.25, i64 0, i64 0), %26 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.24, i64 0, i64 0), %25 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.23, i64 0, i64 0), %24 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22, i64 0, i64 0), %23 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.21, i64 0, i64 0), %22 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.20, i64 0, i64 0), %21 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.19, i64 0, i64 0), %20 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.18, i64 0, i64 0), %19 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.17, i64 0, i64 0), %18 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.16, i64 0, i64 0), %17 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.15, i64 0, i64 0), %16 ], [ getelementptr inbounds ([29 x i8], [29 x i8]* @.str.14, i64 0, i64 0), %15 ], [ getelementptr inbounds ([38 x i8], [38 x i8]* @.str.13, i64 0, i64 0), %14 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.12, i64 0, i64 0), %13 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.11, i64 0, i64 0), %12 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.10, i64 0, i64 0), %11 ], [ getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0), %10 ], [ getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8, i64 0, i64 0), %9 ], [ getelementptr inbounds ([37 x i8], [37 x i8]* @.str.7, i64 0, i64 0), %8 ], [ getelementptr inbounds ([30 x i8], [30 x i8]* @.str.6, i64 0, i64 0), %7 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.5, i64 0, i64 0), %6 ], [ getelementptr inbounds ([34 x i8], [34 x i8]* @.str.4, i64 0, i64 0), %5 ], [ getelementptr inbounds ([26 x i8], [26 x i8]* @.str.3, i64 0, i64 0), %4 ], [ getelementptr inbounds ([35 x i8], [35 x i8]* @.str.2, i64 0, i64 0), %3 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str.1, i64 0, i64 0), %2 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0), %1 ]
ret i8* %93
}