// File: /workspace/github_c_makefile_star2_O3/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_read_parameters_nonlinear
int input_read_parameters_nonlinear(struct file_content * pfc,
                                    struct precision * ppr,
                                    struct background * pba,
                                    struct thermodynamics * pth,
                                    struct perturbations * ppt,
                                    struct fourier * pfo,
                                    int input_verbose,
                                    ErrorMsg errmsg){

  /** Define local variables */
  int flag1,flag2,flag3;
  double param1,param2,param3;
  char string1[_ARGUMENT_LENGTH_MAX_];

  /** 1) Non-linearity */
  /* Read */
  class_call(parser_read_string(pfc,"non_linear",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
  /* Compatibility code BEGIN */
  if (flag1 == _FALSE_){
    class_call(parser_read_string(pfc,"non linear",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
  }
  /* Compatibility code END */

  if (flag1 == _TRUE_) {
    /* Test */
    class_test(ppt->has_perturbations == _FALSE_,
               errmsg,
               "You requested non-linear computation but no perturbations. You must set the 'output' field.");
    /* Complete set of parameters */
    if ((strstr(string1,"halofit") != NULL) || (strstr(string1,"Halofit") != NULL) || (strstr(string1,"HALOFIT") != NULL)) {
      pfo->method=nl_halofit;
      ppt->has_nl_corrections_based_on_delta_m = _TRUE_;

      /* Compatibility code BEGIN */
      class_call(parser_read_double(pfc,"halofit_min_k_max",&param1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      if (flag1 == _TRUE_) {
        ppr->nonlinear_min_k_max = MAX(ppr->nonlinear_min_k_max,param1);
      }
      /* Compatibility code END */
    }
    else if ((strstr(string1,"hmcode") != NULL) || (strstr(string1,"HMCODE") != NULL) || (strstr(string1,"HMcode") != NULL) || (strstr(string1,"Hmcode") != NULL)) {
      pfo->method=nl_HMcode;

      /* Compatibility code BEGIN */
      class_call(parser_read_double(pfc,"hmcode_min_k_max",&param1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      if (flag1 == _TRUE_) {
        ppr->nonlinear_min_k_max = MAX(ppr->nonlinear_min_k_max,param1);
      }
      /* Compatibility code END */

      ppt->has_nl_corrections_based_on_delta_m = _TRUE_;
      class_read_int("extrapolation_method",pfo->extrapolation_method);

      class_call(parser_read_string(pfc,"hmcode_version",&string1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      /* Compatibility code BEGIN */
      if(flag1 == _FALSE_){
        class_call(parser_read_string(pfc,"HMcode_version",&string1,&flag1,errmsg),
                   errmsg,
                   errmsg);
      }
      if(flag1 == _FALSE_){
        class_call(parser_read_string(pfc,"hmcode version",&string1,&flag1,errmsg),
                   errmsg,
                   errmsg);
      }

      /* Compatibility code END */
      if (flag1 == _TRUE_) {
        if ((strstr(string1,"15") != NULL)||(strstr(string1,"16") != NULL)) {
          pfo->hm_version = hmcode_version_2015;
        }
        else if ((strstr(string1,"20baryon") != NULL) || (strstr(string1,"20_baryon") != NULL)) {
          pfo->hm_version = hmcode_version_2020_baryonic;
        }
        else if ((strstr(string1,"20") != NULL)) {
          pfo->hm_version = hmcode_version_2020;
        }
        else{
          class_stop(errmsg,
                     "You specified 'hmcode_version' = '%s'. It has to be one of {'2015','2020','2020_baryonic_feedback'}.",string1);
        }
      }

      if (pfo->hm_version == hmcode_version_2015) {

        class_call(parser_read_string(pfc,"feedback_model",&string1,&flag1,errmsg),
                   errmsg,
                   errmsg);

        /* Compatibility code BEGIN */
        if (flag1 == _FALSE_) {
          class_call(parser_read_string(pfc,"feedback model",&string1,&flag1,errmsg),
                     errmsg,
                     errmsg);
        }
        /* Compatibility code END */

        if (flag1 == _TRUE_) {

          if (strstr(string1,"emu_dmonly") != NULL) {
            pfo->feedback = hmcode_emu_dmonly;
          }
          if (strstr(string1,"owls_dmonly") != NULL) {
            pfo->feedback = hmcode_owls_dmonly;
          }
          if (strstr(string1,"owls_ref") != NULL) {
            pfo->feedback = hmcode_owls_ref;
          }
          if (strstr(string1,"owls_agn") != NULL) {
            pfo->feedback = hmcode_owls_agn;
          }
          if (strstr(string1,"owls_dblim") != NULL) {
            pfo->feedback = hmcode_owls_dblim;
          }
        }

        class_call(parser_read_double(pfc,"eta_0",&param2,&flag2,errmsg),
                   errmsg,
                   errmsg);
        class_call(parser_read_double(pfc,"c_min",&param3,&flag3,errmsg),
                   errmsg,
                   errmsg);

        class_test(((flag1 == _TRUE_) && ((flag2 == _TRUE_) || (flag3 == _TRUE_))),
                   errmsg,
                   "In input file, you cannot enter both a baryonic feedback model and a choice of baryonic feedback parameters, choose one of both methods");

        if ((flag2 == _TRUE_) && (flag3 == _TRUE_)) {
          pfo->feedback = hmcode_user_defined;
          class_read_double("eta_0", pfo->eta_0);
          class_read_double("c_min", pfo->c_min);
        }
        else if ((flag2 == _TRUE_) && (flag3 == _FALSE_)) {
          pfo->feedback = hmcode_user_defined;
          class_read_double("eta_0", pfo->eta_0);
          pfo->c_min = (0.98 - pfo->eta_0)/0.12;
        }
        else if ((flag2 == _FALSE_) && (flag3 == _TRUE_)) {
          pfo->feedback = hmcode_user_defined;
          class_read_double("c_min", pfo->c_min);
          pfo->eta_0 = 0.98 - 0.12*pfo->c_min;
        }
      }
      else if (pfo->hm_version == hmcode_version_2020_baryonic) {
        class_read_double("log10T_heat_hmcode",pfo->log10T_heat_hmcode);
      }
      class_read_double("z_infinity", pfo->z_infinity);
      class_read_int("nk_wiggle", pfo->nk_wiggle);
    }
    else if (strstr(string1,"no")!=NULL){
      pfo->method=nl_none;
      ppt->has_nl_corrections_based_on_delta_m = _FALSE_;
    }
    else {
      class_stop(errmsg,
                 "You specified 'non_linear' = '%s'. It has to be one of {'halofit','hmcode','none'}.",string1);
    }
  }

  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))) {

    pfo->get_lyman_alpha_tilt_and_amplitude = _TRUE_;
    class_read_double("kp_km_per_s",pfo->kp_km_per_s);
    class_read_double("zp_lya",pfo->zp_lya);

  }
  else{
    pfo->get_lyman_alpha_tilt_and_amplitude = _FALSE_;
  }




  /** - special steps if we want Halofit with wa_fld non-zero:
      so-called "Pk_equal method" of 0810.0190 and 1601.07230 */

  if (pfo->method == nl_halofit) {

    class_call(parser_read_string(pfc,"pk_eq",&string1,&flag1,errmsg),
               errmsg,
               errmsg);

    if ((flag1 == _TRUE_) && ((strstr(string1,"y") != NULL) || (strstr(string1,"Y") != NULL))) {

      if ((pba->Omega0_fld != 0.) && (pba->wa_fld != 0.) && (pba->fluid_equation_of_state == CLP)){

        pfo->has_pk_eq = _TRUE_;
      }
    }
  }

  /** 2.a) analytic nowiggle linear spectrum */
  class_read_flag("analytic_nowiggle", pfo->has_pk_analytic_nowiggle);

  /** 2.b) numerical nowiggle linear spectrum (can be computed only if the linear power spectrum is computed) */

  if (ppt->has_pk_matter == _TRUE_) {
    class_read_flag("numerical_nowiggle", pfo->has_pk_numerical_nowiggle);
  }

  return _SUCCESS_;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1838, %rsp           # imm = 0x1838
movq %r9, %r14
movq %r8, %r12
movq %rdx, %r13
movq %rsi, %rbp
movq %rdi, %r15
movq 0x1878(%rsp), %rbx
leaq 0xb325f(%rip), %rsi     # 0x10301b
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4fe11
leaq 0x9e616(%rip), %rsi     # 0xee3f0
leaq 0xb3245(%rip), %rdx     # 0x103026
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e237(%rip), %rsi     # 0xee034
leaq 0xb325e(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1534, %ecx           # imm = 0x1534
jmp 0x5027b
movl 0x8(%rsp), %eax
testl %eax, %eax
jne 0x4fe7c
leaq 0xb3262(%rip), %rsi     # 0x103082
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4fe78
leaq 0x9e5af(%rip), %rsi     # 0xee3f0
leaq 0xb3245(%rip), %rdx     # 0x10308d
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e1d0(%rip), %rsi     # 0xee034
leaq 0xb31f7(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1539, %ecx           # imm = 0x1539
jmp 0x5027b
movl 0x8(%rsp), %eax
cmpl $0x1, %eax
jne 0x4ffc0
cmpw $0x0, (%r12)
je 0x4ff49
leaq 0xb32af(%rip), %rsi     # 0x103147
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x4fed7
leaq 0xb32a1(%rip), %rsi     # 0x10314f
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x4fed7
leaq 0xb3293(%rip), %rsi     # 0x103157
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5041b
movl $0x1, (%r14)
movw $0x1, 0x3c(%r12)
leaq 0xb3272(%rip), %rsi     # 0x10315f
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4ffa3
leaq 0x9e4de(%rip), %rsi     # 0xee3f0
leaq 0xb3258(%rip), %rdx     # 0x103171
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e0ff(%rip), %rsi     # 0xee034
leaq 0xb3126(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x154a, %ecx           # imm = 0x154A
jmp 0x5027b
leaq 0xb3179(%rip), %rsi     # 0x1030c9
leaq 0x830(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9e119(%rip), %rsi     # 0xee082
leaq 0xb31b5(%rip), %rdx     # 0x103125
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e0a8(%rip), %rsi     # 0xee034
leaq 0xb30cf(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1541, %ecx           # imm = 0x1541
movq %r15, %r8
jmp 0x5027e
cmpl $0x1, 0x8(%rsp)
jne 0x4ffc0
movsd 0x10(%rsp), %xmm0
maxsd 0x838(%rbp), %xmm0
movsd %xmm0, 0x838(%rbp)
leaq 0xb37e6(%rip), %rsi     # 0x1037ad
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x5001f
leaq 0x9e408(%rip), %rsi     # 0xee3f0
leaq 0xb37e1(%rip), %rdx     # 0x1037d0
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e029(%rip), %rsi     # 0xee034
leaq 0xb3050(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15cd, %ecx           # imm = 0x15CD
jmp 0x5027b
cmpl $0x1, 0x8(%rsp)
jne 0x500c5
leaq 0x30(%rsp), %rdi
movl $0x79, %esi
callq 0x8130
testq %rax, %rax
jne 0x50052
leaq 0x30(%rsp), %rdi
movl $0x59, %esi
callq 0x8130
testq %rax, %rax
je 0x500c5
movw $0x1, 0x100(%r14)
leaq 0xb37c1(%rip), %rsi     # 0x103824
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x5013c
leaq 0x9e362(%rip), %rsi     # 0xee3f0
leaq 0xb379b(%rip), %rdx     # 0x103830
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9df83(%rip), %rsi     # 0xee034
leaq 0xb2faa(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15d2, %ecx           # imm = 0x15D2
jmp 0x5027b
movw $0x0, 0x100(%r14)
cmpl $0x1, (%r14)
jne 0x5021e
leaq 0xb38d8(%rip), %rsi     # 0x1039b8
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x501c1
leaq 0x9e2eb(%rip), %rsi     # 0xee3f0
leaq 0xb37ae(%rip), %rdx     # 0x1038ba
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9df0c(%rip), %rsi     # 0xee034
leaq 0xb2f33(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15e4, %ecx           # imm = 0x15E4
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x50158
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0xd8(%r14)
leaq 0xb3715(%rip), %rsi     # 0x103874
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x5037d
leaq 0x9e266(%rip), %rsi     # 0xee3f0
leaq 0xb36ea(%rip), %rdx     # 0x10387b
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9de87(%rip), %rsi     # 0xee034
leaq 0xb2eae(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15d3, %ecx           # imm = 0x15D3
jmp 0x5027b
cmpl $0x1, 0x8(%rsp)
jne 0x5021e
leaq 0x30(%rsp), %rdi
movl $0x79, %esi
callq 0x8130
testq %rax, %rax
jne 0x501f0
leaq 0x30(%rsp), %rdi
movl $0x59, %esi
callq 0x8130
testq %rax, %rax
je 0x5021e
movsd 0x38(%r13), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0x50202
jnp 0x5021e
movsd 0x50(%r13), %xmm1
ucomisd %xmm0, %xmm1
jne 0x50210
jnp 0x5021e
cmpl $0x0, 0x40(%r13)
jne 0x5021e
movw $0x1, 0x28(%r14)
leaq 0xcdc10(%rip), %rsi     # 0x11de35
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x5029e
leaq 0x9e1a7(%rip), %rsi     # 0xee3f0
leaq 0xb36a1(%rip), %rdx     # 0x1038f1
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ddc8(%rip), %rsi     # 0xee034
leaq 0xb2def(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15f0, %ecx           # imm = 0x15F0
movq %r14, %r8
xorl %eax, %eax
callq 0x30af0
movl $0x1, %ebp
movl %ebp, %eax
addq $0x1838, %rsp           # imm = 0x1838
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x1, 0xc(%rsp)
jne 0x5030c
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
movw $0x1, %bp
testl %eax, %eax
jne 0x50307
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x50307
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x50305
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
je 0x5062a
xorl %ebp, %ebp
movw %bp, 0x38(%r14)
xorl %ebp, %ebp
cmpw $0x1, 0x32(%r12)
jne 0x5028a
leaq 0xb361a(%rip), %rsi     # 0x10393c
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x503a2
leaq 0x9e0aa(%rip), %rsi     # 0xee3f0
leaq 0xb3602(%rip), %rdx     # 0x10394f
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9dccb(%rip), %rsi     # 0xee034
leaq 0xb2cf2(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15f5, %ecx           # imm = 0x15F5
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x500cf
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0xe8(%r14)
jmp 0x500cf
cmpl $0x1, 0xc(%rsp)
jne 0x5028a
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
movw $0x1, %r15w
testl %eax, %eax
jne 0x50411
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x50411
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x5040e
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
je 0x5086c
xorl %r15d, %r15d
movw %r15w, 0x3a(%r14)
jmp 0x5028a
leaq 0xb3257(%rip), %rsi     # 0x103679
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x50477
leaq 0xb2d7b(%rip), %rsi     # 0x1031b3
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x50477
leaq 0xb2d6c(%rip), %rsi     # 0x1031ba
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x50477
leaq 0xb2d5d(%rip), %rsi     # 0x1031c1
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50842
movl $0x2, (%r14)
leaq 0xb2d43(%rip), %rsi     # 0x1031c8
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x504dd
leaq 0x9df4a(%rip), %rsi     # 0xee3f0
leaq 0xb2d2c(%rip), %rdx     # 0x1031d9
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9db6b(%rip), %rsi     # 0xee034
leaq 0xb2b92(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1556, %ecx           # imm = 0x1556
jmp 0x5027b
cmpl $0x1, 0x8(%rsp)
jne 0x504fa
movsd 0x10(%rsp), %xmm0
maxsd 0x838(%rbp), %xmm0
movsd %xmm0, 0x838(%rbp)
movw $0x1, 0x3c(%r12)
leaq 0xb2d11(%rip), %rsi     # 0x10321a
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e736
cmpl $0x1, %eax
jne 0x50567
leaq 0x9dec0(%rip), %rsi     # 0xee3f0
leaq 0xb2cf8(%rip), %rdx     # 0x10322f
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9dae1(%rip), %rsi     # 0xee034
leaq 0xb2b08(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x155d, %ecx           # imm = 0x155D
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x5057c
movl 0x1030(%rsp), %eax
movl %eax, 0x4(%r14)
leaq 0xb2cf4(%rip), %rsi     # 0x103277
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x505db
leaq 0x9de4c(%rip), %rsi     # 0xee3f0
leaq 0xb2cdb(%rip), %rdx     # 0x103286
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9da6d(%rip), %rsi     # 0xee034
leaq 0xb2a94(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1561, %ecx           # imm = 0x1561
jmp 0x5027b
movl 0x8(%rsp), %eax
testl %eax, %eax
je 0x50701
cmpl $0x1, %eax
jne 0x50689
leaq 0x9e764(%rip), %rsi     # 0xeed5b
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x50620
leaq 0xb2d57(%rip), %rsi     # 0x103364
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50920
movl $0x0, 0xc(%r14)
jmp 0x5069e
leaq 0xa2b53(%rip), %rsi     # 0xf3184
leaq 0xcd7fd(%rip), %rcx     # 0x11de35
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9df2c(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d9bf(%rip), %rsi     # 0xee034
leaq 0xb29e6(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15f0, %ecx           # imm = 0x15F0
jmp 0x4ff9b
movl 0xc(%r14), %eax
cmpl $0x3, %eax
je 0x50958
testl %eax, %eax
jne 0x50ed3
leaq 0xb2d3a(%rip), %rsi     # 0x1033df
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x50764
leaq 0x9dd26(%rip), %rsi     # 0xee3f0
leaq 0xb2d1d(%rip), %rdx     # 0x1033ee
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d947(%rip), %rsi     # 0xee034
leaq 0xb296e(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1583, %ecx           # imm = 0x1583
jmp 0x5027b
leaq 0xb2bbe(%rip), %rsi     # 0x1032c6
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x507d3
leaq 0x9dcc3(%rip), %rsi     # 0xee3f0
leaq 0xb2ba1(%rip), %rdx     # 0x1032d5
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d8e4(%rip), %rsi     # 0xee034
leaq 0xb290b(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1566, %ecx           # imm = 0x1566
jmp 0x5027b
movl 0x8(%rsp), %eax
testl %eax, %eax
jne 0x509e3
leaq 0xb2cb7(%rip), %rsi     # 0x10342e
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x509df
leaq 0x9dc54(%rip), %rsi     # 0xee3f0
leaq 0xb2c9a(%rip), %rdx     # 0x10343d
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d875(%rip), %rsi     # 0xee034
leaq 0xb289c(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x1589, %ecx           # imm = 0x1589
jmp 0x5027b
movl 0x8(%rsp), %eax
testl %eax, %eax
jne 0x505e7
leaq 0xb2b2f(%rip), %rsi     # 0x103315
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x50bbc
leaq 0x9dbe5(%rip), %rsi     # 0xee3f0
leaq 0xb2b12(%rip), %rdx     # 0x103324
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d806(%rip), %rsi     # 0xee034
leaq 0xb282d(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x156b, %ecx           # imm = 0x156B
jmp 0x5027b
leaq 0xb2f0d(%rip), %rsi     # 0x103756
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x508cb
movl $0x0, (%r14)
movw $0x0, 0x3c(%r12)
jmp 0x4ffc0
leaq 0xa2911(%rip), %rsi     # 0xf3184
leaq 0xb30c2(%rip), %rcx     # 0x10393c
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9dcea(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d77d(%rip), %rsi     # 0xee034
leaq 0xb27a4(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15f5, %ecx           # imm = 0x15F5
jmp 0x4ff9b
leaq 0xb2e87(%rip), %rsi     # 0x103759
leaq 0x830(%rsp), %r14
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9dc95(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d728(%rip), %rsi     # 0xee034
leaq 0xb274f(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15c7, %ecx           # imm = 0x15C7
jmp 0x4ff9b
leaq 0xb2a40(%rip), %rsi     # 0x103367
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x50950
leaq 0xb2a33(%rip), %rsi     # 0x103370
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50cbf
movl $0x3, 0xc(%r14)
leaq 0xb2d0e(%rip), %rsi     # 0x10366d
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x509bd
leaq 0x9da6a(%rip), %rsi     # 0xee3f0
leaq 0xb2cf3(%rip), %rdx     # 0x103680
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d68b(%rip), %rsi     # 0xee034
leaq 0xb26b2(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15bc, %ecx           # imm = 0x15BC
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x50ed3
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0x30(%r14)
jmp 0x50ed3
movl 0x8(%rsp), %eax
cmpl $0x1, %eax
jne 0x50a82
leaq 0xb2a8a(%rip), %rsi     # 0x10347d
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50a0a
movl $0x0, 0x8(%r14)
leaq 0xb2a77(%rip), %rsi     # 0x103488
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50a28
movl $0x1, 0x8(%r14)
leaq 0xb2a65(%rip), %rsi     # 0x103494
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50a46
movl $0x2, 0x8(%r14)
leaq 0xb2a50(%rip), %rsi     # 0x10349d
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50a64
movl $0x3, 0x8(%r14)
leaq 0xb2a3b(%rip), %rsi     # 0x1034a6
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50a82
movl $0x4, 0x8(%r14)
leaq 0xb2a28(%rip), %rsi     # 0x1034b1
leaq 0x28(%rsp), %rdx
leaq 0x1c(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50ae1
leaq 0x9d946(%rip), %rsi     # 0xee3f0
leaq 0xb2a06(%rip), %rdx     # 0x1034b7
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d567(%rip), %rsi     # 0xee034
leaq 0xb258e(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15a2, %ecx           # imm = 0x15A2
jmp 0x5027b
leaq 0xb2a05(%rip), %rsi     # 0x1034ed
leaq 0x20(%rsp), %rdx
leaq 0x18(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50b40
leaq 0x9d8e7(%rip), %rsi     # 0xee3f0
leaq 0xb29e3(%rip), %rdx     # 0x1034f3
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d508(%rip), %rsi     # 0xee034
leaq 0xb252f(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15a5, %ecx           # imm = 0x15A5
jmp 0x5027b
cmpl $0x1, 0x8(%rsp)
movl 0x1c(%rsp), %eax
movl 0x18(%rsp), %ecx
jne 0x50bc5
cmpl $0x1, %ecx
sete %cl
cmpl $0x1, %eax
sete %al
orb %cl, %al
cmpb $0x1, %al
jne 0x50ed3
leaq 0xb29bd(%rip), %rsi     # 0x103529
leaq 0x830(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9d4fd(%rip), %rsi     # 0xee082
leaq 0xb2a25(%rip), %rdx     # 0x1035b1
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d48c(%rip), %rsi     # 0xee034
leaq 0xb24b3(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15a9, %ecx           # imm = 0x15A9
jmp 0x4ff9b
movl 0x8(%rsp), %eax
jmp 0x505e7
movl %ecx, %edx
xorl $0x1, %edx
movl %eax, %esi
xorl $0x1, %esi
movl %esi, %edi
orl %edx, %edi
jne 0x50c46
movl $0x5, 0x8(%r14)
leaq 0xb28cd(%rip), %rsi     # 0x1034b1
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50ce6
leaq 0x9d7e1(%rip), %rsi     # 0xee3f0
leaq 0xb29db(%rip), %rdx     # 0x1035f1
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d402(%rip), %rsi     # 0xee034
leaq 0xb2429(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15ad, %ecx           # imm = 0x15AD
jmp 0x5027b
orl %ecx, %esi
jne 0x50d68
movl $0x5, 0x8(%r14)
leaq 0xb2854(%rip), %rsi     # 0x1034b1
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50de1
leaq 0x9d768(%rip), %rsi     # 0xee3f0
leaq 0xb2962(%rip), %rdx     # 0x1035f1
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d389(%rip), %rsi     # 0xee034
leaq 0xb23b0(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15b2, %ecx           # imm = 0x15B2
jmp 0x5027b
leaq 0xc1673(%rip), %rsi     # 0x112339
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x50e25
movl $0x1, 0xc(%r14)
jmp 0x50ed3
cmpl $0x1, 0x430(%rsp)
jne 0x50cff
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0x18(%r14)
leaq 0xb27e7(%rip), %rsi     # 0x1034ed
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50e03
leaq 0x9d6bf(%rip), %rsi     # 0xee3f0
leaq 0xb28f7(%rip), %rdx     # 0x10362f
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d2e0(%rip), %rsi     # 0xee034
leaq 0xb2307(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15ae, %ecx           # imm = 0x15AE
jmp 0x5027b
orl %edx, %eax
jne 0x50ed3
movl $0x5, 0x8(%r14)
leaq 0xb276e(%rip), %rsi     # 0x1034ed
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50e7a
leaq 0x9d646(%rip), %rsi     # 0xee3f0
leaq 0xb287e(%rip), %rdx     # 0x10362f
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d267(%rip), %rsi     # 0xee034
leaq 0xb228e(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15b7, %ecx           # imm = 0x15B7
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x50e95
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0x18(%r14)
jmp 0x50e9b
cmpl $0x1, 0x430(%rsp)
jne 0x50ed3
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0x10(%r14)
jmp 0x50ed3
leaq 0xb254e(%rip), %rsi     # 0x10337a
leaq 0x830(%rsp), %r14
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9d73b(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d1ce(%rip), %rsi     # 0xee034
leaq 0xb21f5(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x157b, %ecx           # imm = 0x157B
jmp 0x4ff9b
cmpl $0x1, 0x430(%rsp)
jne 0x50eb7
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0x10(%r14)
jmp 0x50ebd
movsd 0x18(%r14), %xmm0
movsd 0xa1ded(%rip), %xmm1    # 0xf2c90
subsd %xmm0, %xmm1
divsd 0xa1de9(%rip), %xmm1    # 0xf2c98
movsd %xmm1, 0x10(%r14)
jmp 0x50ed3
movsd 0x10(%r14), %xmm0
mulsd 0xa1dc3(%rip), %xmm0    # 0xf2c88
addsd 0xa1dc3(%rip), %xmm0    # 0xf2c90
movsd %xmm0, 0x18(%r14)
leaq 0xb27f1(%rip), %rsi     # 0x1036cb
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x50f38
leaq 0x9d4ef(%rip), %rsi     # 0xee3f0
leaq 0xb27ce(%rip), %rdx     # 0x1036d6
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d110(%rip), %rsi     # 0xee034
leaq 0xb2137(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15be, %ecx           # imm = 0x15BE
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x50f51
movsd 0x1030(%rsp), %xmm0
movsd %xmm0, 0x20(%r14)
leaq 0xdc086(%rip), %rsi     # 0x12cfde
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e736
cmpl $0x1, %eax
jne 0x50fb6
leaq 0x9d471(%rip), %rsi     # 0xee3f0
leaq 0xb2793(%rip), %rdx     # 0x103719
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9d092(%rip), %rsi     # 0xee034
leaq 0xb20b9(%rip), %rdx     # 0x103062
movq %rbx, %rdi
movl $0x15bf, %ecx           # imm = 0x15BF
jmp 0x5027b
cmpl $0x1, 0x430(%rsp)
jne 0x4ffc0
movl 0x1030(%rsp), %eax
movl %eax, 0x2c(%r14)
jmp 0x4ffc0