// File: /workspace/github_c_makefile_star2_O3/PoulinV[P]AxiCLASS/build/../source/input.c
// Function: input_read_parameters_distortions
int input_read_parameters_distortions(struct file_content * pfc,
                                      struct precision * ppr,
                                      struct distortions * psd,
                                      ErrorMsg errmsg){

  /** Summary: */

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

  /** 1) Branching ratio approximation */
  /* Read */
  class_call(parser_read_string(pfc,"sd_branching_approx",&string1,&flag1,errmsg),
             errmsg,
             errmsg);
  /* Complete set of parameters */

  if (flag1 == _TRUE_){
    if ( (strstr(string1,"sharp_sharp") != NULL) || (strstr(string1,"sharp sharp") != NULL) ) {
      psd->sd_branching_approx = bra_sharp_sharp;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"sharp_soft") != NULL) || (strstr(string1,"sharp soft") != NULL) ) {
      psd->sd_branching_approx = bra_sharp_soft;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"soft_soft") != NULL) || (strstr(string1,"soft soft") != NULL) ) {
      psd->sd_branching_approx = bra_soft_soft;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"soft_soft_cons") != NULL) || (strstr(string1,"soft soft cons") != NULL) ) {
      psd->sd_branching_approx = bra_soft_soft_cons;
      psd->sd_PCA_size = 0;
    }
    else if ( (strstr(string1,"exact") != NULL) ) {
      psd->sd_branching_approx = bra_exact;
    }
    else{
      class_stop(errmsg,"You specified 'branching_approx' as '%s'. It has to be one of {'sharp_sharp','sharp_soft','soft_soft','soft_soft_cons','exact'}.",string1);
    }
  }

  /* Only read these if 'bra_exact' has been set (could also be set from default) */
  if (psd->sd_branching_approx == bra_exact){

    /** 1.a.1) Number of multipoles in PCA expansion */
    /* Read */
    class_read_int("sd_PCA_size",psd->sd_PCA_size);
    /* Test */
    if (psd->sd_PCA_size < 0 || psd->sd_PCA_size > 6){
      psd->sd_PCA_size = 6;
    }

    /** 1.a.2) Detector name */
    /* Read */
    class_call(parser_read_string(pfc,"sd_detector_name",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      strcpy(psd->sd_detector_name,string1);
      psd->has_user_defined_name = _TRUE_;
    }

    /** 1.a.3) Detector specifics */
    /** 1.a.3.1) From file */
    /* Read */
    class_call(parser_read_string(pfc,"sd_detector_file",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      strcpy(psd->sd_detector_file_name,string1);
      psd->has_detector_file = _TRUE_;
    }

    /** 1.a.3.2) User defined */
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_nu_min",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_nu_min = param1;
      psd->has_user_defined_detector = _TRUE_;
    }
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_nu_max",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_nu_max = param1;
      psd->has_user_defined_detector = _TRUE_;
    }
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_nu_delta",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    class_call(parser_read_double(pfc,"sd_detector_bin_number",&param2,&flag2,errmsg),
               errmsg,
               errmsg);
    /* Test */
    class_test((flag1 == _TRUE_) && (flag2 == _TRUE_),
               errmsg,
               "You can only enter one of 'sd_detector_nu_delta' or 'sd_detector_bin_number'.",
               psd->sd_detector_nu_delta,psd->sd_detector_bin_number);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_nu_delta = param1;
      psd->sd_detector_bin_number = ((int)ceil((psd->sd_detector_nu_max-psd->sd_detector_nu_min)/param1));
      psd->has_user_defined_detector = _TRUE_;
    }
    if (flag2 == _TRUE_){
      psd->sd_detector_nu_delta = (psd->sd_detector_nu_max-psd->sd_detector_nu_min)/param2;
      psd->sd_detector_bin_number = param2;
      psd->has_user_defined_detector = _TRUE_;
    }
    /* Update value of nu_max, given the number of bins */
    updated_nu_max = psd->sd_detector_nu_min+psd->sd_detector_nu_delta*psd->sd_detector_bin_number;
    if (fabs(updated_nu_max-psd->sd_detector_nu_max) > ppr->tol_sd_detector){
      printf(" -> WARNING: The value of 'sd_detector_nu_max' has been updated to %7.3e to accommodate the binning of your detector.\n",updated_nu_max);
      psd->sd_detector_nu_max = updated_nu_max;
    }
    /* Read */
    class_call(parser_read_double(pfc,"sd_detector_delta_Ic",&param1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      psd->sd_detector_delta_Ic = 1.0e-26*param1;
      psd->has_user_defined_detector = _TRUE_;
    }
  }

  /* Final tests */
  class_test(psd->sd_branching_approx != bra_exact && psd->sd_PCA_size > 0,
             errmsg,
             "The PCA expansion is possible only for 'branching_approx = exact'");
  class_test(psd->has_detector_file && psd->has_user_defined_detector,
             errmsg,
             "You can only enter the noise file {'%s'} or the specifications {'%s','%s'/'%s','%s'}.",
             "sd_detector_file","sd_detector_nu_min","sd_detector_nu_max",
             "sd_detector_nu_delta","sd_detector_bin_number","sd_detector_delta_Ic");


  /** 2) Only calculate exotic energy injections and no LCDM processes for spectral distortions ? */
  class_read_flag("sd_only_exotic",psd->include_only_exotic);


  /** 3) Include g distortions? */
  class_read_flag("sd_include_g_distortion",psd->include_g_distortion);


  /** 4) Set g-distortions to zero? */
  class_call(parser_read_double(pfc,"sd_add_y",&psd->sd_add_y,&flag1,errmsg),
             errmsg,
             errmsg);
  class_call(parser_read_double(pfc,"sd_add_mu",&psd->sd_add_mu,&flag1,errmsg),
             errmsg,
             errmsg);


  /** 5) Include SZ effect from reionization? */
  class_read_flag("include_SZ_effect",psd->has_SZ_effect);

  if (psd->has_SZ_effect == _TRUE_){
    /** 5.a) Type of calculation */
    /* Read */
    class_call(parser_read_string(pfc,"sd_reio_type",&string1,&flag1,errmsg),
               errmsg,
               errmsg);
    /* Complete set of parameters */
    if (flag1 == _TRUE_){
      if (strcmp(string1,"Nozawa_2005") == 0){
        psd->sd_reio_type = sd_reio_Nozawa;
      }
      else if (strcmp(string1,"Chluba_2012") == 0){
        psd->sd_reio_type = sd_reio_Chluba;
      }
      else {
        class_stop(errmsg,
                   "You specified 'sd_reio_type' as '%s'. It has to be one of {'Nozawa_2005','Chluba_2012'}.",string1);
      }
    }
  }

  return _SUCCESS_;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1830, %rsp           # imm = 0x1830
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %r15
leaq 0xae88f(%rip), %rsi     # 0x107eba
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x59683
leaq 0x94da7(%rip), %rsi     # 0xee3f0
leaq 0xae87e(%rip), %rdx     # 0x107ece
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x949c8(%rip), %rsi     # 0xee034
leaq 0xae8a0(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b1a, %ecx           # imm = 0x1B1A
movq %r14, %r8
jmp 0x59d27
cmpl $0x1, 0x8(%rsp)
jne 0x5976b
leaq 0xae8a0(%rip), %rsi     # 0x107f35
leaq 0x30(%rsp), %rdi
callq 0x80c0
xorl %ebp, %ebp
testq %rax, %rax
jne 0x5975b
leaq 0xae890(%rip), %rsi     # 0x107f41
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5975b
leaq 0xae882(%rip), %rsi     # 0x107f4d
leaq 0x30(%rsp), %rdi
callq 0x80c0
movl $0x1, %ebp
testq %rax, %rax
jne 0x5975b
leaq 0xae872(%rip), %rsi     # 0x107f58
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5975b
leaq 0xae867(%rip), %rsi     # 0x107f63
leaq 0x30(%rsp), %rdi
callq 0x80c0
movl $0x2, %ebp
testq %rax, %rax
jne 0x5975b
leaq 0xae856(%rip), %rsi     # 0x107f6d
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5975b
leaq 0xae84a(%rip), %rsi     # 0x107f77
leaq 0x30(%rsp), %rdi
callq 0x80c0
movl $0x3, %ebp
testq %rax, %rax
jne 0x5975b
leaq 0xae83e(%rip), %rsi     # 0x107f86
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5a32d
movl %ebp, (%r14)
movl $0x0, 0x4(%r14)
jmp 0x59ccb
cmpl $0x4, (%r14)
jne 0x59ccb
leaq 0xae89a(%rip), %rsi     # 0x108016
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e736
cmpl $0x1, %eax
jne 0x597da
leaq 0x94c4d(%rip), %rsi     # 0xee3f0
leaq 0xae878(%rip), %rdx     # 0x108022
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9486e(%rip), %rsi     # 0xee034
leaq 0xae746(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b3b, %ecx           # imm = 0x1B3B
jmp 0x5967b
cmpl $0x1, 0x430(%rsp)
jne 0x597f1
movl 0x1030(%rsp), %eax
movl %eax, 0x4(%r14)
jmp 0x597f5
movl 0x4(%r14), %eax
cmpl $0x7, %eax
jb 0x59802
movl $0x6, 0x4(%r14)
leaq 0xae858(%rip), %rsi     # 0x108061
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x59861
leaq 0x94bc6(%rip), %rsi     # 0xee3f0
leaq 0xae841(%rip), %rdx     # 0x108072
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x947e7(%rip), %rsi     # 0xee034
leaq 0xae6bf(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b45, %ecx           # imm = 0x1B45
jmp 0x5967b
cmpl $0x1, 0x8(%rsp)
jne 0x59884
leaq 0x26c(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0x8350
movl $0x1, 0xcd8(%r14)
leaq 0xae829(%rip), %rsi     # 0x1080b4
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x598e3
leaq 0x94b44(%rip), %rsi     # 0xee3f0
leaq 0xae812(%rip), %rdx     # 0x1080c5
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x94765(%rip), %rsi     # 0xee034
leaq 0xae63d(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b51, %ecx           # imm = 0x1B51
jmp 0x5967b
cmpl $0x1, 0x8(%rsp)
jne 0x59903
leaq 0x8(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0x8350
movl $0x1, 0xcdc(%r14)
leaq 0xae7fd(%rip), %rsi     # 0x108107
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x59962
leaq 0x94ac5(%rip), %rsi     # 0xee3f0
leaq 0xae7e8(%rip), %rdx     # 0x10811a
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x946e6(%rip), %rsi     # 0xee034
leaq 0xae5be(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b5c, %ecx           # imm = 0x1B5C
jmp 0x5967b
cmpl $0x1, 0x8(%rsp)
jne 0x59983
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x2d0(%r14)
movl $0x1, 0xcd4(%r14)
leaq 0xae7d3(%rip), %rsi     # 0x10815d
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x599e2
leaq 0x94a45(%rip), %rsi     # 0xee3f0
leaq 0xae7be(%rip), %rdx     # 0x108170
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x94666(%rip), %rsi     # 0xee034
leaq 0xae53e(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b65, %ecx           # imm = 0x1B65
jmp 0x5967b
cmpl $0x1, 0x8(%rsp)
jne 0x59a03
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x2d8(%r14)
movl $0x1, 0xcd4(%r14)
leaq 0xae7a9(%rip), %rsi     # 0x1081b3
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x59a62
leaq 0x949c5(%rip), %rsi     # 0xee3f0
leaq 0xae796(%rip), %rdx     # 0x1081c8
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x945e6(%rip), %rsi     # 0xee034
leaq 0xae4be(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b6e, %ecx           # imm = 0x1B6E
jmp 0x5967b
leaq 0xae7a4(%rip), %rsi     # 0x10820d
leaq 0x28(%rsp), %rdx
leaq 0x1c(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x59ac1
leaq 0x94966(%rip), %rsi     # 0xee3f0
leaq 0xae793(%rip), %rdx     # 0x108224
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x94587(%rip), %rsi     # 0xee034
leaq 0xae45f(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b71, %ecx           # imm = 0x1B71
jmp 0x5967b
movl 0x8(%rsp), %eax
movl %eax, %ecx
xorl $0x1, %ecx
movl 0x1c(%rsp), %ebp
movl %ebp, %edx
xorl $0x1, %edx
orl %ecx, %edx
jne 0x59b3e
movsd 0x2e0(%r14), %xmm0
movl 0x2e8(%r14), %edx
leaq 0xae77d(%rip), %rsi     # 0x10826b
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movb $0x1, %al
callq 0x30af0
leaq 0x9457b(%rip), %rsi     # 0xee082
leaq 0x9a0ed(%rip), %rdx     # 0xf3bfb
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9450a(%rip), %rsi     # 0xee034
leaq 0xae3e2(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b76, %ecx           # imm = 0x1B76
jmp 0x59d24
cmpl $0x1, %eax
jne 0x59b83
movsd 0x10(%rsp), %xmm1
movsd %xmm1, 0x2e0(%r14)
movsd 0x2d8(%r14), %xmm0
subsd 0x2d0(%r14), %xmm0
divsd %xmm1, %xmm0
callq 0x8070
cvttsd2si %xmm0, %eax
movl %eax, 0x2e8(%r14)
movl $0x1, 0xcd4(%r14)
cmpl $0x1, %ebp
jne 0x59bcd
movsd 0x2d0(%r14), %xmm1
movsd 0x2d8(%r14), %xmm4
movapd %xmm4, %xmm2
subsd %xmm1, %xmm2
movsd 0x28(%rsp), %xmm3
divsd %xmm3, %xmm2
movsd %xmm2, 0x2e0(%r14)
cvttsd2si %xmm3, %eax
movl %eax, 0x2e8(%r14)
movl $0x1, 0xcd4(%r14)
jmp 0x59bef
movsd 0x2d0(%r14), %xmm1
movsd 0x2d8(%r14), %xmm4
movsd 0x2e0(%r14), %xmm2
movl 0x2e8(%r14), %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movapd %xmm0, %xmm1
subsd %xmm4, %xmm1
andpd 0x94632(%rip), %xmm1    # 0xee240
ucomisd 0x920(%r12), %xmm1
jbe 0x59c3d
leaq 0xae698(%rip), %rdi     # 0x1082b9
movb $0x1, %al
movsd %xmm0, 0x20(%rsp)
callq 0x8030
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x2d8(%r14)
leaq 0xae6ec(%rip), %rsi     # 0x108330
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x59c9c
leaq 0x9478b(%rip), %rsi     # 0xee3f0
leaq 0xae6d9(%rip), %rdx     # 0x108345
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x943ac(%rip), %rsi     # 0xee034
leaq 0xae284(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b8b, %ecx           # imm = 0x1B8B
jmp 0x5967b
cmpl $0x1, 0x8(%rsp)
jne 0x59cc5
movsd 0x10(%rsp), %xmm0
mulsd 0x99017(%rip), %xmm0    # 0xf2cc8
movsd %xmm0, 0x2f0(%r14)
movl $0x1, 0xcd4(%r14)
cmpl $0x4, (%r14)
je 0x59d43
cmpl $0x0, 0x4(%r14)
jle 0x59d43
leaq 0xae6b1(%rip), %rsi     # 0x10838a
leaq 0x830(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x94390(%rip), %rsi     # 0xee082
leaq 0xae6d3(%rip), %rdx     # 0x1083cc
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9431f(%rip), %rsi     # 0xee034
leaq 0xae1f7(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b96, %ecx           # imm = 0x1B96
movq %r15, %r8
xorl %eax, %eax
callq 0x30af0
movl $0x1, %eax
addq $0x1830, %rsp           # imm = 0x1830
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x0, 0xcdc(%r14)
je 0x59de8
cmpl $0x0, 0xcd4(%r14)
je 0x59de8
leaq 0xae5ca(%rip), %r10     # 0x108330
leaq 0xae4a0(%rip), %r11     # 0x10820d
leaq 0xae696(%rip), %rsi     # 0x10840a
leaq 0xae339(%rip), %rdx     # 0x1080b4
leaq 0xae385(%rip), %rcx     # 0x108107
leaq 0xae3d4(%rip), %r8      # 0x10815d
leaq 0xae423(%rip), %r9      # 0x1081b3
leaq 0x830(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
pushq %r10
pushq %r11
callq 0x30af0
addq $0x10, %rsp
leaq 0x942d1(%rip), %rsi     # 0xee082
leaq 0xae6a8(%rip), %rdx     # 0x108460
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x94260(%rip), %rsi     # 0xee034
leaq 0xae138(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b9b, %ecx           # imm = 0x1B9B
jmp 0x59d24
leaq 0xae6aa(%rip), %rsi     # 0x108499
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x59e4a
leaq 0x945dd(%rip), %rsi     # 0xee3f0
leaq 0xae68e(%rip), %rdx     # 0x1084a8
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x941fe(%rip), %rsi     # 0xee034
leaq 0xae0d6(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b9f, %ecx           # imm = 0x1B9F
jmp 0x5967b
cmpl $0x1, 0xc(%rsp)
jne 0x59ebb
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
movl $0x1, %ebp
testl %eax, %eax
jne 0x59eb4
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x59eb4
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
xorl %ebp, %ebp
testl %eax, %eax
jne 0x59eb4
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
je 0x5a20d
movl %ebp, 0xce4(%r14)
leaq 0xae62e(%rip), %rsi     # 0x1084f0
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x59f1d
leaq 0x9450a(%rip), %rsi     # 0xee3f0
leaq 0xae61b(%rip), %rdx     # 0x108508
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x9412b(%rip), %rsi     # 0xee034
leaq 0xae003(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1ba3, %ecx           # imm = 0x1BA3
jmp 0x5967b
cmpl $0x1, 0xc(%rsp)
jne 0x59f8e
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
movl $0x1, %ebp
testl %eax, %eax
jne 0x59f87
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x59f87
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
xorl %ebp, %ebp
testl %eax, %eax
jne 0x59f87
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
je 0x5a26c
movl %ebp, 0xce8(%r14)
leaq 0x300(%r14), %rdx
leaq 0xae5bd(%rip), %rsi     # 0x108559
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x59fef
leaq 0x94438(%rip), %rsi     # 0xee3f0
leaq 0xae5a3(%rip), %rdx     # 0x108562
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x94059(%rip), %rsi     # 0xee034
leaq 0xadf31(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1ba9, %ecx           # imm = 0x1BA9
jmp 0x5967b
leaq 0x308(%r14), %rdx
leaq 0xae5a5(%rip), %rsi     # 0x1085a2
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e8ed
cmpl $0x1, %eax
jne 0x5a050
leaq 0x943d7(%rip), %rsi     # 0xee3f0
leaq 0xae58c(%rip), %rdx     # 0x1085ac
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x93ff8(%rip), %rsi     # 0xee034
leaq 0xaded0(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1bac, %ecx           # imm = 0x1BAC
jmp 0x5967b
leaq 0xae597(%rip), %rsi     # 0x1085ee
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x5a0b2
leaq 0x94375(%rip), %rsi     # 0xee3f0
leaq 0xae57e(%rip), %rdx     # 0x108600
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x93f96(%rip), %rsi     # 0xee034
leaq 0xade6e(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1bb0, %ecx           # imm = 0x1BB0
jmp 0x5967b
cmpl $0x1, 0xc(%rsp)
jne 0x5a0f6
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x5a0e9
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ca3
testl %eax, %eax
je 0x5a2cb
movl $0x1, 0xce0(%r14)
jmp 0x5a106
xorl %eax, %eax
cmpl $0x1, 0xce0(%r14)
jne 0x59d33
leaq 0xae53e(%rip), %rsi     # 0x10864b
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec7f
cmpl $0x1, %eax
jne 0x5a165
leaq 0x942c2(%rip), %rsi     # 0xee3f0
leaq 0xae523(%rip), %rdx     # 0x108658
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30af0
leaq 0x93ee3(%rip), %rsi     # 0xee034
leaq 0xaddbb(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1bb7, %ecx           # imm = 0x1BB7
jmp 0x5967b
xorl %eax, %eax
cmpl $0x1, 0x8(%rsp)
jne 0x59d33
movabsq $0x325f6177617a6f4e, %rcx # imm = 0x325F6177617A6F4E
xorq 0x30(%rsp), %rcx
movl 0x38(%rsp), %edx
xorq $0x353030, %rdx         # imm = 0x353030
orq %rcx, %rdx
je 0x5a30d
movabsq $0x325f6162756c6843, %rcx # imm = 0x325F6162756C6843
xorq 0x30(%rsp), %rcx
movl 0x38(%rsp), %edx
xorq $0x323130, %rdx         # imm = 0x323130
orq %rcx, %rdx
je 0x5a31d
leaq 0xae4ef(%rip), %rsi     # 0x1086ae
leaq 0x830(%rsp), %r14
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x943a8(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x93e3b(%rip), %rsi     # 0xee034
leaq 0xadd13(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1bc2, %ecx           # imm = 0x1BC2
jmp 0x59d24
leaq 0x98f70(%rip), %rsi     # 0xf3184
leaq 0xae27e(%rip), %rcx     # 0x108499
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x94349(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x93ddc(%rip), %rsi     # 0xee034
leaq 0xadcb4(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b9f, %ecx           # imm = 0x1B9F
jmp 0x59d24
leaq 0x98f11(%rip), %rsi     # 0xf3184
leaq 0xae276(%rip), %rcx     # 0x1084f0
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x942ea(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x93d7d(%rip), %rsi     # 0xee034
leaq 0xadc55(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1ba3, %ecx           # imm = 0x1BA3
jmp 0x59d24
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ca3
testl %eax, %eax
jne 0x5a2fb
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ca3
testl %eax, %eax
je 0x5a3a4
movl $0x0, 0xce0(%r14)
xorl %eax, %eax
jmp 0x59d33
movl $0x0, 0x2f8(%r14)
jmp 0x59d33
movl $0x1, 0x2f8(%r14)
jmp 0x59d33
leaq 0xcd314(%rip), %rsi     # 0x127648
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5a34f
movl $0x4, (%r14)
jmp 0x59775
leaq 0xadc3f(%rip), %rsi     # 0x107f95
leaq 0x830(%rsp), %r14
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x94211(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x93ca4(%rip), %rsi     # 0xee034
leaq 0xadb7c(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1b32, %ecx           # imm = 0x1B32
jmp 0x59d24
leaq 0x98dd9(%rip), %rsi     # 0xf3184
leaq 0xae23c(%rip), %rcx     # 0x1085ee
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30af0
leaq 0x941b2(%rip), %rsi     # 0xee585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30af0
leaq 0x93c45(%rip), %rsi     # 0xee034
leaq 0xadb1d(%rip), %rdx     # 0x107f13
movq %rbx, %rdi
movl $0x1bb0, %ecx           # imm = 0x1BB0
jmp 0x59d24