// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/transfer.c
// Function: transfer_indices
int transfer_indices(
                     struct precision * ppr,
                     struct perturbations * ppt,
                     struct transfer * ptr,
                     double q_period,
                     double K,
                     int sgnK
                     ) {

  /** Summary: */

  /** - define local variables */

  int index_md,index_tt,index_tt_common;

  /** - define indices for transfer types */

  class_alloc(ptr->tt_size,ptr->md_size * sizeof(int),ptr->error_message);

  /** - type indices common to scalars and tensors */

  index_tt = 0;

  class_define_index(ptr->index_tt_t2,ppt->has_cl_cmb_temperature, index_tt,1);
  class_define_index(ptr->index_tt_e, ppt->has_cl_cmb_polarization,index_tt,1);

  index_tt_common=index_tt;

  /** - type indices for scalars */

  if (ppt->has_scalars == _TRUE_) {

    index_tt = index_tt_common;

    class_define_index(ptr->index_tt_t0,     ppt->has_cl_cmb_temperature,      index_tt,1);
    class_define_index(ptr->index_tt_t1,     ppt->has_cl_cmb_temperature,      index_tt,1);
    class_define_index(ptr->index_tt_lcmb,   ppt->has_cl_cmb_lensing_potential,index_tt,1);
    class_define_index(ptr->index_tt_density,ppt->has_nc_density,              index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_rsd,    ppt->has_nc_rsd,                  index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_d0,     ppt->has_nc_rsd,                  index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_d1,     ppt->has_nc_rsd,                  index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_nc_lens,ppt->has_nc_lens,                 index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_nc_g1,  ppt->has_nc_gr,                   index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_nc_g2,  ppt->has_nc_gr,                   index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_nc_g3,  ppt->has_nc_gr,                   index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_nc_g4,  ppt->has_nc_gr,                   index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_nc_g5,  ppt->has_nc_gr,                   index_tt,ppt->selection_num);
    class_define_index(ptr->index_tt_lensing,ppt->has_cl_lensing_potential,    index_tt,ppt->selection_num);

    ptr->tt_size[ppt->index_md_scalars]=index_tt;

  }

  /** - type indices for vectors */

  if (ppt->has_vectors == _TRUE_) {

    index_tt = index_tt_common;

    class_define_index(ptr->index_tt_t1,ppt->has_cl_cmb_temperature, index_tt,1);
    class_define_index(ptr->index_tt_b, ppt->has_cl_cmb_polarization,index_tt,1);

    ptr->tt_size[ppt->index_md_vectors]=index_tt;

  }

  /** - type indices for tensors */

  if (ppt->has_tensors == _TRUE_) {

    index_tt = index_tt_common;

    class_define_index(ptr->index_tt_b, ppt->has_cl_cmb_polarization,index_tt,1);

    ptr->tt_size[ppt->index_md_tensors]=index_tt;

  }

  /** - allocate arrays of (k, l) values and transfer functions */

  /* number of l values for each mode and type,
     l_size_tt[index_md][index_tt], and maximized for each mode,
     l_size[index_md] */

  class_alloc(ptr->l_size,ptr->md_size * sizeof(int),ptr->error_message);

  class_alloc(ptr->l_size_tt,ptr->md_size * sizeof(int *),ptr->error_message);

  for (index_md = 0; index_md < ptr->md_size; index_md++) {
    class_alloc(ptr->l_size_tt[index_md],ptr->tt_size[index_md] * sizeof(int),ptr->error_message);
  }

  /* array (of array) of transfer functions for each mode, transfer[index_md] */

  class_alloc(ptr->transfer,ptr->md_size * sizeof(double *),ptr->error_message);
  if (ptr->do_lcmb_full_limber == _TRUE_) {
    class_alloc(ptr->transfer_limber,ptr->md_size * sizeof(double *),ptr->error_message);
  }

  /** - get q values using transfer_get_q_list() */

  class_call(transfer_get_q_list(ppr,ppt,ptr,q_period,K,sgnK),
             ptr->error_message,
             ptr->error_message);

  /** - get q values in full Limber case using transfer_get_q_limber_list() */

  if (ptr->do_lcmb_full_limber == _TRUE_) {
    class_call(transfer_get_q_limber_list(ppr,ppt,ptr,K,sgnK),
               ptr->error_message,
               ptr->error_message);
  }
  else {
    ptr->q_size_limber=0;
  }

  /** - get k values using transfer_get_k_list() */

  class_call(transfer_get_k_list(ppt,ptr,K),
             ptr->error_message,
             ptr->error_message);

  /* for testing, it can be useful to print the q list in a file: */

  /*
    FILE * out=fopen("output/q","w");
    int index_q;

    for (index_q=0; index_q < ptr->q_size; index_q++) {

    fprintf(out,"%d %e %e %e %e\n",
    index_q,
    ptr->q[index_q],
    ptr->k[0][index_q],
    ptr->q[index_q]/sqrt(sgnK*K),
    ptr->q[index_q+1]-ptr->q[index_q]);

    }

    fclose(out);
  */

  /** - get l values using transfer_get_l_list() */
  class_call(transfer_get_l_list(ppr,ppt,ptr),
             ptr->error_message,
             ptr->error_message);

  /** - loop over modes (scalar, etc). For each mode: */

  for (index_md = 0; index_md < ptr->md_size; index_md++) {

    /** - allocate arrays of transfer functions, (ptr->transfer[index_md])[index_ic][index_tt][index_l][index_k] */
    class_alloc(ptr->transfer[index_md],
                ppt->ic_size[index_md] * ptr->tt_size[index_md] * ptr->l_size[index_md] * ptr->q_size * sizeof(double),
                ptr->error_message);

    if (ptr->do_lcmb_full_limber == _TRUE_) {
      class_alloc(ptr->transfer_limber[index_md],
                  ppt->ic_size[index_md] * ptr->tt_size[index_md] * ptr->l_size[index_md] * ptr->q_size_limber * sizeof(double),
                  ptr->error_message);
    }

  }

  return _SUCCESS_;

}

