Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void swsearch(uint32_t prev[8], uint32_t merkl[8], uint32_t time, uint32_t diff, uint32_t nonce, uint32_t finish)
- {
- uint32_t W00g, W01g, W02g, W03g, W04g, W05g, W06g, W07g, W08g, W09g, W10g, W11g, W12g, W13g, W14g, W15g, W16g, W17g, W18g, W19g, W20g, W21g, W22g, W23g, W24g, W25g, W26g, W27g, W28g, W29g, W30g, W31g, W32g, W33g, W34g, W35g, W36g, W37g, W38g, W39g, W40g, W41g, W42g, W43g, W44g, W45g, W46g, W47g, W48g, W49g, W50g, W51g, W52g, W53g, W54g, W55g, W56g, W57g, W58g, W59g, W60g, W61g, W62g, W63g;
- uint32_t temp;
- uint32_t S0g = 0x6a09e667;
- uint32_t S1g = 0xbb67ae85;
- uint32_t S2g = 0x3c6ef372;
- uint32_t S3g = 0xa54ff53a;
- uint32_t S4g = 0x510e527f;
- uint32_t S5g = 0x9b05688c;
- uint32_t S6g = 0x1f83d9ab;
- uint32_t S7g = 0x5be0cd19;
- uint32_t Ag = 0x6a09e667;
- uint32_t Bg = 0xbb67ae85;
- uint32_t Cg = 0x3c6ef372;
- uint32_t Dg = 0xa54ff53a;
- uint32_t Eg = 0x510e527f;
- uint32_t Fg = 0x9b05688c;
- uint32_t Gg = 0x1f83d9ab;
- uint32_t Hg = 0x5be0cd19;
- W00g = 0x01000000;
- Dg += 0xf477ed68;
- Hg = 0xf477ed68 + 0x08909ae5;
- W01g = prev[0];
- temp = 0xe186dea4+prev[0];
- Cg += temp;
- Gg = temp + 0x1a16abe8;
- W02g = prev[1];
- temp = 0x9b05688c+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(0x510e527f^(Cg&0xc8c9b0dd))+0xB5C0FBCF+prev[1];
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&0xfd08884d)|(0x6a09e667&(Gg|0xfd08884d)));
- W03g = prev[2];
- temp = 0x510e527f+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(0x99c7e2a2^(Bg&(Cg^0x99c7e2a2)))+0xE9B5DBA5+prev[2];
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(0xfd08884d&(Fg|Gg)));
- W04g = prev[3];
- temp = 0x99c7e2a2+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0x3956C25B+prev[3];
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W05g = prev[4];
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0x59F111F1+prev[4];
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W06g = prev[5];
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0x923F82A4+prev[5];
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W07g = prev[6];
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0xAB1C5ED5+prev[6];
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W08g = prev[7];
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0xD807AA98+prev[7];
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W09g = merkl[0];
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0x12835B01+merkl[0];
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W10g = merkl[1];
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0x243185BE +merkl[1];
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W11g = merkl[2];
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0x550C7DC3+merkl[2];
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W12g = merkl[3];
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0x72BE5D74+merkl[3];
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W13g = merkl[4];
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0x80DEB1FE +merkl[4];
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W14g = merkl[5];
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0x9BDC06A7+merkl[5];
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W15g = merkl[6];
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0xC19BF174+merkl[6];
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W16g = (ROTR(W14g,17)^ROTR(W14g,19)^SHR(W14g,10))+W09g+(ROTR(W01g,7)^ROTR(W01g,18)^SHR(W01g,3))+0x01000000;
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0xE49B69C1+W16g;
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W17g = (ROTR(W15g,17)^ROTR(W15g,19)^SHR(W15g,10))+W10g+(ROTR(W02g,7)^ROTR(W02g,18)^SHR(W02g,3))+W01g;
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0xEFBE4786+W17g;
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W18g = (ROTR(W16g,17)^ROTR(W16g,19)^SHR(W16g,10))+W11g+(ROTR(W03g,7)^ROTR(W03g,18)^SHR(W03g,3))+W02g;
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0x0FC19DC6+W18g;
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W19g = (ROTR(W17g,17)^ROTR(W17g,19)^SHR(W17g,10))+W12g+(ROTR(W04g,7)^ROTR(W04g,18)^SHR(W04g,3))+W03g;
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0x240CA1CC+W19g;
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W20g = (ROTR(W18g,17)^ROTR(W18g,19)^SHR(W18g,10))+W13g+(ROTR(W05g,7)^ROTR(W05g,18)^SHR(W05g,3))+W04g;
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0x2DE92C6F+W20g;
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W21g = (ROTR(W19g,17)^ROTR(W19g,19)^SHR(W19g,10))+W14g+(ROTR(W06g,7)^ROTR(W06g,18)^SHR(W06g,3))+W05g;
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0x4A7484AA+W21g;
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W22g = (ROTR(W20g,17)^ROTR(W20g,19)^SHR(W20g,10))+W15g+(ROTR(W07g,7)^ROTR(W07g,18)^SHR(W07g,3))+W06g;
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0x5CB0A9DC+W22g;
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W23g = (ROTR(W21g,17)^ROTR(W21g,19)^SHR(W21g,10))+W16g+(ROTR(W08g,7)^ROTR(W08g,18)^SHR(W08g,3))+W07g;
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0x76F988DA+W23g;
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W24g = (ROTR(W22g,17)^ROTR(W22g,19)^SHR(W22g,10))+W17g+(ROTR(W09g,7)^ROTR(W09g,18)^SHR(W09g,3))+W08g;
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0x983E5152+W24g;
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W25g = (ROTR(W23g,17)^ROTR(W23g,19)^SHR(W23g,10))+W18g+(ROTR(W10g,7)^ROTR(W10g,18)^SHR(W10g,3))+W09g;
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0xA831C66D+W25g;
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W26g = (ROTR(W24g,17)^ROTR(W24g,19)^SHR(W24g,10))+W19g+(ROTR(W11g,7)^ROTR(W11g,18)^SHR(W11g,3))+W10g;
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0xB00327C8+W26g;
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W27g = (ROTR(W25g,17)^ROTR(W25g,19)^SHR(W25g,10))+W20g+(ROTR(W12g,7)^ROTR(W12g,18)^SHR(W12g,3))+W11g;
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0xBF597FC7+W27g;
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W28g = (ROTR(W26g,17)^ROTR(W26g,19)^SHR(W26g,10))+W21g+(ROTR(W13g,7)^ROTR(W13g,18)^SHR(W13g,3))+W12g;
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0xC6E00BF3+W28g;
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W29g = (ROTR(W27g,17)^ROTR(W27g,19)^SHR(W27g,10))+W22g+(ROTR(W14g,7)^ROTR(W14g,18)^SHR(W14g,3))+W13g;
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0xD5A79147+W29g;
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W30g = (ROTR(W28g,17)^ROTR(W28g,19)^SHR(W28g,10))+W23g+(ROTR(W15g,7)^ROTR(W15g,18)^SHR(W15g,3))+W14g;
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0x06CA6351+W30g;
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W31g = (ROTR(W29g,17)^ROTR(W29g,19)^SHR(W29g,10))+W24g+(ROTR(W16g,7)^ROTR(W16g,18)^SHR(W16g,3))+W15g;
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0x14292967+W31g;
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W32g = (ROTR(W30g,17)^ROTR(W30g,19)^SHR(W30g,10))+W25g+(ROTR(W17g,7)^ROTR(W17g,18)^SHR(W17g,3))+W16g;
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0x27B70A85+W32g;
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W33g = (ROTR(W31g,17)^ROTR(W31g,19)^SHR(W31g,10))+W26g+(ROTR(W18g,7)^ROTR(W18g,18)^SHR(W18g,3))+W17g;
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0x2E1B2138+W33g;
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W34g = (ROTR(W32g,17)^ROTR(W32g,19)^SHR(W32g,10))+W27g+(ROTR(W19g,7)^ROTR(W19g,18)^SHR(W19g,3))+W18g;
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0x4D2C6DFC+W34g;
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W35g = (ROTR(W33g,17)^ROTR(W33g,19)^SHR(W33g,10))+W28g+(ROTR(W20g,7)^ROTR(W20g,18)^SHR(W20g,3))+W19g;
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0x53380D13+W35g;
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W36g = (ROTR(W34g,17)^ROTR(W34g,19)^SHR(W34g,10))+W29g+(ROTR(W21g,7)^ROTR(W21g,18)^SHR(W21g,3))+W20g;
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0x650A7354+W36g;
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W37g = (ROTR(W35g,17)^ROTR(W35g,19)^SHR(W35g,10))+W30g+(ROTR(W22g,7)^ROTR(W22g,18)^SHR(W22g,3))+W21g;
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0x766A0ABB+W37g;
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W38g = (ROTR(W36g,17)^ROTR(W36g,19)^SHR(W36g,10))+W31g+(ROTR(W23g,7)^ROTR(W23g,18)^SHR(W23g,3))+W22g;
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0x81C2C92E +W38g;
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W39g = (ROTR(W37g,17)^ROTR(W37g,19)^SHR(W37g,10))+W32g+(ROTR(W24g,7)^ROTR(W24g,18)^SHR(W24g,3))+W23g;
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0x92722C85+W39g;
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W40g = (ROTR(W38g,17)^ROTR(W38g,19)^SHR(W38g,10))+W33g+(ROTR(W25g,7)^ROTR(W25g,18)^SHR(W25g,3))+W24g;
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0xA2BFE8A1+W40g;
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W41g = (ROTR(W39g,17)^ROTR(W39g,19)^SHR(W39g,10))+W34g+(ROTR(W26g,7)^ROTR(W26g,18)^SHR(W26g,3))+W25g;
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0xA81A664B+W41g;
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W42g = (ROTR(W40g,17)^ROTR(W40g,19)^SHR(W40g,10))+W35g+(ROTR(W27g,7)^ROTR(W27g,18)^SHR(W27g,3))+W26g;
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0xC24B8B70+W42g;
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W43g = (ROTR(W41g,17)^ROTR(W41g,19)^SHR(W41g,10))+W36g+(ROTR(W28g,7)^ROTR(W28g,18)^SHR(W28g,3))+W27g;
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0xC76C51A3+W43g;
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W44g = (ROTR(W42g,17)^ROTR(W42g,19)^SHR(W42g,10))+W37g+(ROTR(W29g,7)^ROTR(W29g,18)^SHR(W29g,3))+W28g;
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0xD192E819+W44g;
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W45g = (ROTR(W43g,17)^ROTR(W43g,19)^SHR(W43g,10))+W38g+(ROTR(W30g,7)^ROTR(W30g,18)^SHR(W30g,3))+W29g;
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0xD6990624+W45g;
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W46g = (ROTR(W44g,17)^ROTR(W44g,19)^SHR(W44g,10))+W39g+(ROTR(W31g,7)^ROTR(W31g,18)^SHR(W31g,3))+W30g;
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0xF40E3585+W46g;
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W47g = (ROTR(W45g,17)^ROTR(W45g,19)^SHR(W45g,10))+W40g+(ROTR(W32g,7)^ROTR(W32g,18)^SHR(W32g,3))+W31g;
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0x106AA070+W47g;
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W48g = (ROTR(W46g,17)^ROTR(W46g,19)^SHR(W46g,10))+W41g+(ROTR(W33g,7)^ROTR(W33g,18)^SHR(W33g,3))+W32g;
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0x19A4C116+W48g;
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W49g = (ROTR(W47g,17)^ROTR(W47g,19)^SHR(W47g,10))+W42g+(ROTR(W34g,7)^ROTR(W34g,18)^SHR(W34g,3))+W33g;
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0x1E376C08+W49g;
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W50g = (ROTR(W48g,17)^ROTR(W48g,19)^SHR(W48g,10))+W43g+(ROTR(W35g,7)^ROTR(W35g,18)^SHR(W35g,3))+W34g;
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0x2748774C+W50g;
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W51g = (ROTR(W49g,17)^ROTR(W49g,19)^SHR(W49g,10))+W44g+(ROTR(W36g,7)^ROTR(W36g,18)^SHR(W36g,3))+W35g;
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0x34B0BCB5+W51g;
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W52g = (ROTR(W50g,17)^ROTR(W50g,19)^SHR(W50g,10))+W45g+(ROTR(W37g,7)^ROTR(W37g,18)^SHR(W37g,3))+W36g;
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0x391C0CB3+W52g;
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W53g = (ROTR(W51g,17)^ROTR(W51g,19)^SHR(W51g,10))+W46g+(ROTR(W38g,7)^ROTR(W38g,18)^SHR(W38g,3))+W37g;
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0x4ED8AA4A+W53g;
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W54g = (ROTR(W52g,17)^ROTR(W52g,19)^SHR(W52g,10))+W47g+(ROTR(W39g,7)^ROTR(W39g,18)^SHR(W39g,3))+W38g;
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0x5B9CCA4F+W54g;
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W55g = (ROTR(W53g,17)^ROTR(W53g,19)^SHR(W53g,10))+W48g+(ROTR(W40g,7)^ROTR(W40g,18)^SHR(W40g,3))+W39g;
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0x682E6FF3+W55g;
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- W56g = (ROTR(W54g,17)^ROTR(W54g,19)^SHR(W54g,10))+W49g+(ROTR(W41g,7)^ROTR(W41g,18)^SHR(W41g,3))+W40g;
- temp = Hg+(ROTR(Eg,6)^ROTR(Eg,11)^ROTR(Eg,25))+(Gg^(Eg&(Fg^Gg)))+0x748F82EE +W56g;
- Dg += temp;
- Hg = temp + (ROTR(Ag,2)^ROTR(Ag,13)^ROTR(Ag,22))+((Ag&Bg)|(Cg&(Ag|Bg)));
- W57g = (ROTR(W55g,17)^ROTR(W55g,19)^SHR(W55g,10))+W50g+(ROTR(W42g,7)^ROTR(W42g,18)^SHR(W42g,3))+W41g;
- temp = Gg+(ROTR(Dg,6)^ROTR(Dg,11)^ROTR(Dg,25))+(Fg^(Dg&(Eg^Fg)))+0x78A5636F+W57g;
- Cg += temp;
- Gg = temp + (ROTR(Hg,2)^ROTR(Hg,13)^ROTR(Hg,22))+((Hg&Ag)|(Bg&(Hg|Ag)));
- W58g = (ROTR(W56g,17)^ROTR(W56g,19)^SHR(W56g,10))+W51g+(ROTR(W43g,7)^ROTR(W43g,18)^SHR(W43g,3))+W42g;
- temp = Fg+(ROTR(Cg,6)^ROTR(Cg,11)^ROTR(Cg,25))+(Eg^(Cg&(Dg^Eg)))+0x84C87814+W58g;
- Bg += temp;
- Fg = temp + (ROTR(Gg,2)^ROTR(Gg,13)^ROTR(Gg,22))+((Gg&Hg)|(Ag&(Gg|Hg)));
- W59g = (ROTR(W57g,17)^ROTR(W57g,19)^SHR(W57g,10))+W52g+(ROTR(W44g,7)^ROTR(W44g,18)^SHR(W44g,3))+W43g;
- temp = Eg+(ROTR(Bg,6)^ROTR(Bg,11)^ROTR(Bg,25))+(Dg^(Bg&(Cg^Dg)))+0x8CC70208+W59g;
- Ag += temp;
- Eg = temp + (ROTR(Fg,2)^ROTR(Fg,13)^ROTR(Fg,22))+((Fg&Gg)|(Hg&(Fg|Gg)));
- W60g = (ROTR(W58g,17)^ROTR(W58g,19)^SHR(W58g,10))+W53g+(ROTR(W45g,7)^ROTR(W45g,18)^SHR(W45g,3))+W44g;
- temp = Dg+(ROTR(Ag,6)^ROTR(Ag,11)^ROTR(Ag,25))+(Cg^(Ag&(Bg^Cg)))+0x90BEFFFA+W60g;
- Hg += temp;
- Dg = temp + (ROTR(Eg,2)^ROTR(Eg,13)^ROTR(Eg,22))+((Eg&Fg)|(Gg&(Eg|Fg)));
- W61g = (ROTR(W59g,17)^ROTR(W59g,19)^SHR(W59g,10))+W54g+(ROTR(W46g,7)^ROTR(W46g,18)^SHR(W46g,3))+W45g;
- temp = Cg+(ROTR(Hg,6)^ROTR(Hg,11)^ROTR(Hg,25))+(Bg^(Hg&(Ag^Bg)))+0xA4506CEB+W61g;
- Gg += temp;
- Cg = temp + (ROTR(Dg,2)^ROTR(Dg,13)^ROTR(Dg,22))+((Dg&Eg)|(Fg&(Dg|Eg)));
- W62g = (ROTR(W60g,17)^ROTR(W60g,19)^SHR(W60g,10))+W55g+(ROTR(W47g,7)^ROTR(W47g,18)^SHR(W47g,3))+W46g;
- temp = Bg+(ROTR(Gg,6)^ROTR(Gg,11)^ROTR(Gg,25))+(Ag^(Gg&(Hg^Ag)))+0xBEF9A3F7+W62g;
- Fg += temp;
- Bg = temp + (ROTR(Cg,2)^ROTR(Cg,13)^ROTR(Cg,22))+((Cg&Dg)|(Eg&(Cg|Dg)));
- W63g = (ROTR(W61g,17)^ROTR(W61g,19)^SHR(W61g,10))+W56g+(ROTR(W48g,7)^ROTR(W48g,18)^SHR(W48g,3))+W47g;
- temp = Ag+(ROTR(Fg,6)^ROTR(Fg,11)^ROTR(Fg,25))+(Hg^(Fg&(Gg^Hg)))+0xC67178F2+W63g;
- Eg += temp;
- Ag = temp + (ROTR(Bg,2)^ROTR(Bg,13)^ROTR(Bg,22))+((Bg&Cg)|(Dg&(Bg|Cg)));
- S0g += Ag;
- S1g += Bg;
- S2g += Cg;
- S3g += Dg;
- S4g += Eg;
- S5g += Fg;
- S6g += Gg;
- S7g += Hg;
- uint32_t Aq = S0g;
- uint32_t Bq = S1g;
- uint32_t Cq = S2g;
- uint32_t Dq = S3g;
- uint32_t Eq = S4g;
- uint32_t Fq = S5g;
- uint32_t Gq = S6g;
- uint32_t Hq = S7g;
- W00g = merkl[7];
- W01g = time;
- W02g = diff;
- W04g = 0x80000000;
- W05g = 0;
- W06g = 0;
- W07g = 0;
- W08g = 0;
- W09g = 0;
- W10g = 0;
- W11g = 0;
- W12g = 0;
- W13g = 0;
- W14g = 0;
- W15g = 0x00000280;
- temp = Hq+(ROTR(Eq,6)^ROTR(Eq,11)^ROTR(Eq,25))+(Gq^(Eq&(Fq^Gq)))+0x428A2F98+merkl[7];
- Dq += temp;
- Hq = temp + (ROTR(Aq,2)^ROTR(Aq,13)^ROTR(Aq,22))+((Aq&Bq)|(Cq&(Aq|Bq)));
- temp = Gq+(ROTR(Dq,6)^ROTR(Dq,11)^ROTR(Dq,25))+(Fq^(Dq&(Eq^Fq)))+0x71374491+time;
- Cq += temp;
- Gq = temp + (ROTR(Hq,2)^ROTR(Hq,13)^ROTR(Hq,22))+((Hq&Aq)|(Bq&(Hq|Aq)));
- temp = Fq+(ROTR(Cq,6)^ROTR(Cq,11)^ROTR(Cq,25))+(Eq^(Cq&(Dq^Eq)))+0xB5C0FBCF+diff;
- Bq += temp;
- Fq = temp + (ROTR(Gq,2)^ROTR(Gq,13)^ROTR(Gq,22))+((Gq&Hq)|(Aq&(Gq|Hq)));
- W16g = (ROTR(W01g,7)^ROTR(W01g,18)^SHR(W01g,3))+W00g;
- W17g = 0x01100000+(ROTR(W02g,7)^ROTR(W02g,18)^SHR(W02g,3))+W01g;
- shown(nonce);
- do
- {
- if ((nonce & 0x00ffffff) == 0) shown(nonce);
- uint32_t Ay = Aq;
- uint32_t By = Bq;
- uint32_t Cy = Cq;
- uint32_t Dy = Dq;
- uint32_t Ey = Eq;
- uint32_t Fy = Fq;
- uint32_t Gy = Gq;
- uint32_t Hy = Hq;
- W03g = nonce;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0xE9B5DBA5+nonce;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0xb956c25b;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0x59F111F1;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0x923F82A4;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0xAB1C5ED5;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0xD807AA98;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0x12835B01;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0x243185BE;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0x550C7DC3;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0x72BE5D74;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0x80DEB1FE;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0x9BDC06A7;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0xc19bf3f4;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0xE49B69C1+W16g;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0xEFBE4786+W17g;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- W18g = (ROTR(W16g,17)^ROTR(W16g,19)^SHR(W16g,10))+(ROTR(W03g,7)^ROTR(W03g,18)^SHR(W03g,3))+W02g;
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0x0FC19DC6+W18g;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- W19g = (ROTR(W17g,17)^ROTR(W17g,19)^SHR(W17g,10))+0x11002000+W03g;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0x240CA1CC+W19g;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- W20g = (ROTR(W18g,17)^ROTR(W18g,19)^SHR(W18g,10))+0x80000000;
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0x2DE92C6F+W20g;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- W21g = (ROTR(W19g,17)^ROTR(W19g,19)^SHR(W19g,10));
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0x4A7484AA+W21g;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- W22g = (ROTR(W20g,17)^ROTR(W20g,19)^SHR(W20g,10))+0x00000280;
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0x5CB0A9DC+W22g;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- W23g = (ROTR(W21g,17)^ROTR(W21g,19)^SHR(W21g,10))+W16g;
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0x76F988DA+W23g;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- W24g = (ROTR(W22g,17)^ROTR(W22g,19)^SHR(W22g,10))+W17g;
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0x983E5152+W24g;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- W25g = (ROTR(W23g,17)^ROTR(W23g,19)^SHR(W23g,10))+W18g;
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0xA831C66D+W25g;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- W26g = (ROTR(W24g,17)^ROTR(W24g,19)^SHR(W24g,10))+W19g;
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0xB00327C8+W26g;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- W27g = (ROTR(W25g,17)^ROTR(W25g,19)^SHR(W25g,10))+W20g;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0xBF597FC7+W27g;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- W28g = (ROTR(W26g,17)^ROTR(W26g,19)^SHR(W26g,10))+W21g;
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0xC6E00BF3+W28g;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- W29g = (ROTR(W27g,17)^ROTR(W27g,19)^SHR(W27g,10))+W22g;
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0xD5A79147+W29g;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- W30g = (ROTR(W28g,17)^ROTR(W28g,19)^SHR(W28g,10))+W23g+0x00a00055;
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0x06CA6351+W30g;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- W31g = (ROTR(W29g,17)^ROTR(W29g,19)^SHR(W29g,10))+W24g+(ROTR(W16g,7)^ROTR(W16g,18)^SHR(W16g,3))+0x00000280;
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0x14292967+W31g;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- W32g = (ROTR(W30g,17)^ROTR(W30g,19)^SHR(W30g,10))+W25g+(ROTR(W17g,7)^ROTR(W17g,18)^SHR(W17g,3))+W16g;
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0x27B70A85+W32g;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- W33g = (ROTR(W31g,17)^ROTR(W31g,19)^SHR(W31g,10))+W26g+(ROTR(W18g,7)^ROTR(W18g,18)^SHR(W18g,3))+W17g;
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0x2E1B2138+W33g;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- W34g = (ROTR(W32g,17)^ROTR(W32g,19)^SHR(W32g,10))+W27g+(ROTR(W19g,7)^ROTR(W19g,18)^SHR(W19g,3))+W18g;
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0x4D2C6DFC+W34g;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- W35g = (ROTR(W33g,17)^ROTR(W33g,19)^SHR(W33g,10))+W28g+(ROTR(W20g,7)^ROTR(W20g,18)^SHR(W20g,3))+W19g;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0x53380D13+W35g;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- W36g = (ROTR(W34g,17)^ROTR(W34g,19)^SHR(W34g,10))+W29g+(ROTR(W21g,7)^ROTR(W21g,18)^SHR(W21g,3))+W20g;
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0x650A7354+W36g;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- W37g = (ROTR(W35g,17)^ROTR(W35g,19)^SHR(W35g,10))+W30g+(ROTR(W22g,7)^ROTR(W22g,18)^SHR(W22g,3))+W21g;
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0x766A0ABB+W37g;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- W38g = (ROTR(W36g,17)^ROTR(W36g,19)^SHR(W36g,10))+W31g+(ROTR(W23g,7)^ROTR(W23g,18)^SHR(W23g,3))+W22g;
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0x81C2C92E +W38g;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- W39g = (ROTR(W37g,17)^ROTR(W37g,19)^SHR(W37g,10))+W32g+(ROTR(W24g,7)^ROTR(W24g,18)^SHR(W24g,3))+W23g;
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0x92722C85+W39g;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- W40g = (ROTR(W38g,17)^ROTR(W38g,19)^SHR(W38g,10))+W33g+(ROTR(W25g,7)^ROTR(W25g,18)^SHR(W25g,3))+W24g;
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0xA2BFE8A1+W40g;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- W41g = (ROTR(W39g,17)^ROTR(W39g,19)^SHR(W39g,10))+W34g+(ROTR(W26g,7)^ROTR(W26g,18)^SHR(W26g,3))+W25g;
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0xA81A664B+W41g;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- W42g = (ROTR(W40g,17)^ROTR(W40g,19)^SHR(W40g,10))+W35g+(ROTR(W27g,7)^ROTR(W27g,18)^SHR(W27g,3))+W26g;
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0xC24B8B70+W42g;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- W43g = (ROTR(W41g,17)^ROTR(W41g,19)^SHR(W41g,10))+W36g+(ROTR(W28g,7)^ROTR(W28g,18)^SHR(W28g,3))+W27g;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0xC76C51A3+W43g;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- W44g = (ROTR(W42g,17)^ROTR(W42g,19)^SHR(W42g,10))+W37g+(ROTR(W29g,7)^ROTR(W29g,18)^SHR(W29g,3))+W28g;
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0xD192E819+W44g;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- W45g = (ROTR(W43g,17)^ROTR(W43g,19)^SHR(W43g,10))+W38g+(ROTR(W30g,7)^ROTR(W30g,18)^SHR(W30g,3))+W29g;
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0xD6990624+W45g;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- W46g = (ROTR(W44g,17)^ROTR(W44g,19)^SHR(W44g,10))+W39g+(ROTR(W31g,7)^ROTR(W31g,18)^SHR(W31g,3))+W30g;
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0xF40E3585+W46g;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- W47g = (ROTR(W45g,17)^ROTR(W45g,19)^SHR(W45g,10))+W40g+(ROTR(W32g,7)^ROTR(W32g,18)^SHR(W32g,3))+W31g;
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0x106AA070+W47g;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- W48g = (ROTR(W46g,17)^ROTR(W46g,19)^SHR(W46g,10))+W41g+(ROTR(W33g,7)^ROTR(W33g,18)^SHR(W33g,3))+W32g;
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0x19A4C116+W48g;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- W49g = (ROTR(W47g,17)^ROTR(W47g,19)^SHR(W47g,10))+W42g+(ROTR(W34g,7)^ROTR(W34g,18)^SHR(W34g,3))+W33g;
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0x1E376C08+W49g;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- W50g = (ROTR(W48g,17)^ROTR(W48g,19)^SHR(W48g,10))+W43g+(ROTR(W35g,7)^ROTR(W35g,18)^SHR(W35g,3))+W34g;
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0x2748774C+W50g;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- W51g = (ROTR(W49g,17)^ROTR(W49g,19)^SHR(W49g,10))+W44g+(ROTR(W36g,7)^ROTR(W36g,18)^SHR(W36g,3))+W35g;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0x34B0BCB5+W51g;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- W52g = (ROTR(W50g,17)^ROTR(W50g,19)^SHR(W50g,10))+W45g+(ROTR(W37g,7)^ROTR(W37g,18)^SHR(W37g,3))+W36g;
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0x391C0CB3+W52g;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- W53g = (ROTR(W51g,17)^ROTR(W51g,19)^SHR(W51g,10))+W46g+(ROTR(W38g,7)^ROTR(W38g,18)^SHR(W38g,3))+W37g;
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0x4ED8AA4A+W53g;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- W54g = (ROTR(W52g,17)^ROTR(W52g,19)^SHR(W52g,10))+W47g+(ROTR(W39g,7)^ROTR(W39g,18)^SHR(W39g,3))+W38g;
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0x5B9CCA4F+W54g;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- W55g = (ROTR(W53g,17)^ROTR(W53g,19)^SHR(W53g,10))+W48g+(ROTR(W40g,7)^ROTR(W40g,18)^SHR(W40g,3))+W39g;
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0x682E6FF3+W55g;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- W56g = (ROTR(W54g,17)^ROTR(W54g,19)^SHR(W54g,10))+W49g+(ROTR(W41g,7)^ROTR(W41g,18)^SHR(W41g,3))+W40g;
- temp = Hy+(ROTR(Ey,6)^ROTR(Ey,11)^ROTR(Ey,25))+(Gy^(Ey&(Fy^Gy)))+0x748F82EE +W56g;
- Dy += temp;
- Hy = temp + (ROTR(Ay,2)^ROTR(Ay,13)^ROTR(Ay,22))+((Ay&By)|(Cy&(Ay|By)));
- W57g = (ROTR(W55g,17)^ROTR(W55g,19)^SHR(W55g,10))+W50g+(ROTR(W42g,7)^ROTR(W42g,18)^SHR(W42g,3))+W41g;
- temp = Gy+(ROTR(Dy,6)^ROTR(Dy,11)^ROTR(Dy,25))+(Fy^(Dy&(Ey^Fy)))+0x78A5636F+W57g;
- Cy += temp;
- Gy = temp + (ROTR(Hy,2)^ROTR(Hy,13)^ROTR(Hy,22))+((Hy&Ay)|(By&(Hy|Ay)));
- W58g = (ROTR(W56g,17)^ROTR(W56g,19)^SHR(W56g,10))+W51g+(ROTR(W43g,7)^ROTR(W43g,18)^SHR(W43g,3))+W42g;
- temp = Fy+(ROTR(Cy,6)^ROTR(Cy,11)^ROTR(Cy,25))+(Ey^(Cy&(Dy^Ey)))+0x84C87814+W58g;
- By += temp;
- Fy = temp + (ROTR(Gy,2)^ROTR(Gy,13)^ROTR(Gy,22))+((Gy&Hy)|(Ay&(Gy|Hy)));
- W59g = (ROTR(W57g,17)^ROTR(W57g,19)^SHR(W57g,10))+W52g+(ROTR(W44g,7)^ROTR(W44g,18)^SHR(W44g,3))+W43g;
- temp = Ey+(ROTR(By,6)^ROTR(By,11)^ROTR(By,25))+(Dy^(By&(Cy^Dy)))+0x8CC70208+W59g;
- Ay += temp;
- Ey = temp + (ROTR(Fy,2)^ROTR(Fy,13)^ROTR(Fy,22))+((Fy&Gy)|(Hy&(Fy|Gy)));
- W60g = (ROTR(W58g,17)^ROTR(W58g,19)^SHR(W58g,10))+W53g+(ROTR(W45g,7)^ROTR(W45g,18)^SHR(W45g,3))+W44g;
- temp = Dy+(ROTR(Ay,6)^ROTR(Ay,11)^ROTR(Ay,25))+(Cy^(Ay&(By^Cy)))+0x90BEFFFA+W60g;
- Hy += temp;
- Dy = temp + (ROTR(Ey,2)^ROTR(Ey,13)^ROTR(Ey,22))+((Ey&Fy)|(Gy&(Ey|Fy)));
- W61g = (ROTR(W59g,17)^ROTR(W59g,19)^SHR(W59g,10))+W54g+(ROTR(W46g,7)^ROTR(W46g,18)^SHR(W46g,3))+W45g;
- temp = Cy+(ROTR(Hy,6)^ROTR(Hy,11)^ROTR(Hy,25))+(By^(Hy&(Ay^By)))+0xA4506CEB+W61g;
- Gy += temp;
- Cy = temp + (ROTR(Dy,2)^ROTR(Dy,13)^ROTR(Dy,22))+((Dy&Ey)|(Fy&(Dy|Ey)));
- W62g = (ROTR(W60g,17)^ROTR(W60g,19)^SHR(W60g,10))+W55g+(ROTR(W47g,7)^ROTR(W47g,18)^SHR(W47g,3))+W46g;
- temp = By+(ROTR(Gy,6)^ROTR(Gy,11)^ROTR(Gy,25))+(Ay^(Gy&(Hy^Ay)))+0xBEF9A3F7+W62g;
- Fy += temp;
- By = temp + (ROTR(Cy,2)^ROTR(Cy,13)^ROTR(Cy,22))+((Cy&Dy)|(Ey&(Cy|Dy)));
- W63g = (ROTR(W61g,17)^ROTR(W61g,19)^SHR(W61g,10))+W56g+(ROTR(W48g,7)^ROTR(W48g,18)^SHR(W48g,3))+W47g;
- temp = Ay+(ROTR(Fy,6)^ROTR(Fy,11)^ROTR(Fy,25))+(Hy^(Fy&(Gy^Hy)))+0xC67178F2+W63g;
- Ey += temp;
- Ay = temp + (ROTR(By,2)^ROTR(By,13)^ROTR(By,22))+((By&Cy)|(Dy&(By|Cy)));
- uint32_t W00z, W01z, W02z, W03z, W04z, W05z, W06z, W07z, W08z, W09z, W10z, W11z, W12z, W13z, W14z, W15z, W16z, W17z, W18z, W19z, W20z, W21z, W22z, W23z, W24z, W25z, W26z, W27z, W28z, W29z, W30z, W31z, W32z, W33z, W34z, W35z, W36z, W37z, W38z, W39z, W40z, W41z, W42z, W43z, W44z, W45z, W46z, W47z, W48z, W49z, W50z, W51z, W52z, W53z, W54z, W55z, W56z, W57z, W58z, W59z, W60z;
- W00z = S0g+Ay;
- W01z = S1g+By;
- W02z = S2g+Cy;
- W03z = S3g+Dy;
- W04z = S4g+Ey;
- W05z = S5g+Fy;
- W06z = S6g+Gy;
- W07z = S7g+Hy;
- uint32_t Az = 0x6a09e667;
- uint32_t Bz = 0xbb67ae85;
- uint32_t Cz = 0x3c6ef372;
- uint32_t Dz = 0xa54ff53a;
- uint32_t Ez = 0x510e527f;
- uint32_t Fz = 0x9b05688c;
- uint32_t Gz = 0x1f83d9ab;
- uint32_t Hz = 0x5be0cd19;
- temp = 0xf377ed68+W00z;
- Dz += temp;
- Hz = temp + 0x08909ae5;
- temp = 0x1f83d9ab+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(0x9b05688c^(Dz&0xca0b3af3))+0x71374491+W01z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&0x6a09e667)|(0xbb67ae85&(Hz|0x6a09e667)));
- temp = 0x9b05688c+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(0x510e527f^(Cz&(Dz^0x510e527f)))+0xB5C0FBCF+W02z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(0x6a09e667&(Gz|Hz)));
- temp = 0x510e527f+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0xE9B5DBA5+W03z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0x3956C25B+W04z;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0x59F111F1+W05z;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0x923F82A4+W06z;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0xAB1C5ED5+W07z;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W08z = 0x80000000;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0x5807aa98;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W09z = 0;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0x12835B01;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W10z = 0;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0x243185BE;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W11z = 0;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0x550C7DC3;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W12z = 0;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0x72BE5D74;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- W13z = 0;
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0x80DEB1FE;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- W14z = 0;
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0x9BDC06A7;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- W15z = 0x00000100;
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0xc19bf274;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W16z = (ROTR(W01z,7)^ROTR(W01z,18)^SHR(W01z,3))+W00z;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0xE49B69C1+W16z;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W17z = 0x00a00000+(ROTR(W02z,7)^ROTR(W02z,18)^SHR(W02z,3))+W01z;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0xEFBE4786+W17z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W18z = (ROTR(W16z,17)^ROTR(W16z,19)^SHR(W16z,10))+(ROTR(W03z,7)^ROTR(W03z,18)^SHR(W03z,3))+W02z;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0x0FC19DC6+W18z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W19z = (ROTR(W17z,17)^ROTR(W17z,19)^SHR(W17z,10))+(ROTR(W04z,7)^ROTR(W04z,18)^SHR(W04z,3))+W03z;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0x240CA1CC+W19z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W20z = (ROTR(W18z,17)^ROTR(W18z,19)^SHR(W18z,10))+(ROTR(W05z,7)^ROTR(W05z,18)^SHR(W05z,3))+W04z;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0x2DE92C6F+W20z;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- W21z = (ROTR(W19z,17)^ROTR(W19z,19)^SHR(W19z,10))+(ROTR(W06z,7)^ROTR(W06z,18)^SHR(W06z,3))+W05z;
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0x4A7484AA+W21z;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- W22z = (ROTR(W20z,17)^ROTR(W20z,19)^SHR(W20z,10))+0x00000100+(ROTR(W07z,7)^ROTR(W07z,18)^SHR(W07z,3))+W06z;
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0x5CB0A9DC+W22z;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- W23z = (ROTR(W21z,17)^ROTR(W21z,19)^SHR(W21z,10))+W16z+0x11002000+W07z;
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0x76F988DA+W23z;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W24z = (ROTR(W22z,17)^ROTR(W22z,19)^SHR(W22z,10))+W17z+0x80000000;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0x983E5152+W24z;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W25z = (ROTR(W23z,17)^ROTR(W23z,19)^SHR(W23z,10))+W18z;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0xA831C66D+W25z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W26z = (ROTR(W24z,17)^ROTR(W24z,19)^SHR(W24z,10))+W19z;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0xB00327C8+W26z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W27z = (ROTR(W25z,17)^ROTR(W25z,19)^SHR(W25z,10))+W20z;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0xBF597FC7+W27z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W28z = (ROTR(W26z,17)^ROTR(W26z,19)^SHR(W26z,10))+W21z;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0xC6E00BF3+W28z;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- W29z = (ROTR(W27z,17)^ROTR(W27z,19)^SHR(W27z,10))+W22z;
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0xD5A79147+W29z;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- W30z = (ROTR(W28z,17)^ROTR(W28z,19)^SHR(W28z,10))+W23z+0x00400022;
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0x06CA6351+W30z;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- W31z = (ROTR(W29z,17)^ROTR(W29z,19)^SHR(W29z,10))+W24z+(ROTR(W16z,7)^ROTR(W16z,18)^SHR(W16z,3))+0x00000100;
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0x14292967+W31z;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W32z = (ROTR(W30z,17)^ROTR(W30z,19)^SHR(W30z,10))+W25z+(ROTR(W17z,7)^ROTR(W17z,18)^SHR(W17z,3))+W16z;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0x27B70A85+W32z;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W33z = (ROTR(W31z,17)^ROTR(W31z,19)^SHR(W31z,10))+W26z+(ROTR(W18z,7)^ROTR(W18z,18)^SHR(W18z,3))+W17z;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0x2E1B2138+W33z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W34z = (ROTR(W32z,17)^ROTR(W32z,19)^SHR(W32z,10))+W27z+(ROTR(W19z,7)^ROTR(W19z,18)^SHR(W19z,3))+W18z;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0x4D2C6DFC+W34z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W35z = (ROTR(W33z,17)^ROTR(W33z,19)^SHR(W33z,10))+W28z+(ROTR(W20z,7)^ROTR(W20z,18)^SHR(W20z,3))+W19z;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0x53380D13+W35z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W36z = (ROTR(W34z,17)^ROTR(W34z,19)^SHR(W34z,10))+W29z+(ROTR(W21z,7)^ROTR(W21z,18)^SHR(W21z,3))+W20z;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0x650A7354+W36z;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- W37z = (ROTR(W35z,17)^ROTR(W35z,19)^SHR(W35z,10))+W30z+(ROTR(W22z,7)^ROTR(W22z,18)^SHR(W22z,3))+W21z;
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0x766A0ABB+W37z;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- W38z = (ROTR(W36z,17)^ROTR(W36z,19)^SHR(W36z,10))+W31z+(ROTR(W23z,7)^ROTR(W23z,18)^SHR(W23z,3))+W22z;
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0x81C2C92E +W38z;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- W39z = (ROTR(W37z,17)^ROTR(W37z,19)^SHR(W37z,10))+W32z+(ROTR(W24z,7)^ROTR(W24z,18)^SHR(W24z,3))+W23z;
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0x92722C85+W39z;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W40z = (ROTR(W38z,17)^ROTR(W38z,19)^SHR(W38z,10))+W33z+(ROTR(W25z,7)^ROTR(W25z,18)^SHR(W25z,3))+W24z;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0xA2BFE8A1+W40z;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W41z = (ROTR(W39z,17)^ROTR(W39z,19)^SHR(W39z,10))+W34z+(ROTR(W26z,7)^ROTR(W26z,18)^SHR(W26z,3))+W25z;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0xA81A664B+W41z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W42z = (ROTR(W40z,17)^ROTR(W40z,19)^SHR(W40z,10))+W35z+(ROTR(W27z,7)^ROTR(W27z,18)^SHR(W27z,3))+W26z;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0xC24B8B70+W42z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W43z = (ROTR(W41z,17)^ROTR(W41z,19)^SHR(W41z,10))+W36z+(ROTR(W28z,7)^ROTR(W28z,18)^SHR(W28z,3))+W27z;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0xC76C51A3+W43z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W44z = (ROTR(W42z,17)^ROTR(W42z,19)^SHR(W42z,10))+W37z+(ROTR(W29z,7)^ROTR(W29z,18)^SHR(W29z,3))+W28z;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0xD192E819+W44z;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- W45z = (ROTR(W43z,17)^ROTR(W43z,19)^SHR(W43z,10))+W38z+(ROTR(W30z,7)^ROTR(W30z,18)^SHR(W30z,3))+W29z;
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0xD6990624+W45z;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- W46z = (ROTR(W44z,17)^ROTR(W44z,19)^SHR(W44z,10))+W39z+(ROTR(W31z,7)^ROTR(W31z,18)^SHR(W31z,3))+W30z;
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0xF40E3585+W46z;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- W47z = (ROTR(W45z,17)^ROTR(W45z,19)^SHR(W45z,10))+W40z+(ROTR(W32z,7)^ROTR(W32z,18)^SHR(W32z,3))+W31z;
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0x106AA070+W47z;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W48z = (ROTR(W46z,17)^ROTR(W46z,19)^SHR(W46z,10))+W41z+(ROTR(W33z,7)^ROTR(W33z,18)^SHR(W33z,3))+W32z;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0x19A4C116+W48z;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W49z = (ROTR(W47z,17)^ROTR(W47z,19)^SHR(W47z,10))+W42z+(ROTR(W34z,7)^ROTR(W34z,18)^SHR(W34z,3))+W33z;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0x1E376C08+W49z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W50z = (ROTR(W48z,17)^ROTR(W48z,19)^SHR(W48z,10))+W43z+(ROTR(W35z,7)^ROTR(W35z,18)^SHR(W35z,3))+W34z;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0x2748774C+W50z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W51z = (ROTR(W49z,17)^ROTR(W49z,19)^SHR(W49z,10))+W44z+(ROTR(W36z,7)^ROTR(W36z,18)^SHR(W36z,3))+W35z;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0x34B0BCB5+W51z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W52z = (ROTR(W50z,17)^ROTR(W50z,19)^SHR(W50z,10))+W45z+(ROTR(W37z,7)^ROTR(W37z,18)^SHR(W37z,3))+W36z;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0x391C0CB3+W52z;
- Hz += temp;
- Dz = temp + (ROTR(Ez,2)^ROTR(Ez,13)^ROTR(Ez,22))+((Ez&Fz)|(Gz&(Ez|Fz)));
- W53z = (ROTR(W51z,17)^ROTR(W51z,19)^SHR(W51z,10))+W46z+(ROTR(W38z,7)^ROTR(W38z,18)^SHR(W38z,3))+W37z;
- temp = Cz+(ROTR(Hz,6)^ROTR(Hz,11)^ROTR(Hz,25))+(Bz^(Hz&(Az^Bz)))+0x4ED8AA4A+W53z;
- Gz += temp;
- Cz = temp + (ROTR(Dz,2)^ROTR(Dz,13)^ROTR(Dz,22))+((Dz&Ez)|(Fz&(Dz|Ez)));
- W54z = (ROTR(W52z,17)^ROTR(W52z,19)^SHR(W52z,10))+W47z+(ROTR(W39z,7)^ROTR(W39z,18)^SHR(W39z,3))+W38z;
- temp = Bz+(ROTR(Gz,6)^ROTR(Gz,11)^ROTR(Gz,25))+(Az^(Gz&(Hz^Az)))+0x5B9CCA4F+W54z;
- Fz += temp;
- Bz = temp + (ROTR(Cz,2)^ROTR(Cz,13)^ROTR(Cz,22))+((Cz&Dz)|(Ez&(Cz|Dz)));
- W55z = (ROTR(W53z,17)^ROTR(W53z,19)^SHR(W53z,10))+W48z+(ROTR(W40z,7)^ROTR(W40z,18)^SHR(W40z,3))+W39z;
- temp = Az+(ROTR(Fz,6)^ROTR(Fz,11)^ROTR(Fz,25))+(Hz^(Fz&(Gz^Hz)))+0x682E6FF3+W55z;
- Ez += temp;
- Az = temp + (ROTR(Bz,2)^ROTR(Bz,13)^ROTR(Bz,22))+((Bz&Cz)|(Dz&(Bz|Cz)));
- W56z = (ROTR(W54z,17)^ROTR(W54z,19)^SHR(W54z,10))+W49z+(ROTR(W41z,7)^ROTR(W41z,18)^SHR(W41z,3))+W40z;
- temp = Hz+(ROTR(Ez,6)^ROTR(Ez,11)^ROTR(Ez,25))+(Gz^(Ez&(Fz^Gz)))+0x748F82EE +W56z;
- Dz += temp;
- Hz = temp + (ROTR(Az,2)^ROTR(Az,13)^ROTR(Az,22))+((Az&Bz)|(Cz&(Az|Bz)));
- W57z = (ROTR(W55z,17)^ROTR(W55z,19)^SHR(W55z,10))+W50z+(ROTR(W42z,7)^ROTR(W42z,18)^SHR(W42z,3))+W41z;
- temp = Gz+(ROTR(Dz,6)^ROTR(Dz,11)^ROTR(Dz,25))+(Fz^(Dz&(Ez^Fz)))+0x78A5636F+W57z;
- Cz += temp;
- Gz = temp + (ROTR(Hz,2)^ROTR(Hz,13)^ROTR(Hz,22))+((Hz&Az)|(Bz&(Hz|Az)));
- W58z = (ROTR(W56z,17)^ROTR(W56z,19)^SHR(W56z,10))+W51z+(ROTR(W43z,7)^ROTR(W43z,18)^SHR(W43z,3))+W42z;
- temp = Fz+(ROTR(Cz,6)^ROTR(Cz,11)^ROTR(Cz,25))+(Ez^(Cz&(Dz^Ez)))+0x84C87814+W58z;
- Bz += temp;
- Fz = temp + (ROTR(Gz,2)^ROTR(Gz,13)^ROTR(Gz,22))+((Gz&Hz)|(Az&(Gz|Hz)));
- W59z = (ROTR(W57z,17)^ROTR(W57z,19)^SHR(W57z,10))+W52z+(ROTR(W44z,7)^ROTR(W44z,18)^SHR(W44z,3))+W43z;
- temp = Ez+(ROTR(Bz,6)^ROTR(Bz,11)^ROTR(Bz,25))+(Dz^(Bz&(Cz^Dz)))+0x8CC70208+W59z;
- Az += temp;
- Ez = temp + (ROTR(Fz,2)^ROTR(Fz,13)^ROTR(Fz,22))+((Fz&Gz)|(Hz&(Fz|Gz)));
- W60z = (ROTR(W58z,17)^ROTR(W58z,19)^SHR(W58z,10))+W53z+(ROTR(W45z,7)^ROTR(W45z,18)^SHR(W45z,3))+W44z;
- temp = Dz+(ROTR(Az,6)^ROTR(Az,11)^ROTR(Az,25))+(Cz^(Az&(Bz^Cz)))+0x90BEFFFA+W60z;
- Hz += temp;
- if (Hz == 0xa41f32e7) printf("nonce=0x%08x\n", __swab32(nonce));
- } while(nonce++ != finish);
- shown(--nonce);
- }
- void search(uint32_t prev[8], uint32_t merkl[8], uint32_t time, uint32_t diff, uint32_t nonce, uint32_t finish)
- {
- uint32_t p[8];
- uint32_t m[8];
- uint32_t t;
- uint32_t d;
- p[7] = __swab32(prev[0]);
- p[6] = __swab32(prev[1]);
- p[5] = __swab32(prev[2]);
- p[4] = __swab32(prev[3]);
- p[3] = __swab32(prev[4]);
- p[2] = __swab32(prev[5]);
- p[1] = __swab32(prev[6]);
- p[0] = __swab32(prev[7]);
- m[7] = __swab32(merkl[0]);
- m[6] = __swab32(merkl[1]);
- m[5] = __swab32(merkl[2]);
- m[4] = __swab32(merkl[3]);
- m[3] = __swab32(merkl[4]);
- m[2] = __swab32(merkl[5]);
- m[1] = __swab32(merkl[6]);
- m[0] = __swab32(merkl[7]);
- t = __swab32(time);
- d = __swab32(diff);
- swsearch(p, m, t, d, nonce, finish);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement