#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ __VERIFIER_error();
void *__VERIFIER_nondet_int();
long __VERIFIER_nondet_long();
int ssl3_accept(int initial_state) {
  int s__info_callback = __VERIFIER_nondet_int();
  int s__in_handshake = __VERIFIER_nondet_int();
  int s__state;
  int s__new_session;
  int s__server;
  int s__version = __VERIFIER_nondet_int();
  int s__type;
  int s__init_num;
  int s__hit = __VERIFIER_nondet_int();
  int s__rwstate;
  int s__init_buf___0;
  int s__debug = __VERIFIER_nondet_int();
  int s__shutdown;
  int s__cert = __VERIFIER_nondet_int();
  int s__options = __VERIFIER_nondet_int();
  int s__verify_mode = __VERIFIER_nondet_int();
  int s__session__peer = __VERIFIER_nondet_int();
  int s__cert__pkeys__AT0__privatekey = __VERIFIER_nondet_int();
  int s__ctx__info_callback = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_accept_renegotiate = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_accept = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_accept_good = __VERIFIER_nondet_int();
  int s__s3__tmp__cert_request;
  int s__s3__tmp__reuse_message = __VERIFIER_nondet_int();
  int s__s3__tmp__use_rsa_tmp;
  int s__s3__tmp__new_cipher = __VERIFIER_nondet_int();
  int s__s3__tmp__new_cipher__algorithms = __VERIFIER_nondet_int();
  int s__s3__tmp__next_state___0;
  int s__s3__tmp__new_cipher__algo_strength = __VERIFIER_nondet_int();
  int s__session__cipher;
  int buf;
  unsigned long l;
  unsigned long Time;
  unsigned long tmp;
  int cb;
  long num1 = __VERIFIER_nondet_long();
  int ret;
  int new_state;
  int state;
  int skip;
  int got_new_session;
  int tmp___1 = __VERIFIER_nondet_int();
  int tmp___2 = __VERIFIER_nondet_int();
  int tmp___3 = __VERIFIER_nondet_int();
  int tmp___4 = __VERIFIER_nondet_int();
  int tmp___5 = __VERIFIER_nondet_int();
  int tmp___6 = __VERIFIER_nondet_int();
  int tmp___7;
  long tmp___8 = __VERIFIER_nondet_long();
  int tmp___9 = __VERIFIER_nondet_int();
  int tmp___10 = __VERIFIER_nondet_int();
  int blastFlag;
  int __cil_tmp55;
  unsigned long __cil_tmp56;
  unsigned long __cil_tmp57;
  unsigned long __cil_tmp58;
  unsigned long __cil_tmp59;
  int __cil_tmp60;
  unsigned long __cil_tmp61;
  {
    ;
    s__state = initial_state;
    blastFlag = 0;
    tmp = __VERIFIER_nondet_int();
    Time = tmp;
    cb = 0;
    ret = -1;
    skip = 0;
    got_new_session = 0;
    if (s__info_callback != 0) {
      cb = s__info_callback;
    } else {
      if (s__ctx__info_callback != 0) {
        cb = s__ctx__info_callback;
      }
      if (cb != 0) {
        goto ERROR;
      }
    }
    s__in_handshake++;
    if (tmp___1 + 12288) {
      if (tmp___2 + 16384) {
      }
    }
    if (s__cert == 0) {
      return (-1);
    }
    {
      while (1) {
      while_0_continue:;
        state = s__state;
        if (s__state == 12292) {
          goto switch_1_12292;
        } else {
          if (s__state == 16384) {
            goto switch_1_16384;
          } else {
            if (s__state == 8192) {
              goto switch_1_8192;
            } else {
              if (s__state == 24576) {
                goto switch_1_24576;
              } else {
                if (s__state == 8195) {
                  goto switch_1_8195;
                } else {
                  if (s__state == 8480) {
                    goto switch_1_8480;
                  } else {
                    if (s__state == 8481) {
                      goto switch_1_8481;
                    } else {
                      if (s__state == 8482) {
                        goto switch_1_8482;
                      } else {
                        if (s__state == 8464) {
                          goto switch_1_8464;
                        } else {
                          if (s__state == 8465) {
                            goto switch_1_8465;
                          } else {
                            if (s__state == 8466) {
                              goto switch_1_8466;
                            } else {
                              if (s__state == 8496) {
                                goto switch_1_8496;
                              } else {
                                if (s__state == 8497) {
                                  goto switch_1_8497;
                                } else {
                                  if (s__state == 8512) {
                                    goto switch_1_8512;
                                  } else {
                                    if (s__state == 8513) {
                                      goto switch_1_8513;
                                    } else {
                                      if (s__state == 8528) {
                                        goto switch_1_8528;
                                      } else {
                                        if (s__state == 8529) {
                                          goto switch_1_8529;
                                        } else {
                                          if (s__state == 8544) {
                                            goto switch_1_8544;
                                          } else {
                                            if (s__state == 8545) {
                                              goto switch_1_8545;
                                            } else {
                                              if (s__state == 8560) {
                                                goto switch_1_8560;
                                              } else {
                                                if (s__state == 8561) {
                                                  goto switch_1_8561;
                                                } else {
                                                  if (s__state == 8448) {
                                                    goto switch_1_8448;
                                                  } else {
                                                    if (s__state == 8576) {
                                                      goto switch_1_8576;
                                                    } else {
                                                      if (s__state == 8577) {
                                                        goto switch_1_8577;
                                                      } else {
                                                        if (s__state == 8592) {
                                                          goto switch_1_8592;
                                                        } else {
                                                          if (s__state ==
                                                              8593) {
                                                            goto switch_1_8593;
                                                          } else {
                                                            if (s__state ==
                                                                8608) {
                                                              goto switch_1_8608;
                                                            } else {
                                                              if (s__state ==
                                                                  8609) {
                                                                goto switch_1_8609;
                                                              } else {
                                                                if (s__state ==
                                                                    8640) {
                                                                  goto switch_1_8640;
                                                                } else {
                                                                  if (s__state ==
                                                                      8641) {
                                                                    goto switch_1_8641;
                                                                  } else {
                                                                    if (s__state ==
                                                                        8656) {
                                                                      goto switch_1_8656;
                                                                    } else {
                                                                      if (s__state ==
                                                                          8657) {
                                                                        goto switch_1_8657;
                                                                      } else {
                                                                        if (s__state ==
                                                                            8672) {
                                                                          goto switch_1_8672;
                                                                        } else {
                                                                          if (s__state ==
                                                                              8673) {
                                                                            goto switch_1_8673;
                                                                          } else {
                                                                            if (s__state ==
                                                                                3) {
                                                                              goto switch_1_3;
                                                                            } else {
                                                                              goto switch_1_default;
                                                                              if (0) {
                                                                              switch_1_12292
                                                                                  :
                                                                                s__new_session =
                                                                                    1;
                                                                              switch_1_16384
                                                                                  :;
                                                                              switch_1_8192
                                                                                  :;
                                                                              switch_1_24576
                                                                                  :;
                                                                              switch_1_8195
                                                                                  :
                                                                                s__server =
                                                                                    1;
                                                                                if (cb !=
                                                                                    0) {
                                                                                }
                                                                                {
                                                                                  __cil_tmp55 =
                                                                                      s__version *
                                                                                      8;
                                                                                  if (__cil_tmp55 !=
                                                                                      3) {
                                                                                    return (
                                                                                        -1);
                                                                                  }
                                                                                }
                                                                                s__type =
                                                                                    8192;
                                                                                if (s__init_buf___0 ==
                                                                                    0) {
                                                                                  buf =
                                                                                      __VERIFIER_nondet_int();
                                                                                  if (buf ==
                                                                                      0) {
                                                                                    ret =
                                                                                        -1;
                                                                                    goto end;
                                                                                  }
                                                                                  if (!tmp___3) {
                                                                                    ret =
                                                                                        -1;
                                                                                    goto end;
                                                                                  }
                                                                                  s__init_buf___0 =
                                                                                      buf;
                                                                                }
                                                                                if (!tmp___4) {
                                                                                  ret =
                                                                                      -1;
                                                                                  goto end;
                                                                                }
                                                                                s__init_num =
                                                                                    0;
                                                                                if (s__state !=
                                                                                    12292) {
                                                                                  if (!tmp___5) {
                                                                                    ret =
                                                                                        -1;
                                                                                    goto end;
                                                                                  }
                                                                                  s__state =
                                                                                      8464;
                                                                                  s__ctx__stats__sess_accept++;
                                                                                } else {
                                                                                  s__ctx__stats__sess_accept_renegotiate++;
                                                                                  s__state =
                                                                                      8480;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8480
                                                                                  :;
                                                                              switch_1_8481
                                                                                  :
                                                                                s__shutdown =
                                                                                    0;
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                s__s3__tmp__next_state___0 =
                                                                                    8482;
                                                                                s__state =
                                                                                    8448;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8482
                                                                                  :
                                                                                s__state =
                                                                                    3;
                                                                                goto switch_1_break;
                                                                              switch_1_8464
                                                                                  :;
                                                                              switch_1_8465
                                                                                  :;
                                                                              switch_1_8466
                                                                                  :
                                                                                s__shutdown =
                                                                                    0;
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    0) {
                                                                                  blastFlag =
                                                                                      1;
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                got_new_session =
                                                                                    1;
                                                                                s__state =
                                                                                    8496;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8496
                                                                                  :;
                                                                              switch_1_8497
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    1) {
                                                                                  blastFlag =
                                                                                      2;
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                if (s__hit) {
                                                                                  s__state =
                                                                                      8656;
                                                                                } else {
                                                                                  s__state =
                                                                                      8512;
                                                                                }
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8512
                                                                                  :;
                                                                              switch_1_8513
                                                                                  :;
                                                                                {
                                                                                  __cil_tmp56 =
                                                                                      (unsigned long)
                                                                                          s__s3__tmp__new_cipher__algorithms;
                                                                                  if (__cil_tmp56 +
                                                                                      256UL) {
                                                                                    skip =
                                                                                        1;
                                                                                  } else {
                                                                                    ret =
                                                                                        __VERIFIER_nondet_int();
                                                                                    if (blastFlag ==
                                                                                        2) {
                                                                                      blastFlag =
                                                                                          3;
                                                                                    }
                                                                                    if (ret <=
                                                                                        0) {
                                                                                      goto end;
                                                                                    }
                                                                                  }
                                                                                }
                                                                                s__state =
                                                                                    8528;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8528
                                                                                  :;
                                                                              switch_1_8529
                                                                                  :
                                                                                l = (unsigned long)
                                                                                    s__s3__tmp__new_cipher__algorithms;
                                                                                {
                                                                                  __cil_tmp57 =
                                                                                      (unsigned long)
                                                                                          s__options;
                                                                                  if (__cil_tmp57 +
                                                                                      2097152UL) {
                                                                                    s__s3__tmp__use_rsa_tmp =
                                                                                        1;
                                                                                  } else {
                                                                                    s__s3__tmp__use_rsa_tmp =
                                                                                        0;
                                                                                  }
                                                                                }
                                                                                if (s__s3__tmp__use_rsa_tmp) {
                                                                                  goto _L___0;
                                                                                } else {
                                                                                  if (l +
                                                                                      30UL) {
                                                                                    goto _L___0;
                                                                                  } else {
                                                                                    if (l +
                                                                                        1UL) {
                                                                                      if (s__cert__pkeys__AT0__privatekey ==
                                                                                          0) {
                                                                                        goto _L___0;
                                                                                      } else {
                                                                                        {
                                                                                          __cil_tmp58 =
                                                                                              (unsigned long)
                                                                                                  s__s3__tmp__new_cipher__algo_strength;
                                                                                          if (__cil_tmp58 +
                                                                                              2UL) {
                                                                                            {
                                                                                              __cil_tmp59 =
                                                                                                  (unsigned long)
                                                                                                      s__s3__tmp__new_cipher__algo_strength;
                                                                                              if (__cil_tmp59 +
                                                                                                  4UL) {
                                                                                                tmp___7 =
                                                                                                    512;
                                                                                              } else {
                                                                                                tmp___7 =
                                                                                                    1024;
                                                                                              }
                                                                                            }
                                                                                            {
                                                                                              __cil_tmp60 =
                                                                                                  tmp___6 *
                                                                                                  8;
                                                                                              if (__cil_tmp60 >
                                                                                                  tmp___7) {
                                                                                              _L___0
                                                                                                  :
                                                                                                ret =
                                                                                                    __VERIFIER_nondet_int();
                                                                                                if (blastFlag ==
                                                                                                    3) {
                                                                                                  blastFlag =
                                                                                                      4;
                                                                                                }
                                                                                                if (ret <=
                                                                                                    0) {
                                                                                                  goto end;
                                                                                                }
                                                                                              } else {
                                                                                                skip =
                                                                                                    1;
                                                                                              }
                                                                                            }
                                                                                          } else {
                                                                                            skip =
                                                                                                1;
                                                                                          }
                                                                                        }
                                                                                      }
                                                                                    } else {
                                                                                      skip =
                                                                                          1;
                                                                                    }
                                                                                  }
                                                                                }
                                                                                s__state =
                                                                                    8544;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8544
                                                                                  :;
                                                                              switch_1_8545
                                                                                  :;
                                                                                if (s__verify_mode +
                                                                                    1) {
                                                                                  if (s__session__peer !=
                                                                                      0) {
                                                                                    if (s__verify_mode +
                                                                                        4) {
                                                                                      skip =
                                                                                          1;
                                                                                      s__s3__tmp__cert_request =
                                                                                          0;
                                                                                      s__state =
                                                                                          8560;
                                                                                    } else {
                                                                                      goto _L___2;
                                                                                    }
                                                                                  } else {
                                                                                  _L___2
                                                                                      : {
                                                                                    __cil_tmp61 =
                                                                                        (unsigned long)
                                                                                            s__s3__tmp__new_cipher__algorithms;
                                                                                    if (__cil_tmp61 +
                                                                                        256UL) {
                                                                                      if (s__verify_mode +
                                                                                          2) {
                                                                                        goto _L___1;
                                                                                      } else {
                                                                                        skip =
                                                                                            1;
                                                                                        s__s3__tmp__cert_request =
                                                                                            0;
                                                                                        s__state =
                                                                                            8560;
                                                                                      }
                                                                                    } else {
                                                                                    _L___1
                                                                                        :
                                                                                      s__s3__tmp__cert_request =
                                                                                          1;
                                                                                      ret =
                                                                                          __VERIFIER_nondet_int();
                                                                                      if (blastFlag ==
                                                                                          4) {
                                                                                        blastFlag =
                                                                                            5;
                                                                                      }
                                                                                      if (ret <=
                                                                                          0) {
                                                                                        goto end;
                                                                                      }
                                                                                      s__state =
                                                                                          8448;
                                                                                      s__s3__tmp__next_state___0 =
                                                                                          8576;
                                                                                      s__init_num =
                                                                                          0;
                                                                                    }
                                                                                  }
                                                                                  }
                                                                                } else {
                                                                                  skip =
                                                                                      1;
                                                                                  s__s3__tmp__cert_request =
                                                                                      0;
                                                                                  s__state =
                                                                                      8560;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8560
                                                                                  :;
                                                                              switch_1_8561
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                s__s3__tmp__next_state___0 =
                                                                                    8576;
                                                                                s__state =
                                                                                    8448;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8448
                                                                                  :
                                                                                if (num1 >
                                                                                    0L) {
                                                                                  s__rwstate =
                                                                                      2;
                                                                                  num1 =
                                                                                      tmp___8;
                                                                                  if (num1 <=
                                                                                      0L) {
                                                                                    ret =
                                                                                        -1;
                                                                                    goto end;
                                                                                  }
                                                                                  s__rwstate =
                                                                                      1;
                                                                                }
                                                                                s__state =
                                                                                    s__s3__tmp__next_state___0;
                                                                                goto switch_1_break;
                                                                              switch_1_8576
                                                                                  :;
                                                                              switch_1_8577
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    5) {
                                                                                  blastFlag =
                                                                                      6;
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                if (ret ==
                                                                                    2) {
                                                                                  s__state =
                                                                                      8466;
                                                                                } else {
                                                                                  ret =
                                                                                      __VERIFIER_nondet_int();
                                                                                  if (blastFlag ==
                                                                                      6) {
                                                                                    blastFlag =
                                                                                        7;
                                                                                  }
                                                                                  if (ret <=
                                                                                      0) {
                                                                                    goto end;
                                                                                  }
                                                                                  s__init_num =
                                                                                      0;
                                                                                  s__state =
                                                                                      8592;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8592
                                                                                  :;
                                                                              switch_1_8593
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    7) {
                                                                                  blastFlag =
                                                                                      8;
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state =
                                                                                    8608;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8608
                                                                                  :;
                                                                              switch_1_8609
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    8) {
                                                                                  blastFlag =
                                                                                      9;
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state =
                                                                                    8640;
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8640
                                                                                  :;
                                                                              switch_1_8641
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    9) {
                                                                                  blastFlag =
                                                                                      10;
                                                                                } else {
                                                                                  if (blastFlag ==
                                                                                      12) {
                                                                                    blastFlag =
                                                                                        13;
                                                                                  } else {
                                                                                    if (blastFlag ==
                                                                                        15) {
                                                                                      blastFlag =
                                                                                          16;
                                                                                    } else {
                                                                                      if (blastFlag ==
                                                                                          18) {
                                                                                        blastFlag =
                                                                                            19;
                                                                                      } else {
                                                                                        if (blastFlag ==
                                                                                            21) {
                                                                                          goto ERROR;
                                                                                        }
                                                                                      }
                                                                                    }
                                                                                  }
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                if (s__hit) {
                                                                                  s__state =
                                                                                      3;
                                                                                } else {
                                                                                  s__state =
                                                                                      8656;
                                                                                }
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_8656
                                                                                  :;
                                                                              switch_1_8657
                                                                                  :
                                                                                s__session__cipher =
                                                                                    s__s3__tmp__new_cipher;
                                                                                if (!tmp___9) {
                                                                                  ret =
                                                                                      -1;
                                                                                  goto end;
                                                                                }
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    10) {
                                                                                  blastFlag =
                                                                                      11;
                                                                                } else {
                                                                                  if (blastFlag ==
                                                                                      13) {
                                                                                    blastFlag =
                                                                                        14;
                                                                                  } else {
                                                                                    if (blastFlag ==
                                                                                        16) {
                                                                                      blastFlag =
                                                                                          17;
                                                                                    } else {
                                                                                      if (blastFlag ==
                                                                                          19) {
                                                                                        blastFlag =
                                                                                            20;
                                                                                      }
                                                                                    }
                                                                                  }
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state =
                                                                                    8672;
                                                                                s__init_num =
                                                                                    0;
                                                                                if (!tmp___10) {
                                                                                  ret =
                                                                                      -1;
                                                                                  goto end;
                                                                                }
                                                                                goto switch_1_break;
                                                                              switch_1_8672
                                                                                  :;
                                                                              switch_1_8673
                                                                                  :
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    11) {
                                                                                  blastFlag =
                                                                                      12;
                                                                                } else {
                                                                                  if (blastFlag ==
                                                                                      14) {
                                                                                    blastFlag =
                                                                                        15;
                                                                                  } else {
                                                                                    if (blastFlag ==
                                                                                        17) {
                                                                                      blastFlag =
                                                                                          18;
                                                                                    } else {
                                                                                      if (blastFlag ==
                                                                                          20) {
                                                                                        blastFlag =
                                                                                            21;
                                                                                      }
                                                                                    }
                                                                                  }
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                                s__state =
                                                                                    8448;
                                                                                if (s__hit) {
                                                                                  s__s3__tmp__next_state___0 =
                                                                                      8640;
                                                                                } else {
                                                                                  s__s3__tmp__next_state___0 =
                                                                                      3;
                                                                                }
                                                                                s__init_num =
                                                                                    0;
                                                                                goto switch_1_break;
                                                                              switch_1_3
                                                                                  :
                                                                                s__init_buf___0 =
                                                                                    0;
                                                                                s__init_num =
                                                                                    0;
                                                                                if (got_new_session) {
                                                                                  s__new_session =
                                                                                      0;
                                                                                  s__ctx__stats__sess_accept_good++;
                                                                                  if (cb !=
                                                                                      0) {
                                                                                  }
                                                                                }
                                                                                ret =
                                                                                    1;
                                                                                goto end;
                                                                              switch_1_default
                                                                                  :
                                                                                ret =
                                                                                    -1;
                                                                                goto end;
                                                                              } else {
                                                                              switch_1_break
                                                                                  :;
                                                                              }
                                                                            }
                                                                          }
                                                                        }
                                                                      }
                                                                    }
                                                                  }
                                                                }
                                                              }
                                                            }
                                                          }
                                                        }
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        if (!s__s3__tmp__reuse_message) {
          if (!skip) {
            if (s__debug) {
              ret = __VERIFIER_nondet_int();
              if (ret <= 0) {
                goto end;
              }
            }
            if (cb != 0) {
              if (s__state != state) {
                new_state = s__state;
                s__state = state;
                s__state = new_state;
              }
            }
          }
        }
        skip = 0;
      }
    while_0_break:;
    }
  end:
    s__in_handshake--;
    if (cb != 0) {
    }
    return (ret);
  ERROR:
    __VERIFIER_error();
    return (-1);
  }
}


x86 assembly (clang, -O0):
<ssl3_accept>:
push   %rbp
mov    %rsp,%rbp
sub    $0x130,%rsp
mov    %edi,-0x8(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x10(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x20(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x2c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x38(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x40(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x44(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x48(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x4c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x50(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x54(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x58(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x5c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x60(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x68(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x70(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x74(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x7c(%rbp)
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,-0xb0(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc8(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xcc(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xd0(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xd4(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xd8(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xdc(%rbp)
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,-0xe8(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xec(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xf0(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0x14(%rbp)
movl   $0x0,-0xf4(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,-0xa0(%rbp)
mov    -0xa0(%rbp),%rax
mov    %rax,-0x98(%rbp)
movl   $0x0,-0xa4(%rbp)
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
movl   $0x0,-0xc0(%rbp)
movl   $0x0,-0xc4(%rbp)
cmpl   $0x0,-0xc(%rbp)
je     12e2 <ssl3_accept+0x1b2>
mov    -0xc(%rbp),%eax
mov    %eax,-0xa4(%rbp)
jmp    130c <ssl3_accept+0x1dc>
cmpl   $0x0,-0x54(%rbp)
je     12f5 <ssl3_accept+0x1c5>
mov    -0x54(%rbp),%eax
mov    %eax,-0xa4(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     1307 <ssl3_accept+0x1d7>
jmp    21ae <ssl3_accept+0x107e>
jmp    130c <ssl3_accept+0x1dc>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
mov    -0xc8(%rbp),%eax
add    $0x3000,%eax
cmp    $0x0,%eax
je     1347 <ssl3_accept+0x217>
mov    -0xcc(%rbp),%eax
add    $0x4000,%eax
cmp    $0x0,%eax
je     1342 <ssl3_accept+0x212>
jmp    1342 <ssl3_accept+0x212>
jmp    1347 <ssl3_accept+0x217>
cmpl   $0x0,-0x40(%rbp)
jne    135d <ssl3_accept+0x22d>
movl   $0xffffffff,-0x4(%rbp)
jmp    21bc <ssl3_accept+0x108c>
jmp    1362 <ssl3_accept+0x232>
jmp    1367 <ssl3_accept+0x237>
mov    -0x14(%rbp),%eax
mov    %eax,-0xbc(%rbp)
cmpl   $0x3004,-0x14(%rbp)
jne    1382 <ssl3_accept+0x252>
jmp    15e8 <ssl3_accept+0x4b8>
cmpl   $0x4000,-0x14(%rbp)
jne    1394 <ssl3_accept+0x264>
jmp    15ef <ssl3_accept+0x4bf>
cmpl   $0x2000,-0x14(%rbp)
jne    13a6 <ssl3_accept+0x276>
jmp    15f4 <ssl3_accept+0x4c4>
cmpl   $0x6000,-0x14(%rbp)
jne    13b8 <ssl3_accept+0x288>
jmp    15f9 <ssl3_accept+0x4c9>
cmpl   $0x2003,-0x14(%rbp)
jne    13ca <ssl3_accept+0x29a>
jmp    15fe <ssl3_accept+0x4ce>
cmpl   $0x2120,-0x14(%rbp)
jne    13dc <ssl3_accept+0x2ac>
jmp    1711 <ssl3_accept+0x5e1>
cmpl   $0x2121,-0x14(%rbp)
jne    13ee <ssl3_accept+0x2be>
jmp    1716 <ssl3_accept+0x5e6>
cmpl   $0x2122,-0x14(%rbp)
jne    1400 <ssl3_accept+0x2d0>
jmp    1756 <ssl3_accept+0x626>
cmpl   $0x2110,-0x14(%rbp)
jne    1412 <ssl3_accept+0x2e2>
jmp    1762 <ssl3_accept+0x632>
cmpl   $0x2111,-0x14(%rbp)
jne    1424 <ssl3_accept+0x2f4>
jmp    1767 <ssl3_accept+0x637>
cmpl   $0x2112,-0x14(%rbp)
jne    1436 <ssl3_accept+0x306>
jmp    176c <ssl3_accept+0x63c>
cmpl   $0x2130,-0x14(%rbp)
jne    1448 <ssl3_accept+0x318>
jmp    17c6 <ssl3_accept+0x696>
cmpl   $0x2131,-0x14(%rbp)
jne    145a <ssl3_accept+0x32a>
jmp    17cb <ssl3_accept+0x69b>
cmpl   $0x2140,-0x14(%rbp)
jne    146c <ssl3_accept+0x33c>
jmp    182a <ssl3_accept+0x6fa>
cmpl   $0x2141,-0x14(%rbp)
jne    147e <ssl3_accept+0x34e>
jmp    182f <ssl3_accept+0x6ff>
cmpl   $0x2150,-0x14(%rbp)
jne    1490 <ssl3_accept+0x360>
jmp    18ae <ssl3_accept+0x77e>
cmpl   $0x2151,-0x14(%rbp)
jne    14a2 <ssl3_accept+0x372>
jmp    18b3 <ssl3_accept+0x783>
cmpl   $0x2160,-0x14(%rbp)
jne    14b4 <ssl3_accept+0x384>
jmp    1a44 <ssl3_accept+0x914>
cmpl   $0x2161,-0x14(%rbp)
jne    14c6 <ssl3_accept+0x396>
jmp    1a49 <ssl3_accept+0x919>
cmpl   $0x2170,-0x14(%rbp)
jne    14d8 <ssl3_accept+0x3a8>
jmp    1b6e <ssl3_accept+0xa3e>
cmpl   $0x2171,-0x14(%rbp)
jne    14ea <ssl3_accept+0x3ba>
jmp    1b73 <ssl3_accept+0xa43>
cmpl   $0x2100,-0x14(%rbp)
jne    14fc <ssl3_accept+0x3cc>
jmp    1bac <ssl3_accept+0xa7c>
cmpl   $0x2180,-0x14(%rbp)
jne    150e <ssl3_accept+0x3de>
jmp    1bfe <ssl3_accept+0xace>
cmpl   $0x2181,-0x14(%rbp)
jne    1520 <ssl3_accept+0x3f0>
jmp    1c03 <ssl3_accept+0xad3>
cmpl   $0x2190,-0x14(%rbp)
jne    1532 <ssl3_accept+0x402>
jmp    1c9b <ssl3_accept+0xb6b>
cmpl   $0x2191,-0x14(%rbp)
jne    1544 <ssl3_accept+0x414>
jmp    1ca0 <ssl3_accept+0xb70>
cmpl   $0x21a0,-0x14(%rbp)
jne    1556 <ssl3_accept+0x426>
jmp    1ce9 <ssl3_accept+0xbb9>
cmpl   $0x21a1,-0x14(%rbp)
jne    1568 <ssl3_accept+0x438>
jmp    1cee <ssl3_accept+0xbbe>
cmpl   $0x21c0,-0x14(%rbp)
jne    157a <ssl3_accept+0x44a>
jmp    1d37 <ssl3_accept+0xc07>
cmpl   $0x21c1,-0x14(%rbp)
jne    158c <ssl3_accept+0x45c>
jmp    1d3c <ssl3_accept+0xc0c>
cmpl   $0x21d0,-0x14(%rbp)
jne    159e <ssl3_accept+0x46e>
jmp    1e1a <ssl3_accept+0xcea>
cmpl   $0x21d1,-0x14(%rbp)
jne    15b0 <ssl3_accept+0x480>
jmp    1e1f <ssl3_accept+0xcef>
cmpl   $0x21e0,-0x14(%rbp)
jne    15c2 <ssl3_accept+0x492>
jmp    1f09 <ssl3_accept+0xdd9>
cmpl   $0x21e1,-0x14(%rbp)
jne    15d4 <ssl3_accept+0x4a4>
jmp    1f0e <ssl3_accept+0xdde>
cmpl   $0x3,-0x14(%rbp)
jne    15e3 <ssl3_accept+0x4b3>
jmp    1fd7 <ssl3_accept+0xea7>
jmp    2028 <ssl3_accept+0xef8>
movl   $0x1,-0x18(%rbp)
jmp    15f4 <ssl3_accept+0x4c4>
jmp    15f9 <ssl3_accept+0x4c9>
jmp    15fe <ssl3_accept+0x4ce>
movl   $0x1,-0x1c(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     1617 <ssl3_accept+0x4e7>
jmp    1617 <ssl3_accept+0x4e7>
mov    -0x20(%rbp),%eax
shl    $0x3,%eax
mov    %eax,-0xf8(%rbp)
cmpl   $0x3,-0xf8(%rbp)
je     163c <ssl3_accept+0x50c>
movl   $0xffffffff,-0x4(%rbp)
jmp    21bc <ssl3_accept+0x108c>
movl   $0x2000,-0x24(%rbp)
cmpl   $0x0,-0x34(%rbp)
jne    169b <ssl3_accept+0x56b>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x84(%rbp)
cmpl   $0x0,-0x84(%rbp)
jne    1676 <ssl3_accept+0x546>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
cmpl   $0x0,-0xd0(%rbp)
jne    1692 <ssl3_accept+0x562>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
mov    -0x84(%rbp),%eax
mov    %eax,-0x34(%rbp)
cmpl   $0x0,-0xd4(%rbp)
jne    16b7 <ssl3_accept+0x587>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
movl   $0x0,-0x28(%rbp)
cmpl   $0x3004,-0x14(%rbp)
je     16fc <ssl3_accept+0x5cc>
cmpl   $0x0,-0xd8(%rbp)
jne    16e7 <ssl3_accept+0x5b7>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
movl   $0x2110,-0x14(%rbp)
mov    -0x5c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x5c(%rbp)
jmp    170c <ssl3_accept+0x5dc>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
movl   $0x2120,-0x14(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1716 <ssl3_accept+0x5e6>
movl   $0x0,-0x3c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     173c <ssl3_accept+0x60c>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x2122,-0x78(%rbp)
movl   $0x2100,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
movl   $0x3,-0x14(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1767 <ssl3_accept+0x637>
jmp    176c <ssl3_accept+0x63c>
movl   $0x0,-0x3c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xf4(%rbp)
jne    1797 <ssl3_accept+0x667>
movl   $0x1,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     17a9 <ssl3_accept+0x679>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x1,-0xc4(%rbp)
movl   $0x2130,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    17cb <ssl3_accept+0x69b>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x1,-0xf4(%rbp)
jne    17ef <ssl3_accept+0x6bf>
movl   $0x2,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1801 <ssl3_accept+0x6d1>
jmp    2185 <ssl3_accept+0x1055>
cmpl   $0x0,-0x2c(%rbp)
je     1817 <ssl3_accept+0x6e7>
movl   $0x21d0,-0x14(%rbp)
jmp    181e <ssl3_accept+0x6ee>
movl   $0x2140,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    182f <ssl3_accept+0x6ff>
movslq -0x74(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
je     1860 <ssl3_accept+0x730>
movl   $0x1,-0xc0(%rbp)
jmp    189b <ssl3_accept+0x76b>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x2,-0xf4(%rbp)
jne    1884 <ssl3_accept+0x754>
movl   $0x3,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1896 <ssl3_accept+0x766>
jmp    2185 <ssl3_accept+0x1055>
jmp    189b <ssl3_accept+0x76b>
movl   $0x2150,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    18b3 <ssl3_accept+0x783>
movslq -0x74(%rbp),%rax
mov    %rax,-0x90(%rbp)
movslq -0x44(%rbp),%rax
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
add    $0x200000,%rax
cmp    $0x0,%rax
je     18ec <ssl3_accept+0x7bc>
movl   $0x1,-0x6c(%rbp)
jmp    18f3 <ssl3_accept+0x7c3>
movl   $0x0,-0x6c(%rbp)
cmpl   $0x0,-0x6c(%rbp)
je     1902 <ssl3_accept+0x7d2>
jmp    19bf <ssl3_accept+0x88f>
mov    -0x90(%rbp),%rax
add    $0x1e,%rax
cmp    $0x0,%rax
je     191c <ssl3_accept+0x7ec>
jmp    19bf <ssl3_accept+0x88f>
mov    -0x90(%rbp),%rax
add    $0x1,%rax
cmp    $0x0,%rax
je     1a1d <ssl3_accept+0x8ed>
cmpl   $0x0,-0x50(%rbp)
jne    1940 <ssl3_accept+0x810>
jmp    19bf <ssl3_accept+0x88f>
movslq -0x7c(%rbp),%rax
mov    %rax,-0x110(%rbp)
mov    -0x110(%rbp),%rax
add    $0x2,%rax
cmp    $0x0,%rax
je     1a09 <ssl3_accept+0x8d9>
movslq -0x7c(%rbp),%rax
mov    %rax,-0x118(%rbp)
mov    -0x118(%rbp),%rax
add    $0x4,%rax
cmp    $0x0,%rax
je     198f <ssl3_accept+0x85f>
movl   $0x200,-0xe0(%rbp)
jmp    1999 <ssl3_accept+0x869>
movl   $0x400,-0xe0(%rbp)
mov    -0xdc(%rbp),%eax
shl    $0x3,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x11c(%rbp),%eax
cmp    -0xe0(%rbp),%eax
jle    19fa <ssl3_accept+0x8ca>
jmp    19bf <ssl3_accept+0x88f>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x3,-0xf4(%rbp)
jne    19e3 <ssl3_accept+0x8b3>
movl   $0x4,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     19f5 <ssl3_accept+0x8c5>
jmp    2185 <ssl3_accept+0x1055>
jmp    1a04 <ssl3_accept+0x8d4>
movl   $0x1,-0xc0(%rbp)
jmp    1a13 <ssl3_accept+0x8e3>
movl   $0x1,-0xc0(%rbp)
jmp    1a18 <ssl3_accept+0x8e8>
jmp    1a27 <ssl3_accept+0x8f7>
movl   $0x1,-0xc0(%rbp)
jmp    1a2c <ssl3_accept+0x8fc>
jmp    1a31 <ssl3_accept+0x901>
movl   $0x2160,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1a49 <ssl3_accept+0x919>
mov    -0x48(%rbp),%eax
add    $0x1,%eax
cmp    $0x0,%eax
je     1b51 <ssl3_accept+0xa21>
cmpl   $0x0,-0x4c(%rbp)
je     1a98 <ssl3_accept+0x968>
mov    -0x48(%rbp),%eax
add    $0x4,%eax
cmp    $0x0,%eax
je     1a8e <ssl3_accept+0x95e>
movl   $0x1,-0xc0(%rbp)
movl   $0x0,-0x64(%rbp)
movl   $0x2170,-0x14(%rbp)
jmp    1a93 <ssl3_accept+0x963>
jmp    1a9d <ssl3_accept+0x96d>
jmp    1b4c <ssl3_accept+0xa1c>
jmp    1a9d <ssl3_accept+0x96d>
movslq -0x74(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x128(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
je     1af0 <ssl3_accept+0x9c0>
mov    -0x48(%rbp),%eax
add    $0x2,%eax
cmp    $0x0,%eax
je     1ad3 <ssl3_accept+0x9a3>
jmp    1af5 <ssl3_accept+0x9c5>
movl   $0x1,-0xc0(%rbp)
movl   $0x0,-0x64(%rbp)
movl   $0x2170,-0x14(%rbp)
jmp    1b47 <ssl3_accept+0xa17>
jmp    1af5 <ssl3_accept+0x9c5>
movl   $0x1,-0x64(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x4,-0xf4(%rbp)
jne    1b20 <ssl3_accept+0x9f0>
movl   $0x5,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1b32 <ssl3_accept+0xa02>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x2100,-0x14(%rbp)
movl   $0x2180,-0x78(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1b4c <ssl3_accept+0xa1c>
jmp    1b69 <ssl3_accept+0xa39>
movl   $0x1,-0xc0(%rbp)
movl   $0x0,-0x64(%rbp)
movl   $0x2170,-0x14(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1b73 <ssl3_accept+0xa43>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1b92 <ssl3_accept+0xa62>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x2180,-0x78(%rbp)
movl   $0x2100,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
cmpq   $0x0,-0xb0(%rbp)
jle    1bf3 <ssl3_accept+0xac3>
movl   $0x2,-0x30(%rbp)
mov    -0xe8(%rbp),%rax
mov    %rax,-0xb0(%rbp)
cmpq   $0x0,-0xb0(%rbp)
jg     1bec <ssl3_accept+0xabc>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
movl   $0x1,-0x30(%rbp)
mov    -0x78(%rbp),%eax
mov    %eax,-0x14(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1c03 <ssl3_accept+0xad3>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x5,-0xf4(%rbp)
jne    1c27 <ssl3_accept+0xaf7>
movl   $0x6,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1c39 <ssl3_accept+0xb09>
jmp    2185 <ssl3_accept+0x1055>
cmpl   $0x2,-0xb4(%rbp)
jne    1c52 <ssl3_accept+0xb22>
movl   $0x2112,-0x14(%rbp)
jmp    1c96 <ssl3_accept+0xb66>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x6,-0xf4(%rbp)
jne    1c76 <ssl3_accept+0xb46>
movl   $0x7,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1c88 <ssl3_accept+0xb58>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x0,-0x28(%rbp)
movl   $0x2190,-0x14(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1ca0 <ssl3_accept+0xb70>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x7,-0xf4(%rbp)
jne    1cc4 <ssl3_accept+0xb94>
movl   $0x8,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1cd6 <ssl3_accept+0xba6>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x21a0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1cee <ssl3_accept+0xbbe>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x8,-0xf4(%rbp)
jne    1d12 <ssl3_accept+0xbe2>
movl   $0x9,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1d24 <ssl3_accept+0xbf4>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x21c0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1d3c <ssl3_accept+0xc0c>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x9,-0xf4(%rbp)
jne    1d65 <ssl3_accept+0xc35>
movl   $0xa,-0xf4(%rbp)
jmp    1ddf <ssl3_accept+0xcaf>
cmpl   $0xc,-0xf4(%rbp)
jne    1d81 <ssl3_accept+0xc51>
movl   $0xd,-0xf4(%rbp)
jmp    1dda <ssl3_accept+0xcaa>
cmpl   $0xf,-0xf4(%rbp)
jne    1d9d <ssl3_accept+0xc6d>
movl   $0x10,-0xf4(%rbp)
jmp    1dd5 <ssl3_accept+0xca5>
cmpl   $0x12,-0xf4(%rbp)
jne    1db9 <ssl3_accept+0xc89>
movl   $0x13,-0xf4(%rbp)
jmp    1dd0 <ssl3_accept+0xca0>
cmpl   $0x15,-0xf4(%rbp)
jne    1dcb <ssl3_accept+0xc9b>
jmp    21ae <ssl3_accept+0x107e>
jmp    1dd0 <ssl3_accept+0xca0>
jmp    1dd5 <ssl3_accept+0xca5>
jmp    1dda <ssl3_accept+0xcaa>
jmp    1ddf <ssl3_accept+0xcaf>
cmpl   $0x0,-0xb4(%rbp)
jg     1df1 <ssl3_accept+0xcc1>
jmp    2185 <ssl3_accept+0x1055>
cmpl   $0x0,-0x2c(%rbp)
je     1e07 <ssl3_accept+0xcd7>
movl   $0x3,-0x14(%rbp)
jmp    1e0e <ssl3_accept+0xcde>
movl   $0x21d0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
jmp    1e1f <ssl3_accept+0xcef>
mov    -0x70(%rbp),%eax
mov    %eax,-0x80(%rbp)
cmpl   $0x0,-0xec(%rbp)
jne    1e41 <ssl3_accept+0xd11>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0xa,-0xf4(%rbp)
jne    1e6a <ssl3_accept+0xd3a>
movl   $0xb,-0xf4(%rbp)
jmp    1ec8 <ssl3_accept+0xd98>
cmpl   $0xd,-0xf4(%rbp)
jne    1e86 <ssl3_accept+0xd56>
movl   $0xe,-0xf4(%rbp)
jmp    1ec3 <ssl3_accept+0xd93>
cmpl   $0x10,-0xf4(%rbp)
jne    1ea2 <ssl3_accept+0xd72>
movl   $0x11,-0xf4(%rbp)
jmp    1ebe <ssl3_accept+0xd8e>
cmpl   $0x13,-0xf4(%rbp)
jne    1eb9 <ssl3_accept+0xd89>
movl   $0x14,-0xf4(%rbp)
jmp    1ebe <ssl3_accept+0xd8e>
jmp    1ec3 <ssl3_accept+0xd93>
jmp    1ec8 <ssl3_accept+0xd98>
cmpl   $0x0,-0xb4(%rbp)
jg     1eda <ssl3_accept+0xdaa>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x21e0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
cmpl   $0x0,-0xf0(%rbp)
jne    1f04 <ssl3_accept+0xdd4>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
jmp    2037 <ssl3_accept+0xf07>
jmp    1f0e <ssl3_accept+0xdde>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0xb,-0xf4(%rbp)
jne    1f37 <ssl3_accept+0xe07>
movl   $0xc,-0xf4(%rbp)
jmp    1f95 <ssl3_accept+0xe65>
cmpl   $0xe,-0xf4(%rbp)
jne    1f53 <ssl3_accept+0xe23>
movl   $0xf,-0xf4(%rbp)
jmp    1f90 <ssl3_accept+0xe60>
cmpl   $0x11,-0xf4(%rbp)
jne    1f6f <ssl3_accept+0xe3f>
movl   $0x12,-0xf4(%rbp)
jmp    1f8b <ssl3_accept+0xe5b>
cmpl   $0x14,-0xf4(%rbp)
jne    1f86 <ssl3_accept+0xe56>
movl   $0x15,-0xf4(%rbp)
jmp    1f8b <ssl3_accept+0xe5b>
jmp    1f90 <ssl3_accept+0xe60>
jmp    1f95 <ssl3_accept+0xe65>
cmpl   $0x0,-0xb4(%rbp)
jg     1fa7 <ssl3_accept+0xe77>
jmp    2185 <ssl3_accept+0x1055>
movl   $0x2100,-0x14(%rbp)
cmpl   $0x0,-0x2c(%rbp)
je     1fc4 <ssl3_accept+0xe94>
movl   $0x21c0,-0x78(%rbp)
jmp    1fcb <ssl3_accept+0xe9b>
movl   $0x3,-0x78(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2037 <ssl3_accept+0xf07>
movl   $0x0,-0x34(%rbp)
movl   $0x0,-0x28(%rbp)
cmpl   $0x0,-0xc4(%rbp)
je     2019 <ssl3_accept+0xee9>
movl   $0x0,-0x18(%rbp)
mov    -0x60(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x60(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     2014 <ssl3_accept+0xee4>
jmp    2014 <ssl3_accept+0xee4>
jmp    2019 <ssl3_accept+0xee9>
movl   $0x1,-0xb4(%rbp)
jmp    2185 <ssl3_accept+0x1055>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2185 <ssl3_accept+0x1055>
jmp    203c <ssl3_accept+0xf0c>
jmp    2041 <ssl3_accept+0xf11>
jmp    2046 <ssl3_accept+0xf16>
jmp    204b <ssl3_accept+0xf1b>
jmp    2050 <ssl3_accept+0xf20>
jmp    2055 <ssl3_accept+0xf25>
jmp    205a <ssl3_accept+0xf2a>
jmp    205f <ssl3_accept+0xf2f>
jmp    2064 <ssl3_accept+0xf34>
jmp    2069 <ssl3_accept+0xf39>
jmp    206e <ssl3_accept+0xf3e>
jmp    2073 <ssl3_accept+0xf43>
jmp    2078 <ssl3_accept+0xf48>
jmp    207d <ssl3_accept+0xf4d>
jmp    2082 <ssl3_accept+0xf52>
jmp    2087 <ssl3_accept+0xf57>
jmp    208c <ssl3_accept+0xf5c>
jmp    2091 <ssl3_accept+0xf61>
jmp    2096 <ssl3_accept+0xf66>
jmp    209b <ssl3_accept+0xf6b>
jmp    20a0 <ssl3_accept+0xf70>
jmp    20a5 <ssl3_accept+0xf75>
jmp    20aa <ssl3_accept+0xf7a>
jmp    20af <ssl3_accept+0xf7f>
jmp    20b4 <ssl3_accept+0xf84>
jmp    20b9 <ssl3_accept+0xf89>
jmp    20be <ssl3_accept+0xf8e>
jmp    20c3 <ssl3_accept+0xf93>
jmp    20c8 <ssl3_accept+0xf98>
jmp    20cd <ssl3_accept+0xf9d>
jmp    20d2 <ssl3_accept+0xfa2>
jmp    20d7 <ssl3_accept+0xfa7>
jmp    20dc <ssl3_accept+0xfac>
jmp    20e1 <ssl3_accept+0xfb1>
jmp    20e6 <ssl3_accept+0xfb6>
jmp    20eb <ssl3_accept+0xfbb>
cmpl   $0x0,-0x68(%rbp)
jne    2176 <ssl3_accept+0x1046>
cmpl   $0x0,-0xc0(%rbp)
jne    2171 <ssl3_accept+0x1041>
cmpl   $0x0,-0x38(%rbp)
je     2130 <ssl3_accept+0x1000>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     212b <ssl3_accept+0xffb>
jmp    2185 <ssl3_accept+0x1055>
jmp    2130 <ssl3_accept+0x1000>
cmpl   $0x0,-0xa4(%rbp)
je     216c <ssl3_accept+0x103c>
mov    -0x14(%rbp),%eax
cmp    -0xbc(%rbp),%eax
je     2167 <ssl3_accept+0x1037>
mov    -0x14(%rbp),%eax
mov    %eax,-0xb8(%rbp)
mov    -0xbc(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0xb8(%rbp),%eax
mov    %eax,-0x14(%rbp)
jmp    216c <ssl3_accept+0x103c>
jmp    2171 <ssl3_accept+0x1041>
jmp    2176 <ssl3_accept+0x1046>
movl   $0x0,-0xc0(%rbp)
jmp    1362 <ssl3_accept+0x232>
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     21a0 <ssl3_accept+0x1070>
jmp    21a0 <ssl3_accept+0x1070>
mov    -0xb4(%rbp),%eax
mov    %eax,-0x4(%rbp)
jmp    21bc <ssl3_accept+0x108c>
mov    $0x0,%al
call   1050 <__VERIFIER_error@plt>
movl   $0xffffffff,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x130,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<ssl3_accept>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x78,%rsp
mov    %edi,%r14d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%rbp
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%rbx
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x68(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%r12
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x10(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x48(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x18(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x20(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%r15
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x70(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x40(%rsp)
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,0x38(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x28(%rsp)
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,0x60(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x58(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x50(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %ebp,%ebp
jne    1271 <ssl3_accept+0x141>
test   %r15d,%r15d
je     1271 <ssl3_accept+0x141>
xor    %eax,%eax
call   1050 <__VERIFIER_error@plt>
mov    $0xffffffff,%ebp
jmp    1741 <ssl3_accept+0x611>
mov    $0xffffffff,%ebp
test   %r12d,%r12d
je     1741 <ssl3_accept+0x611>
mov    $0xffffff00,%edx
cmpl   $0x0,0x18(%rsp)
sete   %al
mov    0x48(%rsp),%rcx
cmp    $0xfffffffc,%ecx
mov    %rbx,%rdi
sete   %bl
or     %al,%bl
mov    %bl,0xf(%rsp)
mov    %r13d,%esi
cmp    %rdx,%rsi
setne  %al
cmp    $0xfffffffe,%ecx
sete   %cl
and    %al,%cl
mov    %cl,0xe(%rsp)
mov    0x10(%rsp),%eax
lea    -0x1fff00(%rdx),%rcx
xor    %rax,%rcx
lea    0xe2(%rdx),%rax
mov    %rsi,0x18(%rsp)
xor    %rsi,%rax
or     %rcx,%rax
setne  %al
cmpl   $0x0,0x20(%rsp)
sete   %cl
or     %al,%cl
mov    %cl,0x20(%rsp)
shlq   $0x20,0x40(%rsp)
mov    0x28(%rsp),%rax
shl    $0x3,%eax
mov    %rax,0x28(%rsp)
test   %edi,%edi
mov    $0x2140,%r12d
mov    $0x21d0,%r13d
cmovne %r13d,%r12d
mov    $0x3,%eax
mov    $0x21c0,%ecx
cmove  %eax,%ecx
mov    %ecx,0x34(%rsp)
cmovne %eax,%r13d
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmp    $0x3003,%r14d
jle    1370 <ssl3_accept+0x240>
cmp    $0x3004,%r14d
je     1741 <ssl3_accept+0x611>
cmp    $0x4000,%r14d
je     1741 <ssl3_accept+0x611>
cmp    $0x6000,%r14d
jne    138a <ssl3_accept+0x25a>
jmp    1741 <ssl3_accept+0x611>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
cmp    $0x2000,%r14d
je     1741 <ssl3_accept+0x611>
cmp    $0x2003,%r14d
je     1741 <ssl3_accept+0x611>
mov    %r14d,%eax
and    $0xfffffffe,%eax
cmp    $0x2120,%eax
je     13d0 <ssl3_accept+0x2a0>
lea    -0x2110(%r14),%ecx
xor    %r15d,%r15d
cmp    $0x3,%ecx
jae    1400 <ssl3_accept+0x2d0>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %ebx,%ebx
mov    $0x1,%ecx
cmove  %ecx,%ebx
mov    $0x2130,%r14d
test   %eax,%eax
jg     1410 <ssl3_accept+0x2e0>
jmp    173f <ssl3_accept+0x60f>
cs nopw 0x0(%rax,%rax,1)
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jle    173f <ssl3_accept+0x60f>
mov    $0x2100,%r14d
movl   $0x2122,0x10(%rsp)
jmp    1410 <ssl3_accept+0x2e0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmp    $0x2122,%r14d
jne    143a <ssl3_accept+0x30a>
mov    $0x3,%r14d
nop
or     0x70(%rsp),%r15d
jne    1330 <ssl3_accept+0x200>
cmpl   $0x0,0x68(%rsp)
je     1330 <ssl3_accept+0x200>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jg     1330 <ssl3_accept+0x200>
jmp    173f <ssl3_accept+0x60f>
lea    -0x2130(%rax),%ecx
rol    $0x1c,%ecx
cmp    $0x4,%ecx
ja     1477 <ssl3_accept+0x347>
lea    0xbb1(%rip),%rdx
movslq (%rdx,%rcx,4),%rax
add    %rdx,%rax
jmp    *%rax
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jle    173f <ssl3_accept+0x60f>
cmp    $0x1,%ebx
mov    $0x2,%eax
cmove  %eax,%ebx
mov    %r12d,%r14d
jmp    1410 <ssl3_accept+0x2e0>
cmp    $0x2100,%r14d
jne    15bc <ssl3_accept+0x48c>
cmpq   $0x0,0x38(%rsp)
jle    1626 <ssl3_accept+0x4f6>
mov    0x60(%rsp),%rax
mov    %rax,0x38(%rsp)
mov    0x10(%rsp),%ecx
mov    %ecx,%r14d
test   %rax,%rax
jg     1410 <ssl3_accept+0x2e0>
jmp    1741 <ssl3_accept+0x611>
mov    $0x2150,%r14d
mov    $0x1,%r15d
mov    $0xffffff00,%eax
cmp    %rax,0x18(%rsp)
jne    1410 <ssl3_accept+0x2e0>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x2,%ebx
mov    $0x3,%ecx
cmove  %ecx,%ebx
jmp    13bd <ssl3_accept+0x28d>
cmpb   $0x0,0x20(%rsp)
jne    1533 <ssl3_accept+0x403>
mov    $0x2160,%r14d
mov    $0x1,%r15d
mov    0x40(%rsp),%rcx
movabs $0xfffffffe00000000,%rax
ff ff ff
cmp    %rax,%rcx
je     1410 <ssl3_accept+0x2e0>
mov    $0x200,%eax
movabs $0xfffffffc00000000,%rdx
ff ff ff
cmp    %rdx,%rcx
jne    1529 <ssl3_accept+0x3f9>
mov    $0x400,%eax
cmp    %eax,0x28(%rsp)
jle    1410 <ssl3_accept+0x2e0>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x3,%ebx
mov    $0x4,%ecx
cmove  %ecx,%ebx
mov    $0x2160,%r14d
jmp    13bd <ssl3_accept+0x28d>
mov    $0x2170,%r14d
mov    $0x1,%r15d
cmpl   $0xffffffff,0x48(%rsp)
je     1410 <ssl3_accept+0x2e0>
cmpb   $0x0,0xf(%rsp)
je     1410 <ssl3_accept+0x2e0>
cmpb   $0x0,0xe(%rsp)
jne    1410 <ssl3_accept+0x2e0>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x4,%ebx
mov    $0x5,%ecx
cmove  %ecx,%ebx
jmp    15a1 <ssl3_accept+0x471>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jle    173f <ssl3_accept+0x60f>
mov    $0x2100,%r14d
movl   $0x2180,0x10(%rsp)
jmp    1410 <ssl3_accept+0x2e0>
add    $0xffffde80,%eax
rol    $0x1c,%eax
cmp    $0x6,%eax
ja     1752 <ssl3_accept+0x622>
lea    0xa40(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x5,%ebx
mov    $0x6,%ecx
cmove  %ecx,%ebx
test   %eax,%eax
jle    173f <ssl3_accept+0x60f>
mov    $0x2112,%r14d
cmp    $0x2,%eax
je     1410 <ssl3_accept+0x2e0>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x6,%ebx
mov    $0x7,%ecx
cmove  %ecx,%ebx
mov    $0x2190,%r14d
jmp    13bd <ssl3_accept+0x28d>
mov    0x10(%rsp),%eax
mov    %eax,%r14d
jmp    1410 <ssl3_accept+0x2e0>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x7,%ebx
mov    $0x8,%ecx
cmove  %ecx,%ebx
mov    $0x21a0,%r14d
jmp    13bd <ssl3_accept+0x28d>
xor    %r15d,%r15d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x8,%ebx
mov    $0x9,%ecx
cmove  %ecx,%ebx
mov    $0x21c0,%r14d
jmp    13bd <ssl3_accept+0x28d>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
lea    -0x9(%rbx),%edx
cmp    $0xc,%edx
ja     1725 <ssl3_accept+0x5f5>
mov    $0xa,%ecx
lea    0x99f(%rip),%rsi
movslq (%rsi,%rdx,4),%rdx
add    %rsi,%rdx
jmp    *%rdx
mov    $0xd,%ecx
jmp    1735 <ssl3_accept+0x605>
cmpl   $0x0,0x58(%rsp)
je     1741 <ssl3_accept+0x611>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
lea    -0xa(%rbx),%ecx
cmp    $0x9,%ecx
ja     16d5 <ssl3_accept+0x5a5>
mov    $0x249,%edx
bt     %ecx,%edx
jae    16d5 <ssl3_accept+0x5a5>
movslq %ecx,%rcx
lea    0x992(%rip),%rdx
mov    (%rdx,%rcx,4),%ebx
test   %eax,%eax
jle    173f <ssl3_accept+0x60f>
mov    $0x21e0,%r14d
cmpl   $0x0,0x50(%rsp)
jne    1410 <ssl3_accept+0x2e0>
jmp    1741 <ssl3_accept+0x611>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
lea    -0xb(%rbx),%ecx
cmp    $0x9,%ecx
ja     1712 <ssl3_accept+0x5e2>
mov    $0x249,%edx
bt     %ecx,%edx
jae    1712 <ssl3_accept+0x5e2>
movslq %ecx,%rcx
lea    0x97d(%rip),%rdx
mov    (%rdx,%rcx,4),%ebx
mov    $0x2100,%r14d
mov    0x34(%rsp),%ecx
mov    %ecx,0x10(%rsp)
jmp    13bd <ssl3_accept+0x28d>
mov    %ebx,%ecx
jmp    1735 <ssl3_accept+0x605>
mov    $0x10,%ecx
jmp    1735 <ssl3_accept+0x605>
mov    $0x13,%ecx
mov    %ecx,%ebx
mov    %r13d,%r14d
jmp    13bd <ssl3_accept+0x28d>
mov    %eax,%ebp
mov    %ebp,%eax
add    $0x78,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
xor    %eax,%eax
cmp    $0x3,%r14d
sete   %al
lea    (%rax,%rax,1),%ebp
add    $0xffffffff,%ebp
jmp    1741 <ssl3_accept+0x611>

LLVM IR (-O0):
define i32 @ssl3_accept(i32 %0) {
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
%30 = alloca i32
%31 = alloca i32
%32 = alloca i32
%33 = alloca i32
%34 = alloca i32
%35 = alloca i64
%36 = alloca i64
%37 = alloca i64
%38 = alloca i32
%39 = alloca i64
%40 = alloca i32
%41 = alloca i32
%42 = alloca i32
%43 = alloca i32
%44 = alloca i32
%45 = alloca i32
%46 = alloca i32
%47 = alloca i32
%48 = alloca i32
%49 = alloca i32
%50 = alloca i32
%51 = alloca i32
%52 = alloca i64
%53 = alloca i32
%54 = alloca i32
%55 = alloca i32
%56 = alloca i32
%57 = alloca i64
%58 = alloca i64
%59 = alloca i64
%60 = alloca i64
%61 = alloca i32
%62 = alloca i64
store i32 %0, i32* %3
%63 = call i8* (...) @__VERIFIER_nondet_int()
%64 = ptrtoint i8* %63 to i32
store i32 %64, i32* %4
%65 = call i8* (...) @__VERIFIER_nondet_int()
%66 = ptrtoint i8* %65 to i32
store i32 %66, i32* %5
%67 = call i8* (...) @__VERIFIER_nondet_int()
%68 = ptrtoint i8* %67 to i32
store i32 %68, i32* %9
%69 = call i8* (...) @__VERIFIER_nondet_int()
%70 = ptrtoint i8* %69 to i32
store i32 %70, i32* %12
%71 = call i8* (...) @__VERIFIER_nondet_int()
%72 = ptrtoint i8* %71 to i32
store i32 %72, i32* %15
%73 = call i8* (...) @__VERIFIER_nondet_int()
%74 = ptrtoint i8* %73 to i32
store i32 %74, i32* %17
%75 = call i8* (...) @__VERIFIER_nondet_int()
%76 = ptrtoint i8* %75 to i32
store i32 %76, i32* %18
%77 = call i8* (...) @__VERIFIER_nondet_int()
%78 = ptrtoint i8* %77 to i32
store i32 %78, i32* %19
%79 = call i8* (...) @__VERIFIER_nondet_int()
%80 = ptrtoint i8* %79 to i32
store i32 %80, i32* %20
%81 = call i8* (...) @__VERIFIER_nondet_int()
%82 = ptrtoint i8* %81 to i32
store i32 %82, i32* %21
%83 = call i8* (...) @__VERIFIER_nondet_int()
%84 = ptrtoint i8* %83 to i32
store i32 %84, i32* %22
%85 = call i8* (...) @__VERIFIER_nondet_int()
%86 = ptrtoint i8* %85 to i32
store i32 %86, i32* %23
%87 = call i8* (...) @__VERIFIER_nondet_int()
%88 = ptrtoint i8* %87 to i32
store i32 %88, i32* %24
%89 = call i8* (...) @__VERIFIER_nondet_int()
%90 = ptrtoint i8* %89 to i32
store i32 %90, i32* %25
%91 = call i8* (...) @__VERIFIER_nondet_int()
%92 = ptrtoint i8* %91 to i32
store i32 %92, i32* %27
%93 = call i8* (...) @__VERIFIER_nondet_int()
%94 = ptrtoint i8* %93 to i32
store i32 %94, i32* %29
%95 = call i8* (...) @__VERIFIER_nondet_int()
%96 = ptrtoint i8* %95 to i32
store i32 %96, i32* %30
%97 = call i8* (...) @__VERIFIER_nondet_int()
%98 = ptrtoint i8* %97 to i32
store i32 %98, i32* %32
%99 = call i64 (...) @__VERIFIER_nondet_long()
store i64 %99, i64* %39
%100 = call i8* (...) @__VERIFIER_nondet_int()
%101 = ptrtoint i8* %100 to i32
store i32 %101, i32* %45
%102 = call i8* (...) @__VERIFIER_nondet_int()
%103 = ptrtoint i8* %102 to i32
store i32 %103, i32* %46
%104 = call i8* (...) @__VERIFIER_nondet_int()
%105 = ptrtoint i8* %104 to i32
store i32 %105, i32* %47
%106 = call i8* (...) @__VERIFIER_nondet_int()
%107 = ptrtoint i8* %106 to i32
store i32 %107, i32* %48
%108 = call i8* (...) @__VERIFIER_nondet_int()
%109 = ptrtoint i8* %108 to i32
store i32 %109, i32* %49
%110 = call i8* (...) @__VERIFIER_nondet_int()
%111 = ptrtoint i8* %110 to i32
store i32 %111, i32* %50
%112 = call i64 (...) @__VERIFIER_nondet_long()
store i64 %112, i64* %52
%113 = call i8* (...) @__VERIFIER_nondet_int()
%114 = ptrtoint i8* %113 to i32
store i32 %114, i32* %53
%115 = call i8* (...) @__VERIFIER_nondet_int()
%116 = ptrtoint i8* %115 to i32
store i32 %116, i32* %54
%117 = load i32, i32* %3
store i32 %117, i32* %6
store i32 0, i32* %55
%118 = call i8* (...) @__VERIFIER_nondet_int()
%119 = ptrtoint i8* %118 to i64
store i64 %119, i64* %37
%120 = load i64, i64* %37
store i64 %120, i64* %36
store i32 0, i32* %38
store i32 -1, i32* %40
store i32 0, i32* %43
store i32 0, i32* %44
%121 = load i32, i32* %4
%122 = icmp ne i32 %121, 0
br i1 %122, label %123, label %125
123: ; preds = %1
%124 = load i32, i32* %4
store i32 %124, i32* %38
br label %135
125: ; preds = %1
%126 = load i32, i32* %22
%127 = icmp ne i32 %126, 0
br i1 %127, label %128, label %130
128: ; preds = %125
%129 = load i32, i32* %22
store i32 %129, i32* %38
br label %130
130: ; preds = %128, %125
%131 = load i32, i32* %38
%132 = icmp ne i32 %131, 0
br i1 %132, label %133, label %134
133: ; preds = %130
br label %781
134: ; preds = %130
br label %135
135: ; preds = %134, %123
%136 = load i32, i32* %5
%137 = add nsw i32 %136, 1
store i32 %137, i32* %5
%138 = load i32, i32* %45
%139 = add nsw i32 %138, 12288
%140 = icmp ne i32 %139, 0
br i1 %140, label %141, label %147
141: ; preds = %135
%142 = load i32, i32* %46
%143 = add nsw i32 %142, 16384
%144 = icmp ne i32 %143, 0
br i1 %144, label %145, label %146
145: ; preds = %141
br label %146
146: ; preds = %145, %141
br label %147
147: ; preds = %146, %135
%148 = load i32, i32* %17
%149 = icmp eq i32 %148, 0
br i1 %149, label %150, label %151
150: ; preds = %147
store i32 -1, i32* %2
br label %783
151: ; preds = %147
br label %152
152: ; preds = %151, %771
br label %153
153: ; preds = %152
%154 = load i32, i32* %6
store i32 %154, i32* %42
%155 = load i32, i32* %6
%156 = icmp eq i32 %155, 12292
br i1 %156, label %157, label %158
157: ; preds = %153
br label %297
158: ; preds = %153
%159 = load i32, i32* %6
%160 = icmp eq i32 %159, 16384
br i1 %160, label %161, label %162
161: ; preds = %158
br label %298
162: ; preds = %158
%163 = load i32, i32* %6
%164 = icmp eq i32 %163, 8192
br i1 %164, label %165, label %166
165: ; preds = %162
br label %299
166: ; preds = %162
%167 = load i32, i32* %6
%168 = icmp eq i32 %167, 24576
br i1 %168, label %169, label %170
169: ; preds = %166
br label %300
170: ; preds = %166
%171 = load i32, i32* %6
%172 = icmp eq i32 %171, 8195
br i1 %172, label %173, label %174
173: ; preds = %170
br label %301
174: ; preds = %170
%175 = load i32, i32* %6
%176 = icmp eq i32 %175, 8480
br i1 %176, label %177, label %178
177: ; preds = %174
br label %344
178: ; preds = %174
%179 = load i32, i32* %6
%180 = icmp eq i32 %179, 8481
br i1 %180, label %181, label %182
181: ; preds = %178
br label %345
182: ; preds = %178
%183 = load i32, i32* %6
%184 = icmp eq i32 %183, 8482
br i1 %184, label %185, label %186
185: ; preds = %182
br label %352
186: ; preds = %182
%187 = load i32, i32* %6
%188 = icmp eq i32 %187, 8464
br i1 %188, label %189, label %190
189: ; preds = %186
br label %353
190: ; preds = %186
%191 = load i32, i32* %6
%192 = icmp eq i32 %191, 8465
br i1 %192, label %193, label %194
193: ; preds = %190
br label %354
194: ; preds = %190
%195 = load i32, i32* %6
%196 = icmp eq i32 %195, 8466
br i1 %196, label %197, label %198
197: ; preds = %194
br label %355
198: ; preds = %194
%199 = load i32, i32* %6
%200 = icmp eq i32 %199, 8496
br i1 %200, label %201, label %202
201: ; preds = %198
br label %366
202: ; preds = %198
%203 = load i32, i32* %6
%204 = icmp eq i32 %203, 8497
br i1 %204, label %205, label %206
205: ; preds = %202
br label %367
206: ; preds = %202
%207 = load i32, i32* %6
%208 = icmp eq i32 %207, 8512
br i1 %208, label %209, label %210
209: ; preds = %206
br label %383
210: ; preds = %206
%211 = load i32, i32* %6
%212 = icmp eq i32 %211, 8513
br i1 %212, label %213, label %214
213: ; preds = %210
br label %384
214: ; preds = %210
%215 = load i32, i32* %6
%216 = icmp eq i32 %215, 8528
br i1 %216, label %217, label %218
217: ; preds = %214
br label %403
218: ; preds = %214
%219 = load i32, i32* %6
%220 = icmp eq i32 %219, 8529
br i1 %220, label %221, label %222
221: ; preds = %218
br label %404
222: ; preds = %218
%223 = load i32, i32* %6
%224 = icmp eq i32 %223, 8544
br i1 %224, label %225, label %226
225: ; preds = %222
br label %472
226: ; preds = %222
%227 = load i32, i32* %6
%228 = icmp eq i32 %227, 8545
br i1 %228, label %229, label %230
229: ; preds = %226
br label %473
230: ; preds = %226
%231 = load i32, i32* %6
%232 = icmp eq i32 %231, 8560
br i1 %232, label %233, label %234
233: ; preds = %230
br label %517
234: ; preds = %230
%235 = load i32, i32* %6
%236 = icmp eq i32 %235, 8561
br i1 %236, label %237, label %238
237: ; preds = %234
br label %518
238: ; preds = %234
%239 = load i32, i32* %6
%240 = icmp eq i32 %239, 8448
br i1 %240, label %241, label %242
241: ; preds = %238
br label %525
242: ; preds = %238
%243 = load i32, i32* %6
%244 = icmp eq i32 %243, 8576
br i1 %244, label %245, label %246
245: ; preds = %242
br label %536
246: ; preds = %242
%247 = load i32, i32* %6
%248 = icmp eq i32 %247, 8577
br i1 %248, label %249, label %250
249: ; preds = %246
br label %537
250: ; preds = %246
%251 = load i32, i32* %6
%252 = icmp eq i32 %251, 8592
br i1 %252, label %253, label %254
253: ; preds = %250
br label %563
254: ; preds = %250
%255 = load i32, i32* %6
%256 = icmp eq i32 %255, 8593
br i1 %256, label %257, label %258
257: ; preds = %254
br label %564
258: ; preds = %254
%259 = load i32, i32* %6
%260 = icmp eq i32 %259, 8608
br i1 %260, label %261, label %262
261: ; preds = %258
br label %575
262: ; preds = %258
%263 = load i32, i32* %6
%264 = icmp eq i32 %263, 8609
br i1 %264, label %265, label %266
265: ; preds = %262
br label %576
266: ; preds = %262
%267 = load i32, i32* %6
%268 = icmp eq i32 %267, 8640
br i1 %268, label %269, label %270
269: ; preds = %266
br label %587
270: ; preds = %266
%271 = load i32, i32* %6
%272 = icmp eq i32 %271, 8641
br i1 %272, label %273, label %274
273: ; preds = %270
br label %588
274: ; preds = %270
%275 = load i32, i32* %6
%276 = icmp eq i32 %275, 8656
br i1 %276, label %277, label %278
277: ; preds = %274
br label %624
278: ; preds = %274
%279 = load i32, i32* %6
%280 = icmp eq i32 %279, 8657
br i1 %280, label %281, label %282
281: ; preds = %278
br label %625
282: ; preds = %278
%283 = load i32, i32* %6
%284 = icmp eq i32 %283, 8672
br i1 %284, label %285, label %286
285: ; preds = %282
br label %660
286: ; preds = %282
%287 = load i32, i32* %6
%288 = icmp eq i32 %287, 8673
br i1 %288, label %289, label %290
289: ; preds = %286
br label %661
290: ; preds = %286
%291 = load i32, i32* %6
%292 = icmp eq i32 %291, 3
br i1 %292, label %293, label %294
293: ; preds = %290
br label %692
294: ; preds = %290
br label %703
295: ; No predecessors!
br i1 false, label %296, label %704
296: ; preds = %295
br label %297
297: ; preds = %296, %157
store i32 1, i32* %7
br label %298
298: ; preds = %297, %161
br label %299
299: ; preds = %298, %165
br label %300
300: ; preds = %299, %169
br label %301
301: ; preds = %300, %173
store i32 1, i32* %8
%302 = load i32, i32* %38
%303 = icmp ne i32 %302, 0
br i1 %303, label %304, label %305
304: ; preds = %301
br label %305
305: ; preds = %304, %301
%306 = load i32, i32* %9
%307 = mul nsw i32 %306, 8
store i32 %307, i32* %56
%308 = load i32, i32* %56
%309 = icmp ne i32 %308, 3
br i1 %309, label %310, label %311
310: ; preds = %305
store i32 -1, i32* %2
br label %783
311: ; preds = %305
store i32 8192, i32* %10
%312 = load i32, i32* %14
%313 = icmp eq i32 %312, 0
br i1 %313, label %314, label %326
314: ; preds = %311
%315 = call i8* (...) @__VERIFIER_nondet_int()
%316 = ptrtoint i8* %315 to i32
store i32 %316, i32* %34
%317 = load i32, i32* %34
%318 = icmp eq i32 %317, 0
br i1 %318, label %319, label %320
319: ; preds = %314
store i32 -1, i32* %40
br label %773
320: ; preds = %314
%321 = load i32, i32* %47
%322 = icmp ne i32 %321, 0
br i1 %322, label %324, label %323
323: ; preds = %320
store i32 -1, i32* %40
br label %773
324: ; preds = %320
%325 = load i32, i32* %34
store i32 %325, i32* %14
br label %326
326: ; preds = %324, %311
%327 = load i32, i32* %48
%328 = icmp ne i32 %327, 0
br i1 %328, label %330, label %329
329: ; preds = %326
store i32 -1, i32* %40
br label %773
330: ; preds = %326
store i32 0, i32* %11
%331 = load i32, i32* %6
%332 = icmp ne i32 %331, 12292
br i1 %332, label %333, label %340
333: ; preds = %330
%334 = load i32, i32* %49
%335 = icmp ne i32 %334, 0
br i1 %335, label %337, label %336
336: ; preds = %333
store i32 -1, i32* %40
br label %773
337: ; preds = %333
store i32 8464, i32* %6
%338 = load i32, i32* %24
%339 = add nsw i32 %338, 1
store i32 %339, i32* %24
br label %343
340: ; preds = %330
%341 = load i32, i32* %23
%342 = add nsw i32 %341, 1
store i32 %342, i32* %23
store i32 8480, i32* %6
br label %343
343: ; preds = %340, %337
br label %705
344: ; preds = %177
br label %345
345: ; preds = %344, %181
store i32 0, i32* %16
%346 = call i8* (...) @__VERIFIER_nondet_int()
%347 = ptrtoint i8* %346 to i32
store i32 %347, i32* %40
%348 = load i32, i32* %40
%349 = icmp sle i32 %348, 0
br i1 %349, label %350, label %351
350: ; preds = %345
br label %773
351: ; preds = %345
store i32 8482, i32* %31
store i32 8448, i32* %6
store i32 0, i32* %11
br label %705
352: ; preds = %185
store i32 3, i32* %6
br label %705
353: ; preds = %189
br label %354
354: ; preds = %353, %193
br label %355
355: ; preds = %354, %197
store i32 0, i32* %16
%356 = call i8* (...) @__VERIFIER_nondet_int()
%357 = ptrtoint i8* %356 to i32
store i32 %357, i32* %40
%358 = load i32, i32* %55
%359 = icmp eq i32 %358, 0
br i1 %359, label %360, label %361
360: ; preds = %355
store i32 1, i32* %55
br label %361
361: ; preds = %360, %355
%362 = load i32, i32* %40
%363 = icmp sle i32 %362, 0
br i1 %363, label %364, label %365
364: ; preds = %361
br label %773
365: ; preds = %361
store i32 1, i32* %44
store i32 8496, i32* %6
store i32 0, i32* %11
br label %705
366: ; preds = %201
br label %367
367: ; preds = %366, %205
%368 = call i8* (...) @__VERIFIER_nondet_int()
%369 = ptrtoint i8* %368 to i32
store i32 %369, i32* %40
%370 = load i32, i32* %55
%371 = icmp eq i32 %370, 1
br i1 %371, label %372, label %373
372: ; preds = %367
store i32 2, i32* %55
br label %373
373: ; preds = %372, %367
%374 = load i32, i32* %40
%375 = icmp sle i32 %374, 0
br i1 %375, label %376, label %377
376: ; preds = %373
br label %773
377: ; preds = %373
%378 = load i32, i32* %12
%379 = icmp ne i32 %378, 0
br i1 %379, label %380, label %381
380: ; preds = %377
store i32 8656, i32* %6
br label %382
381: ; preds = %377
store i32 8512, i32* %6
br label %382
382: ; preds = %381, %380
store i32 0, i32* %11
br label %705
383: ; preds = %209
br label %384
384: ; preds = %383, %213
%385 = load i32, i32* %30
%386 = sext i32 %385 to i64
store i64 %386, i64* %57
%387 = load i64, i64* %57
%388 = add i64 %387, 256
%389 = icmp ne i64 %388, 0
br i1 %389, label %390, label %391
390: ; preds = %384
store i32 1, i32* %43
br label %402
391: ; preds = %384
%392 = call i8* (...) @__VERIFIER_nondet_int()
%393 = ptrtoint i8* %392 to i32
store i32 %393, i32* %40
%394 = load i32, i32* %55
%395 = icmp eq i32 %394, 2
br i1 %395, label %396, label %397
396: ; preds = %391
store i32 3, i32* %55
br label %397
397: ; preds = %396, %391
%398 = load i32, i32* %40
%399 = icmp sle i32 %398, 0
br i1 %399, label %400, label %401
400: ; preds = %397
br label %773
401: ; preds = %397
br label %402
402: ; preds = %401, %390
store i32 8528, i32* %6
store i32 0, i32* %11
br label %705
403: ; preds = %217
br label %404
404: ; preds = %403, %221
%405 = load i32, i32* %30
%406 = sext i32 %405 to i64
store i64 %406, i64* %35
%407 = load i32, i32* %18
%408 = sext i32 %407 to i64
store i64 %408, i64* %58
%409 = load i64, i64* %58
%410 = add i64 %409, 2097152
%411 = icmp ne i64 %410, 0
br i1 %411, label %412, label %413
412: ; preds = %404
store i32 1, i32* %28
br label %414
413: ; preds = %404
store i32 0, i32* %28
br label %414
414: ; preds = %413, %412
%415 = load i32, i32* %28
%416 = icmp ne i32 %415, 0
br i1 %416, label %417, label %418
417: ; preds = %414
br label %452
418: ; preds = %414
%419 = load i64, i64* %35
%420 = add i64 %419, 30
%421 = icmp ne i64 %420, 0
br i1 %421, label %422, label %423
422: ; preds = %418
br label %452
423: ; preds = %418
%424 = load i64, i64* %35
%425 = add i64 %424, 1
%426 = icmp ne i64 %425, 0
br i1 %426, label %427, label %468
427: ; preds = %423
%428 = load i32, i32* %21
%429 = icmp eq i32 %428, 0
br i1 %429, label %430, label %431
430: ; preds = %427
br label %452
431: ; preds = %427
%432 = load i32, i32* %32
%433 = sext i32 %432 to i64
store i64 %433, i64* %59
%434 = load i64, i64* %59
%435 = add i64 %434, 2
%436 = icmp ne i64 %435, 0
br i1 %436, label %437, label %465
437: ; preds = %431
%438 = load i32, i32* %32
%439 = sext i32 %438 to i64
store i64 %439, i64* %60
%440 = load i64, i64* %60
%441 = add i64 %440, 4
%442 = icmp ne i64 %441, 0
br i1 %442, label %443, label %444
443: ; preds = %437
store i32 512, i32* %51
br label %445
444: ; preds = %437
store i32 1024, i32* %51
br label %445
445: ; preds = %444, %443
%446 = load i32, i32* %50
%447 = mul nsw i32 %446, 8
store i32 %447, i32* %61
%448 = load i32, i32* %61
%449 = load i32, i32* %51
%450 = icmp sgt i32 %448, %449
br i1 %450, label %451, label %463
451: ; preds = %445
br label %452
452: ; preds = %451, %430, %422, %417
%453 = call i8* (...) @__VERIFIER_nondet_int()
%454 = ptrtoint i8* %453 to i32
store i32 %454, i32* %40
%455 = load i32, i32* %55
%456 = icmp eq i32 %455, 3
br i1 %456, label %457, label %458
457: ; preds = %452
store i32 4, i32* %55
br label %458
458: ; preds = %457, %452
%459 = load i32, i32* %40
%460 = icmp sle i32 %459, 0
br i1 %460, label %461, label %462
461: ; preds = %458
br label %773
462: ; preds = %458
br label %464
463: ; preds = %445
store i32 1, i32* %43
br label %464
464: ; preds = %463, %462
br label %466
465: ; preds = %431
store i32 1, i32* %43
br label %466
466: ; preds = %465, %464
br label %467
467: ; preds = %466
br label %469
468: ; preds = %423
store i32 1, i32* %43
br label %469
469: ; preds = %468, %467
br label %470
470: ; preds = %469
br label %471
471: ; preds = %470
store i32 8544, i32* %6
store i32 0, i32* %11
br label %705
472: ; preds = %225
br label %473
473: ; preds = %472, %229
%474 = load i32, i32* %19
%475 = add nsw i32 %474, 1
%476 = icmp ne i32 %475, 0
br i1 %476, label %477, label %515
477: ; preds = %473
%478 = load i32, i32* %20
%479 = icmp ne i32 %478, 0
br i1 %479, label %480, label %487
480: ; preds = %477
%481 = load i32, i32* %19
%482 = add nsw i32 %481, 4
%483 = icmp ne i32 %482, 0
br i1 %483, label %484, label %485
484: ; preds = %480
store i32 1, i32* %43
store i32 0, i32* %26
store i32 8560, i32* %6
br label %486
485: ; preds = %480
br label %488
486: ; preds = %484
br label %514
487: ; preds = %477
br label %488
488: ; preds = %487, %485
%489 = load i32, i32* %30
%490 = sext i32 %489 to i64
store i64 %490, i64* %62
%491 = load i64, i64* %62
%492 = add i64 %491, 256
%493 = icmp ne i64 %492, 0
br i1 %493, label %494, label %501
494: ; preds = %488
%495 = load i32, i32* %19
%496 = add nsw i32 %495, 2
%497 = icmp ne i32 %496, 0
br i1 %497, label %498, label %499
498: ; preds = %494
br label %502
499: ; preds = %494
store i32 1, i32* %43
store i32 0, i32* %26
store i32 8560, i32* %6
br label %500
500: ; preds = %499
br label %513
501: ; preds = %488
br label %502
502: ; preds = %501, %498
store i32 1, i32* %26
%503 = call i8* (...) @__VERIFIER_nondet_int()
%504 = ptrtoint i8* %503 to i32
store i32 %504, i32* %40
%505 = load i32, i32* %55
%506 = icmp eq i32 %505, 4
br i1 %506, label %507, label %508
507: ; preds = %502
store i32 5, i32* %55
br label %508
508: ; preds = %507, %502
%509 = load i32, i32* %40
%510 = icmp sle i32 %509, 0
br i1 %510, label %511, label %512
511: ; preds = %508
br label %773
512: ; preds = %508
store i32 8448, i32* %6
store i32 8576, i32* %31
store i32 0, i32* %11
br label %513
513: ; preds = %512, %500
br label %514
514: ; preds = %513, %486
br label %516
515: ; preds = %473
store i32 1, i32* %43
store i32 0, i32* %26
store i32 8560, i32* %6
br label %516
516: ; preds = %515, %514
br label %705
517: ; preds = %233
br label %518
518: ; preds = %517, %237
%519 = call i8* (...) @__VERIFIER_nondet_int()
%520 = ptrtoint i8* %519 to i32
store i32 %520, i32* %40
%521 = load i32, i32* %40
%522 = icmp sle i32 %521, 0
br i1 %522, label %523, label %524
523: ; preds = %518
br label %773
524: ; preds = %518
store i32 8576, i32* %31
store i32 8448, i32* %6
store i32 0, i32* %11
br label %705
525: ; preds = %241
%526 = load i64, i64* %39
%527 = icmp sgt i64 %526, 0
br i1 %527, label %528, label %534
528: ; preds = %525
store i32 2, i32* %13
%529 = load i64, i64* %52
store i64 %529, i64* %39
%530 = load i64, i64* %39
%531 = icmp sle i64 %530, 0
br i1 %531, label %532, label %533
532: ; preds = %528
store i32 -1, i32* %40
br label %773
533: ; preds = %528
store i32 1, i32* %13
br label %534
534: ; preds = %533, %525
%535 = load i32, i32* %31
store i32 %535, i32* %6
br label %705
536: ; preds = %245
br label %537
537: ; preds = %536, %249
%538 = call i8* (...) @__VERIFIER_nondet_int()
%539 = ptrtoint i8* %538 to i32
store i32 %539, i32* %40
%540 = load i32, i32* %55
%541 = icmp eq i32 %540, 5
br i1 %541, label %542, label %543
542: ; preds = %537
store i32 6, i32* %55
br label %543
543: ; preds = %542, %537
%544 = load i32, i32* %40
%545 = icmp sle i32 %544, 0
br i1 %545, label %546, label %547
546: ; preds = %543
br label %773
547: ; preds = %543
%548 = load i32, i32* %40
%549 = icmp eq i32 %548, 2
br i1 %549, label %550, label %551
550: ; preds = %547
store i32 8466, i32* %6
br label %562
551: ; preds = %547
%552 = call i8* (...) @__VERIFIER_nondet_int()
%553 = ptrtoint i8* %552 to i32
store i32 %553, i32* %40
%554 = load i32, i32* %55
%555 = icmp eq i32 %554, 6
br i1 %555, label %556, label %557
556: ; preds = %551
store i32 7, i32* %55
br label %557
557: ; preds = %556, %551
%558 = load i32, i32* %40
%559 = icmp sle i32 %558, 0
br i1 %559, label %560, label %561
560: ; preds = %557
br label %773
561: ; preds = %557
store i32 0, i32* %11
store i32 8592, i32* %6
br label %562
562: ; preds = %561, %550
br label %705
563: ; preds = %253
br label %564
564: ; preds = %563, %257
%565 = call i8* (...) @__VERIFIER_nondet_int()
%566 = ptrtoint i8* %565 to i32
store i32 %566, i32* %40
%567 = load i32, i32* %55
%568 = icmp eq i32 %567, 7
br i1 %568, label %569, label %570
569: ; preds = %564
store i32 8, i32* %55
br label %570
570: ; preds = %569, %564
%571 = load i32, i32* %40
%572 = icmp sle i32 %571, 0
br i1 %572, label %573, label %574
573: ; preds = %570
br label %773
574: ; preds = %570
store i32 8608, i32* %6
store i32 0, i32* %11
br label %705
575: ; preds = %261
br label %576
576: ; preds = %575, %265
%577 = call i8* (...) @__VERIFIER_nondet_int()
%578 = ptrtoint i8* %577 to i32
store i32 %578, i32* %40
%579 = load i32, i32* %55
%580 = icmp eq i32 %579, 8
br i1 %580, label %581, label %582
581: ; preds = %576
store i32 9, i32* %55
br label %582
582: ; preds = %581, %576
%583 = load i32, i32* %40
%584 = icmp sle i32 %583, 0
br i1 %584, label %585, label %586
585: ; preds = %582
br label %773
586: ; preds = %582
store i32 8640, i32* %6
store i32 0, i32* %11
br label %705
587: ; preds = %269
br label %588
588: ; preds = %587, %273
%589 = call i8* (...) @__VERIFIER_nondet_int()
%590 = ptrtoint i8* %589 to i32
store i32 %590, i32* %40
%591 = load i32, i32* %55
%592 = icmp eq i32 %591, 9
br i1 %592, label %593, label %594
593: ; preds = %588
store i32 10, i32* %55
br label %614
594: ; preds = %588
%595 = load i32, i32* %55
%596 = icmp eq i32 %595, 12
br i1 %596, label %597, label %598
597: ; preds = %594
store i32 13, i32* %55
br label %613
598: ; preds = %594
%599 = load i32, i32* %55
%600 = icmp eq i32 %599, 15
br i1 %600, label %601, label %602
601: ; preds = %598
store i32 16, i32* %55
br label %612
602: ; preds = %598
%603 = load i32, i32* %55
%604 = icmp eq i32 %603, 18
br i1 %604, label %605, label %606
605: ; preds = %602
store i32 19, i32* %55
br label %611
606: ; preds = %602
%607 = load i32, i32* %55
%608 = icmp eq i32 %607, 21
br i1 %608, label %609, label %610
609: ; preds = %606
br label %781
610: ; preds = %606
br label %611
611: ; preds = %610, %605
br label %612
612: ; preds = %611, %601
br label %613
613: ; preds = %612, %597
br label %614
614: ; preds = %613, %593
%615 = load i32, i32* %40
%616 = icmp sle i32 %615, 0
br i1 %616, label %617, label %618
617: ; preds = %614
br label %773
618: ; preds = %614
%619 = load i32, i32* %12
%620 = icmp ne i32 %619, 0
br i1 %620, label %621, label %622
621: ; preds = %618
store i32 3, i32* %6
br label %623
622: ; preds = %618
store i32 8656, i32* %6
br label %623
623: ; preds = %622, %621
store i32 0, i32* %11
br label %705
624: ; preds = %277
br label %625
625: ; preds = %624, %281
%626 = load i32, i32* %29
store i32 %626, i32* %33
%627 = load i32, i32* %53
%628 = icmp ne i32 %627, 0
br i1 %628, label %630, label %629
629: ; preds = %625
store i32 -1, i32* %40
br label %773
630: ; preds = %625
%631 = call i8* (...) @__VERIFIER_nondet_int()
%632 = ptrtoint i8* %631 to i32
store i32 %632, i32* %40
%633 = load i32, i32* %55
%634 = icmp eq i32 %633, 10
br i1 %634, label %635, label %636
635: ; preds = %630
store i32 11, i32* %55
br label %651
636: ; preds = %630
%637 = load i32, i32* %55
%638 = icmp eq i32 %637, 13
br i1 %638, label %639, label %640
639: ; preds = %636
store i32 14, i32* %55
br label %650
640: ; preds = %636
%641 = load i32, i32* %55
%642 = icmp eq i32 %641, 16
br i1 %642, label %643, label %644
643: ; preds = %640
store i32 17, i32* %55
br label %649
644: ; preds = %640
%645 = load i32, i32* %55
%646 = icmp eq i32 %645, 19
br i1 %646, label %647, label %648
647: ; preds = %644
store i32 20, i32* %55
br label %648
648: ; preds = %647, %644
br label %649
649: ; preds = %648, %643
br label %650
650: ; preds = %649, %639
br label %651
651: ; preds = %650, %635
%652 = load i32, i32* %40
%653 = icmp sle i32 %652, 0
br i1 %653, label %654, label %655
654: ; preds = %651
br label %773
655: ; preds = %651
store i32 8672, i32* %6
store i32 0, i32* %11
%656 = load i32, i32* %54
%657 = icmp ne i32 %656, 0
br i1 %657, label %659, label %658
658: ; preds = %655
store i32 -1, i32* %40
br label %773
659: ; preds = %655
br label %705
660: ; preds = %285
br label %661
661: ; preds = %660, %289
%662 = call i8* (...) @__VERIFIER_nondet_int()
%663 = ptrtoint i8* %662 to i32
store i32 %663, i32* %40
%664 = load i32, i32* %55
%665 = icmp eq i32 %664, 11
br i1 %665, label %666, label %667
666: ; preds = %661
store i32 12, i32* %55
br label %682
667: ; preds = %661
%668 = load i32, i32* %55
%669 = icmp eq i32 %668, 14
br i1 %669, label %670, label %671
670: ; preds = %667
store i32 15, i32* %55
br label %681
671: ; preds = %667
%672 = load i32, i32* %55
%673 = icmp eq i32 %672, 17
br i1 %673, label %674, label %675
674: ; preds = %671
store i32 18, i32* %55
br label %680
675: ; preds = %671
%676 = load i32, i32* %55
%677 = icmp eq i32 %676, 20
br i1 %677, label %678, label %679
678: ; preds = %675
store i32 21, i32* %55
br label %679
679: ; preds = %678, %675
br label %680
680: ; preds = %679, %674
br label %681
681: ; preds = %680, %670
br label %682
682: ; preds = %681, %666
%683 = load i32, i32* %40
%684 = icmp sle i32 %683, 0
br i1 %684, label %685, label %686
685: ; preds = %682
br label %773
686: ; preds = %682
store i32 8448, i32* %6
%687 = load i32, i32* %12
%688 = icmp ne i32 %687, 0
br i1 %688, label %689, label %690
689: ; preds = %686
store i32 8640, i32* %31
br label %691
690: ; preds = %686
store i32 3, i32* %31
br label %691
691: ; preds = %690, %689
store i32 0, i32* %11
br label %705
692: ; preds = %293
store i32 0, i32* %14
store i32 0, i32* %11
%693 = load i32, i32* %44
%694 = icmp ne i32 %693, 0
br i1 %694, label %695, label %702
695: ; preds = %692
store i32 0, i32* %7
%696 = load i32, i32* %25
%697 = add nsw i32 %696, 1
store i32 %697, i32* %25
%698 = load i32, i32* %38
%699 = icmp ne i32 %698, 0
br i1 %699, label %700, label %701
700: ; preds = %695
br label %701
701: ; preds = %700, %695
br label %702
702: ; preds = %701, %692
store i32 1, i32* %40
br label %773
703: ; preds = %294
store i32 -1, i32* %40
br label %773
704: ; preds = %295
br label %705
705: ; preds = %704, %691, %659, %623, %586, %574, %562, %534, %524, %516, %471, %402, %382, %365, %352, %351, %343
br label %706
706: ; preds = %705
br label %707
707: ; preds = %706
br label %708
708: ; preds = %707
br label %709
709: ; preds = %708
br label %710
710: ; preds = %709
br label %711
711: ; preds = %710
br label %712
712: ; preds = %711
br label %713
713: ; preds = %712
br label %714
714: ; preds = %713
br label %715
715: ; preds = %714
br label %716
716: ; preds = %715
br label %717
717: ; preds = %716
br label %718
718: ; preds = %717
br label %719
719: ; preds = %718
br label %720
720: ; preds = %719
br label %721
721: ; preds = %720
br label %722
722: ; preds = %721
br label %723
723: ; preds = %722
br label %724
724: ; preds = %723
br label %725
725: ; preds = %724
br label %726
726: ; preds = %725
br label %727
727: ; preds = %726
br label %728
728: ; preds = %727
br label %729
729: ; preds = %728
br label %730
730: ; preds = %729
br label %731
731: ; preds = %730
br label %732
732: ; preds = %731
br label %733
733: ; preds = %732
br label %734
734: ; preds = %733
br label %735
735: ; preds = %734
br label %736
736: ; preds = %735
br label %737
737: ; preds = %736
br label %738
738: ; preds = %737
br label %739
739: ; preds = %738
br label %740
740: ; preds = %739
br label %741
741: ; preds = %740
%742 = load i32, i32* %27
%743 = icmp ne i32 %742, 0
br i1 %743, label %771, label %744
744: ; preds = %741
%745 = load i32, i32* %43
%746 = icmp ne i32 %745, 0
br i1 %746, label %770, label %747
747: ; preds = %744
%748 = load i32, i32* %15
%749 = icmp ne i32 %748, 0
br i1 %749, label %750, label %757
750: ; preds = %747
%751 = call i8* (...) @__VERIFIER_nondet_int()
%752 = ptrtoint i8* %751 to i32
store i32 %752, i32* %40
%753 = load i32, i32* %40
%754 = icmp sle i32 %753, 0
br i1 %754, label %755, label %756
755: ; preds = %750
br label %773
756: ; preds = %750
br label %757
757: ; preds = %756, %747
%758 = load i32, i32* %38
%759 = icmp ne i32 %758, 0
br i1 %759, label %760, label %769
760: ; preds = %757
%761 = load i32, i32* %6
%762 = load i32, i32* %42
%763 = icmp ne i32 %761, %762
br i1 %763, label %764, label %768
764: ; preds = %760
%765 = load i32, i32* %6
store i32 %765, i32* %41
%766 = load i32, i32* %42
store i32 %766, i32* %6
%767 = load i32, i32* %41
store i32 %767, i32* %6
br label %768
768: ; preds = %764, %760
br label %769
769: ; preds = %768, %757
br label %770
770: ; preds = %769, %744
br label %771
771: ; preds = %770, %741
store i32 0, i32* %43
br label %152
772: ; No predecessors!
br label %773
773: ; preds = %772, %755, %703, %702, %685, %658, %654, %629, %617, %585, %573, %560, %546, %532, %523, %511, %461, %400, %376, %364, %350, %336, %329, %323, %319
%774 = load i32, i32* %5
%775 = add nsw i32 %774, -1
store i32 %775, i32* %5
%776 = load i32, i32* %38
%777 = icmp ne i32 %776, 0
br i1 %777, label %778, label %779
778: ; preds = %773
br label %779
779: ; preds = %778, %773
%780 = load i32, i32* %40
store i32 %780, i32* %2
br label %783
781: ; preds = %609, %133
%782 = call i32 (...) @__VERIFIER_error()
store i32 -1, i32* %2
br label %783
783: ; preds = %781, %779, %310, %150
%784 = load i32, i32* %2
ret i32 %784
}

LLVM IR (-O2):
@switch.table.ssl3_accept = [10 x i32] [i32 11, i32 11, i32 11, i32 14, i32 11, i32 11, i32 17, i32 11, i32 11, i32 20]
@switch.table.ssl3_accept.1 = [10 x i32] [i32 12, i32 12, i32 12, i32 15, i32 12, i32 12, i32 18, i32 12, i32 12, i32 21]
define i32 @ssl3_accept(i32 %0) {
%2 = tail call i8* (...) @__VERIFIER_nondet_int()
%3 = ptrtoint i8* %2 to i64
%4 = trunc i64 %3 to i32
%5 = tail call i8* (...) @__VERIFIER_nondet_int()
%6 = tail call i8* (...) @__VERIFIER_nondet_int()
%7 = tail call i8* (...) @__VERIFIER_nondet_int()
%8 = ptrtoint i8* %7 to i64
%9 = trunc i64 %8 to i32
%10 = tail call i8* (...) @__VERIFIER_nondet_int()
%11 = ptrtoint i8* %10 to i64
%12 = trunc i64 %11 to i32
%13 = tail call i8* (...) @__VERIFIER_nondet_int()
%14 = tail call i8* (...) @__VERIFIER_nondet_int()
%15 = ptrtoint i8* %14 to i64
%16 = tail call i8* (...) @__VERIFIER_nondet_int()
%17 = ptrtoint i8* %16 to i64
%18 = trunc i64 %17 to i32
%19 = tail call i8* (...) @__VERIFIER_nondet_int()
%20 = ptrtoint i8* %19 to i64
%21 = trunc i64 %20 to i32
%22 = tail call i8* (...) @__VERIFIER_nondet_int()
%23 = ptrtoint i8* %22 to i64
%24 = trunc i64 %23 to i32
%25 = tail call i8* (...) @__VERIFIER_nondet_int()
%26 = tail call i8* (...) @__VERIFIER_nondet_int()
%27 = tail call i8* (...) @__VERIFIER_nondet_int()
%28 = tail call i8* (...) @__VERIFIER_nondet_int()
%29 = tail call i8* (...) @__VERIFIER_nondet_int()
%30 = ptrtoint i8* %29 to i64
%31 = trunc i64 %30 to i32
%32 = tail call i8* (...) @__VERIFIER_nondet_int()
%33 = tail call i8* (...) @__VERIFIER_nondet_int()
%34 = ptrtoint i8* %33 to i64
%35 = tail call i8* (...) @__VERIFIER_nondet_int()
%36 = ptrtoint i8* %35 to i64
%37 = tail call i64 (...) @__VERIFIER_nondet_long()
%38 = tail call i8* (...) @__VERIFIER_nondet_int()
%39 = tail call i8* (...) @__VERIFIER_nondet_int()
%40 = tail call i8* (...) @__VERIFIER_nondet_int()
%41 = tail call i8* (...) @__VERIFIER_nondet_int()
%42 = tail call i8* (...) @__VERIFIER_nondet_int()
%43 = tail call i8* (...) @__VERIFIER_nondet_int()
%44 = ptrtoint i8* %43 to i64
%45 = trunc i64 %44 to i32
%46 = tail call i64 (...) @__VERIFIER_nondet_long()
%47 = tail call i8* (...) @__VERIFIER_nondet_int()
%48 = ptrtoint i8* %47 to i64
%49 = trunc i64 %48 to i32
%50 = tail call i8* (...) @__VERIFIER_nondet_int()
%51 = ptrtoint i8* %50 to i64
%52 = trunc i64 %51 to i32
%53 = tail call i8* (...) @__VERIFIER_nondet_int()
%54 = icmp ne i32 %4, 0
%55 = ptrtoint i8* %25 to i64
%56 = trunc i64 %55 to i32
%57 = icmp eq i32 %56, 0
%58 = select i1 %54, i1 true, i1 %57
br i1 %58, label %59, label %262
59: ; preds = %1
%60 = ptrtoint i8* %13 to i64
%61 = trunc i64 %60 to i32
%62 = icmp eq i32 %61, 0
br i1 %62, label %309, label %63
63: ; preds = %59
%64 = icmp eq i32 %18, -1
%65 = icmp eq i32 %21, 0
%66 = icmp eq i32 %18, -4
%67 = select i1 %65, i1 true, i1 %66
%68 = and i64 %34, 4294967295
%69 = icmp ne i64 %68, 4294967040
%70 = icmp eq i32 %18, -2
%71 = select i1 %69, i1 %70, i1 false
%72 = and i64 %15, 4294967295
%73 = icmp ne i64 %72, 4292870144
%74 = icmp ne i64 %68, 4294967266
%75 = select i1 %73, i1 true, i1 %74
%76 = icmp eq i32 %24, 0
%77 = select i1 %75, i1 true, i1 %76
%78 = shl i64 %36, 32
%79 = shl nsw i32 %45, 3
%80 = icmp eq i64 %68, 4294967040
%81 = icmp eq i32 %9, 0
%82 = select i1 %81, i32 8512, i32 8656
%83 = select i1 %81, i32 3, i32 8640
%84 = icmp eq i32 %49, 0
%85 = icmp eq i32 %52, 0
%86 = select i1 %81, i32 8656, i32 3
%87 = icmp slt i64 %46, 1
%88 = icmp eq i32 %12, 0
br label %89
89: ; preds = %261, %63
%90 = phi i64 [ %37, %63 ], [ %249, %261 ]
%91 = phi i32 [ undef, %63 ], [ %250, %261 ]
%92 = phi i32 [ 0, %63 ], [ %251, %261 ]
%93 = phi i32 [ %0, %63 ], [ %252, %261 ]
switch i32 %93, label %94 [
i32 12292, label %309
i32 24576, label %309
i32 16384, label %309
i32 8195, label %309
i32 8192, label %309
]
94: ; preds = %89
%95 = and i32 %93, -2
%96 = icmp eq i32 %95, 8480
br i1 %96, label %109, label %97
97: ; preds = %94
switch i32 %93, label %98 [
i32 8482, label %247
i32 8466, label %114
i32 8465, label %114
i32 8464, label %114
]
98: ; preds = %97
%99 = add i32 %95, -8496
%100 = tail call i32 @llvm.fshl.i32(i32 %99, i32 %99, i32 28)
switch i32 %100, label %101 [
i32 0, label %121
i32 1, label %129
i32 2, label %137
i32 3, label %150
i32 4, label %160
]
101: ; preds = %98
%102 = icmp eq i32 %93, 8448
br i1 %102, label %165, label %103
103: ; preds = %101
%104 = add i32 %95, -8576
%105 = tail call i32 @llvm.fshl.i32(i32 %104, i32 %104, i32 28)
switch i32 %105, label %106 [
i32 0, label %168
i32 1, label %184
i32 2, label %191
i32 4, label %198
i32 5, label %209
i32 6, label %229
]
106: ; preds = %103
%107 = icmp eq i32 %93, 3
%108 = select i1 %107, i32 1, i32 -1
br label %309
109: ; preds = %94
%110 = tail call i8* (...) @__VERIFIER_nondet_int()
%111 = ptrtoint i8* %110 to i64
%112 = trunc i64 %111 to i32
%113 = icmp slt i32 %112, 1
br i1 %113, label %306, label %247
114: ; preds = %97, %97, %97
%115 = tail call i8* (...) @__VERIFIER_nondet_int()
%116 = ptrtoint i8* %115 to i64
%117 = trunc i64 %116 to i32
%118 = icmp eq i32 %92, 0
%119 = select i1 %118, i32 1, i32 %92
%120 = icmp slt i32 %117, 1
br i1 %120, label %303, label %247
121: ; preds = %98
%122 = tail call i8* (...) @__VERIFIER_nondet_int()
%123 = ptrtoint i8* %122 to i64
%124 = trunc i64 %123 to i32
%125 = icmp slt i32 %124, 1
br i1 %125, label %300, label %126
126: ; preds = %121
%127 = icmp eq i32 %92, 1
%128 = select i1 %127, i32 2, i32 %92
br label %247
129: ; preds = %98
br i1 %80, label %130, label %247
130: ; preds = %129
%131 = tail call i8* (...) @__VERIFIER_nondet_int()
%132 = ptrtoint i8* %131 to i64
%133 = trunc i64 %132 to i32
%134 = icmp eq i32 %92, 2
%135 = select i1 %134, i32 3, i32 %92
%136 = icmp slt i32 %133, 1
br i1 %136, label %297, label %247
137: ; preds = %98
br i1 %77, label %143, label %138
138: ; preds = %137
switch i64 %78, label %140 [
i64 -8589934592, label %247
i64 -17179869184, label %139
]
139: ; preds = %138
br label %140
140: ; preds = %138, %139
%141 = phi i32 [ 1024, %139 ], [ 512, %138 ]
%142 = icmp sgt i32 %79, %141
br i1 %142, label %143, label %247
143: ; preds = %140, %137
%144 = tail call i8* (...) @__VERIFIER_nondet_int()
%145 = ptrtoint i8* %144 to i64
%146 = trunc i64 %145 to i32
%147 = icmp eq i32 %92, 3
%148 = select i1 %147, i32 4, i32 %92
%149 = icmp slt i32 %146, 1
br i1 %149, label %294, label %247
150: ; preds = %98
br i1 %64, label %247, label %151
151: ; preds = %150
br i1 %67, label %152, label %247
152: ; preds = %151
br i1 %71, label %247, label %153
153: ; preds = %152
%154 = tail call i8* (...) @__VERIFIER_nondet_int()
%155 = ptrtoint i8* %154 to i64
%156 = trunc i64 %155 to i32
%157 = icmp eq i32 %92, 4
%158 = select i1 %157, i32 5, i32 %92
%159 = icmp slt i32 %156, 1
br i1 %159, label %291, label %247
160: ; preds = %98
%161 = tail call i8* (...) @__VERIFIER_nondet_int()
%162 = ptrtoint i8* %161 to i64
%163 = trunc i64 %162 to i32
%164 = icmp slt i32 %163, 1
br i1 %164, label %288, label %247
165: ; preds = %101
%166 = icmp sgt i64 %90, 0
br i1 %166, label %167, label %247
167: ; preds = %165
br i1 %87, label %309, label %247
168: ; preds = %103
%169 = tail call i8* (...) @__VERIFIER_nondet_int()
%170 = ptrtoint i8* %169 to i64
%171 = trunc i64 %170 to i32
%172 = icmp eq i32 %92, 5
%173 = select i1 %172, i32 6, i32 %92
%174 = icmp slt i32 %171, 1
br i1 %174, label %285, label %175
175: ; preds = %168
%176 = icmp eq i32 %171, 2
br i1 %176, label %247, label %177
177: ; preds = %175
%178 = tail call i8* (...) @__VERIFIER_nondet_int()
%179 = ptrtoint i8* %178 to i64
%180 = trunc i64 %179 to i32
%181 = icmp eq i32 %173, 6
%182 = select i1 %181, i32 7, i32 %173
%183 = icmp slt i32 %180, 1
br i1 %183, label %282, label %247
184: ; preds = %103
%185 = tail call i8* (...) @__VERIFIER_nondet_int()
%186 = ptrtoint i8* %185 to i64
%187 = trunc i64 %186 to i32
%188 = icmp eq i32 %92, 7
%189 = select i1 %188, i32 8, i32 %92
%190 = icmp slt i32 %187, 1
br i1 %190, label %279, label %247
191: ; preds = %103
%192 = tail call i8* (...) @__VERIFIER_nondet_int()
%193 = ptrtoint i8* %192 to i64
%194 = trunc i64 %193 to i32
%195 = icmp eq i32 %92, 8
%196 = select i1 %195, i32 9, i32 %92
%197 = icmp slt i32 %194, 1
br i1 %197, label %276, label %247
198: ; preds = %103
%199 = tail call i8* (...) @__VERIFIER_nondet_int()
%200 = ptrtoint i8* %199 to i64
%201 = trunc i64 %200 to i32
switch i32 %92, label %205 [
i32 9, label %206
i32 12, label %202
i32 15, label %203
i32 18, label %204
i32 21, label %262
]
202: ; preds = %198
br label %206
203: ; preds = %198
br label %206
204: ; preds = %198
br label %206
205: ; preds = %198
br label %206
206: ; preds = %198, %205, %202, %204, %203
%207 = phi i32 [ 13, %202 ], [ 16, %203 ], [ 19, %204 ], [ 10, %198 ], [ %92, %205 ]
%208 = icmp slt i32 %201, 1
br i1 %208, label %273, label %247
209: ; preds = %103
br i1 %84, label %309, label %210
210: ; preds = %209
%211 = tail call i8* (...) @__VERIFIER_nondet_int()
%212 = ptrtoint i8* %211 to i64
%213 = trunc i64 %212 to i32
%214 = add i32 %92, -10
%215 = icmp ult i32 %214, 10
br i1 %215, label %216, label %225
216: ; preds = %210
%217 = trunc i32 %214 to i16
%218 = lshr i16 585, %217
%219 = and i16 %218, 1
%220 = icmp eq i16 %219, 0
br i1 %220, label %225, label %221
221: ; preds = %216
%222 = sext i32 %214 to i64
%223 = getelementptr inbounds [10 x i32], [10 x i32]* @switch.table.ssl3_accept, i64 0, i64 %222
%224 = load i32, i32* %223
br label %225
225: ; preds = %210, %216, %221
%226 = phi i32 [ %224, %221 ], [ %92, %216 ], [ %92, %210 ]
%227 = icmp slt i32 %213, 1
br i1 %227, label %270, label %228
228: ; preds = %225
br i1 %85, label %309, label %247
229: ; preds = %103
%230 = tail call i8* (...) @__VERIFIER_nondet_int()
%231 = ptrtoint i8* %230 to i64
%232 = trunc i64 %231 to i32
%233 = add i32 %92, -11
%234 = icmp ult i32 %233, 10
br i1 %234, label %235, label %244
235: ; preds = %229
%236 = trunc i32 %233 to i16
%237 = lshr i16 585, %236
%238 = and i16 %237, 1
%239 = icmp eq i16 %238, 0
br i1 %239, label %244, label %240
240: ; preds = %235
%241 = sext i32 %233 to i64
%242 = getelementptr inbounds [10 x i32], [10 x i32]* @switch.table.ssl3_accept.1, i64 0, i64 %241
%243 = load i32, i32* %242
br label %244
244: ; preds = %229, %235, %240
%245 = phi i32 [ %243, %240 ], [ %92, %235 ], [ %92, %229 ]
%246 = icmp slt i32 %232, 1
br i1 %246, label %267, label %247
247: ; preds = %244, %206, %97, %191, %184, %177, %175, %165, %167, %160, %150, %153, %152, %151, %143, %140, %138, %130, %129, %114, %109, %228, %126
%248 = phi i32 [ 0, %126 ], [ 0, %228 ], [ 0, %109 ], [ 0, %97 ], [ 0, %114 ], [ 0, %130 ], [ 1, %129 ], [ 0, %143 ], [ 1, %140 ], [ 1, %138 ], [ 1, %151 ], [ 1, %152 ], [ 0, %153 ], [ 1, %150 ], [ 0, %160 ], [ 0, %167 ], [ 0, %165 ], [ 0, %175 ], [ 0, %177 ], [ 0, %184 ], [ 0, %191 ], [ 0, %206 ], [ 0, %244 ]
%249 = phi i64 [ %90, %126 ], [ %90, %228 ], [ %90, %109 ], [ %90, %97 ], [ %90, %114 ], [ %90, %130 ], [ %90, %129 ], [ %90, %143 ], [ %90, %140 ], [ %90, %138 ], [ %90, %151 ], [ %90, %152 ], [ %90, %153 ], [ %90, %150 ], [ %90, %160 ], [ %46, %167 ], [ %90, %165 ], [ %90, %175 ], [ %90, %177 ], [ %90, %184 ], [ %90, %191 ], [ %90, %206 ], [ %90, %244 ]
%250 = phi i32 [ %91, %126 ], [ %91, %228 ], [ 8482, %109 ], [ %91, %97 ], [ %91, %114 ], [ %91, %130 ], [ %91, %129 ], [ %91, %143 ], [ %91, %140 ], [ %91, %138 ], [ %91, %151 ], [ %91, %152 ], [ 8576, %153 ], [ %91, %150 ], [ 8576, %160 ], [ %91, %167 ], [ %91, %165 ], [ %91, %175 ], [ %91, %177 ], [ %91, %184 ], [ %91, %191 ], [ %91, %206 ], [ %83, %244 ]
%251 = phi i32 [ %128, %126 ], [ %226, %228 ], [ %92, %109 ], [ %92, %97 ], [ %119, %114 ], [ %135, %130 ], [ %92, %129 ], [ %148, %143 ], [ %92, %140 ], [ %92, %138 ], [ %92, %151 ], [ %92, %152 ], [ %158, %153 ], [ %92, %150 ], [ %92, %160 ], [ %92, %167 ], [ %92, %165 ], [ %173, %175 ], [ %182, %177 ], [ %189, %184 ], [ %196, %191 ], [ %207, %206 ], [ %245, %244 ]
%252 = phi i32 [ %82, %126 ], [ 8672, %228 ], [ 8448, %109 ], [ 3, %97 ], [ 8496, %114 ], [ 8528, %130 ], [ 8528, %129 ], [ 8544, %143 ], [ 8544, %140 ], [ 8544, %138 ], [ 8560, %151 ], [ 8560, %152 ], [ 8448, %153 ], [ 8560, %150 ], [ 8448, %160 ], [ %91, %167 ], [ %91, %165 ], [ 8466, %175 ], [ 8592, %177 ], [ 8608, %184 ], [ 8640, %191 ], [ %86, %206 ], [ 8448, %244 ]
%253 = or i32 %248, %31
%254 = icmp ne i32 %253, 0
%255 = select i1 %254, i1 true, i1 %88
br i1 %255, label %261, label %256
256: ; preds = %247
%257 = tail call i8* (...) @__VERIFIER_nondet_int()
%258 = ptrtoint i8* %257 to i64
%259 = trunc i64 %258 to i32
%260 = icmp slt i32 %259, 1
br i1 %260, label %264, label %261
261: ; preds = %256, %247
br label %89
262: ; preds = %198, %1
%263 = tail call i32 (...) @__VERIFIER_error()
br label %309
264: ; preds = %256
%265 = ptrtoint i8* %257 to i64
%266 = trunc i64 %265 to i32
br label %309
267: ; preds = %244
%268 = ptrtoint i8* %230 to i64
%269 = trunc i64 %268 to i32
br label %309
270: ; preds = %225
%271 = ptrtoint i8* %211 to i64
%272 = trunc i64 %271 to i32
br label %309
273: ; preds = %206
%274 = ptrtoint i8* %199 to i64
%275 = trunc i64 %274 to i32
br label %309
276: ; preds = %191
%277 = ptrtoint i8* %192 to i64
%278 = trunc i64 %277 to i32
br label %309
279: ; preds = %184
%280 = ptrtoint i8* %185 to i64
%281 = trunc i64 %280 to i32
br label %309
282: ; preds = %177
%283 = ptrtoint i8* %178 to i64
%284 = trunc i64 %283 to i32
br label %309
285: ; preds = %168
%286 = ptrtoint i8* %169 to i64
%287 = trunc i64 %286 to i32
br label %309
288: ; preds = %160
%289 = ptrtoint i8* %161 to i64
%290 = trunc i64 %289 to i32
br label %309
291: ; preds = %153
%292 = ptrtoint i8* %154 to i64
%293 = trunc i64 %292 to i32
br label %309
294: ; preds = %143
%295 = ptrtoint i8* %144 to i64
%296 = trunc i64 %295 to i32
br label %309
297: ; preds = %130
%298 = ptrtoint i8* %131 to i64
%299 = trunc i64 %298 to i32
br label %309
300: ; preds = %121
%301 = ptrtoint i8* %122 to i64
%302 = trunc i64 %301 to i32
br label %309
303: ; preds = %114
%304 = ptrtoint i8* %115 to i64
%305 = trunc i64 %304 to i32
br label %309
306: ; preds = %109
%307 = ptrtoint i8* %110 to i64
%308 = trunc i64 %307 to i32
br label %309
309: ; preds = %89, %89, %89, %89, %89, %167, %209, %228, %264, %267, %270, %273, %276, %279, %282, %285, %288, %291, %294, %297, %300, %303, %306, %106, %59, %262
%310 = phi i32 [ -1, %262 ], [ -1, %59 ], [ %108, %106 ], [ %266, %264 ], [ %269, %267 ], [ %272, %270 ], [ %275, %273 ], [ %278, %276 ], [ %281, %279 ], [ %284, %282 ], [ %287, %285 ], [ %290, %288 ], [ %293, %291 ], [ %296, %294 ], [ %299, %297 ], [ %302, %300 ], [ %305, %303 ], [ %308, %306 ], [ -1, %228 ], [ -1, %209 ], [ -1, %167 ], [ -1, %89 ], [ -1, %89 ], [ -1, %89 ], [ -1, %89 ], [ -1, %89 ]
ret i32 %310
}