// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 

import sign.signlink;

public class Class31_Sub3_Sub1 extends Class31_Sub3
{

    public static void method345(int i, int j, int k, int ai[])
    {
        anIntArray1411 = ai;
        anInt1412 = j;
        if(k >= 0)
            aBoolean1409 = !aBoolean1409;
        anInt1413 = i;
        method347(0, 0, (byte)21, j, i);
    }

    public static void method346(int i)
    {
        anInt1416 = 0;
        anInt1414 = 0;
        anInt1417 = anInt1412;
        if(i <= 0)
        {
            for(int j = 1; j > 0; j++);
        }
        anInt1415 = anInt1413;
        anInt1418 = anInt1417 - 1;
        anInt1419 = anInt1417 / 2;
    }

    public static void method347(int i, int j, byte byte0, int k, int l)
    {
        if(j < 0)
            j = 0;
        if(i < 0)
            i = 0;
        if(k > anInt1412)
            k = anInt1412;
        if(l > anInt1413)
            l = anInt1413;
        anInt1416 = j;
        anInt1414 = i;
        anInt1417 = k;
        anInt1415 = l;
        anInt1418 = anInt1417 - 1;
        anInt1419 = anInt1417 / 2;
        if(byte0 != aByte1406)
        {
            for(int i1 = 1; i1 > 0; i1++);
        }
        anInt1420 = anInt1415 / 2;
    }

    public static void method348(boolean flag)
    {
        int i = anInt1412 * anInt1413;
        if(!flag)
            return;
        for(int j = 0; j < i; j++)
            anIntArray1411[j] = 0;

    }

    public static void method349(int i, int j, int k, int l, int i1, int j1, int k1)
    {
        if(j < anInt1416)
        {
            k -= anInt1416 - j;
            j = anInt1416;
        }
        if(j1 < anInt1414)
        {
            l -= anInt1414 - j1;
            j1 = anInt1414;
        }
        if(j + k > anInt1417)
            k = anInt1417 - j;
        if(j1 + l > anInt1415)
            l = anInt1415 - j1;
        int l1 = 256 - i;
        int i2 = (k1 >> 16 & 0xff) * i;
        int j2 = (k1 >> 8 & 0xff) * i;
        int k2 = (k1 & 0xff) * i;
        int k3 = anInt1412 - k;
        int l3 = j + j1 * anInt1412;
        while(i1 >= 0) 
            aBoolean1409 = !aBoolean1409;
        for(int i4 = 0; i4 < l; i4++)
        {
            for(int j4 = -k; j4 < 0; j4++)
            {
                int l2 = (anIntArray1411[l3] >> 16 & 0xff) * l1;
                int i3 = (anIntArray1411[l3] >> 8 & 0xff) * l1;
                int j3 = (anIntArray1411[l3] & 0xff) * l1;
                int k4 = ((i2 + l2 >> 8) << 16) + ((j2 + i3 >> 8) << 8) + (k2 + j3 >> 8);
                anIntArray1411[l3++] = k4;
            }

            l3 += k3;
        }

    }

    public static void method350(int i, int j, int k, int l, int i1, int j1)
    {
        if(k < anInt1416)
        {
            i -= anInt1416 - k;
            k = anInt1416;
        }
        if(i1 < anInt1414)
        {
            j1 -= anInt1414 - i1;
            i1 = anInt1414;
        }
        if(k + i > anInt1417)
            i = anInt1417 - k;
        if(i1 + j1 > anInt1415)
            j1 = anInt1415 - i1;
        int k1 = anInt1412 - i;
        int l1 = k + i1 * anInt1412;
        if(j != 2)
            anInt1410 = -191;
        for(int i2 = -j1; i2 < 0; i2++)
        {
            for(int j2 = -i; j2 < 0; j2++)
                anIntArray1411[l1++] = l;

            l1 += k1;
        }

    }

    public static void method351(int i, int j, int k, int l, int i1, int j1)
    {
        method353(i1, l, 0, j1, j);
        method353(i1, l, 0, (j1 + i) - 1, j);
        method355(i, j1, l, j, (byte)105);
        if(k != 0)
        {
            for(int k1 = 1; k1 > 0; k1++);
        }
        method355(i, j1, (l + i1) - 1, j, (byte)105);
    }

