mono_sha1_init (struct MonoSHA1Context * context)
{
  unsigned int D.5053;

  context->state[0] = 1732584193;
  context->state[1] = 4023233417;
  context->state[2] = 2562383102;
  context->state[3] = 271733878;
  context->state[4] = 3285377520;
  context->count[1] = 0;
  D.5053 = context->count[1];
  context->count[0] = D.5053;
}


mono_sha1_update (struct MonoSHA1Context * context, const guchar * data, guint32 len)
{
  unsigned int D.5054;
  unsigned int D.5055;
  unsigned int D.5056;
  unsigned int D.5057;
  unsigned int D.5060;
  unsigned int D.5061;
  unsigned int D.5062;
  unsigned int D.5063;
  unsigned int D.5064;
  long unsigned int D.5067;
  unsigned char * D.5068;
  unsigned char[64] * D.5069;
  guint32[5] * D.5070;
  sizetype D.5071;
  const guchar * D.5072;
  unsigned int D.5073;
  unsigned int D.5075;
  long unsigned int D.5076;
  guint32 i;
  guint32 j;

  D.5054 = context->count[0];
  D.5055 = D.5054 >> 3;
  j = D.5055 & 63;
  D.5054 = context->count[0];
  D.5056 = len << 3;
  D.5057 = D.5054 + D.5056;
  context->count[0] = D.5057;
  D.5054 = context->count[0];
  D.5056 = len << 3;
  if (D.5054 < D.5056) goto <D.5058>; else goto <D.5059>;
  <D.5058>:
  D.5060 = context->count[1];
  D.5061 = D.5060 + 1;
  context->count[1] = D.5061;
  <D.5059>:
  D.5060 = context->count[1];
  D.5062 = len >> 29;
  D.5063 = D.5060 + D.5062;
  context->count[1] = D.5063;
  D.5064 = j + len;
  if (D.5064 > 63) goto <D.5065>; else goto <D.5066>;
  <D.5065>:
  i = 64 - j;
  D.5067 = (long unsigned int) i;
  D.5068 = &context->buffer[j];
  memcpy (D.5068, data, D.5067);
  D.5069 = &context->buffer;
  D.5070 = &context->state;
  SHA1Transform (D.5070, D.5069);
  goto <D.5008>;
  <D.5007>:
  D.5071 = (sizetype) i;
  D.5072 = data + D.5071;
  D.5070 = &context->state;
  SHA1Transform (D.5070, D.5072);
  i = i + 64;
  <D.5008>:
  D.5073 = i + 63;
  if (D.5073 < len) goto <D.5007>; else goto <D.5009>;
  <D.5009>:
  j = 0;
  goto <D.5074>;
  <D.5066>:
  i = 0;
  <D.5074>:
  D.5075 = len - i;
  D.5076 = (long unsigned int) D.5075;
  D.5071 = (sizetype) i;
  D.5072 = data + D.5071;
  D.5068 = &context->buffer[j];
  memcpy (D.5068, D.5072, D.5076);
}


