// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_read_parameters_spectra
int input_read_parameters_spectra(struct file_content * pfc,
                                  struct precision * ppr,
                                  struct background * pba,
                                  struct primordial * ppm,
                                  struct perturbations * ppt,
                                  struct transfer * ptr,
                                  struct harmonic *phr,
                                  struct output * pop,
                                  ErrorMsg errmsg){

  /** Summary: */

  /** Define local variables */
  int flag1, flag2;
  double param1, param2;
  char string1[_ARGUMENT_LENGTH_MAX_];
  int int1;
  double * pointer1;
  int i;
  double z_max=0.;
  int bin;

  /** 1) Maximum l for CLs */
  /* Read */
  if (ppt->has_cls == _TRUE_) {
    if (ppt->has_scalars == _TRUE_) {
      if ((ppt->has_cl_cmb_temperature == _TRUE_) || (ppt->has_cl_cmb_polarization == _TRUE_) || (ppt->has_cl_cmb_lensing_potential == _TRUE_)){
        class_read_double("l_max_scalars",ppt->l_scalar_max);
      }
      if ((ppt->has_cl_lensing_potential == _TRUE_) || (ppt->has_cl_number_count == _TRUE_)){
        class_read_double("l_max_lss",ppt->l_lss_max);
      }
    }
    if (ppt->has_vectors == _TRUE_){
      class_read_double("l_max_vectors",ppt->l_vector_max);
    }
    if (ppt->has_tensors == _TRUE_) {
      class_read_double("l_max_tensors",ppt->l_tensor_max);
    }
  }


  /** 2) Parameters for the the matter density number count */
  if ((ppt->has_cl_number_count == _TRUE_) || (ppt->has_cl_lensing_potential == _TRUE_)) {

    /** 2.a) Selection functions W(z) of each redshift bin */
    /* Read */
    class_call(parser_read_string(pfc,"selection",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_) {
      if (strstr(string1,"gaussian") != NULL){
        ppt->selection=gaussian;
      }
      else if (strstr(string1,"tophat") != NULL){
        ppt->selection=tophat;
      }
      else if (strstr(string1,"dirac") != NULL){
        ppt->selection=dirac;
      }
      else {
        class_stop(errmsg,"You specified 'selection' as '%s'. It has to be one of {'gaussian','tophat','dirac'}.",string1);
      }
    }

    /* Read */
    class_call(parser_read_list_of_doubles(pfc,"selection_mean",&(int1),&(pointer1),&flag1,errmsg),
               errmsg,
               errmsg);
    if ((flag1 == _TRUE_) && (int1>0)) {
      /* Test */
      class_test(int1 > _SELECTION_NUM_MAX_,errmsg,
                 "you want to compute density Cl's for %d different bins, hence you should increase _SELECTION_NUM_MAX_ in include/perturbations.h to at least this number.",int1);
      /* Complete set of parameters */
      ppt->selection_num = int1;
      for (i=0; i<int1; i++) {
        /* Test */
        class_test((pointer1[i] < 0.) || (pointer1[i] > 1000.),errmsg,
                   "input of selection functions: you asked for a mean redshift equal to %e, is this a mistake?",pointer1[i]);
        /* Complete set of parameters */
        ppt->selection_mean[i] = pointer1[i];
      }
      free(pointer1);
      for (i=1; i<int1; i++) {       // first set all widths to default; correct eventually later
        /* Test */
        class_test(ppt->selection_mean[i]<=ppt->selection_mean[i-1],
                   errmsg,
                   "input of selection functions: the list of mean redshifts must be passed in growing order; you entered %e before %e.",ppt->selection_mean[i-1],ppt->selection_mean[i]);
        /* Complete set of parameters */
        ppt->selection_width[i] = ppt->selection_width[0];
        ptr->selection_bias[i] = ptr->selection_bias[0];
        ptr->selection_magnification_bias[i] = ptr->selection_magnification_bias[0];
      }

      /* Read */
      class_call(parser_read_list_of_doubles(pfc,"selection_width",&int1,&pointer1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      /* Complete set of parameters */
      if ((flag1 == _TRUE_) && (int1>0)) {
        if (int1==1) {
          for (i=0; i<ppt->selection_num; i++) {
            ppt->selection_width[i] = pointer1[0];
          }
        }
        else if (int1==ppt->selection_num) {
          for (i=0; i<int1; i++) {
            ppt->selection_width[i] = pointer1[i];
          }
        }
        else {
          class_stop(errmsg,
                     "In input for selection function, you asked for %d bin centers and %d bin widths; number of bins unclear; you should pass either one bin width (common to all bins) or %d bin widths.",ppt->selection_num,int1,ppt->selection_num);
        }
        free(pointer1);
      }

      /* Read */
      class_call(parser_read_list_of_doubles(pfc,"selection_bias",&int1,&pointer1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      /* Complete set of parameters */
      if ((flag1 == _TRUE_) && (int1>0)) {
        if (int1==1) {
          for (i=0; i<ppt->selection_num; i++) {
            ptr->selection_bias[i] = pointer1[0];
          }
        }
        else if (int1==ppt->selection_num) {
          for (i=0; i<int1; i++) {
            ptr->selection_bias[i] = pointer1[i];
          }
        }
        else {
          class_stop(errmsg,
                     "In input for selection function, you asked for %d bin centers and %d bin biases; number of bins unclear; you should pass either one bin bias (common to all bins) or %d bin biases.",
                     ppt->selection_num,int1,ppt->selection_num);
        }
        free(pointer1);
      }

      /* Read */
      class_call(parser_read_list_of_doubles(pfc,"selection_magnification_bias",&int1,&pointer1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      /* Complete set of parameters */
      if ((flag1 == _TRUE_) && (int1>0)) {
        if (int1==1) {
          for (i=0; i<ppt->selection_num; i++) {
            ptr->selection_magnification_bias[i] = pointer1[0];
          }
        }
        else if (int1==ppt->selection_num) {
          for (i=0; i<int1; i++) {
            ptr->selection_magnification_bias[i] = pointer1[i];
          }
        }
        else {
          class_stop(errmsg,
                     "In input for selection function, you asked for %d bin centers and %d bin biases; number of bins unclear; you should pass either one bin bias (common to all bins) or %d bin biases.",
                     ppt->selection_num,int1,ppt->selection_num);
        }
        free(pointer1);
      }
    }

    /* Read */
    if (ppt->selection_num > 1) {
      class_read_int("non_diagonal",phr->non_diag);
      if ((phr->non_diag<0) || (phr->non_diag>=ppt->selection_num))
        class_stop(errmsg,"Input for non_diagonal is %d, while it is expected to be between 0 and %d\n",
                   phr->non_diag,ppt->selection_num-1);
    }

    /** 2.b) Selection function */
    /* Read */
    class_call(parser_read_string(pfc,"dNdz_selection",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_) {
      if ((strstr(string1,"analytic") != NULL)){
        ptr->has_nz_analytic = _TRUE_;
      }
      else{
        ptr->has_nz_file = _TRUE_;
        class_read_string("dNdz_selection",ptr->nz_file_name);
      }
    }

    /** 2.c) Source number counts evolution */
    class_call(parser_read_string(pfc,"dNdz_evolution",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_) {
      if ((strstr(string1,"analytic") != NULL)){
        ptr->has_nz_evo_analytic = _TRUE_;
      }
      else{
        ptr->has_nz_evo_file = _TRUE_;
        class_read_string("dNdz_evolution",ptr->nz_evo_file_name);
      }
    }

  }


  /** 3) Power spectrum P(k) */
  if ((ppt->has_pk_matter == _TRUE_) || (ppt->has_density_transfers == _TRUE_) || (ppt->has_velocity_transfers == _TRUE_)){

    /** 3.a) Maximum k in P(k) */
    /* Read */
    class_call(parser_read_double(pfc,"P_k_max_h/Mpc",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    class_call(parser_read_double(pfc,"P_k_max_1/Mpc",&param2,&flag2,errmsg),
               errmsg,
               errmsg);
    /* Test */
    class_test((flag1 == _TRUE_) && (flag2 == _TRUE_),
               errmsg,
               "You can only enter one of 'P_k_max_h/Mpc' or 'P_k_max_1/Mpc'.");
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      ppt->k_max_for_pk = param1*pba->h;
    }
    if (flag2 == _TRUE_){
      ppt->k_max_for_pk = param2;
    }

    /** 3.a.1) Maximum k in primordial P(k) */
    /* Read */
    class_call(parser_read_double(pfc,"primordial_P_k_max_h/Mpc",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    class_call(parser_read_double(pfc,"primordial_P_k_max_1/Mpc",&param2,&flag2,errmsg),
               errmsg,
               errmsg);
    /* Test */
    class_test((flag1 == _TRUE_) && (flag2 == _TRUE_),
               errmsg,
               "You can only enter one of 'primordial_P_k_max_h/Mpc' or 'primordial_P_k_max_1/Mpc'.");
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      ppm->k_max_for_primordial_pk=param1*pba->h;
      ppm->has_k_max_for_primordial_pk = _TRUE_;
    }
    if (flag2 == _TRUE_){
      ppm->k_max_for_primordial_pk=param2;
      ppm->has_k_max_for_primordial_pk = _TRUE_;
    }

    /** 3.b) Redshift values */
    /* Read */
    class_call(parser_read_list_of_doubles(pfc,"z_pk",&int1,&pointer1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Test */
    if (flag1 == _TRUE_) {
      class_test(int1 > _Z_PK_NUM_MAX_,
                 errmsg,
                 "you want to write some output for %d different values of z, hence you should increase _Z_PK_NUM_MAX_ in include/output.h to at least this number",
                 int1);
      /* Complete set of parameters */
      pop->z_pk_num = int1;
      for (i=0; i<int1; i++) {
        pop->z_pk[i] = pointer1[i];
      }
      free(pointer1);
    }

  }

  /** 3.c) Maximum redshift */
  if ((ppt->has_pk_matter == _TRUE_) || (ppt->has_density_transfers == _TRUE_) || (ppt->has_velocity_transfers == _TRUE_) || (ppt->has_cl_number_count == _TRUE_) || (ppt->has_cl_lensing_potential == _TRUE_)) {
    /* Read */
    class_call(parser_read_double(pfc,"z_max_pk",&param1,&flag1,errmsg),
               errmsg,
               errmsg);

    /* Complete set of parameters */
    if (flag1==_TRUE_) {
      ppt->z_max_pk = param1;
    }
    /* *
     * If we could not read a z_max, we need to define one.
     * The limit could come from any of the contributions.
     * We test here, which contribution requires the largest z_max
     * */
    else {
      ppt->z_max_pk = 0.;
      /* For the z_pk related quantities, test here the z_pk requirements */
      if ((ppt->has_pk_matter == _TRUE_) || (ppt->has_density_transfers == _TRUE_) || (ppt->has_velocity_transfers == _TRUE_)) {
        for (i=0; i<pop->z_pk_num; i++) {
          ppt->z_max_pk = MAX(ppt->z_max_pk,pop->z_pk[i]);
        }
      }
      /* For the number count / shear related quantities, test the selection function z_max */
      if ((ppt->has_cl_number_count == _TRUE_) || (ppt->has_cl_lensing_potential == _TRUE_)){
        for (bin=0; bin<ppt->selection_num; bin++) {
          /* the few lines below should be consistent with their counterpart in transfer.c, in transfer_selection_times */
          if (ppt->selection==gaussian) {
            z_max = ppt->selection_mean[bin]+ppt->selection_width[bin]*ppr->selection_cut_at_sigma;
          }
          if (ppt->selection==tophat) {
            z_max = ppt->selection_mean[bin]+(1.+ppr->selection_cut_at_sigma*ppr->selection_tophat_edge)*ppt->selection_width[bin];
          }
          if (ppt->selection==dirac) {
            z_max = ppt->selection_mean[bin];
          }
          ppt->z_max_pk = MAX(ppt->z_max_pk,z_max);
        }
      }
      /* Now we have checked all contributions that could change z_max_pk */
    }
  }


  class_call(parser_read_string(pfc,"get_lyman_alpha_tilt_and_amplitude",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
             if ((flag1 == _TRUE_) && ((strstr(string1,"y") != NULL) || (strstr(string1,"Y") != NULL))) {
               class_read_double("zp_lya",param1);
               class_test(ppt->z_max_pk<param1, errmsg, "You requested get_lyman_alpha_tilt_and_amplitude but have ppt->z_max_pk < pnl->zp_lya. Please update.");
              }

  return _SUCCESS_;

}

// Assembly:
subq $0x17d18, %rsp          # imm = 0x17D18
movq 0x17d30(%rsp), %rax
movq 0x17d28(%rsp), %rax
movq 0x17d20(%rsp), %rax
movq %rdi, 0x17d08(%rsp)
movq %rsi, 0x17d00(%rsp)
movq %rdx, 0x17cf8(%rsp)
movq %rcx, 0x17cf0(%rsp)
movq %r8, 0x17ce8(%rsp)
movq %r9, 0x17ce0(%rsp)
xorps %xmm0, %xmm0
movsd %xmm0, 0x178a0(%rsp)
movq 0x17ce8(%rsp), %rax
movswl 0xc(%rax), %eax
cmpl $0x1, %eax
jne 0x97dd0
movq 0x17ce8(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x97c3c
movq 0x17ce8(%rsp), %rax
movswl 0x28(%rax), %eax
cmpl $0x1, %eax
je 0x97aac
movq 0x17ce8(%rsp), %rax
movswl 0x2a(%rax), %eax
cmpl $0x1, %eax
je 0x97aac
movq 0x17ce8(%rsp), %rax
movswl 0x2c(%rax), %eax
cmpl $0x1, %eax
jne 0x97b60
jmp 0x97aae
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x14492c(%rip), %rsi    # 0x1dc3f1
leaq 0x17890(%rsp), %rdx
leaq 0x1788c(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x97b3e
leaq 0x17080(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13a8e2(%rip), %rsi    # 0x1d23d8
leaq 0x153570(%rip), %rdx    # 0x1eb06d
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x17080(%rsp), %r8
leaq 0x13a519(%rip), %rsi    # 0x1d2034
leaq 0x153591(%rip), %rdx    # 0x1eb0b3
movl $0x1979, %ecx           # imm = 0x1979
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x1788c(%rsp)
jne 0x97b5c
cvttsd2si 0x17890(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl %ecx, 0x48(%rax)
jmp 0x97b5e
jmp 0x97b60
movq 0x17ce8(%rsp), %rax
movswl 0x2e(%rax), %eax
cmpl $0x1, %eax
je 0x97b86
movq 0x17ce8(%rsp), %rax
movswl 0x30(%rax), %eax
cmpl $0x1, %eax
jne 0x97c3a
jmp 0x97b88
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x153532(%rip), %rsi    # 0x1eb0d1
leaq 0x17078(%rsp), %rdx
leaq 0x17074(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x97c18
leaq 0x16870(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13a808(%rip), %rsi    # 0x1d23d8
leaq 0x153504(%rip), %rdx    # 0x1eb0db
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x16870(%rsp), %r8
leaq 0x13a43f(%rip), %rsi    # 0x1d2034
leaq 0x1534b7(%rip), %rdx    # 0x1eb0b3
movl $0x197c, %ecx           # imm = 0x197C
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17074(%rsp)
jne 0x97c36
cvttsd2si 0x17078(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl %ecx, 0x54(%rax)
jmp 0x97c38
jmp 0x97c3a
jmp 0x97c3c
movq 0x17ce8(%rsp), %rax
movswl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x97d05
jmp 0x97c53
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x1534b3(%rip), %rsi    # 0x1eb11d
leaq 0x16868(%rsp), %rdx
leaq 0x16864(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x97ce3
leaq 0x16060(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13a73d(%rip), %rsi    # 0x1d23d8
leaq 0x153489(%rip), %rdx    # 0x1eb12b
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x16060(%rsp), %r8
leaq 0x13a374(%rip), %rsi    # 0x1d2034
leaq 0x1533ec(%rip), %rdx    # 0x1eb0b3
movl $0x1980, %ecx           # imm = 0x1980
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x16864(%rsp)
jne 0x97d01
cvttsd2si 0x16868(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl %ecx, 0x4c(%rax)
jmp 0x97d03
jmp 0x97d05
movq 0x17ce8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x97dce
jmp 0x97d1c
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x15343e(%rip), %rsi    # 0x1eb171
leaq 0x16058(%rsp), %rdx
leaq 0x16054(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x97dac
leaq 0x15850(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13a674(%rip), %rsi    # 0x1d23d8
leaq 0x153414(%rip), %rdx    # 0x1eb17f
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x15850(%rsp), %r8
leaq 0x13a2ab(%rip), %rsi    # 0x1d2034
leaq 0x153323(%rip), %rdx    # 0x1eb0b3
movl $0x1983, %ecx           # imm = 0x1983
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x16054(%rsp)
jne 0x97dca
cvttsd2si 0x16058(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl %ecx, 0x50(%rax)
jmp 0x97dcc
jmp 0x97dce
jmp 0x97dd0
movq 0x17ce8(%rsp), %rax
movswl 0x30(%rax), %eax
cmpl $0x1, %eax
je 0x97df6
movq 0x17ce8(%rsp), %rax
movswl 0x2e(%rax), %eax
cmpl $0x1, %eax
jne 0x98ec9
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x16d5e4(%rip), %rsi    # 0x2053f1
leaq 0x178c0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x97e86
leaq 0x15050(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13a59a(%rip), %rsi    # 0x1d23d8
leaq 0x153380(%rip), %rdx    # 0x1eb1c5
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x15050(%rsp), %r8
leaq 0x13a1d1(%rip), %rsi    # 0x1d2034
leaq 0x153249(%rip), %rdx    # 0x1eb0b3
movl $0x198f, %ecx           # imm = 0x198F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x97f97
leaq 0x178c0(%rsp), %rdi
leaq 0x15335d(%rip), %rsi    # 0x1eb200
callq 0x80c0
cmpq $0x0, %rax
je 0x97ec2
movq 0x17ce8(%rsp), %rax
movl $0x0, 0x68(%rax)
jmp 0x97f95
leaq 0x178c0(%rsp), %rdi
leaq 0x153338(%rip), %rsi    # 0x1eb209
callq 0x80c0
cmpq $0x0, %rax
je 0x97ef0
movq 0x17ce8(%rsp), %rax
movl $0x1, 0x68(%rax)
jmp 0x97f93
leaq 0x178c0(%rsp), %rdi
leaq 0x153311(%rip), %rsi    # 0x1eb210
callq 0x80c0
cmpq $0x0, %rax
je 0x97f1b
movq 0x17ce8(%rsp), %rax
movl $0x2, 0x68(%rax)
jmp 0x97f91
leaq 0x14850(%rsp), %rdi
leaq 0x178c0(%rsp), %rdx
leaq 0x1532e4(%rip), %rsi    # 0x1eb216
movb $0x0, %al
callq 0x5b9c0
leaq 0x14050(%rsp), %rdi
leaq 0x14850(%rsp), %rdx
leaq 0x13a61d(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x14050(%rsp), %r8
leaq 0x13a0c6(%rip), %rsi    # 0x1d2034
leaq 0x15313e(%rip), %rdx    # 0x1eb0b3
movl $0x199c, %ecx           # imm = 0x199C
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
jmp 0x97f93
jmp 0x97f95
jmp 0x97f97
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r9
leaq 0x1532be(%rip), %rsi    # 0x1eb26c
leaq 0x178bc(%rsp), %rdx
leaq 0x178b0(%rsp), %rcx
leaq 0x17cdc(%rsp), %r8
callq 0x38db0
cmpl $0x1, %eax
jne 0x9802f
leaq 0x13850(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13a3f1(%rip), %rsi    # 0x1d23d8
leaq 0x15328d(%rip), %rdx    # 0x1eb27b
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x13850(%rsp), %r8
leaq 0x13a028(%rip), %rsi    # 0x1d2034
leaq 0x1530a0(%rip), %rdx    # 0x1eb0b3
movl $0x19a3, %ecx           # imm = 0x19A3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x98a20
cmpl $0x0, 0x178bc(%rsp)
jle 0x98a20
cmpl $0x64, 0x178bc(%rsp)
jle 0x980d1
leaq 0x13050(%rsp), %rdi
movl 0x178bc(%rsp), %edx
leaq 0x153264(%rip), %rsi    # 0x1eb2cf
movb $0x0, %al
callq 0x5b9c0
leaq 0x12850(%rsp), %rdi
leaq 0x13050(%rsp), %rcx
leaq 0x139ff9(%rip), %rsi    # 0x1d2082
leaq 0x1532d9(%rip), %rdx    # 0x1eb369
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x12850(%rsp), %r8
leaq 0x139f86(%rip), %rsi    # 0x1d2034
leaq 0x152ffe(%rip), %rdx    # 0x1eb0b3
movl $0x19a7, %ecx           # imm = 0x19A7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
movl 0x178bc(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl %ecx, 0x64(%rax)
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
cmpl 0x178bc(%rsp), %eax
jge 0x9820e
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
xorps %xmm0, %xmm0
ucomisd (%rax,%rcx,8), %xmm0
ja 0x98143
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x13e397(%rip), %xmm1   # 0x1d64d0
ucomisd %xmm1, %xmm0
jbe 0x981cd
leaq 0x12050(%rsp), %rdi
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
leaq 0x15321d(%rip), %rsi    # 0x1eb384
movb $0x1, %al
callq 0x5b9c0
leaq 0x11850(%rsp), %rdi
leaq 0x12050(%rsp), %rcx
leaq 0x139efd(%rip), %rsi    # 0x1d2082
leaq 0x153254(%rip), %rdx    # 0x1eb3e0
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x11850(%rsp), %r8
leaq 0x139e8a(%rip), %rsi    # 0x1d2034
leaq 0x152f02(%rip), %rdx    # 0x1eb0b3
movl $0x19ad, %ecx           # imm = 0x19AD
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x17ce8(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x70(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x980ee
movq 0x178b0(%rsp), %rdi
callq 0x8420
movl $0x1, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
cmpl 0x178bc(%rsp), %eax
jge 0x983a6
movq 0x17ce8(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd 0x70(%rax,%rcx,8), %xmm1
movq 0x17ce8(%rsp), %rax
movl 0x178ac(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd 0x70(%rax,%rcx,8), %xmm0
ucomisd %xmm1, %xmm0
jb 0x9831b
leaq 0x11050(%rsp), %rdi
movq 0x17ce8(%rsp), %rax
movl 0x178ac(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd 0x70(%rax,%rcx,8), %xmm0
movq 0x17ce8(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd 0x70(%rax,%rcx,8), %xmm1
leaq 0x153157(%rip), %rsi    # 0x1eb40c
movb $0x2, %al
callq 0x5b9c0
leaq 0x10850(%rsp), %rdi
leaq 0x11050(%rsp), %rcx
leaq 0x139daf(%rip), %rsi    # 0x1d2082
leaq 0x1531a6(%rip), %rdx    # 0x1eb480
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x10850(%rsp), %r8
leaq 0x139d3c(%rip), %rsi    # 0x1d2034
leaq 0x152db4(%rip), %rdx    # 0x1eb0b3
movl $0x19b6, %ecx           # imm = 0x19B6
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
movq 0x17ce8(%rsp), %rax
movsd 0x390(%rax), %xmm0
movq 0x17ce8(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x390(%rax,%rcx,8)
movq 0x17ce0(%rsp), %rax
movsd 0x18(%rax), %xmm0
movq 0x17ce0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x18(%rax,%rcx,8)
movq 0x17ce0(%rsp), %rax
movsd 0x338(%rax), %xmm0
movq 0x17ce0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x338(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x98226
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r9
leaq 0x1530f4(%rip), %rsi    # 0x1eb4b1
leaq 0x178bc(%rsp), %rdx
leaq 0x178b0(%rsp), %rcx
leaq 0x17cdc(%rsp), %r8
callq 0x38db0
cmpl $0x1, %eax
jne 0x9843e
leaq 0x10050(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139fe2(%rip), %rsi    # 0x1d23d8
leaq 0x1530c4(%rip), %rdx    # 0x1eb4c1
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x10050(%rsp), %r8
leaq 0x139c19(%rip), %rsi    # 0x1d2034
leaq 0x152c91(%rip), %rdx    # 0x1eb0b3
movl $0x19c0, %ecx           # imm = 0x19C0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x985d0
cmpl $0x0, 0x178bc(%rsp)
jle 0x985d0
cmpl $0x1, 0x178bc(%rsp)
jne 0x984c0
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jge 0x984bb
movq 0x178b0(%rsp), %rax
movsd (%rax), %xmm0
movq 0x17ce8(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x390(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x9846f
jmp 0x985c3
movl 0x178bc(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jne 0x98535
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
cmpl 0x178bc(%rsp), %eax
jge 0x98530
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x17ce8(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x390(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x984df
jmp 0x985c1
leaq 0xf850(%rsp), %rdi
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %edx
movl 0x178bc(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %r8d
leaq 0x152fb0(%rip), %rsi    # 0x1eb512
movb $0x0, %al
callq 0x5b9c0
leaq 0xf050(%rsp), %rdi
leaq 0xf850(%rsp), %rdx
leaq 0x139fed(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xf050(%rsp), %r8
leaq 0x139a96(%rip), %rsi    # 0x1d2034
leaq 0x152b0e(%rip), %rdx    # 0x1eb0b3
movl $0x19cf, %ecx           # imm = 0x19CF
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
jmp 0x985c3
movq 0x178b0(%rsp), %rdi
callq 0x8420
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r9
leaq 0x152fe0(%rip), %rsi    # 0x1eb5c7
leaq 0x178bc(%rsp), %rdx
leaq 0x178b0(%rsp), %rcx
leaq 0x17cdc(%rsp), %r8
callq 0x38db0
cmpl $0x1, %eax
jne 0x98668
leaq 0xe850(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139db8(%rip), %rsi    # 0x1d23d8
leaq 0x152faf(%rip), %rdx    # 0x1eb5d6
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xe850(%rsp), %r8
leaq 0x1399ef(%rip), %rsi    # 0x1d2034
leaq 0x152a67(%rip), %rdx    # 0x1eb0b3
movl $0x19d7, %ecx           # imm = 0x19D7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x987f4
cmpl $0x0, 0x178bc(%rsp)
jle 0x987f4
cmpl $0x1, 0x178bc(%rsp)
jne 0x986e7
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jge 0x986e2
movq 0x178b0(%rsp), %rax
movsd (%rax), %xmm0
movq 0x17ce0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x18(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x98699
jmp 0x987e7
movl 0x178bc(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jne 0x98759
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
cmpl 0x178bc(%rsp), %eax
jge 0x98754
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x17ce0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x18(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x98706
jmp 0x987e5
leaq 0xe050(%rsp), %rdi
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %edx
movl 0x178bc(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %r8d
leaq 0x152ea0(%rip), %rsi    # 0x1eb626
movb $0x0, %al
callq 0x5b9c0
leaq 0xd850(%rsp), %rdi
leaq 0xe050(%rsp), %rdx
leaq 0x139dc9(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xd850(%rsp), %r8
leaq 0x139872(%rip), %rsi    # 0x1d2034
leaq 0x1528ea(%rip), %rdx    # 0x1eb0b3
movl $0x19e7, %ecx           # imm = 0x19E7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
jmp 0x987e7
movq 0x178b0(%rsp), %rdi
callq 0x8420
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r9
leaq 0x152ecf(%rip), %rsi    # 0x1eb6da
leaq 0x178bc(%rsp), %rdx
leaq 0x178b0(%rsp), %rcx
leaq 0x17cdc(%rsp), %r8
callq 0x38db0
cmpl $0x1, %eax
jne 0x9888c
leaq 0xd050(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139b94(%rip), %rsi    # 0x1d23d8
leaq 0x152eac(%rip), %rdx    # 0x1eb6f7
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xd050(%rsp), %r8
leaq 0x1397cb(%rip), %rsi    # 0x1d2034
leaq 0x152843(%rip), %rdx    # 0x1eb0b3
movl $0x19ef, %ecx           # imm = 0x19EF
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x98a1e
cmpl $0x0, 0x178bc(%rsp)
jle 0x98a1e
cmpl $0x1, 0x178bc(%rsp)
jne 0x9890e
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jge 0x98909
movq 0x178b0(%rsp), %rax
movsd (%rax), %xmm0
movq 0x17ce0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x338(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x988bd
jmp 0x98a11
movl 0x178bc(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jne 0x98983
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
cmpl 0x178bc(%rsp), %eax
jge 0x9897e
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x17ce0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0x338(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x9892d
jmp 0x98a0f
leaq 0xc850(%rsp), %rdi
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %edx
movl 0x178bc(%rsp), %ecx
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %r8d
leaq 0x152c76(%rip), %rsi    # 0x1eb626
movb $0x0, %al
callq 0x5b9c0
leaq 0xc050(%rsp), %rdi
leaq 0xc850(%rsp), %rdx
leaq 0x139b9f(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xc050(%rsp), %r8
leaq 0x139648(%rip), %rsi    # 0x1d2034
leaq 0x1526c0(%rip), %rdx    # 0x1eb0b3
movl $0x19ff, %ecx           # imm = 0x19FF
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
jmp 0x98a11
movq 0x178b0(%rsp), %rdi
callq 0x8420
jmp 0x98a20
movq 0x17ce8(%rsp), %rax
cmpl $0x1, 0x64(%rax)
jle 0x98b91
jmp 0x98a34
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152d0a(%rip), %rsi    # 0x1eb755
leaq 0xc04c(%rsp), %rdx
leaq 0xc048(%rsp), %rcx
callq 0x38300
cmpl $0x1, %eax
jne 0x98ac4
leaq 0xb840(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13995c(%rip), %rsi    # 0x1d23d8
leaq 0x152cdf(%rip), %rdx    # 0x1eb762
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xb840(%rsp), %r8
leaq 0x139593(%rip), %rsi    # 0x1d2034
leaq 0x15260b(%rip), %rdx    # 0x1eb0b3
movl $0x1a07, %ecx           # imm = 0x1A07
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0xc048(%rsp)
jne 0x98adf
movl 0xc04c(%rsp), %ecx
movq 0x17d20(%rsp), %rax
movl %ecx, (%rax)
jmp 0x98ae1
movq 0x17d20(%rsp), %rax
cmpl $0x0, (%rax)
jl 0x98b09
movq 0x17d20(%rsp), %rax
movl (%rax), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jl 0x98b8f
leaq 0xb040(%rsp), %rdi
movq 0x17d20(%rsp), %rax
movl (%rax), %edx
movq 0x17ce8(%rsp), %rax
movl 0x64(%rax), %ecx
subl $0x1, %ecx
leaq 0x152c72(%rip), %rsi    # 0x1eb7a2
movb $0x0, %al
callq 0x5b9c0
leaq 0xa840(%rsp), %rdi
leaq 0xb040(%rsp), %rdx
leaq 0x139a1f(%rip), %rsi    # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xa840(%rsp), %r8
leaq 0x1394c8(%rip), %rsi    # 0x1d2034
leaq 0x152540(%rip), %rdx    # 0x1eb0b3
movl $0x1a0a, %ecx           # imm = 0x1A0A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
jmp 0x98b91
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152c45(%rip), %rsi    # 0x1eb7ed
leaq 0x178c0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x98c21
leaq 0xa040(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x1397ff(%rip), %rsi    # 0x1d23d8
leaq 0x152c1c(%rip), %rdx    # 0x1eb7fc
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0xa040(%rsp), %r8
leaq 0x139436(%rip), %rsi    # 0x1d2034
leaq 0x1524ae(%rip), %rdx    # 0x1eb0b3
movl $0x1a11, %ecx           # imm = 0x1A11
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x98d2c
leaq 0x178c0(%rsp), %rdi
leaq 0x14e39d(%rip), %rsi    # 0x1e6fdb
callq 0x80c0
cmpq $0x0, %rax
je 0x98c5f
movq 0x17ce0(%rsp), %rax
movw $0x1, 0x65a(%rax)
jmp 0x98d2a
movq 0x17ce0(%rsp), %rax
movw $0x1, 0x658(%rax)
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152b66(%rip), %rsi    # 0x1eb7ed
leaq 0x9c40(%rsp), %rdx
leaq 0x9c3c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x98d00
leaq 0x9430(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139720(%rip), %rsi    # 0x1d23d8
leaq 0x152b7d(%rip), %rdx    # 0x1eb83c
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x9430(%rsp), %r8
leaq 0x139357(%rip), %rsi    # 0x1d2034
leaq 0x1523cf(%rip), %rdx    # 0x1eb0b3
movl $0x1a19, %ecx           # imm = 0x1A19
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x9c3c(%rsp)
jne 0x98d26
movq 0x17ce0(%rsp), %rdi
addq $0x65c, %rdi            # imm = 0x65C
leaq 0x9c40(%rsp), %rsi
callq 0x8370
jmp 0x98d28
jmp 0x98d2a
jmp 0x98d2c
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152b41(%rip), %rsi    # 0x1eb884
leaq 0x178c0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x98dbc
leaq 0x8c30(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139664(%rip), %rsi    # 0x1d23d8
leaq 0x152b18(%rip), %rdx    # 0x1eb893
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x8c30(%rsp), %r8
leaq 0x13929b(%rip), %rsi    # 0x1d2034
leaq 0x152313(%rip), %rdx    # 0x1eb0b3
movl $0x1a20, %ecx           # imm = 0x1A20
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x98ec7
leaq 0x178c0(%rsp), %rdi
leaq 0x14e202(%rip), %rsi    # 0x1e6fdb
callq 0x80c0
cmpq $0x0, %rax
je 0x98dfa
movq 0x17ce0(%rsp), %rax
movw $0x1, 0x77a(%rax)
jmp 0x98ec5
movq 0x17ce0(%rsp), %rax
movw $0x1, 0x778(%rax)
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152a62(%rip), %rsi    # 0x1eb884
leaq 0x8830(%rsp), %rdx
leaq 0x882c(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x98e9b
leaq 0x8020(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139585(%rip), %rsi    # 0x1d23d8
leaq 0x152a79(%rip), %rdx    # 0x1eb8d3
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x8020(%rsp), %r8
leaq 0x1391bc(%rip), %rsi    # 0x1d2034
leaq 0x152234(%rip), %rdx    # 0x1eb0b3
movl $0x1a28, %ecx           # imm = 0x1A28
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x882c(%rsp)
jne 0x98ec1
movq 0x17ce0(%rsp), %rdi
addq $0x77c, %rdi            # imm = 0x77C
leaq 0x8830(%rsp), %rsi
callq 0x8370
jmp 0x98ec3
jmp 0x98ec5
jmp 0x98ec7
jmp 0x98ec9
movq 0x17ce8(%rsp), %rax
movswl 0x32(%rax), %eax
cmpl $0x1, %eax
je 0x98f00
movq 0x17ce8(%rsp), %rax
movswl 0x34(%rax), %eax
cmpl $0x1, %eax
je 0x98f00
movq 0x17ce8(%rsp), %rax
movswl 0x36(%rax), %eax
cmpl $0x1, %eax
jne 0x994b6
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152ac9(%rip), %rsi    # 0x1eb9e0
leaq 0x17cd0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x98f90
leaq 0x7820(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139490(%rip), %rsi    # 0x1d23d8
leaq 0x1529cc(%rip), %rdx    # 0x1eb91b
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x7820(%rsp), %r8
leaq 0x1390c7(%rip), %rsi    # 0x1d2034
leaq 0x15213f(%rip), %rdx    # 0x1eb0b3
movl $0x1a36, %ecx           # imm = 0x1A36
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x152a9b(%rip), %rsi    # 0x1eba42
leaq 0x17cc8(%rsp), %rdx
leaq 0x17cd8(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x99020
leaq 0x7020(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x139400(%rip), %rsi    # 0x1d23d8
leaq 0x15297a(%rip), %rdx    # 0x1eb959
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x7020(%rsp), %r8
leaq 0x139037(%rip), %rsi    # 0x1d2034
leaq 0x1520af(%rip), %rdx    # 0x1eb0b3
movl $0x1a39, %ecx           # imm = 0x1A39
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x990a9
cmpl $0x1, 0x17cd8(%rsp)
jne 0x990a9
leaq 0x6820(%rsp), %rdi
leaq 0x152954(%rip), %rsi    # 0x1eb997
movb $0x0, %al
callq 0x5b9c0
leaq 0x6020(%rsp), %rdi
leaq 0x6820(%rsp), %rcx
leaq 0x139021(%rip), %rsi    # 0x1d2082
leaq 0x13e727(%rip), %rdx    # 0x1d778f
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x6020(%rsp), %r8
leaq 0x138fae(%rip), %rsi    # 0x1d2034
leaq 0x152026(%rip), %rdx    # 0x1eb0b3
movl $0x1a3d, %ecx           # imm = 0x1A3D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x990d6
movsd 0x17cd0(%rsp), %xmm0
movq 0x17cf8(%rsp), %rax
mulsd 0x8(%rax), %xmm0
movq 0x17ce8(%rsp), %rax
movsd %xmm0, 0x58(%rax)
cmpl $0x1, 0x17cd8(%rsp)
jne 0x990f6
movsd 0x17cc8(%rsp), %xmm0
movq 0x17ce8(%rsp), %rax
movsd %xmm0, 0x58(%rax)
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x1528c8(%rip), %rsi    # 0x1eb9d5
leaq 0x17cd0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x99186
leaq 0x5820(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13929a(%rip), %rsi    # 0x1d23d8
leaq 0x1528a9(%rip), %rdx    # 0x1eb9ee
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x5820(%rsp), %r8
leaq 0x138ed1(%rip), %rsi    # 0x1d2034
leaq 0x151f49(%rip), %rdx    # 0x1eb0b3
movl $0x1a4a, %ecx           # imm = 0x1A4A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x15289a(%rip), %rsi    # 0x1eba37
leaq 0x17cc8(%rsp), %rdx
leaq 0x17cd8(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x99216
leaq 0x5020(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13920a(%rip), %rsi    # 0x1d23d8
leaq 0x15287b(%rip), %rdx    # 0x1eba50
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x5020(%rsp), %r8
leaq 0x138e41(%rip), %rsi    # 0x1d2034
leaq 0x151eb9(%rip), %rdx    # 0x1eb0b3
movl $0x1a4d, %ecx           # imm = 0x1A4D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x9929f
cmpl $0x1, 0x17cd8(%rsp)
jne 0x9929f
leaq 0x4820(%rsp), %rdi
leaq 0x152860(%rip), %rsi    # 0x1eba99
movb $0x0, %al
callq 0x5b9c0
leaq 0x4020(%rsp), %rdi
leaq 0x4820(%rsp), %rcx
leaq 0x138e2b(%rip), %rsi    # 0x1d2082
leaq 0x13e531(%rip), %rdx    # 0x1d778f
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x4020(%rsp), %r8
leaq 0x138db8(%rip), %rsi    # 0x1d2034
leaq 0x151e30(%rip), %rdx    # 0x1eb0b3
movl $0x1a51, %ecx           # imm = 0x1A51
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x992db
movsd 0x17cd0(%rsp), %xmm0
movq 0x17cf8(%rsp), %rax
mulsd 0x8(%rax), %xmm0
movq 0x17cf0(%rsp), %rax
movsd %xmm0, 0x10(%rax)
movq 0x17cf0(%rsp), %rax
movl $0x1, 0x8(%rax)
cmpl $0x1, 0x17cd8(%rsp)
jne 0x9930a
movsd 0x17cc8(%rsp), %xmm0
movq 0x17cf0(%rsp), %rax
movsd %xmm0, 0x10(%rax)
movq 0x17cf0(%rsp), %rax
movl $0x1, 0x8(%rax)
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r9
leaq 0x1527cc(%rip), %rsi    # 0x1ebaed
leaq 0x178bc(%rsp), %rdx
leaq 0x178b0(%rsp), %rcx
leaq 0x17cdc(%rsp), %r8
callq 0x38db0
cmpl $0x1, %eax
jne 0x993a2
leaq 0x3820(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x13907e(%rip), %rsi    # 0x1d23d8
leaq 0x152791(%rip), %rdx    # 0x1ebaf2
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x3820(%rsp), %r8
leaq 0x138cb5(%rip), %rsi    # 0x1d2034
leaq 0x151d2d(%rip), %rdx    # 0x1eb0b3
movl $0x1a60, %ecx           # imm = 0x1A60
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x994b4
cmpl $0x64, 0x178bc(%rsp)
jle 0x99436
leaq 0x3020(%rsp), %rdi
movl 0x178bc(%rsp), %edx
leaq 0x152768(%rip), %rsi    # 0x1ebb38
movb $0x0, %al
callq 0x5b9c0
leaq 0x2820(%rsp), %rdi
leaq 0x3020(%rsp), %rcx
leaq 0x138c94(%rip), %rsi    # 0x1d2082
leaq 0x1527d4(%rip), %rdx    # 0x1ebbc9
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x2820(%rsp), %r8
leaq 0x138c21(%rip), %rsi    # 0x1d2034
leaq 0x151c99(%rip), %rdx    # 0x1eb0b3
movl $0x1a66, %ecx           # imm = 0x1A66
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
movl 0x178bc(%rsp), %ecx
movq 0x17d28(%rsp), %rax
movl %ecx, 0xe0(%rax)
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
cmpl 0x178bc(%rsp), %eax
jge 0x994a7
movq 0x178b0(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x17d28(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd %xmm0, 0xe8(%rax,%rcx,8)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x99456
movq 0x178b0(%rsp), %rdi
callq 0x8420
jmp 0x994b6
movq 0x17ce8(%rsp), %rax
movswl 0x32(%rax), %eax
cmpl $0x1, %eax
je 0x9950f
movq 0x17ce8(%rsp), %rax
movswl 0x34(%rax), %eax
cmpl $0x1, %eax
je 0x9950f
movq 0x17ce8(%rsp), %rax
movswl 0x36(%rax), %eax
cmpl $0x1, %eax
je 0x9950f
movq 0x17ce8(%rsp), %rax
movswl 0x30(%rax), %eax
cmpl $0x1, %eax
je 0x9950f
movq 0x17ce8(%rsp), %rax
movswl 0x2e(%rax), %eax
cmpl $0x1, %eax
jne 0x99892
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x1526b9(%rip), %rsi    # 0x1ebbdf
leaq 0x17cd0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x9959f
leaq 0x2020(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x138e81(%rip), %rsi    # 0x1d23d8
leaq 0x15268a(%rip), %rdx    # 0x1ebbe8
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x2020(%rsp), %r8
leaq 0x138ab8(%rip), %rsi    # 0x1d2034
leaq 0x151b30(%rip), %rdx    # 0x1eb0b3
movl $0x1a76, %ecx           # imm = 0x1A76
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x995c7
movsd 0x17cd0(%rsp), %xmm0
movq 0x17ce8(%rsp), %rax
movsd %xmm0, 0x818(%rax)
jmp 0x99890
movq 0x17ce8(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x818(%rax)
movq 0x17ce8(%rsp), %rax
movswl 0x32(%rax), %eax
cmpl $0x1, %eax
je 0x99611
movq 0x17ce8(%rsp), %rax
movswl 0x34(%rax), %eax
cmpl $0x1, %eax
je 0x99611
movq 0x17ce8(%rsp), %rax
movswl 0x36(%rax), %eax
cmpl $0x1, %eax
jne 0x996cb
movl $0x0, 0x178ac(%rsp)
movl 0x178ac(%rsp), %eax
movq 0x17d28(%rsp), %rcx
cmpl 0xe0(%rcx), %eax
jge 0x996c9
movq 0x17ce8(%rsp), %rax
movsd 0x818(%rax), %xmm1
movq 0x17d28(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd 0xe8(%rax,%rcx,8), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x99687
movq 0x17d28(%rsp), %rax
movslq 0x178ac(%rsp), %rcx
movsd 0xe8(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x8(%rsp)
jmp 0x9969d
movq 0x17ce8(%rsp), %rax
movsd 0x818(%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x8(%rsp), %xmm0
movq 0x17ce8(%rsp), %rax
movsd %xmm0, 0x818(%rax)
movl 0x178ac(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x178ac(%rsp)
jmp 0x9961c
jmp 0x996cb
movq 0x17ce8(%rsp), %rax
movswl 0x30(%rax), %eax
cmpl $0x1, %eax
je 0x996f1
movq 0x17ce8(%rsp), %rax
movswl 0x2e(%rax), %eax
cmpl $0x1, %eax
jne 0x9988e
movl $0x0, 0x1789c(%rsp)
movl 0x1789c(%rsp), %eax
movq 0x17ce8(%rsp), %rcx
cmpl 0x64(%rcx), %eax
jge 0x9988c
movq 0x17ce8(%rsp), %rax
cmpl $0x0, 0x68(%rax)
jne 0x99772
movq 0x17ce8(%rsp), %rax
movslq 0x1789c(%rsp), %rcx
movsd 0x70(%rax,%rcx,8), %xmm1
movq 0x17ce8(%rsp), %rax
movslq 0x1789c(%rsp), %rcx
movsd 0x390(%rax,%rcx,8), %xmm0
movq 0x17d00(%rsp), %rax
movsd 0x808(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x178a0(%rsp)
movq 0x17ce8(%rsp), %rax
cmpl $0x1, 0x68(%rax)
jne 0x997f0
movq 0x17ce8(%rsp), %rax
movslq 0x1789c(%rsp), %rcx
movsd 0x70(%rax,%rcx,8), %xmm1
movq 0x17d00(%rsp), %rax
movsd 0x808(%rax), %xmm0
movq 0x17d00(%rsp), %rax
movsd 0x828(%rax), %xmm2
mulsd %xmm2, %xmm0
movsd 0x138a86(%rip), %xmm2   # 0x1d2248
addsd %xmm2, %xmm0
movq 0x17ce8(%rsp), %rax
movslq 0x1789c(%rsp), %rcx
movsd 0x390(%rax,%rcx,8), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x178a0(%rsp)
movq 0x17ce8(%rsp), %rax
cmpl $0x2, 0x68(%rax)
jne 0x9981d
movq 0x17ce8(%rsp), %rax
movslq 0x1789c(%rsp), %rcx
movsd 0x70(%rax,%rcx,8), %xmm0
movsd %xmm0, 0x178a0(%rsp)
movq 0x17ce8(%rsp), %rax
movsd 0x818(%rax), %xmm1
movsd 0x178a0(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x9984c
movsd 0x178a0(%rsp), %xmm0
movsd %xmm0, (%rsp)
jmp 0x99861
movq 0x17ce8(%rsp), %rax
movsd 0x818(%rax), %xmm0
movsd %xmm0, (%rsp)
movsd (%rsp), %xmm0
movq 0x17ce8(%rsp), %rax
movsd %xmm0, 0x818(%rax)
movl 0x1789c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1789c(%rsp)
jmp 0x996fc
jmp 0x9988e
jmp 0x99890
jmp 0x99892
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x14e020(%rip), %rsi    # 0x1e78c9
leaq 0x178c0(%rsp), %rdx
leaq 0x17cdc(%rsp), %rcx
callq 0x38b80
cmpl $0x1, %eax
jne 0x99922
leaq 0x1820(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x138afe(%rip), %rsi    # 0x1d23d8
leaq 0x14e00b(%rip), %rdx    # 0x1e78ec
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x1820(%rsp), %r8
leaq 0x138735(%rip), %rsi    # 0x1d2034
leaq 0x1517ad(%rip), %rdx    # 0x1eb0b3
movl $0x1aa0, %ecx           # imm = 0x1AA0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x17cdc(%rsp)
jne 0x99aa5
leaq 0x178c0(%rsp), %rdi
leaq 0x13bae7(%rip), %rsi    # 0x1d5426
callq 0x80c0
cmpq $0x0, %rax
jne 0x99968
leaq 0x178c0(%rsp), %rdi
leaq 0x13d936(%rip), %rsi    # 0x1d728f
callq 0x80c0
cmpq $0x0, %rax
je 0x99aa5
jmp 0x9996a
movq 0x17d08(%rsp), %rdi
movq 0x17d30(%rsp), %r8
leaq 0x14e00f(%rip), %rsi    # 0x1e7990
leaq 0x1818(%rsp), %rdx
leaq 0x1814(%rsp), %rcx
callq 0x385d0
cmpl $0x1, %eax
jne 0x999fa
leaq 0x1010(%rsp), %rdi
movq 0x17d30(%rsp), %rcx
leaq 0x138a26(%rip), %rsi    # 0x1d23d8
leaq 0x14dfde(%rip), %rdx    # 0x1e7997
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x1010(%rsp), %r8
leaq 0x13865d(%rip), %rsi    # 0x1d2034
leaq 0x1516d5(%rip), %rdx    # 0x1eb0b3
movl $0x1aa2, %ecx           # imm = 0x1AA2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
cmpl $0x1, 0x1814(%rsp)
jne 0x99a16
movsd 0x1818(%rsp), %xmm0
movsd %xmm0, 0x17cd0(%rsp)
jmp 0x99a18
movq 0x17ce8(%rsp), %rax
movsd 0x818(%rax), %xmm1
movsd 0x17cd0(%rsp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x99aa3
leaq 0x810(%rsp), %rdi
leaq 0x1521db(%rip), %rsi    # 0x1ebc21
movb $0x0, %al
callq 0x5b9c0
leaq 0x10(%rsp), %rdi
leaq 0x810(%rsp), %rcx
leaq 0x138621(%rip), %rsi    # 0x1d2082
leaq 0x15221f(%rip), %rdx    # 0x1ebc87
movb $0x0, %al
callq 0x5b9c0
movq 0x17d30(%rsp), %rdi
leaq 0x10(%rsp), %r8
leaq 0x1385b1(%rip), %rsi    # 0x1d2034
leaq 0x151629(%rip), %rdx    # 0x1eb0b3
movl $0x1aa3, %ecx           # imm = 0x1AA3
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x17d14(%rsp)
jmp 0x99ab0
jmp 0x99aa5
movl $0x0, 0x17d14(%rsp)
movl 0x17d14(%rsp), %eax
addq $0x17d18, %rsp          # imm = 0x17D18
retq
nop