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

  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.7312 = context->count[1];
  context->count[0] = D.7312;
}


mono_sha1_update (struct MonoSHA1Context * context, const guchar * data, guint32 len)
{
  unsigned int D.7313;
  unsigned int D.7314;
  unsigned int D.7315;
  unsigned int D.7316;
  unsigned int D.7319;
  unsigned int D.7320;
  unsigned int D.7321;
  unsigned int D.7322;
  unsigned int D.7323;
  unsigned char * D.7326;
  guint32[5] * D.7327;
  unsigned char[64] * D.7328;
  const guchar * D.7329;
  unsigned int D.7330;
  unsigned int D.7332;
  guint32 i;
  guint32 j;

  D.7313 = context->count[0];
  D.7314 = D.7313 >> 3;
  j = D.7314 & 63;
  D.7313 = context->count[0];
  D.7315 = len << 3;
  D.7316 = D.7313 + D.7315;
  context->count[0] = D.7316;
  D.7313 = context->count[0];
  D.7315 = len << 3;
  if (D.7313 < D.7315) goto <D.7317>; else goto <D.7318>;
  <D.7317>:
  D.7319 = context->count[1];
  D.7320 = D.7319 + 1;
  context->count[1] = D.7320;
  <D.7318>:
  D.7319 = context->count[1];
  D.7321 = len >> 29;
  D.7322 = D.7319 + D.7321;
  context->count[1] = D.7322;
  D.7323 = j + len;
  if (D.7323 > 63) goto <D.7324>; else goto <D.7325>;
  <D.7324>:
  D.7326 = &context->buffer[j];
  i = 64 - j;
  memcpy (D.7326, data, i);
  D.7327 = &context->state;
  D.7328 = &context->buffer;
  SHA1Transform (D.7327, D.7328);
  goto <D.7265>;
  <D.7264>:
  D.7327 = &context->state;
  D.7329 = data + i;
  SHA1Transform (D.7327, D.7329);
  i = i + 64;
  <D.7265>:
  D.7330 = i + 63;
  if (D.7330 < len) goto <D.7264>; else goto <D.7266>;
  <D.7266>:
  j = 0;
  goto <D.7331>;
  <D.7325>:
  i = 0;
  <D.7331>:
  D.7326 = &context->buffer[j];
  D.7329 = data + i;
  D.7332 = len - i;
  memcpy (D.7326, D.7329, D.7332);
}