SHA1Transform (guint32 * state, const guchar * buffer)
{
  unsigned int D.5077;
  unsigned int D.5078;
  unsigned int D.5079;
  unsigned int D.5080;
  unsigned int D.5081;
  unsigned int D.5082;
  unsigned int D.5083;
  unsigned int D.5084;
  unsigned int D.5085;
  unsigned int D.5086;
  unsigned int D.5087;
  unsigned int D.5088;
  unsigned int D.5089;
  unsigned int D.5090;
  unsigned int D.5091;
  unsigned int D.5092;
  unsigned int D.5093;
  unsigned int D.5094;
  unsigned int D.5095;
  unsigned int D.5096;
  unsigned int D.5097;
  unsigned int D.5098;
  unsigned int D.5099;
  unsigned int D.5100;
  unsigned int D.5101;
  unsigned int D.5102;
  unsigned int D.5103;
  unsigned int D.5104;
  unsigned int D.5105;
  unsigned int D.5106;
  unsigned int D.5107;
  unsigned int D.5108;
  unsigned int D.5109;
  unsigned int D.5110;
  unsigned int D.5111;
  unsigned int D.5112;
  unsigned int D.5113;
  unsigned int D.5114;
  unsigned int D.5115;
  unsigned int D.5116;
  unsigned int D.5117;
  unsigned int D.5118;
  unsigned int D.5119;
  unsigned int D.5120;
  unsigned int D.5121;
  unsigned int D.5122;
  unsigned int D.5123;
  unsigned int D.5124;
  unsigned int D.5125;
  unsigned int D.5126;
  unsigned int D.5127;
  unsigned int D.5128;
  unsigned int D.5129;
  unsigned int D.5130;
  unsigned int D.5131;
  unsigned int D.5132;
  unsigned int D.5133;
  unsigned int D.5134;
  unsigned int D.5135;
  unsigned int D.5136;
  unsigned int D.5137;
  unsigned int D.5138;
  unsigned int D.5139;
  unsigned int D.5140;
  unsigned int D.5141;
  unsigned int D.5142;
  unsigned int D.5143;
  unsigned int D.5144;
  unsigned int D.5145;
  unsigned int D.5146;
  unsigned int D.5147;
  unsigned int D.5148;
  unsigned int D.5149;
  unsigned int D.5150;
  unsigned int D.5151;
  unsigned int D.5152;
  unsigned int D.5153;
  unsigned int D.5154;
  unsigned int D.5155;
  unsigned int D.5156;
  unsigned int D.5157;
  unsigned int D.5158;
  unsigned int D.5159;
  unsigned int D.5160;
  unsigned int D.5161;
  unsigned int D.5162;
  unsigned int D.5163;
  unsigned int D.5164;
  unsigned int D.5165;
  unsigned int D.5166;
  unsigned int D.5167;
  unsigned int D.5168;
  unsigned int D.5169;
  unsigned int D.5170;
  unsigned int D.5171;
  unsigned int D.5172;
  unsigned int D.5173;
  unsigned int D.5174;
  unsigned int D.5175;
  unsigned int D.5176;
  unsigned int D.5177;
  unsigned int D.5178;
  unsigned int D.5179;
  unsigned int D.5180;
  unsigned int D.5181;
  unsigned int D.5182;
  unsigned int D.5183;
  unsigned int D.5184;
  unsigned int D.5185;
  unsigned int D.5186;
  unsigned int D.5187;
  unsigned int D.5188;
  unsigned int D.5189;
  unsigned int D.5190;
  unsigned int D.5191;
  unsigned int D.5192;
  unsigned int D.5193;
  unsigned int D.5194;
  unsigned int D.5195;
  unsigned int D.5196;
  unsigned int D.5197;
  unsigned int D.5198;
  unsigned int D.5199;
  unsigned int D.5200;
  unsigned int D.5201;
  unsigned int D.5202;
  unsigned int D.5203;
  unsigned int D.5204;
  unsigned int D.5205;
  unsigned int D.5206;
  unsigned int D.5207;
  unsigned int D.5208;
  unsigned int D.5209;
  unsigned int D.5210;
  unsigned int D.5211;
  unsigned int D.5212;
  unsigned int D.5213;
  unsigned int D.5214;
  unsigned int D.5215;
  unsigned int D.5216;
  unsigned int D.5217;
  unsigned int D.5218;
  unsigned int D.5219;
  unsigned int D.5220;
  unsigned int D.5221;
  unsigned int D.5222;
  unsigned int D.5223;
  unsigned int D.5224;
  unsigned int D.5225;
  unsigned int D.5226;
  unsigned int D.5227;
  unsigned int D.5228;
  unsigned int D.5229;
  unsigned int D.5230;
  unsigned int D.5231;
  unsigned int D.5232;
  unsigned int D.5233;
  unsigned int D.5234;
  unsigned int D.5235;
  unsigned int D.5236;
  unsigned int D.5237;
  unsigned int D.5238;
  unsigned int D.5239;
  unsigned int D.5240;
  unsigned int D.5241;
  unsigned int D.5242;
  unsigned int D.5243;
  unsigned int D.5244;
  unsigned int D.5245;
  unsigned int D.5246;
  unsigned int D.5247;
  unsigned int D.5248;
  unsigned int D.5249;
  unsigned int D.5250;
  unsigned int D.5251;
  unsigned int D.5252;
  unsigned int D.5253;
  unsigned int D.5254;
  unsigned int D.5255;
  unsigned int D.5256;
  unsigned int D.5257;
  unsigned int D.5258;
  unsigned int D.5259;
  unsigned int D.5260;
  unsigned int D.5261;
  unsigned int D.5262;
  unsigned int D.5263;
  unsigned int D.5264;
  unsigned int D.5265;
  unsigned int D.5266;
  unsigned int D.5267;
  unsigned int D.5268;
  unsigned int D.5269;
  unsigned int D.5270;
  unsigned int D.5271;
  unsigned int D.5272;
  unsigned int D.5273;
  unsigned int D.5274;
  unsigned int D.5275;
  unsigned int D.5276;
  unsigned int D.5277;
  unsigned int D.5278;
  unsigned int D.5279;
  unsigned int D.5280;
  unsigned int D.5281;
  unsigned int D.5282;
  unsigned int D.5283;
  unsigned int D.5284;
  unsigned int D.5285;
  unsigned int D.5286;
  unsigned int D.5287;
  unsigned int D.5288;
  unsigned int D.5289;
  unsigned int D.5290;
  unsigned int D.5291;
  unsigned int D.5292;
  unsigned int D.5293;
  unsigned int D.5294;
  unsigned int D.5295;
  unsigned int D.5296;
  unsigned int D.5297;
  unsigned int D.5298;
  unsigned int D.5299;
  unsigned int D.5300;
  unsigned int D.5301;
  unsigned int D.5302;
  unsigned int D.5303;
  unsigned int D.5304;
  unsigned int D.5305;
  unsigned int D.5306;
  unsigned int D.5307;
  unsigned int D.5308;
  unsigned int D.5309;
  unsigned int D.5310;
  unsigned int D.5311;
  unsigned int D.5312;
  unsigned int D.5313;
  unsigned int D.5314;
  unsigned int D.5315;
  unsigned int D.5316;
  unsigned int D.5317;
  unsigned int D.5318;
  unsigned int D.5319;
  unsigned int D.5320;
  unsigned int D.5321;
  unsigned int D.5322;
  unsigned int D.5323;
  unsigned int D.5324;
  unsigned int D.5325;
  unsigned int D.5326;
  unsigned int D.5327;
  unsigned int D.5328;
  unsigned int D.5329;
  unsigned int D.5330;
  unsigned int D.5331;
  unsigned int D.5332;
  unsigned int D.5333;
  unsigned int D.5334;
  unsigned int D.5335;
  unsigned int D.5336;
  unsigned int D.5337;
  unsigned int D.5338;
  unsigned int D.5339;
  unsigned int D.5340;
  unsigned int D.5341;
  unsigned int D.5342;
  unsigned int D.5343;
  unsigned int D.5344;
  unsigned int D.5345;
  unsigned int D.5346;
  unsigned int D.5347;
  unsigned int D.5348;
  unsigned int D.5349;
  unsigned int D.5350;
  unsigned int D.5351;
  unsigned int D.5352;
  unsigned int D.5353;
  unsigned int D.5354;
  unsigned int D.5355;
  unsigned int D.5356;
  unsigned int D.5357;
  unsigned int D.5358;
  unsigned int D.5359;
  unsigned int D.5360;
  unsigned int D.5361;
  unsigned int D.5362;
  unsigned int D.5363;
  unsigned int D.5364;
  unsigned int D.5365;
  unsigned int D.5366;
  unsigned int D.5367;
  unsigned int D.5368;
  unsigned int D.5369;
  unsigned int D.5370;
  unsigned int D.5371;
  unsigned int D.5372;
  unsigned int D.5373;
  unsigned int D.5374;
  unsigned int D.5375;
  unsigned int D.5376;
  unsigned int D.5377;
  unsigned int D.5378;
  unsigned int D.5379;
  unsigned int D.5380;
  unsigned int D.5381;
  unsigned int D.5382;
  unsigned int D.5383;
  unsigned int D.5384;
  unsigned int D.5385;
  unsigned int D.5386;
  unsigned int D.5387;
  unsigned int D.5388;
  unsigned int D.5389;
  unsigned int D.5390;
  unsigned int D.5391;
  unsigned int D.5392;
  unsigned int D.5393;
  unsigned int D.5394;
  unsigned int D.5395;
  unsigned int D.5396;
  unsigned int D.5397;
  unsigned int D.5398;
  unsigned int D.5399;
  unsigned int D.5400;
  unsigned int D.5401;
  unsigned int D.5402;
  unsigned int D.5403;
  unsigned int D.5404;
  unsigned int D.5405;
  unsigned int D.5406;
  unsigned int D.5407;
  unsigned int D.5408;
  unsigned int D.5409;
  unsigned int D.5410;
  unsigned int D.5411;
  unsigned int D.5412;
  unsigned int D.5413;
  unsigned int D.5414;
  unsigned int D.5415;
  unsigned int D.5416;
  unsigned int D.5417;
  unsigned int D.5418;
  unsigned int D.5419;
  unsigned int D.5420;
  unsigned int D.5421;
  unsigned int D.5422;
  unsigned int D.5423;
  unsigned int D.5424;
  unsigned int D.5425;
  unsigned int D.5426;
  unsigned int D.5427;
  unsigned int D.5428;
  unsigned int D.5429;
  unsigned int D.5430;
  unsigned int D.5431;
  unsigned int D.5432;
  unsigned int D.5433;
  unsigned int D.5434;
  unsigned int D.5435;
  unsigned int D.5436;
  unsigned int D.5437;
  unsigned int D.5438;
  unsigned int D.5439;
  unsigned int D.5440;
  unsigned int D.5441;
  unsigned int D.5442;
  unsigned int D.5443;
  unsigned int D.5444;
  unsigned int D.5445;
  unsigned int D.5446;
  unsigned int D.5447;
  unsigned int D.5448;
  unsigned int D.5449;
  unsigned int D.5450;
  unsigned int D.5451;
  unsigned int D.5452;
  unsigned int D.5453;
  unsigned int D.5454;
  unsigned int D.5455;
  unsigned int D.5456;
  unsigned int D.5457;
  unsigned int D.5458;
  unsigned int D.5459;
  unsigned int D.5460;
  unsigned int D.5461;
  unsigned int D.5462;
  unsigned int D.5463;
  unsigned int D.5464;
  unsigned int D.5465;
  unsigned int D.5466;
  unsigned int D.5467;
  unsigned int D.5468;
  unsigned int D.5469;
  unsigned int D.5470;
  unsigned int D.5471;
  unsigned int D.5472;
  unsigned int D.5473;
  unsigned int D.5474;
  unsigned int D.5475;
  unsigned int D.5476;
  unsigned int D.5477;
  unsigned int D.5478;
  unsigned int D.5479;
  unsigned int D.5480;
  unsigned int D.5481;
  unsigned int D.5482;
  unsigned int D.5483;
  unsigned int D.5484;
  unsigned int D.5485;
  unsigned int D.5486;
  unsigned int D.5487;
  unsigned int D.5488;
  unsigned int D.5489;
  unsigned int D.5490;
  unsigned int D.5491;
  unsigned int D.5492;
  unsigned int D.5493;
  unsigned int D.5494;
  unsigned int D.5495;
  unsigned int D.5496;
  unsigned int D.5497;
  unsigned int D.5498;
  unsigned int D.5499;
  unsigned int D.5500;
  unsigned int D.5501;
  unsigned int D.5502;
  unsigned int D.5503;
  unsigned int D.5504;
  unsigned int D.5505;
  unsigned int D.5506;
  unsigned int D.5507;
  unsigned int D.5508;
  unsigned int D.5509;
  unsigned int D.5510;
  unsigned int D.5511;
  unsigned int D.5512;
  unsigned int D.5513;
  unsigned int D.5514;
  unsigned int D.5515;
  unsigned int D.5516;
  unsigned int D.5517;
  unsigned int D.5518;
  unsigned int D.5519;
  unsigned int D.5520;
  unsigned int D.5521;
  unsigned int D.5522;
  unsigned int D.5523;
  guint32 * D.5524;
  unsigned int D.5525;
  unsigned int D.5526;
  guint32 * D.5527;
  unsigned int D.5528;
  unsigned int D.5529;
  guint32 * D.5530;
  unsigned int D.5531;
  unsigned int D.5532;
  guint32 * D.5533;
  unsigned int D.5534;
  unsigned int D.5535;
  guint32 a;
  guint32 b;
  guint32 c;
  guint32 d;
  guint32 e;
  typedef union 
{
  unsigned char c[64];
  guint32 l[16];
} unionunion 
{
  unsigned char c[64];
  guint32 l[16];
};
  typedef union CHAR64LONG16 CHAR64LONG16;
  union CHAR64LONG16 * block;
  static unsigned char workspace[64];

  block = &workspace;
  memcpy (block, buffer, 64);
  a = *state;
  b = MEM[(guint32 *)state + 4B];
  c = MEM[(guint32 *)state + 8B];
  d = MEM[(guint32 *)state + 12B];
  e = MEM[(guint32 *)state + 16B];
  D.5077 = c ^ d;
  D.5078 = D.5077 & b;
  D.5079 = D.5078 ^ d;
  D.5080 = block->l[0];
  D.5081 = D.5080 r>> 8;
  D.5082 = D.5081 & 4278255360;
  D.5080 = block->l[0];
  D.5083 = D.5080 r>> 24;
  D.5084 = D.5083 & 16711935;
  D.5085 = D.5082 | D.5084;
  block->l[0] = D.5085;
  D.5080 = block->l[0];
  D.5086 = D.5079 + D.5080;
  D.5087 = a r>> 27;
  D.5088 = D.5086 + D.5087;
  D.5089 = D.5088 + 1518500249;
  e = D.5089 + e;
  b = b r>> 2;
  D.5090 = b ^ c;
  D.5091 = D.5090 & a;
  D.5092 = D.5091 ^ c;
  D.5093 = block->l[1];
  D.5094 = D.5093 r>> 8;
  D.5095 = D.5094 & 4278255360;
  D.5093 = block->l[1];
  D.5096 = D.5093 r>> 24;
  D.5097 = D.5096 & 16711935;
  D.5098 = D.5095 | D.5097;
  block->l[1] = D.5098;
  D.5093 = block->l[1];
  D.5099 = D.5092 + D.5093;
  D.5100 = e r>> 27;
  D.5101 = D.5099 + D.5100;
  D.5102 = D.5101 + 1518500249;
  d = D.5102 + d;
  a = a r>> 2;
  D.5103 = a ^ b;
  D.5104 = D.5103 & e;
  D.5105 = D.5104 ^ b;
  D.5106 = block->l[2];
  D.5107 = D.5106 r>> 8;
  D.5108 = D.5107 & 4278255360;
  D.5106 = block->l[2];
  D.5109 = D.5106 r>> 24;
  D.5110 = D.5109 & 16711935;
  D.5111 = D.5108 | D.5110;
  block->l[2] = D.5111;
  D.5106 = block->l[2];
  D.5112 = D.5105 + D.5106;
  D.5113 = d r>> 27;
  D.5114 = D.5112 + D.5113;
  D.5115 = D.5114 + 1518500249;
  c = D.5115 + c;
  e = e r>> 2;
  D.5116 = e ^ a;
  D.5117 = D.5116 & d;
  D.5118 = D.5117 ^ a;
  D.5119 = block->l[3];
  D.5120 = D.5119 r>> 8;
  D.5121 = D.5120 & 4278255360;
  D.5119 = block->l[3];
  D.5122 = D.5119 r>> 24;
  D.5123 = D.5122 & 16711935;
  D.5124 = D.5121 | D.5123;
  block->l[3] = D.5124;
  D.5119 = block->l[3];
  D.5125 = D.5118 + D.5119;
  D.5126 = c r>> 27;
  D.5127 = D.5125 + D.5126;
  D.5128 = D.5127 + 1518500249;
  b = D.5128 + b;
  d = d r>> 2;
  D.5129 = d ^ e;
  D.5130 = D.5129 & c;
  D.5131 = D.5130 ^ e;
  D.5132 = block->l[4];
  D.5133 = D.5132 r>> 8;
  D.5134 = D.5133 & 4278255360;
  D.5132 = block->l[4];
  D.5135 = D.5132 r>> 24;
  D.5136 = D.5135 & 16711935;
  D.5137 = D.5134 | D.5136;
  block->l[4] = D.5137;
  D.5132 = block->l[4];
  D.5138 = D.5131 + D.5132;
  D.5139 = b r>> 27;
  D.5140 = D.5138 + D.5139;
  D.5141 = D.5140 + 1518500249;
  a = D.5141 + a;
  c = c r>> 2;
  D.5077 = c ^ d;
  D.5078 = D.5077 & b;
  D.5079 = D.5078 ^ d;
  D.5142 = block->l[5];
  D.5143 = D.5142 r>> 8;
  D.5144 = D.5143 & 4278255360;
  D.5142 = block->l[5];
  D.5145 = D.5142 r>> 24;
  D.5146 = D.5145 & 16711935;
  D.5147 = D.5144 | D.5146;
  block->l[5] = D.5147;
  D.5142 = block->l[5];
  D.5148 = D.5079 + D.5142;
  D.5087 = a r>> 27;
  D.5149 = D.5148 + D.5087;
  D.5150 = D.5149 + 1518500249;
  e = D.5150 + e;
  b = b r>> 2;
  D.5090 = b ^ c;
  D.5091 = D.5090 & a;
  D.5092 = D.5091 ^ c;
  D.5151 = block->l[6];
  D.5152 = D.5151 r>> 8;
  D.5153 = D.5152 & 4278255360;
  D.5151 = block->l[6];
  D.5154 = D.5151 r>> 24;
  D.5155 = D.5154 & 16711935;
  D.5156 = D.5153 | D.5155;
  block->l[6] = D.5156;
  D.5151 = block->l[6];
  D.5157 = D.5092 + D.5151;
  D.5100 = e r>> 27;
  D.5158 = D.5157 + D.5100;
  D.5159 = D.5158 + 1518500249;
  d = D.5159 + d;
  a = a r>> 2;
  D.5103 = a ^ b;
  D.5104 = D.5103 & e;
  D.5105 = D.5104 ^ b;
  D.5160 = block->l[7];
  D.5161 = D.5160 r>> 8;
  D.5162 = D.5161 & 4278255360;
  D.5160 = block->l[7];
  D.5163 = D.5160 r>> 24;
  D.5164 = D.5163 & 16711935;
  D.5165 = D.5162 | D.5164;
  block->l[7] = D.5165;
  D.5160 = block->l[7];
  D.5166 = D.5105 + D.5160;
  D.5113 = d r>> 27;
  D.5167 = D.5166 + D.5113;
  D.5168 = D.5167 + 1518500249;
  c = D.5168 + c;
  e = e r>> 2;
  D.5116 = e ^ a;
  D.5117 = D.5116 & d;
  D.5118 = D.5117 ^ a;
  D.5169 = block->l[8];
  D.5170 = D.5169 r>> 8;
  D.5171 = D.5170 & 4278255360;
  D.5169 = block->l[8];
  D.5172 = D.5169 r>> 24;
  D.5173 = D.5172 & 16711935;
  D.5174 = D.5171 | D.5173;
  block->l[8] = D.5174;
  D.5169 = block->l[8];
  D.5175 = D.5118 + D.5169;
  D.5126 = c r>> 27;
  D.5176 = D.5175 + D.5126;
  D.5177 = D.5176 + 1518500249;
  b = D.5177 + b;
  d = d r>> 2;
  D.5129 = d ^ e;
  D.5130 = D.5129 & c;
  D.5131 = D.5130 ^ e;
  D.5178 = block->l[9];
  D.5179 = D.5178 r>> 8;
  D.5180 = D.5179 & 4278255360;
  D.5178 = block->l[9];
  D.5181 = D.5178 r>> 24;
  D.5182 = D.5181 & 16711935;
  D.5183 = D.5180 | D.5182;
  block->l[9] = D.5183;
  D.5178 = block->l[9];
  D.5184 = D.5131 + D.5178;
  D.5139 = b r>> 27;
  D.5185 = D.5184 + D.5139;
  D.5186 = D.5185 + 1518500249;
  a = D.5186 + a;
  c = c r>> 2;
  D.5077 = c ^ d;
  D.5078 = D.5077 & b;
  D.5079 = D.5078 ^ d;
  D.5187 = block->l[10];
  D.5188 = D.5187 r>> 8;
  D.5189 = D.5188 & 4278255360;
  D.5187 = block->l[10];
  D.5190 = D.5187 r>> 24;
  D.5191 = D.5190 & 16711935;
  D.5192 = D.5189 | D.5191;
  block->l[10] = D.5192;
  D.5187 = block->l[10];
  D.5193 = D.5079 + D.5187;
  D.5087 = a r>> 27;
  D.5194 = D.5193 + D.5087;
  D.5195 = D.5194 + 1518500249;
  e = D.5195 + e;
  b = b r>> 2;
  D.5090 = b ^ c;
  D.5091 = D.5090 & a;
  D.5092 = D.5091 ^ c;
  D.5196 = block->l[11];
  D.5197 = D.5196 r>> 8;
  D.5198 = D.5197 & 4278255360;
  D.5196 = block->l[11];
  D.5199 = D.5196 r>> 24;
  D.5200 = D.5199 & 16711935;
  D.5201 = D.5198 | D.5200;
  block->l[11] = D.5201;
  D.5196 = block->l[11];
  D.5202 = D.5092 + D.5196;
  D.5100 = e r>> 27;
  D.5203 = D.5202 + D.5100;
  D.5204 = D.5203 + 1518500249;
  d = D.5204 + d;
  a = a r>> 2;
  D.5103 = a ^ b;
  D.5104 = D.5103 & e;
  D.5105 = D.5104 ^ b;
  D.5205 = block->l[12];
  D.5206 = D.5205 r>> 8;
  D.5207 = D.5206 & 4278255360;
  D.5205 = block->l[12];
  D.5208 = D.5205 r>> 24;
  D.5209 = D.5208 & 16711935;
  D.5210 = D.5207 | D.5209;
  block->l[12] = D.5210;
  D.5205 = block->l[12];
  D.5211 = D.5105 + D.5205;
  D.5113 = d r>> 27;
  D.5212 = D.5211 + D.5113;
  D.5213 = D.5212 + 1518500249;
  c = D.5213 + c;
  e = e r>> 2;
  D.5116 = e ^ a;
  D.5117 = D.5116 & d;
  D.5118 = D.5117 ^ a;
  D.5214 = block->l[13];
  D.5215 = D.5214 r>> 8;
  D.5216 = D.5215 & 4278255360;
  D.5214 = block->l[13];
  D.5217 = D.5214 r>> 24;
  D.5218 = D.5217 & 16711935;
  D.5219 = D.5216 | D.5218;
  block->l[13] = D.5219;
  D.5214 = block->l[13];
  D.5220 = D.5118 + D.5214;
  D.5126 = c r>> 27;
  D.5221 = D.5220 + D.5126;
  D.5222 = D.5221 + 1518500249;
  b = D.5222 + b;
  d = d r>> 2;
  D.5129 = d ^ e;
  D.5130 = D.5129 & c;
  D.5131 = D.5130 ^ e;
  D.5223 = block->l[14];
  D.5224 = D.5223 r>> 8;
  D.5225 = D.5224 & 4278255360;
  D.5223 = block->l[14];
  D.5226 = D.5223 r>> 24;
  D.5227 = D.5226 & 16711935;
  D.5228 = D.5225 | D.5227;
  block->l[14] = D.5228;
  D.5223 = block->l[14];
  D.5229 = D.5131 + D.5223;
  D.5139 = b r>> 27;
  D.5230 = D.5229 + D.5139;
  D.5231 = D.5230 + 1518500249;
  a = D.5231 + a;
  c = c r>> 2;
  D.5077 = c ^ d;
  D.5078 = D.5077 & b;
  D.5079 = D.5078 ^ d;
  D.5232 = block->l[15];
  D.5233 = D.5232 r>> 8;
  D.5234 = D.5233 & 4278255360;
  D.5232 = block->l[15];
  D.5235 = D.5232 r>> 24;
  D.5236 = D.5235 & 16711935;
  D.5237 = D.5234 | D.5236;
  block->l[15] = D.5237;
  D.5232 = block->l[15];
  D.5238 = D.5079 + D.5232;
  D.5087 = a r>> 27;
  D.5239 = D.5238 + D.5087;
  D.5240 = D.5239 + 1518500249;
  e = D.5240 + e;
  b = b r>> 2;
  D.5090 = b ^ c;
  D.5091 = D.5090 & a;
  D.5092 = D.5091 ^ c;
  D.5214 = block->l[13];
  D.5169 = block->l[8];
  D.5241 = D.5214 ^ D.5169;
  D.5106 = block->l[2];
  D.5242 = D.5241 ^ D.5106;
  D.5080 = block->l[0];
  D.5243 = D.5242 ^ D.5080;
  D.5244 = D.5243 r>> 31;
  block->l[0] = D.5244;
  D.5080 = block->l[0];
  D.5245 = D.5092 + D.5080;
  D.5100 = e r>> 27;
  D.5246 = D.5245 + D.5100;
  D.5247 = D.5246 + 1518500249;
  d = D.5247 + d;
  a = a r>> 2;
  D.5103 = a ^ b;
  D.5104 = D.5103 & e;
  D.5105 = D.5104 ^ b;
  D.5223 = block->l[14];
  D.5178 = block->l[9];
  D.5248 = D.5223 ^ D.5178;
  D.5119 = block->l[3];
  D.5249 = D.5248 ^ D.5119;
  D.5093 = block->l[1];
  D.5250 = D.5249 ^ D.5093;
  D.5251 = D.5250 r>> 31;
  block->l[1] = D.5251;
  D.5093 = block->l[1];
  D.5252 = D.5105 + D.5093;
  D.5113 = d r>> 27;
  D.5253 = D.5252 + D.5113;
  D.5254 = D.5253 + 1518500249;
  c = D.5254 + c;
  e = e r>> 2;
  D.5116 = e ^ a;
  D.5117 = D.5116 & d;
  D.5118 = D.5117 ^ a;
  D.5232 = block->l[15];
  D.5187 = block->l[10];
  D.5255 = D.5232 ^ D.5187;
  D.5132 = block->l[4];
  D.5256 = D.5255 ^ D.5132;
  D.5106 = block->l[2];
  D.5257 = D.5256 ^ D.5106;
  D.5258 = D.5257 r>> 31;
  block->l[2] = D.5258;
  D.5106 = block->l[2];
  D.5259 = D.5118 + D.5106;
  D.5126 = c r>> 27;
  D.5260 = D.5259 + D.5126;
  D.5261 = D.5260 + 1518500249;
  b = D.5261 + b;
  d = d r>> 2;
  D.5129 = d ^ e;
  D.5130 = D.5129 & c;
  D.5131 = D.5130 ^ e;
  D.5080 = block->l[0];
  D.5196 = block->l[11];
  D.5262 = D.5080 ^ D.5196;
  D.5142 = block->l[5];
  D.5263 = D.5262 ^ D.5142;
  D.5119 = block->l[3];
  D.5264 = D.5263 ^ D.5119;
  D.5265 = D.5264 r>> 31;
  block->l[3] = D.5265;
  D.5119 = block->l[3];
  D.5266 = D.5131 + D.5119;
  D.5139 = b r>> 27;
  D.5267 = D.5266 + D.5139;
  D.5268 = D.5267 + 1518500249;
  a = D.5268 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5093 = block->l[1];
  D.5205 = block->l[12];
  D.5270 = D.5093 ^ D.5205;
  D.5151 = block->l[6];
  D.5271 = D.5270 ^ D.5151;
  D.5132 = block->l[4];
  D.5272 = D.5271 ^ D.5132;
  D.5273 = D.5272 r>> 31;
  block->l[4] = D.5273;
  D.5132 = block->l[4];
  D.5274 = D.5269 + D.5132;
  D.5087 = a r>> 27;
  D.5275 = D.5274 + D.5087;
  D.5276 = D.5275 + 1859775393;
  e = D.5276 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5106 = block->l[2];
  D.5214 = block->l[13];
  D.5278 = D.5106 ^ D.5214;
  D.5160 = block->l[7];
  D.5279 = D.5278 ^ D.5160;
  D.5142 = block->l[5];
  D.5280 = D.5279 ^ D.5142;
  D.5281 = D.5280 r>> 31;
  block->l[5] = D.5281;
  D.5142 = block->l[5];
  D.5282 = D.5277 + D.5142;
  D.5100 = e r>> 27;
  D.5283 = D.5282 + D.5100;
  D.5284 = D.5283 + 1859775393;
  d = D.5284 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5119 = block->l[3];
  D.5223 = block->l[14];
  D.5286 = D.5119 ^ D.5223;
  D.5169 = block->l[8];
  D.5287 = D.5286 ^ D.5169;
  D.5151 = block->l[6];
  D.5288 = D.5287 ^ D.5151;
  D.5289 = D.5288 r>> 31;
  block->l[6] = D.5289;
  D.5151 = block->l[6];
  D.5290 = D.5285 + D.5151;
  D.5113 = d r>> 27;
  D.5291 = D.5290 + D.5113;
  D.5292 = D.5291 + 1859775393;
  c = D.5292 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5132 = block->l[4];
  D.5232 = block->l[15];
  D.5294 = D.5132 ^ D.5232;
  D.5178 = block->l[9];
  D.5295 = D.5294 ^ D.5178;
  D.5160 = block->l[7];
  D.5296 = D.5295 ^ D.5160;
  D.5297 = D.5296 r>> 31;
  block->l[7] = D.5297;
  D.5160 = block->l[7];
  D.5298 = D.5293 + D.5160;
  D.5126 = c r>> 27;
  D.5299 = D.5298 + D.5126;
  D.5300 = D.5299 + 1859775393;
  b = D.5300 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5142 = block->l[5];
  D.5080 = block->l[0];
  D.5302 = D.5142 ^ D.5080;
  D.5187 = block->l[10];
  D.5303 = D.5302 ^ D.5187;
  D.5169 = block->l[8];
  D.5304 = D.5303 ^ D.5169;
  D.5305 = D.5304 r>> 31;
  block->l[8] = D.5305;
  D.5169 = block->l[8];
  D.5306 = D.5301 + D.5169;
  D.5139 = b r>> 27;
  D.5307 = D.5306 + D.5139;
  D.5308 = D.5307 + 1859775393;
  a = D.5308 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5151 = block->l[6];
  D.5093 = block->l[1];
  D.5309 = D.5151 ^ D.5093;
  D.5196 = block->l[11];
  D.5310 = D.5309 ^ D.5196;
  D.5178 = block->l[9];
  D.5311 = D.5310 ^ D.5178;
  D.5312 = D.5311 r>> 31;
  block->l[9] = D.5312;
  D.5178 = block->l[9];
  D.5313 = D.5269 + D.5178;
  D.5087 = a r>> 27;
  D.5314 = D.5313 + D.5087;
  D.5315 = D.5314 + 1859775393;
  e = D.5315 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5160 = block->l[7];
  D.5106 = block->l[2];
  D.5316 = D.5160 ^ D.5106;
  D.5205 = block->l[12];
  D.5317 = D.5316 ^ D.5205;
  D.5187 = block->l[10];
  D.5318 = D.5317 ^ D.5187;
  D.5319 = D.5318 r>> 31;
  block->l[10] = D.5319;
  D.5187 = block->l[10];
  D.5320 = D.5277 + D.5187;
  D.5100 = e r>> 27;
  D.5321 = D.5320 + D.5100;
  D.5322 = D.5321 + 1859775393;
  d = D.5322 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5169 = block->l[8];
  D.5119 = block->l[3];
  D.5323 = D.5169 ^ D.5119;
  D.5214 = block->l[13];
  D.5324 = D.5323 ^ D.5214;
  D.5196 = block->l[11];
  D.5325 = D.5324 ^ D.5196;
  D.5326 = D.5325 r>> 31;
  block->l[11] = D.5326;
  D.5196 = block->l[11];
  D.5327 = D.5285 + D.5196;
  D.5113 = d r>> 27;
  D.5328 = D.5327 + D.5113;
  D.5329 = D.5328 + 1859775393;
  c = D.5329 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5178 = block->l[9];
  D.5132 = block->l[4];
  D.5330 = D.5178 ^ D.5132;
  D.5223 = block->l[14];
  D.5331 = D.5330 ^ D.5223;
  D.5205 = block->l[12];
  D.5332 = D.5331 ^ D.5205;
  D.5333 = D.5332 r>> 31;
  block->l[12] = D.5333;
  D.5205 = block->l[12];
  D.5334 = D.5293 + D.5205;
  D.5126 = c r>> 27;
  D.5335 = D.5334 + D.5126;
  D.5336 = D.5335 + 1859775393;
  b = D.5336 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5187 = block->l[10];
  D.5142 = block->l[5];
  D.5337 = D.5187 ^ D.5142;
  D.5232 = block->l[15];
  D.5338 = D.5337 ^ D.5232;
  D.5214 = block->l[13];
  D.5339 = D.5338 ^ D.5214;
  D.5340 = D.5339 r>> 31;
  block->l[13] = D.5340;
  D.5214 = block->l[13];
  D.5341 = D.5301 + D.5214;
  D.5139 = b r>> 27;
  D.5342 = D.5341 + D.5139;
  D.5343 = D.5342 + 1859775393;
  a = D.5343 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5196 = block->l[11];
  D.5151 = block->l[6];
  D.5344 = D.5196 ^ D.5151;
  D.5080 = block->l[0];
  D.5345 = D.5344 ^ D.5080;
  D.5223 = block->l[14];
  D.5346 = D.5345 ^ D.5223;
  D.5347 = D.5346 r>> 31;
  block->l[14] = D.5347;
  D.5223 = block->l[14];
  D.5348 = D.5269 + D.5223;
  D.5087 = a r>> 27;
  D.5349 = D.5348 + D.5087;
  D.5350 = D.5349 + 1859775393;
  e = D.5350 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5205 = block->l[12];
  D.5160 = block->l[7];
  D.5351 = D.5205 ^ D.5160;
  D.5093 = block->l[1];
  D.5352 = D.5351 ^ D.5093;
  D.5232 = block->l[15];
  D.5353 = D.5352 ^ D.5232;
  D.5354 = D.5353 r>> 31;
  block->l[15] = D.5354;
  D.5232 = block->l[15];
  D.5355 = D.5277 + D.5232;
  D.5100 = e r>> 27;
  D.5356 = D.5355 + D.5100;
  D.5357 = D.5356 + 1859775393;
  d = D.5357 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5214 = block->l[13];
  D.5169 = block->l[8];
  D.5241 = D.5214 ^ D.5169;
  D.5106 = block->l[2];
  D.5242 = D.5241 ^ D.5106;
  D.5080 = block->l[0];
  D.5243 = D.5242 ^ D.5080;
  D.5244 = D.5243 r>> 31;
  block->l[0] = D.5244;
  D.5080 = block->l[0];
  D.5358 = D.5285 + D.5080;
  D.5113 = d r>> 27;
  D.5359 = D.5358 + D.5113;
  D.5360 = D.5359 + 1859775393;
  c = D.5360 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5223 = block->l[14];
  D.5178 = block->l[9];
  D.5248 = D.5223 ^ D.5178;
  D.5119 = block->l[3];
  D.5249 = D.5248 ^ D.5119;
  D.5093 = block->l[1];
  D.5250 = D.5249 ^ D.5093;
  D.5251 = D.5250 r>> 31;
  block->l[1] = D.5251;
  D.5093 = block->l[1];
  D.5361 = D.5293 + D.5093;
  D.5126 = c r>> 27;
  D.5362 = D.5361 + D.5126;
  D.5363 = D.5362 + 1859775393;
  b = D.5363 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5232 = block->l[15];
  D.5187 = block->l[10];
  D.5255 = D.5232 ^ D.5187;
  D.5132 = block->l[4];
  D.5256 = D.5255 ^ D.5132;
  D.5106 = block->l[2];
  D.5257 = D.5256 ^ D.5106;
  D.5258 = D.5257 r>> 31;
  block->l[2] = D.5258;
  D.5106 = block->l[2];
  D.5364 = D.5301 + D.5106;
  D.5139 = b r>> 27;
  D.5365 = D.5364 + D.5139;
  D.5366 = D.5365 + 1859775393;
  a = D.5366 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5080 = block->l[0];
  D.5196 = block->l[11];
  D.5262 = D.5080 ^ D.5196;
  D.5142 = block->l[5];
  D.5263 = D.5262 ^ D.5142;
  D.5119 = block->l[3];
  D.5264 = D.5263 ^ D.5119;
  D.5265 = D.5264 r>> 31;
  block->l[3] = D.5265;
  D.5119 = block->l[3];
  D.5367 = D.5269 + D.5119;
  D.5087 = a r>> 27;
  D.5368 = D.5367 + D.5087;
  D.5369 = D.5368 + 1859775393;
  e = D.5369 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5093 = block->l[1];
  D.5205 = block->l[12];
  D.5270 = D.5093 ^ D.5205;
  D.5151 = block->l[6];
  D.5271 = D.5270 ^ D.5151;
  D.5132 = block->l[4];
  D.5272 = D.5271 ^ D.5132;
  D.5273 = D.5272 r>> 31;
  block->l[4] = D.5273;
  D.5132 = block->l[4];
  D.5370 = D.5277 + D.5132;
  D.5100 = e r>> 27;
  D.5371 = D.5370 + D.5100;
  D.5372 = D.5371 + 1859775393;
  d = D.5372 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5106 = block->l[2];
  D.5214 = block->l[13];
  D.5278 = D.5106 ^ D.5214;
  D.5160 = block->l[7];
  D.5279 = D.5278 ^ D.5160;
  D.5142 = block->l[5];
  D.5280 = D.5279 ^ D.5142;
  D.5281 = D.5280 r>> 31;
  block->l[5] = D.5281;
  D.5142 = block->l[5];
  D.5373 = D.5285 + D.5142;
  D.5113 = d r>> 27;
  D.5374 = D.5373 + D.5113;
  D.5375 = D.5374 + 1859775393;
  c = D.5375 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5119 = block->l[3];
  D.5223 = block->l[14];
  D.5286 = D.5119 ^ D.5223;
  D.5169 = block->l[8];
  D.5287 = D.5286 ^ D.5169;
  D.5151 = block->l[6];
  D.5288 = D.5287 ^ D.5151;
  D.5289 = D.5288 r>> 31;
  block->l[6] = D.5289;
  D.5151 = block->l[6];
  D.5376 = D.5293 + D.5151;
  D.5126 = c r>> 27;
  D.5377 = D.5376 + D.5126;
  D.5378 = D.5377 + 1859775393;
  b = D.5378 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5132 = block->l[4];
  D.5232 = block->l[15];
  D.5294 = D.5132 ^ D.5232;
  D.5178 = block->l[9];
  D.5295 = D.5294 ^ D.5178;
  D.5160 = block->l[7];
  D.5296 = D.5295 ^ D.5160;
  D.5297 = D.5296 r>> 31;
  block->l[7] = D.5297;
  D.5160 = block->l[7];
  D.5379 = D.5301 + D.5160;
  D.5139 = b r>> 27;
  D.5380 = D.5379 + D.5139;
  D.5381 = D.5380 + 1859775393;
  a = D.5381 + a;
  c = c r>> 2;
  D.5382 = b | c;
  D.5383 = D.5382 & d;
  D.5384 = b & c;
  D.5385 = D.5383 | D.5384;
  D.5142 = block->l[5];
  D.5080 = block->l[0];
  D.5302 = D.5142 ^ D.5080;
  D.5187 = block->l[10];
  D.5303 = D.5302 ^ D.5187;
  D.5169 = block->l[8];
  D.5304 = D.5303 ^ D.5169;
  D.5305 = D.5304 r>> 31;
  block->l[8] = D.5305;
  D.5169 = block->l[8];
  D.5386 = D.5385 + D.5169;
  D.5087 = a r>> 27;
  D.5387 = D.5386 + D.5087;
  D.5388 = D.5387 + 2400959708;
  e = D.5388 + e;
  b = b r>> 2;
  D.5389 = a | b;
  D.5390 = D.5389 & c;
  D.5391 = a & b;
  D.5392 = D.5390 | D.5391;
  D.5151 = block->l[6];
  D.5093 = block->l[1];
  D.5309 = D.5151 ^ D.5093;
  D.5196 = block->l[11];
  D.5310 = D.5309 ^ D.5196;
  D.5178 = block->l[9];
  D.5311 = D.5310 ^ D.5178;
  D.5312 = D.5311 r>> 31;
  block->l[9] = D.5312;
  D.5178 = block->l[9];
  D.5393 = D.5392 + D.5178;
  D.5100 = e r>> 27;
  D.5394 = D.5393 + D.5100;
  D.5395 = D.5394 + 2400959708;
  d = D.5395 + d;
  a = a r>> 2;
  D.5396 = e | a;
  D.5397 = D.5396 & b;
  D.5398 = e & a;
  D.5399 = D.5397 | D.5398;
  D.5160 = block->l[7];
  D.5106 = block->l[2];
  D.5316 = D.5160 ^ D.5106;
  D.5205 = block->l[12];
  D.5317 = D.5316 ^ D.5205;
  D.5187 = block->l[10];
  D.5318 = D.5317 ^ D.5187;
  D.5319 = D.5318 r>> 31;
  block->l[10] = D.5319;
  D.5187 = block->l[10];
  D.5400 = D.5399 + D.5187;
  D.5113 = d r>> 27;
  D.5401 = D.5400 + D.5113;
  D.5402 = D.5401 + 2400959708;
  c = D.5402 + c;
  e = e r>> 2;
  D.5403 = d | e;
  D.5404 = D.5403 & a;
  D.5405 = d & e;
  D.5406 = D.5404 | D.5405;
  D.5169 = block->l[8];
  D.5119 = block->l[3];
  D.5323 = D.5169 ^ D.5119;
  D.5214 = block->l[13];
  D.5324 = D.5323 ^ D.5214;
  D.5196 = block->l[11];
  D.5325 = D.5324 ^ D.5196;
  D.5326 = D.5325 r>> 31;
  block->l[11] = D.5326;
  D.5196 = block->l[11];
  D.5407 = D.5406 + D.5196;
  D.5126 = c r>> 27;
  D.5408 = D.5407 + D.5126;
  D.5409 = D.5408 + 2400959708;
  b = D.5409 + b;
  d = d r>> 2;
  D.5410 = c | d;
  D.5411 = D.5410 & e;
  D.5412 = c & d;
  D.5413 = D.5411 | D.5412;
  D.5178 = block->l[9];
  D.5132 = block->l[4];
  D.5330 = D.5178 ^ D.5132;
  D.5223 = block->l[14];
  D.5331 = D.5330 ^ D.5223;
  D.5205 = block->l[12];
  D.5332 = D.5331 ^ D.5205;
  D.5333 = D.5332 r>> 31;
  block->l[12] = D.5333;
  D.5205 = block->l[12];
  D.5414 = D.5413 + D.5205;
  D.5139 = b r>> 27;
  D.5415 = D.5414 + D.5139;
  D.5416 = D.5415 + 2400959708;
  a = D.5416 + a;
  c = c r>> 2;
  D.5382 = b | c;
  D.5383 = D.5382 & d;
  D.5384 = b & c;
  D.5385 = D.5383 | D.5384;
  D.5187 = block->l[10];
  D.5142 = block->l[5];
  D.5337 = D.5187 ^ D.5142;
  D.5232 = block->l[15];
  D.5338 = D.5337 ^ D.5232;
  D.5214 = block->l[13];
  D.5339 = D.5338 ^ D.5214;
  D.5340 = D.5339 r>> 31;
  block->l[13] = D.5340;
  D.5214 = block->l[13];
  D.5417 = D.5385 + D.5214;
  D.5087 = a r>> 27;
  D.5418 = D.5417 + D.5087;
  D.5419 = D.5418 + 2400959708;
  e = D.5419 + e;
  b = b r>> 2;
  D.5389 = a | b;
  D.5390 = D.5389 & c;
  D.5391 = a & b;
  D.5392 = D.5390 | D.5391;
  D.5196 = block->l[11];
  D.5151 = block->l[6];
  D.5344 = D.5196 ^ D.5151;
  D.5080 = block->l[0];
  D.5345 = D.5344 ^ D.5080;
  D.5223 = block->l[14];
  D.5346 = D.5345 ^ D.5223;
  D.5347 = D.5346 r>> 31;
  block->l[14] = D.5347;
  D.5223 = block->l[14];
  D.5420 = D.5392 + D.5223;
  D.5100 = e r>> 27;
  D.5421 = D.5420 + D.5100;
  D.5422 = D.5421 + 2400959708;
  d = D.5422 + d;
  a = a r>> 2;
  D.5396 = e | a;
  D.5397 = D.5396 & b;
  D.5398 = e & a;
  D.5399 = D.5397 | D.5398;
  D.5205 = block->l[12];
  D.5160 = block->l[7];
  D.5351 = D.5205 ^ D.5160;
  D.5093 = block->l[1];
  D.5352 = D.5351 ^ D.5093;
  D.5232 = block->l[15];
  D.5353 = D.5352 ^ D.5232;
  D.5354 = D.5353 r>> 31;
  block->l[15] = D.5354;
  D.5232 = block->l[15];
  D.5423 = D.5399 + D.5232;
  D.5113 = d r>> 27;
  D.5424 = D.5423 + D.5113;
  D.5425 = D.5424 + 2400959708;
  c = D.5425 + c;
  e = e r>> 2;
  D.5403 = d | e;
  D.5404 = D.5403 & a;
  D.5405 = d & e;
  D.5406 = D.5404 | D.5405;
  D.5214 = block->l[13];
  D.5169 = block->l[8];
  D.5241 = D.5214 ^ D.5169;
  D.5106 = block->l[2];
  D.5242 = D.5241 ^ D.5106;
  D.5080 = block->l[0];
  D.5243 = D.5242 ^ D.5080;
  D.5244 = D.5243 r>> 31;
  block->l[0] = D.5244;
  D.5080 = block->l[0];
  D.5426 = D.5406 + D.5080;
  D.5126 = c r>> 27;
  D.5427 = D.5426 + D.5126;
  D.5428 = D.5427 + 2400959708;
  b = D.5428 + b;
  d = d r>> 2;
  D.5410 = c | d;
  D.5411 = D.5410 & e;
  D.5412 = c & d;
  D.5413 = D.5411 | D.5412;
  D.5223 = block->l[14];
  D.5178 = block->l[9];
  D.5248 = D.5223 ^ D.5178;
  D.5119 = block->l[3];
  D.5249 = D.5248 ^ D.5119;
  D.5093 = block->l[1];
  D.5250 = D.5249 ^ D.5093;
  D.5251 = D.5250 r>> 31;
  block->l[1] = D.5251;
  D.5093 = block->l[1];
  D.5429 = D.5413 + D.5093;
  D.5139 = b r>> 27;
  D.5430 = D.5429 + D.5139;
  D.5431 = D.5430 + 2400959708;
  a = D.5431 + a;
  c = c r>> 2;
  D.5382 = b | c;
  D.5383 = D.5382 & d;
  D.5384 = b & c;
  D.5385 = D.5383 | D.5384;
  D.5232 = block->l[15];
  D.5187 = block->l[10];
  D.5255 = D.5232 ^ D.5187;
  D.5132 = block->l[4];
  D.5256 = D.5255 ^ D.5132;
  D.5106 = block->l[2];
  D.5257 = D.5256 ^ D.5106;
  D.5258 = D.5257 r>> 31;
  block->l[2] = D.5258;
  D.5106 = block->l[2];
  D.5432 = D.5385 + D.5106;
  D.5087 = a r>> 27;
  D.5433 = D.5432 + D.5087;
  D.5434 = D.5433 + 2400959708;
  e = D.5434 + e;
  b = b r>> 2;
  D.5389 = a | b;
  D.5390 = D.5389 & c;
  D.5391 = a & b;
  D.5392 = D.5390 | D.5391;
  D.5080 = block->l[0];
  D.5196 = block->l[11];
  D.5262 = D.5080 ^ D.5196;
  D.5142 = block->l[5];
  D.5263 = D.5262 ^ D.5142;
  D.5119 = block->l[3];
  D.5264 = D.5263 ^ D.5119;
  D.5265 = D.5264 r>> 31;
  block->l[3] = D.5265;
  D.5119 = block->l[3];
  D.5435 = D.5392 + D.5119;
  D.5100 = e r>> 27;
  D.5436 = D.5435 + D.5100;
  D.5437 = D.5436 + 2400959708;
  d = D.5437 + d;
  a = a r>> 2;
  D.5396 = e | a;
  D.5397 = D.5396 & b;
  D.5398 = e & a;
  D.5399 = D.5397 | D.5398;
  D.5093 = block->l[1];
  D.5205 = block->l[12];
  D.5270 = D.5093 ^ D.5205;
  D.5151 = block->l[6];
  D.5271 = D.5270 ^ D.5151;
  D.5132 = block->l[4];
  D.5272 = D.5271 ^ D.5132;
  D.5273 = D.5272 r>> 31;
  block->l[4] = D.5273;
  D.5132 = block->l[4];
  D.5438 = D.5399 + D.5132;
  D.5113 = d r>> 27;
  D.5439 = D.5438 + D.5113;
  D.5440 = D.5439 + 2400959708;
  c = D.5440 + c;
  e = e r>> 2;
  D.5403 = d | e;
  D.5404 = D.5403 & a;
  D.5405 = d & e;
  D.5406 = D.5404 | D.5405;
  D.5106 = block->l[2];
  D.5214 = block->l[13];
  D.5278 = D.5106 ^ D.5214;
  D.5160 = block->l[7];
  D.5279 = D.5278 ^ D.5160;
  D.5142 = block->l[5];
  D.5280 = D.5279 ^ D.5142;
  D.5281 = D.5280 r>> 31;
  block->l[5] = D.5281;
  D.5142 = block->l[5];
  D.5441 = D.5406 + D.5142;
  D.5126 = c r>> 27;
  D.5442 = D.5441 + D.5126;
  D.5443 = D.5442 + 2400959708;
  b = D.5443 + b;
  d = d r>> 2;
  D.5410 = c | d;
  D.5411 = D.5410 & e;
  D.5412 = c & d;
  D.5413 = D.5411 | D.5412;
  D.5119 = block->l[3];
  D.5223 = block->l[14];
  D.5286 = D.5119 ^ D.5223;
  D.5169 = block->l[8];
  D.5287 = D.5286 ^ D.5169;
  D.5151 = block->l[6];
  D.5288 = D.5287 ^ D.5151;
  D.5289 = D.5288 r>> 31;
  block->l[6] = D.5289;
  D.5151 = block->l[6];
  D.5444 = D.5413 + D.5151;
  D.5139 = b r>> 27;
  D.5445 = D.5444 + D.5139;
  D.5446 = D.5445 + 2400959708;
  a = D.5446 + a;
  c = c r>> 2;
  D.5382 = b | c;
  D.5383 = D.5382 & d;
  D.5384 = b & c;
  D.5385 = D.5383 | D.5384;
  D.5132 = block->l[4];
  D.5232 = block->l[15];
  D.5294 = D.5132 ^ D.5232;
  D.5178 = block->l[9];
  D.5295 = D.5294 ^ D.5178;
  D.5160 = block->l[7];
  D.5296 = D.5295 ^ D.5160;
  D.5297 = D.5296 r>> 31;
  block->l[7] = D.5297;
  D.5160 = block->l[7];
  D.5447 = D.5385 + D.5160;
  D.5087 = a r>> 27;
  D.5448 = D.5447 + D.5087;
  D.5449 = D.5448 + 2400959708;
  e = D.5449 + e;
  b = b r>> 2;
  D.5389 = a | b;
  D.5390 = D.5389 & c;
  D.5391 = a & b;
  D.5392 = D.5390 | D.5391;
  D.5142 = block->l[5];
  D.5080 = block->l[0];
  D.5302 = D.5142 ^ D.5080;
  D.5187 = block->l[10];
  D.5303 = D.5302 ^ D.5187;
  D.5169 = block->l[8];
  D.5304 = D.5303 ^ D.5169;
  D.5305 = D.5304 r>> 31;
  block->l[8] = D.5305;
  D.5169 = block->l[8];
  D.5450 = D.5392 + D.5169;
  D.5100 = e r>> 27;
  D.5451 = D.5450 + D.5100;
  D.5452 = D.5451 + 2400959708;
  d = D.5452 + d;
  a = a r>> 2;
  D.5396 = e | a;
  D.5397 = D.5396 & b;
  D.5398 = e & a;
  D.5399 = D.5397 | D.5398;
  D.5151 = block->l[6];
  D.5093 = block->l[1];
  D.5309 = D.5151 ^ D.5093;
  D.5196 = block->l[11];
  D.5310 = D.5309 ^ D.5196;
  D.5178 = block->l[9];
  D.5311 = D.5310 ^ D.5178;
  D.5312 = D.5311 r>> 31;
  block->l[9] = D.5312;
  D.5178 = block->l[9];
  D.5453 = D.5399 + D.5178;
  D.5113 = d r>> 27;
  D.5454 = D.5453 + D.5113;
  D.5455 = D.5454 + 2400959708;
  c = D.5455 + c;
  e = e r>> 2;
  D.5403 = d | e;
  D.5404 = D.5403 & a;
  D.5405 = d & e;
  D.5406 = D.5404 | D.5405;
  D.5160 = block->l[7];
  D.5106 = block->l[2];
  D.5316 = D.5160 ^ D.5106;
  D.5205 = block->l[12];
  D.5317 = D.5316 ^ D.5205;
  D.5187 = block->l[10];
  D.5318 = D.5317 ^ D.5187;
  D.5319 = D.5318 r>> 31;
  block->l[10] = D.5319;
  D.5187 = block->l[10];
  D.5456 = D.5406 + D.5187;
  D.5126 = c r>> 27;
  D.5457 = D.5456 + D.5126;
  D.5458 = D.5457 + 2400959708;
  b = D.5458 + b;
  d = d r>> 2;
  D.5410 = c | d;
  D.5411 = D.5410 & e;
  D.5412 = c & d;
  D.5413 = D.5411 | D.5412;
  D.5169 = block->l[8];
  D.5119 = block->l[3];
  D.5323 = D.5169 ^ D.5119;
  D.5214 = block->l[13];
  D.5324 = D.5323 ^ D.5214;
  D.5196 = block->l[11];
  D.5325 = D.5324 ^ D.5196;
  D.5326 = D.5325 r>> 31;
  block->l[11] = D.5326;
  D.5196 = block->l[11];
  D.5459 = D.5413 + D.5196;
  D.5139 = b r>> 27;
  D.5460 = D.5459 + D.5139;
  D.5461 = D.5460 + 2400959708;
  a = D.5461 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5178 = block->l[9];
  D.5132 = block->l[4];
  D.5330 = D.5178 ^ D.5132;
  D.5223 = block->l[14];
  D.5331 = D.5330 ^ D.5223;
  D.5205 = block->l[12];
  D.5332 = D.5331 ^ D.5205;
  D.5333 = D.5332 r>> 31;
  block->l[12] = D.5333;
  D.5205 = block->l[12];
  D.5462 = D.5269 + D.5205;
  D.5087 = a r>> 27;
  D.5463 = D.5462 + D.5087;
  D.5464 = D.5463 + 3395469782;
  e = D.5464 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5187 = block->l[10];
  D.5142 = block->l[5];
  D.5337 = D.5187 ^ D.5142;
  D.5232 = block->l[15];
  D.5338 = D.5337 ^ D.5232;
  D.5214 = block->l[13];
  D.5339 = D.5338 ^ D.5214;
  D.5340 = D.5339 r>> 31;
  block->l[13] = D.5340;
  D.5214 = block->l[13];
  D.5465 = D.5277 + D.5214;
  D.5100 = e r>> 27;
  D.5466 = D.5465 + D.5100;
  D.5467 = D.5466 + 3395469782;
  d = D.5467 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5196 = block->l[11];
  D.5151 = block->l[6];
  D.5344 = D.5196 ^ D.5151;
  D.5080 = block->l[0];
  D.5345 = D.5344 ^ D.5080;
  D.5223 = block->l[14];
  D.5346 = D.5345 ^ D.5223;
  D.5347 = D.5346 r>> 31;
  block->l[14] = D.5347;
  D.5223 = block->l[14];
  D.5468 = D.5285 + D.5223;
  D.5113 = d r>> 27;
  D.5469 = D.5468 + D.5113;
  D.5470 = D.5469 + 3395469782;
  c = D.5470 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5205 = block->l[12];
  D.5160 = block->l[7];
  D.5351 = D.5205 ^ D.5160;
  D.5093 = block->l[1];
  D.5352 = D.5351 ^ D.5093;
  D.5232 = block->l[15];
  D.5353 = D.5352 ^ D.5232;
  D.5354 = D.5353 r>> 31;
  block->l[15] = D.5354;
  D.5232 = block->l[15];
  D.5471 = D.5293 + D.5232;
  D.5126 = c r>> 27;
  D.5472 = D.5471 + D.5126;
  D.5473 = D.5472 + 3395469782;
  b = D.5473 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5214 = block->l[13];
  D.5169 = block->l[8];
  D.5241 = D.5214 ^ D.5169;
  D.5106 = block->l[2];
  D.5242 = D.5241 ^ D.5106;
  D.5080 = block->l[0];
  D.5243 = D.5242 ^ D.5080;
  D.5244 = D.5243 r>> 31;
  block->l[0] = D.5244;
  D.5080 = block->l[0];
  D.5474 = D.5301 + D.5080;
  D.5139 = b r>> 27;
  D.5475 = D.5474 + D.5139;
  D.5476 = D.5475 + 3395469782;
  a = D.5476 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5223 = block->l[14];
  D.5178 = block->l[9];
  D.5248 = D.5223 ^ D.5178;
  D.5119 = block->l[3];
  D.5249 = D.5248 ^ D.5119;
  D.5093 = block->l[1];
  D.5250 = D.5249 ^ D.5093;
  D.5251 = D.5250 r>> 31;
  block->l[1] = D.5251;
  D.5093 = block->l[1];
  D.5477 = D.5269 + D.5093;
  D.5087 = a r>> 27;
  D.5478 = D.5477 + D.5087;
  D.5479 = D.5478 + 3395469782;
  e = D.5479 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5232 = block->l[15];
  D.5187 = block->l[10];
  D.5255 = D.5232 ^ D.5187;
  D.5132 = block->l[4];
  D.5256 = D.5255 ^ D.5132;
  D.5106 = block->l[2];
  D.5257 = D.5256 ^ D.5106;
  D.5258 = D.5257 r>> 31;
  block->l[2] = D.5258;
  D.5106 = block->l[2];
  D.5480 = D.5277 + D.5106;
  D.5100 = e r>> 27;
  D.5481 = D.5480 + D.5100;
  D.5482 = D.5481 + 3395469782;
  d = D.5482 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5080 = block->l[0];
  D.5196 = block->l[11];
  D.5262 = D.5080 ^ D.5196;
  D.5142 = block->l[5];
  D.5263 = D.5262 ^ D.5142;
  D.5119 = block->l[3];
  D.5264 = D.5263 ^ D.5119;
  D.5265 = D.5264 r>> 31;
  block->l[3] = D.5265;
  D.5119 = block->l[3];
  D.5483 = D.5285 + D.5119;
  D.5113 = d r>> 27;
  D.5484 = D.5483 + D.5113;
  D.5485 = D.5484 + 3395469782;
  c = D.5485 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5093 = block->l[1];
  D.5205 = block->l[12];
  D.5270 = D.5093 ^ D.5205;
  D.5151 = block->l[6];
  D.5271 = D.5270 ^ D.5151;
  D.5132 = block->l[4];
  D.5272 = D.5271 ^ D.5132;
  D.5273 = D.5272 r>> 31;
  block->l[4] = D.5273;
  D.5132 = block->l[4];
  D.5486 = D.5293 + D.5132;
  D.5126 = c r>> 27;
  D.5487 = D.5486 + D.5126;
  D.5488 = D.5487 + 3395469782;
  b = D.5488 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5106 = block->l[2];
  D.5214 = block->l[13];
  D.5278 = D.5106 ^ D.5214;
  D.5160 = block->l[7];
  D.5279 = D.5278 ^ D.5160;
  D.5142 = block->l[5];
  D.5280 = D.5279 ^ D.5142;
  D.5281 = D.5280 r>> 31;
  block->l[5] = D.5281;
  D.5142 = block->l[5];
  D.5489 = D.5301 + D.5142;
  D.5139 = b r>> 27;
  D.5490 = D.5489 + D.5139;
  D.5491 = D.5490 + 3395469782;
  a = D.5491 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5119 = block->l[3];
  D.5223 = block->l[14];
  D.5286 = D.5119 ^ D.5223;
  D.5169 = block->l[8];
  D.5287 = D.5286 ^ D.5169;
  D.5151 = block->l[6];
  D.5288 = D.5287 ^ D.5151;
  D.5289 = D.5288 r>> 31;
  block->l[6] = D.5289;
  D.5151 = block->l[6];
  D.5492 = D.5269 + D.5151;
  D.5087 = a r>> 27;
  D.5493 = D.5492 + D.5087;
  D.5494 = D.5493 + 3395469782;
  e = D.5494 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5132 = block->l[4];
  D.5232 = block->l[15];
  D.5294 = D.5132 ^ D.5232;
  D.5178 = block->l[9];
  D.5295 = D.5294 ^ D.5178;
  D.5160 = block->l[7];
  D.5296 = D.5295 ^ D.5160;
  D.5297 = D.5296 r>> 31;
  block->l[7] = D.5297;
  D.5160 = block->l[7];
  D.5495 = D.5277 + D.5160;
  D.5100 = e r>> 27;
  D.5496 = D.5495 + D.5100;
  D.5497 = D.5496 + 3395469782;
  d = D.5497 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5142 = block->l[5];
  D.5080 = block->l[0];
  D.5302 = D.5142 ^ D.5080;
  D.5187 = block->l[10];
  D.5303 = D.5302 ^ D.5187;
  D.5169 = block->l[8];
  D.5304 = D.5303 ^ D.5169;
  D.5305 = D.5304 r>> 31;
  block->l[8] = D.5305;
  D.5169 = block->l[8];
  D.5498 = D.5285 + D.5169;
  D.5113 = d r>> 27;
  D.5499 = D.5498 + D.5113;
  D.5500 = D.5499 + 3395469782;
  c = D.5500 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5151 = block->l[6];
  D.5093 = block->l[1];
  D.5309 = D.5151 ^ D.5093;
  D.5196 = block->l[11];
  D.5310 = D.5309 ^ D.5196;
  D.5178 = block->l[9];
  D.5311 = D.5310 ^ D.5178;
  D.5312 = D.5311 r>> 31;
  block->l[9] = D.5312;
  D.5178 = block->l[9];
  D.5501 = D.5293 + D.5178;
  D.5126 = c r>> 27;
  D.5502 = D.5501 + D.5126;
  D.5503 = D.5502 + 3395469782;
  b = D.5503 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5160 = block->l[7];
  D.5106 = block->l[2];
  D.5316 = D.5160 ^ D.5106;
  D.5205 = block->l[12];
  D.5317 = D.5316 ^ D.5205;
  D.5187 = block->l[10];
  D.5318 = D.5317 ^ D.5187;
  D.5319 = D.5318 r>> 31;
  block->l[10] = D.5319;
  D.5187 = block->l[10];
  D.5504 = D.5301 + D.5187;
  D.5139 = b r>> 27;
  D.5505 = D.5504 + D.5139;
  D.5506 = D.5505 + 3395469782;
  a = D.5506 + a;
  c = c r>> 2;
  D.5090 = b ^ c;
  D.5269 = D.5090 ^ d;
  D.5169 = block->l[8];
  D.5119 = block->l[3];
  D.5323 = D.5169 ^ D.5119;
  D.5214 = block->l[13];
  D.5324 = D.5323 ^ D.5214;
  D.5196 = block->l[11];
  D.5325 = D.5324 ^ D.5196;
  D.5326 = D.5325 r>> 31;
  block->l[11] = D.5326;
  D.5196 = block->l[11];
  D.5507 = D.5269 + D.5196;
  D.5087 = a r>> 27;
  D.5508 = D.5507 + D.5087;
  D.5509 = D.5508 + 3395469782;
  e = D.5509 + e;
  b = b r>> 2;
  D.5103 = a ^ b;
  D.5277 = D.5103 ^ c;
  D.5178 = block->l[9];
  D.5132 = block->l[4];
  D.5330 = D.5178 ^ D.5132;
  D.5223 = block->l[14];
  D.5331 = D.5330 ^ D.5223;
  D.5205 = block->l[12];
  D.5332 = D.5331 ^ D.5205;
  D.5333 = D.5332 r>> 31;
  block->l[12] = D.5333;
  D.5205 = block->l[12];
  D.5510 = D.5277 + D.5205;
  D.5100 = e r>> 27;
  D.5511 = D.5510 + D.5100;
  D.5512 = D.5511 + 3395469782;
  d = D.5512 + d;
  a = a r>> 2;
  D.5116 = e ^ a;
  D.5285 = D.5116 ^ b;
  D.5187 = block->l[10];
  D.5142 = block->l[5];
  D.5337 = D.5187 ^ D.5142;
  D.5232 = block->l[15];
  D.5338 = D.5337 ^ D.5232;
  D.5214 = block->l[13];
  D.5339 = D.5338 ^ D.5214;
  D.5340 = D.5339 r>> 31;
  block->l[13] = D.5340;
  D.5214 = block->l[13];
  D.5513 = D.5285 + D.5214;
  D.5113 = d r>> 27;
  D.5514 = D.5513 + D.5113;
  D.5515 = D.5514 + 3395469782;
  c = D.5515 + c;
  e = e r>> 2;
  D.5129 = d ^ e;
  D.5293 = D.5129 ^ a;
  D.5196 = block->l[11];
  D.5151 = block->l[6];
  D.5344 = D.5196 ^ D.5151;
  D.5080 = block->l[0];
  D.5345 = D.5344 ^ D.5080;
  D.5223 = block->l[14];
  D.5346 = D.5345 ^ D.5223;
  D.5347 = D.5346 r>> 31;
  block->l[14] = D.5347;
  D.5223 = block->l[14];
  D.5516 = D.5293 + D.5223;
  D.5126 = c r>> 27;
  D.5517 = D.5516 + D.5126;
  D.5518 = D.5517 + 3395469782;
  b = D.5518 + b;
  d = d r>> 2;
  D.5077 = c ^ d;
  D.5301 = D.5077 ^ e;
  D.5205 = block->l[12];
  D.5160 = block->l[7];
  D.5351 = D.5205 ^ D.5160;
  D.5093 = block->l[1];
  D.5352 = D.5351 ^ D.5093;
  D.5232 = block->l[15];
  D.5353 = D.5352 ^ D.5232;
  D.5354 = D.5353 r>> 31;
  block->l[15] = D.5354;
  D.5232 = block->l[15];
  D.5519 = D.5301 + D.5232;
  D.5139 = b r>> 27;
  D.5520 = D.5519 + D.5139;
  D.5521 = D.5520 + 3395469782;
  a = D.5521 + a;
  c = c r>> 2;
  D.5522 = *state;
  D.5523 = D.5522 + a;
  *state = D.5523;
  D.5524 = state + 4;
  D.5524 = state + 4;
  D.5525 = *D.5524;
  D.5526 = D.5525 + b;
  *D.5524 = D.5526;
  D.5527 = state + 8;
  D.5527 = state + 8;
  D.5528 = *D.5527;
  D.5529 = D.5528 + c;
  *D.5527 = D.5529;
  D.5530 = state + 12;
  D.5530 = state + 12;
  D.5531 = *D.5530;
  D.5532 = D.5531 + d;
  *D.5530 = D.5532;
  D.5533 = state + 16;
  D.5533 = state + 16;
  D.5534 = *D.5533;
  D.5535 = D.5534 + e;
  *D.5533 = D.5535;
  e = 0;
  d = e;
  c = d;
  b = c;
  a = b;
}