// Assembly:
subq $0x60b8, %rsp           # imm = 0x60B8
movq %rdi, 0x60a8(%rsp)
movq %rsi, 0x60a0(%rsp)
movq %rdx, 0x6098(%rsp)
movsd %xmm0, 0x6090(%rsp)
movsd %xmm1, 0x6088(%rsp)
movl %ecx, 0x6084(%rsp)
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rdi
shlq $0x2, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6098(%rsp), %rax
movq %rcx, 0x8f0(%rax)
movq 0x6098(%rsp), %rax
cmpq $0x0, 0x8f0(%rax)
jne 0x130f53
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rax
shlq $0x2, %rax
movl %eax, 0x6074(%rsp)
leaq 0x5870(%rsp), %rdi
movl 0x6074(%rsp), %ecx
leaq 0xa1100(%rip), %rsi     # 0x1d2004
leaq 0xd1f09(%rip), %rdx     # 0x202e14
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x5870(%rsp), %r8
leaq 0xa1104(%rip), %rsi     # 0x1d2034
leaq 0xd1eea(%rip), %rdx     # 0x202e21
movl $0x1f7, %ecx            # imm = 0x1F7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movl $0x0, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x28(%rax)
je 0x130f93
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8b0(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x2a(%rax)
je 0x130fc8
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8b4(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movl 0x607c(%rsp), %eax
movl %eax, 0x6078(%rsp)
movq 0x60a0(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0x13135f
movl 0x6078(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x28(%rax)
je 0x13102e
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8a8(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x28(%rax)
je 0x131063
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8ac(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x2c(%rax)
je 0x131098
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8bc(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x3e(%rax)
je 0x1310d5
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8c0(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x40(%rax)
je 0x131112
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8c8(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x40(%rax)
je 0x13114f
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8cc(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x40(%rax)
je 0x13118c
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8d0(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x42(%rax)
je 0x1311c9
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8d4(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x44(%rax)
je 0x131206
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8d8(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x44(%rax)
je 0x131243
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8dc(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x44(%rax)
je 0x131280
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8e0(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x44(%rax)
je 0x1312bd
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8e4(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x44(%rax)
je 0x1312fa
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8e8(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x2e(%rax)
je 0x131337
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8c4(%rax)
movq 0x60a0(%rsp), %rax
movl 0x64(%rax), %eax
addl 0x607c(%rsp), %eax
movl %eax, 0x607c(%rsp)
movl 0x607c(%rsp), %edx
movq 0x6098(%rsp), %rax
movq 0x8f0(%rax), %rax
movq 0x60a0(%rsp), %rcx
movslq 0x848(%rcx), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x60a0(%rsp), %rax
movswl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0x131414
movl 0x6078(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x28(%rax)
je 0x1313b7
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8ac(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x2a(%rax)
je 0x1313ec
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8b8(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movl 0x607c(%rsp), %edx
movq 0x6098(%rsp), %rax
movq 0x8f0(%rax), %rax
movq 0x60a0(%rsp), %rcx
movslq 0x850(%rcx), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x60a0(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0x131490
movl 0x6078(%rsp), %eax
movl %eax, 0x607c(%rsp)
movq 0x60a0(%rsp), %rax
cmpw $0x0, 0x2a(%rax)
je 0x131468
movl 0x607c(%rsp), %ecx
movq 0x6098(%rsp), %rax
movl %ecx, 0x8b8(%rax)
movl 0x607c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x607c(%rsp)
movl 0x607c(%rsp), %edx
movq 0x6098(%rsp), %rax
movq 0x8f0(%rax), %rax
movq 0x60a0(%rsp), %rcx
movslq 0x84c(%rcx), %rcx
movl %edx, (%rax,%rcx,4)
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rdi
shlq $0x2, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6098(%rsp), %rax
movq %rcx, 0x900(%rax)
movq 0x6098(%rsp), %rax
cmpq $0x0, 0x900(%rax)
jne 0x13154b
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rax
shlq $0x2, %rax
movl %eax, 0x586c(%rsp)
leaq 0x5060(%rsp), %rdi
movl 0x586c(%rsp), %ecx
leaq 0xa0b08(%rip), %rsi     # 0x1d2004
leaq 0xd192f(%rip), %rdx     # 0x202e32
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x5060(%rsp), %r8
leaq 0xa0b0c(%rip), %rsi     # 0x1d2034
leaq 0xd18f2(%rip), %rdx     # 0x202e21
movl $0x23a, %ecx            # imm = 0x23A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6098(%rsp), %rax
movq %rcx, 0x8f8(%rax)
movq 0x6098(%rsp), %rax
cmpq $0x0, 0x8f8(%rax)
jne 0x131606
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x505c(%rsp)
leaq 0x4850(%rsp), %rdi
movl 0x505c(%rsp), %ecx
leaq 0xa0a4d(%rip), %rsi     # 0x1d2004
leaq 0xd1880(%rip), %rdx     # 0x202e3e
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x4850(%rsp), %r8
leaq 0xa0a51(%rip), %rsi     # 0x1d2034
leaq 0xd1837(%rip), %rdx     # 0x202e21
movl $0x23c, %ecx            # imm = 0x23C
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movl $0x0, 0x6080(%rsp)
movl 0x6080(%rsp), %eax
movq 0x6098(%rsp), %rcx
cmpl 0x8a4(%rcx), %eax
jge 0x131733
movq 0x6098(%rsp), %rax
movq 0x8f0(%rax), %rax
movslq 0x6080(%rsp), %rcx
movslq (%rax,%rcx,4), %rdi
shlq $0x2, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x6098(%rsp), %rax
movq 0x8f8(%rax), %rax
movslq 0x6080(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x6098(%rsp), %rax
movq 0x8f8(%rax), %rax
movslq 0x6080(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x13171b
movq 0x6098(%rsp), %rax
movq 0x8f0(%rax), %rax
movslq 0x6080(%rsp), %rcx
movslq (%rax,%rcx,4), %rax
shlq $0x2, %rax
movl %eax, 0x484c(%rsp)
leaq 0x4040(%rsp), %rdi
movl 0x484c(%rsp), %ecx
leaq 0xa0938(%rip), %rsi     # 0x1d2004
leaq 0xd177a(%rip), %rdx     # 0x202e4d
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x4040(%rsp), %r8
leaq 0xa093c(%rip), %rsi     # 0x1d2034
leaq 0xd1722(%rip), %rdx     # 0x202e21
movl $0x23f, %ecx            # imm = 0x23F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
jmp 0x13171d
movl 0x6080(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6080(%rsp)
jmp 0x131611
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6098(%rsp), %rax
movq %rcx, 0x958(%rax)
movq 0x6098(%rsp), %rax
cmpq $0x0, 0x958(%rax)
jne 0x1317ee
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x403c(%rsp)
leaq 0x3830(%rsp), %rdi
movl 0x403c(%rsp), %ecx
leaq 0xa0865(%rip), %rsi     # 0x1d2004
leaq 0xd16c0(%rip), %rdx     # 0x202e66
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x3830(%rsp), %r8
leaq 0xa0869(%rip), %rsi     # 0x1d2034
leaq 0xd164f(%rip), %rdx     # 0x202e21
movl $0x244, %ecx            # imm = 0x244
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movq 0x6098(%rsp), %rax
movswl 0x93c(%rax), %eax
cmpl $0x1, %eax
jne 0x1318c3
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6098(%rsp), %rax
movq %rcx, 0x960(%rax)
movq 0x6098(%rsp), %rax
cmpq $0x0, 0x960(%rax)
jne 0x1318c1
movq 0x6098(%rsp), %rax
movslq 0x8a4(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x382c(%rsp)
leaq 0x3020(%rsp), %rdi
movl 0x382c(%rsp), %ecx
leaq 0xa0792(%rip), %rsi     # 0x1d2004
leaq 0xd15fb(%rip), %rdx     # 0x202e74
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x3020(%rsp), %r8
leaq 0xa0796(%rip), %rsi     # 0x1d2034
leaq 0xd157c(%rip), %rdx     # 0x202e21
movl $0x246, %ecx            # imm = 0x246
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
jmp 0x1318c3
movq 0x60a8(%rsp), %rdi
movq 0x60a0(%rsp), %rsi
movq 0x6098(%rsp), %rdx
movsd 0x6090(%rsp), %xmm0
movsd 0x6088(%rsp), %xmm1
movl 0x6084(%rsp), %ecx
callq 0x137c30
cmpl $0x1, %eax
jne 0x13196b
leaq 0x2820(%rsp), %rdi
movq 0x6098(%rsp), %rcx
addq $0x96a, %rcx            # imm = 0x96A
leaq 0xa0abc(%rip), %rsi     # 0x1d23d8
leaq 0xd1566(%rip), %rdx     # 0x202e89
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x2820(%rsp), %r8
leaq 0xa06ec(%rip), %rsi     # 0x1d2034
leaq 0xd14d2(%rip), %rdx     # 0x202e21
movl $0x24d, %ecx            # imm = 0x24D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movq 0x6098(%rsp), %rax
movswl 0x93c(%rax), %eax
cmpl $0x1, %eax
jne 0x131a24
movq 0x60a8(%rsp), %rdi
movq 0x60a0(%rsp), %rsi
movq 0x6098(%rsp), %rdx
movsd 0x6088(%rsp), %xmm0
movl 0x6084(%rsp), %ecx
callq 0x139320
cmpl $0x1, %eax
jne 0x131a22
leaq 0x2020(%rsp), %rdi
movq 0x6098(%rsp), %rcx
addq $0x96a, %rcx            # imm = 0x96A
leaq 0xa0a05(%rip), %rsi     # 0x1d23d8
leaq 0xd14e0(%rip), %rdx     # 0x202eba
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x2020(%rsp), %r8
leaq 0xa0635(%rip), %rsi     # 0x1d2034
leaq 0xd141b(%rip), %rdx     # 0x202e21
movl $0x254, %ecx            # imm = 0x254
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
jmp 0x131a37
movq 0x6098(%rsp), %rax
movq $0x0, 0x940(%rax)
movq 0x60a0(%rsp), %rdi
movq 0x6098(%rsp), %rsi
movsd 0x6088(%rsp), %xmm0
callq 0x139aa0
cmpl $0x1, %eax
jne 0x131ac7
leaq 0x1820(%rsp), %rdi
movq 0x6098(%rsp), %rcx
addq $0x96a, %rcx            # imm = 0x96A
leaq 0xa0960(%rip), %rsi     # 0x1d23d8
leaq 0xd146a(%rip), %rdx     # 0x202ee9
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x1820(%rsp), %r8
leaq 0xa0590(%rip), %rsi     # 0x1d2034
leaq 0xd1376(%rip), %rdx     # 0x202e21
movl $0x25e, %ecx            # imm = 0x25E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movq 0x60a8(%rsp), %rdi
movq 0x60a0(%rsp), %rsi
movq 0x6098(%rsp), %rdx
callq 0x13a6d0
cmpl $0x1, %eax
jne 0x131b56
leaq 0x1020(%rsp), %rdi
movq 0x6098(%rsp), %rcx
addq $0x96a, %rcx            # imm = 0x96A
leaq 0xa08d1(%rip), %rsi     # 0x1d23d8
leaq 0xd13fa(%rip), %rdx     # 0x202f08
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x1020(%rsp), %r8
leaq 0xa0501(%rip), %rsi     # 0x1d2034
leaq 0xd12e7(%rip), %rdx     # 0x202e21
movl $0x277, %ecx            # imm = 0x277
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movl $0x0, 0x6080(%rsp)
movl 0x6080(%rsp), %eax
movq 0x6098(%rsp), %rcx
cmpl 0x8a4(%rcx), %eax
jge 0x131e9d
movq 0x60a0(%rsp), %rax
movq 0x870(%rax), %rax
movslq 0x6080(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x8f0(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x900(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movslq %eax, %rdi
movq 0x6098(%rsp), %rax
imulq 0x920(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x6098(%rsp), %rax
movq 0x958(%rax), %rax
movslq 0x6080(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x6098(%rsp), %rax
movq 0x958(%rax), %rax
movslq 0x6080(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x131cfa
movq 0x60a0(%rsp), %rax
movq 0x870(%rax), %rax
movslq 0x6080(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x8f0(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x900(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
cltq
movq 0x6098(%rsp), %rcx
imulq 0x920(%rcx), %rax
shlq $0x3, %rax
movl %eax, 0x101c(%rsp)
leaq 0x810(%rsp), %rdi
movl 0x101c(%rsp), %ecx
leaq 0xa0359(%rip), %rsi     # 0x1d2004
leaq 0xd1277(%rip), %rdx     # 0x202f29
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
leaq 0x810(%rsp), %r8
leaq 0xa035d(%rip), %rsi     # 0x1d2034
leaq 0xd1143(%rip), %rdx     # 0x202e21
movl $0x280, %ecx            # imm = 0x280
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
movq 0x6098(%rsp), %rax
movswl 0x93c(%rax), %eax
cmpl $0x1, %eax
jne 0x131e85
movq 0x60a0(%rsp), %rax
movq 0x870(%rax), %rax
movslq 0x6080(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x8f0(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x900(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movslq %eax, %rdi
movq 0x6098(%rsp), %rax
imulq 0x940(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x6098(%rsp), %rax
movq 0x960(%rax), %rax
movslq 0x6080(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x6098(%rsp), %rax
movq 0x960(%rax), %rax
movslq 0x6080(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x131e83
movq 0x60a0(%rsp), %rax
movq 0x870(%rax), %rax
movslq 0x6080(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x8f0(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
movq 0x6098(%rsp), %rcx
movq 0x900(%rcx), %rcx
movslq 0x6080(%rsp), %rdx
imull (%rcx,%rdx,4), %eax
cltq
movq 0x6098(%rsp), %rcx
imulq 0x940(%rcx), %rax
shlq $0x3, %rax
movl %eax, 0x80c(%rsp)
movq %rsp, %rdi
movl 0x80c(%rsp), %ecx
leaq 0xa01c8(%rip), %rsi     # 0x1d2004
leaq 0xd10fe(%rip), %rdx     # 0x202f41
movb $0x0, %al
callq 0x5b9c0
movq 0x6098(%rsp), %rdi
addq $0x96a, %rdi            # imm = 0x96A
movq %rsp, %r8
leaq 0xa01d1(%rip), %rsi     # 0x1d2034
leaq 0xd0fb7(%rip), %rdx     # 0x202e21
movl $0x285, %ecx            # imm = 0x285
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x60b4(%rsp)
jmp 0x131ea8
jmp 0x131e85
jmp 0x131e87
movl 0x6080(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6080(%rsp)
jmp 0x131b61
movl $0x0, 0x60b4(%rsp)
movl 0x60b4(%rsp), %eax
addq $0x60b8, %rsp           # imm = 0x60B8
retq
nopw (%rax,%rax)