SHA1Transform (guint32 * state, const guchar * buffer)
{
  unsigned int D.7333;
  unsigned int D.7334;
  unsigned int D.7335;
  unsigned int D.7336;
  unsigned int D.7337;
  unsigned int D.7338;
  unsigned int D.7339;
  unsigned int D.7340;
  unsigned int D.7341;
  unsigned int D.7342;
  unsigned int D.7343;
  unsigned int D.7344;
  unsigned int D.7345;
  unsigned int D.7346;
  unsigned int D.7347;
  unsigned int D.7348;
  unsigned int D.7349;
  unsigned int D.7350;
  unsigned int D.7351;
  unsigned int D.7352;
  unsigned int D.7353;
  unsigned int D.7354;
  unsigned int D.7355;
  unsigned int D.7356;
  unsigned int D.7357;
  unsigned int D.7358;
  unsigned int D.7359;
  unsigned int D.7360;
  unsigned int D.7361;
  unsigned int D.7362;
  unsigned int D.7363;
  unsigned int D.7364;
  unsigned int D.7365;
  unsigned int D.7366;
  unsigned int D.7367;
  unsigned int D.7368;
  unsigned int D.7369;
  unsigned int D.7370;
  unsigned int D.7371;
  unsigned int D.7372;
  unsigned int D.7373;
  unsigned int D.7374;
  unsigned int D.7375;
  unsigned int D.7376;
  unsigned int D.7377;
  unsigned int D.7378;
  unsigned int D.7379;
  unsigned int D.7380;
  unsigned int D.7381;
  unsigned int D.7382;
  unsigned int D.7383;
  unsigned int D.7384;
  unsigned int D.7385;
  unsigned int D.7386;
  unsigned int D.7387;
  unsigned int D.7388;
  unsigned int D.7389;
  unsigned int D.7390;
  unsigned int D.7391;
  unsigned int D.7392;
  unsigned int D.7393;
  unsigned int D.7394;
  unsigned int D.7395;
  unsigned int D.7396;
  unsigned int D.7397;
  unsigned int D.7398;
  unsigned int D.7399;
  unsigned int D.7400;
  unsigned int D.7401;
  unsigned int D.7402;
  unsigned int D.7403;
  unsigned int D.7404;
  unsigned int D.7405;
  unsigned int D.7406;
  unsigned int D.7407;
  unsigned int D.7408;
  unsigned int D.7409;
  unsigned int D.7410;
  unsigned int D.7411;
  unsigned int D.7412;
  unsigned int D.7413;
  unsigned int D.7414;
  unsigned int D.7415;
  unsigned int D.7416;
  unsigned int D.7417;
  unsigned int D.7418;
  unsigned int D.7419;
  unsigned int D.7420;
  unsigned int D.7421;
  unsigned int D.7422;
  unsigned int D.7423;
  unsigned int D.7424;
  unsigned int D.7425;
  unsigned int D.7426;
  unsigned int D.7427;
  unsigned int D.7428;
  unsigned int D.7429;
  unsigned int D.7430;
  unsigned int D.7431;
  unsigned int D.7432;
  unsigned int D.7433;
  unsigned int D.7434;
  unsigned int D.7435;
  unsigned int D.7436;
  unsigned int D.7437;
  unsigned int D.7438;
  unsigned int D.7439;
  unsigned int D.7440;
  unsigned int D.7441;
  unsigned int D.7442;
  unsigned int D.7443;
  unsigned int D.7444;
  unsigned int D.7445;
  unsigned int D.7446;
  unsigned int D.7447;
  unsigned int D.7448;
  unsigned int D.7449;
  unsigned int D.7450;
  unsigned int D.7451;
  unsigned int D.7452;
  unsigned int D.7453;
  unsigned int D.7454;
  unsigned int D.7455;
  unsigned int D.7456;
  unsigned int D.7457;
  unsigned int D.7458;
  unsigned int D.7459;
  unsigned int D.7460;
  unsigned int D.7461;
  unsigned int D.7462;
  unsigned int D.7463;
  unsigned int D.7464;
  unsigned int D.7465;
  unsigned int D.7466;
  unsigned int D.7467;
  unsigned int D.7468;
  unsigned int D.7469;
  unsigned int D.7470;
  unsigned int D.7471;
  unsigned int D.7472;
  unsigned int D.7473;
  unsigned int D.7474;
  unsigned int D.7475;
  unsigned int D.7476;
  unsigned int D.7477;
  unsigned int D.7478;
  unsigned int D.7479;
  unsigned int D.7480;
  unsigned int D.7481;
  unsigned int D.7482;
  unsigned int D.7483;
  unsigned int D.7484;
  unsigned int D.7485;
  unsigned int D.7486;
  unsigned int D.7487;
  unsigned int D.7488;
  unsigned int D.7489;
  unsigned int D.7490;
  unsigned int D.7491;
  unsigned int D.7492;
  unsigned int D.7493;
  unsigned int D.7494;
  unsigned int D.7495;
  unsigned int D.7496;
  unsigned int D.7497;
  unsigned int D.7498;
  unsigned int D.7499;
  unsigned int D.7500;
  unsigned int D.7501;
  unsigned int D.7502;
  unsigned int D.7503;
  unsigned int D.7504;
  unsigned int D.7505;
  unsigned int D.7506;
  unsigned int D.7507;
  unsigned int D.7508;
  unsigned int D.7509;
  unsigned int D.7510;
  unsigned int D.7511;
  unsigned int D.7512;
  unsigned int D.7513;
  unsigned int D.7514;
  unsigned int D.7515;
  unsigned int D.7516;
  unsigned int D.7517;
  unsigned int D.7518;
  unsigned int D.7519;
  unsigned int D.7520;
  unsigned int D.7521;
  unsigned int D.7522;
  unsigned int D.7523;
  unsigned int D.7524;
  unsigned int D.7525;
  unsigned int D.7526;
  unsigned int D.7527;
  unsigned int D.7528;
  unsigned int D.7529;
  unsigned int D.7530;
  unsigned int D.7531;
  unsigned int D.7532;
  unsigned int D.7533;
  unsigned int D.7534;
  unsigned int D.7535;
  unsigned int D.7536;
  unsigned int D.7537;
  unsigned int D.7538;
  unsigned int D.7539;
  unsigned int D.7540;
  unsigned int D.7541;
  unsigned int D.7542;
  unsigned int D.7543;
  unsigned int D.7544;
  unsigned int D.7545;
  unsigned int D.7546;
  unsigned int D.7547;
  unsigned int D.7548;
  unsigned int D.7549;
  unsigned int D.7550;
  unsigned int D.7551;
  unsigned int D.7552;
  unsigned int D.7553;
  unsigned int D.7554;
  unsigned int D.7555;
  unsigned int D.7556;
  unsigned int D.7557;
  unsigned int D.7558;
  unsigned int D.7559;
  unsigned int D.7560;
  unsigned int D.7561;
  unsigned int D.7562;
  unsigned int D.7563;
  unsigned int D.7564;
  unsigned int D.7565;
  unsigned int D.7566;
  unsigned int D.7567;
  unsigned int D.7568;
  unsigned int D.7569;
  unsigned int D.7570;
  unsigned int D.7571;
  unsigned int D.7572;
  unsigned int D.7573;
  unsigned int D.7574;
  unsigned int D.7575;
  unsigned int D.7576;
  unsigned int D.7577;
  unsigned int D.7578;
  unsigned int D.7579;
  unsigned int D.7580;
  unsigned int D.7581;
  unsigned int D.7582;
  unsigned int D.7583;
  unsigned int D.7584;
  unsigned int D.7585;
  unsigned int D.7586;
  unsigned int D.7587;
  unsigned int D.7588;
  unsigned int D.7589;
  unsigned int D.7590;
  unsigned int D.7591;
  unsigned int D.7592;
  unsigned int D.7593;
  unsigned int D.7594;
  unsigned int D.7595;
  unsigned int D.7596;
  unsigned int D.7597;
  unsigned int D.7598;
  unsigned int D.7599;
  unsigned int D.7600;
  unsigned int D.7601;
  unsigned int D.7602;
  unsigned int D.7603;
  unsigned int D.7604;
  unsigned int D.7605;
  unsigned int D.7606;
  unsigned int D.7607;
  unsigned int D.7608;
  unsigned int D.7609;
  unsigned int D.7610;
  unsigned int D.7611;
  unsigned int D.7612;
  unsigned int D.7613;
  unsigned int D.7614;
  unsigned int D.7615;
  unsigned int D.7616;
  unsigned int D.7617;
  unsigned int D.7618;
  unsigned int D.7619;
  unsigned int D.7620;
  unsigned int D.7621;
  unsigned int D.7622;
  unsigned int D.7623;
  unsigned int D.7624;
  unsigned int D.7625;
  unsigned int D.7626;
  unsigned int D.7627;
  unsigned int D.7628;
  unsigned int D.7629;
  unsigned int D.7630;
  unsigned int D.7631;
  unsigned int D.7632;
  unsigned int D.7633;
  unsigned int D.7634;
  unsigned int D.7635;
  unsigned int D.7636;
  unsigned int D.7637;
  unsigned int D.7638;
  unsigned int D.7639;
  unsigned int D.7640;
  unsigned int D.7641;
  unsigned int D.7642;
  unsigned int D.7643;
  unsigned int D.7644;
  unsigned int D.7645;
  unsigned int D.7646;
  unsigned int D.7647;
  unsigned int D.7648;
  unsigned int D.7649;
  unsigned int D.7650;
  unsigned int D.7651;
  unsigned int D.7652;
  unsigned int D.7653;
  unsigned int D.7654;
  unsigned int D.7655;
  unsigned int D.7656;
  unsigned int D.7657;
  unsigned int D.7658;
  unsigned int D.7659;
  unsigned int D.7660;
  unsigned int D.7661;
  unsigned int D.7662;
  unsigned int D.7663;
  unsigned int D.7664;
  unsigned int D.7665;
  unsigned int D.7666;
  unsigned int D.7667;
  unsigned int D.7668;
  unsigned int D.7669;
  unsigned int D.7670;
  unsigned int D.7671;
  unsigned int D.7672;
  unsigned int D.7673;
  unsigned int D.7674;
  unsigned int D.7675;
  unsigned int D.7676;
  unsigned int D.7677;
  unsigned int D.7678;
  unsigned int D.7679;
  unsigned int D.7680;
  unsigned int D.7681;
  unsigned int D.7682;
  unsigned int D.7683;
  unsigned int D.7684;
  unsigned int D.7685;
  unsigned int D.7686;
  unsigned int D.7687;
  unsigned int D.7688;
  unsigned int D.7689;
  unsigned int D.7690;
  unsigned int D.7691;
  unsigned int D.7692;
  unsigned int D.7693;
  unsigned int D.7694;
  unsigned int D.7695;
  unsigned int D.7696;
  unsigned int D.7697;
  unsigned int D.7698;
  unsigned int D.7699;
  unsigned int D.7700;
  unsigned int D.7701;
  unsigned int D.7702;
  unsigned int D.7703;
  unsigned int D.7704;
  unsigned int D.7705;
  unsigned int D.7706;
  unsigned int D.7707;
  unsigned int D.7708;
  unsigned int D.7709;
  unsigned int D.7710;
  unsigned int D.7711;
  unsigned int D.7712;
  unsigned int D.7713;
  unsigned int D.7714;
  unsigned int D.7715;
  unsigned int D.7716;
  unsigned int D.7717;
  unsigned int D.7718;
  unsigned int D.7719;
  unsigned int D.7720;
  unsigned int D.7721;
  unsigned int D.7722;
  unsigned int D.7723;
  unsigned int D.7724;
  unsigned int D.7725;
  unsigned int D.7726;
  unsigned int D.7727;
  unsigned int D.7728;
  unsigned int D.7729;
  unsigned int D.7730;
  unsigned int D.7731;
  unsigned int D.7732;
  unsigned int D.7733;
  unsigned int D.7734;
  unsigned int D.7735;
  unsigned int D.7736;
  unsigned int D.7737;
  unsigned int D.7738;
  unsigned int D.7739;
  unsigned int D.7740;
  unsigned int D.7741;
  unsigned int D.7742;
  unsigned int D.7743;
  unsigned int D.7744;
  unsigned int D.7745;
  unsigned int D.7746;
  unsigned int D.7747;
  unsigned int D.7748;
  unsigned int D.7749;
  unsigned int D.7750;
  unsigned int D.7751;
  unsigned int D.7752;
  unsigned int D.7753;
  unsigned int D.7754;
  unsigned int D.7755;
  unsigned int D.7756;
  unsigned int D.7757;
  unsigned int D.7758;
  unsigned int D.7759;
  unsigned int D.7760;
  unsigned int D.7761;
  unsigned int D.7762;
  unsigned int D.7763;
  unsigned int D.7764;
  unsigned int D.7765;
  unsigned int D.7766;
  unsigned int D.7767;
  unsigned int D.7768;
  unsigned int D.7769;
  unsigned int D.7770;
  unsigned int D.7771;
  unsigned int D.7772;
  unsigned int D.7773;
  unsigned int D.7774;
  unsigned int D.7775;
  unsigned int D.7776;
  unsigned int D.7777;
  unsigned int D.7778;
  unsigned int D.7779;
  guint32 * D.7780;
  unsigned int D.7781;
  unsigned int D.7782;
  guint32 * D.7783;
  unsigned int D.7784;
  unsigned int D.7785;
  guint32 * D.7786;
  unsigned int D.7787;
  unsigned int D.7788;
  guint32 * D.7789;
  unsigned int D.7790;
  unsigned int D.7791;
  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.7333 = c ^ d;
  D.7334 = D.7333 & b;
  D.7335 = D.7334 ^ d;
  D.7336 = block->l[0];
  D.7337 = D.7336 r>> 8;
  D.7338 = D.7337 & 4278255360;
  D.7336 = block->l[0];
  D.7339 = D.7336 r>> 24;
  D.7340 = D.7339 & 16711935;
  D.7341 = D.7338 | D.7340;
  block->l[0] = D.7341;
  D.7336 = block->l[0];
  D.7342 = D.7335 + D.7336;
  D.7343 = a r>> 27;
  D.7344 = D.7342 + D.7343;
  D.7345 = D.7344 + 1518500249;
  e = D.7345 + e;
  b = b r>> 2;
  D.7346 = b ^ c;
  D.7347 = D.7346 & a;
  D.7348 = D.7347 ^ c;
  D.7349 = block->l[1];
  D.7350 = D.7349 r>> 8;
  D.7351 = D.7350 & 4278255360;
  D.7349 = block->l[1];
  D.7352 = D.7349 r>> 24;
  D.7353 = D.7352 & 16711935;
  D.7354 = D.7351 | D.7353;
  block->l[1] = D.7354;
  D.7349 = block->l[1];
  D.7355 = D.7348 + D.7349;
  D.7356 = e r>> 27;
  D.7357 = D.7355 + D.7356;
  D.7358 = D.7357 + 1518500249;
  d = D.7358 + d;
  a = a r>> 2;
  D.7359 = a ^ b;
  D.7360 = D.7359 & e;
  D.7361 = D.7360 ^ b;
  D.7362 = block->l[2];
  D.7363 = D.7362 r>> 8;
  D.7364 = D.7363 & 4278255360;
  D.7362 = block->l[2];
  D.7365 = D.7362 r>> 24;
  D.7366 = D.7365 & 16711935;
  D.7367 = D.7364 | D.7366;
  block->l[2] = D.7367;
  D.7362 = block->l[2];
  D.7368 = D.7361 + D.7362;
  D.7369 = d r>> 27;
  D.7370 = D.7368 + D.7369;
  D.7371 = D.7370 + 1518500249;
  c = D.7371 + c;
  e = e r>> 2;
  D.7372 = e ^ a;
  D.7373 = D.7372 & d;
  D.7374 = D.7373 ^ a;
  D.7375 = block->l[3];
  D.7376 = D.7375 r>> 8;
  D.7377 = D.7376 & 4278255360;
  D.7375 = block->l[3];
  D.7378 = D.7375 r>> 24;
  D.7379 = D.7378 & 16711935;
  D.7380 = D.7377 | D.7379;
  block->l[3] = D.7380;
  D.7375 = block->l[3];
  D.7381 = D.7374 + D.7375;
  D.7382 = c r>> 27;
  D.7383 = D.7381 + D.7382;
  D.7384 = D.7383 + 1518500249;
  b = D.7384 + b;
  d = d r>> 2;
  D.7385 = d ^ e;
  D.7386 = D.7385 & c;
  D.7387 = D.7386 ^ e;
  D.7388 = block->l[4];
  D.7389 = D.7388 r>> 8;
  D.7390 = D.7389 & 4278255360;
  D.7388 = block->l[4];
  D.7391 = D.7388 r>> 24;
  D.7392 = D.7391 & 16711935;
  D.7393 = D.7390 | D.7392;
  block->l[4] = D.7393;
  D.7388 = block->l[4];
  D.7394 = D.7387 + D.7388;
  D.7395 = b r>> 27;
  D.7396 = D.7394 + D.7395;
  D.7397 = D.7396 + 1518500249;
  a = D.7397 + a;
  c = c r>> 2;
  D.7333 = c ^ d;
  D.7334 = D.7333 & b;
  D.7335 = D.7334 ^ d;
  D.7398 = block->l[5];
  D.7399 = D.7398 r>> 8;
  D.7400 = D.7399 & 4278255360;
  D.7398 = block->l[5];
  D.7401 = D.7398 r>> 24;
  D.7402 = D.7401 & 16711935;
  D.7403 = D.7400 | D.7402;
  block->l[5] = D.7403;
  D.7398 = block->l[5];
  D.7404 = D.7335 + D.7398;
  D.7343 = a r>> 27;
  D.7405 = D.7404 + D.7343;
  D.7406 = D.7405 + 1518500249;
  e = D.7406 + e;
  b = b r>> 2;
  D.7346 = b ^ c;
  D.7347 = D.7346 & a;
  D.7348 = D.7347 ^ c;
  D.7407 = block->l[6];
  D.7408 = D.7407 r>> 8;
  D.7409 = D.7408 & 4278255360;
  D.7407 = block->l[6];
  D.7410 = D.7407 r>> 24;
  D.7411 = D.7410 & 16711935;
  D.7412 = D.7409 | D.7411;
  block->l[6] = D.7412;
  D.7407 = block->l[6];
  D.7413 = D.7348 + D.7407;
  D.7356 = e r>> 27;
  D.7414 = D.7413 + D.7356;
  D.7415 = D.7414 + 1518500249;
  d = D.7415 + d;
  a = a r>> 2;
  D.7359 = a ^ b;
  D.7360 = D.7359 & e;
  D.7361 = D.7360 ^ b;
  D.7416 = block->l[7];
  D.7417 = D.7416 r>> 8;
  D.7418 = D.7417 & 4278255360;
  D.7416 = block->l[7];
  D.7419 = D.7416 r>> 24;
  D.7420 = D.7419 & 16711935;
  D.7421 = D.7418 | D.7420;
  block->l[7] = D.7421;
  D.7416 = block->l[7];
  D.7422 = D.7361 + D.7416;
  D.7369 = d r>> 27;
  D.7423 = D.7422 + D.7369;
  D.7424 = D.7423 + 1518500249;
  c = D.7424 + c;
  e = e r>> 2;
  D.7372 = e ^ a;
  D.7373 = D.7372 & d;
  D.7374 = D.7373 ^ a;
  D.7425 = block->l[8];
  D.7426 = D.7425 r>> 8;
  D.7427 = D.7426 & 4278255360;
  D.7425 = block->l[8];
  D.7428 = D.7425 r>> 24;
  D.7429 = D.7428 & 16711935;
  D.7430 = D.7427 | D.7429;
  block->l[8] = D.7430;
  D.7425 = block->l[8];
  D.7431 = D.7374 + D.7425;
  D.7382 = c r>> 27;
  D.7432 = D.7431 + D.7382;
  D.7433 = D.7432 + 1518500249;
  b = D.7433 + b;
  d = d r>> 2;
  D.7385 = d ^ e;
  D.7386 = D.7385 & c;
  D.7387 = D.7386 ^ e;
  D.7434 = block->l[9];
  D.7435 = D.7434 r>> 8;
  D.7436 = D.7435 & 4278255360;
  D.7434 = block->l[9];
  D.7437 = D.7434 r>> 24;
  D.7438 = D.7437 & 16711935;
  D.7439 = D.7436 | D.7438;
  block->l[9] = D.7439;
  D.7434 = block->l[9];
  D.7440 = D.7387 + D.7434;
  D.7395 = b r>> 27;
  D.7441 = D.7440 + D.7395;
  D.7442 = D.7441 + 1518500249;
  a = D.7442 + a;
  c = c r>> 2;
  D.7333 = c ^ d;
  D.7334 = D.7333 & b;
  D.7335 = D.7334 ^ d;
  D.7443 = block->l[10];
  D.7444 = D.7443 r>> 8;
  D.7445 = D.7444 & 4278255360;
  D.7443 = block->l[10];
  D.7446 = D.7443 r>> 24;
  D.7447 = D.7446 & 16711935;
  D.7448 = D.7445 | D.7447;
  block->l[10] = D.7448;
  D.7443 = block->l[10];
  D.7449 = D.7335 + D.7443;
  D.7343 = a r>> 27;
  D.7450 = D.7449 + D.7343;
  D.7451 = D.7450 + 1518500249;
  e = D.7451 + e;
  b = b r>> 2;
  D.7346 = b ^ c;
  D.7347 = D.7346 & a;
  D.7348 = D.7347 ^ c;
  D.7452 = block->l[11];
  D.7453 = D.7452 r>> 8;
  D.7454 = D.7453 & 4278255360;
  D.7452 = block->l[11];
  D.7455 = D.7452 r>> 24;
  D.7456 = D.7455 & 16711935;
  D.7457 = D.7454 | D.7456;
  block->l[11] = D.7457;
  D.7452 = block->l[11];
  D.7458 = D.7348 + D.7452;
  D.7356 = e r>> 27;
  D.7459 = D.7458 + D.7356;
  D.7460 = D.7459 + 1518500249;
  d = D.7460 + d;
  a = a r>> 2;
  D.7359 = a ^ b;
  D.7360 = D.7359 & e;
  D.7361 = D.7360 ^ b;
  D.7461 = block->l[12];
  D.7462 = D.7461 r>> 8;
  D.7463 = D.7462 & 4278255360;
  D.7461 = block->l[12];
  D.7464 = D.7461 r>> 24;
  D.7465 = D.7464 & 16711935;
  D.7466 = D.7463 | D.7465;
  block->l[12] = D.7466;
  D.7461 = block->l[12];
  D.7467 = D.7361 + D.7461;
  D.7369 = d r>> 27;
  D.7468 = D.7467 + D.7369;
  D.7469 = D.7468 + 1518500249;
  c = D.7469 + c;
  e = e r>> 2;
  D.7372 = e ^ a;
  D.7373 = D.7372 & d;
  D.7374 = D.7373 ^ a;
  D.7470 = block->l[13];
  D.7471 = D.7470 r>> 8;
  D.7472 = D.7471 & 4278255360;
  D.7470 = block->l[13];
  D.7473 = D.7470 r>> 24;
  D.7474 = D.7473 & 16711935;
  D.7475 = D.7472 | D.7474;
  block->l[13] = D.7475;
  D.7470 = block->l[13];
  D.7476 = D.7374 + D.7470;
  D.7382 = c r>> 27;
  D.7477 = D.7476 + D.7382;
  D.7478 = D.7477 + 1518500249;
  b = D.7478 + b;
  d = d r>> 2;
  D.7385 = d ^ e;
  D.7386 = D.7385 & c;
  D.7387 = D.7386 ^ e;
  D.7479 = block->l[14];
  D.7480 = D.7479 r>> 8;
  D.7481 = D.7480 & 4278255360;
  D.7479 = block->l[14];
  D.7482 = D.7479 r>> 24;
  D.7483 = D.7482 & 16711935;
  D.7484 = D.7481 | D.7483;
  block->l[14] = D.7484;
  D.7479 = block->l[14];
  D.7485 = D.7387 + D.7479;
  D.7395 = b r>> 27;
  D.7486 = D.7485 + D.7395;
  D.7487 = D.7486 + 1518500249;
  a = D.7487 + a;
  c = c r>> 2;
  D.7333 = c ^ d;
  D.7334 = D.7333 & b;
  D.7335 = D.7334 ^ d;
  D.7488 = block->l[15];
  D.7489 = D.7488 r>> 8;
  D.7490 = D.7489 & 4278255360;
  D.7488 = block->l[15];
  D.7491 = D.7488 r>> 24;
  D.7492 = D.7491 & 16711935;
  D.7493 = D.7490 | D.7492;
  block->l[15] = D.7493;
  D.7488 = block->l[15];
  D.7494 = D.7335 + D.7488;
  D.7343 = a r>> 27;
  D.7495 = D.7494 + D.7343;
  D.7496 = D.7495 + 1518500249;
  e = D.7496 + e;
  b = b r>> 2;
  D.7346 = b ^ c;
  D.7347 = D.7346 & a;
  D.7348 = D.7347 ^ c;
  D.7470 = block->l[13];
  D.7425 = block->l[8];
  D.7497 = D.7470 ^ D.7425;
  D.7362 = block->l[2];
  D.7498 = D.7497 ^ D.7362;
  D.7336 = block->l[0];
  D.7499 = D.7498 ^ D.7336;
  D.7500 = D.7499 r>> 31;
  block->l[0] = D.7500;
  D.7336 = block->l[0];
  D.7501 = D.7348 + D.7336;
  D.7356 = e r>> 27;
  D.7502 = D.7501 + D.7356;
  D.7503 = D.7502 + 1518500249;
  d = D.7503 + d;
  a = a r>> 2;
  D.7359 = a ^ b;
  D.7360 = D.7359 & e;
  D.7361 = D.7360 ^ b;
  D.7479 = block->l[14];
  D.7434 = block->l[9];
  D.7504 = D.7479 ^ D.7434;
  D.7375 = block->l[3];
  D.7505 = D.7504 ^ D.7375;
  D.7349 = block->l[1];
  D.7506 = D.7505 ^ D.7349;
  D.7507 = D.7506 r>> 31;
  block->l[1] = D.7507;
  D.7349 = block->l[1];
  D.7508 = D.7361 + D.7349;
  D.7369 = d r>> 27;
  D.7509 = D.7508 + D.7369;
  D.7510 = D.7509 + 1518500249;
  c = D.7510 + c;
  e = e r>> 2;
  D.7372 = e ^ a;
  D.7373 = D.7372 & d;
  D.7374 = D.7373 ^ a;
  D.7488 = block->l[15];
  D.7443 = block->l[10];
  D.7511 = D.7488 ^ D.7443;
  D.7388 = block->l[4];
  D.7512 = D.7511 ^ D.7388;
  D.7362 = block->l[2];
  D.7513 = D.7512 ^ D.7362;
  D.7514 = D.7513 r>> 31;
  block->l[2] = D.7514;
  D.7362 = block->l[2];
  D.7515 = D.7374 + D.7362;
  D.7382 = c r>> 27;
  D.7516 = D.7515 + D.7382;
  D.7517 = D.7516 + 1518500249;
  b = D.7517 + b;
  d = d r>> 2;
  D.7385 = d ^ e;
  D.7386 = D.7385 & c;
  D.7387 = D.7386 ^ e;
  D.7336 = block->l[0];
  D.7452 = block->l[11];
  D.7518 = D.7336 ^ D.7452;
  D.7398 = block->l[5];
  D.7519 = D.7518 ^ D.7398;
  D.7375 = block->l[3];
  D.7520 = D.7519 ^ D.7375;
  D.7521 = D.7520 r>> 31;
  block->l[3] = D.7521;
  D.7375 = block->l[3];
  D.7522 = D.7387 + D.7375;
  D.7395 = b r>> 27;
  D.7523 = D.7522 + D.7395;
  D.7524 = D.7523 + 1518500249;
  a = D.7524 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7349 = block->l[1];
  D.7461 = block->l[12];
  D.7526 = D.7349 ^ D.7461;
  D.7407 = block->l[6];
  D.7527 = D.7526 ^ D.7407;
  D.7388 = block->l[4];
  D.7528 = D.7527 ^ D.7388;
  D.7529 = D.7528 r>> 31;
  block->l[4] = D.7529;
  D.7388 = block->l[4];
  D.7530 = D.7525 + D.7388;
  D.7343 = a r>> 27;
  D.7531 = D.7530 + D.7343;
  D.7532 = D.7531 + 1859775393;
  e = D.7532 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7362 = block->l[2];
  D.7470 = block->l[13];
  D.7534 = D.7362 ^ D.7470;
  D.7416 = block->l[7];
  D.7535 = D.7534 ^ D.7416;
  D.7398 = block->l[5];
  D.7536 = D.7535 ^ D.7398;
  D.7537 = D.7536 r>> 31;
  block->l[5] = D.7537;
  D.7398 = block->l[5];
  D.7538 = D.7533 + D.7398;
  D.7356 = e r>> 27;
  D.7539 = D.7538 + D.7356;
  D.7540 = D.7539 + 1859775393;
  d = D.7540 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7375 = block->l[3];
  D.7479 = block->l[14];
  D.7542 = D.7375 ^ D.7479;
  D.7425 = block->l[8];
  D.7543 = D.7542 ^ D.7425;
  D.7407 = block->l[6];
  D.7544 = D.7543 ^ D.7407;
  D.7545 = D.7544 r>> 31;
  block->l[6] = D.7545;
  D.7407 = block->l[6];
  D.7546 = D.7541 + D.7407;
  D.7369 = d r>> 27;
  D.7547 = D.7546 + D.7369;
  D.7548 = D.7547 + 1859775393;
  c = D.7548 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7388 = block->l[4];
  D.7488 = block->l[15];
  D.7550 = D.7388 ^ D.7488;
  D.7434 = block->l[9];
  D.7551 = D.7550 ^ D.7434;
  D.7416 = block->l[7];
  D.7552 = D.7551 ^ D.7416;
  D.7553 = D.7552 r>> 31;
  block->l[7] = D.7553;
  D.7416 = block->l[7];
  D.7554 = D.7549 + D.7416;
  D.7382 = c r>> 27;
  D.7555 = D.7554 + D.7382;
  D.7556 = D.7555 + 1859775393;
  b = D.7556 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7398 = block->l[5];
  D.7336 = block->l[0];
  D.7558 = D.7398 ^ D.7336;
  D.7443 = block->l[10];
  D.7559 = D.7558 ^ D.7443;
  D.7425 = block->l[8];
  D.7560 = D.7559 ^ D.7425;
  D.7561 = D.7560 r>> 31;
  block->l[8] = D.7561;
  D.7425 = block->l[8];
  D.7562 = D.7557 + D.7425;
  D.7395 = b r>> 27;
  D.7563 = D.7562 + D.7395;
  D.7564 = D.7563 + 1859775393;
  a = D.7564 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7407 = block->l[6];
  D.7349 = block->l[1];
  D.7565 = D.7407 ^ D.7349;
  D.7452 = block->l[11];
  D.7566 = D.7565 ^ D.7452;
  D.7434 = block->l[9];
  D.7567 = D.7566 ^ D.7434;
  D.7568 = D.7567 r>> 31;
  block->l[9] = D.7568;
  D.7434 = block->l[9];
  D.7569 = D.7525 + D.7434;
  D.7343 = a r>> 27;
  D.7570 = D.7569 + D.7343;
  D.7571 = D.7570 + 1859775393;
  e = D.7571 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7416 = block->l[7];
  D.7362 = block->l[2];
  D.7572 = D.7416 ^ D.7362;
  D.7461 = block->l[12];
  D.7573 = D.7572 ^ D.7461;
  D.7443 = block->l[10];
  D.7574 = D.7573 ^ D.7443;
  D.7575 = D.7574 r>> 31;
  block->l[10] = D.7575;
  D.7443 = block->l[10];
  D.7576 = D.7533 + D.7443;
  D.7356 = e r>> 27;
  D.7577 = D.7576 + D.7356;
  D.7578 = D.7577 + 1859775393;
  d = D.7578 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7425 = block->l[8];
  D.7375 = block->l[3];
  D.7579 = D.7425 ^ D.7375;
  D.7470 = block->l[13];
  D.7580 = D.7579 ^ D.7470;
  D.7452 = block->l[11];
  D.7581 = D.7580 ^ D.7452;
  D.7582 = D.7581 r>> 31;
  block->l[11] = D.7582;
  D.7452 = block->l[11];
  D.7583 = D.7541 + D.7452;
  D.7369 = d r>> 27;
  D.7584 = D.7583 + D.7369;
  D.7585 = D.7584 + 1859775393;
  c = D.7585 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7434 = block->l[9];
  D.7388 = block->l[4];
  D.7586 = D.7434 ^ D.7388;
  D.7479 = block->l[14];
  D.7587 = D.7586 ^ D.7479;
  D.7461 = block->l[12];
  D.7588 = D.7587 ^ D.7461;
  D.7589 = D.7588 r>> 31;
  block->l[12] = D.7589;
  D.7461 = block->l[12];
  D.7590 = D.7549 + D.7461;
  D.7382 = c r>> 27;
  D.7591 = D.7590 + D.7382;
  D.7592 = D.7591 + 1859775393;
  b = D.7592 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7443 = block->l[10];
  D.7398 = block->l[5];
  D.7593 = D.7443 ^ D.7398;
  D.7488 = block->l[15];
  D.7594 = D.7593 ^ D.7488;
  D.7470 = block->l[13];
  D.7595 = D.7594 ^ D.7470;
  D.7596 = D.7595 r>> 31;
  block->l[13] = D.7596;
  D.7470 = block->l[13];
  D.7597 = D.7557 + D.7470;
  D.7395 = b r>> 27;
  D.7598 = D.7597 + D.7395;
  D.7599 = D.7598 + 1859775393;
  a = D.7599 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7452 = block->l[11];
  D.7407 = block->l[6];
  D.7600 = D.7452 ^ D.7407;
  D.7336 = block->l[0];
  D.7601 = D.7600 ^ D.7336;
  D.7479 = block->l[14];
  D.7602 = D.7601 ^ D.7479;
  D.7603 = D.7602 r>> 31;
  block->l[14] = D.7603;
  D.7479 = block->l[14];
  D.7604 = D.7525 + D.7479;
  D.7343 = a r>> 27;
  D.7605 = D.7604 + D.7343;
  D.7606 = D.7605 + 1859775393;
  e = D.7606 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7461 = block->l[12];
  D.7416 = block->l[7];
  D.7607 = D.7461 ^ D.7416;
  D.7349 = block->l[1];
  D.7608 = D.7607 ^ D.7349;
  D.7488 = block->l[15];
  D.7609 = D.7608 ^ D.7488;
  D.7610 = D.7609 r>> 31;
  block->l[15] = D.7610;
  D.7488 = block->l[15];
  D.7611 = D.7533 + D.7488;
  D.7356 = e r>> 27;
  D.7612 = D.7611 + D.7356;
  D.7613 = D.7612 + 1859775393;
  d = D.7613 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7470 = block->l[13];
  D.7425 = block->l[8];
  D.7497 = D.7470 ^ D.7425;
  D.7362 = block->l[2];
  D.7498 = D.7497 ^ D.7362;
  D.7336 = block->l[0];
  D.7499 = D.7498 ^ D.7336;
  D.7500 = D.7499 r>> 31;
  block->l[0] = D.7500;
  D.7336 = block->l[0];
  D.7614 = D.7541 + D.7336;
  D.7369 = d r>> 27;
  D.7615 = D.7614 + D.7369;
  D.7616 = D.7615 + 1859775393;
  c = D.7616 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7479 = block->l[14];
  D.7434 = block->l[9];
  D.7504 = D.7479 ^ D.7434;
  D.7375 = block->l[3];
  D.7505 = D.7504 ^ D.7375;
  D.7349 = block->l[1];
  D.7506 = D.7505 ^ D.7349;
  D.7507 = D.7506 r>> 31;
  block->l[1] = D.7507;
  D.7349 = block->l[1];
  D.7617 = D.7549 + D.7349;
  D.7382 = c r>> 27;
  D.7618 = D.7617 + D.7382;
  D.7619 = D.7618 + 1859775393;
  b = D.7619 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7488 = block->l[15];
  D.7443 = block->l[10];
  D.7511 = D.7488 ^ D.7443;
  D.7388 = block->l[4];
  D.7512 = D.7511 ^ D.7388;
  D.7362 = block->l[2];
  D.7513 = D.7512 ^ D.7362;
  D.7514 = D.7513 r>> 31;
  block->l[2] = D.7514;
  D.7362 = block->l[2];
  D.7620 = D.7557 + D.7362;
  D.7395 = b r>> 27;
  D.7621 = D.7620 + D.7395;
  D.7622 = D.7621 + 1859775393;
  a = D.7622 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7336 = block->l[0];
  D.7452 = block->l[11];
  D.7518 = D.7336 ^ D.7452;
  D.7398 = block->l[5];
  D.7519 = D.7518 ^ D.7398;
  D.7375 = block->l[3];
  D.7520 = D.7519 ^ D.7375;
  D.7521 = D.7520 r>> 31;
  block->l[3] = D.7521;
  D.7375 = block->l[3];
  D.7623 = D.7525 + D.7375;
  D.7343 = a r>> 27;
  D.7624 = D.7623 + D.7343;
  D.7625 = D.7624 + 1859775393;
  e = D.7625 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7349 = block->l[1];
  D.7461 = block->l[12];
  D.7526 = D.7349 ^ D.7461;
  D.7407 = block->l[6];
  D.7527 = D.7526 ^ D.7407;
  D.7388 = block->l[4];
  D.7528 = D.7527 ^ D.7388;
  D.7529 = D.7528 r>> 31;
  block->l[4] = D.7529;
  D.7388 = block->l[4];
  D.7626 = D.7533 + D.7388;
  D.7356 = e r>> 27;
  D.7627 = D.7626 + D.7356;
  D.7628 = D.7627 + 1859775393;
  d = D.7628 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7362 = block->l[2];
  D.7470 = block->l[13];
  D.7534 = D.7362 ^ D.7470;
  D.7416 = block->l[7];
  D.7535 = D.7534 ^ D.7416;
  D.7398 = block->l[5];
  D.7536 = D.7535 ^ D.7398;
  D.7537 = D.7536 r>> 31;
  block->l[5] = D.7537;
  D.7398 = block->l[5];
  D.7629 = D.7541 + D.7398;
  D.7369 = d r>> 27;
  D.7630 = D.7629 + D.7369;
  D.7631 = D.7630 + 1859775393;
  c = D.7631 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7375 = block->l[3];
  D.7479 = block->l[14];
  D.7542 = D.7375 ^ D.7479;
  D.7425 = block->l[8];
  D.7543 = D.7542 ^ D.7425;
  D.7407 = block->l[6];
  D.7544 = D.7543 ^ D.7407;
  D.7545 = D.7544 r>> 31;
  block->l[6] = D.7545;
  D.7407 = block->l[6];
  D.7632 = D.7549 + D.7407;
  D.7382 = c r>> 27;
  D.7633 = D.7632 + D.7382;
  D.7634 = D.7633 + 1859775393;
  b = D.7634 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7388 = block->l[4];
  D.7488 = block->l[15];
  D.7550 = D.7388 ^ D.7488;
  D.7434 = block->l[9];
  D.7551 = D.7550 ^ D.7434;
  D.7416 = block->l[7];
  D.7552 = D.7551 ^ D.7416;
  D.7553 = D.7552 r>> 31;
  block->l[7] = D.7553;
  D.7416 = block->l[7];
  D.7635 = D.7557 + D.7416;
  D.7395 = b r>> 27;
  D.7636 = D.7635 + D.7395;
  D.7637 = D.7636 + 1859775393;
  a = D.7637 + a;
  c = c r>> 2;
  D.7638 = b | c;
  D.7639 = D.7638 & d;
  D.7640 = b & c;
  D.7641 = D.7639 | D.7640;
  D.7398 = block->l[5];
  D.7336 = block->l[0];
  D.7558 = D.7398 ^ D.7336;
  D.7443 = block->l[10];
  D.7559 = D.7558 ^ D.7443;
  D.7425 = block->l[8];
  D.7560 = D.7559 ^ D.7425;
  D.7561 = D.7560 r>> 31;
  block->l[8] = D.7561;
  D.7425 = block->l[8];
  D.7642 = D.7641 + D.7425;
  D.7343 = a r>> 27;
  D.7643 = D.7642 + D.7343;
  D.7644 = D.7643 + 2400959708;
  e = D.7644 + e;
  b = b r>> 2;
  D.7645 = a | b;
  D.7646 = D.7645 & c;
  D.7647 = a & b;
  D.7648 = D.7646 | D.7647;
  D.7407 = block->l[6];
  D.7349 = block->l[1];
  D.7565 = D.7407 ^ D.7349;
  D.7452 = block->l[11];
  D.7566 = D.7565 ^ D.7452;
  D.7434 = block->l[9];
  D.7567 = D.7566 ^ D.7434;
  D.7568 = D.7567 r>> 31;
  block->l[9] = D.7568;
  D.7434 = block->l[9];
  D.7649 = D.7648 + D.7434;
  D.7356 = e r>> 27;
  D.7650 = D.7649 + D.7356;
  D.7651 = D.7650 + 2400959708;
  d = D.7651 + d;
  a = a r>> 2;
  D.7652 = e | a;
  D.7653 = D.7652 & b;
  D.7654 = e & a;
  D.7655 = D.7653 | D.7654;
  D.7416 = block->l[7];
  D.7362 = block->l[2];
  D.7572 = D.7416 ^ D.7362;
  D.7461 = block->l[12];
  D.7573 = D.7572 ^ D.7461;
  D.7443 = block->l[10];
  D.7574 = D.7573 ^ D.7443;
  D.7575 = D.7574 r>> 31;
  block->l[10] = D.7575;
  D.7443 = block->l[10];
  D.7656 = D.7655 + D.7443;
  D.7369 = d r>> 27;
  D.7657 = D.7656 + D.7369;
  D.7658 = D.7657 + 2400959708;
  c = D.7658 + c;
  e = e r>> 2;
  D.7659 = d | e;
  D.7660 = D.7659 & a;
  D.7661 = d & e;
  D.7662 = D.7660 | D.7661;
  D.7425 = block->l[8];
  D.7375 = block->l[3];
  D.7579 = D.7425 ^ D.7375;
  D.7470 = block->l[13];
  D.7580 = D.7579 ^ D.7470;
  D.7452 = block->l[11];
  D.7581 = D.7580 ^ D.7452;
  D.7582 = D.7581 r>> 31;
  block->l[11] = D.7582;
  D.7452 = block->l[11];
  D.7663 = D.7662 + D.7452;
  D.7382 = c r>> 27;
  D.7664 = D.7663 + D.7382;
  D.7665 = D.7664 + 2400959708;
  b = D.7665 + b;
  d = d r>> 2;
  D.7666 = c | d;
  D.7667 = D.7666 & e;
  D.7668 = c & d;
  D.7669 = D.7667 | D.7668;
  D.7434 = block->l[9];
  D.7388 = block->l[4];
  D.7586 = D.7434 ^ D.7388;
  D.7479 = block->l[14];
  D.7587 = D.7586 ^ D.7479;
  D.7461 = block->l[12];
  D.7588 = D.7587 ^ D.7461;
  D.7589 = D.7588 r>> 31;
  block->l[12] = D.7589;
  D.7461 = block->l[12];
  D.7670 = D.7669 + D.7461;
  D.7395 = b r>> 27;
  D.7671 = D.7670 + D.7395;
  D.7672 = D.7671 + 2400959708;
  a = D.7672 + a;
  c = c r>> 2;
  D.7638 = b | c;
  D.7639 = D.7638 & d;
  D.7640 = b & c;
  D.7641 = D.7639 | D.7640;
  D.7443 = block->l[10];
  D.7398 = block->l[5];
  D.7593 = D.7443 ^ D.7398;
  D.7488 = block->l[15];
  D.7594 = D.7593 ^ D.7488;
  D.7470 = block->l[13];
  D.7595 = D.7594 ^ D.7470;
  D.7596 = D.7595 r>> 31;
  block->l[13] = D.7596;
  D.7470 = block->l[13];
  D.7673 = D.7641 + D.7470;
  D.7343 = a r>> 27;
  D.7674 = D.7673 + D.7343;
  D.7675 = D.7674 + 2400959708;
  e = D.7675 + e;
  b = b r>> 2;
  D.7645 = a | b;
  D.7646 = D.7645 & c;
  D.7647 = a & b;
  D.7648 = D.7646 | D.7647;
  D.7452 = block->l[11];
  D.7407 = block->l[6];
  D.7600 = D.7452 ^ D.7407;
  D.7336 = block->l[0];
  D.7601 = D.7600 ^ D.7336;
  D.7479 = block->l[14];
  D.7602 = D.7601 ^ D.7479;
  D.7603 = D.7602 r>> 31;
  block->l[14] = D.7603;
  D.7479 = block->l[14];
  D.7676 = D.7648 + D.7479;
  D.7356 = e r>> 27;
  D.7677 = D.7676 + D.7356;
  D.7678 = D.7677 + 2400959708;
  d = D.7678 + d;
  a = a r>> 2;
  D.7652 = e | a;
  D.7653 = D.7652 & b;
  D.7654 = e & a;
  D.7655 = D.7653 | D.7654;
  D.7461 = block->l[12];
  D.7416 = block->l[7];
  D.7607 = D.7461 ^ D.7416;
  D.7349 = block->l[1];
  D.7608 = D.7607 ^ D.7349;
  D.7488 = block->l[15];
  D.7609 = D.7608 ^ D.7488;
  D.7610 = D.7609 r>> 31;
  block->l[15] = D.7610;
  D.7488 = block->l[15];
  D.7679 = D.7655 + D.7488;
  D.7369 = d r>> 27;
  D.7680 = D.7679 + D.7369;
  D.7681 = D.7680 + 2400959708;
  c = D.7681 + c;
  e = e r>> 2;
  D.7659 = d | e;
  D.7660 = D.7659 & a;
  D.7661 = d & e;
  D.7662 = D.7660 | D.7661;
  D.7470 = block->l[13];
  D.7425 = block->l[8];
  D.7497 = D.7470 ^ D.7425;
  D.7362 = block->l[2];
  D.7498 = D.7497 ^ D.7362;
  D.7336 = block->l[0];
  D.7499 = D.7498 ^ D.7336;
  D.7500 = D.7499 r>> 31;
  block->l[0] = D.7500;
  D.7336 = block->l[0];
  D.7682 = D.7662 + D.7336;
  D.7382 = c r>> 27;
  D.7683 = D.7682 + D.7382;
  D.7684 = D.7683 + 2400959708;
  b = D.7684 + b;
  d = d r>> 2;
  D.7666 = c | d;
  D.7667 = D.7666 & e;
  D.7668 = c & d;
  D.7669 = D.7667 | D.7668;
  D.7479 = block->l[14];
  D.7434 = block->l[9];
  D.7504 = D.7479 ^ D.7434;
  D.7375 = block->l[3];
  D.7505 = D.7504 ^ D.7375;
  D.7349 = block->l[1];
  D.7506 = D.7505 ^ D.7349;
  D.7507 = D.7506 r>> 31;
  block->l[1] = D.7507;
  D.7349 = block->l[1];
  D.7685 = D.7669 + D.7349;
  D.7395 = b r>> 27;
  D.7686 = D.7685 + D.7395;
  D.7687 = D.7686 + 2400959708;
  a = D.7687 + a;
  c = c r>> 2;
  D.7638 = b | c;
  D.7639 = D.7638 & d;
  D.7640 = b & c;
  D.7641 = D.7639 | D.7640;
  D.7488 = block->l[15];
  D.7443 = block->l[10];
  D.7511 = D.7488 ^ D.7443;
  D.7388 = block->l[4];
  D.7512 = D.7511 ^ D.7388;
  D.7362 = block->l[2];
  D.7513 = D.7512 ^ D.7362;
  D.7514 = D.7513 r>> 31;
  block->l[2] = D.7514;
  D.7362 = block->l[2];
  D.7688 = D.7641 + D.7362;
  D.7343 = a r>> 27;
  D.7689 = D.7688 + D.7343;
  D.7690 = D.7689 + 2400959708;
  e = D.7690 + e;
  b = b r>> 2;
  D.7645 = a | b;
  D.7646 = D.7645 & c;
  D.7647 = a & b;
  D.7648 = D.7646 | D.7647;
  D.7336 = block->l[0];
  D.7452 = block->l[11];
  D.7518 = D.7336 ^ D.7452;
  D.7398 = block->l[5];
  D.7519 = D.7518 ^ D.7398;
  D.7375 = block->l[3];
  D.7520 = D.7519 ^ D.7375;
  D.7521 = D.7520 r>> 31;
  block->l[3] = D.7521;
  D.7375 = block->l[3];
  D.7691 = D.7648 + D.7375;
  D.7356 = e r>> 27;
  D.7692 = D.7691 + D.7356;
  D.7693 = D.7692 + 2400959708;
  d = D.7693 + d;
  a = a r>> 2;
  D.7652 = e | a;
  D.7653 = D.7652 & b;
  D.7654 = e & a;
  D.7655 = D.7653 | D.7654;
  D.7349 = block->l[1];
  D.7461 = block->l[12];
  D.7526 = D.7349 ^ D.7461;
  D.7407 = block->l[6];
  D.7527 = D.7526 ^ D.7407;
  D.7388 = block->l[4];
  D.7528 = D.7527 ^ D.7388;
  D.7529 = D.7528 r>> 31;
  block->l[4] = D.7529;
  D.7388 = block->l[4];
  D.7694 = D.7655 + D.7388;
  D.7369 = d r>> 27;
  D.7695 = D.7694 + D.7369;
  D.7696 = D.7695 + 2400959708;
  c = D.7696 + c;
  e = e r>> 2;
  D.7659 = d | e;
  D.7660 = D.7659 & a;
  D.7661 = d & e;
  D.7662 = D.7660 | D.7661;
  D.7362 = block->l[2];
  D.7470 = block->l[13];
  D.7534 = D.7362 ^ D.7470;
  D.7416 = block->l[7];
  D.7535 = D.7534 ^ D.7416;
  D.7398 = block->l[5];
  D.7536 = D.7535 ^ D.7398;
  D.7537 = D.7536 r>> 31;
  block->l[5] = D.7537;
  D.7398 = block->l[5];
  D.7697 = D.7662 + D.7398;
  D.7382 = c r>> 27;
  D.7698 = D.7697 + D.7382;
  D.7699 = D.7698 + 2400959708;
  b = D.7699 + b;
  d = d r>> 2;
  D.7666 = c | d;
  D.7667 = D.7666 & e;
  D.7668 = c & d;
  D.7669 = D.7667 | D.7668;
  D.7375 = block->l[3];
  D.7479 = block->l[14];
  D.7542 = D.7375 ^ D.7479;
  D.7425 = block->l[8];
  D.7543 = D.7542 ^ D.7425;
  D.7407 = block->l[6];
  D.7544 = D.7543 ^ D.7407;
  D.7545 = D.7544 r>> 31;
  block->l[6] = D.7545;
  D.7407 = block->l[6];
  D.7700 = D.7669 + D.7407;
  D.7395 = b r>> 27;
  D.7701 = D.7700 + D.7395;
  D.7702 = D.7701 + 2400959708;
  a = D.7702 + a;
  c = c r>> 2;
  D.7638 = b | c;
  D.7639 = D.7638 & d;
  D.7640 = b & c;
  D.7641 = D.7639 | D.7640;
  D.7388 = block->l[4];
  D.7488 = block->l[15];
  D.7550 = D.7388 ^ D.7488;
  D.7434 = block->l[9];
  D.7551 = D.7550 ^ D.7434;
  D.7416 = block->l[7];
  D.7552 = D.7551 ^ D.7416;
  D.7553 = D.7552 r>> 31;
  block->l[7] = D.7553;
  D.7416 = block->l[7];
  D.7703 = D.7641 + D.7416;
  D.7343 = a r>> 27;
  D.7704 = D.7703 + D.7343;
  D.7705 = D.7704 + 2400959708;
  e = D.7705 + e;
  b = b r>> 2;
  D.7645 = a | b;
  D.7646 = D.7645 & c;
  D.7647 = a & b;
  D.7648 = D.7646 | D.7647;
  D.7398 = block->l[5];
  D.7336 = block->l[0];
  D.7558 = D.7398 ^ D.7336;
  D.7443 = block->l[10];
  D.7559 = D.7558 ^ D.7443;
  D.7425 = block->l[8];
  D.7560 = D.7559 ^ D.7425;
  D.7561 = D.7560 r>> 31;
  block->l[8] = D.7561;
  D.7425 = block->l[8];
  D.7706 = D.7648 + D.7425;
  D.7356 = e r>> 27;
  D.7707 = D.7706 + D.7356;
  D.7708 = D.7707 + 2400959708;
  d = D.7708 + d;
  a = a r>> 2;
  D.7652 = e | a;
  D.7653 = D.7652 & b;
  D.7654 = e & a;
  D.7655 = D.7653 | D.7654;
  D.7407 = block->l[6];
  D.7349 = block->l[1];
  D.7565 = D.7407 ^ D.7349;
  D.7452 = block->l[11];
  D.7566 = D.7565 ^ D.7452;
  D.7434 = block->l[9];
  D.7567 = D.7566 ^ D.7434;
  D.7568 = D.7567 r>> 31;
  block->l[9] = D.7568;
  D.7434 = block->l[9];
  D.7709 = D.7655 + D.7434;
  D.7369 = d r>> 27;
  D.7710 = D.7709 + D.7369;
  D.7711 = D.7710 + 2400959708;
  c = D.7711 + c;
  e = e r>> 2;
  D.7659 = d | e;
  D.7660 = D.7659 & a;
  D.7661 = d & e;
  D.7662 = D.7660 | D.7661;
  D.7416 = block->l[7];
  D.7362 = block->l[2];
  D.7572 = D.7416 ^ D.7362;
  D.7461 = block->l[12];
  D.7573 = D.7572 ^ D.7461;
  D.7443 = block->l[10];
  D.7574 = D.7573 ^ D.7443;
  D.7575 = D.7574 r>> 31;
  block->l[10] = D.7575;
  D.7443 = block->l[10];
  D.7712 = D.7662 + D.7443;
  D.7382 = c r>> 27;
  D.7713 = D.7712 + D.7382;
  D.7714 = D.7713 + 2400959708;
  b = D.7714 + b;
  d = d r>> 2;
  D.7666 = c | d;
  D.7667 = D.7666 & e;
  D.7668 = c & d;
  D.7669 = D.7667 | D.7668;
  D.7425 = block->l[8];
  D.7375 = block->l[3];
  D.7579 = D.7425 ^ D.7375;
  D.7470 = block->l[13];
  D.7580 = D.7579 ^ D.7470;
  D.7452 = block->l[11];
  D.7581 = D.7580 ^ D.7452;
  D.7582 = D.7581 r>> 31;
  block->l[11] = D.7582;
  D.7452 = block->l[11];
  D.7715 = D.7669 + D.7452;
  D.7395 = b r>> 27;
  D.7716 = D.7715 + D.7395;
  D.7717 = D.7716 + 2400959708;
  a = D.7717 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7434 = block->l[9];
  D.7388 = block->l[4];
  D.7586 = D.7434 ^ D.7388;
  D.7479 = block->l[14];
  D.7587 = D.7586 ^ D.7479;
  D.7461 = block->l[12];
  D.7588 = D.7587 ^ D.7461;
  D.7589 = D.7588 r>> 31;
  block->l[12] = D.7589;
  D.7461 = block->l[12];
  D.7718 = D.7525 + D.7461;
  D.7343 = a r>> 27;
  D.7719 = D.7718 + D.7343;
  D.7720 = D.7719 + 3395469782;
  e = D.7720 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7443 = block->l[10];
  D.7398 = block->l[5];
  D.7593 = D.7443 ^ D.7398;
  D.7488 = block->l[15];
  D.7594 = D.7593 ^ D.7488;
  D.7470 = block->l[13];
  D.7595 = D.7594 ^ D.7470;
  D.7596 = D.7595 r>> 31;
  block->l[13] = D.7596;
  D.7470 = block->l[13];
  D.7721 = D.7533 + D.7470;
  D.7356 = e r>> 27;
  D.7722 = D.7721 + D.7356;
  D.7723 = D.7722 + 3395469782;
  d = D.7723 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7452 = block->l[11];
  D.7407 = block->l[6];
  D.7600 = D.7452 ^ D.7407;
  D.7336 = block->l[0];
  D.7601 = D.7600 ^ D.7336;
  D.7479 = block->l[14];
  D.7602 = D.7601 ^ D.7479;
  D.7603 = D.7602 r>> 31;
  block->l[14] = D.7603;
  D.7479 = block->l[14];
  D.7724 = D.7541 + D.7479;
  D.7369 = d r>> 27;
  D.7725 = D.7724 + D.7369;
  D.7726 = D.7725 + 3395469782;
  c = D.7726 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7461 = block->l[12];
  D.7416 = block->l[7];
  D.7607 = D.7461 ^ D.7416;
  D.7349 = block->l[1];
  D.7608 = D.7607 ^ D.7349;
  D.7488 = block->l[15];
  D.7609 = D.7608 ^ D.7488;
  D.7610 = D.7609 r>> 31;
  block->l[15] = D.7610;
  D.7488 = block->l[15];
  D.7727 = D.7549 + D.7488;
  D.7382 = c r>> 27;
  D.7728 = D.7727 + D.7382;
  D.7729 = D.7728 + 3395469782;
  b = D.7729 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7470 = block->l[13];
  D.7425 = block->l[8];
  D.7497 = D.7470 ^ D.7425;
  D.7362 = block->l[2];
  D.7498 = D.7497 ^ D.7362;
  D.7336 = block->l[0];
  D.7499 = D.7498 ^ D.7336;
  D.7500 = D.7499 r>> 31;
  block->l[0] = D.7500;
  D.7336 = block->l[0];
  D.7730 = D.7557 + D.7336;
  D.7395 = b r>> 27;
  D.7731 = D.7730 + D.7395;
  D.7732 = D.7731 + 3395469782;
  a = D.7732 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7479 = block->l[14];
  D.7434 = block->l[9];
  D.7504 = D.7479 ^ D.7434;
  D.7375 = block->l[3];
  D.7505 = D.7504 ^ D.7375;
  D.7349 = block->l[1];
  D.7506 = D.7505 ^ D.7349;
  D.7507 = D.7506 r>> 31;
  block->l[1] = D.7507;
  D.7349 = block->l[1];
  D.7733 = D.7525 + D.7349;
  D.7343 = a r>> 27;
  D.7734 = D.7733 + D.7343;
  D.7735 = D.7734 + 3395469782;
  e = D.7735 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7488 = block->l[15];
  D.7443 = block->l[10];
  D.7511 = D.7488 ^ D.7443;
  D.7388 = block->l[4];
  D.7512 = D.7511 ^ D.7388;
  D.7362 = block->l[2];
  D.7513 = D.7512 ^ D.7362;
  D.7514 = D.7513 r>> 31;
  block->l[2] = D.7514;
  D.7362 = block->l[2];
  D.7736 = D.7533 + D.7362;
  D.7356 = e r>> 27;
  D.7737 = D.7736 + D.7356;
  D.7738 = D.7737 + 3395469782;
  d = D.7738 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7336 = block->l[0];
  D.7452 = block->l[11];
  D.7518 = D.7336 ^ D.7452;
  D.7398 = block->l[5];
  D.7519 = D.7518 ^ D.7398;
  D.7375 = block->l[3];
  D.7520 = D.7519 ^ D.7375;
  D.7521 = D.7520 r>> 31;
  block->l[3] = D.7521;
  D.7375 = block->l[3];
  D.7739 = D.7541 + D.7375;
  D.7369 = d r>> 27;
  D.7740 = D.7739 + D.7369;
  D.7741 = D.7740 + 3395469782;
  c = D.7741 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7349 = block->l[1];
  D.7461 = block->l[12];
  D.7526 = D.7349 ^ D.7461;
  D.7407 = block->l[6];
  D.7527 = D.7526 ^ D.7407;
  D.7388 = block->l[4];
  D.7528 = D.7527 ^ D.7388;
  D.7529 = D.7528 r>> 31;
  block->l[4] = D.7529;
  D.7388 = block->l[4];
  D.7742 = D.7549 + D.7388;
  D.7382 = c r>> 27;
  D.7743 = D.7742 + D.7382;
  D.7744 = D.7743 + 3395469782;
  b = D.7744 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7362 = block->l[2];
  D.7470 = block->l[13];
  D.7534 = D.7362 ^ D.7470;
  D.7416 = block->l[7];
  D.7535 = D.7534 ^ D.7416;
  D.7398 = block->l[5];
  D.7536 = D.7535 ^ D.7398;
  D.7537 = D.7536 r>> 31;
  block->l[5] = D.7537;
  D.7398 = block->l[5];
  D.7745 = D.7557 + D.7398;
  D.7395 = b r>> 27;
  D.7746 = D.7745 + D.7395;
  D.7747 = D.7746 + 3395469782;
  a = D.7747 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7375 = block->l[3];
  D.7479 = block->l[14];
  D.7542 = D.7375 ^ D.7479;
  D.7425 = block->l[8];
  D.7543 = D.7542 ^ D.7425;
  D.7407 = block->l[6];
  D.7544 = D.7543 ^ D.7407;
  D.7545 = D.7544 r>> 31;
  block->l[6] = D.7545;
  D.7407 = block->l[6];
  D.7748 = D.7525 + D.7407;
  D.7343 = a r>> 27;
  D.7749 = D.7748 + D.7343;
  D.7750 = D.7749 + 3395469782;
  e = D.7750 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7388 = block->l[4];
  D.7488 = block->l[15];
  D.7550 = D.7388 ^ D.7488;
  D.7434 = block->l[9];
  D.7551 = D.7550 ^ D.7434;
  D.7416 = block->l[7];
  D.7552 = D.7551 ^ D.7416;
  D.7553 = D.7552 r>> 31;
  block->l[7] = D.7553;
  D.7416 = block->l[7];
  D.7751 = D.7533 + D.7416;
  D.7356 = e r>> 27;
  D.7752 = D.7751 + D.7356;
  D.7753 = D.7752 + 3395469782;
  d = D.7753 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7398 = block->l[5];
  D.7336 = block->l[0];
  D.7558 = D.7398 ^ D.7336;
  D.7443 = block->l[10];
  D.7559 = D.7558 ^ D.7443;
  D.7425 = block->l[8];
  D.7560 = D.7559 ^ D.7425;
  D.7561 = D.7560 r>> 31;
  block->l[8] = D.7561;
  D.7425 = block->l[8];
  D.7754 = D.7541 + D.7425;
  D.7369 = d r>> 27;
  D.7755 = D.7754 + D.7369;
  D.7756 = D.7755 + 3395469782;
  c = D.7756 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7407 = block->l[6];
  D.7349 = block->l[1];
  D.7565 = D.7407 ^ D.7349;
  D.7452 = block->l[11];
  D.7566 = D.7565 ^ D.7452;
  D.7434 = block->l[9];
  D.7567 = D.7566 ^ D.7434;
  D.7568 = D.7567 r>> 31;
  block->l[9] = D.7568;
  D.7434 = block->l[9];
  D.7757 = D.7549 + D.7434;
  D.7382 = c r>> 27;
  D.7758 = D.7757 + D.7382;
  D.7759 = D.7758 + 3395469782;
  b = D.7759 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7416 = block->l[7];
  D.7362 = block->l[2];
  D.7572 = D.7416 ^ D.7362;
  D.7461 = block->l[12];
  D.7573 = D.7572 ^ D.7461;
  D.7443 = block->l[10];
  D.7574 = D.7573 ^ D.7443;
  D.7575 = D.7574 r>> 31;
  block->l[10] = D.7575;
  D.7443 = block->l[10];
  D.7760 = D.7557 + D.7443;
  D.7395 = b r>> 27;
  D.7761 = D.7760 + D.7395;
  D.7762 = D.7761 + 3395469782;
  a = D.7762 + a;
  c = c r>> 2;
  D.7346 = b ^ c;
  D.7525 = D.7346 ^ d;
  D.7425 = block->l[8];
  D.7375 = block->l[3];
  D.7579 = D.7425 ^ D.7375;
  D.7470 = block->l[13];
  D.7580 = D.7579 ^ D.7470;
  D.7452 = block->l[11];
  D.7581 = D.7580 ^ D.7452;
  D.7582 = D.7581 r>> 31;
  block->l[11] = D.7582;
  D.7452 = block->l[11];
  D.7763 = D.7525 + D.7452;
  D.7343 = a r>> 27;
  D.7764 = D.7763 + D.7343;
  D.7765 = D.7764 + 3395469782;
  e = D.7765 + e;
  b = b r>> 2;
  D.7359 = a ^ b;
  D.7533 = D.7359 ^ c;
  D.7434 = block->l[9];
  D.7388 = block->l[4];
  D.7586 = D.7434 ^ D.7388;
  D.7479 = block->l[14];
  D.7587 = D.7586 ^ D.7479;
  D.7461 = block->l[12];
  D.7588 = D.7587 ^ D.7461;
  D.7589 = D.7588 r>> 31;
  block->l[12] = D.7589;
  D.7461 = block->l[12];
  D.7766 = D.7533 + D.7461;
  D.7356 = e r>> 27;
  D.7767 = D.7766 + D.7356;
  D.7768 = D.7767 + 3395469782;
  d = D.7768 + d;
  a = a r>> 2;
  D.7372 = e ^ a;
  D.7541 = D.7372 ^ b;
  D.7443 = block->l[10];
  D.7398 = block->l[5];
  D.7593 = D.7443 ^ D.7398;
  D.7488 = block->l[15];
  D.7594 = D.7593 ^ D.7488;
  D.7470 = block->l[13];
  D.7595 = D.7594 ^ D.7470;
  D.7596 = D.7595 r>> 31;
  block->l[13] = D.7596;
  D.7470 = block->l[13];
  D.7769 = D.7541 + D.7470;
  D.7369 = d r>> 27;
  D.7770 = D.7769 + D.7369;
  D.7771 = D.7770 + 3395469782;
  c = D.7771 + c;
  e = e r>> 2;
  D.7385 = d ^ e;
  D.7549 = D.7385 ^ a;
  D.7452 = block->l[11];
  D.7407 = block->l[6];
  D.7600 = D.7452 ^ D.7407;
  D.7336 = block->l[0];
  D.7601 = D.7600 ^ D.7336;
  D.7479 = block->l[14];
  D.7602 = D.7601 ^ D.7479;
  D.7603 = D.7602 r>> 31;
  block->l[14] = D.7603;
  D.7479 = block->l[14];
  D.7772 = D.7549 + D.7479;
  D.7382 = c r>> 27;
  D.7773 = D.7772 + D.7382;
  D.7774 = D.7773 + 3395469782;
  b = D.7774 + b;
  d = d r>> 2;
  D.7333 = c ^ d;
  D.7557 = D.7333 ^ e;
  D.7461 = block->l[12];
  D.7416 = block->l[7];
  D.7607 = D.7461 ^ D.7416;
  D.7349 = block->l[1];
  D.7608 = D.7607 ^ D.7349;
  D.7488 = block->l[15];
  D.7609 = D.7608 ^ D.7488;
  D.7610 = D.7609 r>> 31;
  block->l[15] = D.7610;
  D.7488 = block->l[15];
  D.7775 = D.7557 + D.7488;
  D.7395 = b r>> 27;
  D.7776 = D.7775 + D.7395;
  D.7777 = D.7776 + 3395469782;
  a = D.7777 + a;
  c = c r>> 2;
  D.7778 = *state;
  D.7779 = D.7778 + a;
  *state = D.7779;
  D.7780 = state + 4;
  D.7780 = state + 4;
  D.7781 = *D.7780;
  D.7782 = D.7781 + b;
  *D.7780 = D.7782;
  D.7783 = state + 8;
  D.7783 = state + 8;
  D.7784 = *D.7783;
  D.7785 = D.7784 + c;
  *D.7783 = D.7785;
  D.7786 = state + 12;
  D.7786 = state + 12;
  D.7787 = *D.7786;
  D.7788 = D.7787 + d;
  *D.7786 = D.7788;
  D.7789 = state + 16;
  D.7789 = state + 16;
  D.7790 = *D.7789;
  D.7791 = D.7790 + e;
  *D.7789 = D.7791;
  e = 0;
  d = e;
  c = d;
  b = c;
  a = b;
}


