GetConditionToken

UINT8 __stdcall GetConditionToken(WCHAR *Condition, UINT64 *MoveBy){
  WCHAR v2; 
  UINT8 v4; 
  unsigned int OperatorIndexByName; 
  wchar_t *v6; 
  __int64 v7; 

  v2 = *Condition;
  *(_DWORD *)MoveBy = 0;
  v4 = 0;
  switch( v2 )
  {
    case '(':
      v4 = -2;
LABEL_7:
      *(_DWORD *)MoveBy = 1;
      return v4;
    case '{':
      goto LABEL_7;
    case ')':
      v4 = -1;
      goto LABEL_7;
    case '}':
      goto LABEL_7;
  }
  OperatorIndexByName = GetOperatorIndexByName(Condition);
  if( OperatorIndexByName != -1 )
  {
    v4 = *((_BYTE *)&Operators + 24 * OperatorIndexByName + 8);
    v6 = (&Operators)[3 * OperatorIndexByName];
    v7 = -1i64;
    do
      ++v7;
    while( v6[v7] );
    *(_DWORD *)MoveBy = v7;
  }
  return v4;
}

Referenced by:

LocalGetConditionForString