home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / bookflip / bookflip.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-19  |  20.9 KB  |  1,764 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Frame;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.awt.Label;
  10. import java.awt.LayoutManager;
  11. import java.awt.MediaTracker;
  12. import java.awt.Panel;
  13. import java.awt.Toolkit;
  14. import java.awt.image.DirectColorModel;
  15. import java.awt.image.ImageObserver;
  16. import java.awt.image.MemoryImageSource;
  17. import java.awt.image.PixelGrabber;
  18. import java.io.ByteArrayOutputStream;
  19. import java.io.IOException;
  20. import java.io.InputStream;
  21. import java.io.OutputStream;
  22. import java.net.MalformedURLException;
  23. import java.net.URL;
  24.  
  25. public class bookflip extends Applet implements Runnable, ImageObserver {
  26.    // $FF: renamed from: a java.awt.Frame
  27.    Frame field_0;
  28.    // $FF: renamed from: b boolean
  29.    boolean field_1 = false;
  30.    // $FF: renamed from: c int
  31.    int field_2;
  32.    // $FF: renamed from: d java.lang.String
  33.    final String field_3 = method_25("\u0019%\u0016vy,u\u0004c<\u001e4\u0004ssx\u0016\u000fo\u007f;<F2k/\"H{r>");
  34.    // $FF: renamed from: e int
  35.    int field_4;
  36.    // $FF: renamed from: f int[]
  37.    int[] field_5;
  38.    // $FF: renamed from: g int
  39.    int field_6;
  40.    // $FF: renamed from: h int[]
  41.    int[] field_7;
  42.    // $FF: renamed from: i int
  43.    int field_8 = 1;
  44.    // $FF: renamed from: j long
  45.    long field_9;
  46.    // $FF: renamed from: k int[]
  47.    int[] field_10;
  48.    // $FF: renamed from: l int
  49.    int field_11;
  50.    // $FF: renamed from: m int
  51.    int field_12;
  52.    // $FF: renamed from: n boolean
  53.    boolean field_13 = false;
  54.    // $FF: renamed from: o java.awt.Graphics
  55.    private Graphics field_14;
  56.    // $FF: renamed from: p int
  57.    int field_15;
  58.    // $FF: renamed from: q java.awt.Image
  59.    private Image field_16;
  60.    // $FF: renamed from: r java.awt.Image[]
  61.    Image[] field_17;
  62.    // $FF: renamed from: s int
  63.    int field_18;
  64.    // $FF: renamed from: t boolean[]
  65.    boolean[] field_19;
  66.    // $FF: renamed from: u int
  67.    int field_20;
  68.    // $FF: renamed from: v int
  69.    int field_21;
  70.    // $FF: renamed from: w boolean
  71.    boolean field_22 = false;
  72.    // $FF: renamed from: x boolean
  73.    boolean field_23 = false;
  74.    // $FF: renamed from: y int
  75.    int field_24;
  76.    // $FF: renamed from: z java.net.URL
  77.    URL field_25;
  78.    // $FF: renamed from: A int
  79.    int field_26;
  80.    // $FF: renamed from: B int
  81.    int field_27;
  82.    // $FF: renamed from: C java.lang.String
  83.    String field_28;
  84.    // $FF: renamed from: D java.lang.String
  85.    String field_29;
  86.    // $FF: renamed from: E java.lang.String
  87.    String field_30;
  88.    // $FF: renamed from: F java.lang.String
  89.    String field_31;
  90.    // $FF: renamed from: G java.lang.String
  91.    String field_32;
  92.    // $FF: renamed from: H java.lang.String
  93.    String field_33;
  94.    // $FF: renamed from: I java.lang.String
  95.    String field_34;
  96.    // $FF: renamed from: J java.lang.String
  97.    String field_35;
  98.    // $FF: renamed from: K boolean
  99.    boolean field_36 = false;
  100.    // $FF: renamed from: L int
  101.    int field_37;
  102.    // $FF: renamed from: M java.awt.Graphics
  103.    private Graphics field_38;
  104.    // $FF: renamed from: N java.awt.Image
  105.    private Image field_39;
  106.    // $FF: renamed from: O boolean
  107.    boolean field_40 = false;
  108.    // $FF: renamed from: P int
  109.    int field_41;
  110.    // $FF: renamed from: Q java.awt.Image
  111.    private Image field_42;
  112.    // $FF: renamed from: R int
  113.    int field_43;
  114.    // $FF: renamed from: S int
  115.    int field_44;
  116.    // $FF: renamed from: T int
  117.    int field_45;
  118.    // $FF: renamed from: U java.lang.String[]
  119.    String[] field_46;
  120.    // $FF: renamed from: V int
  121.    int field_47;
  122.    // $FF: renamed from: W int
  123.    int field_48 = -1;
  124.    // $FF: renamed from: X int
  125.    int field_49 = 9;
  126.    // $FF: renamed from: Y anfy
  127.    anfy field_50;
  128.    // $FF: renamed from: Z java.awt.image.MemoryImageSource
  129.    MemoryImageSource field_51;
  130.    // $FF: renamed from: ba int
  131.    int field_52;
  132.    // $FF: renamed from: bb int
  133.    int field_53;
  134.    // $FF: renamed from: bc boolean
  135.    boolean field_54 = false;
  136.    // $FF: renamed from: bd int
  137.    int field_55 = 1;
  138.    // $FF: renamed from: be int[]
  139.    int[] field_56;
  140.    // $FF: renamed from: bf int[]
  141.    int[] field_57;
  142.    // $FF: renamed from: bg int
  143.    int field_58 = 1;
  144.    // $FF: renamed from: bh int
  145.    int field_59 = 50;
  146.    // $FF: renamed from: bi float[]
  147.    float[] field_60;
  148.    // $FF: renamed from: bj int[]
  149.    int[] field_61;
  150.    // $FF: renamed from: bk int[]
  151.    int[] field_62;
  152.    // $FF: renamed from: bl int[]
  153.    int[] field_63;
  154.    // $FF: renamed from: bm int[]
  155.    int[] field_64;
  156.    // $FF: renamed from: bn int
  157.    int field_65;
  158.    // $FF: renamed from: bo int
  159.    int field_66;
  160.    // $FF: renamed from: bp int
  161.    int field_67;
  162.    // $FF: renamed from: bq int[][]
  163.    int[][] field_68;
  164.    // $FF: renamed from: br int
  165.    int field_69;
  166.    // $FF: renamed from: bs java.lang.String[]
  167.    String[] field_70;
  168.    // $FF: renamed from: bt java.awt.Toolkit
  169.    Toolkit field_71;
  170.    // $FF: renamed from: bu java.lang.Thread
  171.    Thread field_72;
  172.    // $FF: renamed from: bv int
  173.    int field_73;
  174.    // $FF: renamed from: bw java.lang.String[]
  175.    String[] field_74;
  176.    // $FF: renamed from: bx int
  177.    int field_75;
  178.    // $FF: renamed from: by boolean
  179.    boolean field_76 = false;
  180.    // $FF: renamed from: bz Lware
  181.    Lware field_77;
  182.    // $FF: renamed from: bA int
  183.    int field_78;
  184.    // $FF: renamed from: bB int
  185.    int field_79;
  186.  
  187.    // $FF: renamed from: a () void
  188.    private final void method_0() {
  189.       while(true) {
  190.          ((Applet)this).showStatus(method_25("\u001c:\b=hx'\u0003ws.0Fmk/{\u0007tz!?\u0007l}v6\tw<;'\u0003~u,&Fvu60Fsrx\u001d2WPy"));
  191.  
  192.          try {
  193.             Thread.sleep(500L);
  194.          } catch (InterruptedException var1) {
  195.          }
  196.       }
  197.    }
  198.  
  199.    // $FF: renamed from: b () boolean
  200.    public synchronized boolean method_1() {
  201.       ((Component)this).prepareImage(this.field_42, this);
  202.       if (!this.field_23) {
  203.          return false;
  204.       } else {
  205.          for(int var1 = 0; var1 < 3; ++var1) {
  206.             this.notifyAll();
  207.             Thread.yield();
  208.  
  209.             try {
  210.                Thread.sleep(100L);
  211.             } catch (InterruptedException var2) {
  212.             }
  213.          }
  214.  
  215.          return this.field_40;
  216.       }
  217.    }
  218.  
  219.    // $FF: renamed from: a (int) void
  220.    public void method_2(int var1) {
  221.       int var2 = (this.field_75 - this.field_21) / 2;
  222.       int var3 = (this.field_15 - this.field_18) / 2;
  223.       int var4 = var2 + var3 * this.field_75;
  224.       int[] var5 = this.field_68[var1];
  225.       int[] var6 = this.field_7;
  226.       int var7 = this.field_20;
  227.       int var8 = var4;
  228.  
  229.       try {
  230.          System.arraycopy(var5, 0, var6, var8, var7);
  231.       } catch (ArrayIndexOutOfBoundsException var9) {
  232.       } catch (ArrayStoreException var10) {
  233.       }
  234.  
  235.       this.field_48 = -1;
  236.       this.field_76 = true;
  237.    }
  238.  
  239.    // $FF: renamed from: c () void
  240.    public void method_3() {
  241.       this.field_12 = this.field_59 / 2;
  242.       this.field_61 = new int[this.field_59];
  243.       this.field_62 = new int[this.field_59];
  244.       double var2 = Math.PI / (double)(this.field_59 * 2);
  245.  
  246.       for(int var1 = 0; var1 < this.field_59; ++var1) {
  247.          this.field_61[var1] = (int)(Math.cos((double)var1 * var2 + (Math.PI * 1.5D)) * (double)this.field_12);
  248.          this.field_62[var1] = (int)((double)this.field_12 + Math.sin((double)var1 * var2 + (Math.PI * 1.5D)) * (double)this.field_12);
  249.       }
  250.  
  251.       this.field_60 = new float[this.field_59];
  252.       int var4 = this.field_59 / 2;
  253.       float var5 = (float)((double)this.field_66 / (double)var4);
  254.  
  255.       for(int var6 = 0; var6 < var4; ++var6) {
  256.          this.field_60[var6] = (255.0F - (float)var6 * var5) / 255.0F;
  257.       }
  258.  
  259.       for(int var7 = var4 - 1; var7 > -1; --var7) {
  260.          this.field_60[var4 + var7] = this.field_60[var4 - var7 - 1];
  261.       }
  262.  
  263.       var5 = (float)((double)this.field_67 / (double)var4);
  264.  
  265.       for(int var8 = 0; var8 < var4; ++var8) {
  266.          this.field_60[var8] = (255.0F - (float)var8 * var5) / 255.0F;
  267.       }
  268.  
  269.    }
  270.  
  271.    public void destroy() {
  272.       if (this.field_42 != null) {
  273.          this.field_42.flush();
  274.       }
  275.  
  276.       this.field_42 = null;
  277.       if (this.field_39 != null) {
  278.          this.field_39.flush();
  279.       }
  280.  
  281.       this.field_39 = null;
  282.       if (this.field_38 != null) {
  283.          this.field_38.dispose();
  284.       }
  285.  
  286.       this.field_38 = null;
  287.       System.gc();
  288.    }
  289.  
  290.    // $FF: renamed from: d () void
  291.    public void method_4() {
  292.       if (this.field_48 == -1) {
  293.          if (!this.field_19[this.field_57[this.field_58]]) {
  294.             this.method_9(this.field_57[this.field_58]);
  295.          }
  296.  
  297.          switch (this.field_56[this.field_58]) {
  298.             case 0:
  299.                this.field_48 = 21;
  300.                this.field_49 = 1;
  301.                this.field_24 = this.field_57[this.field_58];
  302.                break;
  303.             case 1:
  304.                this.field_48 = 21;
  305.                this.field_49 = 2;
  306.                this.field_24 = this.field_57[this.field_58];
  307.                break;
  308.             case 2:
  309.                this.field_48 = 21;
  310.                this.field_49 = 3;
  311.                this.field_24 = this.field_57[this.field_58];
  312.                break;
  313.             case 3:
  314.                this.field_48 = 21;
  315.                this.field_49 = 4;
  316.                this.field_24 = this.field_57[this.field_58];
  317.                break;
  318.             case 4:
  319.                this.field_48 = 11;
  320.                this.field_49 = 1;
  321.                this.field_24 = this.field_57[this.field_58];
  322.                break;
  323.             case 5:
  324.                this.field_48 = 11;
  325.                this.field_49 = 2;
  326.                this.field_24 = this.field_57[this.field_58];
  327.                break;
  328.             case 6:
  329.                this.field_48 = 11;
  330.                this.field_49 = 3;
  331.                this.field_24 = this.field_57[this.field_58];
  332.                break;
  333.             case 7:
  334.                this.field_48 = 11;
  335.                this.field_49 = 4;
  336.                this.field_24 = this.field_57[this.field_58];
  337.                break;
  338.             case 8:
  339.                this.method_2(this.field_57[this.field_58]);
  340.          }
  341.  
  342.          ++this.field_58;
  343.          if (this.field_58 >= this.field_2) {
  344.             this.field_58 = 0;
  345.          }
  346.  
  347.          this.field_8 = this.field_58 / 2 + 1;
  348.          if (this.field_22) {
  349.             ((Applet)this).showStatus(this.field_70[this.field_8 - 1]);
  350.          }
  351.  
  352.          if (!this.field_74[this.field_8 - 1].equalsIgnoreCase("NO")) {
  353.             this.field_0.setCursor(12);
  354.          } else {
  355.             this.field_0.setCursor(0);
  356.          }
  357.  
  358.          this.field_5 = this.field_68[this.field_24];
  359.       }
  360.  
  361.       if (this.field_48 == 11) {
  362.          this.field_78 = this.field_21;
  363.          this.field_48 = 1;
  364.       }
  365.  
  366.       if (this.field_48 == 1) {
  367.          this.field_78 -= this.field_69;
  368.          if (this.field_78 < -2 * this.field_18) {
  369.             this.field_48 = -1;
  370.          }
  371.       }
  372.  
  373.       if (this.field_48 == 21) {
  374.          this.field_78 = -2 * this.field_18;
  375.          this.field_48 = 2;
  376.       }
  377.  
  378.       if (this.field_48 == 2) {
  379.          this.field_78 += this.field_69;
  380.          if (this.field_78 > this.field_75) {
  381.             this.field_48 = -1;
  382.          }
  383.       }
  384.  
  385.    }
  386.  
  387.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  388.    Image method_5(String var1) {
  389.       try {
  390.          return this.method_6(var1);
  391.       } catch (NoSuchMethodError var2) {
  392.          return this.method_6(var1);
  393.       }
  394.    }
  395.  
  396.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  397.    synchronized Image method_6(String var1) {
  398.       URL var2 = null;
  399.       Image var3 = null;
  400.  
  401.       try {
  402.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  403.       } catch (MalformedURLException var14) {
  404.       }
  405.  
  406.       try {
  407.          try {
  408.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  409.             if (var4 != null) {
  410.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  411.                byte[] var6 = new byte[512];
  412.                boolean var8 = false;
  413.                Object var9 = null;
  414.  
  415.                try {
  416.                   while(!var8) {
  417.                      int var7 = var4.read(var6, 0, 512);
  418.                      if (var7 != -1) {
  419.                         var5.write(var6, 0, var7);
  420.                         ((OutputStream)var5).flush();
  421.                      } else {
  422.                         var8 = true;
  423.                      }
  424.                   }
  425.  
  426.                   var21 = var5.toByteArray();
  427.                   ((OutputStream)var5).close();
  428.                   var4.close();
  429.                } catch (IOException var15) {
  430.                   var21 = null;
  431.                }
  432.  
  433.                System.gc();
  434.                if (var21 != null) {
  435.                   var3 = ((Component)this).getToolkit().createImage(var21);
  436.                   ((Component)this).prepareImage(var3, this);
  437.                }
  438.             }
  439.          } catch (NoSuchMethodError var16) {
  440.          }
  441.       } catch (SecurityException var17) {
  442.       }
  443.  
  444.       if (var3 == null) {
  445.          int var18 = 0;
  446.  
  447.          while(var18 < 5) {
  448.             try {
  449.                if (var18 % 2 == 0) {
  450.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  451.                } else {
  452.                   var3 = ((Applet)this).getImage(var2);
  453.                }
  454.  
  455.                ++var18;
  456.                MediaTracker var20 = new MediaTracker(this);
  457.                this.notifyAll();
  458.                Thread.currentThread();
  459.                Thread.yield();
  460.  
  461.                try {
  462.                   var20.addImage(var3, 0);
  463.                   var20.waitForID(0);
  464.                } catch (InterruptedException var12) {
  465.                   var3 = null;
  466.                }
  467.  
  468.                if (var20.isErrorID(0)) {
  469.                   var3 = null;
  470.                } else {
  471.                   var18 = 6;
  472.                }
  473.             } catch (NullPointerException var13) {
  474.                System.gc();
  475.             }
  476.          }
  477.       }
  478.  
  479.       if (var3 == null) {
  480.          for(int var19 = 0; var19 < 25; ++var19) {
  481.             ((Applet)this).showStatus(method_25("\u00118\u0007}yx") + var1 + method_25("x;\tn<>:\u0013txy"));
  482.  
  483.             try {
  484.                Thread.currentThread();
  485.                Thread.sleep(250L);
  486.             } catch (InterruptedException var11) {
  487.             }
  488.          }
  489.       } else {
  490.          while(var3.getWidth(this) < 0) {
  491.             this.notifyAll();
  492.             Thread.currentThread();
  493.             Thread.yield();
  494.  
  495.             try {
  496.                Thread.currentThread();
  497.                Thread.sleep(100L);
  498.             } catch (InterruptedException var10) {
  499.             }
  500.          }
  501.       }
  502.  
  503.       return var3;
  504.    }
  505.  
  506.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  507.       if (var1 == this.field_42) {
  508.          if (var2 == 16) {
  509.             this.field_40 = true;
  510.          }
  511.  
  512.          return true;
  513.       } else {
  514.          return true;
  515.       }
  516.    }
  517.  
  518.    public void init() {
  519.       ((Container)this).setLayout((LayoutManager)null);
  520.       ((Panel)this).addNotify();
  521.       this.field_71 = ((Component)this).getToolkit();
  522.       Object var1 = null;
  523.       String var38 = ((Applet)this).getParameter(method_25(";'\u0003~u,&"));
  524.       if (var38 != null) {
  525.          if (!var38.startsWith(method_25("\u0019%\u0016vy,u\u0004c<\u001e4\u0004ssx\u0016\u000fo\u007f;<F2k/\"H{r>"))) {
  526.             this.method_0();
  527.          }
  528.       } else {
  529.          this.method_0();
  530.       }
  531.  
  532.       Object var2 = null;
  533.       Object var3 = null;
  534.  
  535.       try {
  536.          var39 = ((Applet)this).getDocumentBase().getProtocol();
  537.       } catch (SecurityException var35) {
  538.          var39 = method_25("><\n\u007f");
  539.       }
  540.  
  541.       try {
  542.          var40 = ((Applet)this).getDocumentBase().getHost();
  543.       } catch (SecurityException var34) {
  544.          var40 = "";
  545.       }
  546.  
  547.       if (!var39.equalsIgnoreCase(method_25("><\n\u007f")) && var40.length() != 0 && !var40.equalsIgnoreCase(method_25("4:\u0005{p0:\u0015n")) && !var40.equals(method_25("igQ4,veH+"))) {
  548.          if (var40.startsWith(method_25("/\"\u00114"))) {
  549.             var40 = var40.substring(4);
  550.          }
  551.  
  552.          Object var4 = null;
  553.          String var41 = ((Applet)this).getParameter(method_25("*0\u0001ys<0"));
  554.          if (var41 != null && !var41.equals("NO") && var41.length() > 10) {
  555.             int var5 = 1;
  556.  
  557.             try {
  558.                for(int var6 = 0; var6 < var41.length(); ++var6) {
  559.                   if (var41.charAt(var6) == '+') {
  560.                      ++var5;
  561.                   }
  562.                }
  563.             } catch (StringIndexOutOfBoundsException var37) {
  564.             }
  565.  
  566.             int[] var44 = new int[var5];
  567.             if (var5 == 1) {
  568.                var44[0] = var41.length();
  569.             } else {
  570.                int var7 = 0;
  571.  
  572.                try {
  573.                   for(int var8 = 0; var8 < var41.length(); ++var8) {
  574.                      if (var41.charAt(var8) == '+') {
  575.                         var44[var7] = var8;
  576.                         ++var7;
  577.                      }
  578.                   }
  579.                } catch (StringIndexOutOfBoundsException var36) {
  580.                }
  581.  
  582.                var44[var7] = var41.length();
  583.             }
  584.  
  585.             String[] var46 = new String[var5];
  586.             int var49 = 0;
  587.  
  588.             for(int var9 = 0; var9 < var5; ++var9) {
  589.                try {
  590.                   var46[var9] = var41.substring(var49, var44[var9]);
  591.                } catch (StringIndexOutOfBoundsException var33) {
  592.                }
  593.  
  594.                var49 = var44[var9] + 1;
  595.             }
  596.  
  597.             for(int var10 = 0; var10 < var5; ++var10) {
  598.                int var11 = var46[var10].length() - 8;
  599.                byte[] var15 = new byte[var11];
  600.                byte[] var16 = new byte[8];
  601.                var46[var10].getBytes(0, var11, var15, 0);
  602.                var46[var10].getBytes(var11, var11 + 8, var16, 0);
  603.                int var13 = var11 % 7;
  604.                int var14 = var11 % 3;
  605.  
  606.                for(int var17 = 0; var17 < var11; ++var17) {
  607.                   byte var12 = var15[var17];
  608.                   if (var12 >= 48 && var12 <= 57) {
  609.                      var15[var17] = this.method_19(var12, var13, 48, 57);
  610.                   } else if (var12 >= 65 && var12 <= 90) {
  611.                      var15[var17] = this.method_19(var12, var13, 65, 90);
  612.                   } else if (var12 >= 97 && var12 <= 122) {
  613.                      var15[var17] = this.method_19(var12, var13, 97, 122);
  614.                   } else if (var12 == 45) {
  615.                      var15[var17] = 46;
  616.                   } else if (var12 == 46) {
  617.                      var15[var17] = 45;
  618.                   }
  619.  
  620.                   if ((var13 += var14) > 7) {
  621.                      var13 = 1;
  622.                   }
  623.                }
  624.  
  625.                int var18 = 0;
  626.                int var19 = 0;
  627.  
  628.                for(int var20 = 0; var20 < 4; ++var20) {
  629.                   var16[var20] = (byte)(var16[var20] - 52);
  630.                }
  631.  
  632.                for(int var21 = 4; var21 < 8; ++var21) {
  633.                   var16[var21] = (byte)(var16[var21] - 55);
  634.                }
  635.  
  636.                for(int var22 = 0; var22 < var11; var22 += 2) {
  637.                   var18 += var15[var22];
  638.                }
  639.  
  640.                for(int var23 = 1; var23 < var11; var23 += 2) {
  641.                   var19 += var15[var23];
  642.                }
  643.  
  644.                String var24 = String.valueOf(var18);
  645.  
  646.                String var25;
  647.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  648.                }
  649.  
  650.                while(var25.length() < 4) {
  651.                   var25 = "0" + var25;
  652.                }
  653.  
  654.                byte[] var26 = new byte[8];
  655.                var24.getBytes(0, 4, var26, 0);
  656.                var25.getBytes(0, 4, var26, 4);
  657.                String var27 = new String(var26, 0);
  658.                if (var27.equals(new String(var16, 0))) {
  659.                   String var28 = new String(var15, 0);
  660.                   Object var29 = null;
  661.                   String var65;
  662.                   if (var28.startsWith(method_25("/\"\u00114"))) {
  663.                      var65 = var28.substring(4);
  664.                   } else {
  665.                      var65 = var28;
  666.                   }
  667.  
  668.                   if (var40.equalsIgnoreCase(var65)) {
  669.                      this.field_54 = true;
  670.                   }
  671.                }
  672.             }
  673.          }
  674.       } else {
  675.          this.field_54 = true;
  676.       }
  677.  
  678.       String var42 = ((Applet)this).getParameter(method_25("*0\u0001ty/3\u0014{q="));
  679.       if (var42.equalsIgnoreCase(method_25("\u0001\u00105"))) {
  680.          this.field_36 = true;
  681.       }
  682.  
  683.       this.field_33 = ((Applet)this).getParameter(method_25("\u0015<\bIE\u0016\u0016"));
  684.       if (this.field_33 == null) {
  685.          this.field_33 = "10";
  686.       }
  687.  
  688.       this.field_27 = Integer.valueOf(this.field_33);
  689.       this.field_13 = false;
  690.  
  691.       Container var43;
  692.       for(var43 = ((Component)this).getParent(); !(var43 instanceof Frame); var43 = ((Component)var43).getParent()) {
  693.       }
  694.  
  695.       this.field_0 = (Frame)var43;
  696.       this.field_0.setCursor(3);
  697.       String var45 = ((Applet)this).getParameter(method_25("7#\u0003hu52"));
  698.       if (var45 != null && !var45.equalsIgnoreCase("NO")) {
  699.          this.field_42 = this.method_5(var45);
  700.          if (this.field_42 != null) {
  701.             String var47 = ((Applet)this).getParameter(method_25("7#\u0003hu52>"));
  702.             if (var47 == null) {
  703.                var47 = "0";
  704.             }
  705.  
  706.             this.field_43 = Integer.valueOf(var47);
  707.             String var50 = ((Applet)this).getParameter(method_25("7#\u0003hu52?"));
  708.             if (var50 == null) {
  709.                var50 = "0";
  710.             }
  711.  
  712.             this.field_44 = Integer.valueOf(var50);
  713.          }
  714.       }
  715.  
  716.       this.field_28 = ((Applet)this).getParameter(method_25("*0\u0015"));
  717.       if (this.field_28 == null) {
  718.          this.field_28 = "1";
  719.       }
  720.  
  721.       this.field_29 = ((Applet)this).getParameter(method_25("+%\u0003\u007fx"));
  722.       if (this.field_29 == null) {
  723.          this.field_29 = "8";
  724.       }
  725.  
  726.       this.field_30 = ((Applet)this).getParameter(method_25("(4\u0013iy"));
  727.       if (this.field_30 == null) {
  728.          this.field_30 = method_25("i`V*");
  729.       }
  730.  
  731.       this.field_55 = Integer.valueOf(this.field_28);
  732.       this.field_69 = Integer.valueOf(this.field_29);
  733.       this.field_45 = Integer.valueOf(this.field_30);
  734.       this.field_34 = ((Applet)this).getParameter(method_25("50\u000b~y44\u001f"));
  735.       this.field_35 = ((Applet)this).getParameter(method_25("('\u000fun1!\u001f"));
  736.       this.field_26 = Integer.valueOf(this.field_34);
  737.       this.field_47 = Integer.valueOf(this.field_35);
  738.       if (this.field_26 < 0) {
  739.          this.field_26 = 0;
  740.       }
  741.  
  742.       if (this.field_47 > 10) {
  743.          this.field_47 = 10;
  744.       } else if (this.field_47 < 1) {
  745.          this.field_47 = 1;
  746.       }
  747.  
  748.       for(this.field_37 = 1; ((Applet)this).getParameter(method_25("18\u0007}y") + String.valueOf(this.field_37)) != null; ++this.field_37) {
  749.       }
  750.  
  751.       --this.field_37;
  752.       if (this.field_37 <= 1) {
  753.          while(true) {
  754.             ((Applet)this).showStatus(method_25("\u00199\u000buo,uT:u54\u0001\u007fox'\u0003ki1'\u0003~="));
  755.          }
  756.       }
  757.  
  758.       this.field_46 = new String[this.field_37];
  759.       this.field_74 = new String[this.field_37];
  760.       this.field_70 = new String[this.field_37];
  761.       int[] var48 = new int[this.field_37 + 1];
  762.  
  763.       for(int var51 = 0; var51 < this.field_37; ++var51) {
  764.          this.field_46[var51] = ((Applet)this).getParameter(method_25("18\u0007}y") + String.valueOf(var51 + 1));
  765.       }
  766.  
  767.       for(int var52 = 0; var52 < this.field_37; ++var52) {
  768.          this.field_74[var52] = ((Applet)this).getParameter(method_25("4<\bq") + String.valueOf(var52 + 1));
  769.          this.field_70[var52] = ((Applet)this).getParameter(method_25("+!\u0007ni+8\u0015}") + String.valueOf(var52 + 1));
  770.          var48[var52] = Integer.valueOf(((Applet)this).getParameter(method_25(">9\u000fj") + String.valueOf(var52 + 1)));
  771.       }
  772.  
  773.       var48[this.field_37] = var48[0];
  774.       this.field_34 = ((Applet)this).getParameter(method_25("=-\u0012h}0"));
  775.       if (this.field_34 == null) {
  776.          this.field_34 = "0";
  777.       }
  778.  
  779.       this.field_11 = Integer.valueOf(this.field_34);
  780.       this.field_34 = ((Applet)this).getParameter(method_25(">9\u000fj\u007f-'\u0010\u007f"));
  781.       if (this.field_34 == null) {
  782.          this.field_34 = "0";
  783.       }
  784.  
  785.       this.field_59 = Integer.valueOf(this.field_34) * this.field_59;
  786.       if (this.field_59 > 500) {
  787.          this.field_59 = 500;
  788.       } else if (this.field_59 < 50) {
  789.          this.field_59 = 50;
  790.       }
  791.  
  792.       this.field_34 = ((Applet)this).getParameter(method_25("+=\u0007~u62"));
  793.       if (this.field_34 == null) {
  794.          this.field_34 = "4";
  795.       }
  796.  
  797.       this.field_66 = Integer.valueOf(this.field_34) * 64 - 1;
  798.       if (this.field_66 < 0) {
  799.          this.field_66 = 0;
  800.       }
  801.  
  802.       this.field_67 = (int)((float)this.field_66 / 1.5F);
  803.       this.field_34 = ((Applet)this).getParameter(method_25(":4\u0005qn"));
  804.       if (this.field_34 == null) {
  805.          this.field_34 = "64";
  806.       }
  807.  
  808.       int var53 = Integer.valueOf(this.field_34);
  809.       this.field_34 = ((Applet)this).getParameter(method_25(":4\u0005q{"));
  810.       if (this.field_34 == null) {
  811.          this.field_34 = "96";
  812.       }
  813.  
  814.       int var54 = Integer.valueOf(this.field_34);
  815.       this.field_34 = ((Applet)this).getParameter(method_25(":4\u0005q~"));
  816.       if (this.field_34 == null) {
  817.          this.field_34 = method_25("icV");
  818.       }
  819.  
  820.       int var55 = Integer.valueOf(this.field_34);
  821.       this.field_4 = var53 << 16 | var54 << 8 | var55;
  822.       this.field_34 = ((Applet)this).getParameter(method_25("=-\u0012h}0"));
  823.       if (this.field_34 == null) {
  824.          this.field_34 = "0";
  825.       }
  826.  
  827.       this.field_11 = Integer.valueOf(this.field_34);
  828.       this.field_75 = ((Component)this).size().width / this.field_55;
  829.       this.field_15 = ((Component)this).size().height / this.field_55;
  830.       this.field_53 = this.field_75 * this.field_55;
  831.       this.field_52 = this.field_15 * this.field_55;
  832.       this.field_21 = this.field_75;
  833.       this.field_18 = this.field_15 - this.field_11;
  834.       this.field_73 = this.field_75 * this.field_15;
  835.       this.field_20 = this.field_21 * this.field_18;
  836.       this.field_79 = (this.field_15 - this.field_18) / 2;
  837.       this.field_7 = new int[this.field_73];
  838.  
  839.       for(int var56 = 0; var56 < this.field_73; ++var56) {
  840.          this.field_7[var56] = this.field_4;
  841.       }
  842.  
  843.       this.field_10 = new int[this.field_73];
  844.  
  845.       try {
  846.          System.arraycopy(this.field_7, 0, this.field_10, 0, this.field_73);
  847.       } catch (ArrayIndexOutOfBoundsException var31) {
  848.       } catch (ArrayStoreException var32) {
  849.       }
  850.  
  851.       try {
  852.          this.method_7();
  853.       } catch (NoSuchMethodError var30) {
  854.          this.method_7();
  855.       }
  856.  
  857.       int var58 = 0;
  858.       this.field_2 = this.field_37 * 2;
  859.       this.field_56 = new int[this.field_2];
  860.       this.field_57 = new int[this.field_2];
  861.       int var60 = 0;
  862.  
  863.       for(int var62 = 0; var62 < this.field_37; ++var62) {
  864.          int var57 = var48[var62];
  865.          var60 = var48[var62 + 1];
  866.          this.field_56[var58] = var57;
  867.          if (var57 < 4) {
  868.             this.field_57[var58++] = var62;
  869.          } else if (var62 > 0) {
  870.             this.field_57[var58++] = var62 - 1;
  871.          } else {
  872.             this.field_57[var58++] = this.field_37 - 1;
  873.          }
  874.  
  875.          this.field_56[var58] = 8;
  876.          if (var60 < 4) {
  877.             this.field_57[var58++] = var62;
  878.          } else if (var62 < this.field_37 - 1) {
  879.             this.field_57[var58++] = var62 + 1;
  880.          } else {
  881.             this.field_57[var58++] = 0;
  882.          }
  883.       }
  884.  
  885.       this.field_19 = new boolean[this.field_37];
  886.       this.field_64 = new int[this.field_37];
  887.       this.field_63 = new int[this.field_37];
  888.  
  889.       for(int var63 = 0; var63 < this.field_37; ++var63) {
  890.          this.field_19[var63] = false;
  891.       }
  892.  
  893.       this.field_8 = 1;
  894.       this.method_3();
  895.       this.field_17 = new Image[2];
  896.       this.field_68 = new int[this.field_37][this.field_20];
  897.       this.field_39 = ((Component)this).createImage(this.field_53, this.field_52);
  898.       this.field_38 = this.field_39.getGraphics();
  899.       if (!this.field_54) {
  900.          Label var64 = new Label(method_25("\u001a:\tqZ4<\u0016:}(%\n\u007fhx7\u001f:Z97\u000fu<\u001b<\u0013y\u007f1uW#%`{"));
  901.          this.field_77 = new Lware(((Applet)this).getAppletContext(), var64);
  902.          this.field_77.setTitle(method_25("\u001a:\tqZ4<\u0016:](%\n\u007fhx7\u001f:Z97\u000fu<\u001b<\u0013y\u007f1"));
  903.          this.field_77.hide();
  904.       }
  905.  
  906.    }
  907.  
  908.    // $FF: renamed from: e () void
  909.    void method_7() {
  910.       this.field_51 = new MemoryImageSource(this.field_75, this.field_15, new DirectColorModel(24, 16711680, 65280, 255), this.field_10, 0, this.field_75);
  911.  
  912.       String var1;
  913.       try {
  914.          var1 = System.getProperty(method_25("24\u0010{2.0\u0014iu7;"));
  915.       } catch (SecurityException var3) {
  916.          var1 = method_25("-;\r");
  917.       }
  918.  
  919.       if (!var1.startsWith(method_25("i{V"))) {
  920.          try {
  921.             this.field_51.setAnimated(true);
  922.             this.field_51.setFullBufferUpdates(true);
  923.             this.field_16 = ((Component)this).createImage(this.field_51);
  924.             this.field_51.newPixels();
  925.             this.field_23 = true;
  926.          } catch (NoSuchMethodError var2) {
  927.             this.field_23 = false;
  928.          }
  929.       }
  930.  
  931.       if (!this.field_23) {
  932.          this.field_51 = null;
  933.          this.field_50 = new anfy(this.field_75, this.field_15, new DirectColorModel(24, 16711680, 65280, 255), this.field_10, 0, this.field_75);
  934.          this.field_16 = ((Component)this).createImage(this.field_50);
  935.       }
  936.  
  937.    }
  938.  
  939.    // $FF: renamed from: f () boolean
  940.    private final synchronized boolean method_8() {
  941.       new MediaTracker(this);
  942.  
  943.       for(int var1 = 0; var1 < 2; ++var1) {
  944.          ((Applet)this).showStatus(method_25("\u00118\u0007}yx") + String.valueOf(var1 + 1));
  945.          this.field_17[var1] = this.method_5(this.field_46[var1]);
  946.          if (this.field_17[var1] == null) {
  947.             ((Applet)this).showStatus(method_25("\u001d'\u0014unx9\t{x1;\u0001:u54\u0001\u007f<") + String.valueOf(var1 + 1));
  948.             return false;
  949.          }
  950.  
  951.          this.field_19[var1] = true;
  952.          this.field_64[var1] = this.field_17[var1].getWidth(this);
  953.          this.field_63[var1] = this.field_17[var1].getHeight(this);
  954.          if (var1 != 0 && (this.field_64[var1] != this.field_64[var1 - 1] || this.field_63[var1] != this.field_63[var1 - 1])) {
  955.             ((Applet)this).showStatus(method_25("\u001d'\u0014unyu/w}?0\u0015:Q\r\u00062:~=u\u0012ryx&\u0007wyx&\u000f`yy"));
  956.          }
  957.  
  958.          int[] var2 = this.field_68[var1];
  959.          if (!this.method_10(this.field_17[var1], var2)) {
  960.             return false;
  961.          }
  962.  
  963.          if (var1 == 0) {
  964.             this.method_2(0);
  965.  
  966.             try {
  967.                System.arraycopy(this.field_7, 0, this.field_10, 0, this.field_73);
  968.             } catch (ArrayIndexOutOfBoundsException var4) {
  969.             } catch (ArrayStoreException var5) {
  970.             }
  971.  
  972.             try {
  973.                this.method_18();
  974.             } catch (NoSuchMethodError var3) {
  975.             }
  976.  
  977.             ((Component)this).repaint();
  978.          }
  979.       }
  980.  
  981.       this.field_17[1].flush();
  982.       this.field_17[1] = null;
  983.       System.gc();
  984.       return true;
  985.    }
  986.  
  987.    // $FF: renamed from: b (int) boolean
  988.    private final synchronized boolean method_9(int var1) {
  989.       new MediaTracker(this);
  990.       Image var3 = this.method_5(this.field_46[var1]);
  991.       if (var3 == null) {
  992.          ((Applet)this).showStatus(method_25("\u001d'\u0014unx9\t{x1;\u0001:u54\u0001\u007f<") + String.valueOf(var1 + 1));
  993.          return false;
  994.       } else {
  995.          this.field_19[var1] = true;
  996.          int[] var4 = this.field_68[var1];
  997.          if (!this.method_10(var3, var4)) {
  998.             return false;
  999.          } else {
  1000.             var3.flush();
  1001.             Object var5 = null;
  1002.             System.gc();
  1003.             return true;
  1004.          }
  1005.       }
  1006.    }
  1007.  
  1008.    public final boolean mouseDown(Event var1, int var2, int var3) {
  1009.       if (!this.field_54) {
  1010.          this.field_77.show();
  1011.          this.field_77.toFront();
  1012.          this.field_77.requestFocus();
  1013.       } else {
  1014.          this.field_25 = null;
  1015.          if (!this.field_74[this.field_8 - 1].equalsIgnoreCase("NO")) {
  1016.             ((Applet)this).showStatus(method_25("\u001f:\u000ft{x!\t:l92\u0003:") + String.valueOf(this.field_8));
  1017.  
  1018.             try {
  1019.                this.field_25 = new URL(((Applet)this).getDocumentBase(), this.field_74[this.field_8 - 1]);
  1020.             } catch (MalformedURLException var4) {
  1021.                ((Applet)this).showStatus(method_25("\u001d'\u0014unx9\u000ftw1;\u0001"));
  1022.                return true;
  1023.             }
  1024.  
  1025.             if (this.field_25 != null) {
  1026.                if (this.field_36) {
  1027.                   ((Applet)this).getAppletContext().showDocument(this.field_25, ((Applet)this).getParameter(method_25("*0\u0001|n98\u0003t}50")));
  1028.                } else {
  1029.                   ((Applet)this).getAppletContext().showDocument(this.field_25);
  1030.                }
  1031.             }
  1032.          }
  1033.       }
  1034.  
  1035.       return true;
  1036.    }
  1037.  
  1038.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1039.       if (!this.field_74[this.field_8 - 1].equalsIgnoreCase("NO")) {
  1040.          this.field_0.setCursor(12);
  1041.       } else {
  1042.          this.field_0.setCursor(0);
  1043.       }
  1044.  
  1045.       this.field_22 = true;
  1046.       ((Applet)this).showStatus(this.field_70[this.field_8 - 1]);
  1047.       return true;
  1048.    }
  1049.  
  1050.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1051.       this.field_22 = false;
  1052.       ((Applet)this).showStatus("");
  1053.       return true;
  1054.    }
  1055.  
  1056.    public final boolean mouseMove(Event var1, int var2, int var3) {
  1057.       if (this.field_41 != this.field_8) {
  1058.          ((Applet)this).showStatus(this.field_70[this.field_8 - 1]);
  1059.       }
  1060.  
  1061.       this.field_41 = this.field_8;
  1062.       return true;
  1063.    }
  1064.  
  1065.    // $FF: renamed from: a (java.awt.Image, int[]) boolean
  1066.    private boolean method_10(Image var1, int[] var2) {
  1067.       PixelGrabber var3 = new PixelGrabber(var1, 0, 0, this.field_21, this.field_18, var2, 0, this.field_21);
  1068.  
  1069.       try {
  1070.          var3.grabPixels();
  1071.          return true;
  1072.       } catch (InterruptedException var4) {
  1073.          return false;
  1074.       }
  1075.    }
  1076.  
  1077.    // $FF: renamed from: g () void
  1078.    public void method_11() {
  1079.       boolean var1 = false;
  1080.       boolean var2 = false;
  1081.       int var4 = 0;
  1082.       int var5 = this.field_78 + this.field_59;
  1083.       int var6 = this.field_78 + this.field_12;
  1084.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1085.       int[] var8 = this.field_10;
  1086.       int[] var9 = this.field_5;
  1087.       int[] var10 = this.field_61;
  1088.       int[] var11 = this.field_62;
  1089.  
  1090.       for(int var14 = this.field_15 - 1; var14 > -1; --var14) {
  1091.          for(int var13 = 0; var13 < this.field_75; ++var13) {
  1092.             if (var13 - var14 > this.field_78) {
  1093.                if (var13 - var14 > var5) {
  1094.                   int var3 = var14 + var6;
  1095.                   var4 = var13 + var7;
  1096.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var13 > -1 && var13 < this.field_21 && var14 > -1 && var14 < this.field_18) {
  1097.                      var8[var3 + var4 * this.field_75] = var9[var13 + var14 * this.field_21];
  1098.                   }
  1099.                } else {
  1100.                   int var12 = var13 - var14 - this.field_78;
  1101.                   if (var12 > this.field_59 - 1) {
  1102.                      boolean var15 = true;
  1103.                   } else {
  1104.                      int var16 = var14 + this.field_78 + var10[var12];
  1105.                      var4 = var14 + var11[var12] + this.field_79;
  1106.                      if (var16 < this.field_21 && var16 > -1 && var4 < this.field_15 && var4 > -1 && var13 > -1 && var13 < this.field_21 && var14 > -1 && var14 < this.field_18) {
  1107.                         var8[var16 + var4 * this.field_75] = var9[var13 + var14 * this.field_21];
  1108.                      }
  1109.                   }
  1110.                }
  1111.             } else {
  1112.                var4 = var14 + this.field_79;
  1113.                if (var13 < this.field_21 && var13 > -1 && var4 < this.field_15 && var4 > -1 && var13 > -1 && var13 < this.field_21 && var14 > -1 && var14 < this.field_18) {
  1114.                   var8[var13 + var4 * this.field_75] = var9[var13 + var14 * this.field_21];
  1115.                }
  1116.             }
  1117.          }
  1118.       }
  1119.  
  1120.    }
  1121.  
  1122.    // $FF: renamed from: h () void
  1123.    public void method_12() {
  1124.       boolean var1 = false;
  1125.       boolean var2 = false;
  1126.       int var4 = 0;
  1127.       int var5 = this.field_78 + this.field_59;
  1128.       int var6 = this.field_78 + this.field_12;
  1129.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1130.       int[] var8 = this.field_10;
  1131.       int[] var9 = this.field_5;
  1132.       int[] var10 = this.field_61;
  1133.       int[] var11 = this.field_62;
  1134.  
  1135.       for(int var14 = this.field_15 - 1; var14 > -1; --var14) {
  1136.          for(int var13 = 0; var13 < this.field_75; ++var13) {
  1137.             if (var13 - var14 > this.field_78) {
  1138.                if (var13 - var14 > var5) {
  1139.                   int var3 = var14 + var6;
  1140.                   var4 = var13 + var7;
  1141.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var13 > -1 && var13 < this.field_21 && var14 > -1 && var14 < this.field_18) {
  1142.                      var8[var3 + (this.field_15 - var4 - 1) * this.field_75] = var9[var13 + (this.field_18 - 1 - var14) * this.field_21];
  1143.                   }
  1144.                } else {
  1145.                   int var12 = var13 - var14 - this.field_78;
  1146.                   if (var12 > this.field_59 - 1) {
  1147.                      boolean var15 = true;
  1148.                   } else {
  1149.                      int var16 = var14 + this.field_78 + var10[var12];
  1150.                      var4 = var14 + var11[var12] + this.field_79;
  1151.                      if (var16 < this.field_21 && var16 > -1 && var4 < this.field_15 && var4 > -1 && var13 > -1 && var13 < this.field_21 && var14 > -1 && var14 < this.field_18) {
  1152.                         var8[var16 + (this.field_15 - 1 - var4) * this.field_75] = var9[var13 + (this.field_18 - 1 - var14) * this.field_21];
  1153.                      }
  1154.                   }
  1155.                }
  1156.             } else {
  1157.                var4 = var14 + this.field_79;
  1158.                if (var13 < this.field_21 && var13 > -1 && var4 < this.field_15 && var4 > -1 && var13 > -1 && var13 < this.field_21 && var14 > -1 && var14 < this.field_18) {
  1159.                   var8[var13 + (this.field_15 - var4 - 1) * this.field_75] = var9[var13 + (this.field_18 - 1 - var14) * this.field_21];
  1160.                }
  1161.             }
  1162.          }
  1163.       }
  1164.  
  1165.    }
  1166.  
  1167.    // $FF: renamed from: i () void
  1168.    public void method_13() {
  1169.       boolean var1 = false;
  1170.       boolean var2 = false;
  1171.       int var4 = 0;
  1172.       int var5 = this.field_78 + this.field_59;
  1173.       int var6 = this.field_78 + this.field_12;
  1174.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1175.       int var8 = this.field_75 - 1;
  1176.       int var9 = this.field_21 - 1;
  1177.       int[] var10 = this.field_10;
  1178.       int[] var11 = this.field_5;
  1179.       int[] var12 = this.field_61;
  1180.       int[] var13 = this.field_62;
  1181.  
  1182.       for(int var16 = this.field_15 - 1; var16 > -1; --var16) {
  1183.          for(int var15 = 0; var15 < this.field_75; ++var15) {
  1184.             if (var15 - var16 > this.field_78) {
  1185.                if (var15 - var16 > var5) {
  1186.                   int var3 = var16 + var6;
  1187.                   var4 = var15 + var7;
  1188.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var15 > -1 && var15 < this.field_21 && var16 > -1 && var16 < this.field_18) {
  1189.                      var10[var8 - var3 + (this.field_15 - 1 - var4) * this.field_75] = var11[var9 - var15 + (this.field_18 - 1 - var16) * this.field_21];
  1190.                   }
  1191.                } else {
  1192.                   int var14 = var15 - var16 - this.field_78;
  1193.                   if (var14 > this.field_59 - 1) {
  1194.                      boolean var17 = true;
  1195.                   } else {
  1196.                      int var18 = var16 + this.field_78 + var12[var14];
  1197.                      var4 = var16 + var13[var14] + this.field_79;
  1198.                      if (var18 < this.field_21 && var18 > -1 && var4 < this.field_15 && var4 > -1 && var15 > -1 && var15 < this.field_21 && var16 > -1 && var16 < this.field_18) {
  1199.                         var10[var8 - var18 + (this.field_15 - 1 - var4) * this.field_75] = var11[var9 - var15 + (this.field_18 - 1 - var16) * this.field_21];
  1200.                      }
  1201.                   }
  1202.                }
  1203.             } else {
  1204.                var4 = var16 + this.field_79;
  1205.                if (var15 < this.field_21 && var15 > -1 && var4 < this.field_15 && var4 > -1 && var15 > -1 && var15 < this.field_21 && var16 > -1 && var16 < this.field_18) {
  1206.                   var10[var8 - var15 + (this.field_15 - var4 - 1) * this.field_75] = var11[var9 - var15 + (this.field_18 - 1 - var16) * this.field_21];
  1207.                }
  1208.             }
  1209.          }
  1210.       }
  1211.  
  1212.    }
  1213.  
  1214.    // $FF: renamed from: j () void
  1215.    public void method_14() {
  1216.       boolean var1 = false;
  1217.       boolean var2 = false;
  1218.       int var4 = 0;
  1219.       int var5 = this.field_78 + this.field_59;
  1220.       int var6 = this.field_78 + this.field_12;
  1221.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1222.       int var8 = this.field_75 - 1;
  1223.       int var9 = this.field_21 - 1;
  1224.       int[] var10 = this.field_10;
  1225.       int[] var11 = this.field_5;
  1226.       int[] var12 = this.field_61;
  1227.       int[] var13 = this.field_62;
  1228.  
  1229.       for(int var16 = this.field_15 - 1; var16 > -1; --var16) {
  1230.          for(int var15 = 0; var15 < this.field_75; ++var15) {
  1231.             if (var15 - var16 > this.field_78) {
  1232.                if (var15 - var16 > var5) {
  1233.                   int var3 = var16 + var6;
  1234.                   var4 = var15 + var7;
  1235.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var15 > -1 && var15 < this.field_21 && var16 > -1 && var16 < this.field_18) {
  1236.                      var10[var8 - var3 + var4 * this.field_75] = var11[var9 - var15 + var16 * this.field_21];
  1237.                   }
  1238.                } else {
  1239.                   int var14 = var15 - var16 - this.field_78;
  1240.                   if (var14 > this.field_59 - 1) {
  1241.                      boolean var17 = true;
  1242.                   } else {
  1243.                      int var18 = var16 + this.field_78 + var12[var14];
  1244.                      var4 = var16 + var13[var14] + this.field_79;
  1245.                      if (var18 < this.field_21 && var18 > -1 && var4 < this.field_15 && var4 > -1 && var15 > -1 && var15 < this.field_21 && var16 > -1 && var16 < this.field_18) {
  1246.                         var10[var8 - var18 + var4 * this.field_75] = var11[var9 - var15 + var16 * this.field_21];
  1247.                      }
  1248.                   }
  1249.                }
  1250.             } else {
  1251.                var4 = var16 + this.field_79;
  1252.                if (var15 < this.field_21 && var15 > -1 && var4 < this.field_15 && var4 > -1 && var15 > -1 && var15 < this.field_21 && var16 > -1 && var16 < this.field_18) {
  1253.                   var10[var8 - var15 + var4 * this.field_75] = var11[var9 - var15 + var16 * this.field_21];
  1254.                }
  1255.             }
  1256.          }
  1257.       }
  1258.  
  1259.    }
  1260.  
  1261.    public final void paint(Graphics var1) {
  1262.       if (this.field_16 != null) {
  1263.          if (this.field_55 == 1) {
  1264.             this.field_38.drawImage(this.field_16, 0, 0, this);
  1265.          } else {
  1266.             this.method_16();
  1267.             this.field_38.drawImage(this.field_16, 0, 0, this.field_53, this.field_52, this);
  1268.          }
  1269.  
  1270.          if (this.field_42 != null) {
  1271.             this.method_15();
  1272.          }
  1273.  
  1274.          if (!this.field_13) {
  1275.             this.field_38.setColor(Color.black);
  1276.             this.field_38.drawString(method_25("\u0014:\u0007~u62H42"), this.field_53 / 2 - 26 + 1, this.field_52 / 2 + 2 + 1);
  1277.             this.field_38.setColor(Color.white);
  1278.             this.field_38.drawString(method_25("\u0014:\u0007~u62H42"), this.field_53 / 2 - 26, this.field_52 / 2 + 2);
  1279.          }
  1280.  
  1281.          var1.drawImage(this.field_39, 0, 0, this);
  1282.       }
  1283.  
  1284.    }
  1285.  
  1286.    // $FF: renamed from: k () void
  1287.    public synchronized void method_15() {
  1288.       if (this.field_1) {
  1289.          this.notifyAll();
  1290.  
  1291.          while(!this.field_40) {
  1292.             Thread.yield();
  1293.  
  1294.             try {
  1295.                Thread.sleep(8L);
  1296.             } catch (InterruptedException var1) {
  1297.             }
  1298.          }
  1299.  
  1300.          this.field_40 = false;
  1301.       }
  1302.  
  1303.       this.field_38.drawImage(this.field_42, this.field_43, this.field_44, this);
  1304.    }
  1305.  
  1306.    // $FF: renamed from: l () void
  1307.    public synchronized void method_16() {
  1308.       int var1 = 0;
  1309.       ((Component)this).prepareImage(this.field_16, this.field_53, this.field_52, this);
  1310.       this.notifyAll();
  1311.  
  1312.       while((var1 & 240) == 0) {
  1313.          Thread.yield();
  1314.          var1 = ((Component)this).checkImage(this.field_16, this.field_53, this.field_52, this);
  1315.       }
  1316.  
  1317.    }
  1318.  
  1319.    // $FF: renamed from: m () void
  1320.    public synchronized void method_17() {
  1321.       int var1 = 0;
  1322.       ((Component)this).prepareImage(this.field_17[0], this.field_53, this.field_52, this);
  1323.       this.notifyAll();
  1324.  
  1325.       while((var1 & 240) == 0) {
  1326.          Thread.yield();
  1327.          var1 = ((Component)this).checkImage(this.field_17[0], this.field_53, this.field_52, this);
  1328.       }
  1329.  
  1330.    }
  1331.  
  1332.    // $FF: renamed from: n () void
  1333.    public final void method_18() {
  1334.       try {
  1335.          if (this.field_23) {
  1336.             this.field_51.newPixels();
  1337.          } else {
  1338.             this.field_50.startProduction(this.field_50.getConsumer());
  1339.          }
  1340.       } catch (NoSuchMethodError var1) {
  1341.       }
  1342.    }
  1343.  
  1344.    public void run() {
  1345.       this.field_72.setPriority(this.field_47);
  1346.       ((Applet)this).showStatus("");
  1347.       this.field_9 = System.currentTimeMillis();
  1348.       if (!this.field_19[0]) {
  1349.          this.method_8();
  1350.       }
  1351.  
  1352.       ((Applet)this).showStatus("");
  1353.       this.field_78 = this.field_21;
  1354.       System.gc();
  1355.       ((Component)this).repaint();
  1356.       long var1 = (long)this.field_45 - (System.currentTimeMillis() - this.field_9);
  1357.       if (var1 > 0L) {
  1358.          try {
  1359.             Thread.sleep(var1);
  1360.          } catch (InterruptedException var8) {
  1361.          }
  1362.       }
  1363.  
  1364.       Graphics var3 = ((Component)this).getGraphics();
  1365.       if (this.field_42 != null && !this.field_1) {
  1366.          this.field_1 = this.method_1();
  1367.       }
  1368.  
  1369.       if (!this.field_74[this.field_8 - 1].equalsIgnoreCase("NO")) {
  1370.          this.field_0.setCursor(12);
  1371.       } else {
  1372.          this.field_0.setCursor(0);
  1373.       }
  1374.  
  1375.       while(this.field_72 != null) {
  1376.          if (this.field_76 && this.field_65 > 0) {
  1377.             try {
  1378.                Thread.sleep((long)this.field_45);
  1379.             } catch (InterruptedException var4) {
  1380.             }
  1381.  
  1382.             this.field_76 = false;
  1383.          }
  1384.  
  1385.          ++this.field_65;
  1386.  
  1387.          try {
  1388.             System.arraycopy(this.field_7, 0, this.field_10, 0, this.field_73);
  1389.          } catch (ArrayIndexOutOfBoundsException var6) {
  1390.          } catch (ArrayStoreException var7) {
  1391.          }
  1392.  
  1393.          this.method_4();
  1394.          if (this.field_66 > 0) {
  1395.             switch (this.field_49) {
  1396.                case 1:
  1397.                   this.method_20();
  1398.                   break;
  1399.                case 2:
  1400.                   this.method_21();
  1401.                   break;
  1402.                case 3:
  1403.                   this.method_22();
  1404.                   break;
  1405.                case 4:
  1406.                   this.method_23();
  1407.             }
  1408.          } else {
  1409.             switch (this.field_49) {
  1410.                case 1:
  1411.                   this.method_11();
  1412.                   break;
  1413.                case 2:
  1414.                   this.method_12();
  1415.                   break;
  1416.                case 3:
  1417.                   this.method_13();
  1418.                   break;
  1419.                case 4:
  1420.                   this.method_14();
  1421.             }
  1422.          }
  1423.  
  1424.          if (++this.field_6 == this.field_26) {
  1425.             System.gc();
  1426.             this.field_6 = 0;
  1427.          }
  1428.  
  1429.          try {
  1430.             this.method_18();
  1431.          } catch (NoSuchMethodError var5) {
  1432.          }
  1433.  
  1434.          if (this.field_55 == 1) {
  1435.             this.field_38.drawImage(this.field_16, 0, 0, this);
  1436.          } else {
  1437.             this.method_16();
  1438.             this.field_38.drawImage(this.field_16, 0, 0, this.field_53, this.field_52, this);
  1439.          }
  1440.  
  1441.          if (this.field_42 != null) {
  1442.             this.method_15();
  1443.          }
  1444.  
  1445.          var3.drawImage(this.field_39, 0, 0, this);
  1446.          this.method_24();
  1447.       }
  1448.  
  1449.    }
  1450.  
  1451.    // $FF: renamed from: a (int, int, int, int) byte
  1452.    byte method_19(int var1, int var2, int var3, int var4) {
  1453.       int var5 = var1 - var2;
  1454.       if (var5 >= var3) {
  1455.          return (byte)var5;
  1456.       } else {
  1457.          int var6 = var3 - var5 - 1;
  1458.          return (byte)(var4 - var6);
  1459.       }
  1460.    }
  1461.  
  1462.    // $FF: renamed from: o () void
  1463.    public void method_20() {
  1464.       boolean var1 = false;
  1465.       boolean var2 = false;
  1466.       int var4 = 0;
  1467.       int var5 = this.field_78 + this.field_59;
  1468.       int var6 = this.field_78 + this.field_12;
  1469.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1470.       float[] var8 = this.field_60;
  1471.       int[] var9 = this.field_10;
  1472.       int[] var10 = this.field_5;
  1473.       int[] var11 = this.field_61;
  1474.       int[] var12 = this.field_62;
  1475.  
  1476.       for(int var19 = this.field_15 - 1; var19 > -1; --var19) {
  1477.          for(int var18 = 0; var18 < this.field_75; ++var18) {
  1478.             if (var18 - var19 > this.field_78) {
  1479.                if (var18 - var19 > var5) {
  1480.                   int var3 = var19 + var6;
  1481.                   var4 = var18 + var7;
  1482.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var18 > -1 && var18 < this.field_21 && var19 > -1 && var19 < this.field_18) {
  1483.                      var9[var3 + var4 * this.field_75] = var10[var18 + var19 * this.field_21];
  1484.                   }
  1485.                } else {
  1486.                   int var13 = var18 - var19 - this.field_78;
  1487.                   if (var13 > this.field_59 - 1) {
  1488.                      boolean var20 = true;
  1489.                   } else {
  1490.                      int var21 = var19 + this.field_78 + var11[var13];
  1491.                      var4 = var19 + var12[var13] + this.field_79;
  1492.                      if (var21 < this.field_21 && var21 > -1 && var4 < this.field_15 && var4 > -1 && var18 > -1 && var18 < this.field_21 && var19 > -1 && var19 < this.field_18) {
  1493.                         int var14 = var10[var18 + var19 * this.field_21];
  1494.                         int var15 = (int)((float)(var14 & 16711680) * var8[var13]) & 16711680;
  1495.                         int var16 = (int)((float)(var14 & '\uff00') * var8[var13]) & '\uff00';
  1496.                         int var17 = (int)((float)(var14 & 255) * var8[var13]) & 255;
  1497.                         var9[var21 + var4 * this.field_75] = var15 | var16 | var17;
  1498.                      }
  1499.                   }
  1500.                }
  1501.             } else {
  1502.                var4 = var19 + this.field_79;
  1503.                if (var18 < this.field_21 && var18 > -1 && var4 < this.field_15 && var4 > -1 && var18 > -1 && var18 < this.field_21 && var19 > -1 && var19 < this.field_18) {
  1504.                   var9[var18 + var4 * this.field_75] = var10[var18 + var19 * this.field_21];
  1505.                }
  1506.             }
  1507.          }
  1508.       }
  1509.  
  1510.    }
  1511.  
  1512.    // $FF: renamed from: p () void
  1513.    public void method_21() {
  1514.       boolean var1 = false;
  1515.       boolean var2 = false;
  1516.       int var4 = 0;
  1517.       int var5 = this.field_78 + this.field_59;
  1518.       int var6 = this.field_78 + this.field_12;
  1519.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1520.       float[] var8 = this.field_60;
  1521.       int[] var9 = this.field_10;
  1522.       int[] var10 = this.field_5;
  1523.       int[] var11 = this.field_61;
  1524.       int[] var12 = this.field_62;
  1525.  
  1526.       for(int var19 = this.field_15 - 1; var19 > -1; --var19) {
  1527.          for(int var18 = 0; var18 < this.field_75; ++var18) {
  1528.             if (var18 - var19 > this.field_78) {
  1529.                if (var18 - var19 > var5) {
  1530.                   int var3 = var19 + var6;
  1531.                   var4 = var18 + var7;
  1532.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var18 > -1 && var18 < this.field_21 && var19 > -1 && var19 < this.field_18) {
  1533.                      var9[var3 + (this.field_15 - var4 - 1) * this.field_75] = var10[var18 + (this.field_18 - 1 - var19) * this.field_21];
  1534.                   }
  1535.                } else {
  1536.                   int var13 = var18 - var19 - this.field_78;
  1537.                   if (var13 > this.field_59 - 1) {
  1538.                      boolean var20 = true;
  1539.                   } else {
  1540.                      int var21 = var19 + this.field_78 + var11[var13];
  1541.                      var4 = var19 + var12[var13] + this.field_79;
  1542.                      if (var21 < this.field_21 && var21 > -1 && var4 < this.field_15 && var4 > -1 && var18 > -1 && var18 < this.field_21 && var19 > -1 && var19 < this.field_18) {
  1543.                         int var14 = var10[var18 + (this.field_18 - 1 - var19) * this.field_21];
  1544.                         int var15 = (int)((float)(var14 & 16711680) * var8[var13]) & 16711680;
  1545.                         int var16 = (int)((float)(var14 & '\uff00') * var8[var13]) & '\uff00';
  1546.                         int var17 = (int)((float)(var14 & 255) * var8[var13]) & 255;
  1547.                         var9[var21 + (this.field_15 - 1 - var4) * this.field_75] = var15 | var16 | var17;
  1548.                      }
  1549.                   }
  1550.                }
  1551.             } else {
  1552.                var4 = var19 + this.field_79;
  1553.                if (var18 < this.field_21 && var18 > -1 && var4 < this.field_15 && var4 > -1 && var18 > -1 && var18 < this.field_21 && var19 > -1 && var19 < this.field_18) {
  1554.                   var9[var18 + (this.field_15 - var4 - 1) * this.field_75] = var10[var18 + (this.field_18 - 1 - var19) * this.field_21];
  1555.                }
  1556.             }
  1557.          }
  1558.       }
  1559.  
  1560.    }
  1561.  
  1562.    // $FF: renamed from: q () void
  1563.    public void method_22() {
  1564.       boolean var1 = false;
  1565.       boolean var2 = false;
  1566.       int var4 = 0;
  1567.       int var5 = this.field_78 + this.field_59;
  1568.       int var6 = this.field_78 + this.field_12;
  1569.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1570.       int var8 = this.field_75 - 1;
  1571.       int var9 = this.field_21 - 1;
  1572.       float[] var10 = this.field_60;
  1573.       int[] var11 = this.field_10;
  1574.       int[] var12 = this.field_5;
  1575.       int[] var13 = this.field_61;
  1576.       int[] var14 = this.field_62;
  1577.  
  1578.       for(int var21 = this.field_15 - 1; var21 > -1; --var21) {
  1579.          for(int var20 = 0; var20 < this.field_75; ++var20) {
  1580.             if (var20 - var21 > this.field_78) {
  1581.                if (var20 - var21 > var5) {
  1582.                   int var3 = var21 + var6;
  1583.                   var4 = var20 + var7;
  1584.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var20 > -1 && var20 < this.field_21 && var21 > -1 && var21 < this.field_18) {
  1585.                      var11[var8 - var3 + (this.field_15 - 1 - var4) * this.field_75] = var12[var9 - var20 + (this.field_18 - 1 - var21) * this.field_21];
  1586.                   }
  1587.                } else {
  1588.                   int var15 = var20 - var21 - this.field_78;
  1589.                   if (var15 > this.field_59 - 1) {
  1590.                      boolean var22 = true;
  1591.                   } else {
  1592.                      int var23 = var21 + this.field_78 + var13[var15];
  1593.                      var4 = var21 + var14[var15] + this.field_79;
  1594.                      if (var23 < this.field_21 && var23 > -1 && var4 < this.field_15 && var4 > -1 && var20 > -1 && var20 < this.field_21 && var21 > -1 && var21 < this.field_18) {
  1595.                         int var16 = var12[var9 - var20 + (this.field_18 - 1 - var21) * this.field_21];
  1596.                         int var17 = (int)((float)(var16 & 16711680) * var10[var15]) & 16711680;
  1597.                         int var18 = (int)((float)(var16 & '\uff00') * var10[var15]) & '\uff00';
  1598.                         int var19 = (int)((float)(var16 & 255) * var10[var15]) & 255;
  1599.                         var11[var8 - var23 + (this.field_15 - 1 - var4) * this.field_75] = var17 | var18 | var19;
  1600.                      }
  1601.                   }
  1602.                }
  1603.             } else {
  1604.                var4 = var21 + this.field_79;
  1605.                if (var20 < this.field_21 && var20 > -1 && var4 < this.field_15 && var4 > -1 && var20 > -1 && var20 < this.field_21 && var21 > -1 && var21 < this.field_18) {
  1606.                   var11[var8 - var20 + (this.field_15 - var4 - 1) * this.field_75] = var12[var9 - var20 + (this.field_18 - 1 - var21) * this.field_21];
  1607.                }
  1608.             }
  1609.          }
  1610.       }
  1611.  
  1612.    }
  1613.  
  1614.    // $FF: renamed from: r () void
  1615.    public void method_23() {
  1616.       boolean var1 = false;
  1617.       boolean var2 = false;
  1618.       int var4 = 0;
  1619.       int var5 = this.field_78 + this.field_59;
  1620.       int var6 = this.field_78 + this.field_12;
  1621.       int var7 = this.field_12 - this.field_78 - this.field_59 + this.field_79;
  1622.       int var8 = this.field_75 - 1;
  1623.       int var9 = this.field_21 - 1;
  1624.       float[] var10 = this.field_60;
  1625.       int[] var11 = this.field_10;
  1626.       int[] var12 = this.field_5;
  1627.       int[] var13 = this.field_61;
  1628.       int[] var14 = this.field_62;
  1629.  
  1630.       for(int var21 = this.field_15 - 1; var21 > -1; --var21) {
  1631.          for(int var20 = 0; var20 < this.field_75; ++var20) {
  1632.             if (var20 - var21 > this.field_78) {
  1633.                if (var20 - var21 > var5) {
  1634.                   int var3 = var21 + var6;
  1635.                   var4 = var20 + var7;
  1636.                   if (var3 < this.field_21 && var3 > -1 && var4 < this.field_15 && var4 > -1 && var20 > -1 && var20 < this.field_21 && var21 > -1 && var21 < this.field_18) {
  1637.                      var11[var8 - var3 + var4 * this.field_75] = var12[var9 - var20 + var21 * this.field_21];
  1638.                   }
  1639.                } else {
  1640.                   int var15 = var20 - var21 - this.field_78;
  1641.                   if (var15 > this.field_59 - 1) {
  1642.                      boolean var22 = true;
  1643.                   } else {
  1644.                      int var23 = var21 + this.field_78 + var13[var15];
  1645.                      var4 = var21 + var14[var15] + this.field_79;
  1646.                      if (var23 < this.field_21 && var23 > -1 && var4 < this.field_15 && var4 > -1 && var20 > -1 && var20 < this.field_21 && var21 > -1 && var21 < this.field_18) {
  1647.                         int var16 = var12[var9 - var20 + var21 * this.field_21];
  1648.                         int var17 = (int)((float)(var16 & 16711680) * var10[var15]) & 16711680;
  1649.                         int var18 = (int)((float)(var16 & '\uff00') * var10[var15]) & '\uff00';
  1650.                         int var19 = (int)((float)(var16 & 255) * var10[var15]) & 255;
  1651.                         var11[var8 - var23 + var4 * this.field_75] = var17 | var18 | var19;
  1652.                      }
  1653.                   }
  1654.                }
  1655.             } else {
  1656.                var4 = var21 + this.field_79;
  1657.                if (var20 < this.field_21 && var20 > -1 && var4 < this.field_15 && var4 > -1 && var20 > -1 && var20 < this.field_21 && var21 > -1 && var21 < this.field_18) {
  1658.                   var11[var8 - var20 + var4 * this.field_75] = var12[var9 - var20 + var21 * this.field_21];
  1659.                }
  1660.             }
  1661.          }
  1662.       }
  1663.  
  1664.    }
  1665.  
  1666.    public void start() {
  1667.       if (this.field_72 == null) {
  1668.          this.field_72 = new Thread(this);
  1669.          this.field_72.start();
  1670.       }
  1671.  
  1672.    }
  1673.  
  1674.    public void stop() {
  1675.       if (this.field_72 != null && this.field_72.isAlive()) {
  1676.          this.field_72.stop();
  1677.       }
  1678.  
  1679.       this.field_72 = null;
  1680.    }
  1681.  
  1682.    public final void update(Graphics var1) {
  1683.       this.paint(var1);
  1684.    }
  1685.  
  1686.    // $FF: renamed from: s () void
  1687.    public synchronized void method_24() {
  1688.       Thread.yield();
  1689.       this.field_71.sync();
  1690.       long var1 = 10L - (System.currentTimeMillis() - this.field_9);
  1691.       if (var1 > 0L) {
  1692.          try {
  1693.             Thread.sleep(var1);
  1694.          } catch (InterruptedException var5) {
  1695.          }
  1696.       } else {
  1697.          try {
  1698.             Thread.sleep(1L);
  1699.          } catch (InterruptedException var4) {
  1700.          }
  1701.       }
  1702.  
  1703.       this.field_9 = System.currentTimeMillis();
  1704.  
  1705.       try {
  1706.          Thread.sleep((long)this.field_27);
  1707.       } catch (InterruptedException var3) {
  1708.       }
  1709.    }
  1710.  
  1711.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1712.    private static String method_25(String var0) {
  1713.       char[] var1 = var0.toCharArray();
  1714.       int var2 = var1.length;
  1715.       int var3 = 0;
  1716.  
  1717.       label32:
  1718.       while(true) {
  1719.          int var4 = 0;
  1720.          byte var10000 = 88;
  1721.          char[] var10001 = var1;
  1722.          int var10002 = var3;
  1723.  
  1724.          label30:
  1725.          while(true) {
  1726.             var10001[var10002] ^= var10000;
  1727.  
  1728.             while(true) {
  1729.                ++var3;
  1730.                ++var4;
  1731.                if (var2 == var3) {
  1732.                   return new String(var1);
  1733.                }
  1734.  
  1735.                switch (var4) {
  1736.                   case 1:
  1737.                      var10000 = 85;
  1738.                      var10001 = var1;
  1739.                      var10002 = var3;
  1740.                      continue label30;
  1741.                   case 2:
  1742.                      var10000 = 102;
  1743.                      var10001 = var1;
  1744.                      var10002 = var3;
  1745.                      continue label30;
  1746.                   case 3:
  1747.                      var10000 = 26;
  1748.                      var10001 = var1;
  1749.                      var10002 = var3;
  1750.                      continue label30;
  1751.                   case 4:
  1752.                      var10000 = 28;
  1753.                      var10001 = var1;
  1754.                      var10002 = var3;
  1755.                      continue label30;
  1756.                   case 5:
  1757.                      continue label32;
  1758.                }
  1759.             }
  1760.          }
  1761.       }
  1762.    }
  1763. }
  1764.