memcpy (void * restrict __dest, const void * restrict __src, size_t __len)
{
  void * D.7792;
  unsigned int D.7793;

  D.7793 = __builtin_object_size (__dest, 0);
  D.7792 = __builtin___memcpy_chk (__dest, __src, __len, D.7793);
  return D.7792;
}


mono_sha1_final (struct MonoSHA1Context * context, unsigned char * digest)
{
  _Bool D.7795;
  int D.7796;
  unsigned int D.7797;
  unsigned int D.7798;
  unsigned int D.7799;
  unsigned int D.7800;
  int D.7801;
  unsigned int D.7802;
  unsigned char D.7803;
  unsigned int D.7804;
  unsigned int D.7805;
  unsigned char * D.7806;
  unsigned int D.7807;
  unsigned int D.7808;
  unsigned int D.7809;
  unsigned char D.7810;
  unsigned char[64] * D.7811;
  guint32[5] * D.7812;
  guint32[2] * D.7813;
  guint32 i;
  unsigned char finalcount[8];

  try
    {
      i = 0;
      goto <D.7274>;
      <D.7273>:
      D.7795 = i <= 3;
      D.7796 = (int) D.7795;
      D.7797 = context->count[D.7796];
      D.7798 = ~i;
      D.7799 = D.7798 & 3;
      D.7800 = D.7799 * 8;
      D.7801 = (int) D.7800;
      D.7802 = D.7797 >> D.7801;
      D.7803 = (unsigned char) D.7802;
      finalcount[i] = D.7803;
      i = i + 1;
      <D.7274>:
      if (i <= 7) goto <D.7273>; else goto <D.7275>;
      <D.7275>:
      mono_sha1_update (context, "€", 1);
      goto <D.7277>;
      <D.7276>:
      mono_sha1_update (context, "", 1);
      <D.7277>:
      D.7804 = context->count[0];
      D.7805 = D.7804 & 504;
      if (D.7805 != 448) goto <D.7276>; else goto <D.7278>;
      <D.7278>:
      mono_sha1_update (context, &finalcount, 8);
      i = 0;
      goto <D.7280>;
      <D.7279>:
      D.7806 = digest + i;
      D.7807 = i >> 2;
      D.7808 = context->state[D.7807];
      D.7798 = ~i;
      D.7799 = D.7798 & 3;
      D.7800 = D.7799 * 8;
      D.7801 = (int) D.7800;
      D.7809 = D.7808 >> D.7801;
      D.7810 = (unsigned char) D.7809;
      *D.7806 = D.7810;
      i = i + 1;
      <D.7280>:
      if (i <= 19) goto <D.7279>; else goto <D.7281>;
      <D.7281>:
      i = 0;
      D.7811 = &context->buffer;
      memset (D.7811, 0, 64);
      D.7812 = &context->state;
      memset (D.7812, 0, 20);
      D.7813 = &context->count;
      memset (D.7813, 0, 8);
      memset (&finalcount, 0, 8);
      D.7812 = &context->state;
      D.7811 = &context->buffer;
      SHA1Transform (D.7812, D.7811);
    }
  finally
    {
      finalcount = {CLOBBER};
    }
}


