// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/distortions.c
// Function: distortions_set_detector
int distortions_set_detector(struct precision * ppr,
                             struct distortions * psd){

  /** Local variables */
  FILE* det_list_file;
  char line[_LINE_LENGTH_MAX_];
  DetectorName detector_name;
  DetectorFileName detector_noise_file_name;
  double nu_min,nu_max,nu_delta,delta_Ic;
  int has_detector_noise_file;
  int N_bins;
  char * left;
  int headlines = 0;
  int found_detector;

  has_detector_noise_file = _FALSE_;

  if (psd->has_user_defined_name == _FALSE_) {
    /* The user wants the default */
    if (psd->has_user_defined_detector == _FALSE_ && psd->has_detector_file == _FALSE_) {
      if (psd->distortions_verbose > 0) {
        printf(" -> Using the default (%s) detector\n",psd->sd_detector_name);
      }
      return _SUCCESS_; // Nothing more to do
    }
    /* The user wants a new detector with specified settings, but without name */
    else {
      /* Generate a custom name for this custom detector, so we can check if it has already been defined */
      if (psd->has_detector_file == _TRUE_) {
        class_sprintf(psd->sd_detector_name,
                "Custom__%.80s__Detector",
                psd->sd_detector_file_name);
      }
      else {
        class_sprintf(psd->sd_detector_name,
                "Custom__%7.2e_%7.2e_%7.2e_%i_%7.2e__Detector",
                psd->sd_detector_nu_min,psd->sd_detector_nu_max,psd->sd_detector_nu_delta,psd->sd_detector_bin_number,psd->sd_detector_delta_Ic);
      }
    }
  }

  /** Open file */
  class_open(det_list_file, psd->sd_detector_list_file, "r",
             psd->error_message);

  found_detector = _FALSE_;
  while (fgets(line,_LINE_LENGTH_MAX_-1,det_list_file) != NULL) {
    headlines++;

    /* Eliminate blank spaces at beginning of line */
    left=line;
    while (left[0]==' ') {
      left++;
    }
    if (left[0] > 39) {
      if (sscanf(line,"%s %lg %lg %lg %i %lg",detector_name,&nu_min,&nu_max,&nu_delta,&N_bins,&delta_Ic) != 6) {
        has_detector_noise_file = _TRUE_;
        if (sscanf(line,"%s %s",detector_name,detector_noise_file_name) != 2) {
          class_stop(psd->error_message,
                     "Could not read line %i in file '%s'\n",headlines,psd->sd_detector_list_file);
        }
      }
      else {
        has_detector_noise_file = _FALSE_;
      }

      /* Detector has been found */
      if (strcmp(psd->sd_detector_name,detector_name)==0) {
        if (psd->distortions_verbose > 0){
          printf(" -> Found detector %s (user defined = %s)\n",detector_name,(psd->has_user_defined_detector?"TRUE":"FALSE"));
        }
        found_detector = _TRUE_;

        if (has_detector_noise_file == _TRUE_) {
          if (psd->distortions_verbose > 1){
            printf(" -> Properties:    Noise file name = %s \n",
                   detector_noise_file_name);
          }
          if (psd->has_detector_file == _TRUE_) {
            class_test(strcmp(psd->sd_detector_file_name,detector_noise_file_name) != 0,
                       psd->error_message,
                       "Noise file path (sd_detector_file_name) disagrees between stored detector '%s' and input ->  %s (input) vs %s (stored)",
                       detector_name,psd->sd_detector_file_name,detector_noise_file_name);
          }
          class_test(psd->has_user_defined_detector,
                     psd->error_message,
                     "Detector property type disagrees between stored detector '%s' and input  ->  Userdefined (input) vs Noisefile (stored)",
                     detector_name);
          class_sprintf(psd->sd_detector_file_name, "%s", detector_noise_file_name);
          psd->has_detector_file = has_detector_noise_file;
        }
        else {
          if (psd->distortions_verbose > 1) {
            printf(" -> Properties:    nu_min = %lg    nu_max = %lg    delta_nu = %lg    N_bins = %i    delta_Ic = %lg \n",
                   nu_min, nu_max, nu_delta, N_bins, delta_Ic);
          }
          /* If the user has defined the detector, check that their and our definitions agree */
          if (psd->has_user_defined_detector == _TRUE_) {
            class_test(fabs(psd->sd_detector_nu_min-nu_min)>ppr->tol_sd_detector,
                       psd->error_message,
                       "Minimal frequency (sd_detector_nu_min) disagrees between stored detector '%s' and input ->  %.10e (input) vs %.10e (stored)",
                       detector_name,psd->sd_detector_nu_min,nu_min);
            class_test(fabs(psd->sd_detector_nu_max-nu_max)>ppr->tol_sd_detector,
                       psd->error_message,
                       "Maximal frequency (sd_detector_nu_min) disagrees between stored detector '%s' and input ->  %.10e (input) vs %.10e (stored)",
                       detector_name,psd->sd_detector_nu_max,nu_max);
            class_test(fabs(psd->sd_detector_nu_delta-nu_delta)>ppr->tol_sd_detector,
                       psd->error_message,
                       "Delta frequency (sd_detector_nu_delta) disagrees between stored detector '%s' and input ->  %.10e (input) vs %.10e (stored)",
                       detector_name,psd->sd_detector_nu_delta,nu_delta);
            class_test(abs(psd->sd_detector_bin_number-N_bins)>ppr->tol_sd_detector,
                       psd->error_message,
                       "Number of bins (sd_detector_bin_number) disagrees between stored detector '%s' and input ->  %i (input) vs %i (stored)",
                       detector_name,psd->sd_detector_bin_number,N_bins);
            class_test(fabs(psd->sd_detector_delta_Ic-delta_Ic)>ppr->tol_sd_detector,
                       psd->error_message,
                       "Detector accuracy (sd_detector_delta_Ic) disagrees between stored detector '%s' and input ->  %.10e (input) vs %.10e (stored)",
                       detector_name,psd->sd_detector_delta_Ic,delta_Ic);
          }
          class_test(psd->has_detector_file,
                     psd->error_message,
                     "Detector property type disagrees between stored detector '%s' and input  ->  Noisefile (input) vs Userdefined (stored)",
                     detector_name);

          /* In any case, just take the detector definition from the file */
          psd->sd_detector_nu_min = nu_min;
          psd->sd_detector_nu_max = nu_max;
          psd->sd_detector_nu_delta = nu_delta;
          psd->sd_detector_bin_number = N_bins;
          psd->sd_detector_delta_Ic = delta_Ic;
        }
      }
    }
  }

  fclose(det_list_file);

  /* If the detector has not been found, either the user has specified the settings and we create a new one,
   * or the user hasn't specified the settings and we have to stop */
  if (found_detector == _FALSE_) {
    if (psd->has_user_defined_detector==_TRUE_ || psd->has_detector_file==_TRUE_) {
      if (psd->distortions_verbose > 0) {
        printf(" -> Generating detector '%s' \n",psd->sd_detector_name);
      }
      class_call(distortions_generate_detector(ppr,psd),
                 psd->error_message,
                 psd->error_message);
    }
    else {
      class_stop(psd->error_message,
                 "You asked for detector '%s', but it was not in the database '%s'.\nPlease check the name of your detector, or specify its properties if you want to create a new one",
                 psd->sd_detector_name,
                 psd->sd_detector_list_file);
    }
  }

  if (psd->has_detector_file ==_TRUE_) {
    class_call(distortions_read_detector_noisefile(ppr,psd),
               psd->error_message,
               psd->error_message);
  }

  return _SUCCESS_;
}

