View Single Post
Old 02-02-2013, 08:32 AM   #27
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by ixtab View Post
Here's an example. This is what an attempt to decompile a class that has to be patched for the hyphenation yields:

Spoiler:

Code:
/*jadclipse*/// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.

package com.mobipocket.common.library.reader;

import com.amazon.system.drawing.Font;
import com.amazon.system.drawing.I;
import com.mobipocket.common.library.reader.hyphenation.HyphenationEngine;
import com.mobipocket.common.log.b;
import com.mobipocket.common.parser.H;
import com.mobipocket.common.parser.a.g;
import com.mobipocket.common.parser.f;
import com.mobipocket.common.parser.j;
import java.util.Vector;

// Referenced classes of package com.mobipocket.common.library.reader:
//            y, t, n, W, 
//            b, g, k, e, 
//            h, l, BA, CA, 
//            C, i, B, o

public class R
{
    /* member class not found */
    class t {}

    /* member class not found */
    class n {}

    /* member class not found */
    class y {}


    R(BookViewManager.TableLimiter a)
    {
        b;
        b;
        false;
        b;
        JVM INSTR dup_x2 ;
        0;
        b;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x1 ;
        -1;
        true;
        b;
        JVM INSTR dup_x1 ;
        0;
        0;
        b;
        JVM INSTR dup_x1 ;
        0;
        0;
        b;
        JVM INSTR dup_x1 ;
        0;
        0;
        b;
        JVM INSTR dup_x1 ;
        0;
        5;
        b;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x1 ;
        15;
        3;
        b;
        JVM INSTR dup_x1 ;
        true;
        super();
        R;
        v;
        N;
        q;
        JVM INSTR new #16  <Class Vector>;
        b;
        JVM INSTR dup_x2 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
        Vector();
        U;
        new Vector();
        r;
        x;
        O;
        Y;
        o;
        y;
        s;
        d;
        D;
        C;
        f;
        new Vector();
        M;
        JVM INSTR new #29  <Class y>;
        JVM INSTR dup ;
        b;
        JVM INSTR dup_x2 ;
        y();
        V;
        new t(b);
        T;
        j;
        new n(b);
        J;
        J;
        a;
        e;
    }

    boolean cbA(C b, C a)
    {
        b.YaA();
        c;
        c;
        JVM INSTR dup_x2 ;
        true;
        c;
        c;
        JVM INSTR dup_x1 ;
        JVM INSTR dup2 ;
        JVM INSTR dup2 ;
        a;
        u;
        u;
        lcA();
        J;
        u.H;
        com.mobipocket.common.library.reader.n.scA();
        u;
        D;
        U;
        u;
        C;
        r;
        D;
        M;
        removeAllElements();
        zAA();
        return;
    }

    void bAA(g a)
    {
        a;
        b;
        JVM INSTR dup_x1 ;
        W = a;
        P;
        Dt();
        LK();
        z;
    }

    private void ecA()
    {
        0;
        a;
        JVM INSTR dup_x1 ;
        -1;
        false;
        a;
        JVM INSTR dup_x1 ;
        L = false;
        m;
        G;
        C;
        f;
    }

    void xBA()
    {
        a;
        a;
        false;
        a;
        JVM INSTR dup_x2 ;
        0;
        0;
        a;
        JVM INSTR dup_x1 ;
        0;
        0;
        a;
        JVM INSTR dup_x1 ;
        false;
        a;
        a;
        JVM INSTR dup_x1 ;
        F;
        a;
        JVM INSTR dup_x2 ;
        P;
        Ps();
        h - F;
        Av();
        JVM INSTR iadd ;
        x;
        k;
        O;
        Y;
        o;
        y;
        s;
        d;
        j;
        M;
        removeAllElements();
        ecA();
    }

    private final void TBA(int b, int a)
    {
        s = b;
        if(a != 0)
            C = b;
    }

    public boolean GdA(int b)
    {
        int a = 1;
        if(J.cDA())
        {
            a = 0;
            if(com.mobipocket.common.library.reader.n.JbA(J).e != null && b == com.mobipocket.common.library.reader.n.JbA(J).e.OaA())
                a = 1;
        }
        return a;
    }

    private boolean rBA(com.mobipocket.common.library.reader.b g)
    {
        if(!g.wz())
            return false;
        W f = (W)g;
        int e = 0;
        int d = 0;
        int c = 0;
        int b = 0;
        if(f.B == 0)
            d = 1;
        if(U.size() > 0)
        {
            com.mobipocket.common.library.reader.b a = (com.mobipocket.common.library.reader.b)U.elementAt(U.size() - 1);
            if(d != 0)
            {
                if(a.wz() && ((W)a).B == 0 && ((W)a).jk() != 0)
                    e = 1;
                if(o == U.size() - 1)
                    if(a.WaA())
                        b = 1;
                if(o == U.size())
                    c = 1;
            }
        }
        if(d != 0 && e != 0)
            return true;
        if(d != 0 && (c != 0 || b != 0))
            return true;
        return g.wz() && ((W)g).B == 3 && ((W)g).H > this.h - F;
    }

    private boolean gDA(W b)
    {
        int a;
        a = 1;
        if(rBA(b))
            return a;
        com.mobipocket.common.log.b.WV(8, U.size() < 1 && b.B != 6, "Page Begin not initialized");
        c;
        U;
        b;
        JVM INSTR dup_x2 ;
        addElement();
        pdA();
        B;
        JVM INSTR tableswitch 0 6: default 247
    //                   0 104
    //                   1 120
    //                   2 120
    //                   3 120
    //                   4 155
    //                   5 128
    //                   6 185;
           goto _L1 _L2 _L3 _L3 _L3 _L4 _L5 _L6
_L2:
        while(false) ;
        return a = JDA(true, b.jk());
_L3:
        return a = QbA(b);
_L5:
        c;
        if(!d) goto _L8; else goto _L7
_L7:
        mbA();
        JVM INSTR dup ;
        a;
        return;
_L8:
        U.size();
        o;
        return a;
_L4:
        c;
        if(!d) goto _L10; else goto _L9
_L9:
        CdA();
        JVM INSTR dup ;
        a;
        return;
_L10:
        U.size();
        o;
        return a;
_L6:
        com.mobipocket.common.log.b.WV(8, U.size() > 1, "this is not normal");
        a;
        c;
        c;
        JVM INSTR dup_x1 ;
        JVM INSTR new #80  <Class g>;
        c;
        JVM INSTR dup_x2 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
        P;
        b.Ps();
        g();
        P;
        xBA();
        U;
        size();
        o;
        return;
_L1:
        com.mobipocket.common.log.b.WV(8, true, "ERROR");
        return a;
    }

