// File: /workspace/github_c_makefile_star2_O1/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 %r13
pushq %r12
pushq %rbx
subq $0x1838, %rsp           # imm = 0x1838
movq %rcx, %rbx
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %r15
leaq 0xaf386(%rip), %rsi     # 0x10ae92
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5bb7f
leaq 0x958c6(%rip), %rsi     # 0xf13f0
leaq 0xaf375(%rip), %rdx     # 0x10aea6
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x954e7(%rip), %rsi     # 0xf1034
leaq 0xaf397(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b1a, %ecx           # imm = 0x1B1A
movq %r14, %r8
xorl %eax, %eax
callq 0x30c2c
movl $0x1, %ebp
movl %ebp, %eax
addq $0x1838, %rsp           # imm = 0x1838
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x1, 0x8(%rsp)
jne 0x5bbbd
leaq 0xaf380(%rip), %rsi     # 0x10af0d
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5bbb6
leaq 0xaf376(%rip), %rsi     # 0x10af19
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5bd4a
movq $0x0, (%r14)
cmpl $0x4, (%r14)
jne 0x5c1d8
leaq 0xaf420(%rip), %rsi     # 0x10afee
leaq 0x1030(%rsp), %rdx
leaq 0x430(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e6c0
movl %eax, %r13d
cmpl $0x1, %eax
jne 0x5bc36
leaq 0x957f8(%rip), %rsi     # 0xf13f0
leaq 0xaf3fb(%rip), %rdx     # 0x10affa
leaq 0x830(%rsp), %rbp
movq %rbp, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x95419(%rip), %rsi     # 0xf1034
leaq 0xaf2c9(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b3b, %ecx           # imm = 0x1B3B
movq %rbp, %r8
xorl %eax, %eax
callq 0x30c2c
jmp 0x5bc4b
cmpl $0x1, 0x430(%rsp)
jne 0x5bc4b
movl 0x1030(%rsp), %eax
movl %eax, 0x4(%r14)
movl $0x1, %ebp
cmpl $0x1, %r13d
je 0x5bb6b
cmpl $0x7, 0x4(%r14)
jb 0x5bc69
movl $0x6, 0x4(%r14)
leaq 0xaf3c9(%rip), %rsi     # 0x10b039
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5bcc8
leaq 0x9575f(%rip), %rsi     # 0xf13f0
leaq 0xaf3b2(%rip), %rdx     # 0x10b04a
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x95380(%rip), %rsi     # 0xf1034
leaq 0xaf230(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b45, %ecx           # imm = 0x1B45
jmp 0x5bf9b
cmpl $0x1, 0x8(%rsp)
jne 0x5bceb
leaq 0x26c(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0x8350
movl $0x1, 0xcd8(%r14)
leaq 0xaf39a(%rip), %rsi     # 0x10b08c
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5bd86
leaq 0x956dd(%rip), %rsi     # 0xf13f0
leaq 0xaf383(%rip), %rdx     # 0x10b09d
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x952fe(%rip), %rsi     # 0xf1034
leaq 0xaf1ae(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b51, %ecx           # imm = 0x1B51
jmp 0x5bf9b
leaq 0xaf1d4(%rip), %rsi     # 0x10af25
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5bd7a
leaq 0xaf1c9(%rip), %rsi     # 0x10af30
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5bf05
movq $0x1, (%r14)
jmp 0x5bbbd
cmpl $0x1, 0x8(%rsp)
jne 0x5bda6
leaq 0x8(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0x8350
movl $0x1, 0xcdc(%r14)
leaq 0xaf332(%rip), %rsi     # 0x10b0df
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5be05
leaq 0x95622(%rip), %rsi     # 0xf13f0
leaq 0xaf31d(%rip), %rdx     # 0x10b0f2
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x95243(%rip), %rsi     # 0xf1034
leaq 0xaf0f3(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b5c, %ecx           # imm = 0x1B5C
jmp 0x5bf9b
cmpl $0x1, 0x8(%rsp)
jne 0x5be26
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x2d0(%r14)
movl $0x1, 0xcd4(%r14)
leaq 0xaf308(%rip), %rsi     # 0x10b135
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5be85
leaq 0x955a2(%rip), %rsi     # 0xf13f0
leaq 0xaf2f3(%rip), %rdx     # 0x10b148
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x951c3(%rip), %rsi     # 0xf1034
leaq 0xaf073(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b65, %ecx           # imm = 0x1B65
jmp 0x5bf9b
cmpl $0x1, 0x8(%rsp)
jne 0x5bea6
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x2d8(%r14)
movl $0x1, 0xcd4(%r14)
leaq 0xaf2de(%rip), %rsi     # 0x10b18b
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5bf41
leaq 0x95522(%rip), %rsi     # 0xf13f0
leaq 0xaf2cb(%rip), %rdx     # 0x10b1a0
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x95143(%rip), %rsi     # 0xf1034
leaq 0xaeff3(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b6e, %ecx           # imm = 0x1B6E
jmp 0x5bf9b
leaq 0xaf02f(%rip), %rsi     # 0x10af3b
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5bf35
leaq 0xaf023(%rip), %rsi     # 0x10af45
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5c173
movq $0x2, (%r14)
jmp 0x5bbbd
leaq 0xaf29d(%rip), %rsi     # 0x10b1e5
leaq 0x28(%rsp), %rdx
leaq 0x1c(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5bfaa
leaq 0x95487(%rip), %rsi     # 0xf13f0
leaq 0xaf28c(%rip), %rdx     # 0x10b1fc
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x950a8(%rip), %rsi     # 0xf1034
leaq 0xaef58(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b71, %ecx           # imm = 0x1B71
movq %r14, %r8
xorl %eax, %eax
callq 0x30c2c
jmp 0x5bb6b
movl 0x8(%rsp), %eax
movl %eax, %ecx
xorl $0x1, %ecx
movl 0x1c(%rsp), %r13d
movl %r13d, %edx
xorl $0x1, %edx
orl %ecx, %edx
jne 0x5c02c
movsd 0x2e0(%r14), %xmm0
movl 0x2e8(%r14), %edx
leaq 0xaf26a(%rip), %rsi     # 0x10b243
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movb $0x1, %al
callq 0x30c2c
leaq 0x95090(%rip), %rsi     # 0xf1082
leaq 0x9abda(%rip), %rdx     # 0xf6bd3
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x9501f(%rip), %rsi     # 0xf1034
leaq 0xaeecf(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b76, %ecx           # imm = 0x1B76
movq %r15, %r8
jmp 0x5bf9e
cmpl $0x1, %eax
jne 0x5c071
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, %r13d
jne 0x5c0b2
movsd 0x2d8(%r14), %xmm0
subsd 0x2d0(%r14), %xmm0
movsd 0x28(%rsp), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x2e0(%r14)
cvttsd2si %xmm1, %eax
movl %eax, 0x2e8(%r14)
movl $0x1, 0xcd4(%r14)
xorps %xmm0, %xmm0
cvtsi2sdl 0x2e8(%r14), %xmm0
mulsd 0x2e0(%r14), %xmm0
addsd 0x2d0(%r14), %xmm0
movapd %xmm0, %xmm1
subsd 0x2d8(%r14), %xmm1
andpd 0x9515b(%rip), %xmm1    # 0xf1240
ucomisd 0x920(%r12), %xmm1
jbe 0x5c114
leaq 0xaf199(%rip), %rdi     # 0x10b291
movb $0x1, %al
movsd %xmm0, 0x20(%rsp)
callq 0x8030
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x2d8(%r14)
leaq 0xaf1ed(%rip), %rsi     # 0x10b308
leaq 0x10(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5c1af
leaq 0x952b4(%rip), %rsi     # 0xf13f0
leaq 0xaf1da(%rip), %rdx     # 0x10b31d
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94ed5(%rip), %rsi     # 0xf1034
leaq 0xaed85(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b8b, %ecx           # imm = 0x1B8B
jmp 0x5bf9b
leaq 0xaedd5(%rip), %rsi     # 0x10af4f
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
jne 0x5c1a3
leaq 0xaedce(%rip), %rsi     # 0x10af5e
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5c802
movq $0x3, (%r14)
jmp 0x5bbbd
cmpl $0x1, 0x8(%rsp)
jne 0x5c1d8
movsd 0x10(%rsp), %xmm0
mulsd 0x99adc(%rip), %xmm0    # 0xf5ca0
movsd %xmm0, 0x2f0(%r14)
movl $0x1, 0xcd4(%r14)
cmpl $0x4, (%r14)
je 0x5c23c
cmpl $0x0, 0x4(%r14)
jle 0x5c23c
leaq 0xaf176(%rip), %rsi     # 0x10b362
leaq 0x830(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x94e7d(%rip), %rsi     # 0xf1082
leaq 0xaf198(%rip), %rdx     # 0x10b3a4
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94e0c(%rip), %rsi     # 0xf1034
leaq 0xaecbc(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b96, %ecx           # imm = 0x1B96
jmp 0x5c2dc
cmpl $0x0, 0xcdc(%r14)
je 0x5c2e4
cmpl $0x0, 0xcd4(%r14)
je 0x5c2e4
leaq 0xaf0a9(%rip), %r10     # 0x10b308
leaq 0xaef7f(%rip), %r11     # 0x10b1e5
leaq 0xaf175(%rip), %rsi     # 0x10b3e2
leaq 0xaee18(%rip), %rdx     # 0x10b08c
leaq 0xaee64(%rip), %rcx     # 0x10b0df
leaq 0xaeeb3(%rip), %r8      # 0x10b135
leaq 0xaef02(%rip), %r9      # 0x10b18b
leaq 0x830(%rsp), %r14
movq %r14, %rdi
xorl %eax, %eax
pushq %r10
pushq %r11
callq 0x30c2c
addq $0x10, %rsp
leaq 0x94dd8(%rip), %rsi     # 0xf1082
leaq 0xaf187(%rip), %rdx     # 0x10b438
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94d67(%rip), %rsi     # 0xf1034
leaq 0xaec17(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b9b, %ecx           # imm = 0x1B9B
movq %r15, %r8
jmp 0x5bb5f
leaq 0xaf186(%rip), %rsi     # 0x10b471
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5c346
leaq 0x950e1(%rip), %rsi     # 0xf13f0
leaq 0xaf16a(%rip), %rdx     # 0x10b480
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94d02(%rip), %rsi     # 0xf1034
leaq 0xaebb2(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b9f, %ecx           # imm = 0x1B9F
jmp 0x5bb5c
cmpl $0x1, 0xc(%rsp)
jne 0x5c3b7
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ddf
movl $0x1, %ebp
testl %eax, %eax
jne 0x5c3b0
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x5c3b0
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ddf
xorl %ebp, %ebp
testl %eax, %eax
jne 0x5c3b0
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ddf
testl %eax, %eax
je 0x5c734
movl %ebp, 0xce4(%r14)
leaq 0xaf10a(%rip), %rsi     # 0x10b4c8
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5c419
leaq 0x9500e(%rip), %rsi     # 0xf13f0
leaq 0xaf0f7(%rip), %rdx     # 0x10b4e0
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94c2f(%rip), %rsi     # 0xf1034
leaq 0xaeadf(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1ba3, %ecx           # imm = 0x1BA3
jmp 0x5bb5c
cmpl $0x1, 0xc(%rsp)
jne 0x5c48a
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ddf
movl $0x1, %ebp
testl %eax, %eax
jne 0x5c483
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x5c483
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ddf
xorl %ebp, %ebp
testl %eax, %eax
jne 0x5c483
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ddf
testl %eax, %eax
je 0x5c793
movl %ebp, 0xce8(%r14)
leaq 0x300(%r14), %rdx
leaq 0xaf099(%rip), %rsi     # 0x10b531
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5c4eb
leaq 0x94f3c(%rip), %rsi     # 0xf13f0
leaq 0xaf07f(%rip), %rdx     # 0x10b53a
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94b5d(%rip), %rsi     # 0xf1034
leaq 0xaea0d(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1ba9, %ecx           # imm = 0x1BA9
jmp 0x5bb5c
leaq 0x308(%r14), %rdx
leaq 0xaf081(%rip), %rsi     # 0x10b57a
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1e87c
cmpl $0x1, %eax
jne 0x5c54c
leaq 0x94edb(%rip), %rsi     # 0xf13f0
leaq 0xaf068(%rip), %rdx     # 0x10b584
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94afc(%rip), %rsi     # 0xf1034
leaq 0xae9ac(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1bac, %ecx           # imm = 0x1BAC
jmp 0x5bb5c
leaq 0xaf073(%rip), %rsi     # 0x10b5c6
leaq 0x430(%rsp), %rdx
leaq 0xc(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5c5ae
leaq 0x94e79(%rip), %rsi     # 0xf13f0
leaq 0xaf05a(%rip), %rdx     # 0x10b5d8
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94a9a(%rip), %rsi     # 0xf1034
leaq 0xae94a(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1bb0, %ecx           # imm = 0x1BB0
jmp 0x5bb5c
cmpl $0x1, 0xc(%rsp)
jne 0x5c61f
leaq 0x430(%rsp), %rdi
movl $0x79, %esi
callq 0x30ddf
movl $0x1, %ebp
testl %eax, %eax
jne 0x5c618
leaq 0x430(%rsp), %rdi
movl $0x59, %esi
callq 0x30ddf
testl %eax, %eax
jne 0x5c618
leaq 0x430(%rsp), %rdi
movl $0x6e, %esi
callq 0x30ddf
xorl %ebp, %ebp
testl %eax, %eax
jne 0x5c618
leaq 0x430(%rsp), %rdi
movl $0x4e, %esi
callq 0x30ddf
testl %eax, %eax
je 0x5c889
movl %ebp, 0xce0(%r14)
xorl %ebp, %ebp
cmpl $0x1, 0xce0(%r14)
jne 0x5bb6b
leaq 0xaefed(%rip), %rsi     # 0x10b623
leaq 0x30(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %r15, %rdi
movq %rbx, %r8
callq 0x1ec10
cmpl $0x1, %eax
jne 0x5c68e
leaq 0x94d99(%rip), %rsi     # 0xf13f0
leaq 0xaefd2(%rip), %rdx     # 0x10b630
leaq 0x830(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rcx
xorl %eax, %eax
callq 0x30c2c
leaq 0x949ba(%rip), %rsi     # 0xf1034
leaq 0xae86a(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1bb7, %ecx           # imm = 0x1BB7
jmp 0x5bb5c
cmpl $0x1, 0x8(%rsp)
jne 0x5bb6b
movabsq $0x325f6177617a6f4e, %rax # imm = 0x325F6177617A6F4E
xorq 0x30(%rsp), %rax
movl 0x38(%rsp), %ecx
xorq $0x353030, %rcx         # imm = 0x353030
orq %rax, %rcx
je 0x5c7f2
movabsq $0x325f6162756c6843, %rax # imm = 0x325F6162756C6843
xorq 0x30(%rsp), %rax
movl 0x38(%rsp), %ecx
xorq $0x323130, %rcx         # imm = 0x323130
orq %rax, %rcx
je 0x5c824
leaq 0xaefa0(%rip), %rsi     # 0x10b686
leaq 0x830(%rsp), %r14
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x94e81(%rip), %rsi     # 0xf1585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94914(%rip), %rsi     # 0xf1034
leaq 0xae7c4(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1bc2, %ecx           # imm = 0x1BC2
jmp 0x5c2dc
leaq 0x99a21(%rip), %rsi     # 0xf615c
leaq 0xaed2f(%rip), %rcx     # 0x10b471
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x94e22(%rip), %rsi     # 0xf1585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0x948b5(%rip), %rsi     # 0xf1034
leaq 0xae765(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b9f, %ecx           # imm = 0x1B9F
jmp 0x5c2dc
leaq 0x999c2(%rip), %rsi     # 0xf615c
leaq 0xaed27(%rip), %rcx     # 0x10b4c8
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x94dc3(%rip), %rsi     # 0xf1585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94856(%rip), %rsi     # 0xf1034
leaq 0xae706(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1ba3, %ecx           # imm = 0x1BA3
jmp 0x5c2dc
movl $0x0, 0x2f8(%r14)
jmp 0x5bb6b
leaq 0xcde17(%rip), %rsi     # 0x12a620
leaq 0x30(%rsp), %rdi
callq 0x80c0
testq %rax, %rax
je 0x5c834
movl $0x4, (%r14)
jmp 0x5bbbd
movl $0x1, 0x2f8(%r14)
jmp 0x5bb6b
leaq 0xae732(%rip), %rsi     # 0x10af6d
leaq 0x830(%rsp), %r14
leaq 0x30(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x94d2c(%rip), %rsi     # 0xf1585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0x947bf(%rip), %rsi     # 0xf1034
leaq 0xae66f(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1b32, %ecx           # imm = 0x1B32
jmp 0x5c2dc
leaq 0x998cc(%rip), %rsi     # 0xf615c
leaq 0xaed2f(%rip), %rcx     # 0x10b5c6
leaq 0x830(%rsp), %r14
leaq 0x430(%rsp), %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0x30c2c
leaq 0x94ccd(%rip), %rsi     # 0xf1585
leaq 0x1030(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x30c2c
leaq 0x94760(%rip), %rsi     # 0xf1034
leaq 0xae610(%rip), %rdx     # 0x10aeeb
movq %rbx, %rdi
movl $0x1bb0, %ecx           # imm = 0x1BB0
jmp 0x5c2dc