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

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


mono_sha1_update (struct MonoSHA1Context * context, const guchar * data, guint32 len)
{
  unsigned int D.4724;
  unsigned int D.4725;
  unsigned int D.4726;
  unsigned int D.4727;
  unsigned int D.4730;
  unsigned int D.4731;
  unsigned int D.4732;
  unsigned int D.4733;
  unsigned int D.4734;
  unsigned char * D.4737;
  guint32[5] * D.4738;
  unsigned char[64] * D.4739;
  const guchar * D.4740;
  unsigned int D.4741;
  unsigned int D.4743;
  guint32 i;
  guint32 j;

  D.4724 = context->count[0];
  D.4725 = D.4724 >> 3;
  j = D.4725 & 63;
  D.4724 = context->count[0];
  D.4726 = len << 3;
  D.4727 = D.4724 + D.4726;
  context->count[0] = D.4727;
  D.4724 = context->count[0];
  D.4726 = len << 3;
  if (D.4724 < D.4726) goto <D.4728>; else goto <D.4729>;
  <D.4728>:
  D.4730 = context->count[1];
  D.4731 = D.4730 + 1;
  context->count[1] = D.4731;
  <D.4729>:
  D.4730 = context->count[1];
  D.4732 = len >> 29;
  D.4733 = D.4730 + D.4732;
  context->count[1] = D.4733;
  D.4734 = j + len;
  if (D.4734 > 63) goto <D.4735>; else goto <D.4736>;
  <D.4735>:
  D.4737 = &context->buffer[j];
  i = 64 - j;
  memcpy (D.4737, data, i);
  D.4738 = &context->state;
  D.4739 = &context->buffer;
  SHA1Transform (D.4738, D.4739);
  goto <D.4678>;
  <D.4677>:
  D.4738 = &context->state;
  D.4740 = data + i;
  SHA1Transform (D.4738, D.4740);
  i = i + 64;
  <D.4678>:
  D.4741 = i + 63;
  if (D.4741 < len) goto <D.4677>; else goto <D.4679>;
  <D.4679>:
  j = 0;
  goto <D.4742>;
  <D.4736>:
  i = 0;
  <D.4742>:
  D.4737 = &context->buffer[j];
  D.4740 = data + i;
  D.4743 = len - i;
  memcpy (D.4737, D.4740, D.4743);
}


