/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 11:34:38 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: RasterOpCharBltImpl, module: RasterOpCharBltImpl */ 
/* switches: cfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITOR(x, y) (((word)(x)) | ((word)(y)))
#define XRM←BITRSHIFT(x, y) ((word)(x) >> (word)(y))
#define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y))
#define XRM←BITNOT(x) (~((word)(x)))
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
static char versionStamp[] = "@(#)mob←version [4153845682,365303998] RasterOpCharBltImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q4152();
static void RasterOpCharBltImpl←P0();
static void OrBlt←P60();
static void AndCBlt←P120();
static void FillWords←P180();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\367\226\247\262\300\025\306\030\276\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[4]; word f4; word f5; word f6; 
   word f7; word f8; word f9; word f10; 
   word f11[2]; 
   } globalframe = {
   {0}, (word) FillWords←P180, 0, (word) AndCBlt←P120, 
   0, (word) OrBlt←P60, 0, (word) RasterOpCharBltImpl←P0, 
   {0}
   };

static void NoName←Q4152()
   {
   register ptr gf←c079 =  (ptr) &globalframe;
   word var←c9524;
   (void) XR←DeclareGlobalFrame((word) "RasterOpCharBltImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (
         ( (bPt) gf←c079)+40)/* var←c8148 */ );
   var←c9524 = (word) XR←ExportInterface((word) "RasterOp", (word) XR←GetTypeIndexS((word) (&string2)), 8);
   (* (( (ptr) gf←c079)+12)/* var←c9492 */  ) = var←c9524;
   (void) XR←ExportProcS(var←c9524, (word) (( (bPt) gf←c079)+16)/* var←c8052 */ , 786947);
   (void) XR←ExportProcS(var←c9524, (word) (( (bPt) gf←c079)+32)/* var←c8116 */ , 1574406);
   (void) XR←ExportProcS(var←c9524, (word) (( (bPt) gf←c079)+24)/* var←c8084 */ , 1574662);
   }

static void RasterOpCharBltImpl←P0(formal←c08, formal←c07)
   word formal←c08;
   word formal←c07;
   {
   /* RasterOpCharBltImpl: */ 
   }

