/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */

#ifdef JCGO_SEPARATED
#define JCGO_116
#include "jcgortl.h"
#include "Main.h"
#endif

#ifdef JCGO_116

#ifdef CHKALL_ChatMessage
#include "jcgobchk.h"
#endif

JCGO_NOSEP_STATIC java_lang_String CFASTCALL
package_ChatMessage__descramble__BAII( jbyteArr buff, jint off, jint
 len )
{
 JCGO_CLINIT_TRIG(package_ChatMessage__class);
 {
  {
   JCGO_TRY_BLOCK
   {
    jint newLen;
    jint l;
    jboolean flag;
    newLen= 0;
    l= (-(jint)1);
    {
     jint idx;
     idx= 0;
     for (; idx < len; idx++)
     {
      jint current;
      jint k1;
      current= (jint)((unsigned char)(jcgo_jbyteArrAccess(buff, off++)[0]));
      k1= JCGO_SHR_F(current, (jint)4) & (jint)15;
      if (l == (-(jint)1))
      {
       if (k1 < (jint)13)
       {
        jObject jcgo_rcvrL1;
        jint jcgo_rcvrI1;
        jchar jcgo_rcvrC1;
        (jcgo_rcvrL1= (jObject)package_ChatMessage__chars, jcgo_rcvrI1=
         newLen++, jcgo_rcvrC1= jcgo_jcharArrAccess(package_ChatMessage__charmap,
         k1)[0], jcgo_jcharArrAccess((jcharArr)jcgo_rcvrL1, jcgo_rcvrI1)[0]=
         jcgo_rcvrC1);
       }
       else
       {
        l= k1;
       }
      }
      else
      {
       jObject jcgo_rcvrL1;
       jint jcgo_rcvrI1;
       jchar jcgo_rcvrC1;
       (jcgo_rcvrL1= (jObject)package_ChatMessage__chars, jcgo_rcvrI1=
        newLen++, jcgo_rcvrC1= jcgo_jcharArrAccess(package_ChatMessage__charmap,
        (JCGO_SHL_F(l, (jint)4) + k1) - (jint)195)[0], jcgo_jcharArrAccess((jcharArr)jcgo_rcvrL1,
        jcgo_rcvrI1)[0]= jcgo_rcvrC1);
       l= (-(jint)1);
      }
      k1= current & (jint)15;
      if (l == (-(jint)1))
      {
       if (k1 < (jint)13)
       {
        jObject jcgo_rcvrL1;
        jint jcgo_rcvrI1;
        jchar jcgo_rcvrC1;
        (jcgo_rcvrL1= (jObject)package_ChatMessage__chars, jcgo_rcvrI1=
         newLen++, jcgo_rcvrC1= jcgo_jcharArrAccess(package_ChatMessage__charmap,
         k1)[0], jcgo_jcharArrAccess((jcharArr)jcgo_rcvrL1, jcgo_rcvrI1)[0]=
         jcgo_rcvrC1);
       }
       else
       {
        l= k1;
       }
      }
      else
      {
       jObject jcgo_rcvrL1;
       jint jcgo_rcvrI1;
       jchar jcgo_rcvrC1;
       (jcgo_rcvrL1= (jObject)package_ChatMessage__chars, jcgo_rcvrI1=
        newLen++, jcgo_rcvrC1= jcgo_jcharArrAccess(package_ChatMessage__charmap,
        (JCGO_SHL_F(l, (jint)4) + k1) - (jint)195)[0], jcgo_jcharArrAccess((jcharArr)jcgo_rcvrL1,
        jcgo_rcvrI1)[0]= jcgo_rcvrC1);
       l= (-(jint)1);
      }
     }
    }
    flag= jtrue;
    {
     jint l1;
     l1= 0;
     for (; l1 < newLen; l1++)
     {
      jchar c;
      c= jcgo_jcharArrAccess(package_ChatMessage__chars, l1)[0];
      if (l1 > (jint)4 && c == (jchar)64/*'@'*/)
      {
       jcgo_jcharArrAccess(package_ChatMessage__chars, l1)[0]= (jchar)32/*' '*/;
      }
      if (c == (jchar)37/*'%'*/)
      {
       jcgo_jcharArrAccess(package_ChatMessage__chars, l1)[0]= (jchar)32/*' '*/;
      }
      if (flag && c >= (jchar)97/*'a'*/ && c <= (jchar)122/*'z'*/)
      {
       jcgo_jcharArrAccess(package_ChatMessage__chars, l1)[0]+= (jchar)0xffe0;
       flag= (jboolean)jfalse;
      }
      if (c == (jchar)46/*'.'*/ || c == (jchar)33/*'!'*/)
      {
       flag= (jboolean)jtrue;
      }
     }
    }
    {
     java_lang_String jcgo_retval= (java_lang_String__new__CAII(
      package_ChatMessage__chars, 0, newLen));
#ifndef JCGO_SEHTRY
     jcgo_tryLeave();
#endif
     return jcgo_retval;
    }
   }
   JCGO_TRY_LEAVE
   JCGO_TRY_CATCHES(1)
   JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
   {
    return JCGO_STRREF_OF(jcgo_string3_VMThrwbl);
   }
   JCGO_TRY_RETHROW(1)
  }
 }
 return jnull;
}

