#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();
unsigned long __VERIFIER_nondet_ulong();
int ssl3_connect(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__bbio = __VERIFIER_nondet_int();
  int s__wbio = __VERIFIER_nondet_int();
  int s__hit = __VERIFIER_nondet_int();
  int s__rwstate;
  int s__init_buf___0 = __VERIFIER_nondet_int();
  int s__debug = __VERIFIER_nondet_int();
  int s__shutdown;
  int s__ctx__info_callback = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_connect_renegotiate = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_connect = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_hit = __VERIFIER_nondet_int();
  int s__ctx__stats__sess_connect_good = __VERIFIER_nondet_int();
  int s__s3__change_cipher_spec;
  int s__s3__flags = __VERIFIER_nondet_int();
  int s__s3__delay_buf_pop_ret;
  int s__s3__tmp__cert_req = __VERIFIER_nondet_int();
  int s__s3__tmp__new_compression = __VERIFIER_nondet_int();
  int s__s3__tmp__reuse_message = __VERIFIER_nondet_int();
  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_compression__id = __VERIFIER_nondet_int();
  int s__session__cipher;
  int s__session__compress_meth;
  int buf;
  unsigned long tmp;
  unsigned long l;
  int num1 = __VERIFIER_nondet_int();
  int cb;
  int ret;
  int new_state;
  int state;
  int skip;
  int tmp___0;
  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 = __VERIFIER_nondet_int();
  int tmp___8 = __VERIFIER_nondet_int();
  int tmp___9 = __VERIFIER_nondet_int();
  int blastFlag;
  int __cil_tmp55;
  void *__cil_tmp56;
  unsigned long __cil_tmp57;
  unsigned long __cil_tmp58 = __VERIFIER_nondet_ulong();
  void *__cil_tmp59;
  unsigned long __cil_tmp60;
  unsigned long __cil_tmp61;
  unsigned long __cil_tmp62;
  unsigned long __cil_tmp63;
  unsigned long __cil_tmp64;
  long __cil_tmp65 = __VERIFIER_nondet_long();
  long __cil_tmp66;
  long __cil_tmp67;
  long __cil_tmp68;
  long __cil_tmp69;
  long __cil_tmp70 = __VERIFIER_nondet_long();
  long __cil_tmp71;
  long __cil_tmp72;
  long __cil_tmp73;
  long __cil_tmp74;
  {
    ;
    s__state = initial_state;
    blastFlag = 0;
    tmp = __VERIFIER_nondet_int();
    cb = 0;
    ret = -1;
    skip = 0;
    tmp___0 = 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) {
      }
    }
    {
      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 == 4096) {
              goto switch_1_4096;
            } else {
              if (s__state == 20480) {
                goto switch_1_20480;
              } else {
                if (s__state == 4099) {
                  goto switch_1_4099;
                } else {
                  if (s__state == 4368) {
                    goto switch_1_4368;
                  } else {
                    if (s__state == 4369) {
                      goto switch_1_4369;
                    } else {
                      if (s__state == 4384) {
                        goto switch_1_4384;
                      } else {
                        if (s__state == 4385) {
                          goto switch_1_4385;
                        } else {
                          if (s__state == 4400) {
                            goto switch_1_4400;
                          } else {
                            if (s__state == 4401) {
                              goto switch_1_4401;
                            } else {
                              if (s__state == 4416) {
                                goto switch_1_4416;
                              } else {
                                if (s__state == 4417) {
                                  goto switch_1_4417;
                                } else {
                                  if (s__state == 4432) {
                                    goto switch_1_4432;
                                  } else {
                                    if (s__state == 4433) {
                                      goto switch_1_4433;
                                    } else {
                                      if (s__state == 4448) {
                                        goto switch_1_4448;
                                      } else {
                                        if (s__state == 4449) {
                                          goto switch_1_4449;
                                        } else {
                                          if (s__state == 4464) {
                                            goto switch_1_4464;
                                          } else {
                                            if (s__state == 4465) {
                                              goto switch_1_4465;
                                            } else {
                                              if (s__state == 4466) {
                                                goto switch_1_4466;
                                              } else {
                                                if (s__state == 4467) {
                                                  goto switch_1_4467;
                                                } else {
                                                  if (s__state == 4480) {
                                                    goto switch_1_4480;
                                                  } else {
                                                    if (s__state == 4481) {
                                                      goto switch_1_4481;
                                                    } else {
                                                      if (s__state == 4496) {
                                                        goto switch_1_4496;
                                                      } else {
                                                        if (s__state == 4497) {
                                                          goto switch_1_4497;
                                                        } else {
                                                          if (s__state ==
                                                              4512) {
                                                            goto switch_1_4512;
                                                          } else {
                                                            if (s__state ==
                                                                4513) {
                                                              goto switch_1_4513;
                                                            } else {
                                                              if (s__state ==
                                                                  4528) {
                                                                goto switch_1_4528;
                                                              } else {
                                                                if (s__state ==
                                                                    4529) {
                                                                  goto switch_1_4529;
                                                                } else {
                                                                  if (s__state ==
                                                                      4560) {
                                                                    goto switch_1_4560;
                                                                  } else {
                                                                    if (s__state ==
                                                                        4561) {
                                                                      goto switch_1_4561;
                                                                    } else {
                                                                      if (s__state ==
                                                                          4352) {
                                                                        goto switch_1_4352;
                                                                      } else {
                                                                        if (s__state ==
                                                                            3) {
                                                                          goto switch_1_3;
                                                                        } else {
                                                                          goto switch_1_default;
                                                                          if (0) {
                                                                          switch_1_12292
                                                                              :
                                                                            s__new_session =
                                                                                1;
                                                                            s__state =
                                                                                4096;
                                                                            s__ctx__stats__sess_connect_renegotiate++;
                                                                          switch_1_16384
                                                                              :;
                                                                          switch_1_4096
                                                                              :;
                                                                          switch_1_20480
                                                                              :;
                                                                          switch_1_4099
                                                                              :
                                                                            s__server =
                                                                                0;
                                                                            if (cb !=
                                                                                0) {
                                                                            }
                                                                            {
                                                                              __cil_tmp55 =
                                                                                  s__version +
                                                                                  65280;
                                                                              if (__cil_tmp55 !=
                                                                                  768) {
                                                                                ret =
                                                                                    -1;
                                                                                goto end;
                                                                              }
                                                                            }
                                                                            s__type =
                                                                                4096;
                                                                            {
                                                                              __cil_tmp56 =
                                                                                  (void
                                                                                       *)0;
                                                                              __cil_tmp57 =
                                                                                  (unsigned long)
                                                                                      __cil_tmp56;
                                                                              __cil_tmp58 =
                                                                                  (unsigned long)
                                                                                      s__init_buf___0;
                                                                              if (__cil_tmp58 ==
                                                                                  __cil_tmp57) {
                                                                                buf =
                                                                                    __VERIFIER_nondet_int();
                                                                                {
                                                                                  __cil_tmp59 =
                                                                                      (void
                                                                                           *)0;
                                                                                  __cil_tmp60 =
                                                                                      (unsigned long)
                                                                                          __cil_tmp59;
                                                                                  __cil_tmp61 =
                                                                                      (unsigned long)
                                                                                          buf;
                                                                                  if (__cil_tmp61 ==
                                                                                      __cil_tmp60) {
                                                                                    ret =
                                                                                        -1;
                                                                                    goto end;
                                                                                  }
                                                                                }
                                                                                if (!tmp___3) {
                                                                                  ret =
                                                                                      -1;
                                                                                  goto end;
                                                                                }
                                                                                s__init_buf___0 =
                                                                                    buf;
                                                                              }
                                                                            }
                                                                            if (!tmp___4) {
                                                                              ret =
                                                                                  -1;
                                                                              goto end;
                                                                            }
                                                                            if (!tmp___5) {
                                                                              ret =
                                                                                  -1;
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4368;
                                                                            s__ctx__stats__sess_connect++;
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4368
                                                                              :;
                                                                          switch_1_4369
                                                                              :
                                                                            s__shutdown =
                                                                                0;
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (blastFlag ==
                                                                                0) {
                                                                              blastFlag =
                                                                                  1;
                                                                            }
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4384;
                                                                            s__init_num =
                                                                                0;
                                                                            {
                                                                              __cil_tmp62 =
                                                                                  (unsigned long)
                                                                                      s__wbio;
                                                                              __cil_tmp63 =
                                                                                  (unsigned long)
                                                                                      s__bbio;
                                                                              if (__cil_tmp63 !=
                                                                                  __cil_tmp62) {
                                                                              }
                                                                            }
                                                                            goto switch_1_break;
                                                                          switch_1_4384
                                                                              :;
                                                                          switch_1_4385
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (blastFlag ==
                                                                                1) {
                                                                              blastFlag =
                                                                                  2;
                                                                            } else {
                                                                              if (blastFlag ==
                                                                                  4) {
                                                                                blastFlag =
                                                                                    5;
                                                                              }
                                                                            }
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            if (s__hit) {
                                                                              s__state =
                                                                                  4560;
                                                                            } else {
                                                                              s__state =
                                                                                  4400;
                                                                            }
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4400
                                                                              :;
                                                                          switch_1_4401
                                                                              :;
                                                                            {
                                                                              __cil_tmp64 =
                                                                                  (unsigned long)
                                                                                      s__s3__tmp__new_cipher__algorithms;
                                                                              if (__cil_tmp64 +
                                                                                  256UL) {
                                                                                skip =
                                                                                    1;
                                                                              } else {
                                                                                ret =
                                                                                    __VERIFIER_nondet_int();
                                                                                if (blastFlag ==
                                                                                    2) {
                                                                                  blastFlag =
                                                                                      3;
                                                                                }
                                                                                if (ret <=
                                                                                    0) {
                                                                                  goto end;
                                                                                }
                                                                              }
                                                                            }
                                                                            s__state =
                                                                                4416;
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4416
                                                                              :;
                                                                          switch_1_4417
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (blastFlag ==
                                                                                3) {
                                                                              blastFlag =
                                                                                  4;
                                                                            }
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4432;
                                                                            s__init_num =
                                                                                0;
                                                                            if (!tmp___6) {
                                                                              ret =
                                                                                  -1;
                                                                              goto end;
                                                                            }
                                                                            goto switch_1_break;
                                                                          switch_1_4432
                                                                              :;
                                                                          switch_1_4433
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (blastFlag ==
                                                                                4) {
                                                                              goto ERROR;
                                                                            }
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4448;
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4448
                                                                              :;
                                                                          switch_1_4449
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            if (s__s3__tmp__cert_req) {
                                                                              s__state =
                                                                                  4464;
                                                                            } else {
                                                                              s__state =
                                                                                  4480;
                                                                            }
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4464
                                                                              :;
                                                                          switch_1_4465
                                                                              :;
                                                                          switch_1_4466
                                                                              :;
                                                                          switch_1_4467
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4480;
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4480
                                                                              :;
                                                                          switch_1_4481
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            l = (unsigned long)
                                                                                s__s3__tmp__new_cipher__algorithms;
                                                                            if (s__s3__tmp__cert_req ==
                                                                                1) {
                                                                              s__state =
                                                                                  4496;
                                                                            } else {
                                                                              s__state =
                                                                                  4512;
                                                                              s__s3__change_cipher_spec =
                                                                                  0;
                                                                            }
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4496
                                                                              :;
                                                                          switch_1_4497
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4512;
                                                                            s__init_num =
                                                                                0;
                                                                            s__s3__change_cipher_spec =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4512
                                                                              :;
                                                                          switch_1_4513
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4528;
                                                                            s__init_num =
                                                                                0;
                                                                            s__session__cipher =
                                                                                s__s3__tmp__new_cipher;
                                                                            if (s__s3__tmp__new_compression ==
                                                                                0) {
                                                                              s__session__compress_meth =
                                                                                  0;
                                                                            } else {
                                                                              s__session__compress_meth =
                                                                                  s__s3__tmp__new_compression__id;
                                                                            }
                                                                            if (!tmp___7) {
                                                                              ret =
                                                                                  -1;
                                                                              goto end;
                                                                            }
                                                                            if (!tmp___8) {
                                                                              ret =
                                                                                  -1;
                                                                              goto end;
                                                                            }
                                                                            goto switch_1_break;
                                                                          switch_1_4528
                                                                              :;
                                                                          switch_1_4529
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            s__state =
                                                                                4352;
                                                                            __cil_tmp65 =
                                                                                (long)
                                                                                    s__s3__flags;
                                                                            __cil_tmp66 =
                                                                                __cil_tmp65 -
                                                                                5;
                                                                            s__s3__flags =
                                                                                (int)
                                                                                    __cil_tmp66;
                                                                            if (s__hit) {
                                                                              s__s3__tmp__next_state___0 =
                                                                                  3;
                                                                              {
                                                                                __cil_tmp67 =
                                                                                    (long)
                                                                                        s__s3__flags;
                                                                                if (__cil_tmp67 +
                                                                                    2L) {
                                                                                  s__state =
                                                                                      3;
                                                                                  __cil_tmp68 =
                                                                                      (long)
                                                                                          s__s3__flags;
                                                                                  __cil_tmp69 =
                                                                                      __cil_tmp68 *
                                                                                      4L;
                                                                                  s__s3__flags =
                                                                                      (int)
                                                                                          __cil_tmp69;
                                                                                  s__s3__delay_buf_pop_ret =
                                                                                      0;
                                                                                }
                                                                              }
                                                                            } else {
                                                                              s__s3__tmp__next_state___0 =
                                                                                  4560;
                                                                            }
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4560
                                                                              :;
                                                                          switch_1_4561
                                                                              :
                                                                            ret =
                                                                                __VERIFIER_nondet_int();
                                                                            if (ret <=
                                                                                0) {
                                                                              goto end;
                                                                            }
                                                                            if (s__hit) {
                                                                              s__state =
                                                                                  4512;
                                                                            } else {
                                                                              s__state =
                                                                                  3;
                                                                            }
                                                                            s__init_num =
                                                                                0;
                                                                            goto switch_1_break;
                                                                          switch_1_4352
                                                                              : {
                                                                            __cil_tmp70 =
                                                                                (long)
                                                                                    num1;
                                                                            if (__cil_tmp70 >
                                                                                0L) {
                                                                              s__rwstate =
                                                                                  2;
                                                                              __cil_tmp71 =
                                                                                  (long)
                                                                                      tmp___9;
                                                                              num1 =
                                                                                  (int)
                                                                                      __cil_tmp71;
                                                                              {
                                                                                __cil_tmp72 =
                                                                                    (long)
                                                                                        num1;
                                                                                if (__cil_tmp72 <=
                                                                                    0L) {
                                                                                  ret =
                                                                                      -1;
                                                                                  goto end;
                                                                                }
                                                                              }
                                                                              s__rwstate =
                                                                                  1;
                                                                            }
                                                                          }
                                                                            s__state =
                                                                                s__s3__tmp__next_state___0;
                                                                            goto switch_1_break;
                                                                          switch_1_3
                                                                              :
                                                                            if (s__init_buf___0 !=
                                                                                0) {
                                                                              s__init_buf___0 =
                                                                                  0;
                                                                            }
                                                                            {
                                                                              __cil_tmp73 =
                                                                                  (long)
                                                                                      s__s3__flags;
                                                                              __cil_tmp74 =
                                                                                  __cil_tmp73 +
                                                                                  4L;
                                                                              if (!__cil_tmp74) {
                                                                              }
                                                                            }
                                                                            s__init_num =
                                                                                0;
                                                                            s__new_session =
                                                                                0;
                                                                            if (s__hit) {
                                                                              s__ctx__stats__sess_hit++;
                                                                            }
                                                                            ret =
                                                                                1;
                                                                            s__ctx__stats__sess_connect_good++;
                                                                            if (cb !=
                                                                                0) {
                                                                            }
                                                                            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_connect>:
push   %rbp
mov    %rsp,%rbp
sub    $0x180,%rsp
mov    %edi,-0x8(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x10(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x20(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x2c(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x30(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x34(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x3c(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x40(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x48(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x4c(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x50(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x54(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x58(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x60(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x68(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x6c(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x70(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x74(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x78(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x80(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xa4(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc0(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc4(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xc8(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xcc(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xd0(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xd4(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xd8(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xdc(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xe0(%rbp)
mov    $0x0,%al
call   1040 <__VERIFIER_nondet_ulong@plt>
mov    %rax,-0x100(%rbp)
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,-0x138(%rbp)
mov    $0x0,%al
call   1030 <__VERIFIER_nondet_long@plt>
mov    %rax,-0x160(%rbp)
mov    -0x8(%rbp),%eax
mov    %eax,-0x14(%rbp)
movl   $0x0,-0xe4(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,-0x98(%rbp)
movl   $0x0,-0xa8(%rbp)
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
movl   $0x0,-0xb8(%rbp)
movl   $0x0,-0xbc(%rbp)
cmpl   $0x0,-0xc(%rbp)
je     1320 <ssl3_connect+0x1e0>
mov    -0xc(%rbp),%eax
mov    %eax,-0xa8(%rbp)
jmp    1338 <ssl3_connect+0x1f8>
cmpl   $0x0,-0x48(%rbp)
je     1333 <ssl3_connect+0x1f3>
mov    -0x48(%rbp),%eax
mov    %eax,-0xa8(%rbp)
jmp    1338 <ssl3_connect+0x1f8>
mov    -0x10(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x10(%rbp)
mov    -0xc0(%rbp),%eax
add    $0x3000,%eax
cmp    $0x0,%eax
je     1373 <ssl3_connect+0x233>
mov    -0xc4(%rbp),%eax
add    $0x4000,%eax
cmp    $0x0,%eax
je     136e <ssl3_connect+0x22e>
jmp    136e <ssl3_connect+0x22e>
jmp    1373 <ssl3_connect+0x233>
jmp    1378 <ssl3_connect+0x238>
jmp    137d <ssl3_connect+0x23d>
mov    -0x14(%rbp),%eax
mov    %eax,-0xb4(%rbp)
cmpl   $0x3004,-0x14(%rbp)
jne    1398 <ssl3_connect+0x258>
jmp    15da <ssl3_connect+0x49a>
cmpl   $0x4000,-0x14(%rbp)
jne    13aa <ssl3_connect+0x26a>
jmp    15f1 <ssl3_connect+0x4b1>
cmpl   $0x1000,-0x14(%rbp)
jne    13bc <ssl3_connect+0x27c>
jmp    15f6 <ssl3_connect+0x4b6>
cmpl   $0x5000,-0x14(%rbp)
jne    13ce <ssl3_connect+0x28e>
jmp    15fb <ssl3_connect+0x4bb>
cmpl   $0x1003,-0x14(%rbp)
jne    13e0 <ssl3_connect+0x2a0>
jmp    1600 <ssl3_connect+0x4c0>
cmpl   $0x1110,-0x14(%rbp)
jne    13f2 <ssl3_connect+0x2b2>
jmp    1755 <ssl3_connect+0x615>
cmpl   $0x1111,-0x14(%rbp)
jne    1404 <ssl3_connect+0x2c4>
jmp    175a <ssl3_connect+0x61a>
cmpl   $0x1120,-0x14(%rbp)
jne    1416 <ssl3_connect+0x2d6>
jmp    17d9 <ssl3_connect+0x699>
cmpl   $0x1121,-0x14(%rbp)
jne    1428 <ssl3_connect+0x2e8>
jmp    17de <ssl3_connect+0x69e>
cmpl   $0x1130,-0x14(%rbp)
jne    143a <ssl3_connect+0x2fa>
jmp    185e <ssl3_connect+0x71e>
cmpl   $0x1131,-0x14(%rbp)
jne    144c <ssl3_connect+0x30c>
jmp    1863 <ssl3_connect+0x723>
cmpl   $0x1140,-0x14(%rbp)
jne    145e <ssl3_connect+0x31e>
jmp    18e2 <ssl3_connect+0x7a2>
cmpl   $0x1141,-0x14(%rbp)
jne    1470 <ssl3_connect+0x330>
jmp    18e7 <ssl3_connect+0x7a7>
cmpl   $0x1150,-0x14(%rbp)
jne    1482 <ssl3_connect+0x342>
jmp    194c <ssl3_connect+0x80c>
cmpl   $0x1151,-0x14(%rbp)
jne    1494 <ssl3_connect+0x354>
jmp    1951 <ssl3_connect+0x811>
cmpl   $0x1160,-0x14(%rbp)
jne    14a6 <ssl3_connect+0x366>
jmp    1995 <ssl3_connect+0x855>
cmpl   $0x1161,-0x14(%rbp)
jne    14b8 <ssl3_connect+0x378>
jmp    199a <ssl3_connect+0x85a>
cmpl   $0x1170,-0x14(%rbp)
jne    14ca <ssl3_connect+0x38a>
jmp    19e2 <ssl3_connect+0x8a2>
cmpl   $0x1171,-0x14(%rbp)
jne    14dc <ssl3_connect+0x39c>
jmp    19e7 <ssl3_connect+0x8a7>
cmpl   $0x1172,-0x14(%rbp)
jne    14ee <ssl3_connect+0x3ae>
jmp    19ec <ssl3_connect+0x8ac>
cmpl   $0x1173,-0x14(%rbp)
jne    1500 <ssl3_connect+0x3c0>
jmp    19f1 <ssl3_connect+0x8b1>
cmpl   $0x1180,-0x14(%rbp)
jne    1512 <ssl3_connect+0x3d2>
jmp    1a23 <ssl3_connect+0x8e3>
cmpl   $0x1181,-0x14(%rbp)
jne    1524 <ssl3_connect+0x3e4>
jmp    1a28 <ssl3_connect+0x8e8>
cmpl   $0x1190,-0x14(%rbp)
jne    1536 <ssl3_connect+0x3f6>
jmp    1a82 <ssl3_connect+0x942>
cmpl   $0x1191,-0x14(%rbp)
jne    1548 <ssl3_connect+0x408>
jmp    1a87 <ssl3_connect+0x947>
cmpl   $0x11a0,-0x14(%rbp)
jne    155a <ssl3_connect+0x41a>
jmp    1ac0 <ssl3_connect+0x980>
cmpl   $0x11a1,-0x14(%rbp)
jne    156c <ssl3_connect+0x42c>
jmp    1ac5 <ssl3_connect+0x985>
cmpl   $0x11b0,-0x14(%rbp)
jne    157e <ssl3_connect+0x43e>
jmp    1b5a <ssl3_connect+0xa1a>
cmpl   $0x11b1,-0x14(%rbp)
jne    1590 <ssl3_connect+0x450>
jmp    1b5f <ssl3_connect+0xa1f>
cmpl   $0x11d0,-0x14(%rbp)
jne    15a2 <ssl3_connect+0x462>
jmp    1c2a <ssl3_connect+0xaea>
cmpl   $0x11d1,-0x14(%rbp)
jne    15b4 <ssl3_connect+0x474>
jmp    1c2f <ssl3_connect+0xaef>
cmpl   $0x1100,-0x14(%rbp)
jne    15c6 <ssl3_connect+0x486>
jmp    1c77 <ssl3_connect+0xb37>
cmpl   $0x3,-0x14(%rbp)
jne    15d5 <ssl3_connect+0x495>
jmp    1cf2 <ssl3_connect+0xbb2>
jmp    1d7e <ssl3_connect+0xc3e>
movl   $0x1,-0x18(%rbp)
movl   $0x1000,-0x14(%rbp)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    15f6 <ssl3_connect+0x4b6>
jmp    15fb <ssl3_connect+0x4bb>
jmp    1600 <ssl3_connect+0x4c0>
movl   $0x0,-0x1c(%rbp)
cmpl   $0x0,-0xa8(%rbp)
je     1619 <ssl3_connect+0x4d9>
jmp    1619 <ssl3_connect+0x4d9>
mov    -0x20(%rbp),%eax
add    $0xff00,%eax
mov    %eax,-0xe8(%rbp)
cmpl   $0x300,-0xe8(%rbp)
je     1646 <ssl3_connect+0x506>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1000,-0x24(%rbp)
movq   $0x0,-0xf0(%rbp)
mov    -0xf0(%rbp),%rax
mov    %rax,-0xf8(%rbp)
movslq -0x3c(%rbp),%rax
mov    %rax,-0x100(%rbp)
mov    -0x100(%rbp),%rax
cmp    -0xf8(%rbp),%rax
jne    1701 <ssl3_connect+0x5c1>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0x8c(%rbp)
movq   $0x0,-0x108(%rbp)
mov    -0x108(%rbp),%rax
mov    %rax,-0x110(%rbp)
movslq -0x8c(%rbp),%rax
mov    %rax,-0x118(%rbp)
mov    -0x118(%rbp),%rax
cmp    -0x110(%rbp),%rax
jne    16dc <ssl3_connect+0x59c>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
cmpl   $0x0,-0xc8(%rbp)
jne    16f8 <ssl3_connect+0x5b8>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
mov    -0x8c(%rbp),%eax
mov    %eax,-0x3c(%rbp)
cmpl   $0x0,-0xcc(%rbp)
jne    171d <ssl3_connect+0x5dd>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
cmpl   $0x0,-0xd0(%rbp)
jne    1739 <ssl3_connect+0x5f9>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1110,-0x14(%rbp)
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    175a <ssl3_connect+0x61a>
movl   $0x0,-0x44(%rbp)
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xe4(%rbp)
jne    1785 <ssl3_connect+0x645>
movl   $0x1,-0xe4(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1797 <ssl3_connect+0x657>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1120,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
movslq -0x30(%rbp),%rax
mov    %rax,-0x120(%rbp)
movslq -0x2c(%rbp),%rax
mov    %rax,-0x128(%rbp)
mov    -0x128(%rbp),%rax
cmp    -0x120(%rbp),%rax
je     17d4 <ssl3_connect+0x694>
jmp    17d4 <ssl3_connect+0x694>
jmp    1d8d <ssl3_connect+0xc4d>
jmp    17de <ssl3_connect+0x69e>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x1,-0xe4(%rbp)
jne    1807 <ssl3_connect+0x6c7>
movl   $0x2,-0xe4(%rbp)
jmp    1823 <ssl3_connect+0x6e3>
cmpl   $0x4,-0xe4(%rbp)
jne    181e <ssl3_connect+0x6de>
movl   $0x5,-0xe4(%rbp)
jmp    1823 <ssl3_connect+0x6e3>
cmpl   $0x0,-0xac(%rbp)
jg     1835 <ssl3_connect+0x6f5>
jmp    1ed1 <ssl3_connect+0xd91>
cmpl   $0x0,-0x34(%rbp)
je     184b <ssl3_connect+0x70b>
movl   $0x11d0,-0x14(%rbp)
jmp    1852 <ssl3_connect+0x712>
movl   $0x1130,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1863 <ssl3_connect+0x723>
movslq -0x78(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    -0x130(%rbp),%rax
add    $0x100,%rax
cmp    $0x0,%rax
je     1894 <ssl3_connect+0x754>
movl   $0x1,-0xb8(%rbp)
jmp    18cf <ssl3_connect+0x78f>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x2,-0xe4(%rbp)
jne    18b8 <ssl3_connect+0x778>
movl   $0x3,-0xe4(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     18ca <ssl3_connect+0x78a>
jmp    1ed1 <ssl3_connect+0xd91>
jmp    18cf <ssl3_connect+0x78f>
movl   $0x1140,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    18e7 <ssl3_connect+0x7a7>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x3,-0xe4(%rbp)
jne    190b <ssl3_connect+0x7cb>
movl   $0x4,-0xe4(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     191d <ssl3_connect+0x7dd>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1150,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
cmpl   $0x0,-0xd4(%rbp)
jne    1947 <ssl3_connect+0x807>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1951 <ssl3_connect+0x811>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x4,-0xe4(%rbp)
jne    1970 <ssl3_connect+0x830>
jmp    1efa <ssl3_connect+0xdba>
cmpl   $0x0,-0xac(%rbp)
jg     1982 <ssl3_connect+0x842>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1160,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    199a <ssl3_connect+0x85a>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     19b9 <ssl3_connect+0x879>
jmp    1ed1 <ssl3_connect+0xd91>
cmpl   $0x0,-0x68(%rbp)
je     19cf <ssl3_connect+0x88f>
movl   $0x1170,-0x14(%rbp)
jmp    19d6 <ssl3_connect+0x896>
movl   $0x1180,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    19e7 <ssl3_connect+0x8a7>
jmp    19ec <ssl3_connect+0x8ac>
jmp    19f1 <ssl3_connect+0x8b1>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1a10 <ssl3_connect+0x8d0>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1180,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1a28 <ssl3_connect+0x8e8>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1a47 <ssl3_connect+0x907>
jmp    1ed1 <ssl3_connect+0xd91>
movslq -0x78(%rbp),%rax
mov    %rax,-0xa0(%rbp)
cmpl   $0x1,-0x68(%rbp)
jne    1a68 <ssl3_connect+0x928>
movl   $0x1190,-0x14(%rbp)
jmp    1a76 <ssl3_connect+0x936>
movl   $0x11a0,-0x14(%rbp)
movl   $0x0,-0x5c(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1a87 <ssl3_connect+0x947>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1aa6 <ssl3_connect+0x966>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x11a0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
movl   $0x0,-0x5c(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1ac5 <ssl3_connect+0x985>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1ae4 <ssl3_connect+0x9a4>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x11b0,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
mov    -0x74(%rbp),%eax
mov    %eax,-0x84(%rbp)
cmpl   $0x0,-0x6c(%rbp)
jne    1b14 <ssl3_connect+0x9d4>
movl   $0x0,-0x88(%rbp)
jmp    1b1d <ssl3_connect+0x9dd>
mov    -0x80(%rbp),%eax
mov    %eax,-0x88(%rbp)
cmpl   $0x0,-0xd8(%rbp)
jne    1b39 <ssl3_connect+0x9f9>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
cmpl   $0x0,-0xdc(%rbp)
jne    1b55 <ssl3_connect+0xa15>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1b5f <ssl3_connect+0xa1f>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1b7e <ssl3_connect+0xa3e>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1100,-0x14(%rbp)
movslq -0x60(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x138(%rbp),%rax
sub    $0x5,%rax
mov    %rax,-0x140(%rbp)
mov    -0x140(%rbp),%rax
mov    %eax,-0x60(%rbp)
cmpl   $0x0,-0x34(%rbp)
je     1c17 <ssl3_connect+0xad7>
movl   $0x3,-0x7c(%rbp)
movslq -0x60(%rbp),%rax
mov    %rax,-0x148(%rbp)
mov    -0x148(%rbp),%rax
add    $0x2,%rax
cmp    $0x0,%rax
je     1c12 <ssl3_connect+0xad2>
movl   $0x3,-0x14(%rbp)
movslq -0x60(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
shl    $0x2,%rax
mov    %rax,-0x158(%rbp)
mov    -0x158(%rbp),%rax
mov    %eax,-0x60(%rbp)
movl   $0x0,-0x64(%rbp)
jmp    1c1e <ssl3_connect+0xade>
movl   $0x11d0,-0x7c(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
jmp    1c2f <ssl3_connect+0xaef>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1c4e <ssl3_connect+0xb0e>
jmp    1ed1 <ssl3_connect+0xd91>
cmpl   $0x0,-0x34(%rbp)
je     1c64 <ssl3_connect+0xb24>
movl   $0x11a0,-0x14(%rbp)
jmp    1c6b <ssl3_connect+0xb2b>
movl   $0x3,-0x14(%rbp)
movl   $0x0,-0x28(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
movslq -0xa4(%rbp),%rax
mov    %rax,-0x160(%rbp)
cmpq   $0x0,-0x160(%rbp)
jle    1ce7 <ssl3_connect+0xba7>
movl   $0x2,-0x38(%rbp)
movslq -0xe0(%rbp),%rax
mov    %rax,-0x168(%rbp)
mov    -0x168(%rbp),%rax
mov    %eax,-0xa4(%rbp)
movslq -0xa4(%rbp),%rax
mov    %rax,-0x170(%rbp)
cmpq   $0x0,-0x170(%rbp)
jg     1ce0 <ssl3_connect+0xba0>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0x1,-0x38(%rbp)
mov    -0x7c(%rbp),%eax
mov    %eax,-0x14(%rbp)
jmp    1d8d <ssl3_connect+0xc4d>
cmpl   $0x0,-0x3c(%rbp)
je     1d03 <ssl3_connect+0xbc3>
movl   $0x0,-0x3c(%rbp)
movslq -0x60(%rbp),%rax
mov    %rax,-0x178(%rbp)
mov    -0x178(%rbp),%rax
add    $0x4,%rax
mov    %rax,-0x180(%rbp)
cmpq   $0x0,-0x180(%rbp)
jne    1d33 <ssl3_connect+0xbf3>
jmp    1d33 <ssl3_connect+0xbf3>
movl   $0x0,-0x28(%rbp)
movl   $0x0,-0x18(%rbp)
cmpl   $0x0,-0x34(%rbp)
je     1d54 <ssl3_connect+0xc14>
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
movl   $0x1,-0xac(%rbp)
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
cmpl   $0x0,-0xa8(%rbp)
je     1d79 <ssl3_connect+0xc39>
jmp    1d79 <ssl3_connect+0xc39>
jmp    1ed1 <ssl3_connect+0xd91>
movl   $0xffffffff,-0xac(%rbp)
ff ff ff
jmp    1ed1 <ssl3_connect+0xd91>
jmp    1d92 <ssl3_connect+0xc52>
jmp    1d97 <ssl3_connect+0xc57>
jmp    1d9c <ssl3_connect+0xc5c>
jmp    1da1 <ssl3_connect+0xc61>
jmp    1da6 <ssl3_connect+0xc66>
jmp    1dab <ssl3_connect+0xc6b>
jmp    1db0 <ssl3_connect+0xc70>
jmp    1db5 <ssl3_connect+0xc75>
jmp    1dba <ssl3_connect+0xc7a>
jmp    1dbf <ssl3_connect+0xc7f>
jmp    1dc4 <ssl3_connect+0xc84>
jmp    1dc9 <ssl3_connect+0xc89>
jmp    1dce <ssl3_connect+0xc8e>
jmp    1dd3 <ssl3_connect+0xc93>
jmp    1dd8 <ssl3_connect+0xc98>
jmp    1ddd <ssl3_connect+0xc9d>
jmp    1de2 <ssl3_connect+0xca2>
jmp    1de7 <ssl3_connect+0xca7>
jmp    1dec <ssl3_connect+0xcac>
jmp    1df1 <ssl3_connect+0xcb1>
jmp    1df6 <ssl3_connect+0xcb6>
jmp    1dfb <ssl3_connect+0xcbb>
jmp    1e00 <ssl3_connect+0xcc0>
jmp    1e05 <ssl3_connect+0xcc5>
jmp    1e0a <ssl3_connect+0xcca>
jmp    1e0f <ssl3_connect+0xccf>
jmp    1e14 <ssl3_connect+0xcd4>
jmp    1e19 <ssl3_connect+0xcd9>
jmp    1e1e <ssl3_connect+0xcde>
jmp    1e23 <ssl3_connect+0xce3>
jmp    1e28 <ssl3_connect+0xce8>
jmp    1e2d <ssl3_connect+0xced>
jmp    1e32 <ssl3_connect+0xcf2>
jmp    1e37 <ssl3_connect+0xcf7>
cmpl   $0x0,-0x70(%rbp)
jne    1ec2 <ssl3_connect+0xd82>
cmpl   $0x0,-0xb8(%rbp)
jne    1ebd <ssl3_connect+0xd7d>
cmpl   $0x0,-0x40(%rbp)
je     1e7c <ssl3_connect+0xd3c>
mov    $0x0,%al
call   1050 <__VERIFIER_nondet_int@plt>
mov    %eax,-0xac(%rbp)
cmpl   $0x0,-0xac(%rbp)
jg     1e77 <ssl3_connect+0xd37>
jmp    1ed1 <ssl3_connect+0xd91>
jmp    1e7c <ssl3_connect+0xd3c>
cmpl   $0x0,-0xa8(%rbp)
je     1eb8 <ssl3_connect+0xd78>
mov    -0x14(%rbp),%eax
cmp    -0xb4(%rbp),%eax
je     1eb3 <ssl3_connect+0xd73>
mov    -0x14(%rbp),%eax
mov    %eax,-0xb0(%rbp)
mov    -0xb4(%rbp),%eax
mov    %eax,-0x14(%rbp)
mov    -0xb0(%rbp),%eax
mov    %eax,-0x14(%rbp)
jmp    1eb8 <ssl3_connect+0xd78>
jmp    1ebd <ssl3_connect+0xd7d>
jmp    1ec2 <ssl3_connect+0xd82>
movl   $0x0,-0xb8(%rbp)
jmp    1378 <ssl3_connect+0x238>
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x10(%rbp)
cmpl   $0x0,-0xa8(%rbp)
je     1eec <ssl3_connect+0xdac>
jmp    1eec <ssl3_connect+0xdac>
mov    -0xac(%rbp),%eax
mov    %eax,-0x4(%rbp)
jmp    1f08 <ssl3_connect+0xdc8>
mov    $0x0,%al
call   1060 <__VERIFIER_error@plt>
movl   $0xffffffff,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x180,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<ssl3_connect>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x78,%rsp
mov    %edi,%r14d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x68(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x40(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%rbx
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x60(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x18(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x8(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x70(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x20(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x38(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x58(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r15
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%rbp
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x50(%rsp)
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r12
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,0x48(%rsp)
xor    %eax,%eax
call   1040 <__VERIFIER_nondet_ulong@plt>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_long@plt>
xor    %eax,%eax
call   1030 <__VERIFIER_nondet_long@plt>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
test   %r15d,%r15d
sete   %al
test   %ebp,%ebp
sete   %bpl
or     %al,%bpl
xor    %eax,%eax
mov    0x8(%rsp),%rdx
test   %edx,%edx
sete   %al
shl    $0x4,%eax
add    $0x1170,%eax
mov    %eax,0x34(%rsp)
mov    0x20(%rsp),%eax
mov    %rax,0x20(%rsp)
cmpl   $0x0,0x40(%rsp)
mov    $0x1130,%eax
mov    $0x11d0,%ecx
cmove  %eax,%ecx
mov    %ecx,0x30(%rsp)
mov    $0x3,%eax
mov    $0x11a0,%ecx
cmove  %eax,%ecx
mov    %ecx,0x2c(%rsp)
test   %r12d,%r12d
sete   %al
test   %r13d,%r13d
sete   %cl
or     %al,%cl
mov    %cl,0x7(%rsp)
xor    %r12d,%r12d
cmp    $0x1,%edx
setne  %r12b
shl    $0x4,%r12d
add    $0x1190,%r12d
movl   $0x0,0x8(%rsp)
nopl   0x0(%rax,%rax,1)
cmp    $0x3003,%r14d
jle    1340 <ssl3_connect+0x200>
cmp    $0x3004,%r14d
je     1360 <ssl3_connect+0x220>
cmp    $0x4000,%r14d
je     1360 <ssl3_connect+0x220>
cmp    $0x5000,%r14d
je     1360 <ssl3_connect+0x220>
jmp    13d5 <ssl3_connect+0x295>
nopl   0x0(%rax)
cmp    $0x1000,%r14d
je     1360 <ssl3_connect+0x220>
cmp    $0x1003,%r14d
jne    13d5 <ssl3_connect+0x295>
cs nopw 0x0(%rax,%rax,1)
mov    $0xffffffff,%r13d
cmpl   $0xffff0400,0x68(%rsp)
ff
jne    16a3 <ssl3_connect+0x563>
test   %ebx,%ebx
jne    1395 <ssl3_connect+0x255>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%rbx
test   %ebx,%ebx
je     16a3 <ssl3_connect+0x563>
cmpl   $0x0,0x58(%rsp)
je     16a3 <ssl3_connect+0x563>
test   %bpl,%bpl
jne    16a3 <ssl3_connect+0x563>
mov    $0x1110,%r14d
xor    %r15d,%r15d
or     0x70(%rsp),%r15d
jne    1310 <ssl3_connect+0x1d0>
cmpl   $0x0,0x60(%rsp)
je     1310 <ssl3_connect+0x1d0>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
test   %r13d,%r13d
jg     1310 <ssl3_connect+0x1d0>
jmp    16a3 <ssl3_connect+0x563>
mov    %r14d,%eax
and    $0xfffffffe,%eax
lea    -0x1110(%rax),%ecx
rol    $0x1c,%ecx
cmp    $0x5,%ecx
ja     1429 <ssl3_connect+0x2e9>
lea    0xc10(%rip),%rdx
movslq (%rdx,%rcx,4),%rax
add    %rdx,%rax
jmp    *%rax
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
test   %r13d,%r13d
jle    16a3 <ssl3_connect+0x563>
mov    0x8(%rsp),%ecx
test   %ecx,%ecx
mov    $0x1,%eax
cmove  %eax,%ecx
mov    %ecx,0x8(%rsp)
mov    $0x1120,%r14d
jmp    13a4 <ssl3_connect+0x264>
mov    %r14d,%ecx
and    $0xfffffffc,%ecx
cmp    $0x1170,%ecx
je     156f <ssl3_connect+0x42f>
add    $0xffffee80,%eax
rol    $0x1c,%eax
cmp    $0x5,%eax
ja     161f <ssl3_connect+0x4df>
lea    0xbc5(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
xor    %r15d,%r15d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
mov    %r12d,%r14d
jmp    1669 <ssl3_connect+0x529>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
test   %r13d,%r13d
jle    16a3 <ssl3_connect+0x563>
mov    0x8(%rsp),%edx
cmp    $0x4,%edx
mov    %edx,%eax
mov    $0x5,%ecx
cmove  %ecx,%eax
cmp    $0x1,%edx
mov    $0x2,%ecx
cmove  %ecx,%eax
xor    %r15d,%r15d
mov    %eax,0x8(%rsp)
mov    0x30(%rsp),%r14d
jmp    13a7 <ssl3_connect+0x267>
mov    $0x1140,%r14d
mov    $0x1,%r15d
cmpl   $0xffffff00,0x20(%rsp)
ff
jne    13a7 <ssl3_connect+0x267>
xor    %r15d,%r15d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
mov    0x8(%rsp),%ecx
cmp    $0x2,%ecx
mov    $0x3,%eax
cmove  %eax,%ecx
mov    %ecx,0x8(%rsp)
jmp    1669 <ssl3_connect+0x529>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
test   %r13d,%r13d
jle    16a3 <ssl3_connect+0x563>
mov    0x8(%rsp),%ecx
cmp    $0x3,%ecx
mov    $0x4,%eax
cmove  %eax,%ecx
mov    %ecx,0x8(%rsp)
cmpl   $0x0,0x50(%rsp)
je     169d <ssl3_connect+0x55d>
xor    %r15d,%r15d
mov    $0x1150,%r14d
jmp    13a7 <ssl3_connect+0x267>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
cmpl   $0x4,0x8(%rsp)
je     1696 <ssl3_connect+0x556>
mov    %rax,%r13
test   %r13d,%r13d
jle    16a3 <ssl3_connect+0x563>
mov    $0x1160,%r14d
jmp    13a4 <ssl3_connect+0x264>
xor    %r15d,%r15d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
mov    0x34(%rsp),%r14d
jmp    1669 <ssl3_connect+0x529>
xor    %r15d,%r15d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
mov    $0x1180,%r14d
jmp    1669 <ssl3_connect+0x529>
xor    %r15d,%r15d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
mov    $0x11a0,%r14d
jmp    1669 <ssl3_connect+0x529>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
test   %r13d,%r13d
jle    16a3 <ssl3_connect+0x563>
cmpb   $0x0,0x7(%rsp)
jne    169d <ssl3_connect+0x55d>
mov    $0x11b0,%r14d
jmp    13a4 <ssl3_connect+0x264>
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
test   %r13d,%r13d
jle    16a3 <ssl3_connect+0x563>
mov    0x18(%rsp),%rcx
add    $0xfffffffb,%ecx
xor    %r15d,%r15d
cmpl   $0x0,0x40(%rsp)
je     1674 <ssl3_connect+0x534>
lea    0x0(,%rcx,4),%eax
cmp    $0xfffffffe,%ecx
cmove  %ecx,%eax
movl   $0x3,0x14(%rsp)
mov    $0x3,%r14d
mov    $0x1100,%ecx
cmove  %ecx,%r14d
mov    %rax,0x18(%rsp)
jmp    13a7 <ssl3_connect+0x267>
mov    $0xffffffff,%r13d
cmp    $0x1100,%r14d
jne    16b5 <ssl3_connect+0x575>
xor    %r15d,%r15d
cmpl   $0x0,0x38(%rsp)
jle    168c <ssl3_connect+0x54c>
mov    0x48(%rsp),%rcx
mov    %ecx,%eax
mov    %rax,0x38(%rsp)
mov    0x14(%rsp),%r14d
test   %ecx,%ecx
jg     13a7 <ssl3_connect+0x267>
jmp    16a3 <ssl3_connect+0x563>
xor    %r15d,%r15d
xor    %eax,%eax
call   1050 <__VERIFIER_nondet_int@plt>
mov    %rax,%r13
mov    0x2c(%rsp),%r14d
test   %r13d,%r13d
jg     13a7 <ssl3_connect+0x267>
jmp    16a3 <ssl3_connect+0x563>
mov    %rcx,0x18(%rsp)
mov    $0x1100,%r14d
movl   $0x11d0,0x14(%rsp)
jmp    13a7 <ssl3_connect+0x267>
mov    0x14(%rsp),%r14d
jmp    13a7 <ssl3_connect+0x267>
xor    %eax,%eax
call   1060 <__VERIFIER_error@plt>
mov    $0xffffffff,%r13d
mov    %r13d,%eax
add    $0x78,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
cmp    $0x3,%r14d
jne    16a3 <ssl3_connect+0x563>
mov    $0x1,%r13d
jmp    16a3 <ssl3_connect+0x563>

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

LLVM IR (-O2):
define i32 @ssl3_connect(i32 %0) {
%2 = tail call i8* (...) @__VERIFIER_nondet_int()
%3 = tail call i8* (...) @__VERIFIER_nondet_int()
%4 = tail call i8* (...) @__VERIFIER_nondet_int()
%5 = ptrtoint i8* %4 to i64
%6 = trunc i64 %5 to i32
%7 = tail call i8* (...) @__VERIFIER_nondet_int()
%8 = tail call i8* (...) @__VERIFIER_nondet_int()
%9 = tail call i8* (...) @__VERIFIER_nondet_int()
%10 = ptrtoint i8* %9 to i64
%11 = trunc i64 %10 to i32
%12 = tail call i8* (...) @__VERIFIER_nondet_int()
%13 = ptrtoint i8* %12 to i64
%14 = trunc i64 %13 to i32
%15 = tail call i8* (...) @__VERIFIER_nondet_int()
%16 = ptrtoint i8* %15 to i64
%17 = trunc i64 %16 to i32
%18 = tail call i8* (...) @__VERIFIER_nondet_int()
%19 = tail call i8* (...) @__VERIFIER_nondet_int()
%20 = tail call i8* (...) @__VERIFIER_nondet_int()
%21 = tail call i8* (...) @__VERIFIER_nondet_int()
%22 = tail call i8* (...) @__VERIFIER_nondet_int()
%23 = tail call i8* (...) @__VERIFIER_nondet_int()
%24 = ptrtoint i8* %23 to i64
%25 = trunc i64 %24 to i32
%26 = tail call i8* (...) @__VERIFIER_nondet_int()
%27 = ptrtoint i8* %26 to i64
%28 = trunc i64 %27 to i32
%29 = tail call i8* (...) @__VERIFIER_nondet_int()
%30 = tail call i8* (...) @__VERIFIER_nondet_int()
%31 = ptrtoint i8* %30 to i64
%32 = trunc i64 %31 to i32
%33 = tail call i8* (...) @__VERIFIER_nondet_int()
%34 = tail call i8* (...) @__VERIFIER_nondet_int()
%35 = ptrtoint i8* %34 to i64
%36 = tail call i8* (...) @__VERIFIER_nondet_int()
%37 = tail call i8* (...) @__VERIFIER_nondet_int()
%38 = ptrtoint i8* %37 to i64
%39 = trunc i64 %38 to i32
%40 = tail call i8* (...) @__VERIFIER_nondet_int()
%41 = tail call i8* (...) @__VERIFIER_nondet_int()
%42 = tail call i8* (...) @__VERIFIER_nondet_int()
%43 = ptrtoint i8* %42 to i64
%44 = trunc i64 %43 to i32
%45 = tail call i8* (...) @__VERIFIER_nondet_int()
%46 = ptrtoint i8* %45 to i64
%47 = trunc i64 %46 to i32
%48 = tail call i8* (...) @__VERIFIER_nondet_int()
%49 = ptrtoint i8* %48 to i64
%50 = trunc i64 %49 to i32
%51 = tail call i8* (...) @__VERIFIER_nondet_int()
%52 = ptrtoint i8* %51 to i64
%53 = trunc i64 %52 to i32
%54 = tail call i8* (...) @__VERIFIER_nondet_int()
%55 = ptrtoint i8* %54 to i64
%56 = trunc i64 %55 to i32
%57 = tail call i8* (...) @__VERIFIER_nondet_int()
%58 = ptrtoint i8* %57 to i64
%59 = trunc i64 %58 to i32
%60 = tail call i8* (...) @__VERIFIER_nondet_int()
%61 = ptrtoint i8* %60 to i64
%62 = trunc i64 %61 to i32
%63 = tail call i64 (...) @__VERIFIER_nondet_ulong()
%64 = tail call i64 (...) @__VERIFIER_nondet_long()
%65 = tail call i64 (...) @__VERIFIER_nondet_long()
%66 = tail call i8* (...) @__VERIFIER_nondet_int()
%67 = icmp eq i32 %6, -64512
%68 = icmp eq i32 %44, 0
%69 = icmp eq i32 %47, 0
%70 = icmp eq i32 %50, 0
%71 = select i1 %69, i1 true, i1 %70
%72 = icmp eq i32 %28, 0
%73 = select i1 %72, i32 4480, i32 4464
%74 = icmp eq i32 %53, 0
%75 = and i64 %35, 4294967295
%76 = icmp eq i64 %75, 4294967040
%77 = icmp eq i32 %11, 0
%78 = select i1 %77, i32 4400, i32 4560
%79 = select i1 %77, i32 3, i32 4512
%80 = icmp eq i32 %56, 0
%81 = icmp eq i32 %59, 0
%82 = select i1 %80, i1 true, i1 %81
%83 = icmp eq i32 %28, 1
%84 = select i1 %83, i32 4496, i32 4512
%85 = icmp slt i32 %62, 1
%86 = icmp eq i32 %17, 0
br label %87
87: ; preds = %220, %1
%88 = phi i32 [ 0, %1 ], [ %206, %220 ]
%89 = phi i32 [ %39, %1 ], [ %207, %220 ]
%90 = phi i32 [ undef, %1 ], [ %208, %220 ]
%91 = phi i32 [ %25, %1 ], [ %209, %220 ]
%92 = phi i32 [ %14, %1 ], [ %210, %220 ]
%93 = phi i32 [ %0, %1 ], [ %211, %220 ]
switch i32 %93, label %94 [
i32 12292, label %105
i32 20480, label %105
i32 16384, label %105
i32 4099, label %105
i32 4096, label %105
]
94: ; preds = %87
%95 = and i32 %93, -2
%96 = add i32 %95, -4368
%97 = tail call i32 @llvm.fshl.i32(i32 %96, i32 %96, i32 28)
switch i32 %97, label %98 [
i32 0, label %117
i32 1, label %125
i32 2, label %135
i32 3, label %143
i32 4, label %151
i32 5, label %158
]
98: ; preds = %94
%99 = and i32 %93, -4
%100 = icmp eq i32 %99, 4464
br i1 %100, label %163, label %101
101: ; preds = %98
%102 = add i32 %95, -4480
%103 = tail call i32 @llvm.fshl.i32(i32 %102, i32 %102, i32 28)
switch i32 %103, label %104 [
i32 0, label %168
i32 1, label %173
i32 2, label %178
i32 3, label %184
i32 5, label %196
]
104: ; preds = %101
switch i32 %93, label %262 [
i32 4352, label %201
i32 3, label %263
]
105: ; preds = %87, %87, %87, %87, %87
br i1 %67, label %106, label %262
106: ; preds = %105
%107 = icmp eq i32 %92, 0
br i1 %107, label %108, label %115
108: ; preds = %106
%109 = tail call i8* (...) @__VERIFIER_nondet_int()
%110 = ptrtoint i8* %109 to i64
%111 = trunc i64 %110 to i32
%112 = and i64 %110, 4294967295
%113 = icmp eq i64 %112, 0
%114 = select i1 %113, i1 true, i1 %68
br i1 %114, label %262, label %115
115: ; preds = %108, %106
%116 = phi i32 [ %92, %106 ], [ %111, %108 ]
br i1 %71, label %262, label %204
117: ; preds = %94
%118 = tail call i8* (...) @__VERIFIER_nondet_int()
%119 = ptrtoint i8* %118 to i64
%120 = trunc i64 %119 to i32
%121 = icmp slt i32 %120, 1
br i1 %121, label %223, label %122
122: ; preds = %117
%123 = icmp eq i32 %88, 0
%124 = select i1 %123, i32 1, i32 %88
br label %204
125: ; preds = %94
%126 = tail call i8* (...) @__VERIFIER_nondet_int()
%127 = ptrtoint i8* %126 to i64
%128 = trunc i64 %127 to i32
%129 = icmp slt i32 %128, 1
br i1 %129, label %226, label %130
130: ; preds = %125
%131 = icmp eq i32 %88, 1
%132 = icmp eq i32 %88, 4
%133 = select i1 %132, i32 5, i32 %88
%134 = select i1 %131, i32 2, i32 %133
br label %204
135: ; preds = %94
br i1 %76, label %136, label %204
136: ; preds = %135
%137 = tail call i8* (...) @__VERIFIER_nondet_int()
%138 = ptrtoint i8* %137 to i64
%139 = trunc i64 %138 to i32
%140 = icmp eq i32 %88, 2
%141 = select i1 %140, i32 3, i32 %88
%142 = icmp slt i32 %139, 1
br i1 %142, label %229, label %204
143: ; preds = %94
%144 = tail call i8* (...) @__VERIFIER_nondet_int()
%145 = ptrtoint i8* %144 to i64
%146 = trunc i64 %145 to i32
%147 = icmp slt i32 %146, 1
br i1 %147, label %232, label %148
148: ; preds = %143
%149 = icmp eq i32 %88, 3
%150 = select i1 %149, i32 4, i32 %88
br i1 %74, label %262, label %204
151: ; preds = %94
%152 = tail call i8* (...) @__VERIFIER_nondet_int()
%153 = icmp eq i32 %88, 4
br i1 %153, label %221, label %154
154: ; preds = %151
%155 = ptrtoint i8* %152 to i64
%156 = trunc i64 %155 to i32
%157 = icmp slt i32 %156, 1
br i1 %157, label %235, label %204
158: ; preds = %94
%159 = tail call i8* (...) @__VERIFIER_nondet_int()
%160 = ptrtoint i8* %159 to i64
%161 = trunc i64 %160 to i32
%162 = icmp slt i32 %161, 1
br i1 %162, label %238, label %204
163: ; preds = %98
%164 = tail call i8* (...) @__VERIFIER_nondet_int()
%165 = ptrtoint i8* %164 to i64
%166 = trunc i64 %165 to i32
%167 = icmp slt i32 %166, 1
br i1 %167, label %241, label %204
168: ; preds = %101
%169 = tail call i8* (...) @__VERIFIER_nondet_int()
%170 = ptrtoint i8* %169 to i64
%171 = trunc i64 %170 to i32
%172 = icmp slt i32 %171, 1
br i1 %172, label %244, label %204
173: ; preds = %101
%174 = tail call i8* (...) @__VERIFIER_nondet_int()
%175 = ptrtoint i8* %174 to i64
%176 = trunc i64 %175 to i32
%177 = icmp slt i32 %176, 1
br i1 %177, label %247, label %204
178: ; preds = %101
%179 = tail call i8* (...) @__VERIFIER_nondet_int()
%180 = ptrtoint i8* %179 to i64
%181 = trunc i64 %180 to i32
%182 = icmp slt i32 %181, 1
br i1 %182, label %250, label %183
183: ; preds = %178
br i1 %82, label %262, label %204
184: ; preds = %101
%185 = tail call i8* (...) @__VERIFIER_nondet_int()
%186 = ptrtoint i8* %185 to i64
%187 = trunc i64 %186 to i32
%188 = icmp slt i32 %187, 1
br i1 %188, label %253, label %189
189: ; preds = %184
%190 = add i32 %91, -5
br i1 %77, label %204, label %191
191: ; preds = %189
%192 = icmp eq i32 %190, -2
%193 = shl i32 %190, 2
%194 = select i1 %192, i32 -2, i32 %193
%195 = select i1 %192, i32 4352, i32 3
br label %204
196: ; preds = %101
%197 = tail call i8* (...) @__VERIFIER_nondet_int()
%198 = ptrtoint i8* %197 to i64
%199 = trunc i64 %198 to i32
%200 = icmp slt i32 %199, 1
br i1 %200, label %256, label %204
201: ; preds = %104
%202 = icmp sgt i32 %89, 0
br i1 %202, label %203, label %204
203: ; preds = %201
br i1 %85, label %262, label %204
204: ; preds = %115, %196, %168, %158, %191, %183, %201, %203, %189, %173, %163, %154, %136, %135, %148, %130, %122
%205 = phi i32 [ 0, %122 ], [ 0, %130 ], [ 0, %148 ], [ 0, %136 ], [ 1, %135 ], [ 0, %154 ], [ 0, %163 ], [ 0, %173 ], [ 0, %189 ], [ 0, %191 ], [ 0, %203 ], [ 0, %201 ], [ 0, %183 ], [ 0, %158 ], [ 0, %168 ], [ 0, %196 ], [ 0, %115 ]
%206 = phi i32 [ %124, %122 ], [ %134, %130 ], [ %150, %148 ], [ %141, %136 ], [ %88, %135 ], [ %88, %154 ], [ %88, %163 ], [ %88, %173 ], [ %88, %189 ], [ %88, %191 ], [ %88, %203 ], [ %88, %201 ], [ %88, %183 ], [ %88, %158 ], [ %88, %168 ], [ %88, %196 ], [ %88, %115 ]
%207 = phi i32 [ %89, %122 ], [ %89, %130 ], [ %89, %148 ], [ %89, %136 ], [ %89, %135 ], [ %89, %154 ], [ %89, %163 ], [ %89, %173 ], [ %89, %189 ], [ %89, %191 ], [ %62, %203 ], [ %89, %201 ], [ %89, %183 ], [ %89, %158 ], [ %89, %168 ], [ %89, %196 ], [ %89, %115 ]
%208 = phi i32 [ %90, %122 ], [ %90, %130 ], [ %90, %148 ], [ %90, %136 ], [ %90, %135 ], [ %90, %154 ], [ %90, %163 ], [ %90, %173 ], [ 4560, %189 ], [ 3, %191 ], [ %90, %203 ], [ %90, %201 ], [ %90, %183 ], [ %90, %158 ], [ %90, %168 ], [ %90, %196 ], [ %90, %115 ]
%209 = phi i32 [ %91, %122 ], [ %91, %130 ], [ %91, %148 ], [ %91, %136 ], [ %91, %135 ], [ %91, %154 ], [ %91, %163 ], [ %91, %173 ], [ %190, %189 ], [ %194, %191 ], [ %91, %203 ], [ %91, %201 ], [ %91, %183 ], [ %91, %158 ], [ %91, %168 ], [ %91, %196 ], [ %91, %115 ]
%210 = phi i32 [ %92, %122 ], [ %92, %130 ], [ %92, %148 ], [ %92, %136 ], [ %92, %135 ], [ %92, %154 ], [ %92, %163 ], [ %92, %173 ], [ %92, %189 ], [ %92, %191 ], [ %92, %203 ], [ %92, %201 ], [ %92, %183 ], [ %92, %158 ], [ %92, %168 ], [ %92, %196 ], [ %116, %115 ]
%211 = phi i32 [ 4384, %122 ], [ %78, %130 ], [ 4432, %148 ], [ 4416, %136 ], [ 4416, %135 ], [ 4448, %154 ], [ 4480, %163 ], [ 4512, %173 ], [ 4352, %189 ], [ %195, %191 ], [ %90, %203 ], [ %90, %201 ], [ 4528, %183 ], [ %73, %158 ], [ %84, %168 ], [ %79, %196 ], [ 4368, %115 ]
%212 = or i32 %205, %32
%213 = icmp ne i32 %212, 0
%214 = select i1 %213, i1 true, i1 %86
br i1 %214, label %220, label %215
215: ; preds = %204
%216 = tail call i8* (...) @__VERIFIER_nondet_int()
%217 = ptrtoint i8* %216 to i64
%218 = trunc i64 %217 to i32
%219 = icmp slt i32 %218, 1
br i1 %219, label %259, label %220
220: ; preds = %215, %204
br label %87
221: ; preds = %151
%222 = tail call i32 (...) @__VERIFIER_error()
br label %263
223: ; preds = %117
%224 = ptrtoint i8* %118 to i64
%225 = trunc i64 %224 to i32
br label %263
226: ; preds = %125
%227 = ptrtoint i8* %126 to i64
%228 = trunc i64 %227 to i32
br label %263
229: ; preds = %136
%230 = ptrtoint i8* %137 to i64
%231 = trunc i64 %230 to i32
br label %263
232: ; preds = %143
%233 = ptrtoint i8* %144 to i64
%234 = trunc i64 %233 to i32
br label %263
235: ; preds = %154
%236 = ptrtoint i8* %152 to i64
%237 = trunc i64 %236 to i32
br label %263
238: ; preds = %158
%239 = ptrtoint i8* %159 to i64
%240 = trunc i64 %239 to i32
br label %263
241: ; preds = %163
%242 = ptrtoint i8* %164 to i64
%243 = trunc i64 %242 to i32
br label %263
244: ; preds = %168
%245 = ptrtoint i8* %169 to i64
%246 = trunc i64 %245 to i32
br label %263
247: ; preds = %173
%248 = ptrtoint i8* %174 to i64
%249 = trunc i64 %248 to i32
br label %263
250: ; preds = %178
%251 = ptrtoint i8* %179 to i64
%252 = trunc i64 %251 to i32
br label %263
253: ; preds = %184
%254 = ptrtoint i8* %185 to i64
%255 = trunc i64 %254 to i32
br label %263
256: ; preds = %196
%257 = ptrtoint i8* %197 to i64
%258 = trunc i64 %257 to i32
br label %263
259: ; preds = %215
%260 = ptrtoint i8* %216 to i64
%261 = trunc i64 %260 to i32
br label %263
262: ; preds = %104, %203, %183, %148, %115, %108, %105
br label %263
263: ; preds = %104, %262, %223, %226, %229, %232, %235, %238, %241, %244, %247, %250, %253, %256, %259, %221
%264 = phi i32 [ -1, %221 ], [ %225, %223 ], [ %228, %226 ], [ %231, %229 ], [ %234, %232 ], [ %237, %235 ], [ %240, %238 ], [ %243, %241 ], [ %246, %244 ], [ %249, %247 ], [ %252, %250 ], [ %255, %253 ], [ %258, %256 ], [ %261, %259 ], [ -1, %262 ], [ 1, %104 ]
ret i32 %264
}