/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 11:33:50 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: RasterOpTileImpl, module: RasterOpTileImpl */ 
/* switches: cfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITNOT(x) (~((word)(x)))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
#define XRM←BITXOR(x, y) (((word)(x)) ↑ ((word)(y)))
#define XRM←BITOR(x, y) (((word)(x)) | ((word)(y)))
static char versionStamp[] = "@(#)mob←version [2053449451,1578913793] RasterOpTileImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W16 f; W16 r;} W32;
typedef struct {W32 f; word r;} W33;
typedef W33 *W33Pt;
typedef struct {word f0, f1;} W2;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q18588();
static void RasterOpTileImpl←P0();
static void InitRightJustifiedOnes←P180();
static void Tile0←P300();
static void Tile1←P360();
static void Tile2←P420();
static void Tile3←P480();
static void Tile4←P540();
static void Tile5←P600();
static void Tile6←P660();
static void Tile7←P720();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\172\145\046\353\300\136\034\120\001\100\164\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\207\330\332\257\300\255\011\025\200\100\150\000\000"};
static struct {
   word f0[45]; word f45; word f46; word f47; 
   word f48; word f49; word f50; word f51; 
   word f52; word f53; word f54; word f55; 
   word f56; word f57; word f58; word f59; 
   word f60; word f61; word f62; word f63; 
   word f64[2]; 
   } globalframe = {
   {0}, (word) Tile7←P720, 0, (word) Tile6←P660, 
   0, (word) Tile5←P600, 0, (word) Tile4←P540, 
   0, (word) Tile3←P480, 0, (word) Tile2←P420, 
   0, (word) Tile1←P360, 0, (word) Tile0←P300, 
   0, (word) InitRightJustifiedOnes←P180, 0, (word) RasterOpTileImpl←P0, 
   {0}
   };

static void NoName←Q18588()
   {
   register ptr gf←c01210 =  (ptr) &globalframe;
   word var←c63272;
   (void) XR←DeclareGlobalFrame((word) "RasterOpTileImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (
         ( (bPt) gf←c01210)+252)/* var←c34152 */ );
   var←c63272 = (word) XR←ExportInterface((word) "RasterOp", (word) XR←GetTypeIndexS((word) (&string2)), 8);
   (* (( (ptr) gf←c01210)+65)/* var←c63240 */  ) = var←c63272;
   (void) XR←ExportVar(var←c63272, 3, (word) (( (bPt) gf←c01210)+148)/* tileOp←v3000 */ );
   }

static void RasterOpTileImpl←P0(formal←c017, formal←c015)
   word formal←c017;
   word formal←c015;
   {
   register ptr gf←c63304 =  (ptr) &globalframe;
   /* RasterOpTileImpl: */ 
SOURCE(44, 27795)
SOURCE(545, 69)
   (void) InitRightJustifiedOnes←P180((word) ((( (bPt) gf←c63304)+16)/* rightJustifiedOnes←v2692 */ ));
SOURCE(27858, 55)
   (* (( (ptr) gf←c63304)+37) ) = (word) (( (bPt) gf←c63304)+236)/* var←c34088 */ ;
   (* (( (ptr) gf←c63304)+38) ) = (word) (( (bPt) gf←c63304)+228)/* var←c34056 */ ;
   (* (( (ptr) gf←c63304)+39) ) = (word) (( (bPt) gf←c63304)+220)/* var←c34024 */ ;
   (* (( (ptr) gf←c63304)+40) ) = (word) (( (bPt) gf←c63304)+212)/* var←c33992 */ ;
   (* (( (ptr) gf←c63304)+41) ) = (word) (( (bPt) gf←c63304)+204)/* var←c33960 */ ;
   (* (( (ptr) gf←c63304)+42) ) = (word) (( (bPt) gf←c63304)+196)/* var←c33928 */ ;
   (* (( (ptr) gf←c63304)+43) ) = (word) (( (bPt) gf←c63304)+188)/* var←c33896 */ ;
   (* (( (ptr) gf←c63304)+44) ) = (word) (( (bPt) gf←c63304)+180)/* var←c33864 */ ;
   }

static void InitRightJustifiedOnes←P180(formal←c021)
   word formal←c021;
   {
   W33 a←v3324;
   word m←v5704 = 0;
   /* InitRightJustifiedOnes: */ 
SOURCE(616, 132)
SOURCE(698, 50)
   {
      register word n←v5748 = 0;
      if ((n←v5748 > 32)) {
         goto lab←L100001;
         };
      lab←L100004: ;
SOURCE(729, 8)
      (* (( (ptr) &a←v3324)+n←v5748) ) = m←v5704;
SOURCE(739, 9)
      m←v5704 = ((m←v5704 + m←v5704) + 1);
      if ((n←v5748 >= 32)) {
         goto lab←L100001;
         };
      n←v5748 = (n←v5748 + 1);
      goto lab←L100004;
      lab←L100001: ;
      };
   /* removed tail goto */ 
   (*  (W33Pt) formal←c021 ) = a←v3324;
   return;
   }

