// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/primordial.c
// Function: primordial_external_spectrum_init
int primordial_external_spectrum_init(
                                      struct perturbations * ppt,
                                      struct primordial * ppm
                                      ) {
  /** Summary: */

  char arguments[_ARGUMENT_LENGTH_MAX_];
  char line[_LINE_LENGTH_MAX_];
  char command_with_arguments[2*_ARGUMENT_LENGTH_MAX_];
  FILE *process;
  int n_data_guess, n_data = 0;
  double *k = NULL, *pks = NULL, *pkt = NULL;
  double this_k, this_pks, this_pkt;
  int status;
  int index_k;

  /** - Initialization */
  /* Prepare the data (with some initial size) */
  n_data_guess = 100;
  k   = (double *)malloc(n_data_guess*sizeof(double));
  pks = (double *)malloc(n_data_guess*sizeof(double));
  if (ppt->has_tensors == _TRUE_)
    pkt = (double *)malloc(n_data_guess*sizeof(double));
  /* Prepare the command */
  /* If the command is just a "cat", no arguments need to be passed */
  if (strncmp("cat ", ppm->command, 4) == 0) {
    class_sprintf(arguments, " ");
  }
  /* otherwise pass the list of arguments */
  else {
    class_sprintf(arguments, " %g %g %g %g %g %g %g %g %g %g",
            ppm->custom1, ppm->custom2, ppm->custom3, ppm->custom4, ppm->custom5,
            ppm->custom6, ppm->custom7, ppm->custom8, ppm->custom9, ppm->custom10);
  }
  /* write the actual command in a string */
  class_sprintf(command_with_arguments, "%s %s", ppm->command, arguments);
  if (ppm->primordial_verbose > 0)
    printf(" -> running: %s\n",command_with_arguments);

  /** - Launch the command and retrieve the output */
  /* Launch the process */
  process = popen(command_with_arguments, "r");
  class_test(process == NULL,
             ppm->error_message,
             "The program failed to set the environment for the external command. Maybe you ran out of memory.");
  /* Read output and store it */
  while (fgets(line, sizeof(line)-1, process) != NULL) {
    if (ppt->has_tensors == _TRUE_) {
      sscanf(line, "%lf %lf %lf", &this_k, &this_pks, &this_pkt);
    }
    else {
      sscanf(line, "%lf %lf", &this_k, &this_pks);
    }
    /* Standard technique in C: if too many data, double the size of the vectors */
    /* (it is faster and safer that reallocating every new line) */
    if ((n_data+1) > n_data_guess) {
      n_data_guess *= 2;
      class_realloc(k, n_data_guess*sizeof(double), ppm->error_message);
      class_realloc(pks, n_data_guess*sizeof(double), ppm->error_message);
      if (ppt->has_tensors == _TRUE_) {
        class_realloc(pkt, n_data_guess*sizeof(double), ppm->error_message);
      }
    }
    /* Store */
    k  [n_data]   = this_k;
    pks[n_data]   = this_pks;
    if (ppt->has_tensors == _TRUE_) {
      pkt[n_data] = this_pkt;
    }
    n_data++;
    /* Check ascending order of the k's */
    if (n_data>1) {
      class_test(k[n_data-1] <= k[n_data-2],
                 ppm->error_message,
                 "The k's are not strictly sorted in ascending order, "
                 "as it is required for the calculation of the splines.\n");
    }
  }
  /* Close the process */
  status = pclose(process);
  class_test(status != 0.,
             ppm->error_message,
             "The attempt to launch the external command was unsuccessful. "
             "Try doing it by hand to check for errors.");
  /* Test limits of the k's */
  class_test(k[1] > ppt->k_min,
             ppm->error_message,
             "Your table for the primordial spectrum does not have "
             "at least 2 points before the minimum value of k: %e . "
             "The splines interpolation would not be safe.",ppt->k_min);
  class_test(k[n_data-2] < ppt->k_max,
             ppm->error_message,
             "Your table for the primordial spectrum does not have "
             "at least 2 points after the maximum value of k: %e . "
             "The splines interpolation would not be safe.",ppt->k_max);

  /** - Store the read results into CLASS structures */
  ppm->lnk_size = n_data;
  /** - Make room */
  class_realloc(ppm->lnk,
                ppm->lnk_size*sizeof(double),
                ppm->error_message);
  class_realloc(ppm->lnpk[ppt->index_md_scalars],
                ppm->lnk_size*sizeof(double),
                ppm->error_message);
  class_realloc(ppm->ddlnpk[ppt->index_md_scalars],
                ppm->lnk_size*sizeof(double),
                ppm->error_message);
  if (ppt->has_tensors == _TRUE_) {
    class_realloc(ppm->lnpk[ppt->index_md_tensors],
                  ppm->lnk_size*sizeof(double),
                  ppm->error_message);
    class_realloc(ppm->ddlnpk[ppt->index_md_tensors],
                  ppm->lnk_size*sizeof(double),
                  ppm->error_message);
  };
  /** - Store values */
  for (index_k=0; index_k<ppm->lnk_size; index_k++) {
    ppm->lnk[index_k] = log(k[index_k]);
    ppm->lnpk[ppt->index_md_scalars][index_k] = log(pks[index_k]);
    if (ppt->has_tensors == _TRUE_)
      ppm->lnpk[ppt->index_md_tensors][index_k] = log(pkt[index_k]);
    /* DEBUG (with tensors)
       fprintf(stderr,"Storing[%d(+1) of %d]: \n k = %g == %g\n pks = %g == %g\n pkt = %g == %g\n",
       index_k, n_data,
       ppm->lnk[index_k], log(k[index_k]),
       ppm->lnpk[ppt->index_md_scalars][index_k], log(pks[index_k]),
       ppm->lnpk[ppt->index_md_tensors][index_k], log(pkt[index_k]));
    */
  };
  /** - Release the memory used locally */
  free(k);
  free(pks);
  if (ppt->has_tensors == _TRUE_)
    free(pkt);
  /** - Tell CLASS that there are scalar (and tensor) modes */
  ppm->is_non_zero[ppt->index_md_scalars][ppt->index_ic_ad] = _TRUE_;
  if (ppt->has_tensors == _TRUE_)
    ppm->is_non_zero[ppt->index_md_tensors][ppt->index_ic_ten] = _TRUE_;

  return _SUCCESS_;
}