    private boolean ccA(com.mobipocket.common.library.reader.b k)
    {
        int j;
        j = 1;
        com.mobipocket.common.log.b.WV(8, U.size() < 1, "Page Begin not initialized");
        U;
        k;
        JVM INSTR dup_x1 ;
        addElement();
        LaA();
        JVM INSTR ifne 48;
           goto _L1 _L2
_L1:
        break MISSING_BLOCK_LABEL_41;
_L2:
        break MISSING_BLOCK_LABEL_48;
        if(!k.dZ())
            break MISSING_BLOCK_LABEL_149;
        int h = 0;
        if(!k.LaA() || ((com.mobipocket.common.library.reader.g)k).H.B <= 0) goto _L4; else goto _L3
_L3:
        com.mobipocket.common.library.reader.g e;
        h = (e = (com.mobipocket.common.library.reader.g)k).H.It(0);
          goto _L5
_L4:
        if(k.dZ() && ((k)k).H.B > 0)
            h = ((k) (e = (k)k)).H.It(0);
        h;
_L5:
        com.mobipocket.common.parser.b.DU();
        JVM INSTR ifeq 137;
           goto _L6 _L7
_L6:
        break MISSING_BLOCK_LABEL_132;
_L7:
        break MISSING_BLOCK_LABEL_137;
        L = true;
        if(com.mobipocket.common.parser.b.Bv(h))
            m = true;
        this.f;
        JVM INSTR lookupswitch 1: default 202
    //                   2: 172;
           goto _L8 _L9
_L9:
        while(false) ;
        if(K || m) goto _L8; else goto _L10
_L10:
        l;
        l;
        JVM INSTR dup_x1 ;
        s;
        C;
          goto _L11
_L8:
        l;
_L11:
        1;
        f;
        int i;
        if((i = k.jk()) <= V.FdA())
            break MISSING_BLOCK_LABEL_451;
        if(!k.LaA()) goto _L13; else goto _L12
_L12:
        e = (com.mobipocket.common.library.reader.g)k;
_L16:
        jk();
        V.FdA();
        JVM INSTR icmple 451;
           goto _L14 _L15
_L15:
        break MISSING_BLOCK_LABEL_451;
_L14:
        if(e.H.B <= 1)
            break MISSING_BLOCK_LABEL_451;
        com.mobipocket.common.library.reader.g a = e;
        e = new com.mobipocket.common.library.reader.g(a, V.FdA());
        if(a.jk() > V.FdA())
        {
            i = 0;
            j = abA(true);
        }
        U.addElement(e);
        e;
          goto _L16
_L13:
        if(!k.dZ()) goto _L18; else goto _L17
_L17:
        k c = (k)k;
_L21:
        jk();
        V.FdA();
        JVM INSTR icmple 451;
           goto _L19 _L20
_L20:
        break MISSING_BLOCK_LABEL_451;
_L19:
        if(c.H.B <= 1)
            break MISSING_BLOCK_LABEL_451;
        k b = c;
        c = new k(b, V.FdA());
        if(b.jk() > V.FdA())
        {
            i = 0;
            j = abA(true);
        }
        U.addElement(c);
        c;
          goto _L21
_L18:
        com.mobipocket.common.log.b.OX(8, "Element bigger than the screen (not a textElement) --> removed");
        U.setSize(U.size() - 1);
        i = 0;
        int g;
        com.mobipocket.common.log.b.WV(8, x > this.h, "pb");
        g = VcA(i);
        x = x + i;
        if(g != 0) goto _L23; else goto _L22
_L22:
        l;
_L26:
        x;
        this.h;
        JVM INSTR icmple 522;
           goto _L24 _L25
_L25:
        break; /* Loop/switch isn't completed */
_L24:
        if(j == 0)
            break; /* Loop/switch isn't completed */
        l;
        j = abA(false);
        if(true) goto _L26; else goto _L23
_L23:
        if(this.j || k.LK() <= this.a - O) goto _L28; else goto _L27
_L27:
        if(o >= 1 && (o != 2 || !(U.elementAt(o - 1) instanceof W))) goto _L30; else goto _L29
_L29:
        O = this.k;
        j;
          goto _L31
_L30:
        j = 0;
_L28:
        j;
_L31:
        JVM INSTR ifeq 625;
           goto _L32 _L33
_L32:
        if(k.gZ())
        {
            abA(false);
            if(((e)k).DY())
                j = 0;
        }
_L33:
        return j;
    }

    private final int RdA()
    {
        int a = 0;
        if(E == 3 && h - F < this.a - k)
        {
            if(z == 27)
                a++;
            if(z == 23 && (O / 31 & 1) == 0 || z == 25 && (O / 34 & 1) == 0 || z == 27 && (O / 37 & 1) == 0)
                a++;
        }
        return a;
    }

    private boolean KbA()
    {
        int b = 1;
        com.mobipocket.common.library.reader.g a = new com.mobipocket.common.library.reader.g(M);
        if(!VcA(a.jk()))
        {
            kdA(a);
            if(!j && O + (w + (z * E >> 3)) + RdA() + a.LK() > this.a)
                return b = 0;
        } else
        if(!j && a.LK() > this.a - O && o >= 1 && (o != 2 || !(U.elementAt(o - 1) instanceof W)))
            b = 0;
        return b;
    }

    boolean hBA()
    {
        int d;
        int c;
        d = 1;
        c = 0;
_L9:
        com.mobipocket.common.library.reader.g b;
        if(M.size() <= 0)
            break; /* Loop/switch isn't completed */
        b = new com.mobipocket.common.library.reader.g(M);
        c = 0;
        if(VcA(b.jk()))
            break MISSING_BLOCK_LABEL_147;
        V;
        b;
        JVM INSTR dup_x1 ;
        Ps();
        yt();
        ZBA();
        int a;
        a;
        jk();
        a;
        JVM INSTR icmple 77;
           goto _L1 _L2
_L1:
        c = BbA(a, true);
          goto _L3
_L2:
        if(((h - x) * 100) / a <= 25) goto _L5; else goto _L4
_L4:
        h;
        e;
        JVM INSTR dup_x1 ;
        x;
        JVM INSTR isub ;
        false;
        BbA();
        c;
_L5:
        c;
_L3:
        JVM INSTR ifne 4;
           goto _L6 _L7
_L6:
        break MISSING_BLOCK_LABEL_117;
_L7:
        continue; /* Loop/switch isn't completed */
        JVM INSTR new #87  <Class com.mobipocket.common.library.reader.g>;
        e;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x2 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
        M;
        com.mobipocket.common.library.reader.g();
        KDA();
        d;
        M;
        removeAllElements();
        continue; /* Loop/switch isn't completed */
        d = KDA(b);
        M.removeAllElements();
        if(true) goto _L9; else goto _L8
_L8:
        return d;
    }

    private boolean VcA(int b)
    {
        int a = 1;
        if(x + b > h)
            a = 0;
        return a;
    }

    boolean RBA(com.mobipocket.common.library.reader.b c)
    {
        int b = 1;
        if(D) goto _L2; else goto _L1
_L1:
        0;
        U.addElement(c);
        b = 0;
          goto _L3
_L2:
        if(!c.wz())
            this.d = true;
        if(!c.dZ()) goto _L5; else goto _L4
_L4:
        M.addElement(c);
        if(KbA()) goto _L7; else goto _L6
_L6:
        int a = 0;
_L10:
        M.size();
        JVM INSTR icmpge 118;
           goto _L8 _L9
_L8:
        if(b != 0)
            b = KDA((com.mobipocket.common.library.reader.b)M.elementAt(a));
        else
            U.addElement(M.elementAt(a));
        ++a;
          goto _L10
_L9:
        M.removeAllElements();
        if(b == 0) goto _L7; else goto _L11
_L11:
        com.mobipocket.common.log.b.OX(4, "The screen is too small to print one TextElement - So this will be cut");
        b;
          goto _L3
_L5:
        if((b = hBA()) != 0) goto _L13; else goto _L12
_L12:
        com.mobipocket.common.log.b.OX(4, "This case should be handled by checkInsertable() instead of here");
        b;
        U.addElement(c);
          goto _L3
_L13:
        b = KDA(c);
_L7:
        b;
_L3:
        JVM INSTR ifne 181;
           goto _L14 _L15
_L14:
        break MISSING_BLOCK_LABEL_176;
_L15:
        break MISSING_BLOCK_LABEL_181;
        D = false;
        return b;
    }

