// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/perturbations.c
// Function: perturbations_workspace_init
int perturbations_workspace_init(
                                 struct precision * ppr,
                                 struct background * pba,
                                 struct thermodynamics * pth,
                                 struct perturbations * ppt,
                                 int index_md,
                                 struct perturbations_workspace * ppw
                                 ) {

  /** Summary: */

  /** - define local variables */

  int index_mt=0;
  int index_ap;
  int l;

  /** - Compute maximum l_max for any multipole */;
  if (_scalars_) {
    ppw->max_l_max = MAX(ppr->l_max_g, ppr->l_max_pol_g);
    if (pba->has_ur == _TRUE_) ppw->max_l_max = MAX(ppw->max_l_max, ppr->l_max_ur);
    if ((pba->has_idr == _TRUE_) && (ppt->idr_nature == idr_free_streaming)) ppw->max_l_max = MAX(ppw->max_l_max, ppr->l_max_idr);
    if (pba->has_ncdm == _TRUE_) ppw->max_l_max = MAX(ppw->max_l_max, ppr->l_max_ncdm);
    if (pba->has_dr == _TRUE_) ppw->max_l_max = MAX(ppw->max_l_max, ppr->l_max_dr);
  }
  if (_tensors_) {
    ppw->max_l_max = MAX(ppr->l_max_g_ten, ppr->l_max_pol_g_ten);
    if (pba->has_ur == _TRUE_) ppw->max_l_max = MAX(ppw->max_l_max, ppr->l_max_ur);
    if (pba->has_ncdm == _TRUE_) ppw->max_l_max = MAX(ppw->max_l_max, ppr->l_max_ncdm);
  }

  /** - Allocate \f$ s_l\f$[ ] array for freestreaming of multipoles (see arXiv:1305.3261) and initialize
      to 1.0, which is the K=0 value. */
  class_alloc(ppw->s_l, sizeof(double)*(ppw->max_l_max+1),ppt->error_message);
  for (l=0; l<=ppw->max_l_max; l++){
    ppw->s_l[l] = 1.0;
  }

  /** - define indices of metric perturbations obeying constraint
      equations (this can be done once and for all, because the
      vector of metric perturbations is the same whatever the
      approximation scheme, unlike the vector of quantities to
      be integrated, which is allocated separately in
      perturbations_vector_init) */

  if (_scalars_) {

    /* newtonian gauge */

    if (ppt->gauge == newtonian) {
      class_define_index(ppw->index_mt_psi,_TRUE_,index_mt,1); /* psi */
      class_define_index(ppw->index_mt_phi_prime,_TRUE_,index_mt,1); /* phi' */
    }

    /* synchronous gauge (note that eta is counted in the vector of
       quantities to be integrated, while here we only consider
       quantities obeying to constraint equations) */

    if (ppt->gauge == synchronous) {
      class_define_index(ppw->index_mt_h_prime,_TRUE_,index_mt,1);       /* h' */
      class_define_index(ppw->index_mt_h_prime_prime,_TRUE_,index_mt,1); /* h'' */
      class_define_index(ppw->index_mt_eta_prime,_TRUE_,index_mt,1);     /* eta' */
      class_define_index(ppw->index_mt_alpha,_TRUE_,index_mt,1);         /* alpha = (h' + 6 tau') / (2 k**2) */
      class_define_index(ppw->index_mt_alpha_prime,_TRUE_,index_mt,1);   /* alpha' */

    }

  }

  if (_vectors_) {

    /* newtonian gauge */

    if (ppt->gauge == newtonian) {

      class_define_index(ppw->index_mt_V_prime,_TRUE_,index_mt,1);

    }

    if (ppt->gauge == synchronous) {

      class_define_index(ppw->index_mt_hv_prime_prime,_TRUE_,index_mt,1);

    }

  }

  if (_tensors_) {
    class_define_index(ppw->index_mt_gw_prime_prime,_TRUE_,index_mt,1);
  }

  ppw->mt_size = index_mt;

  /** - allocate some workspace in which we will store temporarily the
      values of background, thermodynamics, metric and source
      quantities at a given time */

  class_alloc(ppw->pvecback,pba->bg_size*sizeof(double),ppt->error_message);
  class_alloc(ppw->pvecthermo,pth->th_size*sizeof(double),ppt->error_message);
  class_alloc(ppw->pvecmetric,ppw->mt_size*sizeof(double),ppt->error_message);

  /** - count number of approximations, initialize their indices, and allocate their flags */
  index_ap=0;

  class_define_index(ppw->index_ap_tca,_TRUE_,index_ap,1);
  class_define_index(ppw->index_ap_rsa,_TRUE_,index_ap,1);

  if (_scalars_) {

    class_define_index(ppw->index_ap_ufa,pba->has_ur,index_ap,1);
    class_define_index(ppw->index_ap_ncdmfa,pba->has_ncdm,index_ap,1);
    class_define_index(ppw->index_ap_tca_idm_dr,pba->has_idr,index_ap,1);
    class_define_index(ppw->index_ap_rsa_idr,pba->has_idr,index_ap,1);
  }

  ppw->ap_size=index_ap;

  if (ppw->ap_size > 0)
    class_alloc(ppw->approx,ppw->ap_size*sizeof(int),ppt->error_message);

  /** - For definiteness, initialize approximation flags to arbitrary
      values (correct values are overwritten in
      pertub_find_approximation_switches) */

  if (_scalars_) {

    ppw->approx[ppw->index_ap_tca]=(int)tca_on;
    ppw->approx[ppw->index_ap_rsa]=(int)rsa_off;

    if (pba->has_idr == _TRUE_)
      ppw->approx[ppw->index_ap_rsa_idr]=(int)rsa_idr_off;
    if (pba->has_idr == _TRUE_)
      ppw->approx[ppw->index_ap_tca_idm_dr]=(int)tca_idm_dr_off;
    if (pth->has_idm_dr == _TRUE_)
      ppw->approx[ppw->index_ap_tca_idm_dr]=(int)tca_idm_dr_on;

    if (pba->has_ur == _TRUE_) {
      ppw->approx[ppw->index_ap_ufa]=(int)ufa_off;
    }
    if (pba->has_ncdm == _TRUE_) {
      ppw->approx[ppw->index_ap_ncdmfa]=(int)ncdmfa_off;
    }
  }

  if (_tensors_) {

    ppw->approx[ppw->index_ap_tca]=(int)tca_on;
    ppw->approx[ppw->index_ap_rsa]=(int)rsa_off;
  }

  /** - allocate fields where some of the perturbations are stored */

  if (_scalars_) {

    if ((ppt->has_density_transfers == _TRUE_) || (ppt->has_velocity_transfers == _TRUE_) || (ppt->has_source_delta_m == _TRUE_)) {

      class_alloc(ppw->delta_ncdm,pba->N_ncdm*sizeof(double),ppt->error_message);
      class_alloc(ppw->theta_ncdm,pba->N_ncdm*sizeof(double),ppt->error_message);
      class_alloc(ppw->shear_ncdm,pba->N_ncdm*sizeof(double),ppt->error_message);

    }

  }

  return _SUCCESS_;
}

// Assembly:
subq $0x40d8, %rsp           # imm = 0x40D8
movq %rdi, 0x40c8(%rsp)
movq %rsi, 0x40c0(%rsp)
movq %rdx, 0x40b8(%rsp)
movq %rcx, 0x40b0(%rsp)
movl %r8d, 0x40ac(%rsp)
movq %r9, 0x40a0(%rsp)
movl $0x0, 0x409c(%rsp)
movq 0x40b0(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0xd6893
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0xd6893
movq 0x40c8(%rsp), %rax
movl 0x5b8(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5bc(%rcx), %eax
jge 0xd66b4
movq 0x40c8(%rsp), %rax
movl 0x5bc(%rax), %eax
movl %eax, 0x1c(%rsp)
jmp 0xd66c6
movq 0x40c8(%rsp), %rax
movl 0x5b8(%rax), %eax
movl %eax, 0x1c(%rsp)
movl 0x1c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
movq 0x40c0(%rsp), %rax
movswl 0x4c4(%rax), %eax
cmpl $0x1, %eax
jne 0xd6742
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5c4(%rcx), %eax
jge 0xd671e
movq 0x40c8(%rsp), %rax
movl 0x5c4(%rax), %eax
movl %eax, 0x18(%rsp)
jmp 0xd6730
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movl %eax, 0x18(%rsp)
movl 0x18(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
movq 0x40c0(%rsp), %rax
movswl 0x4c6(%rax), %eax
cmpl $0x1, %eax
jne 0xd67bd
movq 0x40b0(%rsp), %rax
cmpl $0x0, 0x830(%rax)
jne 0xd67bd
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5c8(%rcx), %eax
jge 0xd6799
movq 0x40c8(%rsp), %rax
movl 0x5c8(%rax), %eax
movl %eax, 0x14(%rsp)
jmp 0xd67ab
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
movq 0x40c0(%rsp), %rax
movswl 0x4be(%rax), %eax
cmpl $0x1, %eax
jne 0xd6827
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5cc(%rcx), %eax
jge 0xd6803
movq 0x40c8(%rsp), %rax
movl 0x5cc(%rax), %eax
movl %eax, 0x10(%rsp)
jmp 0xd6815
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movl %eax, 0x10(%rsp)
movl 0x10(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
movq 0x40c0(%rsp), %rax
movswl 0x4ba(%rax), %eax
cmpl $0x1, %eax
jne 0xd6891
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5c0(%rcx), %eax
jge 0xd686d
movq 0x40c8(%rsp), %rax
movl 0x5c0(%rax), %eax
movl %eax, 0xc(%rsp)
jmp 0xd687f
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
jmp 0xd6893
movq 0x40b0(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0xd69ec
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0xd69ec
movq 0x40c8(%rsp), %rax
movl 0x5d0(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5d4(%rcx), %eax
jge 0xd68f5
movq 0x40c8(%rsp), %rax
movl 0x5d4(%rax), %eax
movl %eax, 0x8(%rsp)
jmp 0xd6907
movq 0x40c8(%rsp), %rax
movl 0x5d0(%rax), %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
movq 0x40c0(%rsp), %rax
movswl 0x4c4(%rax), %eax
cmpl $0x1, %eax
jne 0xd6983
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5c4(%rcx), %eax
jge 0xd695f
movq 0x40c8(%rsp), %rax
movl 0x5c4(%rax), %eax
movl %eax, 0x4(%rsp)
jmp 0xd6971
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
movq 0x40c0(%rsp), %rax
movswl 0x4be(%rax), %eax
cmpl $0x1, %eax
jne 0xd69ea
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movq 0x40c8(%rsp), %rcx
cmpl 0x5cc(%rcx), %eax
jge 0xd69c8
movq 0x40c8(%rsp), %rax
movl 0x5cc(%rax), %eax
movl %eax, (%rsp)
jmp 0xd69d9
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
movl %eax, (%rsp)
movl (%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x188(%rax)
jmp 0xd69ec
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
addl $0x1, %eax
movslq %eax, %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0x190(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0x190(%rax)
jne 0xd6ab4
movq 0x40a0(%rsp), %rax
movl 0x188(%rax), %eax
addl $0x1, %eax
cltq
shlq $0x3, %rax
movl %eax, 0x4090(%rsp)
leaq 0x3890(%rsp), %rdi
movl 0x4090(%rsp), %ecx
leaq 0xfb59f(%rip), %rsi     # 0x1d2004
leaq 0x1227e0(%rip), %rdx    # 0x1f924c
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x3890(%rsp), %r8
leaq 0xfb5a3(%rip), %rsi     # 0x1d2034
leaq 0x1227bd(%rip), %rdx    # 0x1f9255
movl $0xae2, %ecx            # imm = 0xAE2
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
movl $0x0, 0x4094(%rsp)
movl 0x4094(%rsp), %eax
movq 0x40a0(%rsp), %rcx
cmpl 0x188(%rcx), %eax
jg 0xd6b0d
movq 0x40a0(%rsp), %rax
movq 0x190(%rax), %rax
movslq 0x4094(%rsp), %rcx
movsd 0xfb753(%rip), %xmm0    # 0x1d2248
movsd %xmm0, (%rax,%rcx,8)
movl 0x4094(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4094(%rsp)
jmp 0xd6abf
movq 0x40b0(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0xd6c59
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0xd6c59
movq 0x40b0(%rsp), %rax
cmpl $0x0, 0x83c(%rax)
jne 0xd6b93
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, (%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x4(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movq 0x40b0(%rsp), %rax
cmpl $0x1, 0x83c(%rax)
jne 0xd6c57
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x8(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0xc(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x10(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x14(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x18(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
jmp 0xd6c59
movq 0x40b0(%rsp), %rax
movswl 0x10(%rax), %eax
cmpl $0x1, %eax
jne 0xd6cef
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x850(%rcx), %eax
jne 0xd6cef
movq 0x40b0(%rsp), %rax
cmpl $0x0, 0x83c(%rax)
jne 0xd6cb9
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x20(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movq 0x40b0(%rsp), %rax
cmpl $0x1, 0x83c(%rax)
jne 0xd6ced
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x24(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
jmp 0xd6cef
movq 0x40b0(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0xd6d3a
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0xd6d3a
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x1c(%rax)
movl 0x409c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x409c(%rsp)
movl 0x409c(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x28(%rax)
movq 0x40c0(%rsp), %rax
movslq 0x43c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0xd6e01
movq 0x40c0(%rsp), %rax
movslq 0x43c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x388c(%rsp)
leaq 0x3080(%rsp), %rdi
movl 0x388c(%rsp), %ecx
leaq 0xfb252(%rip), %rsi     # 0x1d2004
leaq 0x1224b9(%rip), %rdx    # 0x1f9272
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x3080(%rsp), %r8
leaq 0xfb256(%rip), %rsi     # 0x1d2034
leaq 0x122470(%rip), %rdx    # 0x1f9255
movl $0xb22, %ecx            # imm = 0xB22
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
movq 0x40b8(%rsp), %rax
movslq 0xf04(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0x38(%rax)
jne 0xd6eb6
movq 0x40b8(%rsp), %rax
movslq 0xf04(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x307c(%rsp)
leaq 0x2870(%rsp), %rdi
movl 0x307c(%rsp), %ecx
leaq 0xfb19d(%rip), %rsi     # 0x1d2004
leaq 0x122412(%rip), %rdx    # 0x1f9280
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x2870(%rsp), %r8
leaq 0xfb1a1(%rip), %rsi     # 0x1d2034
leaq 0x1223bb(%rip), %rdx    # 0x1f9255
movl $0xb23, %ecx            # imm = 0xB23
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
movq 0x40a0(%rsp), %rax
movslq 0x28(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0x40(%rax)
jne 0xd6f65
movq 0x40a0(%rsp), %rax
movslq 0x28(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x286c(%rsp)
leaq 0x2060(%rsp), %rdi
movl 0x286c(%rsp), %ecx
leaq 0xfb0ee(%rip), %rsi     # 0x1d2004
leaq 0x122373(%rip), %rdx    # 0x1f9290
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x2060(%rsp), %r8
leaq 0xfb0f2(%rip), %rsi     # 0x1d2034
leaq 0x12230c(%rip), %rdx    # 0x1f9255
movl $0xb24, %ecx            # imm = 0xB24
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
movl $0x0, 0x4098(%rsp)
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x160(%rax)
movl 0x4098(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4098(%rsp)
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x164(%rax)
movl 0x4098(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4098(%rsp)
movq 0x40b0(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0xd70ce
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0xd70ce
movq 0x40c0(%rsp), %rax
cmpw $0x0, 0x4c4(%rax)
je 0xd7024
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x170(%rax)
movl 0x4098(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4098(%rsp)
movq 0x40c0(%rsp), %rax
cmpw $0x0, 0x4be(%rax)
je 0xd705c
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x174(%rax)
movl 0x4098(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4098(%rsp)
movq 0x40c0(%rsp), %rax
cmpw $0x0, 0x4c6(%rax)
je 0xd7094
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x168(%rax)
movl 0x4098(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4098(%rsp)
movq 0x40c0(%rsp), %rax
cmpw $0x0, 0x4c6(%rax)
je 0xd70cc
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x16c(%rax)
movl 0x4098(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x4098(%rsp)
jmp 0xd70ce
movl 0x4098(%rsp), %ecx
movq 0x40a0(%rsp), %rax
movl %ecx, 0x178(%rax)
movq 0x40a0(%rsp), %rax
cmpl $0x0, 0x178(%rax)
jle 0xd71b5
movq 0x40a0(%rsp), %rax
movslq 0x178(%rax), %rdi
shlq $0x2, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0x180(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0x180(%rax)
jne 0xd71b3
movq 0x40a0(%rsp), %rax
movslq 0x178(%rax), %rax
shlq $0x2, %rax
movl %eax, 0x205c(%rsp)
leaq 0x1850(%rsp), %rdi
movl 0x205c(%rsp), %ecx
leaq 0xfaea0(%rip), %rsi     # 0x1d2004
leaq 0x122135(%rip), %rdx    # 0x1f92a0
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x1850(%rsp), %r8
leaq 0xfaea4(%rip), %rsi     # 0x1d2034
leaq 0x1220be(%rip), %rdx    # 0x1f9255
movl $0xb37, %ecx            # imm = 0xB37
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
jmp 0xd71b5
movq 0x40b0(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0xd734b
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0xd734b
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x160(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x164(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40c0(%rsp), %rax
movswl 0x4c6(%rax), %eax
cmpl $0x1, %eax
jne 0xd7268
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x16c(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40c0(%rsp), %rax
movswl 0x4c6(%rax), %eax
cmpl $0x1, %eax
jne 0xd72a1
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x168(%rcx), %rcx
movl $0x1, (%rax,%rcx,4)
movq 0x40b8(%rsp), %rax
movswl 0x38(%rax), %eax
cmpl $0x1, %eax
jne 0xd72d7
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x168(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40c0(%rsp), %rax
movswl 0x4c4(%rax), %eax
cmpl $0x1, %eax
jne 0xd7310
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x170(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40c0(%rsp), %rax
movswl 0x4be(%rax), %eax
cmpl $0x1, %eax
jne 0xd7349
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x174(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
jmp 0xd734b
movq 0x40b0(%rsp), %rax
movswl 0x12(%rax), %eax
cmpl $0x1, %eax
jne 0xd73bd
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x84c(%rcx), %eax
jne 0xd73bd
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x160(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40a0(%rsp), %rax
movq 0x180(%rax), %rax
movq 0x40a0(%rsp), %rcx
movslq 0x164(%rcx), %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x40b0(%rsp), %rax
movswl 0xe(%rax), %eax
cmpl $0x1, %eax
jne 0xd7653
movl 0x40ac(%rsp), %eax
movq 0x40b0(%rsp), %rcx
cmpl 0x848(%rcx), %eax
jne 0xd7653
movq 0x40b0(%rsp), %rax
movswl 0x34(%rax), %eax
cmpl $0x1, %eax
je 0xd7427
movq 0x40b0(%rsp), %rax
movswl 0x36(%rax), %eax
cmpl $0x1, %eax
je 0xd7427
movq 0x40b0(%rsp), %rax
movswl 0x87c(%rax), %eax
cmpl $0x1, %eax
jne 0xd7651
movq 0x40c0(%rsp), %rax
movslq 0x248(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0xe8(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0xe8(%rax)
jne 0xd74e2
movq 0x40c0(%rsp), %rax
movslq 0x248(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x184c(%rsp)
leaq 0x1040(%rsp), %rdi
movl 0x184c(%rsp), %ecx
leaq 0xfab71(%rip), %rsi     # 0x1d2004
leaq 0x121e12(%rip), %rdx    # 0x1f92ac
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x1040(%rsp), %r8
leaq 0xfab75(%rip), %rsi     # 0x1d2034
leaq 0x121d8f(%rip), %rdx    # 0x1f9255
movl $0xb5d, %ecx            # imm = 0xB5D
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
movq 0x40c0(%rsp), %rax
movslq 0x248(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0xf0(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0xf0(%rax)
jne 0xd759d
movq 0x40c0(%rsp), %rax
movslq 0x248(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x103c(%rsp)
leaq 0x830(%rsp), %rdi
movl 0x103c(%rsp), %ecx
leaq 0xfaab6(%rip), %rsi     # 0x1d2004
leaq 0x121d67(%rip), %rdx    # 0x1f92bc
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x830(%rsp), %r8
leaq 0xfaaba(%rip), %rsi     # 0x1d2034
leaq 0x121cd4(%rip), %rdx    # 0x1f9255
movl $0xb5e, %ecx            # imm = 0xB5E
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
movq 0x40c0(%rsp), %rax
movslq 0x248(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x40a0(%rsp), %rax
movq %rcx, 0xf8(%rax)
movq 0x40a0(%rsp), %rax
cmpq $0x0, 0xf8(%rax)
jne 0xd764f
movq 0x40c0(%rsp), %rax
movslq 0x248(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x82c(%rsp)
leaq 0x20(%rsp), %rdi
movl 0x82c(%rsp), %ecx
leaq 0xfa9fe(%rip), %rsi     # 0x1d2004
leaq 0x121cbf(%rip), %rdx    # 0x1f92cc
movb $0x0, %al
callq 0x5b9c0
movq 0x40b0(%rsp), %rdi
addq $0x6c8a, %rdi           # imm = 0x6C8A
leaq 0x20(%rsp), %r8
leaq 0xfaa05(%rip), %rsi     # 0x1d2034
leaq 0x121c1f(%rip), %rdx    # 0x1f9255
movl $0xb5f, %ecx            # imm = 0xB5F
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x40d4(%rsp)
jmp 0xd765e
jmp 0xd7651
jmp 0xd7653
movl $0x0, 0x40d4(%rsp)
movl 0x40d4(%rsp), %eax
addq $0x40d8, %rsp           # imm = 0x40D8
retq
nopl (%rax)