    public static void method352(int i, int j, int k, int l, int i1, int j1, int k1)
    {
        method354(k1, k, i, j, l, true);
        j1 = 7 / j1;
        method354(k1, k, i, (j + i1) - 1, l, true);
        if(i1 >= 3)
        {
            method356(i1 - 2, 278, i, k, j + 1, k1);
            method356(i1 - 2, 278, i, (k + l) - 1, j + 1, k1);
        }
    }

    public static void method353(int i, int j, int k, int l, int i1)
    {
        if(l < anInt1414 || l >= anInt1415)
            return;
        if(j < anInt1416)
        {
            i -= anInt1416 - j;
            j = anInt1416;
        }
        if(j + i > anInt1417)
            i = anInt1417 - j;
        int j1 = j + l * anInt1412;
        if(k != 0)
            return;
        for(int k1 = 0; k1 < i; k1++)
            anIntArray1411[j1 + k1] = i1;

    }

    public static void method354(int i, int j, int k, int l, int i1, boolean flag)
    {
        if(l < anInt1414 || l >= anInt1415)
            return;
        if(j < anInt1416)
        {
            i1 -= anInt1416 - j;
            j = anInt1416;
        }
        if(j + i1 > anInt1417)
            i1 = anInt1417 - j;
        int j1 = 256 - i;
        int k1 = (k >> 16 & 0xff) * i;
        int l1 = (k >> 8 & 0xff) * i;
        int i2 = (k & 0xff) * i;
        if(!flag)
            anInt1410 = 63;
        int i3 = j + l * anInt1412;
        for(int j3 = 0; j3 < i1; j3++)
        {
            int j2 = (anIntArray1411[i3] >> 16 & 0xff) * j1;
            int k2 = (anIntArray1411[i3] >> 8 & 0xff) * j1;
            int l2 = (anIntArray1411[i3] & 0xff) * j1;
            int k3 = ((k1 + j2 >> 8) << 16) + ((l1 + k2 >> 8) << 8) + (i2 + l2 >> 8);
            anIntArray1411[i3++] = k3;
        }

    }

    public static void method355(int i, int j, int k, int l, byte byte0)
    {
        if(k < anInt1416 || k >= anInt1417)
            return;
        if(j < anInt1414)
        {
            i -= anInt1414 - j;
            j = anInt1414;
        }
        if(j + i > anInt1415)
            i = anInt1415 - j;
        int i1 = k + j * anInt1412;
        if(byte0 != 105)
            return;
        for(int j1 = 0; j1 < i; j1++)
            anIntArray1411[i1 + j1 * anInt1412] = l;

    }

    public static void method356(int i, int j, int k, int l, int i1, int j1)
    {
        if(l < anInt1416 || l >= anInt1417)
            return;
        if(i1 < anInt1414)
        {
            i -= anInt1414 - i1;
            i1 = anInt1414;
        }
        if(i1 + i > anInt1415)
            i = anInt1415 - i1;
        int k1 = 256 - j1;
        if(j <= 0)
            aBoolean1408 = !aBoolean1408;
        int l1 = (k >> 16 & 0xff) * j1;
        int i2 = (k >> 8 & 0xff) * j1;
        int j2 = (k & 0xff) * j1;
        int j3 = l + i1 * anInt1412;
        for(int k3 = 0; k3 < i; k3++)
        {
            int k2 = (anIntArray1411[j3] >> 16 & 0xff) * k1;
            int l2 = (anIntArray1411[j3] >> 8 & 0xff) * k1;
            int i3 = (anIntArray1411[j3] & 0xff) * k1;
            int l3 = ((l1 + k2 >> 8) << 16) + ((i2 + l2 >> 8) << 8) + (j2 + i3 >> 8);
            anIntArray1411[j3] = l3;
            j3 += anInt1412;
        }

    }

    public Class31_Sub3_Sub1()
    {
    }

    public static byte aByte1406 = 21;
    public static int anInt1407 = -135;
    public static boolean aBoolean1408;
    public static boolean aBoolean1409;
    public static int anInt1410 = 3148;
    public static int anIntArray1411[];
    public static int anInt1412;
    public static int anInt1413;
    public static int anInt1414;
    public static int anInt1415;
    public static int anInt1416;
    public static int anInt1417;
    public static int anInt1418;
    public static int anInt1419;
    public static int anInt1420;
    public static boolean aBoolean1421;

}