JCGO_NOSEP_STATIC jint CFASTCALL
package_ChatMessage__scramble__Ls( java_lang_String s )
{
 JCGO_CLINIT_TRIG(package_ChatMessage__class);
 {
  jint off;
  jint lshift;
  if ((JCGO_CALL_FINALF(s) java_lang_String__length__(
   s)) > (jint)80)
  {
   s= (java_lang_String__substring__II(
    s, 0, (jint)80));
  }
  s= (java_lang_String__toLowerCase__(
   s));
  off= 0;
  lshift= (-(jint)1);
  {
   jint k;
   k= 0;
   for (; k < (java_lang_String__length__(
    s)); k++)
   {
    jint foundcharmapidx;
    jchar currentchar;
    currentchar= (java_lang_String__charAt__I(
     s, k));
    foundcharmapidx= 0;
    {
     jint n;
     n= 0;
     for (; n < JCGO_ARRAY_LENGTH(package_ChatMessage__charmap); n++)
     {
      if (currentchar != JCGO_ARRAY_CACCESS(package_ChatMessage__charmap,
       n))
      {
       continue;
      }
      foundcharmapidx= n;
      break;
     }
    }
    if (foundcharmapidx > (jint)12)
    {
     foundcharmapidx+= (jint)195;
    }
    if (lshift == (-(jint)1))
    {
     if (foundcharmapidx < (jint)13)
     {
      lshift= foundcharmapidx;
     }
     else
     {
      jObject jcgo_rcvrL1;
      jint jcgo_rcvrI1;
      (jcgo_rcvrL1= (jObject)package_ChatMessage__scrambledbytes, jcgo_rcvrI1=
       off++, JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1, jcgo_rcvrI1)=
       ((jbyte)foundcharmapidx));
     }
    }
    else
    {
     if (foundcharmapidx < (jint)13)
     {
      jObject jcgo_rcvrL1;
      jint jcgo_rcvrI1;
      (jcgo_rcvrL1= (jObject)package_ChatMessage__scrambledbytes, jcgo_rcvrI1=
       off++, JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1, jcgo_rcvrI1)=
       ((jbyte)(JCGO_SHL_F(lshift, (jint)4) + foundcharmapidx)));
      lshift= (-(jint)1);
     }
     else
     {
      jObject jcgo_rcvrL1;
      jint jcgo_rcvrI1;
      (jcgo_rcvrL1= (jObject)package_ChatMessage__scrambledbytes, jcgo_rcvrI1=
       off++, JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1, jcgo_rcvrI1)=
       ((jbyte)(JCGO_SHL_F(lshift, (jint)4) + JCGO_SHR_F(foundcharmapidx,
       (jint)4))));
      lshift= foundcharmapidx & (jint)15;
     }
    }
   }
  }
  if (lshift != (-(jint)1))
  {
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   (jcgo_rcvrL1= (jObject)package_ChatMessage__scrambledbytes, jcgo_rcvrI1=
    off++, JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1, jcgo_rcvrI1)=
    ((jbyte)JCGO_SHL_F(lshift, (jint)4)));
  }
  return off;
 }
}

JCGO_NOSEP_STATIC package_ChatMessage CFASTCALL
package_ChatMessage__this__( package_ChatMessage This )
{
 {
  ;
 }
 return This;
}

JCGO_NOSEP_STATIC void CFASTCALL
package_ChatMessage__class__0( void )
{
 JCGO_CLINIT_BEGIN(package_ChatMessage__class);
 package_ChatMessage__chars= (jcharArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jchar),
  0, (jint)100);
 JCGO_CLINIT_DONE(package_ChatMessage__class);
}