SHA1Transform (guint32 * state, const guchar * buffer)
{
  unsigned int D.4744;
  unsigned int D.4745;
  unsigned int D.4746;
  unsigned int D.4747;
  unsigned int D.4748;
  unsigned int D.4749;
  unsigned int D.4750;
  unsigned int D.4751;
  unsigned int D.4752;
  unsigned int D.4753;
  unsigned int D.4754;
  unsigned int D.4755;
  unsigned int D.4756;
  unsigned int D.4757;
  unsigned int D.4758;
  unsigned int D.4759;
  unsigned int D.4760;
  unsigned int D.4761;
  unsigned int D.4762;
  unsigned int D.4763;
  unsigned int D.4764;
  unsigned int D.4765;
  unsigned int D.4766;
  unsigned int D.4767;
  unsigned int D.4768;
  unsigned int D.4769;
  unsigned int D.4770;
  unsigned int D.4771;
  unsigned int D.4772;
  unsigned int D.4773;
  unsigned int D.4774;
  unsigned int D.4775;
  unsigned int D.4776;
  unsigned int D.4777;
  unsigned int D.4778;
  unsigned int D.4779;
  unsigned int D.4780;
  unsigned int D.4781;
  unsigned int D.4782;
  unsigned int D.4783;
  unsigned int D.4784;
  unsigned int D.4785;
  unsigned int D.4786;
  unsigned int D.4787;
  unsigned int D.4788;
  unsigned int D.4789;
  unsigned int D.4790;
  unsigned int D.4791;
  unsigned int D.4792;
  unsigned int D.4793;
  unsigned int D.4794;
  unsigned int D.4795;
  unsigned int D.4796;
  unsigned int D.4797;
  unsigned int D.4798;
  unsigned int D.4799;
  unsigned int D.4800;
  unsigned int D.4801;
  unsigned int D.4802;
  unsigned int D.4803;
  unsigned int D.4804;
  unsigned int D.4805;
  unsigned int D.4806;
  unsigned int D.4807;
  unsigned int D.4808;
  unsigned int D.4809;
  unsigned int D.4810;
  unsigned int D.4811;
  unsigned int D.4812;
  unsigned int D.4813;
  unsigned int D.4814;
  unsigned int D.4815;
  unsigned int D.4816;
  unsigned int D.4817;
  unsigned int D.4818;
  unsigned int D.4819;
  unsigned int D.4820;
  unsigned int D.4821;
  unsigned int D.4822;
  unsigned int D.4823;
  unsigned int D.4824;
  unsigned int D.4825;
  unsigned int D.4826;
  unsigned int D.4827;
  unsigned int D.4828;
  unsigned int D.4829;
  unsigned int D.4830;
  unsigned int D.4831;
  unsigned int D.4832;
  unsigned int D.4833;
  unsigned int D.4834;
  unsigned int D.4835;
  unsigned int D.4836;
  unsigned int D.4837;
  unsigned int D.4838;
  unsigned int D.4839;
  unsigned int D.4840;
  unsigned int D.4841;
  unsigned int D.4842;
  unsigned int D.4843;
  unsigned int D.4844;
  unsigned int D.4845;
  unsigned int D.4846;
  unsigned int D.4847;
  unsigned int D.4848;
  unsigned int D.4849;
  unsigned int D.4850;
  unsigned int D.4851;
  unsigned int D.4852;
  unsigned int D.4853;
  unsigned int D.4854;
  unsigned int D.4855;
  unsigned int D.4856;
  unsigned int D.4857;
  unsigned int D.4858;
  unsigned int D.4859;
  unsigned int D.4860;
  unsigned int D.4861;
  unsigned int D.4862;
  unsigned int D.4863;
  unsigned int D.4864;
  unsigned int D.4865;
  unsigned int D.4866;
  unsigned int D.4867;
  unsigned int D.4868;
  unsigned int D.4869;
  unsigned int D.4870;
  unsigned int D.4871;
  unsigned int D.4872;
  unsigned int D.4873;
  unsigned int D.4874;
  unsigned int D.4875;
  unsigned int D.4876;
  unsigned int D.4877;
  unsigned int D.4878;
  unsigned int D.4879;
  unsigned int D.4880;
  unsigned int D.4881;
  unsigned int D.4882;
  unsigned int D.4883;
  unsigned int D.4884;
  unsigned int D.4885;
  unsigned int D.4886;
  unsigned int D.4887;
  unsigned int D.4888;
  unsigned int D.4889;
  unsigned int D.4890;
  unsigned int D.4891;
  unsigned int D.4892;
  unsigned int D.4893;
  unsigned int D.4894;
  unsigned int D.4895;
  unsigned int D.4896;
  unsigned int D.4897;
  unsigned int D.4898;
  unsigned int D.4899;
  unsigned int D.4900;
  unsigned int D.4901;
  unsigned int D.4902;
  unsigned int D.4903;
  unsigned int D.4904;
  unsigned int D.4905;
  unsigned int D.4906;
  unsigned int D.4907;
  unsigned int D.4908;
  unsigned int D.4909;
  unsigned int D.4910;
  unsigned int D.4911;
  unsigned int D.4912;
  unsigned int D.4913;
  unsigned int D.4914;
  unsigned int D.4915;
  unsigned int D.4916;
  unsigned int D.4917;
  unsigned int D.4918;
  unsigned int D.4919;
  unsigned int D.4920;
  unsigned int D.4921;
  unsigned int D.4922;
  unsigned int D.4923;
  unsigned int D.4924;
  unsigned int D.4925;
  unsigned int D.4926;
  unsigned int D.4927;
  unsigned int D.4928;
  unsigned int D.4929;
  unsigned int D.4930;
  unsigned int D.4931;
  unsigned int D.4932;
  unsigned int D.4933;
  unsigned int D.4934;
  unsigned int D.4935;
  unsigned int D.4936;
  unsigned int D.4937;
  unsigned int D.4938;
  unsigned int D.4939;
  unsigned int D.4940;
  unsigned int D.4941;
  unsigned int D.4942;
  unsigned int D.4943;
  unsigned int D.4944;
  unsigned int D.4945;
  unsigned int D.4946;
  unsigned int D.4947;
  unsigned int D.4948;
  unsigned int D.4949;
  unsigned int D.4950;
  unsigned int D.4951;
  unsigned int D.4952;
  unsigned int D.4953;
  unsigned int D.4954;
  unsigned int D.4955;
  unsigned int D.4956;
  unsigned int D.4957;
  unsigned int D.4958;
  unsigned int D.4959;
  unsigned int D.4960;
  unsigned int D.4961;
  unsigned int D.4962;
  unsigned int D.4963;
  unsigned int D.4964;
  unsigned int D.4965;
  unsigned int D.4966;
  unsigned int D.4967;
  unsigned int D.4968;
  unsigned int D.4969;
  unsigned int D.4970;
  unsigned int D.4971;
  unsigned int D.4972;
  unsigned int D.4973;
  unsigned int D.4974;
  unsigned int D.4975;
  unsigned int D.4976;
  unsigned int D.4977;
  unsigned int D.4978;
  unsigned int D.4979;
  unsigned int D.4980;
  unsigned int D.4981;
  unsigned int D.4982;
  unsigned int D.4983;
  unsigned int D.4984;
  unsigned int D.4985;
  unsigned int D.4986;
  unsigned int D.4987;
  unsigned int D.4988;
  unsigned int D.4989;
  unsigned int D.4990;
  unsigned int D.4991;
  unsigned int D.4992;
  unsigned int D.4993;
  unsigned int D.4994;
  unsigned int D.4995;
  unsigned int D.4996;
  unsigned int D.4997;
  unsigned int D.4998;
  unsigned int D.4999;
  unsigned int D.5000;
  unsigned int D.5001;
  unsigned int D.5002;
  unsigned int D.5003;
  unsigned int D.5004;
  unsigned int D.5005;
  unsigned int D.5006;
  unsigned int D.5007;
  unsigned int D.5008;
  unsigned int D.5009;
  unsigned int D.5010;
  unsigned int D.5011;
  unsigned int D.5012;
  unsigned int D.5013;
  unsigned int D.5014;
  unsigned int D.5015;
  unsigned int D.5016;
  unsigned int D.5017;
  unsigned int D.5018;
  unsigned int D.5019;
  unsigned int D.5020;
  unsigned int D.5021;
  unsigned int D.5022;
  unsigned int D.5023;
  unsigned int D.5024;
  unsigned int D.5025;
  unsigned int D.5026;
  unsigned int D.5027;
  unsigned int D.5028;
  unsigned int D.5029;
  unsigned int D.5030;
  unsigned int D.5031;
  unsigned int D.5032;
  unsigned int D.5033;
  unsigned int D.5034;
  unsigned int D.5035;
  unsigned int D.5036;
  unsigned int D.5037;
  unsigned int D.5038;
  unsigned int D.5039;
  unsigned int D.5040;
  unsigned int D.5041;
  unsigned int D.5042;
  unsigned int D.5043;
  unsigned int D.5044;
  unsigned int D.5045;
  unsigned int D.5046;
  unsigned int D.5047;
  unsigned int D.5048;
  unsigned int D.5049;
  unsigned int D.5050;
  unsigned int D.5051;
  unsigned int D.5052;
  unsigned int D.5053;
  unsigned int D.5054;
  unsigned int D.5055;
  unsigned int D.5056;
  unsigned int D.5057;
  unsigned int D.5058;
  unsigned int D.5059;
  unsigned int D.5060;
  unsigned int D.5061;
  unsigned int D.5062;
  unsigned int D.5063;
  unsigned int D.5064;
  unsigned int D.5065;
  unsigned int D.5066;
  unsigned int D.5067;
  unsigned int D.5068;
  unsigned int D.5069;
  unsigned int D.5070;
  unsigned int D.5071;
  unsigned int D.5072;
  unsigned int D.5073;
  unsigned int D.5074;
  unsigned int D.5075;
  unsigned int D.5076;
  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;
  guint32 * D.5191;
  unsigned int D.5192;
  unsigned int D.5193;
  guint32 * D.5194;
  unsigned int D.5195;
  unsigned int D.5196;
  guint32 * D.5197;
  unsigned int D.5198;
  unsigned int D.5199;
  guint32 * D.5200;
  unsigned int D.5201;
  unsigned int D.5202;
  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.4744 = c ^ d;
  D.4745 = D.4744 & b;
  D.4746 = D.4745 ^ d;
  D.4747 = block->l[0];
  D.4748 = D.4747 r>> 8;
  D.4749 = D.4748 & 4278255360;
  D.4747 = block->l[0];
  D.4750 = D.4747 r>> 24;
  D.4751 = D.4750 & 16711935;
  D.4752 = D.4749 | D.4751;
  block->l[0] = D.4752;
  D.4747 = block->l[0];
  D.4753 = D.4746 + D.4747;
  D.4754 = a r>> 27;
  D.4755 = D.4753 + D.4754;
  D.4756 = D.4755 + 1518500249;
  e = D.4756 + e;
  b = b r>> 2;
  D.4757 = b ^ c;
  D.4758 = D.4757 & a;
  D.4759 = D.4758 ^ c;
  D.4760 = block->l[1];
  D.4761 = D.4760 r>> 8;
  D.4762 = D.4761 & 4278255360;
  D.4760 = block->l[1];
  D.4763 = D.4760 r>> 24;
  D.4764 = D.4763 & 16711935;
  D.4765 = D.4762 | D.4764;
  block->l[1] = D.4765;
  D.4760 = block->l[1];
  D.4766 = D.4759 + D.4760;
  D.4767 = e r>> 27;
  D.4768 = D.4766 + D.4767;
  D.4769 = D.4768 + 1518500249;
  d = D.4769 + d;
  a = a r>> 2;
  D.4770 = a ^ b;
  D.4771 = D.4770 & e;
  D.4772 = D.4771 ^ b;
  D.4773 = block->l[2];
  D.4774 = D.4773 r>> 8;
  D.4775 = D.4774 & 4278255360;
  D.4773 = block->l[2];
  D.4776 = D.4773 r>> 24;
  D.4777 = D.4776 & 16711935;
  D.4778 = D.4775 | D.4777;
  block->l[2] = D.4778;
  D.4773 = block->l[2];
  D.4779 = D.4772 + D.4773;
  D.4780 = d r>> 27;
  D.4781 = D.4779 + D.4780;
  D.4782 = D.4781 + 1518500249;
  c = D.4782 + c;
  e = e r>> 2;
  D.4783 = e ^ a;
  D.4784 = D.4783 & d;
  D.4785 = D.4784 ^ a;
  D.4786 = block->l[3];
  D.4787 = D.4786 r>> 8;
  D.4788 = D.4787 & 4278255360;
  D.4786 = block->l[3];
  D.4789 = D.4786 r>> 24;
  D.4790 = D.4789 & 16711935;
  D.4791 = D.4788 | D.4790;
  block->l[3] = D.4791;
  D.4786 = block->l[3];
  D.4792 = D.4785 + D.4786;
  D.4793 = c r>> 27;
  D.4794 = D.4792 + D.4793;
  D.4795 = D.4794 + 1518500249;
  b = D.4795 + b;
  d = d r>> 2;
  D.4796 = d ^ e;
  D.4797 = D.4796 & c;
  D.4798 = D.4797 ^ e;
  D.4799 = block->l[4];
  D.4800 = D.4799 r>> 8;
  D.4801 = D.4800 & 4278255360;
  D.4799 = block->l[4];
  D.4802 = D.4799 r>> 24;
  D.4803 = D.4802 & 16711935;
  D.4804 = D.4801 | D.4803;
  block->l[4] = D.4804;
  D.4799 = block->l[4];
  D.4805 = D.4798 + D.4799;
  D.4806 = b r>> 27;
  D.4807 = D.4805 + D.4806;
  D.4808 = D.4807 + 1518500249;
  a = D.4808 + a;
  c = c r>> 2;
  D.4744 = c ^ d;
  D.4745 = D.4744 & b;
  D.4746 = D.4745 ^ d;
  D.4809 = block->l[5];
  D.4810 = D.4809 r>> 8;
  D.4811 = D.4810 & 4278255360;
  D.4809 = block->l[5];
  D.4812 = D.4809 r>> 24;
  D.4813 = D.4812 & 16711935;
  D.4814 = D.4811 | D.4813;
  block->l[5] = D.4814;
  D.4809 = block->l[5];
  D.4815 = D.4746 + D.4809;
  D.4754 = a r>> 27;
  D.4816 = D.4815 + D.4754;
  D.4817 = D.4816 + 1518500249;
  e = D.4817 + e;
  b = b r>> 2;
  D.4757 = b ^ c;
  D.4758 = D.4757 & a;
  D.4759 = D.4758 ^ c;
  D.4818 = block->l[6];
  D.4819 = D.4818 r>> 8;
  D.4820 = D.4819 & 4278255360;
  D.4818 = block->l[6];
  D.4821 = D.4818 r>> 24;
  D.4822 = D.4821 & 16711935;
  D.4823 = D.4820 | D.4822;
  block->l[6] = D.4823;
  D.4818 = block->l[6];
  D.4824 = D.4759 + D.4818;
  D.4767 = e r>> 27;
  D.4825 = D.4824 + D.4767;
  D.4826 = D.4825 + 1518500249;
  d = D.4826 + d;
  a = a r>> 2;
  D.4770 = a ^ b;
  D.4771 = D.4770 & e;
  D.4772 = D.4771 ^ b;
  D.4827 = block->l[7];
  D.4828 = D.4827 r>> 8;
  D.4829 = D.4828 & 4278255360;
  D.4827 = block->l[7];
  D.4830 = D.4827 r>> 24;
  D.4831 = D.4830 & 16711935;
  D.4832 = D.4829 | D.4831;
  block->l[7] = D.4832;
  D.4827 = block->l[7];
  D.4833 = D.4772 + D.4827;
  D.4780 = d r>> 27;
  D.4834 = D.4833 + D.4780;
  D.4835 = D.4834 + 1518500249;
  c = D.4835 + c;
  e = e r>> 2;
  D.4783 = e ^ a;
  D.4784 = D.4783 & d;
  D.4785 = D.4784 ^ a;
  D.4836 = block->l[8];
  D.4837 = D.4836 r>> 8;
  D.4838 = D.4837 & 4278255360;
  D.4836 = block->l[8];
  D.4839 = D.4836 r>> 24;
  D.4840 = D.4839 & 16711935;
  D.4841 = D.4838 | D.4840;
  block->l[8] = D.4841;
  D.4836 = block->l[8];
  D.4842 = D.4785 + D.4836;
  D.4793 = c r>> 27;
  D.4843 = D.4842 + D.4793;
  D.4844 = D.4843 + 1518500249;
  b = D.4844 + b;
  d = d r>> 2;
  D.4796 = d ^ e;
  D.4797 = D.4796 & c;
  D.4798 = D.4797 ^ e;
  D.4845 = block->l[9];
  D.4846 = D.4845 r>> 8;
  D.4847 = D.4846 & 4278255360;
  D.4845 = block->l[9];
  D.4848 = D.4845 r>> 24;
  D.4849 = D.4848 & 16711935;
  D.4850 = D.4847 | D.4849;
  block->l[9] = D.4850;
  D.4845 = block->l[9];
  D.4851 = D.4798 + D.4845;
  D.4806 = b r>> 27;
  D.4852 = D.4851 + D.4806;
  D.4853 = D.4852 + 1518500249;
  a = D.4853 + a;
  c = c r>> 2;
  D.4744 = c ^ d;
  D.4745 = D.4744 & b;
  D.4746 = D.4745 ^ d;
  D.4854 = block->l[10];
  D.4855 = D.4854 r>> 8;
  D.4856 = D.4855 & 4278255360;
  D.4854 = block->l[10];
  D.4857 = D.4854 r>> 24;
  D.4858 = D.4857 & 16711935;
  D.4859 = D.4856 | D.4858;
  block->l[10] = D.4859;
  D.4854 = block->l[10];
  D.4860 = D.4746 + D.4854;
  D.4754 = a r>> 27;
  D.4861 = D.4860 + D.4754;
  D.4862 = D.4861 + 1518500249;
  e = D.4862 + e;
  b = b r>> 2;
  D.4757 = b ^ c;
  D.4758 = D.4757 & a;
  D.4759 = D.4758 ^ c;
  D.4863 = block->l[11];
  D.4864 = D.4863 r>> 8;
  D.4865 = D.4864 & 4278255360;
  D.4863 = block->l[11];
  D.4866 = D.4863 r>> 24;
  D.4867 = D.4866 & 16711935;
  D.4868 = D.4865 | D.4867;
  block->l[11] = D.4868;
  D.4863 = block->l[11];
  D.4869 = D.4759 + D.4863;
  D.4767 = e r>> 27;
  D.4870 = D.4869 + D.4767;
  D.4871 = D.4870 + 1518500249;
  d = D.4871 + d;
  a = a r>> 2;
  D.4770 = a ^ b;
  D.4771 = D.4770 & e;
  D.4772 = D.4771 ^ b;
  D.4872 = block->l[12];
  D.4873 = D.4872 r>> 8;
  D.4874 = D.4873 & 4278255360;
  D.4872 = block->l[12];
  D.4875 = D.4872 r>> 24;
  D.4876 = D.4875 & 16711935;
  D.4877 = D.4874 | D.4876;
  block->l[12] = D.4877;
  D.4872 = block->l[12];
  D.4878 = D.4772 + D.4872;
  D.4780 = d r>> 27;
  D.4879 = D.4878 + D.4780;
  D.4880 = D.4879 + 1518500249;
  c = D.4880 + c;
  e = e r>> 2;
  D.4783 = e ^ a;
  D.4784 = D.4783 & d;
  D.4785 = D.4784 ^ a;
  D.4881 = block->l[13];
  D.4882 = D.4881 r>> 8;
  D.4883 = D.4882 & 4278255360;
  D.4881 = block->l[13];
  D.4884 = D.4881 r>> 24;
  D.4885 = D.4884 & 16711935;
  D.4886 = D.4883 | D.4885;
  block->l[13] = D.4886;
  D.4881 = block->l[13];
  D.4887 = D.4785 + D.4881;
  D.4793 = c r>> 27;
  D.4888 = D.4887 + D.4793;
  D.4889 = D.4888 + 1518500249;
  b = D.4889 + b;
  d = d r>> 2;
  D.4796 = d ^ e;
  D.4797 = D.4796 & c;
  D.4798 = D.4797 ^ e;
  D.4890 = block->l[14];
  D.4891 = D.4890 r>> 8;
  D.4892 = D.4891 & 4278255360;
  D.4890 = block->l[14];
  D.4893 = D.4890 r>> 24;
  D.4894 = D.4893 & 16711935;
  D.4895 = D.4892 | D.4894;
  block->l[14] = D.4895;
  D.4890 = block->l[14];
  D.4896 = D.4798 + D.4890;
  D.4806 = b r>> 27;
  D.4897 = D.4896 + D.4806;
  D.4898 = D.4897 + 1518500249;
  a = D.4898 + a;
  c = c r>> 2;
  D.4744 = c ^ d;
  D.4745 = D.4744 & b;
  D.4746 = D.4745 ^ d;
  D.4899 = block->l[15];
  D.4900 = D.4899 r>> 8;
  D.4901 = D.4900 & 4278255360;
  D.4899 = block->l[15];
  D.4902 = D.4899 r>> 24;
  D.4903 = D.4902 & 16711935;
  D.4904 = D.4901 | D.4903;
  block->l[15] = D.4904;
  D.4899 = block->l[15];
  D.4905 = D.4746 + D.4899;
  D.4754 = a r>> 27;
  D.4906 = D.4905 + D.4754;
  D.4907 = D.4906 + 1518500249;
  e = D.4907 + e;
  b = b r>> 2;
  D.4757 = b ^ c;
  D.4758 = D.4757 & a;
  D.4759 = D.4758 ^ c;
  D.4881 = block->l[13];
  D.4836 = block->l[8];
  D.4908 = D.4881 ^ D.4836;
  D.4773 = block->l[2];
  D.4909 = D.4908 ^ D.4773;
  D.4747 = block->l[0];
  D.4910 = D.4909 ^ D.4747;
  D.4911 = D.4910 r>> 31;
  block->l[0] = D.4911;
  D.4747 = block->l[0];
  D.4912 = D.4759 + D.4747;
  D.4767 = e r>> 27;
  D.4913 = D.4912 + D.4767;
  D.4914 = D.4913 + 1518500249;
  d = D.4914 + d;
  a = a r>> 2;
  D.4770 = a ^ b;
  D.4771 = D.4770 & e;
  D.4772 = D.4771 ^ b;
  D.4890 = block->l[14];
  D.4845 = block->l[9];
  D.4915 = D.4890 ^ D.4845;
  D.4786 = block->l[3];
  D.4916 = D.4915 ^ D.4786;
  D.4760 = block->l[1];
  D.4917 = D.4916 ^ D.4760;
  D.4918 = D.4917 r>> 31;
  block->l[1] = D.4918;
  D.4760 = block->l[1];
  D.4919 = D.4772 + D.4760;
  D.4780 = d r>> 27;
  D.4920 = D.4919 + D.4780;
  D.4921 = D.4920 + 1518500249;
  c = D.4921 + c;
  e = e r>> 2;
  D.4783 = e ^ a;
  D.4784 = D.4783 & d;
  D.4785 = D.4784 ^ a;
  D.4899 = block->l[15];
  D.4854 = block->l[10];
  D.4922 = D.4899 ^ D.4854;
  D.4799 = block->l[4];
  D.4923 = D.4922 ^ D.4799;
  D.4773 = block->l[2];
  D.4924 = D.4923 ^ D.4773;
  D.4925 = D.4924 r>> 31;
  block->l[2] = D.4925;
  D.4773 = block->l[2];
  D.4926 = D.4785 + D.4773;
  D.4793 = c r>> 27;
  D.4927 = D.4926 + D.4793;
  D.4928 = D.4927 + 1518500249;
  b = D.4928 + b;
  d = d r>> 2;
  D.4796 = d ^ e;
  D.4797 = D.4796 & c;
  D.4798 = D.4797 ^ e;
  D.4747 = block->l[0];
  D.4863 = block->l[11];
  D.4929 = D.4747 ^ D.4863;
  D.4809 = block->l[5];
  D.4930 = D.4929 ^ D.4809;
  D.4786 = block->l[3];
  D.4931 = D.4930 ^ D.4786;
  D.4932 = D.4931 r>> 31;
  block->l[3] = D.4932;
  D.4786 = block->l[3];
  D.4933 = D.4798 + D.4786;
  D.4806 = b r>> 27;
  D.4934 = D.4933 + D.4806;
  D.4935 = D.4934 + 1518500249;
  a = D.4935 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4760 = block->l[1];
  D.4872 = block->l[12];
  D.4937 = D.4760 ^ D.4872;
  D.4818 = block->l[6];
  D.4938 = D.4937 ^ D.4818;
  D.4799 = block->l[4];
  D.4939 = D.4938 ^ D.4799;
  D.4940 = D.4939 r>> 31;
  block->l[4] = D.4940;
  D.4799 = block->l[4];
  D.4941 = D.4936 + D.4799;
  D.4754 = a r>> 27;
  D.4942 = D.4941 + D.4754;
  D.4943 = D.4942 + 1859775393;
  e = D.4943 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4773 = block->l[2];
  D.4881 = block->l[13];
  D.4945 = D.4773 ^ D.4881;
  D.4827 = block->l[7];
  D.4946 = D.4945 ^ D.4827;
  D.4809 = block->l[5];
  D.4947 = D.4946 ^ D.4809;
  D.4948 = D.4947 r>> 31;
  block->l[5] = D.4948;
  D.4809 = block->l[5];
  D.4949 = D.4944 + D.4809;
  D.4767 = e r>> 27;
  D.4950 = D.4949 + D.4767;
  D.4951 = D.4950 + 1859775393;
  d = D.4951 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4786 = block->l[3];
  D.4890 = block->l[14];
  D.4953 = D.4786 ^ D.4890;
  D.4836 = block->l[8];
  D.4954 = D.4953 ^ D.4836;
  D.4818 = block->l[6];
  D.4955 = D.4954 ^ D.4818;
  D.4956 = D.4955 r>> 31;
  block->l[6] = D.4956;
  D.4818 = block->l[6];
  D.4957 = D.4952 + D.4818;
  D.4780 = d r>> 27;
  D.4958 = D.4957 + D.4780;
  D.4959 = D.4958 + 1859775393;
  c = D.4959 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4799 = block->l[4];
  D.4899 = block->l[15];
  D.4961 = D.4799 ^ D.4899;
  D.4845 = block->l[9];
  D.4962 = D.4961 ^ D.4845;
  D.4827 = block->l[7];
  D.4963 = D.4962 ^ D.4827;
  D.4964 = D.4963 r>> 31;
  block->l[7] = D.4964;
  D.4827 = block->l[7];
  D.4965 = D.4960 + D.4827;
  D.4793 = c r>> 27;
  D.4966 = D.4965 + D.4793;
  D.4967 = D.4966 + 1859775393;
  b = D.4967 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4809 = block->l[5];
  D.4747 = block->l[0];
  D.4969 = D.4809 ^ D.4747;
  D.4854 = block->l[10];
  D.4970 = D.4969 ^ D.4854;
  D.4836 = block->l[8];
  D.4971 = D.4970 ^ D.4836;
  D.4972 = D.4971 r>> 31;
  block->l[8] = D.4972;
  D.4836 = block->l[8];
  D.4973 = D.4968 + D.4836;
  D.4806 = b r>> 27;
  D.4974 = D.4973 + D.4806;
  D.4975 = D.4974 + 1859775393;
  a = D.4975 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4818 = block->l[6];
  D.4760 = block->l[1];
  D.4976 = D.4818 ^ D.4760;
  D.4863 = block->l[11];
  D.4977 = D.4976 ^ D.4863;
  D.4845 = block->l[9];
  D.4978 = D.4977 ^ D.4845;
  D.4979 = D.4978 r>> 31;
  block->l[9] = D.4979;
  D.4845 = block->l[9];
  D.4980 = D.4936 + D.4845;
  D.4754 = a r>> 27;
  D.4981 = D.4980 + D.4754;
  D.4982 = D.4981 + 1859775393;
  e = D.4982 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4827 = block->l[7];
  D.4773 = block->l[2];
  D.4983 = D.4827 ^ D.4773;
  D.4872 = block->l[12];
  D.4984 = D.4983 ^ D.4872;
  D.4854 = block->l[10];
  D.4985 = D.4984 ^ D.4854;
  D.4986 = D.4985 r>> 31;
  block->l[10] = D.4986;
  D.4854 = block->l[10];
  D.4987 = D.4944 + D.4854;
  D.4767 = e r>> 27;
  D.4988 = D.4987 + D.4767;
  D.4989 = D.4988 + 1859775393;
  d = D.4989 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4836 = block->l[8];
  D.4786 = block->l[3];
  D.4990 = D.4836 ^ D.4786;
  D.4881 = block->l[13];
  D.4991 = D.4990 ^ D.4881;
  D.4863 = block->l[11];
  D.4992 = D.4991 ^ D.4863;
  D.4993 = D.4992 r>> 31;
  block->l[11] = D.4993;
  D.4863 = block->l[11];
  D.4994 = D.4952 + D.4863;
  D.4780 = d r>> 27;
  D.4995 = D.4994 + D.4780;
  D.4996 = D.4995 + 1859775393;
  c = D.4996 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4845 = block->l[9];
  D.4799 = block->l[4];
  D.4997 = D.4845 ^ D.4799;
  D.4890 = block->l[14];
  D.4998 = D.4997 ^ D.4890;
  D.4872 = block->l[12];
  D.4999 = D.4998 ^ D.4872;
  D.5000 = D.4999 r>> 31;
  block->l[12] = D.5000;
  D.4872 = block->l[12];
  D.5001 = D.4960 + D.4872;
  D.4793 = c r>> 27;
  D.5002 = D.5001 + D.4793;
  D.5003 = D.5002 + 1859775393;
  b = D.5003 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4854 = block->l[10];
  D.4809 = block->l[5];
  D.5004 = D.4854 ^ D.4809;
  D.4899 = block->l[15];
  D.5005 = D.5004 ^ D.4899;
  D.4881 = block->l[13];
  D.5006 = D.5005 ^ D.4881;
  D.5007 = D.5006 r>> 31;
  block->l[13] = D.5007;
  D.4881 = block->l[13];
  D.5008 = D.4968 + D.4881;
  D.4806 = b r>> 27;
  D.5009 = D.5008 + D.4806;
  D.5010 = D.5009 + 1859775393;
  a = D.5010 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4863 = block->l[11];
  D.4818 = block->l[6];
  D.5011 = D.4863 ^ D.4818;
  D.4747 = block->l[0];
  D.5012 = D.5011 ^ D.4747;
  D.4890 = block->l[14];
  D.5013 = D.5012 ^ D.4890;
  D.5014 = D.5013 r>> 31;
  block->l[14] = D.5014;
  D.4890 = block->l[14];
  D.5015 = D.4936 + D.4890;
  D.4754 = a r>> 27;
  D.5016 = D.5015 + D.4754;
  D.5017 = D.5016 + 1859775393;
  e = D.5017 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4872 = block->l[12];
  D.4827 = block->l[7];
  D.5018 = D.4872 ^ D.4827;
  D.4760 = block->l[1];
  D.5019 = D.5018 ^ D.4760;
  D.4899 = block->l[15];
  D.5020 = D.5019 ^ D.4899;
  D.5021 = D.5020 r>> 31;
  block->l[15] = D.5021;
  D.4899 = block->l[15];
  D.5022 = D.4944 + D.4899;
  D.4767 = e r>> 27;
  D.5023 = D.5022 + D.4767;
  D.5024 = D.5023 + 1859775393;
  d = D.5024 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4881 = block->l[13];
  D.4836 = block->l[8];
  D.4908 = D.4881 ^ D.4836;
  D.4773 = block->l[2];
  D.4909 = D.4908 ^ D.4773;
  D.4747 = block->l[0];
  D.4910 = D.4909 ^ D.4747;
  D.4911 = D.4910 r>> 31;
  block->l[0] = D.4911;
  D.4747 = block->l[0];
  D.5025 = D.4952 + D.4747;
  D.4780 = d r>> 27;
  D.5026 = D.5025 + D.4780;
  D.5027 = D.5026 + 1859775393;
  c = D.5027 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4890 = block->l[14];
  D.4845 = block->l[9];
  D.4915 = D.4890 ^ D.4845;
  D.4786 = block->l[3];
  D.4916 = D.4915 ^ D.4786;
  D.4760 = block->l[1];
  D.4917 = D.4916 ^ D.4760;
  D.4918 = D.4917 r>> 31;
  block->l[1] = D.4918;
  D.4760 = block->l[1];
  D.5028 = D.4960 + D.4760;
  D.4793 = c r>> 27;
  D.5029 = D.5028 + D.4793;
  D.5030 = D.5029 + 1859775393;
  b = D.5030 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4899 = block->l[15];
  D.4854 = block->l[10];
  D.4922 = D.4899 ^ D.4854;
  D.4799 = block->l[4];
  D.4923 = D.4922 ^ D.4799;
  D.4773 = block->l[2];
  D.4924 = D.4923 ^ D.4773;
  D.4925 = D.4924 r>> 31;
  block->l[2] = D.4925;
  D.4773 = block->l[2];
  D.5031 = D.4968 + D.4773;
  D.4806 = b r>> 27;
  D.5032 = D.5031 + D.4806;
  D.5033 = D.5032 + 1859775393;
  a = D.5033 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4747 = block->l[0];
  D.4863 = block->l[11];
  D.4929 = D.4747 ^ D.4863;
  D.4809 = block->l[5];
  D.4930 = D.4929 ^ D.4809;
  D.4786 = block->l[3];
  D.4931 = D.4930 ^ D.4786;
  D.4932 = D.4931 r>> 31;
  block->l[3] = D.4932;
  D.4786 = block->l[3];
  D.5034 = D.4936 + D.4786;
  D.4754 = a r>> 27;
  D.5035 = D.5034 + D.4754;
  D.5036 = D.5035 + 1859775393;
  e = D.5036 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4760 = block->l[1];
  D.4872 = block->l[12];
  D.4937 = D.4760 ^ D.4872;
  D.4818 = block->l[6];
  D.4938 = D.4937 ^ D.4818;
  D.4799 = block->l[4];
  D.4939 = D.4938 ^ D.4799;
  D.4940 = D.4939 r>> 31;
  block->l[4] = D.4940;
  D.4799 = block->l[4];
  D.5037 = D.4944 + D.4799;
  D.4767 = e r>> 27;
  D.5038 = D.5037 + D.4767;
  D.5039 = D.5038 + 1859775393;
  d = D.5039 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4773 = block->l[2];
  D.4881 = block->l[13];
  D.4945 = D.4773 ^ D.4881;
  D.4827 = block->l[7];
  D.4946 = D.4945 ^ D.4827;
  D.4809 = block->l[5];
  D.4947 = D.4946 ^ D.4809;
  D.4948 = D.4947 r>> 31;
  block->l[5] = D.4948;
  D.4809 = block->l[5];
  D.5040 = D.4952 + D.4809;
  D.4780 = d r>> 27;
  D.5041 = D.5040 + D.4780;
  D.5042 = D.5041 + 1859775393;
  c = D.5042 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4786 = block->l[3];
  D.4890 = block->l[14];
  D.4953 = D.4786 ^ D.4890;
  D.4836 = block->l[8];
  D.4954 = D.4953 ^ D.4836;
  D.4818 = block->l[6];
  D.4955 = D.4954 ^ D.4818;
  D.4956 = D.4955 r>> 31;
  block->l[6] = D.4956;
  D.4818 = block->l[6];
  D.5043 = D.4960 + D.4818;
  D.4793 = c r>> 27;
  D.5044 = D.5043 + D.4793;
  D.5045 = D.5044 + 1859775393;
  b = D.5045 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4799 = block->l[4];
  D.4899 = block->l[15];
  D.4961 = D.4799 ^ D.4899;
  D.4845 = block->l[9];
  D.4962 = D.4961 ^ D.4845;
  D.4827 = block->l[7];
  D.4963 = D.4962 ^ D.4827;
  D.4964 = D.4963 r>> 31;
  block->l[7] = D.4964;
  D.4827 = block->l[7];
  D.5046 = D.4968 + D.4827;
  D.4806 = b r>> 27;
  D.5047 = D.5046 + D.4806;
  D.5048 = D.5047 + 1859775393;
  a = D.5048 + a;
  c = c r>> 2;
  D.5049 = b | c;
  D.5050 = D.5049 & d;
  D.5051 = b & c;
  D.5052 = D.5050 | D.5051;
  D.4809 = block->l[5];
  D.4747 = block->l[0];
  D.4969 = D.4809 ^ D.4747;
  D.4854 = block->l[10];
  D.4970 = D.4969 ^ D.4854;
  D.4836 = block->l[8];
  D.4971 = D.4970 ^ D.4836;
  D.4972 = D.4971 r>> 31;
  block->l[8] = D.4972;
  D.4836 = block->l[8];
  D.5053 = D.5052 + D.4836;
  D.4754 = a r>> 27;
  D.5054 = D.5053 + D.4754;
  D.5055 = D.5054 + 2400959708;
  e = D.5055 + e;
  b = b r>> 2;
  D.5056 = a | b;
  D.5057 = D.5056 & c;
  D.5058 = a & b;
  D.5059 = D.5057 | D.5058;
  D.4818 = block->l[6];
  D.4760 = block->l[1];
  D.4976 = D.4818 ^ D.4760;
  D.4863 = block->l[11];
  D.4977 = D.4976 ^ D.4863;
  D.4845 = block->l[9];
  D.4978 = D.4977 ^ D.4845;
  D.4979 = D.4978 r>> 31;
  block->l[9] = D.4979;
  D.4845 = block->l[9];
  D.5060 = D.5059 + D.4845;
  D.4767 = e r>> 27;
  D.5061 = D.5060 + D.4767;
  D.5062 = D.5061 + 2400959708;
  d = D.5062 + d;
  a = a r>> 2;
  D.5063 = e | a;
  D.5064 = D.5063 & b;
  D.5065 = e & a;
  D.5066 = D.5064 | D.5065;
  D.4827 = block->l[7];
  D.4773 = block->l[2];
  D.4983 = D.4827 ^ D.4773;
  D.4872 = block->l[12];
  D.4984 = D.4983 ^ D.4872;
  D.4854 = block->l[10];
  D.4985 = D.4984 ^ D.4854;
  D.4986 = D.4985 r>> 31;
  block->l[10] = D.4986;
  D.4854 = block->l[10];
  D.5067 = D.5066 + D.4854;
  D.4780 = d r>> 27;
  D.5068 = D.5067 + D.4780;
  D.5069 = D.5068 + 2400959708;
  c = D.5069 + c;
  e = e r>> 2;
  D.5070 = d | e;
  D.5071 = D.5070 & a;
  D.5072 = d & e;
  D.5073 = D.5071 | D.5072;
  D.4836 = block->l[8];
  D.4786 = block->l[3];
  D.4990 = D.4836 ^ D.4786;
  D.4881 = block->l[13];
  D.4991 = D.4990 ^ D.4881;
  D.4863 = block->l[11];
  D.4992 = D.4991 ^ D.4863;
  D.4993 = D.4992 r>> 31;
  block->l[11] = D.4993;
  D.4863 = block->l[11];
  D.5074 = D.5073 + D.4863;
  D.4793 = c r>> 27;
  D.5075 = D.5074 + D.4793;
  D.5076 = D.5075 + 2400959708;
  b = D.5076 + b;
  d = d r>> 2;
  D.5077 = c | d;
  D.5078 = D.5077 & e;
  D.5079 = c & d;
  D.5080 = D.5078 | D.5079;
  D.4845 = block->l[9];
  D.4799 = block->l[4];
  D.4997 = D.4845 ^ D.4799;
  D.4890 = block->l[14];
  D.4998 = D.4997 ^ D.4890;
  D.4872 = block->l[12];
  D.4999 = D.4998 ^ D.4872;
  D.5000 = D.4999 r>> 31;
  block->l[12] = D.5000;
  D.4872 = block->l[12];
  D.5081 = D.5080 + D.4872;
  D.4806 = b r>> 27;
  D.5082 = D.5081 + D.4806;
  D.5083 = D.5082 + 2400959708;
  a = D.5083 + a;
  c = c r>> 2;
  D.5049 = b | c;
  D.5050 = D.5049 & d;
  D.5051 = b & c;
  D.5052 = D.5050 | D.5051;
  D.4854 = block->l[10];
  D.4809 = block->l[5];
  D.5004 = D.4854 ^ D.4809;
  D.4899 = block->l[15];
  D.5005 = D.5004 ^ D.4899;
  D.4881 = block->l[13];
  D.5006 = D.5005 ^ D.4881;
  D.5007 = D.5006 r>> 31;
  block->l[13] = D.5007;
  D.4881 = block->l[13];
  D.5084 = D.5052 + D.4881;
  D.4754 = a r>> 27;
  D.5085 = D.5084 + D.4754;
  D.5086 = D.5085 + 2400959708;
  e = D.5086 + e;
  b = b r>> 2;
  D.5056 = a | b;
  D.5057 = D.5056 & c;
  D.5058 = a & b;
  D.5059 = D.5057 | D.5058;
  D.4863 = block->l[11];
  D.4818 = block->l[6];
  D.5011 = D.4863 ^ D.4818;
  D.4747 = block->l[0];
  D.5012 = D.5011 ^ D.4747;
  D.4890 = block->l[14];
  D.5013 = D.5012 ^ D.4890;
  D.5014 = D.5013 r>> 31;
  block->l[14] = D.5014;
  D.4890 = block->l[14];
  D.5087 = D.5059 + D.4890;
  D.4767 = e r>> 27;
  D.5088 = D.5087 + D.4767;
  D.5089 = D.5088 + 2400959708;
  d = D.5089 + d;
  a = a r>> 2;
  D.5063 = e | a;
  D.5064 = D.5063 & b;
  D.5065 = e & a;
  D.5066 = D.5064 | D.5065;
  D.4872 = block->l[12];
  D.4827 = block->l[7];
  D.5018 = D.4872 ^ D.4827;
  D.4760 = block->l[1];
  D.5019 = D.5018 ^ D.4760;
  D.4899 = block->l[15];
  D.5020 = D.5019 ^ D.4899;
  D.5021 = D.5020 r>> 31;
  block->l[15] = D.5021;
  D.4899 = block->l[15];
  D.5090 = D.5066 + D.4899;
  D.4780 = d r>> 27;
  D.5091 = D.5090 + D.4780;
  D.5092 = D.5091 + 2400959708;
  c = D.5092 + c;
  e = e r>> 2;
  D.5070 = d | e;
  D.5071 = D.5070 & a;
  D.5072 = d & e;
  D.5073 = D.5071 | D.5072;
  D.4881 = block->l[13];
  D.4836 = block->l[8];
  D.4908 = D.4881 ^ D.4836;
  D.4773 = block->l[2];
  D.4909 = D.4908 ^ D.4773;
  D.4747 = block->l[0];
  D.4910 = D.4909 ^ D.4747;
  D.4911 = D.4910 r>> 31;
  block->l[0] = D.4911;
  D.4747 = block->l[0];
  D.5093 = D.5073 + D.4747;
  D.4793 = c r>> 27;
  D.5094 = D.5093 + D.4793;
  D.5095 = D.5094 + 2400959708;
  b = D.5095 + b;
  d = d r>> 2;
  D.5077 = c | d;
  D.5078 = D.5077 & e;
  D.5079 = c & d;
  D.5080 = D.5078 | D.5079;
  D.4890 = block->l[14];
  D.4845 = block->l[9];
  D.4915 = D.4890 ^ D.4845;
  D.4786 = block->l[3];
  D.4916 = D.4915 ^ D.4786;
  D.4760 = block->l[1];
  D.4917 = D.4916 ^ D.4760;
  D.4918 = D.4917 r>> 31;
  block->l[1] = D.4918;
  D.4760 = block->l[1];
  D.5096 = D.5080 + D.4760;
  D.4806 = b r>> 27;
  D.5097 = D.5096 + D.4806;
  D.5098 = D.5097 + 2400959708;
  a = D.5098 + a;
  c = c r>> 2;
  D.5049 = b | c;
  D.5050 = D.5049 & d;
  D.5051 = b & c;
  D.5052 = D.5050 | D.5051;
  D.4899 = block->l[15];
  D.4854 = block->l[10];
  D.4922 = D.4899 ^ D.4854;
  D.4799 = block->l[4];
  D.4923 = D.4922 ^ D.4799;
  D.4773 = block->l[2];
  D.4924 = D.4923 ^ D.4773;
  D.4925 = D.4924 r>> 31;
  block->l[2] = D.4925;
  D.4773 = block->l[2];
  D.5099 = D.5052 + D.4773;
  D.4754 = a r>> 27;
  D.5100 = D.5099 + D.4754;
  D.5101 = D.5100 + 2400959708;
  e = D.5101 + e;
  b = b r>> 2;
  D.5056 = a | b;
  D.5057 = D.5056 & c;
  D.5058 = a & b;
  D.5059 = D.5057 | D.5058;
  D.4747 = block->l[0];
  D.4863 = block->l[11];
  D.4929 = D.4747 ^ D.4863;
  D.4809 = block->l[5];
  D.4930 = D.4929 ^ D.4809;
  D.4786 = block->l[3];
  D.4931 = D.4930 ^ D.4786;
  D.4932 = D.4931 r>> 31;
  block->l[3] = D.4932;
  D.4786 = block->l[3];
  D.5102 = D.5059 + D.4786;
  D.4767 = e r>> 27;
  D.5103 = D.5102 + D.4767;
  D.5104 = D.5103 + 2400959708;
  d = D.5104 + d;
  a = a r>> 2;
  D.5063 = e | a;
  D.5064 = D.5063 & b;
  D.5065 = e & a;
  D.5066 = D.5064 | D.5065;
  D.4760 = block->l[1];
  D.4872 = block->l[12];
  D.4937 = D.4760 ^ D.4872;
  D.4818 = block->l[6];
  D.4938 = D.4937 ^ D.4818;
  D.4799 = block->l[4];
  D.4939 = D.4938 ^ D.4799;
  D.4940 = D.4939 r>> 31;
  block->l[4] = D.4940;
  D.4799 = block->l[4];
  D.5105 = D.5066 + D.4799;
  D.4780 = d r>> 27;
  D.5106 = D.5105 + D.4780;
  D.5107 = D.5106 + 2400959708;
  c = D.5107 + c;
  e = e r>> 2;
  D.5070 = d | e;
  D.5071 = D.5070 & a;
  D.5072 = d & e;
  D.5073 = D.5071 | D.5072;
  D.4773 = block->l[2];
  D.4881 = block->l[13];
  D.4945 = D.4773 ^ D.4881;
  D.4827 = block->l[7];
  D.4946 = D.4945 ^ D.4827;
  D.4809 = block->l[5];
  D.4947 = D.4946 ^ D.4809;
  D.4948 = D.4947 r>> 31;
  block->l[5] = D.4948;
  D.4809 = block->l[5];
  D.5108 = D.5073 + D.4809;
  D.4793 = c r>> 27;
  D.5109 = D.5108 + D.4793;
  D.5110 = D.5109 + 2400959708;
  b = D.5110 + b;
  d = d r>> 2;
  D.5077 = c | d;
  D.5078 = D.5077 & e;
  D.5079 = c & d;
  D.5080 = D.5078 | D.5079;
  D.4786 = block->l[3];
  D.4890 = block->l[14];
  D.4953 = D.4786 ^ D.4890;
  D.4836 = block->l[8];
  D.4954 = D.4953 ^ D.4836;
  D.4818 = block->l[6];
  D.4955 = D.4954 ^ D.4818;
  D.4956 = D.4955 r>> 31;
  block->l[6] = D.4956;
  D.4818 = block->l[6];
  D.5111 = D.5080 + D.4818;
  D.4806 = b r>> 27;
  D.5112 = D.5111 + D.4806;
  D.5113 = D.5112 + 2400959708;
  a = D.5113 + a;
  c = c r>> 2;
  D.5049 = b | c;
  D.5050 = D.5049 & d;
  D.5051 = b & c;
  D.5052 = D.5050 | D.5051;
  D.4799 = block->l[4];
  D.4899 = block->l[15];
  D.4961 = D.4799 ^ D.4899;
  D.4845 = block->l[9];
  D.4962 = D.4961 ^ D.4845;
  D.4827 = block->l[7];
  D.4963 = D.4962 ^ D.4827;
  D.4964 = D.4963 r>> 31;
  block->l[7] = D.4964;
  D.4827 = block->l[7];
  D.5114 = D.5052 + D.4827;
  D.4754 = a r>> 27;
  D.5115 = D.5114 + D.4754;
  D.5116 = D.5115 + 2400959708;
  e = D.5116 + e;
  b = b r>> 2;
  D.5056 = a | b;
  D.5057 = D.5056 & c;
  D.5058 = a & b;
  D.5059 = D.5057 | D.5058;
  D.4809 = block->l[5];
  D.4747 = block->l[0];
  D.4969 = D.4809 ^ D.4747;
  D.4854 = block->l[10];
  D.4970 = D.4969 ^ D.4854;
  D.4836 = block->l[8];
  D.4971 = D.4970 ^ D.4836;
  D.4972 = D.4971 r>> 31;
  block->l[8] = D.4972;
  D.4836 = block->l[8];
  D.5117 = D.5059 + D.4836;
  D.4767 = e r>> 27;
  D.5118 = D.5117 + D.4767;
  D.5119 = D.5118 + 2400959708;
  d = D.5119 + d;
  a = a r>> 2;
  D.5063 = e | a;
  D.5064 = D.5063 & b;
  D.5065 = e & a;
  D.5066 = D.5064 | D.5065;
  D.4818 = block->l[6];
  D.4760 = block->l[1];
  D.4976 = D.4818 ^ D.4760;
  D.4863 = block->l[11];
  D.4977 = D.4976 ^ D.4863;
  D.4845 = block->l[9];
  D.4978 = D.4977 ^ D.4845;
  D.4979 = D.4978 r>> 31;
  block->l[9] = D.4979;
  D.4845 = block->l[9];
  D.5120 = D.5066 + D.4845;
  D.4780 = d r>> 27;
  D.5121 = D.5120 + D.4780;
  D.5122 = D.5121 + 2400959708;
  c = D.5122 + c;
  e = e r>> 2;
  D.5070 = d | e;
  D.5071 = D.5070 & a;
  D.5072 = d & e;
  D.5073 = D.5071 | D.5072;
  D.4827 = block->l[7];
  D.4773 = block->l[2];
  D.4983 = D.4827 ^ D.4773;
  D.4872 = block->l[12];
  D.4984 = D.4983 ^ D.4872;
  D.4854 = block->l[10];
  D.4985 = D.4984 ^ D.4854;
  D.4986 = D.4985 r>> 31;
  block->l[10] = D.4986;
  D.4854 = block->l[10];
  D.5123 = D.5073 + D.4854;
  D.4793 = c r>> 27;
  D.5124 = D.5123 + D.4793;
  D.5125 = D.5124 + 2400959708;
  b = D.5125 + b;
  d = d r>> 2;
  D.5077 = c | d;
  D.5078 = D.5077 & e;
  D.5079 = c & d;
  D.5080 = D.5078 | D.5079;
  D.4836 = block->l[8];
  D.4786 = block->l[3];
  D.4990 = D.4836 ^ D.4786;
  D.4881 = block->l[13];
  D.4991 = D.4990 ^ D.4881;
  D.4863 = block->l[11];
  D.4992 = D.4991 ^ D.4863;
  D.4993 = D.4992 r>> 31;
  block->l[11] = D.4993;
  D.4863 = block->l[11];
  D.5126 = D.5080 + D.4863;
  D.4806 = b r>> 27;
  D.5127 = D.5126 + D.4806;
  D.5128 = D.5127 + 2400959708;
  a = D.5128 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4845 = block->l[9];
  D.4799 = block->l[4];
  D.4997 = D.4845 ^ D.4799;
  D.4890 = block->l[14];
  D.4998 = D.4997 ^ D.4890;
  D.4872 = block->l[12];
  D.4999 = D.4998 ^ D.4872;
  D.5000 = D.4999 r>> 31;
  block->l[12] = D.5000;
  D.4872 = block->l[12];
  D.5129 = D.4936 + D.4872;
  D.4754 = a r>> 27;
  D.5130 = D.5129 + D.4754;
  D.5131 = D.5130 + 3395469782;
  e = D.5131 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4854 = block->l[10];
  D.4809 = block->l[5];
  D.5004 = D.4854 ^ D.4809;
  D.4899 = block->l[15];
  D.5005 = D.5004 ^ D.4899;
  D.4881 = block->l[13];
  D.5006 = D.5005 ^ D.4881;
  D.5007 = D.5006 r>> 31;
  block->l[13] = D.5007;
  D.4881 = block->l[13];
  D.5132 = D.4944 + D.4881;
  D.4767 = e r>> 27;
  D.5133 = D.5132 + D.4767;
  D.5134 = D.5133 + 3395469782;
  d = D.5134 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4863 = block->l[11];
  D.4818 = block->l[6];
  D.5011 = D.4863 ^ D.4818;
  D.4747 = block->l[0];
  D.5012 = D.5011 ^ D.4747;
  D.4890 = block->l[14];
  D.5013 = D.5012 ^ D.4890;
  D.5014 = D.5013 r>> 31;
  block->l[14] = D.5014;
  D.4890 = block->l[14];
  D.5135 = D.4952 + D.4890;
  D.4780 = d r>> 27;
  D.5136 = D.5135 + D.4780;
  D.5137 = D.5136 + 3395469782;
  c = D.5137 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4872 = block->l[12];
  D.4827 = block->l[7];
  D.5018 = D.4872 ^ D.4827;
  D.4760 = block->l[1];
  D.5019 = D.5018 ^ D.4760;
  D.4899 = block->l[15];
  D.5020 = D.5019 ^ D.4899;
  D.5021 = D.5020 r>> 31;
  block->l[15] = D.5021;
  D.4899 = block->l[15];
  D.5138 = D.4960 + D.4899;
  D.4793 = c r>> 27;
  D.5139 = D.5138 + D.4793;
  D.5140 = D.5139 + 3395469782;
  b = D.5140 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4881 = block->l[13];
  D.4836 = block->l[8];
  D.4908 = D.4881 ^ D.4836;
  D.4773 = block->l[2];
  D.4909 = D.4908 ^ D.4773;
  D.4747 = block->l[0];
  D.4910 = D.4909 ^ D.4747;
  D.4911 = D.4910 r>> 31;
  block->l[0] = D.4911;
  D.4747 = block->l[0];
  D.5141 = D.4968 + D.4747;
  D.4806 = b r>> 27;
  D.5142 = D.5141 + D.4806;
  D.5143 = D.5142 + 3395469782;
  a = D.5143 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4890 = block->l[14];
  D.4845 = block->l[9];
  D.4915 = D.4890 ^ D.4845;
  D.4786 = block->l[3];
  D.4916 = D.4915 ^ D.4786;
  D.4760 = block->l[1];
  D.4917 = D.4916 ^ D.4760;
  D.4918 = D.4917 r>> 31;
  block->l[1] = D.4918;
  D.4760 = block->l[1];
  D.5144 = D.4936 + D.4760;
  D.4754 = a r>> 27;
  D.5145 = D.5144 + D.4754;
  D.5146 = D.5145 + 3395469782;
  e = D.5146 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4899 = block->l[15];
  D.4854 = block->l[10];
  D.4922 = D.4899 ^ D.4854;
  D.4799 = block->l[4];
  D.4923 = D.4922 ^ D.4799;
  D.4773 = block->l[2];
  D.4924 = D.4923 ^ D.4773;
  D.4925 = D.4924 r>> 31;
  block->l[2] = D.4925;
  D.4773 = block->l[2];
  D.5147 = D.4944 + D.4773;
  D.4767 = e r>> 27;
  D.5148 = D.5147 + D.4767;
  D.5149 = D.5148 + 3395469782;
  d = D.5149 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4747 = block->l[0];
  D.4863 = block->l[11];
  D.4929 = D.4747 ^ D.4863;
  D.4809 = block->l[5];
  D.4930 = D.4929 ^ D.4809;
  D.4786 = block->l[3];
  D.4931 = D.4930 ^ D.4786;
  D.4932 = D.4931 r>> 31;
  block->l[3] = D.4932;
  D.4786 = block->l[3];
  D.5150 = D.4952 + D.4786;
  D.4780 = d r>> 27;
  D.5151 = D.5150 + D.4780;
  D.5152 = D.5151 + 3395469782;
  c = D.5152 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4760 = block->l[1];
  D.4872 = block->l[12];
  D.4937 = D.4760 ^ D.4872;
  D.4818 = block->l[6];
  D.4938 = D.4937 ^ D.4818;
  D.4799 = block->l[4];
  D.4939 = D.4938 ^ D.4799;
  D.4940 = D.4939 r>> 31;
  block->l[4] = D.4940;
  D.4799 = block->l[4];
  D.5153 = D.4960 + D.4799;
  D.4793 = c r>> 27;
  D.5154 = D.5153 + D.4793;
  D.5155 = D.5154 + 3395469782;
  b = D.5155 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4773 = block->l[2];
  D.4881 = block->l[13];
  D.4945 = D.4773 ^ D.4881;
  D.4827 = block->l[7];
  D.4946 = D.4945 ^ D.4827;
  D.4809 = block->l[5];
  D.4947 = D.4946 ^ D.4809;
  D.4948 = D.4947 r>> 31;
  block->l[5] = D.4948;
  D.4809 = block->l[5];
  D.5156 = D.4968 + D.4809;
  D.4806 = b r>> 27;
  D.5157 = D.5156 + D.4806;
  D.5158 = D.5157 + 3395469782;
  a = D.5158 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4786 = block->l[3];
  D.4890 = block->l[14];
  D.4953 = D.4786 ^ D.4890;
  D.4836 = block->l[8];
  D.4954 = D.4953 ^ D.4836;
  D.4818 = block->l[6];
  D.4955 = D.4954 ^ D.4818;
  D.4956 = D.4955 r>> 31;
  block->l[6] = D.4956;
  D.4818 = block->l[6];
  D.5159 = D.4936 + D.4818;
  D.4754 = a r>> 27;
  D.5160 = D.5159 + D.4754;
  D.5161 = D.5160 + 3395469782;
  e = D.5161 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4799 = block->l[4];
  D.4899 = block->l[15];
  D.4961 = D.4799 ^ D.4899;
  D.4845 = block->l[9];
  D.4962 = D.4961 ^ D.4845;
  D.4827 = block->l[7];
  D.4963 = D.4962 ^ D.4827;
  D.4964 = D.4963 r>> 31;
  block->l[7] = D.4964;
  D.4827 = block->l[7];
  D.5162 = D.4944 + D.4827;
  D.4767 = e r>> 27;
  D.5163 = D.5162 + D.4767;
  D.5164 = D.5163 + 3395469782;
  d = D.5164 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4809 = block->l[5];
  D.4747 = block->l[0];
  D.4969 = D.4809 ^ D.4747;
  D.4854 = block->l[10];
  D.4970 = D.4969 ^ D.4854;
  D.4836 = block->l[8];
  D.4971 = D.4970 ^ D.4836;
  D.4972 = D.4971 r>> 31;
  block->l[8] = D.4972;
  D.4836 = block->l[8];
  D.5165 = D.4952 + D.4836;
  D.4780 = d r>> 27;
  D.5166 = D.5165 + D.4780;
  D.5167 = D.5166 + 3395469782;
  c = D.5167 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4818 = block->l[6];
  D.4760 = block->l[1];
  D.4976 = D.4818 ^ D.4760;
  D.4863 = block->l[11];
  D.4977 = D.4976 ^ D.4863;
  D.4845 = block->l[9];
  D.4978 = D.4977 ^ D.4845;
  D.4979 = D.4978 r>> 31;
  block->l[9] = D.4979;
  D.4845 = block->l[9];
  D.5168 = D.4960 + D.4845;
  D.4793 = c r>> 27;
  D.5169 = D.5168 + D.4793;
  D.5170 = D.5169 + 3395469782;
  b = D.5170 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4827 = block->l[7];
  D.4773 = block->l[2];
  D.4983 = D.4827 ^ D.4773;
  D.4872 = block->l[12];
  D.4984 = D.4983 ^ D.4872;
  D.4854 = block->l[10];
  D.4985 = D.4984 ^ D.4854;
  D.4986 = D.4985 r>> 31;
  block->l[10] = D.4986;
  D.4854 = block->l[10];
  D.5171 = D.4968 + D.4854;
  D.4806 = b r>> 27;
  D.5172 = D.5171 + D.4806;
  D.5173 = D.5172 + 3395469782;
  a = D.5173 + a;
  c = c r>> 2;
  D.4757 = b ^ c;
  D.4936 = D.4757 ^ d;
  D.4836 = block->l[8];
  D.4786 = block->l[3];
  D.4990 = D.4836 ^ D.4786;
  D.4881 = block->l[13];
  D.4991 = D.4990 ^ D.4881;
  D.4863 = block->l[11];
  D.4992 = D.4991 ^ D.4863;
  D.4993 = D.4992 r>> 31;
  block->l[11] = D.4993;
  D.4863 = block->l[11];
  D.5174 = D.4936 + D.4863;
  D.4754 = a r>> 27;
  D.5175 = D.5174 + D.4754;
  D.5176 = D.5175 + 3395469782;
  e = D.5176 + e;
  b = b r>> 2;
  D.4770 = a ^ b;
  D.4944 = D.4770 ^ c;
  D.4845 = block->l[9];
  D.4799 = block->l[4];
  D.4997 = D.4845 ^ D.4799;
  D.4890 = block->l[14];
  D.4998 = D.4997 ^ D.4890;
  D.4872 = block->l[12];
  D.4999 = D.4998 ^ D.4872;
  D.5000 = D.4999 r>> 31;
  block->l[12] = D.5000;
  D.4872 = block->l[12];
  D.5177 = D.4944 + D.4872;
  D.4767 = e r>> 27;
  D.5178 = D.5177 + D.4767;
  D.5179 = D.5178 + 3395469782;
  d = D.5179 + d;
  a = a r>> 2;
  D.4783 = e ^ a;
  D.4952 = D.4783 ^ b;
  D.4854 = block->l[10];
  D.4809 = block->l[5];
  D.5004 = D.4854 ^ D.4809;
  D.4899 = block->l[15];
  D.5005 = D.5004 ^ D.4899;
  D.4881 = block->l[13];
  D.5006 = D.5005 ^ D.4881;
  D.5007 = D.5006 r>> 31;
  block->l[13] = D.5007;
  D.4881 = block->l[13];
  D.5180 = D.4952 + D.4881;
  D.4780 = d r>> 27;
  D.5181 = D.5180 + D.4780;
  D.5182 = D.5181 + 3395469782;
  c = D.5182 + c;
  e = e r>> 2;
  D.4796 = d ^ e;
  D.4960 = D.4796 ^ a;
  D.4863 = block->l[11];
  D.4818 = block->l[6];
  D.5011 = D.4863 ^ D.4818;
  D.4747 = block->l[0];
  D.5012 = D.5011 ^ D.4747;
  D.4890 = block->l[14];
  D.5013 = D.5012 ^ D.4890;
  D.5014 = D.5013 r>> 31;
  block->l[14] = D.5014;
  D.4890 = block->l[14];
  D.5183 = D.4960 + D.4890;
  D.4793 = c r>> 27;
  D.5184 = D.5183 + D.4793;
  D.5185 = D.5184 + 3395469782;
  b = D.5185 + b;
  d = d r>> 2;
  D.4744 = c ^ d;
  D.4968 = D.4744 ^ e;
  D.4872 = block->l[12];
  D.4827 = block->l[7];
  D.5018 = D.4872 ^ D.4827;
  D.4760 = block->l[1];
  D.5019 = D.5018 ^ D.4760;
  D.4899 = block->l[15];
  D.5020 = D.5019 ^ D.4899;
  D.5021 = D.5020 r>> 31;
  block->l[15] = D.5021;
  D.4899 = block->l[15];
  D.5186 = D.4968 + D.4899;
  D.4806 = b r>> 27;
  D.5187 = D.5186 + D.4806;
  D.5188 = D.5187 + 3395469782;
  a = D.5188 + a;
  c = c r>> 2;
  D.5189 = *state;
  D.5190 = D.5189 + a;
  *state = D.5190;
  D.5191 = state + 4;
  D.5191 = state + 4;
  D.5192 = *D.5191;
  D.5193 = D.5192 + b;
  *D.5191 = D.5193;
  D.5194 = state + 8;
  D.5194 = state + 8;
  D.5195 = *D.5194;
  D.5196 = D.5195 + c;
  *D.5194 = D.5196;
  D.5197 = state + 12;
  D.5197 = state + 12;
  D.5198 = *D.5197;
  D.5199 = D.5198 + d;
  *D.5197 = D.5199;
  D.5200 = state + 16;
  D.5200 = state + 16;
  D.5201 = *D.5200;
  D.5202 = D.5201 + e;
  *D.5200 = D.5202;
  e = 0;
  d = e;
  c = d;
  b = c;
  a = b;
}


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

  D.5204 = __builtin_object_size (__dest, 0);
  D.5203 = __builtin___memcpy_chk (__dest, __src, __len, D.5204);
  return D.5203;
}