static void Tile0←P300(dst←v3544, src←v3572, dstBpl←v3600, src0←v3628, sSizeTile←v3656, sSize←v3684, fSize←v3712)
   W2 dst←v3544;
   word src←v3572;
   word dstBpl←v3600;
   word src0←v3628;
   word sSizeTile←v3656;
   word sSize←v3684;
   word fSize←v3712;
   {
   register ptr gf←c63336 =  (ptr) &globalframe;
   word dstLine←v5792;
   word ndw←v5820 = 0;
   word lMask←v5848;
   word rMask←v5876;
   word srcIndex←v5904;
   /* Tile0: */ 
SOURCE(873, 3271)
SOURCE(1258, 25)
   srcIndex←v5904 = src0←v3628;
SOURCE(2753, 1391)
   if (((dstBpl←v3600 & 037) == 0)) {
SOURCE(2790, 1076)
      {
         word dRast←v6712;
SOURCE(2792, 43)
         dRast←v6712 = ((dstBpl←v3600 >> 5) << 2);
SOURCE(2837, 11)
SOURCE(1546, 35)
         {
            word bits←v16240;
            bits←v16240 = (dst←v3544.f1 + fSize←v3712);
SOURCE(374, 36)
            ndw←v5820 = ((bits←v16240 + 31) >> 5);
            };
SOURCE(1583, 39)
         lMask←v5848 = (* ((( (ptr) gf←c63336)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v3544.f1)) );
SOURCE(1624, 76)
         {
            word var←c34216;
            word n←v17008;
            n←v17008 = (((32 - dst←v3544.f1) - fSize←v3712) & 037);
SOURCE(829, 39)
            var←c34216 = (word) XRM←BITNOT((* (((( (ptr) gf←c63336)+4)/* rightJustifiedOnes←v2692 */ +n←v17008)) ));
            rMask←v5876 = var←c34216;
            };
SOURCE(2850, 1002)
         {
            word var←c34280;
            var←c34280 = ndw←v5820;
            switch (var←c34280) {
               case 1: 
SOURCE(2874, 177)
                  lab←L100009: ;
SOURCE(2877, 28)
                  dstLine←v5792 = dst←v3544.f0;
SOURCE(2907, 9)
SOURCE(1730, 61)
                  {
                     word var←c34312;
                     {
                        word var←c34344;
                        word d←v17664;
                        word s←v17692;
                        word mask←v17720;
                        d←v17664 = (*  (ptr) dstLine←v5792 );
                        s←v17692 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
                        mask←v17720 = (word) XRM←BITAND(lMask←v5848, rMask←v5876);
SOURCE(1462, 54)
                        {
                           word var←c34408;
                           {
/*1*/   word var←c34440;
/*1*/   var←c34440 = (word) XRM←BITXOR(s←v17692, d←v17664);
/*1*/   var←c34408 = (word) XRM←BITAND(var←c34440, mask←v17720);
/*1*/   };
                           var←c34344 = (word) XRM←BITXOR(var←c34408, d←v17664);
                           };
                        var←c34312 = var←c34344;
                        };
                     (*  (ptr) dstLine←v5792 ) = var←c34312;
                     };
SOURCE(2918, 32)
                  sSize←v3684 = (sSize←v3684 - 1);
                  if ((sSize←v3684 == 0)) {
SOURCE(2950, 4)
                     goto lab←L100008;
                     };
SOURCE(2956, 27)
                  dst←v3544.f0 = (dst←v3544.f0 + dRast←v6712);
SOURCE(2985, 23)
                  srcIndex←v5904 = (srcIndex←v5904 + 1);
SOURCE(3010, 41)
                  if ((srcIndex←v5904 == sSizeTile←v3656)) {
SOURCE(3039, 12)
                     srcIndex←v5904 = 0;
                     };
                  goto lab←L100009;
                  lab←L100008: ;
                  break;
               case 2: 
SOURCE(3073, 177)
                  lab←L100013: ;
SOURCE(3076, 28)
                  dstLine←v5792 = dst←v3544.f0;
SOURCE(3106, 9)
                  {
                     word w←v6756;
                     w←v6756 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
SOURCE(1844, 37)
                     {
                        word var←c34472;
                        {
                           word var←c34504;
                           word d←v17588;
                           word mask←v17616;
                           d←v17588 = (*  (ptr) dstLine←v5792 );
                           mask←v17616 = lMask←v5848;
SOURCE(1462, 54)
                           {
/*1*/   word var←c34568;
/*1*/   {
/*1*/      word var←c34600;
/*1*/      var←c34600 = (word) XRM←BITXOR(w←v6756, d←v17588);
/*1*/      var←c34568 = (word) XRM←BITAND(var←c34600, mask←v17616);
/*1*/      };
/*1*/   var←c34504 = (word) XRM←BITXOR(var←c34568, d←v17588);
/*1*/   };
                           var←c34472 = var←c34504;
                           };
                        (*  (ptr) dstLine←v5792 ) = var←c34472;
                        };
SOURCE(1884, 41)
                     {
                        word var←c34632;
                        {
                           word var←c34664;
                           word d←v17512;
                           word mask←v17540;
                           d←v17512 = (* (( (ptr) dstLine←v5792)+1) );
                           mask←v17540 = rMask←v5876;
SOURCE(1462, 54)
                           {
/*1*/   word var←c34728;
/*1*/   {
/*1*/      word var←c34760;
/*1*/      var←c34760 = (word) XRM←BITXOR(w←v6756, d←v17512);
/*1*/      var←c34728 = (word) XRM←BITAND(var←c34760, mask←v17540);
/*1*/      };
/*1*/   var←c34664 = (word) XRM←BITXOR(var←c34728, d←v17512);
/*1*/   };
                           var←c34632 = var←c34664;
                           };
                        (* (( (ptr) dstLine←v5792)+1) ) = var←c34632;
                        };
                     };
SOURCE(3117, 32)
                  sSize←v3684 = (sSize←v3684 - 1);
                  if ((sSize←v3684 == 0)) {
SOURCE(3149, 4)
                     goto lab←L100012;
                     };
SOURCE(3155, 27)
                  dst←v3544.f0 = (dst←v3544.f0 + dRast←v6712);
SOURCE(3184, 23)
                  srcIndex←v5904 = (srcIndex←v5904 + 1);
SOURCE(3209, 41)
                  if ((srcIndex←v5904 == sSizeTile←v3656)) {
SOURCE(3238, 12)
                     srcIndex←v5904 = 0;
                     };
                  goto lab←L100013;
                  lab←L100012: ;
                  break;
               case 3: 
SOURCE(3272, 177)
                  lab←L100018: ;
SOURCE(3275, 28)
                  dstLine←v5792 = dst←v3544.f0;
SOURCE(3305, 9)
                  {
                     word w←v6784;
                     w←v6784 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
SOURCE(1978, 37)
                     {
                        word var←c34792;
                        {
                           word var←c34824;
                           word d←v17436;
                           word mask←v17464;
                           d←v17436 = (*  (ptr) dstLine←v5792 );
                           mask←v17464 = lMask←v5848;
SOURCE(1462, 54)
                           {
/*1*/   word var←c34888;
/*1*/   {
/*1*/      word var←c34920;
/*1*/      var←c34920 = (word) XRM←BITXOR(w←v6784, d←v17436);
/*1*/      var←c34888 = (word) XRM←BITAND(var←c34920, mask←v17464);
/*1*/      };
/*1*/   var←c34824 = (word) XRM←BITXOR(var←c34888, d←v17436);
/*1*/   };
                           var←c34792 = var←c34824;
                           };
                        (*  (ptr) dstLine←v5792 ) = var←c34792;
                        };
SOURCE(2018, 17)
                     (* (( (ptr) dstLine←v5792)+1) ) = w←v6784;
SOURCE(2038, 41)
                     {
                        word var←c34952;
                        {
                           word var←c34984;
                           word d←v17360;
                           word mask←v17388;
                           d←v17360 = (* (( (ptr) dstLine←v5792)+2) );
                           mask←v17388 = rMask←v5876;
SOURCE(1462, 54)
                           {
/*1*/   word var←c35048;
/*1*/   {
/*1*/      word var←c35080;
/*1*/      var←c35080 = (word) XRM←BITXOR(w←v6784, d←v17360);
/*1*/      var←c35048 = (word) XRM←BITAND(var←c35080, mask←v17388);
/*1*/      };
/*1*/   var←c34984 = (word) XRM←BITXOR(var←c35048, d←v17360);
/*1*/   };
                           var←c34952 = var←c34984;
                           };
                        (* (( (ptr) dstLine←v5792)+2) ) = var←c34952;
                        };
                     };
SOURCE(3316, 32)
                  sSize←v3684 = (sSize←v3684 - 1);
                  if ((sSize←v3684 == 0)) {
SOURCE(3348, 4)
                     goto lab←L100017;
                     };
SOURCE(3354, 27)
                  dst←v3544.f0 = (dst←v3544.f0 + dRast←v6712);
SOURCE(3383, 23)
                  srcIndex←v5904 = (srcIndex←v5904 + 1);
SOURCE(3408, 41)
                  if ((srcIndex←v5904 == sSizeTile←v3656)) {
SOURCE(3437, 12)
                     srcIndex←v5904 = 0;
                     };
                  goto lab←L100018;
                  lab←L100017: ;
                  break;
               case 4: 
SOURCE(3471, 177)
                  lab←L100023: ;
SOURCE(3474, 28)
                  dstLine←v5792 = dst←v3544.f0;
SOURCE(3504, 9)
                  {
                     word w←v6812;
                     w←v6812 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
SOURCE(2132, 37)
                     {
                        word var←c35112;
                        {
                           word var←c35144;
                           word d←v17284;
                           word mask←v17312;
                           d←v17284 = (*  (ptr) dstLine←v5792 );
                           mask←v17312 = lMask←v5848;
SOURCE(1462, 54)
                           {
/*1*/   word var←c35208;
/*1*/   {
/*1*/      word var←c35240;
/*1*/      var←c35240 = (word) XRM←BITXOR(w←v6812, d←v17284);
/*1*/      var←c35208 = (word) XRM←BITAND(var←c35240, mask←v17312);
/*1*/      };
/*1*/   var←c35144 = (word) XRM←BITXOR(var←c35208, d←v17284);
/*1*/   };
                           var←c35112 = var←c35144;
                           };
                        (*  (ptr) dstLine←v5792 ) = var←c35112;
                        };
SOURCE(2172, 17)
                     (* (( (ptr) dstLine←v5792)+1) ) = w←v6812;
SOURCE(2192, 17)
                     (* (( (ptr) dstLine←v5792)+2) ) = w←v6812;
SOURCE(2212, 41)
                     {
                        word var←c35272;
                        {
                           word var←c35304;
                           word d←v17208;
                           word mask←v17236;
                           d←v17208 = (* (( (ptr) dstLine←v5792)+3) );
                           mask←v17236 = rMask←v5876;
SOURCE(1462, 54)
                           {
/*1*/   word var←c35368;
/*1*/   {
/*1*/      word var←c35400;
/*1*/      var←c35400 = (word) XRM←BITXOR(w←v6812, d←v17208);
/*1*/      var←c35368 = (word) XRM←BITAND(var←c35400, mask←v17236);
/*1*/      };
/*1*/   var←c35304 = (word) XRM←BITXOR(var←c35368, d←v17208);
/*1*/   };
                           var←c35272 = var←c35304;
                           };
                        (* (( (ptr) dstLine←v5792)+3) ) = var←c35272;
                        };
                     };
SOURCE(3515, 32)
                  sSize←v3684 = (sSize←v3684 - 1);
                  if ((sSize←v3684 == 0)) {
SOURCE(3547, 4)
                     goto lab←L100022;
                     };
SOURCE(3553, 27)
                  dst←v3544.f0 = (dst←v3544.f0 + dRast←v6712);
SOURCE(3582, 23)
                  srcIndex←v5904 = (srcIndex←v5904 + 1);
SOURCE(3607, 41)
                  if ((srcIndex←v5904 == sSizeTile←v3656)) {
SOURCE(3636, 12)
                     srcIndex←v5904 = 0;
                     };
                  goto lab←L100023;
                  lab←L100022: ;
                  break;
               default: 
SOURCE(3676, 176)
                  lab←L100028: ;
SOURCE(3679, 28)
                  dstLine←v5792 = dst←v3544.f0;
SOURCE(3709, 8)
SOURCE(2709, 41)
                  if ((ndw←v5820 == 1)) {
SOURCE(2725, 15)
SOURCE(1730, 61)
                     {
                        word var←c35432;
                        {
                           word var←c35464;
                           word d←v17888;
                           word s←v17916;
                           word mask←v17944;
                           d←v17888 = (*  (ptr) dstLine←v5792 );
                           s←v17916 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
                           mask←v17944 = (word) XRM←BITAND(lMask←v5848, rMask←v5876);
SOURCE(1462, 54)
                           {
/*1*/   word var←c35528;
/*1*/   {
/*1*/      word var←c35560;
/*1*/      var←c35560 = (word) XRM←BITXOR(s←v17916, d←v17888);
/*1*/      var←c35528 = (word) XRM←BITAND(var←c35560, mask←v17944);
/*1*/      };
/*1*/   var←c35464 = (word) XRM←BITXOR(var←c35528, d←v17888);
/*1*/   };
                           var←c35432 = var←c35464;
                           };
                        (*  (ptr) dstLine←v5792 ) = var←c35432;
                        };
                     }
                  else {
SOURCE(2740, 10)
                     {
                        word w←v6840;
                        w←v6840 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
SOURCE(2306, 37)
                        {
                           word var←c35592;
                           {
/*1*/   word var←c35624;
/*1*/   word d←v17132;
/*1*/   word mask←v17160;
/*1*/   d←v17132 = (*  (ptr) dstLine←v5792 );
/*1*/   mask←v17160 = lMask←v5848;
SOURCE(1462, 54)
/*1*/   {
/*1*/      word var←c35688;
/*1*/      {
/*1*/         word var←c35720;
/*1*/         var←c35720 = (word) XRM←BITXOR(w←v6840, d←v17132);
/*1*/         var←c35688 = (word) XRM←BITAND(var←c35720, mask←v17160);
/*1*/         };
/*1*/      var←c35624 = (word) XRM←BITXOR(var←c35688, d←v17132);
/*1*/      };
/*1*/   var←c35592 = var←c35624;
/*1*/   };
                           (*  (ptr) dstLine←v5792 ) = var←c35592;
                           };
SOURCE(2345, 28)
                        dstLine←v5792 = (dstLine←v5792 + 4);
SOURCE(2375, 161)
                        {
                           register word noName←c35752 = 0;
                           register word noName←c35784;
                           noName←c35784 = ((ndw←v5820 - 2) >> 2);
                           if ((noName←c35752 >= noName←c35784)) {
/*1*/   goto lab←L100031;
/*1*/   };
                           lab←L100034: ;
SOURCE(2412, 17)
                           (*  (ptr) dstLine←v5792 ) = w←v6840;
SOURCE(2432, 17)
                           (* (( (ptr) dstLine←v5792)+1) ) = w←v6840;
SOURCE(2452, 17)
                           (* (( (ptr) dstLine←v5792)+2) ) = w←v6840;
SOURCE(2472, 17)
                           (* (( (ptr) dstLine←v5792)+3) ) = w←v6840;
SOURCE(2492, 44)
                           dstLine←v5792 = (dstLine←v5792 + 16);
                           noName←c35752 = (noName←c35752 + 1);
                           if ((noName←c35752 < noName←c35784)) {
/*1*/   goto lab←L100034;
/*1*/   };
                           lab←L100031: ;
                           };
SOURCE(2547, 85)
                        {
                           register word noName←c35816 = 0;
                           register word noName←c35848;
                           noName←c35848 = ((ndw←v5820 - 2) & 3);
                           if ((noName←c35816 >= noName←c35848)) {
/*1*/   goto lab←L100035;
/*1*/   };
                           lab←L100038: ;
SOURCE(2585, 17)
                           (*  (ptr) dstLine←v5792 ) = w←v6840;
SOURCE(2604, 28)
                           dstLine←v5792 = (dstLine←v5792 + 4);
                           noName←c35816 = (noName←c35816 + 1);
                           if ((noName←c35816 < noName←c35848)) {
/*1*/   goto lab←L100038;
/*1*/   };
                           lab←L100035: ;
                           };
SOURCE(2643, 37)
                        {
                           word var←c35880;
                           {
/*1*/   word var←c35912;
/*1*/   word d←v17056;
/*1*/   word mask←v17084;
/*1*/   d←v17056 = (*  (ptr) dstLine←v5792 );
/*1*/   mask←v17084 = rMask←v5876;
SOURCE(1462, 54)
/*1*/   {
/*1*/      word var←c35976;
/*1*/      {
/*1*/         word var←c36008;
/*1*/         var←c36008 = (word) XRM←BITXOR(w←v6840, d←v17056);
/*1*/         var←c35976 = (word) XRM←BITAND(var←c36008, mask←v17084);
/*1*/         };
/*1*/      var←c35912 = (word) XRM←BITXOR(var←c35976, d←v17056);
/*1*/      };
/*1*/   var←c35880 = var←c35912;
/*1*/   };
                           (*  (ptr) dstLine←v5792 ) = var←c35880;
                           };
                        };
                     };
SOURCE(3719, 32)
                  sSize←v3684 = (sSize←v3684 - 1);
                  if ((sSize←v3684 == 0)) {
SOURCE(3751, 4)
                     goto lab←L100027;
                     };
SOURCE(3757, 27)
                  dst←v3544.f0 = (dst←v3544.f0 + dRast←v6712);
SOURCE(3786, 23)
                  srcIndex←v5904 = (srcIndex←v5904 + 1);
SOURCE(3811, 41)
                  if ((srcIndex←v5904 == sSizeTile←v3656)) {
SOURCE(3840, 12)
                     srcIndex←v5904 = 0;
                     };
                  goto lab←L100028;
                  lab←L100027: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(3875, 269)
      lab←L100042: ;
SOURCE(3878, 11)
SOURCE(1546, 35)
      {
         word bits←v17768;
         bits←v17768 = (dst←v3544.f1 + fSize←v3712);
SOURCE(374, 36)
         ndw←v5820 = ((bits←v17768 + 31) >> 5);
         };
SOURCE(1583, 39)
      lMask←v5848 = (* ((( (ptr) gf←c63336)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v3544.f1)) );
SOURCE(1624, 76)
      {
         word var←c36072;
         word n←v17812;
         n←v17812 = (((32 - dst←v3544.f1) - fSize←v3712) & 037);
SOURCE(829, 39)
         var←c36072 = (word) XRM←BITNOT((* (((( (ptr) gf←c63336)+4)/* rightJustifiedOnes←v2692 */ +n←v17812)) ));
         rMask←v5876 = var←c36072;
         };
SOURCE(3891, 28)
      dstLine←v5792 = dst←v3544.f0;
SOURCE(3921, 8)
SOURCE(2709, 41)
      if ((ndw←v5820 == 1)) {
SOURCE(2725, 15)
SOURCE(1730, 61)
         {
            word var←c36136;
            {
               word var←c36168;
               word d←v18196;
               word s←v18224;
               word mask←v18252;
               d←v18196 = (*  (ptr) dstLine←v5792 );
               s←v18224 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
               mask←v18252 = (word) XRM←BITAND(lMask←v5848, rMask←v5876);
SOURCE(1462, 54)
               {
                  word var←c36232;
                  {
                     word var←c36264;
                     var←c36264 = (word) XRM←BITXOR(s←v18224, d←v18196);
                     var←c36232 = (word) XRM←BITAND(var←c36264, mask←v18252);
                     };
                  var←c36168 = (word) XRM←BITXOR(var←c36232, d←v18196);
                  };
               var←c36136 = var←c36168;
               };
            (*  (ptr) dstLine←v5792 ) = var←c36136;
            };
         }
      else {
SOURCE(2740, 10)
         {
            word w←v18296;
            w←v18296 = (* (( (ptr) src←v3572)+srcIndex←v5904) );
SOURCE(2306, 37)
            {
               word var←c36296;
               {
                  word var←c36328;
                  word d←v18340;
                  word mask←v18368;
                  d←v18340 = (*  (ptr) dstLine←v5792 );
                  mask←v18368 = lMask←v5848;
SOURCE(1462, 54)
                  {
                     word var←c36392;
                     {
                        word var←c36424;
                        var←c36424 = (word) XRM←BITXOR(w←v18296, d←v18340);
                        var←c36392 = (word) XRM←BITAND(var←c36424, mask←v18368);
                        };
                     var←c36328 = (word) XRM←BITXOR(var←c36392, d←v18340);
                     };
                  var←c36296 = var←c36328;
                  };
               (*  (ptr) dstLine←v5792 ) = var←c36296;
               };
SOURCE(2345, 28)
            dstLine←v5792 = (dstLine←v5792 + 4);
SOURCE(2375, 161)
            {
               register word noName←c36456 = 0;
               register word noName←c36488;
               noName←c36488 = ((ndw←v5820 - 2) >> 2);
               if ((noName←c36456 >= noName←c36488)) {
                  goto lab←L100047;
                  };
               lab←L100050: ;
SOURCE(2412, 17)
               (*  (ptr) dstLine←v5792 ) = w←v18296;
SOURCE(2432, 17)
               (* (( (ptr) dstLine←v5792)+1) ) = w←v18296;
SOURCE(2452, 17)
               (* (( (ptr) dstLine←v5792)+2) ) = w←v18296;
SOURCE(2472, 17)
               (* (( (ptr) dstLine←v5792)+3) ) = w←v18296;
SOURCE(2492, 44)
               dstLine←v5792 = (dstLine←v5792 + 16);
               noName←c36456 = (noName←c36456 + 1);
               if ((noName←c36456 < noName←c36488)) {
                  goto lab←L100050;
                  };
               lab←L100047: ;
               };
SOURCE(2547, 85)
            {
               register word noName←c36520 = 0;
               register word noName←c36552;
               noName←c36552 = ((ndw←v5820 - 2) & 3);
               if ((noName←c36520 >= noName←c36552)) {
                  goto lab←L100051;
                  };
               lab←L100054: ;
SOURCE(2585, 17)
               (*  (ptr) dstLine←v5792 ) = w←v18296;
SOURCE(2604, 28)
               dstLine←v5792 = (dstLine←v5792 + 4);
               noName←c36520 = (noName←c36520 + 1);
               if ((noName←c36520 < noName←c36552)) {
                  goto lab←L100054;
                  };
               lab←L100051: ;
               };
SOURCE(2643, 37)
            {
               word var←c36584;
               {
                  word var←c36616;
                  word d←v18412;
                  word mask←v18440;
                  d←v18412 = (*  (ptr) dstLine←v5792 );
                  mask←v18440 = rMask←v5876;
SOURCE(1462, 54)
                  {
                     word var←c36680;
                     {
                        word var←c36712;
                        var←c36712 = (word) XRM←BITXOR(w←v18296, d←v18412);
                        var←c36680 = (word) XRM←BITAND(var←c36712, mask←v18440);
                        };
                     var←c36616 = (word) XRM←BITXOR(var←c36680, d←v18412);
                     };
                  var←c36584 = var←c36616;
                  };
               (*  (ptr) dstLine←v5792 ) = var←c36584;
               };
            };
         };
SOURCE(3931, 32)
      sSize←v3684 = (sSize←v3684 - 1);
      if ((sSize←v3684 == 0)) {
SOURCE(3963, 4)
         goto lab←L100041;
         };
SOURCE(3969, 61)
      {
         word var←c36744;
         word bits←v16624;
         bits←v16624 = (dst←v3544.f1 + dstBpl←v3600);
SOURCE(489, 52)
         var←c36744 = ((bits←v16624 >> 5) << 2);
         dst←v3544.f0 = (dst←v3544.f0 + var←c36744);
         };
SOURCE(4032, 44)
      dst←v3544.f1 = ((dst←v3544.f1 + dstBpl←v3600) & 037);
SOURCE(4078, 23)
      srcIndex←v5904 = (srcIndex←v5904 + 1);
SOURCE(4103, 41)
      if ((srcIndex←v5904 == sSizeTile←v3656)) {
SOURCE(4132, 12)
         srcIndex←v5904 = 0;
         };
      goto lab←L100042;
      lab←L100041: ;
      };
   }

static void Tile1←P360(dst←v3784, src←v3812, dstBpl←v3840, src0←v3868, sSizeTile←v3896, sSize←v3924, fSize←v3952)
   W2 dst←v3784;
   word src←v3812;
   word dstBpl←v3840;
   word src0←v3868;
   word sSizeTile←v3896;
   word sSize←v3924;
   word fSize←v3952;
   {
   register ptr gf←c63368 =  (ptr) &globalframe;
   word dstLine←v6904;
   word ndw←v6932 = 0;
   word lMask←v6960;
   word rMask←v6988;
   word srcIndex←v7016;
   /* Tile1: */ 
SOURCE(4162, 3279)
SOURCE(4547, 25)
   srcIndex←v7016 = src0←v3868;
SOURCE(6050, 1391)
   if (((dstBpl←v3840 & 037) == 0)) {
SOURCE(6087, 1076)
      {
         word dRast←v7824;
SOURCE(6089, 43)
         dRast←v7824 = ((dstBpl←v3840 >> 5) << 2);
SOURCE(6134, 11)
SOURCE(4843, 35)
         {
            word bits←v16192;
            bits←v16192 = (dst←v3784.f1 + fSize←v3952);
SOURCE(374, 36)
            ndw←v6932 = ((bits←v16192 + 31) >> 5);
            };
SOURCE(4880, 39)
         lMask←v6960 = (* ((( (ptr) gf←c63368)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v3784.f1)) );
SOURCE(4921, 76)
         {
            word var←c36808;
            word n←v16960;
            n←v16960 = (((32 - dst←v3784.f1) - fSize←v3952) & 037);
SOURCE(829, 39)
            var←c36808 = (word) XRM←BITNOT((* (((( (ptr) gf←c63368)+4)/* rightJustifiedOnes←v2692 */ +n←v16960)) ));
            rMask←v6988 = var←c36808;
            };
SOURCE(6147, 1002)
         {
            word var←c36872;
            var←c36872 = ndw←v6932;
            switch (var←c36872) {
               case 1: 
SOURCE(6171, 177)
                  lab←L100061: ;
SOURCE(6174, 28)
                  dstLine←v6904 = dst←v3784.f0;
SOURCE(6204, 9)
SOURCE(5027, 61)
                  {
                     word var←c36904;
                     {
                        word var←c36936;
                        word d←v19156;
                        word s←v19184;
                        word mask←v19212;
                        d←v19156 = (*  (ptr) dstLine←v6904 );
                        s←v19184 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
                        mask←v19212 = (word) XRM←BITAND(lMask←v6960, rMask←v6988);
SOURCE(4759, 54)
                        {
                           word var←c37000;
                           {
/*1*/   word var←c37032;
/*1*/   var←c37032 = (word) XRM←BITXOR(s←v19184, d←v19156);
/*1*/   var←c37000 = (word) XRM←BITAND(var←c37032, mask←v19212);
/*1*/   };
                           var←c36936 = (word) XRM←BITXOR(var←c37000, d←v19156);
                           };
                        var←c36904 = var←c36936;
                        };
                     (*  (ptr) dstLine←v6904 ) = var←c36904;
                     };
SOURCE(6215, 32)
                  sSize←v3924 = (sSize←v3924 - 1);
                  if ((sSize←v3924 == 0)) {
SOURCE(6247, 4)
                     goto lab←L100060;
                     };
SOURCE(6253, 27)
                  dst←v3784.f0 = (dst←v3784.f0 + dRast←v7824);
SOURCE(6282, 23)
                  srcIndex←v7016 = (srcIndex←v7016 + 1);
SOURCE(6307, 41)
                  if ((srcIndex←v7016 == sSizeTile←v3896)) {
SOURCE(6336, 12)
                     srcIndex←v7016 = 0;
                     };
                  goto lab←L100061;
                  lab←L100060: ;
                  break;
               case 2: 
SOURCE(6370, 177)
                  lab←L100065: ;
SOURCE(6373, 28)
                  dstLine←v6904 = dst←v3784.f0;
SOURCE(6403, 9)
                  {
                     word w←v7868;
                     w←v7868 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
SOURCE(5141, 37)
                     {
                        word var←c37064;
                        {
                           word var←c37096;
                           word d←v19080;
                           word mask←v19108;
                           d←v19080 = (*  (ptr) dstLine←v6904 );
                           mask←v19108 = lMask←v6960;
SOURCE(4759, 54)
                           {
/*1*/   word var←c37160;
/*1*/   {
/*1*/      word var←c37192;
/*1*/      var←c37192 = (word) XRM←BITXOR(w←v7868, d←v19080);
/*1*/      var←c37160 = (word) XRM←BITAND(var←c37192, mask←v19108);
/*1*/      };
/*1*/   var←c37096 = (word) XRM←BITXOR(var←c37160, d←v19080);
/*1*/   };
                           var←c37064 = var←c37096;
                           };
                        (*  (ptr) dstLine←v6904 ) = var←c37064;
                        };
SOURCE(5181, 41)
                     {
                        word var←c37224;
                        {
                           word var←c37256;
                           word d←v19004;
                           word mask←v19032;
                           d←v19004 = (* (( (ptr) dstLine←v6904)+1) );
                           mask←v19032 = rMask←v6988;
SOURCE(4759, 54)
                           {
/*1*/   word var←c37320;
/*1*/   {
/*1*/      word var←c37352;
/*1*/      var←c37352 = (word) XRM←BITXOR(w←v7868, d←v19004);
/*1*/      var←c37320 = (word) XRM←BITAND(var←c37352, mask←v19032);
/*1*/      };
/*1*/   var←c37256 = (word) XRM←BITXOR(var←c37320, d←v19004);
/*1*/   };
                           var←c37224 = var←c37256;
                           };
                        (* (( (ptr) dstLine←v6904)+1) ) = var←c37224;
                        };
                     };
SOURCE(6414, 32)
                  sSize←v3924 = (sSize←v3924 - 1);
                  if ((sSize←v3924 == 0)) {
SOURCE(6446, 4)
                     goto lab←L100064;
                     };
SOURCE(6452, 27)
                  dst←v3784.f0 = (dst←v3784.f0 + dRast←v7824);
SOURCE(6481, 23)
                  srcIndex←v7016 = (srcIndex←v7016 + 1);
SOURCE(6506, 41)
                  if ((srcIndex←v7016 == sSizeTile←v3896)) {
SOURCE(6535, 12)
                     srcIndex←v7016 = 0;
                     };
                  goto lab←L100065;
                  lab←L100064: ;
                  break;
               case 3: 
SOURCE(6569, 177)
                  lab←L100070: ;
SOURCE(6572, 28)
                  dstLine←v6904 = dst←v3784.f0;
SOURCE(6602, 9)
                  {
                     word w←v7896;
                     w←v7896 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
SOURCE(5275, 37)
                     {
                        word var←c37384;
                        {
                           word var←c37416;
                           word d←v18928;
                           word mask←v18956;
                           d←v18928 = (*  (ptr) dstLine←v6904 );
                           mask←v18956 = lMask←v6960;
SOURCE(4759, 54)
                           {
/*1*/   word var←c37480;
/*1*/   {
/*1*/      word var←c37512;
/*1*/      var←c37512 = (word) XRM←BITXOR(w←v7896, d←v18928);
/*1*/      var←c37480 = (word) XRM←BITAND(var←c37512, mask←v18956);
/*1*/      };
/*1*/   var←c37416 = (word) XRM←BITXOR(var←c37480, d←v18928);
/*1*/   };
                           var←c37384 = var←c37416;
                           };
                        (*  (ptr) dstLine←v6904 ) = var←c37384;
                        };
SOURCE(5315, 17)
                     (* (( (ptr) dstLine←v6904)+1) ) = w←v7896;
SOURCE(5335, 41)
                     {
                        word var←c37544;
                        {
                           word var←c37576;
                           word d←v18852;
                           word mask←v18880;
                           d←v18852 = (* (( (ptr) dstLine←v6904)+2) );
                           mask←v18880 = rMask←v6988;
SOURCE(4759, 54)
                           {
/*1*/   word var←c37640;
/*1*/   {
/*1*/      word var←c37672;
/*1*/      var←c37672 = (word) XRM←BITXOR(w←v7896, d←v18852);
/*1*/      var←c37640 = (word) XRM←BITAND(var←c37672, mask←v18880);
/*1*/      };
/*1*/   var←c37576 = (word) XRM←BITXOR(var←c37640, d←v18852);
/*1*/   };
                           var←c37544 = var←c37576;
                           };
                        (* (( (ptr) dstLine←v6904)+2) ) = var←c37544;
                        };
                     };
SOURCE(6613, 32)
                  sSize←v3924 = (sSize←v3924 - 1);
                  if ((sSize←v3924 == 0)) {
SOURCE(6645, 4)
                     goto lab←L100069;
                     };
SOURCE(6651, 27)
                  dst←v3784.f0 = (dst←v3784.f0 + dRast←v7824);
SOURCE(6680, 23)
                  srcIndex←v7016 = (srcIndex←v7016 + 1);
SOURCE(6705, 41)
                  if ((srcIndex←v7016 == sSizeTile←v3896)) {
SOURCE(6734, 12)
                     srcIndex←v7016 = 0;
                     };
                  goto lab←L100070;
                  lab←L100069: ;
                  break;
               case 4: 
SOURCE(6768, 177)
                  lab←L100075: ;
SOURCE(6771, 28)
                  dstLine←v6904 = dst←v3784.f0;
SOURCE(6801, 9)
                  {
                     word w←v7924;
                     w←v7924 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
SOURCE(5429, 37)
                     {
                        word var←c37704;
                        {
                           word var←c37736;
                           word d←v18776;
                           word mask←v18804;
                           d←v18776 = (*  (ptr) dstLine←v6904 );
                           mask←v18804 = lMask←v6960;
SOURCE(4759, 54)
                           {
/*1*/   word var←c37800;
/*1*/   {
/*1*/      word var←c37832;
/*1*/      var←c37832 = (word) XRM←BITXOR(w←v7924, d←v18776);
/*1*/      var←c37800 = (word) XRM←BITAND(var←c37832, mask←v18804);
/*1*/      };
/*1*/   var←c37736 = (word) XRM←BITXOR(var←c37800, d←v18776);
/*1*/   };
                           var←c37704 = var←c37736;
                           };
                        (*  (ptr) dstLine←v6904 ) = var←c37704;
                        };
SOURCE(5469, 17)
                     (* (( (ptr) dstLine←v6904)+1) ) = w←v7924;
SOURCE(5489, 17)
                     (* (( (ptr) dstLine←v6904)+2) ) = w←v7924;
SOURCE(5509, 41)
                     {
                        word var←c37864;
                        {
                           word var←c37896;
                           word d←v18700;
                           word mask←v18728;
                           d←v18700 = (* (( (ptr) dstLine←v6904)+3) );
                           mask←v18728 = rMask←v6988;
SOURCE(4759, 54)
                           {
/*1*/   word var←c37960;
/*1*/   {
/*1*/      word var←c37992;
/*1*/      var←c37992 = (word) XRM←BITXOR(w←v7924, d←v18700);
/*1*/      var←c37960 = (word) XRM←BITAND(var←c37992, mask←v18728);
/*1*/      };
/*1*/   var←c37896 = (word) XRM←BITXOR(var←c37960, d←v18700);
/*1*/   };
                           var←c37864 = var←c37896;
                           };
                        (* (( (ptr) dstLine←v6904)+3) ) = var←c37864;
                        };
                     };
SOURCE(6812, 32)
                  sSize←v3924 = (sSize←v3924 - 1);
                  if ((sSize←v3924 == 0)) {
SOURCE(6844, 4)
                     goto lab←L100074;
                     };
SOURCE(6850, 27)
                  dst←v3784.f0 = (dst←v3784.f0 + dRast←v7824);
SOURCE(6879, 23)
                  srcIndex←v7016 = (srcIndex←v7016 + 1);
SOURCE(6904, 41)
                  if ((srcIndex←v7016 == sSizeTile←v3896)) {
SOURCE(6933, 12)
                     srcIndex←v7016 = 0;
                     };
                  goto lab←L100075;
                  lab←L100074: ;
                  break;
               default: 
SOURCE(6973, 176)
                  lab←L100080: ;
SOURCE(6976, 28)
                  dstLine←v6904 = dst←v3784.f0;
SOURCE(7006, 8)
SOURCE(6006, 41)
                  if ((ndw←v6932 == 1)) {
SOURCE(6022, 15)
SOURCE(5027, 61)
                     {
                        word var←c38024;
                        {
                           word var←c38056;
                           word d←v19380;
                           word s←v19408;
                           word mask←v19436;
                           d←v19380 = (*  (ptr) dstLine←v6904 );
                           s←v19408 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
                           mask←v19436 = (word) XRM←BITAND(lMask←v6960, rMask←v6988);
SOURCE(4759, 54)
                           {
/*1*/   word var←c38120;
/*1*/   {
/*1*/      word var←c38152;
/*1*/      var←c38152 = (word) XRM←BITXOR(s←v19408, d←v19380);
/*1*/      var←c38120 = (word) XRM←BITAND(var←c38152, mask←v19436);
/*1*/      };
/*1*/   var←c38056 = (word) XRM←BITXOR(var←c38120, d←v19380);
/*1*/   };
                           var←c38024 = var←c38056;
                           };
                        (*  (ptr) dstLine←v6904 ) = var←c38024;
                        };
                     }
                  else {
SOURCE(6037, 10)
                     {
                        word w←v7952;
                        w←v7952 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
SOURCE(5603, 37)
                        {
                           word var←c38184;
                           {
/*1*/   word var←c38216;
/*1*/   word d←v18624;
/*1*/   word mask←v18652;
/*1*/   d←v18624 = (*  (ptr) dstLine←v6904 );
/*1*/   mask←v18652 = lMask←v6960;
SOURCE(4759, 54)
/*1*/   {
/*1*/      word var←c38280;
/*1*/      {
/*1*/         word var←c38312;
/*1*/         var←c38312 = (word) XRM←BITXOR(w←v7952, d←v18624);
/*1*/         var←c38280 = (word) XRM←BITAND(var←c38312, mask←v18652);
/*1*/         };
/*1*/      var←c38216 = (word) XRM←BITXOR(var←c38280, d←v18624);
/*1*/      };
/*1*/   var←c38184 = var←c38216;
/*1*/   };
                           (*  (ptr) dstLine←v6904 ) = var←c38184;
                           };
SOURCE(5642, 28)
                        dstLine←v6904 = (dstLine←v6904 + 4);
SOURCE(5672, 161)
                        {
                           register word noName←c38344 = 0;
                           register word noName←c38376;
                           noName←c38376 = ((ndw←v6932 - 2) >> 2);
                           if ((noName←c38344 >= noName←c38376)) {
/*1*/   goto lab←L100083;
/*1*/   };
                           lab←L100086: ;
SOURCE(5709, 17)
                           (*  (ptr) dstLine←v6904 ) = w←v7952;
SOURCE(5729, 17)
                           (* (( (ptr) dstLine←v6904)+1) ) = w←v7952;
SOURCE(5749, 17)
                           (* (( (ptr) dstLine←v6904)+2) ) = w←v7952;
SOURCE(5769, 17)
                           (* (( (ptr) dstLine←v6904)+3) ) = w←v7952;
SOURCE(5789, 44)
                           dstLine←v6904 = (dstLine←v6904 + 16);
                           noName←c38344 = (noName←c38344 + 1);
                           if ((noName←c38344 < noName←c38376)) {
/*1*/   goto lab←L100086;
/*1*/   };
                           lab←L100083: ;
                           };
SOURCE(5844, 85)
                        {
                           register word noName←c38408 = 0;
                           register word noName←c38440;
                           noName←c38440 = ((ndw←v6932 - 2) & 3);
                           if ((noName←c38408 >= noName←c38440)) {
/*1*/   goto lab←L100087;
/*1*/   };
                           lab←L100090: ;
SOURCE(5882, 17)
                           (*  (ptr) dstLine←v6904 ) = w←v7952;
SOURCE(5901, 28)
                           dstLine←v6904 = (dstLine←v6904 + 4);
                           noName←c38408 = (noName←c38408 + 1);
                           if ((noName←c38408 < noName←c38440)) {
/*1*/   goto lab←L100090;
/*1*/   };
                           lab←L100087: ;
                           };
SOURCE(5940, 37)
                        {
                           word var←c38472;
                           {
/*1*/   word var←c38504;
/*1*/   word d←v18548;
/*1*/   word mask←v18576;
/*1*/   d←v18548 = (*  (ptr) dstLine←v6904 );
/*1*/   mask←v18576 = rMask←v6988;
SOURCE(4759, 54)
/*1*/   {
/*1*/      word var←c38568;
/*1*/      {
/*1*/         word var←c38600;
/*1*/         var←c38600 = (word) XRM←BITXOR(w←v7952, d←v18548);
/*1*/         var←c38568 = (word) XRM←BITAND(var←c38600, mask←v18576);
/*1*/         };
/*1*/      var←c38504 = (word) XRM←BITXOR(var←c38568, d←v18548);
/*1*/      };
/*1*/   var←c38472 = var←c38504;
/*1*/   };
                           (*  (ptr) dstLine←v6904 ) = var←c38472;
                           };
                        };
                     };
SOURCE(7016, 32)
                  sSize←v3924 = (sSize←v3924 - 1);
                  if ((sSize←v3924 == 0)) {
SOURCE(7048, 4)
                     goto lab←L100079;
                     };
SOURCE(7054, 27)
                  dst←v3784.f0 = (dst←v3784.f0 + dRast←v7824);
SOURCE(7083, 23)
                  srcIndex←v7016 = (srcIndex←v7016 + 1);
SOURCE(7108, 41)
                  if ((srcIndex←v7016 == sSizeTile←v3896)) {
SOURCE(7137, 12)
                     srcIndex←v7016 = 0;
                     };
                  goto lab←L100080;
                  lab←L100079: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(7172, 269)
      lab←L100094: ;
SOURCE(7175, 11)
SOURCE(4843, 35)
      {
         word bits←v19260;
         bits←v19260 = (dst←v3784.f1 + fSize←v3952);
SOURCE(374, 36)
         ndw←v6932 = ((bits←v19260 + 31) >> 5);
         };
SOURCE(4880, 39)
      lMask←v6960 = (* ((( (ptr) gf←c63368)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v3784.f1)) );
SOURCE(4921, 76)
      {
         word var←c38664;
         word n←v19304;
         n←v19304 = (((32 - dst←v3784.f1) - fSize←v3952) & 037);
SOURCE(829, 39)
         var←c38664 = (word) XRM←BITNOT((* (((( (ptr) gf←c63368)+4)/* rightJustifiedOnes←v2692 */ +n←v19304)) ));
         rMask←v6988 = var←c38664;
         };
SOURCE(7188, 28)
      dstLine←v6904 = dst←v3784.f0;
SOURCE(7218, 8)
SOURCE(6006, 41)
      if ((ndw←v6932 == 1)) {
SOURCE(6022, 15)
SOURCE(5027, 61)
         {
            word var←c38728;
            {
               word var←c38760;
               word d←v19688;
               word s←v19716;
               word mask←v19744;
               d←v19688 = (*  (ptr) dstLine←v6904 );
               s←v19716 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
               mask←v19744 = (word) XRM←BITAND(lMask←v6960, rMask←v6988);
SOURCE(4759, 54)
               {
                  word var←c38824;
                  {
                     word var←c38856;
                     var←c38856 = (word) XRM←BITXOR(s←v19716, d←v19688);
                     var←c38824 = (word) XRM←BITAND(var←c38856, mask←v19744);
                     };
                  var←c38760 = (word) XRM←BITXOR(var←c38824, d←v19688);
                  };
               var←c38728 = var←c38760;
               };
            (*  (ptr) dstLine←v6904 ) = var←c38728;
            };
         }
      else {
SOURCE(6037, 10)
         {
            word w←v19788;
            w←v19788 = (word) XRM←BITNOT((* ((( (ptr) src←v3812)+srcIndex←v7016)) ));
SOURCE(5603, 37)
            {
               word var←c38888;
               {
                  word var←c38920;
                  word d←v19832;
                  word mask←v19860;
                  d←v19832 = (*  (ptr) dstLine←v6904 );
                  mask←v19860 = lMask←v6960;
SOURCE(4759, 54)
                  {
                     word var←c38984;
                     {
                        word var←c39016;
                        var←c39016 = (word) XRM←BITXOR(w←v19788, d←v19832);
                        var←c38984 = (word) XRM←BITAND(var←c39016, mask←v19860);
                        };
                     var←c38920 = (word) XRM←BITXOR(var←c38984, d←v19832);
                     };
                  var←c38888 = var←c38920;
                  };
               (*  (ptr) dstLine←v6904 ) = var←c38888;
               };
SOURCE(5642, 28)
            dstLine←v6904 = (dstLine←v6904 + 4);
SOURCE(5672, 161)
            {
               register word noName←c39048 = 0;
               register word noName←c39080;
               noName←c39080 = ((ndw←v6932 - 2) >> 2);
               if ((noName←c39048 >= noName←c39080)) {
                  goto lab←L100099;
                  };
               lab←L100102: ;
SOURCE(5709, 17)
               (*  (ptr) dstLine←v6904 ) = w←v19788;
SOURCE(5729, 17)
               (* (( (ptr) dstLine←v6904)+1) ) = w←v19788;
SOURCE(5749, 17)
               (* (( (ptr) dstLine←v6904)+2) ) = w←v19788;
SOURCE(5769, 17)
               (* (( (ptr) dstLine←v6904)+3) ) = w←v19788;
SOURCE(5789, 44)
               dstLine←v6904 = (dstLine←v6904 + 16);
               noName←c39048 = (noName←c39048 + 1);
               if ((noName←c39048 < noName←c39080)) {
                  goto lab←L100102;
                  };
               lab←L100099: ;
               };
SOURCE(5844, 85)
            {
               register word noName←c39112 = 0;
               register word noName←c39144;
               noName←c39144 = ((ndw←v6932 - 2) & 3);
               if ((noName←c39112 >= noName←c39144)) {
                  goto lab←L100103;
                  };
               lab←L100106: ;
SOURCE(5882, 17)
               (*  (ptr) dstLine←v6904 ) = w←v19788;
SOURCE(5901, 28)
               dstLine←v6904 = (dstLine←v6904 + 4);
               noName←c39112 = (noName←c39112 + 1);
               if ((noName←c39112 < noName←c39144)) {
                  goto lab←L100106;
                  };
               lab←L100103: ;
               };
SOURCE(5940, 37)
            {
               word var←c39176;
               {
                  word var←c39208;
                  word d←v19904;
                  word mask←v19932;
                  d←v19904 = (*  (ptr) dstLine←v6904 );
                  mask←v19932 = rMask←v6988;
SOURCE(4759, 54)
                  {
                     word var←c39272;
                     {
                        word var←c39304;
                        var←c39304 = (word) XRM←BITXOR(w←v19788, d←v19904);
                        var←c39272 = (word) XRM←BITAND(var←c39304, mask←v19932);
                        };
                     var←c39208 = (word) XRM←BITXOR(var←c39272, d←v19904);
                     };
                  var←c39176 = var←c39208;
                  };
               (*  (ptr) dstLine←v6904 ) = var←c39176;
               };
            };
         };
SOURCE(7228, 32)
      sSize←v3924 = (sSize←v3924 - 1);
      if ((sSize←v3924 == 0)) {
SOURCE(7260, 4)
         goto lab←L100093;
         };
SOURCE(7266, 61)
      {
         word var←c39336;
         word bits←v16576;
         bits←v16576 = (dst←v3784.f1 + dstBpl←v3840);
SOURCE(489, 52)
         var←c39336 = ((bits←v16576 >> 5) << 2);
         dst←v3784.f0 = (dst←v3784.f0 + var←c39336);
         };
SOURCE(7329, 44)
      dst←v3784.f1 = ((dst←v3784.f1 + dstBpl←v3840) & 037);
SOURCE(7375, 23)
      srcIndex←v7016 = (srcIndex←v7016 + 1);
SOURCE(7400, 41)
      if ((srcIndex←v7016 == sSizeTile←v3896)) {
SOURCE(7429, 12)
         srcIndex←v7016 = 0;
         };
      goto lab←L100094;
      lab←L100093: ;
      };
   }

static void Tile2←P420(dst←v4024, src←v4052, dstBpl←v4080, src0←v4108, sSizeTile←v4136, sSize←v4164, fSize←v4192)
   W2 dst←v4024;
   word src←v4052;
   word dstBpl←v4080;
   word src0←v4108;
   word sSizeTile←v4136;
   word sSize←v4164;
   word fSize←v4192;
   {
   register ptr gf←c63400 =  (ptr) &globalframe;
   word dstLine←v8016;
   word ndw←v8044 = 0;
   word lMask←v8072;
   word rMask←v8100;
   word srcIndex←v8128;
   /* Tile2: */ 
SOURCE(7459, 3384)
SOURCE(7844, 25)
   srcIndex←v8128 = src0←v4108;
SOURCE(9452, 1391)
   if (((dstBpl←v4080 & 037) == 0)) {
SOURCE(9489, 1076)
      {
         word dRast←v8964;
SOURCE(9491, 43)
         dRast←v8964 = ((dstBpl←v4080 >> 5) << 2);
SOURCE(9536, 11)
SOURCE(8149, 35)
         {
            word bits←v16144;
            bits←v16144 = (dst←v4024.f1 + fSize←v4192);
SOURCE(374, 36)
            ndw←v8044 = ((bits←v16144 + 31) >> 5);
            };
SOURCE(8186, 39)
         lMask←v8072 = (* ((( (ptr) gf←c63400)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4024.f1)) );
SOURCE(8227, 76)
         {
            word var←c39400;
            word n←v16912;
            n←v16912 = (((32 - dst←v4024.f1) - fSize←v4192) & 037);
SOURCE(829, 39)
            var←c39400 = (word) XRM←BITNOT((* (((( (ptr) gf←c63400)+4)/* rightJustifiedOnes←v2692 */ +n←v16912)) ));
            rMask←v8100 = var←c39400;
            };
SOURCE(9549, 1002)
         {
            word var←c39464;
            var←c39464 = ndw←v8044;
            switch (var←c39464) {
               case 1: 
SOURCE(9573, 177)
                  lab←L100113: ;
SOURCE(9576, 28)
                  dstLine←v8016 = dst←v4024.f0;
SOURCE(9606, 9)
SOURCE(8333, 61)
                  {
                     word var←c39496;
                     {
                        word var←c39528;
                        word d←v21032;
                        word s←v21060;
                        word mask←v21088;
                        d←v21032 = (*  (ptr) dstLine←v8016 );
                        s←v21060 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
                        mask←v21088 = (word) XRM←BITAND(lMask←v8072, rMask←v8100);
SOURCE(8062, 57)
                        {
                           word var←c39592;
                           {
/*1*/   word var←c39624;
/*1*/   {
/*1*/      word var←c39656;
/*1*/      var←c39656 = (word) XRM←BITAND(d←v21032, s←v21060);
/*1*/      var←c39624 = (word) XRM←BITXOR(var←c39656, d←v21032);
/*1*/      };
/*1*/   var←c39592 = (word) XRM←BITAND(var←c39624, mask←v21088);
/*1*/   };
                           var←c39528 = (word) XRM←BITXOR(var←c39592, d←v21032);
                           };
                        var←c39496 = var←c39528;
                        };
                     (*  (ptr) dstLine←v8016 ) = var←c39496;
                     };
SOURCE(9617, 32)
                  sSize←v4164 = (sSize←v4164 - 1);
                  if ((sSize←v4164 == 0)) {
SOURCE(9649, 4)
                     goto lab←L100112;
                     };
SOURCE(9655, 27)
                  dst←v4024.f0 = (dst←v4024.f0 + dRast←v8964);
SOURCE(9684, 23)
                  srcIndex←v8128 = (srcIndex←v8128 + 1);
SOURCE(9709, 41)
                  if ((srcIndex←v8128 == sSizeTile←v4136)) {
SOURCE(9738, 12)
                     srcIndex←v8128 = 0;
                     };
                  goto lab←L100113;
                  lab←L100112: ;
                  break;
               case 2: 
SOURCE(9772, 177)
                  lab←L100117: ;
SOURCE(9775, 28)
                  dstLine←v8016 = dst←v4024.f0;
SOURCE(9805, 9)
                  {
                     word w←v9008;
                     w←v9008 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
SOURCE(8447, 37)
                     {
                        word var←c39688;
                        {
                           word var←c39720;
                           word d←v20956;
                           word mask←v20984;
                           d←v20956 = (*  (ptr) dstLine←v8016 );
                           mask←v20984 = lMask←v8072;
SOURCE(8062, 57)
                           {
/*1*/   word var←c39784;
/*1*/   {
/*1*/      word var←c39816;
/*1*/      {
/*1*/         word var←c39848;
/*1*/         var←c39848 = (word) XRM←BITAND(d←v20956, w←v9008);
/*1*/         var←c39816 = (word) XRM←BITXOR(var←c39848, d←v20956);
/*1*/         };
/*1*/      var←c39784 = (word) XRM←BITAND(var←c39816, mask←v20984);
/*1*/      };
/*1*/   var←c39720 = (word) XRM←BITXOR(var←c39784, d←v20956);
/*1*/   };
                           var←c39688 = var←c39720;
                           };
                        (*  (ptr) dstLine←v8016 ) = var←c39688;
                        };
SOURCE(8487, 41)
                     {
                        word var←c39880;
                        {
                           word var←c39912;
                           word d←v20880;
                           word mask←v20908;
                           d←v20880 = (* (( (ptr) dstLine←v8016)+1) );
                           mask←v20908 = rMask←v8100;
SOURCE(8062, 57)
                           {
/*1*/   word var←c39976;
/*1*/   {
/*1*/      word var←c40008;
/*1*/      {
/*1*/         word var←c40040;
/*1*/         var←c40040 = (word) XRM←BITAND(d←v20880, w←v9008);
/*1*/         var←c40008 = (word) XRM←BITXOR(var←c40040, d←v20880);
/*1*/         };
/*1*/      var←c39976 = (word) XRM←BITAND(var←c40008, mask←v20908);
/*1*/      };
/*1*/   var←c39912 = (word) XRM←BITXOR(var←c39976, d←v20880);
/*1*/   };
                           var←c39880 = var←c39912;
                           };
                        (* (( (ptr) dstLine←v8016)+1) ) = var←c39880;
                        };
                     };
SOURCE(9816, 32)
                  sSize←v4164 = (sSize←v4164 - 1);
                  if ((sSize←v4164 == 0)) {
SOURCE(9848, 4)
                     goto lab←L100116;
                     };
SOURCE(9854, 27)
                  dst←v4024.f0 = (dst←v4024.f0 + dRast←v8964);
SOURCE(9883, 23)
                  srcIndex←v8128 = (srcIndex←v8128 + 1);
SOURCE(9908, 41)
                  if ((srcIndex←v8128 == sSizeTile←v4136)) {
SOURCE(9937, 12)
                     srcIndex←v8128 = 0;
                     };
                  goto lab←L100117;
                  lab←L100116: ;
                  break;
               case 3: 
SOURCE(9971, 177)
                  lab←L100122: ;
SOURCE(9974, 28)
                  dstLine←v8016 = dst←v4024.f0;
SOURCE(10004, 9)
                  {
                     word w←v9036;
                     w←v9036 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
SOURCE(8581, 37)
                     {
                        word var←c40072;
                        {
                           word var←c40104;
                           word d←v20804;
                           word mask←v20832;
                           d←v20804 = (*  (ptr) dstLine←v8016 );
                           mask←v20832 = lMask←v8072;
SOURCE(8062, 57)
                           {
/*1*/   word var←c40168;
/*1*/   {
/*1*/      word var←c40200;
/*1*/      {
/*1*/         word var←c40232;
/*1*/         var←c40232 = (word) XRM←BITAND(d←v20804, w←v9036);
/*1*/         var←c40200 = (word) XRM←BITXOR(var←c40232, d←v20804);
/*1*/         };
/*1*/      var←c40168 = (word) XRM←BITAND(var←c40200, mask←v20832);
/*1*/      };
/*1*/   var←c40104 = (word) XRM←BITXOR(var←c40168, d←v20804);
/*1*/   };
                           var←c40072 = var←c40104;
                           };
                        (*  (ptr) dstLine←v8016 ) = var←c40072;
                        };
SOURCE(8621, 29)
                     {
                        word var←c40264;
                        {
                           word var←c40296;
                           word d←v20376;
                           d←v20376 = (* (( (ptr) dstLine←v8016)+1) );
SOURCE(7983, 22)
                           var←c40296 = (word) XRM←BITAND(d←v20376, w←v9036);
                           var←c40264 = var←c40296;
                           };
                        (* (( (ptr) dstLine←v8016)+1) ) = var←c40264;
                        };
SOURCE(8653, 41)
                     {
                        word var←c40360;
                        {
                           word var←c40392;
                           word d←v20728;
                           word mask←v20756;
                           d←v20728 = (* (( (ptr) dstLine←v8016)+2) );
                           mask←v20756 = rMask←v8100;
SOURCE(8062, 57)
                           {
/*1*/   word var←c40456;
/*1*/   {
/*1*/      word var←c40488;
/*1*/      {
/*1*/         word var←c40520;
/*1*/         var←c40520 = (word) XRM←BITAND(d←v20728, w←v9036);
/*1*/         var←c40488 = (word) XRM←BITXOR(var←c40520, d←v20728);
/*1*/         };
/*1*/      var←c40456 = (word) XRM←BITAND(var←c40488, mask←v20756);
/*1*/      };
/*1*/   var←c40392 = (word) XRM←BITXOR(var←c40456, d←v20728);
/*1*/   };
                           var←c40360 = var←c40392;
                           };
                        (* (( (ptr) dstLine←v8016)+2) ) = var←c40360;
                        };
                     };
SOURCE(10015, 32)
                  sSize←v4164 = (sSize←v4164 - 1);
                  if ((sSize←v4164 == 0)) {
SOURCE(10047, 4)
                     goto lab←L100121;
                     };
SOURCE(10053, 27)
                  dst←v4024.f0 = (dst←v4024.f0 + dRast←v8964);
SOURCE(10082, 23)
                  srcIndex←v8128 = (srcIndex←v8128 + 1);
SOURCE(10107, 41)
                  if ((srcIndex←v8128 == sSizeTile←v4136)) {
SOURCE(10136, 12)
                     srcIndex←v8128 = 0;
                     };
                  goto lab←L100122;
                  lab←L100121: ;
                  break;
               case 4: 
SOURCE(10170, 177)
                  lab←L100128: ;
SOURCE(10173, 28)
                  dstLine←v8016 = dst←v4024.f0;
SOURCE(10203, 9)
                  {
                     word w←v9064;
                     w←v9064 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
SOURCE(8747, 37)
                     {
                        word var←c40552;
                        {
                           word var←c40584;
                           word d←v20652;
                           word mask←v20680;
                           d←v20652 = (*  (ptr) dstLine←v8016 );
                           mask←v20680 = lMask←v8072;
SOURCE(8062, 57)
                           {
/*1*/   word var←c40648;
/*1*/   {
/*1*/      word var←c40680;
/*1*/      {
/*1*/         word var←c40712;
/*1*/         var←c40712 = (word) XRM←BITAND(d←v20652, w←v9064);
/*1*/         var←c40680 = (word) XRM←BITXOR(var←c40712, d←v20652);
/*1*/         };
/*1*/      var←c40648 = (word) XRM←BITAND(var←c40680, mask←v20680);
/*1*/      };
/*1*/   var←c40584 = (word) XRM←BITXOR(var←c40648, d←v20652);
/*1*/   };
                           var←c40552 = var←c40584;
                           };
                        (*  (ptr) dstLine←v8016 ) = var←c40552;
                        };
SOURCE(8787, 29)
                     {
                        word var←c40744;
                        {
                           word var←c40776;
                           word d←v20328;
                           d←v20328 = (* (( (ptr) dstLine←v8016)+1) );
SOURCE(7983, 22)
                           var←c40776 = (word) XRM←BITAND(d←v20328, w←v9064);
                           var←c40744 = var←c40776;
                           };
                        (* (( (ptr) dstLine←v8016)+1) ) = var←c40744;
                        };
SOURCE(8819, 29)
                     {
                        word var←c40840;
                        {
                           word var←c40872;
                           word d←v20280;
                           d←v20280 = (* (( (ptr) dstLine←v8016)+2) );
SOURCE(7983, 22)
                           var←c40872 = (word) XRM←BITAND(d←v20280, w←v9064);
                           var←c40840 = var←c40872;
                           };
                        (* (( (ptr) dstLine←v8016)+2) ) = var←c40840;
                        };
SOURCE(8851, 41)
                     {
                        word var←c40936;
                        {
                           word var←c40968;
                           word d←v20576;
                           word mask←v20604;
                           d←v20576 = (* (( (ptr) dstLine←v8016)+3) );
                           mask←v20604 = rMask←v8100;
SOURCE(8062, 57)
                           {
/*1*/   word var←c41032;
/*1*/   {
/*1*/      word var←c41064;
/*1*/      {
/*1*/         word var←c41096;
/*1*/         var←c41096 = (word) XRM←BITAND(d←v20576, w←v9064);
/*1*/         var←c41064 = (word) XRM←BITXOR(var←c41096, d←v20576);
/*1*/         };
/*1*/      var←c41032 = (word) XRM←BITAND(var←c41064, mask←v20604);
/*1*/      };
/*1*/   var←c40968 = (word) XRM←BITXOR(var←c41032, d←v20576);
/*1*/   };
                           var←c40936 = var←c40968;
                           };
                        (* (( (ptr) dstLine←v8016)+3) ) = var←c40936;
                        };
                     };
SOURCE(10214, 32)
                  sSize←v4164 = (sSize←v4164 - 1);
                  if ((sSize←v4164 == 0)) {
SOURCE(10246, 4)
                     goto lab←L100127;
                     };
SOURCE(10252, 27)
                  dst←v4024.f0 = (dst←v4024.f0 + dRast←v8964);
SOURCE(10281, 23)
                  srcIndex←v8128 = (srcIndex←v8128 + 1);
SOURCE(10306, 41)
                  if ((srcIndex←v8128 == sSizeTile←v4136)) {
SOURCE(10335, 12)
                     srcIndex←v8128 = 0;
                     };
                  goto lab←L100128;
                  lab←L100127: ;
                  break;
               default: 
SOURCE(10375, 176)
                  lab←L100135: ;
SOURCE(10378, 28)
                  dstLine←v8016 = dst←v4024.f0;
SOURCE(10408, 8)
SOURCE(9408, 41)
                  if ((ndw←v8044 == 1)) {
SOURCE(9424, 15)
SOURCE(8333, 61)
                     {
                        word var←c41128;
                        {
                           word var←c41160;
                           word d←v21256;
                           word s←v21284;
                           word mask←v21312;
                           d←v21256 = (*  (ptr) dstLine←v8016 );
                           s←v21284 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
                           mask←v21312 = (word) XRM←BITAND(lMask←v8072, rMask←v8100);
SOURCE(8062, 57)
                           {
/*1*/   word var←c41224;
/*1*/   {
/*1*/      word var←c41256;
/*1*/      {
/*1*/         word var←c41288;
/*1*/         var←c41288 = (word) XRM←BITAND(d←v21256, s←v21284);
/*1*/         var←c41256 = (word) XRM←BITXOR(var←c41288, d←v21256);
/*1*/         };
/*1*/      var←c41224 = (word) XRM←BITAND(var←c41256, mask←v21312);
/*1*/      };
/*1*/   var←c41160 = (word) XRM←BITXOR(var←c41224, d←v21256);
/*1*/   };
                           var←c41128 = var←c41160;
                           };
                        (*  (ptr) dstLine←v8016 ) = var←c41128;
                        };
                     }
                  else {
SOURCE(9439, 10)
                     {
                        word w←v9092;
                        w←v9092 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
SOURCE(8945, 37)
                        {
                           word var←c41320;
                           {
/*1*/   word var←c41352;
/*1*/   word d←v20500;
/*1*/   word mask←v20528;
/*1*/   d←v20500 = (*  (ptr) dstLine←v8016 );
/*1*/   mask←v20528 = lMask←v8072;
SOURCE(8062, 57)
/*1*/   {
/*1*/      word var←c41416;
/*1*/      {
/*1*/         word var←c41448;
/*1*/         {
/*1*/            word var←c41480;
/*1*/            var←c41480 = (word) XRM←BITAND(d←v20500, w←v9092);
/*1*/            var←c41448 = (word) XRM←BITXOR(var←c41480, d←v20500);
/*1*/            };
/*1*/         var←c41416 = (word) XRM←BITAND(var←c41448, mask←v20528);
/*1*/         };
/*1*/      var←c41352 = (word) XRM←BITXOR(var←c41416, d←v20500);
/*1*/      };
/*1*/   var←c41320 = var←c41352;
/*1*/   };
                           (*  (ptr) dstLine←v8016 ) = var←c41320;
                           };
SOURCE(8984, 28)
                        dstLine←v8016 = (dstLine←v8016 + 4);
SOURCE(9014, 209)
                        {
                           register word noName←c41512 = 0;
                           register word noName←c41544;
                           noName←c41544 = ((ndw←v8044 - 2) >> 2);
                           if ((noName←c41512 >= noName←c41544)) {
/*1*/   goto lab←L100138;
/*1*/   };
                           lab←L100141: ;
SOURCE(9051, 29)
                           {
/*1*/   word var←c41576;
/*1*/   {
/*1*/      word var←c41608;
/*1*/      word d←v20232;
/*1*/      d←v20232 = (*  (ptr) dstLine←v8016 );
SOURCE(7983, 22)
/*1*/      var←c41608 = (word) XRM←BITAND(d←v20232, w←v9092);
/*1*/      var←c41576 = var←c41608;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v8016 ) = var←c41576;
/*1*/   };
SOURCE(9083, 29)
                           {
/*1*/   word var←c41672;
/*1*/   {
/*1*/      word var←c41704;
/*1*/      word d←v20184;
/*1*/      d←v20184 = (* (( (ptr) dstLine←v8016)+1) );
SOURCE(7983, 22)
/*1*/      var←c41704 = (word) XRM←BITAND(d←v20184, w←v9092);
/*1*/      var←c41672 = var←c41704;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v8016)+1) ) = var←c41672;
/*1*/   };
SOURCE(9115, 29)
                           {
/*1*/   word var←c41768;
/*1*/   {
/*1*/      word var←c41800;
/*1*/      word d←v20136;
/*1*/      d←v20136 = (* (( (ptr) dstLine←v8016)+2) );
SOURCE(7983, 22)
/*1*/      var←c41800 = (word) XRM←BITAND(d←v20136, w←v9092);
/*1*/      var←c41768 = var←c41800;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v8016)+2) ) = var←c41768;
/*1*/   };
SOURCE(9147, 29)
                           {
/*1*/   word var←c41864;
/*1*/   {
/*1*/      word var←c41896;
/*1*/      word d←v20088;
/*1*/      d←v20088 = (* (( (ptr) dstLine←v8016)+3) );
SOURCE(7983, 22)
/*1*/      var←c41896 = (word) XRM←BITAND(d←v20088, w←v9092);
/*1*/      var←c41864 = var←c41896;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v8016)+3) ) = var←c41864;
/*1*/   };
SOURCE(9179, 44)
                           dstLine←v8016 = (dstLine←v8016 + 16);
                           noName←c41512 = (noName←c41512 + 1);
                           if ((noName←c41512 < noName←c41544)) {
/*1*/   goto lab←L100141;
/*1*/   };
                           lab←L100138: ;
                           };
SOURCE(9234, 97)
                        {
                           register word noName←c41960 = 0;
                           register word noName←c41992;
                           noName←c41992 = ((ndw←v8044 - 2) & 3);
                           if ((noName←c41960 >= noName←c41992)) {
/*1*/   goto lab←L100146;
/*1*/   };
                           lab←L100149: ;
SOURCE(9272, 29)
                           {
/*1*/   word var←c42024;
/*1*/   {
/*1*/      word var←c42056;
/*1*/      word d←v20040;
/*1*/      d←v20040 = (*  (ptr) dstLine←v8016 );
SOURCE(7983, 22)
/*1*/      var←c42056 = (word) XRM←BITAND(d←v20040, w←v9092);
/*1*/      var←c42024 = var←c42056;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v8016 ) = var←c42024;
/*1*/   };
SOURCE(9303, 28)
                           dstLine←v8016 = (dstLine←v8016 + 4);
                           noName←c41960 = (noName←c41960 + 1);
                           if ((noName←c41960 < noName←c41992)) {
/*1*/   goto lab←L100149;
/*1*/   };
                           lab←L100146: ;
                           };
SOURCE(9342, 37)
                        {
                           word var←c42120;
                           {
/*1*/   word var←c42152;
/*1*/   word d←v20424;
/*1*/   word mask←v20452;
/*1*/   d←v20424 = (*  (ptr) dstLine←v8016 );
/*1*/   mask←v20452 = rMask←v8100;
SOURCE(8062, 57)
/*1*/   {
/*1*/      word var←c42216;
/*1*/      {
/*1*/         word var←c42248;
/*1*/         {
/*1*/            word var←c42280;
/*1*/            var←c42280 = (word) XRM←BITAND(d←v20424, w←v9092);
/*1*/            var←c42248 = (word) XRM←BITXOR(var←c42280, d←v20424);
/*1*/            };
/*1*/         var←c42216 = (word) XRM←BITAND(var←c42248, mask←v20452);
/*1*/         };
/*1*/      var←c42152 = (word) XRM←BITXOR(var←c42216, d←v20424);
/*1*/      };
/*1*/   var←c42120 = var←c42152;
/*1*/   };
                           (*  (ptr) dstLine←v8016 ) = var←c42120;
                           };
                        };
                     };
SOURCE(10418, 32)
                  sSize←v4164 = (sSize←v4164 - 1);
                  if ((sSize←v4164 == 0)) {
SOURCE(10450, 4)
                     goto lab←L100134;
                     };
SOURCE(10456, 27)
                  dst←v4024.f0 = (dst←v4024.f0 + dRast←v8964);
SOURCE(10485, 23)
                  srcIndex←v8128 = (srcIndex←v8128 + 1);
SOURCE(10510, 41)
                  if ((srcIndex←v8128 == sSizeTile←v4136)) {
SOURCE(10539, 12)
                     srcIndex←v8128 = 0;
                     };
                  goto lab←L100135;
                  lab←L100134: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(10574, 269)
      lab←L100154: ;
SOURCE(10577, 11)
SOURCE(8149, 35)
      {
         word bits←v21136;
         bits←v21136 = (dst←v4024.f1 + fSize←v4192);
SOURCE(374, 36)
         ndw←v8044 = ((bits←v21136 + 31) >> 5);
         };
SOURCE(8186, 39)
      lMask←v8072 = (* ((( (ptr) gf←c63400)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4024.f1)) );
SOURCE(8227, 76)
      {
         word var←c42344;
         word n←v21180;
         n←v21180 = (((32 - dst←v4024.f1) - fSize←v4192) & 037);
SOURCE(829, 39)
         var←c42344 = (word) XRM←BITNOT((* (((( (ptr) gf←c63400)+4)/* rightJustifiedOnes←v2692 */ +n←v21180)) ));
         rMask←v8100 = var←c42344;
         };
SOURCE(10590, 28)
      dstLine←v8016 = dst←v4024.f0;
SOURCE(10620, 8)
SOURCE(9408, 41)
      if ((ndw←v8044 == 1)) {
SOURCE(9424, 15)
SOURCE(8333, 61)
         {
            word var←c42408;
            {
               word var←c42440;
               word d←v21692;
               word s←v21720;
               word mask←v21748;
               d←v21692 = (*  (ptr) dstLine←v8016 );
               s←v21720 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
               mask←v21748 = (word) XRM←BITAND(lMask←v8072, rMask←v8100);
SOURCE(8062, 57)
               {
                  word var←c42504;
                  {
                     word var←c42536;
                     {
                        word var←c42568;
                        var←c42568 = (word) XRM←BITAND(d←v21692, s←v21720);
                        var←c42536 = (word) XRM←BITXOR(var←c42568, d←v21692);
                        };
                     var←c42504 = (word) XRM←BITAND(var←c42536, mask←v21748);
                     };
                  var←c42440 = (word) XRM←BITXOR(var←c42504, d←v21692);
                  };
               var←c42408 = var←c42440;
               };
            (*  (ptr) dstLine←v8016 ) = var←c42408;
            };
         }
      else {
SOURCE(9439, 10)
         {
            word w←v21792;
            w←v21792 = (* (( (ptr) src←v4052)+srcIndex←v8128) );
SOURCE(8945, 37)
            {
               word var←c42600;
               {
                  word var←c42632;
                  word d←v21836;
                  word mask←v21864;
                  d←v21836 = (*  (ptr) dstLine←v8016 );
                  mask←v21864 = lMask←v8072;
SOURCE(8062, 57)
                  {
                     word var←c42696;
                     {
                        word var←c42728;
                        {
                           word var←c42760;
                           var←c42760 = (word) XRM←BITAND(d←v21836, w←v21792);
                           var←c42728 = (word) XRM←BITXOR(var←c42760, d←v21836);
                           };
                        var←c42696 = (word) XRM←BITAND(var←c42728, mask←v21864);
                        };
                     var←c42632 = (word) XRM←BITXOR(var←c42696, d←v21836);
                     };
                  var←c42600 = var←c42632;
                  };
               (*  (ptr) dstLine←v8016 ) = var←c42600;
               };
SOURCE(8984, 28)
            dstLine←v8016 = (dstLine←v8016 + 4);
SOURCE(9014, 209)
            {
               register word noName←c42792 = 0;
               register word noName←c42824;
               noName←c42824 = ((ndw←v8044 - 2) >> 2);
               if ((noName←c42792 >= noName←c42824)) {
                  goto lab←L100159;
                  };
               lab←L100162: ;
SOURCE(9051, 29)
               {
                  word var←c42856;
                  {
                     word var←c42888;
                     word d←v21908;
                     d←v21908 = (*  (ptr) dstLine←v8016 );
SOURCE(7983, 22)
                     var←c42888 = (word) XRM←BITAND(d←v21908, w←v21792);
                     var←c42856 = var←c42888;
                     };
                  (*  (ptr) dstLine←v8016 ) = var←c42856;
                  };
SOURCE(9083, 29)
               {
                  word var←c42952;
                  {
                     word var←c42984;
                     word d←v21952;
                     d←v21952 = (* (( (ptr) dstLine←v8016)+1) );
SOURCE(7983, 22)
                     var←c42984 = (word) XRM←BITAND(d←v21952, w←v21792);
                     var←c42952 = var←c42984;
                     };
                  (* (( (ptr) dstLine←v8016)+1) ) = var←c42952;
                  };
SOURCE(9115, 29)
               {
                  word var←c43048;
                  {
                     word var←c43080;
                     word d←v21996;
                     d←v21996 = (* (( (ptr) dstLine←v8016)+2) );
SOURCE(7983, 22)
                     var←c43080 = (word) XRM←BITAND(d←v21996, w←v21792);
                     var←c43048 = var←c43080;
                     };
                  (* (( (ptr) dstLine←v8016)+2) ) = var←c43048;
                  };
SOURCE(9147, 29)
               {
                  word var←c43144;
                  {
                     word var←c43176;
                     word d←v22040;
                     d←v22040 = (* (( (ptr) dstLine←v8016)+3) );
SOURCE(7983, 22)
                     var←c43176 = (word) XRM←BITAND(d←v22040, w←v21792);
                     var←c43144 = var←c43176;
                     };
                  (* (( (ptr) dstLine←v8016)+3) ) = var←c43144;
                  };
SOURCE(9179, 44)
               dstLine←v8016 = (dstLine←v8016 + 16);
               noName←c42792 = (noName←c42792 + 1);
               if ((noName←c42792 < noName←c42824)) {
                  goto lab←L100162;
                  };
               lab←L100159: ;
               };
SOURCE(9234, 97)
            {
               register word noName←c43240 = 0;
               register word noName←c43272;
               noName←c43272 = ((ndw←v8044 - 2) & 3);
               if ((noName←c43240 >= noName←c43272)) {
                  goto lab←L100167;
                  };
               lab←L100170: ;
SOURCE(9272, 29)
               {
                  word var←c43304;
                  {
                     word var←c43336;
                     word d←v22084;
                     d←v22084 = (*  (ptr) dstLine←v8016 );
SOURCE(7983, 22)
                     var←c43336 = (word) XRM←BITAND(d←v22084, w←v21792);
                     var←c43304 = var←c43336;
                     };
                  (*  (ptr) dstLine←v8016 ) = var←c43304;
                  };
SOURCE(9303, 28)
               dstLine←v8016 = (dstLine←v8016 + 4);
               noName←c43240 = (noName←c43240 + 1);
               if ((noName←c43240 < noName←c43272)) {
                  goto lab←L100170;
                  };
               lab←L100167: ;
               };
SOURCE(9342, 37)
            {
               word var←c43400;
               {
                  word var←c43432;
                  word d←v22128;
                  word mask←v22156;
                  d←v22128 = (*  (ptr) dstLine←v8016 );
                  mask←v22156 = rMask←v8100;
SOURCE(8062, 57)
                  {
                     word var←c43496;
                     {
                        word var←c43528;
                        {
                           word var←c43560;
                           var←c43560 = (word) XRM←BITAND(d←v22128, w←v21792);
                           var←c43528 = (word) XRM←BITXOR(var←c43560, d←v22128);
                           };
                        var←c43496 = (word) XRM←BITAND(var←c43528, mask←v22156);
                        };
                     var←c43432 = (word) XRM←BITXOR(var←c43496, d←v22128);
                     };
                  var←c43400 = var←c43432;
                  };
               (*  (ptr) dstLine←v8016 ) = var←c43400;
               };
            };
         };
SOURCE(10630, 32)
      sSize←v4164 = (sSize←v4164 - 1);
      if ((sSize←v4164 == 0)) {
SOURCE(10662, 4)
         goto lab←L100153;
         };
SOURCE(10668, 61)
      {
         word var←c43592;
         word bits←v16528;
         bits←v16528 = (dst←v4024.f1 + dstBpl←v4080);
SOURCE(489, 52)
         var←c43592 = ((bits←v16528 >> 5) << 2);
         dst←v4024.f0 = (dst←v4024.f0 + var←c43592);
         };
SOURCE(10731, 44)
      dst←v4024.f1 = ((dst←v4024.f1 + dstBpl←v4080) & 037);
SOURCE(10777, 23)
      srcIndex←v8128 = (srcIndex←v8128 + 1);
SOURCE(10802, 41)
      if ((srcIndex←v8128 == sSizeTile←v4136)) {
SOURCE(10831, 12)
         srcIndex←v8128 = 0;
         };
      goto lab←L100154;
      lab←L100153: ;
      };
   }

static void Tile3←P480(dst←v4264, src←v4292, dstBpl←v4320, src0←v4348, sSizeTile←v4376, sSize←v4404, fSize←v4432)
   W2 dst←v4264;
   word src←v4292;
   word dstBpl←v4320;
   word src0←v4348;
   word sSizeTile←v4376;
   word sSize←v4404;
   word fSize←v4432;
   {
   register ptr gf←c63432 =  (ptr) &globalframe;
   word dstLine←v9156;
   word ndw←v9184 = 0;
   word lMask←v9212;
   word rMask←v9240;
   word srcIndex←v9268;
   /* Tile3: */ 
SOURCE(10861, 3392)
SOURCE(11246, 25)
   srcIndex←v9268 = src0←v4348;
SOURCE(12862, 1391)
   if (((dstBpl←v4320 & 037) == 0)) {
SOURCE(12899, 1076)
      {
         word dRast←v10104;
SOURCE(12901, 43)
         dRast←v10104 = ((dstBpl←v4320 >> 5) << 2);
SOURCE(12946, 11)
SOURCE(11559, 35)
         {
            word bits←v16096;
            bits←v16096 = (dst←v4264.f1 + fSize←v4432);
SOURCE(374, 36)
            ndw←v9184 = ((bits←v16096 + 31) >> 5);
            };
SOURCE(11596, 39)
         lMask←v9212 = (* ((( (ptr) gf←c63432)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4264.f1)) );
SOURCE(11637, 76)
         {
            word var←c43656;
            word n←v16864;
            n←v16864 = (((32 - dst←v4264.f1) - fSize←v4432) & 037);
SOURCE(829, 39)
            var←c43656 = (word) XRM←BITNOT((* (((( (ptr) gf←c63432)+4)/* rightJustifiedOnes←v2692 */ +n←v16864)) ));
            rMask←v9240 = var←c43656;
            };
SOURCE(12959, 1002)
         {
            word var←c43720;
            var←c43720 = ndw←v9184;
            switch (var←c43720) {
               case 1: 
SOURCE(12983, 177)
                  lab←L100178: ;
SOURCE(12986, 28)
                  dstLine←v9156 = dst←v4264.f0;
SOURCE(13016, 9)
SOURCE(11743, 61)
                  {
                     word var←c43752;
                     {
                        word var←c43784;
                        word d←v23336;
                        word s←v23364;
                        word mask←v23392;
                        d←v23336 = (*  (ptr) dstLine←v9156 );
                        s←v23364 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
                        mask←v23392 = (word) XRM←BITAND(lMask←v9212, rMask←v9240);
SOURCE(11472, 57)
                        {
                           word var←c43848;
                           {
/*1*/   word var←c43880;
/*1*/   {
/*1*/      word var←c43912;
/*1*/      var←c43912 = (word) XRM←BITAND(d←v23336, s←v23364);
/*1*/      var←c43880 = (word) XRM←BITXOR(var←c43912, d←v23336);
/*1*/      };
/*1*/   var←c43848 = (word) XRM←BITAND(var←c43880, mask←v23392);
/*1*/   };
                           var←c43784 = (word) XRM←BITXOR(var←c43848, d←v23336);
                           };
                        var←c43752 = var←c43784;
                        };
                     (*  (ptr) dstLine←v9156 ) = var←c43752;
                     };
SOURCE(13027, 32)
                  sSize←v4404 = (sSize←v4404 - 1);
                  if ((sSize←v4404 == 0)) {
SOURCE(13059, 4)
                     goto lab←L100177;
                     };
SOURCE(13065, 27)
                  dst←v4264.f0 = (dst←v4264.f0 + dRast←v10104);
SOURCE(13094, 23)
                  srcIndex←v9268 = (srcIndex←v9268 + 1);
SOURCE(13119, 41)
                  if ((srcIndex←v9268 == sSizeTile←v4376)) {
SOURCE(13148, 12)
                     srcIndex←v9268 = 0;
                     };
                  goto lab←L100178;
                  lab←L100177: ;
                  break;
               case 2: 
SOURCE(13182, 177)
                  lab←L100182: ;
SOURCE(13185, 28)
                  dstLine←v9156 = dst←v4264.f0;
SOURCE(13215, 9)
                  {
                     word w←v10148;
                     w←v10148 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
SOURCE(11857, 37)
                     {
                        word var←c43944;
                        {
                           word var←c43976;
                           word d←v23260;
                           word mask←v23288;
                           d←v23260 = (*  (ptr) dstLine←v9156 );
                           mask←v23288 = lMask←v9212;
SOURCE(11472, 57)
                           {
/*1*/   word var←c44040;
/*1*/   {
/*1*/      word var←c44072;
/*1*/      {
/*1*/         word var←c44104;
/*1*/         var←c44104 = (word) XRM←BITAND(d←v23260, w←v10148);
/*1*/         var←c44072 = (word) XRM←BITXOR(var←c44104, d←v23260);
/*1*/         };
/*1*/      var←c44040 = (word) XRM←BITAND(var←c44072, mask←v23288);
/*1*/      };
/*1*/   var←c43976 = (word) XRM←BITXOR(var←c44040, d←v23260);
/*1*/   };
                           var←c43944 = var←c43976;
                           };
                        (*  (ptr) dstLine←v9156 ) = var←c43944;
                        };
SOURCE(11897, 41)
                     {
                        word var←c44136;
                        {
                           word var←c44168;
                           word d←v23184;
                           word mask←v23212;
                           d←v23184 = (* (( (ptr) dstLine←v9156)+1) );
                           mask←v23212 = rMask←v9240;
SOURCE(11472, 57)
                           {
/*1*/   word var←c44232;
/*1*/   {
/*1*/      word var←c44264;
/*1*/      {
/*1*/         word var←c44296;
/*1*/         var←c44296 = (word) XRM←BITAND(d←v23184, w←v10148);
/*1*/         var←c44264 = (word) XRM←BITXOR(var←c44296, d←v23184);
/*1*/         };
/*1*/      var←c44232 = (word) XRM←BITAND(var←c44264, mask←v23212);
/*1*/      };
/*1*/   var←c44168 = (word) XRM←BITXOR(var←c44232, d←v23184);
/*1*/   };
                           var←c44136 = var←c44168;
                           };
                        (* (( (ptr) dstLine←v9156)+1) ) = var←c44136;
                        };
                     };
SOURCE(13226, 32)
                  sSize←v4404 = (sSize←v4404 - 1);
                  if ((sSize←v4404 == 0)) {
SOURCE(13258, 4)
                     goto lab←L100181;
                     };
SOURCE(13264, 27)
                  dst←v4264.f0 = (dst←v4264.f0 + dRast←v10104);
SOURCE(13293, 23)
                  srcIndex←v9268 = (srcIndex←v9268 + 1);
SOURCE(13318, 41)
                  if ((srcIndex←v9268 == sSizeTile←v4376)) {
SOURCE(13347, 12)
                     srcIndex←v9268 = 0;
                     };
                  goto lab←L100182;
                  lab←L100181: ;
                  break;
               case 3: 
SOURCE(13381, 177)
                  lab←L100187: ;
SOURCE(13384, 28)
                  dstLine←v9156 = dst←v4264.f0;
SOURCE(13414, 9)
                  {
                     word w←v10176;
                     w←v10176 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
SOURCE(11991, 37)
                     {
                        word var←c44328;
                        {
                           word var←c44360;
                           word d←v23108;
                           word mask←v23136;
                           d←v23108 = (*  (ptr) dstLine←v9156 );
                           mask←v23136 = lMask←v9212;
SOURCE(11472, 57)
                           {
/*1*/   word var←c44424;
/*1*/   {
/*1*/      word var←c44456;
/*1*/      {
/*1*/         word var←c44488;
/*1*/         var←c44488 = (word) XRM←BITAND(d←v23108, w←v10176);
/*1*/         var←c44456 = (word) XRM←BITXOR(var←c44488, d←v23108);
/*1*/         };
/*1*/      var←c44424 = (word) XRM←BITAND(var←c44456, mask←v23136);
/*1*/      };
/*1*/   var←c44360 = (word) XRM←BITXOR(var←c44424, d←v23108);
/*1*/   };
                           var←c44328 = var←c44360;
                           };
                        (*  (ptr) dstLine←v9156 ) = var←c44328;
                        };
SOURCE(12031, 29)
                     {
                        word var←c44520;
                        {
                           word var←c44552;
                           word d←v22680;
                           d←v22680 = (* (( (ptr) dstLine←v9156)+1) );
SOURCE(11393, 22)
                           var←c44552 = (word) XRM←BITAND(d←v22680, w←v10176);
                           var←c44520 = var←c44552;
                           };
                        (* (( (ptr) dstLine←v9156)+1) ) = var←c44520;
                        };
SOURCE(12063, 41)
                     {
                        word var←c44616;
                        {
                           word var←c44648;
                           word d←v23032;
                           word mask←v23060;
                           d←v23032 = (* (( (ptr) dstLine←v9156)+2) );
                           mask←v23060 = rMask←v9240;
SOURCE(11472, 57)
                           {
/*1*/   word var←c44712;
/*1*/   {
/*1*/      word var←c44744;
/*1*/      {
/*1*/         word var←c44776;
/*1*/         var←c44776 = (word) XRM←BITAND(d←v23032, w←v10176);
/*1*/         var←c44744 = (word) XRM←BITXOR(var←c44776, d←v23032);
/*1*/         };
/*1*/      var←c44712 = (word) XRM←BITAND(var←c44744, mask←v23060);
/*1*/      };
/*1*/   var←c44648 = (word) XRM←BITXOR(var←c44712, d←v23032);
/*1*/   };
                           var←c44616 = var←c44648;
                           };
                        (* (( (ptr) dstLine←v9156)+2) ) = var←c44616;
                        };
                     };
SOURCE(13425, 32)
                  sSize←v4404 = (sSize←v4404 - 1);
                  if ((sSize←v4404 == 0)) {
SOURCE(13457, 4)
                     goto lab←L100186;
                     };
SOURCE(13463, 27)
                  dst←v4264.f0 = (dst←v4264.f0 + dRast←v10104);
SOURCE(13492, 23)
                  srcIndex←v9268 = (srcIndex←v9268 + 1);
SOURCE(13517, 41)
                  if ((srcIndex←v9268 == sSizeTile←v4376)) {
SOURCE(13546, 12)
                     srcIndex←v9268 = 0;
                     };
                  goto lab←L100187;
                  lab←L100186: ;
                  break;
               case 4: 
SOURCE(13580, 177)
                  lab←L100193: ;
SOURCE(13583, 28)
                  dstLine←v9156 = dst←v4264.f0;
SOURCE(13613, 9)
                  {
                     word w←v10204;
                     w←v10204 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
SOURCE(12157, 37)
                     {
                        word var←c44808;
                        {
                           word var←c44840;
                           word d←v22956;
                           word mask←v22984;
                           d←v22956 = (*  (ptr) dstLine←v9156 );
                           mask←v22984 = lMask←v9212;
SOURCE(11472, 57)
                           {
/*1*/   word var←c44904;
/*1*/   {
/*1*/      word var←c44936;
/*1*/      {
/*1*/         word var←c44968;
/*1*/         var←c44968 = (word) XRM←BITAND(d←v22956, w←v10204);
/*1*/         var←c44936 = (word) XRM←BITXOR(var←c44968, d←v22956);
/*1*/         };
/*1*/      var←c44904 = (word) XRM←BITAND(var←c44936, mask←v22984);
/*1*/      };
/*1*/   var←c44840 = (word) XRM←BITXOR(var←c44904, d←v22956);
/*1*/   };
                           var←c44808 = var←c44840;
                           };
                        (*  (ptr) dstLine←v9156 ) = var←c44808;
                        };
SOURCE(12197, 29)
                     {
                        word var←c45000;
                        {
                           word var←c45032;
                           word d←v22632;
                           d←v22632 = (* (( (ptr) dstLine←v9156)+1) );
SOURCE(11393, 22)
                           var←c45032 = (word) XRM←BITAND(d←v22632, w←v10204);
                           var←c45000 = var←c45032;
                           };
                        (* (( (ptr) dstLine←v9156)+1) ) = var←c45000;
                        };
SOURCE(12229, 29)
                     {
                        word var←c45096;
                        {
                           word var←c45128;
                           word d←v22584;
                           d←v22584 = (* (( (ptr) dstLine←v9156)+2) );
SOURCE(11393, 22)
                           var←c45128 = (word) XRM←BITAND(d←v22584, w←v10204);
                           var←c45096 = var←c45128;
                           };
                        (* (( (ptr) dstLine←v9156)+2) ) = var←c45096;
                        };
SOURCE(12261, 41)
                     {
                        word var←c45192;
                        {
                           word var←c45224;
                           word d←v22880;
                           word mask←v22908;
                           d←v22880 = (* (( (ptr) dstLine←v9156)+3) );
                           mask←v22908 = rMask←v9240;
SOURCE(11472, 57)
                           {
/*1*/   word var←c45288;
/*1*/   {
/*1*/      word var←c45320;
/*1*/      {
/*1*/         word var←c45352;
/*1*/         var←c45352 = (word) XRM←BITAND(d←v22880, w←v10204);
/*1*/         var←c45320 = (word) XRM←BITXOR(var←c45352, d←v22880);
/*1*/         };
/*1*/      var←c45288 = (word) XRM←BITAND(var←c45320, mask←v22908);
/*1*/      };
/*1*/   var←c45224 = (word) XRM←BITXOR(var←c45288, d←v22880);
/*1*/   };
                           var←c45192 = var←c45224;
                           };
                        (* (( (ptr) dstLine←v9156)+3) ) = var←c45192;
                        };
                     };
SOURCE(13624, 32)
                  sSize←v4404 = (sSize←v4404 - 1);
                  if ((sSize←v4404 == 0)) {
SOURCE(13656, 4)
                     goto lab←L100192;
                     };
SOURCE(13662, 27)
                  dst←v4264.f0 = (dst←v4264.f0 + dRast←v10104);
SOURCE(13691, 23)
                  srcIndex←v9268 = (srcIndex←v9268 + 1);
SOURCE(13716, 41)
                  if ((srcIndex←v9268 == sSizeTile←v4376)) {
SOURCE(13745, 12)
                     srcIndex←v9268 = 0;
                     };
                  goto lab←L100193;
                  lab←L100192: ;
                  break;
               default: 
SOURCE(13785, 176)
                  lab←L100200: ;
SOURCE(13788, 28)
                  dstLine←v9156 = dst←v4264.f0;
SOURCE(13818, 8)
SOURCE(12818, 41)
                  if ((ndw←v9184 == 1)) {
SOURCE(12834, 15)
SOURCE(11743, 61)
                     {
                        word var←c45384;
                        {
                           word var←c45416;
                           word d←v23560;
                           word s←v23588;
                           word mask←v23616;
                           d←v23560 = (*  (ptr) dstLine←v9156 );
                           s←v23588 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
                           mask←v23616 = (word) XRM←BITAND(lMask←v9212, rMask←v9240);
SOURCE(11472, 57)
                           {
/*1*/   word var←c45480;
/*1*/   {
/*1*/      word var←c45512;
/*1*/      {
/*1*/         word var←c45544;
/*1*/         var←c45544 = (word) XRM←BITAND(d←v23560, s←v23588);
/*1*/         var←c45512 = (word) XRM←BITXOR(var←c45544, d←v23560);
/*1*/         };
/*1*/      var←c45480 = (word) XRM←BITAND(var←c45512, mask←v23616);
/*1*/      };
/*1*/   var←c45416 = (word) XRM←BITXOR(var←c45480, d←v23560);
/*1*/   };
                           var←c45384 = var←c45416;
                           };
                        (*  (ptr) dstLine←v9156 ) = var←c45384;
                        };
                     }
                  else {
SOURCE(12849, 10)
                     {
                        word w←v10232;
                        w←v10232 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
SOURCE(12355, 37)
                        {
                           word var←c45576;
                           {
/*1*/   word var←c45608;
/*1*/   word d←v22804;
/*1*/   word mask←v22832;
/*1*/   d←v22804 = (*  (ptr) dstLine←v9156 );
/*1*/   mask←v22832 = lMask←v9212;
SOURCE(11472, 57)
/*1*/   {
/*1*/      word var←c45672;
/*1*/      {
/*1*/         word var←c45704;
/*1*/         {
/*1*/            word var←c45736;
/*1*/            var←c45736 = (word) XRM←BITAND(d←v22804, w←v10232);
/*1*/            var←c45704 = (word) XRM←BITXOR(var←c45736, d←v22804);
/*1*/            };
/*1*/         var←c45672 = (word) XRM←BITAND(var←c45704, mask←v22832);
/*1*/         };
/*1*/      var←c45608 = (word) XRM←BITXOR(var←c45672, d←v22804);
/*1*/      };
/*1*/   var←c45576 = var←c45608;
/*1*/   };
                           (*  (ptr) dstLine←v9156 ) = var←c45576;
                           };
SOURCE(12394, 28)
                        dstLine←v9156 = (dstLine←v9156 + 4);
SOURCE(12424, 209)
                        {
                           register word noName←c45768 = 0;
                           register word noName←c45800;
                           noName←c45800 = ((ndw←v9184 - 2) >> 2);
                           if ((noName←c45768 >= noName←c45800)) {
/*1*/   goto lab←L100203;
/*1*/   };
                           lab←L100206: ;
SOURCE(12461, 29)
                           {
/*1*/   word var←c45832;
/*1*/   {
/*1*/      word var←c45864;
/*1*/      word d←v22536;
/*1*/      d←v22536 = (*  (ptr) dstLine←v9156 );
SOURCE(11393, 22)
/*1*/      var←c45864 = (word) XRM←BITAND(d←v22536, w←v10232);
/*1*/      var←c45832 = var←c45864;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v9156 ) = var←c45832;
/*1*/   };
SOURCE(12493, 29)
                           {
/*1*/   word var←c45928;
/*1*/   {
/*1*/      word var←c45960;
/*1*/      word d←v22488;
/*1*/      d←v22488 = (* (( (ptr) dstLine←v9156)+1) );
SOURCE(11393, 22)
/*1*/      var←c45960 = (word) XRM←BITAND(d←v22488, w←v10232);
/*1*/      var←c45928 = var←c45960;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v9156)+1) ) = var←c45928;
/*1*/   };
SOURCE(12525, 29)
                           {
/*1*/   word var←c46024;
/*1*/   {
/*1*/      word var←c46056;
/*1*/      word d←v22440;
/*1*/      d←v22440 = (* (( (ptr) dstLine←v9156)+2) );
SOURCE(11393, 22)
/*1*/      var←c46056 = (word) XRM←BITAND(d←v22440, w←v10232);
/*1*/      var←c46024 = var←c46056;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v9156)+2) ) = var←c46024;
/*1*/   };
SOURCE(12557, 29)
                           {
/*1*/   word var←c46120;
/*1*/   {
/*1*/      word var←c46152;
/*1*/      word d←v22392;
/*1*/      d←v22392 = (* (( (ptr) dstLine←v9156)+3) );
SOURCE(11393, 22)
/*1*/      var←c46152 = (word) XRM←BITAND(d←v22392, w←v10232);
/*1*/      var←c46120 = var←c46152;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v9156)+3) ) = var←c46120;
/*1*/   };
SOURCE(12589, 44)
                           dstLine←v9156 = (dstLine←v9156 + 16);
                           noName←c45768 = (noName←c45768 + 1);
                           if ((noName←c45768 < noName←c45800)) {
/*1*/   goto lab←L100206;
/*1*/   };
                           lab←L100203: ;
                           };
SOURCE(12644, 97)
                        {
                           register word noName←c46216 = 0;
                           register word noName←c46248;
                           noName←c46248 = ((ndw←v9184 - 2) & 3);
                           if ((noName←c46216 >= noName←c46248)) {
/*1*/   goto lab←L100211;
/*1*/   };
                           lab←L100214: ;
SOURCE(12682, 29)
                           {
/*1*/   word var←c46280;
/*1*/   {
/*1*/      word var←c46312;
/*1*/      word d←v22344;
/*1*/      d←v22344 = (*  (ptr) dstLine←v9156 );
SOURCE(11393, 22)
/*1*/      var←c46312 = (word) XRM←BITAND(d←v22344, w←v10232);
/*1*/      var←c46280 = var←c46312;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v9156 ) = var←c46280;
/*1*/   };
SOURCE(12713, 28)
                           dstLine←v9156 = (dstLine←v9156 + 4);
                           noName←c46216 = (noName←c46216 + 1);
                           if ((noName←c46216 < noName←c46248)) {
/*1*/   goto lab←L100214;
/*1*/   };
                           lab←L100211: ;
                           };
SOURCE(12752, 37)
                        {
                           word var←c46376;
                           {
/*1*/   word var←c46408;
/*1*/   word d←v22728;
/*1*/   word mask←v22756;
/*1*/   d←v22728 = (*  (ptr) dstLine←v9156 );
/*1*/   mask←v22756 = rMask←v9240;
SOURCE(11472, 57)
/*1*/   {
/*1*/      word var←c46472;
/*1*/      {
/*1*/         word var←c46504;
/*1*/         {
/*1*/            word var←c46536;
/*1*/            var←c46536 = (word) XRM←BITAND(d←v22728, w←v10232);
/*1*/            var←c46504 = (word) XRM←BITXOR(var←c46536, d←v22728);
/*1*/            };
/*1*/         var←c46472 = (word) XRM←BITAND(var←c46504, mask←v22756);
/*1*/         };
/*1*/      var←c46408 = (word) XRM←BITXOR(var←c46472, d←v22728);
/*1*/      };
/*1*/   var←c46376 = var←c46408;
/*1*/   };
                           (*  (ptr) dstLine←v9156 ) = var←c46376;
                           };
                        };
                     };
SOURCE(13828, 32)
                  sSize←v4404 = (sSize←v4404 - 1);
                  if ((sSize←v4404 == 0)) {
SOURCE(13860, 4)
                     goto lab←L100199;
                     };
SOURCE(13866, 27)
                  dst←v4264.f0 = (dst←v4264.f0 + dRast←v10104);
SOURCE(13895, 23)
                  srcIndex←v9268 = (srcIndex←v9268 + 1);
SOURCE(13920, 41)
                  if ((srcIndex←v9268 == sSizeTile←v4376)) {
SOURCE(13949, 12)
                     srcIndex←v9268 = 0;
                     };
                  goto lab←L100200;
                  lab←L100199: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(13984, 269)
      lab←L100219: ;
SOURCE(13987, 11)
SOURCE(11559, 35)
      {
         word bits←v23440;
         bits←v23440 = (dst←v4264.f1 + fSize←v4432);
SOURCE(374, 36)
         ndw←v9184 = ((bits←v23440 + 31) >> 5);
         };
SOURCE(11596, 39)
      lMask←v9212 = (* ((( (ptr) gf←c63432)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4264.f1)) );
SOURCE(11637, 76)
      {
         word var←c46600;
         word n←v23484;
         n←v23484 = (((32 - dst←v4264.f1) - fSize←v4432) & 037);
SOURCE(829, 39)
         var←c46600 = (word) XRM←BITNOT((* (((( (ptr) gf←c63432)+4)/* rightJustifiedOnes←v2692 */ +n←v23484)) ));
         rMask←v9240 = var←c46600;
         };
SOURCE(14000, 28)
      dstLine←v9156 = dst←v4264.f0;
SOURCE(14030, 8)
SOURCE(12818, 41)
      if ((ndw←v9184 == 1)) {
SOURCE(12834, 15)
SOURCE(11743, 61)
         {
            word var←c46664;
            {
               word var←c46696;
               word d←v23996;
               word s←v24024;
               word mask←v24052;
               d←v23996 = (*  (ptr) dstLine←v9156 );
               s←v24024 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
               mask←v24052 = (word) XRM←BITAND(lMask←v9212, rMask←v9240);
SOURCE(11472, 57)
               {
                  word var←c46760;
                  {
                     word var←c46792;
                     {
                        word var←c46824;
                        var←c46824 = (word) XRM←BITAND(d←v23996, s←v24024);
                        var←c46792 = (word) XRM←BITXOR(var←c46824, d←v23996);
                        };
                     var←c46760 = (word) XRM←BITAND(var←c46792, mask←v24052);
                     };
                  var←c46696 = (word) XRM←BITXOR(var←c46760, d←v23996);
                  };
               var←c46664 = var←c46696;
               };
            (*  (ptr) dstLine←v9156 ) = var←c46664;
            };
         }
      else {
SOURCE(12849, 10)
         {
            word w←v24096;
            w←v24096 = (word) XRM←BITNOT((* ((( (ptr) src←v4292)+srcIndex←v9268)) ));
SOURCE(12355, 37)
            {
               word var←c46856;
               {
                  word var←c46888;
                  word d←v24140;
                  word mask←v24168;
                  d←v24140 = (*  (ptr) dstLine←v9156 );
                  mask←v24168 = lMask←v9212;
SOURCE(11472, 57)
                  {
                     word var←c46952;
                     {
                        word var←c46984;
                        {
                           word var←c47016;
                           var←c47016 = (word) XRM←BITAND(d←v24140, w←v24096);
                           var←c46984 = (word) XRM←BITXOR(var←c47016, d←v24140);
                           };
                        var←c46952 = (word) XRM←BITAND(var←c46984, mask←v24168);
                        };
                     var←c46888 = (word) XRM←BITXOR(var←c46952, d←v24140);
                     };
                  var←c46856 = var←c46888;
                  };
               (*  (ptr) dstLine←v9156 ) = var←c46856;
               };
SOURCE(12394, 28)
            dstLine←v9156 = (dstLine←v9156 + 4);
SOURCE(12424, 209)
            {
               register word noName←c47048 = 0;
               register word noName←c47080;
               noName←c47080 = ((ndw←v9184 - 2) >> 2);
               if ((noName←c47048 >= noName←c47080)) {
                  goto lab←L100224;
                  };
               lab←L100227: ;
SOURCE(12461, 29)
               {
                  word var←c47112;
                  {
                     word var←c47144;
                     word d←v24212;
                     d←v24212 = (*  (ptr) dstLine←v9156 );
SOURCE(11393, 22)
                     var←c47144 = (word) XRM←BITAND(d←v24212, w←v24096);
                     var←c47112 = var←c47144;
                     };
                  (*  (ptr) dstLine←v9156 ) = var←c47112;
                  };
SOURCE(12493, 29)
               {
                  word var←c47208;
                  {
                     word var←c47240;
                     word d←v24256;
                     d←v24256 = (* (( (ptr) dstLine←v9156)+1) );
SOURCE(11393, 22)
                     var←c47240 = (word) XRM←BITAND(d←v24256, w←v24096);
                     var←c47208 = var←c47240;
                     };
                  (* (( (ptr) dstLine←v9156)+1) ) = var←c47208;
                  };
SOURCE(12525, 29)
               {
                  word var←c47304;
                  {
                     word var←c47336;
                     word d←v24300;
                     d←v24300 = (* (( (ptr) dstLine←v9156)+2) );
SOURCE(11393, 22)
                     var←c47336 = (word) XRM←BITAND(d←v24300, w←v24096);
                     var←c47304 = var←c47336;
                     };
                  (* (( (ptr) dstLine←v9156)+2) ) = var←c47304;
                  };
SOURCE(12557, 29)
               {
                  word var←c47400;
                  {
                     word var←c47432;
                     word d←v24344;
                     d←v24344 = (* (( (ptr) dstLine←v9156)+3) );
SOURCE(11393, 22)
                     var←c47432 = (word) XRM←BITAND(d←v24344, w←v24096);
                     var←c47400 = var←c47432;
                     };
                  (* (( (ptr) dstLine←v9156)+3) ) = var←c47400;
                  };
SOURCE(12589, 44)
               dstLine←v9156 = (dstLine←v9156 + 16);
               noName←c47048 = (noName←c47048 + 1);
               if ((noName←c47048 < noName←c47080)) {
                  goto lab←L100227;
                  };
               lab←L100224: ;
               };
SOURCE(12644, 97)
            {
               register word noName←c47496 = 0;
               register word noName←c47528;
               noName←c47528 = ((ndw←v9184 - 2) & 3);
               if ((noName←c47496 >= noName←c47528)) {
                  goto lab←L100232;
                  };
               lab←L100235: ;
SOURCE(12682, 29)
               {
                  word var←c47560;
                  {
                     word var←c47592;
                     word d←v24388;
                     d←v24388 = (*  (ptr) dstLine←v9156 );
SOURCE(11393, 22)
                     var←c47592 = (word) XRM←BITAND(d←v24388, w←v24096);
                     var←c47560 = var←c47592;
                     };
                  (*  (ptr) dstLine←v9156 ) = var←c47560;
                  };
SOURCE(12713, 28)
               dstLine←v9156 = (dstLine←v9156 + 4);
               noName←c47496 = (noName←c47496 + 1);
               if ((noName←c47496 < noName←c47528)) {
                  goto lab←L100235;
                  };
               lab←L100232: ;
               };
SOURCE(12752, 37)
            {
               word var←c47656;
               {
                  word var←c47688;
                  word d←v24432;
                  word mask←v24460;
                  d←v24432 = (*  (ptr) dstLine←v9156 );
                  mask←v24460 = rMask←v9240;
SOURCE(11472, 57)
                  {
                     word var←c47752;
                     {
                        word var←c47784;
                        {
                           word var←c47816;
                           var←c47816 = (word) XRM←BITAND(d←v24432, w←v24096);
                           var←c47784 = (word) XRM←BITXOR(var←c47816, d←v24432);
                           };
                        var←c47752 = (word) XRM←BITAND(var←c47784, mask←v24460);
                        };
                     var←c47688 = (word) XRM←BITXOR(var←c47752, d←v24432);
                     };
                  var←c47656 = var←c47688;
                  };
               (*  (ptr) dstLine←v9156 ) = var←c47656;
               };
            };
         };
SOURCE(14040, 32)
      sSize←v4404 = (sSize←v4404 - 1);
      if ((sSize←v4404 == 0)) {
SOURCE(14072, 4)
         goto lab←L100218;
         };
SOURCE(14078, 61)
      {
         word var←c47848;
         word bits←v16480;
         bits←v16480 = (dst←v4264.f1 + dstBpl←v4320);
SOURCE(489, 52)
         var←c47848 = ((bits←v16480 >> 5) << 2);
         dst←v4264.f0 = (dst←v4264.f0 + var←c47848);
         };
SOURCE(14141, 44)
      dst←v4264.f1 = ((dst←v4264.f1 + dstBpl←v4320) & 037);
SOURCE(14187, 23)
      srcIndex←v9268 = (srcIndex←v9268 + 1);
SOURCE(14212, 41)
      if ((srcIndex←v9268 == sSizeTile←v4376)) {
SOURCE(14241, 12)
         srcIndex←v9268 = 0;
         };
      goto lab←L100219;
      lab←L100218: ;
      };
   }

