// File: /workspace/github_c_makefile_star2_O3/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, 0x810(%rsp)
leaq 0xb355c(%rip), %rsi     # 0x1019ac
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4e4a5
leaq 0x9ff82(%rip), %rsi     # 0xee3f0
leaq 0xb3552(%rip), %rdx     # 0x1019c7
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9fba3(%rip), %rsi     # 0xee034
leaq 0xb3582(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1415, %ecx           # imm = 0x1415
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4e4bb
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xc0(%r14)
leaq 0xb3578(%rip), %rsi     # 0x101a3a
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4e51a
leaq 0x9ff0d(%rip), %rsi     # 0xee3f0
leaq 0xb356e(%rip), %rdx     # 0x101a58
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9fb2e(%rip), %rsi     # 0xee034
leaq 0xb350d(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1416, %ecx           # imm = 0x1416
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4e530
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xc8(%r14)
leaq 0xb3577(%rip), %rsi     # 0x101aae
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4e58c
leaq 0x9fe98(%rip), %rsi     # 0xee3f0
leaq 0xb3564(%rip), %rdx     # 0x101ac3
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9fab9(%rip), %rsi     # 0xee034
leaq 0xb3498(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1417, %ecx           # imm = 0x1417
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4e5a2
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xd0(%r14)
leaq 0xb3567(%rip), %rsi     # 0x101b10
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4e61a
leaq 0x9fe26(%rip), %rsi     # 0xee3f0
leaq 0xb3558(%rip), %rdx     # 0x101b29
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9fa47(%rip), %rsi     # 0xee034
leaq 0xb3426(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1418, %ecx           # imm = 0x1418
movq %r14, %r8
xorl %eax, %eax
callq 0x30af0
movl $0x1, %eax
addq $0x1418, %rsp           # imm = 0x1418
popq %rbx
popq %r12
popq %r14
popq %r15
retq
cmpl $0x1, 0x8(%rsp)
jne 0x4e630
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xd8(%r14)
movsd 0xc0(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x4e697
leaq 0xb3530(%rip), %rsi     # 0x101b7a
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9fa1f(%rip), %rsi     # 0xee082
leaq 0xb353b(%rip), %rdx     # 0x101ba5
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f9b1(%rip), %rsi     # 0xee034
leaq 0xb3390(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x141d, %ecx           # imm = 0x141D
jmp 0x4e763
ucomisd 0xa0699(%rip), %xmm0    # 0xeed38
jbe 0x4e6f2
leaq 0xb351f(%rip), %rsi     # 0x101bc7
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movb $0x1, %al
callq 0x30af0
leaq 0x9f9c1(%rip), %rsi     # 0xee082
leaq 0xb3565(%rip), %rdx     # 0x101c2d
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f953(%rip), %rsi     # 0xee034
leaq 0xb3332(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1420, %ecx           # imm = 0x1420
jmp 0x4e763
movsd 0xd0(%r14), %xmm1
xorpd %xmm3, %xmm3
ucomisd %xmm1, %xmm3
ja 0x4e714
movsd 0xc8(%r14), %xmm2
ucomisd %xmm2, %xmm3
jbe 0x4e76b
leaq 0xb3538(%rip), %rsi     # 0x101c53
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f94e(%rip), %rsi     # 0xee082
leaq 0xb3564(%rip), %rdx     # 0x101c9f
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f8e0(%rip), %rsi     # 0xee034
leaq 0xb32bf(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1423, %ecx           # imm = 0x1423
movq %r15, %r8
jmp 0x4e5ff
ucomisd %xmm3, %xmm1
jne 0x4e7ca
jp 0x4e7ca
ucomisd %xmm3, %xmm2
jbe 0x4e7ca
leaq 0xb3565(%rip), %rsi     # 0x101ce5
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f8e9(%rip), %rsi     # 0xee082
leaq 0xb35d8(%rip), %rdx     # 0x101d78
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f87b(%rip), %rsi     # 0xee034
leaq 0xb325a(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1426, %ecx           # imm = 0x1426
jmp 0x4e763
ucomisd %xmm3, %xmm1
jne 0x4e7f1
jp 0x4e7f1
ucomisd %xmm3, %xmm2
jne 0x4e7f1
jp 0x4e7f1
ucomisd %xmm3, %xmm0
jne 0x4e7e2
jnp 0x4e851
movsd 0xd8(%r14), %xmm2
ucomisd %xmm3, %xmm2
jmp 0x4e7f9
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x4e7fd
jnp 0x4e851
leaq 0xb35bb(%rip), %rsi     # 0x101dbf
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f865(%rip), %rsi     # 0xee082
leaq 0xb3629(%rip), %rdx     # 0x101e4d
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f7f7(%rip), %rsi     # 0xee034
leaq 0xb31d6(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1429, %ecx           # imm = 0x1429
jmp 0x4e763
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jbe 0x4e89a
cmpl $0x0, 0x18(%r14)
jne 0x4e89a
cmpl $0x3, 0x200(%r12)
jl 0x4e89a
cmpl $0x0, 0x10(%r14)
jne 0x4e89a
cmpw $0x0, 0x1060(%r14)
jle 0x4e89a
leaq 0xb365e(%rip), %rdi     # 0x101ee4
xorl %eax, %eax
callq 0x8030
xorpd %xmm2, %xmm2
movsd 0xd0(%r14), %xmm1
ucomisd %xmm2, %xmm1
jbe 0x4e8e7
movsd 0xc8(%r14), %xmm0
ucomisd %xmm2, %xmm0
jbe 0x4e8e7
mulsd 0xa0439(%rip), %xmm0    # 0xeecf0
mulsd 0xa4389(%rip), %xmm1    # 0xf2c48
mulsd 0xa43b9(%rip), %xmm1    # 0xf2c80
divsd %xmm1, %xmm0
movsd 0xd8(%r14), %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm1
movsd %xmm1, 0xc0(%r14)
jmp 0x4e8f0
movsd 0xc0(%r14), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x4ee08
movw $0x1, 0xb8(%r14)
leaq 0xb36d5(%rip), %rsi     # 0x101fe4
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4e967
leaq 0x9fac0(%rip), %rsi     # 0xee3f0
leaq 0xb36c7(%rip), %rdx     # 0x101ffe
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f6e1(%rip), %rsi     # 0xee034
leaq 0xb30c0(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x143a, %ecx           # imm = 0x143A
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4e97d
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xe0(%r14)
leaq 0xb36cc(%rip), %rsi     # 0x102050
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4e9dc
leaq 0x9fa4b(%rip), %rsi     # 0xee3f0
leaq 0xb36b6(%rip), %rdx     # 0x102062
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f66c(%rip), %rsi     # 0xee034
leaq 0xb304b(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x143b, %ecx           # imm = 0x143B
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4e9f2
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xe8(%r14)
leaq 0xb36b3(%rip), %rsi     # 0x1020ac
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4ea51
leaq 0x9f9d6(%rip), %rsi     # 0xee3f0
leaq 0xb36a0(%rip), %rdx     # 0x1020c1
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f5f7(%rip), %rsi     # 0xee034
leaq 0xb2fd6(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x143c, %ecx           # imm = 0x143C
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4ea67
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xf0(%r14)
leaq 0xb36a0(%rip), %rsi     # 0x10210e
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4eac6
leaq 0x9f961(%rip), %rsi     # 0xee3f0
leaq 0xb368d(%rip), %rdx     # 0x102123
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f582(%rip), %rsi     # 0xee034
leaq 0xb2f61(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x143d, %ecx           # imm = 0x143D
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4eadc
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xf8(%r14)
leaq 0xb368d(%rip), %rsi     # 0x102170
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4eb3b
leaq 0x9f8ec(%rip), %rsi     # 0xee3f0
leaq 0xb367c(%rip), %rdx     # 0x102187
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f50d(%rip), %rsi     # 0xee034
leaq 0xb2eec(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x143e, %ecx           # imm = 0x143E
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4eb51
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x100(%r14)
leaq 0xb367e(%rip), %rsi     # 0x1021d6
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4ebb0
leaq 0x9f877(%rip), %rsi     # 0xee3f0
leaq 0xb366d(%rip), %rdx     # 0x1021ed
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f498(%rip), %rsi     # 0xee034
leaq 0xb2e77(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x143f, %ecx           # imm = 0x143F
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4ebc6
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x108(%r14)
movsd 0xe0(%r14), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jbe 0x4ec2d
leaq 0xb365c(%rip), %rsi     # 0x10223c
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f489(%rip), %rsi     # 0xee082
leaq 0xb368d(%rip), %rdx     # 0x10228d
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f41b(%rip), %rsi     # 0xee034
leaq 0xb2dfa(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1443, %ecx           # imm = 0x1443
jmp 0x4e763
ucomisd 0xe8(%r14), %xmm0
jbe 0x4ec8c
leaq 0xb366f(%rip), %rsi     # 0x1022ae
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f42a(%rip), %rsi     # 0xee082
leaq 0xb3687(%rip), %rdx     # 0x1022e6
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f3bc(%rip), %rsi     # 0xee034
leaq 0xb2d9b(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1446, %ecx           # imm = 0x1446
jmp 0x4e763
ucomisd 0xf8(%r14), %xmm0
jbe 0x4eceb
leaq 0xb3610(%rip), %rsi     # 0x1022ae
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f3cb(%rip), %rsi     # 0xee082
leaq 0xb3641(%rip), %rdx     # 0x1022ff
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f35d(%rip), %rsi     # 0xee034
leaq 0xb2d3c(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1449, %ecx           # imm = 0x1449
jmp 0x4e763
ucomisd 0xf0(%r14), %xmm0
jbe 0x4ed4a
leaq 0xb35b1(%rip), %rsi     # 0x1022ae
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f36c(%rip), %rsi     # 0xee082
leaq 0xb35fe(%rip), %rdx     # 0x10231b
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f2fe(%rip), %rsi     # 0xee034
leaq 0xb2cdd(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x144c, %ecx           # imm = 0x144C
jmp 0x4e763
ucomisd 0x100(%r14), %xmm0
jbe 0x4eda9
leaq 0xb35db(%rip), %rsi     # 0x102337
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f30d(%rip), %rsi     # 0xee082
leaq 0xb35f5(%rip), %rdx     # 0x102371
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f29f(%rip), %rsi     # 0xee034
leaq 0xb2c7e(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x144f, %ecx           # imm = 0x144F
jmp 0x4e763
ucomisd 0x108(%r14), %xmm0
jbe 0x4ee08
leaq 0xb357c(%rip), %rsi     # 0x102337
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f2ae(%rip), %rsi     # 0xee082
leaq 0xb35b4(%rip), %rdx     # 0x10238f
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f240(%rip), %rsi     # 0xee034
leaq 0xb2c1f(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1452, %ecx           # imm = 0x1452
jmp 0x4e763
leaq 0xb359e(%rip), %rsi     # 0x1023ad
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4ee67
leaq 0x9f5c0(%rip), %rsi     # 0xee3f0
leaq 0xb3588(%rip), %rdx     # 0x1023bf
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f1e1(%rip), %rsi     # 0xee034
leaq 0xb2bc0(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1458, %ecx           # imm = 0x1458
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4ee7f
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x110(%r14)
jmp 0x4ee88
movsd 0x110(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4ee94
jnp 0x4ee9e
movw $0x1, 0xb8(%r14)
ucomisd %xmm0, %xmm1
jbe 0x4eef8
leaq 0xb355e(%rip), %rsi     # 0x102409
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f1be(%rip), %rsi     # 0xee082
leaq 0xb3593(%rip), %rdx     # 0x10245e
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f150(%rip), %rsi     # 0xee034
leaq 0xb2b2f(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x145f, %ecx           # imm = 0x145F
jmp 0x4e763
leaq 0xb3578(%rip), %rsi     # 0x102477
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4ef57
leaq 0x9f4d0(%rip), %rsi     # 0xee3f0
leaq 0xb355f(%rip), %rdx     # 0x102486
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f0f1(%rip), %rsi     # 0xee034
leaq 0xb2ad0(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1463, %ecx           # imm = 0x1463
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4ef6d
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x118(%r14)
leaq 0xb3559(%rip), %rsi     # 0x1024cd
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4efcc
leaq 0x9f45b(%rip), %rsi     # 0xee3f0
leaq 0xb354a(%rip), %rdx     # 0x1024e6
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9f07c(%rip), %rsi     # 0xee034
leaq 0xb2a5b(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1469, %ecx           # imm = 0x1469
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4efe4
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x120(%r14)
jmp 0x4efed
movsd 0x120(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4eff9
jnp 0x4f003
movw $0x1, 0xb8(%r14)
ucomisd %xmm0, %xmm1
jbe 0x4f05d
leaq 0xb3527(%rip), %rsi     # 0x102537
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9f059(%rip), %rsi     # 0xee082
leaq 0xb3560(%rip), %rdx     # 0x102590
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9efeb(%rip), %rsi     # 0xee034
leaq 0xb29ca(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1470, %ecx           # imm = 0x1470
jmp 0x4e763
leaq 0xb354e(%rip), %rsi     # 0x1025b2
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f0bc
leaq 0x9f36b(%rip), %rsi     # 0xee3f0
leaq 0xb353b(%rip), %rdx     # 0x1025c7
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ef8c(%rip), %rsi     # 0xee034
leaq 0xb296b(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1474, %ecx           # imm = 0x1474
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4f0d4
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x128(%r14)
jmp 0x4f0dd
movsd 0x128(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x4f13b
leaq 0xb3526(%rip), %rsi     # 0x102614
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9ef7b(%rip), %rsi     # 0xee082
leaq 0xb3536(%rip), %rdx     # 0x102644
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ef0d(%rip), %rsi     # 0xee034
leaq 0xb28ec(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1478, %ecx           # imm = 0x1478
jmp 0x4e763
ucomisd %xmm1, %xmm0
movsd 0x120(%r14), %xmm1
jbe 0x4f1aa
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0x4f1aa
jp 0x4f1aa
leaq 0xb3504(%rip), %rsi     # 0x102661
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9ef0c(%rip), %rsi     # 0xee082
leaq 0xb354c(%rip), %rdx     # 0x1026c9
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ee9e(%rip), %rsi     # 0xee034
leaq 0xb287d(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x147b, %ecx           # imm = 0x147B
jmp 0x4e763
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x4f210
jp 0x4f210
ucomisd %xmm2, %xmm1
jbe 0x4f210
leaq 0xb3549(%rip), %rsi     # 0x10270c
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9eea6(%rip), %rsi     # 0xee082
leaq 0xb358e(%rip), %rdx     # 0x102771
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ee38(%rip), %rsi     # 0xee034
leaq 0xb2817(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x147e, %ecx           # imm = 0x147E
jmp 0x4e763
leaq 0xb359e(%rip), %rsi     # 0x1027b5
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f26f
leaq 0x9f1b8(%rip), %rsi     # 0xee3f0
leaq 0xb358d(%rip), %rdx     # 0x1027cc
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9edd9(%rip), %rsi     # 0xee034
leaq 0xb27b8(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1484, %ecx           # imm = 0x1484
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4f287
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x130(%r14)
jmp 0x4f290
movsd 0x130(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4f29c
jnp 0x4f2a6
movw $0x1, 0xb8(%r14)
ucomisd %xmm0, %xmm1
jbe 0x4f300
leaq 0xb3568(%rip), %rsi     # 0x10281b
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9edb6(%rip), %rsi     # 0xee082
leaq 0xb359f(%rip), %rdx     # 0x102872
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ed48(%rip), %rsi     # 0xee034
leaq 0xb2727(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x148b, %ecx           # imm = 0x148B
jmp 0x4e763
leaq 0xb358c(%rip), %rsi     # 0x102893
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f35f
leaq 0x9f0c8(%rip), %rsi     # 0xee3f0
leaq 0xb3577(%rip), %rdx     # 0x1028a6
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ece9(%rip), %rsi     # 0xee034
leaq 0xb26c8(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x148f, %ecx           # imm = 0x148F
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4f377
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x138(%r14)
jmp 0x4f380
movsd 0x138(%r14), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
jbe 0x4f3de
leaq 0xb3283(%rip), %rsi     # 0x102614
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9ecd8(%rip), %rsi     # 0xee082
leaq 0xb3540(%rip), %rdx     # 0x1028f1
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ec6a(%rip), %rsi     # 0xee034
leaq 0xb2649(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1493, %ecx           # imm = 0x1493
jmp 0x4e763
ucomisd %xmm1, %xmm0
movsd 0x130(%r14), %xmm1
jbe 0x4f44d
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm1
jne 0x4f44d
jp 0x4f44d
leaq 0xb350c(%rip), %rsi     # 0x10290c
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9ec69(%rip), %rsi     # 0xee082
leaq 0xb3550(%rip), %rdx     # 0x102970
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ebfb(%rip), %rsi     # 0xee034
leaq 0xb25da(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1496, %ecx           # imm = 0x1496
jmp 0x4e763
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0x4f4b3
jp 0x4f4b3
ucomisd %xmm2, %xmm1
jbe 0x4f4b3
leaq 0xb32a6(%rip), %rsi     # 0x10270c
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9ec03(%rip), %rsi     # 0xee082
leaq 0xb3529(%rip), %rdx     # 0x1029af
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9eb95(%rip), %rsi     # 0xee034
leaq 0xb2574(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1499, %ecx           # imm = 0x1499
jmp 0x4e763
leaq 0xd9ef9(%rip), %rsi     # 0x1293b3
leaq 0x810(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4f515
leaq 0x9ef12(%rip), %rsi     # 0xee3f0
leaq 0xb350a(%rip), %rdx     # 0x1029ef
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9eb33(%rip), %rsi     # 0xee034
leaq 0xb2512(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x149f, %ecx           # imm = 0x149F
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4f5d7
movdqa 0x810(%rsp), %xmm0
movd 0x820(%rsp), %xmm1
pcmpeqb 0xa3536(%rip), %xmm1    # 0xf2a70
pcmpeqb 0xa353e(%rip), %xmm0    # 0xf2a80
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x4f5e8
movabsq $0x6363615f6b736964, %rax # imm = 0x6363615F6B736964
xorq 0x810(%rsp), %rax
movabsq $0x6e6f6974657263, %rcx # imm = 0x6E6F6974657263
xorq 0x817(%rsp), %rcx
orq %rax, %rcx
je 0x4f78a
leaq 0xb34cf(%rip), %rsi     # 0x102a58
leaq 0xc10(%rsp), %r14
leaq 0x810(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9efdb(%rip), %rsi     # 0xee585
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9ea71(%rip), %rsi     # 0xee034
leaq 0xb2450(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14aa, %ecx           # imm = 0x14AA
jmp 0x4e763
movl 0x140(%r14), %eax
testl %eax, %eax
jne 0x4f66f
jmp 0x4f5f3
movl $0x0, 0x140(%r14)
leaq 0xb34ca(%rip), %rsi     # 0x102ac4
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f652
leaq 0x9edd5(%rip), %rsi     # 0xee3f0
leaq 0xb34c4(%rip), %rdx     # 0x102ae6
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e9f6(%rip), %rsi     # 0xee034
leaq 0xb23d5(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14b1, %ecx           # imm = 0x14B1
jmp 0x4e5fc
cmpl $0x1, 0xc(%rsp)
jne 0x4f668
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x148(%r14)
movl 0x140(%r14), %eax
cmpl $0x1, %eax
je 0x4f795
leaq 0xb365e(%rip), %rsi     # 0x102cdd
leaq 0x810(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4f6da
leaq 0x9ed4d(%rip), %rsi     # 0xee3f0
leaq 0xb363e(%rip), %rdx     # 0x102ce8
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e96e(%rip), %rsi     # 0xee034
leaq 0xb234d(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14c4, %ecx           # imm = 0x14C4
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4fa1e
movabsq $0x735f6568745f6e6f, %rax # imm = 0x735F6568745F6E6F
xorq 0x810(%rsp), %rax
movl 0x818(%rsp), %ecx
xorq $0x746f70, %rcx         # imm = 0x746F70
orq %rax, %rcx
je 0x4f90c
movabsq $0x6c69665f6d6f7266, %rax # imm = 0x6C69665F6D6F7266
xorq 0x810(%rsp), %rax
movzwl 0x818(%rsp), %ecx
xorq $0x65, %rcx
orq %rax, %rcx
je 0x4f97a
leaq 0xb36d0(%rip), %rsi     # 0x102e0c
leaq 0xc10(%rsp), %r14
leaq 0x810(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9ee28(%rip), %rsi     # 0xee585
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e8be(%rip), %rsi     # 0xee034
leaq 0xb229d(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14da, %ecx           # imm = 0x14DA
jmp 0x4e763
movl $0x1, 0x140(%r14)
leaq 0xb33a4(%rip), %rsi     # 0x102b40
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f7f4
leaq 0x9ec33(%rip), %rsi     # 0xee3f0
leaq 0xb3395(%rip), %rdx     # 0x102b59
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e854(%rip), %rsi     # 0xee034
leaq 0xb2233(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14b7, %ecx           # imm = 0x14B7
jmp 0x4e5fc
cmpl $0x1, 0xc(%rsp)
jne 0x4f80a
movq 0x10(%rsp), %xmm0
movq %xmm0, 0x150(%r14)
leaq 0xb3399(%rip), %rsi     # 0x102baa
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f869
leaq 0x9ebbe(%rip), %rsi     # 0xee3f0
leaq 0xb338a(%rip), %rdx     # 0x102bc3
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e7df(%rip), %rsi     # 0xee034
leaq 0xb21be(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14b8, %ecx           # imm = 0x14B8
jmp 0x4e5fc
cmpl $0x1, 0xc(%rsp)
jne 0x4f87f
movq 0x10(%rsp), %xmm0
movq %xmm0, 0x158(%r14)
movsd 0x150(%r14), %xmm0
ucomisd 0x9ea00(%rip), %xmm0    # 0xee290
jne 0x4f898
jnp 0x4f678
ucomisd 0x9f4a8(%rip), %xmm0    # 0xeed48
jne 0x4f8a8
jnp 0x4f678
ucomisd 0x9f420(%rip), %xmm0    # 0xeecd0
jne 0x4f8b8
jnp 0x4f678
leaq 0xb3355(%rip), %rsi     # 0x102c14
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9e7aa(%rip), %rsi     # 0xee082
leaq 0xb3388(%rip), %rdx     # 0x102c67
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e73c(%rip), %rsi     # 0xee034
leaq 0xb211b(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14bc, %ecx           # imm = 0x14BC
jmp 0x4e763
movl $0x0, 0x160(%r14)
leaq 0xb3412(%rip), %rsi     # 0x102d30
leaq 0x10(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x4f9e7
leaq 0x9eaad(%rip), %rsi     # 0xee3f0
leaq 0xb33ec(%rip), %rdx     # 0x102d36
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e6ce(%rip), %rsi     # 0xee034
leaq 0xb20ad(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14c9, %ecx           # imm = 0x14C9
jmp 0x4e5fc
movl $0x1, 0x160(%r14)
leaq 0xb33e8(%rip), %rsi     # 0x102d74
leaq 0x810(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4f9ff
leaq 0x9ea40(%rip), %rsi     # 0xee3f0
leaq 0xb33c8(%rip), %rdx     # 0x102d7f
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e661(%rip), %rsi     # 0xee034
leaq 0xb2040(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14d0, %ecx           # imm = 0x14D0
jmp 0x4e5fc
cmpl $0x1, 0xc(%rsp)
jne 0x4fa1e
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x5b0(%r14)
jmp 0x4fa1e
cmpl $0x0, 0x8(%rsp)
je 0x4fca1
leaq 0x164(%r14), %rdi
leaq 0x810(%rsp), %rsi
callq 0x8350
leaq 0xb343c(%rip), %rsi     # 0x102e61
leaq 0x810(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4fa80
leaq 0x9e9a7(%rip), %rsi     # 0xee3f0
leaq 0xb341a(%rip), %rdx     # 0x102e6a
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e5c8(%rip), %rsi     # 0xee034
leaq 0xb1fa7(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14e2, %ecx           # imm = 0x14E2
jmp 0x4e5fc
cmpl $0x1, 0x8(%rsp)
jne 0x4fac5
movq 0x810(%rsp), %rax
movabsq $0x353030325f4650, %rcx # imm = 0x353030325F4650
cmpq %rcx, %rax
je 0x4fb40
movabsq $0x343030325f4b43, %rcx # imm = 0x343030325F4B43
cmpq %rcx, %rax
jne 0x4fb50
movl $0x0, 0x264(%r14)
jmp 0x4fd6e
movl 0x264(%r14), %ecx
addl $-0x5, %ecx
xorl %eax, %eax
cmpl $0x2, %ecx
jae 0x4e60b
leaq 0xb3497(%rip), %rsi     # 0x102f78
leaq 0x810(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x4fc68
leaq 0x9e8e7(%rip), %rsi     # 0xee3f0
leaq 0xb3471(%rip), %rdx     # 0x102f81
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e508(%rip), %rsi     # 0xee034
leaq 0xb1ee7(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1505, %ecx           # imm = 0x1505
jmp 0x4e5fc
movl $0x1, 0x264(%r14)
jmp 0x4fd6e
movdqa 0x810(%rsp), %xmm0
pcmpeqb 0xa2f2f(%rip), %xmm0    # 0xf2a90
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x4fcf5
movdqa 0x810(%rsp), %xmm0
movd 0x820(%rsp), %xmm1
pcmpeqb 0xa2f16(%rip), %xmm1    # 0xf2aa0
pcmpeqb 0xa2f1e(%rip), %xmm0    # 0xf2ab0
pand %xmm1, %xmm0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0x4fd56
movl $0x74616568, %eax       # imm = 0x74616568
xorl 0x810(%rsp), %eax
movzbl 0x814(%rsp), %ecx
orl %eax, %ecx
je 0x4fd63
movabsq $0x665f785f6d6f7266, %rax # imm = 0x665F785F6D6F7266
xorq 0x810(%rsp), %rax
movl 0x818(%rsp), %ecx
xorq $0x656c69, %rcx         # imm = 0x656C69
orq %rax, %rcx
je 0x4fd75
movabsq $0x665f7a5f6d6f7266, %rax # imm = 0x665F7A5F6D6F7266
xorq 0x810(%rsp), %rax
movl 0x818(%rsp), %ecx
xorq $0x656c69, %rcx         # imm = 0x656C69
orq %rax, %rcx
je 0x4fd7c
leaq 0xb32c6(%rip), %rsi     # 0x102ee0
leaq 0xc10(%rsp), %r14
leaq 0x810(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9e94a(%rip), %rsi     # 0xee585
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e3e0(%rip), %rsi     # 0xee034
leaq 0xb1dbf(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14fc, %ecx           # imm = 0x14FC
jmp 0x4e763
cmpl $0x0, 0x8(%rsp)
je 0x4fd02
leaq 0x268(%r14), %rdi
leaq 0x810(%rsp), %rbx
movq %rbx, %rsi
callq 0x8350
addq $0x368, %r14            # imm = 0x368
movq %r14, %rdi
movq %rbx, %rsi
callq 0x8350
jmp 0x4fd6e
leaq 0xb3113(%rip), %rsi     # 0x102dbb
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9e3c1(%rip), %rsi     # 0xee082
leaq 0xacbc1(%rip), %rdx     # 0xfc889
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e353(%rip), %rsi     # 0xee034
leaq 0xb1d32(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x14d4, %ecx           # imm = 0x14D4
jmp 0x4e763
movl $0x2, 0x264(%r14)
jmp 0x4fd6e
leaq 0xb32b2(%rip), %rsi     # 0x102fbb
leaq 0xc10(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x9e360(%rip), %rsi     # 0xee082
leaq 0xacb60(%rip), %rdx     # 0xfc889
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9e2f2(%rip), %rsi     # 0xee034
leaq 0xb1cd1(%rip), %rdx     # 0x101a1a
movq %rbx, %rdi
movl $0x1509, %ecx           # imm = 0x1509
jmp 0x4e763
movl $0x3, 0x264(%r14)
jmp 0x4fd6e
movl $0x4, 0x264(%r14)
xorl %eax, %eax
jmp 0x4e60b
movl $0x5, %eax
jmp 0x4fd81
movl $0x6, %eax
movl %eax, 0x264(%r14)
jmp 0x4fada