memcpy (void * restrict __dest, const void * restrict __src, size_t __len)
{
  void * D.5536;
  long unsigned int D.5537;

  D.5537 = __builtin_object_size (__dest, 0);
  D.5536 = __builtin___memcpy_chk (__dest, __src, __len, D.5537);
  return D.5536;
}


mono_sha1_final (struct MonoSHA1Context * context, unsigned char * digest)
{
  _Bool D.5539;
  int D.5540;
  unsigned int D.5541;
  unsigned int D.5542;
  unsigned int D.5543;
  unsigned int D.5544;
  int D.5545;
  unsigned int D.5546;
  unsigned char D.5547;
  unsigned int D.5548;
  unsigned int D.5549;
  sizetype D.5550;
  unsigned char * D.5551;
  unsigned int D.5552;
  unsigned int D.5553;
  unsigned int D.5554;
  unsigned char D.5555;
  unsigned char[64] * D.5556;
  guint32[5] * D.5557;
  guint32[2] * D.5558;
  guint32 i;
  unsigned char finalcount[8];

  try
    {
      i = 0;
      goto <D.5017>;
      <D.5016>:
      D.5539 = i <= 3;
      D.5540 = (int) D.5539;
      D.5541 = context->count[D.5540];
      D.5542 = ~i;
      D.5543 = D.5542 & 3;
      D.5544 = D.5543 * 8;
      D.5545 = (int) D.5544;
      D.5546 = D.5541 >> D.5545;
      D.5547 = (unsigned char) D.5546;
      finalcount[i] = D.5547;
      i = i + 1;
      <D.5017>:
      if (i <= 7) goto <D.5016>; else goto <D.5018>;
      <D.5018>:
      mono_sha1_update (context, "€", 1);
      goto <D.5020>;
      <D.5019>:
      mono_sha1_update (context, "", 1);
      <D.5020>:
      D.5548 = context->count[0];
      D.5549 = D.5548 & 504;
      if (D.5549 != 448) goto <D.5019>; else goto <D.5021>;
      <D.5021>:
      mono_sha1_update (context, &finalcount, 8);
      i = 0;
      goto <D.5023>;
      <D.5022>:
      D.5550 = (sizetype) i;
      D.5551 = digest + D.5550;
      D.5552 = i >> 2;
      D.5553 = context->state[D.5552];
      D.5542 = ~i;
      D.5543 = D.5542 & 3;
      D.5544 = D.5543 * 8;
      D.5545 = (int) D.5544;
      D.5554 = D.5553 >> D.5545;
      D.5555 = (unsigned char) D.5554;
      *D.5551 = D.5555;
      i = i + 1;
      <D.5023>:
      if (i <= 19) goto <D.5022>; else goto <D.5024>;
      <D.5024>:
      i = 0;
      D.5556 = &context->buffer;
      memset (D.5556, 0, 64);
      D.5557 = &context->state;
      memset (D.5557, 0, 20);
      D.5558 = &context->count;
      memset (D.5558, 0, 8);
      memset (&finalcount, 0, 8);
      D.5556 = &context->buffer;
      D.5557 = &context->state;
      SHA1Transform (D.5557, D.5556);
    }
  finally
    {
      finalcount = {CLOBBER};
    }
}