static void Tile4←P540(dst←v4504, src←v4532, dstBpl←v4560, src0←v4588, sSizeTile←v4616, sSize←v4644, fSize←v4672)
   W2 dst←v4504;
   word src←v4532;
   word dstBpl←v4560;
   word src0←v4588;
   word sSizeTile←v4616;
   word sSize←v4644;
   word fSize←v4672;
   {
   register ptr gf←c63464 =  (ptr) &globalframe;
   word dstLine←v10296;
   word ndw←v10324 = 0;
   word lMask←v10352;
   word rMask←v10380;
   word srcIndex←v10408;
   /* Tile4: */ 
SOURCE(14271, 3365)
SOURCE(14656, 25)
   srcIndex←v10408 = src0←v4588;
SOURCE(16245, 1391)
   if (((dstBpl←v4560 & 037) == 0)) {
SOURCE(16282, 1076)
      {
         word dRast←v11244;
SOURCE(16284, 43)
         dRast←v11244 = ((dstBpl←v4560 >> 5) << 2);
SOURCE(16329, 11)
SOURCE(14942, 35)
         {
            word bits←v16048;
            bits←v16048 = (dst←v4504.f1 + fSize←v4672);
SOURCE(374, 36)
            ndw←v10324 = ((bits←v16048 + 31) >> 5);
            };
SOURCE(14979, 39)
         lMask←v10352 = (* ((( (ptr) gf←c63464)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4504.f1)) );
SOURCE(15020, 76)
         {
            word var←c47912;
            word n←v16816;
            n←v16816 = (((32 - dst←v4504.f1) - fSize←v4672) & 037);
SOURCE(829, 39)
            var←c47912 = (word) XRM←BITNOT((* (((( (ptr) gf←c63464)+4)/* rightJustifiedOnes←v2692 */ +n←v16816)) ));
            rMask←v10380 = var←c47912;
            };
SOURCE(16342, 1002)
         {
            word var←c47976;
            var←c47976 = ndw←v10324;
            switch (var←c47976) {
               case 1: 
SOURCE(16366, 177)
                  lab←L100243: ;
SOURCE(16369, 28)
                  dstLine←v10296 = dst←v4504.f0;
SOURCE(16399, 9)
SOURCE(15126, 61)
                  {
                     word var←c48008;
                     {
                        word var←c48040;
                        word d←v25640;
                        word s←v25668;
                        word mask←v25696;
                        d←v25640 = (*  (ptr) dstLine←v10296 );
                        s←v25668 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
                        mask←v25696 = (word) XRM←BITAND(lMask←v10352, rMask←v10380);
SOURCE(14873, 39)
                        {
                           word var←c48104;
                           var←c48104 = (word) XRM←BITAND(mask←v25696, s←v25668);
                           var←c48040 = (word) XRM←BITOR(d←v25640, var←c48104);
                           };
                        var←c48008 = var←c48040;
                        };
                     (*  (ptr) dstLine←v10296 ) = var←c48008;
                     };
SOURCE(16410, 32)
                  sSize←v4644 = (sSize←v4644 - 1);
                  if ((sSize←v4644 == 0)) {
SOURCE(16442, 4)
                     goto lab←L100242;
                     };
SOURCE(16448, 27)
                  dst←v4504.f0 = (dst←v4504.f0 + dRast←v11244);
SOURCE(16477, 23)
                  srcIndex←v10408 = (srcIndex←v10408 + 1);
SOURCE(16502, 41)
                  if ((srcIndex←v10408 == sSizeTile←v4616)) {
SOURCE(16531, 12)
                     srcIndex←v10408 = 0;
                     };
                  goto lab←L100243;
                  lab←L100242: ;
                  break;
               case 2: 
SOURCE(16565, 177)
                  lab←L100247: ;
SOURCE(16568, 28)
                  dstLine←v10296 = dst←v4504.f0;
SOURCE(16598, 9)
                  {
                     word w←v11288;
                     w←v11288 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
SOURCE(15240, 37)
                     {
                        word var←c48136;
                        {
                           word var←c48168;
                           word d←v25564;
                           word mask←v25592;
                           d←v25564 = (*  (ptr) dstLine←v10296 );
                           mask←v25592 = lMask←v10352;
SOURCE(14873, 39)
                           {
/*1*/   word var←c48232;
/*1*/   var←c48232 = (word) XRM←BITAND(mask←v25592, w←v11288);
/*1*/   var←c48168 = (word) XRM←BITOR(d←v25564, var←c48232);
/*1*/   };
                           var←c48136 = var←c48168;
                           };
                        (*  (ptr) dstLine←v10296 ) = var←c48136;
                        };
SOURCE(15280, 41)
                     {
                        word var←c48264;
                        {
                           word var←c48296;
                           word d←v25488;
                           word mask←v25516;
                           d←v25488 = (* (( (ptr) dstLine←v10296)+1) );
                           mask←v25516 = rMask←v10380;
SOURCE(14873, 39)
                           {
/*1*/   word var←c48360;
/*1*/   var←c48360 = (word) XRM←BITAND(mask←v25516, w←v11288);
/*1*/   var←c48296 = (word) XRM←BITOR(d←v25488, var←c48360);
/*1*/   };
                           var←c48264 = var←c48296;
                           };
                        (* (( (ptr) dstLine←v10296)+1) ) = var←c48264;
                        };
                     };
SOURCE(16609, 32)
                  sSize←v4644 = (sSize←v4644 - 1);
                  if ((sSize←v4644 == 0)) {
SOURCE(16641, 4)
                     goto lab←L100246;
                     };
SOURCE(16647, 27)
                  dst←v4504.f0 = (dst←v4504.f0 + dRast←v11244);
SOURCE(16676, 23)
                  srcIndex←v10408 = (srcIndex←v10408 + 1);
SOURCE(16701, 41)
                  if ((srcIndex←v10408 == sSizeTile←v4616)) {
SOURCE(16730, 12)
                     srcIndex←v10408 = 0;
                     };
                  goto lab←L100247;
                  lab←L100246: ;
                  break;
               case 3: 
SOURCE(16764, 177)
                  lab←L100252: ;
SOURCE(16767, 28)
                  dstLine←v10296 = dst←v4504.f0;
SOURCE(16797, 9)
                  {
                     word w←v11316;
                     w←v11316 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
SOURCE(15374, 37)
                     {
                        word var←c48392;
                        {
                           word var←c48424;
                           word d←v25412;
                           word mask←v25440;
                           d←v25412 = (*  (ptr) dstLine←v10296 );
                           mask←v25440 = lMask←v10352;
SOURCE(14873, 39)
                           {
/*1*/   word var←c48488;
/*1*/   var←c48488 = (word) XRM←BITAND(mask←v25440, w←v11316);
/*1*/   var←c48424 = (word) XRM←BITOR(d←v25412, var←c48488);
/*1*/   };
                           var←c48392 = var←c48424;
                           };
                        (*  (ptr) dstLine←v10296 ) = var←c48392;
                        };
SOURCE(15414, 29)
                     {
                        word var←c48520;
                        {
                           word var←c48552;
                           word d←v24984;
                           d←v24984 = (* (( (ptr) dstLine←v10296)+1) );
SOURCE(14795, 21)
                           var←c48552 = (word) XRM←BITOR(d←v24984, w←v11316);
                           var←c48520 = var←c48552;
                           };
                        (* (( (ptr) dstLine←v10296)+1) ) = var←c48520;
                        };
SOURCE(15446, 41)
                     {
                        word var←c48616;
                        {
                           word var←c48648;
                           word d←v25336;
                           word mask←v25364;
                           d←v25336 = (* (( (ptr) dstLine←v10296)+2) );
                           mask←v25364 = rMask←v10380;
SOURCE(14873, 39)
                           {
/*1*/   word var←c48712;
/*1*/   var←c48712 = (word) XRM←BITAND(mask←v25364, w←v11316);
/*1*/   var←c48648 = (word) XRM←BITOR(d←v25336, var←c48712);
/*1*/   };
                           var←c48616 = var←c48648;
                           };
                        (* (( (ptr) dstLine←v10296)+2) ) = var←c48616;
                        };
                     };
SOURCE(16808, 32)
                  sSize←v4644 = (sSize←v4644 - 1);
                  if ((sSize←v4644 == 0)) {
SOURCE(16840, 4)
                     goto lab←L100251;
                     };
SOURCE(16846, 27)
                  dst←v4504.f0 = (dst←v4504.f0 + dRast←v11244);
SOURCE(16875, 23)
                  srcIndex←v10408 = (srcIndex←v10408 + 1);
SOURCE(16900, 41)
                  if ((srcIndex←v10408 == sSizeTile←v4616)) {
SOURCE(16929, 12)
                     srcIndex←v10408 = 0;
                     };
                  goto lab←L100252;
                  lab←L100251: ;
                  break;
               case 4: 
SOURCE(16963, 177)
                  lab←L100258: ;
SOURCE(16966, 28)
                  dstLine←v10296 = dst←v4504.f0;
SOURCE(16996, 9)
                  {
                     word w←v11344;
                     w←v11344 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
SOURCE(15540, 37)
                     {
                        word var←c48744;
                        {
                           word var←c48776;
                           word d←v25260;
                           word mask←v25288;
                           d←v25260 = (*  (ptr) dstLine←v10296 );
                           mask←v25288 = lMask←v10352;
SOURCE(14873, 39)
                           {
/*1*/   word var←c48840;
/*1*/   var←c48840 = (word) XRM←BITAND(mask←v25288, w←v11344);
/*1*/   var←c48776 = (word) XRM←BITOR(d←v25260, var←c48840);
/*1*/   };
                           var←c48744 = var←c48776;
                           };
                        (*  (ptr) dstLine←v10296 ) = var←c48744;
                        };
SOURCE(15580, 29)
                     {
                        word var←c48872;
                        {
                           word var←c48904;
                           word d←v24936;
                           d←v24936 = (* (( (ptr) dstLine←v10296)+1) );
SOURCE(14795, 21)
                           var←c48904 = (word) XRM←BITOR(d←v24936, w←v11344);
                           var←c48872 = var←c48904;
                           };
                        (* (( (ptr) dstLine←v10296)+1) ) = var←c48872;
                        };
SOURCE(15612, 29)
                     {
                        word var←c48968;
                        {
                           word var←c49000;
                           word d←v24888;
                           d←v24888 = (* (( (ptr) dstLine←v10296)+2) );
SOURCE(14795, 21)
                           var←c49000 = (word) XRM←BITOR(d←v24888, w←v11344);
                           var←c48968 = var←c49000;
                           };
                        (* (( (ptr) dstLine←v10296)+2) ) = var←c48968;
                        };
SOURCE(15644, 41)
                     {
                        word var←c49064;
                        {
                           word var←c49096;
                           word d←v25184;
                           word mask←v25212;
                           d←v25184 = (* (( (ptr) dstLine←v10296)+3) );
                           mask←v25212 = rMask←v10380;
SOURCE(14873, 39)
                           {
/*1*/   word var←c49160;
/*1*/   var←c49160 = (word) XRM←BITAND(mask←v25212, w←v11344);
/*1*/   var←c49096 = (word) XRM←BITOR(d←v25184, var←c49160);
/*1*/   };
                           var←c49064 = var←c49096;
                           };
                        (* (( (ptr) dstLine←v10296)+3) ) = var←c49064;
                        };
                     };
SOURCE(17007, 32)
                  sSize←v4644 = (sSize←v4644 - 1);
                  if ((sSize←v4644 == 0)) {
SOURCE(17039, 4)
                     goto lab←L100257;
                     };
SOURCE(17045, 27)
                  dst←v4504.f0 = (dst←v4504.f0 + dRast←v11244);
SOURCE(17074, 23)
                  srcIndex←v10408 = (srcIndex←v10408 + 1);
SOURCE(17099, 41)
                  if ((srcIndex←v10408 == sSizeTile←v4616)) {
SOURCE(17128, 12)
                     srcIndex←v10408 = 0;
                     };
                  goto lab←L100258;
                  lab←L100257: ;
                  break;
               default: 
SOURCE(17168, 176)
                  lab←L100265: ;
SOURCE(17171, 28)
                  dstLine←v10296 = dst←v4504.f0;
SOURCE(17201, 8)
SOURCE(16201, 41)
                  if ((ndw←v10324 == 1)) {
SOURCE(16217, 15)
SOURCE(15126, 61)
                     {
                        word var←c49192;
                        {
                           word var←c49224;
                           word d←v25864;
                           word s←v25892;
                           word mask←v25920;
                           d←v25864 = (*  (ptr) dstLine←v10296 );
                           s←v25892 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
                           mask←v25920 = (word) XRM←BITAND(lMask←v10352, rMask←v10380);
SOURCE(14873, 39)
                           {
/*1*/   word var←c49288;
/*1*/   var←c49288 = (word) XRM←BITAND(mask←v25920, s←v25892);
/*1*/   var←c49224 = (word) XRM←BITOR(d←v25864, var←c49288);
/*1*/   };
                           var←c49192 = var←c49224;
                           };
                        (*  (ptr) dstLine←v10296 ) = var←c49192;
                        };
                     }
                  else {
SOURCE(16232, 10)
                     {
                        word w←v11372;
                        w←v11372 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
SOURCE(15738, 37)
                        {
                           word var←c49320;
                           {
/*1*/   word var←c49352;
/*1*/   word d←v25108;
/*1*/   word mask←v25136;
/*1*/   d←v25108 = (*  (ptr) dstLine←v10296 );
/*1*/   mask←v25136 = lMask←v10352;
SOURCE(14873, 39)
/*1*/   {
/*1*/      word var←c49416;
/*1*/      var←c49416 = (word) XRM←BITAND(mask←v25136, w←v11372);
/*1*/      var←c49352 = (word) XRM←BITOR(d←v25108, var←c49416);
/*1*/      };
/*1*/   var←c49320 = var←c49352;
/*1*/   };
                           (*  (ptr) dstLine←v10296 ) = var←c49320;
                           };
SOURCE(15777, 28)
                        dstLine←v10296 = (dstLine←v10296 + 4);
SOURCE(15807, 209)
                        {
                           register word noName←c49448 = 0;
                           register word noName←c49480;
                           noName←c49480 = ((ndw←v10324 - 2) >> 2);
                           if ((noName←c49448 >= noName←c49480)) {
/*1*/   goto lab←L100268;
/*1*/   };
                           lab←L100271: ;
SOURCE(15844, 29)
                           {
/*1*/   word var←c49512;
/*1*/   {
/*1*/      word var←c49544;
/*1*/      word d←v24840;
/*1*/      d←v24840 = (*  (ptr) dstLine←v10296 );
SOURCE(14795, 21)
/*1*/      var←c49544 = (word) XRM←BITOR(d←v24840, w←v11372);
/*1*/      var←c49512 = var←c49544;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v10296 ) = var←c49512;
/*1*/   };
SOURCE(15876, 29)
                           {
/*1*/   word var←c49608;
/*1*/   {
/*1*/      word var←c49640;
/*1*/      word d←v24792;
/*1*/      d←v24792 = (* (( (ptr) dstLine←v10296)+1) );
SOURCE(14795, 21)
/*1*/      var←c49640 = (word) XRM←BITOR(d←v24792, w←v11372);
/*1*/      var←c49608 = var←c49640;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v10296)+1) ) = var←c49608;
/*1*/   };
SOURCE(15908, 29)
                           {
/*1*/   word var←c49704;
/*1*/   {
/*1*/      word var←c49736;
/*1*/      word d←v24744;
/*1*/      d←v24744 = (* (( (ptr) dstLine←v10296)+2) );
SOURCE(14795, 21)
/*1*/      var←c49736 = (word) XRM←BITOR(d←v24744, w←v11372);
/*1*/      var←c49704 = var←c49736;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v10296)+2) ) = var←c49704;
/*1*/   };
SOURCE(15940, 29)
                           {
/*1*/   word var←c49800;
/*1*/   {
/*1*/      word var←c49832;
/*1*/      word d←v24696;
/*1*/      d←v24696 = (* (( (ptr) dstLine←v10296)+3) );
SOURCE(14795, 21)
/*1*/      var←c49832 = (word) XRM←BITOR(d←v24696, w←v11372);
/*1*/      var←c49800 = var←c49832;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v10296)+3) ) = var←c49800;
/*1*/   };
SOURCE(15972, 44)
                           dstLine←v10296 = (dstLine←v10296 + 16);
                           noName←c49448 = (noName←c49448 + 1);
                           if ((noName←c49448 < noName←c49480)) {
/*1*/   goto lab←L100271;
/*1*/   };
                           lab←L100268: ;
                           };
SOURCE(16027, 97)
                        {
                           register word noName←c49896 = 0;
                           register word noName←c49928;
                           noName←c49928 = ((ndw←v10324 - 2) & 3);
                           if ((noName←c49896 >= noName←c49928)) {
/*1*/   goto lab←L100276;
/*1*/   };
                           lab←L100279: ;
SOURCE(16065, 29)
                           {
/*1*/   word var←c49960;
/*1*/   {
/*1*/      word var←c49992;
/*1*/      word d←v24648;
/*1*/      d←v24648 = (*  (ptr) dstLine←v10296 );
SOURCE(14795, 21)
/*1*/      var←c49992 = (word) XRM←BITOR(d←v24648, w←v11372);
/*1*/      var←c49960 = var←c49992;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v10296 ) = var←c49960;
/*1*/   };
SOURCE(16096, 28)
                           dstLine←v10296 = (dstLine←v10296 + 4);
                           noName←c49896 = (noName←c49896 + 1);
                           if ((noName←c49896 < noName←c49928)) {
/*1*/   goto lab←L100279;
/*1*/   };
                           lab←L100276: ;
                           };
SOURCE(16135, 37)
                        {
                           word var←c50056;
                           {
/*1*/   word var←c50088;
/*1*/   word d←v25032;
/*1*/   word mask←v25060;
/*1*/   d←v25032 = (*  (ptr) dstLine←v10296 );
/*1*/   mask←v25060 = rMask←v10380;
SOURCE(14873, 39)
/*1*/   {
/*1*/      word var←c50152;
/*1*/      var←c50152 = (word) XRM←BITAND(mask←v25060, w←v11372);
/*1*/      var←c50088 = (word) XRM←BITOR(d←v25032, var←c50152);
/*1*/      };
/*1*/   var←c50056 = var←c50088;
/*1*/   };
                           (*  (ptr) dstLine←v10296 ) = var←c50056;
                           };
                        };
                     };