memset (void * __dest, int __ch, size_t __len)
{
  int D.7816;
  int D.7821;
  void * D.7823;
  unsigned int D.7824;

  D.7816 = __builtin_constant_p (__len);
  if (D.7816 != 0) goto <D.7817>; else goto <D.7818>;
  <D.7817>:
  if (__len == 0) goto <D.7819>; else goto <D.7820>;
  <D.7819>:
  D.7821 = __builtin_constant_p (__ch);
  if (D.7821 == 0) goto <D.7814>; else goto <D.7822>;
  <D.7822>:
  if (__ch != 0) goto <D.7814>; else goto <D.7815>;
  <D.7814>:
  __warn_memset_zero_len ();
  D.7823 = __dest;
  return D.7823;
  <D.7815>:
  <D.7820>:
  <D.7818>:
  D.7824 = __builtin_object_size (__dest, 0);
  D.7823 = __builtin___memset_chk (__dest, __ch, __len, D.7824);
  return D.7823;
}


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;
  unsigned int D.7830;
  int D.7831;
  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.7827>; else goto <D.7828>;
      <D.7827>:
      return;
      <D.7828>:
      goto <D.7297>;
      <D.7296>:
      nb_bytes_read.1 = (unsigned int) nb_bytes_read;
      mono_sha1_update (&ctx, &tmp_buf, nb_bytes_read.1);
      <D.7297>:
      D.7830 = fread (&tmp_buf, 1, 1024, fp);
      nb_bytes_read = (gint) D.7830;
      if (nb_bytes_read > 0) goto <D.7296>; else goto <D.7298>;
      <D.7298>:
      D.7831 = ferror (fp);
      if (D.7831 != 0) goto <D.7832>; else goto <D.7833>;
      <D.7832>:
      fclose (fp);
      return;
      <D.7833>:
      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)
{
  unsigned int D.7837;
  int D.7842;
  int D.7844;
  unsigned int D.7846;
  size_t D.7847;
  unsigned int D.7848;
  unsigned int D.7849;
  unsigned int D.7850;
  unsigned int D.7853;

  D.7837 = __builtin_object_size (__ptr, 0);
  if (D.7837 != 4294967295) goto <D.7838>; else goto <D.7839>;
  <D.7838>:
  D.7842 = __builtin_constant_p (__size);
  if (D.7842 == 0) goto <D.7840>; else goto <D.7843>;
  <D.7843>:
  D.7844 = __builtin_constant_p (__n);
  if (D.7844 == 0) goto <D.7840>; else goto <D.7845>;
  <D.7845>:
  D.7846 = __size | __n;
  if (D.7846 > 65535) goto <D.7840>; else goto <D.7841>;
  <D.7840>:
  D.7848 = __builtin_object_size (__ptr, 0);
  D.7847 = __fread_chk (__ptr, D.7848, __size, __n, __stream);
  return D.7847;
  <D.7841>:
  D.7849 = __size * __n;
  D.7850 = __builtin_object_size (__ptr, 0);
  if (D.7849 > D.7850) goto <D.7851>; else goto <D.7852>;
  <D.7851>:
  D.7853 = __builtin_object_size (__ptr, 0);
  D.7847 = __fread_chk_warn (__ptr, D.7853, __size, __n, __stream);
  return D.7847;
  <D.7852>:
  <D.7839>:
  D.7847 = __fread_alias (__ptr, __size, __n, __stream);
  return D.7847;
}


mono_digest_get_public_token (guchar * token, const guchar * pubkey, guint32 len)
{
  int len.2;
  sizetype i.3;
  guchar * D.7859;
  int D.7860;
  unsigned char D.7861;
  guchar digest[20];
  int i;

  try
    {
      if (token == 0B) goto <D.7855>; else goto <D.7856>;
      <D.7855>:
      monoeg_g_log (0B, 8, "%s:%d: assertion \'%s\' failed", "mono-sha1.c", 331, "token != NULL");
      return;
      <D.7856>:
      len.2 = (int) len;
      mono_sha1_get_digest (pubkey, len.2, &digest);
      i = 0;
      goto <D.7307>;
      <D.7306>:
      i.3 = (sizetype) i;
      D.7859 = token + i.3;
      D.7860 = 19 - i;
      D.7861 = digest[D.7860];
      *D.7859 = D.7861;
      i = i + 1;
      <D.7307>:
      if (i <= 7) goto <D.7306>; else goto <D.7308>;
      <D.7308>:
    }
  finally
    {
      digest = {CLOBBER};
    }
}