memset (void * __dest, int __ch, size_t __len)
{
  int D.5561;
  int D.5566;
  void * D.5568;
  long unsigned int D.5569;

  D.5561 = __builtin_constant_p (__len);
  if (D.5561 != 0) goto <D.5562>; else goto <D.5563>;
  <D.5562>:
  if (__len == 0) goto <D.5564>; else goto <D.5565>;
  <D.5564>:
  D.5566 = __builtin_constant_p (__ch);
  if (D.5566 == 0) goto <D.5559>; else goto <D.5567>;
  <D.5567>:
  if (__ch != 0) goto <D.5559>; else goto <D.5560>;
  <D.5559>:
  __warn_memset_zero_len ();
  D.5568 = __dest;
  return D.5568;
  <D.5560>:
  <D.5565>:
  <D.5563>:
  D.5569 = __builtin_object_size (__dest, 0);
  D.5568 = __builtin___memset_chk (__dest, __ch, __len, D.5569);
  return D.5568;
}


mono_sha1_get_digest (const guchar * buffer, gint buffer_size, guchar * digest)
{
  unsigned int buffer_size.0;
  struct MonoSHA1Context ctx;

  try
    {
      mono_sha1_init (&ctx);
      buffer_size.0 = (unsigned int) buffer_size;
      mono_sha1_update (&ctx, buffer, buffer_size.0);
      mono_sha1_final (&ctx, digest);
    }
  finally
    {
      ctx = {CLOBBER};
    }
}


