// File: /workspace/github_c_makefile_star2_O2/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_read_parameters_injection
int input_read_parameters_injection(struct file_content * pfc,
                                    struct precision * ppr,
                                    struct thermodynamics * pth,
                                    ErrorMsg errmsg){

  /** Summary: */

  /** - Define local variables */
  struct injection* pin = &(pth->in);
  int flag1;
  char string1[_ARGUMENT_LENGTH_MAX_];
  string1[0]='\0';

  /** 1) DM annihilation */
  /** 1.a) Annihilation efficiency */
  /* Read */
  class_read_double("DM_annihilation_efficiency",pin->DM_annihilation_efficiency);
  class_read_double("DM_annihilation_cross_section",pin->DM_annihilation_cross_section);
  class_read_double("DM_annihilation_mass",pin->DM_annihilation_mass);
  class_read_double("DM_annihilation_fraction",pin->DM_annihilation_fraction);

  /* Test consistency of this input */
  class_test(pin->DM_annihilation_efficiency<0,
             errmsg,
             "annihilation efficiency cannot be negative");
  class_test(pin->DM_annihilation_efficiency>1.e-4,
             errmsg,
             "annihilation parameter suspiciously large (%e, while typical bounds are in the range of 1e-7 to 1e-6)",pin->DM_annihilation_efficiency);
  class_test(pin->DM_annihilation_mass<0. || pin->DM_annihilation_cross_section <0,
             errmsg,
             "Both mass and cross section for your dark matter particle must be positive.");
  class_test(pin->DM_annihilation_mass ==0 && pin->DM_annihilation_cross_section >0,
             errmsg,
             "you have annihilation_cross_section > 0 but DM_mass = 0. That is weird, please check your param file and set 'DM_mass' [GeV] to a non-zero value.\n");
  class_test((pin->DM_annihilation_cross_section !=0 || pin->DM_annihilation_mass !=0 || pin->DM_annihilation_fraction !=0) && pin->DM_annihilation_efficiency != 0,
             errmsg,
             "You can only enter one of {'DM_annihilation_cross_section', 'DM_annihilation_mass', 'DM_annihilation_fraction'} or 'annihilation_efficiency'.");
  if ((pin->DM_annihilation_efficiency >0) && (pth->reio_parametrization == reio_none) && (ppr->recfast_Heswitch >= 3) && (pth->recombination==recfast) && (pth->thermodynamics_verbose > 0)) {
    printf("Warning: if you have DM annihilation and you use recfast with option recfast_Heswitch >= 3, then the expression for CfHe_t and dy[1] becomes undefined at late times, producing nan's. This is however masked by reionization if you are not in reio_none mode.");
  }

  /* Complete set of parameters */
  if (pin->DM_annihilation_mass > 0 && pin->DM_annihilation_cross_section > 0.){
    pin->DM_annihilation_efficiency = pin->DM_annihilation_cross_section*1.e-6/(pin->DM_annihilation_mass*_eV_*1.e9)*pow(pin->DM_annihilation_fraction,2);
  }

  if (pin->DM_annihilation_efficiency > 0){
    pth->has_exotic_injection = _TRUE_;
  }

  if (pin->DM_annihilation_efficiency > 0.) {
    /** 1.a.1) Model energy fraction absorbed by the gas as a function of redhsift */
    /* Read */
    class_read_double("DM_annihilation_variation",pin->DM_annihilation_variation);
    class_read_double("DM_annihilation_z",pin->DM_annihilation_z);
    class_read_double("DM_annihilation_zmax",pin->DM_annihilation_zmax);
    class_read_double("DM_annihilation_zmin",pin->DM_annihilation_zmin);
    class_read_double("DM_annihilation_f_halo",pin->DM_annihilation_f_halo);
    class_read_double("DM_annihilation_z_halo",pin->DM_annihilation_z_halo);
    /* Test */
    class_test(pin->DM_annihilation_variation>0,
               errmsg,
               "annihilation variation parameter must be negative (decreasing annihilation rate)");
    class_test(pin->DM_annihilation_z<0,
               errmsg,
               "characteristic annihilation redshift cannot be negative");
    class_test(pin->DM_annihilation_zmin<0,
               errmsg,
               "characteristic annihilation redshift cannot be negative");
    class_test(pin->DM_annihilation_zmax<0,
               errmsg,
               "characteristic annihilation redshift cannot be negative");
    class_test(pin->DM_annihilation_f_halo<0,
               errmsg,
               "Parameter for DM annihilation in halos cannot be negative");
    class_test(pin->DM_annihilation_z_halo<0,
               errmsg,
               "Parameter for DM annihilation in halos cannot be negative");
  }

  /** 2) DM decay */
  /** 2.a) Fraction */
  /* Read */
  class_read_double("DM_decay_fraction",pin->DM_decay_fraction);
  if (pin->DM_decay_fraction!=0){
    pth->has_exotic_injection = _TRUE_;
  }
  /* Test */
  class_test(pin->DM_decay_fraction<0,
             errmsg,
             "You need to enter a positive fraction of decaying DM. Please adjust your param file.");

  /** 2.b) Decay width */
  /* Read */
  class_read_double("DM_decay_Gamma",pin->DM_decay_Gamma);


  /** 3) PBH evaporation */
  /** 3.a) Fraction */
  /* Read */
  class_read_double("PBH_evaporation_fraction",pin->PBH_evaporation_fraction);
  if (pin->PBH_evaporation_fraction!=0){
    pth->has_exotic_injection = _TRUE_;
  }
  /* Test */
  class_test(pin->PBH_evaporation_fraction <0.,
             errmsg,
             "You need to enter a positive fraction of evaporating PBH. Please adjust your param file.");

  /** 3.b) Mass */
  /* Read */
  class_read_double("PBH_evaporation_mass",pin->PBH_evaporation_mass);
  /* Test */
  class_test(pin->PBH_evaporation_mass<0.,
             errmsg,
             "You need to enter a positive mass for your PBH.");
  class_test(pin->PBH_evaporation_mass>0. && pin->PBH_evaporation_fraction == 0,
             errmsg,
             "You have 'PBH_evaporation_mass > 0.' but 'PBH_evaporation_fraction = 0'. Please adjust your param file.");
  class_test(pin->PBH_evaporation_fraction>0. && pin->PBH_evaporation_mass == 0.,
             errmsg,
             "You have asked for a fraction of PBH being DM but you have zero mass. Please adjust your param file.");


  /** 4) PBH matter accretion */
  /** 4.a) Fraction */
  /* Read */
  class_read_double("PBH_accretion_fraction",pin->PBH_accretion_fraction);
  if (pin->PBH_accretion_fraction!=0){
    pth->has_exotic_injection = _TRUE_;
  }
  /* Test */
  class_test(pin->PBH_accretion_fraction < 0.,
             errmsg,
             "You need to enter a positive fraction of accreting PBH. Please adjust your param file.");

  /** 4.b) Mass */
  /* Read */
  class_read_double("PBH_accretion_mass",pin->PBH_accretion_mass);
  /* Test */
  class_test(pin->PBH_accretion_mass<0.,
             errmsg,
             "You need to enter a positive mass for your PBH.");
  class_test(pin->PBH_accretion_mass>0. && pin->PBH_accretion_fraction == 0,
             errmsg,
             "You have 'PBH_accretion_mass > 0.' but 'PBH_accretion_fraction = 0'. Please adjust your param file.");
  class_test(pin->PBH_accretion_fraction>0. && pin->PBH_accretion_mass == 0.,
             errmsg,
             "You have asked for a fraction of PBH being DM but you have zero mass. Please adjust your param file.");

  /** 4.c) Recipe */
  /* Read */
  class_call(parser_read_string(pfc,"PBH_accretion_recipe",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
  /* Complete set of parameters */
  if (flag1 == _TRUE_){
    if (strcmp(string1,"spherical_accretion") == 0) {
      pin->PBH_accretion_recipe=spherical_accretion;
    }
    else if (strcmp(string1,"disk_accretion") == 0) {
      pin->PBH_accretion_recipe=disk_accretion;
    }
    else{
      class_stop(errmsg,
                 "You specified 'PBH_accretion_recipe' as '%s'. It has to be one of {'spherical_accretion','disk_accretion'}.",string1);
    }
  }

  /** 4.c.1) Additional parameters specific for spherical accretion */
  if (pin->PBH_accretion_recipe == spherical_accretion){
    /* Read */
    class_read_double("PBH_accretion_relative_velocities",pin->PBH_accretion_relative_velocities);
  }

  /** 4.c.2) Additional parameters specific for disk accretion */
  if (pin->PBH_accretion_recipe == disk_accretion){
    /* Read */
    class_read_double("PBH_accretion_ADAF_delta",pin->PBH_accretion_ADAF_delta);
    class_read_double("PBH_accretion_eigenvalue",pin->PBH_accretion_eigenvalue);
    /* Test */
    class_test(pin->PBH_accretion_ADAF_delta != 1e-3 && pin->PBH_accretion_ADAF_delta != 0.5  && pin->PBH_accretion_ADAF_delta != 0.1,
               errmsg,
               "The parameter 'pth->PBH_ADAF_delta' can currently only be set to 1e-3, 0.1 or 0.5.");
  }


  /** 5) Injection efficiency */
  /* Read */
  class_call(parser_read_string(pfc,"f_eff_type",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
  /* Complete set of parameters */
  if (flag1 == _TRUE_){
    if (strcmp(string1,"on_the_spot") == 0){
      pin->f_eff_type = f_eff_on_the_spot;
      class_read_double("f_eff",pin->f_eff);
    }
    else if (strcmp(string1,"from_file") == 0){
      pin->f_eff_type = f_eff_from_file;
      /* Read */
      class_call(parser_read_string(pfc,"f_eff_file",&string1,&flag1,errmsg),
                 errmsg,
                 errmsg);
      /* Test */
      class_test(flag1 == _FALSE_,
                 errmsg,
                 "for the option 'from_file' for 'f_eff_type' the option 'f_eff_file' is required.");
      /* Complete set of parameters */
      strcpy(pin->f_eff_file, string1);
    }
    else{
      class_stop(errmsg,
                 "You specified 'f_eff_type' as '%s'. It has to be one of {'on_the_spot','from_file'}.",string1);
    }
  }

  /** 6) deposition function */
  /* Read */
  class_call(parser_read_string(pfc,"chi_type",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
  /* Complete set of parameters */
  if (flag1 == _TRUE_){
    if (strcmp(string1,"CK_2004") == 0){
      pin->chi_type = chi_CK;
    }
    else if (strcmp(string1,"PF_2005") == 0){
      pin->chi_type = chi_PF;
    }
    else if (strcmp(string1,"Galli_2013_file") == 0){
      pin->chi_type = chi_Galli_file;
    }
    else if (strcmp(string1,"Galli_2013_analytic") == 0){
      pin->chi_type = chi_Galli_analytic;
    }
    else if (strcmp(string1,"heat") == 0){
      pin->chi_type = chi_full_heating;
    }
    else if (strcmp(string1,"from_x_file") == 0){
      pin->chi_type = chi_from_x_file;
    }
    else if (strcmp(string1,"from_z_file") == 0){
      pin->chi_type = chi_from_z_file;
    }
    else{
      class_stop(errmsg,
                 "You specified 'chi_type' as '%s'. It has to be one of {'CK_2004','PF_2005','Galli_2013_file','Galli_2013_analytic','heat','from_x_file','from_z_file'}.",string1);
    }
  }

  if (pin->chi_type == chi_from_x_file || pin->chi_type == chi_from_z_file){
    /** 6.a) External file */
    /* Read */
    class_call(parser_read_string(pfc,"chi_file",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Test */
    class_test(flag1 == _FALSE_,
               errmsg,
               "for the option 'from_x_file' or 'from_z_file' for 'chi_type' the option 'chi_file' is required.");
    /* Complete set of parameters */
    strcpy(pin->chi_z_file, string1);
    strcpy(pin->chi_x_file, string1);
  }

  return _SUCCESS_;

}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1418, %rsp           # imm = 0x1418
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %r15
movb $0x0, 0x1010(%rsp)
leaq 0xaddd2(%rip), %rsi     # 0xf8874
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4aaf7
leaq 0x9a930(%rip), %rsi     # 0xe53f0
leaq 0xaddc8(%rip), %rdx     # 0xf888f
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a551(%rip), %rsi     # 0xe5034
leaq 0xaddf8(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1415, %ecx           # imm = 0x1415
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4ab0d
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xc0(%r14)
leaq 0xaddee(%rip), %rsi     # 0xf8902
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4ab6c
leaq 0x9a8bb(%rip), %rsi     # 0xe53f0
leaq 0xadde4(%rip), %rdx     # 0xf8920
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a4dc(%rip), %rsi     # 0xe5034
leaq 0xadd83(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1416, %ecx           # imm = 0x1416
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4ab82
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xc8(%r14)
leaq 0xadded(%rip), %rsi     # 0xf8976
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4abde
leaq 0x9a846(%rip), %rsi     # 0xe53f0
leaq 0xaddda(%rip), %rdx     # 0xf898b
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a467(%rip), %rsi     # 0xe5034
leaq 0xadd0e(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1417, %ecx           # imm = 0x1417
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4abf4
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xd0(%r14)
leaq 0xadddd(%rip), %rsi     # 0xf89d8
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4ac6a
leaq 0x9a7d4(%rip), %rsi     # 0xe53f0
leaq 0xaddce(%rip), %rdx     # 0xf89f1
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a3f5(%rip), %rsi     # 0xe5034
leaq 0xadc9c(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1418, %ecx           # imm = 0x1418
movq %r14, %r8
xorl %eax, %eax
callq 0x2e014
pushq $0x1
popq %rax
addq $0x1418, %rsp           # imm = 0x1418
popq %rbx
popq %r12
popq %r14
popq %r15
retq
cmpl $0x1, 0x8(%rsp)
jne 0x4ac80
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xd8(%r14)
movsd 0xc0(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x4ace7
leaq 0xadda8(%rip), %rsi     # 0xf8a42
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x9a3cf(%rip), %rsi     # 0xe5082
leaq 0xaddb3(%rip), %rdx     # 0xf8a6d
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a361(%rip), %rsi     # 0xe5034
leaq 0xadc08(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x141d, %ecx           # imm = 0x141D
jmp 0x4adb3
ucomisd 0x9b029(%rip), %xmm0    # 0xe5d18
jbe 0x4ad42
leaq 0xadd97(%rip), %rsi     # 0xf8a8f
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movb $0x1, %al
callq 0x2e014
leaq 0x9a371(%rip), %rsi     # 0xe5082
leaq 0xadddd(%rip), %rdx     # 0xf8af5
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a303(%rip), %rsi     # 0xe5034
leaq 0xadbaa(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1420, %ecx           # imm = 0x1420
jmp 0x4adb3
movsd 0xd0(%r14), %xmm1
xorpd %xmm3, %xmm3
ucomisd %xmm1, %xmm3
ja 0x4ad64
movsd 0xc8(%r14), %xmm2
ucomisd %xmm2, %xmm3
jbe 0x4adbb
leaq 0xaddb0(%rip), %rsi     # 0xf8b1b
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x9a2fe(%rip), %rsi     # 0xe5082
leaq 0xadddc(%rip), %rdx     # 0xf8b67
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a290(%rip), %rsi     # 0xe5034
leaq 0xadb37(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1423, %ecx           # imm = 0x1423
movq %r15, %r8
jmp 0x4ac51
ucomisd %xmm3, %xmm1
jne 0x4ae1a
jp 0x4ae1a
ucomisd %xmm3, %xmm2
jbe 0x4ae1a
leaq 0xadddd(%rip), %rsi     # 0xf8bad
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x9a299(%rip), %rsi     # 0xe5082
leaq 0xade50(%rip), %rdx     # 0xf8c40
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a22b(%rip), %rsi     # 0xe5034
leaq 0xadad2(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1426, %ecx           # imm = 0x1426
jmp 0x4adb3
ucomisd %xmm3, %xmm1
jne 0x4ae41
jp 0x4ae41
ucomisd %xmm3, %xmm2
jne 0x4ae41
jp 0x4ae41
ucomisd %xmm3, %xmm0
jne 0x4ae32
jnp 0x4aea1
movsd 0xd8(%r14), %xmm2
ucomisd %xmm3, %xmm2
jmp 0x4ae49
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x4ae4d
jnp 0x4aea1
leaq 0xade33(%rip), %rsi     # 0xf8c87
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x9a215(%rip), %rsi     # 0xe5082
leaq 0xadea1(%rip), %rdx     # 0xf8d15
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a1a7(%rip), %rsi     # 0xe5034
leaq 0xada4e(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1429, %ecx           # imm = 0x1429
jmp 0x4adb3
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jbe 0x4aeea
cmpl $0x0, 0x18(%r14)
jne 0x4aeea
cmpl $0x3, 0x200(%r12)
jl 0x4aeea
cmpl $0x0, 0x10(%r14)
jne 0x4aeea
cmpw $0x0, 0x1060(%r14)
jle 0x4aeea
leaq 0xaded6(%rip), %rdi     # 0xf8dac
xorl %eax, %eax
callq 0x8030
xorpd %xmm2, %xmm2
movsd 0xd0(%r14), %xmm1
ucomisd %xmm2, %xmm1
jbe 0x4af37
movsd 0xc8(%r14), %xmm0
ucomisd %xmm2, %xmm0
jbe 0x4af37
mulsd 0x9adc9(%rip), %xmm0    # 0xe5cd0
mulsd 0x9ebf9(%rip), %xmm1    # 0xe9b08
mulsd 0x9ec31(%rip), %xmm1    # 0xe9b48
divsd %xmm1, %xmm0
movsd 0xd8(%r14), %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0xc0(%r14)
jmp 0x4af40
movsd 0xc0(%r14), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x4b458
movw $0x1, 0xb8(%r14)
leaq 0xadf4d(%rip), %rsi     # 0xf8eac
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4afb7
leaq 0x9a470(%rip), %rsi     # 0xe53f0
leaq 0xadf3f(%rip), %rdx     # 0xf8ec6
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a091(%rip), %rsi     # 0xe5034
leaq 0xad938(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x143a, %ecx           # imm = 0x143A
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4afcd
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xe0(%r14)
leaq 0xadf44(%rip), %rsi     # 0xf8f18
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b02c
leaq 0x9a3fb(%rip), %rsi     # 0xe53f0
leaq 0xadf2e(%rip), %rdx     # 0xf8f2a
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9a01c(%rip), %rsi     # 0xe5034
leaq 0xad8c3(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x143b, %ecx           # imm = 0x143B
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b042
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xe8(%r14)
leaq 0xadf2b(%rip), %rsi     # 0xf8f74
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b0a1
leaq 0x9a386(%rip), %rsi     # 0xe53f0
leaq 0xadf18(%rip), %rdx     # 0xf8f89
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99fa7(%rip), %rsi     # 0xe5034
leaq 0xad84e(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x143c, %ecx           # imm = 0x143C
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b0b7
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xf0(%r14)
leaq 0xadf18(%rip), %rsi     # 0xf8fd6
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b116
leaq 0x9a311(%rip), %rsi     # 0xe53f0
leaq 0xadf05(%rip), %rdx     # 0xf8feb
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99f32(%rip), %rsi     # 0xe5034
leaq 0xad7d9(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x143d, %ecx           # imm = 0x143D
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b12c
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xf8(%r14)
leaq 0xadf05(%rip), %rsi     # 0xf9038
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b18b
leaq 0x9a29c(%rip), %rsi     # 0xe53f0
leaq 0xadef4(%rip), %rdx     # 0xf904f
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99ebd(%rip), %rsi     # 0xe5034
leaq 0xad764(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x143e, %ecx           # imm = 0x143E
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b1a1
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x100(%r14)
leaq 0xadef6(%rip), %rsi     # 0xf909e
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b200
leaq 0x9a227(%rip), %rsi     # 0xe53f0
leaq 0xadee5(%rip), %rdx     # 0xf90b5
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99e48(%rip), %rsi     # 0xe5034
leaq 0xad6ef(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x143f, %ecx           # imm = 0x143F
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b216
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x108(%r14)
movsd 0xe0(%r14), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x4b27d
leaq 0xaded4(%rip), %rsi     # 0xf9104
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99e39(%rip), %rsi     # 0xe5082
leaq 0xadf05(%rip), %rdx     # 0xf9155
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99dcb(%rip), %rsi     # 0xe5034
leaq 0xad672(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1443, %ecx           # imm = 0x1443
jmp 0x4adb3
ucomisd 0xe8(%r14), %xmm0
jbe 0x4b2dc
leaq 0xadee7(%rip), %rsi     # 0xf9176
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99dda(%rip), %rsi     # 0xe5082
leaq 0xadeff(%rip), %rdx     # 0xf91ae
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99d6c(%rip), %rsi     # 0xe5034
leaq 0xad613(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1446, %ecx           # imm = 0x1446
jmp 0x4adb3
ucomisd 0xf8(%r14), %xmm0
jbe 0x4b33b
leaq 0xade88(%rip), %rsi     # 0xf9176
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99d7b(%rip), %rsi     # 0xe5082
leaq 0xadeb9(%rip), %rdx     # 0xf91c7
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99d0d(%rip), %rsi     # 0xe5034
leaq 0xad5b4(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1449, %ecx           # imm = 0x1449
jmp 0x4adb3
ucomisd 0xf0(%r14), %xmm0
jbe 0x4b39a
leaq 0xade29(%rip), %rsi     # 0xf9176
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99d1c(%rip), %rsi     # 0xe5082
leaq 0xade76(%rip), %rdx     # 0xf91e3
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99cae(%rip), %rsi     # 0xe5034
leaq 0xad555(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x144c, %ecx           # imm = 0x144C
jmp 0x4adb3
ucomisd 0x100(%r14), %xmm0
jbe 0x4b3f9
leaq 0xade53(%rip), %rsi     # 0xf91ff
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99cbd(%rip), %rsi     # 0xe5082
leaq 0xade6d(%rip), %rdx     # 0xf9239
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99c4f(%rip), %rsi     # 0xe5034
leaq 0xad4f6(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x144f, %ecx           # imm = 0x144F
jmp 0x4adb3
ucomisd 0x108(%r14), %xmm0
jbe 0x4b458
leaq 0xaddf4(%rip), %rsi     # 0xf91ff
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99c5e(%rip), %rsi     # 0xe5082
leaq 0xade2c(%rip), %rdx     # 0xf9257
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99bf0(%rip), %rsi     # 0xe5034
leaq 0xad497(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1452, %ecx           # imm = 0x1452
jmp 0x4adb3
leaq 0xade16(%rip), %rsi     # 0xf9275
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b4b7
leaq 0x99f70(%rip), %rsi     # 0xe53f0
leaq 0xade00(%rip), %rdx     # 0xf9287
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99b91(%rip), %rsi     # 0xe5034
leaq 0xad438(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1458, %ecx           # imm = 0x1458
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b4cf
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x110(%r14)
jmp 0x4b4d8
movsd 0x110(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4b4e4
jnp 0x4b4ee
movw $0x1, 0xb8(%r14)
ucomisd %xmm0, %xmm1
jbe 0x4b548
leaq 0xaddd6(%rip), %rsi     # 0xf92d1
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99b6e(%rip), %rsi     # 0xe5082
leaq 0xade0b(%rip), %rdx     # 0xf9326
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99b00(%rip), %rsi     # 0xe5034
leaq 0xad3a7(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x145f, %ecx           # imm = 0x145F
jmp 0x4adb3
leaq 0xaddf0(%rip), %rsi     # 0xf933f
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b5a7
leaq 0x99e80(%rip), %rsi     # 0xe53f0
leaq 0xaddd7(%rip), %rdx     # 0xf934e
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99aa1(%rip), %rsi     # 0xe5034
leaq 0xad348(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1463, %ecx           # imm = 0x1463
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b5bd
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x118(%r14)
leaq 0xaddd1(%rip), %rsi     # 0xf9395
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b61c
leaq 0x99e0b(%rip), %rsi     # 0xe53f0
leaq 0xaddc2(%rip), %rdx     # 0xf93ae
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99a2c(%rip), %rsi     # 0xe5034
leaq 0xad2d3(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1469, %ecx           # imm = 0x1469
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b634
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x120(%r14)
jmp 0x4b63d
movsd 0x120(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4b649
jnp 0x4b653
movw $0x1, 0xb8(%r14)
ucomisd %xmm0, %xmm1
jbe 0x4b6ad
leaq 0xadd9f(%rip), %rsi     # 0xf93ff
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99a09(%rip), %rsi     # 0xe5082
leaq 0xaddd8(%rip), %rdx     # 0xf9458
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9999b(%rip), %rsi     # 0xe5034
leaq 0xad242(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1470, %ecx           # imm = 0x1470
jmp 0x4adb3
leaq 0xaddc6(%rip), %rsi     # 0xf947a
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b70c
leaq 0x99d1b(%rip), %rsi     # 0xe53f0
leaq 0xaddb3(%rip), %rdx     # 0xf948f
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9993c(%rip), %rsi     # 0xe5034
leaq 0xad1e3(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1474, %ecx           # imm = 0x1474
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b724
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x128(%r14)
jmp 0x4b72d
movsd 0x128(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x4b78b
leaq 0xadd9e(%rip), %rsi     # 0xf94dc
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x9992b(%rip), %rsi     # 0xe5082
leaq 0xaddae(%rip), %rdx     # 0xf950c
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x998bd(%rip), %rsi     # 0xe5034
leaq 0xad164(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1478, %ecx           # imm = 0x1478
jmp 0x4adb3
ucomisd %xmm1, %xmm0
movsd 0x120(%r14), %xmm1
jbe 0x4b7fa
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0x4b7fa
jp 0x4b7fa
leaq 0xadd7c(%rip), %rsi     # 0xf9529
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x998bc(%rip), %rsi     # 0xe5082
leaq 0xaddc4(%rip), %rdx     # 0xf9591
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9984e(%rip), %rsi     # 0xe5034
leaq 0xad0f5(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x147b, %ecx           # imm = 0x147B
jmp 0x4adb3
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x4b860
jp 0x4b860
ucomisd %xmm2, %xmm1
jbe 0x4b860
leaq 0xaddc1(%rip), %rsi     # 0xf95d4
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99856(%rip), %rsi     # 0xe5082
leaq 0xade06(%rip), %rdx     # 0xf9639
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x997e8(%rip), %rsi     # 0xe5034
leaq 0xad08f(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x147e, %ecx           # imm = 0x147E
jmp 0x4adb3
leaq 0xade16(%rip), %rsi     # 0xf967d
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b8bf
leaq 0x99b68(%rip), %rsi     # 0xe53f0
leaq 0xade05(%rip), %rdx     # 0xf9694
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99789(%rip), %rsi     # 0xe5034
leaq 0xad030(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1484, %ecx           # imm = 0x1484
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b8d7
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x130(%r14)
jmp 0x4b8e0
movsd 0x130(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4b8ec
jnp 0x4b8f6
movw $0x1, 0xb8(%r14)
ucomisd %xmm0, %xmm1
jbe 0x4b950
leaq 0xadde0(%rip), %rsi     # 0xf96e3
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99766(%rip), %rsi     # 0xe5082
leaq 0xade17(%rip), %rdx     # 0xf973a
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x996f8(%rip), %rsi     # 0xe5034
leaq 0xacf9f(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x148b, %ecx           # imm = 0x148B
jmp 0x4adb3
leaq 0xade04(%rip), %rsi     # 0xf975b
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4b9af
leaq 0x99a78(%rip), %rsi     # 0xe53f0
leaq 0xaddef(%rip), %rdx     # 0xf976e
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99699(%rip), %rsi     # 0xe5034
leaq 0xacf40(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x148f, %ecx           # imm = 0x148F
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4b9c7
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x138(%r14)
jmp 0x4b9d0
movsd 0x138(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x4ba2e
leaq 0xadafb(%rip), %rsi     # 0xf94dc
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99688(%rip), %rsi     # 0xe5082
leaq 0xaddb8(%rip), %rdx     # 0xf97b9
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9961a(%rip), %rsi     # 0xe5034
leaq 0xacec1(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1493, %ecx           # imm = 0x1493
jmp 0x4adb3
ucomisd %xmm1, %xmm0
movsd 0x130(%r14), %xmm1
jbe 0x4ba9d
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0x4ba9d
jp 0x4ba9d
leaq 0xadd84(%rip), %rsi     # 0xf97d4
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99619(%rip), %rsi     # 0xe5082
leaq 0xaddc8(%rip), %rdx     # 0xf9838
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x995ab(%rip), %rsi     # 0xe5034
leaq 0xace52(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1496, %ecx           # imm = 0x1496
jmp 0x4adb3
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x4bb03
jp 0x4bb03
ucomisd %xmm2, %xmm1
jbe 0x4bb03
leaq 0xadb1e(%rip), %rsi     # 0xf95d4
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x995b3(%rip), %rsi     # 0xe5082
leaq 0xadda1(%rip), %rdx     # 0xf9877
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99545(%rip), %rsi     # 0xe5034
leaq 0xacdec(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1499, %ecx           # imm = 0x1499
jmp 0x4adb3
leaq 0xd4759(%rip), %rsi     # 0x120263
leaq 0x1010(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x4bb65
leaq 0x998c2(%rip), %rsi     # 0xe53f0
leaq 0xadd82(%rip), %rdx     # 0xf98b7
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x994e3(%rip), %rsi     # 0xe5034
leaq 0xacd8a(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x149f, %ecx           # imm = 0x149F
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4bc03
leaq 0xadd86(%rip), %rsi     # 0xf98fd
leaq 0x1010(%rsp), %rdi
pushq $0x14
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4bc14
leaq 0xadd7b(%rip), %rsi     # 0xf9911
leaq 0x1010(%rsp), %rdi
pushq $0xf
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4bda1
leaq 0xadd6b(%rip), %rsi     # 0xf9920
leaq 0x810(%rsp), %r14
leaq 0x1010(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x999af(%rip), %rsi     # 0xe5585
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2e014
leaq 0x99445(%rip), %rsi     # 0xe5034
leaq 0xaccec(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14aa, %ecx           # imm = 0x14AA
jmp 0x4adb3
movl 0x140(%r14), %eax
testl %eax, %eax
jne 0x4bc98
jmp 0x4bc1c
andl $0x0, 0x140(%r14)
leaq 0xadd69(%rip), %rsi     # 0xf998c
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4bc7b
leaq 0x997ac(%rip), %rsi     # 0xe53f0
leaq 0xadd63(%rip), %rdx     # 0xf99ae
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x993cd(%rip), %rsi     # 0xe5034
leaq 0xacc74(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14b1, %ecx           # imm = 0x14B1
jmp 0x4ac4e
cmpl $0x1, 0xc(%rsp)
jne 0x4bc91
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x148(%r14)
movl 0x140(%r14), %eax
cmpl $0x1, %eax
je 0x4bdac
leaq 0xadefd(%rip), %rsi     # 0xf9ba5
leaq 0x1010(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x4bd03
leaq 0x99724(%rip), %rsi     # 0xe53f0
leaq 0xadedd(%rip), %rdx     # 0xf9bb0
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99345(%rip), %rsi     # 0xe5034
leaq 0xacbec(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14c4, %ecx           # imm = 0x14C4
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4c032
leaq 0xaded7(%rip), %rsi     # 0xf9bec
leaq 0x1010(%rsp), %rdi
pushq $0xc
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4bf23
leaq 0x9e446(%rip), %rsi     # 0xea17a
leaq 0x1010(%rsp), %rdi
pushq $0xa
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4bf8e
leaq 0xadf81(%rip), %rsi     # 0xf9cd4
leaq 0x810(%rsp), %r14
leaq 0x1010(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99811(%rip), %rsi     # 0xe5585
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2e014
leaq 0x992a7(%rip), %rsi     # 0xe5034
leaq 0xacb4e(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14da, %ecx           # imm = 0x14DA
jmp 0x4adb3
movl $0x1, 0x140(%r14)
leaq 0xadc55(%rip), %rsi     # 0xf9a08
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4be0b
leaq 0x9961c(%rip), %rsi     # 0xe53f0
leaq 0xadc46(%rip), %rdx     # 0xf9a21
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9923d(%rip), %rsi     # 0xe5034
leaq 0xacae4(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14b7, %ecx           # imm = 0x14B7
jmp 0x4ac4e
cmpl $0x1, 0xc(%rsp)
jne 0x4be21
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x150(%r14)
leaq 0xadc4a(%rip), %rsi     # 0xf9a72
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4be80
leaq 0x995a7(%rip), %rsi     # 0xe53f0
leaq 0xadc3b(%rip), %rdx     # 0xf9a8b
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x991c8(%rip), %rsi     # 0xe5034
leaq 0xaca6f(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14b8, %ecx           # imm = 0x14B8
jmp 0x4ac4e
cmpl $0x1, 0xc(%rsp)
jne 0x4be96
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x158(%r14)
movsd 0x150(%r14), %xmm0
ucomisd 0x993e9(%rip), %xmm0    # 0xe5290
jne 0x4beaf
jnp 0x4bca1
ucomisd 0x99e71(%rip), %xmm0    # 0xe5d28
jne 0x4bebf
jnp 0x4bca1
ucomisd 0x99de9(%rip), %xmm0    # 0xe5cb0
jne 0x4becf
jnp 0x4bca1
leaq 0xadc06(%rip), %rsi     # 0xf9adc
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99193(%rip), %rsi     # 0xe5082
leaq 0xadc39(%rip), %rdx     # 0xf9b2f
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x99125(%rip), %rsi     # 0xe5034
leaq 0xac9cc(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14bc, %ecx           # imm = 0x14BC
jmp 0x4adb3
andl $0x0, 0x160(%r14)
leaq 0xadcc6(%rip), %rsi     # 0xf9bf8
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1c775
cmpl $0x1, %eax
jne 0x4bffb
leaq 0x99499(%rip), %rsi     # 0xe53f0
leaq 0xadca0(%rip), %rdx     # 0xf9bfe
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x990ba(%rip), %rsi     # 0xe5034
leaq 0xac961(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14c9, %ecx           # imm = 0x14C9
jmp 0x4ac4e
movl $0x1, 0x160(%r14)
leaq 0xadc9c(%rip), %rsi     # 0xf9c3c
leaq 0x1010(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x4c013
leaq 0x9942c(%rip), %rsi     # 0xe53f0
leaq 0xadc7c(%rip), %rdx     # 0xf9c47
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x9904d(%rip), %rsi     # 0xe5034
leaq 0xac8f4(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14d0, %ecx           # imm = 0x14D0
jmp 0x4ac4e
cmpl $0x1, 0xc(%rsp)
jne 0x4c032
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x5b0(%r14)
jmp 0x4c032
cmpl $0x0, 0x8(%rsp)
je 0x4c28b
leaq 0x164(%r14), %rdi
leaq 0x1010(%rsp), %rsi
callq 0x8370
leaq 0xadcf0(%rip), %rsi     # 0xf9d29
leaq 0x1010(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x4c094
leaq 0x99393(%rip), %rsi     # 0xe53f0
leaq 0xadcce(%rip), %rdx     # 0xf9d32
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x98fb4(%rip), %rsi     # 0xe5034
leaq 0xac85b(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14e2, %ecx           # imm = 0x14E2
jmp 0x4ac4e
cmpl $0x1, 0x8(%rsp)
jne 0x4c0d6
movq 0x1010(%rsp), %rax
movabsq $0x353030325f4650, %rcx # imm = 0x353030325F4650
cmpq %rcx, %rax
je 0x4c151
movabsq $0x343030325f4b43, %rcx # imm = 0x343030325F4B43
cmpq %rcx, %rax
jne 0x4c161
andl $0x0, 0x264(%r14)
jmp 0x4c358
movl 0x264(%r14), %ecx
addl $-0x5, %ecx
xorl %eax, %eax
cmpl $0x2, %ecx
jae 0x4ac5b
leaq 0xadd4e(%rip), %rsi     # 0xf9e40
leaq 0x1010(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1caf9
cmpl $0x1, %eax
jne 0x4c252
leaq 0x992d6(%rip), %rsi     # 0xe53f0
leaq 0xadd28(%rip), %rdx     # 0xf9e49
leaq 0x810(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x98ef7(%rip), %rsi     # 0xe5034
leaq 0xac79e(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1505, %ecx           # imm = 0x1505
jmp 0x4ac4e
movl $0x1, 0x264(%r14)
jmp 0x4c358
movdqa 0x1010(%rsp), %xmm0
pcmpeqb 0x9d7fe(%rip), %xmm0    # 0xe9970
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x4c2df
leaq 0xadbf4(%rip), %rsi     # 0xf9d7c
leaq 0x1010(%rsp), %rdi
pushq $0x14
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4c340
leaq 0xdb3c9(%rip), %rsi     # 0x127570
leaq 0x1010(%rsp), %rdi
pushq $0x5
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4c34d
leaq 0xadbca(%rip), %rsi     # 0xf9d90
leaq 0x1010(%rsp), %rdi
pushq $0xc
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4c35f
leaq 0xadbb7(%rip), %rsi     # 0xf9d9c
leaq 0x1010(%rsp), %rdi
pushq $0xc
popq %rdx
callq 0x83f0
testl %eax, %eax
je 0x4c363
leaq 0xadba4(%rip), %rsi     # 0xf9da8
leaq 0x810(%rsp), %r14
leaq 0x1010(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x99360(%rip), %rsi     # 0xe5585
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2e014
leaq 0x98df6(%rip), %rsi     # 0xe5034
leaq 0xac69d(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14fc, %ecx           # imm = 0x14FC
jmp 0x4adb3
cmpl $0x0, 0x8(%rsp)
je 0x4c2ec
leaq 0x268(%r14), %rdi
leaq 0x1010(%rsp), %rbx
movq %rbx, %rsi
callq 0x8370
addq $0x368, %r14            # imm = 0x368
movq %r14, %rdi
movq %rbx, %rsi
callq 0x8370
jmp 0x4c358
leaq 0xad9f1(%rip), %rsi     # 0xf9c83
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x98dd7(%rip), %rsi     # 0xe5082
leaq 0xa749f(%rip), %rdx     # 0xf3751
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x98d69(%rip), %rsi     # 0xe5034
leaq 0xac610(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x14d4, %ecx           # imm = 0x14D4
jmp 0x4adb3
movl $0x2, 0x264(%r14)
jmp 0x4c358
leaq 0xadb90(%rip), %rsi     # 0xf9e83
leaq 0x810(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e014
leaq 0x98d76(%rip), %rsi     # 0xe5082
leaq 0xa743e(%rip), %rdx     # 0xf3751
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x2e014
leaq 0x98d08(%rip), %rsi     # 0xe5034
leaq 0xac5af(%rip), %rdx     # 0xf88e2
movq %rbx, %rdi
movl $0x1509, %ecx           # imm = 0x1509
jmp 0x4adb3
movl $0x3, 0x264(%r14)
jmp 0x4c358
movl $0x4, 0x264(%r14)
xorl %eax, %eax
jmp 0x4ac5b
pushq $0x5
jmp 0x4c365
pushq $0x6
popq %rax
movl %eax, 0x264(%r14)
jmp 0x4c0eb