public BufferedImage parseUserSkin(BufferedImage var1) {
      if(var1 == null) {
         return null;
      } else {
         this.imageWidth = 64;
         this.imageHeight = 32;
         BufferedImage var2 = new BufferedImage(this.imageWidth, this.imageHeight, 2);
         Graphics var3 = var2.getGraphics();
         var3.drawImage(var1, 0, 0, (ImageObserver)null);
         var3.dispose();
         this.imageData = ((DataBufferInt)var2.getRaster().getDataBuffer()).getData();
         this.func_884_b(0, 0, 32, 16);
         this.func_885_a(32, 0, 64, 32);
         this.func_884_b(0, 16, 64, 32);
         boolean var4 = false;

         int var5;
         int var6;
         int var7;
         for(var5 = 32; var5 < 64; ++var5) {
            for(var6 = 0; var6 < 16; ++var6) {
               var7 = this.imageData[var5 + var6 * 64];
               if((var7 >> 24 & 255) < 128) {
                  var4 = true;
               }
            }
         }

         if(!var4) {
            for(var5 = 32; var5 < 64; ++var5) {
               for(var6 = 0; var6 < 16; ++var6) {
                  var7 = this.imageData[var5 + var6 * 64];
                  if((var7 >> 24 & 255) < 128) {
                     var4 = true;
                  }
               }
            }
         }

         return var2;
      }
   }