mono_sha1_get_digest_from_file (const gchar * filename, guchar * digest)
{
  unsigned int nb_bytes_read.1;
  long unsigned int D.5575;
  int D.5576;
  struct MonoSHA1Context ctx;
  guchar tmp_buf[1024];
  gint nb_bytes_read;
  struct FILE * fp;

  try
    {
      mono_sha1_init (&ctx);
      fp = fopen (filename, "r");
      if (fp == 0B) goto <D.5572>; else goto <D.5573>;
      <D.5572>:
      return;
      <D.5573>:
      goto <D.5040>;
      <D.5039>:
      nb_bytes_read.1 = (unsigned int) nb_bytes_read;
      mono_sha1_update (&ctx, &tmp_buf, nb_bytes_read.1);
      <D.5040>:
      D.5575 = fread (&tmp_buf, 1, 1024, fp);
      nb_bytes_read = (gint) D.5575;
      if (nb_bytes_read > 0) goto <D.5039>; else goto <D.5041>;
      <D.5041>:
      D.5576 = ferror (fp);
      if (D.5576 != 0) goto <D.5577>; else goto <D.5578>;
      <D.5577>:
      fclose (fp);
      return;
      <D.5578>:
      fclose (fp);
      mono_sha1_final (&ctx, digest);
    }
  finally
    {
      ctx = {CLOBBER};
      tmp_buf = {CLOBBER};
    }
}