SOURCE(17211, 32)
                  sSize←v4644 = (sSize←v4644 - 1);
                  if ((sSize←v4644 == 0)) {
SOURCE(17243, 4)
                     goto lab←L100264;
                     };
SOURCE(17249, 27)
                  dst←v4504.f0 = (dst←v4504.f0 + dRast←v11244);
SOURCE(17278, 23)
                  srcIndex←v10408 = (srcIndex←v10408 + 1);
SOURCE(17303, 41)
                  if ((srcIndex←v10408 == sSizeTile←v4616)) {
SOURCE(17332, 12)
                     srcIndex←v10408 = 0;
                     };
                  goto lab←L100265;
                  lab←L100264: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(17367, 269)
      lab←L100284: ;
SOURCE(17370, 11)
SOURCE(14942, 35)
      {
         word bits←v25744;
         bits←v25744 = (dst←v4504.f1 + fSize←v4672);
SOURCE(374, 36)
         ndw←v10324 = ((bits←v25744 + 31) >> 5);
         };
SOURCE(14979, 39)
      lMask←v10352 = (* ((( (ptr) gf←c63464)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4504.f1)) );
SOURCE(15020, 76)
      {
         word var←c50216;
         word n←v25788;
         n←v25788 = (((32 - dst←v4504.f1) - fSize←v4672) & 037);
SOURCE(829, 39)
         var←c50216 = (word) XRM←BITNOT((* (((( (ptr) gf←c63464)+4)/* rightJustifiedOnes←v2692 */ +n←v25788)) ));
         rMask←v10380 = var←c50216;
         };
