Not the best refactoring but.. yeah 
Class37_Sub4_Sub16
Code:
public SetupAnimDataUnpacker(XTEA xTEA, XTEA xTEA_1, int fileId, boolean flag)
{
try
{
Landscape landscape = new Landscape();
int amountOfFramesInFile = xTEA.getAmountOfFileElements(10000, fileId);
animDataUnpackerArray = new AnimDataUnpacker[amountOfFramesInFile];
int ai[] = xTEA.method119(fileId, (byte)68);
for(int k = 0; ~ai.length < ~k; k++)
{
byte file[] = xTEA.loadFile(ai[k], fileId, 1);
int l = 0xff & file[1] | (file[0] & 0xff) << 0xf6418d28;
SkinListReader skinlistReader = null;
for(SkinListReader skinListReader = (SkinListReader)landscape.method1155(0); skinListReader != null; skinListReader = (SkinListReader)landscape.method1162((byte)92))
{
if(~skinListReader.anInt2278 != ~l)
continue;
skinlistReader = skinListReader;
break;
}
if(skinlistReader == null)
{
byte abyte1[];
if(!flag)
abyte1 = xTEA_1.method110(0, 90, l);
else
abyte1 = xTEA_1.method110(l, 90, 0);
skinlistReader = new SkinListReader(l, abyte1);
landscape.method1149((byte)-121, skinlistReader);
}
/*
* Custom Animation possiblilty here :) (hopefully)
*/
byte animationFile[] = file; //new
animDataUnpackerArray[ai[k]] = new AnimDataUnpacker(animationFile, skinlistReader);
}
return;
}
catch(RuntimeException runtimeexception)
{
throw Class37_Sub4_Sub7_Sub3.reportError(runtimeexception, "t.<init>(" + (xTEA == null ? "null" : "{...}") + ',' + (xTEA_1 == null ? "null" : "{...}") + ',' + fileId + ',' + flag + ')');
}
}