    private int ibA(com.mobipocket.common.library.reader.g d)
    {
        int c = -1;
        String b = d.toString();
        int a = -1;
        if((a = b.indexOf("-")) > -1)
            c = a + 1;
        return c;
    }

    private boolean BbA(int bb, int ab)
    {
        int z;
        int y;
        int x;
        int w;
        com.mobipocket.common.library.reader.g u;
        HyphenationEngine t;
        j s;
        int r;
        z = 0;
        y = 0;
        x = 0;
        w = 0;
        int v;
        if((v = P.Ps().DT()) == 18 || v == 4 || v == 17)
            return z;
        u = new com.mobipocket.common.library.reader.g(M);
        String q;
        if((q = (t = com.mobipocket.common.library.reader.hyphenation.b.dV().dX(v)).I()) == null)
            q = "";
        s = new j(q);
        q = -1;
        if((r = ibA(u)) > -1)
            y = 1;
        if(ab == 0) goto _L2; else goto _L1
_L1:
        com.mobipocket.common.library.reader.g n = u;
        int j = 0;
_L5:
        n.H.et();
        JVM INSTR icmpge 364;
           goto _L3 _L4
_L3:
        break MISSING_BLOCK_LABEL_137;
_L4:
        break MISSING_BLOCK_LABEL_364;
        H i = n.qY(j + 1);
        x = n.Hz(0, j + 1);
        w = com.mobipocket.common.library.reader.k.KcA(s, i.Dt());
        if(y != 0 && j == r - 1)
            w = 0;
        if(x + w > bb)
        {
            if(j > 0)
            {
                if(j < r || r <= 0)
                {
                    r = j;
                    y = 0;
                }
            } else
            {
                com.mobipocket.common.log.b.OX(8, "The first character is greater than the screen - can't handle this case");
            }
            break MISSING_BLOCK_LABEL_364;
        }
        ++j;
          goto _L5
_L2:
        com.mobipocket.common.library.reader.hyphenation.g o;
        int m;
        int h[];
        if(r > -1)
            break MISSING_BLOCK_LABEL_364;
        o = t.e(u.toString());
        m = 0;
        h = o.rX();
        m;
_L11:
        h.length;
        JVM INSTR icmpge 344;
           goto _L6 _L7
_L6:
        int e = h[m];
        H a = u.qY(e);
        x = u.Hz(0, e);
        w = com.mobipocket.common.library.reader.k.KcA(s, a.Dt());
        if(x + w <= bb) goto _L9; else goto _L8
_L8:
        m;
          goto _L10
_L9:
        ++m;
          goto _L11
_L7:
        m;
_L10:
        JVM INSTR ifle 361;
           goto _L12 _L13
_L12:
        break MISSING_BLOCK_LABEL_349;
_L13:
        break MISSING_BLOCK_LABEL_361;
        r = o.rX()[m - 1];
        y = 0;
        Vector p;
        if(r < 0)
            break MISSING_BLOCK_LABEL_631;
        x = u.Hz(0, r);
        if(w + x > bb)
            break MISSING_BLOCK_LABEL_624;
        p = new Vector();
        int l = 0;
_L19:
        u.LY();
        JVM INSTR icmpge 456;
           goto _L14 _L15
_L14:
        k g = u.bY(l);
        JVM INSTR new #91  <Class k>;
        p;
        JVM INSTR dup_x1 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
          goto _L16
_L18:
        g.H;
        g.Ps();
          goto _L17
_L16:
        l++;
          goto _L18
_L17:
        g.Rz();
        k();
        addElement();
        l;
          goto _L19
_L15:
        com.mobipocket.common.library.reader.g k;
        com.mobipocket.common.library.reader.g f;
        f = k = new com.mobipocket.common.library.reader.g(p);
        k = new com.mobipocket.common.library.reader.g(f, x);
        f;
        cb;
        JVM INSTR dup_x1 ;
        M;
        removeAllElements();
        KDA();
        z;
        JVM INSTR new #150 <Class h>;
        if(y == 0) goto _L21; else goto _L20
_L20:
        JVM INSTR dup ;
        new j("");
        f.GAA();
        0;
        h();
        JVM INSTR dup ;
        h c;
        c;
          goto _L22
_L21:
        JVM INSTR dup ;
        s;
        f.GAA();
        0;
        h();
        JVM INSTR dup ;
        c;
_L22:
        k.ay();
        xy();
        z &= KDA(c);
        0;
        int b;
        TBA(U.size(), true);
        b = 0;
_L25:
        k.LY();
        JVM INSTR icmpge 609;
           goto _L23 _L24
_L23:
        M.addElement(k.bY(b++));
        b;
          goto _L25
_L24:
        if(z != 1)
            com.mobipocket.common.log.b.OX(8, "the hyphenated word and the hyphen string was not added in the line. This should never happen");
        break MISSING_BLOCK_LABEL_631;
        com.mobipocket.common.log.b.OX(8, "the hyphenation failed even if the right hyphenation point was found - should never happen");
        return z;
    }

    private boolean KDA(com.mobipocket.common.library.reader.b c)
    {
        com.mobipocket.common.log.b.WV(8, h - F <= 0 || this.a - k <= 0, (new StringBuffer()).insert(0, "Frame created with a bad size :width=").append(h - F).append("; height=").append(this.a - k).toString());
        com.mobipocket.common.log.b.WV(8, F < 0 || k < 0 || h <= 0 || this.a <= 0, (new StringBuffer()).insert(0, "Bad frame location x=").append(F).append(" to ").append(h).append("; y=").append(k).append(" to ").append(this.a).toString());
        if(!c.wz()) goto _L2; else goto _L1
_L1:
        int a;
        if((a = gDA((W)c)) != 0 && G)
        {
            switch(f)
            {
            case 1: // '\001'
                while(false) ;
                f = 2;
                return a;
            }
            f = 0;
            return a;
        }
          goto _L3
_L2:
        f;
        JVM INSTR tableswitch 0 2: default 301
    //                   0 280
    //                   1 283
    //                   2 289;
           goto _L4 _L4 _L4 _L5
_L5:
        d;
        while(false) ;
        JVM INSTR dup ;
        L;
        K;
_L4:
        d;
        c;
        false;
        d;
        JVM INSTR dup_x1 ;
        false;
        L;
        m;
        ccA();
        a;
_L3:
        return a;
    }