SOURCE(17383, 28)
      dstLine←v10296 = dst←v4504.f0;
SOURCE(17413, 8)
SOURCE(16201, 41)
      if ((ndw←v10324 == 1)) {
SOURCE(16217, 15)
SOURCE(15126, 61)
         {
            word var←c50280;
            {
               word var←c50312;
               word d←v26300;
               word s←v26328;
               word mask←v26356;
               d←v26300 = (*  (ptr) dstLine←v10296 );
               s←v26328 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
               mask←v26356 = (word) XRM←BITAND(lMask←v10352, rMask←v10380);
SOURCE(14873, 39)
               {
                  word var←c50376;
                  var←c50376 = (word) XRM←BITAND(mask←v26356, s←v26328);
                  var←c50312 = (word) XRM←BITOR(d←v26300, var←c50376);
                  };
               var←c50280 = var←c50312;
               };
            (*  (ptr) dstLine←v10296 ) = var←c50280;
            };
         }
      else {
SOURCE(16232, 10)
         {
            word w←v26400;
            w←v26400 = (* (( (ptr) src←v4532)+srcIndex←v10408) );
SOURCE(15738, 37)
            {
               word var←c50408;
               {
                  word var←c50440;
                  word d←v26444;
                  word mask←v26472;
                  d←v26444 = (*  (ptr) dstLine←v10296 );
                  mask←v26472 = lMask←v10352;
SOURCE(14873, 39)
                  {
                     word var←c50504;
                     var←c50504 = (word) XRM←BITAND(mask←v26472, w←v26400);
                     var←c50440 = (word) XRM←BITOR(d←v26444, var←c50504);
                     };
                  var←c50408 = var←c50440;
                  };
               (*  (ptr) dstLine←v10296 ) = var←c50408;
               };
SOURCE(15777, 28)
            dstLine←v10296 = (dstLine←v10296 + 4);
SOURCE(15807, 209)
            {
               register word noName←c50536 = 0;
               register word noName←c50568;
               noName←c50568 = ((ndw←v10324 - 2) >> 2);
               if ((noName←c50536 >= noName←c50568)) {
                  goto lab←L100289;
                  };
               lab←L100292: ;
SOURCE(15844, 29)
               {
                  word var←c50600;
                  {
                     word var←c50632;
                     word d←v26516;
                     d←v26516 = (*  (ptr) dstLine←v10296 );
SOURCE(14795, 21)
                     var←c50632 = (word) XRM←BITOR(d←v26516, w←v26400);
                     var←c50600 = var←c50632;
                     };
                  (*  (ptr) dstLine←v10296 ) = var←c50600;
                  };
SOURCE(15876, 29)
               {
                  word var←c50696;
                  {
                     word var←c50728;
                     word d←v26560;
                     d←v26560 = (* (( (ptr) dstLine←v10296)+1) );
SOURCE(14795, 21)
                     var←c50728 = (word) XRM←BITOR(d←v26560, w←v26400);
                     var←c50696 = var←c50728;
                     };
                  (* (( (ptr) dstLine←v10296)+1) ) = var←c50696;
                  };
SOURCE(15908, 29)
               {
                  word var←c50792;
                  {
                     word var←c50824;
                     word d←v26604;
                     d←v26604 = (* (( (ptr) dstLine←v10296)+2) );
SOURCE(14795, 21)
                     var←c50824 = (word) XRM←BITOR(d←v26604, w←v26400);
                     var←c50792 = var←c50824;
                     };
                  (* (( (ptr) dstLine←v10296)+2) ) = var←c50792;
                  };
SOURCE(15940, 29)
               {
                  word var←c50888;
                  {
                     word var←c50920;
                     word d←v26648;
                     d←v26648 = (* (( (ptr) dstLine←v10296)+3) );
SOURCE(14795, 21)
                     var←c50920 = (word) XRM←BITOR(d←v26648, w←v26400);
                     var←c50888 = var←c50920;
                     };
                  (* (( (ptr) dstLine←v10296)+3) ) = var←c50888;
                  };
SOURCE(15972, 44)
               dstLine←v10296 = (dstLine←v10296 + 16);
               noName←c50536 = (noName←c50536 + 1);
               if ((noName←c50536 < noName←c50568)) {
                  goto lab←L100292;
                  };
               lab←L100289: ;
               };
SOURCE(16027, 97)
            {
               register word noName←c50984 = 0;
               register word noName←c51016;
               noName←c51016 = ((ndw←v10324 - 2) & 3);
               if ((noName←c50984 >= noName←c51016)) {
                  goto lab←L100297;
                  };
               lab←L100300: ;
SOURCE(16065, 29)
               {
                  word var←c51048;
                  {
                     word var←c51080;
                     word d←v26692;
                     d←v26692 = (*  (ptr) dstLine←v10296 );
SOURCE(14795, 21)
                     var←c51080 = (word) XRM←BITOR(d←v26692, w←v26400);
                     var←c51048 = var←c51080;
                     };
                  (*  (ptr) dstLine←v10296 ) = var←c51048;
                  };
SOURCE(16096, 28)
               dstLine←v10296 = (dstLine←v10296 + 4);
               noName←c50984 = (noName←c50984 + 1);
               if ((noName←c50984 < noName←c51016)) {
                  goto lab←L100300;
                  };
               lab←L100297: ;
               };
SOURCE(16135, 37)
            {
               word var←c51144;
               {
                  word var←c51176;
                  word d←v26736;
                  word mask←v26764;
                  d←v26736 = (*  (ptr) dstLine←v10296 );
                  mask←v26764 = rMask←v10380;
SOURCE(14873, 39)
                  {
                     word var←c51240;
                     var←c51240 = (word) XRM←BITAND(mask←v26764, w←v26400);
                     var←c51176 = (word) XRM←BITOR(d←v26736, var←c51240);
                     };
                  var←c51144 = var←c51176;
                  };
               (*  (ptr) dstLine←v10296 ) = var←c51144;
               };
            };
         };
SOURCE(17423, 32)
      sSize←v4644 = (sSize←v4644 - 1);
      if ((sSize←v4644 == 0)) {
SOURCE(17455, 4)
         goto lab←L100283;
         };
SOURCE(17461, 61)
      {
         word var←c51272;
         word bits←v16432;
         bits←v16432 = (dst←v4504.f1 + dstBpl←v4560);
SOURCE(489, 52)
         var←c51272 = ((bits←v16432 >> 5) << 2);
         dst←v4504.f0 = (dst←v4504.f0 + var←c51272);
         };
SOURCE(17524, 44)
      dst←v4504.f1 = ((dst←v4504.f1 + dstBpl←v4560) & 037);
SOURCE(17570, 23)
      srcIndex←v10408 = (srcIndex←v10408 + 1);
SOURCE(17595, 41)
      if ((srcIndex←v10408 == sSizeTile←v4616)) {
SOURCE(17624, 12)
         srcIndex←v10408 = 0;
         };
      goto lab←L100284;
      lab←L100283: ;
      };
   }

