// File: /workspace/github_c_makefile_star2_O2/ugobas[P]tnm/main_tnm.c
// Function: Read_para
int Read_para(char *filename,
	      char *file_pdb1, char *chain1,
	      char *file_pdb2, char *chain2,
	      int *ANM, char *REF, int *LABEL,
	      int *SIDECHAINS, int *OMEGA, int *PSI,
	      double *K_OMEGA, double *K_PSI,
	      double *K_PHI, double *K_CHI,
	      double *K_BA, double *K_BL,
	      float *E_MIN, float *COLL_THR, int *MIN_INT,
	      char *INT_TYPE, float *C_THR,
	      int *S_TYPE, float *S_THR,
	      int *ONEINT, int *N_RESRES,
	      int *N_MODE, char *outdir,
	      int *PRINT_CONFCHANGE, int *PRINT_FORCE,
	      int *PRINT_PDB, int *PRINT_MODE_SUMM,
	      char **FILE_FORCE, int *ALLOSTERY,
	      float *KAPPA, int *FIT_B, float *RMSD_EXP,
	      float *RMSD_MIN, int *NMUT,
	      int *PRED_MUT, int *IWT, char *Mut_para,
	      struct Para_simul *Para_simul,
	      struct Para_confchange *Para_confchange,
	      float *SEQID_THR,
	      int *PRINT_COV_COUPLING,
	      int *PRINT_DEF_COUPLING,
	      int *PRINT_DIR_COUPLING,
	      int *PRINT_COORD_COUPLING,
	      int *PRINT_SIGMA_DIJ,
	      char *PROF_TYPE,
	      int *ALL_PAIRS, float *SIGMA,
	      int *STRAIN, char *SITES, int *PRINT_CMAT,
	      int *ANHARMONIC, int *PRINT_PDB_ANHARM, int *N_PDB_print,
	      int *FOLDING, int *BINDING, int *UNFOLDING,
	      int *n_apo, char *apo_chains)
{
  FILE *file_in=fopen(filename, "r");
  if(file_in==NULL){
    printf("ERROR, TNM input file %s not found\n", filename); 
    return(0);
  }
  char string[1000], dumm[80]; int itmp;
  printf("Reading parameters in %s\n", filename);
  while(fgets(string, sizeof(string), file_in)!=NULL){
    if(string[0]=='#')continue;
    if(strncmp(string, "PDB1", 4)==0){
      sscanf(string+5, "%s", file_pdb1);
    }else if(strncmp(string, "CH1",3 )==0){
      sscanf(string+4, "%s", dumm);
      if((strncmp(dumm,"ALL", 3)==0)||(strncmp(dumm,"all", 3)==0)){
	*chain1='*';
      }else{
	strcpy(chain1,dumm);
      }
    }else if(strncmp(string, "PDB2", 4)==0){
      sscanf(string+5, "%s", file_pdb2);
    }else if(strncmp(string, "CH2",3 )==0){
      sscanf(string+4, "%s", dumm);
      if((strncmp(dumm,"ALL", 3)==0)||(strncmp(dumm,"all", 3)==0)){
	*chain2='*';
      }else{
	strcpy(chain2,dumm);
      }
    }else if(strncmp(string, "DOF", 3)==0){
      sscanf(string+4, "%s", dumm);
      if(strncmp(dumm, "CART", 4)==0){*ANM=1;}
      else if(strncmp(dumm, "TORS", 4)!=0){
	printf("WARNING, not allowed degrees of freedom: %s\n", dumm);
      }
    }else if(strncmp(string, "REF", 3)==0){
      sscanf(string+4, "%s", REF);
    }else if(strncmp(string, "LABEL", 5)==0){
      sscanf(string+6, "%d", LABEL);
    }else if(strncmp(string, "SIDECHAIN", 9)==0){
      sscanf(string+10, "%d", SIDECHAINS);
    }else if(strncmp(string, "MIN_INT", 7)==0){
      sscanf(string+8, "%d", MIN_INT);
    }else if(strncmp(string, "E_MIN", 5)==0){
      sscanf(string+6, "%f", E_MIN);
    }else if(strncmp(string, "COLL_THR", 8)==0){
      sscanf(string+9, "%f", COLL_THR);
      printf("COLL_THR= %.1f\n", *COLL_THR);
    }else if(strncmp(string, "PSI", 3)==0){
      sscanf(string+4, "%d", PSI);
      if(*PSI==0)printf("Psi angle frozen\n");
    }else if(strncmp(string, "OMEGA", 5)==0){
      sscanf(string+6, "%d", OMEGA);
      if(*OMEGA)printf("Omega angle used as degree of freedom\n");
      if(*OMEGA<0)
	printf("Omega angle is dof if Domega>%d degrees.\n", D_omega_thr);
    }else if(strncmp(string, "K_OMEGA", 7)==0){
      sscanf(string+8, "%lf", K_OMEGA);
      if(*OMEGA){
	printf("Elastic constant for omega angle: %.3f\n", *K_OMEGA);
      }else if(*K_OMEGA){
	printf("WARNING, elastic constant for omega set but omega is frozen\n");
      }
    }else if(strncmp(string, "K_BA", 4)==0){
      sscanf(string+5, "%lf", K_BA);
      printf("Elastic constant for bond angles: %.2f\n", *K_BA);
    }else if(strncmp(string, "K_BL", 4)==0){
      sscanf(string+5, "%lf", K_BL);
      printf("Elastic constant for bond lengths: %.2f\n", *K_BL);
    }else if(strncmp(string, "K_PSI", 5)==0){
      sscanf(string+6, "%lf", K_PSI);
      if(*K_PSI)printf("Elastic constant for psi angle:    %.3f\n", *K_PSI);
    }else if(strncmp(string, "K_PHI", 5)==0){
      sscanf(string+6, "%lf", K_PHI);
      if(*K_PHI)printf("Elastic constant for phi angle:    %.3f\n", *K_PHI);
    }else if(strncmp(string, "K_CHI", 5)==0){
      sscanf(string+6, "%lf", K_CHI);
      if(*K_PHI)printf("Elastic constant for chi angle:    %.3f\n", *K_CHI);
    }else if(strncmp(string, "CONT_TYPE", 9)==0){
      sscanf(string+10, "%s", INT_TYPE);
      if(strncmp(INT_TYPE, "HNM", 3)==0)*ANM=1;
    }else if(strncmp(string, "CONT_THR", 8)==0){
      sscanf(string+ 9, "%f", C_THR);
    }else if(strncmp(string, "S_THR", 5)==0){
      sscanf(string+6, "%f", S_THR);
    }else if(strncmp(string, "S_TYPE", 6)==0){
      sscanf(string+7, "%d", S_TYPE);
    }else if(strncmp(string, "ONEINT", 6)==0){
      sscanf(string+7, "%d", ONEINT);
    }else if(strncmp(string, "N_RESRES", 8)==0){
      sscanf(string+9, "%d", N_RESRES);
      if(*N_RESRES <1){
	printf("WARNING, not allowed value of N_RESRES: %d\n", *N_RESRES);
	printf("Setting to default value 1\n"); *N_RESRES=1;
      }
    }else if(strncmp(string, "POW", 3)==0){
      sscanf(string+4,  "%d", &POW);
    }else if(strncmp(string, "EXP_HESSIAN", 11)==0){
      sscanf(string+12, "%f", &EXP_HESSIAN);
    }else if(strncmp(string, "ANHARMONIC", 10)==0){
      sscanf(string+11, "%d", ANHARMONIC);
    }else if(strncmp(string, "KAPPA", 5)==0){
      sscanf(string+6, "%f",  KAPPA);
    }else if(strncmp(string, "FIT_B", 5)==0){
      sscanf(string+6, "%d",  FIT_B);
    }else if(strncmp(string, "RMSD_EXP", 8)==0){
      sscanf(string+9, "%f",  RMSD_EXP);
    }else if(strncmp(string, "RMSD_MIN", 8)==0){
      sscanf(string+9, "%f",  RMSD_MIN);
    }else if(strncmp(string, "PRINT_PDB_ANHARM", 16)==0){
      sscanf(string+17, "%d", PRINT_PDB_ANHARM);
    }else if(strncmp(string, "N_PDB_print", 11)==0){
      sscanf(string+12, "%d", N_PDB_print);
    }else if(strncmp(string, "NMUT", 4)==0){
      sscanf(string+5, "%d",  NMUT);
    }else if(strncmp(string, "PRED_MUT", 8)==0){
      sscanf(string+9, "%d",  PRED_MUT);
    }else if(strncmp(string, "IWT", 3)==0){
      sscanf(string+4, "%d",  &itmp);
      if(itmp<0 || itmp >=20) {
	printf("WARNING, IWT=%d not allowed, using default %d\n",itmp,*IWT);
      }else{
	*IWT=itmp;
      }
    }else if(strncmp(string, "MUT_PARA", 8)==0){
      sscanf(string+9, "%s",  Mut_para);
    }else if(strncmp(string, "RMSD_THR", 8)==0){
      sscanf(string+9, "%f",  &(Para_confchange->RMSD_THR));
    }else if(strncmp(string, "SEQID_THR", 9)==0){
      sscanf(string+10, "%f", SEQID_THR);
    }else if(strncmp(string, "DEBUG", 5)==0){
      sscanf(string+6, "%d", &DEBUG);
    }else if(strncmp(string, "FILE_FORCE", 10)==0){
      *FILE_FORCE=malloc(400*sizeof(char));
      sscanf(string+11, "%s", *FILE_FORCE);
    }else if(strncmp(string, "SIMUL", 5)==0){
      sscanf(string+6, "%d", &(Para_simul->N_SIMUL));
    }else if(strncmp(string, "STEP_MAX", 8)==0){
      sscanf(string+9, "%f", &(Para_simul->STEP_MAX));
    }else if(strncmp(string, "STEP_MIN", 8)==0){
      sscanf(string+9, "%f", &(Para_simul->STEP_MIN));
    }else if(strncmp(string, "NSTEPS", 6)==0){
      sscanf(string+7, "%d", &(Para_simul->NSTEPS));
    }else if(strncmp(string, "ANGLE", 5)==0){
      sscanf(string+6, "%f", &(Para_simul->ANGLE));
    }else if(strncmp(string, "OUTDIR", 6)==0){
      sscanf(string+7, "%s", outdir);
    }else if(strncmp(string, "NMODES", 6)==0){
      sscanf(string+7, "%d", N_MODE);
    }else if(strncmp(string, "PRINT_PDB", 9)==0){
      sscanf(string+10, "%d", PRINT_PDB);
    }else if(strncmp(string, "PRINT_CHANGE", 12)==0){
      sscanf(string+13, "%d", PRINT_CONFCHANGE);
    }else if(strncmp(string, "PRINT_FORCE", 11)==0){
      sscanf(string+12, "%d", PRINT_FORCE);
    }else if(strncmp(string, "PRINT_SUMM", 10)==0){
      sscanf(string+11, "%d", PRINT_MODE_SUMM);
    }else if(strncmp(string, "ALLOSTERY", 9)==0){
      sscanf(string+10, "%d", ALLOSTERY);
    }else if(strncmp(string, "SITES", 5)==0){
      sscanf(string+6,  "%s", SITES);
    }else if(strncmp(string, "PRINT_COV_COUPLING", 18)==0){
      sscanf(string+19, "%d", PRINT_COV_COUPLING);
    }else if(strncmp(string, "PRINT_DEF_COUPLING", 18)==0){
      sscanf(string+19, "%d", PRINT_DEF_COUPLING);
    }else if(strncmp(string, "PRINT_DIR_COUPLING", 18)==0){
      sscanf(string+19, "%d", PRINT_DIR_COUPLING);
    }else if(strncmp(string, "PRINT_COORD_COUPLING", 20)==0){
      sscanf(string+21, "%d", PRINT_COORD_COUPLING);
    }else if(strncmp(string, "PRINT_SIGMA_DIJ", 15)==0){
      sscanf(string+16, "%d", PRINT_SIGMA_DIJ);
    }else if(strncmp(string, "PRINT_CONT_MAT", 14)==0){
      sscanf(string+15, "%d", PRINT_CMAT);
    }else if(strncmp(string, "PROF_TYPE", 9)==0){
      sscanf(string+10, "%s", dumm);
      if((dumm[0]=='A')||(dumm[0]=='C')||(dumm[0]=='P')){
	*PROF_TYPE=dumm[0];
      }else{
	printf("WARNING, profile type %s does not exist\n", dumm);
      }
    }else if(strncmp(string, "ALL_PAIRS", 9)==0){
      sscanf(string+10, "%d", ALL_PAIRS);
    }else if(strncmp(string, "SIGMA", 5)==0){
      sscanf(string+6, "%f", SIGMA);
    }else if(strncmp(string, "STRAIN", 6)==0){
      sscanf(string+7, "%d", STRAIN);
    }else if(strncmp(string, "AMPLITUDE", 9)==0){
      sscanf(string+10, "%f", &(Para_simul->AMPLITUDE));
    }else if(strncmp(string, "AMPL_MIN", 8)==0){
      sscanf(string+9, "%f", &(Para_simul->AMPL_MIN));
    }else if(strncmp(string, "AMPL_MAX", 8)==0){
      sscanf(string+9, "%f", &(Para_simul->AMPL_MAX));
    }else if(strncmp(string, "AMPL_FACT", 9)==0){
      sscanf(string+10, "%f", &(Para_simul->AMPL_FACT));
    }else if(strncmp(string, "E_THR", 5)==0){
      sscanf(string+6, "%f", &(Para_simul->E_THR));
    }else if(strncmp(string, "D_REP", 5)==0){
      sscanf(string+6, "%f", &(Para_simul->D_REP));
    }else if(strncmp(string, "PDB_STEP", 8)==0){
      sscanf(string+9, "%f", &(Para_simul->PDB_STEP));

    }else if(strncmp(string, "FOLDING", 7)==0){
      sscanf(string+8, "%d", FOLDING);
    }else if(strncmp(string, "UNFOLDING",9)==0){
      sscanf(string+10, "%d", UNFOLDING);
    }else if(strncmp(string, "BINDING", 7)==0){
      *n_apo=0; char *s=string+8;
      while(*s!='\n' && *s!='!'){
	if(*s!=' '){apo_chains[*n_apo]=*s; (*n_apo)++;}
	s++;
      }
      if(*n_apo>0 && *n_apo<100){
	*BINDING=1; apo_chains[*n_apo]='\0';
	printf("Computing binding free energy between chains ");
	for(int j=0; j<*n_apo; j++)printf("%c", apo_chains[j]);
	printf(" and the other chains\n"); 
      }else{
	printf("WARNING, %d is not an allowed value of n_apo\n", *n_apo);
	printf("Read string: %s", string);
      }

      //}else if(strncmp(string, "", )==0){
    }else if(string[0]!='\n'){
      printf("WARNING, unrecognized line:\n%s", string);
    }
  }
  fclose(file_in);
  if((*K_PHI==0)&&(*K_PSI))*K_PHI=*K_PSI;
  if((*K_PSI==0)&&(*K_PHI))*K_PSI=*K_PHI;
  if((*K_CHI==0)&&(*K_PHI))*K_CHI=*K_PHI;
  if((*S_TYPE < 0)||(*S_TYPE >2)){
    printf("WARNING, not allowed Shadow interaction type %d\n", *S_TYPE);
    *S_TYPE=0;
    printf("Setting to default %d (angle kij, d_ij<d_ik<d_jk)\n", *S_TYPE);
  }
  if(strncmp(INT_TYPE, "SHA", 3)==0){
    if(*S_TYPE==0){ // Thereshold on cosine(kij)
      if((*S_THR<0)||(*S_THR>1)){
	printf("ERROR Shadow type %d, shadow parameter %f out of range. ",
	       *S_TYPE, *S_THR); exit(8);
      }
    }else if (*S_TYPE==1){ // Threshold on distance from axis
      if(*S_THR<0){
	printf("ERROR Shadow type %d, shadow parameter %f out of range. ",
	       *S_TYPE, *S_THR); exit(8);
      }
    }else if (*S_TYPE==2){ // Atom radius
      if(*S_THR<0){
	printf("ERROR Shadow type %d, shadow parameter %f out of range. ",
	       *S_TYPE, *S_THR); exit(8);
      }
    }
  }
  return(1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4c8, %rsp            # imm = 0x4C8
movq %r9, %r12
movq %r8, 0x18(%rsp)
movq %rcx, 0x80(%rsp)
movq %rdx, 0x20(%rsp)
movq %rsi, 0x88(%rsp)
movq %rdi, %rbx
leaq 0x4950b(%rip), %rsi     # 0x53dde
callq 0x2210
testq %rax, %rax
je 0xbd5f
movq %rax, %r15
movq %r12, 0x10(%rsp)
movq 0x620(%rsp), %r12
leaq 0x43f30(%rip), %rdi     # 0x4e828
movq %rbx, %rsi
xorl %eax, %eax
callq 0x20f0
leaq 0x8(%r12), %rax
movq %rax, 0x78(%rsp)
leaq 0x4(%r12), %rax
movq %rax, 0x70(%rsp)
leaq 0x28(%r12), %rax
movq %rax, 0x68(%rsp)
leaq 0x24(%r12), %rax
movq %rax, 0x60(%rsp)
leaq 0x1c(%r12), %rax
movq %rax, 0x58(%rsp)
leaq 0x30(%r12), %rax
movq %rax, 0x50(%rsp)
leaq 0x38(%r12), %rax
movq %rax, 0x48(%rsp)
leaq 0x2c(%r12), %rax
movq %rax, 0x40(%rsp)
leaq 0x20(%r12), %rax
movq %rax, 0x38(%rsp)
leaq 0xc(%r12), %rax
movq %rax, 0x30(%rsp)
leaq 0x10(%r12), %rax
movq %rax, 0x28(%rsp)
leaq 0xe0(%rsp), %rbp
pushq $0x3
popq %r13
pushq $0x5
popq %rbx
movq %rbp, %rdi
movl $0x3e8, %esi            # imm = 0x3E8
movq %r15, %rdx
callq 0x2170
testq %rax, %rax
je 0xbd09
movb 0xe0(%rsp), %r12b
cmpb $0x23, %r12b
je 0xa97f
movq %rbx, %r14
movl 0xe0(%rsp), %ebx
cmpl $0x31424450, %ebx       # imm = 0x31424450
jne 0xa9d1
leaq 0xe5(%rsp), %rdi
leaq 0x467b5(%rip), %rsi     # 0x5117c
movq 0x88(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x43e67(%rip), %rsi     # 0x4e842
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xaa19
cmpl $0x32424450, %ebx       # imm = 0x32424450
jne 0xaa78
leaq 0xe5(%rsp), %rdi
leaq 0x4677a(%rip), %rsi     # 0x5117c
movq 0x80(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq %r14, %rbx
jmp 0xa97f
leaq 0xe4(%rsp), %rdi
leaq 0x46754(%rip), %rsi     # 0x5117c
leaq 0x90(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movq %rbx, %rdi
leaq 0x40706(%rip), %rsi     # 0x4b14a
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xab87
movq %rbx, %rdi
leaq 0x41a56(%rip), %rsi     # 0x4c4b4
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xab87
movq 0x20(%rsp), %rdi
jmp 0xabe3
movq %rbp, %rdi
leaq 0x43dc4(%rip), %rsi     # 0x4e846
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xab91
movq %r14, %rbx
movq %rbp, %rdi
leaq 0x43dab(%rip), %rsi     # 0x4e84a
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xabf3
movq %rbp, %rdi
leaq 0x43dc2(%rip), %rsi     # 0x4e87b
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xac4a
movq %rbp, %rdi
leaq 0x43dac(%rip), %rsi     # 0x4e87f
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xac63
movq %rbp, %rdi
leaq 0x43d98(%rip), %rsi     # 0x4e885
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xac97
movq %rbp, %rdi
leaq 0x43d88(%rip), %rsi     # 0x4e88f
pushq $0x7
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xacb0
movq %rbp, %rdi
leaq 0x43d76(%rip), %rsi     # 0x4e897
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xacc9
movq 0xe0(%rsp), %rcx
movabsq $0x5248545f4c4c4f43, %rax # imm = 0x5248545F4C4C4F43
cmpq %rax, %rcx
jne 0xacec
leaq 0xe9(%rsp), %rdi
leaq 0x450e9(%rip), %rsi     # 0x4fc44
movq 0x560(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
cvtss2sd (%rbx), %xmm0
movq %r14, %rbx
leaq 0x43d22(%rip), %rdi     # 0x4e89d
movb $0x1, %al
callq 0x20f0
jmp 0xa97f
movq 0x20(%rsp), %rax
jmp 0xac3f
leaq 0xe4(%rsp), %rdi
leaq 0x465dc(%rip), %rsi     # 0x5117c
leaq 0x90(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movq %rbx, %rdi
leaq 0x4058e(%rip), %rsi     # 0x4b14a
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xac3a
movq %rbx, %rdi
leaq 0x418e2(%rip), %rsi     # 0x4c4b4
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xac3a
movq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0x2080
movq %r14, %rbx
jmp 0xa97f
leaq 0xe4(%rsp), %rdi
leaq 0x4657a(%rip), %rsi     # 0x5117c
leaq 0x90(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl 0x90(%rsp), %eax
cmpl $0x53524f54, %eax       # imm = 0x53524F54
je 0xa97f
cmpl $0x54524143, %eax       # imm = 0x54524143
jne 0xac7c
movq 0x10(%rsp), %rax
movl $0x1, (%rax)
jmp 0xa97f
movq 0x18(%rsp), %rax
movb $0x2a, (%rax)
movq %r14, %rbx
jmp 0xa97f
leaq 0xe4(%rsp), %rdi
leaq 0x46523(%rip), %rsi     # 0x5117c
movq 0x500(%rsp), %rdx
jmp 0xace0
leaq 0xe6(%rsp), %rdi
leaq 0x4c5b9(%rip), %rsi     # 0x5722b
movq 0x508(%rsp), %rdx
jmp 0xace0
leaq 0x43bcb(%rip), %rdi     # 0x4e84e
leaq 0x90(%rsp), %rsi
xorl %eax, %eax
callq 0x20f0
jmp 0xa97f
leaq 0xea(%rsp), %rdi
leaq 0x4c585(%rip), %rsi     # 0x5722b
movq 0x510(%rsp), %rdx
jmp 0xace0
leaq 0xe8(%rsp), %rdi
leaq 0x4c56c(%rip), %rsi     # 0x5722b
movq 0x568(%rsp), %rdx
jmp 0xace0
leaq 0xe6(%rsp), %rdi
leaq 0x44f6c(%rip), %rsi     # 0x4fc44
movq 0x558(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
jmp 0xa97f
movq %rcx, (%rsp)
movq %rbp, %rdi
leaq 0x4ccac(%rip), %rsi     # 0x579a6
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xad8c
movq %rbp, %rdi
leaq 0x43bc5(%rip), %rsi     # 0x4e8d9
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xadca
movq %rbp, %rdi
leaq 0x43ba9(%rip), %rsi     # 0x4e8d7
pushq $0x7
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xae2d
movq (%rsp), %rax
cmpl $0x4c425f4b, %eax       # imm = 0x4C425F4B
je 0xae79
cmpl $0x41425f4b, %eax       # imm = 0x41425F4B
jne 0xaead
leaq 0xe5(%rsp), %rdi
leaq 0x43b78(%rip), %rsi     # 0x4e8df
movq 0x548(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movsd (%rbx), %xmm0
movq %r14, %rbx
leaq 0x43b84(%rip), %rdi     # 0x4e90b
jmp 0xab7b
leaq 0xe4(%rsp), %rdi
leaq 0x4c490(%rip), %rsi     # 0x5722b
movq 0x520(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
cmpl $0x0, (%rbx)
movq %r14, %rbx
jne 0xa97f
leaq 0x44d2b(%rip), %rdi     # 0x4faeb
callq 0x2090
jmp 0xa97f
leaq 0xe6(%rsp), %rdi
leaq 0x4c452(%rip), %rsi     # 0x5722b
movq 0x518(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
cmpl $0x0, (%rbx)
movq %r14, %rbx
je 0xa97f
leaq 0x44cc7(%rip), %rdi     # 0x4fac5
callq 0x2090
movq 0x518(%rsp), %rax
cmpl $0x0, (%rax)
jns 0xa97f
movl 0x592a6(%rip), %esi     # 0x640c0
leaq 0x43a8c(%rip), %rdi     # 0x4e8ad
xorl %eax, %eax
callq 0x20f0
jmp 0xa97f
leaq 0xe8(%rsp), %rdi
leaq 0x43aa3(%rip), %rsi     # 0x4e8df
movq 0x528(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x518(%rsp), %rax
cmpl $0x0, (%rax)
movsd (%rbx), %xmm0
je 0xaf4b
leaq 0x43a79(%rip), %rdi     # 0x4e8e3
movb $0x1, %al
callq 0x20f0
movq %r14, %rbx
jmp 0xa97f
leaq 0xe5(%rsp), %rdi
leaq 0x43a57(%rip), %rsi     # 0x4e8df
movq 0x550(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movsd (%rbx), %xmm0
movq %r14, %rbx
leaq 0x43a8b(%rip), %rdi     # 0x4e933
jmp 0xab7b
movq %rbp, %rdi
leaq 0x43aa5(%rip), %rsi     # 0x4e95c
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xaf6f
movq %rbp, %rdi
leaq 0x43aba(%rip), %rsi     # 0x4e98b
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xafb3
movq %rbp, %rdi
leaq 0x43acf(%rip), %rsi     # 0x4e9ba
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xaff7
movq %rbp, %rdi
leaq 0x43ae4(%rip), %rsi     # 0x4e9e9
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb049
movabsq $0x5248545f4c4c4f43, %rax # imm = 0x5248545F4C4C4F43
addq $0x8020000, %rax        # imm = 0x8020000
cmpq %rax, (%rsp)
jne 0xb097
leaq 0xe9(%rsp), %rdi
leaq 0x44d06(%rip), %rsi     # 0x4fc44
movq 0x578(%rsp), %rdx
jmp 0xace0
ucomisd 0x400fd(%rip), %xmm0    # 0x4b050
movq %r14, %rbx
jne 0xaf5e
jnp 0xa97f
leaq 0x44b24(%rip), %rdi     # 0x4fa89
callq 0x2090
jmp 0xa97f
leaq 0xe6(%rsp), %rdi
leaq 0x43961(%rip), %rsi     # 0x4e8df
movq 0x530(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movsd (%rbx), %xmm0
movq %r14, %rbx
ucomisd 0x400b1(%rip), %xmm0    # 0x4b050
jne 0xafa7
jnp 0xa97f
leaq 0x439b4(%rip), %rdi     # 0x4e962
jmp 0xab7b
leaq 0xe6(%rsp), %rdi
leaq 0x4391d(%rip), %rsi     # 0x4e8df
movq 0x538(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movsd (%rbx), %xmm0
movq %r14, %rbx
ucomisd 0x4006d(%rip), %xmm0    # 0x4b050
jne 0xafeb
jnp 0xa97f
leaq 0x4399f(%rip), %rdi     # 0x4e991
jmp 0xab7b
leaq 0xe6(%rsp), %rdi
leaq 0x438d9(%rip), %rsi     # 0x4e8df
movq 0x540(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x538(%rsp), %rax
movsd (%rax), %xmm0
ucomisd 0x40027(%rip), %xmm0    # 0x4b050
jne 0xb031
jnp 0xa97f
movq 0x540(%rsp), %rax
movsd (%rax), %xmm0
leaq 0x4397c(%rip), %rdi     # 0x4e9c0
jmp 0xab7b
leaq 0xea(%rsp), %rdi
leaq 0x46124(%rip), %rsi     # 0x5117c
movq 0x570(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
cmpb $0x48, (%rbx)
movq %r14, %rbx
jne 0xa97f
movq 0x570(%rsp), %rax
cmpb $0x4e, 0x1(%rax)
jne 0xa97f
cmpb $0x4d, 0x2(%rax)
jne 0xa97f
jmp 0xac2a
movq %rbp, %rdi
leaq 0x43952(%rip), %rsi     # 0x4e9f3
movq %rbx, %rdx
callq 0x2200
testl %eax, %eax
je 0xb154
movq %rbp, %rdi
leaq 0x4393e(%rip), %rsi     # 0x4e9f9
pushq $0x6
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb170
movq %rbp, %rdi
leaq 0x4392b(%rip), %rsi     # 0x4ea00
pushq $0x6
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb18c
movabsq $0x5345525345525f4e, %rax # imm = 0x5345525345525F4E
cmpq %rax, (%rsp)
jne 0xb1a8
leaq 0xe9(%rsp), %rdi
leaq 0x4c123(%rip), %rsi     # 0x5722b
movq 0x598(%rsp), %rbx
movq %rbx, %rdx
xorl %eax, %eax
callq 0x21f0
movl (%rbx), %esi
testl %esi, %esi
movq %r14, %rbx
jg 0xa97f
leaq 0x438d9(%rip), %rdi     # 0x4ea07
xorl %eax, %eax
callq 0x20f0
leaq 0x44932(%rip), %rdi     # 0x4fa6e
callq 0x2090
movq 0x598(%rsp), %rax
movl $0x1, (%rax)
jmp 0xa97f
leaq 0xe6(%rsp), %rdi
leaq 0x44ae1(%rip), %rsi     # 0x4fc44
movq 0x588(%rsp), %rdx
jmp 0xace0
leaq 0xe7(%rsp), %rdi
leaq 0x4c0ac(%rip), %rsi     # 0x5722b
movq 0x580(%rsp), %rdx
jmp 0xace0
leaq 0xe7(%rsp), %rdi
leaq 0x4c090(%rip), %rsi     # 0x5722b
movq 0x590(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x43881(%rip), %rsi     # 0x4ea33
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xb26e
movq %rbp, %rdi
leaq 0x4386b(%rip), %rsi     # 0x4ea37
pushq $0xb
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb289
movq %rbp, %rdi
leaq 0x4385d(%rip), %rsi     # 0x4ea43
pushq $0xa
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb2a4
movq %rbp, %rdi
leaq 0x43e8b(%rip), %rsi     # 0x4f08b
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xb2c0
movq %rbp, %rdi
leaq 0x43834(%rip), %rsi     # 0x4ea4e
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xb2dc
movabsq $0x4e494d5f44534d52, %rax # imm = 0x4E494D5F44534D52
cmpq %rax, (%rsp)
je 0xb2f8
movabsq $0x5058455f44534d52, %rax # imm = 0x5058455F44534D52
cmpq %rax, (%rsp)
jne 0xb314
leaq 0xe9(%rsp), %rdi
leaq 0x449e3(%rip), %rsi     # 0x4fc44
movq 0x5f0(%rsp), %rdx
jmp 0xaa0a
leaq 0xe4(%rsp), %rdi
leaq 0x4bfae(%rip), %rsi     # 0x5722b
leaq 0x58368(%rip), %rdx     # 0x635ec
jmp 0xaa0a
leaq 0xec(%rsp), %rdi
leaq 0x449ac(%rip), %rsi     # 0x4fc44
leaq 0x58dcd(%rip), %rdx     # 0x6406c
jmp 0xaa0a
leaq 0xeb(%rsp), %rdi
leaq 0x4bf78(%rip), %rsi     # 0x5722b
movq 0x690(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x44975(%rip), %rsi     # 0x4fc44
movq 0x5e0(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x4bf40(%rip), %rsi     # 0x5722b
movq 0x5e8(%rsp), %rdx
jmp 0xaa0a
leaq 0xe9(%rsp), %rdi
leaq 0x4493d(%rip), %rsi     # 0x4fc44
movq 0x5f8(%rsp), %rdx
jmp 0xaa0a
movdqa 0xe0(%rsp), %xmm0
pcmpeqb 0x3fdab(%rip), %xmm0    # 0x4b0d0
pmovmskb %xmm0, %eax
cmpl $0xffff, %eax           # imm = 0xFFFF
je 0xb36b
movq %rbp, %rdi
leaq 0x4372b(%rip), %rsi     # 0x4ea65
pushq $0xb
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb387
cmpl $0x54554d4e, (%rsp)     # imm = 0x54554D4E
jne 0xb3a3
leaq 0xe5(%rsp), %rdi
leaq 0x4becd(%rip), %rsi     # 0x5722b
movq 0x600(%rsp), %rdx
jmp 0xaa0a
leaq 0xf1(%rsp), %rdi
leaq 0x4beb1(%rip), %rsi     # 0x5722b
movq 0x698(%rsp), %rdx
jmp 0xaa0a
leaq 0xec(%rsp), %rdi
leaq 0x4be95(%rip), %rsi     # 0x5722b
movq 0x6a0(%rsp), %rdx
jmp 0xaa0a
movabsq $0x54554d5f44455250, %rax # imm = 0x54554D5F44455250
cmpq %rax, (%rsp)
jne 0xb3cf
leaq 0xe9(%rsp), %rdi
leaq 0x4be69(%rip), %rsi     # 0x5722b
movq 0x608(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x43698(%rip), %rsi     # 0x4ea71
movq %r13, %rdx
callq 0x2200
testl %eax, %eax
je 0xb425
movabsq $0x5248545f44534d52, %rax # imm = 0x5248545F44534D52
cmpq %rax, (%rsp)
je 0xb46d
movabsq $0x415241505f54554d, %rax # imm = 0x415241505F54554D
cmpq %rax, (%rsp)
jne 0xb489
leaq 0xe9(%rsp), %rdi
leaq 0x45d64(%rip), %rsi     # 0x5117c
movq 0x618(%rsp), %rdx
jmp 0xaa0a
leaq 0xe4(%rsp), %rdi
leaq 0x4bdf7(%rip), %rsi     # 0x5722b
leaq 0xc(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl 0xc(%rsp), %esi
movq 0x610(%rsp), %rax
cmpl $0x14, %esi
jb 0xb532
movl (%rax), %edx
leaq 0x43617(%rip), %rdi     # 0x4ea75
xorl %eax, %eax
callq 0x20f0
movq %r14, %rbx
jmp 0xa97f
leaq 0xe9(%rsp), %rdi
leaq 0x447c8(%rip), %rsi     # 0x4fc44
movq 0x628(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x43611(%rip), %rsi     # 0x4eaa4
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb53c
movq %rbp, %rdi
leaq 0x43601(%rip), %rsi     # 0x4eaae
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xb558
movq %rbp, %rdi
leaq 0x435ed(%rip), %rsi     # 0x4eab4
pushq $0xa
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb573
movq %rbp, %rdi
leaq 0x435de(%rip), %rsi     # 0x4eabf
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xb59f
movabsq $0x4e494d5f50455453, %rax # imm = 0x4E494D5F50455453
cmpq %rax, (%rsp)
je 0xb5bb
movabsq $0x58414d5f50455453, %rax # imm = 0x58414D5F50455453
cmpq %rax, (%rsp)
jne 0xb5d4
leaq 0xe9(%rsp), %rdi
leaq 0x4471c(%rip), %rsi     # 0x4fc44
movq 0x70(%rsp), %rdx
jmp 0xaa0a
movl %esi, (%rax)
movq %r14, %rbx
jmp 0xa97f
leaq 0xea(%rsp), %rdi
leaq 0x446f9(%rip), %rsi     # 0x4fc44
movq 0x630(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x4bcc4(%rip), %rsi     # 0x5722b
leaq 0x68e7e(%rip), %rdx     # 0x743ec
jmp 0xaa0a
movl $0x190, %edi            # imm = 0x190
callq 0x21d0
movq 0x5d0(%rsp), %rcx
movq %rax, (%rcx)
leaq 0xeb(%rsp), %rdi
leaq 0x45be5(%rip), %rsi     # 0x5117c
movq %rax, %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x4bc7d(%rip), %rsi     # 0x5722b
movq 0x620(%rsp), %rdx
jmp 0xaa0a
leaq 0xe9(%rsp), %rdi
leaq 0x4467a(%rip), %rsi     # 0x4fc44
movq 0x78(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x434e7(%rip), %rsi     # 0x4eac5
pushq $0x6
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb837
movq %rbp, %rdi
leaq 0x434d4(%rip), %rsi     # 0x4eacc
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xb850
movq %rbp, %rdi
leaq 0x434c0(%rip), %rsi     # 0x4ead2
pushq $0x6
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb869
movq %rbp, %rdi
leaq 0x434ad(%rip), %rsi     # 0x4ead9
pushq $0x6
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb885
movq %rbp, %rdi
leaq 0x4349a(%rip), %rsi     # 0x4eae0
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb8a1
movq %rbp, %rdi
leaq 0x4348a(%rip), %rsi     # 0x4eaea
pushq $0xc
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb8bd
movq %rbp, %rdi
leaq 0x4347d(%rip), %rsi     # 0x4eaf7
pushq $0xb
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb8d9
movq %rbp, %rdi
leaq 0x4346f(%rip), %rsi     # 0x4eb03
pushq $0xa
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb8f5
movq %rbp, %rdi
leaq 0x43460(%rip), %rsi     # 0x4eb0e
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb911
movq %rbp, %rdi
leaq 0x43450(%rip), %rsi     # 0x4eb18
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xb92d
movq %rbp, %rdi
leaq 0x4343c(%rip), %rsi     # 0x4eb1e
pushq $0x12
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb949
movq %rbp, %rdi
leaq 0x43435(%rip), %rsi     # 0x4eb31
pushq $0x12
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb965
movq %rbp, %rdi
leaq 0x4342e(%rip), %rsi     # 0x4eb44
pushq $0x12
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb981
movq %rbp, %rdi
leaq 0x43427(%rip), %rsi     # 0x4eb57
pushq $0x14
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb99d
movq %rbp, %rdi
leaq 0x43422(%rip), %rsi     # 0x4eb6c
pushq $0xf
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb9b9
movq %rbp, %rdi
leaq 0x43418(%rip), %rsi     # 0x4eb7c
pushq $0xe
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb9d5
movq %rbp, %rdi
leaq 0x4340d(%rip), %rsi     # 0x4eb8b
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xb9f1
movq %rbp, %rdi
leaq 0x43426(%rip), %rsi     # 0x4ebbe
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xba3b
movq %rbp, %rdi
leaq 0x43416(%rip), %rsi     # 0x4ebc8
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xba57
movq %rbp, %rdi
leaq 0x43402(%rip), %rsi     # 0x4ebce
pushq $0x6
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xba91
movq %rbp, %rdi
leaq 0x433ef(%rip), %rsi     # 0x4ebd5
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xbaad
movabsq $0x58414d5f4c504d41, %rax # imm = 0x58414D5F4C504D41
cmpq %rax, (%rsp)
je 0xbac6
movabsq $0x4e494d5f4c504d41, %rax # imm = 0x4E494D5F4C504D41
cmpq %rax, (%rsp)
jne 0xbadf
leaq 0xe9(%rsp), %rdi
leaq 0x44417(%rip), %rsi     # 0x4fc44
movq 0x60(%rsp), %rdx
jmp 0xaa0a
leaq 0xe7(%rsp), %rdi
leaq 0x4b9e5(%rip), %rsi     # 0x5722b
movq 0x28(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x443e5(%rip), %rsi     # 0x4fc44
movq 0x30(%rsp), %rdx
jmp 0xaa0a
leaq 0xe7(%rsp), %rdi
leaq 0x45904(%rip), %rsi     # 0x5117c
movq 0x5a8(%rsp), %rdx
jmp 0xaa0a
leaq 0xe7(%rsp), %rdi
leaq 0x4b997(%rip), %rsi     # 0x5722b
movq 0x5a0(%rsp), %rdx
jmp 0xaa0a
leaq 0xea(%rsp), %rdi
leaq 0x4b97b(%rip), %rsi     # 0x5722b
movq 0x5c0(%rsp), %rdx
jmp 0xaa0a
leaq 0xed(%rsp), %rdi
leaq 0x4b95f(%rip), %rsi     # 0x5722b
movq 0x5b0(%rsp), %rdx
jmp 0xaa0a
leaq 0xec(%rsp), %rdi
leaq 0x4b943(%rip), %rsi     # 0x5722b
movq 0x5b8(%rsp), %rdx
jmp 0xaa0a
leaq 0xeb(%rsp), %rdi
leaq 0x4b927(%rip), %rsi     # 0x5722b
movq 0x5c8(%rsp), %rdx
jmp 0xaa0a
leaq 0xea(%rsp), %rdi
leaq 0x4b90b(%rip), %rsi     # 0x5722b
movq 0x5d8(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x45840(%rip), %rsi     # 0x5117c
movq 0x680(%rsp), %rdx
jmp 0xaa0a
leaq 0xf3(%rsp), %rdi
leaq 0x4b8d3(%rip), %rsi     # 0x5722b
movq 0x638(%rsp), %rdx
jmp 0xaa0a
leaq 0xf3(%rsp), %rdi
leaq 0x4b8b7(%rip), %rsi     # 0x5722b
movq 0x640(%rsp), %rdx
jmp 0xaa0a
leaq 0xf3(%rsp), %rdi
leaq 0x4b89b(%rip), %rsi     # 0x5722b
movq 0x648(%rsp), %rdx
jmp 0xaa0a
leaq 0xf5(%rsp), %rdi
leaq 0x4b87f(%rip), %rsi     # 0x5722b
movq 0x650(%rsp), %rdx
jmp 0xaa0a
leaq 0xf0(%rsp), %rdi
leaq 0x4b863(%rip), %rsi     # 0x5722b
movq 0x658(%rsp), %rdx
jmp 0xaa0a
leaq 0xef(%rsp), %rdi
leaq 0x4b847(%rip), %rsi     # 0x5722b
movq 0x688(%rsp), %rdx
jmp 0xaa0a
leaq 0xea(%rsp), %rdi
leaq 0x4577c(%rip), %rsi     # 0x5117c
leaq 0x90(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movzbl 0x90(%rsp), %eax
leal -0x41(%rax), %ecx
cmpl $0xf, %ecx
ja 0xba73
movl $0x8005, %edx           # imm = 0x8005
btl %ecx, %edx
jae 0xba73
movq 0x660(%rsp), %rcx
movb %al, (%rcx)
movq %r14, %rbx
jmp 0xa97f
leaq 0xea(%rsp), %rdi
leaq 0x4b7e1(%rip), %rsi     # 0x5722b
movq 0x668(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x441de(%rip), %rsi     # 0x4fc44
movq 0x670(%rsp), %rdx
jmp 0xaa0a
leaq 0x4311b(%rip), %rdi     # 0x4eb95
leaq 0x90(%rsp), %rsi
xorl %eax, %eax
callq 0x20f0
movq %r14, %rbx
jmp 0xa97f
leaq 0xe7(%rsp), %rdi
leaq 0x4b78b(%rip), %rsi     # 0x5722b
movq 0x678(%rsp), %rdx
jmp 0xaa0a
leaq 0xea(%rsp), %rdi
leaq 0x44188(%rip), %rsi     # 0x4fc44
movq 0x38(%rsp), %rdx
jmp 0xaa0a
leaq 0xe9(%rsp), %rdi
leaq 0x4416f(%rip), %rsi     # 0x4fc44
movq 0x68(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x430f6(%rip), %rsi     # 0x4ebdf
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xbb4a
movq %rbp, %rdi
leaq 0x430ea(%rip), %rsi     # 0x4ebe9
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xbb63
movq %rbp, %rdi
leaq 0x430da(%rip), %rsi     # 0x4ebef
movq %r14, %rdx
callq 0x2200
testl %eax, %eax
je 0xbb7c
movabsq $0x504554535f424450, %rax # imm = 0x504554535F424450
cmpq %rax, (%rsp)
jne 0xbb95
leaq 0xe9(%rsp), %rdi
leaq 0x44104(%rip), %rsi     # 0x4fc44
movq 0x58(%rsp), %rdx
jmp 0xaa0a
leaq 0xea(%rsp), %rdi
leaq 0x440eb(%rip), %rsi     # 0x4fc44
movq 0x40(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x440d2(%rip), %rsi     # 0x4fc44
movq 0x48(%rsp), %rdx
jmp 0xaa0a
leaq 0xe6(%rsp), %rdi
leaq 0x440b9(%rip), %rsi     # 0x4fc44
movq 0x50(%rsp), %rdx
jmp 0xaa0a
movq %rbp, %rdi
leaq 0x43058(%rip), %rsi     # 0x4ebf7
pushq $0x7
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xbbf3
movq %rbp, %rdi
leaq 0x43040(%rip), %rsi     # 0x4ebf5
pushq $0x9
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xbc0f
movq %rbp, %rdi
leaq 0x43034(%rip), %rsi     # 0x4ebff
pushq $0x7
popq %rdx
callq 0x2200
testl %eax, %eax
je 0xbc2b
cmpb $0xa, %r12b
movq %r14, %rbx
je 0xa97f
leaq 0x43088(%rip), %rdi     # 0x4ec73
movq %rbp, %rsi
jmp 0xac8b
leaq 0xe8(%rsp), %rdi
leaq 0x4b629(%rip), %rsi     # 0x5722b
movq 0x6a8(%rsp), %rdx
jmp 0xaa0a
leaq 0xea(%rsp), %rdi
leaq 0x4b60d(%rip), %rsi     # 0x5722b
movq 0x6b8(%rsp), %rdx
jmp 0xaa0a
movq 0x6c0(%rsp), %rax
andl $0x0, (%rax)
xorl %esi, %esi
leaq 0xe8(%rsp), %rax
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0xbc6e
cmpl $0xa, %ecx
je 0xbc73
cmpl $0x21, %ecx
je 0xbc73
movslq %esi, %rdx
movq 0x6c8(%rsp), %rsi
movb %cl, (%rsi,%rdx)
movq 0x6c0(%rsp), %rcx
movl (%rcx), %esi
incl %esi
movl %esi, (%rcx)
incq %rax
jmp 0xbc40
leal -0x1(%rsi), %eax
cmpl $0x62, %eax
ja 0xbcd8
movq 0x6b0(%rsp), %rax
movl $0x1, (%rax)
movq 0x6c0(%rsp), %rax
movslq (%rax), %rax
movq 0x6c8(%rsp), %rcx
movb $0x0, (%rcx,%rax)
leaq 0x42f60(%rip), %rdi     # 0x4ec07
xorl %eax, %eax
callq 0x20f0
xorl %r12d, %r12d
movq 0x6c0(%rsp), %rax
movslq (%rax), %rax
cmpq %rax, %r12
jge 0xbcf5
movq 0x6c8(%rsp), %rax
movsbl (%rax,%r12), %edi
callq 0x2060
incq %r12
jmp 0xbcb1
leaq 0x42f56(%rip), %rdi     # 0x4ec35
xorl %eax, %eax
callq 0x20f0
leaq 0x42f76(%rip), %rdi     # 0x4ec63
movq %rbp, %rsi
jmp 0xba82
leaq 0x43d5c(%rip), %rdi     # 0x4fa58
callq 0x2090
movq %r14, %rbx
jmp 0xa97f
movq %r15, %rdi
callq 0x20c0
movq 0x538(%rsp), %rcx
movsd (%rcx), %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jne 0xbd77
jp 0xbd77
movq 0x530(%rsp), %rdx
movsd (%rdx), %xmm1
ucomisd %xmm2, %xmm1
movq 0x580(%rsp), %rbx
movq 0x570(%rsp), %r14
movq 0x540(%rsp), %rax
jne 0xbd55
jnp 0xbd9b
movsd %xmm1, (%rcx)
movapd %xmm1, %xmm0
jmp 0xbd97
leaq 0x42a9e(%rip), %rdi     # 0x4e804
xorl %ebp, %ebp
movq %rbx, %rsi
xorl %eax, %eax
callq 0x20f0
jmp 0xbe88
movq 0x580(%rsp), %rbx
movq 0x570(%rsp), %r14
movq 0x540(%rsp), %rax
movq 0x530(%rsp), %rdx
movsd (%rdx), %xmm1
ucomisd %xmm2, %xmm1
jne 0xbdaf
jp 0xbdaf
ucomisd %xmm2, %xmm0
jne 0xbdab
jnp 0xbdaf
movsd %xmm0, (%rdx)
movsd (%rax), %xmm0
ucomisd %xmm2, %xmm0
jne 0xbdcf
jp 0xbdcf
movsd (%rcx), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xbdcb
jnp 0xbdcf
movsd %xmm0, (%rax)
movl (%rbx), %esi
cmpl $0x3, %esi
jb 0xbdf7
leaq 0x42eb5(%rip), %rdi     # 0x4ec92
xorl %eax, %eax
callq 0x20f0
andl $0x0, (%rbx)
leaq 0x42ed5(%rip), %rdi     # 0x4ecc3
xorl %esi, %esi
xorl %eax, %eax
callq 0x20f0
cmpb $0x53, (%r14)
jne 0xbe85
cmpb $0x48, 0x1(%r14)
jne 0xbe85
cmpb $0x41, 0x2(%r14)
jne 0xbe85
movl (%rbx), %eax
cmpl $0x2, %eax
je 0xbe70
cmpl $0x1, %eax
je 0xbe4c
testl %eax, %eax
jne 0xbe85
movq 0x588(%rsp), %rax
movss (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomiss %xmm0, %xmm1
ja 0xbe3d
ucomiss 0x3f1d5(%rip), %xmm0    # 0x4b010
jbe 0xbe85
cvtss2sd %xmm0, %xmm0
leaq 0x42eae(%rip), %rdi     # 0x4ecf6
xorl %esi, %esi
jmp 0xbeaa
movq 0x588(%rsp), %rax
movss (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomiss %xmm0, %xmm1
jbe 0xbe85
cvtss2sd %xmm0, %xmm0
leaq 0x42e8a(%rip), %rdi     # 0x4ecf6
pushq $0x1
jmp 0xbea9
movq 0x588(%rsp), %rax
movss (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomiss %xmm0, %xmm1
ja 0xbe9c
pushq $0x1
popq %rbp
movl %ebp, %eax
addq $0x4c8, %rsp            # imm = 0x4C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cvtss2sd %xmm0, %xmm0
leaq 0x42e4f(%rip), %rdi     # 0x4ecf6
pushq $0x2
popq %rsi
movb $0x1, %al
callq 0x20f0
pushq $0x8
popq %rdi
callq 0x2270