mono_sha1_final (struct MonoSHA1Context * context, unsigned char * digest)
{
  _Bool D.5206;
  int D.5207;
  unsigned int D.5208;
  unsigned int D.5209;
  unsigned int D.5210;
  unsigned int D.5211;
  int D.5212;
  unsigned int D.5213;
  unsigned char D.5214;
  unsigned int D.5215;
  unsigned int D.5216;
  unsigned char * D.5217;
  unsigned int D.5218;
  unsigned int D.5219;
  unsigned int D.5220;
  unsigned char D.5221;
  unsigned char[64] * D.5222;
  guint32[5] * D.5223;
  guint32[2] * D.5224;
  guint32 i;
  unsigned char finalcount[8];

  try
    {
      i = 0;
      goto <D.4687>;
      <D.4686>:
      D.5206 = i <= 3;
      D.5207 = (int) D.5206;
      D.5208 = context->count[D.5207];
      D.5209 = ~i;
      D.5210 = D.5209 & 3;
      D.5211 = D.5210 * 8;
      D.5212 = (int) D.5211;
      D.5213 = D.5208 >> D.5212;
      D.5214 = (unsigned char) D.5213;
      finalcount[i] = D.5214;
      i = i + 1;
      <D.4687>:
      if (i <= 7) goto <D.4686>; else goto <D.4688>;
      <D.4688>:
      mono_sha1_update (context, "€", 1);
      goto <D.4690>;
      <D.4689>:
      mono_sha1_update (context, "", 1);
      <D.4690>:
      D.5215 = context->count[0];
      D.5216 = D.5215 & 504;
      if (D.5216 != 448) goto <D.4689>; else goto <D.4691>;
      <D.4691>:
      mono_sha1_update (context, &finalcount, 8);
      i = 0;
      goto <D.4693>;
      <D.4692>:
      D.5217 = digest + i;
      D.5218 = i >> 2;
      D.5219 = context->state[D.5218];
      D.5209 = ~i;
      D.5210 = D.5209 & 3;
      D.5211 = D.5210 * 8;
      D.5212 = (int) D.5211;
      D.5220 = D.5219 >> D.5212;
      D.5221 = (unsigned char) D.5220;
      *D.5217 = D.5221;
      i = i + 1;
      <D.4693>:
      if (i <= 19) goto <D.4692>; else goto <D.4694>;
      <D.4694>:
      i = 0;
      D.5222 = &context->buffer;
      memset (D.5222, 0, 64);
      D.5223 = &context->state;
      memset (D.5223, 0, 20);
      D.5224 = &context->count;
      memset (D.5224, 0, 8);
      memset (&finalcount, 0, 8);
      D.5223 = &context->state;
      D.5222 = &context->buffer;
      SHA1Transform (D.5223, D.5222);
    }
  finally
    {
      finalcount = {CLOBBER};
    }
}