    private void pbA()
    {
        int k;
        int j;
        int i;
        k = -2147483648;
        j = -2147483648;
        i = -2147483648;
        int e = o;
_L3:
        s;
        JVM INSTR icmpge 117;
           goto _L1 _L2
_L1:
        com.mobipocket.common.library.reader.b h;
        if(!(h = (com.mobipocket.common.library.reader.b)U.elementAt(e)).wz() && !(h instanceof l))
        {
            if(h.LK() > k)
                k = h.LK();
            if(h.NY() > j)
                j = h.NY();
            if(h.Cz() > i)
                i = h.Cz();
            if(k < j + i)
                k = j + i;
        }
        ++e;
          goto _L3
_L2:
        int f;
        int d;
        com.mobipocket.common.log.b.WV(8, j == t && i == p && k == w, "strange strange strange");
        f = j;
        d = i;
        this.a;
        l;
        JVM INSTR dup_x1 ;
        k;
        JVM INSTR isub ;
        int c;
        c;
        t;
        j;
        JVM INSTR icmple 304;
           goto _L4 _L5
_L4:
        if(p <= i) goto _L5; else goto _L6
_L6:
        int a = c - j - i;
        if(t + p != 0) goto _L8; else goto _L7
_L7:
        com.mobipocket.common.log.b.OX(4, "strange resizing");
        f = 0;
        d = 0;
        f;
          goto _L9
_L8:
        f = (a * t) / (t + p);
        d = (a * p) / (t + p);
        f;
_L9:
        j;
        JVM INSTR icmpge 283;
           goto _L10 _L11
_L10:
        break MISSING_BLOCK_LABEL_271;
_L11:
        break MISSING_BLOCK_LABEL_283;
        d -= j - f;
        f = j;
        if(d < i)
        {
            f -= i - d;
            d = i;
        }
          goto _L12
_L5:
        if(t <= j) goto _L14; else goto _L13
_L13:
        f = c - i;
        l;
          goto _L15
_L14:
        if(p <= i) goto _L17; else goto _L16
_L16:
        d = c - j;
        l;
          goto _L15
_L17:
        com.mobipocket.common.log.b.OX(8, "must not be !");
_L12:
        l;
_L15:
        k;
        w;
        i;
        l;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x2 ;
        j;
        t;
        p;
        o;
        JVM INSTR dup ;
        int b;
        b;
_L20:
        s;
        JVM INSTR icmpge 425;
           goto _L18 _L19
_L18:
        com.mobipocket.common.library.reader.b g;
        if((g = (com.mobipocket.common.library.reader.b)U.elementAt(b)) instanceof l)
        {
            ((l)g).PcA(f, d, c);
            kdA(g);
        }
        ++b;
          goto _L20
_L19:
        Y = true;
        return;
    }

    private void kdA(com.mobipocket.common.library.reader.b b)
    {
        int a;
        if(b.wz() || b.WaA())
            break MISSING_BLOCK_LABEL_204;
        a = w;
        if((w != b.LK() || (t != b.NY() || p != b.Cz())) && (p != -2147483648 && w != -2147483648 && t != -2147483648))
            Y = true;
        if(b.LK() > w)
            w = b.LK();
        if(b.NY() > t)
            t = b.NY();
        if(b.Cz() > p)
            p = b.Cz();
        if(w >= t + p) goto _L2; else goto _L1
_L1:
        t;
        c;
        JVM INSTR dup_x1 ;
        p;
        JVM INSTR iadd ;
        w;
_L2:
        c;
        w;
        JVM INSTR swap ;
        t;
        p;
        JVM INSTR iadd ;
        JVM INSTR icmple 204;
           goto _L3 _L4
_L3:
        break MISSING_BLOCK_LABEL_188;
_L4:
        break MISSING_BLOCK_LABEL_204;
        if(w > a)
            Q = b.qy();
    }

    private void UcA(int j)
    {
        int i;
        int h;
        int g;
        int i1;
        i = 0;
        h = F;
        i1 = o - 1;
        g = i1;
        if(i1 < 0 || g >= U.size()) goto _L2; else goto _L1
_L1:
        com.mobipocket.common.library.reader.b d;
        int c;
        d = (com.mobipocket.common.library.reader.b)U.elementAt(g);
        if((c = P.Su()) == 0)
            c = W.Su();
        if(c != 1 && c != 4) goto _L4; else goto _L3
_L3:
        h += d.Ps().Av(this.h - F);
        d;
          goto _L5
_L4:
        x = x - d.Ps().Av(this.h - F);
        d;
_L5:
        wz();
        JVM INSTR ifeq 202;
           goto _L6 _L2
_L6:
        W a;
        if((a = (W)U.elementAt(g)).B != 3) goto _L2; else goto _L7
_L7:
        if(c != 1 && c != 4) goto _L9; else goto _L8
_L8:
        h += a.H;
        k;
          goto _L10
_L9:
        x -= a.H;
_L2:
        k;
_L10:
        P;
        Su();
        2;
        JVM INSTR icmpne 227;
           goto _L11 _L12
_L11:
        this.h;
        k;
        JVM INSTR dup_x1 ;
        x;
        JVM INSTR isub ;
        i;
          goto _L13
_L12:
        if(P.Su() == 3)
            i = (this.h - x) / 2;
        k;
_L13:
        -2147483648;
        w;
        -2147483648;
        k;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x2 ;
        -2147483648;
        t;
        p;
        o;
        JVM INSTR dup ;
        int b;
        b;
_L17:
        s;
        JVM INSTR icmpge 468;
           goto _L14 _L15
_L14:
        if(b >= U.size()) goto _L15; else goto _L16
_L16:
        com.mobipocket.common.library.reader.b e;
        com.mobipocket.common.log.b.WV(8, b >= U.size() || b < 0, "Pb in positionXElements");
        e = (com.mobipocket.common.library.reader.b)U.elementAt(b);
        com.mobipocket.common.log.b.WV(8, h + i + e.jk() > this.h && !e.wz(), "element out of the screen(x)");
        8;
        k;
        e;
        JVM INSTR dup_x1 ;
        h + i;
        KaA();
        O;
        py();
        O + e.LK() > this.a && !this.j && !e.wz();
        "element out of the screen(y) !";
        com.mobipocket.common.log.b.WV();
        h += e.jk();
        if(e.wz())
            h += j;
        b++;
        kdA(e);
        b;
          goto _L17
_L15:
        if(t != -2147483648 && p != -2147483648 && w != -2147483648) goto _L19; else goto _L18
_L18:
        com.mobipocket.common.library.reader.b f;
        com.mobipocket.common.library.reader.b b1;
        if(o >= U.size())
            break MISSING_BLOCK_LABEL_553;
        b1 = (com.mobipocket.common.library.reader.b)U.elementAt(o);
        b1;
        f = b1;
        k;
        JVM INSTR dup_x1 ;
        k;
        f;
        JVM INSTR dup_x1 ;
        NY();
        t;
        Cz();
        p;
        LK();
        w;
        return;
        k;
        0;
        0;
        k;
        JVM INSTR dup_x1 ;
        0;
        t;
        p;
        w;
_L19:
    }

    private void UCA()
    {
        UcA(0);
    }

