/** 
   * Deserializes the contents of the incoming message buffer {@code b}. 
   * 
   * @return deserialised object
   * @throws UnsupportedEncodingException If the named charset is not supported
   */
  Object r() throws UnsupportedEncodingException{
    int i=0, n, t=b[j++];
    if(t<0)
      switch(t){
        case -1:
          return rb();
        case (-2):
          return rg();
        case -4:
          return b[j++];
        case -5:
          return rh();
        case -6:
          return ri();
        case -7:
          return rj();
        case -8:
          return re();
        case -9:
          return rf();
        case -10:
          return rc();
        case -11:
          return rs();
        case -12:
          return rp();
        case -13:
          return rm();
        case -14:
          return rd();
        case -15:
          return rz();
        case -16:
          return rn();
        case -17:
          return ru();
        case -18:
          return rv();
        case -19:
          return rt();
      }
    if(t>99){
      if(t==100){
        rs();
        return r();
      }
      if(t<104)
        return b[j++]==0&&t==101?null:"func";
      if(t>105)
        r();
      else
        for(n=ri();i<n;i++)
          r();
      return "func";
    }
    if(t==99)
      return new Dict(r(),r());
    j++;
    if(t==98)
      return new Flip((Dict)r());
    n=ri();
    switch(t){
      case 0:
        Object[] L=new Object[n];
        for(;i<n;i++)
          L[i]=r();
        return L;
      case 1:
        boolean[] B=new boolean[n];
        for(;i<n;i++)
          B[i]=rb();
        return B;
      case 2: {
        UUID[] G=new UUID[n];
        for(;i<n;i++)
          G[i]=rg();
        return G;
      }
      case 4:
        byte[] G=new byte[n];
        for(;i<n;i++)
          G[i]=b[j++];
        return G;
      case 5:
        short[] H=new short[n];
        for(;i<n;i++)
          H[i]=rh();
        return H;
      case 6:
        int[] I=new int[n];
        for(;i<n;i++)
          I[i]=ri();
        return I;
      case 7:
        long[] J=new long[n];
        for(;i<n;i++)
          J[i]=rj();
        return J;
      case 8:
        float[] E=new float[n];
        for(;i<n;i++)
          E[i]=re();
        return E;
      case 9:
        double[] F=new double[n];
        for(;i<n;i++)
          F[i]=rf();
        return F;
      case 10:
        char[] C=new String(b,j,n,encoding).toCharArray();
        j+=n;
        return C;
      case 11:
        String[] S=new String[n];
        for(;i<n;i++)
          S[i]=rs();
        return S;
      case 12:
        Timestamp[] P=new Timestamp[n];
        for(;i<n;i++)
          P[i]=rp();
        return P;
      case 13:
        Month[] M=new Month[n];
        for(;i<n;i++)
          M[i]=rm();
        return M;
      case 14:
        Date[] D=new Date[n];
        for(;i<n;i++)
          D[i]=rd();
        return D;
      case 15:
        java.util.Date[] Z=new java.util.Date[n];
        for(;i<n;i++)
          Z[i]=rz();
        return Z;
      case 16:
        Timespan[] N=new Timespan[n];
        for(;i<n;i++)
          N[i]=rn();
        return N;
      case 17:
        Minute[] U=new Minute[n];
        for(;i<n;i++)
          U[i]=ru();
        return U;
      case 18:
        Second[] V=new Second[n];
        for(;i<n;i++)
          V[i]=rv();
        return V;
      case 19:
        Time[] T=new Time[n];
        for(;i<n;i++)
          T[i]=rt();
        return T;
    }
    return null;
  }

Manually maintained open-source code on GitHub. Looks like decompiled from obfuscated binary, they just reformatted it, added some comments and now are making manual changes. Current version: https://github.com/KxSystems/javakdb/blob/master/src/kx/c.java Original version: https://github.com/KxSystems/javakdb/blob/c9afe6fa32d7d3e3cddabdc9bd43f0155a5d2a1b/src/kx/c.java

By KxSystems, 2017-12-13 17:19:57