static void Tile5←P600(dst←v4744, src←v4772, dstBpl←v4800, src0←v4828, sSizeTile←v4856, sSize←v4884, fSize←v4912)
   W2 dst←v4744;
   word src←v4772;
   word dstBpl←v4800;
   word src0←v4828;
   word sSizeTile←v4856;
   word sSize←v4884;
   word fSize←v4912;
   {
   register ptr gf←c63496 =  (ptr) &globalframe;
   word dstLine←v11436;
   word ndw←v11464 = 0;
   word lMask←v11492;
   word rMask←v11520;
   word srcIndex←v11548;
   /* Tile5: */ 
SOURCE(17654, 3373)
SOURCE(18039, 25)
   srcIndex←v11548 = src0←v4828;
SOURCE(19636, 1391)
   if (((dstBpl←v4800 & 037) == 0)) {
SOURCE(19673, 1076)
      {
         word dRast←v12384;
SOURCE(19675, 43)
         dRast←v12384 = ((dstBpl←v4800 >> 5) << 2);
SOURCE(19720, 11)
SOURCE(18333, 35)
         {
            word bits←v16000;
            bits←v16000 = (dst←v4744.f1 + fSize←v4912);
SOURCE(374, 36)
            ndw←v11464 = ((bits←v16000 + 31) >> 5);
            };
SOURCE(18370, 39)
         lMask←v11492 = (* ((( (ptr) gf←c63496)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4744.f1)) );
SOURCE(18411, 76)
         {
            word var←c51336;
            word n←v16768;
            n←v16768 = (((32 - dst←v4744.f1) - fSize←v4912) & 037);
SOURCE(829, 39)
            var←c51336 = (word) XRM←BITNOT((* (((( (ptr) gf←c63496)+4)/* rightJustifiedOnes←v2692 */ +n←v16768)) ));
            rMask←v11520 = var←c51336;
            };
SOURCE(19733, 1002)
         {
            word var←c51400;
            var←c51400 = ndw←v11464;
            switch (var←c51400) {
               case 1: 
SOURCE(19757, 177)
                  lab←L100308: ;
SOURCE(19760, 28)
                  dstLine←v11436 = dst←v4744.f0;
SOURCE(19790, 9)
SOURCE(18517, 61)
                  {
                     word var←c51432;
                     {
                        word var←c51464;
                        word d←v27944;
                        word s←v27972;
                        word mask←v28000;
                        d←v27944 = (*  (ptr) dstLine←v11436 );
                        s←v27972 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
                        mask←v28000 = (word) XRM←BITAND(lMask←v11492, rMask←v11520);
SOURCE(18264, 39)
                        {
                           word var←c51528;
                           var←c51528 = (word) XRM←BITAND(mask←v28000, s←v27972);
                           var←c51464 = (word) XRM←BITOR(d←v27944, var←c51528);
                           };
                        var←c51432 = var←c51464;
                        };
                     (*  (ptr) dstLine←v11436 ) = var←c51432;
                     };
SOURCE(19801, 32)
                  sSize←v4884 = (sSize←v4884 - 1);
                  if ((sSize←v4884 == 0)) {
SOURCE(19833, 4)
                     goto lab←L100307;
                     };
SOURCE(19839, 27)
                  dst←v4744.f0 = (dst←v4744.f0 + dRast←v12384);
SOURCE(19868, 23)
                  srcIndex←v11548 = (srcIndex←v11548 + 1);
SOURCE(19893, 41)
                  if ((srcIndex←v11548 == sSizeTile←v4856)) {
SOURCE(19922, 12)
                     srcIndex←v11548 = 0;
                     };
                  goto lab←L100308;
                  lab←L100307: ;
                  break;
               case 2: 
SOURCE(19956, 177)
                  lab←L100312: ;
SOURCE(19959, 28)
                  dstLine←v11436 = dst←v4744.f0;
SOURCE(19989, 9)
                  {
                     word w←v12428;
                     w←v12428 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
SOURCE(18631, 37)
                     {
                        word var←c51560;
                        {
                           word var←c51592;
                           word d←v27868;
                           word mask←v27896;
                           d←v27868 = (*  (ptr) dstLine←v11436 );
                           mask←v27896 = lMask←v11492;
SOURCE(18264, 39)
                           {
/*1*/   word var←c51656;
/*1*/   var←c51656 = (word) XRM←BITAND(mask←v27896, w←v12428);
/*1*/   var←c51592 = (word) XRM←BITOR(d←v27868, var←c51656);
/*1*/   };
                           var←c51560 = var←c51592;
                           };
                        (*  (ptr) dstLine←v11436 ) = var←c51560;
                        };
SOURCE(18671, 41)
                     {
                        word var←c51688;
                        {
                           word var←c51720;
                           word d←v27792;
                           word mask←v27820;
                           d←v27792 = (* (( (ptr) dstLine←v11436)+1) );
                           mask←v27820 = rMask←v11520;
SOURCE(18264, 39)
                           {
/*1*/   word var←c51784;
/*1*/   var←c51784 = (word) XRM←BITAND(mask←v27820, w←v12428);
/*1*/   var←c51720 = (word) XRM←BITOR(d←v27792, var←c51784);
/*1*/   };
                           var←c51688 = var←c51720;
                           };
                        (* (( (ptr) dstLine←v11436)+1) ) = var←c51688;
                        };
                     };
SOURCE(20000, 32)
                  sSize←v4884 = (sSize←v4884 - 1);
                  if ((sSize←v4884 == 0)) {
SOURCE(20032, 4)
                     goto lab←L100311;
                     };
SOURCE(20038, 27)
                  dst←v4744.f0 = (dst←v4744.f0 + dRast←v12384);
SOURCE(20067, 23)
                  srcIndex←v11548 = (srcIndex←v11548 + 1);
SOURCE(20092, 41)
                  if ((srcIndex←v11548 == sSizeTile←v4856)) {
SOURCE(20121, 12)
                     srcIndex←v11548 = 0;
                     };
                  goto lab←L100312;
                  lab←L100311: ;
                  break;
               case 3: 
SOURCE(20155, 177)
                  lab←L100317: ;
SOURCE(20158, 28)
                  dstLine←v11436 = dst←v4744.f0;
SOURCE(20188, 9)
                  {
                     word w←v12456;
                     w←v12456 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
SOURCE(18765, 37)
                     {
                        word var←c51816;
                        {
                           word var←c51848;
                           word d←v27716;
                           word mask←v27744;
                           d←v27716 = (*  (ptr) dstLine←v11436 );
                           mask←v27744 = lMask←v11492;
SOURCE(18264, 39)
                           {
/*1*/   word var←c51912;
/*1*/   var←c51912 = (word) XRM←BITAND(mask←v27744, w←v12456);
/*1*/   var←c51848 = (word) XRM←BITOR(d←v27716, var←c51912);
/*1*/   };
                           var←c51816 = var←c51848;
                           };
                        (*  (ptr) dstLine←v11436 ) = var←c51816;
                        };
SOURCE(18805, 29)
                     {
                        word var←c51944;
                        {
                           word var←c51976;
                           word d←v27288;
                           d←v27288 = (* (( (ptr) dstLine←v11436)+1) );
SOURCE(18186, 21)
                           var←c51976 = (word) XRM←BITOR(d←v27288, w←v12456);
                           var←c51944 = var←c51976;
                           };
                        (* (( (ptr) dstLine←v11436)+1) ) = var←c51944;
                        };
SOURCE(18837, 41)
                     {
                        word var←c52040;
                        {
                           word var←c52072;
                           word d←v27640;
                           word mask←v27668;
                           d←v27640 = (* (( (ptr) dstLine←v11436)+2) );
                           mask←v27668 = rMask←v11520;
SOURCE(18264, 39)
                           {
/*1*/   word var←c52136;
/*1*/   var←c52136 = (word) XRM←BITAND(mask←v27668, w←v12456);
/*1*/   var←c52072 = (word) XRM←BITOR(d←v27640, var←c52136);
/*1*/   };
                           var←c52040 = var←c52072;
                           };
                        (* (( (ptr) dstLine←v11436)+2) ) = var←c52040;
                        };
                     };
SOURCE(20199, 32)
                  sSize←v4884 = (sSize←v4884 - 1);
                  if ((sSize←v4884 == 0)) {
SOURCE(20231, 4)
                     goto lab←L100316;
                     };
SOURCE(20237, 27)
                  dst←v4744.f0 = (dst←v4744.f0 + dRast←v12384);
SOURCE(20266, 23)
                  srcIndex←v11548 = (srcIndex←v11548 + 1);
SOURCE(20291, 41)
                  if ((srcIndex←v11548 == sSizeTile←v4856)) {
SOURCE(20320, 12)
                     srcIndex←v11548 = 0;
                     };
                  goto lab←L100317;
                  lab←L100316: ;
                  break;
               case 4: 
SOURCE(20354, 177)
                  lab←L100323: ;
SOURCE(20357, 28)
                  dstLine←v11436 = dst←v4744.f0;
SOURCE(20387, 9)
                  {
                     word w←v12484;
                     w←v12484 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
SOURCE(18931, 37)
                     {
                        word var←c52168;
                        {
                           word var←c52200;
                           word d←v27564;
                           word mask←v27592;
                           d←v27564 = (*  (ptr) dstLine←v11436 );
                           mask←v27592 = lMask←v11492;
SOURCE(18264, 39)
                           {
/*1*/   word var←c52264;
/*1*/   var←c52264 = (word) XRM←BITAND(mask←v27592, w←v12484);
/*1*/   var←c52200 = (word) XRM←BITOR(d←v27564, var←c52264);
/*1*/   };
                           var←c52168 = var←c52200;
                           };
                        (*  (ptr) dstLine←v11436 ) = var←c52168;
                        };
SOURCE(18971, 29)
                     {
                        word var←c52296;
                        {
                           word var←c52328;
                           word d←v27240;
                           d←v27240 = (* (( (ptr) dstLine←v11436)+1) );
SOURCE(18186, 21)
                           var←c52328 = (word) XRM←BITOR(d←v27240, w←v12484);
                           var←c52296 = var←c52328;
                           };
                        (* (( (ptr) dstLine←v11436)+1) ) = var←c52296;
                        };
SOURCE(19003, 29)
                     {
                        word var←c52392;
                        {
                           word var←c52424;
                           word d←v27192;
                           d←v27192 = (* (( (ptr) dstLine←v11436)+2) );
SOURCE(18186, 21)
                           var←c52424 = (word) XRM←BITOR(d←v27192, w←v12484);
                           var←c52392 = var←c52424;
                           };
                        (* (( (ptr) dstLine←v11436)+2) ) = var←c52392;
                        };
SOURCE(19035, 41)
                     {
                        word var←c52488;
                        {
                           word var←c52520;
                           word d←v27488;
                           word mask←v27516;
                           d←v27488 = (* (( (ptr) dstLine←v11436)+3) );
                           mask←v27516 = rMask←v11520;
SOURCE(18264, 39)
                           {
/*1*/   word var←c52584;
/*1*/   var←c52584 = (word) XRM←BITAND(mask←v27516, w←v12484);
/*1*/   var←c52520 = (word) XRM←BITOR(d←v27488, var←c52584);
/*1*/   };
                           var←c52488 = var←c52520;
                           };
                        (* (( (ptr) dstLine←v11436)+3) ) = var←c52488;
                        };
                     };
SOURCE(20398, 32)
                  sSize←v4884 = (sSize←v4884 - 1);
                  if ((sSize←v4884 == 0)) {
SOURCE(20430, 4)
                     goto lab←L100322;
                     };
SOURCE(20436, 27)
                  dst←v4744.f0 = (dst←v4744.f0 + dRast←v12384);
SOURCE(20465, 23)
                  srcIndex←v11548 = (srcIndex←v11548 + 1);
SOURCE(20490, 41)
                  if ((srcIndex←v11548 == sSizeTile←v4856)) {
SOURCE(20519, 12)
                     srcIndex←v11548 = 0;
                     };
                  goto lab←L100323;
                  lab←L100322: ;
                  break;
               default: 
SOURCE(20559, 176)
                  lab←L100330: ;
SOURCE(20562, 28)
                  dstLine←v11436 = dst←v4744.f0;
SOURCE(20592, 8)
SOURCE(19592, 41)
                  if ((ndw←v11464 == 1)) {
SOURCE(19608, 15)
SOURCE(18517, 61)
                     {
                        word var←c52616;
                        {
                           word var←c52648;
                           word d←v28168;
                           word s←v28196;
                           word mask←v28224;
                           d←v28168 = (*  (ptr) dstLine←v11436 );
                           s←v28196 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
                           mask←v28224 = (word) XRM←BITAND(lMask←v11492, rMask←v11520);
SOURCE(18264, 39)
                           {
/*1*/   word var←c52712;
/*1*/   var←c52712 = (word) XRM←BITAND(mask←v28224, s←v28196);
/*1*/   var←c52648 = (word) XRM←BITOR(d←v28168, var←c52712);
/*1*/   };
                           var←c52616 = var←c52648;
                           };
                        (*  (ptr) dstLine←v11436 ) = var←c52616;
                        };
                     }
                  else {
SOURCE(19623, 10)
                     {
                        word w←v12512;
                        w←v12512 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
SOURCE(19129, 37)
                        {
                           word var←c52744;
                           {
/*1*/   word var←c52776;
/*1*/   word d←v27412;
/*1*/   word mask←v27440;
/*1*/   d←v27412 = (*  (ptr) dstLine←v11436 );
/*1*/   mask←v27440 = lMask←v11492;
SOURCE(18264, 39)
/*1*/   {
/*1*/      word var←c52840;
/*1*/      var←c52840 = (word) XRM←BITAND(mask←v27440, w←v12512);
/*1*/      var←c52776 = (word) XRM←BITOR(d←v27412, var←c52840);
/*1*/      };
/*1*/   var←c52744 = var←c52776;
/*1*/   };
                           (*  (ptr) dstLine←v11436 ) = var←c52744;
                           };
SOURCE(19168, 28)
                        dstLine←v11436 = (dstLine←v11436 + 4);
SOURCE(19198, 209)
                        {
                           register word noName←c52872 = 0;
                           register word noName←c52904;
                           noName←c52904 = ((ndw←v11464 - 2) >> 2);
                           if ((noName←c52872 >= noName←c52904)) {
/*1*/   goto lab←L100333;
/*1*/   };
                           lab←L100336: ;
SOURCE(19235, 29)
                           {
/*1*/   word var←c52936;
/*1*/   {
/*1*/      word var←c52968;
/*1*/      word d←v27144;
/*1*/      d←v27144 = (*  (ptr) dstLine←v11436 );
SOURCE(18186, 21)
/*1*/      var←c52968 = (word) XRM←BITOR(d←v27144, w←v12512);
/*1*/      var←c52936 = var←c52968;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v11436 ) = var←c52936;
/*1*/   };
SOURCE(19267, 29)
                           {
/*1*/   word var←c53032;
/*1*/   {
/*1*/      word var←c53064;
/*1*/      word d←v27096;
/*1*/      d←v27096 = (* (( (ptr) dstLine←v11436)+1) );
SOURCE(18186, 21)
/*1*/      var←c53064 = (word) XRM←BITOR(d←v27096, w←v12512);
/*1*/      var←c53032 = var←c53064;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v11436)+1) ) = var←c53032;
/*1*/   };
SOURCE(19299, 29)
                           {
/*1*/   word var←c53128;
/*1*/   {
/*1*/      word var←c53160;
/*1*/      word d←v27048;
/*1*/      d←v27048 = (* (( (ptr) dstLine←v11436)+2) );
SOURCE(18186, 21)
/*1*/      var←c53160 = (word) XRM←BITOR(d←v27048, w←v12512);
/*1*/      var←c53128 = var←c53160;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v11436)+2) ) = var←c53128;
/*1*/   };
SOURCE(19331, 29)
                           {
/*1*/   word var←c53224;
/*1*/   {
/*1*/      word var←c53256;
/*1*/      word d←v27000;
/*1*/      d←v27000 = (* (( (ptr) dstLine←v11436)+3) );
SOURCE(18186, 21)
/*1*/      var←c53256 = (word) XRM←BITOR(d←v27000, w←v12512);
/*1*/      var←c53224 = var←c53256;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v11436)+3) ) = var←c53224;
/*1*/   };
SOURCE(19363, 44)
                           dstLine←v11436 = (dstLine←v11436 + 16);
                           noName←c52872 = (noName←c52872 + 1);
                           if ((noName←c52872 < noName←c52904)) {
/*1*/   goto lab←L100336;
/*1*/   };
                           lab←L100333: ;
                           };
SOURCE(19418, 97)
                        {
                           register word noName←c53320 = 0;
                           register word noName←c53352;
                           noName←c53352 = ((ndw←v11464 - 2) & 3);
                           if ((noName←c53320 >= noName←c53352)) {
/*1*/   goto lab←L100341;
/*1*/   };
                           lab←L100344: ;
SOURCE(19456, 29)
                           {
/*1*/   word var←c53384;
/*1*/   {
/*1*/      word var←c53416;
/*1*/      word d←v26952;
/*1*/      d←v26952 = (*  (ptr) dstLine←v11436 );
SOURCE(18186, 21)
/*1*/      var←c53416 = (word) XRM←BITOR(d←v26952, w←v12512);
/*1*/      var←c53384 = var←c53416;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v11436 ) = var←c53384;
/*1*/   };
SOURCE(19487, 28)
                           dstLine←v11436 = (dstLine←v11436 + 4);
                           noName←c53320 = (noName←c53320 + 1);
                           if ((noName←c53320 < noName←c53352)) {
/*1*/   goto lab←L100344;
/*1*/   };
                           lab←L100341: ;
                           };
SOURCE(19526, 37)
                        {
                           word var←c53480;
                           {
/*1*/   word var←c53512;
/*1*/   word d←v27336;
/*1*/   word mask←v27364;
/*1*/   d←v27336 = (*  (ptr) dstLine←v11436 );
/*1*/   mask←v27364 = rMask←v11520;
SOURCE(18264, 39)
/*1*/   {
/*1*/      word var←c53576;
/*1*/      var←c53576 = (word) XRM←BITAND(mask←v27364, w←v12512);
/*1*/      var←c53512 = (word) XRM←BITOR(d←v27336, var←c53576);
/*1*/      };
/*1*/   var←c53480 = var←c53512;
/*1*/   };
                           (*  (ptr) dstLine←v11436 ) = var←c53480;
                           };
                        };
                     };
SOURCE(20602, 32)
                  sSize←v4884 = (sSize←v4884 - 1);
                  if ((sSize←v4884 == 0)) {
SOURCE(20634, 4)
                     goto lab←L100329;
                     };
SOURCE(20640, 27)
                  dst←v4744.f0 = (dst←v4744.f0 + dRast←v12384);
SOURCE(20669, 23)
                  srcIndex←v11548 = (srcIndex←v11548 + 1);
SOURCE(20694, 41)
                  if ((srcIndex←v11548 == sSizeTile←v4856)) {
SOURCE(20723, 12)
                     srcIndex←v11548 = 0;
                     };
                  goto lab←L100330;
                  lab←L100329: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(20758, 269)
      lab←L100349: ;
SOURCE(20761, 11)
SOURCE(18333, 35)
      {
         word bits←v28048;
         bits←v28048 = (dst←v4744.f1 + fSize←v4912);
SOURCE(374, 36)
         ndw←v11464 = ((bits←v28048 + 31) >> 5);
         };
SOURCE(18370, 39)
      lMask←v11492 = (* ((( (ptr) gf←c63496)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4744.f1)) );
SOURCE(18411, 76)
      {
         word var←c53640;
         word n←v28092;
         n←v28092 = (((32 - dst←v4744.f1) - fSize←v4912) & 037);
SOURCE(829, 39)
         var←c53640 = (word) XRM←BITNOT((* (((( (ptr) gf←c63496)+4)/* rightJustifiedOnes←v2692 */ +n←v28092)) ));
         rMask←v11520 = var←c53640;
         };
SOURCE(20774, 28)
      dstLine←v11436 = dst←v4744.f0;
SOURCE(20804, 8)
SOURCE(19592, 41)
      if ((ndw←v11464 == 1)) {
SOURCE(19608, 15)
SOURCE(18517, 61)
         {
            word var←c53704;
            {
               word var←c53736;
               word d←v28604;
               word s←v28632;
               word mask←v28660;
               d←v28604 = (*  (ptr) dstLine←v11436 );
               s←v28632 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
               mask←v28660 = (word) XRM←BITAND(lMask←v11492, rMask←v11520);
SOURCE(18264, 39)
               {
                  word var←c53800;
                  var←c53800 = (word) XRM←BITAND(mask←v28660, s←v28632);
                  var←c53736 = (word) XRM←BITOR(d←v28604, var←c53800);
                  };
               var←c53704 = var←c53736;
               };
            (*  (ptr) dstLine←v11436 ) = var←c53704;
            };
         }
      else {
SOURCE(19623, 10)
         {
            word w←v28704;
            w←v28704 = (word) XRM←BITNOT((* ((( (ptr) src←v4772)+srcIndex←v11548)) ));
SOURCE(19129, 37)
            {
               word var←c53832;
               {
                  word var←c53864;
                  word d←v28748;
                  word mask←v28776;
                  d←v28748 = (*  (ptr) dstLine←v11436 );
                  mask←v28776 = lMask←v11492;
SOURCE(18264, 39)
                  {
                     word var←c53928;
                     var←c53928 = (word) XRM←BITAND(mask←v28776, w←v28704);
                     var←c53864 = (word) XRM←BITOR(d←v28748, var←c53928);
                     };
                  var←c53832 = var←c53864;
                  };
               (*  (ptr) dstLine←v11436 ) = var←c53832;
               };
SOURCE(19168, 28)
            dstLine←v11436 = (dstLine←v11436 + 4);
SOURCE(19198, 209)
            {
               register word noName←c53960 = 0;
               register word noName←c53992;
               noName←c53992 = ((ndw←v11464 - 2) >> 2);
               if ((noName←c53960 >= noName←c53992)) {
                  goto lab←L100354;
                  };
               lab←L100357: ;
SOURCE(19235, 29)
               {
                  word var←c54024;
                  {
                     word var←c54056;
                     word d←v28820;
                     d←v28820 = (*  (ptr) dstLine←v11436 );
SOURCE(18186, 21)
                     var←c54056 = (word) XRM←BITOR(d←v28820, w←v28704);
                     var←c54024 = var←c54056;
                     };
                  (*  (ptr) dstLine←v11436 ) = var←c54024;
                  };
SOURCE(19267, 29)
               {
                  word var←c54120;
                  {
                     word var←c54152;
                     word d←v28864;
                     d←v28864 = (* (( (ptr) dstLine←v11436)+1) );
SOURCE(18186, 21)
                     var←c54152 = (word) XRM←BITOR(d←v28864, w←v28704);
                     var←c54120 = var←c54152;
                     };
                  (* (( (ptr) dstLine←v11436)+1) ) = var←c54120;
                  };
SOURCE(19299, 29)
               {
                  word var←c54216;
                  {
                     word var←c54248;
                     word d←v28908;
                     d←v28908 = (* (( (ptr) dstLine←v11436)+2) );
SOURCE(18186, 21)
                     var←c54248 = (word) XRM←BITOR(d←v28908, w←v28704);
                     var←c54216 = var←c54248;
                     };
                  (* (( (ptr) dstLine←v11436)+2) ) = var←c54216;
                  };
SOURCE(19331, 29)
               {
                  word var←c54312;
                  {
                     word var←c54344;
                     word d←v28952;
                     d←v28952 = (* (( (ptr) dstLine←v11436)+3) );
SOURCE(18186, 21)
                     var←c54344 = (word) XRM←BITOR(d←v28952, w←v28704);
                     var←c54312 = var←c54344;
                     };
                  (* (( (ptr) dstLine←v11436)+3) ) = var←c54312;
                  };
SOURCE(19363, 44)
               dstLine←v11436 = (dstLine←v11436 + 16);
               noName←c53960 = (noName←c53960 + 1);
               if ((noName←c53960 < noName←c53992)) {
                  goto lab←L100357;
                  };
               lab←L100354: ;
               };
SOURCE(19418, 97)
            {
               register word noName←c54408 = 0;
               register word noName←c54440;
               noName←c54440 = ((ndw←v11464 - 2) & 3);
               if ((noName←c54408 >= noName←c54440)) {
                  goto lab←L100362;
                  };
               lab←L100365: ;
SOURCE(19456, 29)
               {
                  word var←c54472;
                  {
                     word var←c54504;
                     word d←v28996;
                     d←v28996 = (*  (ptr) dstLine←v11436 );
SOURCE(18186, 21)
                     var←c54504 = (word) XRM←BITOR(d←v28996, w←v28704);
                     var←c54472 = var←c54504;
                     };
                  (*  (ptr) dstLine←v11436 ) = var←c54472;
                  };
SOURCE(19487, 28)
               dstLine←v11436 = (dstLine←v11436 + 4);
               noName←c54408 = (noName←c54408 + 1);
               if ((noName←c54408 < noName←c54440)) {
                  goto lab←L100365;
                  };
               lab←L100362: ;
               };
SOURCE(19526, 37)
            {
               word var←c54568;
               {
                  word var←c54600;
                  word d←v29040;
                  word mask←v29068;
                  d←v29040 = (*  (ptr) dstLine←v11436 );
                  mask←v29068 = rMask←v11520;
SOURCE(18264, 39)
                  {
                     word var←c54664;
                     var←c54664 = (word) XRM←BITAND(mask←v29068, w←v28704);
                     var←c54600 = (word) XRM←BITOR(d←v29040, var←c54664);
                     };
                  var←c54568 = var←c54600;
                  };
               (*  (ptr) dstLine←v11436 ) = var←c54568;
               };
            };
         };
SOURCE(20814, 32)
      sSize←v4884 = (sSize←v4884 - 1);
      if ((sSize←v4884 == 0)) {
SOURCE(20846, 4)
         goto lab←L100348;
         };
SOURCE(20852, 61)
      {
         word var←c54696;
         word bits←v16384;
         bits←v16384 = (dst←v4744.f1 + dstBpl←v4800);
SOURCE(489, 52)
         var←c54696 = ((bits←v16384 >> 5) << 2);
         dst←v4744.f0 = (dst←v4744.f0 + var←c54696);
         };
SOURCE(20915, 44)
      dst←v4744.f1 = ((dst←v4744.f1 + dstBpl←v4800) & 037);
SOURCE(20961, 23)
      srcIndex←v11548 = (srcIndex←v11548 + 1);
SOURCE(20986, 41)
      if ((srcIndex←v11548 == sSizeTile←v4856)) {
SOURCE(21015, 12)
         srcIndex←v11548 = 0;
         };
      goto lab←L100349;
      lab←L100348: ;
      };
   }