    private void rdA()
    {
        int o = this.h;
        if(y <= 1) goto _L2; else goto _L1
_L1:
        this.h - x << 8;
        p;
        JVM INSTR dup_x1 ;
        y;
        1;
        JVM INSTR isub ;
        JVM INSTR idiv ;
        int m;
        m;
          goto _L3
_L2:
        m = 0;
        p;
_L3:
        o;
        U.size();
        JVM INSTR icmpge 112;
           goto _L4 _L5
_L4:
        break MISSING_BLOCK_LABEL_56;
_L5:
        break MISSING_BLOCK_LABEL_112;
        Font i = ((com.mobipocket.common.library.reader.b)U.elementAt(this.o)).Ps().Dt();
        if(m >> 8 > i.Bk() * 2)
        {
            int g = 0;
            UcA(g = i.Bk() * 2);
            return;
        }
        int e = 0;
        -2147483648;
        p;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x2 ;
        w = -2147483648;
        t;
        p;
        s;
        1;
        JVM INSTR isub ;
        JVM INSTR dup ;
        int d;
        d;
        this.o;
        JVM INSTR icmplt 195;
           goto _L6 _L7
_L6:
        if(!((com.mobipocket.common.library.reader.b)U.elementAt(d)).wz()) goto _L7; else goto _L8
_L8:
        com.mobipocket.common.library.reader.b h = (com.mobipocket.common.library.reader.b)U.elementAt(d);
        p;
        h;
        JVM INSTR dup_x1 ;
        break MISSING_BLOCK_LABEL_183;
_L9:
        o;
        break MISSING_BLOCK_LABEL_186;
        d--;
          goto _L9
        KaA();
        O;
        py();
_L7:
        int f = d;
_L13:
        this.o;
        JVM INSTR icmplt 322;
           goto _L10 _L11
_L10:
        if(e != 0) goto _L11; else goto _L12
_L12:
        com.mobipocket.common.log.b.WV(8, f >= U.size() || f < 0, "Pb in positionJustifiedElements");
        if((h = (com.mobipocket.common.library.reader.b)U.elementAt(f)).wz())
            e = 1;
        o -= h.jk();
        com.mobipocket.common.log.b.WV(8, o + h.jk() > this.h, "element out of the screen(x)");
        h;
        h;
        p;
        JVM INSTR dup_x2 ;
        h.KaA(o);
        f--;
        O;
        py();
        kdA();
        f;
          goto _L13
_L11:
        if(this.o <= f)
            break MISSING_BLOCK_LABEL_494;
        o = F;
        if(this.o <= d)
            o += ((com.mobipocket.common.library.reader.b)U.elementAt(this.o)).Ps().Av(this.h - F);
        f = this.o;
_L16:
        d;
        JVM INSTR icmpgt 486;
           goto _L14 _L15
_L14:
        com.mobipocket.common.library.reader.b k;
        com.mobipocket.common.log.b.WV(8, f >= U.size() || f < 0, "Pb in positionJustifiedElements");
        k = (com.mobipocket.common.library.reader.b)U.elementAt(f);
        com.mobipocket.common.log.b.WV(8, o + k.jk() > this.h, "element out of the screen(x)");
        o;
        p;
        k;
        JVM INSTR dup_x1 ;
        o;
        KaA();
        O;
        py();
        f++;
        k.jk();
        JVM INSTR iadd ;
        o;
        f;
          goto _L16
_L15:
        f = this.o - 1;
        W b;
        o = F;
        if(this.o <= d)
            o += ((com.mobipocket.common.library.reader.b)U.elementAt(this.o)).Ps().Av(this.h - F);
        if(this.o - 1 >= 0 && ((com.mobipocket.common.library.reader.b)U.elementAt(this.o - 1)).wz())
        {
            b = (W)U.elementAt(this.o - 1);
            o += b.H;
        }
        b = 0;
        int a = this.o;
_L19:
        f;
        JVM INSTR icmpgt 755;
           goto _L17 _L18
_L17:
        com.mobipocket.common.library.reader.b l;
        if((l = (com.mobipocket.common.library.reader.b)U.elementAt(a)).wz())
            b++;
        com.mobipocket.common.log.b.WV(8, o + (b * m >> 8) + l.jk() > this.h, "element out of the screen(x)");
        o;
        l;
        p;
        JVM INSTR dup_x2 ;
        l.KaA(o + (b * m >> 8));
        O;
        py();
        l.jk();
        JVM INSTR iadd ;
        o;
        l;
        kdA();
        a++;
        com.mobipocket.common.log.b.WV(8, O + l.LK() > this.a && !this.j && !l.wz(), "element out of the screen(y) !");
        a;
          goto _L19
_L18:
        if(t == -2147483648)
            t = 0;
        if(this.p == -2147483648)
            this.p = 0;
        if(w == -2147483648)
            w = 0;
        return;
    }

    private void ybA()
    {
        b;
        w;
        JVM INSTR swap ;
        t;
        p;
        JVM INSTR iadd ;
        JVM INSTR icmple 179;
           goto _L1 _L2
_L1:
        Q;
        JVM INSTR tableswitch 23 29: default 104
    //                   23 64
    //                   24 112
    //                   25 112
    //                   26 112
    //                   27 141
    //                   28 86
    //                   29 64;
           goto _L3 _L4 _L5 _L5 _L5 _L6 _L7 _L4
_L4:
        b;
        while(false) ;
        JVM INSTR dup ;
        w;
        b;
        JVM INSTR dup_x1 ;
        t;
        JVM INSTR isub ;
        p;
          goto _L8
_L7:
        b;
        w;
        b;
        JVM INSTR dup_x1 ;
        p;
        JVM INSTR isub ;
        t;
          goto _L8
_L3:
        com.mobipocket.common.log.b.WV(8, true, "unknow Alignment");
_L5:
        b;
        b;
        JVM INSTR dup_x1 ;
        JVM INSTR dup2 ;
        w;
        2;
        JVM INSTR idiv ;
        t;
        w;
        t;
        JVM INSTR isub ;
        p;
          goto _L8
_L6:
        b;
        b;
        JVM INSTR dup_x1 ;
        w;
        b;
        JVM INSTR dup_x2 ;
        t;
        JVM INSTR isub ;
        p;
        JVM INSTR isub ;
        1;
        JVM INSTR ishr ;
        t;
        JVM INSTR iadd ;
        t;
        w;
        t;
        JVM INSTR isub ;
        p;
_L2:
        b;
_L8:
        o;
        JVM INSTR dup ;
        int a;
        a;
_L11:
        s;
        JVM INSTR icmpge 253;
           goto _L9 _L10
_L9:
        com.mobipocket.common.log.b.WV(8, a >= U.size() || a < 0, "Pb in positionYElements");
        a++;
        ((com.mobipocket.common.library.reader.b)U.elementAt(a)).KY(t, p, w);
        a;
          goto _L11
_L10:
    }

    private boolean zAA(Vector h)
    {
        int g;
        int f;
        g = 1;
        com.mobipocket.common.log.b.WV(8, h == null || h.size() < 1, "wrong call to reInit");
        if(h == null)
            break MISSING_BLOCK_LABEL_233;
        f = h.size();
        int d = 0;
_L9:
        f;
        JVM INSTR icmpge 231;
           goto _L1 _L2
_L1:
        if(g == 0) goto _L2; else goto _L3
_L3:
        com.mobipocket.common.library.reader.b e;
        if(!(e = (com.mobipocket.common.library.reader.b)h.elementAt(d)).WaA()) goto _L5; else goto _L4
_L4:
        BA b = (BA)e;
        EAA(b.H, b.ay());
          goto _L6
_L5:
        e.gZ();
        i;
        JVM INSTR swap ;
        JVM INSTR ifeq 217;
           goto _L7 _L8
_L7:
        u;
        Jz();
        int c;
        c;
        com.mobipocket.common.log.b.PV("TABLE_FEATURE", (new StringBuffer()).insert(0, "[addFlowelementVector] Adding new TableElement view in the current page with current page begin position:").append(c).toString());
        JVM INSTR new #110 <Class e>;
        JVM INSTR dup ;
        (e)e;
        UdA();
        JVM INSTR new #205 <Class I>;
        c;
        JVM INSTR dup_x1 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
        V.FdA();
        V.MDA();
        I();
        e();
        JVM INSTR dup ;
        e a;
        a;
        i;
        i;
        JVM INSTR dup_x2 ;
        u;
        H;
        a.mAA();
        e;
        J;
        u.H;
        com.mobipocket.common.library.reader.n.scA();
        RBA();
        g;
          goto _L6
_L8:
        e;
        RBA();
        g;
_L6:
        ++d;
          goto _L9
_L2:
        return g;
        return true;
    }

