// File: /workspace/github_c_makefile_star2_O1/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, %r15
movq %r8, %r12
movq %rcx, 0x88(%rsp)
movq %rdx, 0x20(%rsp)
movq %rsi, %rbp
movq %rdi, %r14
leaq 0x4f046(%rip), %rsi     # 0x59eda
callq 0x2210
testq %rax, %rax
je 0xc662
movq %rax, %rbx
movq %r12, 0x18(%rsp)
movq %r15, 0x10(%rsp)
leaq 0x499ee(%rip), %rdi     # 0x548a4
movq %r14, %rsi
xorl %eax, %eax
callq 0x20f0
leaq 0xe0(%rsp), %rdi
movl $0x3e8, %esi            # imm = 0x3E8
movq %rbx, %rdx
callq 0x2170
testq %rax, %rax
je 0xc58b
movq 0x620(%rsp), %r13
leaq 0x8(%r13), %rax
movq %rax, 0x80(%rsp)
leaq 0x4(%r13), %rax
movq %rax, 0x78(%rsp)
leaq 0x28(%r13), %rax
movq %rax, 0x70(%rsp)
leaq 0x24(%r13), %rax
movq %rax, 0x68(%rsp)
leaq 0x1c(%r13), %rax
movq %rax, 0x60(%rsp)
leaq 0x30(%r13), %rax
movq %rax, 0x58(%rsp)
leaq 0x38(%r13), %rax
movq %rax, 0x50(%rsp)
leaq 0x2c(%r13), %rax
movq %rax, 0x48(%rsp)
leaq 0x20(%r13), %rax
movq %rax, 0x40(%rsp)
leaq 0xc(%r13), %rax
movq %rax, 0x38(%rsp)
leaq 0x10(%r13), %rax
movq %rax, 0x30(%rsp)
leaq 0xe0(%rsp), %r12
leaq 0x4c311(%rip), %r14     # 0x5726c
movl $0x4843, %r15d          # imm = 0x4843
movb 0xe0(%rsp), %al
cmpb $0x23, %al
je 0xafcb
movl 0xe0(%rsp), %ecx
cmpl $0x31424450, %ecx       # imm = 0x31424450
jne 0xaf8b
leaq 0xe5(%rsp), %rdi
movq %r14, %rsi
movq %rbp, %rdx
jmp 0xafc4
movl 0xe0(%rsp), %edx
xorl %r15d, %edx
movzbl 0xe2(%rsp), %esi
xorl $0x31, %esi
orw %dx, %si
je 0xafe5
cmpl $0x32424450, %ecx       # imm = 0x32424450
jne 0xb04d
leaq 0xe5(%rsp), %rdi
movq %r14, %rsi
movq 0x88(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq %r12, %rdi
movl $0x3e8, %esi            # imm = 0x3E8
movq %rbx, %rdx
callq 0x2170
testq %rax, %rax
jne 0xaf61
jmp 0xc58b
leaq 0xe4(%rsp), %rdi
movq %r14, %rsi
leaq 0x90(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl 0x90(%rsp), %eax
movl $0x4c41, %ecx           # imm = 0x4C41
xorl %ecx, %eax
movzbl 0x92(%rsp), %ecx
xorl $0x4c, %ecx
orw %ax, %cx
je 0xb194
movl 0x90(%rsp), %eax
movl $0x6c61, %ecx           # imm = 0x6C61
xorl %ecx, %eax
movzbl 0x92(%rsp), %ecx
xorl $0x6c, %ecx
orw %ax, %cx
je 0xb194
movq 0x20(%rsp), %rdi
jmp 0xb1f9
movl 0xe0(%rsp), %ecx
xorl %r15d, %ecx
movzbl 0xe2(%rsp), %edx
xorl $0x32, %edx
orw %cx, %dx
je 0xb19e
movl 0xe0(%rsp), %ecx
movl $0x4f44, %edx           # imm = 0x4F44
xorl %edx, %ecx
movzbl 0xe2(%rsp), %edx
xorl $0x46, %edx
orw %cx, %dx
je 0xb20b
movl 0xe0(%rsp), %ecx
movl $0x4552, %edx           # imm = 0x4552
xorl %edx, %ecx
movzbl 0xe2(%rsp), %edx
xorl $0x46, %edx
orw %cx, %dx
je 0xb25b
movl 0xe0(%rsp), %ecx
movl $0x4542414c, %edx       # imm = 0x4542414C
xorl %edx, %ecx
movzbl 0xe4(%rsp), %edx
xorl $0x4c, %edx
orl %ecx, %edx
je 0xb273
movq 0xe0(%rsp), %rcx
movabsq $0x4941484345444953, %rdx # imm = 0x4941484345444953
xorq %rdx, %rcx
movzbl 0xe8(%rsp), %edx
xorq $0x4e, %rdx
orq %rcx, %rdx
je 0xb2aa
movl 0xe0(%rsp), %ecx
movl $0x5f4e494d, %edx       # imm = 0x5F4E494D
xorl %edx, %ecx
movl 0xe3(%rsp), %edx
movl $0x544e495f, %esi       # imm = 0x544E495F
xorl %esi, %edx
orl %ecx, %edx
je 0xb2c6
movl 0xe0(%rsp), %ecx
movl $0x494d5f45, %edx       # imm = 0x494D5F45
xorl %edx, %ecx
movzbl 0xe4(%rsp), %edx
xorl $0x4e, %edx
orl %ecx, %edx
je 0xb2e2
movabsq $0x5248545f4c4c4f43, %rcx # imm = 0x5248545F4C4C4F43
cmpq %rcx, 0xe0(%rsp)
jne 0xb2fe
leaq 0xe9(%rsp), %rdi
leaq 0x4ab46(%rip), %rsi     # 0x55cac
movq 0x560(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x560(%rsp), %rax
cvtss2sd (%rax), %xmm0
leaq 0x49791(%rip), %rdi     # 0x54919
movb $0x1, %al
callq 0x20f0
jmp 0xafcb
movq 0x20(%rsp), %rax
jmp 0xb253
leaq 0xe4(%rsp), %rdi
movq %r14, %rsi
leaq 0x90(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl 0x90(%rsp), %eax
movl $0x4c41, %ecx           # imm = 0x4C41
xorl %ecx, %eax
movzbl 0x92(%rsp), %ecx
xorl $0x4c, %ecx
orw %ax, %cx
je 0xb24e
movl 0x90(%rsp), %eax
movl $0x6c61, %ecx           # imm = 0x6C61
xorl %ecx, %eax
movzbl 0x92(%rsp), %ecx
xorl $0x6c, %ecx
orw %ax, %cx
je 0xb24e
movq 0x18(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x2080
jmp 0xafcb
leaq 0xe4(%rsp), %rdi
movq %r14, %rsi
leaq 0x90(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl 0x90(%rsp), %eax
cmpl $0x53524f54, %eax       # imm = 0x53524F54
je 0xafcb
cmpl $0x54524143, %eax       # imm = 0x54524143
jne 0xb28f
movq 0x10(%rsp), %rax
movl $0x1, (%rax)
jmp 0xafcb
movq 0x18(%rsp), %rax
movb $0x2a, (%rax)
jmp 0xafcb
leaq 0xe4(%rsp), %rdi
movq %r14, %rsi
movq 0x500(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x52069(%rip), %rsi     # 0x5d2eb
movq 0x508(%rsp), %rdx
jmp 0xafc4
leaq 0x49634(%rip), %rdi     # 0x548ca
leaq 0x90(%rsp), %rsi
xorl %eax, %eax
callq 0x20f0
jmp 0xafcb
leaq 0xea(%rsp), %rdi
leaq 0x52032(%rip), %rsi     # 0x5d2eb
movq 0x510(%rsp), %rdx
jmp 0xafc4
leaq 0xe8(%rsp), %rdi
leaq 0x52016(%rip), %rsi     # 0x5d2eb
movq 0x568(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x4a9bb(%rip), %rsi     # 0x55cac
movq 0x558(%rsp), %rdx
jmp 0xafc4
movl 0xe0(%rsp), %ecx
movl $0x5350, %edx           # imm = 0x5350
xorl %edx, %ecx
movzbl 0xe2(%rsp), %edx
xorl $0x49, %edx
orw %cx, %dx
je 0xb3ba
movl 0xe0(%rsp), %ecx
movl $0x47454d4f, %edx       # imm = 0x47454D4F
xorl %edx, %ecx
movzbl 0xe4(%rsp), %edx
xorl $0x41, %edx
orl %ecx, %edx
je 0xb3fa
movl 0xe0(%rsp), %ecx
movl $0x4d4f5f4b, %edx       # imm = 0x4D4F5F4B
xorl %edx, %ecx
movl 0xe3(%rsp), %edx
movl $0x4147454d, %esi       # imm = 0x4147454D
xorl %esi, %edx
orl %ecx, %edx
je 0xb45b
movl 0xe0(%rsp), %ecx
cmpl $0x4c425f4b, %ecx       # imm = 0x4C425F4B
je 0xb4a2
cmpl $0x41425f4b, %ecx       # imm = 0x41425F4B
jne 0xb4d8
leaq 0xe5(%rsp), %rdi
leaq 0x495c8(%rip), %rsi     # 0x5495b
movq 0x548(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x548(%rsp), %rax
movsd (%rax), %xmm0
leaq 0x495d2(%rip), %rdi     # 0x54987
jmp 0xb188
leaq 0xe4(%rsp), %rdi
leaq 0x51f22(%rip), %rsi     # 0x5d2eb
movq 0x520(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x520(%rsp), %rax
cmpl $0x0, (%rax)
jne 0xafcb
leaq 0x4a777(%rip), %rdi     # 0x55b67
callq 0x2090
jmp 0xafcb
leaq 0xe6(%rsp), %rdi
leaq 0x51ee2(%rip), %rsi     # 0x5d2eb
movq 0x518(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x518(%rsp), %rax
cmpl $0x0, (%rax)
je 0xb431
leaq 0x4a715(%rip), %rdi     # 0x55b41
callq 0x2090
movq 0x518(%rsp), %rax
cmpl $0x0, (%rax)
jns 0xafcb
movl 0x5dc78(%rip), %esi     # 0x690c0
leaq 0x494da(%rip), %rdi     # 0x54929
xorl %eax, %eax
callq 0x20f0
jmp 0xafcb
leaq 0xe8(%rsp), %rdi
leaq 0x494f1(%rip), %rsi     # 0x5495b
movq 0x528(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x518(%rsp), %rax
cmpl $0x0, (%rax)
movq 0x528(%rsp), %rax
movsd (%rax), %xmm0
je 0xb5a7
leaq 0x494c2(%rip), %rdi     # 0x5495f
jmp 0xb188
leaq 0xe5(%rsp), %rdi
leaq 0x494aa(%rip), %rsi     # 0x5495b
movq 0x550(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x550(%rsp), %rax
movsd (%rax), %xmm0
leaq 0x494dc(%rip), %rdi     # 0x549af
jmp 0xb188
movl 0xe0(%rsp), %ecx
movl $0x53505f4b, %edx       # imm = 0x53505F4B
xorl %edx, %ecx
movzbl 0xe4(%rsp), %edx
xorl $0x49, %edx
orl %ecx, %edx
je 0xb5c3
movl 0xe0(%rsp), %ecx
movl $0x48505f4b, %edx       # imm = 0x48505F4B
xorl %edx, %ecx
movzbl 0xe4(%rsp), %edx
xorl $0x49, %edx
orl %ecx, %edx
je 0xb609
movl 0xe0(%rsp), %ecx
movl $0x48435f4b, %edx       # imm = 0x48435F4B
xorl %edx, %ecx
movzbl 0xe4(%rsp), %edx
xorl $0x49, %edx
orl %ecx, %edx
je 0xb64f
movabsq $0x5059545f464f5250, %rcx # imm = 0x5059545F464F5250
addq $0xdfefcf3, %rcx        # imm = 0xDFEFCF3
xorq 0xe0(%rsp), %rcx
movzbl 0xe8(%rsp), %edx
xorq $0x45, %rdx
orq %rcx, %rdx
je 0xb6a1
movq 0xe0(%rsp), %rcx
movabsq $0x5248545f4c4c4f43, %rdx # imm = 0x5248545F4C4C4F43
addq $0x8020000, %rdx        # imm = 0x8020000
cmpq %rdx, %rcx
jne 0xb6e1
leaq 0xe9(%rsp), %rdi
leaq 0x4a712(%rip), %rsi     # 0x55cac
movq 0x578(%rsp), %rdx
jmp 0xafc4
ucomisd 0x45ab1(%rip), %xmm0    # 0x51060
jne 0xb5b7
jnp 0xafcb
leaq 0x4a547(%rip), %rdi     # 0x55b05
jmp 0xb3f0
leaq 0xe6(%rsp), %rdi
leaq 0x49389(%rip), %rsi     # 0x5495b
movq 0x530(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x530(%rsp), %rax
movsd (%rax), %xmm0
ucomisd 0x45a6b(%rip), %xmm0    # 0x51060
jne 0xb5fd
jnp 0xafcb
leaq 0x493da(%rip), %rdi     # 0x549de
jmp 0xb188
leaq 0xe6(%rsp), %rdi
leaq 0x49343(%rip), %rsi     # 0x5495b
movq 0x538(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x538(%rsp), %rax
movsd (%rax), %xmm0
ucomisd 0x45a25(%rip), %xmm0    # 0x51060
jne 0xb643
jnp 0xafcb
leaq 0x493c3(%rip), %rdi     # 0x54a0d
jmp 0xb188
leaq 0xe6(%rsp), %rdi
leaq 0x492fd(%rip), %rsi     # 0x5495b
movq 0x540(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x538(%rsp), %rax
movsd (%rax), %xmm0
ucomisd 0x459df(%rip), %xmm0    # 0x51060
jne 0xb689
jnp 0xafcb
movq 0x540(%rsp), %rax
movsd (%rax), %xmm0
leaq 0x493a0(%rip), %rdi     # 0x54a3c
jmp 0xb188
leaq 0xea(%rsp), %rdi
movq %r14, %rsi
movq 0x570(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl $0x3, %edx
movq 0x570(%rsp), %rdi
leaq 0x45a88(%rip), %rsi     # 0x51157
callq 0x2070
testl %eax, %eax
jne 0xafcb
jmp 0xb23e
movl 0xe0(%rsp), %edx
movl $0x48545f53, %esi       # imm = 0x48545F53
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x52, %esi
orl %edx, %esi
je 0xb7b4
movl 0xe0(%rsp), %edx
movl $0x59545f53, %esi       # imm = 0x59545F53
xorl %esi, %edx
movzwl 0xe4(%rsp), %esi
xorl $0x4550, %esi           # imm = 0x4550
orl %edx, %esi
je 0xb7d0
movl 0xe0(%rsp), %edx
movl $0x49454e4f, %esi       # imm = 0x49454E4F
xorl %esi, %edx
movzwl 0xe4(%rsp), %esi
xorl $0x544e, %esi           # imm = 0x544E
orl %edx, %esi
je 0xb7ec
movabsq $0x5345525345525f4e, %rdx # imm = 0x5345525345525F4E
cmpq %rdx, %rcx
jne 0xb808
leaq 0xe9(%rsp), %rdi
leaq 0x51b7f(%rip), %rsi     # 0x5d2eb
movq 0x598(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movq 0x598(%rsp), %rax
movl (%rax), %esi
testl %esi, %esi
jg 0xafcb
leaq 0x492ef(%rip), %rdi     # 0x54a83
xorl %eax, %eax
callq 0x20f0
leaq 0x4a348(%rip), %rdi     # 0x55aea
callq 0x2090
movq 0x598(%rsp), %rax
jmp 0xb243
leaq 0xe6(%rsp), %rdi
leaq 0x4a4e9(%rip), %rsi     # 0x55cac
movq 0x588(%rsp), %rdx
jmp 0xafc4
leaq 0xe7(%rsp), %rdi
leaq 0x51b0c(%rip), %rsi     # 0x5d2eb
movq 0x580(%rsp), %rdx
jmp 0xafc4
leaq 0xe7(%rsp), %rdi
leaq 0x51af0(%rip), %rsi     # 0x5d2eb
movq 0x590(%rsp), %rdx
jmp 0xafc4
movl 0xe0(%rsp), %edx
movl $0x4f50, %esi           # imm = 0x4F50
xorl %esi, %edx
movzbl 0xe2(%rsp), %esi
xorl $0x57, %esi
orw %dx, %si
je 0xb90e
movq 0xe0(%rsp), %rdx
movabsq $0x535345485f505845, %rsi # imm = 0x535345485F505845
xorq %rsi, %rdx
movq 0xe3(%rsp), %rsi
movabsq $0x4e4149535345485f, %rdi # imm = 0x4E4149535345485F
xorq %rdi, %rsi
orq %rdx, %rsi
je 0xb929
movq 0xe0(%rsp), %rdx
movabsq $0x4e4f4d5241484e41, %rsi # imm = 0x4E4F4D5241484E41
xorq %rsi, %rdx
movzwl 0xe8(%rsp), %esi
xorq $0x4349, %rsi           # imm = 0x4349
orq %rdx, %rsi
je 0xb944
movl 0xe0(%rsp), %edx
movl $0x5050414b, %esi       # imm = 0x5050414B
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x41, %esi
orl %edx, %esi
je 0xb960
movl 0xe0(%rsp), %edx
movl $0x5f544946, %esi       # imm = 0x5F544946
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x42, %esi
orl %edx, %esi
je 0xb97c
movabsq $0x4e494d5f44534d52, %rdx # imm = 0x4E494D5F44534D52
cmpq %rdx, %rcx
je 0xb998
movabsq $0x5058455f44534d52, %rdx # imm = 0x5058455F44534D52
cmpq %rdx, %rcx
jne 0xb9b4
leaq 0xe9(%rsp), %rdi
leaq 0x4a3ab(%rip), %rsi     # 0x55cac
movq 0x5f0(%rsp), %rdx
jmp 0xafc4
leaq 0xe4(%rsp), %rdi
leaq 0x519ce(%rip), %rsi     # 0x5d2eb
leaq 0x5ccc8(%rip), %rdx     # 0x685ec
jmp 0xafc4
leaq 0xec(%rsp), %rdi
leaq 0x4a374(%rip), %rsi     # 0x55cac
leaq 0x5d72d(%rip), %rdx     # 0x6906c
jmp 0xafc4
leaq 0xeb(%rsp), %rdi
leaq 0x51998(%rip), %rsi     # 0x5d2eb
movq 0x690(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x4a33d(%rip), %rsi     # 0x55cac
movq 0x5e0(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x51960(%rip), %rsi     # 0x5d2eb
movq 0x5e8(%rsp), %rdx
jmp 0xafc4
leaq 0xe9(%rsp), %rdi
leaq 0x4a305(%rip), %rsi     # 0x55cac
movq 0x5f8(%rsp), %rdx
jmp 0xafc4
movdqa 0xe0(%rsp), %xmm0
pcmpeqb 0x456db(%rip), %xmm0    # 0x510a0
pmovmskb %xmm0, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0xba29
movq 0xe0(%rsp), %rcx
movabsq $0x72705f4244505f4e, %rdx # imm = 0x72705F4244505F4E
xorq %rdx, %rcx
movq 0xe3(%rsp), %rdx
movabsq $0x746e6972705f4244, %rsi # imm = 0x746E6972705F4244
xorq %rsi, %rdx
orq %rcx, %rdx
je 0xba45
cmpl $0x54554d4e, 0xe0(%rsp) # imm = 0x54554D4E
jne 0xba61
leaq 0xe5(%rsp), %rdi
leaq 0x518cf(%rip), %rsi     # 0x5d2eb
movq 0x600(%rsp), %rdx
jmp 0xafc4
leaq 0xf1(%rsp), %rdi
leaq 0x518b3(%rip), %rsi     # 0x5d2eb
movq 0x698(%rsp), %rdx
jmp 0xafc4
leaq 0xec(%rsp), %rdi
leaq 0x51897(%rip), %rsi     # 0x5d2eb
movq 0x6a0(%rsp), %rdx
jmp 0xafc4
movq 0xe0(%rsp), %rcx
movabsq $0x54554d5f44455250, %rdx # imm = 0x54554D5F44455250
cmpq %rdx, %rcx
jne 0xba94
leaq 0xe9(%rsp), %rdi
leaq 0x51864(%rip), %rsi     # 0x5d2eb
movq 0x608(%rsp), %rdx
jmp 0xafc4
movl 0xe0(%rsp), %edx
movl $0x5749, %esi           # imm = 0x5749
xorl %esi, %edx
movzbl 0xe2(%rsp), %esi
xorl $0x54, %esi
orw %dx, %si
je 0xbae8
movabsq $0x5248545f44534d52, %rdx # imm = 0x5248545F44534D52
cmpq %rdx, %rcx
je 0xbb2d
movabsq $0x415241505f54554d, %rdx # imm = 0x415241505F54554D
cmpq %rdx, %rcx
jne 0xbb49
leaq 0xe9(%rsp), %rdi
movq %r14, %rsi
movq 0x618(%rsp), %rdx
jmp 0xafc4
leaq 0xe4(%rsp), %rdi
leaq 0x517f4(%rip), %rsi     # 0x5d2eb
leaq 0xc(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movl 0xc(%rsp), %esi
movq 0x610(%rsp), %rax
cmpl $0x14, %esi
jb 0xbc21
movl (%rax), %edx
leaq 0x48fd0(%rip), %rdi     # 0x54af1
xorl %eax, %eax
callq 0x20f0
jmp 0xafcb
leaq 0xe9(%rsp), %rdi
leaq 0x4a170(%rip), %rsi     # 0x55cac
movq 0x628(%rsp), %rdx
jmp 0xafc4
movq 0xe0(%rsp), %rdx
movabsq $0x48545f4449514553, %rsi # imm = 0x48545F4449514553
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x52, %rsi
orq %rdx, %rsi
je 0xbc28
movl 0xe0(%rsp), %edx
movl $0x55424544, %esi       # imm = 0x55424544
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x47, %esi
orl %edx, %esi
je 0xbc44
movq 0xe0(%rsp), %rdx
movabsq $0x524f465f454c4946, %rsi # imm = 0x524F465F454C4946
xorq %rsi, %rdx
movzwl 0xe8(%rsp), %esi
xorq $0x4543, %rsi           # imm = 0x4543
orq %rdx, %rsi
je 0xbc5f
movl 0xe0(%rsp), %edx
movl $0x554d4953, %esi       # imm = 0x554D4953
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x4c, %esi
orl %edx, %esi
je 0xbc87
movabsq $0x4e494d5f50455453, %rdx # imm = 0x4E494D5F50455453
cmpq %rdx, %rcx
je 0xbc9e
movabsq $0x58414d5f50455453, %rdx # imm = 0x58414D5F50455453
cmpq %rdx, %rcx
jne 0xbcba
leaq 0xe9(%rsp), %rdi
leaq 0x4a095(%rip), %rsi     # 0x55cac
movq 0x78(%rsp), %rdx
jmp 0xafc4
movl %esi, (%rax)
jmp 0xafcb
leaq 0xea(%rsp), %rdi
leaq 0x4a075(%rip), %rsi     # 0x55cac
movq 0x630(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x51698(%rip), %rsi     # 0x5d2eb
leaq 0x6d792(%rip), %rdx     # 0x793ec
jmp 0xafc4
movl $0x190, %edi            # imm = 0x190
callq 0x21d0
movq 0x5d0(%rsp), %rcx
movq %rax, (%rcx)
leaq 0xeb(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x51655(%rip), %rsi     # 0x5d2eb
movq %r13, %rdx
jmp 0xafc4
leaq 0xe9(%rsp), %rdi
leaq 0x49fff(%rip), %rsi     # 0x55cac
movq 0x80(%rsp), %rdx
jmp 0xafc4
movl 0xe0(%rsp), %edx
movl $0x4554534e, %esi       # imm = 0x4554534E
xorl %esi, %edx
movzwl 0xe4(%rsp), %esi
xorl $0x5350, %esi           # imm = 0x5350
orl %edx, %esi
je 0xc091
movl 0xe0(%rsp), %edx
movl $0x4c474e41, %esi       # imm = 0x4C474E41
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x45, %esi
orl %edx, %esi
je 0xc0aa
movl 0xe0(%rsp), %edx
movl $0x4454554f, %esi       # imm = 0x4454554F
xorl %esi, %edx
movzwl 0xe4(%rsp), %esi
xorl $0x5249, %esi           # imm = 0x5249
orl %edx, %esi
je 0xc0c3
movl 0xe0(%rsp), %edx
movl $0x444f4d4e, %esi       # imm = 0x444F4D4E
xorl %esi, %edx
movzwl 0xe4(%rsp), %esi
xorl $0x5345, %esi           # imm = 0x5345
orl %edx, %esi
je 0xc0db
movq 0xe0(%rsp), %rdx
movabsq $0x44505f544e495250, %rsi # imm = 0x44505F544E495250
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x42, %rsi
orq %rdx, %rsi
je 0xc0f7
movq 0xe0(%rsp), %rdx
movabsq $0x48435f544e495250, %rsi # imm = 0x48435F544E495250
xorq %rsi, %rdx
movl 0xe8(%rsp), %esi
xorq $0x45474e41, %rsi       # imm = 0x45474E41
orq %rdx, %rsi
je 0xc113
movq 0xe0(%rsp), %rdx
movabsq $0x4f465f544e495250, %rsi # imm = 0x4F465F544E495250
xorq %rsi, %rdx
movq 0xe3(%rsp), %rsi
movabsq $0x4543524f465f544e, %rdi # imm = 0x4543524F465F544E
xorq %rdi, %rsi
orq %rdx, %rsi
je 0xc12f
movq 0xe0(%rsp), %rdx
movabsq $0x55535f544e495250, %rsi # imm = 0x55535F544E495250
xorq %rsi, %rdx
movzwl 0xe8(%rsp), %esi
xorq $0x4d4d, %rsi           # imm = 0x4D4D
orq %rdx, %rsi
je 0xc14b
movq 0xe0(%rsp), %rdx
movabsq $0x524554534f4c4c41, %rsi # imm = 0x524554534F4C4C41
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x59, %rsi
orq %rdx, %rsi
je 0xc167
movl 0xe0(%rsp), %edx
movl $0x45544953, %esi       # imm = 0x45544953
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x53, %esi
orl %edx, %esi
je 0xc183
movzwl 0xf0(%rsp), %edx
movd %edx, %xmm0
movdqa 0xe0(%rsp), %xmm1
pcmpeqb 0x4524b(%rip), %xmm1    # 0x510b0
pcmpeqb 0x45253(%rip), %xmm0    # 0x510c0
pand %xmm1, %xmm0
pmovmskb %xmm0, %edx
cmpl $0xffff, %edx           # imm = 0xFFFF
je 0xc19b
movzwl 0xf0(%rsp), %edx
movd %edx, %xmm0
movdqa 0xe0(%rsp), %xmm1
pcmpeqb 0x45232(%rip), %xmm1    # 0x510d0
pcmpeqb 0x4521a(%rip), %xmm0    # 0x510c0
pand %xmm1, %xmm0
pmovmskb %xmm0, %edx
cmpl $0xffff, %edx           # imm = 0xFFFF
je 0xc1b7
movzwl 0xf0(%rsp), %edx
movd %edx, %xmm0
movdqa 0xe0(%rsp), %xmm1
pcmpeqb 0x45209(%rip), %xmm1    # 0x510e0
pcmpeqb 0x451e1(%rip), %xmm0    # 0x510c0
pand %xmm1, %xmm0
pmovmskb %xmm0, %edx
cmpl $0xffff, %edx           # imm = 0xFFFF
je 0xc1d3
movd 0xf0(%rsp), %xmm0
pcmpeqb 0x451ec(%rip), %xmm0    # 0x510f0
movdqa 0xe0(%rsp), %xmm1
pcmpeqb 0x451eb(%rip), %xmm1    # 0x51100
pand %xmm0, %xmm1
pmovmskb %xmm1, %edx
cmpl $0xffff, %edx           # imm = 0xFFFF
je 0xc1ef
movq 0xe0(%rsp), %rdx
movabsq $0x49535f544e495250, %rsi # imm = 0x49535F544E495250
xorq %rsi, %rdx
movq 0xe7(%rsp), %rsi
movabsq $0x4a49445f414d4749, %rdi # imm = 0x4A49445F414D4749
xorq %rdi, %rsi
orq %rdx, %rsi
je 0xc20b
movq 0xe0(%rsp), %rdx
movabsq $0x4f435f544e495250, %rsi # imm = 0x4F435F544E495250
xorq %rsi, %rdx
movq 0xe6(%rsp), %rsi
movabsq $0x54414d5f544e4f43, %rdi # imm = 0x54414D5F544E4F43
xorq %rdi, %rsi
orq %rdx, %rsi
je 0xc227
movq 0xe0(%rsp), %rdx
movabsq $0x5059545f464f5250, %rsi # imm = 0x5059545F464F5250
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x45, %rsi
orq %rdx, %rsi
je 0xc243
movq 0xe0(%rsp), %rdx
movabsq $0x524941505f4c4c41, %rsi # imm = 0x524941505F4C4C41
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x53, %rsi
orq %rdx, %rsi
je 0xc286
movl 0xe0(%rsp), %edx
movl $0x4d474953, %esi       # imm = 0x4D474953
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x41, %esi
orl %edx, %esi
je 0xc2a2
movl 0xe0(%rsp), %edx
movl $0x41525453, %esi       # imm = 0x41525453
xorl %esi, %edx
movzwl 0xe4(%rsp), %esi
xorl $0x4e49, %esi           # imm = 0x4E49
orl %edx, %esi
je 0xc2ca
movq 0xe0(%rsp), %rdx
movabsq $0x445554494c504d41, %rsi # imm = 0x445554494C504D41
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x45, %rsi
orq %rdx, %rsi
je 0xc2e6
movabsq $0x58414d5f4c504d41, %rdx # imm = 0x58414D5F4C504D41
cmpq %rdx, %rcx
je 0xc2ff
movabsq $0x4e494d5f4c504d41, %rdx # imm = 0x4E494D5F4C504D41
cmpq %rdx, %rcx
jne 0xc318
leaq 0xe9(%rsp), %rdi
leaq 0x49c25(%rip), %rsi     # 0x55cac
movq 0x68(%rsp), %rdx
jmp 0xafc4
leaq 0xe7(%rsp), %rdi
leaq 0x5124b(%rip), %rsi     # 0x5d2eb
movq 0x30(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x49bf3(%rip), %rsi     # 0x55cac
movq 0x38(%rsp), %rdx
jmp 0xafc4
leaq 0xe7(%rsp), %rdi
movq %r14, %rsi
movq 0x5a8(%rsp), %rdx
jmp 0xafc4
leaq 0xe7(%rsp), %rdi
leaq 0x51201(%rip), %rsi     # 0x5d2eb
movq 0x5a0(%rsp), %rdx
jmp 0xafc4
leaq 0xea(%rsp), %rdi
leaq 0x511e5(%rip), %rsi     # 0x5d2eb
movq 0x5c0(%rsp), %rdx
jmp 0xafc4
leaq 0xed(%rsp), %rdi
leaq 0x511c9(%rip), %rsi     # 0x5d2eb
movq 0x5b0(%rsp), %rdx
jmp 0xafc4
leaq 0xec(%rsp), %rdi
leaq 0x511ad(%rip), %rsi     # 0x5d2eb
movq 0x5b8(%rsp), %rdx
jmp 0xafc4
leaq 0xeb(%rsp), %rdi
leaq 0x51191(%rip), %rsi     # 0x5d2eb
movq 0x5c8(%rsp), %rdx
jmp 0xafc4
leaq 0xea(%rsp), %rdi
leaq 0x51175(%rip), %rsi     # 0x5d2eb
movq 0x5d8(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
movq %r14, %rsi
movq 0x680(%rsp), %rdx
jmp 0xafc4
leaq 0xf3(%rsp), %rdi
leaq 0x51141(%rip), %rsi     # 0x5d2eb
movq 0x638(%rsp), %rdx
jmp 0xafc4
leaq 0xf3(%rsp), %rdi
leaq 0x51125(%rip), %rsi     # 0x5d2eb
movq 0x640(%rsp), %rdx
jmp 0xafc4
leaq 0xf3(%rsp), %rdi
leaq 0x51109(%rip), %rsi     # 0x5d2eb
movq 0x648(%rsp), %rdx
jmp 0xafc4
leaq 0xf5(%rsp), %rdi
leaq 0x510ed(%rip), %rsi     # 0x5d2eb
movq 0x650(%rsp), %rdx
jmp 0xafc4
leaq 0xf0(%rsp), %rdi
leaq 0x510d1(%rip), %rsi     # 0x5d2eb
movq 0x658(%rsp), %rdx
jmp 0xafc4
leaq 0xef(%rsp), %rdi
leaq 0x510b5(%rip), %rsi     # 0x5d2eb
movq 0x688(%rsp), %rdx
jmp 0xafc4
leaq 0xea(%rsp), %rdi
movq %r14, %rsi
leaq 0x90(%rsp), %rdx
xorl %eax, %eax
callq 0x21f0
movzbl 0x90(%rsp), %eax
leal -0x41(%rax), %ecx
cmpl $0xf, %ecx
ja 0xc2be
movl $0x8005, %edx           # imm = 0x8005
btl %ecx, %edx
jae 0xc2be
movq 0x660(%rsp), %rcx
movb %al, (%rcx)
jmp 0xafcb
leaq 0xea(%rsp), %rdi
leaq 0x51056(%rip), %rsi     # 0x5d2eb
movq 0x668(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x499fb(%rip), %rsi     # 0x55cac
movq 0x670(%rsp), %rdx
jmp 0xafc4
leaq 0x4894c(%rip), %rdi     # 0x54c11
jmp 0xb296
leaq 0xe7(%rsp), %rdi
leaq 0x51012(%rip), %rsi     # 0x5d2eb
movq 0x678(%rsp), %rdx
jmp 0xafc4
leaq 0xea(%rsp), %rdi
leaq 0x499b7(%rip), %rsi     # 0x55cac
movq 0x40(%rsp), %rdx
jmp 0xafc4
leaq 0xe9(%rsp), %rdi
leaq 0x4999e(%rip), %rsi     # 0x55cac
movq 0x70(%rsp), %rdx
jmp 0xafc4
movq 0xe0(%rsp), %rdx
movabsq $0x4341465f4c504d41, %rsi # imm = 0x4341465F4C504D41
xorq %rsi, %rdx
movzbl 0xe8(%rsp), %esi
xorq $0x54, %rsi
orq %rdx, %rsi
je 0xc3a0
movl 0xe0(%rsp), %edx
movl $0x48545f45, %esi       # imm = 0x48545F45
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x52, %esi
orl %edx, %esi
je 0xc3b9
movl 0xe0(%rsp), %edx
movl $0x45525f44, %esi       # imm = 0x45525F44
xorl %esi, %edx
movzbl 0xe4(%rsp), %esi
xorl $0x50, %esi
orl %edx, %esi
je 0xc3d2
movabsq $0x504554535f424450, %rdx # imm = 0x504554535F424450
cmpq %rdx, %rcx
jne 0xc3eb
leaq 0xe9(%rsp), %rdi
leaq 0x49916(%rip), %rsi     # 0x55cac
movq 0x60(%rsp), %rdx
jmp 0xafc4
leaq 0xea(%rsp), %rdi
leaq 0x498fd(%rip), %rsi     # 0x55cac
movq 0x48(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x498e4(%rip), %rsi     # 0x55cac
movq 0x50(%rsp), %rdx
jmp 0xafc4
leaq 0xe6(%rsp), %rdi
leaq 0x498cb(%rip), %rsi     # 0x55cac
movq 0x58(%rsp), %rdx
jmp 0xafc4
movl 0xe0(%rsp), %ecx
movl $0x444c4f46, %edx       # imm = 0x444C4F46
xorl %edx, %ecx
movl 0xe3(%rsp), %edx
movl $0x474e4944, %esi       # imm = 0x474E4944
xorl %esi, %edx
orl %ecx, %edx
je 0xc460
movq 0xe0(%rsp), %rcx
movabsq $0x4e49444c4f464e55, %rdx # imm = 0x4E49444C4F464E55
xorq %rdx, %rcx
movzbl 0xe8(%rsp), %edx
xorq $0x47, %rdx
orq %rcx, %rdx
je 0xc47c
movl 0xe0(%rsp), %ecx
movl $0x444e4942, %edx       # imm = 0x444E4942
xorl %edx, %ecx
movl 0xe3(%rsp), %edx
xorl %esi, %edx
orl %ecx, %edx
je 0xc498
cmpb $0xa, %al
je 0xafcb
leaq 0x48894(%rip), %rdi     # 0x54cef
jmp 0xc583
leaq 0xe8(%rsp), %rdi
leaq 0x50e7c(%rip), %rsi     # 0x5d2eb
movq 0x6a8(%rsp), %rdx
jmp 0xafc4
leaq 0xea(%rsp), %rdi
leaq 0x50e60(%rip), %rsi     # 0x5d2eb
movq 0x6b8(%rsp), %rdx
jmp 0xafc4
movq 0x6c0(%rsp), %rax
movl $0x0, (%rax)
leaq 0xe8(%rsp), %rax
movzbl (%rax), %ecx
cmpl $0x20, %ecx
je 0xc4d8
cmpl $0xa, %ecx
je 0xc4dd
cmpl $0x21, %ecx
je 0xc4dd
movq 0x6c0(%rsp), %rdi
movslq (%rdi), %rdx
movq 0x6c8(%rsp), %rsi
movb %cl, (%rsi,%rdx)
incl (%rdi)
incq %rax
jmp 0xc4ae
movq 0x6c0(%rsp), %rax
movl (%rax), %esi
leal -0x1(%rsi), %eax
cmpl $0x62, %eax
ja 0xc56e
movq 0x6b0(%rsp), %rax
movl $0x1, (%rax)
movq 0x6c0(%rsp), %rax
movslq (%rax), %rax
movq 0x6c8(%rsp), %rcx
movb $0x0, (%rcx,%rax)
leaq 0x48768(%rip), %rdi     # 0x54c83
xorl %eax, %eax
callq 0x20f0
movq 0x6c0(%rsp), %rax
cmpl $0x0, (%rax)
jle 0xc562
xorl %ecx, %ecx
movq 0x6c8(%rsp), %rax
movq %rcx, 0x28(%rsp)
movsbl (%rax,%rcx), %edi
callq 0x2060
movq 0x28(%rsp), %rdx
incq %rdx
movq 0x6c0(%rsp), %rax
movslq (%rax), %rax
movq %rdx, %rcx
cmpq %rax, %rdx
jl 0xc531
leaq 0x4956b(%rip), %rdi     # 0x55ad4
jmp 0xb3f0
leaq 0x4873c(%rip), %rdi     # 0x54cb1
xorl %eax, %eax
callq 0x20f0
leaq 0x4875c(%rip), %rdi     # 0x54cdf
movq %r12, %rsi
jmp 0xb29e
movq %rbx, %rdi
callq 0x20c0
movq 0x538(%rsp), %rcx
movsd (%rcx), %xmm1
pxor %xmm0, %xmm0
ucomisd %xmm0, %xmm1
movq 0x530(%rsp), %rdx
jne 0xc5c3
jp 0xc5c3
movsd (%rdx), %xmm1
ucomisd %xmm0, %xmm1
jne 0xc5bf
jnp 0xc5c3
movsd %xmm1, (%rcx)
movsd (%rdx), %xmm1
ucomisd %xmm0, %xmm1
movq 0x580(%rsp), %rbx
movq 0x540(%rsp), %rax
jne 0xc5f3
jp 0xc5f3
movsd (%rcx), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0xc5ef
jnp 0xc5f3
movsd %xmm0, (%rdx)
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
jne 0xc613
jp 0xc613
movsd (%rcx), %xmm1
ucomisd %xmm0, %xmm1
jne 0xc60f
jnp 0xc613
movsd %xmm1, (%rax)
movl (%rbx), %esi
cmpl $0x3, %esi
jb 0xc63e
leaq 0x486ed(%rip), %rdi     # 0x54d0e
xorl %eax, %eax
callq 0x20f0
movl $0x0, (%rbx)
leaq 0x4870a(%rip), %rdi     # 0x54d3f
xorl %esi, %esi
xorl %eax, %eax
callq 0x20f0
leaq 0x44e20(%rip), %rsi     # 0x51465
movl $0x3, %edx
movq 0x570(%rsp), %rdi
callq 0x2070
testl %eax, %eax
je 0xc689
movl $0x1, %ebx
jmp 0xc675
leaq 0x48217(%rip), %rdi     # 0x54880
xorl %ebx, %ebx
movq %r14, %rsi
xorl %eax, %eax
callq 0x20f0
movl %ebx, %eax
addq $0x4c8, %rsp            # imm = 0x4C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl (%rbx), %esi
cmpl $0x2, %esi
je 0xc6eb
cmpl $0x1, %esi
je 0xc6c4
testl %esi, %esi
jne 0xc65b
movq 0x588(%rsp), %rax
movss (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomiss %xmm0, %xmm1
ja 0xc6b7
ucomiss 0x4495b(%rip), %xmm0    # 0x51010
jbe 0xc65b
cvtss2sd %xmm0, %xmm0
leaq 0x486b0(%rip), %rdi     # 0x54d72
jmp 0xc714
movq 0x588(%rsp), %rax
movss (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomiss %xmm0, %xmm1
jbe 0xc65b
cvtss2sd %xmm0, %xmm0
leaq 0x4868e(%rip), %rdi     # 0x54d72
movl $0x1, %esi
jmp 0xc714
movq 0x588(%rsp), %rax
movss (%rax), %xmm0
xorpd %xmm1, %xmm1
ucomiss %xmm0, %xmm1
jbe 0xc65b
cvtss2sd %xmm0, %xmm0
leaq 0x48663(%rip), %rdi     # 0x54d72
movl $0x2, %esi
movb $0x1, %al
callq 0x20f0
movl $0x8, %edi
callq 0x2270