JCGO_NOSEP_DATA CONST struct package_ChatMessage_methods_s package_ChatMessage_methods=
{
 JCGO_CLASSREF_OF(package_ChatMessage__class),
 JCGO_GCJDESCR_ZEROINIT
 OBJT_package_ChatMessage,
 -(JCGO_OBJSIZE_T)sizeof(struct package_ChatMessage_s),
 NULL,
 JCGO_CLINIT_INIT(package_ChatMessage__class__0)
 package_ChatMessage__this__,
 java_lang_Object__equals__Lo,
 java_lang_Object__hashCode__,
 java_lang_Object__toString__,
 java_lang_Object__finalize__
};

JCGO_NOSEP_DATA struct package_ChatMessage_class_s package_ChatMessage__class
 ATTRIBNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&package_ChatMessage_methods),
  JCGO_STRREF_OF(jcgo_string1_ChatMssg),
  JCGO_CLASSREF_OF(java_lang_Object__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x1c1
 }
};

JCGO_NOSEP_DATA CONST jbyteArr package_ChatMessage__scrambledbytes=
 ((jbyteArr)JCGO_OBJREF_OF(jcgo_array2_ChatMssg));

JCGO_NOSEP_GCDATA jcharArr package_ChatMessage__chars ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_DATA CONST jcharArr package_ChatMessage__charmap= ((jcharArr)JCGO_OBJREF_OF(jcgo_array3_ChatMssg));

JCGO_NOSEP_DATA jcgo_arrtype2_ChatMssg jcgo_array2_ChatMssg ATTRIBNONGC=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 100,
 {
  (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0, (jbyte)0,
   (jbyte)0, (jbyte)0
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype3_ChatMssg jcgo_array3_ChatMssg=
{
 (jvtable)&jcharArr_methods,
 JCGO_MON_INIT
 61,
 {
  (jchar)32/*' '*/, (jchar)101/*'e'*/, (jchar)116/*'t'*/, (jchar)97/*'a'*/,
   (jchar)111/*'o'*/, (jchar)105/*'i'*/, (jchar)104/*'h'*/, (jchar)110/*'n'*/,
   (jchar)115/*'s'*/, (jchar)114/*'r'*/, (jchar)100/*'d'*/, (jchar)108/*'l'*/,
   (jchar)117/*'u'*/, (jchar)109/*'m'*/, (jchar)119/*'w'*/, (jchar)99/*'c'*/,
   (jchar)121/*'y'*/, (jchar)102/*'f'*/, (jchar)103/*'g'*/, (jchar)112/*'p'*/,
   (jchar)98/*'b'*/, (jchar)118/*'v'*/, (jchar)107/*'k'*/, (jchar)120/*'x'*/,
   (jchar)106/*'j'*/, (jchar)113/*'q'*/, (jchar)122/*'z'*/, (jchar)48/*'0'*/,
   (jchar)49/*'1'*/, (jchar)50/*'2'*/, (jchar)51/*'3'*/, (jchar)52/*'4'*/,
   (jchar)53/*'5'*/, (jchar)54/*'6'*/, (jchar)55/*'7'*/, (jchar)56/*'8'*/,
   (jchar)57/*'9'*/, (jchar)32/*' '*/, (jchar)33/*'!'*/, (jchar)63/*'?'*/,
   (jchar)46/*'.'*/, (jchar)44/*','*/, (jchar)58/*':'*/, (jchar)59/*';'*/,
   (jchar)40/*'('*/, (jchar)41/*')'*/, (jchar)45/*'-'*/, (jchar)38/*'&'*/,
   (jchar)42/*'*'*/, (jchar)92/*'\\'*/, (jchar)39/*'\''*/, (jchar)64/*'@'*/,
   (jchar)35/*'#'*/, (jchar)43/*'+'*/, (jchar)61/*'='*/, (jchar)163,
   (jchar)36/*'$'*/, (jchar)37/*'%'*/, (jchar)34/*'"'*/, (jchar)91/*'['*/,
   (jchar)93/*']'*/
 }
};

JCGO_NOSEP_DATA CONST jcgo_arrtype28_Object jcgo_array4_ChatMssg=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 11,
 {
  (jbyte)(jchar)67/*'C'*/, (jbyte)(jchar)104/*'h'*/, (jbyte)(jchar)97/*'a'*/,
   (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)77/*'M'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)97/*'a'*/,
   (jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)101/*'e'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_ChatMssg
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array4_ChatMssg),
 0, 11, (jint)0x11cab96fL
};

#ifdef CHKALL_ChatMessage
#include "jcgochke.h"
#endif

#endif