memset (void * __dest, int __ch, size_t __len)
{
  int D.5227;
  int D.5232;
  void * D.5234;
  unsigned int D.5235;

  D.5227 = __builtin_constant_p (__len);
  if (D.5227 != 0) goto <D.5228>; else goto <D.5229>;
  <D.5228>:
  if (__len == 0) goto <D.5230>; else goto <D.5231>;
  <D.5230>:
  D.5232 = __builtin_constant_p (__ch);
  if (D.5232 == 0) goto <D.5225>; else goto <D.5233>;
  <D.5233>:
  if (__ch != 0) goto <D.5225>; else goto <D.5226>;
  <D.5225>:
  __warn_memset_zero_len ();
  D.5234 = __dest;
  return D.5234;
  <D.5226>:
  <D.5231>:
  <D.5229>:
  D.5235 = __builtin_object_size (__dest, 0);
  D.5234 = __builtin___memset_chk (__dest, __ch, __len, D.5235);
  return D.5234;
}


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.5241;
  int D.5242;
  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.5238>; else goto <D.5239>;
      <D.5238>:
      return;
      <D.5239>:
      goto <D.4710>;
      <D.4709>:
      nb_bytes_read.1 = (unsigned int) nb_bytes_read;
      mono_sha1_update (&ctx, &tmp_buf, nb_bytes_read.1);
      <D.4710>:
      D.5241 = fread (&tmp_buf, 1, 1024, fp);
      nb_bytes_read = (gint) D.5241;
      if (nb_bytes_read > 0) goto <D.4709>; else goto <D.4711>;
      <D.4711>:
      D.5242 = ferror (fp);
      if (D.5242 != 0) goto <D.5243>; else goto <D.5244>;
      <D.5243>:
      fclose (fp);
      return;
      <D.5244>:
      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.5248;
  int D.5253;
  int D.5255;
  unsigned int D.5257;
  size_t D.5258;
  unsigned int D.5259;
  unsigned int D.5260;
  unsigned int D.5261;
  unsigned int D.5264;

  D.5248 = __builtin_object_size (__ptr, 0);
  if (D.5248 != 4294967295) goto <D.5249>; else goto <D.5250>;
  <D.5249>:
  D.5253 = __builtin_constant_p (__size);
  if (D.5253 == 0) goto <D.5251>; else goto <D.5254>;
  <D.5254>:
  D.5255 = __builtin_constant_p (__n);
  if (D.5255 == 0) goto <D.5251>; else goto <D.5256>;
  <D.5256>:
  D.5257 = __size | __n;
  if (D.5257 > 65535) goto <D.5251>; else goto <D.5252>;
  <D.5251>:
  D.5259 = __builtin_object_size (__ptr, 0);
  D.5258 = __fread_chk (__ptr, D.5259, __size, __n, __stream);
  return D.5258;
  <D.5252>:
  D.5260 = __size * __n;
  D.5261 = __builtin_object_size (__ptr, 0);
  if (D.5260 > D.5261) goto <D.5262>; else goto <D.5263>;
  <D.5262>:
  D.5264 = __builtin_object_size (__ptr, 0);
  D.5258 = __fread_chk_warn (__ptr, D.5264, __size, __n, __stream);
  return D.5258;
  <D.5263>:
  <D.5250>:
  D.5258 = __fread_alias (__ptr, __size, __n, __stream);
  return D.5258;
}


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

  try
    {
      if (token == 0B) goto <D.5266>; else goto <D.5267>;
      <D.5266>:
      monoeg_g_log (0B, 8, "%s:%d: assertion \'%s\' failed", "mono-sha1.c", 331, "token != NULL");
      return;
      <D.5267>:
      len.2 = (int) len;
      mono_sha1_get_digest (pubkey, len.2, &digest);
      i = 0;
      goto <D.4720>;
      <D.4719>:
      i.3 = (sizetype) i;
      D.5270 = token + i.3;
      D.5271 = 19 - i;
      D.5272 = digest[D.5271];
      *D.5270 = D.5272;
      i = i + 1;
      <D.4720>:
      if (i <= 7) goto <D.4719>; else goto <D.4721>;
      <D.4721>:
    }
  finally
    {
      digest = {CLOBBER};
    }
}