static void Tile6←P660(dst←v4984, src←v5012, dstBpl←v5040, src0←v5068, sSizeTile←v5096, sSize←v5124, fSize←v5152)
   W2 dst←v4984;
   word src←v5012;
   word dstBpl←v5040;
   word src0←v5068;
   word sSizeTile←v5096;
   word sSize←v5124;
   word fSize←v5152;
   {
   register ptr gf←c63528 =  (ptr) &globalframe;
   word dstLine←v12576;
   word ndw←v12604 = 0;
   word lMask←v12632;
   word rMask←v12660;
   word srcIndex←v12688;
   /* Tile6: */ 
SOURCE(21045, 3384)
SOURCE(21430, 25)
   srcIndex←v12688 = src0←v5068;
SOURCE(23038, 1391)
   if (((dstBpl←v5040 & 037) == 0)) {
SOURCE(23075, 1076)
      {
         word dRast←v13524;
SOURCE(23077, 43)
         dRast←v13524 = ((dstBpl←v5040 >> 5) << 2);
SOURCE(23122, 11)
SOURCE(21735, 35)
         {
            word bits←v15952;
            bits←v15952 = (dst←v4984.f1 + fSize←v5152);
SOURCE(374, 36)
            ndw←v12604 = ((bits←v15952 + 31) >> 5);
            };
SOURCE(21772, 39)
         lMask←v12632 = (* ((( (ptr) gf←c63528)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4984.f1)) );
SOURCE(21813, 76)
         {
            word var←c54760;
            word n←v16720;
            n←v16720 = (((32 - dst←v4984.f1) - fSize←v5152) & 037);
SOURCE(829, 39)
            var←c54760 = (word) XRM←BITNOT((* (((( (ptr) gf←c63528)+4)/* rightJustifiedOnes←v2692 */ +n←v16720)) ));
            rMask←v12660 = var←c54760;
            };
SOURCE(23135, 1002)
         {
            word var←c54824;
            var←c54824 = ndw←v12604;
            switch (var←c54824) {
               case 1: 
SOURCE(23159, 177)
                  lab←L100373: ;
SOURCE(23162, 28)
                  dstLine←v12576 = dst←v4984.f0;
SOURCE(23192, 9)
SOURCE(21919, 61)
                  {
                     word var←c54856;
                     {
                        word var←c54888;
                        word d←v30248;
                        word s←v30276;
                        word mask←v30304;
                        d←v30248 = (*  (ptr) dstLine←v12576 );
                        s←v30276 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
                        mask←v30304 = (word) XRM←BITAND(lMask←v12632, rMask←v12660);
SOURCE(21648, 57)
                        {
                           word var←c54952;
                           {
/*1*/   word var←c54984;
/*1*/   {
/*1*/      word var←c55016;
/*1*/      var←c55016 = (word) XRM←BITXOR(d←v30248, s←v30276);
/*1*/      var←c54984 = (word) XRM←BITXOR(var←c55016, d←v30248);
/*1*/      };
/*1*/   var←c54952 = (word) XRM←BITAND(var←c54984, mask←v30304);
/*1*/   };
                           var←c54888 = (word) XRM←BITXOR(var←c54952, d←v30248);
                           };
                        var←c54856 = var←c54888;
                        };
                     (*  (ptr) dstLine←v12576 ) = var←c54856;
                     };
SOURCE(23203, 32)
                  sSize←v5124 = (sSize←v5124 - 1);
                  if ((sSize←v5124 == 0)) {
SOURCE(23235, 4)
                     goto lab←L100372;
                     };
SOURCE(23241, 27)
                  dst←v4984.f0 = (dst←v4984.f0 + dRast←v13524);
SOURCE(23270, 23)
                  srcIndex←v12688 = (srcIndex←v12688 + 1);
SOURCE(23295, 41)
                  if ((srcIndex←v12688 == sSizeTile←v5096)) {
SOURCE(23324, 12)
                     srcIndex←v12688 = 0;
                     };
                  goto lab←L100373;
                  lab←L100372: ;
                  break;
               case 2: 
SOURCE(23358, 177)
                  lab←L100377: ;
SOURCE(23361, 28)
                  dstLine←v12576 = dst←v4984.f0;
SOURCE(23391, 9)
                  {
                     word w←v13568;
                     w←v13568 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
SOURCE(22033, 37)
                     {
                        word var←c55048;
                        {
                           word var←c55080;
                           word d←v30172;
                           word mask←v30200;
                           d←v30172 = (*  (ptr) dstLine←v12576 );
                           mask←v30200 = lMask←v12632;
SOURCE(21648, 57)
                           {
/*1*/   word var←c55144;
/*1*/   {
/*1*/      word var←c55176;
/*1*/      {
/*1*/         word var←c55208;
/*1*/         var←c55208 = (word) XRM←BITXOR(d←v30172, w←v13568);
/*1*/         var←c55176 = (word) XRM←BITXOR(var←c55208, d←v30172);
/*1*/         };
/*1*/      var←c55144 = (word) XRM←BITAND(var←c55176, mask←v30200);
/*1*/      };
/*1*/   var←c55080 = (word) XRM←BITXOR(var←c55144, d←v30172);
/*1*/   };
                           var←c55048 = var←c55080;
                           };
                        (*  (ptr) dstLine←v12576 ) = var←c55048;
                        };
SOURCE(22073, 41)
                     {
                        word var←c55240;
                        {
                           word var←c55272;
                           word d←v30096;
                           word mask←v30124;
                           d←v30096 = (* (( (ptr) dstLine←v12576)+1) );
                           mask←v30124 = rMask←v12660;
SOURCE(21648, 57)
                           {
/*1*/   word var←c55336;
/*1*/   {
/*1*/      word var←c55368;
/*1*/      {
/*1*/         word var←c55400;
/*1*/         var←c55400 = (word) XRM←BITXOR(d←v30096, w←v13568);
/*1*/         var←c55368 = (word) XRM←BITXOR(var←c55400, d←v30096);
/*1*/         };
/*1*/      var←c55336 = (word) XRM←BITAND(var←c55368, mask←v30124);
/*1*/      };
/*1*/   var←c55272 = (word) XRM←BITXOR(var←c55336, d←v30096);
/*1*/   };
                           var←c55240 = var←c55272;
                           };
                        (* (( (ptr) dstLine←v12576)+1) ) = var←c55240;
                        };
                     };
SOURCE(23402, 32)
                  sSize←v5124 = (sSize←v5124 - 1);
                  if ((sSize←v5124 == 0)) {
SOURCE(23434, 4)
                     goto lab←L100376;
                     };
SOURCE(23440, 27)
                  dst←v4984.f0 = (dst←v4984.f0 + dRast←v13524);
SOURCE(23469, 23)
                  srcIndex←v12688 = (srcIndex←v12688 + 1);
SOURCE(23494, 41)
                  if ((srcIndex←v12688 == sSizeTile←v5096)) {
SOURCE(23523, 12)
                     srcIndex←v12688 = 0;
                     };
                  goto lab←L100377;
                  lab←L100376: ;
                  break;
               case 3: 
SOURCE(23557, 177)
                  lab←L100382: ;
SOURCE(23560, 28)
                  dstLine←v12576 = dst←v4984.f0;
SOURCE(23590, 9)
                  {
                     word w←v13596;
                     w←v13596 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
SOURCE(22167, 37)
                     {
                        word var←c55432;
                        {
                           word var←c55464;
                           word d←v30020;
                           word mask←v30048;
                           d←v30020 = (*  (ptr) dstLine←v12576 );
                           mask←v30048 = lMask←v12632;
SOURCE(21648, 57)
                           {
/*1*/   word var←c55528;
/*1*/   {
/*1*/      word var←c55560;
/*1*/      {
/*1*/         word var←c55592;
/*1*/         var←c55592 = (word) XRM←BITXOR(d←v30020, w←v13596);
/*1*/         var←c55560 = (word) XRM←BITXOR(var←c55592, d←v30020);
/*1*/         };
/*1*/      var←c55528 = (word) XRM←BITAND(var←c55560, mask←v30048);
/*1*/      };
/*1*/   var←c55464 = (word) XRM←BITXOR(var←c55528, d←v30020);
/*1*/   };
                           var←c55432 = var←c55464;
                           };
                        (*  (ptr) dstLine←v12576 ) = var←c55432;
                        };
SOURCE(22207, 29)
                     {
                        word var←c55624;
                        {
                           word var←c55656;
                           word d←v29592;
                           d←v29592 = (* (( (ptr) dstLine←v12576)+1) );
SOURCE(21569, 22)
                           var←c55656 = (word) XRM←BITXOR(d←v29592, w←v13596);
                           var←c55624 = var←c55656;
                           };
                        (* (( (ptr) dstLine←v12576)+1) ) = var←c55624;
                        };
SOURCE(22239, 41)
                     {
                        word var←c55720;
                        {
                           word var←c55752;
                           word d←v29944;
                           word mask←v29972;
                           d←v29944 = (* (( (ptr) dstLine←v12576)+2) );
                           mask←v29972 = rMask←v12660;
SOURCE(21648, 57)
                           {
/*1*/   word var←c55816;
/*1*/   {
/*1*/      word var←c55848;
/*1*/      {
/*1*/         word var←c55880;
/*1*/         var←c55880 = (word) XRM←BITXOR(d←v29944, w←v13596);
/*1*/         var←c55848 = (word) XRM←BITXOR(var←c55880, d←v29944);
/*1*/         };
/*1*/      var←c55816 = (word) XRM←BITAND(var←c55848, mask←v29972);
/*1*/      };
/*1*/   var←c55752 = (word) XRM←BITXOR(var←c55816, d←v29944);
/*1*/   };
                           var←c55720 = var←c55752;
                           };
                        (* (( (ptr) dstLine←v12576)+2) ) = var←c55720;
                        };
                     };
SOURCE(23601, 32)
                  sSize←v5124 = (sSize←v5124 - 1);
                  if ((sSize←v5124 == 0)) {
SOURCE(23633, 4)
                     goto lab←L100381;
                     };
SOURCE(23639, 27)
                  dst←v4984.f0 = (dst←v4984.f0 + dRast←v13524);
SOURCE(23668, 23)
                  srcIndex←v12688 = (srcIndex←v12688 + 1);
SOURCE(23693, 41)
                  if ((srcIndex←v12688 == sSizeTile←v5096)) {
SOURCE(23722, 12)
                     srcIndex←v12688 = 0;
                     };
                  goto lab←L100382;
                  lab←L100381: ;
                  break;
               case 4: 
SOURCE(23756, 177)
                  lab←L100388: ;
SOURCE(23759, 28)
                  dstLine←v12576 = dst←v4984.f0;
SOURCE(23789, 9)
                  {
                     word w←v13624;
                     w←v13624 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
SOURCE(22333, 37)
                     {
                        word var←c55912;
                        {
                           word var←c55944;
                           word d←v29868;
                           word mask←v29896;
                           d←v29868 = (*  (ptr) dstLine←v12576 );
                           mask←v29896 = lMask←v12632;
SOURCE(21648, 57)
                           {
/*1*/   word var←c56008;
/*1*/   {
/*1*/      word var←c56040;
/*1*/      {
/*1*/         word var←c56072;
/*1*/         var←c56072 = (word) XRM←BITXOR(d←v29868, w←v13624);
/*1*/         var←c56040 = (word) XRM←BITXOR(var←c56072, d←v29868);
/*1*/         };
/*1*/      var←c56008 = (word) XRM←BITAND(var←c56040, mask←v29896);
/*1*/      };
/*1*/   var←c55944 = (word) XRM←BITXOR(var←c56008, d←v29868);
/*1*/   };
                           var←c55912 = var←c55944;
                           };
                        (*  (ptr) dstLine←v12576 ) = var←c55912;
                        };
SOURCE(22373, 29)
                     {
                        word var←c56104;
                        {
                           word var←c56136;
                           word d←v29544;
                           d←v29544 = (* (( (ptr) dstLine←v12576)+1) );
SOURCE(21569, 22)
                           var←c56136 = (word) XRM←BITXOR(d←v29544, w←v13624);
                           var←c56104 = var←c56136;
                           };
                        (* (( (ptr) dstLine←v12576)+1) ) = var←c56104;
                        };
SOURCE(22405, 29)
                     {
                        word var←c56200;
                        {
                           word var←c56232;
                           word d←v29496;
                           d←v29496 = (* (( (ptr) dstLine←v12576)+2) );
SOURCE(21569, 22)
                           var←c56232 = (word) XRM←BITXOR(d←v29496, w←v13624);
                           var←c56200 = var←c56232;
                           };
                        (* (( (ptr) dstLine←v12576)+2) ) = var←c56200;
                        };
SOURCE(22437, 41)
                     {
                        word var←c56296;
                        {
                           word var←c56328;
                           word d←v29792;
                           word mask←v29820;
                           d←v29792 = (* (( (ptr) dstLine←v12576)+3) );
                           mask←v29820 = rMask←v12660;
SOURCE(21648, 57)
                           {
/*1*/   word var←c56392;
/*1*/   {
/*1*/      word var←c56424;
/*1*/      {
/*1*/         word var←c56456;
/*1*/         var←c56456 = (word) XRM←BITXOR(d←v29792, w←v13624);
/*1*/         var←c56424 = (word) XRM←BITXOR(var←c56456, d←v29792);
/*1*/         };
/*1*/      var←c56392 = (word) XRM←BITAND(var←c56424, mask←v29820);
/*1*/      };
/*1*/   var←c56328 = (word) XRM←BITXOR(var←c56392, d←v29792);
/*1*/   };
                           var←c56296 = var←c56328;
                           };
                        (* (( (ptr) dstLine←v12576)+3) ) = var←c56296;
                        };
                     };
SOURCE(23800, 32)
                  sSize←v5124 = (sSize←v5124 - 1);
                  if ((sSize←v5124 == 0)) {
SOURCE(23832, 4)
                     goto lab←L100387;
                     };
SOURCE(23838, 27)
                  dst←v4984.f0 = (dst←v4984.f0 + dRast←v13524);
SOURCE(23867, 23)
                  srcIndex←v12688 = (srcIndex←v12688 + 1);
SOURCE(23892, 41)
                  if ((srcIndex←v12688 == sSizeTile←v5096)) {
SOURCE(23921, 12)
                     srcIndex←v12688 = 0;
                     };
                  goto lab←L100388;
                  lab←L100387: ;
                  break;
               default: 
SOURCE(23961, 176)
                  lab←L100395: ;
SOURCE(23964, 28)
                  dstLine←v12576 = dst←v4984.f0;
SOURCE(23994, 8)
SOURCE(22994, 41)
                  if ((ndw←v12604 == 1)) {
SOURCE(23010, 15)
SOURCE(21919, 61)
                     {
                        word var←c56488;
                        {
                           word var←c56520;
                           word d←v30472;
                           word s←v30500;
                           word mask←v30528;
                           d←v30472 = (*  (ptr) dstLine←v12576 );
                           s←v30500 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
                           mask←v30528 = (word) XRM←BITAND(lMask←v12632, rMask←v12660);
SOURCE(21648, 57)
                           {
/*1*/   word var←c56584;
/*1*/   {
/*1*/      word var←c56616;
/*1*/      {
/*1*/         word var←c56648;
/*1*/         var←c56648 = (word) XRM←BITXOR(d←v30472, s←v30500);
/*1*/         var←c56616 = (word) XRM←BITXOR(var←c56648, d←v30472);
/*1*/         };
/*1*/      var←c56584 = (word) XRM←BITAND(var←c56616, mask←v30528);
/*1*/      };
/*1*/   var←c56520 = (word) XRM←BITXOR(var←c56584, d←v30472);
/*1*/   };
                           var←c56488 = var←c56520;
                           };
                        (*  (ptr) dstLine←v12576 ) = var←c56488;
                        };
                     }
                  else {
SOURCE(23025, 10)
                     {
                        word w←v13652;
                        w←v13652 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
SOURCE(22531, 37)
                        {
                           word var←c56680;
                           {
/*1*/   word var←c56712;
/*1*/   word d←v29716;
/*1*/   word mask←v29744;
/*1*/   d←v29716 = (*  (ptr) dstLine←v12576 );
/*1*/   mask←v29744 = lMask←v12632;
SOURCE(21648, 57)
/*1*/   {
/*1*/      word var←c56776;
/*1*/      {
/*1*/         word var←c56808;
/*1*/         {
/*1*/            word var←c56840;
/*1*/            var←c56840 = (word) XRM←BITXOR(d←v29716, w←v13652);
/*1*/            var←c56808 = (word) XRM←BITXOR(var←c56840, d←v29716);
/*1*/            };
/*1*/         var←c56776 = (word) XRM←BITAND(var←c56808, mask←v29744);
/*1*/         };
/*1*/      var←c56712 = (word) XRM←BITXOR(var←c56776, d←v29716);
/*1*/      };
/*1*/   var←c56680 = var←c56712;
/*1*/   };
                           (*  (ptr) dstLine←v12576 ) = var←c56680;
                           };
SOURCE(22570, 28)
                        dstLine←v12576 = (dstLine←v12576 + 4);
SOURCE(22600, 209)
                        {
                           register word noName←c56872 = 0;
                           register word noName←c56904;
                           noName←c56904 = ((ndw←v12604 - 2) >> 2);
                           if ((noName←c56872 >= noName←c56904)) {
/*1*/   goto lab←L100398;
/*1*/   };
                           lab←L100401: ;
SOURCE(22637, 29)
                           {
/*1*/   word var←c56936;
/*1*/   {
/*1*/      word var←c56968;
/*1*/      word d←v29448;
/*1*/      d←v29448 = (*  (ptr) dstLine←v12576 );
SOURCE(21569, 22)
/*1*/      var←c56968 = (word) XRM←BITXOR(d←v29448, w←v13652);
/*1*/      var←c56936 = var←c56968;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v12576 ) = var←c56936;
/*1*/   };
SOURCE(22669, 29)
                           {
/*1*/   word var←c57032;
/*1*/   {
/*1*/      word var←c57064;
/*1*/      word d←v29400;
/*1*/      d←v29400 = (* (( (ptr) dstLine←v12576)+1) );
SOURCE(21569, 22)
/*1*/      var←c57064 = (word) XRM←BITXOR(d←v29400, w←v13652);
/*1*/      var←c57032 = var←c57064;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v12576)+1) ) = var←c57032;
/*1*/   };
SOURCE(22701, 29)
                           {
/*1*/   word var←c57128;
/*1*/   {
/*1*/      word var←c57160;
/*1*/      word d←v29352;
/*1*/      d←v29352 = (* (( (ptr) dstLine←v12576)+2) );
SOURCE(21569, 22)
/*1*/      var←c57160 = (word) XRM←BITXOR(d←v29352, w←v13652);
/*1*/      var←c57128 = var←c57160;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v12576)+2) ) = var←c57128;
/*1*/   };
SOURCE(22733, 29)
                           {
/*1*/   word var←c57224;
/*1*/   {
/*1*/      word var←c57256;
/*1*/      word d←v29304;
/*1*/      d←v29304 = (* (( (ptr) dstLine←v12576)+3) );
SOURCE(21569, 22)
/*1*/      var←c57256 = (word) XRM←BITXOR(d←v29304, w←v13652);
/*1*/      var←c57224 = var←c57256;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v12576)+3) ) = var←c57224;
/*1*/   };
SOURCE(22765, 44)
                           dstLine←v12576 = (dstLine←v12576 + 16);
                           noName←c56872 = (noName←c56872 + 1);
                           if ((noName←c56872 < noName←c56904)) {
/*1*/   goto lab←L100401;
/*1*/   };
                           lab←L100398: ;
                           };
SOURCE(22820, 97)
                        {
                           register word noName←c57320 = 0;
                           register word noName←c57352;
                           noName←c57352 = ((ndw←v12604 - 2) & 3);
                           if ((noName←c57320 >= noName←c57352)) {
/*1*/   goto lab←L100406;
/*1*/   };
                           lab←L100409: ;
SOURCE(22858, 29)
                           {
/*1*/   word var←c57384;
/*1*/   {
/*1*/      word var←c57416;
/*1*/      word d←v29256;
/*1*/      d←v29256 = (*  (ptr) dstLine←v12576 );
SOURCE(21569, 22)
/*1*/      var←c57416 = (word) XRM←BITXOR(d←v29256, w←v13652);
/*1*/      var←c57384 = var←c57416;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v12576 ) = var←c57384;
/*1*/   };
SOURCE(22889, 28)
                           dstLine←v12576 = (dstLine←v12576 + 4);
                           noName←c57320 = (noName←c57320 + 1);
                           if ((noName←c57320 < noName←c57352)) {
/*1*/   goto lab←L100409;
/*1*/   };
                           lab←L100406: ;
                           };
SOURCE(22928, 37)
                        {
                           word var←c57480;
                           {
/*1*/   word var←c57512;
/*1*/   word d←v29640;
/*1*/   word mask←v29668;
/*1*/   d←v29640 = (*  (ptr) dstLine←v12576 );
/*1*/   mask←v29668 = rMask←v12660;
SOURCE(21648, 57)
/*1*/   {
/*1*/      word var←c57576;
/*1*/      {
/*1*/         word var←c57608;
/*1*/         {
/*1*/            word var←c57640;
/*1*/            var←c57640 = (word) XRM←BITXOR(d←v29640, w←v13652);
/*1*/            var←c57608 = (word) XRM←BITXOR(var←c57640, d←v29640);
/*1*/            };
/*1*/         var←c57576 = (word) XRM←BITAND(var←c57608, mask←v29668);
/*1*/         };
/*1*/      var←c57512 = (word) XRM←BITXOR(var←c57576, d←v29640);
/*1*/      };
/*1*/   var←c57480 = var←c57512;
/*1*/   };
                           (*  (ptr) dstLine←v12576 ) = var←c57480;
                           };
                        };
                     };
SOURCE(24004, 32)
                  sSize←v5124 = (sSize←v5124 - 1);
                  if ((sSize←v5124 == 0)) {
SOURCE(24036, 4)
                     goto lab←L100394;
                     };
SOURCE(24042, 27)
                  dst←v4984.f0 = (dst←v4984.f0 + dRast←v13524);
SOURCE(24071, 23)
                  srcIndex←v12688 = (srcIndex←v12688 + 1);
SOURCE(24096, 41)
                  if ((srcIndex←v12688 == sSizeTile←v5096)) {
SOURCE(24125, 12)
                     srcIndex←v12688 = 0;
                     };
                  goto lab←L100395;
                  lab←L100394: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(24160, 269)
      lab←L100414: ;
SOURCE(24163, 11)
SOURCE(21735, 35)
      {
         word bits←v30352;
         bits←v30352 = (dst←v4984.f1 + fSize←v5152);
SOURCE(374, 36)
         ndw←v12604 = ((bits←v30352 + 31) >> 5);
         };
SOURCE(21772, 39)
      lMask←v12632 = (* ((( (ptr) gf←c63528)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v4984.f1)) );
SOURCE(21813, 76)
      {
         word var←c57704;
         word n←v30396;
         n←v30396 = (((32 - dst←v4984.f1) - fSize←v5152) & 037);
SOURCE(829, 39)
         var←c57704 = (word) XRM←BITNOT((* (((( (ptr) gf←c63528)+4)/* rightJustifiedOnes←v2692 */ +n←v30396)) ));
         rMask←v12660 = var←c57704;
         };
SOURCE(24176, 28)
      dstLine←v12576 = dst←v4984.f0;
SOURCE(24206, 8)
SOURCE(22994, 41)
      if ((ndw←v12604 == 1)) {
SOURCE(23010, 15)
SOURCE(21919, 61)
         {
            word var←c57768;
            {
               word var←c57800;
               word d←v30908;
               word s←v30936;
               word mask←v30964;
               d←v30908 = (*  (ptr) dstLine←v12576 );
               s←v30936 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
               mask←v30964 = (word) XRM←BITAND(lMask←v12632, rMask←v12660);
SOURCE(21648, 57)
               {
                  word var←c57864;
                  {
                     word var←c57896;
                     {
                        word var←c57928;
                        var←c57928 = (word) XRM←BITXOR(d←v30908, s←v30936);
                        var←c57896 = (word) XRM←BITXOR(var←c57928, d←v30908);
                        };
                     var←c57864 = (word) XRM←BITAND(var←c57896, mask←v30964);
                     };
                  var←c57800 = (word) XRM←BITXOR(var←c57864, d←v30908);
                  };
               var←c57768 = var←c57800;
               };
            (*  (ptr) dstLine←v12576 ) = var←c57768;
            };
         }
      else {
SOURCE(23025, 10)
         {
            word w←v31008;
            w←v31008 = (* (( (ptr) src←v5012)+srcIndex←v12688) );
SOURCE(22531, 37)
            {
               word var←c57960;
               {
                  word var←c57992;
                  word d←v31052;
                  word mask←v31080;
                  d←v31052 = (*  (ptr) dstLine←v12576 );
                  mask←v31080 = lMask←v12632;
SOURCE(21648, 57)
                  {
                     word var←c58056;
                     {
                        word var←c58088;
                        {
                           word var←c58120;
                           var←c58120 = (word) XRM←BITXOR(d←v31052, w←v31008);
                           var←c58088 = (word) XRM←BITXOR(var←c58120, d←v31052);
                           };
                        var←c58056 = (word) XRM←BITAND(var←c58088, mask←v31080);
                        };
                     var←c57992 = (word) XRM←BITXOR(var←c58056, d←v31052);
                     };
                  var←c57960 = var←c57992;
                  };
               (*  (ptr) dstLine←v12576 ) = var←c57960;
               };
SOURCE(22570, 28)
            dstLine←v12576 = (dstLine←v12576 + 4);
SOURCE(22600, 209)
            {
               register word noName←c58152 = 0;
               register word noName←c58184;
               noName←c58184 = ((ndw←v12604 - 2) >> 2);
               if ((noName←c58152 >= noName←c58184)) {
                  goto lab←L100419;
                  };
               lab←L100422: ;
SOURCE(22637, 29)
               {
                  word var←c58216;
                  {
                     word var←c58248;
                     word d←v31124;
                     d←v31124 = (*  (ptr) dstLine←v12576 );
SOURCE(21569, 22)
                     var←c58248 = (word) XRM←BITXOR(d←v31124, w←v31008);
                     var←c58216 = var←c58248;
                     };
                  (*  (ptr) dstLine←v12576 ) = var←c58216;
                  };
SOURCE(22669, 29)
               {
                  word var←c58312;
                  {
                     word var←c58344;
                     word d←v31168;
                     d←v31168 = (* (( (ptr) dstLine←v12576)+1) );
SOURCE(21569, 22)
                     var←c58344 = (word) XRM←BITXOR(d←v31168, w←v31008);
                     var←c58312 = var←c58344;
                     };
                  (* (( (ptr) dstLine←v12576)+1) ) = var←c58312;
                  };
SOURCE(22701, 29)
               {
                  word var←c58408;
                  {
                     word var←c58440;
                     word d←v31212;
                     d←v31212 = (* (( (ptr) dstLine←v12576)+2) );
SOURCE(21569, 22)
                     var←c58440 = (word) XRM←BITXOR(d←v31212, w←v31008);
                     var←c58408 = var←c58440;
                     };
                  (* (( (ptr) dstLine←v12576)+2) ) = var←c58408;
                  };
SOURCE(22733, 29)
               {
                  word var←c58504;
                  {
                     word var←c58536;
                     word d←v31256;
                     d←v31256 = (* (( (ptr) dstLine←v12576)+3) );
SOURCE(21569, 22)
                     var←c58536 = (word) XRM←BITXOR(d←v31256, w←v31008);
                     var←c58504 = var←c58536;
                     };
                  (* (( (ptr) dstLine←v12576)+3) ) = var←c58504;
                  };
SOURCE(22765, 44)
               dstLine←v12576 = (dstLine←v12576 + 16);
               noName←c58152 = (noName←c58152 + 1);
               if ((noName←c58152 < noName←c58184)) {
                  goto lab←L100422;
                  };
               lab←L100419: ;
               };
SOURCE(22820, 97)
            {
               register word noName←c58600 = 0;
               register word noName←c58632;
               noName←c58632 = ((ndw←v12604 - 2) & 3);
               if ((noName←c58600 >= noName←c58632)) {
                  goto lab←L100427;
                  };
               lab←L100430: ;
SOURCE(22858, 29)
               {
                  word var←c58664;
                  {
                     word var←c58696;
                     word d←v31300;
                     d←v31300 = (*  (ptr) dstLine←v12576 );
SOURCE(21569, 22)
                     var←c58696 = (word) XRM←BITXOR(d←v31300, w←v31008);
                     var←c58664 = var←c58696;
                     };
                  (*  (ptr) dstLine←v12576 ) = var←c58664;
                  };
SOURCE(22889, 28)
               dstLine←v12576 = (dstLine←v12576 + 4);
               noName←c58600 = (noName←c58600 + 1);
               if ((noName←c58600 < noName←c58632)) {
                  goto lab←L100430;
                  };
               lab←L100427: ;
               };
SOURCE(22928, 37)
            {
               word var←c58760;
               {
                  word var←c58792;
                  word d←v31344;
                  word mask←v31372;
                  d←v31344 = (*  (ptr) dstLine←v12576 );
                  mask←v31372 = rMask←v12660;
SOURCE(21648, 57)
                  {
                     word var←c58856;
                     {
                        word var←c58888;
                        {
                           word var←c58920;
                           var←c58920 = (word) XRM←BITXOR(d←v31344, w←v31008);
                           var←c58888 = (word) XRM←BITXOR(var←c58920, d←v31344);
                           };
                        var←c58856 = (word) XRM←BITAND(var←c58888, mask←v31372);
                        };
                     var←c58792 = (word) XRM←BITXOR(var←c58856, d←v31344);
                     };
                  var←c58760 = var←c58792;
                  };
               (*  (ptr) dstLine←v12576 ) = var←c58760;
               };
            };
         };
SOURCE(24216, 32)
      sSize←v5124 = (sSize←v5124 - 1);
      if ((sSize←v5124 == 0)) {
SOURCE(24248, 4)
         goto lab←L100413;
         };
SOURCE(24254, 61)
      {
         word var←c58952;
         word bits←v16336;
         bits←v16336 = (dst←v4984.f1 + dstBpl←v5040);
SOURCE(489, 52)
         var←c58952 = ((bits←v16336 >> 5) << 2);
         dst←v4984.f0 = (dst←v4984.f0 + var←c58952);
         };
SOURCE(24317, 44)
      dst←v4984.f1 = ((dst←v4984.f1 + dstBpl←v5040) & 037);
SOURCE(24363, 23)
      srcIndex←v12688 = (srcIndex←v12688 + 1);
SOURCE(24388, 41)
      if ((srcIndex←v12688 == sSizeTile←v5096)) {
SOURCE(24417, 12)
         srcIndex←v12688 = 0;
         };
      goto lab←L100414;
      lab←L100413: ;
      };
   }

