#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;
  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;
      }
    }
    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   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     12d4 <ssl3_accept+0x1a4>
mov    -0xc(%rbp),%eax
mov    %eax,-0xa4(%rbp)
jmp    12ec <ssl3_accept+0x1bc>
cmpl   $0x0,-0x54(%rbp)
je     12e7 <ssl3_accept+0x1b7>
mov    -0x54(%rbp),%eax
mov    %eax,-0xa4(%rbp)
jmp    12ec <ssl3_accept+0x1bc>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
mov    -0xc8(%rbp),%eax
add    $0x3000,%eax
cmp    $0x0,%eax
je     1327 <ssl3_accept+0x1f7>
mov    -0xcc(%rbp),%eax
add    $0x4000,%eax
cmp    $0x0,%eax
je     1322 <ssl3_accept+0x1f2>
jmp    1322 <ssl3_accept+0x1f2>
jmp    1327 <ssl3_accept+0x1f7>
cmpl   $0x0,-0x40(%rbp)
jne    133d <ssl3_accept+0x20d>
movl   $0xffffffff,-0x4(%rbp)
jmp    219c <ssl3_accept+0x106c>
jmp    1342 <ssl3_accept+0x212>
jmp    1347 <ssl3_accept+0x217>
mov    -0x14(%rbp),%eax
mov    %eax,-0xbc(%rbp)
cmpl   $0x3004,-0x14(%rbp)
jne    1362 <ssl3_accept+0x232>
jmp    15c8 <ssl3_accept+0x498>
cmpl   $0x4000,-0x14(%rbp)
jne    1374 <ssl3_accept+0x244>
jmp    15cf <ssl3_accept+0x49f>
cmpl   $0x2000,-0x14(%rbp)
jne    1386 <ssl3_accept+0x256>
jmp    15d4 <ssl3_accept+0x4a4>
cmpl   $0x6000,-0x14(%rbp)
jne    1398 <ssl3_accept+0x268>
jmp    15d9 <ssl3_accept+0x4a9>
cmpl   $0x2003,-0x14(%rbp)
jne    13aa <ssl3_accept+0x27a>
jmp    15de <ssl3_accept+0x4ae>
cmpl   $0x2120,-0x14(%rbp)
jne    13bc <ssl3_accept+0x28c>
jmp    16f1 <ssl3_accept+0x5c1>
cmpl   $0x2121,-0x14(%rbp)
jne    13ce <ssl3_accept+0x29e>
jmp    16f6 <ssl3_accept+0x5c6>
cmpl   $0x2122,-0x14(%rbp)
jne    13e0 <ssl3_accept+0x2b0>
jmp    1736 <ssl3_accept+0x606>
cmpl   $0x2110,-0x14(%rbp)
jne    13f2 <ssl3_accept+0x2c2>
jmp    1742 <ssl3_accept+0x612>
cmpl   $0x2111,-0x14(%rbp)
jne    1404 <ssl3_accept+0x2d4>
jmp    1747 <ssl3_accept+0x617>
cmpl   $0x2112,-0x14(%rbp)
jne    1416 <ssl3_accept+0x2e6>
jmp    174c <ssl3_accept+0x61c>
cmpl   $0x2130,-0x14(%rbp)
jne    1428 <ssl3_accept+0x2f8>
jmp    17a6 <ssl3_accept+0x676>
cmpl   $0x2131,-0x14(%rbp)
jne    143a <ssl3_accept+0x30a>
jmp    17ab <ssl3_accept+0x67b>
cmpl   $0x2140,-0x14(%rbp)
jne    144c <ssl3_accept+0x31c>
jmp    180a <ssl3_accept+0x6da>
cmpl   $0x2141,-0x14(%rbp)
jne    145e <ssl3_accept+0x32e>
jmp    180f <ssl3_accept+0x6df>
cmpl   $0x2150,-0x14(%rbp)
jne    1470 <ssl3_accept+0x340>
jmp    188e <ssl3_accept+0x75e>
cmpl   $0x2151,-0x14(%rbp)
jne    1482 <ssl3_accept+0x352>
jmp    1893 <ssl3_accept+0x763>
cmpl   $0x2160,-0x14(%rbp)
jne    1494 <ssl3_accept+0x364>
jmp    1a24 <ssl3_accept+0x8f4>
cmpl   $0x2161,-0x14(%rbp)
jne    14a6 <ssl3_accept+0x376>
jmp    1a29 <ssl3_accept+0x8f9>
cmpl   $0x2170,-0x14(%rbp)
jne    14b8 <ssl3_accept+0x388>
jmp    1b4e <ssl3_accept+0xa1e>
cmpl   $0x2171,-0x14(%rbp)
jne    14ca <ssl3_accept+0x39a>
jmp    1b53 <ssl3_accept+0xa23>
cmpl   $0x2100,-0x14(%rbp)
jne    14dc <ssl3_accept+0x3ac>
jmp    1b8c <ssl3_accept+0xa5c>
cmpl   $0x2180,-0x14(%rbp)
jne    14ee <ssl3_accept+0x3be>
jmp    1bde <ssl3_accept+0xaae>
cmpl   $0x2181,-0x14(%rbp)
jne    1500 <ssl3_accept+0x3d0>
jmp    1be3 <ssl3_accept+0xab3>
cmpl   $0x2190,-0x14(%rbp)
jne    1512 <ssl3_accept+0x3e2>
jmp    1c7b <ssl3_accept+0xb4b>
cmpl   $0x2191,-0x14(%rbp)
jne    1524 <ssl3_accept+0x3f4>
jmp    1c80 <ssl3_accept+0xb50>
cmpl   $0x21a0,-0x14(%rbp)
jne    1536 <ssl3_accept+0x406>
jmp    1cc9 <ssl3_accept+0xb99>
cmpl   $0x21a1,-0x14(%rbp)
jne    1548 <ssl3_accept+0x418>
jmp    1cce <ssl3_accept+0xb9e>
cmpl   $0x21c0,-0x14(%rbp)
jne    155a <ssl3_accept+0x42a>
jmp    1d17 <ssl3_accept+0xbe7>
cmpl   $0x21c1,-0x14(%rbp)
jne    156c <ssl3_accept+0x43c>
jmp    1d1c <ssl3_accept+0xbec>
cmpl   $0x21d0,-0x14(%rbp)
jne    157e <ssl3_accept+0x44e>
jmp    1dfa <ssl3_accept+0xcca>
cmpl   $0x21d1,-0x14(%rbp)
jne    1590 <ssl3_accept+0x460>
jmp    1dff <ssl3_accept+0xccf>
cmpl   $0x21e0,-0x14(%rbp)
jne    15a2 <ssl3_accept+0x472>
jmp    1ee9 <ssl3_accept+0xdb9>
cmpl   $0x21e1,-0x14(%rbp)
jne    15b4 <ssl3_accept+0x484>
jmp    1eee <ssl3_accept+0xdbe>
cmpl   $0x3,-0x14(%rbp)
jne    15c3 <ssl3_accept+0x493>
jmp    1fb7 <ssl3_accept+0xe87>
jmp    2008 <ssl3_accept+0xed8>
movl   $0x1,-0x18(%rbp)
jmp    15d4 <ssl3_accept+0x4a4>
jmp    15d9 <ssl3_accept+0x4a9>
jmp    15de <ssl3_accept+0x4ae>
movl   $0x1,-0x1c(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     15f7 <ssl3_accept+0x4c7>
jmp    15f7 <ssl3_accept+0x4c7>
mov    -0x20(%rbp),%eax
shl    $0x3,%eax
mov    %eax,-0xf8(%rbp)
cmpl   $0x3,-0xf8(%rbp)
je     161c <ssl3_accept+0x4ec>
movl   $0xffffffff,-0x4(%rbp)
jmp    219c <ssl3_accept+0x106c>
movl   $0x2000,-0x24(%rbp)
cmpl   $0x0,-0x34(%rbp)
jne    167b <ssl3_accept+0x54b>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x84(%rbp)
cmpl   $0x0,-0x84(%rbp)
jne    1656 <ssl3_accept+0x526>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
cmpl   $0x0,-0xd0(%rbp)
jne    1672 <ssl3_accept+0x542>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
mov    -0x84(%rbp),%eax
mov    %eax,-0x34(%rbp)
cmpl   $0x0,-0xd4(%rbp)
jne    1697 <ssl3_accept+0x567>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
movl   $0x0,-0x28(%rbp)
cmpl   $0x3004,-0x14(%rbp)
je     16dc <ssl3_accept+0x5ac>
cmpl   $0x0,-0xd8(%rbp)
jne    16c7 <ssl3_accept+0x597>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
movl   $0x2110,-0x14(%rbp)
mov    -0x5c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x5c(%rbp)
jmp    16ec <ssl3_accept+0x5bc>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
movl   $0x2120,-0x14(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    16f6 <ssl3_accept+0x5c6>
movl   $0x0,-0x3c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     171c <ssl3_accept+0x5ec>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x2122,-0x78(%rbp)
movl   $0x2100,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
movl   $0x3,-0x14(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1747 <ssl3_accept+0x617>
jmp    174c <ssl3_accept+0x61c>
movl   $0x0,-0x3c(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xf4(%rbp)
jne    1777 <ssl3_accept+0x647>
movl   $0x1,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1789 <ssl3_accept+0x659>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x1,-0xc4(%rbp)
movl   $0x2130,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    17ab <ssl3_accept+0x67b>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x1,-0xf4(%rbp)
jne    17cf <ssl3_accept+0x69f>
movl   $0x2,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     17e1 <ssl3_accept+0x6b1>
jmp    2165 <ssl3_accept+0x1035>
cmpl   $0x0,-0x2c(%rbp)
je     17f7 <ssl3_accept+0x6c7>
movl   $0x21d0,-0x14(%rbp)
jmp    17fe <ssl3_accept+0x6ce>
movl   $0x2140,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    180f <ssl3_accept+0x6df>
movslq -0x74(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
je     1840 <ssl3_accept+0x710>
movl   $0x1,-0xc0(%rbp)
jmp    187b <ssl3_accept+0x74b>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x2,-0xf4(%rbp)
jne    1864 <ssl3_accept+0x734>
movl   $0x3,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1876 <ssl3_accept+0x746>
jmp    2165 <ssl3_accept+0x1035>
jmp    187b <ssl3_accept+0x74b>
movl   $0x2150,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1893 <ssl3_accept+0x763>
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     18cc <ssl3_accept+0x79c>
movl   $0x1,-0x6c(%rbp)
jmp    18d3 <ssl3_accept+0x7a3>
movl   $0x0,-0x6c(%rbp)
cmpl   $0x0,-0x6c(%rbp)
je     18e2 <ssl3_accept+0x7b2>
jmp    199f <ssl3_accept+0x86f>
mov    -0x90(%rbp),%rax
add    $0x1e,%rax
cmp    $0x0,%rax
je     18fc <ssl3_accept+0x7cc>
jmp    199f <ssl3_accept+0x86f>
mov    -0x90(%rbp),%rax
add    $0x1,%rax
cmp    $0x0,%rax
je     19fd <ssl3_accept+0x8cd>
cmpl   $0x0,-0x50(%rbp)
jne    1920 <ssl3_accept+0x7f0>
jmp    199f <ssl3_accept+0x86f>
movslq -0x7c(%rbp),%rax
mov    %rax,-0x110(%rbp)
mov    -0x110(%rbp),%rax
add    $0x2,%rax
cmp    $0x0,%rax
je     19e9 <ssl3_accept+0x8b9>
movslq -0x7c(%rbp),%rax
mov    %rax,-0x118(%rbp)
mov    -0x118(%rbp),%rax
add    $0x4,%rax
cmp    $0x0,%rax
je     196f <ssl3_accept+0x83f>
movl   $0x200,-0xe0(%rbp)
jmp    1979 <ssl3_accept+0x849>
movl   $0x400,-0xe0(%rbp)
mov    -0xdc(%rbp),%eax
shl    $0x3,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x11c(%rbp),%eax
cmp    -0xe0(%rbp),%eax
jle    19da <ssl3_accept+0x8aa>
jmp    199f <ssl3_accept+0x86f>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x3,-0xf4(%rbp)
jne    19c3 <ssl3_accept+0x893>
movl   $0x4,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     19d5 <ssl3_accept+0x8a5>
jmp    2165 <ssl3_accept+0x1035>
jmp    19e4 <ssl3_accept+0x8b4>
movl   $0x1,-0xc0(%rbp)
jmp    19f3 <ssl3_accept+0x8c3>
movl   $0x1,-0xc0(%rbp)
jmp    19f8 <ssl3_accept+0x8c8>
jmp    1a07 <ssl3_accept+0x8d7>
movl   $0x1,-0xc0(%rbp)
jmp    1a0c <ssl3_accept+0x8dc>
jmp    1a11 <ssl3_accept+0x8e1>
movl   $0x2160,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1a29 <ssl3_accept+0x8f9>
mov    -0x48(%rbp),%eax
add    $0x1,%eax
cmp    $0x0,%eax
je     1b31 <ssl3_accept+0xa01>
cmpl   $0x0,-0x4c(%rbp)
je     1a78 <ssl3_accept+0x948>
mov    -0x48(%rbp),%eax
add    $0x4,%eax
cmp    $0x0,%eax
je     1a6e <ssl3_accept+0x93e>
movl   $0x1,-0xc0(%rbp)
movl   $0x0,-0x64(%rbp)
movl   $0x2170,-0x14(%rbp)
jmp    1a73 <ssl3_accept+0x943>
jmp    1a7d <ssl3_accept+0x94d>
jmp    1b2c <ssl3_accept+0x9fc>
jmp    1a7d <ssl3_accept+0x94d>
movslq -0x74(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x128(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
je     1ad0 <ssl3_accept+0x9a0>
mov    -0x48(%rbp),%eax
add    $0x2,%eax
cmp    $0x0,%eax
je     1ab3 <ssl3_accept+0x983>
jmp    1ad5 <ssl3_accept+0x9a5>
movl   $0x1,-0xc0(%rbp)
movl   $0x0,-0x64(%rbp)
movl   $0x2170,-0x14(%rbp)
jmp    1b27 <ssl3_accept+0x9f7>
jmp    1ad5 <ssl3_accept+0x9a5>
movl   $0x1,-0x64(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x4,-0xf4(%rbp)
jne    1b00 <ssl3_accept+0x9d0>
movl   $0x5,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1b12 <ssl3_accept+0x9e2>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x2100,-0x14(%rbp)
movl   $0x2180,-0x78(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1b2c <ssl3_accept+0x9fc>
jmp    1b49 <ssl3_accept+0xa19>
movl   $0x1,-0xc0(%rbp)
movl   $0x0,-0x64(%rbp)
movl   $0x2170,-0x14(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1b53 <ssl3_accept+0xa23>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1b72 <ssl3_accept+0xa42>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x2180,-0x78(%rbp)
movl   $0x2100,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
cmpq   $0x0,-0xb0(%rbp)
jle    1bd3 <ssl3_accept+0xaa3>
movl   $0x2,-0x30(%rbp)
mov    -0xe8(%rbp),%rax
mov    %rax,-0xb0(%rbp)
cmpq   $0x0,-0xb0(%rbp)
jg     1bcc <ssl3_accept+0xa9c>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
movl   $0x1,-0x30(%rbp)
mov    -0x78(%rbp),%eax
mov    %eax,-0x14(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1be3 <ssl3_accept+0xab3>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x5,-0xf4(%rbp)
jne    1c07 <ssl3_accept+0xad7>
movl   $0x6,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1c19 <ssl3_accept+0xae9>
jmp    2165 <ssl3_accept+0x1035>
cmpl   $0x2,-0xb4(%rbp)
jne    1c32 <ssl3_accept+0xb02>
movl   $0x2112,-0x14(%rbp)
jmp    1c76 <ssl3_accept+0xb46>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x6,-0xf4(%rbp)
jne    1c56 <ssl3_accept+0xb26>
movl   $0x7,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1c68 <ssl3_accept+0xb38>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x0,-0x28(%rbp)
movl   $0x2190,-0x14(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1c80 <ssl3_accept+0xb50>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x7,-0xf4(%rbp)
jne    1ca4 <ssl3_accept+0xb74>
movl   $0x8,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1cb6 <ssl3_accept+0xb86>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x21a0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1cce <ssl3_accept+0xb9e>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x8,-0xf4(%rbp)
jne    1cf2 <ssl3_accept+0xbc2>
movl   $0x9,-0xf4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     1d04 <ssl3_accept+0xbd4>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x21c0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1d1c <ssl3_accept+0xbec>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x9,-0xf4(%rbp)
jne    1d45 <ssl3_accept+0xc15>
movl   $0xa,-0xf4(%rbp)
jmp    1dbf <ssl3_accept+0xc8f>
cmpl   $0xc,-0xf4(%rbp)
jne    1d61 <ssl3_accept+0xc31>
movl   $0xd,-0xf4(%rbp)
jmp    1dba <ssl3_accept+0xc8a>
cmpl   $0xf,-0xf4(%rbp)
jne    1d7d <ssl3_accept+0xc4d>
movl   $0x10,-0xf4(%rbp)
jmp    1db5 <ssl3_accept+0xc85>
cmpl   $0x12,-0xf4(%rbp)
jne    1d99 <ssl3_accept+0xc69>
movl   $0x13,-0xf4(%rbp)
jmp    1db0 <ssl3_accept+0xc80>
cmpl   $0x15,-0xf4(%rbp)
jne    1dab <ssl3_accept+0xc7b>
jmp    218e <ssl3_accept+0x105e>
jmp    1db0 <ssl3_accept+0xc80>
jmp    1db5 <ssl3_accept+0xc85>
jmp    1dba <ssl3_accept+0xc8a>
jmp    1dbf <ssl3_accept+0xc8f>
cmpl   $0x0,-0xb4(%rbp)
jg     1dd1 <ssl3_accept+0xca1>
jmp    2165 <ssl3_accept+0x1035>
cmpl   $0x0,-0x2c(%rbp)
je     1de7 <ssl3_accept+0xcb7>
movl   $0x3,-0x14(%rbp)
jmp    1dee <ssl3_accept+0xcbe>
movl   $0x21d0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
jmp    1dff <ssl3_accept+0xccf>
mov    -0x70(%rbp),%eax
mov    %eax,-0x80(%rbp)
cmpl   $0x0,-0xec(%rbp)
jne    1e21 <ssl3_accept+0xcf1>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0xa,-0xf4(%rbp)
jne    1e4a <ssl3_accept+0xd1a>
movl   $0xb,-0xf4(%rbp)
jmp    1ea8 <ssl3_accept+0xd78>
cmpl   $0xd,-0xf4(%rbp)
jne    1e66 <ssl3_accept+0xd36>
movl   $0xe,-0xf4(%rbp)
jmp    1ea3 <ssl3_accept+0xd73>
cmpl   $0x10,-0xf4(%rbp)
jne    1e82 <ssl3_accept+0xd52>
movl   $0x11,-0xf4(%rbp)
jmp    1e9e <ssl3_accept+0xd6e>
cmpl   $0x13,-0xf4(%rbp)
jne    1e99 <ssl3_accept+0xd69>
movl   $0x14,-0xf4(%rbp)
jmp    1e9e <ssl3_accept+0xd6e>
jmp    1ea3 <ssl3_accept+0xd73>
jmp    1ea8 <ssl3_accept+0xd78>
cmpl   $0x0,-0xb4(%rbp)
jg     1eba <ssl3_accept+0xd8a>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x21e0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
cmpl   $0x0,-0xf0(%rbp)
jne    1ee4 <ssl3_accept+0xdb4>
movl   $0xffffffff,-0xb4(%rbp)
ff ff ff
jmp    2165 <ssl3_accept+0x1035>
jmp    2017 <ssl3_accept+0xee7>
jmp    1eee <ssl3_accept+0xdbe>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0xb,-0xf4(%rbp)
jne    1f17 <ssl3_accept+0xde7>
movl   $0xc,-0xf4(%rbp)
jmp    1f75 <ssl3_accept+0xe45>
cmpl   $0xe,-0xf4(%rbp)
jne    1f33 <ssl3_accept+0xe03>
movl   $0xf,-0xf4(%rbp)
jmp    1f70 <ssl3_accept+0xe40>
cmpl   $0x11,-0xf4(%rbp)
jne    1f4f <ssl3_accept+0xe1f>
movl   $0x12,-0xf4(%rbp)
jmp    1f6b <ssl3_accept+0xe3b>
cmpl   $0x14,-0xf4(%rbp)
jne    1f66 <ssl3_accept+0xe36>
movl   $0x15,-0xf4(%rbp)
jmp    1f6b <ssl3_accept+0xe3b>
jmp    1f70 <ssl3_accept+0xe40>
jmp    1f75 <ssl3_accept+0xe45>
cmpl   $0x0,-0xb4(%rbp)
jg     1f87 <ssl3_accept+0xe57>
jmp    2165 <ssl3_accept+0x1035>
movl   $0x2100,-0x14(%rbp)
cmpl   $0x0,-0x2c(%rbp)
je     1fa4 <ssl3_accept+0xe74>
movl   $0x21c0,-0x78(%rbp)
jmp    1fab <ssl3_accept+0xe7b>
movl   $0x3,-0x78(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    2017 <ssl3_accept+0xee7>
movl   $0x0,-0x34(%rbp)
movl   $0x0,-0x28(%rbp)
cmpl   $0x0,-0xc4(%rbp)
je     1ff9 <ssl3_accept+0xec9>
movl   $0x0,-0x18(%rbp)
mov    -0x60(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x60(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     1ff4 <ssl3_accept+0xec4>
jmp    1ff4 <ssl3_accept+0xec4>
jmp    1ff9 <ssl3_accept+0xec9>
movl   $0x1,-0xb4(%rbp)
jmp    2165 <ssl3_accept+0x1035>
movl   $0xffffffff,-0xb4(%rbp)
jmp    2165 <ssl3_accept+0x1035>
jmp    201c <ssl3_accept+0xeec>
jmp    2021 <ssl3_accept+0xef1>
jmp    2026 <ssl3_accept+0xef6>
jmp    202b <ssl3_accept+0xefb>
jmp    2030 <ssl3_accept+0xf00>
jmp    2035 <ssl3_accept+0xf05>
jmp    203a <ssl3_accept+0xf0a>
jmp    203f <ssl3_accept+0xf0f>
jmp    2044 <ssl3_accept+0xf14>
jmp    2049 <ssl3_accept+0xf19>
jmp    204e <ssl3_accept+0xf1e>
jmp    2053 <ssl3_accept+0xf23>
jmp    2058 <ssl3_accept+0xf28>
jmp    205d <ssl3_accept+0xf2d>
jmp    2062 <ssl3_accept+0xf32>
jmp    2067 <ssl3_accept+0xf37>
jmp    206c <ssl3_accept+0xf3c>
jmp    2071 <ssl3_accept+0xf41>
jmp    2076 <ssl3_accept+0xf46>
jmp    207b <ssl3_accept+0xf4b>
jmp    2080 <ssl3_accept+0xf50>
jmp    2085 <ssl3_accept+0xf55>
jmp    208a <ssl3_accept+0xf5a>
jmp    208f <ssl3_accept+0xf5f>
jmp    2094 <ssl3_accept+0xf64>
jmp    2099 <ssl3_accept+0xf69>
jmp    209e <ssl3_accept+0xf6e>
jmp    20a3 <ssl3_accept+0xf73>
jmp    20a8 <ssl3_accept+0xf78>
jmp    20ad <ssl3_accept+0xf7d>
jmp    20b2 <ssl3_accept+0xf82>
jmp    20b7 <ssl3_accept+0xf87>
jmp    20bc <ssl3_accept+0xf8c>
jmp    20c1 <ssl3_accept+0xf91>
jmp    20c6 <ssl3_accept+0xf96>
jmp    20cb <ssl3_accept+0xf9b>
cmpl   $0x0,-0x68(%rbp)
jne    2156 <ssl3_accept+0x1026>
cmpl   $0x0,-0xc0(%rbp)
jne    2151 <ssl3_accept+0x1021>
cmpl   $0x0,-0x38(%rbp)
je     2110 <ssl3_accept+0xfe0>
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xb4(%rbp)
cmpl   $0x0,-0xb4(%rbp)
jg     210b <ssl3_accept+0xfdb>
jmp    2165 <ssl3_accept+0x1035>
jmp    2110 <ssl3_accept+0xfe0>
cmpl   $0x0,-0xa4(%rbp)
je     214c <ssl3_accept+0x101c>
mov    -0x14(%rbp),%eax
cmp    -0xbc(%rbp),%eax
je     2147 <ssl3_accept+0x1017>
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    214c <ssl3_accept+0x101c>
jmp    2151 <ssl3_accept+0x1021>
jmp    2156 <ssl3_accept+0x1026>
movl   $0x0,-0xc0(%rbp)
jmp    1342 <ssl3_accept+0x212>
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xa4(%rbp)
je     2180 <ssl3_accept+0x1050>
jmp    2180 <ssl3_accept+0x1050>
mov    -0xb4(%rbp),%eax
mov    %eax,-0x4(%rbp)
jmp    219c <ssl3_accept+0x106c>
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    $0x68,%rsp
mov    %edi,%r15d
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,0x10(%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,%r13
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,0x28(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%r12
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>
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,0x60(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%r14
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
mov    %rax,%rbx
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,%rbp
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,0x50(%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,0x40(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %r13d,%r13d
je     1725 <ssl3_accept+0x5f5>
mov    $0xffffff00,%edx
cmpl   $0x0,0x18(%rsp)
sete   %al
cmp    $0xfffffffc,%r12d
sete   %cl
or     %al,%cl
mov    %cl,0xf(%rsp)
mov    %r14d,%esi
cmp    %rdx,%rsi
setne  %al
mov    %r12,0x18(%rsp)
cmp    $0xfffffffe,%r12d
sete   %cl
and    %al,%cl
mov    %cl,0xe(%rsp)
mov    0x28(%rsp),%eax
lea    -0x1fff00(%rdx),%rcx
xor    %rax,%rcx
lea    0xe2(%rdx),%rax
mov    %rsi,0x28(%rsp)
xor    %rsi,%rax
or     %rcx,%rax
setne  %al
cmpl   $0x0,0x20(%rsp)
sete   %r12b
or     %al,%r12b
shl    $0x20,%rbx
mov    %rbx,0x20(%rsp)
shl    $0x3,%ebp
mov    %rbp,0x38(%rsp)
cmpl   $0x0,0x10(%rsp)
mov    $0x2140,%ebp
mov    $0x21d0,%ebx
cmovne %ebx,%ebp
mov    $0x3,%eax
mov    $0x21c0,%ecx
cmove  %eax,%ecx
mov    %ecx,0x34(%rsp)
cmovne %eax,%ebx
xor    %r14d,%r14d
nopl   0x0(%rax,%rax,1)
cmp    $0x3003,%r15d
jle    1330 <ssl3_accept+0x200>
cmp    $0x3004,%r15d
je     1725 <ssl3_accept+0x5f5>
cmp    $0x4000,%r15d
je     1725 <ssl3_accept+0x5f5>
cmp    $0x6000,%r15d
jne    134a <ssl3_accept+0x21a>
jmp    1725 <ssl3_accept+0x5f5>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
cmp    $0x2000,%r15d
je     1725 <ssl3_accept+0x5f5>
cmp    $0x2003,%r15d
je     1725 <ssl3_accept+0x5f5>
mov    %r15d,%eax
and    $0xfffffffe,%eax
cmp    $0x2120,%eax
je     1390 <ssl3_accept+0x260>
lea    -0x2110(%r15),%ecx
xor    %r13d,%r13d
cmp    $0x3,%ecx
jae    13c0 <ssl3_accept+0x290>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %r14d,%r14d
mov    $0x1,%ecx
cmove  %ecx,%r14d
mov    $0x2130,%r15d
test   %eax,%eax
jg     13d0 <ssl3_accept+0x2a0>
jmp    170c <ssl3_accept+0x5dc>
nopl   0x0(%rax,%rax,1)
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jle    170c <ssl3_accept+0x5dc>
mov    $0x2100,%r15d
movl   $0x2122,0x10(%rsp)
jmp    13d0 <ssl3_accept+0x2a0>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
cmp    $0x2122,%r15d
jne    13fa <ssl3_accept+0x2ca>
mov    $0x3,%r15d
nop
or     0x60(%rsp),%r13d
jne    12f0 <ssl3_accept+0x1c0>
cmpl   $0x0,0x58(%rsp)
je     12f0 <ssl3_accept+0x1c0>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jg     12f0 <ssl3_accept+0x1c0>
jmp    170c <ssl3_accept+0x5dc>
lea    -0x2130(%rax),%ecx
rol    $0x1c,%ecx
cmp    $0x4,%ecx
ja     1439 <ssl3_accept+0x309>
lea    0xbf1(%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    170c <ssl3_accept+0x5dc>
cmp    $0x1,%r14d
mov    $0x2,%eax
cmove  %eax,%r14d
mov    %ebp,%r15d
jmp    13d0 <ssl3_accept+0x2a0>
cmp    $0x2100,%r15d
jne    157a <ssl3_accept+0x44a>
mov    0x50(%rsp),%rax
test   %rax,%rax
jle    15e8 <ssl3_accept+0x4b8>
mov    0x10(%rsp),%ecx
mov    %ecx,%r15d
test   %rax,%rax
jg     13d0 <ssl3_accept+0x2a0>
jmp    1725 <ssl3_accept+0x5f5>
mov    $0x2150,%r15d
mov    $0x1,%r13d
mov    $0xffffff00,%eax
cmp    %rax,0x28(%rsp)
jne    13d0 <ssl3_accept+0x2a0>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x2,%r14d
mov    $0x3,%ecx
cmove  %ecx,%r14d
jmp    137f <ssl3_accept+0x24f>
test   %r12b,%r12b
jne    14ed <ssl3_accept+0x3bd>
mov    $0x2160,%r15d
mov    $0x1,%r13d
mov    0x20(%rsp),%rcx
movabs $0xfffffffe00000000,%rax
ff ff ff
cmp    %rax,%rcx
je     13d0 <ssl3_accept+0x2a0>
mov    $0x200,%eax
movabs $0xfffffffc00000000,%rdx
ff ff ff
cmp    %rdx,%rcx
jne    14e3 <ssl3_accept+0x3b3>
mov    $0x400,%eax
cmp    %eax,0x38(%rsp)
jle    13d0 <ssl3_accept+0x2a0>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x3,%r14d
mov    $0x4,%ecx
cmove  %ecx,%r14d
mov    $0x2160,%r15d
jmp    137f <ssl3_accept+0x24f>
mov    $0x2170,%r15d
mov    $0x1,%r13d
cmpl   $0xffffffff,0x18(%rsp)
je     13d0 <ssl3_accept+0x2a0>
cmpb   $0x0,0xf(%rsp)
je     13d0 <ssl3_accept+0x2a0>
cmpb   $0x0,0xe(%rsp)
jne    13d0 <ssl3_accept+0x2a0>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x4,%r14d
mov    $0x5,%ecx
cmove  %ecx,%r14d
jmp    155f <ssl3_accept+0x42f>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
test   %eax,%eax
jle    170c <ssl3_accept+0x5dc>
mov    $0x2100,%r15d
movl   $0x2180,0x10(%rsp)
jmp    13d0 <ssl3_accept+0x2a0>
add    $0xffffde80,%eax
rol    $0x1c,%eax
cmp    $0x6,%eax
ja     170e <ssl3_accept+0x5de>
lea    0xa82(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x5,%r14d
mov    $0x6,%ecx
cmove  %ecx,%r14d
test   %eax,%eax
jle    170c <ssl3_accept+0x5dc>
mov    $0x2112,%r15d
cmp    $0x2,%eax
je     13d0 <ssl3_accept+0x2a0>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x6,%r14d
mov    $0x7,%ecx
cmove  %ecx,%r14d
mov    $0x2190,%r15d
jmp    137f <ssl3_accept+0x24f>
mov    0x10(%rsp),%eax
mov    %eax,%r15d
jmp    13d0 <ssl3_accept+0x2a0>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x7,%r14d
mov    $0x8,%ecx
cmove  %ecx,%r14d
mov    $0x21a0,%r15d
jmp    137f <ssl3_accept+0x24f>
xor    %r13d,%r13d
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
cmp    $0x8,%r14d
mov    $0x9,%ecx
cmove  %ecx,%r14d
mov    $0x21c0,%r15d
jmp    137f <ssl3_accept+0x24f>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
lea    -0x9(%r14),%edx
cmp    $0xc,%edx
ja     16f0 <ssl3_accept+0x5c0>
mov    $0xa,%ecx
lea    0x9d8(%rip),%rsi
movslq (%rsi,%rdx,4),%rdx
add    %rsi,%rdx
jmp    *%rdx
mov    $0xd,%ecx
jmp    1701 <ssl3_accept+0x5d1>
cmpl   $0x0,0x48(%rsp)
je     1725 <ssl3_accept+0x5f5>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
lea    -0xa(%r14),%ecx
cmp    $0x9,%ecx
ja     169e <ssl3_accept+0x56e>
mov    $0x249,%edx
bt     %ecx,%edx
jae    169e <ssl3_accept+0x56e>
movslq %ecx,%rcx
lea    0x9ca(%rip),%rdx
mov    (%rdx,%rcx,4),%r14d
test   %eax,%eax
jle    170c <ssl3_accept+0x5dc>
mov    $0x21e0,%r15d
cmpl   $0x0,0x40(%rsp)
jne    13d0 <ssl3_accept+0x2a0>
jmp    1725 <ssl3_accept+0x5f5>
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_int@plt>
lea    -0xb(%r14),%ecx
cmp    $0x9,%ecx
ja     16dd <ssl3_accept+0x5ad>
mov    $0x249,%edx
bt     %ecx,%edx
jae    16dd <ssl3_accept+0x5ad>
movslq %ecx,%rcx
lea    0x9b3(%rip),%rdx
mov    (%rdx,%rcx,4),%r14d
mov    $0x2100,%r15d
mov    0x34(%rsp),%ecx
mov    %ecx,0x10(%rsp)
jmp    137f <ssl3_accept+0x24f>
mov    %r14d,%ecx
jmp    1701 <ssl3_accept+0x5d1>
mov    $0x10,%ecx
jmp    1701 <ssl3_accept+0x5d1>
mov    $0x13,%ecx
mov    %ecx,%r14d
mov    %ebx,%r15d
jmp    137f <ssl3_accept+0x24f>
jmp    172a <ssl3_accept+0x5fa>
xor    %eax,%eax
cmp    $0x3,%r15d
sete   %al
add    %eax,%eax
add    $0xffffffff,%eax
jmp    172a <ssl3_accept+0x5fa>
xor    %eax,%eax
call   1050 <__VERIFIER_error@plt>
mov    $0xffffffff,%eax
add    $0x68,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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