fread (void * restrict __ptr, size_t __size, size_t __n, struct FILE * restrict __stream)
{
  long unsigned int D.5582;
  int D.5587;
  int D.5589;
  long unsigned int D.5591;
  size_t D.5592;
  long unsigned int D.5593;
  long unsigned int D.5594;
  long unsigned int D.5595;
  long unsigned int D.5598;

  D.5582 = __builtin_object_size (__ptr, 0);
  if (D.5582 != 18446744073709551615) goto <D.5583>; else goto <D.5584>;
  <D.5583>:
  D.5587 = __builtin_constant_p (__size);
  if (D.5587 == 0) goto <D.5585>; else goto <D.5588>;
  <D.5588>:
  D.5589 = __builtin_constant_p (__n);
  if (D.5589 == 0) goto <D.5585>; else goto <D.5590>;
  <D.5590>:
  D.5591 = __size | __n;
  if (D.5591 > 4294967295) goto <D.5585>; else goto <D.5586>;
  <D.5585>:
  D.5593 = __builtin_object_size (__ptr, 0);
  D.5592 = __fread_chk (__ptr, D.5593, __size, __n, __stream);
  return D.5592;
  <D.5586>:
  D.5594 = __size * __n;
  D.5595 = __builtin_object_size (__ptr, 0);
  if (D.5594 > D.5595) goto <D.5596>; else goto <D.5597>;
  <D.5596>:
  D.5598 = __builtin_object_size (__ptr, 0);
  D.5592 = __fread_chk_warn (__ptr, D.5598, __size, __n, __stream);
  return D.5592;
  <D.5597>:
  <D.5584>:
  D.5592 = __fread_alias (__ptr, __size, __n, __stream);
  return D.5592;
}


mono_digest_get_public_token (guchar * token, const guchar * pubkey, guint32 len)
{
  int len.2;
  sizetype D.5603;
  guchar * D.5604;
  int D.5605;
  unsigned char D.5606;
  guchar digest[20];
  int i;

  try
    {
      if (token == 0B) goto <D.5600>; else goto <D.5601>;
      <D.5600>:
      monoeg_g_log (0B, 8, "%s:%d: assertion \'%s\' failed", "mono-sha1.c", 331, "token != NULL");
      return;
      <D.5601>:
      len.2 = (int) len;
      mono_sha1_get_digest (pubkey, len.2, &digest);
      i = 0;
      goto <D.5050>;
      <D.5049>:
      D.5603 = (sizetype) i;
      D.5604 = token + D.5603;
      D.5605 = 19 - i;
      D.5606 = digest[D.5605];
      *D.5604 = D.5606;
      i = i + 1;
      <D.5050>:
      if (i <= 7) goto <D.5049>; else goto <D.5051>;
      <D.5051>:
    }
  finally
    {
      digest = {CLOBBER};
    }
}