static void Tile7←P720(dst←v5224, src←v5252, dstBpl←v5280, src0←v5308, sSizeTile←v5336, sSize←v5364, fSize←v5392)
   W2 dst←v5224;
   word src←v5252;
   word dstBpl←v5280;
   word src0←v5308;
   word sSizeTile←v5336;
   word sSize←v5364;
   word fSize←v5392;
   {
   register ptr gf←c63560 =  (ptr) &globalframe;
   word dstLine←v13716;
   word ndw←v13744 = 0;
   word lMask←v13772;
   word rMask←v13800;
   word srcIndex←v13828;
   /* Tile7: */ 
SOURCE(24447, 3392)
SOURCE(24832, 25)
   srcIndex←v13828 = src0←v5308;
SOURCE(26448, 1391)
   if (((dstBpl←v5280 & 037) == 0)) {
SOURCE(26485, 1076)
      {
         word dRast←v14664;
SOURCE(26487, 43)
         dRast←v14664 = ((dstBpl←v5280 >> 5) << 2);
SOURCE(26532, 11)
SOURCE(25145, 35)
         {
            word bits←v15904;
            bits←v15904 = (dst←v5224.f1 + fSize←v5392);
SOURCE(374, 36)
            ndw←v13744 = ((bits←v15904 + 31) >> 5);
            };
SOURCE(25182, 39)
         lMask←v13772 = (* ((( (ptr) gf←c63560)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v5224.f1)) );
SOURCE(25223, 76)
         {
            word var←c59016;
            word n←v16672;
            n←v16672 = (((32 - dst←v5224.f1) - fSize←v5392) & 037);
SOURCE(829, 39)
            var←c59016 = (word) XRM←BITNOT((* (((( (ptr) gf←c63560)+4)/* rightJustifiedOnes←v2692 */ +n←v16672)) ));
            rMask←v13800 = var←c59016;
            };
SOURCE(26545, 1002)
         {
            word var←c59080;
            var←c59080 = ndw←v13744;
            switch (var←c59080) {
               case 1: 
SOURCE(26569, 177)
                  lab←L100438: ;
SOURCE(26572, 28)
                  dstLine←v13716 = dst←v5224.f0;
SOURCE(26602, 9)
SOURCE(25329, 61)
                  {
                     word var←c59112;
                     {
                        word var←c59144;
                        word d←v32552;
                        word s←v32580;
                        word mask←v32608;
                        d←v32552 = (*  (ptr) dstLine←v13716 );
                        s←v32580 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
                        mask←v32608 = (word) XRM←BITAND(lMask←v13772, rMask←v13800);
SOURCE(25058, 57)
                        {
                           word var←c59208;
                           {
/*1*/   word var←c59240;
/*1*/   {
/*1*/      word var←c59272;
/*1*/      var←c59272 = (word) XRM←BITXOR(d←v32552, s←v32580);
/*1*/      var←c59240 = (word) XRM←BITXOR(var←c59272, d←v32552);
/*1*/      };
/*1*/   var←c59208 = (word) XRM←BITAND(var←c59240, mask←v32608);
/*1*/   };
                           var←c59144 = (word) XRM←BITXOR(var←c59208, d←v32552);
                           };
                        var←c59112 = var←c59144;
                        };
                     (*  (ptr) dstLine←v13716 ) = var←c59112;
                     };
SOURCE(26613, 32)
                  sSize←v5364 = (sSize←v5364 - 1);
                  if ((sSize←v5364 == 0)) {
SOURCE(26645, 4)
                     goto lab←L100437;
                     };
SOURCE(26651, 27)
                  dst←v5224.f0 = (dst←v5224.f0 + dRast←v14664);
SOURCE(26680, 23)
                  srcIndex←v13828 = (srcIndex←v13828 + 1);
SOURCE(26705, 41)
                  if ((srcIndex←v13828 == sSizeTile←v5336)) {
SOURCE(26734, 12)
                     srcIndex←v13828 = 0;
                     };
                  goto lab←L100438;
                  lab←L100437: ;
                  break;
               case 2: 
SOURCE(26768, 177)
                  lab←L100442: ;
SOURCE(26771, 28)
                  dstLine←v13716 = dst←v5224.f0;
SOURCE(26801, 9)
                  {
                     word w←v14708;
                     w←v14708 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
SOURCE(25443, 37)
                     {
                        word var←c59304;
                        {
                           word var←c59336;
                           word d←v32476;
                           word mask←v32504;
                           d←v32476 = (*  (ptr) dstLine←v13716 );
                           mask←v32504 = lMask←v13772;
SOURCE(25058, 57)
                           {
/*1*/   word var←c59400;
/*1*/   {
/*1*/      word var←c59432;
/*1*/      {
/*1*/         word var←c59464;
/*1*/         var←c59464 = (word) XRM←BITXOR(d←v32476, w←v14708);
/*1*/         var←c59432 = (word) XRM←BITXOR(var←c59464, d←v32476);
/*1*/         };
/*1*/      var←c59400 = (word) XRM←BITAND(var←c59432, mask←v32504);
/*1*/      };
/*1*/   var←c59336 = (word) XRM←BITXOR(var←c59400, d←v32476);
/*1*/   };
                           var←c59304 = var←c59336;
                           };
                        (*  (ptr) dstLine←v13716 ) = var←c59304;
                        };
SOURCE(25483, 41)
                     {
                        word var←c59496;
                        {
                           word var←c59528;
                           word d←v32400;
                           word mask←v32428;
                           d←v32400 = (* (( (ptr) dstLine←v13716)+1) );
                           mask←v32428 = rMask←v13800;
SOURCE(25058, 57)
                           {
/*1*/   word var←c59592;
/*1*/   {
/*1*/      word var←c59624;
/*1*/      {
/*1*/         word var←c59656;
/*1*/         var←c59656 = (word) XRM←BITXOR(d←v32400, w←v14708);
/*1*/         var←c59624 = (word) XRM←BITXOR(var←c59656, d←v32400);
/*1*/         };
/*1*/      var←c59592 = (word) XRM←BITAND(var←c59624, mask←v32428);
/*1*/      };
/*1*/   var←c59528 = (word) XRM←BITXOR(var←c59592, d←v32400);
/*1*/   };
                           var←c59496 = var←c59528;
                           };
                        (* (( (ptr) dstLine←v13716)+1) ) = var←c59496;
                        };
                     };
SOURCE(26812, 32)
                  sSize←v5364 = (sSize←v5364 - 1);
                  if ((sSize←v5364 == 0)) {
SOURCE(26844, 4)
                     goto lab←L100441;
                     };
SOURCE(26850, 27)
                  dst←v5224.f0 = (dst←v5224.f0 + dRast←v14664);
SOURCE(26879, 23)
                  srcIndex←v13828 = (srcIndex←v13828 + 1);
SOURCE(26904, 41)
                  if ((srcIndex←v13828 == sSizeTile←v5336)) {
SOURCE(26933, 12)
                     srcIndex←v13828 = 0;
                     };
                  goto lab←L100442;
                  lab←L100441: ;
                  break;
               case 3: 
SOURCE(26967, 177)
                  lab←L100447: ;
SOURCE(26970, 28)
                  dstLine←v13716 = dst←v5224.f0;
SOURCE(27000, 9)
                  {
                     word w←v14736;
                     w←v14736 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
SOURCE(25577, 37)
                     {
                        word var←c59688;
                        {
                           word var←c59720;
                           word d←v32324;
                           word mask←v32352;
                           d←v32324 = (*  (ptr) dstLine←v13716 );
                           mask←v32352 = lMask←v13772;
SOURCE(25058, 57)
                           {
/*1*/   word var←c59784;
/*1*/   {
/*1*/      word var←c59816;
/*1*/      {
/*1*/         word var←c59848;
/*1*/         var←c59848 = (word) XRM←BITXOR(d←v32324, w←v14736);
/*1*/         var←c59816 = (word) XRM←BITXOR(var←c59848, d←v32324);
/*1*/         };
/*1*/      var←c59784 = (word) XRM←BITAND(var←c59816, mask←v32352);
/*1*/      };
/*1*/   var←c59720 = (word) XRM←BITXOR(var←c59784, d←v32324);
/*1*/   };
                           var←c59688 = var←c59720;
                           };
                        (*  (ptr) dstLine←v13716 ) = var←c59688;
                        };
SOURCE(25617, 29)
                     {
                        word var←c59880;
                        {
                           word var←c59912;
                           word d←v31896;
                           d←v31896 = (* (( (ptr) dstLine←v13716)+1) );
SOURCE(24979, 22)
                           var←c59912 = (word) XRM←BITXOR(d←v31896, w←v14736);
                           var←c59880 = var←c59912;
                           };
                        (* (( (ptr) dstLine←v13716)+1) ) = var←c59880;
                        };
SOURCE(25649, 41)
                     {
                        word var←c59976;
                        {
                           word var←c60008;
                           word d←v32248;
                           word mask←v32276;
                           d←v32248 = (* (( (ptr) dstLine←v13716)+2) );
                           mask←v32276 = rMask←v13800;
SOURCE(25058, 57)
                           {
/*1*/   word var←c60072;
/*1*/   {
/*1*/      word var←c60104;
/*1*/      {
/*1*/         word var←c60136;
/*1*/         var←c60136 = (word) XRM←BITXOR(d←v32248, w←v14736);
/*1*/         var←c60104 = (word) XRM←BITXOR(var←c60136, d←v32248);
/*1*/         };
/*1*/      var←c60072 = (word) XRM←BITAND(var←c60104, mask←v32276);
/*1*/      };
/*1*/   var←c60008 = (word) XRM←BITXOR(var←c60072, d←v32248);
/*1*/   };
                           var←c59976 = var←c60008;
                           };
                        (* (( (ptr) dstLine←v13716)+2) ) = var←c59976;
                        };
                     };
SOURCE(27011, 32)
                  sSize←v5364 = (sSize←v5364 - 1);
                  if ((sSize←v5364 == 0)) {
SOURCE(27043, 4)
                     goto lab←L100446;
                     };
SOURCE(27049, 27)
                  dst←v5224.f0 = (dst←v5224.f0 + dRast←v14664);
SOURCE(27078, 23)
                  srcIndex←v13828 = (srcIndex←v13828 + 1);
SOURCE(27103, 41)
                  if ((srcIndex←v13828 == sSizeTile←v5336)) {
SOURCE(27132, 12)
                     srcIndex←v13828 = 0;
                     };
                  goto lab←L100447;
                  lab←L100446: ;
                  break;
               case 4: 
SOURCE(27166, 177)
                  lab←L100453: ;
SOURCE(27169, 28)
                  dstLine←v13716 = dst←v5224.f0;
SOURCE(27199, 9)
                  {
                     word w←v14764;
                     w←v14764 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
SOURCE(25743, 37)
                     {
                        word var←c60168;
                        {
                           word var←c60200;
                           word d←v32172;
                           word mask←v32200;
                           d←v32172 = (*  (ptr) dstLine←v13716 );
                           mask←v32200 = lMask←v13772;
SOURCE(25058, 57)
                           {
/*1*/   word var←c60264;
/*1*/   {
/*1*/      word var←c60296;
/*1*/      {
/*1*/         word var←c60328;
/*1*/         var←c60328 = (word) XRM←BITXOR(d←v32172, w←v14764);
/*1*/         var←c60296 = (word) XRM←BITXOR(var←c60328, d←v32172);
/*1*/         };
/*1*/      var←c60264 = (word) XRM←BITAND(var←c60296, mask←v32200);
/*1*/      };
/*1*/   var←c60200 = (word) XRM←BITXOR(var←c60264, d←v32172);
/*1*/   };
                           var←c60168 = var←c60200;
                           };
                        (*  (ptr) dstLine←v13716 ) = var←c60168;
                        };
SOURCE(25783, 29)
                     {
                        word var←c60360;
                        {
                           word var←c60392;
                           word d←v31848;
                           d←v31848 = (* (( (ptr) dstLine←v13716)+1) );
SOURCE(24979, 22)
                           var←c60392 = (word) XRM←BITXOR(d←v31848, w←v14764);
                           var←c60360 = var←c60392;
                           };
                        (* (( (ptr) dstLine←v13716)+1) ) = var←c60360;
                        };
SOURCE(25815, 29)
                     {
                        word var←c60456;
                        {
                           word var←c60488;
                           word d←v31800;
                           d←v31800 = (* (( (ptr) dstLine←v13716)+2) );
SOURCE(24979, 22)
                           var←c60488 = (word) XRM←BITXOR(d←v31800, w←v14764);
                           var←c60456 = var←c60488;
                           };
                        (* (( (ptr) dstLine←v13716)+2) ) = var←c60456;
                        };
SOURCE(25847, 41)
                     {
                        word var←c60552;
                        {
                           word var←c60584;
                           word d←v32096;
                           word mask←v32124;
                           d←v32096 = (* (( (ptr) dstLine←v13716)+3) );
                           mask←v32124 = rMask←v13800;
SOURCE(25058, 57)
                           {
/*1*/   word var←c60648;
/*1*/   {
/*1*/      word var←c60680;
/*1*/      {
/*1*/         word var←c60712;
/*1*/         var←c60712 = (word) XRM←BITXOR(d←v32096, w←v14764);
/*1*/         var←c60680 = (word) XRM←BITXOR(var←c60712, d←v32096);
/*1*/         };
/*1*/      var←c60648 = (word) XRM←BITAND(var←c60680, mask←v32124);
/*1*/      };
/*1*/   var←c60584 = (word) XRM←BITXOR(var←c60648, d←v32096);
/*1*/   };
                           var←c60552 = var←c60584;
                           };
                        (* (( (ptr) dstLine←v13716)+3) ) = var←c60552;
                        };
                     };
SOURCE(27210, 32)
                  sSize←v5364 = (sSize←v5364 - 1);
                  if ((sSize←v5364 == 0)) {
SOURCE(27242, 4)
                     goto lab←L100452;
                     };
SOURCE(27248, 27)
                  dst←v5224.f0 = (dst←v5224.f0 + dRast←v14664);
SOURCE(27277, 23)
                  srcIndex←v13828 = (srcIndex←v13828 + 1);
SOURCE(27302, 41)
                  if ((srcIndex←v13828 == sSizeTile←v5336)) {
SOURCE(27331, 12)
                     srcIndex←v13828 = 0;
                     };
                  goto lab←L100453;
                  lab←L100452: ;
                  break;
               default: 
SOURCE(27371, 176)
                  lab←L100460: ;
SOURCE(27374, 28)
                  dstLine←v13716 = dst←v5224.f0;
SOURCE(27404, 8)
SOURCE(26404, 41)
                  if ((ndw←v13744 == 1)) {
SOURCE(26420, 15)
SOURCE(25329, 61)
                     {
                        word var←c60744;
                        {
                           word var←c60776;
                           word d←v32776;
                           word s←v32804;
                           word mask←v32832;
                           d←v32776 = (*  (ptr) dstLine←v13716 );
                           s←v32804 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
                           mask←v32832 = (word) XRM←BITAND(lMask←v13772, rMask←v13800);
SOURCE(25058, 57)
                           {
/*1*/   word var←c60840;
/*1*/   {
/*1*/      word var←c60872;
/*1*/      {
/*1*/         word var←c60904;
/*1*/         var←c60904 = (word) XRM←BITXOR(d←v32776, s←v32804);
/*1*/         var←c60872 = (word) XRM←BITXOR(var←c60904, d←v32776);
/*1*/         };
/*1*/      var←c60840 = (word) XRM←BITAND(var←c60872, mask←v32832);
/*1*/      };
/*1*/   var←c60776 = (word) XRM←BITXOR(var←c60840, d←v32776);
/*1*/   };
                           var←c60744 = var←c60776;
                           };
                        (*  (ptr) dstLine←v13716 ) = var←c60744;
                        };
                     }
                  else {
SOURCE(26435, 10)
                     {
                        word w←v14792;
                        w←v14792 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
SOURCE(25941, 37)
                        {
                           word var←c60936;
                           {
/*1*/   word var←c60968;
/*1*/   word d←v32020;
/*1*/   word mask←v32048;
/*1*/   d←v32020 = (*  (ptr) dstLine←v13716 );
/*1*/   mask←v32048 = lMask←v13772;
SOURCE(25058, 57)
/*1*/   {
/*1*/      word var←c61032;
/*1*/      {
/*1*/         word var←c61064;
/*1*/         {
/*1*/            word var←c61096;
/*1*/            var←c61096 = (word) XRM←BITXOR(d←v32020, w←v14792);
/*1*/            var←c61064 = (word) XRM←BITXOR(var←c61096, d←v32020);
/*1*/            };
/*1*/         var←c61032 = (word) XRM←BITAND(var←c61064, mask←v32048);
/*1*/         };
/*1*/      var←c60968 = (word) XRM←BITXOR(var←c61032, d←v32020);
/*1*/      };
/*1*/   var←c60936 = var←c60968;
/*1*/   };
                           (*  (ptr) dstLine←v13716 ) = var←c60936;
                           };
SOURCE(25980, 28)
                        dstLine←v13716 = (dstLine←v13716 + 4);
SOURCE(26010, 209)
                        {
                           register word noName←c61128 = 0;
                           register word noName←c61160;
                           noName←c61160 = ((ndw←v13744 - 2) >> 2);
                           if ((noName←c61128 >= noName←c61160)) {
/*1*/   goto lab←L100463;
/*1*/   };
                           lab←L100466: ;
SOURCE(26047, 29)
                           {
/*1*/   word var←c61192;
/*1*/   {
/*1*/      word var←c61224;
/*1*/      word d←v31752;
/*1*/      d←v31752 = (*  (ptr) dstLine←v13716 );
SOURCE(24979, 22)
/*1*/      var←c61224 = (word) XRM←BITXOR(d←v31752, w←v14792);
/*1*/      var←c61192 = var←c61224;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v13716 ) = var←c61192;
/*1*/   };
SOURCE(26079, 29)
                           {
/*1*/   word var←c61288;
/*1*/   {
/*1*/      word var←c61320;
/*1*/      word d←v31704;
/*1*/      d←v31704 = (* (( (ptr) dstLine←v13716)+1) );
SOURCE(24979, 22)
/*1*/      var←c61320 = (word) XRM←BITXOR(d←v31704, w←v14792);
/*1*/      var←c61288 = var←c61320;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v13716)+1) ) = var←c61288;
/*1*/   };
SOURCE(26111, 29)
                           {
/*1*/   word var←c61384;
/*1*/   {
/*1*/      word var←c61416;
/*1*/      word d←v31656;
/*1*/      d←v31656 = (* (( (ptr) dstLine←v13716)+2) );
SOURCE(24979, 22)
/*1*/      var←c61416 = (word) XRM←BITXOR(d←v31656, w←v14792);
/*1*/      var←c61384 = var←c61416;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v13716)+2) ) = var←c61384;
/*1*/   };
SOURCE(26143, 29)
                           {
/*1*/   word var←c61480;
/*1*/   {
/*1*/      word var←c61512;
/*1*/      word d←v31608;
/*1*/      d←v31608 = (* (( (ptr) dstLine←v13716)+3) );
SOURCE(24979, 22)
/*1*/      var←c61512 = (word) XRM←BITXOR(d←v31608, w←v14792);
/*1*/      var←c61480 = var←c61512;
/*1*/      };
/*1*/   (* (( (ptr) dstLine←v13716)+3) ) = var←c61480;
/*1*/   };
SOURCE(26175, 44)
                           dstLine←v13716 = (dstLine←v13716 + 16);
                           noName←c61128 = (noName←c61128 + 1);
                           if ((noName←c61128 < noName←c61160)) {
/*1*/   goto lab←L100466;
/*1*/   };
                           lab←L100463: ;
                           };
SOURCE(26230, 97)
                        {
                           register word noName←c61576 = 0;
                           register word noName←c61608;
                           noName←c61608 = ((ndw←v13744 - 2) & 3);
                           if ((noName←c61576 >= noName←c61608)) {
/*1*/   goto lab←L100471;
/*1*/   };
                           lab←L100474: ;
SOURCE(26268, 29)
                           {
/*1*/   word var←c61640;
/*1*/   {
/*1*/      word var←c61672;
/*1*/      word d←v31560;
/*1*/      d←v31560 = (*  (ptr) dstLine←v13716 );
SOURCE(24979, 22)
/*1*/      var←c61672 = (word) XRM←BITXOR(d←v31560, w←v14792);
/*1*/      var←c61640 = var←c61672;
/*1*/      };
/*1*/   (*  (ptr) dstLine←v13716 ) = var←c61640;
/*1*/   };
SOURCE(26299, 28)
                           dstLine←v13716 = (dstLine←v13716 + 4);
                           noName←c61576 = (noName←c61576 + 1);
                           if ((noName←c61576 < noName←c61608)) {
/*1*/   goto lab←L100474;
/*1*/   };
                           lab←L100471: ;
                           };
SOURCE(26338, 37)
                        {
                           word var←c61736;
                           {
/*1*/   word var←c61768;
/*1*/   word d←v31944;
/*1*/   word mask←v31972;
/*1*/   d←v31944 = (*  (ptr) dstLine←v13716 );
/*1*/   mask←v31972 = rMask←v13800;
SOURCE(25058, 57)
/*1*/   {
/*1*/      word var←c61832;
/*1*/      {
/*1*/         word var←c61864;
/*1*/         {
/*1*/            word var←c61896;
/*1*/            var←c61896 = (word) XRM←BITXOR(d←v31944, w←v14792);
/*1*/            var←c61864 = (word) XRM←BITXOR(var←c61896, d←v31944);
/*1*/            };
/*1*/         var←c61832 = (word) XRM←BITAND(var←c61864, mask←v31972);
/*1*/         };
/*1*/      var←c61768 = (word) XRM←BITXOR(var←c61832, d←v31944);
/*1*/      };
/*1*/   var←c61736 = var←c61768;
/*1*/   };
                           (*  (ptr) dstLine←v13716 ) = var←c61736;
                           };
                        };
                     };
SOURCE(27414, 32)
                  sSize←v5364 = (sSize←v5364 - 1);
                  if ((sSize←v5364 == 0)) {
SOURCE(27446, 4)
                     goto lab←L100459;
                     };
SOURCE(27452, 27)
                  dst←v5224.f0 = (dst←v5224.f0 + dRast←v14664);
SOURCE(27481, 23)
                  srcIndex←v13828 = (srcIndex←v13828 + 1);
SOURCE(27506, 41)
                  if ((srcIndex←v13828 == sSizeTile←v5336)) {
SOURCE(27535, 12)
                     srcIndex←v13828 = 0;
                     };
                  goto lab←L100460;
                  lab←L100459: ;
                  break;
               };
            };
         };
      }
   else {
SOURCE(27570, 269)
      lab←L100479: ;
SOURCE(27573, 11)
SOURCE(25145, 35)
      {
         word bits←v32656;
         bits←v32656 = (dst←v5224.f1 + fSize←v5392);
SOURCE(374, 36)
         ndw←v13744 = ((bits←v32656 + 31) >> 5);
         };
SOURCE(25182, 39)
      lMask←v13772 = (* ((( (ptr) gf←c63560)+4)/* rightJustifiedOnes←v2692 */ +(32 - dst←v5224.f1)) );
SOURCE(25223, 76)
      {
         word var←c61960;
         word n←v32700;
         n←v32700 = (((32 - dst←v5224.f1) - fSize←v5392) & 037);
SOURCE(829, 39)
         var←c61960 = (word) XRM←BITNOT((* (((( (ptr) gf←c63560)+4)/* rightJustifiedOnes←v2692 */ +n←v32700)) ));
         rMask←v13800 = var←c61960;
         };
SOURCE(27586, 28)
      dstLine←v13716 = dst←v5224.f0;
SOURCE(27616, 8)
SOURCE(26404, 41)
      if ((ndw←v13744 == 1)) {
SOURCE(26420, 15)
SOURCE(25329, 61)
         {
            word var←c62024;
            {
               word var←c62056;
               word d←v33212;
               word s←v33240;
               word mask←v33268;
               d←v33212 = (*  (ptr) dstLine←v13716 );
               s←v33240 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
               mask←v33268 = (word) XRM←BITAND(lMask←v13772, rMask←v13800);
SOURCE(25058, 57)
               {
                  word var←c62120;
                  {
                     word var←c62152;
                     {
                        word var←c62184;
                        var←c62184 = (word) XRM←BITXOR(d←v33212, s←v33240);
                        var←c62152 = (word) XRM←BITXOR(var←c62184, d←v33212);
                        };
                     var←c62120 = (word) XRM←BITAND(var←c62152, mask←v33268);
                     };
                  var←c62056 = (word) XRM←BITXOR(var←c62120, d←v33212);
                  };
               var←c62024 = var←c62056;
               };
            (*  (ptr) dstLine←v13716 ) = var←c62024;
            };
         }
      else {
SOURCE(26435, 10)
         {
            word w←v33312;
            w←v33312 = (word) XRM←BITNOT((* ((( (ptr) src←v5252)+srcIndex←v13828)) ));
SOURCE(25941, 37)
            {
               word var←c62216;
               {
                  word var←c62248;
                  word d←v33356;
                  word mask←v33384;
                  d←v33356 = (*  (ptr) dstLine←v13716 );
                  mask←v33384 = lMask←v13772;
SOURCE(25058, 57)
                  {
                     word var←c62312;
                     {
                        word var←c62344;
                        {
                           word var←c62376;
                           var←c62376 = (word) XRM←BITXOR(d←v33356, w←v33312);
                           var←c62344 = (word) XRM←BITXOR(var←c62376, d←v33356);
                           };
                        var←c62312 = (word) XRM←BITAND(var←c62344, mask←v33384);
                        };
                     var←c62248 = (word) XRM←BITXOR(var←c62312, d←v33356);
                     };
                  var←c62216 = var←c62248;
                  };
               (*  (ptr) dstLine←v13716 ) = var←c62216;
               };
SOURCE(25980, 28)
            dstLine←v13716 = (dstLine←v13716 + 4);
SOURCE(26010, 209)
            {
               register word noName←c62408 = 0;
               register word noName←c62440;
               noName←c62440 = ((ndw←v13744 - 2) >> 2);
               if ((noName←c62408 >= noName←c62440)) {
                  goto lab←L100484;
                  };
               lab←L100487: ;
SOURCE(26047, 29)
               {
                  word var←c62472;
                  {
                     word var←c62504;
                     word d←v33428;
                     d←v33428 = (*  (ptr) dstLine←v13716 );
SOURCE(24979, 22)
                     var←c62504 = (word) XRM←BITXOR(d←v33428, w←v33312);
                     var←c62472 = var←c62504;
                     };
                  (*  (ptr) dstLine←v13716 ) = var←c62472;
                  };
SOURCE(26079, 29)
               {
                  word var←c62568;
                  {
                     word var←c62600;
                     word d←v33472;
                     d←v33472 = (* (( (ptr) dstLine←v13716)+1) );
SOURCE(24979, 22)
                     var←c62600 = (word) XRM←BITXOR(d←v33472, w←v33312);
                     var←c62568 = var←c62600;
                     };
                  (* (( (ptr) dstLine←v13716)+1) ) = var←c62568;
                  };
SOURCE(26111, 29)
               {
                  word var←c62664;
                  {
                     word var←c62696;
                     word d←v33516;
                     d←v33516 = (* (( (ptr) dstLine←v13716)+2) );
SOURCE(24979, 22)
                     var←c62696 = (word) XRM←BITXOR(d←v33516, w←v33312);
                     var←c62664 = var←c62696;
                     };
                  (* (( (ptr) dstLine←v13716)+2) ) = var←c62664;
                  };
SOURCE(26143, 29)
               {
                  word var←c62760;
                  {
                     word var←c62792;
                     word d←v33560;
                     d←v33560 = (* (( (ptr) dstLine←v13716)+3) );
SOURCE(24979, 22)
                     var←c62792 = (word) XRM←BITXOR(d←v33560, w←v33312);
                     var←c62760 = var←c62792;
                     };
                  (* (( (ptr) dstLine←v13716)+3) ) = var←c62760;
                  };
SOURCE(26175, 44)
               dstLine←v13716 = (dstLine←v13716 + 16);
               noName←c62408 = (noName←c62408 + 1);
               if ((noName←c62408 < noName←c62440)) {
                  goto lab←L100487;
                  };
               lab←L100484: ;
               };
SOURCE(26230, 97)
            {
               register word noName←c62856 = 0;
               register word noName←c62888;
               noName←c62888 = ((ndw←v13744 - 2) & 3);
               if ((noName←c62856 >= noName←c62888)) {
                  goto lab←L100492;
                  };
               lab←L100495: ;
SOURCE(26268, 29)
               {
                  word var←c62920;
                  {
                     word var←c62952;
                     word d←v33604;
                     d←v33604 = (*  (ptr) dstLine←v13716 );
SOURCE(24979, 22)
                     var←c62952 = (word) XRM←BITXOR(d←v33604, w←v33312);
                     var←c62920 = var←c62952;
                     };
                  (*  (ptr) dstLine←v13716 ) = var←c62920;
                  };
SOURCE(26299, 28)
               dstLine←v13716 = (dstLine←v13716 + 4);
               noName←c62856 = (noName←c62856 + 1);
               if ((noName←c62856 < noName←c62888)) {
                  goto lab←L100495;
                  };
               lab←L100492: ;
               };
SOURCE(26338, 37)
            {
               word var←c63016;
               {
                  word var←c63048;
                  word d←v33648;
                  word mask←v33676;
                  d←v33648 = (*  (ptr) dstLine←v13716 );
                  mask←v33676 = rMask←v13800;
SOURCE(25058, 57)
                  {
                     word var←c63112;
                     {
                        word var←c63144;
                        {
                           word var←c63176;
                           var←c63176 = (word) XRM←BITXOR(d←v33648, w←v33312);
                           var←c63144 = (word) XRM←BITXOR(var←c63176, d←v33648);
                           };
                        var←c63112 = (word) XRM←BITAND(var←c63144, mask←v33676);
                        };
                     var←c63048 = (word) XRM←BITXOR(var←c63112, d←v33648);
                     };
                  var←c63016 = var←c63048;
                  };
               (*  (ptr) dstLine←v13716 ) = var←c63016;
               };
            };
         };
SOURCE(27626, 32)
      sSize←v5364 = (sSize←v5364 - 1);
      if ((sSize←v5364 == 0)) {
SOURCE(27658, 4)
         goto lab←L100478;
         };
SOURCE(27664, 61)
      {
         word var←c63208;
         word bits←v16288;
         bits←v16288 = (dst←v5224.f1 + dstBpl←v5280);
SOURCE(489, 52)
         var←c63208 = ((bits←v16288 >> 5) << 2);
         dst←v5224.f0 = (dst←v5224.f0 + var←c63208);
         };
SOURCE(27727, 44)
      dst←v5224.f1 = ((dst←v5224.f1 + dstBpl←v5280) & 037);
SOURCE(27773, 23)
      srcIndex←v13828 = (srcIndex←v13828 + 1);
SOURCE(27798, 41)
      if ((srcIndex←v13828 == sSizeTile←v5336)) {
SOURCE(27827, 12)
         srcIndex←v13828 = 0;
         };
      goto lab←L100479;
      lab←L100478: ;
      };
   }

/* file: RasterOpTileImpl, module: RasterOpTileImpl, compiled at: February 21, 1992 11:33:48 pm PST */ 
extern void XR←install←RasterOpTileImpl() {
   NoName←Q18588();
   }
extern void XR←run←RasterOpTileImpl() { XR←Start(&globalframe); }