Skip to content

Instantly share code, notes, and snippets.

@afwu
Created April 3, 2023 16:18
Show Gist options
  • Save afwu/fb72d2502d30a6fab5daa5e57374693d to your computer and use it in GitHub Desktop.
Save afwu/fb72d2502d30a6fab5daa5e57374693d to your computer and use it in GitHub Desktop.
void __fastcall compress(dword *MDbuf, dword *X)
{
dword v2; // r8
dword v3; // r15
dword v4; // r9
dword v5; // r10
dword v6; // rcx
dword v7; // r11
dword v8; // r8
dword v9; // r9
dword v10; // rdx
dword v11; // r10
dword v12; // rcx
dword v13; // r11
dword v14; // r8
dword v15; // r9
dword v16; // rdx
dword v17; // r10
dword v18; // rcx
dword v19; // r11
dword v20; // r8
dword v21; // r9
dword v22; // rdx
dword v23; // r10
dword v24; // rcx
dword v25; // r11
dword v26; // r8
dword v27; // rbx
dword v28; // r9
dword v29; // r12
dword v30; // r10
dword v31; // rbp
dword v32; // rcx
dword v33; // r11
unsigned __int64 v34; // r9
dword v35; // rsi
dword v36; // r9
unsigned __int64 v37; // r10
dword v38; // r8
dword v39; // r10
unsigned __int64 v40; // r11
dword v41; // rcx
unsigned __int64 v42; // r11
unsigned __int64 v43; // r9
dword v44; // rsi
unsigned __int64 v45; // r9
unsigned __int64 v46; // r10
unsigned __int64 v47; // r8
unsigned __int64 v48; // r10
unsigned __int64 v49; // r11
unsigned __int64 v50; // rcx
unsigned __int64 v51; // r11
unsigned __int64 v52; // r9
unsigned __int64 v53; // rsi
unsigned __int64 v54; // r9
unsigned __int64 v55; // r10
unsigned __int64 v56; // r8
unsigned __int64 v57; // r10
unsigned __int64 v58; // r11
unsigned __int64 v59; // rcx
unsigned __int64 v60; // r11
unsigned __int64 v61; // r9
unsigned __int64 v62; // rsi
unsigned __int64 v63; // r9
unsigned __int64 v64; // r10
unsigned __int64 v65; // r8
unsigned __int64 v66; // r10
unsigned __int64 v67; // r11
unsigned __int64 v68; // rcx
unsigned __int64 v69; // rbx
unsigned __int64 v70; // r9
unsigned __int64 v71; // rsi
unsigned __int64 v72; // r12
unsigned __int64 v73; // r10
unsigned __int64 v74; // r9
unsigned __int64 v75; // r10
unsigned __int64 v76; // rbx
unsigned __int64 v77; // r11
unsigned __int64 v78; // rcx
unsigned __int64 v79; // r12
unsigned __int64 v80; // r8
unsigned __int64 v81; // rdx
unsigned __int64 v82; // r10
unsigned __int64 v83; // r9
unsigned __int64 v84; // rsi
unsigned __int64 v85; // rcx
unsigned __int64 v86; // r10
unsigned __int64 v87; // rcx
unsigned __int64 v88; // rdx
unsigned __int64 v89; // r8
unsigned __int64 v90; // rdx
unsigned __int64 v91; // rsi
unsigned __int64 v92; // r9
unsigned __int64 v93; // rsi
unsigned __int64 v94; // rcx
unsigned __int64 v95; // r10
unsigned __int64 v96; // rcx
unsigned __int64 v97; // rdx
unsigned __int64 v98; // r8
unsigned __int64 v99; // rdx
unsigned __int64 v100; // rsi
unsigned __int64 v101; // r9
unsigned __int64 v102; // rsi
unsigned __int64 v103; // rcx
unsigned __int64 v104; // r10
unsigned __int64 v105; // rcx
unsigned __int64 v106; // rdx
unsigned __int64 v107; // r8
unsigned __int64 v108; // rdx
unsigned __int64 v109; // rsi
unsigned __int64 v110; // r9
unsigned __int64 v111; // rsi
unsigned __int64 v112; // rcx
unsigned __int64 v113; // r10
unsigned __int64 v114; // rcx
unsigned __int64 v115; // rdx
unsigned __int64 v116; // r8
unsigned __int64 v117; // rdx
unsigned __int64 v118; // rsi
unsigned __int64 v119; // r9
unsigned __int64 v120; // rsi
unsigned __int64 v121; // rcx
unsigned __int64 v122; // r10
unsigned __int64 v123; // rcx
unsigned __int64 v124; // rdx
unsigned __int64 v125; // r8
unsigned __int64 v126; // rbx
unsigned __int64 v127; // rsi
unsigned __int64 v128; // r9
unsigned __int64 v129; // r12
unsigned __int64 v130; // rdx
unsigned __int64 v131; // rsi
unsigned __int64 v132; // r10
unsigned __int64 v133; // rdx
unsigned __int64 v134; // r8
unsigned __int64 v135; // rbx
unsigned __int64 v136; // rdx
unsigned __int64 v137; // r9
unsigned __int64 v138; // r12
unsigned __int64 v139; // rdx
unsigned __int64 v140; // rsi
unsigned __int64 v141; // r10
unsigned __int64 v142; // rdx
unsigned __int64 v143; // r8
unsigned __int64 v144; // rbx
unsigned __int64 v145; // rdx
unsigned __int64 v146; // r9
unsigned __int64 v147; // r12
unsigned __int64 v148; // rdx
unsigned __int64 v149; // rsi
unsigned __int64 v150; // r10
unsigned __int64 v151; // rdx
unsigned __int64 v152; // r8
unsigned __int64 v153; // rbx
dword v154; // r9
unsigned __int64 v155; // r12
unsigned __int64 v156; // rdx
unsigned __int64 v157; // rsi
unsigned __int64 v158; // r10
unsigned __int64 v159; // rdx
unsigned __int64 v160; // r8
dword v161; // rbx
dword v162; // r9
unsigned __int64 v163; // r12
dword v164; // rsi
unsigned __int64 v165; // r13
unsigned __int64 v166; // rdx
unsigned __int64 v167; // r10
dword v168; // r14
unsigned __int64 v169; // rdx
unsigned __int64 v170; // r9
dword v171; // rbx
unsigned __int64 v172; // r11
dword v173; // r8
unsigned __int64 v174; // r12
dword v175; // rcx
unsigned __int64 v176; // r11
unsigned __int64 v177; // rax
unsigned __int64 v178; // rsi
unsigned __int64 v179; // r9
unsigned __int64 v180; // rax
unsigned __int64 v181; // r8
dword v182; // rbx
unsigned __int64 v183; // rax
unsigned __int64 v184; // rcx
unsigned __int64 v185; // r11
unsigned __int64 v186; // rax
dword v187; // rsi
unsigned __int64 v188; // r9
unsigned __int64 v189; // rax
unsigned __int64 v190; // r8
unsigned __int64 v191; // rbx
unsigned __int64 v192; // rax
unsigned __int64 v193; // rcx
unsigned __int64 v194; // r11
unsigned __int64 v195; // rax
unsigned __int64 v196; // rsi
unsigned __int64 v197; // r12
dword v198; // r8
unsigned __int64 v199; // rbx
unsigned __int64 v200; // r10
unsigned __int64 v201; // r9
unsigned __int64 v202; // r13
unsigned __int64 v203; // rax
unsigned __int64 v204; // rcx
dword v205; // r10
unsigned __int64 v206; // rax
unsigned __int64 v207; // rsi
unsigned __int64 v208; // r11
unsigned __int64 v209; // rax
dword v210; // r8
unsigned __int64 v211; // r9
unsigned __int64 v212; // rax
unsigned __int64 v213; // r13
unsigned __int64 v214; // r14
dword v215; // rdx
dword v216; // rcx
dword v217; // r8
dword v218; // rsi
unsigned __int64 v219; // r15
dword v220; // r9
dword v221; // rdx
unsigned __int64 v222; // rax
dword v223; // r10
dword v224; // rcx
unsigned __int64 v225; // rsi
dword v226; // r8
dword v227; // rsi
unsigned __int64 v228; // rdx
dword v229; // r9
dword v230; // rdx
unsigned __int64 v231; // rcx
dword v232; // r10
dword v233; // rcx
unsigned __int64 v234; // rsi
unsigned __int64 v235; // r8
dword v236; // rsi
unsigned __int64 v237; // rdx
unsigned __int64 v238; // r9
unsigned __int64 v239; // rdx
unsigned __int64 v240; // rcx
unsigned __int64 v241; // r10
unsigned __int64 v242; // rcx
unsigned __int64 v243; // rsi
unsigned __int64 v244; // r11
unsigned __int64 v245; // rsi
unsigned __int64 v246; // rdx
unsigned __int64 v247; // r9
unsigned __int64 v248; // rdx
unsigned __int64 v249; // rcx
unsigned __int64 v250; // r10
unsigned __int64 v251; // r8
unsigned __int64 v252; // rsi
unsigned __int64 v253; // rbx
unsigned __int64 v254; // r11
unsigned __int64 v255; // rdx
unsigned __int64 v256; // r9
unsigned __int64 v257; // rcx
unsigned __int64 v258; // r8
unsigned __int64 v259; // r10
unsigned __int64 v260; // rsi
unsigned __int64 v261; // r11
unsigned __int64 v262; // rbx
unsigned __int64 v263; // r8
unsigned __int64 v264; // rcx
unsigned __int64 v265; // r9
unsigned __int64 v266; // rcx
unsigned __int64 v267; // rsi
unsigned __int64 v268; // r10
unsigned __int64 v269; // rsi
unsigned __int64 v270; // r8
unsigned __int64 v271; // r11
unsigned __int64 v272; // r8
unsigned __int64 v273; // rcx
unsigned __int64 v274; // r9
unsigned __int64 v275; // rcx
unsigned __int64 v276; // rsi
unsigned __int64 v277; // r10
unsigned __int64 v278; // rsi
unsigned __int64 v279; // r8
unsigned __int64 v280; // r11
unsigned __int64 v281; // r8
unsigned __int64 v282; // rcx
unsigned __int64 v283; // r9
unsigned __int64 v284; // rcx
unsigned __int64 v285; // rsi
unsigned __int64 v286; // r10
unsigned __int64 v287; // rsi
unsigned __int64 v288; // r8
unsigned __int64 v289; // r11
unsigned __int64 v290; // r8
unsigned __int64 v291; // rcx
unsigned __int64 v292; // rbx
unsigned __int64 v293; // rcx
unsigned __int64 v294; // rsi
unsigned __int64 v295; // r12
unsigned __int64 v296; // r9
unsigned __int64 v297; // r8
unsigned __int64 v298; // r11
unsigned __int64 v299; // rsi
unsigned __int64 v300; // rcx
unsigned __int64 v301; // r10
unsigned __int64 v302; // rcx
unsigned __int64 v303; // r9
unsigned __int64 v304; // r8
unsigned __int64 v305; // rdx
unsigned __int64 v306; // rsi
unsigned __int64 v307; // r9
unsigned __int64 v308; // rsi
unsigned __int64 v309; // rcx
unsigned __int64 v310; // r10
unsigned __int64 v311; // rcx
unsigned __int64 v312; // rdx
unsigned __int64 v313; // r8
unsigned __int64 v314; // rdx
unsigned __int64 v315; // rsi
unsigned __int64 v316; // r9
unsigned __int64 v317; // rsi
unsigned __int64 v318; // rcx
unsigned __int64 v319; // r10
unsigned __int64 v320; // rcx
unsigned __int64 v321; // rdx
unsigned __int64 v322; // r8
unsigned __int64 v323; // rdx
unsigned __int64 v324; // rsi
unsigned __int64 v325; // r9
unsigned __int64 v326; // rsi
unsigned __int64 v327; // rcx
unsigned __int64 v328; // r10
unsigned __int64 v329; // rcx
unsigned __int64 v330; // rdx
unsigned __int64 v331; // r8
unsigned __int64 v332; // rdx
unsigned __int64 v333; // rsi
unsigned __int64 v334; // r9
unsigned __int64 v335; // rsi
unsigned __int64 v336; // rcx
unsigned __int64 v337; // r10
unsigned __int64 v338; // rcx
unsigned __int64 v339; // rdx
unsigned __int64 v340; // r11
unsigned __int64 v341; // rdx
unsigned __int64 v342; // rsi
unsigned __int64 v343; // r9
unsigned __int64 v344; // rsi
unsigned __int64 v345; // rcx
unsigned __int64 v346; // r10
unsigned __int64 v347; // r8
unsigned __int64 v348; // rdx
unsigned __int64 v349; // rbx
unsigned __int64 v350; // r11
unsigned __int64 v351; // rsi
unsigned __int64 v352; // rcx
unsigned __int64 v353; // r9
unsigned __int64 v354; // r8
unsigned __int64 v355; // rsi
unsigned __int64 v356; // r10
unsigned __int64 v357; // r11
unsigned __int64 v358; // r8
unsigned __int64 v359; // r11
unsigned __int64 v360; // r9
unsigned __int64 v361; // rcx
unsigned __int64 v362; // r9
unsigned __int64 v363; // r10
unsigned __int64 v364; // rsi
unsigned __int64 v365; // r10
unsigned __int64 v366; // r11
unsigned __int64 v367; // r8
unsigned __int64 v368; // r11
unsigned __int64 v369; // r9
unsigned __int64 v370; // rcx
unsigned __int64 v371; // r9
unsigned __int64 v372; // r10
unsigned __int64 v373; // rsi
unsigned __int64 v374; // r10
unsigned __int64 v375; // r11
unsigned __int64 v376; // r8
unsigned __int64 v377; // r11
unsigned __int64 v378; // r9
unsigned __int64 v379; // rcx
unsigned __int64 v380; // r9
unsigned __int64 v381; // r10
unsigned __int64 v382; // rsi
unsigned __int64 v383; // r10
unsigned __int64 v384; // r11
unsigned __int64 v385; // r8
unsigned __int64 v386; // r11
unsigned __int64 v387; // r9
unsigned __int64 v388; // rcx
unsigned __int64 v389; // rbx
unsigned __int64 v390; // r10
unsigned __int64 v391; // r9
unsigned __int64 v392; // r12
unsigned __int64 v393; // r11
unsigned __int64 v394; // r10
unsigned __int64 v395; // r11
unsigned __int64 v396; // rbx
unsigned __int64 v397; // rsi
unsigned __int64 v398; // r8
unsigned __int64 v399; // r12
unsigned __int64 v400; // r9
unsigned __int64 v401; // rdx
dword v402; // r10
unsigned __int64 v403; // rcx
dword v404; // r11
unsigned __int64 v405; // rsi
dword v406; // r8
dword v407; // rdx
dword v408; // r9
dword v409; // rcx
dword v410; // r10
dword v411; // rsi
dword v412; // r8
dword v413; // rdx
dword v414; // r9
dword v415; // rcx
dword v416; // r10
dword v417; // rsi
dword v418; // r8
dword v419; // rdx
dword v420; // r9
dword v421; // rcx
dword v422; // r10
dword v423; // rsi
dword v424; // r8
dword v425; // rdx
dword v426; // r9
dword v427; // r11
dword v428; // rcx
dword v429; // r10
dword v430; // r8
dword v431; // rdx
dword v432; // rsi
dword v433; // [rsp+10h] [rbp-C8h]
dword v434; // [rsp+18h] [rbp-C0h]
dword v435; // [rsp+20h] [rbp-B8h]
dword v436; // [rsp+28h] [rbp-B0h]
dword v437; // [rsp+30h] [rbp-A8h]
dword v438; // [rsp+38h] [rbp-A0h]
dword v439; // [rsp+40h] [rbp-98h]
dword v440; // [rsp+48h] [rbp-90h]
dword v441; // [rsp+50h] [rbp-88h]
dword v442; // [rsp+58h] [rbp-80h]
dword v443; // [rsp+60h] [rbp-78h]
dword v444; // [rsp+68h] [rbp-70h]
dword v445; // [rsp+70h] [rbp-68h]
dword v446; // [rsp+78h] [rbp-60h]
dword v447; // [rsp+80h] [rbp-58h]
dword dd; // [rsp+88h] [rbp-50h]
dword bb; // [rsp+90h] [rbp-48h]
dword ee; // [rsp+98h] [rbp-40h]
dword cc; // [rsp+A0h] [rbp-38h]
v433 = *X;
v2 = MDbuf[4]
+ ((((MDbuf[3] ^ MDbuf[1] ^ MDbuf[2]) + *MDbuf + v433) << 11) | (((MDbuf[3] ^ MDbuf[1] ^ MDbuf[2]) + *MDbuf + v433) >> 21));
v3 = (MDbuf[2] << 10) | (MDbuf[2] >> 22);
v434 = X[1];
v4 = MDbuf[3] + ((((v2 ^ v3 ^ MDbuf[1]) + MDbuf[4] + v434) << 14) | (((v2 ^ v3 ^ MDbuf[1]) + MDbuf[4] + v434) >> 18));
bb = (MDbuf[1] << 10) | (MDbuf[1] >> 22);
v435 = X[2];
v5 = v3 + ((((v4 ^ v2 ^ bb) + MDbuf[3] + v435) << 15) | (((v4 ^ v2 ^ bb) + MDbuf[3] + v435) >> 17));
v6 = (v2 << 10) | (v2 >> 22);
v436 = X[3];
v7 = bb + ((((v5 ^ v6 ^ v4) + v3 + v436) << 12) | (((v5 ^ v6 ^ v4) + v3 + v436) >> 20));
v8 = (v4 << 10) | (v4 >> 22);
v437 = X[4];
v9 = v6 + ((32 * ((v7 ^ v8 ^ v5) + v437 + bb)) | (((v7 ^ v8 ^ v5) + v437 + bb) >> 27));
v10 = (v5 << 10) | (v5 >> 22);
v438 = X[5];
v11 = v8 + ((((v9 ^ v10 ^ v7) + v438 + v6) << 8) | (((v9 ^ v10 ^ v7) + v438 + v6) >> 24));
v12 = (v7 << 10) | (v7 >> 22);
v439 = X[6];
v13 = v10 + ((((v11 ^ v12 ^ v9) + v439 + v8) << 7) | (((v11 ^ v12 ^ v9) + v439 + v8) >> 25));
v14 = (v9 << 10) | (v9 >> 22);
v440 = X[7];
v15 = v12 + ((((v13 ^ v14 ^ v11) + v440 + v10) << 9) | (((v13 ^ v14 ^ v11) + v440 + v10) >> 23));
v16 = (v11 << 10) | (v11 >> 22);
v441 = X[8];
v17 = v14 + ((((v15 ^ v16 ^ v13) + v441 + v12) << 11) | (((v15 ^ v16 ^ v13) + v441 + v12) >> 21));
v18 = (v13 << 10) | (v13 >> 22);
v442 = X[9];
v19 = v16 + ((((v17 ^ v18 ^ v15) + v442 + v14) << 13) | (((v17 ^ v18 ^ v15) + v442 + v14) >> 19));
v20 = (v15 << 10) | (v15 >> 22);
v443 = X[10];
v21 = v18 + ((((v19 ^ v20 ^ v17) + v443 + v16) << 14) | (((v19 ^ v20 ^ v17) + v443 + v16) >> 18));
v22 = (v17 << 10) | (v17 >> 22);
v444 = X[11];
v23 = v20 + ((((v21 ^ v22 ^ v19) + v444 + v18) << 15) | (((v21 ^ v22 ^ v19) + v444 + v18) >> 17));
v24 = (v19 << 10) | (v19 >> 22);
v445 = X[12];
v25 = v22 + ((((v23 ^ v24 ^ v21) + v445 + v20) << 6) | (((v23 ^ v24 ^ v21) + v445 + v20) >> 26));
v26 = (v21 << 10) | (v21 >> 22);
v446 = X[13];
v27 = v24 + ((((v25 ^ v26 ^ v23) + v446 + v22) << 7) | (((v25 ^ v26 ^ v23) + v446 + v22) >> 25));
v28 = (v23 << 10) | (v23 >> 22);
v447 = X[14];
v29 = v26 + ((((v27 ^ v28 ^ v25) + v447 + v24) << 9) | (((v27 ^ v28 ^ v25) + v447 + v24) >> 23));
v30 = (v25 << 10) | (v25 >> 22);
v31 = X[15];
v32 = v28 + ((((v29 ^ v30 ^ v27) + v31 + v26) << 8) | (((v29 ^ v30 ^ v27) + v31 + v26) >> 24));
v33 = (v27 << 10) | (v27 >> 22);
v34 = (v29 & v32 | v33 & ~v32) + v28 + v440 + 1518500249;
v35 = v30 + ((v34 << 7) | (v34 >> 25));
v36 = (v29 << 10) | (v29 >> 22);
v37 = (v32 & v35 | v36 & ~v35) + v30 + v437 + 1518500249;
v38 = v33 + ((v37 << 6) | (v37 >> 26));
v39 = (v32 << 10) | (v32 >> 22);
v40 = (v35 & v38 | v39 & ~v38) + v33 + v446 + 1518500249;
v41 = v36 + ((v40 << 8) | (v40 >> 24));
v42 = (v35 << 10) | (v35 >> 22);
v43 = (v38 & v41 | v42 & ~v41) + v36 + v434 + 1518500249;
v44 = v39 + ((v43 << 13) | (v43 >> 19));
v45 = (v38 << 10) | (v38 >> 22);
v46 = (v41 & v44 | v45 & ~v44) + v39 + v443 + 1518500249;
v47 = v42 + ((v46 << 11) | (v46 >> 21));
v48 = (v41 << 10) | (v41 >> 22);
v49 = (v44 & v47 | v48 & ~v47) + v42 + v439 + 1518500249;
v50 = v45 + ((v49 << 9) | (v49 >> 23));
v51 = (v44 << 10) | (v44 >> 22);
v52 = (v47 & v50 | v51 & ~v50) + v45 + v31 + 1518500249;
v53 = v48 + ((v52 << 7) | (v52 >> 25));
v54 = (v47 << 10) | (v47 >> 22);
v55 = (v50 & v53 | v54 & ~v53) + v48 + v436 + 1518500249;
v56 = v51 + ((v55 << 15) | (v55 >> 17));
v57 = (v50 << 10) | (v50 >> 22);
v58 = (v53 & v56 | v57 & ~v56) + v51 + v445 + 1518500249;
v59 = v54 + ((v58 << 7) | (v58 >> 25));
v60 = (v53 << 10) | (v53 >> 22);
v61 = (v56 & v59 | v60 & ~v59) + v54 + v433 + 1518500249;
v62 = v57 + ((v61 << 12) | (v61 >> 20));
v63 = (v56 << 10) | (v56 >> 22);
v64 = (v59 & v62 | v63 & ~v62) + v57 + v442 + 1518500249;
v65 = v60 + ((v64 << 15) | (v64 >> 17));
v66 = (v59 << 10) | (v59 >> 22);
v67 = (v62 & v65 | v66 & ~v65) + v60 + v438 + 1518500249;
v68 = v63 + ((v67 << 9) | (v67 >> 23));
v69 = (v62 << 10) | (v62 >> 22);
v70 = (v65 & v68 | v69 & ~v68) + v63 + v435 + 1518500249;
v71 = v66 + ((v70 << 11) | (v70 >> 21));
v72 = (v65 << 10) | (v65 >> 22);
v73 = (v68 & v71 | v72 & ~v71) + v66 + v447 + 1518500249;
v74 = v69 + ((v73 << 7) | (v73 >> 25));
v75 = (v68 << 10) | (v68 >> 22);
v76 = (v71 & v74 | v75 & ~v74) + v69 + v444 + 1518500249;
v77 = v72 + ((v76 << 13) | (v76 >> 19));
v78 = (v71 << 10) | (v71 >> 22);
v79 = (v74 & v77 | v78 & ~v77) + v72 + v441 + 1518500249;
v80 = v75 + ((v79 << 12) | (v79 >> 20));
v81 = (v74 << 10) | (v74 >> 22);
v82 = (v81 ^ (~v77 | v80)) + v75 + v436 + 1859775393;
v83 = v78 + ((v82 << 11) | (v82 >> 21));
v84 = (v77 << 10) | (v77 >> 22);
v85 = (v84 ^ (v83 | ~v80)) + v78 + v443 + 1859775393;
v86 = v81 + ((v85 << 13) | (v85 >> 19));
v87 = (v80 << 10) | (v80 >> 22);
v88 = (v87 ^ (v86 | ~v83)) + v81 + v447 + 1859775393;
v89 = v84 + ((v88 << 6) | (v88 >> 26));
v90 = (v83 << 10) | (v83 >> 22);
v91 = (v90 ^ (v89 | ~v86)) + v84 + v437 + 1859775393;
v92 = v87 + ((v91 << 7) | (v91 >> 25));
v93 = (v86 << 10) | (v86 >> 22);
v94 = (v93 ^ (v92 | ~v89)) + v87 + v442 + 1859775393;
v95 = v90 + ((v94 << 14) | (v94 >> 18));
v96 = (v89 << 10) | (v89 >> 22);
v97 = (v96 ^ (v95 | ~v92)) + v90 + v31 + 1859775393;
v98 = v93 + ((v97 << 9) | (v97 >> 23));
v99 = (v92 << 10) | (v92 >> 22);
v100 = (v99 ^ (v98 | ~v95)) + v93 + v441 + 1859775393;
v101 = v96 + ((v100 << 13) | (v100 >> 19));
v102 = (v95 << 10) | (v95 >> 22);
v103 = (v102 ^ (v101 | ~v98)) + v96 + v434 + 1859775393;
v104 = v99 + ((v103 << 15) | (v103 >> 17));
v105 = (v98 << 10) | (v98 >> 22);
v106 = (v105 ^ (v104 | ~v101)) + v99 + v435 + 1859775393;
v107 = v102 + ((v106 << 14) | (v106 >> 18));
v108 = (v101 << 10) | (v101 >> 22);
v109 = (v108 ^ (v107 | ~v104)) + v102 + v440 + 1859775393;
v110 = v105 + ((v109 << 8) | (v109 >> 24));
v111 = (v104 << 10) | (v104 >> 22);
v112 = (v111 ^ (v110 | ~v107)) + v105 + v433 + 1859775393;
v113 = v108 + ((v112 << 13) | (v112 >> 19));
v114 = (v107 << 10) | (v107 >> 22);
v115 = (v114 ^ (v113 | ~v110)) + v108 + v439 + 1859775393;
v116 = v111 + ((v115 << 6) | (v115 >> 26));
v117 = (v110 << 10) | (v110 >> 22);
v118 = (v117 ^ (v116 | ~v113)) + v111 + v446 + 1859775393;
v119 = v114 + ((32 * v118) | (v118 >> 27));
v120 = (v113 << 10) | (v113 >> 22);
v121 = (v120 ^ (v119 | ~v116)) + v114 + v444 + 1859775393;
v122 = v117 + ((v121 << 12) | (v121 >> 20));
v123 = (v116 << 10) | (v116 >> 22);
v124 = (v123 ^ (v122 | ~v119)) + v117 + v438 + 1859775393;
v125 = v120 + ((v124 << 7) | (v124 >> 25));
v126 = (v119 << 10) | (v119 >> 22);
v127 = (v126 ^ (v125 | ~v122)) + v120 + v445 + 1859775393;
v128 = v123 + ((32 * v127) | (v127 >> 27));
v129 = (v122 << 10) | (v122 >> 22);
v130 = (v125 & ~v129 | v129 & v128) + v123 + v434 + 2400959708u;
v131 = v126 + ((v130 << 11) | (v130 >> 21));
v132 = (v125 << 10) | (v125 >> 22);
v133 = (v128 & ~v132 | v132 & v131) + v126 + v442 + 2400959708u;
v134 = v129 + ((v133 << 12) | (v133 >> 20));
v135 = (v128 << 10) | (v128 >> 22);
v136 = (v131 & ~v135 | v135 & v134) + v129 + v444 + 2400959708u;
v137 = v132 + ((v136 << 14) | (v136 >> 18));
v138 = (v131 << 10) | (v131 >> 22);
v139 = (v134 & ~v138 | v138 & v137) + v132 + v443 + 2400959708u;
v140 = v135 + ((v139 << 15) | (v139 >> 17));
v141 = (v134 << 10) | (v134 >> 22);
v142 = (v137 & ~v141 | v141 & v140) + v135 + v433 + 2400959708u;
v143 = v138 + ((v142 << 14) | (v142 >> 18));
v144 = (v137 << 10) | (v137 >> 22);
v145 = (v140 & ~v144 | v144 & v143) + v138 + v441 + 2400959708u;
v146 = v141 + ((v145 << 15) | (v145 >> 17));
v147 = (v140 << 10) | (v140 >> 22);
v148 = (v143 & ~v147 | v147 & v146) + v141 + v445 + 2400959708u;
v149 = v144 + ((v148 << 9) | (v148 >> 23));
v150 = (v143 << 10) | (v143 >> 22);
v151 = (v146 & ~v150 | v150 & v149) + v144 + v437 + 2400959708u;
v152 = v147 + ((v151 << 8) | (v151 >> 24));
v153 = (v146 << 10) | (v146 >> 22);
v154 = v150
+ ((((v149 & ~v153 | v153 & v152) + v147 + v446 + 2400959708u) << 9) | (((v149 & ~v153 | v153 & v152)
+ v147
+ v446
+ 2400959708u) >> 23));
v155 = (v149 << 10) | (v149 >> 22);
v156 = (v152 & ~v155 | v155 & v154) + v150 + v436 + 2400959708u;
v157 = v153 + ((v156 << 14) | (v156 >> 18));
v158 = (v152 << 10) | (v152 >> 22);
v159 = (v154 & ~v158 | v158 & v157) + v153 + v440 + 2400959708u;
v160 = v155 + ((32 * v159) | (v159 >> 27));
v161 = (v154 << 10) | (v154 >> 22);
v162 = v158
+ ((((v157 & ~v161 | v161 & v160) + v155 + v31 + 2400959708u) << 6) | (((v157 & ~v161 | v161 & v160)
+ v155
+ v31
+ 2400959708u) >> 26));
v163 = (v157 << 10) | (v157 >> 22);
v164 = v161
+ ((((v160 & ~v163 | v163 & v162) + v158 + v447 + 2400959708u) << 8) | (((v160 & ~v163 | v163 & v162)
+ v158
+ v447
+ 2400959708u) >> 24));
v165 = (v160 << 10) | (v160 >> 22);
v166 = (v162 & ~v165 | v165 & v164) + v161 + v438 + 2400959708u;
v167 = v163 + ((v166 << 6) | (v166 >> 26));
v168 = (v162 << 10) | (v162 >> 22);
v169 = (v164 & ~v168 | v168 & v167) + v163 + v439 + 2400959708u;
v170 = v165 + ((32 * v169) | (v169 >> 27));
v171 = (v164 << 10) | (v164 >> 22);
v172 = (v167 & ~v171 | v171 & v170) + v165 + v435 + 2400959708u;
v173 = v168 + ((v172 << 12) | (v172 >> 20));
v174 = (v167 << 10) | (v167 >> 22);
v175 = v171
+ ((((v173 ^ (v170 | ~v174)) + v168 + v437 + 2840853838u) << 9) | (((v173 ^ (v170 | ~v174))
+ v168
+ v437
+ 2840853838u) >> 23));
v176 = (v170 << 10) | (v170 >> 22);
v177 = (v175 ^ (v173 | ~v176)) + v171 + v433 + 2840853838u;
v178 = v174 + ((v177 << 15) | (v177 >> 17));
v179 = (v173 << 10) | (v173 >> 22);
v180 = (v178 ^ (v175 | ~v179)) + v174 + v438 + 2840853838u;
v181 = v176 + ((32 * v180) | (v180 >> 27));
v182 = (v175 << 10) | (v175 >> 22);
v183 = (v181 ^ (v178 | ~v182)) + v176 + v442 + 2840853838u;
v184 = v179 + ((v183 << 11) | (v183 >> 21));
v185 = (v178 << 10) | (v178 >> 22);
v186 = (v184 ^ (v181 | ~v185)) + v179 + v440 + 2840853838u;
v187 = v182 + ((v186 << 6) | (v186 >> 26));
v188 = (v181 << 10) | (v181 >> 22);
v189 = (v187 ^ (v184 | ~v188)) + v182 + v445 + 2840853838u;
v190 = v185 + ((v189 << 8) | (v189 >> 24));
v191 = (v184 << 10) | (v184 >> 22);
v192 = (v190 ^ (v187 | ~v191)) + v185 + v435 + 2840853838u;
v193 = v188 + ((v192 << 13) | (v192 >> 19));
v194 = (v187 << 10) | (v187 >> 22);
v195 = (v193 ^ (v190 | ~v194)) + v188 + v443 + 2840853838u;
v196 = v191 + ((v195 << 12) | (v195 >> 20));
v197 = (v190 << 10) | (v190 >> 22);
v198 = v194
+ ((32 * ((v196 ^ (v193 | ~v197)) + v191 + v447 + 2840853838u)) | (((v196 ^ (v193 | ~v197))
+ v191
+ v447
+ 2840853838u) >> 27));
v199 = (v193 << 10) | (v193 >> 22);
v200 = (v198 ^ (v196 | ~v199)) + v194 + v434 + 2840853838u;
v201 = v197 + ((v200 << 12) | (v200 >> 20));
v202 = (v196 << 10) | (v196 >> 22);
v203 = (v201 ^ (v198 | ~v202)) + v197 + v436 + 2840853838u;
v204 = v199 + ((v203 << 13) | (v203 >> 19));
v205 = (v198 << 10) | (v198 >> 22);
v206 = (v204 ^ (v201 | ~v205)) + v199 + v441 + 2840853838u;
v207 = v202 + ((v206 << 14) | (v206 >> 18));
v208 = (v201 << 10) | (v201 >> 22);
v209 = (v207 ^ (v204 | ~v208)) + v202 + v444 + 2840853838u;
v210 = v205 + ((v209 << 11) | (v209 >> 21));
v211 = (v204 << 10) | (v204 >> 22);
v212 = (v210 ^ (v207 | ~v211)) + v205 + v439 + 2840853838u;
dd = v208 + ((v212 >> 24) | (v212 << 8));
v213 = (v207 << 10) | (v207 >> 22);
cc = v211
+ ((((dd ^ (v210 | ~v213)) + v208 + v31 + 2840853838u) >> 27) | (32
* ((dd ^ (v210 | ~v213)) + v208 + v31 + 2840853838u)));
ee = (v210 << 10) | (v210 >> 22);
v214 = (cc ^ (dd | ~ee)) + v211 + v446 + 2840853838u;
v215 = MDbuf[4]
+ (((*MDbuf + v438 + 1352829926 + (MDbuf[1] ^ (MDbuf[2] | ~MDbuf[3]))) << 8) | ((*MDbuf
+ v438
+ 1352829926
+ (MDbuf[1] ^ (MDbuf[2] | ~MDbuf[3]))) >> 24));
v216 = MDbuf[3]
+ (((MDbuf[4] + v447 + 1352829926 + (v215 ^ (MDbuf[1] | ~v3))) << 9) | ((MDbuf[4]
+ v447
+ 1352829926
+ (v215 ^ (MDbuf[1] | ~v3))) >> 23));
v217 = v3
+ (((MDbuf[3] + v440 + 1352829926 + (v216 ^ (v215 | ~bb))) << 9) | ((MDbuf[3]
+ v440
+ 1352829926
+ (v216 ^ (v215 | ~bb))) >> 23));
v218 = (v215 << 10) | (v215 >> 22);
v219 = (v217 ^ (v216 | ~v218)) + v3 + v433 + 1352829926;
v220 = bb + ((v219 << 11) | (v219 >> 21));
v221 = (v216 << 10) | (v216 >> 22);
v222 = bb + v442 + 1352829926 + (v220 ^ (v217 | ~v221));
v223 = v218 + ((v222 << 13) | (v222 >> 19));
v224 = (v217 << 10) | (v217 >> 22);
v225 = (v223 ^ (v220 | ~v224)) + v218 + v435 + 1352829926;
v226 = v221 + ((v225 << 15) | (v225 >> 17));
v227 = (v220 << 10) | (v220 >> 22);
v228 = (v226 ^ (v223 | ~v227)) + v221 + v444 + 1352829926;
v229 = v224 + ((v228 << 15) | (v228 >> 17));
v230 = (v223 << 10) | (v223 >> 22);
v231 = (v229 ^ (v226 | ~v230)) + v224 + v437 + 1352829926;
v232 = v227 + ((32 * v231) | (v231 >> 27));
v233 = (v226 << 10) | (v226 >> 22);
v234 = (v232 ^ (v229 | ~v233)) + v227 + v446 + 1352829926;
v235 = v230 + ((v234 << 7) | (v234 >> 25));
v236 = (v229 << 10) | (v229 >> 22);
v237 = (v235 ^ (v232 | ~v236)) + v230 + v439 + 1352829926;
v238 = v233 + ((v237 << 7) | (v237 >> 25));
v239 = (v232 << 10) | (v232 >> 22);
v240 = (v238 ^ (v235 | ~v239)) + v233 + v31 + 1352829926;
v241 = v236 + ((v240 << 8) | (v240 >> 24));
v242 = (v235 << 10) | (v235 >> 22);
v243 = (v241 ^ (v238 | ~v242)) + v236 + v441 + 1352829926;
v244 = v239 + ((v243 << 11) | (v243 >> 21));
v245 = (v238 << 10) | (v238 >> 22);
v246 = (v244 ^ (v241 | ~v245)) + v239 + v434 + 1352829926;
v247 = v242 + ((v246 << 14) | (v246 >> 18));
v248 = (v241 << 10) | (v241 >> 22);
v249 = (v247 ^ (v244 | ~v248)) + v242 + v443 + 1352829926;
v250 = v245 + ((v249 << 14) | (v249 >> 18));
v251 = (v244 << 10) | (v244 >> 22);
v252 = (v250 ^ (v247 | ~v251)) + v245 + v436 + 1352829926;
v253 = v248 + ((v252 << 12) | (v252 >> 20));
v254 = (v247 << 10) | (v247 >> 22);
v255 = (v253 ^ (v250 | ~v254)) + v248 + v445 + 1352829926;
v256 = v251 + ((v255 << 6) | (v255 >> 26));
v257 = (v250 << 10) | (v250 >> 22);
v258 = (v253 & ~v257 | v257 & v256) + v251 + v439 + 1548603684;
v259 = v254 + ((v258 << 9) | (v258 >> 23));
v260 = (v253 << 10) | (v253 >> 22);
v261 = (v256 & ~v260 | v260 & v259) + v254 + v444 + 1548603684;
v262 = v257 + ((v261 << 13) | (v261 >> 19));
v263 = (v256 << 10) | (v256 >> 22);
v264 = (v259 & ~v263 | v263 & v262) + v257 + v436 + 1548603684;
v265 = v260 + ((v264 << 15) | (v264 >> 17));
v266 = (v259 << 10) | (v259 >> 22);
v267 = (v262 & ~v266 | v266 & v265) + v260 + v440 + 1548603684;
v268 = v263 + ((v267 << 7) | (v267 >> 25));
v269 = (v262 << 10) | (v262 >> 22);
v270 = (v265 & ~v269 | v269 & v268) + v263 + v433 + 1548603684;
v271 = v266 + ((v270 << 12) | (v270 >> 20));
v272 = (v265 << 10) | (v265 >> 22);
v273 = (v268 & ~v272 | v272 & v271) + v266 + v446 + 1548603684;
v274 = v269 + ((v273 << 8) | (v273 >> 24));
v275 = (v268 << 10) | (v268 >> 22);
v276 = (v271 & ~v275 | v275 & v274) + v269 + v438 + 1548603684;
v277 = v272 + ((v276 << 9) | (v276 >> 23));
v278 = (v271 << 10) | (v271 >> 22);
v279 = (v274 & ~v278 | v278 & v277) + v272 + v443 + 1548603684;
v280 = v275 + ((v279 << 11) | (v279 >> 21));
v281 = (v274 << 10) | (v274 >> 22);
v282 = (v277 & ~v281 | v281 & v280) + v275 + v447 + 1548603684;
v283 = v278 + ((v282 << 7) | (v282 >> 25));
v284 = (v277 << 10) | (v277 >> 22);
v285 = (v280 & ~v284 | v284 & v283) + v278 + v31 + 1548603684;
v286 = v281 + ((v285 << 7) | (v285 >> 25));
v287 = (v280 << 10) | (v280 >> 22);
v288 = (v283 & ~v287 | v287 & v286) + v281 + v441 + 1548603684;
v289 = v284 + ((v288 << 12) | (v288 >> 20));
v290 = (v283 << 10) | (v283 >> 22);
v291 = (v286 & ~v290 | v290 & v289) + v284 + v445 + 1548603684;
v292 = v287 + ((v291 << 7) | (v291 >> 25));
v293 = (v286 << 10) | (v286 >> 22);
v294 = (v289 & ~v293 | v293 & v292) + v287 + v437 + 1548603684;
v295 = v290 + ((v294 << 6) | (v294 >> 26));
v296 = (v289 << 10) | (v289 >> 22);
v297 = (v292 & ~v296 | v296 & v295) + v290 + v442 + 1548603684;
v298 = v293 + ((v297 << 15) | (v297 >> 17));
v299 = (v292 << 10) | (v292 >> 22);
v300 = (v295 & ~v299 | v299 & v298) + v293 + v434 + 1548603684;
v301 = v296 + ((v300 << 13) | (v300 >> 19));
v302 = (v295 << 10) | (v295 >> 22);
v303 = (v298 & ~v302 | v302 & v301) + v296 + v435 + 1548603684;
v304 = v299 + ((v303 << 11) | (v303 >> 21));
v305 = (v298 << 10) | (v298 >> 22);
v306 = (v305 ^ (v304 | ~v301)) + v299 + v31 + 1836072691;
v307 = v302 + ((v306 << 9) | (v306 >> 23));
v308 = (v301 << 10) | (v301 >> 22);
v309 = (v308 ^ (v307 | ~v304)) + v302 + v438 + 1836072691;
v310 = v305 + ((v309 << 7) | (v309 >> 25));
v311 = (v304 << 10) | (v304 >> 22);
v312 = (v311 ^ (v310 | ~v307)) + v305 + v434 + 1836072691;
v313 = v308 + ((v312 << 15) | (v312 >> 17));
v314 = (v307 << 10) | (v307 >> 22);
v315 = (v314 ^ (v313 | ~v310)) + v308 + v436 + 1836072691;
v316 = v311 + ((v315 << 11) | (v315 >> 21));
v317 = (v310 << 10) | (v310 >> 22);
v318 = (v317 ^ (v316 | ~v313)) + v311 + v440 + 1836072691;
v319 = v314 + ((v318 << 8) | (v318 >> 24));
v320 = (v313 << 10) | (v313 >> 22);
v321 = (v320 ^ (v319 | ~v316)) + v314 + v447 + 1836072691;
v322 = v317 + ((v321 << 6) | (v321 >> 26));
v323 = (v316 << 10) | (v316 >> 22);
v324 = (v323 ^ (v322 | ~v319)) + v317 + v439 + 1836072691;
v325 = v320 + ((v324 << 6) | (v324 >> 26));
v326 = (v319 << 10) | (v319 >> 22);
v327 = (v326 ^ (v325 | ~v322)) + v320 + v442 + 1836072691;
v328 = v323 + ((v327 << 14) | (v327 >> 18));
v329 = (v322 << 10) | (v322 >> 22);
v330 = (v329 ^ (v328 | ~v325)) + v323 + v444 + 1836072691;
v331 = v326 + ((v330 << 12) | (v330 >> 20));
v332 = (v325 << 10) | (v325 >> 22);
v333 = (v332 ^ (v331 | ~v328)) + v326 + v441 + 1836072691;
v334 = v329 + ((v333 << 13) | (v333 >> 19));
v335 = (v328 << 10) | (v328 >> 22);
v336 = (v335 ^ (v334 | ~v331)) + v329 + v445 + 1836072691;
v337 = v332 + ((32 * v336) | (v336 >> 27));
v338 = (v331 << 10) | (v331 >> 22);
v339 = (v338 ^ (v337 | ~v334)) + v332 + v435 + 1836072691;
v340 = v335 + ((v339 << 14) | (v339 >> 18));
v341 = (v334 << 10) | (v334 >> 22);
v342 = (v341 ^ (v340 | ~v337)) + v335 + v443 + 1836072691;
v343 = v338 + ((v342 << 13) | (v342 >> 19));
v344 = (v337 << 10) | (v337 >> 22);
v345 = (v344 ^ (v343 | ~v340)) + v338 + v433 + 1836072691;
v346 = v341 + ((v345 << 13) | (v345 >> 19));
v347 = (v340 << 10) | (v340 >> 22);
v348 = (v347 ^ (v346 | ~v343)) + v341 + v437 + 1836072691;
v349 = v344 + ((v348 << 7) | (v348 >> 25));
v350 = (v343 << 10) | (v343 >> 22);
v351 = (v350 ^ (v349 | ~v346)) + v344 + v446 + 1836072691;
v352 = v347 + ((32 * v351) | (v351 >> 27));
v353 = (v346 << 10) | (v346 >> 22);
v354 = (v349 & v352 | v353 & ~v352) + v347 + v441 + 2053994217;
v355 = v350 + ((v354 << 15) | (v354 >> 17));
v356 = (v349 << 10) | (v349 >> 22);
v357 = (v352 & v355 | v356 & ~v355) + v350 + v439 + 2053994217;
v358 = v353 + ((32 * v357) | (v357 >> 27));
v359 = (v352 << 10) | (v352 >> 22);
v360 = (v355 & v358 | v359 & ~v358) + v353 + v437 + 2053994217;
v361 = v356 + ((v360 << 8) | (v360 >> 24));
v362 = (v355 << 10) | (v355 >> 22);
v363 = (v358 & v361 | v362 & ~v361) + v356 + v434 + 2053994217;
v364 = v359 + ((v363 << 11) | (v363 >> 21));
v365 = (v358 << 10) | (v358 >> 22);
v366 = (v361 & v364 | v365 & ~v364) + v359 + v436 + 2053994217;
v367 = v362 + ((v366 << 14) | (v366 >> 18));
v368 = (v361 << 10) | (v361 >> 22);
v369 = (v364 & v367 | v368 & ~v367) + v362 + v444 + 2053994217;
v370 = v365 + ((v369 << 14) | (v369 >> 18));
v371 = (v364 << 10) | (v364 >> 22);
v372 = (v367 & v370 | v371 & ~v370) + v365 + v31 + 2053994217;
v373 = v368 + ((v372 << 6) | (v372 >> 26));
v374 = (v367 << 10) | (v367 >> 22);
v375 = (v370 & v373 | v374 & ~v373) + v368 + v433 + 2053994217;
v376 = v371 + ((v375 << 14) | (v375 >> 18));
v377 = (v370 << 10) | (v370 >> 22);
v378 = (v373 & v376 | v377 & ~v376) + v371 + v438 + 2053994217;
v379 = v374 + ((v378 << 6) | (v378 >> 26));
v380 = (v373 << 10) | (v373 >> 22);
v381 = (v376 & v379 | v380 & ~v379) + v374 + v445 + 2053994217;
v382 = v377 + ((v381 << 9) | (v381 >> 23));
v383 = (v376 << 10) | (v376 >> 22);
v384 = (v379 & v382 | v383 & ~v382) + v377 + v435 + 2053994217;
v385 = v380 + ((v384 << 12) | (v384 >> 20));
v386 = (v379 << 10) | (v379 >> 22);
v387 = (v382 & v385 | v386 & ~v385) + v380 + v446 + 2053994217;
v388 = v383 + ((v387 << 9) | (v387 >> 23));
v389 = (v382 << 10) | (v382 >> 22);
v390 = (v385 & v388 | v389 & ~v388) + v383 + v442 + 2053994217;
v391 = v386 + ((v390 << 12) | (v390 >> 20));
v392 = (v385 << 10) | (v385 >> 22);
v393 = (v388 & v391 | v392 & ~v391) + v386 + v440 + 2053994217;
v394 = v389 + ((32 * v393) | (v393 >> 27));
v395 = (v388 << 10) | (v388 >> 22);
v396 = (v391 & v394 | v395 & ~v394) + v389 + v443 + 2053994217;
v397 = v392 + ((v396 << 15) | (v396 >> 17));
v398 = (v391 << 10) | (v391 >> 22);
v399 = (v394 & v397 | v398 & ~v397) + v392 + v447 + 2053994217;
v400 = v395 + ((v399 << 8) | (v399 >> 24));
v401 = (v394 << 10) | (v394 >> 22);
v402 = v398 + ((((v400 ^ v401 ^ v397) + v445 + v395) << 8) | (((v400 ^ v401 ^ v397) + v445 + v395) >> 24));
v403 = (v397 << 10) | (v397 >> 22);
v404 = v401 + ((32 * ((v402 ^ v403 ^ v400) + v31 + v398)) | (((v402 ^ v403 ^ v400) + v31 + v398) >> 27));
v405 = (v400 << 10) | (v400 >> 22);
v406 = v403 + ((((v404 ^ v405 ^ v402) + v443 + v401) << 12) | (((v404 ^ v405 ^ v402) + v443 + v401) >> 20));
v407 = (v402 << 10) | (v402 >> 22);
v408 = v405 + ((((v406 ^ v407 ^ v404) + v437 + v403) << 9) | (((v406 ^ v407 ^ v404) + v437 + v403) >> 23));
v409 = (v404 << 10) | (v404 >> 22);
v410 = v407 + ((((v408 ^ v409 ^ v406) + v434 + v405) << 12) | (((v408 ^ v409 ^ v406) + v434 + v405) >> 20));
v411 = (v406 << 10) | (v406 >> 22);
v412 = v409 + ((32 * ((v410 ^ v411 ^ v408) + v438 + v407)) | (((v410 ^ v411 ^ v408) + v438 + v407) >> 27));
v413 = (v408 << 10) | (v408 >> 22);
v414 = v411 + ((((v412 ^ v413 ^ v410) + v441 + v409) << 14) | (((v412 ^ v413 ^ v410) + v441 + v409) >> 18));
v415 = (v410 << 10) | (v410 >> 22);
v416 = v413 + ((((v414 ^ v415 ^ v412) + v440 + v411) << 6) | (((v414 ^ v415 ^ v412) + v440 + v411) >> 26));
v417 = (v412 << 10) | (v412 >> 22);
v418 = v415 + ((((v416 ^ v417 ^ v414) + v439 + v413) << 8) | (((v416 ^ v417 ^ v414) + v439 + v413) >> 24));
v419 = (v414 << 10) | (v414 >> 22);
v420 = v417 + ((((v418 ^ v419 ^ v416) + v435 + v415) << 13) | (((v418 ^ v419 ^ v416) + v435 + v415) >> 19));
v421 = (v416 << 10) | (v416 >> 22);
v422 = v419 + ((((v420 ^ v421 ^ v418) + v446 + v417) << 6) | (((v420 ^ v421 ^ v418) + v446 + v417) >> 26));
v423 = (v418 << 10) | (v418 >> 22);
v424 = v421 + ((32 * ((v422 ^ v423 ^ v420) + v447 + v419)) | (((v422 ^ v423 ^ v420) + v447 + v419) >> 27));
v425 = (v420 << 10) | (v420 >> 22);
v426 = v423 + ((((v424 ^ v425 ^ v422) + v433 + v421) << 15) | (((v424 ^ v425 ^ v422) + v433 + v421) >> 17));
v427 = (v422 << 10) | (v422 >> 22);
v428 = v425 + ((((v426 ^ v427 ^ v424) + v436 + v423) << 13) | (((v426 ^ v427 ^ v424) + v436 + v423) >> 19));
v429 = (v424 << 10) | (v424 >> 22);
v430 = v427 + ((((v428 ^ v429 ^ v426) + v442 + v425) << 11) | (((v428 ^ v429 ^ v426) + v442 + v425) >> 21));
v431 = (v426 << 10) | (v426 >> 22);
v432 = MDbuf[1] + ((v428 << 10) | (v428 >> 22));
MDbuf[1] = ((dd << 10) | (dd >> 22)) + MDbuf[2] + v431;
MDbuf[2] = ee + MDbuf[3] + v429;
MDbuf[3] = ((((v430 ^ v431 ^ v428) + v444 + v427) << 11) | (((v430 ^ v431 ^ v428) + v444 + v427) >> 21))
+ v429
+ MDbuf[4]
+ v213;
MDbuf[4] = ((v214 << 6) | (v214 >> 26)) + v430 + *MDbuf + v213;
*MDbuf = cc + v432;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment