// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../external/heating/injection.c
// Function: injection_init
int injection_init(struct precision * ppr,
                   struct background* pba,
                   struct thermodynamics* pth){

  /** Summary: */

  /** - Define local variable */
  struct injection* pin = &(pth->in);
  int index_inj, index_dep;

  /** - Initialize flags, indices and parameters */
  pin->has_DM_ann = _FALSE_;
  pin->has_DM_dec = _FALSE_;
  pin->has_PBH_eva = _FALSE_;
  pin->has_PBH_acc = _FALSE_;
  pin->last_index_x_chi = 0;
  pin->last_index_z_chi = 0;
  pin->last_index_z_feff = 0;

  /** - Import quantities from other structures */
  /* Precision structure */
  pin->Nz_size = ppr->thermo_Nz_lin;
  pin->z_initial = ppr->thermo_z_initial;
  pin->z_start_chi_approx = ppr->z_start_chi_approx;
  pin->Nz_PBH = ppr->primordial_black_hole_Nz;

  /* Background structure */
  pin->H0 = pba->H0*_c_/_Mpc_over_m_;                                                               // [1/s]
  pin->T_g0 = pba->T_cmb;                                                                           // [K]
  pin->Omega0_b = pba->Omega0_b;                                                                    // [-]
  pin->Omega0_cdm = pba->Omega0_cdm;                                                                // [-]
  pin->rho0_cdm = pba->Omega0_cdm*pow(pin->H0,2)*3/8./_PI_/_G_*_c_*_c_;                             // [J/m^3]

  /* Thermodynamics structure */
  pin->fHe = pth->fHe;                                                                              // [-]
  pin->N_e0 = pth->n_e;                                                                             // [1/m^3]

  /** - Define redshift tables */
  pin->z_size = pth->tt_size;
  class_alloc(pin->z_table,
              pin->z_size*sizeof(double),
              pin->error_message);
  memcpy(pin->z_table,
         pth->z_table,
         pin->z_size*sizeof(double));

  /** - Define additional book-keeping variables for the z table */
  pin->tol_z_table = 1e-10;
  pin->filled_until_index_z = pin->z_size-1;
  pin->filled_until_z = pin->z_table[pin->filled_until_index_z];
  pin->last_index_z_chi = 0;
  pin->last_index_z_feff = 0;
  pin->last_index_z_inj = 0;
  pin->last_index_z = 0;
  pin->index_z_store = 0;

  /** - Define indices of tables */
  pin->to_store = _FALSE_;
  class_call(injection_indices(pth),
             pin->error_message,
             pin->error_message);

  /** - Initialize energy injection table */
  /* Allocate space */
  class_alloc(pin->injection_table,
              pin->inj_size*sizeof(double*),
              pin->error_message);
  for(index_inj=0; index_inj<pin->inj_size; ++index_inj){
    class_alloc(pin->injection_table[index_inj],
                pin->z_size*sizeof(double),
                pin->error_message);
  }

  /* Calculate the PBH mass evolution, if needed */
  if(pin->has_PBH_eva == _TRUE_ ){
    class_call(injection_rate_PBH_evaporation_mass_evolution(pba,pin),
               pin->error_message,
               pin->error_message);
  }

  /** - Initialize injection efficiency */
  /* Read from external file, if needed */
  if(pin->f_eff_type == f_eff_from_file){
    class_call(injection_read_feff_from_file(ppr,pin,
                                             pin->f_eff_file),
               pin->error_message,
               pin->error_message);
  }

  /** - Initialize deposition function */
  /* Allocate space */
  class_alloc(pin->chi,
              pin->dep_size*sizeof(double),
              pin->error_message);

  /* Read from external file, if needed */
  if(pin->chi_type == chi_Galli_file){
    class_call(injection_read_chi_x_from_file(ppr,pin,
                                              ppr->chi_z_Galli),
               pin->error_message,
               pin->error_message);
  }
  else if(pin->chi_type == chi_from_x_file){
    class_call(injection_read_chi_x_from_file(ppr,pin,
                                              pin->chi_x_file),
               pin->error_message,
               pin->error_message);
  }
  else if(pin->chi_type == chi_from_z_file){
    class_call(injection_read_chi_z_from_file(ppr,pin,
                                              pin->chi_z_file),
               pin->error_message,
               pin->error_message);
  }

  /** - Initialize energy deposition table */
  /* Allocate space */
  class_alloc(pin->deposition_table,
              pin->dep_size*sizeof(double*),
              pin->error_message);
  for(index_dep=0; index_dep<pin->dep_size; ++index_dep){
    class_alloc(pin->deposition_table[index_dep],
                pin->z_size*sizeof(double),
                pin->error_message);
  }

  class_alloc(pin->pvecdeposition,
              pin->dep_size*sizeof(double),
              pin->error_message);

  return _SUCCESS_;
}

// Assembly:
subq $0x68a8, %rsp           # imm = 0x68A8
movq %rdi, 0x6898(%rsp)
movq %rsi, 0x6890(%rsp)
movq %rdx, 0x6888(%rsp)
movq 0x6888(%rsp), %rax
addq $0xc0, %rax
movq %rax, 0x6880(%rsp)
movq 0x6880(%rsp), %rax
movl $0x0, 0x55c(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x560(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x564(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x568(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x484(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x474(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x470(%rax)
movq 0x6898(%rsp), %rax
movl 0x1a8(%rax), %ecx
movq 0x6880(%rsp), %rax
movl %ecx, 0x3a8(%rax)
movq 0x6898(%rsp), %rax
movsd 0x190(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3b0(%rax)
movq 0x6898(%rsp), %rax
movsd 0x508(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3b8(%rax)
movq 0x6898(%rsp), %rax
movl 0x1d8(%rax), %ecx
movq 0x6880(%rsp), %rax
movl %ecx, 0x4c0(%rax)
movq 0x6890(%rsp), %rax
movsd 0x39e65(%rip), %xmm0    # 0x1d6630
mulsd (%rax), %xmm0
movsd 0x39e89(%rip), %xmm1    # 0x1d6660
divsd %xmm1, %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3c0(%rax)
movq 0x6890(%rsp), %rax
movsd 0x18(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3c8(%rax)
movq 0x6890(%rsp), %rax
movsd 0x20(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3d0(%rax)
movq 0x6890(%rsp), %rax
movsd 0x28(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3d8(%rax)
movq 0x6890(%rsp), %rax
movsd 0x28(%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x6880(%rsp), %rax
movsd 0x3c0(%rax), %xmm0
movsd 0x36413(%rip), %xmm1    # 0x1d2c80
callq 0x8610
movaps %xmm0, %xmm1
movsd 0x8(%rsp), %xmm0
mulsd %xmm1, %xmm0
movsd 0x36e11(%rip), %xmm1    # 0x1d3698
mulsd %xmm1, %xmm0
movsd 0x38c45(%rip), %xmm1    # 0x1d54d8
divsd %xmm1, %xmm0
movsd 0x38741(%rip), %xmm1    # 0x1d4fe0
divsd %xmm1, %xmm0
movsd 0x39dad(%rip), %xmm1    # 0x1d6658
divsd %xmm1, %xmm0
movsd 0x39d79(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movsd 0x39d6d(%rip), %xmm1    # 0x1d6630
mulsd %xmm1, %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x3e0(%rax)
movq 0x6888(%rsp), %rax
movsd 0x1000(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x418(%rax)
movq 0x6888(%rsp), %rax
movsd 0x1008(%rax), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x420(%rax)
movq 0x6888(%rsp), %rax
movl 0xf08(%rax), %ecx
movq 0x6880(%rsp), %rax
movl %ecx, 0x450(%rax)
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6880(%rsp), %rax
movq %rcx, 0x448(%rax)
movq 0x6880(%rsp), %rax
cmpq $0x0, 0x448(%rax)
jne 0x19c9ee
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x6874(%rsp)
leaq 0x6070(%rsp), %rdi
movl 0x6874(%rsp), %ecx
leaq 0x35665(%rip), %rsi     # 0x1d2004
leaq 0x70382(%rip), %rdx     # 0x20cd28
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x6070(%rsp), %r8
leaq 0x35669(%rip), %rsi     # 0x1d2034
leaq 0x716b6(%rip), %rdx     # 0x20e088
movl $0x3d, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
movq 0x6880(%rsp), %rax
movq 0x448(%rax), %rdi
movq 0x6888(%rsp), %rax
movq 0xf10(%rax), %rsi
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rdx
shlq $0x3, %rdx
callq 0x8300
movq 0x6880(%rsp), %rax
movsd 0x39afc(%rip), %xmm0    # 0x1d6530
movsd %xmm0, 0x458(%rax)
movq 0x6880(%rsp), %rax
movl 0x450(%rax), %ecx
subl $0x1, %ecx
movq 0x6880(%rsp), %rax
movl %ecx, 0x460(%rax)
movq 0x6880(%rsp), %rax
movq 0x448(%rax), %rax
movq 0x6880(%rsp), %rcx
movslq 0x460(%rcx), %rcx
movsd (%rax,%rcx,8), %xmm0
movq 0x6880(%rsp), %rax
movsd %xmm0, 0x468(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x474(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x470(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x478(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x47c(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x480(%rax)
movq 0x6880(%rsp), %rax
movl $0x0, 0x56c(%rax)
movq 0x6888(%rsp), %rdi
callq 0x19d400
cmpl $0x1, %eax
jne 0x19cb79
leaq 0x5870(%rsp), %rdi
movq 0x6880(%rsp), %rcx
addq $0x570, %rcx            # imm = 0x570
leaq 0x358ae(%rip), %rsi     # 0x1d23d8
leaq 0x70204(%rip), %rdx     # 0x20cd35
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x5870(%rsp), %r8
leaq 0x354de(%rip), %rsi     # 0x1d2034
leaq 0x7152b(%rip), %rdx     # 0x20e088
movl $0x50, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
movq 0x6880(%rsp), %rax
movslq 0x4ec(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6880(%rsp), %rax
movq %rcx, 0x4c8(%rax)
movq 0x6880(%rsp), %rax
cmpq $0x0, 0x4c8(%rax)
jne 0x19cc34
movq 0x6880(%rsp), %rax
movslq 0x4ec(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x586c(%rsp)
leaq 0x5060(%rsp), %rdi
movl 0x586c(%rsp), %ecx
leaq 0x3541f(%rip), %rsi     # 0x1d2004
leaq 0x70160(%rip), %rdx     # 0x20cd4c
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x5060(%rsp), %r8
leaq 0x35423(%rip), %rsi     # 0x1d2034
leaq 0x71470(%rip), %rdx     # 0x20e088
movl $0x56, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
movl $0x0, 0x687c(%rsp)
movl 0x687c(%rsp), %eax
movq 0x6880(%rsp), %rcx
cmpl 0x4ec(%rcx), %eax
jge 0x19cd45
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x6880(%rsp), %rax
movq 0x4c8(%rax), %rax
movslq 0x687c(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x6880(%rsp), %rax
movq 0x4c8(%rax), %rax
movslq 0x687c(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x19cd2d
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x505c(%rsp)
leaq 0x4850(%rsp), %rdi
movl 0x505c(%rsp), %ecx
leaq 0x35326(%rip), %rsi     # 0x1d2004
leaq 0x7007c(%rip), %rdx     # 0x20cd61
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x4850(%rsp), %r8
leaq 0x3532a(%rip), %rsi     # 0x1d2034
leaq 0x71377(%rip), %rdx     # 0x20e088
movl $0x5a, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19cd2f
movl 0x687c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x687c(%rsp)
jmp 0x19cc3f
movq 0x6880(%rsp), %rax
cmpl $0x1, 0x564(%rax)
jne 0x19cde3
movq 0x6890(%rsp), %rdi
movq 0x6880(%rsp), %rsi
callq 0x19d620
cmpl $0x1, %eax
jne 0x19cde1
leaq 0x4050(%rsp), %rdi
movq 0x6880(%rsp), %rcx
addq $0x570, %rcx            # imm = 0x570
leaq 0x35646(%rip), %rsi     # 0x1d23d8
leaq 0x6ffe8(%rip), %rdx     # 0x20cd81
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x4050(%rsp), %r8
leaq 0x35276(%rip), %rsi     # 0x1d2034
leaq 0x712c3(%rip), %rdx     # 0x20e088
movl $0x61, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19cde3
movq 0x6880(%rsp), %rax
cmpl $0x1, 0xa0(%rax)
jne 0x19ce90
movq 0x6898(%rsp), %rdi
movq 0x6880(%rsp), %rsi
movq 0x6880(%rsp), %rdx
addq $0xa4, %rdx
callq 0x19e5f0
cmpl $0x1, %eax
jne 0x19ce8e
leaq 0x3850(%rsp), %rdi
movq 0x6880(%rsp), %rcx
addq $0x570, %rcx            # imm = 0x570
leaq 0x35599(%rip), %rsi     # 0x1d23d8
leaq 0x6ff72(%rip), %rdx     # 0x20cdb8
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x3850(%rsp), %r8
leaq 0x351c9(%rip), %rsi     # 0x1d2034
leaq 0x71216(%rip), %rdx     # 0x20e088
movl $0x6a, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19ce90
movq 0x6880(%rsp), %rax
movslq 0x54c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6880(%rsp), %rax
movq %rcx, 0x530(%rax)
movq 0x6880(%rsp), %rax
cmpq $0x0, 0x530(%rax)
jne 0x19cf4b
movq 0x6880(%rsp), %rax
movslq 0x54c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x384c(%rsp)
leaq 0x3040(%rsp), %rdi
movl 0x384c(%rsp), %ecx
leaq 0x35108(%rip), %rsi     # 0x1d2004
leaq 0x6feed(%rip), %rdx     # 0x20cdf0
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x3040(%rsp), %r8
leaq 0x3510c(%rip), %rsi     # 0x1d2034
leaq 0x71159(%rip), %rdx     # 0x20e088
movl $0x71, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
movq 0x6880(%rsp), %rax
cmpl $0x2, 0x1a4(%rax)
jne 0x19cffb
movq 0x6898(%rsp), %rdi
movq 0x6880(%rsp), %rsi
movq 0x6898(%rsp), %rdx
addq $0x408, %rdx            # imm = 0x408
callq 0x19eae0
cmpl $0x1, %eax
jne 0x19cff6
leaq 0x2840(%rsp), %rdi
movq 0x6880(%rsp), %rcx
addq $0x570, %rcx            # imm = 0x570
leaq 0x35431(%rip), %rsi     # 0x1d23d8
leaq 0x6fe4b(%rip), %rdx     # 0x20cdf9
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x2840(%rsp), %r8
leaq 0x35061(%rip), %rsi     # 0x1d2034
leaq 0x710ae(%rip), %rdx     # 0x20e088
movl $0x78, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19d15c
movq 0x6880(%rsp), %rax
cmpl $0x5, 0x1a4(%rax)
jne 0x19d0ab
movq 0x6898(%rsp), %rdi
movq 0x6880(%rsp), %rsi
movq 0x6880(%rsp), %rdx
addq $0x2a8, %rdx            # imm = 0x2A8
callq 0x19eae0
cmpl $0x1, %eax
jne 0x19d0a6
leaq 0x2040(%rsp), %rdi
movq 0x6880(%rsp), %rcx
addq $0x570, %rcx            # imm = 0x570
leaq 0x35381(%rip), %rsi     # 0x1d23d8
leaq 0x6fdd5(%rip), %rdx     # 0x20ce33
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x2040(%rsp), %r8
leaq 0x34fb1(%rip), %rsi     # 0x1d2034
leaq 0x70ffe(%rip), %rdx     # 0x20e088
movl $0x7e, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19d15a
movq 0x6880(%rsp), %rax
cmpl $0x6, 0x1a4(%rax)
jne 0x19d158
movq 0x6898(%rsp), %rdi
movq 0x6880(%rsp), %rsi
movq 0x6880(%rsp), %rdx
addq $0x1a8, %rdx            # imm = 0x1A8
callq 0x19f1c0
cmpl $0x1, %eax
jne 0x19d156
leaq 0x1840(%rsp), %rdi
movq 0x6880(%rsp), %rcx
addq $0x570, %rcx            # imm = 0x570
leaq 0x352d1(%rip), %rsi     # 0x1d23d8
leaq 0x6fd5e(%rip), %rdx     # 0x20ce6c
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x1840(%rsp), %r8
leaq 0x34f01(%rip), %rsi     # 0x1d2034
leaq 0x70f4e(%rip), %rdx     # 0x20e088
movl $0x84, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19d158
jmp 0x19d15a
jmp 0x19d15c
movq 0x6880(%rsp), %rax
movslq 0x54c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6880(%rsp), %rax
movq %rcx, 0x528(%rax)
movq 0x6880(%rsp), %rax
cmpq $0x0, 0x528(%rax)
jne 0x19d217
movq 0x6880(%rsp), %rax
movslq 0x54c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x183c(%rsp)
leaq 0x1030(%rsp), %rdi
movl 0x183c(%rsp), %ecx
leaq 0x34e3c(%rip), %rsi     # 0x1d2004
leaq 0x6fcd6(%rip), %rdx     # 0x20cea5
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x1030(%rsp), %r8
leaq 0x34e40(%rip), %rsi     # 0x1d2034
leaq 0x70e8d(%rip), %rdx     # 0x20e088
movl $0x8b, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
movl $0x0, 0x6878(%rsp)
movl 0x6878(%rsp), %eax
movq 0x6880(%rsp), %rcx
cmpl 0x54c(%rcx), %eax
jge 0x19d328
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rdx
movq 0x6880(%rsp), %rax
movq 0x528(%rax), %rax
movslq 0x6878(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x6880(%rsp), %rax
movq 0x528(%rax), %rax
movslq 0x6878(%rsp), %rcx
cmpq $0x0, (%rax,%rcx,8)
jne 0x19d310
movq 0x6880(%rsp), %rax
movslq 0x450(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x102c(%rsp)
leaq 0x820(%rsp), %rdi
movl 0x102c(%rsp), %ecx
leaq 0x34d43(%rip), %rsi     # 0x1d2004
leaq 0x6fbf3(%rip), %rdx     # 0x20cebb
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x820(%rsp), %r8
leaq 0x34d47(%rip), %rsi     # 0x1d2034
leaq 0x70d94(%rip), %rdx     # 0x20e088
movl $0x8f, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
jmp 0x19d312
movl 0x6878(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6878(%rsp)
jmp 0x19d222
movq 0x6880(%rsp), %rax
movslq 0x54c(%rax), %rdi
shlq $0x3, %rdi
callq 0x8460
movq %rax, %rcx
movq 0x6880(%rsp), %rax
movq %rcx, 0x550(%rax)
movq 0x6880(%rsp), %rax
cmpq $0x0, 0x550(%rax)
jne 0x19d3da
movq 0x6880(%rsp), %rax
movslq 0x54c(%rax), %rax
shlq $0x3, %rax
movl %eax, 0x81c(%rsp)
leaq 0x10(%rsp), %rdi
movl 0x81c(%rsp), %ecx
leaq 0x34c73(%rip), %rsi     # 0x1d2004
leaq 0x6fb44(%rip), %rdx     # 0x20cedc
movb $0x0, %al
callq 0x5b9c0
movq 0x6880(%rsp), %rdi
addq $0x570, %rdi            # imm = 0x570
leaq 0x10(%rsp), %r8
leaq 0x34c7a(%rip), %rsi     # 0x1d2034
leaq 0x70cc7(%rip), %rdx     # 0x20e088
movl $0x94, %ecx
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x68a4(%rsp)
jmp 0x19d3e5
movl $0x0, 0x68a4(%rsp)
movl 0x68a4(%rsp), %eax
addq $0x68a8, %rsp           # imm = 0x68A8
retq
nopw %cs:(%rax,%rax)