    private boolean JDA(int d, int c)
    {
        int b = 1;
        G = false;
        int a = c;
        com.mobipocket.common.log.b.WV(8, x > h, "pb");
        if(d == 0 || x <= h)
        {
            x += a;
            if(d != 0)
                y++;
            if(d != 0 && c == 0)
                G = true;
            TBA(U.size(), !G);
        }
        if(d != 0 && x >= h)
        {
            if(c > 0)
                C = s;
            b = abA(false);
            if(c == 0)
                G = true;
            TBA(U.size(), !G);
        }
        return b;
    }

    boolean mbA()
    {
        true;
        a;
        JVM INSTR dup_x1 ;
        false;
        P.Dt().Bk();
        JDA();
        JVM INSTR pop ;
        abA();
        return;
    }

    boolean abA(int h)
    {
        int g;
        if(C != -1)
            s = C;
        g = 0;
        if(h != 0 || s > o) goto _L2; else goto _L1
_L1:
        com.mobipocket.common.log.b.WV(4, x < this.h, "OK if previous page");
        i;
        i;
        JVM INSTR dup_x1 ;
        U;
        size();
        true;
        TBA();
        s;
        o;
        JVM INSTR isub ;
        1;
        JVM INSTR icmpne 181;
           goto _L3 _L4
_L3:
        break MISSING_BLOCK_LABEL_84;
_L4:
        break MISSING_BLOCK_LABEL_181;
        com.mobipocket.common.library.reader.b d = (com.mobipocket.common.library.reader.b)U.elementAt(o - 1);
        com.mobipocket.common.log.b.WV(8, !d.wz(), "Wrong element as width as authorized detected. --> default behaviour");
        if(d.wz())
        {
            W a = (W)d;
            x -= a.H;
            a.H = 0;
            com.mobipocket.common.log.b.WV(8, x > this.h, "Element will be out of the screen (x)");
        }
        break MISSING_BLOCK_LABEL_394;
        g = 0;
_L11:
        i;
_L12:
        s;
        JVM INSTR ifle 394;
           goto _L5 _L6
_L5:
        break MISSING_BLOCK_LABEL_190;
_L6:
        break MISSING_BLOCK_LABEL_394;
        if(x - g <= this.h)
            break MISSING_BLOCK_LABEL_394;
        false;
        i;
        i;
        JVM INSTR dup_x2 ;
        s;
        1;
        JVM INSTR isub ;
        true;
        TBA();
        g;
        s;
        JVM INSTR dup ;
        int c;
        c;
_L9:
        U.size();
        JVM INSTR icmpge 256;
           goto _L7 _L8
_L7:
        break MISSING_BLOCK_LABEL_232;
_L8:
        continue; /* Loop/switch isn't completed */
        c++;
        g += ((com.mobipocket.common.library.reader.b)U.elementAt(c)).jk();
        c;
          goto _L9
        if(s != 0 || x - g <= this.h) goto _L11; else goto _L10
_L10:
        com.mobipocket.common.log.b.OX(8, "element bigger than screen or wrong blockquote size.");
        x;
        i;
        JVM INSTR dup_x1 ;
        F;
        JVM INSTR isub ;
        g;
          goto _L12
_L2:
        g = 0;
        int b = s;
_L15:
        U.size();
        JVM INSTR icmpge 339;
           goto _L13 _L14
_L13:
        b++;
        g += ((com.mobipocket.common.library.reader.b)U.elementAt(b)).jk();
        b;
          goto _L15
_L14:
        com.mobipocket.common.library.reader.b b1;
        if(s > 0)
        {
            com.mobipocket.common.library.reader.b e;
            b1 = (com.mobipocket.common.library.reader.b)U.elementAt(s - 1);
            e = b1;
            if(b1.wz() && ((W)e).B == 0)
                x -= e.jk();
        }
        int f;
        x -= g;
        com.mobipocket.common.log.b.WV(8, x > this.h + P.Dt().Bk() || x < 0, "TO BIG !! --> Element out of the screen (x)");
        if((f = P.Su()) == 0)
            f = W.Su();
        if(f != 4 || h != 0) goto _L17; else goto _L16
_L16:
        rdA();
        i;
          goto _L18
_L17:
        UCA();
        i;
_L18:
        w;
        this.a - O;
        JVM INSTR icmple 542;
           goto _L19 _L20
_L19:
        break MISSING_BLOCK_LABEL_506;
_L20:
        break MISSING_BLOCK_LABEL_542;
        if(!PBA())
            break MISSING_BLOCK_LABEL_542;
        i;
        i;
        JVM INSTR dup_x1 ;
        k;
        O;
        w;
        this.a - k;
        JVM INSTR icmple 542;
           goto _L21 _L22
_L21:
        break MISSING_BLOCK_LABEL_538;
_L22:
        break MISSING_BLOCK_LABEL_542;
        pbA();
        if(Y)
            ybA();
        i;
        i;
        JVM INSTR dup2 ;
        u;
        L;
        new Integer(s);
        addElement();
        u;
        m;
        new Integer(O);
        addElement();
        u;
        K;
        new Integer(w);
        addElement();
        O;
        w;
        JVM INSTR iadd ;
        this.a;
        JVM INSTR icmpgt 648;
           goto _L23 _L24
_L23:
        break MISSING_BLOCK_LABEL_632;
_L24:
        break MISSING_BLOCK_LABEL_648;
        if(w <= this.a - k)
            break MISSING_BLOCK_LABEL_655;
        if(!j)
            break MISSING_BLOCK_LABEL_808;
        if(U.size() > 2 || U.size() > 1 && !((com.mobipocket.common.library.reader.b)U.elementAt(1)).wz())
            O = O + (w + (z * E >> 3) + RdA());
        i;
        i;
        JVM INSTR dup_x1 ;
        false;
        Y;
        F;
        g;
        JVM INSTR iadd ;
        ((com.mobipocket.common.library.reader.b)U.elementAt(U.size() - 1)).Ps().Av(this.h - F);
        JVM INSTR iadd ;
        x;
        h;
        0;
        i;
        i;
        JVM INSTR dup_x2 ;
        s;
        o;
        y;
        JVM INSTR ifeq 806;
           goto _L25 _L26
_L25:
        break MISSING_BLOCK_LABEL_794;
_L26:
        break MISSING_BLOCK_LABEL_806;
        TBA(U.size(), true);
        return true;
        if(!U.isEmpty() && o < 3)
        {
            o = s;
            return false;
        } else
        {
            return false;
        }
    }

    private boolean PBA()
    {
        int c = 1;
        int b = 0;
_L4:
        o;
        JVM INSTR icmpge 52;
           goto _L1 _L2
_L1:
        if(c == 0) goto _L2; else goto _L3
_L3:
        com.mobipocket.common.library.reader.b a;
        if(!(a = (com.mobipocket.common.library.reader.b)U.elementAt(b)).wz() && !a.WaA())
            c = 0;
        ++b;
          goto _L4
_L2:
        return c;
    }

    private boolean CdA()
    {
        mbA();
        if(j)
        {
            O = O + (this.a - k);
            return true;
        } else
        {
            return false;
        }
    }

