// File: /workspace/github_c_makefile_star2_O0/josch[P]stride/stride.c
// Function: ProcessStrideOptions
void ProcessStrideOptions(char **List, int ListLength, COMMAND *Cmd)
{
  
  int i, InpFile = 0;
  char OPTION;
  BOOLEAN Password = NO;

  if( Uniq(List,ListLength) == 0 ) { 
    fprintf(stderr,"All options must be unique\n"); 
    PrintStrideHelp(Cmd); 
  }
 
  DefaultCmd(Cmd);

  Password = Specified(List,ListLength,'$');

  for( i=1; i<ListLength; i++ ) {
    if( *List[i] == '-' ) {
      
      OPTION = toupper((*(List[i]+1)));

      /*********************** Process public options ************************/
      if(OPTION == 'M') {
	strcpy(Cmd->MolScriptFile,List[i]+2); 
	Cmd->MolScript = YES;
      }
      else if( OPTION == 'O' ) Cmd->ReportSummaryOnly = YES;
      else if( OPTION == 'H' ) Cmd->ReportBonds = YES;
      else if( OPTION == 'R' ) strcpy(Cmd->Active,List[i]+2);
      else if( OPTION == 'C' ) strcpy(Cmd->Processed,List[i]+2);
      else if( OPTION == 'F' ) strcpy(Cmd->OutFile,List[i]+2);
      else if( OPTION == 'Q' ) {
	strcpy(Cmd->SeqFile,List[i]+2);
	Cmd->OutSeq = YES;
      }
      /*********************** Process private options ************************/
      else if( OPTION == 'I' && Password ) Cmd->Info = YES;
      else if( OPTION == 'Z' && Password ) Cmd->Measure = YES;
      else if( OPTION == 'K' && Password ) Cmd->ContactOrder = YES;
      else if( OPTION == 'W' && Password ) Cmd->ContactMap = YES;
      else if( OPTION == 'X' && Password ) strcpy(Cmd->FirstResidue,List[i]+2);
      else if( OPTION == 'Y' && Password ) strcpy(Cmd->LastResidue,List[i]+2);
      else if( OPTION == 'D' && Password ) {
	strcpy(Cmd->DsspFile,List[i]+2);
	Cmd->DsspAsn = YES;
      }
      else if( OPTION == 'B' && Password ) Cmd->BrookhavenAsn = YES;
      else
      if(OPTION == 'P'&& Password ) {
	if( toupper(*(List[i]+2)) == 'H' ) 
	  strcpy(Cmd->MapFileHelix,List[i]+3); 
	else
	if( toupper(*(List[i]+2)) == 'E' ) 
	  strcpy(Cmd->MapFileSheet,List[i]+3); 
	else
	  PrintStrideHelp(Cmd);
      }
      else
      if( OPTION == 'T' && Password ) {
	if( toupper(*(List[i]+2)) == 'H' ) {
	  if( toupper(*(List[i]+3)) == 'A' )
	    Cmd->Treshold_H1 = atof(List[i]+4);
	  else
	  if( toupper(*(List[i]+3)) == 'C' ) 
	    Cmd->Treshold_H3 = atof(List[i]+4);
	  else
	  if( toupper(*(List[i]+3)) == 'D' ) 
	    Cmd->Treshold_H4 = atof(List[i]+4);
	  else
	    PrintStrideHelp(Cmd);
	}
	else
	if( toupper(*(List[i]+2)) == 'E' ) {
	  if( toupper(*(List[i]+3)) == 'A' ) 
	    Cmd->Treshold_E1 = atof(List[i]+4);
	  else
	  if( toupper(*(List[i]+3)) == 'B' ) 
	    Cmd->Treshold_E2 = atof(List[i]+4);
	  else
	  if( toupper(*(List[i]+3)) == 'C' ) 
	    Cmd->Treshold_E3 = atof(List[i]+4);
	  else
	  if( toupper(*(List[i]+3)) == 'D' ) 
	    Cmd->Treshold_E4 = atof(List[i]+4);
	  else
	    PrintStrideHelp(Cmd);
	}
      }
      else if( OPTION == 'S' && Password ) {
	Cmd->Stringent = YES;
	if( (int)strlen(List[i]+2) > MAXCONDITIONS-1 )
	  PrintStrideHelp(Cmd);	
	strcpy(Cmd->Cond,List[i]+2);
      }
      else if( OPTION == 'L' && Password ) {
	if( toupper(*(List[i]+2)) == 'L' ) Cmd->MaxLength = atoi(List[i]+3);
	if( toupper(*(List[i]+2)) == 'G' ) Cmd->MinLength = atoi(List[i]+3);
      }
      else if( OPTION == 'U' && Password ) {
	if( toupper(*(List[i]+2)) == 'L' ) Cmd->MaxResolution = atof(List[i]+3);
	if( toupper(*(List[i]+2)) == 'G' ) Cmd->MinResolution = atof(List[i]+3);
      }
      else
	if( OPTION != '$' )
	  PrintStrideHelp(Cmd);
    }
    else {
      strcpy(Cmd->InputFile,List[i]);
      InpFile++;
    }
  }

  if( InpFile > 1 ) {
    fprintf(stderr,"\nOnly one input file is allowed\n");
    PrintStrideHelp(Cmd); 
  }
  else
  if( !InpFile ) {
    fprintf(stderr,"\nYou must specify input file \n");
    PrintStrideHelp(Cmd); 
  }

  Cmd->NActive = (int)strlen(Cmd->Active);
  Cmd->NProcessed = (int)strlen(Cmd->Processed);

  if( Cmd->Measure ) {
    Cmd->BrookhavenAsn = YES;
    Cmd->DsspAsn = YES;
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movl %esi, 0x1c(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x8(%rsp)
movl $0x0, (%rsp)
movq 0x20(%rsp), %rdi
movl 0x1c(%rsp), %esi
callq 0xc0f0
cmpl $0x0, %eax
jne 0x2816
movq 0x2d7fd(%rip), %rax     # 0x2fff8
movq (%rax), %rdi
leaq 0x2887f(%rip), %rsi     # 0x2b084
movb $0x0, %al
callq 0x2140
movq 0x10(%rsp), %rdi
callq 0x3150
movq 0x10(%rsp), %rdi
callq 0x34c0
movq 0x20(%rsp), %rdi
movl 0x1c(%rsp), %esi
movl $0x24, %edx
callq 0xc1c0
movl %eax, (%rsp)
movl $0x1, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x1c(%rsp), %eax
jge 0x3081
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x304c
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x1(%rax), %edi
callq 0x2070
movb %al, 0x7(%rsp)
movsbl 0x7(%rsp), %eax
cmpl $0x4d, %eax
jne 0x28c2
movq 0x10(%rsp), %rdi
addq $0x1405, %rdi           # imm = 0x1405
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
movq 0x10(%rsp), %rax
movl $0x1, 0x1d7c(%rax)
jmp 0x304a
movsbl 0x7(%rsp), %eax
cmpl $0x4f, %eax
jne 0x28e0
movq 0x10(%rsp), %rax
movl $0x1, 0x1d6c(%rax)
jmp 0x3048
movsbl 0x7(%rsp), %eax
cmpl $0x48, %eax
jne 0x28fe
movq 0x10(%rsp), %rax
movl $0x1, 0x1d70(%rax)
jmp 0x3046
movsbl 0x7(%rsp), %eax
cmpl $0x52, %eax
jne 0x2930
movq 0x10(%rsp), %rdi
addq $0x1c08, %rdi           # imm = 0x1C08
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
jmp 0x3044
movsbl 0x7(%rsp), %eax
cmpl $0x43, %eax
jne 0x2962
movq 0x10(%rsp), %rdi
addq $0x1c6d, %rdi           # imm = 0x1C6D
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
jmp 0x3042
movsbl 0x7(%rsp), %eax
cmpl $0x46, %eax
jne 0x2994
movq 0x10(%rsp), %rdi
addq $0x401, %rdi            # imm = 0x401
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
jmp 0x3040
movsbl 0x7(%rsp), %eax
cmpl $0x51, %eax
jne 0x29d5
movq 0x10(%rsp), %rdi
addq $0x802, %rdi            # imm = 0x802
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
movq 0x10(%rsp), %rax
movl $0x1, 0x1d80(%rax)
jmp 0x303e
movsbl 0x7(%rsp), %eax
cmpl $0x49, %eax
jne 0x29f9
cmpl $0x0, (%rsp)
je 0x29f9
movq 0x10(%rsp), %rax
movl $0x1, 0x1d60(%rax)
jmp 0x303c
movsbl 0x7(%rsp), %eax
cmpl $0x5a, %eax
jne 0x2a1d
cmpl $0x0, (%rsp)
je 0x2a1d
movq 0x10(%rsp), %rax
movl $0x1, 0x1d88(%rax)
jmp 0x303a
movsbl 0x7(%rsp), %eax
cmpl $0x4b, %eax
jne 0x2a41
cmpl $0x0, (%rsp)
je 0x2a41
movq 0x10(%rsp), %rax
movl $0x1, 0x1d8c(%rax)
jmp 0x3038
movsbl 0x7(%rsp), %eax
cmpl $0x57, %eax
jne 0x2a65
cmpl $0x0, (%rsp)
je 0x2a65
movq 0x10(%rsp), %rax
movl $0x1, 0x1d90(%rax)
jmp 0x3036
movsbl 0x7(%rsp), %eax
cmpl $0x58, %eax
jne 0x2a9d
cmpl $0x0, (%rsp)
je 0x2a9d
movq 0x10(%rsp), %rdi
addq $0x1ce6, %rdi           # imm = 0x1CE6
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
jmp 0x3034
movsbl 0x7(%rsp), %eax
cmpl $0x59, %eax
jne 0x2ad5
cmpl $0x0, (%rsp)
je 0x2ad5
movq 0x10(%rsp), %rdi
addq $0x1cec, %rdi           # imm = 0x1CEC
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
jmp 0x3032
movsbl 0x7(%rsp), %eax
cmpl $0x44, %eax
jne 0x2b1c
cmpl $0x0, (%rsp)
je 0x2b1c
movq 0x10(%rsp), %rdi
addq $0x1806, %rdi           # imm = 0x1806
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
movq 0x10(%rsp), %rax
movl $0x1, 0x1d78(%rax)
jmp 0x3030
movsbl 0x7(%rsp), %eax
cmpl $0x42, %eax
jne 0x2b40
cmpl $0x0, (%rsp)
je 0x2b40
movq 0x10(%rsp), %rax
movl $0x1, 0x1d74(%rax)
jmp 0x302e
movsbl 0x7(%rsp), %eax
cmpl $0x50, %eax
jne 0x2beb
cmpl $0x0, (%rsp)
je 0x2beb
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x48, %eax
jne 0x2b99
movq 0x10(%rsp), %rdi
addq $0xc03, %rdi            # imm = 0xC03
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x3, %rsi
callq 0x2060
jmp 0x2be6
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x45, %eax
jne 0x2bda
movq 0x10(%rsp), %rdi
addq $0x1004, %rdi           # imm = 0x1004
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x3, %rsi
callq 0x2060
jmp 0x2be4
movq 0x10(%rsp), %rdi
callq 0x3150
jmp 0x2be6
jmp 0x302c
movsbl 0x7(%rsp), %eax
cmpl $0x54, %eax
jne 0x2e62
cmpl $0x0, (%rsp)
je 0x2e62
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x48, %eax
jne 0x2d0b
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x41, %eax
jne 0x2c6c
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d10(%rax)
jmp 0x2d06
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x43, %eax
jne 0x2cb2
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d18(%rax)
jmp 0x2d04
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x44, %eax
jne 0x2cf8
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d1c(%rax)
jmp 0x2d02
movq 0x10(%rsp), %rdi
callq 0x3150
jmp 0x2d04
jmp 0x2d06
jmp 0x2e5d
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x45, %eax
jne 0x2e5b
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x41, %eax
jne 0x2d74
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d20(%rax)
jmp 0x2e59
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x42, %eax
jne 0x2dbd
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d24(%rax)
jmp 0x2e57
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x43, %eax
jne 0x2e03
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d28(%rax)
jmp 0x2e55
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x3(%rax), %edi
callq 0x2070
cmpl $0x44, %eax
jne 0x2e49
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x4, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d2c(%rax)
jmp 0x2e53
movq 0x10(%rsp), %rdi
callq 0x3150
jmp 0x2e55
jmp 0x2e57
jmp 0x2e59
jmp 0x2e5b
jmp 0x2e5d
jmp 0x302a
movsbl 0x7(%rsp), %eax
cmpl $0x53, %eax
jne 0x2ecf
cmpl $0x0, (%rsp)
je 0x2ecf
movq 0x10(%rsp), %rax
movl $0x1, 0x1d84(%rax)
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x2, %rdi
callq 0x20b0
cmpl $0x13, %eax
jle 0x2ea7
movq 0x10(%rsp), %rdi
callq 0x3150
movq 0x10(%rsp), %rdi
addq $0x1cd2, %rdi           # imm = 0x1CD2
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
addq $0x2, %rsi
callq 0x2060
jmp 0x3028
movsbl 0x7(%rsp), %eax
cmpl $0x4c, %eax
jne 0x2f6c
cmpl $0x0, (%rsp)
je 0x2f6c
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x4c, %eax
jne 0x2f27
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x3, %rdi
callq 0x21d0
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x1d04(%rax)
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x47, %eax
jne 0x2f67
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x3, %rdi
callq 0x21d0
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x1d00(%rax)
jmp 0x3026
movsbl 0x7(%rsp), %eax
cmpl $0x55, %eax
jne 0x300e
cmpl $0x0, (%rsp)
je 0x300e
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x4c, %eax
jne 0x2fc8
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x3, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d34(%rax)
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movsbl 0x2(%rax), %edi
callq 0x2070
cmpl $0x47, %eax
jne 0x300c
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
addq $0x3, %rdi
callq 0x2080
cvtsd2ss %xmm0, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x1d30(%rax)
jmp 0x3024
movsbl 0x7(%rsp), %eax
cmpl $0x24, %eax
je 0x3022
movq 0x10(%rsp), %rdi
callq 0x3150
jmp 0x3024
jmp 0x3026
jmp 0x3028
jmp 0x302a
jmp 0x302c
jmp 0x302e
jmp 0x3030
jmp 0x3032
jmp 0x3034
jmp 0x3036
jmp 0x3038
jmp 0x303a
jmp 0x303c
jmp 0x303e
jmp 0x3040
jmp 0x3042
jmp 0x3044
jmp 0x3046
jmp 0x3048
jmp 0x304a
jmp 0x306f
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rax
movslq 0xc(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x2060
movl 0x8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8(%rsp)
jmp 0x3071
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x283e
cmpl $0x1, 0x8(%rsp)
jle 0x30ac
movq 0x2cf69(%rip), %rax     # 0x2fff8
movq (%rax), %rdi
leaq 0x28007(%rip), %rsi     # 0x2b0a0
movb $0x0, %al
callq 0x2140
movq 0x10(%rsp), %rdi
callq 0x3150
jmp 0x30d7
cmpl $0x0, 0x8(%rsp)
jne 0x30d5
movq 0x2cf3e(%rip), %rax     # 0x2fff8
movq (%rax), %rdi
leaq 0x27ffd(%rip), %rsi     # 0x2b0c1
movb $0x0, %al
callq 0x2140
movq 0x10(%rsp), %rdi
callq 0x3150
jmp 0x30d7
movq 0x10(%rsp), %rdi
addq $0x1c08, %rdi           # imm = 0x1C08
callq 0x20b0
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x1cf8(%rax)
movq 0x10(%rsp), %rdi
addq $0x1c6d, %rdi           # imm = 0x1C6D
callq 0x20b0
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0x1cfc(%rax)
movq 0x10(%rsp), %rax
cmpl $0x0, 0x1d88(%rax)
je 0x313f
movq 0x10(%rsp), %rax
movl $0x1, 0x1d74(%rax)
movq 0x10(%rsp), %rax
movl $0x1, 0x1d78(%rax)
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)