static void OrBlt←P60(src←v2784, dst←v2812, offset←v2840, bpc←v2868, upl←v2896, lines←v2924)
   word src←v2784;
   word dst←v2812;
   word offset←v2840;
   word bpc←v2868;
   word upl←v2896;
   word lines←v2924;
   {
   word sw←v3268;
   word dw←v3296;
   word tw←v3324;
   word shiftL←v3352;
   /* OrBlt: */ 
SOURCE(303, 3420)
SOURCE(429, 21)
   tw←v3324 = (offset←v2840 + bpc←v2868);
   if ((bpc←v2868 <= 32)) {
SOURCE(934, 1381)
      if ((tw←v3324 <= 32)) {
SOURCE(954, 866)
         if ((offset←v2840 == 0)) {
SOURCE(973, 424)
SOURCE(1023, 363)
            lab←L100002: ;
SOURCE(1026, 181)
            if (( (int)lines←v2924 >=  (int)4)) {
SOURCE(1047, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(1060, 7)
SOURCE(997, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1069, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1078, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(1091, 7)
SOURCE(997, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1100, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1109, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 8) );
SOURCE(1122, 7)
SOURCE(997, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1131, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1140, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 12) );
SOURCE(1153, 7)
SOURCE(997, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1162, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1171, 17)
               src←v2784 = (src←v2784 + 16);
SOURCE(1190, 17)
               lines←v2924 = (lines←v2924 - 4);
SOURCE(1209, 4)
               goto lab←L100002;
               };
SOURCE(1218, 24)
            if (( (int)lines←v2924 ==  (int)0)) {
SOURCE(1236, 6)
               return;
               };
SOURCE(1244, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(1257, 7)
SOURCE(997, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1266, 24)
            if (( (int)lines←v2924 ==  (int)1)) {
SOURCE(1284, 6)
               return;
               };
SOURCE(1292, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(1305, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1314, 7)
SOURCE(997, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1323, 24)
            if (( (int)lines←v2924 ==  (int)2)) {
SOURCE(1341, 6)
               return;
               };
SOURCE(1349, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 8) );
SOURCE(1362, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1371, 7)
SOURCE(997, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1006, 6)
SOURCE(672, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(1014, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1380, 6)
            return;
            /* c2c skipped dead code */ 
            }
         else {
SOURCE(1404, 427)
SOURCE(1457, 363)
            lab←L100005: ;
SOURCE(1460, 181)
            if (( (int)lines←v2924 >=  (int)4)) {
SOURCE(1481, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(1494, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1503, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1512, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(1525, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1534, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1543, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 8) );
SOURCE(1556, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1565, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1574, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 12) );
SOURCE(1587, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1596, 7)
SOURCE(882, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1605, 17)
               src←v2784 = (src←v2784 + 16);
SOURCE(1624, 17)
               lines←v2924 = (lines←v2924 - 4);
SOURCE(1643, 4)
               goto lab←L100005;
               };
SOURCE(1652, 24)
            if (( (int)lines←v2924 ==  (int)0)) {
SOURCE(1670, 6)
               return;
               };
SOURCE(1678, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(1691, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1700, 24)
            if (( (int)lines←v2924 ==  (int)1)) {
SOURCE(1718, 6)
               return;
               };
SOURCE(1726, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(1739, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1748, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1757, 24)
            if (( (int)lines←v2924 ==  (int)2)) {
SOURCE(1775, 6)
               return;
               };
SOURCE(1783, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 8) );
SOURCE(1796, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(1805, 7)
SOURCE(1428, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1437, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1448, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1814, 6)
            return;
            /* c2c skipped dead code */ 
            };
         }
      else {
SOURCE(1841, 485)
SOURCE(1929, 21)
         shiftL←v3352 = (32 - offset←v2840);
SOURCE(1952, 363)
         lab←L100008: ;
SOURCE(1955, 181)
         if (( (int)lines←v2924 >=  (int)4)) {
SOURCE(1976, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(1989, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
            tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
            (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(1998, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2007, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(2020, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
            tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
            (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2029, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2038, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 8) );
SOURCE(2051, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
            tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
            (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2060, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2069, 11)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 12) );
SOURCE(2082, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
            tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
            tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
            (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2091, 7)
SOURCE(882, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2100, 17)
            src←v2784 = (src←v2784 + 16);
SOURCE(2119, 17)
            lines←v2924 = (lines←v2924 - 4);
SOURCE(2138, 4)
            goto lab←L100008;
            };
SOURCE(2147, 24)
         if (( (int)lines←v2924 ==  (int)0)) {
SOURCE(2165, 6)
            return;
            };
SOURCE(2173, 11)
SOURCE(570, 18)
         sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(2186, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
         dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
         tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
         dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
         (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
         dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
         tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
         dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
         (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2195, 24)
         if (( (int)lines←v2924 ==  (int)1)) {
SOURCE(2213, 6)
            return;
            };
SOURCE(2221, 11)
SOURCE(570, 18)
         sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(2234, 7)
SOURCE(882, 15)
         dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2243, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
         dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
         tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
         dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
         (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
         dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
         tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
         dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
         (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2252, 24)
         if (( (int)lines←v2924 ==  (int)2)) {
SOURCE(2270, 6)
            return;
            };
SOURCE(2278, 11)
SOURCE(570, 18)
         sw←v3268 = (*  (ptr) (src←v2784 + 8) );
SOURCE(2291, 7)
SOURCE(882, 15)
         dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2300, 7)
SOURCE(1866, 7)
SOURCE(509, 18)
         dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(1875, 9)
SOURCE(760, 26)
         tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
         dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1886, 6)
SOURCE(630, 18)
         (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(1894, 9)
SOURCE(509, 18)
         dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(1905, 9)
SOURCE(822, 26)
         tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
         dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(1916, 8)
SOURCE(630, 18)
         (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2309, 6)
         return;
         /* c2c skipped dead code */ 
         };
      }
   else {
      if ((bpc←v2868 <= 64)) {
SOURCE(2350, 725)
         if ((offset←v2840 == 0)) {
SOURCE(2371, 146)
            lab←L100011: ;
            if (( (int)lines←v2924 >  (int)0)) {
               }
            else {
               goto lab←L100009;
               };
SOURCE(2390, 7)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(2399, 7)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(2408, 6)
SOURCE(672, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(2416, 6)
SOURCE(630, 18)
            (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(2424, 9)
SOURCE(509, 18)
            dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(2435, 9)
SOURCE(570, 18)
            sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(2446, 6)
SOURCE(672, 18)
            dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(2454, 8)
SOURCE(630, 18)
            (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2464, 17)
            src←v2784 = (src←v2784 + 8);
SOURCE(2483, 15)
            dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2500, 17)
            lines←v2924 = (lines←v2924 - 1);
            goto lab←L100011;
            lab←L100009: ;
SOURCE(2528, 6)
            return;
            }
         else {
SOURCE(2545, 21)
            shiftL←v3352 = (32 - offset←v2840);
SOURCE(2568, 487)
            if ((tw←v3324 <= 64)) {
SOURCE(2590, 192)
               lab←L100014: ;
               if (( (int)lines←v2924 >  (int)0)) {
                  }
               else {
                  goto lab←L100012;
                  };
SOURCE(2609, 11)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(2633, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(2646, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2657, 10)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(2669, 11)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(2682, 9)
SOURCE(822, 26)
               tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2693, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(2706, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2717, 10)
SOURCE(630, 18)
               (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2729, 17)
               src←v2784 = (src←v2784 + 8);
SOURCE(2748, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(2765, 17)
               lines←v2924 = (lines←v2924 - 1);
               goto lab←L100014;
               lab←L100012: ;
               }
            else {
SOURCE(2802, 253)
               lab←L100017: ;
               if (( (int)lines←v2924 >  (int)0)) {
                  }
               else {
                  goto lab←L100015;
                  };
SOURCE(2821, 11)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(2845, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(2858, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2869, 10)
SOURCE(630, 18)
               (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(2881, 11)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) (dst←v2812 + 4) );
SOURCE(2894, 9)
SOURCE(822, 26)
               tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2905, 11)
SOURCE(570, 18)
               sw←v3268 = (*  (ptr) (src←v2784 + 4) );
SOURCE(2918, 9)
SOURCE(760, 26)
               tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2929, 10)
SOURCE(630, 18)
               (*  (ptr) (dst←v2812 + 4) ) = dw←v3296;
SOURCE(2941, 11)
SOURCE(509, 18)
               dw←v3296 = (*  (ptr) (dst←v2812 + 8) );
SOURCE(2954, 9)
SOURCE(822, 26)
               tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
               dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(2990, 10)
SOURCE(630, 18)
               (*  (ptr) (dst←v2812 + 8) ) = dw←v3296;
SOURCE(3002, 17)
               src←v2784 = (src←v2784 + 8);
SOURCE(3021, 15)
               dst←v2812 = (dst←v2812 + upl←v2896);
SOURCE(3038, 17)
               lines←v2924 = (lines←v2924 - 1);
               goto lab←L100017;
               lab←L100015: ;
               };
SOURCE(3069, 6)
            return;
            };
         }
      else {
SOURCE(3094, 634)
         {
            word rem←v4060;
SOURCE(3107, 616)
            if ((offset←v2840 == 0)) {
SOURCE(3128, 15)
               bpc←v2868 = (bpc←v2868 - 32);
SOURCE(3145, 265)
               lab←L100020: ;
               if (( (int)lines←v2924 >  (int)0)) {
                  }
               else {
                  goto lab←L100018;
                  };
               {
                  word nextDst←v4104;
SOURCE(3164, 28)
                  nextDst←v4104 = (dst←v2812 + upl←v2896);
SOURCE(3194, 9)
                  rem←v4060 = bpc←v2868;
SOURCE(3205, 7)
SOURCE(509, 18)
                  dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(3214, 7)
SOURCE(570, 18)
                  sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(3223, 6)
SOURCE(672, 18)
                  dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(3231, 6)
SOURCE(630, 18)
                  (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(3239, 111)
                  lab←L100023: ;
SOURCE(3242, 15)
                  dst←v2812 = (dst←v2812 + 4);
SOURCE(3259, 15)
                  src←v2784 = (src←v2784 + 4);
SOURCE(3276, 7)
SOURCE(509, 18)
                  dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(3285, 7)
SOURCE(570, 18)
                  sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(3294, 6)
SOURCE(672, 18)
                  dw←v3296 = (word) XRM←BITOR(dw←v3296, sw←v3268);
SOURCE(3302, 6)
SOURCE(630, 18)
                  (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(3310, 19)
                  if ((rem←v4060 <= 32)) {
SOURCE(3329, 4)
                     goto lab←L100022;
                     };
SOURCE(3335, 15)
                  rem←v4060 = (rem←v4060 - 32);
                  goto lab←L100023;
                  lab←L100022: ;
SOURCE(3361, 13)
                  dst←v2812 = nextDst←v4104;
SOURCE(3376, 15)
                  src←v2784 = (src←v2784 + 4);
SOURCE(3393, 17)
                  lines←v2924 = (lines←v2924 - 1);
                  };
               goto lab←L100020;
               lab←L100018: ;
SOURCE(3421, 6)
               return;
               }
            else {
SOURCE(3438, 21)
               shiftL←v3352 = (32 - offset←v2840);
SOURCE(3461, 245)
               lab←L100026: ;
               if (( (int)lines←v2924 >  (int)0)) {
                  }
               else {
                  goto lab←L100024;
                  };
               {
                  word nextDst←v4148;
SOURCE(3480, 28)
                  nextDst←v4148 = (dst←v2812 + upl←v2896);
SOURCE(3510, 9)
                  rem←v4060 = bpc←v2868;
SOURCE(3521, 7)
SOURCE(509, 18)
                  dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(3530, 125)
                  lab←L100029: ;
SOURCE(3533, 7)
SOURCE(570, 18)
                  sw←v3268 = (*  (ptr) src←v2784 );
SOURCE(3542, 9)
SOURCE(760, 26)
                  tw←v3324 = (word) XRM←BITRSHIFT(sw←v3268, offset←v2840);
SOURCE(788, 7)
SOURCE(715, 18)
                  dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(3553, 6)
SOURCE(630, 18)
                  (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(3561, 15)
                  dst←v2812 = (dst←v2812 + 4);
SOURCE(3578, 7)
SOURCE(509, 18)
                  dw←v3296 = (*  (ptr) dst←v2812 );
SOURCE(3587, 9)
SOURCE(822, 26)
                  tw←v3324 = (word) XRM←BITLSHIFT(sw←v3268, shiftL←v3352);
SOURCE(850, 7)
SOURCE(715, 18)
                  dw←v3296 = (word) XRM←BITOR(dw←v3296, tw←v3324);
SOURCE(3598, 15)
                  src←v2784 = (src←v2784 + 4);
SOURCE(3615, 19)
                  if ((rem←v4060 <= 32)) {
SOURCE(3634, 4)
                     goto lab←L100028;
                     };
SOURCE(3640, 15)
                  rem←v4060 = (rem←v4060 - 32);
                  goto lab←L100029;
                  lab←L100028: ;
SOURCE(3666, 6)
SOURCE(630, 18)
                  (*  (ptr) dst←v2812 ) = dw←v3296;
SOURCE(3674, 13)
                  dst←v2812 = nextDst←v4148;
SOURCE(3689, 17)
                  lines←v2924 = (lines←v2924 - 1);
                  };
               goto lab←L100026;
               lab←L100024: ;
SOURCE(3717, 6)
               return;
               };
            };
         };
      };
   }

static void AndCBlt←P120(src←v2984, dst←v3012, offset←v3040, bpc←v3068, upl←v3096, lines←v3124)
   word src←v2984;
   word dst←v3012;
   word offset←v3040;
   word bpc←v3068;
   word upl←v3096;
   word lines←v3124;
   {
   word sw←v4192;
   word dw←v4220;
   word tw←v4248;
   word shiftL←v4276;
   /* AndCBlt: */ 
SOURCE(3735, 3442)
SOURCE(3863, 21)
   tw←v4248 = (offset←v3040 + bpc←v3068);
   if ((bpc←v3068 <= 32)) {
SOURCE(4388, 1381)
      if ((tw←v4248 <= 32)) {
SOURCE(4408, 866)
         if ((offset←v3040 == 0)) {
SOURCE(4427, 424)
SOURCE(4477, 363)
            lab←L100032: ;
SOURCE(4480, 181)
            if (( (int)lines←v3124 >=  (int)4)) {
SOURCE(4501, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(4514, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
               {
                  word var←c8180;
                  var←c8180 = (word) XRM←BITNOT(sw←v4192);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8180);
                  };
SOURCE(4468, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4523, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4532, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(4545, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
               {
                  word var←c8212;
                  var←c8212 = (word) XRM←BITNOT(sw←v4192);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8212);
                  };
SOURCE(4468, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4554, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4563, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 8) );
SOURCE(4576, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
               {
                  word var←c8244;
                  var←c8244 = (word) XRM←BITNOT(sw←v4192);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8244);
                  };
SOURCE(4468, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4585, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4594, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 12) );
SOURCE(4607, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
               {
                  word var←c8276;
                  var←c8276 = (word) XRM←BITNOT(sw←v4192);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8276);
                  };
SOURCE(4468, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4616, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4625, 17)
               src←v2984 = (src←v2984 + 16);
SOURCE(4644, 17)
               lines←v3124 = (lines←v3124 - 4);
SOURCE(4663, 4)
               goto lab←L100032;
               };
SOURCE(4672, 24)
            if (( (int)lines←v3124 ==  (int)0)) {
SOURCE(4690, 6)
               return;
               };
SOURCE(4698, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(4711, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
            {
               word var←c8308;
               var←c8308 = (word) XRM←BITNOT(sw←v4192);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8308);
               };
SOURCE(4468, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4720, 24)
            if (( (int)lines←v3124 ==  (int)1)) {
SOURCE(4738, 6)
               return;
               };
SOURCE(4746, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(4759, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4768, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
            {
               word var←c8340;
               var←c8340 = (word) XRM←BITNOT(sw←v4192);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8340);
               };
SOURCE(4468, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4777, 24)
            if (( (int)lines←v3124 ==  (int)2)) {
SOURCE(4795, 6)
               return;
               };
SOURCE(4803, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 8) );
SOURCE(4816, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4825, 7)
SOURCE(4451, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4460, 6)
SOURCE(4106, 27)
            {
               word var←c8372;
               var←c8372 = (word) XRM←BITNOT(sw←v4192);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8372);
               };
SOURCE(4468, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4834, 6)
            return;
            /* c2c skipped dead code */ 
            }
         else {
SOURCE(4858, 427)
SOURCE(4911, 363)
            lab←L100035: ;
SOURCE(4914, 181)
            if (( (int)lines←v3124 >=  (int)4)) {
SOURCE(4935, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(4948, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c8404;
                  var←c8404 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8404);
                  };
SOURCE(4902, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4957, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4966, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(4979, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c8436;
                  var←c8436 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8436);
                  };
SOURCE(4902, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(4988, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(4997, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 8) );
SOURCE(5010, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c8468;
                  var←c8468 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8468);
                  };
SOURCE(4902, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5019, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5028, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 12) );
SOURCE(5041, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c8500;
                  var←c8500 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8500);
                  };
SOURCE(4902, 6)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5050, 7)
SOURCE(4336, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5059, 17)
               src←v2984 = (src←v2984 + 16);
SOURCE(5078, 17)
               lines←v3124 = (lines←v3124 - 4);
SOURCE(5097, 4)
               goto lab←L100035;
               };
SOURCE(5106, 24)
            if (( (int)lines←v3124 ==  (int)0)) {
SOURCE(5124, 6)
               return;
               };
SOURCE(5132, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(5145, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8532;
               var←c8532 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8532);
               };
SOURCE(4902, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5154, 24)
            if (( (int)lines←v3124 ==  (int)1)) {
SOURCE(5172, 6)
               return;
               };
SOURCE(5180, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(5193, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5202, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8564;
               var←c8564 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8564);
               };
SOURCE(4902, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5211, 24)
            if (( (int)lines←v3124 ==  (int)2)) {
SOURCE(5229, 6)
               return;
               };
SOURCE(5237, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 8) );
SOURCE(5250, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5259, 7)
SOURCE(4882, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(4891, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8596;
               var←c8596 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8596);
               };
SOURCE(4902, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5268, 6)
            return;
            /* c2c skipped dead code */ 
            };
         }
      else {
SOURCE(5295, 485)
SOURCE(5383, 21)
         shiftL←v4276 = (32 - offset←v3040);
SOURCE(5406, 363)
         lab←L100038: ;
SOURCE(5409, 181)
         if (( (int)lines←v3124 >=  (int)4)) {
SOURCE(5430, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(5443, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8628;
               var←c8628 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8628);
               };
SOURCE(5340, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
            tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
            {
               word var←c8660;
               var←c8660 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8660);
               };
SOURCE(5370, 8)
SOURCE(4064, 18)
            (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5452, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5461, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(5474, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8692;
               var←c8692 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8692);
               };
SOURCE(5340, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
            tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
            {
               word var←c8724;
               var←c8724 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8724);
               };
SOURCE(5370, 8)
SOURCE(4064, 18)
            (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5483, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5492, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 8) );
SOURCE(5505, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8756;
               var←c8756 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8756);
               };
SOURCE(5340, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
            tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
            {
               word var←c8788;
               var←c8788 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8788);
               };
SOURCE(5370, 8)
SOURCE(4064, 18)
            (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5514, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5523, 11)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 12) );
SOURCE(5536, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
            tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
            {
               word var←c8820;
               var←c8820 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8820);
               };
SOURCE(5340, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
            tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
            {
               word var←c8852;
               var←c8852 = (word) XRM←BITNOT(tw←v4248);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8852);
               };
SOURCE(5370, 8)
SOURCE(4064, 18)
            (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5545, 7)
SOURCE(4336, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5554, 17)
            src←v2984 = (src←v2984 + 16);
SOURCE(5573, 17)
            lines←v3124 = (lines←v3124 - 4);
SOURCE(5592, 4)
            goto lab←L100038;
            };
SOURCE(5601, 24)
         if (( (int)lines←v3124 ==  (int)0)) {
SOURCE(5619, 6)
            return;
            };
SOURCE(5627, 11)
SOURCE(4004, 18)
         sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(5640, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
         dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
         tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
         {
            word var←c8884;
            var←c8884 = (word) XRM←BITNOT(tw←v4248);
            dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8884);
            };
SOURCE(5340, 6)
SOURCE(4064, 18)
         (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
         dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
         tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
         {
            word var←c8916;
            var←c8916 = (word) XRM←BITNOT(tw←v4248);
            dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8916);
            };
SOURCE(5370, 8)
SOURCE(4064, 18)
         (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5649, 24)
         if (( (int)lines←v3124 ==  (int)1)) {
SOURCE(5667, 6)
            return;
            };
SOURCE(5675, 11)
SOURCE(4004, 18)
         sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(5688, 7)
SOURCE(4336, 15)
         dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5697, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
         dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
         tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
         {
            word var←c8948;
            var←c8948 = (word) XRM←BITNOT(tw←v4248);
            dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8948);
            };
SOURCE(5340, 6)
SOURCE(4064, 18)
         (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
         dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
         tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
         {
            word var←c8980;
            var←c8980 = (word) XRM←BITNOT(tw←v4248);
            dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c8980);
            };
SOURCE(5370, 8)
SOURCE(4064, 18)
         (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5706, 24)
         if (( (int)lines←v3124 ==  (int)2)) {
SOURCE(5724, 6)
            return;
            };
SOURCE(5732, 11)
SOURCE(4004, 18)
         sw←v4192 = (*  (ptr) (src←v2984 + 8) );
SOURCE(5745, 7)
SOURCE(4336, 15)
         dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5754, 7)
SOURCE(5320, 7)
SOURCE(3943, 18)
         dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5329, 9)
SOURCE(4213, 26)
         tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
         {
            word var←c9012;
            var←c9012 = (word) XRM←BITNOT(tw←v4248);
            dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9012);
            };
SOURCE(5340, 6)
SOURCE(4064, 18)
         (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5348, 9)
SOURCE(3943, 18)
         dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5359, 9)
SOURCE(4276, 26)
         tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
         {
            word var←c9044;
            var←c9044 = (word) XRM←BITNOT(tw←v4248);
            dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9044);
            };
SOURCE(5370, 8)
SOURCE(4064, 18)
         (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5763, 6)
         return;
         /* c2c skipped dead code */ 
         };
      }
   else {
      if ((bpc←v3068 <= 64)) {
SOURCE(5804, 725)
         if ((offset←v3040 == 0)) {
SOURCE(5825, 146)
            lab←L100041: ;
            if (( (int)lines←v3124 >  (int)0)) {
               }
            else {
               goto lab←L100039;
               };
SOURCE(5844, 7)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(5853, 7)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(5862, 6)
SOURCE(4106, 27)
            {
               word var←c9076;
               var←c9076 = (word) XRM←BITNOT(sw←v4192);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9076);
               };
SOURCE(5870, 6)
SOURCE(4064, 18)
            (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(5878, 9)
SOURCE(3943, 18)
            dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(5889, 9)
SOURCE(4004, 18)
            sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(5900, 6)
SOURCE(4106, 27)
            {
               word var←c9108;
               var←c9108 = (word) XRM←BITNOT(sw←v4192);
               dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9108);
               };
SOURCE(5908, 8)
SOURCE(4064, 18)
            (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(5918, 17)
            src←v2984 = (src←v2984 + 8);
SOURCE(5937, 15)
            dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(5954, 17)
            lines←v3124 = (lines←v3124 - 1);
            goto lab←L100041;
            lab←L100039: ;
SOURCE(5982, 6)
            return;
            }
         else {
SOURCE(5999, 21)
            shiftL←v4276 = (32 - offset←v3040);
SOURCE(6022, 487)
            if ((tw←v4248 <= 64)) {
SOURCE(6044, 192)
               lab←L100044: ;
               if (( (int)lines←v3124 >  (int)0)) {
                  }
               else {
                  goto lab←L100042;
                  };
SOURCE(6063, 11)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(6087, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(6100, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c9140;
                  var←c9140 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9140);
                  };
SOURCE(6111, 10)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(6123, 11)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(6136, 9)
SOURCE(4276, 26)
               tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
               {
                  word var←c9172;
                  var←c9172 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9172);
                  };
SOURCE(6147, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(6160, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c9204;
                  var←c9204 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9204);
                  };
SOURCE(6171, 10)
SOURCE(4064, 18)
               (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(6183, 17)
               src←v2984 = (src←v2984 + 8);
SOURCE(6202, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(6219, 17)
               lines←v3124 = (lines←v3124 - 1);
               goto lab←L100044;
               lab←L100042: ;
               }
            else {
SOURCE(6256, 253)
               lab←L100047: ;
               if (( (int)lines←v3124 >  (int)0)) {
                  }
               else {
                  goto lab←L100045;
                  };
SOURCE(6275, 11)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(6299, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(6312, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c9236;
                  var←c9236 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9236);
                  };
SOURCE(6323, 10)
SOURCE(4064, 18)
               (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(6335, 11)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) (dst←v3012 + 4) );
SOURCE(6348, 9)
SOURCE(4276, 26)
               tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
               {
                  word var←c9268;
                  var←c9268 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9268);
                  };
SOURCE(6359, 11)
SOURCE(4004, 18)
               sw←v4192 = (*  (ptr) (src←v2984 + 4) );
SOURCE(6372, 9)
SOURCE(4213, 26)
               tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
               {
                  word var←c9300;
                  var←c9300 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9300);
                  };
SOURCE(6383, 10)
SOURCE(4064, 18)
               (*  (ptr) (dst←v3012 + 4) ) = dw←v4220;
SOURCE(6395, 11)
SOURCE(3943, 18)
               dw←v4220 = (*  (ptr) (dst←v3012 + 8) );
SOURCE(6408, 9)
SOURCE(4276, 26)
               tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
               {
                  word var←c9332;
                  var←c9332 = (word) XRM←BITNOT(tw←v4248);
                  dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9332);
                  };
SOURCE(6444, 10)
SOURCE(4064, 18)
               (*  (ptr) (dst←v3012 + 8) ) = dw←v4220;
SOURCE(6456, 17)
               src←v2984 = (src←v2984 + 8);
SOURCE(6475, 15)
               dst←v3012 = (dst←v3012 + upl←v3096);
SOURCE(6492, 17)
               lines←v3124 = (lines←v3124 - 1);
               goto lab←L100047;
               lab←L100045: ;
               };
SOURCE(6523, 6)
            return;
            };
         }
      else {
SOURCE(6548, 634)
         {
            word rem←v4984;
SOURCE(6561, 616)
            if ((offset←v3040 == 0)) {
SOURCE(6582, 15)
               bpc←v3068 = (bpc←v3068 - 32);
SOURCE(6599, 265)
               lab←L100050: ;
               if (( (int)lines←v3124 >  (int)0)) {
                  }
               else {
                  goto lab←L100048;
                  };
               {
                  word nextDst←v5028;
SOURCE(6618, 28)
                  nextDst←v5028 = (dst←v3012 + upl←v3096);
SOURCE(6648, 9)
                  rem←v4984 = bpc←v3068;
SOURCE(6659, 7)
SOURCE(3943, 18)
                  dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(6668, 7)
SOURCE(4004, 18)
                  sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(6677, 6)
SOURCE(4106, 27)
                  {
                     word var←c9364;
                     var←c9364 = (word) XRM←BITNOT(sw←v4192);
                     dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9364);
                     };
SOURCE(6685, 6)
SOURCE(4064, 18)
                  (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(6693, 111)
                  lab←L100053: ;
SOURCE(6696, 15)
                  dst←v3012 = (dst←v3012 + 4);
SOURCE(6713, 15)
                  src←v2984 = (src←v2984 + 4);
SOURCE(6730, 7)
SOURCE(3943, 18)
                  dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(6739, 7)
SOURCE(4004, 18)
                  sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(6748, 6)
SOURCE(4106, 27)
                  {
                     word var←c9396;
                     var←c9396 = (word) XRM←BITNOT(sw←v4192);
                     dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9396);
                     };
SOURCE(6756, 6)
SOURCE(4064, 18)
                  (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(6764, 19)
                  if ((rem←v4984 <= 32)) {
SOURCE(6783, 4)
                     goto lab←L100052;
                     };
SOURCE(6789, 15)
                  rem←v4984 = (rem←v4984 - 32);
                  goto lab←L100053;
                  lab←L100052: ;
SOURCE(6815, 13)
                  dst←v3012 = nextDst←v5028;
SOURCE(6830, 15)
                  src←v2984 = (src←v2984 + 4);
SOURCE(6847, 17)
                  lines←v3124 = (lines←v3124 - 1);
                  };
               goto lab←L100050;
               lab←L100048: ;
SOURCE(6875, 6)
               return;
               }
            else {
SOURCE(6892, 21)
               shiftL←v4276 = (32 - offset←v3040);
SOURCE(6915, 245)
               lab←L100056: ;
               if (( (int)lines←v3124 >  (int)0)) {
                  }
               else {
                  goto lab←L100054;
                  };
               {
                  word nextDst←v5072;
SOURCE(6934, 28)
                  nextDst←v5072 = (dst←v3012 + upl←v3096);
SOURCE(6964, 9)
                  rem←v4984 = bpc←v3068;
SOURCE(6975, 7)
SOURCE(3943, 18)
                  dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(6984, 125)
                  lab←L100059: ;
SOURCE(6987, 7)
SOURCE(4004, 18)
                  sw←v4192 = (*  (ptr) src←v2984 );
SOURCE(6996, 9)
SOURCE(4213, 26)
                  tw←v4248 = (word) XRM←BITRSHIFT(sw←v4192, offset←v3040);
SOURCE(4241, 7)
SOURCE(4158, 27)
                  {
                     word var←c9428;
                     var←c9428 = (word) XRM←BITNOT(tw←v4248);
                     dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9428);
                     };
SOURCE(7007, 6)
SOURCE(4064, 18)
                  (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(7015, 15)
                  dst←v3012 = (dst←v3012 + 4);
SOURCE(7032, 7)
SOURCE(3943, 18)
                  dw←v4220 = (*  (ptr) dst←v3012 );
SOURCE(7041, 9)
SOURCE(4276, 26)
                  tw←v4248 = (word) XRM←BITLSHIFT(sw←v4192, shiftL←v4276);
SOURCE(4304, 7)
SOURCE(4158, 27)
                  {
                     word var←c9460;
                     var←c9460 = (word) XRM←BITNOT(tw←v4248);
                     dw←v4220 = (word) XRM←BITAND(dw←v4220, var←c9460);
                     };
SOURCE(7052, 15)
                  src←v2984 = (src←v2984 + 4);
SOURCE(7069, 19)
                  if ((rem←v4984 <= 32)) {
SOURCE(7088, 4)
                     goto lab←L100058;
                     };
SOURCE(7094, 15)
                  rem←v4984 = (rem←v4984 - 32);
                  goto lab←L100059;
                  lab←L100058: ;
SOURCE(7120, 6)
SOURCE(4064, 18)
                  (*  (ptr) dst←v3012 ) = dw←v4220;
SOURCE(7128, 13)
                  dst←v3012 = nextDst←v5072;
SOURCE(7143, 17)
                  lines←v3124 = (lines←v3124 - 1);
                  };
               goto lab←L100056;
               lab←L100054: ;
SOURCE(7171, 6)
               return;
               };
            };
         };
      };
   }