    private boolean QbA(W g)
    {
        int f;
        int e;
        W d;
        int c;
        int b;
        f = 1;
        e = U.size();
        d = null;
        c = 0;
        b = 2;
        if(((com.mobipocket.common.library.reader.b)U.elementAt(e - 1)).WaA())
            b++;
        e;
_L9:
        b;
        JVM INSTR icmplt 195;
           goto _L1 _L2
_L1:
        if(!((com.mobipocket.common.library.reader.b)U.elementAt(e - b)).wz()) goto _L2; else goto _L3
_L3:
        d = (W)U.elementAt(e - b);
        g;
        d;
        JVM INSTR dup_x1 ;
        g.KaA(d.bP());
        aQ();
        py();
        B;
        JVM INSTR ifne 126;
           goto _L4 _L5
_L4:
        x -= d.jk();
          goto _L6
_L5:
        if(d.B != 2 && d.B != 3 && d.B != 1) goto _L2; else goto _L7
_L7:
        c = 1;
        if(d.B != 3) goto _L6; else goto _L8
_L8:
        h;
        h;
        JVM INSTR dup_x1 ;
        JVM INSTR dup ;
        O;
        d.LK();
        JVM INSTR isub ;
        O;
        F;
        x;
_L6:
        b++;
        e;
          goto _L9
_L2:
        BA a;
        if(b > e + 1)
            b = e + 1;
        a = null;
        if(e - 1 >= 0 && ((com.mobipocket.common.library.reader.b)U.elementAt(e - 1)).WaA())
            a = (BA)U.elementAt(e - 1);
        U.setSize((e - b) + 1);
        U.addElement(g);
        h;
        if(c == 0) goto _L11; else goto _L10
_L10:
        U.size();
        true;
        TBA();
        a;
        o = s;
          goto _L12
_L11:
        mbA();
        f;
        a;
_L12:
        JVM INSTR ifnull 336;
           goto _L13 _L14
_L13:
        a.H;
        h;
        JVM INSTR dup_x1 ;
        U;
        size();
        kgA();
        U;
        a;
        addElement();
_L14:
        O += g.LK();
        if(g.B != 3) goto _L16; else goto _L15
_L15:
        f;
        F + g.H;
        g.Ps();
        h;
        JVM INSTR dup_x2 ;
        h;
        F;
        JVM INSTR isub ;
        Av();
        JVM INSTR iadd ;
        x;
        return;
_L16:
        x = F + g.Ps().Av(this.h - F);
        return f;
    }

    boolean hCA(g b)
    {
        int a = 1;
        if(P.Su() == b.Su() || !d) goto _L2; else goto _L1
_L1:
        JVM INSTR new #62  <Class W>;
        c;
        JVM INSTR dup_x1 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
        2;
        b.Ps();
        UBA();
        W();
        RBA();
        a;
_L2:
        P = b;
        return a;
    }

    CA taA()
    {
        if(J.cDA())
            return com.mobipocket.common.library.reader.n.XAA(J).taA();
        if(r.size() > 0)
            return (CA)r.elementAt(r.size() - 1);
        else
            return null;
    }

    void EAA(CA b, int a)
    {
        if(J.cDA())
        {
            com.mobipocket.common.library.reader.n.XAA(J).EAA(b, a);
            return;
        }
        hBA();
        r;
        b;
        c;
        JVM INSTR dup_x2 ;
        U;
        size();
        com.mobipocket.common.library.reader.C.ty();
        U;
        new BA(b, P.Ps(), a);
        addElement();
        JVM INSTR pop ;
    }

    void Dz(int b)
    {
        if(J.cDA())
        {
            com.mobipocket.common.library.reader.n.XAA(J).Dz(b);
            return;
        }
        CA a;
        hBA();
        a = com.mobipocket.common.library.reader.C.Qz(r, b);
        if(a != null && a.EY() >= U.size() - 1)
            U.removeElementAt(a.EY());
        com.mobipocket.common.library.reader.C.lZ(r, b, U, U.size() - 1);
    }

    private void pdA()
    {
        int c;
        if((c = U.size()) <= 1 || !((com.mobipocket.common.library.reader.b)U.elementAt(c - 2)).WaA()) goto _L2; else goto _L1
_L1:
        com.mobipocket.common.library.reader.b b = (com.mobipocket.common.library.reader.b)U.elementAt(c - 1);
        BA a = (BA)U.elementAt(c - 2);
        d;
        d;
        JVM INSTR dup_x2 ;
        U;
        c - 2;
        setSize();
        U;
        b;
        addElement();
        H;
        U.size();
        kgA();
        U;
        a;
        addElement();
_L2:
    }

    void EDA()
    {
        u.CaA();
    }

    boolean kBA(int bb, f ab)
    {
        Vector x = new Vector();
        int v = 0;
_L10:
        U.size();
        JVM INSTR icmpge 225;
           goto _L1 _L2
_L1:
        com.mobipocket.common.library.reader.b q;
        if(!(q = (com.mobipocket.common.library.reader.b)U.elementAt(v)).gZ()) goto _L4; else goto _L3
_L3:
        e o;
        if(!(o = (e)q).DY()) goto _L6; else goto _L5
_L5:
        if(!o.uy())
        {
            com.mobipocket.common.log.b.PV("TABLE_FEATURE", "[setEndInformations] A Table which overrun on next page was found so adding it to the next page.");
            x.addElement(o);
        } else
        {
            com.mobipocket.common.log.b.PV("TABLE_FEATURE", "[setEndInformations] A Table which overrun on next page was found but the entire table was moved on the next screen.");
        }
          goto _L4
_L6:
        int m;
        int f;
        m = o.Az();
        com.mobipocket.common.log.b.PV("TABLE_FEATURE", (new StringBuffer()).insert(0, "[setEndInformations] The bottom of the table is displayed so, trying to remove the <table>@").append(m).append(" tag from the TagStack").toString());
        f = 0;
        ab;
_L9:
        JVM INSTR ifnull 217;
           goto _L7 _L4
_L7:
        if(f >= ab.jT()) goto _L4; else goto _L8
_L8:
        if(ab.lU(f) == 44 && ab.IS(f) == m)
        {
            ab.dT(f);
            com.mobipocket.common.log.b.PV("TABLE_FEATURE", (new StringBuffer()).insert(0, "[setEndInformations] The bottom of the table is displayed so, removing the opening tag @ position:").append(m).append(" from the current page TagStack").toString());
        }
        f++;
        ab;
          goto _L9
_L4:
        ++v;
          goto _L10
_L2:
        int w;
        if((w = U.size()) <= this.o || this.o <= 0 || this.j) goto _L12; else goto _L11
_L11:
        Vector y;
        com.mobipocket.common.library.reader.b n;
        com.mobipocket.common.library.reader.b b1;
        y = new Vector((w - this.o) + 1 + 1 + x.size());
        b1 = (com.mobipocket.common.library.reader.b)U.elementAt(this.o - 1);
        n = b1;
        if(!b1.wz() && !n.WaA()) goto _L14; else goto _L13
_L13:
        int r = this.o - 1;
        x;
          goto _L15
_L14:
        r = this.o;
        x;
_L15:
        size();
        JVM INSTR ifle 452;
           goto _L16 _L17
_L16:
        JVM INSTR new #62  <Class W>;
        y;
        JVM INSTR dup_x1 ;
        JVM INSTR dup ;
        JVM INSTR pop2 ;
        JVM INSTR dup ;
        6;
        ((e)x.elementAt(x.size() - 1)).Ps();
        ((e)x.elementAt(x.size() - 1)).ay();
        W();
        addElement();
        int k = 0;
_L20:
        x.size();
        JVM INSTR icmpge 487;
           goto _L18 _L19
_L18:
        break MISSING_BLOCK_LABEL_404;
_L19:
        break MISSING_BLOCK_LABEL_487;
        e h;
        f d = (h = (e)x.elementAt(k)).HY();
        ab.Ss(d);
        ab.hT();
        d = null;
        k++;
        y.addElement(h);
        k;
          goto _L20
_L17:
        y.addElement(new W(6, P.Ps(), ((com.mobipocket.common.library.reader.b)U.elementAt(r)).ay()));
        int i = r;
_L23:
        U.size();
        JVM INSTR icmpge 523;
           goto _L21 _L22
_L21:
        y.addElement(U.elementAt(i++));
        i;
          goto _L23
_L22:
        int j = 0;
        int e;
        for(int g = this.r.size(); j == 0 && g > 0;)
            if((e = ((CA)this.r.elementAt(--g)).uz()) >= r || e == -1)
            {
                if(e >= 0 && e < this.o)
                    ((CA)this.r.elementAt(g)).aFA(r - 1);
                else
                if(((CA)this.r.elementAt(g)).EY() >= r)
                {
                    this.r.setSize(this.r.size() - 1);
                } else
                {
                    CA c = (CA)this.r.elementAt(g);
                    BA b = (BA)U.elementAt(c.EY());
                    CA a = new CA(c, r - 1);
                    y.insertElementAt(new BA(a, b.Ps(), b.ay()), 1);
                }
            } else
            {
                j = 1;
            }

        cb;
        U.setSize(r);
          goto _L24
_L12:
        y = new Vector(1 + x.size());
        com.mobipocket.common.log.b.WV(8, w <= 0, "getNonInsertedFlowElements called but no elements at all in pageObjects");
        if(w <= 0) goto _L26; else goto _L25
_L25:
        y.addElement(new W(6, P.Ps(), ((com.mobipocket.common.library.reader.b)U.elementAt(w - 1)).ay()));
        int s = 0;
_L28:
        x.size();
        JVM INSTR icmpge 873;
           goto _L27 _L26
_L27:
        e p;
        f l = (p = (e)x.elementAt(s)).HY();
        ab.Ss(l);
        l = null;
        s++;
        y.addElement(p);
        s;
          goto _L28
_L26:
        cb;
_L24:
        UBA();
        JVM INSTR dup ;
        int t;
        t;
        JVM INSTR ifge 894;
           goto _L29 _L30
_L29:
        break MISSING_BLOCK_LABEL_883;
_L30:
        break MISSING_BLOCK_LABEL_894;
        com.mobipocket.common.log.b.OX(8, "unknow position");
        t = bb;
        com.mobipocket.common.log.b.PV("TABLE_FEATURE", (new StringBuffer()).insert(0, "[setEndInformations] Page end information setted. Next page begin position:").append(((com.mobipocket.common.library.reader.b)y.elementAt(0)).ay()).append(" Current page end position:").append(t).toString());
        this.u;
        y;
        JVM INSTR dup_x1 ;
        t;
        ab;
        zaA();
        size();
        1;
        JVM INSTR icmpgt 962;
           goto _L31 _L32
_L31:
        break MISSING_BLOCK_LABEL_960;
_L32:
        break MISSING_BLOCK_LABEL_962;
        return true;
        return false;
    }