// Assembly:
subq $0xbf68, %rsp           # imm = 0xBF68
movq %rdi, 0xbf58(%rsp)
movq %rsi, 0xbf50(%rsp)
movl $0x0, 0xb82c(%rsp)
movl $0x0, 0xb83c(%rsp)
movq 0xbf50(%rsp), %rax
cmpl $0x0, 0xcd8(%rax)
jne 0x18f215
movq 0xbf50(%rsp), %rax
cmpl $0x0, 0xcd4(%rax)
jne 0x18f0b5
movq 0xbf50(%rsp), %rax
cmpl $0x0, 0xcdc(%rax)
jne 0x18f0b5
movq 0xbf50(%rsp), %rax
movswl 0x1600(%rax), %eax
cmpl $0x0, %eax
jle 0x18f0a5
movq 0xbf50(%rsp), %rsi
addq $0x26c, %rsi            # imm = 0x26C
leaq 0x7b6b9(%rip), %rdi     # 0x20a757
movb $0x0, %al
callq 0x8030
movl $0x0, 0xbf64(%rsp)
jmp 0x18fed7
movq 0xbf50(%rsp), %rax
cmpl $0x1, 0xcdc(%rax)
jne 0x18f12b
jmp 0x18f0c8
movq 0xbf50(%rsp), %rcx
addq $0x8, %rcx
xorl %eax, %eax
movl %eax, %esi
leaq 0x7b69d(%rip), %rdx     # 0x20a77c
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0xb824(%rsp)
movq 0xbf50(%rsp), %rdi
addq $0x26c, %rdi            # imm = 0x26C
movl 0xb824(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movq 0xbf50(%rsp), %rcx
addq $0x8, %rcx
leaq 0x7b65d(%rip), %rdx     # 0x20a77c
movb $0x0, %al
callq 0x8540
jmp 0x18f211
jmp 0x18f12d
movq 0xbf50(%rsp), %rax
movsd 0x2d0(%rax), %xmm0
movq 0xbf50(%rsp), %rax
movsd 0x2d8(%rax), %xmm1
movq 0xbf50(%rsp), %rax
movsd 0x2e0(%rax), %xmm2
movq 0xbf50(%rsp), %rax
movl 0x2e8(%rax), %ecx
movq 0xbf50(%rsp), %rax
movsd 0x2f0(%rax), %xmm3
xorl %eax, %eax
movl %eax, %esi
leaq 0x7b60e(%rip), %rdx     # 0x20a794
movq %rsi, %rdi
movb $0x4, %al
callq 0x8540
movl %eax, 0xb820(%rsp)
movq 0xbf50(%rsp), %rdi
addq $0x26c, %rdi            # imm = 0x26C
movl 0xb820(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movq 0xbf50(%rsp), %rax
movsd 0x2d0(%rax), %xmm0
movq 0xbf50(%rsp), %rax
movsd 0x2d8(%rax), %xmm1
movq 0xbf50(%rsp), %rax
movsd 0x2e0(%rax), %xmm2
movq 0xbf50(%rsp), %rax
movl 0x2e8(%rax), %ecx
movq 0xbf50(%rsp), %rax
movsd 0x2f0(%rax), %xmm3
leaq 0x7b58c(%rip), %rdx     # 0x20a794
movb $0x4, %al
callq 0x8540
jmp 0x18f211
jmp 0x18f213
jmp 0x18f215
movq 0xbf50(%rsp), %rdi
addq $0x958, %rdi            # imm = 0x958
leaq 0x61a0c(%rip), %rsi     # 0x1f0c37
callq 0x8410
movq %rax, 0xbf48(%rsp)
cmpq $0x0, 0xbf48(%rsp)
jne 0x18f2b7
leaq 0xb020(%rsp), %rdi
movq 0xbf50(%rsp), %rcx
addq $0x958, %rcx            # imm = 0x958
leaq 0x4576f(%rip), %rsi     # 0x1d49d0
leaq 0x7b559(%rip), %rdx     # 0x20a7c1
leaq 0x45796(%rip), %r8      # 0x1d4a05
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0xb020(%rsp), %r8
leaq 0x42da0(%rip), %rsi     # 0x1d2034
leaq 0x7b534(%rip), %rdx     # 0x20a7cf
movl $0xf3, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
movl $0x0, 0xb828(%rsp)
leaq 0xbb40(%rsp), %rdi
movq 0xbf48(%rsp), %rdx
movl $0x3ff, %esi            # imm = 0x3FF
callq 0x8530
cmpq $0x0, %rax
je 0x18fca4
movl 0xb82c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xb82c(%rsp)
leaq 0xbb40(%rsp), %rax
movq %rax, 0xb830(%rsp)
movq 0xb830(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
jne 0x18f32d
movq 0xb830(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xb830(%rsp)
jmp 0x18f307
movq 0xb830(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x27, %eax
jle 0x18fc9f
leaq 0xbb40(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
leaq 0x7b490(%rip), %rsi     # 0x20a7e8
leaq 0xb858(%rsp), %rcx
leaq 0xb850(%rsp), %r8
leaq 0xb848(%rsp), %r9
leaq 0xb838(%rsp), %r10
leaq 0xb840(%rsp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movb $0x0, %al
callq 0x83b0
cmpl $0x6, %eax
je 0x18f460
movl $0x1, 0xb83c(%rsp)
leaq 0xbb40(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
leaq 0xb860(%rsp), %rcx
leaq 0x6fe34(%rip), %rsi     # 0x1ff1f7
movb $0x0, %al
callq 0x83b0
cmpl $0x2, %eax
je 0x18f45e
leaq 0xa820(%rsp), %rdi
movl 0xb82c(%rsp), %edx
movq 0xbf50(%rsp), %rcx
addq $0x958, %rcx            # imm = 0x958
leaq 0x7b406(%rip), %rsi     # 0x20a7fe
movb $0x0, %al
callq 0x5b9c0
leaq 0xa020(%rsp), %rdi
leaq 0xa820(%rsp), %rdx
leaq 0x43157(%rip), %rsi     # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0xa020(%rsp), %r8
leaq 0x42bf9(%rip), %rsi     # 0x1d2034
leaq 0x7b38d(%rip), %rdx     # 0x20a7cf
movl $0x103, %ecx            # imm = 0x103
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18f46b
movl $0x0, 0xb83c(%rsp)
movq 0xbf50(%rsp), %rdi
addq $0x26c, %rdi            # imm = 0x26C
leaq 0xbad0(%rsp), %rsi
callq 0x84b0
cmpl $0x0, %eax
jne 0x18fc9d
movq 0xbf50(%rsp), %rax
movswl 0x1600(%rax), %eax
cmpl $0x0, %eax
jle 0x18f4dd
leaq 0xbad0(%rsp), %rsi
movq 0xbf50(%rsp), %rax
movl 0xcd4(%rax), %ecx
leaq 0x7b392(%rip), %rdx     # 0x20a853
leaq 0x7b386(%rip), %rax     # 0x20a84e
cmpl $0x0, %ecx
cmovneq %rax, %rdx
leaq 0x7b34d(%rip), %rdi     # 0x20a823
movb $0x0, %al
callq 0x8030
movl $0x1, 0xb828(%rsp)
cmpl $0x1, 0xb83c(%rsp)
jne 0x18f6f9
movq 0xbf50(%rsp), %rax
movswl 0x1600(%rax), %eax
cmpl $0x1, %eax
jle 0x18f520
leaq 0xb860(%rsp), %rsi
leaq 0x7b340(%rip), %rdi     # 0x20a859
movb $0x0, %al
callq 0x8030
movq 0xbf50(%rsp), %rax
cmpl $0x1, 0xcdc(%rax)
jne 0x18f5f1
movq 0xbf50(%rsp), %rdi
addq $0x8, %rdi
leaq 0xb860(%rsp), %rsi
callq 0x84b0
cmpl $0x0, %eax
je 0x18f5ef
leaq 0x9820(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
movq 0xbf50(%rsp), %rcx
addq $0x8, %rcx
leaq 0xb860(%rsp), %r8
leaq 0x7b301(%rip), %rsi     # 0x20a883
movb $0x0, %al
callq 0x5b9c0
leaq 0x9020(%rsp), %rdi
leaq 0x9820(%rsp), %rcx
leaq 0x42ae2(%rip), %rsi     # 0x1d2082
leaq 0x7b353(%rip), %rdx     # 0x20a8fa
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x9020(%rsp), %r8
leaq 0x42a68(%rip), %rsi     # 0x1d2034
leaq 0x7b1fc(%rip), %rdx     # 0x20a7cf
movl $0x11a, %ecx            # imm = 0x11A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18f5f1
movq 0xbf50(%rsp), %rax
cmpl $0x0, 0xcd4(%rax)
je 0x18f68a
leaq 0x8820(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
leaq 0x7b31e(%rip), %rsi     # 0x20a93b
movb $0x0, %al
callq 0x5b9c0
leaq 0x8020(%rsp), %rdi
leaq 0x8820(%rsp), %rcx
leaq 0x42a47(%rip), %rsi     # 0x1d2082
leaq 0x5cf54(%rip), %rdx     # 0x1ec596
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x8020(%rsp), %r8
leaq 0x429cd(%rip), %rsi     # 0x1d2034
leaq 0x7b161(%rip), %rdx     # 0x20a7cf
movl $0x11f, %ecx            # imm = 0x11F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18f68c
leaq 0xb860(%rsp), %rcx
xorl %eax, %eax
movl %eax, %esi
leaq 0x5fa20(%rip), %rdx     # 0x1ef0bf
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0x801c(%rsp)
movq 0xbf50(%rsp), %rdi
addq $0x8, %rdi
movl 0x801c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0xb860(%rsp), %rcx
leaq 0x5f9e7(%rip), %rdx     # 0x1ef0bf
movb $0x0, %al
callq 0x8540
movl 0xb83c(%rsp), %ecx
movq 0xbf50(%rsp), %rax
movl %ecx, 0xcdc(%rax)
jmp 0x18fc9b
movq 0xbf50(%rsp), %rax
movswl 0x1600(%rax), %eax
cmpl $0x1, %eax
jle 0x18f746
movsd 0xb858(%rsp), %xmm0
movsd 0xb850(%rsp), %xmm1
movsd 0xb848(%rsp), %xmm2
movl 0xb838(%rsp), %esi
movsd 0xb840(%rsp), %xmm3
leaq 0x7b273(%rip), %rdi     # 0x20a9b2
movb $0x4, %al
callq 0x8030
movq 0xbf50(%rsp), %rax
cmpl $0x1, 0xcd4(%rax)
jne 0x18fb89
movq 0xbf50(%rsp), %rax
movsd 0x2d0(%rax), %xmm0
subsd 0xb858(%rsp), %xmm0
movaps 0x42ab5(%rip), %xmm1    # 0x1d2230
pand %xmm1, %xmm0
movq 0xbf58(%rsp), %rax
ucomisd 0x920(%rax), %xmm0
jbe 0x18f832
leaq 0x7810(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
movq 0xbf50(%rsp), %rax
movsd 0x2d0(%rax), %xmm0
movsd 0xb858(%rsp), %xmm1
leaq 0x7b252(%rip), %rsi     # 0x20aa17
movb $0x2, %al
callq 0x5b9c0
leaq 0x7010(%rsp), %rdi
leaq 0x7810(%rsp), %rcx
leaq 0x4289f(%rip), %rsi     # 0x1d2082
leaq 0x7b2a9(%rip), %rdx     # 0x20aa93
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x7010(%rsp), %r8
leaq 0x42825(%rip), %rsi     # 0x1d2034
leaq 0x7afb9(%rip), %rdx     # 0x20a7cf
movl $0x12d, %ecx            # imm = 0x12D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
movq 0xbf50(%rsp), %rax
movsd 0x2d8(%rax), %xmm0
subsd 0xb850(%rsp), %xmm0
movaps 0x429de(%rip), %xmm1    # 0x1d2230
pand %xmm1, %xmm0
movq 0xbf58(%rsp), %rax
ucomisd 0x920(%rax), %xmm0
jbe 0x18f909
leaq 0x6810(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
movq 0xbf50(%rsp), %rax
movsd 0x2d8(%rax), %xmm0
movsd 0xb850(%rsp), %xmm1
leaq 0x7b231(%rip), %rsi     # 0x20aacd
movb $0x2, %al
callq 0x5b9c0
leaq 0x6010(%rsp), %rdi
leaq 0x6810(%rsp), %rcx
leaq 0x427c8(%rip), %rsi     # 0x1d2082
leaq 0x7b288(%rip), %rdx     # 0x20ab49
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x6010(%rsp), %r8
leaq 0x4274e(%rip), %rsi     # 0x1d2034
leaq 0x7aee2(%rip), %rdx     # 0x20a7cf
movl $0x131, %ecx            # imm = 0x131
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
movq 0xbf50(%rsp), %rax
movsd 0x2e0(%rax), %xmm0
subsd 0xb848(%rsp), %xmm0
movaps 0x42907(%rip), %xmm1    # 0x1d2230
pand %xmm1, %xmm0
movq 0xbf58(%rsp), %rax
ucomisd 0x920(%rax), %xmm0
jbe 0x18f9e0
leaq 0x5810(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
movq 0xbf50(%rsp), %rax
movsd 0x2e0(%rax), %xmm0
movsd 0xb848(%rsp), %xmm1
leaq 0x7b210(%rip), %rsi     # 0x20ab83
movb $0x2, %al
callq 0x5b9c0
leaq 0x5010(%rsp), %rdi
leaq 0x5810(%rsp), %rcx
leaq 0x426f1(%rip), %rsi     # 0x1d2082
leaq 0x7b267(%rip), %rdx     # 0x20abff
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x5010(%rsp), %r8
leaq 0x42677(%rip), %rsi     # 0x1d2034
leaq 0x7ae0b(%rip), %rdx     # 0x20a7cf
movl $0x135, %ecx            # imm = 0x135
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
movq 0xbf50(%rsp), %rax
movl 0x2e8(%rax), %eax
subl 0xb838(%rsp), %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
cvtsi2sd %eax, %xmm0
movq 0xbf58(%rsp), %rax
ucomisd 0x920(%rax), %xmm0
jbe 0x18fab0
leaq 0x4810(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
movq 0xbf50(%rsp), %rax
movl 0x2e8(%rax), %ecx
movl 0xb838(%rsp), %r8d
leaq 0x7b1fa(%rip), %rsi     # 0x20ac3d
movb $0x0, %al
callq 0x5b9c0
leaq 0x4010(%rsp), %rdi
leaq 0x4810(%rsp), %rcx
leaq 0x42621(%rip), %rsi     # 0x1d2082
leaq 0x7b24c(%rip), %rdx     # 0x20acb4
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x4010(%rsp), %r8
leaq 0x425a7(%rip), %rsi     # 0x1d2034
leaq 0x7ad3b(%rip), %rdx     # 0x20a7cf
movl $0x139, %ecx            # imm = 0x139
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
movq 0xbf50(%rsp), %rax
movsd 0x2f0(%rax), %xmm0
subsd 0xb840(%rsp), %xmm0
movaps 0x42760(%rip), %xmm1    # 0x1d2230
pand %xmm1, %xmm0
movq 0xbf58(%rsp), %rax
ucomisd 0x920(%rax), %xmm0
jbe 0x18fb87
leaq 0x3810(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
movq 0xbf50(%rsp), %rax
movsd 0x2f0(%rax), %xmm0
movsd 0xb840(%rsp), %xmm1
leaq 0x7b1d7(%rip), %rsi     # 0x20acf1
movb $0x2, %al
callq 0x5b9c0
leaq 0x3010(%rsp), %rdi
leaq 0x3810(%rsp), %rcx
leaq 0x4254a(%rip), %rsi     # 0x1d2082
leaq 0x7b230(%rip), %rdx     # 0x20ad6f
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x3010(%rsp), %r8
leaq 0x424d0(%rip), %rsi     # 0x1d2034
leaq 0x7ac64(%rip), %rdx     # 0x20a7cf
movl $0x13d, %ecx            # imm = 0x13D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18fb89
movq 0xbf50(%rsp), %rax
cmpl $0x0, 0xcdc(%rax)
je 0x18fc22
leaq 0x2810(%rsp), %rdi
leaq 0xbad0(%rsp), %rdx
leaq 0x7b1f8(%rip), %rsi     # 0x20adad
movb $0x0, %al
callq 0x5b9c0
leaq 0x2010(%rsp), %rdi
leaq 0x2810(%rsp), %rcx
leaq 0x424af(%rip), %rsi     # 0x1d2082
leaq 0x7b24a(%rip), %rdx     # 0x20ae24
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x2010(%rsp), %r8
leaq 0x42435(%rip), %rsi     # 0x1d2034
leaq 0x7abc9(%rip), %rdx     # 0x20a7cf
movl $0x142, %ecx            # imm = 0x142
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
movsd 0xb858(%rsp), %xmm0
movq 0xbf50(%rsp), %rax
movsd %xmm0, 0x2d0(%rax)
movsd 0xb850(%rsp), %xmm0
movq 0xbf50(%rsp), %rax
movsd %xmm0, 0x2d8(%rax)
movsd 0xb848(%rsp), %xmm0
movq 0xbf50(%rsp), %rax
movsd %xmm0, 0x2e0(%rax)
movl 0xb838(%rsp), %ecx
movq 0xbf50(%rsp), %rax
movl %ecx, 0x2e8(%rax)
movsd 0xb840(%rsp), %xmm0
movq 0xbf50(%rsp), %rax
movsd %xmm0, 0x2f0(%rax)
jmp 0x18fc9d
jmp 0x18fc9f
jmp 0x18f2c2
movq 0xbf48(%rsp), %rdi
callq 0x83c0
cmpl $0x0, 0xb828(%rsp)
jne 0x18fe37
movq 0xbf50(%rsp), %rax
cmpl $0x1, 0xcd4(%rax)
je 0x18fce5
movq 0xbf50(%rsp), %rax
cmpl $0x1, 0xcdc(%rax)
jne 0x18fda2
movq 0xbf50(%rsp), %rax
movswl 0x1600(%rax), %eax
cmpl $0x0, %eax
jle 0x18fd16
movq 0xbf50(%rsp), %rsi
addq $0x26c, %rsi            # imm = 0x26C
leaq 0x7b12c(%rip), %rdi     # 0x20ae3b
movb $0x0, %al
callq 0x8030
movq 0xbf58(%rsp), %rdi
movq 0xbf50(%rsp), %rsi
callq 0x1936f0
cmpl $0x1, %eax
jne 0x18fd9d
leaq 0x1810(%rsp), %rdi
movq 0xbf50(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x4268a(%rip), %rsi     # 0x1d23d8
leaq 0x7b105(%rip), %rdx     # 0x20ae5a
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x1810(%rsp), %r8
leaq 0x422ba(%rip), %rsi     # 0x1d2034
leaq 0x7aa4e(%rip), %rdx     # 0x20a7cf
movl $0x15a, %ecx            # imm = 0x15A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18fe35
leaq 0x1010(%rsp), %rdi
movq 0xbf50(%rsp), %rdx
addq $0x26c, %rdx            # imm = 0x26C
movq 0xbf50(%rsp), %rcx
addq $0x958, %rcx            # imm = 0x958
leaq 0x7b0b2(%rip), %rsi     # 0x20ae81
movb $0x0, %al
callq 0x5b9c0
leaq 0x810(%rsp), %rdi
leaq 0x1010(%rsp), %rdx
leaq 0x42780(%rip), %rsi     # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x810(%rsp), %r8
leaq 0x42222(%rip), %rsi     # 0x1d2034
leaq 0x7a9b6(%rip), %rdx     # 0x20a7cf
movl $0x160, %ecx            # imm = 0x160
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18fe37
movq 0xbf50(%rsp), %rax
cmpl $0x1, 0xcdc(%rax)
jne 0x18fecc
movq 0xbf58(%rsp), %rdi
movq 0xbf50(%rsp), %rsi
callq 0x193c50
cmpl $0x1, %eax
jne 0x18feca
leaq 0x10(%rsp), %rdi
movq 0xbf50(%rsp), %rcx
addq $0x1602, %rcx           # imm = 0x1602
leaq 0x42557(%rip), %rsi     # 0x1d23d8
leaq 0x7b09d(%rip), %rdx     # 0x20af25
movb $0x0, %al
callq 0x5b9c0
movq 0xbf50(%rsp), %rdi
addq $0x1602, %rdi           # imm = 0x1602
leaq 0x10(%rsp), %r8
leaq 0x4218a(%rip), %rsi     # 0x1d2034
leaq 0x7a91e(%rip), %rdx     # 0x20a7cf
movl $0x167, %ecx            # imm = 0x167
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xbf64(%rsp)
jmp 0x18fed7
jmp 0x18fecc
movl $0x0, 0xbf64(%rsp)
movl 0xbf64(%rsp), %eax
addq $0xbf68, %rsp           # imm = 0xBF68
retq
nopw %cs:(%rax,%rax)