// Assembly:
subq $0xa108, %rsp           # imm = 0xA108
movq %rdi, 0xa0f8(%rsp)
movq %rsi, 0xa0f0(%rsp)
movl $0x0, 0x90e0(%rsp)
movq $0x0, 0x90d8(%rsp)
movq $0x0, 0x90d0(%rsp)
movq $0x0, 0x90c8(%rsp)
movl $0x64, 0x90e4(%rsp)
movslq 0x90e4(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x90d8(%rsp)
movslq 0x90e4(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x90d0(%rsp)
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x11796d
movslq 0x90e4(%rsp), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, 0x90c8(%rsp)
movq 0xa0f0(%rsp), %rax
movq 0x220(%rax), %rsi
leaq 0xe7850(%rip), %rdi     # 0x1ff1d3
movl $0x4, %edx
callq 0x81b0
cmpl $0x0, %eax
jne 0x1179d8
jmp 0x117994
xorl %eax, %eax
movl %eax, %esi
leaq 0xd90e1(%rip), %rdx     # 0x1f0a80
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0x90a4(%rsp)
leaq 0x9cf0(%rsp), %rdi
movl 0x90a4(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
leaq 0xd90b4(%rip), %rdx     # 0x1f0a80
movb $0x0, %al
callq 0x8540
jmp 0x117b79
jmp 0x1179da
movq 0xa0f0(%rsp), %rax
movsd 0x228(%rax), %xmm0
movq 0xa0f0(%rsp), %rax
movsd 0x230(%rax), %xmm1
movq 0xa0f0(%rsp), %rax
movsd 0x238(%rax), %xmm2
movq 0xa0f0(%rsp), %rax
movsd 0x240(%rax), %xmm3
movq 0xa0f0(%rsp), %rax
movsd 0x248(%rax), %xmm4
movq 0xa0f0(%rsp), %rax
movsd 0x250(%rax), %xmm5
movq 0xa0f0(%rsp), %rax
movsd 0x258(%rax), %xmm6
movq 0xa0f0(%rsp), %rax
movsd 0x260(%rax), %xmm7
movq 0xa0f0(%rsp), %rax
movsd 0x268(%rax), %xmm9
movq 0xa0f0(%rsp), %rax
movsd 0x270(%rax), %xmm8
xorl %eax, %eax
movl %eax, %esi
leaq 0xe7751(%rip), %rdx     # 0x1ff1d8
movq %rsi, %rdi
movsd %xmm9, (%rsp)
movsd %xmm8, 0x8(%rsp)
movb $0x8, %al
callq 0x8540
movl %eax, 0x90a0(%rsp)
leaq 0x9cf0(%rsp), %rdi
movl 0x90a0(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movq 0xa0f0(%rsp), %rax
movsd 0x228(%rax), %xmm0
movq 0xa0f0(%rsp), %rax
movsd 0x230(%rax), %xmm1
movq 0xa0f0(%rsp), %rax
movsd 0x238(%rax), %xmm2
movq 0xa0f0(%rsp), %rax
movsd 0x240(%rax), %xmm3
movq 0xa0f0(%rsp), %rax
movsd 0x248(%rax), %xmm4
movq 0xa0f0(%rsp), %rax
movsd 0x250(%rax), %xmm5
movq 0xa0f0(%rsp), %rax
movsd 0x258(%rax), %xmm6
movq 0xa0f0(%rsp), %rax
movsd 0x260(%rax), %xmm7
movq 0xa0f0(%rsp), %rax
movsd 0x268(%rax), %xmm9
movq 0xa0f0(%rsp), %rax
movsd 0x270(%rax), %xmm8
leaq 0xe7675(%rip), %rdx     # 0x1ff1d8
movsd %xmm9, (%rsp)
movsd %xmm8, 0x8(%rsp)
movb $0x8, %al
callq 0x8540
jmp 0x117b79
jmp 0x117b7b
movq 0xa0f0(%rsp), %rax
movq 0x220(%rax), %rcx
leaq 0x9cf0(%rsp), %r8
xorl %eax, %eax
movl %eax, %esi
leaq 0xe765a(%rip), %rdx     # 0x1ff1f7
movq %rsi, %rdi
movb $0x0, %al
callq 0x8540
movl %eax, 0x909c(%rsp)
leaq 0x90f0(%rsp), %rdi
movl 0x909c(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
movq 0xa0f0(%rsp), %rax
movq 0x220(%rax), %rcx
leaq 0x9cf0(%rsp), %r8
leaq 0xe7616(%rip), %rdx     # 0x1ff1f7
movb $0x0, %al
callq 0x8540
movq 0xa0f0(%rsp), %rax
movswl 0x328(%rax), %eax
cmpl $0x0, %eax
jle 0x117c12
leaq 0x90f0(%rsp), %rsi
leaq 0xe75f2(%rip), %rdi     # 0x1ff1fd
movb $0x0, %al
callq 0x8030
leaq 0x90f0(%rsp), %rdi
leaq 0xd9016(%rip), %rsi     # 0x1f0c37
callq 0x8120
movq %rax, 0x90e8(%rsp)
cmpq $0x0, 0x90e8(%rsp)
jne 0x117cb5
leaq 0x8890(%rsp), %rdi
leaq 0xe75c6(%rip), %rsi     # 0x1ff20e
movb $0x0, %al
callq 0x5b9c0
leaq 0x8090(%rsp), %rdi
leaq 0x8890(%rsp), %rcx
leaq 0xba41c(%rip), %rsi     # 0x1d2082
leaq 0xe7602(%rip), %rdx     # 0x1ff26f
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x8090(%rsp), %r8
leaq 0xba3a2(%rip), %rsi     # 0x1d2034
leaq 0xe75e6(%rip), %rdx     # 0x1ff27f
movl $0xcf0, %ecx            # imm = 0xCF0
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
jmp 0x117cb7
leaq 0x98f0(%rsp), %rdi
movq 0x90e8(%rsp), %rdx
movl $0x3ff, %esi            # imm = 0x3FF
callq 0x8530
cmpq $0x0, %rax
je 0x1180b5
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x117d1c
leaq 0x98f0(%rsp), %rdi
leaq 0xe75a6(%rip), %rsi     # 0x1ff2a1
leaq 0x90c0(%rsp), %rdx
leaq 0x90b8(%rsp), %rcx
leaq 0x90b0(%rsp), %r8
movb $0x0, %al
callq 0x83b0
jmp 0x117d42
leaq 0x98f0(%rsp), %rdi
leaq 0xe757a(%rip), %rsi     # 0x1ff2a5
leaq 0x90c0(%rsp), %rdx
leaq 0x90b8(%rsp), %rcx
movb $0x0, %al
callq 0x83b0
movl 0x90e0(%rsp), %eax
addl $0x1, %eax
cmpl 0x90e4(%rsp), %eax
jle 0x117f6e
movl 0x90e4(%rsp), %eax
shll %eax
movl %eax, 0x90e4(%rsp)
movq 0x90d8(%rsp), %rdi
movslq 0x90e4(%rsp), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, 0x90d8(%rsp)
cmpq $0x0, 0x90d8(%rsp)
jne 0x117e0d
movslq 0x90e4(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x808c(%rsp)
leaq 0x7880(%rsp), %rdi
movl 0x808c(%rsp), %ecx
leaq 0xba246(%rip), %rsi     # 0x1d2004
leaq 0xf6333(%rip), %rdx     # 0x20e0f8
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x7880(%rsp), %r8
leaq 0xba24a(%rip), %rsi     # 0x1d2034
leaq 0xe748e(%rip), %rdx     # 0x1ff27f
movl $0xcfd, %ecx            # imm = 0xCFD
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0x90d0(%rsp), %rdi
movslq 0x90e4(%rsp), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, 0x90d0(%rsp)
cmpq $0x0, 0x90d0(%rsp)
jne 0x117eb1
movslq 0x90e4(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x787c(%rsp)
leaq 0x7070(%rsp), %rdi
movl 0x787c(%rsp), %ecx
leaq 0xba1a2(%rip), %rsi     # 0x1d2004
leaq 0xe7444(%rip), %rdx     # 0x1ff2ad
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x7070(%rsp), %r8
leaq 0xba1a6(%rip), %rsi     # 0x1d2034
leaq 0xe73ea(%rip), %rdx     # 0x1ff27f
movl $0xcfe, %ecx            # imm = 0xCFE
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x117f6c
movq 0x90c8(%rsp), %rdi
movslq 0x90e4(%rsp), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, 0x90c8(%rsp)
cmpq $0x0, 0x90c8(%rsp)
jne 0x117f6a
movslq 0x90e4(%rsp), %rax
shlq $0x3, %rax
movl %eax, 0x706c(%rsp)
leaq 0x6860(%rsp), %rdi
movl 0x706c(%rsp), %ecx
leaq 0xba0e9(%rip), %rsi     # 0x1d2004
leaq 0xe738f(%rip), %rdx     # 0x1ff2b1
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x6860(%rsp), %r8
leaq 0xba0ed(%rip), %rsi     # 0x1d2034
leaq 0xe7331(%rip), %rdx     # 0x1ff27f
movl $0xd00, %ecx            # imm = 0xD00
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
jmp 0x117f6c
jmp 0x117f6e
movsd 0x90c0(%rsp), %xmm0
movq 0x90d8(%rsp), %rax
movslq 0x90e0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movsd 0x90b8(%rsp), %xmm0
movq 0x90d0(%rsp), %rax
movslq 0x90e0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x117fd9
movsd 0x90b0(%rsp), %xmm0
movq 0x90c8(%rsp), %rax
movslq 0x90e0(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movl 0x90e0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x90e0(%rsp)
cmpl $0x1, 0x90e0(%rsp)
jle 0x1180b0
movq 0x90d8(%rsp), %rax
movl 0x90e0(%rsp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0x90d8(%rsp), %rax
movl 0x90e0(%rsp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm0
ucomisd %xmm1, %xmm0
jb 0x1180ae
leaq 0x6060(%rsp), %rdi
leaq 0xe7274(%rip), %rsi     # 0x1ff2b5
movb $0x0, %al
callq 0x5b9c0
leaq 0x5860(%rsp), %rdi
leaq 0x6060(%rsp), %rcx
leaq 0xba023(%rip), %rsi     # 0x1d2082
leaq 0xe72ba(%rip), %rdx     # 0x1ff320
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x5860(%rsp), %r8
leaq 0xb9fa9(%rip), %rsi     # 0x1d2034
leaq 0xe71ed(%rip), %rdx     # 0x1ff27f
movl $0xd0f, %ecx            # imm = 0xD0F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
jmp 0x1180b0
jmp 0x117cb7
movq 0x90e8(%rsp), %rdi
callq 0x84d0
movl %eax, 0x90ac(%rsp)
cvtsi2sdl 0x90ac(%rsp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1180df
jp 0x1180df
jmp 0x11815b
leaq 0x5060(%rsp), %rdi
leaq 0xe724d(%rip), %rsi     # 0x1ff33b
movb $0x0, %al
callq 0x5b9c0
leaq 0x4860(%rsp), %rdi
leaq 0x5060(%rsp), %rcx
leaq 0xb9f76(%rip), %rsi     # 0x1d2082
leaq 0xe728f(%rip), %rdx     # 0x1ff3a2
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x4860(%rsp), %r8
leaq 0xb9efc(%rip), %rsi     # 0x1d2034
leaq 0xe7140(%rip), %rdx     # 0x1ff27f
movl $0xd17, %ecx            # imm = 0xD17
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0x90d8(%rsp), %rax
movsd 0x8(%rax), %xmm0
movq 0xa0f8(%rsp), %rax
ucomisd 0x9e0(%rax), %xmm0
jbe 0x11820a
leaq 0x4060(%rsp), %rdi
movq 0xa0f8(%rsp), %rax
movsd 0x9e0(%rax), %xmm0
leaq 0xe7212(%rip), %rsi     # 0x1ff3af
movb $0x1, %al
callq 0x5b9c0
leaq 0x3860(%rsp), %rdi
leaq 0x4060(%rsp), %rcx
leaq 0xb9ec7(%rip), %rsi     # 0x1d2082
leaq 0xe7285(%rip), %rdx     # 0x1ff447
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x3860(%rsp), %r8
leaq 0xb9e4d(%rip), %rsi     # 0x1d2034
leaq 0xe7091(%rip), %rdx     # 0x1ff27f
movl $0xd1d, %ecx            # imm = 0xD1D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0x90d8(%rsp), %rax
movl 0x90e0(%rsp), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movsd (%rax,%rcx,8), %xmm1
movq 0xa0f8(%rsp), %rax
movsd 0x9e8(%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1182ca
leaq 0x3060(%rsp), %rdi
movq 0xa0f8(%rsp), %rax
movsd 0x9e8(%rax), %xmm0
leaq 0xe71fc(%rip), %rsi     # 0x1ff459
movb $0x1, %al
callq 0x5b9c0
leaq 0x2860(%rsp), %rdi
leaq 0x3060(%rsp), %rcx
leaq 0xb9e07(%rip), %rsi     # 0x1d2082
leaq 0xe726e(%rip), %rdx     # 0x1ff4f0
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x2860(%rsp), %r8
leaq 0xb9d8d(%rip), %rsi     # 0x1d2034
leaq 0xe6fd1(%rip), %rdx     # 0x1ff27f
movl $0xd22, %ecx            # imm = 0xD22
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movl 0x90e0(%rsp), %ecx
movq 0xa0f0(%rsp), %rax
movl %ecx, 0x290(%rax)
movq 0xa0f0(%rsp), %rax
movq 0x298(%rax), %rdi
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, %rcx
movq 0xa0f0(%rsp), %rax
movq %rcx, 0x298(%rax)
movq 0xa0f0(%rsp), %rax
cmpq $0x0, 0x298(%rax)
jne 0x1183a9
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x285c(%rsp)
leaq 0x2050(%rsp), %rdi
movl 0x285c(%rsp), %ecx
leaq 0xb9caa(%rip), %rsi     # 0x1d2004
leaq 0xe5192(%rip), %rdx     # 0x1fd4f3
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x2050(%rsp), %r8
leaq 0xb9cae(%rip), %rsi     # 0x1d2034
leaq 0xe6ef2(%rip), %rdx     # 0x1ff27f
movl $0xd29, %ecx            # imm = 0xD29
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, %rdx
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x1184ac
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x204c(%rsp)
leaq 0x1840(%rsp), %rdi
movl 0x204c(%rsp), %ecx
leaq 0xb9ba7(%rip), %rsi     # 0x1d2004
leaq 0xe70a5(%rip), %rdx     # 0x1ff509
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1840(%rsp), %r8
leaq 0xb9bab(%rip), %rsi     # 0x1d2034
leaq 0xe6def(%rip), %rdx     # 0x1ff27f
movl $0xd2c, %ecx            # imm = 0xD2C
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0xa0f0(%rsp), %rax
movq 0x2a8(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, %rdx
movq 0xa0f0(%rsp), %rax
movq 0x2a8(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0xa0f0(%rsp), %rax
movq 0x2a8(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x1185af
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x183c(%rsp)
leaq 0x1030(%rsp), %rdi
movl 0x183c(%rsp), %ecx
leaq 0xb9aa4(%rip), %rsi     # 0x1d2004
leaq 0xe6fc3(%rip), %rdx     # 0x1ff52a
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1030(%rsp), %r8
leaq 0xb9aa8(%rip), %rsi     # 0x1d2034
leaq 0xe6cec(%rip), %rdx     # 0x1ff27f
movl $0xd2f, %ecx            # imm = 0xD2F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x1187c6
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, %rdx
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x1186c7
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x102c(%rsp)
leaq 0x820(%rsp), %rdi
movl 0x102c(%rsp), %ecx
leaq 0xb998c(%rip), %rsi     # 0x1d2004
leaq 0xe6ece(%rip), %rdx     # 0x1ff54d
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x820(%rsp), %r8
leaq 0xb9990(%rip), %rsi     # 0x1d2034
leaq 0xe6bd4(%rip), %rdx     # 0x1ff27f
movl $0xd33, %ecx            # imm = 0xD33
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
movq 0xa0f0(%rsp), %rax
movq 0x2a8(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movq (%rax,%rcx,8), %rdi
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rsi
shlq $0x3, %rsi
callq 0x8580
movq %rax, %rdx
movq 0xa0f0(%rsp), %rax
movq 0x2a8(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0xa0f0(%rsp), %rax
movq 0x2a8(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x1187c4
movq 0xa0f0(%rsp), %rax
movslq 0x290(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x81c(%rsp)
leaq 0x10(%rsp), %rdi
movl 0x81c(%rsp), %ecx
leaq 0xb988c(%rip), %rsi     # 0x1d2004
leaq 0xe6def(%rip), %rdx     # 0x1ff56e
movb $0x0, %al
callq 0x5b9c0
movq 0xa0f0(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x10(%rsp), %r8
leaq 0xb9893(%rip), %rsi     # 0x1d2034
leaq 0xe6ad7(%rip), %rdx     # 0x1ff27f
movl $0xd36, %ecx            # imm = 0xD36
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0xa104(%rsp)
jmp 0x11899f
jmp 0x1187c6
movl $0x0, 0x90a8(%rsp)
movl 0x90a8(%rsp), %eax
movq 0xa0f0(%rsp), %rcx
cmpl 0x290(%rcx), %eax
jge 0x1188dd
movq 0x90d8(%rsp), %rax
movslq 0x90a8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
callq 0x82f0
movq 0xa0f0(%rsp), %rax
movq 0x298(%rax), %rax
movslq 0x90a8(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0x90d0(%rsp), %rax
movslq 0x90a8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
callq 0x82f0
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x90a8(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x1188c5
movq 0x90c8(%rsp), %rax
movslq 0x90a8(%rsp), %rcx
movsd (%rax,%rcx,8), %xmm0
callq 0x82f0
movq 0xa0f0(%rsp), %rax
movq 0x2a0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movslq 0x90a8(%rsp), %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0x1188c7
movl 0x90a8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x90a8(%rsp)
jmp 0x1187d1
movq 0x90d8(%rsp), %rdi
callq 0x8420
movq 0x90d0(%rsp), %rdi
callq 0x8420
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x118915
movq 0x90c8(%rsp), %rdi
callq 0x8420
movq 0xa0f0(%rsp), %rax
movq 0x2b0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x858(%rcx), %rcx
movw $0x1, (%rax,%rcx,2)
movq 0xa0f8(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x118994
movq 0xa0f0(%rsp), %rax
movq 0x2b0(%rax), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq 0xa0f8(%rsp), %rcx
movslq 0x86c(%rcx), %rcx
movw $0x1, (%rax,%rcx,2)
movl $0x0, 0xa104(%rsp)
movl 0xa104(%rsp), %eax
addq $0xa108, %rsp           # imm = 0xA108
retq
nop