    private int UBA()
    {
        com.mobipocket.common.log.b.WV(8, U.size() <= 0, "No Elements");
        if(U.size() > 0)
            return ((com.mobipocket.common.library.reader.b)U.elementAt(U.size() - 1)).ay();
        else
            return -1;
    }

    void QdA()
    {
        null;
        a;
        JVM INSTR dup_x1 ;
        JVM INSTR dup_x2 ;
        null;
        u;
        P;
        ucA();
    }

    void ucA()
    {
        if(U != null)
            U.removeAllElements();
        if(r != null)
            r.removeAllElements();
    }

    public int UdA()
    {
        a;
        this.a;
        JVM INSTR swap ;
        O;
        JVM INSTR isub ;
        return;
    }

    static int NbA(R a)
    {
        return a.F;
    }

    static int jBA(R a)
    {
        return a.k;
    }

    static int hDA(R a)
    {
        return a.h;
    }

    static int xdA(R a)
    {
        return a.a;
    }

    static int BDA(R b, int a)
    {
        return b.F = a;
    }

    static int WCA(R b, int a)
    {
        return b.x = a;
    }

    static int YAA(R b, int a)
    {
        return b.k = a;
    }

    static int QCA(R b, int a)
    {
        return b.O = a;
    }

    static int WbA(R b, int a)
    {
        return b.h = a;
    }

    static int NcA(R b, int a)
    {
        return b.a = a;
    }

    static int sCA(R b, int a)
    {
        return b.E = a;
    }

    static g wBA(R a)
    {
        return a.P;
    }

    static int oCA(R a)
    {
        return a.E;
    }

    static g zbA(R a)
    {
        return a.W;
    }

    static boolean gbA(R b, int a)
    {
        return b.j = a;
    }

    static boolean ACA(R a)
    {
        return a.j;
    }

    static int WcA(R a)
    {
        return a.O;
    }

    final boolean R = true;
    final int v = 3;
    public int N;
    public int q;
    private int z;
    private g W;
    final y V;
    final t T;
    C u;
    Vector U;
    Vector r;
    private g P;
    private int x;
    private int O;
    private int w;
    private int t;
    private int p;
    private int Q;
    private boolean Y;
    private int o;
    private int y;
    private int s;
    private int F;
    private int k;
    private int h;
    private int a;
    private boolean j;
    private int E;
    private boolean d;
    public boolean D;
    private int C;
    private boolean L;
    private boolean m;
    private boolean K;
    private boolean G;
    private int f;
    private static final int I = 0;
    private static final int i = 1;
    private static final int g = 2;
    private Vector M;
    n J;
    private static final int A = 3;
    private static final int b = 23;
    private static final int c = 27;
    private static final int l = 25;
    private static final int e = 31;
    private static final int B = 37;
    private static final int H = 34;
}


/*
    DECOMPILATION REPORT

    Decompiled from: /home/ixtab/kindle-touch/fw-533/fs/lib/MobipocketCoreReader.jar
    Total time: 130 ms
    Jad reported messages/errors:
The class file version is 48.0 (only 45.3, 46.0 and 47.0 are supported)
JavaClassFileReadException: can't open input file on `t.class'
JavaClassFileReadException: can't open input file on `n.class'
JavaClassFileReadException: can't open input file on `y.class'
Couldn't fully decompile method <init>
Couldn't fully decompile method cbA
Couldn't fully decompile method bAA
Couldn't fully decompile method ecA
Couldn't fully decompile method xBA
Couldn't fully decompile method gDA
Couldn't fully decompile method ccA
Couldn't fully decompile method hBA
Couldn't fully decompile method RBA
Couldn't fully decompile method BbA
Couldn't fully decompile method KDA
Couldn't fully decompile method pbA
Couldn't fully decompile method kdA
Couldn't fully decompile method UcA
Couldn't fully decompile method rdA
Couldn't fully decompile method ybA
Couldn't fully decompile method zAA
Couldn't fully decompile method mbA
Couldn't fully decompile method abA
Couldn't fully decompile method PBA
Couldn't fully decompile method QbA
Couldn't fully decompile method hCA
Couldn't fully decompile method EAA
Couldn't fully decompile method pdA
Couldn't fully decompile method kBA
Couldn't fully decompile method QdA
Couldn't fully decompile method UdA
    Exit status: 0
    Caught exceptions:
*/


See? Now we're talking obfuscation.
No worse than geekmaster's dither program and it even has more comments than geekmaster uses.
knc1 is offline   Reply With Quote