static void FillWords←P180(dst←v3184, len←v3212, fill←v3240)
   word dst←v3184;
   word len←v3212;
   word fill←v3240;
   {
   /* FillWords: */ 
SOURCE(7189, 569)
SOURCE(7253, 218)
   lab←L100062: ;
   if (( (int)len←v3212 >=  (int)8)) {
      }
   else {
      goto lab←L100060;
      };
SOURCE(7271, 19)
   (*  (ptr) dst←v3184 ) = fill←v3240;
SOURCE(7292, 19)
   (*  (ptr) (dst←v3184 + 4) ) = fill←v3240;
SOURCE(7313, 19)
   (*  (ptr) (dst←v3184 + 8) ) = fill←v3240;
SOURCE(7334, 19)
   (*  (ptr) (dst←v3184 + 12) ) = fill←v3240;
SOURCE(7355, 19)
   (*  (ptr) (dst←v3184 + 16) ) = fill←v3240;
SOURCE(7376, 19)
   (*  (ptr) (dst←v3184 + 20) ) = fill←v3240;
SOURCE(7397, 19)
   (*  (ptr) (dst←v3184 + 24) ) = fill←v3240;
SOURCE(7418, 19)
   (*  (ptr) (dst←v3184 + 28) ) = fill←v3240;
SOURCE(7439, 17)
   dst←v3184 = (dst←v3184 + 32);
SOURCE(7458, 13)
   len←v3212 = (len←v3212 - 8);
   goto lab←L100062;
   lab←L100060: ;
SOURCE(7482, 135)
   if (( (int)len←v3212 >=  (int)4)) {
SOURCE(7501, 19)
      (*  (ptr) dst←v3184 ) = fill←v3240;
SOURCE(7522, 19)
      (*  (ptr) (dst←v3184 + 4) ) = fill←v3240;
SOURCE(7543, 19)
      (*  (ptr) (dst←v3184 + 8) ) = fill←v3240;
SOURCE(7564, 19)
      (*  (ptr) (dst←v3184 + 12) ) = fill←v3240;
SOURCE(7585, 17)
      dst←v3184 = (dst←v3184 + 16);
SOURCE(7604, 13)
      len←v3212 = (len←v3212 - 4);
      };
SOURCE(7622, 93)
   if (( (int)len←v3212 >=  (int)2)) {
SOURCE(7641, 19)
      (*  (ptr) dst←v3184 ) = fill←v3240;
SOURCE(7662, 19)
      (*  (ptr) (dst←v3184 + 4) ) = fill←v3240;
SOURCE(7683, 17)
      dst←v3184 = (dst←v3184 + 8);
SOURCE(7702, 13)
      len←v3212 = (len←v3212 - 2);
      };
SOURCE(7720, 38)
   if (( (int)len←v3212 >=  (int)1)) {
SOURCE(7739, 19)
      (*  (ptr) dst←v3184 ) = fill←v3240;
      };
   }

/* file: RasterOpCharBltImpl, module: RasterOpCharBltImpl, compiled at: February 21, 1992 11:34:38 pm PST */ 
extern void XR←install←RasterOpCharBltImpl() {
   NoName←Q4152();
   }
extern void XR←run←RasterOpCharBltImpl() { XR←Start(&globalframe); }