能力值:
(RANK:410 )
3 楼
ikki_CrackMe变形SHA和变形BlowFish逆向分析(三)----SHA1算法(2)
现在我们接着开始分析SHA1的算法, 这个SHA1算法分析起来倒是很简单,基本就是将待加密的数据乱七八糟的逻辑运算一通,得出一个固定长度为160位的数字签名。就是代码冗长,分析起来太费时间(分析了两天~~^_^~~)。
还是废话少说的好,转入正题吧。这个函数原型参考如下:
---------------Procedure SHA1(var SHA1_Key, Name_64:array of DWORD );---------------------
00415D6E |. 8D45 B0 LEA EAX ,DWORD PTR SS :[EBP -50]
00415D71 |. 50 PUSH EAX ; var Name_Init_64:array [0..16] of DOWRD;
00415D72 |. 8B4D 08 MOV ECX ,DWORD PTR SS :[EBP +8]
00415D75 |. 51 PUSH ECX ; var SHA1_Key:array [0..4] of DWORD ;
00415D76 |. E8 0DB7FFFF CALL CRACKME_.00411488 ; CALL SHA1; -----------------------------CALL SHA1---------------------------------------------------
begin
004126F0 PUSH EBP
004126F1 MOV EBP ,ESP
004126F3 SUB ESP ,138
004126F9 PUSH EBX
004126FA PUSH ESI
004126FB PUSH EDI
004126FC LEA EDI ,DWORD PTR SS :[EBP -138] ; 程序进行常规初始化。
00412702 MOV ECX ,4E
00412707 MOV EAX ,CCCCCCCC
0041270C REP STOS DWORD PTR ES :[EDI ]
0041270E MOV EAX ,DWORD PTR SS :[EBP +8]
00412711 MOV ECX ,DWORD PTR DS :[EAX ]
00412713 MOV DWORD PTR SS :[EBP -8],ECX ; 保存SHA1_Key[0],设为a1;
00412716 MOV EAX ,DWORD PTR SS :[EBP +8]
00412719 MOV ECX ,DWORD PTR DS :[EAX +4]
0041271C MOV DWORD PTR SS :[EBP -14],ECX ; 保存SHA1_Key[1],设为b1;
0041271F MOV EAX ,DWORD PTR SS :[EBP +8]
00412722 MOV ECX ,DWORD PTR DS :[EAX +8]
00412725 MOV DWORD PTR SS :[EBP -20],ECX ; 保存SHA1_Key[2],设为c1;
00412728 MOV EAX ,DWORD PTR SS :[EBP +8]
0041272B MOV ECX ,DWORD PTR DS :[EAX +C]
0041272E MOV DWORD PTR SS :[EBP -2C],ECX ; 保存SHA1_Key[3],设为d1;
00412731 MOV EAX ,DWORD PTR SS :[EBP +8]
00412734 MOV ECX ,DWORD PTR DS :[EAX +10]
00412737 MOV DWORD PTR SS :[EBP -38],ECX ; 保存SHA1_Key[4],设为e1;
0041273A MOV EAX ,DWORD PTR SS :[EBP +8]
0041273D MOV ECX ,DWORD PTR DS :[EAX ]
0041273F MOV DWORD PTR SS :[EBP -44],ECX ; 再次保存SHA1_Key[0],设为a2;
00412742 MOV EAX ,DWORD PTR SS :[EBP +8]
00412745 MOV ECX ,DWORD PTR DS :[EAX +4]
00412748 MOV DWORD PTR SS :[EBP -50],ECX ; 再次保存SHA1_Key[1],设为b2;
0041274B MOV EAX ,DWORD PTR SS :[EBP +8]
0041274E MOV ECX ,DWORD PTR DS :[EAX +8]
00412751 MOV DWORD PTR SS :[EBP -5C],ECX ; 再次保存SHA1_Key[2],设为c2;
00412754 MOV EAX ,DWORD PTR SS :[EBP +8]
00412757 MOV ECX ,DWORD PTR DS :[EAX +C]
0041275A MOV DWORD PTR SS :[EBP -68],ECX ; 再次保存SHA1_Key[3],设为d2;
0041275D MOV EAX ,DWORD PTR SS :[EBP +8]
00412760 MOV ECX ,DWORD PTR DS :[EAX +10]
00412763 MOV DWORD PTR SS :[EBP -74],ECX ; 再次保存SHA1_Key[4],设为e2;
//a1 := b1 xor c1 xor d1 + Name_64[0] + a1;
00412766 MOV EAX ,DWORD PTR SS :[EBP -14]
00412769 XOR EAX ,DWORD PTR SS :[EBP -20]
0041276C XOR EAX ,DWORD PTR SS :[EBP -2C]
0041276F MOV ECX ,DWORD PTR SS :[EBP +C]
00412772 ADD EAX ,DWORD PTR DS :[ECX ]
00412774 ADD EAX ,DWORD PTR SS :[EBP -8]
00412777 MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $0B) or (a1 shr $15) + e1;
0041277A MOV EAX ,DWORD PTR SS :[EBP -8]
0041277D SHL EAX ,0B
00412780 MOV ECX ,DWORD PTR SS :[EBP -8]
00412783 SHR ECX ,15
00412786 OR EAX ,ECX
00412788 ADD EAX ,DWORD PTR SS :[EBP -38]
0041278B MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
0041278E MOV EAX ,DWORD PTR SS :[EBP -20]
00412791 SHL EAX ,0A
00412794 MOV ECX ,DWORD PTR SS :[EBP -20]
00412797 SHR ECX ,16
0041279A OR EAX ,ECX
0041279C MOV DWORD PTR SS :[EBP -20],EAX
//e1 := a1 xor b1 xor c1 + Name_64[1] + e1;
0041279F MOV EAX ,DWORD PTR SS :[EBP -8]
004127A2 XOR EAX ,DWORD PTR SS :[EBP -14]
004127A5 XOR EAX ,DWORD PTR SS :[EBP -20]
004127A8 MOV ECX ,DWORD PTR SS :[EBP +C]
004127AB ADD EAX ,DWORD PTR DS :[ECX +4]
004127AE ADD EAX ,DWORD PTR SS :[EBP -38]
004127B1 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl $0E) or (e1 shr $12) + d1;
004127B4 MOV EAX ,DWORD PTR SS :[EBP -38]
004127B7 SHL EAX ,0E
004127BA MOV ECX ,DWORD PTR SS :[EBP -38]
004127BD SHR ECX ,12
004127C0 OR EAX ,ECX
004127C2 ADD EAX ,DWORD PTR SS :[EBP -2C]
004127C5 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
004127C8 MOV EAX ,DWORD PTR SS :[EBP -14]
004127CB SHL EAX ,0A
004127CE MOV ECX ,DWORD PTR SS :[EBP -14]
004127D1 SHR ECX ,16
004127D4 OR EAX ,ECX
004127D6 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := e1 xor a1 xor b1 + Name_64[2] + d1;
004127D9 MOV EAX ,DWORD PTR SS :[EBP -38]
004127DC XOR EAX ,DWORD PTR SS :[EBP -8]
004127DF XOR EAX ,DWORD PTR SS :[EBP -14]
004127E2 MOV ECX ,DWORD PTR SS :[EBP +C]
004127E5 ADD EAX ,DWORD PTR DS :[ECX +8]
004127E8 ADD EAX ,DWORD PTR SS :[EBP -2C]
004127EB MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl $0F) or (d1 shr $11) + c1;
004127EE MOV EAX ,DWORD PTR SS :[EBP -2C]
004127F1 SHL EAX ,0F
004127F4 MOV ECX ,DWORD PTR SS :[EBP -2C]
004127F7 SHR ECX ,11
004127FA OR EAX ,ECX
004127FC ADD EAX ,DWORD PTR SS :[EBP -20]
004127FF MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00412802 MOV EAX ,DWORD PTR SS :[EBP -8]
00412805 SHL EAX ,0A
00412808 MOV ECX ,DWORD PTR SS :[EBP -8]
0041280B SHR ECX ,16
0041280E OR EAX ,ECX
00412810 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := d1 xor e1 xor a1 + Name_64[3] + c1;
00412813 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412816 XOR EAX ,DWORD PTR SS :[EBP -38]
00412819 XOR EAX ,DWORD PTR SS :[EBP -8]
0041281C MOV ECX ,DWORD PTR SS :[EBP +C]
0041281F ADD EAX ,DWORD PTR DS :[ECX +C]
00412822 ADD EAX ,DWORD PTR SS :[EBP -20]
00412825 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl $0C) or (c1 shr $14) + b1;
00412828 MOV EAX ,DWORD PTR SS :[EBP -20]
0041282B SHL EAX ,0C
0041282E MOV ECX ,DWORD PTR SS :[EBP -20]
00412831 SHR ECX ,14
00412834 OR EAX ,ECX
00412836 ADD EAX ,DWORD PTR SS :[EBP -14]
00412839 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
0041283C MOV EAX ,DWORD PTR SS :[EBP -38]
0041283F SHL EAX ,0A
00412842 MOV ECX ,DWORD PTR SS :[EBP -38]
00412845 SHR ECX ,16
00412848 OR EAX ,ECX
0041284A MOV DWORD PTR SS :[EBP -38],EAX
//b1 := c1 xor d1 xor e1 + Name_64[4] + b1;
0041284D MOV EAX ,DWORD PTR SS :[EBP -20]
00412850 XOR EAX ,DWORD PTR SS :[EBP -2C]
00412853 XOR EAX ,DWORD PTR SS :[EBP -38]
00412856 MOV ECX ,DWORD PTR SS :[EBP +C]
00412859 ADD EAX ,DWORD PTR DS :[ECX +10]
0041285C ADD EAX ,DWORD PTR SS :[EBP -14]
0041285F MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 5) or (b1 shr $1B) + a1;
00412862 MOV EAX ,DWORD PTR SS :[EBP -14]
00412865 SHL EAX ,5
00412868 MOV ECX ,DWORD PTR SS :[EBP -14]
0041286B SHR ECX ,1B
0041286E OR EAX ,ECX
00412870 ADD EAX ,DWORD PTR SS :[EBP -8]
00412873 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16));
00412876 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412879 SHL EAX ,0A
0041287C MOV ECX ,DWORD PTR SS :[EBP -2C]
0041287F SHR ECX ,16
00412882 OR EAX ,ECX
00412884 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := b1 xor c1 xor d1 + Name_64[5] + a1;
00412887 MOV EAX ,DWORD PTR SS :[EBP -14]
0041288A XOR EAX ,DWORD PTR SS :[EBP -20]
0041288D XOR EAX ,DWORD PTR SS :[EBP -2C]
00412890 MOV ECX ,DWORD PTR SS :[EBP +C]
00412893 ADD EAX ,DWORD PTR DS :[ECX +14]
00412896 ADD EAX ,DWORD PTR SS :[EBP -8]
00412899 MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl 8) or (a1 shr $18) + e1;
0041289C MOV EAX ,DWORD PTR SS :[EBP -8]
0041289F SHL EAX ,8
004128A2 MOV ECX ,DWORD PTR SS :[EBP -8]
004128A5 SHR ECX ,18
004128A8 OR EAX ,ECX
004128AA ADD EAX ,DWORD PTR SS :[EBP -38]
004128AD MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
004128B0 MOV EAX ,DWORD PTR SS :[EBP -20]
004128B3 SHL EAX ,0A
004128B6 MOV ECX ,DWORD PTR SS :[EBP -20]
004128B9 SHR ECX ,16
004128BC OR EAX ,ECX
004128BE MOV DWORD PTR SS :[EBP -20],EAX
//e1 := a1 xor b1 xor c1 + Name_64[6] + e1;
004128C1 MOV EAX ,DWORD PTR SS :[EBP -8]
004128C4 XOR EAX ,DWORD PTR SS :[EBP -14]
004128C7 XOR EAX ,DWORD PTR SS :[EBP -20]
004128CA MOV ECX ,DWORD PTR SS :[EBP +C]
004128CD ADD EAX ,DWORD PTR DS :[ECX +18]
004128D0 ADD EAX ,DWORD PTR SS :[EBP -38]
004128D3 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl 7) or (e1 shr $19) + d1;
004128D6 MOV EAX ,DWORD PTR SS :[EBP -38]
004128D9 SHL EAX ,7
004128DC MOV ECX ,DWORD PTR SS :[EBP -38]
004128DF SHR ECX ,19
004128E2 OR EAX ,ECX
004128E4 ADD EAX ,DWORD PTR SS :[EBP -2C]
004128E7 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
004128EA MOV EAX ,DWORD PTR SS :[EBP -14]
004128ED SHL EAX ,0A
004128F0 MOV ECX ,DWORD PTR SS :[EBP -14]
004128F3 SHR ECX ,16
004128F6 OR EAX ,ECX
004128F8 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := e1 xor a1 xor b1 + Name_64[7] + d1;
004128FB MOV EAX ,DWORD PTR SS :[EBP -38]
004128FE XOR EAX ,DWORD PTR SS :[EBP -8]
00412901 XOR EAX ,DWORD PTR SS :[EBP -14]
00412904 MOV ECX ,DWORD PTR SS :[EBP +C]
00412907 ADD EAX ,DWORD PTR DS :[ECX +1C]
0041290A ADD EAX ,DWORD PTR SS :[EBP -2C]
0041290D MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl 9) or (d1 shr $17) + c1;
00412910 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412913 SHL EAX ,9
00412916 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412919 SHR ECX ,17
0041291C OR EAX ,ECX
0041291E ADD EAX ,DWORD PTR SS :[EBP -20]
00412921 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00412924 MOV EAX ,DWORD PTR SS :[EBP -8]
00412927 SHL EAX ,0A
0041292A MOV ECX ,DWORD PTR SS :[EBP -8]
0041292D SHR ECX ,16
00412930 OR EAX ,ECX
00412932 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := d1 xor e1 xor a1 + Name_64[8] + c1;
00412935 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412938 XOR EAX ,DWORD PTR SS :[EBP -38]
0041293B XOR EAX ,DWORD PTR SS :[EBP -8]
0041293E MOV ECX ,DWORD PTR SS :[EBP +C]
00412941 ADD EAX ,DWORD PTR DS :[ECX +20]
00412944 ADD EAX ,DWORD PTR SS :[EBP -20]
00412947 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl $0B) or (c1 shr $15) + b1;
0041294A MOV EAX ,DWORD PTR SS :[EBP -20]
0041294D SHL EAX ,0B
00412950 MOV ECX ,DWORD PTR SS :[EBP -20]
00412953 SHR ECX ,15
00412956 OR EAX ,ECX
00412958 ADD EAX ,DWORD PTR SS :[EBP -14]
0041295B MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
0041295E MOV EAX ,DWORD PTR SS :[EBP -38]
00412961 SHL EAX ,0A
00412964 MOV ECX ,DWORD PTR SS :[EBP -38]
00412967 SHR ECX ,16
0041296A OR EAX ,ECX
0041296C MOV DWORD PTR SS :[EBP -38],EAX
//b1 := c1 xor d1 xor e1 + Name_64[9] + b1;
0041296F MOV EAX ,DWORD PTR SS :[EBP -20]
00412972 XOR EAX ,DWORD PTR SS :[EBP -2C]
00412975 XOR EAX ,DWORD PTR SS :[EBP -38]
00412978 MOV ECX ,DWORD PTR SS :[EBP +C]
0041297B ADD EAX ,DWORD PTR DS :[ECX +24]
0041297E ADD EAX ,DWORD PTR SS :[EBP -14]
00412981 MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl $0D) or (b1 shr $13) + a1;
00412984 MOV EAX ,DWORD PTR SS :[EBP -14]
00412987 SHL EAX ,0D
0041298A MOV ECX ,DWORD PTR SS :[EBP -14]
0041298D SHR ECX ,13
00412990 OR EAX ,ECX
00412992 ADD EAX ,DWORD PTR SS :[EBP -8]
00412995 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00412998 MOV EAX ,DWORD PTR SS :[EBP -2C]
0041299B SHL EAX ,0A
0041299E MOV ECX ,DWORD PTR SS :[EBP -2C]
004129A1 SHR ECX ,16
004129A4 OR EAX ,ECX
004129A6 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := b1 xor c1 xor d1 + Name_64[10] + a1;
004129A9 MOV EAX ,DWORD PTR SS :[EBP -14]
004129AC XOR EAX ,DWORD PTR SS :[EBP -20]
004129AF XOR EAX ,DWORD PTR SS :[EBP -2C]
004129B2 MOV ECX ,DWORD PTR SS :[EBP +C]
004129B5 ADD EAX ,DWORD PTR DS :[ECX +28]
004129B8 ADD EAX ,DWORD PTR SS :[EBP -8]
004129BB MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $0E) or (a1 shr $12) + e1;
004129BE MOV EAX ,DWORD PTR SS :[EBP -8]
004129C1 SHL EAX ,0E
004129C4 MOV ECX ,DWORD PTR SS :[EBP -8]
004129C7 SHR ECX ,12
004129CA OR EAX ,ECX
004129CC ADD EAX ,DWORD PTR SS :[EBP -38]
004129CF MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr ($16);
004129D2 MOV EAX ,DWORD PTR SS :[EBP -20]
004129D5 SHL EAX ,0A
004129D8 MOV ECX ,DWORD PTR SS :[EBP -20]
004129DB SHR ECX ,16
004129DE OR EAX ,ECX
004129E0 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := a1 xor b1 xor c1 + Name_64[11] + e1;
004129E3 MOV EAX ,DWORD PTR SS :[EBP -8]
004129E6 XOR EAX ,DWORD PTR SS :[EBP -14]
004129E9 XOR EAX ,DWORD PTR SS :[EBP -20]
004129EC MOV ECX ,DWORD PTR SS :[EBP +C]
004129EF ADD EAX ,DWORD PTR DS :[ECX +2C]
004129F2 ADD EAX ,DWORD PTR SS :[EBP -38]
004129F5 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl $0F) or (e1 shr $11) + d1;
004129F8 MOV EAX ,DWORD PTR SS :[EBP -38]
004129FB SHL EAX ,0F
004129FE MOV ECX ,DWORD PTR SS :[EBP -38]
00412A01 SHR ECX ,11
00412A04 OR EAX ,ECX
00412A06 ADD EAX ,DWORD PTR SS :[EBP -2C]
00412A09 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00412A0C MOV EAX ,DWORD PTR SS :[EBP -14]
00412A0F SHL EAX ,0A
00412A12 MOV ECX ,DWORD PTR SS :[EBP -14]
00412A15 SHR ECX ,16
00412A18 OR EAX ,ECX
00412A1A MOV DWORD PTR SS :[EBP -14],EAX
//d1 := e1 xor a1 xor b1 + Name_64[12] + d1;
00412A1D MOV EAX ,DWORD PTR SS :[EBP -38]
00412A20 XOR EAX ,DWORD PTR SS :[EBP -8]
00412A23 XOR EAX ,DWORD PTR SS :[EBP -14]
00412A26 MOV ECX ,DWORD PTR SS :[EBP +C]
00412A29 ADD EAX ,DWORD PTR DS :[ECX +30]
00412A2C ADD EAX ,DWORD PTR SS :[EBP -2C]
00412A2F MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl 6) or (d1 shr $1A) + c1;
00412A32 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412A35 SHL EAX ,6
00412A38 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412A3B SHR ECX ,1A
00412A3E OR EAX ,ECX
00412A40 ADD EAX ,DWORD PTR SS :[EBP -20]
00412A43 MOV DWORD PTR SS :[EBP -2C],EAX
00412A46 MOV EAX ,DWORD PTR SS :[EBP -8]
00412A49 SHL EAX ,0A
00412A4C MOV ECX ,DWORD PTR SS :[EBP -8]
00412A4F SHR ECX ,16
00412A52 OR EAX ,ECX
00412A54 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := d1 xor e1 xor a1 + Name_64[13] + c1;
00412A57 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412A5A XOR EAX ,DWORD PTR SS :[EBP -38]
00412A5D XOR EAX ,DWORD PTR SS :[EBP -8]
00412A60 MOV ECX ,DWORD PTR SS :[EBP +C]
00412A63 ADD EAX ,DWORD PTR DS :[ECX +34]
00412A66 ADD EAX ,DWORD PTR SS :[EBP -20]
00412A69 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl 7) or (c1 shr $19) + b1;
00412A6C MOV EAX ,DWORD PTR SS :[EBP -20]
00412A6F SHL EAX ,7
00412A72 MOV ECX ,DWORD PTR SS :[EBP -20]
00412A75 SHR ECX ,19
00412A78 OR EAX ,ECX
00412A7A ADD EAX ,DWORD PTR SS :[EBP -14]
00412A7D MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00412A80 MOV EAX ,DWORD PTR SS :[EBP -38]
00412A83 SHL EAX ,0A
00412A86 MOV ECX ,DWORD PTR SS :[EBP -38]
00412A89 SHR ECX ,16
00412A8C OR EAX ,ECX
00412A8E MOV DWORD PTR SS :[EBP -38],EAX
//b1 := c1 xor d1 xor e1 + Name_64[14] + b1;
00412A91 MOV EAX ,DWORD PTR SS :[EBP -20]
00412A94 XOR EAX ,DWORD PTR SS :[EBP -2C]
00412A97 XOR EAX ,DWORD PTR SS :[EBP -38]
00412A9A MOV ECX ,DWORD PTR SS :[EBP +C]
00412A9D ADD EAX ,DWORD PTR DS :[ECX +38]
00412AA0 ADD EAX ,DWORD PTR SS :[EBP -14]
00412AA3 MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 9) or (b1 shr $17) + a1;
00412AA6 MOV EAX ,DWORD PTR SS :[EBP -14]
00412AA9 SHL EAX ,9
00412AAC MOV ECX ,DWORD PTR SS :[EBP -14]
00412AAF SHR ECX ,17
00412AB2 OR EAX ,ECX
00412AB4 ADD EAX ,DWORD PTR SS :[EBP -8]
00412AB7 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00412ABA MOV EAX ,DWORD PTR SS :[EBP -2C]
00412ABD SHL EAX ,0A
00412AC0 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412AC3 SHR ECX ,16
00412AC6 OR EAX ,ECX
00412AC8 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := b1 xor c1 xor d1 + Name_64[15] + a1;
00412ACB MOV EAX ,DWORD PTR SS :[EBP -14]
00412ACE XOR EAX ,DWORD PTR SS :[EBP -20]
00412AD1 XOR EAX ,DWORD PTR SS :[EBP -2C]
00412AD4 MOV ECX ,DWORD PTR SS :[EBP +C]
00412AD7 ADD EAX ,DWORD PTR DS :[ECX +3C]
00412ADA ADD EAX ,DWORD PTR SS :[EBP -8]
00412ADD MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl 8) or (a1 shr $18) + e1;
00412AE0 MOV EAX ,DWORD PTR SS :[EBP -8]
00412AE3 SHL EAX ,8
00412AE6 MOV ECX ,DWORD PTR SS :[EBP -8]
00412AE9 SHR ECX ,18
00412AEC OR EAX ,ECX
00412AEE ADD EAX ,DWORD PTR SS :[EBP -38]
00412AF1 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
00412AF4 MOV EAX ,DWORD PTR SS :[EBP -20]
00412AF7 SHL EAX ,0A
00412AFA MOV ECX ,DWORD PTR SS :[EBP -20]
00412AFD SHR ECX ,16
00412B00 OR EAX ,ECX
00412B02 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (((a1 and b1) or (not(a1) and c1)) + Name_64[7]) + e1 + $5A827999;
00412B05 MOV EAX ,DWORD PTR SS :[EBP -8]
00412B08 AND EAX ,DWORD PTR SS :[EBP -14]
00412B0B MOV ECX ,DWORD PTR SS :[EBP -8]
00412B0E NOT ECX
00412B10 AND ECX ,DWORD PTR SS :[EBP -20]
00412B13 OR EAX ,ECX
00412B15 MOV EDX ,DWORD PTR SS :[EBP +C]
00412B18 ADD EAX ,DWORD PTR DS :[EDX +1C]
00412B1B MOV ECX ,DWORD PTR SS :[EBP -38]
00412B1E LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412B25 MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl 7) or (e1 shr $19) + d1;
00412B28 MOV EAX ,DWORD PTR SS :[EBP -38]
00412B2B SHL EAX ,7
00412B2E MOV ECX ,DWORD PTR SS :[EBP -38]
00412B31 SHR ECX ,19
00412B34 OR EAX ,ECX
00412B36 ADD EAX ,DWORD PTR SS :[EBP -2C]
00412B39 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00412B3C MOV EAX ,DWORD PTR SS :[EBP -14]
00412B3F SHL EAX ,0A
00412B42 MOV ECX ,DWORD PTR SS :[EBP -14]
00412B45 SHR ECX ,16
00412B48 OR EAX ,ECX
00412B4A MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (((e1 and a1) or (not(e1) and b1)) + Name_64[4]) + d1 + $5A827999;
00412B4D MOV EAX ,DWORD PTR SS :[EBP -38]
00412B50 AND EAX ,DWORD PTR SS :[EBP -8]
00412B53 MOV ECX ,DWORD PTR SS :[EBP -38]
00412B56 NOT ECX
00412B58 AND ECX ,DWORD PTR SS :[EBP -14]
00412B5B OR EAX ,ECX
00412B5D MOV EDX ,DWORD PTR SS :[EBP +C]
00412B60 ADD EAX ,DWORD PTR DS :[EDX +10]
00412B63 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412B66 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412B6D MOV DWORD PTR SS :[EBP -2C],EDX
//d1 := (d1 shl 6) or (d1 shr $1A) + c1;
00412B70 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412B73 SHL EAX ,6
00412B76 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412B79 SHR ECX ,1A
00412B7C OR EAX ,ECX
00412B7E ADD EAX ,DWORD PTR SS :[EBP -20]
00412B81 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00412B84 MOV EAX ,DWORD PTR SS :[EBP -8]
00412B87 SHL EAX ,0A
00412B8A MOV ECX ,DWORD PTR SS :[EBP -8]
00412B8D SHR ECX ,16
00412B90 OR EAX ,ECX
00412B92 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (((d1 and e1) or (not(d1) and a1)) + Name_64[13]) + c1 + $5A827999;
00412B95 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412B98 AND EAX ,DWORD PTR SS :[EBP -38]
00412B9B MOV ECX ,DWORD PTR SS :[EBP -2C]
00412B9E NOT ECX
00412BA0 AND ECX ,DWORD PTR SS :[EBP -8]
00412BA3 OR EAX ,ECX
00412BA5 MOV EDX ,DWORD PTR SS :[EBP +C]
00412BA8 ADD EAX ,DWORD PTR DS :[EDX +34]
00412BAB MOV ECX ,DWORD PTR SS :[EBP -20]
00412BAE LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412BB5 MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl 8) or (c1 shr $18) + b1;
00412BB8 MOV EAX ,DWORD PTR SS :[EBP -20]
00412BBB SHL EAX ,8
00412BBE MOV ECX ,DWORD PTR SS :[EBP -20]
00412BC1 SHR ECX ,18
00412BC4 OR EAX ,ECX
00412BC6 ADD EAX ,DWORD PTR SS :[EBP -14]
00412BC9 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00412BCC MOV EAX ,DWORD PTR SS :[EBP -38]
00412BCF SHL EAX ,0A
00412BD2 MOV ECX ,DWORD PTR SS :[EBP -38]
00412BD5 SHR ECX ,16
00412BD8 OR EAX ,ECX
00412BDA MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (((c1 and d1) or (not(c1) and e1)) + Name_64[1]) + b1 + $5A827999;
00412BDD MOV EAX ,DWORD PTR SS :[EBP -20]
00412BE0 AND EAX ,DWORD PTR SS :[EBP -2C]
00412BE3 MOV ECX ,DWORD PTR SS :[EBP -20]
00412BE6 NOT ECX
00412BE8 AND ECX ,DWORD PTR SS :[EBP -38]
00412BEB OR EAX ,ECX
00412BED MOV EDX ,DWORD PTR SS :[EBP +C]
00412BF0 ADD EAX ,DWORD PTR DS :[EDX +4]
00412BF3 MOV ECX ,DWORD PTR SS :[EBP -14]
00412BF6 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412BFD MOV DWORD PTR SS :[EBP -14],EDX
//b1 := (b1 shl $0D) or (b1 shr $13) + a1;
00412C00 MOV EAX ,DWORD PTR SS :[EBP -14]
00412C03 SHL EAX ,0D
00412C06 MOV ECX ,DWORD PTR SS :[EBP -14]
00412C09 SHR ECX ,13
00412C0C OR EAX ,ECX
00412C0E ADD EAX ,DWORD PTR SS :[EBP -8]
00412C11 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00412C14 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412C17 SHL EAX ,0A
00412C1A MOV ECX ,DWORD PTR SS :[EBP -2C]
00412C1D SHR ECX ,16
00412C20 OR EAX ,ECX
00412C22 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (((b1 and c1) or (not(b1) and d1)) + Name_64[10] + a1 + $5A827999;
00412C25 MOV EAX ,DWORD PTR SS :[EBP -14]
00412C28 AND EAX ,DWORD PTR SS :[EBP -20]
00412C2B MOV ECX ,DWORD PTR SS :[EBP -14]
00412C2E NOT ECX
00412C30 AND ECX ,DWORD PTR SS :[EBP -2C]
00412C33 OR EAX ,ECX
00412C35 MOV EDX ,DWORD PTR SS :[EBP +C]
00412C38 ADD EAX ,DWORD PTR DS :[EDX +28]
00412C3B MOV ECX ,DWORD PTR SS :[EBP -8]
00412C3E LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412C45 MOV DWORD PTR SS :[EBP -8],EDX
//a1 := (a1 shl $0B) or (a1 shr $15) + e1;
00412C48 MOV EAX ,DWORD PTR SS :[EBP -8]
00412C4B SHL EAX ,0B
00412C4E MOV ECX ,DWORD PTR SS :[EBP -8]
00412C51 SHR ECX ,15
00412C54 OR EAX ,ECX
00412C56 ADD EAX ,DWORD PTR SS :[EBP -38]
00412C59 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
00412C5C MOV EAX ,DWORD PTR SS :[EBP -20]
00412C5F SHL EAX ,0A
00412C62 MOV ECX ,DWORD PTR SS :[EBP -20]
00412C65 SHR ECX ,16
00412C68 OR EAX ,ECX
00412C6A MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (((a1 and b1) or (not(a1) and c1)) + Name_64[7]) + e1 + $5A827999;
00412C6D MOV EAX ,DWORD PTR SS :[EBP -8]
00412C70 AND EAX ,DWORD PTR SS :[EBP -14]
00412C73 MOV ECX ,DWORD PTR SS :[EBP -8]
00412C76 NOT ECX
00412C78 AND ECX ,DWORD PTR SS :[EBP -20]
00412C7B OR EAX ,ECX
00412C7D MOV EDX ,DWORD PTR SS :[EBP +C]
00412C80 ADD EAX ,DWORD PTR DS :[EDX +18]
00412C83 MOV ECX ,DWORD PTR SS :[EBP -38]
00412C86 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412C8D MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl 9) or (e1 shr $17) + d1;
00412C90 MOV EAX ,DWORD PTR SS :[EBP -38]
00412C93 SHL EAX ,9
00412C96 MOV ECX ,DWORD PTR SS :[EBP -38]
00412C99 SHR ECX ,17
00412C9C OR EAX ,ECX
00412C9E ADD EAX ,DWORD PTR SS :[EBP -2C]
00412CA1 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00412CA4 MOV EAX ,DWORD PTR SS :[EBP -14]
00412CA7 SHL EAX ,0A
00412CAA MOV ECX ,DWORD PTR SS :[EBP -14]
00412CAD SHR ECX ,16
00412CB0 OR EAX ,ECX
00412CB2 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (((e1 and a1) or (not(e1) and b1)) + Name_64[15]) + d1 + $5A827999;
00412CB5 MOV EAX ,DWORD PTR SS :[EBP -38]
00412CB8 AND EAX ,DWORD PTR SS :[EBP -8]
00412CBB MOV ECX ,DWORD PTR SS :[EBP -38]
00412CBE NOT ECX
00412CC0 AND ECX ,DWORD PTR SS :[EBP -14]
00412CC3 OR EAX ,ECX
00412CC5 MOV EDX ,DWORD PTR SS :[EBP +C]
00412CC8 ADD EAX ,DWORD PTR DS :[EDX +3C]
00412CCB MOV ECX ,DWORD PTR SS :[EBP -2C]
00412CCE LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412CD5 MOV DWORD PTR SS :[EBP -2C],EDX
//d1 := (d1 shl 7) or (d1 shr $19) + c1;
00412CD8 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412CDB SHL EAX ,7
00412CDE MOV ECX ,DWORD PTR SS :[EBP -2C]
00412CE1 SHR ECX ,19
00412CE4 OR EAX ,ECX
00412CE6 ADD EAX ,DWORD PTR SS :[EBP -20]
00412CE9 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00412CEC MOV EAX ,DWORD PTR SS :[EBP -8]
00412CEF SHL EAX ,0A
00412CF2 MOV ECX ,DWORD PTR SS :[EBP -8]
00412CF5 SHR ECX ,16
00412CF8 OR EAX ,ECX
00412CFA MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (((d1 and e1) or (not(d1) and a1)) + Name_64[3]) + c1 + $5A827999;
00412CFD MOV EAX ,DWORD PTR SS :[EBP -2C]
00412D00 AND EAX ,DWORD PTR SS :[EBP -38]
00412D03 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412D06 NOT ECX
00412D08 AND ECX ,DWORD PTR SS :[EBP -8]
00412D0B OR EAX ,ECX
00412D0D MOV EDX ,DWORD PTR SS :[EBP +C]
00412D10 ADD EAX ,DWORD PTR DS :[EDX +C]
00412D13 MOV ECX ,DWORD PTR SS :[EBP -20]
00412D16 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412D1D MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl $0F) or (c1 shr $11) + b1;
00412D20 MOV EAX ,DWORD PTR SS :[EBP -20]
00412D23 SHL EAX ,0F
00412D26 MOV ECX ,DWORD PTR SS :[EBP -20]
00412D29 SHR ECX ,11
00412D2C OR EAX ,ECX
00412D2E ADD EAX ,DWORD PTR SS :[EBP -14]
00412D31 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00412D34 MOV EAX ,DWORD PTR SS :[EBP -38]
00412D37 SHL EAX ,0A
00412D3A MOV ECX ,DWORD PTR SS :[EBP -38]
00412D3D SHR ECX ,16
00412D40 OR EAX ,ECX
00412D42 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (((c1 and d1) or (not(c1) and e1)) + Name_64[5]) + b1 + $ 5A827999;
00412D45 MOV EAX ,DWORD PTR SS :[EBP -20]
00412D48 AND EAX ,DWORD PTR SS :[EBP -2C]
00412D4B MOV ECX ,DWORD PTR SS :[EBP -20]
00412D4E NOT ECX
00412D50 AND ECX ,DWORD PTR SS :[EBP -38]
00412D53 OR EAX ,ECX
00412D55 MOV EDX ,DWORD PTR SS :[EBP +C]
00412D58 ADD EAX ,DWORD PTR DS :[EDX +30]
00412D5B MOV ECX ,DWORD PTR SS :[EBP -14]
00412D5E LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412D65 MOV DWORD PTR SS :[EBP -14],EDX
//b1 := (b1 shl 7) or (b1 shr $19) + a1;
00412D68 MOV EAX ,DWORD PTR SS :[EBP -14]
00412D6B SHL EAX ,7
00412D6E MOV ECX ,DWORD PTR SS :[EBP -14]
00412D71 SHR ECX ,19
00412D74 OR EAX ,ECX
00412D76 ADD EAX ,DWORD PTR SS :[EBP -8]
00412D79 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00412D7C MOV EAX ,DWORD PTR SS :[EBP -2C]
00412D7F SHL EAX ,0A
00412D82 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412D85 SHR ECX ,16
00412D88 OR EAX ,ECX
00412D8A MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (((b1 and c1) or (not(b1) and d1)) + Name_64[0]) + a1 + $5A827999;
00412D8D MOV EAX ,DWORD PTR SS :[EBP -14]
00412D90 AND EAX ,DWORD PTR SS :[EBP -20]
00412D93 MOV ECX ,DWORD PTR SS :[EBP -14]
00412D96 NOT ECX
00412D98 AND ECX ,DWORD PTR SS :[EBP -2C]
00412D9B OR EAX ,ECX
00412D9D MOV EDX ,DWORD PTR SS :[EBP +C]
00412DA0 ADD EAX ,DWORD PTR DS :[EDX ]
00412DA2 MOV ECX ,DWORD PTR SS :[EBP -8]
00412DA5 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412DAC MOV DWORD PTR SS :[EBP -8],EDX
//a1 := (a1 shl $0C) or (a1 shr $14) + e1;
00412DAF MOV EAX ,DWORD PTR SS :[EBP -8]
00412DB2 SHL EAX ,0C
00412DB5 MOV ECX ,DWORD PTR SS :[EBP -8]
00412DB8 SHR ECX ,14
00412DBB OR EAX ,ECX
00412DBD ADD EAX ,DWORD PTR SS :[EBP -38]
00412DC0 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
00412DC3 MOV EAX ,DWORD PTR SS :[EBP -20]
00412DC6 SHL EAX ,0A
00412DC9 MOV ECX ,DWORD PTR SS :[EBP -20]
00412DCC SHR ECX ,16
00412DCF OR EAX ,ECX
00412DD1 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (((a1 and b1) or (not(a1) and c1)) + Name_64[9]) + e1 + $5A827999;
00412DD4 MOV EAX ,DWORD PTR SS :[EBP -8]
00412DD7 AND EAX ,DWORD PTR SS :[EBP -14]
00412DDA MOV ECX ,DWORD PTR SS :[EBP -8]
00412DDD NOT ECX
00412DDF AND ECX ,DWORD PTR SS :[EBP -20]
00412DE2 OR EAX ,ECX
00412DE4 MOV EDX ,DWORD PTR SS :[EBP +C]
00412DE7 ADD EAX ,DWORD PTR DS :[EDX +24]
00412DEA MOV ECX ,DWORD PTR SS :[EBP -38]
00412DED LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412DF4 MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl $0F) or (e1 shr $11) + d1;
00412DF7 MOV EAX ,DWORD PTR SS :[EBP -38]
00412DFA SHL EAX ,0F
00412DFD MOV ECX ,DWORD PTR SS :[EBP -38]
00412E00 SHR ECX ,11
00412E03 OR EAX ,ECX
00412E05 ADD EAX ,DWORD PTR SS :[EBP -2C]
00412E08 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00412E0B MOV EAX ,DWORD PTR SS :[EBP -14]
00412E0E SHL EAX ,0A
00412E11 MOV ECX ,DWORD PTR SS :[EBP -14]
00412E14 SHR ECX ,16
00412E17 OR EAX ,ECX
00412E19 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (((e1 and a1) or (not(e1) and b1)) + Name_64[5]) + d1 + $5A827999;
00412E1C MOV EAX ,DWORD PTR SS :[EBP -38]
00412E1F AND EAX ,DWORD PTR SS :[EBP -8]
00412E22 MOV ECX ,DWORD PTR SS :[EBP -38]
00412E25 NOT ECX
00412E27 AND ECX ,DWORD PTR SS :[EBP -14]
00412E2A OR EAX ,ECX
00412E2C MOV EDX ,DWORD PTR SS :[EBP +C]
00412E2F ADD EAX ,DWORD PTR DS :[EDX +14]
00412E32 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412E35 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412E3C MOV DWORD PTR SS :[EBP -2C],EDX
//d1 := (d1 shl 9) or (d1 shr $17) + c1;
00412E3F MOV EAX ,DWORD PTR SS :[EBP -2C]
00412E42 SHL EAX ,9
00412E45 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412E48 SHR ECX ,17
00412E4B OR EAX ,ECX
00412E4D ADD EAX ,DWORD PTR SS :[EBP -20]
00412E50 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00412E53 MOV EAX ,DWORD PTR SS :[EBP -8]
00412E56 SHL EAX ,0A
00412E59 MOV ECX ,DWORD PTR SS :[EBP -8]
00412E5C SHR ECX ,16
00412E5F OR EAX ,ECX
00412E61 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (((d1 and e1) or (not(d1) and a1)) + Name_64[2]) + c1 + $5A827999;
00412E64 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412E67 AND EAX ,DWORD PTR SS :[EBP -38]
00412E6A MOV ECX ,DWORD PTR SS :[EBP -2C]
00412E6D NOT ECX
00412E6F AND ECX ,DWORD PTR SS :[EBP -8]
00412E72 OR EAX ,ECX
00412E74 MOV EDX ,DWORD PTR SS :[EBP +C]
00412E77 ADD EAX ,DWORD PTR DS :[EDX +8]
00412E7A MOV ECX ,DWORD PTR SS :[EBP -20]
00412E7D LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412E84 MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl $0B) or (c1 shr $15) + b1;
00412E87 MOV EAX ,DWORD PTR SS :[EBP -20]
00412E8A SHL EAX ,0B
00412E8D MOV ECX ,DWORD PTR SS :[EBP -20]
00412E90 SHR ECX ,15
00412E93 OR EAX ,ECX
00412E95 ADD EAX ,DWORD PTR SS :[EBP -14]
00412E98 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00412E9B MOV EAX ,DWORD PTR SS :[EBP -38]
00412E9E SHL EAX ,0A
00412EA1 MOV ECX ,DWORD PTR SS :[EBP -38]
00412EA4 SHR ECX ,16
00412EA7 OR EAX ,ECX
00412EA9 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (((c1 and d1) or (not(c1) and e1)) + Name_64[14]) + b1 + $5A827999;
00412EAC MOV EAX ,DWORD PTR SS :[EBP -20]
00412EAF AND EAX ,DWORD PTR SS :[EBP -2C]
00412EB2 MOV ECX ,DWORD PTR SS :[EBP -20]
00412EB5 NOT ECX
00412EB7 AND ECX ,DWORD PTR SS :[EBP -38]
00412EBA OR EAX ,ECX
00412EBC MOV EDX ,DWORD PTR SS :[EBP +C]
00412EBF ADD EAX ,DWORD PTR DS :[EDX +38]
00412EC2 MOV ECX ,DWORD PTR SS :[EBP -14]
00412EC5 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412ECC MOV DWORD PTR SS :[EBP -14],EDX
//b1 := (b1 shl 7) or (b1 shr $19) + a1;
00412ECF MOV EAX ,DWORD PTR SS :[EBP -14]
00412ED2 SHL EAX ,7
00412ED5 MOV ECX ,DWORD PTR SS :[EBP -14]
00412ED8 SHR ECX ,19
00412EDB OR EAX ,ECX
00412EDD ADD EAX ,DWORD PTR SS :[EBP -8]
00412EE0 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00412EE3 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412EE6 SHL EAX ,0A
00412EE9 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412EEC SHR ECX ,16
00412EEF OR EAX ,ECX
00412EF1 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (((b1 and c1) or (not(b1) and d1)) + Name_64[11]) + a1 + $5A827999;
00412EF4 MOV EAX ,DWORD PTR SS :[EBP -14]
00412EF7 AND EAX ,DWORD PTR SS :[EBP -20]
00412EFA MOV ECX ,DWORD PTR SS :[EBP -14]
00412EFD NOT ECX
00412EFF AND ECX ,DWORD PTR SS :[EBP -2C]
00412F02 OR EAX ,ECX
00412F04 MOV EDX ,DWORD PTR SS :[EBP +C]
00412F07 ADD EAX ,DWORD PTR DS :[EDX +2C]
00412F0A MOV ECX ,DWORD PTR SS :[EBP -8]
00412F0D LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412F14 MOV DWORD PTR SS :[EBP -8],EDX
//a1 := (a1 shl $0D) or (a1 shr $13) + e1;
00412F17 MOV EAX ,DWORD PTR SS :[EBP -8]
00412F1A SHL EAX ,0D
00412F1D MOV ECX ,DWORD PTR SS :[EBP -8]
00412F20 SHR ECX ,13
00412F23 OR EAX ,ECX
00412F25 ADD EAX ,DWORD PTR SS :[EBP -38]
00412F28 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
00412F2B MOV EAX ,DWORD PTR SS :[EBP -20]
00412F2E SHL EAX ,0A
00412F31 MOV ECX ,DWORD PTR SS :[EBP -20]
00412F34 SHR ECX ,16
00412F37 OR EAX ,ECX
00412F39 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (((a1 and b1) or (not(a1) and c1)) + Name_64[8]) + e1 + $5A827999;
00412F3C MOV EAX ,DWORD PTR SS :[EBP -8]
00412F3F AND EAX ,DWORD PTR SS :[EBP -14]
00412F42 MOV ECX ,DWORD PTR SS :[EBP -8]
00412F45 NOT ECX
00412F47 AND ECX ,DWORD PTR SS :[EBP -20]
00412F4A OR EAX ,ECX
00412F4C MOV EDX ,DWORD PTR SS :[EBP +C]
00412F4F ADD EAX ,DWORD PTR DS :[EDX +20]
00412F52 MOV ECX ,DWORD PTR SS :[EBP -38]
00412F55 LEA EDX ,DWORD PTR DS :[ECX +EAX +5A827999]
00412F5C MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl $0C) or (e1 shr $14) + d1;
00412F5F MOV EAX ,DWORD PTR SS :[EBP -38]
00412F62 SHL EAX ,0C
00412F65 MOV ECX ,DWORD PTR SS :[EBP -38]
00412F68 SHR ECX ,14
00412F6B OR EAX ,ECX
00412F6D ADD EAX ,DWORD PTR SS :[EBP -2C]
00412F70 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00412F73 MOV EAX ,DWORD PTR SS :[EBP -14]
00412F76 SHL EAX ,0A
00412F79 MOV ECX ,DWORD PTR SS :[EBP -14]
00412F7C SHR ECX ,16
00412F7F OR EAX ,ECX
00412F81 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := ((not(a1) or e1) xor b1 + Name_64[3]) + d1 + $6ED9EBA1;
00412F84 MOV EAX ,DWORD PTR SS :[EBP -8]
00412F87 NOT EAX
00412F89 OR EAX ,DWORD PTR SS :[EBP -38]
00412F8C XOR EAX ,DWORD PTR SS :[EBP -14]
00412F8F MOV ECX ,DWORD PTR SS :[EBP +C]
00412F92 ADD EAX ,DWORD PTR DS :[ECX +C]
00412F95 MOV EDX ,DWORD PTR SS :[EBP -2C]
00412F98 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00412F9F MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl $0B) or (d1 shr $15) + c1;
00412FA2 MOV EAX ,DWORD PTR SS :[EBP -2C]
00412FA5 SHL EAX ,0B
00412FA8 MOV ECX ,DWORD PTR SS :[EBP -2C]
00412FAB SHR ECX ,15
00412FAE OR EAX ,ECX
00412FB0 ADD EAX ,DWORD PTR SS :[EBP -20]
00412FB3 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00412FB6 MOV EAX ,DWORD PTR SS :[EBP -8]
00412FB9 SHL EAX ,0A
00412FBC MOV ECX ,DWORD PTR SS :[EBP -8]
00412FBF SHR ECX ,16
00412FC2 OR EAX ,ECX
00412FC4 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((not(e1) or d1) xor a1 + Name_64[10]) + c1 + $6ED9EBA1;
00412FC7 MOV EAX ,DWORD PTR SS :[EBP -38]
00412FCA NOT EAX
00412FCC OR EAX ,DWORD PTR SS :[EBP -2C]
00412FCF XOR EAX ,DWORD PTR SS :[EBP -8]
00412FD2 MOV ECX ,DWORD PTR SS :[EBP +C]
00412FD5 ADD EAX ,DWORD PTR DS :[ECX +28]
00412FD8 MOV EDX ,DWORD PTR SS :[EBP -20]
00412FDB LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00412FE2 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl $0D) or (c1 shr $13) + b1;
00412FE5 MOV EAX ,DWORD PTR SS :[EBP -20]
00412FE8 SHL EAX ,0D
00412FEB MOV ECX ,DWORD PTR SS :[EBP -20]
00412FEE SHR ECX ,13
00412FF1 OR EAX ,ECX
00412FF3 ADD EAX ,DWORD PTR SS :[EBP -14]
00412FF6 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00412FF9 MOV EAX ,DWORD PTR SS :[EBP -38]
00412FFC SHL EAX ,0A
00412FFF MOV ECX ,DWORD PTR SS :[EBP -38]
00413002 SHR ECX ,16
00413005 OR EAX ,ECX
00413007 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := ((not(d1) or c1) xor e1 + Name_64[14]) + b1 + $6ED9EBA1;
0041300A MOV EAX ,DWORD PTR SS :[EBP -2C]
0041300D NOT EAX
0041300F OR EAX ,DWORD PTR SS :[EBP -20]
00413012 XOR EAX ,DWORD PTR SS :[EBP -38]
00413015 MOV ECX ,DWORD PTR SS :[EBP +C]
00413018 ADD EAX ,DWORD PTR DS :[ECX +38]
0041301B MOV EDX ,DWORD PTR SS :[EBP -14]
0041301E LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00413025 MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 6) or (b1 shr $1A) + a1;
00413028 MOV EAX ,DWORD PTR SS :[EBP -14]
0041302B SHL EAX ,6
0041302E MOV ECX ,DWORD PTR SS :[EBP -14]
00413031 SHR ECX ,1A
00413034 OR EAX ,ECX
00413036 ADD EAX ,DWORD PTR SS :[EBP -8]
00413039 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
0041303C MOV EAX ,DWORD PTR SS :[EBP -2C]
0041303F SHL EAX ,0A
00413042 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413045 SHR ECX ,16
00413048 OR EAX ,ECX
0041304A MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := ((not(c1) or b1) xor d1 + Name_64[4]) + a1 + $6ED9EBA1;
0041304D MOV EAX ,DWORD PTR SS :[EBP -20]
00413050 NOT EAX
00413052 OR EAX ,DWORD PTR SS :[EBP -14]
00413055 XOR EAX ,DWORD PTR SS :[EBP -2C]
00413058 MOV ECX ,DWORD PTR SS :[EBP +C]
0041305B ADD EAX ,DWORD PTR DS :[ECX +10]
0041305E MOV EDX ,DWORD PTR SS :[EBP -8]
00413061 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00413068 MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl 7) or (a1 shr $19) + e1;
0041306B MOV EAX ,DWORD PTR SS :[EBP -8]
0041306E SHL EAX ,7
00413071 MOV ECX ,DWORD PTR SS :[EBP -8]
00413074 SHR ECX ,19
00413077 OR EAX ,ECX
00413079 ADD EAX ,DWORD PTR SS :[EBP -38]
0041307C MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
0041307F MOV EAX ,DWORD PTR SS :[EBP -20]
00413082 SHL EAX ,0A
00413085 MOV ECX ,DWORD PTR SS :[EBP -20]
00413088 SHR ECX ,16
0041308B OR EAX ,ECX
0041308D MOV DWORD PTR SS :[EBP -20],EAX
//e1 := ((not(b1) or a1) xor c1 + Name_64[9]) + e1 + $6ED9EBA1;
00413090 MOV EAX ,DWORD PTR SS :[EBP -14]
00413093 NOT EAX
00413095 OR EAX ,DWORD PTR SS :[EBP -8]
00413098 XOR EAX ,DWORD PTR SS :[EBP -20]
0041309B MOV ECX ,DWORD PTR SS :[EBP +C]
0041309E ADD EAX ,DWORD PTR DS :[ECX +24]
004130A1 MOV EDX ,DWORD PTR SS :[EBP -38]
004130A4 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
004130AB MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl $0E) or (e1 shr $12) + d1;
004130AE MOV EAX ,DWORD PTR SS :[EBP -38]
004130B1 SHL EAX ,0E
004130B4 MOV ECX ,DWORD PTR SS :[EBP -38]
004130B7 SHR ECX ,12
004130BA OR EAX ,ECX
004130BC ADD EAX ,DWORD PTR SS :[EBP -2C]
004130BF MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
004130C2 MOV EAX ,DWORD PTR SS :[EBP -14]
004130C5 SHL EAX ,0A
004130C8 MOV ECX ,DWORD PTR SS :[EBP -14]
004130CB SHR ECX ,16
004130CE OR EAX ,ECX
004130D0 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := ((not(a1) or e1) xor b1 + Name_64[15]) + d1 + $6ED9EBA1;
004130D3 MOV EAX ,DWORD PTR SS :[EBP -8]
004130D6 NOT EAX
004130D8 OR EAX ,DWORD PTR SS :[EBP -38]
004130DB XOR EAX ,DWORD PTR SS :[EBP -14]
004130DE MOV ECX ,DWORD PTR SS :[EBP +C]
004130E1 ADD EAX ,DWORD PTR DS :[ECX +3C]
004130E4 MOV EDX ,DWORD PTR SS :[EBP -2C]
004130E7 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
004130EE MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl 9) or (d1 shr $17) + c1;
004130F1 MOV EAX ,DWORD PTR SS :[EBP -2C]
004130F4 SHL EAX ,9
004130F7 MOV ECX ,DWORD PTR SS :[EBP -2C]
004130FA SHR ECX ,17
004130FD OR EAX ,ECX
004130FF ADD EAX ,DWORD PTR SS :[EBP -20]
00413102 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00413105 MOV EAX ,DWORD PTR SS :[EBP -8]
00413108 SHL EAX ,0A
0041310B MOV ECX ,DWORD PTR SS :[EBP -8]
0041310E SHR ECX ,16
00413111 OR EAX ,ECX
00413113 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((not(e1) or d1) xor a1 + Name_64[8]) + c1 + $6ED9EBA1;
00413116 MOV EAX ,DWORD PTR SS :[EBP -38]
00413119 NOT EAX
0041311B OR EAX ,DWORD PTR SS :[EBP -2C]
0041311E XOR EAX ,DWORD PTR SS :[EBP -8]
00413121 MOV ECX ,DWORD PTR SS :[EBP +C]
00413124 ADD EAX ,DWORD PTR DS :[ECX +20]
00413127 MOV EDX ,DWORD PTR SS :[EBP -20]
0041312A LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00413131 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl $0D) or (c1 shr $13) + b1;
00413134 MOV EAX ,DWORD PTR SS :[EBP -20]
00413137 SHL EAX ,0D
0041313A MOV ECX ,DWORD PTR SS :[EBP -20]
0041313D SHR ECX ,13
00413140 OR EAX ,ECX
00413142 ADD EAX ,DWORD PTR SS :[EBP -14]
00413145 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00413148 MOV EAX ,DWORD PTR SS :[EBP -38]
0041314B SHL EAX ,0A
0041314E MOV ECX ,DWORD PTR SS :[EBP -38]
00413151 SHR ECX ,16
00413154 OR EAX ,ECX
00413156 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := ((not(d1) or c1) xor e1 + Name_64[1]) + b1 + $6ED9EBA1;
00413159 MOV EAX ,DWORD PTR SS :[EBP -2C]
0041315C NOT EAX
0041315E OR EAX ,DWORD PTR SS :[EBP -20]
00413161 XOR EAX ,DWORD PTR SS :[EBP -38]
00413164 MOV ECX ,DWORD PTR SS :[EBP +C]
00413167 ADD EAX ,DWORD PTR DS :[ECX +4]
0041316A MOV EDX ,DWORD PTR SS :[EBP -14]
0041316D LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00413174 MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl $0F) or (shr $11) + a1;
00413177 MOV EAX ,DWORD PTR SS :[EBP -14]
0041317A SHL EAX ,0F
0041317D MOV ECX ,DWORD PTR SS :[EBP -14]
00413180 SHR ECX ,11
00413183 OR EAX ,ECX
00413185 ADD EAX ,DWORD PTR SS :[EBP -8]
00413188 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
0041318B MOV EAX ,DWORD PTR SS :[EBP -2C]
0041318E SHL EAX ,0A
00413191 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413194 SHR ECX ,16
00413197 OR EAX ,ECX
00413199 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := ((not(c1) or b1) xor d1 + Name_64[2]) + a1 + $6ED9EBA1;
0041319C MOV EAX ,DWORD PTR SS :[EBP -20]
0041319F NOT EAX
004131A1 OR EAX ,DWORD PTR SS :[EBP -14]
004131A4 XOR EAX ,DWORD PTR SS :[EBP -2C]
004131A7 MOV ECX ,DWORD PTR SS :[EBP +C]
004131AA ADD EAX ,DWORD PTR DS :[ECX +8]
004131AD MOV EDX ,DWORD PTR SS :[EBP -8]
004131B0 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
004131B7 MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $0E) or (a1 shr $12) + e1;
004131BA MOV EAX ,DWORD PTR SS :[EBP -8]
004131BD SHL EAX ,0E
004131C0 MOV ECX ,DWORD PTR SS :[EBP -8]
004131C3 SHR ECX ,12
004131C6 OR EAX ,ECX
004131C8 ADD EAX ,DWORD PTR SS :[EBP -38]
004131CB MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
004131CE MOV EAX ,DWORD PTR SS :[EBP -20]
004131D1 SHL EAX ,0A
004131D4 MOV ECX ,DWORD PTR SS :[EBP -20]
004131D7 SHR ECX ,16
004131DA OR EAX ,ECX
004131DC MOV DWORD PTR SS :[EBP -20],EAX
//e1 := ((not(b1) or a1) xor c1 + Name_64[7]) + e1 + $6ED9EBA1;
004131DF MOV EAX ,DWORD PTR SS :[EBP -14]
004131E2 NOT EAX
004131E4 OR EAX ,DWORD PTR SS :[EBP -8]
004131E7 XOR EAX ,DWORD PTR SS :[EBP -20]
004131EA MOV ECX ,DWORD PTR SS :[EBP +C]
004131ED ADD EAX ,DWORD PTR DS :[ECX +1C]
004131F0 MOV EDX ,DWORD PTR SS :[EBP -38]
004131F3 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
004131FA MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl 8) or (e1 shr $18) + d1;
004131FD MOV EAX ,DWORD PTR SS :[EBP -38]
00413200 SHL EAX ,8
00413203 MOV ECX ,DWORD PTR SS :[EBP -38]
00413206 SHR ECX ,18
00413209 OR EAX ,ECX
0041320B ADD EAX ,DWORD PTR SS :[EBP -2C]
0041320E MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00413211 MOV EAX ,DWORD PTR SS :[EBP -14]
00413214 SHL EAX ,0A
00413217 MOV ECX ,DWORD PTR SS :[EBP -14]
0041321A SHR ECX ,16
0041321D OR EAX ,ECX
0041321F MOV DWORD PTR SS :[EBP -14],EAX
//d1 := ((not(a1) or e1) xor b1 + Name_64[0]) + d1 + $6ED9EBA1;
00413222 MOV EAX ,DWORD PTR SS :[EBP -8]
00413225 NOT EAX
00413227 OR EAX ,DWORD PTR SS :[EBP -38]
0041322A XOR EAX ,DWORD PTR SS :[EBP -14]
0041322D MOV ECX ,DWORD PTR SS :[EBP +C]
00413230 ADD EAX ,DWORD PTR DS :[ECX ]
00413232 MOV EDX ,DWORD PTR SS :[EBP -2C]
00413235 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
0041323C MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl $0D) or (d1 shr $13) + c1;
0041323F MOV EAX ,DWORD PTR SS :[EBP -2C]
00413242 SHL EAX ,0D
00413245 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413248 SHR ECX ,13
0041324B OR EAX ,ECX
0041324D ADD EAX ,DWORD PTR SS :[EBP -20]
00413250 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00413253 MOV EAX ,DWORD PTR SS :[EBP -8]
00413256 SHL EAX ,0A
00413259 MOV ECX ,DWORD PTR SS :[EBP -8]
0041325C SHR ECX ,16
0041325F OR EAX ,ECX
00413261 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((not(e1) or d1) xor a1 + Name_64[6]) + c1 + $6ED9EBA1;
00413264 MOV EAX ,DWORD PTR SS :[EBP -38]
00413267 NOT EAX
00413269 OR EAX ,DWORD PTR SS :[EBP -2C]
0041326C XOR EAX ,DWORD PTR SS :[EBP -8]
0041326F MOV ECX ,DWORD PTR SS :[EBP +C]
00413272 ADD EAX ,DWORD PTR DS :[ECX +18]
00413275 MOV EDX ,DWORD PTR SS :[EBP -20]
00413278 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
0041327F MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl 6) or (c1 shr $1A) + b1;
00413282 MOV EAX ,DWORD PTR SS :[EBP -20]
00413285 SHL EAX ,6
00413288 MOV ECX ,DWORD PTR SS :[EBP -20]
0041328B SHR ECX ,1A
0041328E OR EAX ,ECX
00413290 ADD EAX ,DWORD PTR SS :[EBP -14]
00413293 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00413296 MOV EAX ,DWORD PTR SS :[EBP -38]
00413299 SHL EAX ,0A
0041329C MOV ECX ,DWORD PTR SS :[EBP -38]
0041329F SHR ECX ,16
004132A2 OR EAX ,ECX
004132A4 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := ((not(d1) or c1) xor e1 + Name_64[13]) + b1 + $6ED9EBA1;
004132A7 MOV EAX ,DWORD PTR SS :[EBP -2C]
004132AA NOT EAX
004132AC OR EAX ,DWORD PTR SS :[EBP -20]
004132AF XOR EAX ,DWORD PTR SS :[EBP -38]
004132B2 MOV ECX ,DWORD PTR SS :[EBP +C]
004132B5 ADD EAX ,DWORD PTR DS :[ECX +34]
004132B8 MOV EDX ,DWORD PTR SS :[EBP -14]
004132BB LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
004132C2 MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 5) or (b1 shr $1B) + a1;
004132C5 MOV EAX ,DWORD PTR SS :[EBP -14]
004132C8 SHL EAX ,5
004132CB MOV ECX ,DWORD PTR SS :[EBP -14]
004132CE SHR ECX ,1B
004132D1 OR EAX ,ECX
004132D3 ADD EAX ,DWORD PTR SS :[EBP -8]
004132D6 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
004132D9 MOV EAX ,DWORD PTR SS :[EBP -2C]
004132DC SHL EAX ,0A
004132DF MOV ECX ,DWORD PTR SS :[EBP -2C]
004132E2 SHR ECX ,16
004132E5 OR EAX ,ECX
004132E7 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := ((not(c1) or b1) xor d1 + Name_64[11]) + a1 + $6ED9EBA1;
004132EA MOV EAX ,DWORD PTR SS :[EBP -20]
004132ED NOT EAX
004132EF OR EAX ,DWORD PTR SS :[EBP -14]
004132F2 XOR EAX ,DWORD PTR SS :[EBP -2C]
004132F5 MOV ECX ,DWORD PTR SS :[EBP +C]
004132F8 ADD EAX ,DWORD PTR DS :[ECX +2C]
004132FB MOV EDX ,DWORD PTR SS :[EBP -8]
004132FE LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00413305 MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $0C) or (a1 shr $14) + e1;
00413308 MOV EAX ,DWORD PTR SS :[EBP -8]
0041330B SHL EAX ,0C
0041330E MOV ECX ,DWORD PTR SS :[EBP -8]
00413311 SHR ECX ,14
00413314 OR EAX ,ECX
00413316 ADD EAX ,DWORD PTR SS :[EBP -38]
00413319 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (shr $16);
0041331C MOV EAX ,DWORD PTR SS :[EBP -20]
0041331F SHL EAX ,0A
00413322 MOV ECX ,DWORD PTR SS :[EBP -20]
00413325 SHR ECX ,16
00413328 OR EAX ,ECX
0041332A MOV DWORD PTR SS :[EBP -20],EAX
//e1 := ((not(b1) or a1) xor c1 + Name_64[5]) + e1 + $6ED9EBA1;
0041332D MOV EAX ,DWORD PTR SS :[EBP -14]
00413330 NOT EAX
00413332 OR EAX ,DWORD PTR SS :[EBP -8]
00413335 XOR EAX ,DWORD PTR SS :[EBP -20]
00413338 MOV ECX ,DWORD PTR SS :[EBP +C]
0041333B ADD EAX ,DWORD PTR DS :[ECX +14]
0041333E MOV EDX ,DWORD PTR SS :[EBP -38]
00413341 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
00413348 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl 7) or (e1 shr $19) + d1;
0041334B MOV EAX ,DWORD PTR SS :[EBP -38]
0041334E SHL EAX ,7
00413351 MOV ECX ,DWORD PTR SS :[EBP -38]
00413354 SHR ECX ,19
00413357 OR EAX ,ECX
00413359 ADD EAX ,DWORD PTR SS :[EBP -2C]
0041335C MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
0041335F MOV EAX ,DWORD PTR SS :[EBP -14]
00413362 SHL EAX ,0A
00413365 MOV ECX ,DWORD PTR SS :[EBP -14]
00413368 SHR ECX ,16
0041336B OR EAX ,ECX
0041336D MOV DWORD PTR SS :[EBP -14],EAX
//d1 := ((not(a1) or e1) xor b1 + Name_64[12]) + d1 + $6ED9EBA1;
00413370 MOV EAX ,DWORD PTR SS :[EBP -8]
00413373 NOT EAX
00413375 OR EAX ,DWORD PTR SS :[EBP -38]
00413378 XOR EAX ,DWORD PTR SS :[EBP -14]
0041337B MOV ECX ,DWORD PTR SS :[EBP +C]
0041337E ADD EAX ,DWORD PTR DS :[ECX +30]
00413381 MOV EDX ,DWORD PTR SS :[EBP -2C]
00413384 LEA EAX ,DWORD PTR DS :[EDX +EAX +6ED9EBA1]
0041338B MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl 5) or (d1 shr $1B) + c1;
0041338E MOV EAX ,DWORD PTR SS :[EBP -2C]
00413391 SHL EAX ,5
00413394 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413397 SHR ECX ,1B
0041339A OR EAX ,ECX
0041339C ADD EAX ,DWORD PTR SS :[EBP -20]
0041339F MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
004133A2 MOV EAX ,DWORD PTR SS :[EBP -8]
004133A5 SHL EAX ,0A
004133A8 MOV ECX ,DWORD PTR SS :[EBP -8]
004133AB SHR ECX ,16
004133AE OR EAX ,ECX
004133B0 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((d1 and a1) or (not(a1) and e1)) + Name_64[1] + c1 + $8F1BBCDC;
004133B3 MOV EAX ,DWORD PTR SS :[EBP -2C]
004133B6 AND EAX ,DWORD PTR SS :[EBP -8]
004133B9 MOV ECX ,DWORD PTR SS :[EBP -8]
004133BC NOT ECX
004133BE AND ECX ,DWORD PTR SS :[EBP -38]
004133C1 OR EAX ,ECX
004133C3 MOV EDX ,DWORD PTR SS :[EBP +C]
004133C6 ADD EAX ,DWORD PTR DS :[EDX +4]
004133C9 MOV ECX ,DWORD PTR SS :[EBP -20]
004133CC LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004133D3 MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl $0B) or (c1 shr $15) + b1;
004133D6 MOV EAX ,DWORD PTR SS :[EBP -20]
004133D9 SHL EAX ,0B
004133DC MOV ECX ,DWORD PTR SS :[EBP -20]
004133DF SHR ECX ,15
004133E2 OR EAX ,ECX
004133E4 ADD EAX ,DWORD PTR SS :[EBP -14]
004133E7 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
004133EA MOV EAX ,DWORD PTR SS :[EBP -38]
004133ED SHL EAX ,0A
004133F0 MOV ECX ,DWORD PTR SS :[EBP -38]
004133F3 SHR ECX ,16
004133F6 OR EAX ,ECX
004133F8 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := ((c1 and e1) or (not(e1) and d1)) + Name_64[9] + b1 + $8F1BBCDC;
004133FB MOV EAX ,DWORD PTR SS :[EBP -20]
004133FE AND EAX ,DWORD PTR SS :[EBP -38]
00413401 MOV ECX ,DWORD PTR SS :[EBP -38]
00413404 NOT ECX
00413406 AND ECX ,DWORD PTR SS :[EBP -2C]
00413409 OR EAX ,ECX
0041340B MOV EDX ,DWORD PTR SS :[EBP +C]
0041340E ADD EAX ,DWORD PTR DS :[EDX +24]
00413411 MOV ECX ,DWORD PTR SS :[EBP -14]
00413414 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
0041341B MOV DWORD PTR SS :[EBP -14],EDX
//b1 := (b1 shl $0C) or (b1 shr $14) + a1;
0041341E MOV EAX ,DWORD PTR SS :[EBP -14]
00413421 SHL EAX ,0C
00413424 MOV ECX ,DWORD PTR SS :[EBP -14]
00413427 SHR ECX ,14
0041342A OR EAX ,ECX
0041342C ADD EAX ,DWORD PTR SS :[EBP -8]
0041342F MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00413432 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413435 SHL EAX ,0A
00413438 MOV ECX ,DWORD PTR SS :[EBP -2C]
0041343B SHR ECX ,16
0041343E OR EAX ,ECX
00413440 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := ((b1 and d1) or (not(d1) and c1)) + Name_64[11] + a1 + $8F1BBCDC;
00413443 MOV EAX ,DWORD PTR SS :[EBP -14]
00413446 AND EAX ,DWORD PTR SS :[EBP -2C]
00413449 MOV ECX ,DWORD PTR SS :[EBP -2C]
0041344C NOT ECX
0041344E AND ECX ,DWORD PTR SS :[EBP -20]
00413451 OR EAX ,ECX
00413453 MOV EDX ,DWORD PTR SS :[EBP +C]
00413456 ADD EAX ,DWORD PTR DS :[EDX +2C]
00413459 MOV ECX ,DWORD PTR SS :[EBP -8]
0041345C LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
00413463 MOV DWORD PTR SS :[EBP -8],EDX
//a1 := (a1 shl $0E) or (a1 shr $12) + e1;
00413466 MOV EAX ,DWORD PTR SS :[EBP -8]
00413469 SHL EAX ,0E
0041346C MOV ECX ,DWORD PTR SS :[EBP -8]
0041346F SHR ECX ,12
00413472 OR EAX ,ECX
00413474 ADD EAX ,DWORD PTR SS :[EBP -38]
00413477 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
0041347A MOV EAX ,DWORD PTR SS :[EBP -20]
0041347D SHL EAX ,0A
00413480 MOV ECX ,DWORD PTR SS :[EBP -20]
00413483 SHR ECX ,16
00413486 OR EAX ,ECX
00413488 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := ((a1 and c1) or (not(c1) and b1) + Name_64[10] + e1 + $8F1BBCDC;
0041348B MOV EAX ,DWORD PTR SS :[EBP -8]
0041348E AND EAX ,DWORD PTR SS :[EBP -20]
00413491 MOV ECX ,DWORD PTR SS :[EBP -20]
00413494 NOT ECX
00413496 AND ECX ,DWORD PTR SS :[EBP -14]
00413499 OR EAX ,ECX
0041349B MOV EDX ,DWORD PTR SS :[EBP +C]
0041349E ADD EAX ,DWORD PTR DS :[EDX +28]
004134A1 MOV ECX ,DWORD PTR SS :[EBP -38]
004134A4 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004134AB MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl $0F) or (e1 shr $11) + d1;
004134AE MOV EAX ,DWORD PTR SS :[EBP -38]
004134B1 SHL EAX ,0F
004134B4 MOV ECX ,DWORD PTR SS :[EBP -38]
004134B7 SHR ECX ,11
004134BA OR EAX ,ECX
004134BC ADD EAX ,DWORD PTR SS :[EBP -2C]
004134BF MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
004134C2 MOV EAX ,DWORD PTR SS :[EBP -14]
004134C5 SHL EAX ,0A
004134C8 MOV ECX ,DWORD PTR SS :[EBP -14]
004134CB SHR ECX ,16
004134CE OR EAX ,ECX
004134D0 MOV DWORD PTR SS :[EBP -14],EAX
//d1 :=((e1 and b1) or (not(b1) and a1)) + Name_64[0] + d1 + $8F1BBCDC;
004134D3 MOV EAX ,DWORD PTR SS :[EBP -38]
004134D6 AND EAX ,DWORD PTR SS :[EBP -14]
004134D9 MOV ECX ,DWORD PTR SS :[EBP -14]
004134DC NOT ECX
004134DE AND ECX ,DWORD PTR SS :[EBP -8]
004134E1 OR EAX ,ECX
004134E3 MOV EDX ,DWORD PTR SS :[EBP +C]
004134E6 ADD EAX ,DWORD PTR DS :[EDX ]
004134E8 MOV ECX ,DWORD PTR SS :[EBP -2C]
004134EB LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004134F2 MOV DWORD PTR SS :[EBP -2C],EDX
//d1 := (d1 shl $0E) or (d1 shr $12) + c1;
004134F5 MOV EAX ,DWORD PTR SS :[EBP -2C]
004134F8 SHL EAX ,0E
004134FB MOV ECX ,DWORD PTR SS :[EBP -2C]
004134FE SHR ECX ,12
00413501 OR EAX ,ECX
00413503 ADD EAX ,DWORD PTR SS :[EBP -20]
00413506 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00413509 MOV EAX ,DWORD PTR SS :[EBP -8]
0041350C SHL EAX ,0A
0041350F MOV ECX ,DWORD PTR SS :[EBP -8]
00413512 SHR ECX ,16
00413515 OR EAX ,ECX
00413517 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((d1 and a1) or (not(a1) and e1)) + Name_64[8] + c1 + $8F1BBCDC;
0041351A MOV EAX ,DWORD PTR SS :[EBP -2C]
0041351D AND EAX ,DWORD PTR SS :[EBP -8]
00413520 MOV ECX ,DWORD PTR SS :[EBP -8]
00413523 NOT ECX
00413525 AND ECX ,DWORD PTR SS :[EBP -38]
00413528 OR EAX ,ECX
0041352A MOV EDX ,DWORD PTR SS :[EBP +C]
0041352D ADD EAX ,DWORD PTR DS :[EDX +20]
00413530 MOV ECX ,DWORD PTR SS :[EBP -20]
00413533 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
0041353A MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl $0F) or (c1 shr $11) + b1;
0041353D MOV EAX ,DWORD PTR SS :[EBP -20]
00413540 SHL EAX ,0F
00413543 MOV ECX ,DWORD PTR SS :[EBP -20]
00413546 SHR ECX ,11
00413549 OR EAX ,ECX
0041354B ADD EAX ,DWORD PTR SS :[EBP -14]
0041354E MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00413551 MOV EAX ,DWORD PTR SS :[EBP -38]
00413554 SHL EAX ,0A
00413557 MOV ECX ,DWORD PTR SS :[EBP -38]
0041355A SHR ECX ,16
0041355D OR EAX ,ECX
0041355F MOV DWORD PTR SS :[EBP -38],EAX
//b1 := ((c1 and e1) or (not(e1) and d1)) + Name_64[12] + b1 + $8F1BBCDC;
00413562 MOV EAX ,DWORD PTR SS :[EBP -20]
00413565 AND EAX ,DWORD PTR SS :[EBP -38]
00413568 MOV ECX ,DWORD PTR SS :[EBP -38]
0041356B NOT ECX
0041356D AND ECX ,DWORD PTR SS :[EBP -2C]
00413570 OR EAX ,ECX
00413572 MOV EDX ,DWORD PTR SS :[EBP +C]
00413575 ADD EAX ,DWORD PTR DS :[EDX +30]
00413578 MOV ECX ,DWORD PTR SS :[EBP -14]
0041357B LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
00413582 MOV DWORD PTR SS :[EBP -14],EDX
//b1 := (b1 shl 9) or (b1 shr $17) + a1;
00413585 MOV EAX ,DWORD PTR SS :[EBP -14]
00413588 SHL EAX ,9
0041358B MOV ECX ,DWORD PTR SS :[EBP -14]
0041358E SHR ECX ,17
00413591 OR EAX ,ECX
00413593 ADD EAX ,DWORD PTR SS :[EBP -8]
00413596 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00413599 MOV EAX ,DWORD PTR SS :[EBP -2C]
0041359C SHL EAX ,0A
0041359F MOV ECX ,DWORD PTR SS :[EBP -2C]
004135A2 SHR ECX ,16
004135A5 OR EAX ,ECX
004135A7 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := ((b1 and d1) or (not(d1) and c1)) + Name_64[4] + a1 + $8F1BBCDC;
004135AA MOV EAX ,DWORD PTR SS :[EBP -14]
004135AD AND EAX ,DWORD PTR SS :[EBP -2C]
004135B0 MOV ECX ,DWORD PTR SS :[EBP -2C]
004135B3 NOT ECX
004135B5 AND ECX ,DWORD PTR SS :[EBP -20]
004135B8 OR EAX ,ECX
004135BA MOV EDX ,DWORD PTR SS :[EBP +C]
004135BD ADD EAX ,DWORD PTR DS :[EDX +10]
004135C0 MOV ECX ,DWORD PTR SS :[EBP -8]
004135C3 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004135CA MOV DWORD PTR SS :[EBP -8],EDX
//a1 := (a1 shl 8) or (a1 shr $18) + e1;
004135CD MOV EAX ,DWORD PTR SS :[EBP -8]
004135D0 SHL EAX ,8
004135D3 MOV ECX ,DWORD PTR SS :[EBP -8]
004135D6 SHR ECX ,18
004135D9 OR EAX ,ECX
004135DB ADD EAX ,DWORD PTR SS :[EBP -38]
004135DE MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
004135E1 MOV EAX ,DWORD PTR SS :[EBP -20]
004135E4 SHL EAX ,0A
004135E7 MOV ECX ,DWORD PTR SS :[EBP -20]
004135EA SHR ECX ,16
004135ED OR EAX ,ECX
004135EF MOV DWORD PTR SS :[EBP -20],EAX
//e1 := ((a1 and c1) or (not(c1) and b1)) + Name_64[13] + e1 + $8F1BBCDC;
004135F2 MOV EAX ,DWORD PTR SS :[EBP -8]
004135F5 AND EAX ,DWORD PTR SS :[EBP -20]
004135F8 MOV ECX ,DWORD PTR SS :[EBP -20]
004135FB NOT ECX
004135FD AND ECX ,DWORD PTR SS :[EBP -14]
00413600 OR EAX ,ECX
00413602 MOV EDX ,DWORD PTR SS :[EBP +C]
00413605 ADD EAX ,DWORD PTR DS :[EDX +34]
00413608 MOV ECX ,DWORD PTR SS :[EBP -38]
0041360B LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
00413612 MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl 9) or (e1 shr $17) + d1;
00413615 MOV EAX ,DWORD PTR SS :[EBP -38]
00413618 SHL EAX ,9
0041361B MOV ECX ,DWORD PTR SS :[EBP -38]
0041361E SHR ECX ,17
00413621 OR EAX ,ECX
00413623 ADD EAX ,DWORD PTR SS :[EBP -2C]
00413626 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00413629 MOV EAX ,DWORD PTR SS :[EBP -14]
0041362C SHL EAX ,0A
0041362F MOV ECX ,DWORD PTR SS :[EBP -14]
00413632 SHR ECX ,16
00413635 OR EAX ,ECX
00413637 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := ((e1 and b1) or (not(b1) and a1)) + Name_64[3] + d1 + $8F1BBCDC;
0041363A MOV EAX ,DWORD PTR SS :[EBP -38]
0041363D AND EAX ,DWORD PTR SS :[EBP -14]
00413640 MOV ECX ,DWORD PTR SS :[EBP -14]
00413643 NOT ECX
00413645 AND ECX ,DWORD PTR SS :[EBP -8]
00413648 OR EAX ,ECX
0041364A MOV EDX ,DWORD PTR SS :[EBP +C]
0041364D ADD EAX ,DWORD PTR DS :[EDX +C]
00413650 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413653 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
0041365A MOV DWORD PTR SS :[EBP -2C],EDX
//d1 := (d1 shl $0E) or (d1 shr $12) + c1;
0041365D MOV EAX ,DWORD PTR SS :[EBP -2C]
00413660 SHL EAX ,0E
00413663 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413666 SHR ECX ,12
00413669 OR EAX ,ECX
0041366B ADD EAX ,DWORD PTR SS :[EBP -20]
0041366E MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
00413671 MOV EAX ,DWORD PTR SS :[EBP -8]
00413674 SHL EAX ,0A
00413677 MOV ECX ,DWORD PTR SS :[EBP -8]
0041367A SHR ECX ,16
0041367D OR EAX ,ECX
0041367F MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((d1 and a1) or (not(a1) and e1)) + Name_64[7] + c1 + $8F1BBCDC;
00413682 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413685 AND EAX ,DWORD PTR SS :[EBP -8]
00413688 MOV ECX ,DWORD PTR SS :[EBP -8]
0041368B NOT ECX
0041368D AND ECX ,DWORD PTR SS :[EBP -38]
00413690 OR EAX ,ECX
00413692 MOV EDX ,DWORD PTR SS :[EBP +C]
00413695 ADD EAX ,DWORD PTR DS :[EDX +1C]
00413698 MOV ECX ,DWORD PTR SS :[EBP -20]
0041369B LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004136A2 MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl 5) or (c1 shr $1B) + b1;
004136A5 MOV EAX ,DWORD PTR SS :[EBP -20]
004136A8 SHL EAX ,5
004136AB MOV ECX ,DWORD PTR SS :[EBP -20]
004136AE SHR ECX ,1B
004136B1 OR EAX ,ECX
004136B3 ADD EAX ,DWORD PTR SS :[EBP -14]
004136B6 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
004136B9 MOV EAX ,DWORD PTR SS :[EBP -38]
004136BC SHL EAX ,0A
004136BF MOV ECX ,DWORD PTR SS :[EBP -38]
004136C2 SHR ECX ,16
004136C5 OR EAX ,ECX
004136C7 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := ((c1 and e1) or (not(e1) and d1)) + Name_64[15] + b1 + $8F1BBCDC;
004136CA MOV EAX ,DWORD PTR SS :[EBP -20]
004136CD AND EAX ,DWORD PTR SS :[EBP -38]
004136D0 MOV ECX ,DWORD PTR SS :[EBP -38]
004136D3 NOT ECX
004136D5 AND ECX ,DWORD PTR SS :[EBP -2C]
004136D8 OR EAX ,ECX
004136DA MOV EDX ,DWORD PTR SS :[EBP +C]
004136DD ADD EAX ,DWORD PTR DS :[EDX +3C]
004136E0 MOV ECX ,DWORD PTR SS :[EBP -14]
004136E3 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004136EA MOV DWORD PTR SS :[EBP -14],EDX
//b1 := (b1 shl 6) or (b1 shr $1A) + a1;
004136ED MOV EAX ,DWORD PTR SS :[EBP -14]
004136F0 SHL EAX ,6
004136F3 MOV ECX ,DWORD PTR SS :[EBP -14]
004136F6 SHR ECX ,1A
004136F9 OR EAX ,ECX
004136FB ADD EAX ,DWORD PTR SS :[EBP -8]
004136FE MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00413701 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413704 SHL EAX ,0A
00413707 MOV ECX ,DWORD PTR SS :[EBP -2C]
0041370A SHR ECX ,16
0041370D OR EAX ,ECX
0041370F MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := ((b1 and d1) or (not(d1) and c1)) + Name_64[14] + a1 + $8F1BBCDC;
00413712 MOV EAX ,DWORD PTR SS :[EBP -14]
00413715 AND EAX ,DWORD PTR SS :[EBP -2C]
00413718 MOV ECX ,DWORD PTR SS :[EBP -2C]
0041371B NOT ECX
0041371D AND ECX ,DWORD PTR SS :[EBP -20]
00413720 OR EAX ,ECX
00413722 MOV EDX ,DWORD PTR SS :[EBP +C]
00413725 ADD EAX ,DWORD PTR DS :[EDX +38]
00413728 MOV ECX ,DWORD PTR SS :[EBP -8]
0041372B LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
00413732 MOV DWORD PTR SS :[EBP -8],EDX
//a1 := (a1 shl 8) or (a1 shr $18) + e1;
00413735 MOV EAX ,DWORD PTR SS :[EBP -8]
00413738 SHL EAX ,8
0041373B MOV ECX ,DWORD PTR SS :[EBP -8]
0041373E SHR ECX ,18
00413741 OR EAX ,ECX
00413743 ADD EAX ,DWORD PTR SS :[EBP -38]
00413746 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
00413749 MOV EAX ,DWORD PTR SS :[EBP -20]
0041374C SHL EAX ,0A
0041374F MOV ECX ,DWORD PTR SS :[EBP -20]
00413752 SHR ECX ,16
00413755 OR EAX ,ECX
00413757 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := ((a1 and c1) or (not(c1) and b1)) + Name_64[5] + e1 + $8F1BBCDC;
0041375A MOV EAX ,DWORD PTR SS :[EBP -8]
0041375D AND EAX ,DWORD PTR SS :[EBP -20]
00413760 MOV ECX ,DWORD PTR SS :[EBP -20]
00413763 NOT ECX
00413765 AND ECX ,DWORD PTR SS :[EBP -14]
00413768 OR EAX ,ECX
0041376A MOV EDX ,DWORD PTR SS :[EBP +C]
0041376D ADD EAX ,DWORD PTR DS :[EDX +14]
00413770 MOV ECX ,DWORD PTR SS :[EBP -38]
00413773 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
0041377A MOV DWORD PTR SS :[EBP -38],EDX
//e1 := (e1 shl 6) or (e1 shr $1A) + d1;
0041377D MOV EAX ,DWORD PTR SS :[EBP -38]
00413780 SHL EAX ,6
00413783 MOV ECX ,DWORD PTR SS :[EBP -38]
00413786 SHR ECX ,1A
00413789 OR EAX ,ECX
0041378B ADD EAX ,DWORD PTR SS :[EBP -2C]
0041378E MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
00413791 MOV EAX ,DWORD PTR SS :[EBP -14]
00413794 SHL EAX ,0A
00413797 MOV ECX ,DWORD PTR SS :[EBP -14]
0041379A SHR ECX ,16
0041379D OR EAX ,ECX
0041379F MOV DWORD PTR SS :[EBP -14],EAX
//d1 := ((e1 and b1) or (not(b1) and a1)) + Name_64[6] + d1 + $8F1BBCDC;
004137A2 MOV EAX ,DWORD PTR SS :[EBP -38]
004137A5 AND EAX ,DWORD PTR SS :[EBP -14]
004137A8 MOV ECX ,DWORD PTR SS :[EBP -14]
004137AB NOT ECX
004137AD AND ECX ,DWORD PTR SS :[EBP -8]
004137B0 OR EAX ,ECX
004137B2 MOV EDX ,DWORD PTR SS :[EBP +C]
004137B5 ADD EAX ,DWORD PTR DS :[EDX +18]
004137B8 MOV ECX ,DWORD PTR SS :[EBP -2C]
004137BB LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
004137C2 MOV DWORD PTR SS :[EBP -2C],EDX
//d1 := (d1 shl 5) or (d1 shr $1B) + c1;
004137C5 MOV EAX ,DWORD PTR SS :[EBP -2C]
004137C8 SHL EAX ,5
004137CB MOV ECX ,DWORD PTR SS :[EBP -2C]
004137CE SHR ECX ,1B
004137D1 OR EAX ,ECX
004137D3 ADD EAX ,DWORD PTR SS :[EBP -20]
004137D6 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $0A) or (a1 shr $16);
004137D9 MOV EAX ,DWORD PTR SS :[EBP -8]
004137DC SHL EAX ,0A
004137DF MOV ECX ,DWORD PTR SS :[EBP -8]
004137E2 SHR ECX ,16
004137E5 OR EAX ,ECX
004137E7 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := ((d1 and a1) or (not(a1) and e1)) + Name_64[2] + c1 + $8F1BBCDC;
004137EA MOV EAX ,DWORD PTR SS :[EBP -2C]
004137ED AND EAX ,DWORD PTR SS :[EBP -8]
004137F0 MOV ECX ,DWORD PTR SS :[EBP -8]
004137F3 NOT ECX
004137F5 AND ECX ,DWORD PTR SS :[EBP -38]
004137F8 OR EAX ,ECX
004137FA MOV EDX ,DWORD PTR SS :[EBP +C]
004137FD ADD EAX ,DWORD PTR DS :[EDX +8]
00413800 MOV ECX ,DWORD PTR SS :[EBP -20]
00413803 LEA EDX ,DWORD PTR DS :[ECX +EAX +8F1BBCDC]
0041380A MOV DWORD PTR SS :[EBP -20],EDX
//c1 := (c1 shl $0C) or (c1 shr $14) + b1;
0041380D MOV EAX ,DWORD PTR SS :[EBP -20]
00413810 SHL EAX ,0C
00413813 MOV ECX ,DWORD PTR SS :[EBP -20]
00413816 SHR ECX ,14
00413819 OR EAX ,ECX
0041381B ADD EAX ,DWORD PTR SS :[EBP -14]
0041381E MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $0A) or (e1 shr $16);
00413821 MOV EAX ,DWORD PTR SS :[EBP -38]
00413824 SHL EAX ,0A
00413827 MOV ECX ,DWORD PTR SS :[EBP -38]
0041382A SHR ECX ,16
0041382D OR EAX ,ECX
0041382F MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (not(e1) or d1) xor c1 + Name_64[4] + b1 + $A953FD4E;
00413832 MOV EAX ,DWORD PTR SS :[EBP -38]
00413835 NOT EAX
00413837 OR EAX ,DWORD PTR SS :[EBP -2C]
0041383A XOR EAX ,DWORD PTR SS :[EBP -20]
0041383D MOV ECX ,DWORD PTR SS :[EBP +C]
00413840 ADD EAX ,DWORD PTR DS :[ECX +10]
00413843 MOV EDX ,DWORD PTR SS :[EBP -14]
00413846 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
0041384D MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 9) or (b1 shr $17) + a1;
00413850 MOV EAX ,DWORD PTR SS :[EBP -14]
00413853 SHL EAX ,9
00413856 MOV ECX ,DWORD PTR SS :[EBP -14]
00413859 SHR ECX ,17
0041385C OR EAX ,ECX
0041385E ADD EAX ,DWORD PTR SS :[EBP -8]
00413861 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $0A) or (d1 shr $16);
00413864 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413867 SHL EAX ,0A
0041386A MOV ECX ,DWORD PTR SS :[EBP -2C]
0041386D SHR ECX ,16
00413870 OR EAX ,ECX
00413872 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (not(d1) or c1) xor b1 + Name_64[0] + a1 + $A953FD4E;
00413875 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413878 NOT EAX
0041387A OR EAX ,DWORD PTR SS :[EBP -20]
0041387D XOR EAX ,DWORD PTR SS :[EBP -14]
00413880 MOV ECX ,DWORD PTR SS :[EBP +C]
00413883 ADD EAX ,DWORD PTR DS :[ECX ]
00413885 MOV EDX ,DWORD PTR SS :[EBP -8]
00413888 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
0041388F MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $0F) or (a1 shr $11) + e1;
00413892 MOV EAX ,DWORD PTR SS :[EBP -8]
00413895 SHL EAX ,0F
00413898 MOV ECX ,DWORD PTR SS :[EBP -8]
0041389B SHR ECX ,11
0041389E OR EAX ,ECX
004138A0 ADD EAX ,DWORD PTR SS :[EBP -38]
004138A3 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $0A) or (c1 shr $16);
004138A6 MOV EAX ,DWORD PTR SS :[EBP -20]
004138A9 SHL EAX ,0A
004138AC MOV ECX ,DWORD PTR SS :[EBP -20]
004138AF SHR ECX ,16
004138B2 OR EAX ,ECX
004138B4 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (not(c1) or b1) xor a1 + Name_64[5] + e1 + $A953FD4E;
004138B7 MOV EAX ,DWORD PTR SS :[EBP -20]
004138BA NOT EAX
004138BC OR EAX ,DWORD PTR SS :[EBP -14]
004138BF XOR EAX ,DWORD PTR SS :[EBP -8]
004138C2 MOV ECX ,DWORD PTR SS :[EBP +C]
004138C5 ADD EAX ,DWORD PTR DS :[ECX +14]
004138C8 MOV EDX ,DWORD PTR SS :[EBP -38]
004138CB LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
004138D2 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl 5) or (e1 shr $1B) + d1;
004138D5 MOV EAX ,DWORD PTR SS :[EBP -38]
004138D8 SHL EAX ,5
004138DB MOV ECX ,DWORD PTR SS :[EBP -38]
004138DE SHR ECX ,1B
004138E1 OR EAX ,ECX
004138E3 ADD EAX ,DWORD PTR SS :[EBP -2C]
004138E6 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $0A) or (b1 shr $16);
004138E9 MOV EAX ,DWORD PTR SS :[EBP -14]
004138EC SHL EAX ,0A
004138EF MOV ECX ,DWORD PTR SS :[EBP -14]
004138F2 SHR ECX ,16
004138F5 OR EAX ,ECX
004138F7 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (not(b1) or a1) xor e1 + Name_64[9] + d1 + $A953FD4E;
004138FA MOV EAX ,DWORD PTR SS :[EBP -14]
004138FD NOT EAX
004138FF OR EAX ,DWORD PTR SS :[EBP -8]
00413902 XOR EAX ,DWORD PTR SS :[EBP -38]
00413905 MOV ECX ,DWORD PTR SS :[EBP +C]
00413908 ADD EAX ,DWORD PTR DS :[ECX +24]
0041390B MOV EDX ,DWORD PTR SS :[EBP -2C]
0041390E LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413915 MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl $B) or (d1 shr $15) + c1;
00413918 MOV EAX ,DWORD PTR SS :[EBP -2C]
0041391B SHL EAX ,0B
0041391E MOV ECX ,DWORD PTR SS :[EBP -2C]
00413921 SHR ECX ,15
00413924 OR EAX ,ECX
00413926 ADD EAX ,DWORD PTR SS :[EBP -20]
00413929 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $A) or (a1 shr $16);
0041392C MOV EAX ,DWORD PTR SS :[EBP -8]
0041392F SHL EAX ,0A
00413932 MOV ECX ,DWORD PTR SS :[EBP -8]
00413935 SHR ECX ,16
00413938 OR EAX ,ECX
0041393A MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (not(a1) or e1) xor d1 + Name_64[8] + c1 + $A953FD4E;
0041393D MOV EAX ,DWORD PTR SS :[EBP -8]
00413940 NOT EAX
00413942 OR EAX ,DWORD PTR SS :[EBP -38]
00413945 XOR EAX ,DWORD PTR SS :[EBP -2C]
00413948 MOV ECX ,DWORD PTR SS :[EBP +C]
0041394B ADD EAX ,DWORD PTR DS :[ECX +1C]
0041394E MOV EDX ,DWORD PTR SS :[EBP -20]
00413951 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413958 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl 6) or (c1 shr $1A) + b1;
0041395B MOV EAX ,DWORD PTR SS :[EBP -20]
0041395E SHL EAX ,6
00413961 MOV ECX ,DWORD PTR SS :[EBP -20]
00413964 SHR ECX ,1A
00413967 OR EAX ,ECX
00413969 ADD EAX ,DWORD PTR SS :[EBP -14]
0041396C MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $A) or (e1 shr $16);
0041396F MOV EAX ,DWORD PTR SS :[EBP -38]
00413972 SHL EAX ,0A
00413975 MOV ECX ,DWORD PTR SS :[EBP -38]
00413978 SHR ECX ,16
0041397B OR EAX ,ECX
0041397D MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (not(e1) or d1) xor c1 + Name_64[12] + b1 + $A953FD4E;
00413980 MOV EAX ,DWORD PTR SS :[EBP -38]
00413983 NOT EAX
00413985 OR EAX ,DWORD PTR SS :[EBP -2C]
00413988 XOR EAX ,DWORD PTR SS :[EBP -20]
0041398B MOV ECX ,DWORD PTR SS :[EBP +C]
0041398E ADD EAX ,DWORD PTR DS :[ECX +30]
00413991 MOV EDX ,DWORD PTR SS :[EBP -14]
00413994 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
0041399B MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 8) or (b1 shr $18) + a1;
0041399E MOV EAX ,DWORD PTR SS :[EBP -14]
004139A1 SHL EAX ,8
004139A4 MOV ECX ,DWORD PTR SS :[EBP -14]
004139A7 SHR ECX ,18
004139AA OR EAX ,ECX
004139AC ADD EAX ,DWORD PTR SS :[EBP -8]
004139AF MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $A) or (d1 shr $16);
004139B2 MOV EAX ,DWORD PTR SS :[EBP -2C]
004139B5 SHL EAX ,0A
004139B8 MOV ECX ,DWORD PTR SS :[EBP -2C]
004139BB SHR ECX ,16
004139BE OR EAX ,ECX
004139C0 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (not(d1) or c1) xor b1 + Name_64[2] + a1 + $A953FD4E;
004139C3 MOV EAX ,DWORD PTR SS :[EBP -2C]
004139C6 NOT EAX
004139C8 OR EAX ,DWORD PTR SS :[EBP -20]
004139CB XOR EAX ,DWORD PTR SS :[EBP -14]
004139CE MOV ECX ,DWORD PTR SS :[EBP +C]
004139D1 ADD EAX ,DWORD PTR DS :[ECX +8]
004139D4 MOV EDX ,DWORD PTR SS :[EBP -8]
004139D7 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
004139DE MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $D) or (a1 shr $13) + e1;
004139E1 MOV EAX ,DWORD PTR SS :[EBP -8]
004139E4 SHL EAX ,0D
004139E7 MOV ECX ,DWORD PTR SS :[EBP -8]
004139EA SHR ECX ,13
004139ED OR EAX ,ECX
004139EF ADD EAX ,DWORD PTR SS :[EBP -38]
004139F2 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $A) or (c1 shr $16);
004139F5 MOV EAX ,DWORD PTR SS :[EBP -20]
004139F8 SHL EAX ,0A
004139FB MOV ECX ,DWORD PTR SS :[EBP -20]
004139FE SHR ECX ,16
00413A01 OR EAX ,ECX
00413A03 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (not(c1) or b1) xor a1 + Name_64[10] + e1 + $A953FD4E;
00413A06 MOV EAX ,DWORD PTR SS :[EBP -20]
00413A09 NOT EAX
00413A0B OR EAX ,DWORD PTR SS :[EBP -14]
00413A0E XOR EAX ,DWORD PTR SS :[EBP -8]
00413A11 MOV ECX ,DWORD PTR SS :[EBP +C]
00413A14 ADD EAX ,DWORD PTR DS :[ECX +28]
00413A17 MOV EDX ,DWORD PTR SS :[EBP -38]
00413A1A LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413A21 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl $C) or (e1 shr $14) + d1;
00413A24 MOV EAX ,DWORD PTR SS :[EBP -38]
00413A27 SHL EAX ,0C
00413A2A MOV ECX ,DWORD PTR SS :[EBP -38]
00413A2D SHR ECX ,14
00413A30 OR EAX ,ECX
00413A32 ADD EAX ,DWORD PTR SS :[EBP -2C]
00413A35 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $A) or (b1 shr $16);
00413A38 MOV EAX ,DWORD PTR SS :[EBP -14]
00413A3B SHL EAX ,0A
00413A3E MOV ECX ,DWORD PTR SS :[EBP -14]
00413A41 SHR ECX ,16
00413A44 OR EAX ,ECX
00413A46 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (not(b1) or a1) xor e1 + Name_64[14] + d1 + $A953FD4E;
00413A49 MOV EAX ,DWORD PTR SS :[EBP -14]
00413A4C NOT EAX
00413A4E OR EAX ,DWORD PTR SS :[EBP -8]
00413A51 XOR EAX ,DWORD PTR SS :[EBP -38]
00413A54 MOV ECX ,DWORD PTR SS :[EBP +C]
00413A57 ADD EAX ,DWORD PTR DS :[ECX +38]
00413A5A MOV EDX ,DWORD PTR SS :[EBP -2C]
00413A5D LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413A64 MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl 5) or (d1 shr $1B) + c1;
00413A67 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413A6A SHL EAX ,5
00413A6D MOV ECX ,DWORD PTR SS :[EBP -2C]
00413A70 SHR ECX ,1B
00413A73 OR EAX ,ECX
00413A75 ADD EAX ,DWORD PTR SS :[EBP -20]
00413A78 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $A) or (a1 shr $16);
00413A7B MOV EAX ,DWORD PTR SS :[EBP -8]
00413A7E SHL EAX ,0A
00413A81 MOV ECX ,DWORD PTR SS :[EBP -8]
00413A84 SHR ECX ,16
00413A87 OR EAX ,ECX
00413A89 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (not(a1) or e1) xor d1 + Name_64[1] + c1 + $A953FD4E;
00413A8C MOV EAX ,DWORD PTR SS :[EBP -8]
00413A8F NOT EAX
00413A91 OR EAX ,DWORD PTR SS :[EBP -38]
00413A94 XOR EAX ,DWORD PTR SS :[EBP -2C]
00413A97 MOV ECX ,DWORD PTR SS :[EBP +C]
00413A9A ADD EAX ,DWORD PTR DS :[ECX +4]
00413A9D MOV EDX ,DWORD PTR SS :[EBP -20]
00413AA0 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413AA7 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl $C) or (c1 shr $14) + b1;
00413AAA MOV EAX ,DWORD PTR SS :[EBP -20]
00413AAD SHL EAX ,0C
00413AB0 MOV ECX ,DWORD PTR SS :[EBP -20]
00413AB3 SHR ECX ,14
00413AB6 OR EAX ,ECX
00413AB8 ADD EAX ,DWORD PTR SS :[EBP -14]
00413ABB MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $A) or (e1 shr $16);
00413ABE MOV EAX ,DWORD PTR SS :[EBP -38]
00413AC1 SHL EAX ,0A
00413AC4 MOV ECX ,DWORD PTR SS :[EBP -38]
00413AC7 SHR ECX ,16
00413ACA OR EAX ,ECX
00413ACC MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (not(e1) or d1) xor c1 + Name_64[3] + b1 + $A953FD4E;
00413ACF MOV EAX ,DWORD PTR SS :[EBP -38]
00413AD2 NOT EAX
00413AD4 OR EAX ,DWORD PTR SS :[EBP -2C]
00413AD7 XOR EAX ,DWORD PTR SS :[EBP -20]
00413ADA MOV ECX ,DWORD PTR SS :[EBP +C]
00413ADD ADD EAX ,DWORD PTR DS :[ECX +C]
00413AE0 MOV EDX ,DWORD PTR SS :[EBP -14]
00413AE3 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413AEA MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl $D) or (b1 shr $13) + a1;
00413AED MOV EAX ,DWORD PTR SS :[EBP -14]
00413AF0 SHL EAX ,0D
00413AF3 MOV ECX ,DWORD PTR SS :[EBP -14]
00413AF6 SHR ECX ,13
00413AF9 OR EAX ,ECX
00413AFB ADD EAX ,DWORD PTR SS :[EBP -8]
00413AFE MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $A) or (d1 shr $16);
00413B01 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413B04 SHL EAX ,0A
00413B07 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413B0A SHR ECX ,16
00413B0D OR EAX ,ECX
00413B0F MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (not(d1) or c1) xor b1 + Name_64[8] + a1 + $A953FD4E;
00413B12 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413B15 NOT EAX
00413B17 OR EAX ,DWORD PTR SS :[EBP -20]
00413B1A XOR EAX ,DWORD PTR SS :[EBP -14]
00413B1D MOV ECX ,DWORD PTR SS :[EBP +C]
00413B20 ADD EAX ,DWORD PTR DS :[ECX +20]
00413B23 MOV EDX ,DWORD PTR SS :[EBP -8]
00413B26 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413B2D MOV DWORD PTR SS :[EBP -8],EAX
//a1 := (a1 shl $E) or (a1 shr $12) + e1;
00413B30 MOV EAX ,DWORD PTR SS :[EBP -8]
00413B33 SHL EAX ,0E
00413B36 MOV ECX ,DWORD PTR SS :[EBP -8]
00413B39 SHR ECX ,12
00413B3C OR EAX ,ECX
00413B3E ADD EAX ,DWORD PTR SS :[EBP -38]
00413B41 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (c1 shl $A) or (c1 shr $16);
00413B44 MOV EAX ,DWORD PTR SS :[EBP -20]
00413B47 SHL EAX ,0A
00413B4A MOV ECX ,DWORD PTR SS :[EBP -20]
00413B4D SHR ECX ,16
00413B50 OR EAX ,ECX
00413B52 MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (not(c1) or b1) xor a1 + Name_64[11] + e1 + $A953FD4E;
00413B55 MOV EAX ,DWORD PTR SS :[EBP -20]
00413B58 NOT EAX
00413B5A OR EAX ,DWORD PTR SS :[EBP -14]
00413B5D XOR EAX ,DWORD PTR SS :[EBP -8]
00413B60 MOV ECX ,DWORD PTR SS :[EBP +C]
00413B63 ADD EAX ,DWORD PTR DS :[ECX +2C]
00413B66 MOV EDX ,DWORD PTR SS :[EBP -38]
00413B69 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413B70 MOV DWORD PTR SS :[EBP -38],EAX
//e1 := (e1 shl $B) or (e1 shr $15) + d1;
00413B73 MOV EAX ,DWORD PTR SS :[EBP -38]
00413B76 SHL EAX ,0B
00413B79 MOV ECX ,DWORD PTR SS :[EBP -38]
00413B7C SHR ECX ,15
00413B7F OR EAX ,ECX
00413B81 ADD EAX ,DWORD PTR SS :[EBP -2C]
00413B84 MOV DWORD PTR SS :[EBP -38],EAX
//b1 := (b1 shl $A) or (b1 shr $16);
00413B87 MOV EAX ,DWORD PTR SS :[EBP -14]
00413B8A SHL EAX ,0A
00413B8D MOV ECX ,DWORD PTR SS :[EBP -14]
00413B90 SHR ECX ,16
00413B93 OR EAX ,ECX
00413B95 MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (not(b1) or a1) xor e1 + Name_64[6] + d1 + $A953FD4E;
00413B98 MOV EAX ,DWORD PTR SS :[EBP -14]
00413B9B NOT EAX
00413B9D OR EAX ,DWORD PTR SS :[EBP -8]
00413BA0 XOR EAX ,DWORD PTR SS :[EBP -38]
00413BA3 MOV ECX ,DWORD PTR SS :[EBP +C]
00413BA6 ADD EAX ,DWORD PTR DS :[ECX +18]
00413BA9 MOV EDX ,DWORD PTR SS :[EBP -2C]
00413BAC LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413BB3 MOV DWORD PTR SS :[EBP -2C],EAX
//d1 := (d1 shl 8) or (d1 shr $18) + c1;
00413BB6 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413BB9 SHL EAX ,8
00413BBC MOV ECX ,DWORD PTR SS :[EBP -2C]
00413BBF SHR ECX ,18
00413BC2 OR EAX ,ECX
00413BC4 ADD EAX ,DWORD PTR SS :[EBP -20]
00413BC7 MOV DWORD PTR SS :[EBP -2C],EAX
//a1 := (a1 shl $A) or (a1 shr $16);
00413BCA MOV EAX ,DWORD PTR SS :[EBP -8]
00413BCD SHL EAX ,0A
00413BD0 MOV ECX ,DWORD PTR SS :[EBP -8]
00413BD3 SHR ECX ,16
00413BD6 OR EAX ,ECX
00413BD8 MOV DWORD PTR SS :[EBP -8],EAX
//c1 := (not(a1) or e1) xor d1 + Name_64[15] + c1 + $A953FD4E;
00413BDB MOV EAX ,DWORD PTR SS :[EBP -8]
00413BDE NOT EAX
00413BE0 OR EAX ,DWORD PTR SS :[EBP -38]
00413BE3 XOR EAX ,DWORD PTR SS :[EBP -2C]
00413BE6 MOV ECX ,DWORD PTR SS :[EBP +C]
00413BE9 ADD EAX ,DWORD PTR DS :[ECX +3C]
00413BEC MOV EDX ,DWORD PTR SS :[EBP -20]
00413BEF LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413BF6 MOV DWORD PTR SS :[EBP -20],EAX
//c1 := (c1 shl 5) or (c1 shr $1B) + b1;
00413BF9 MOV EAX ,DWORD PTR SS :[EBP -20]
00413BFC SHL EAX ,5
00413BFF MOV ECX ,DWORD PTR SS :[EBP -20]
00413C02 SHR ECX ,1B
00413C05 OR EAX ,ECX
00413C07 ADD EAX ,DWORD PTR SS :[EBP -14]
00413C0A MOV DWORD PTR SS :[EBP -20],EAX
//e1 := (e1 shl $A) or (e1 shr $16);
00413C0D MOV EAX ,DWORD PTR SS :[EBP -38]
00413C10 SHL EAX ,0A
00413C13 MOV ECX ,DWORD PTR SS :[EBP -38]
00413C16 SHR ECX ,16
00413C19 OR EAX ,ECX
00413C1B MOV DWORD PTR SS :[EBP -38],EAX
未完待续。。。。
能力值:
(RANK:410 )
4 楼
//b1 := (not(e1) or d1) xor c1 + Name_64[13] + b1 + $A953FD4E;
00413C1E MOV EAX ,DWORD PTR SS :[EBP -38]
00413C21 NOT EAX
00413C23 OR EAX ,DWORD PTR SS :[EBP -2C]
00413C26 XOR EAX ,DWORD PTR SS :[EBP -20]
00413C29 MOV ECX ,DWORD PTR SS :[EBP +C]
00413C2C ADD EAX ,DWORD PTR DS :[ECX +34]
00413C2F MOV EDX ,DWORD PTR SS :[EBP -14]
00413C32 LEA EAX ,DWORD PTR DS :[EDX +EAX +A953FD4E]
00413C39 MOV DWORD PTR SS :[EBP -14],EAX
//b1 := (b1 shl 6) or (b1 shr $1A) + a1;
00413C3C MOV EAX ,DWORD PTR SS :[EBP -14]
00413C3F SHL EAX ,6
00413C42 MOV ECX ,DWORD PTR SS :[EBP -14]
00413C45 SHR ECX ,1A
00413C48 OR EAX ,ECX
00413C4A ADD EAX ,DWORD PTR SS :[EBP -8]
00413C4D MOV DWORD PTR SS :[EBP -14],EAX
//d1 := (d1 shl $A) or (d1 shr $16);
00413C50 MOV EAX ,DWORD PTR SS :[EBP -2C]
00413C53 SHL EAX ,0A
00413C56 MOV ECX ,DWORD PTR SS :[EBP -2C]
00413C59 SHR ECX ,16
00413C5C OR EAX ,ECX
00413C5E MOV DWORD PTR SS :[EBP -2C],EAX
//e2 := ((a2 and c2) or (not(c2) and b2)) + Name_64[6] + e2 + $5C4DD124;
00413C61 MOV EAX ,DWORD PTR SS :[EBP -44]
00413C64 AND EAX ,DWORD PTR SS :[EBP -5C]
00413C67 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413C6A NOT ECX
00413C6C AND ECX ,DWORD PTR SS :[EBP -50]
00413C6F OR EAX ,ECX
00413C71 MOV EDX ,DWORD PTR SS :[EBP +C]
00413C74 ADD EAX ,DWORD PTR DS :[EDX +18]
00413C77 MOV ECX ,DWORD PTR SS :[EBP -74]
00413C7A LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413C81 MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl 9) or (e2 shr $17) + d2;
00413C84 MOV EAX ,DWORD PTR SS :[EBP -74]
00413C87 SHL EAX ,9
00413C8A MOV ECX ,DWORD PTR SS :[EBP -74]
00413C8D SHR ECX ,17
00413C90 OR EAX ,ECX
00413C92 ADD EAX ,DWORD PTR SS :[EBP -68]
00413C95 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00413C98 MOV EAX ,DWORD PTR SS :[EBP -50]
00413C9B SHL EAX ,0A
00413C9E MOV ECX ,DWORD PTR SS :[EBP -50]
00413CA1 SHR ECX ,16
00413CA4 OR EAX ,ECX
00413CA6 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := ((e2 and b2) or (not(b2) and a2)) + Name_64[11] + d2 + $5C4DD124;
00413CA9 MOV EAX ,DWORD PTR SS :[EBP -74]
00413CAC AND EAX ,DWORD PTR SS :[EBP -50]
00413CAF MOV ECX ,DWORD PTR SS :[EBP -50]
00413CB2 NOT ECX
00413CB4 AND ECX ,DWORD PTR SS :[EBP -44]
00413CB7 OR EAX ,ECX
00413CB9 MOV EDX ,DWORD PTR SS :[EBP +C]
00413CBC ADD EAX ,DWORD PTR DS :[EDX +2C]
00413CBF MOV ECX ,DWORD PTR SS :[EBP -68]
00413CC2 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413CC9 MOV DWORD PTR SS :[EBP -68],EDX
//d2 := (d2 shl $D) or (d2 shr $13) + c2;
00413CCC MOV EAX ,DWORD PTR SS :[EBP -68]
00413CCF SHL EAX ,0D
00413CD2 MOV ECX ,DWORD PTR SS :[EBP -68]
00413CD5 SHR ECX ,13
00413CD8 OR EAX ,ECX
00413CDA ADD EAX ,DWORD PTR SS :[EBP -5C]
00413CDD MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00413CE0 MOV EAX ,DWORD PTR SS :[EBP -44]
00413CE3 SHL EAX ,0A
00413CE6 MOV ECX ,DWORD PTR SS :[EBP -44]
00413CE9 SHR ECX ,16
00413CEC OR EAX ,ECX
00413CEE MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and a2) or (not(a2) and e2)) + Name_64[3] + c2 + $5C4DD124;
00413CF1 MOV EAX ,DWORD PTR SS :[EBP -68]
00413CF4 AND EAX ,DWORD PTR SS :[EBP -44]
00413CF7 MOV ECX ,DWORD PTR SS :[EBP -44]
00413CFA NOT ECX
00413CFC AND ECX ,DWORD PTR SS :[EBP -74]
00413CFF OR EAX ,ECX
00413D01 MOV EDX ,DWORD PTR SS :[EBP +C]
00413D04 ADD EAX ,DWORD PTR DS :[EDX +C]
00413D07 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413D0A LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413D11 MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl $F) or (c2 shr $11) + b2;
00413D14 MOV EAX ,DWORD PTR SS :[EBP -5C]
00413D17 SHL EAX ,0F
00413D1A MOV ECX ,DWORD PTR SS :[EBP -5C]
00413D1D SHR ECX ,11
00413D20 OR EAX ,ECX
00413D22 ADD EAX ,DWORD PTR SS :[EBP -50]
00413D25 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00413D28 MOV EAX ,DWORD PTR SS :[EBP -74]
00413D2B SHL EAX ,0A
00413D2E MOV ECX ,DWORD PTR SS :[EBP -74]
00413D31 SHR ECX ,16
00413D34 OR EAX ,ECX
00413D36 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := ((c2 and e2) or (not(e2) and d2)) + Name_64[7] + b2 + $5C4DD124;
00413D39 MOV EAX ,DWORD PTR SS :[EBP -5C]
00413D3C AND EAX ,DWORD PTR SS :[EBP -74]
00413D3F MOV ECX ,DWORD PTR SS :[EBP -74]
00413D42 NOT ECX
00413D44 AND ECX ,DWORD PTR SS :[EBP -68]
00413D47 OR EAX ,ECX
00413D49 MOV EDX ,DWORD PTR SS :[EBP +C]
00413D4C ADD EAX ,DWORD PTR DS :[EDX +1C]
00413D4F MOV ECX ,DWORD PTR SS :[EBP -50]
00413D52 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413D59 MOV DWORD PTR SS :[EBP -50],EDX
//b2 := (b2 shl $7) or (b2 shr $19) + a2;
00413D5C MOV EAX ,DWORD PTR SS :[EBP -50]
00413D5F SHL EAX ,7
00413D62 MOV ECX ,DWORD PTR SS :[EBP -50]
00413D65 SHR ECX ,19
00413D68 OR EAX ,ECX
00413D6A ADD EAX ,DWORD PTR SS :[EBP -44]
00413D6D MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00413D70 MOV EAX ,DWORD PTR SS :[EBP -68]
00413D73 SHL EAX ,0A
00413D76 MOV ECX ,DWORD PTR SS :[EBP -68]
00413D79 SHR ECX ,16
00413D7C OR EAX ,ECX
00413D7E MOV DWORD PTR SS :[EBP -68],EAX
//a2 := ((b2 and d2) or (not(d2) and c2)) + Name_64[0] + a2 + $5C4DD124;
00413D81 MOV EAX ,DWORD PTR SS :[EBP -50]
00413D84 AND EAX ,DWORD PTR SS :[EBP -68]
00413D87 MOV ECX ,DWORD PTR SS :[EBP -68]
00413D8A NOT ECX
00413D8C AND ECX ,DWORD PTR SS :[EBP -5C]
00413D8F OR EAX ,ECX
00413D91 MOV EDX ,DWORD PTR SS :[EBP +C]
00413D94 ADD EAX ,DWORD PTR DS :[EDX ]
00413D96 MOV ECX ,DWORD PTR SS :[EBP -44]
00413D99 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413DA0 MOV DWORD PTR SS :[EBP -44],EDX
//a2 := (a2 shl $C) or (a2 shr $14) + e2;
00413DA3 MOV EAX ,DWORD PTR SS :[EBP -44]
00413DA6 SHL EAX ,0C
00413DA9 MOV ECX ,DWORD PTR SS :[EBP -44]
00413DAC SHR ECX ,14
00413DAF OR EAX ,ECX
00413DB1 ADD EAX ,DWORD PTR SS :[EBP -74]
00413DB4 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00413DB7 MOV EAX ,DWORD PTR SS :[EBP -5C]
00413DBA SHL EAX ,0A
00413DBD MOV ECX ,DWORD PTR SS :[EBP -5C]
00413DC0 SHR ECX ,16
00413DC3 OR EAX ,ECX
00413DC5 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := ((a2 and c2) or (not(c2) and b2)) + Name_64[13] + e2 + $5C4DD124;
00413DC8 MOV EAX ,DWORD PTR SS :[EBP -44]
00413DCB AND EAX ,DWORD PTR SS :[EBP -5C]
00413DCE MOV ECX ,DWORD PTR SS :[EBP -5C]
00413DD1 NOT ECX
00413DD3 AND ECX ,DWORD PTR SS :[EBP -50]
00413DD6 OR EAX ,ECX
00413DD8 MOV EDX ,DWORD PTR SS :[EBP +C]
00413DDB ADD EAX ,DWORD PTR DS :[EDX +34]
00413DDE MOV ECX ,DWORD PTR SS :[EBP -74]
00413DE1 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413DE8 MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl 8) or (e2 shr $18) + d2;
00413DEB MOV EAX ,DWORD PTR SS :[EBP -74]
00413DEE SHL EAX ,8
00413DF1 MOV ECX ,DWORD PTR SS :[EBP -74]
00413DF4 SHR ECX ,18
00413DF7 OR EAX ,ECX
00413DF9 ADD EAX ,DWORD PTR SS :[EBP -68]
00413DFC MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00413DFF MOV EAX ,DWORD PTR SS :[EBP -50]
00413E02 SHL EAX ,0A
00413E05 MOV ECX ,DWORD PTR SS :[EBP -50]
00413E08 SHR ECX ,16
00413E0B OR EAX ,ECX
00413E0D MOV DWORD PTR SS :[EBP -50],EAX
//d2 := ((e2 and b2) or (not(b2) and a2)) + Name_64[5] + d2 + $5C4DD124;
00413E10 MOV EAX ,DWORD PTR SS :[EBP -74]
00413E13 AND EAX ,DWORD PTR SS :[EBP -50]
00413E16 MOV ECX ,DWORD PTR SS :[EBP -50]
00413E19 NOT ECX
00413E1B AND ECX ,DWORD PTR SS :[EBP -44]
00413E1E OR EAX ,ECX
00413E20 MOV EDX ,DWORD PTR SS :[EBP +C]
00413E23 ADD EAX ,DWORD PTR DS :[EDX +14]
00413E26 MOV ECX ,DWORD PTR SS :[EBP -68]
00413E29 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413E30 MOV DWORD PTR SS :[EBP -68],EDX
//d2 := (d2 shl 9) or (d2 shr $17) + c2;
00413E33 MOV EAX ,DWORD PTR SS :[EBP -68]
00413E36 SHL EAX ,9
00413E39 MOV ECX ,DWORD PTR SS :[EBP -68]
00413E3C SHR ECX ,17
00413E3F OR EAX ,ECX
00413E41 ADD EAX ,DWORD PTR SS :[EBP -5C]
00413E44 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00413E47 MOV EAX ,DWORD PTR SS :[EBP -44]
00413E4A SHL EAX ,0A
00413E4D MOV ECX ,DWORD PTR SS :[EBP -44]
00413E50 SHR ECX ,16
00413E53 OR EAX ,ECX
00413E55 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and a2) or (not(a2) and e2)) + Name_64[10] + c2 + $5C4DD124;
00413E58 MOV EAX ,DWORD PTR SS :[EBP -68]
00413E5B AND EAX ,DWORD PTR SS :[EBP -44]
00413E5E MOV ECX ,DWORD PTR SS :[EBP -44]
00413E61 NOT ECX
00413E63 AND ECX ,DWORD PTR SS :[EBP -74]
00413E66 OR EAX ,ECX
00413E68 MOV EDX ,DWORD PTR SS :[EBP +C]
00413E6B ADD EAX ,DWORD PTR DS :[EDX +28]
00413E6E MOV ECX ,DWORD PTR SS :[EBP -5C]
00413E71 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413E78 MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl $B) or (c2 shr $15) + b2;
00413E7B MOV EAX ,DWORD PTR SS :[EBP -5C]
00413E7E SHL EAX ,0B
00413E81 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413E84 SHR ECX ,15
00413E87 OR EAX ,ECX
00413E89 ADD EAX ,DWORD PTR SS :[EBP -50]
00413E8C MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00413E8F MOV EAX ,DWORD PTR SS :[EBP -74]
00413E92 SHL EAX ,0A
00413E95 MOV ECX ,DWORD PTR SS :[EBP -74]
00413E98 SHR ECX ,16
00413E9B OR EAX ,ECX
00413E9D MOV DWORD PTR SS :[EBP -74],EAX
//b2 := ((c2 and e2) or (not(e2) and d2)) + Name_64[14] + b2 + $5C4DD124;
00413EA0 MOV EAX ,DWORD PTR SS :[EBP -5C]
00413EA3 AND EAX ,DWORD PTR SS :[EBP -74]
00413EA6 MOV ECX ,DWORD PTR SS :[EBP -74]
00413EA9 NOT ECX
00413EAB AND ECX ,DWORD PTR SS :[EBP -68]
00413EAE OR EAX ,ECX
00413EB0 MOV EDX ,DWORD PTR SS :[EBP +C]
00413EB3 ADD EAX ,DWORD PTR DS :[EDX +38]
00413EB6 MOV ECX ,DWORD PTR SS :[EBP -50]
00413EB9 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413EC0 MOV DWORD PTR SS :[EBP -50],EDX
//b2 := (b2 shl 7) or (b2 shr $19) + a2;
00413EC3 MOV EAX ,DWORD PTR SS :[EBP -50]
00413EC6 SHL EAX ,7
00413EC9 MOV ECX ,DWORD PTR SS :[EBP -50]
00413ECC SHR ECX ,19
00413ECF OR EAX ,ECX
00413ED1 ADD EAX ,DWORD PTR SS :[EBP -44]
00413ED4 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00413ED7 MOV EAX ,DWORD PTR SS :[EBP -68]
00413EDA SHL EAX ,0A
00413EDD MOV ECX ,DWORD PTR SS :[EBP -68]
00413EE0 SHR ECX ,16
00413EE3 OR EAX ,ECX
00413EE5 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := ((b2 and d2) or (not(d2) and c2)) + Name_64[15] + a2 + $5C4DD124;
00413EE8 MOV EAX ,DWORD PTR SS :[EBP -50]
00413EEB AND EAX ,DWORD PTR SS :[EBP -68]
00413EEE MOV ECX ,DWORD PTR SS :[EBP -68]
00413EF1 NOT ECX
00413EF3 AND ECX ,DWORD PTR SS :[EBP -5C]
00413EF6 OR EAX ,ECX
00413EF8 MOV EDX ,DWORD PTR SS :[EBP +C]
00413EFB ADD EAX ,DWORD PTR DS :[EDX +3C]
00413EFE MOV ECX ,DWORD PTR SS :[EBP -44]
00413F01 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413F08 MOV DWORD PTR SS :[EBP -44],EDX
//a2 := (a2 shl 7) or (a2 shr $19) + e2;
00413F0B MOV EAX ,DWORD PTR SS :[EBP -44]
00413F0E SHL EAX ,7
00413F11 MOV ECX ,DWORD PTR SS :[EBP -44]
00413F14 SHR ECX ,19
00413F17 OR EAX ,ECX
00413F19 ADD EAX ,DWORD PTR SS :[EBP -74]
00413F1C MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00413F1F MOV EAX ,DWORD PTR SS :[EBP -5C]
00413F22 SHL EAX ,0A
00413F25 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413F28 SHR ECX ,16
00413F2B OR EAX ,ECX
00413F2D MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := ((a2 and c2) or (not(c2) and b2)) + Name_64[8] + e2 + $5C4DD124;
00413F30 MOV EAX ,DWORD PTR SS :[EBP -44]
00413F33 AND EAX ,DWORD PTR SS :[EBP -5C]
00413F36 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413F39 NOT ECX
00413F3B AND ECX ,DWORD PTR SS :[EBP -50]
00413F3E OR EAX ,ECX
00413F40 MOV EDX ,DWORD PTR SS :[EBP +C]
00413F43 ADD EAX ,DWORD PTR DS :[EDX +20]
00413F46 MOV ECX ,DWORD PTR SS :[EBP -74]
00413F49 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413F50 MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl $C) or (e2 shr $14) + d2;
00413F53 MOV EAX ,DWORD PTR SS :[EBP -74]
00413F56 SHL EAX ,0C
00413F59 MOV ECX ,DWORD PTR SS :[EBP -74]
00413F5C SHR ECX ,14
00413F5F OR EAX ,ECX
00413F61 ADD EAX ,DWORD PTR SS :[EBP -68]
00413F64 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00413F67 MOV EAX ,DWORD PTR SS :[EBP -50]
00413F6A SHL EAX ,0A
00413F6D MOV ECX ,DWORD PTR SS :[EBP -50]
00413F70 SHR ECX ,16
00413F73 OR EAX ,ECX
00413F75 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := ((e2 and b2) or (not(b2) and a2)) + Name_64[12] + d2 + $5C4DD124;
00413F78 MOV EAX ,DWORD PTR SS :[EBP -74]
00413F7B AND EAX ,DWORD PTR SS :[EBP -50]
00413F7E MOV ECX ,DWORD PTR SS :[EBP -50]
00413F81 NOT ECX
00413F83 AND ECX ,DWORD PTR SS :[EBP -44]
00413F86 OR EAX ,ECX
00413F88 MOV EDX ,DWORD PTR SS :[EBP +C]
00413F8B ADD EAX ,DWORD PTR DS :[EDX +30]
00413F8E MOV ECX ,DWORD PTR SS :[EBP -68]
00413F91 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413F98 MOV DWORD PTR SS :[EBP -68],EDX
//d2 := (d2 shl 7) or (d2 shr $19) + c2;
00413F9B MOV EAX ,DWORD PTR SS :[EBP -68]
00413F9E SHL EAX ,7
00413FA1 MOV ECX ,DWORD PTR SS :[EBP -68]
00413FA4 SHR ECX ,19
00413FA7 OR EAX ,ECX
00413FA9 ADD EAX ,DWORD PTR SS :[EBP -5C]
00413FAC MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00413FAF MOV EAX ,DWORD PTR SS :[EBP -44]
00413FB2 SHL EAX ,0A
00413FB5 MOV ECX ,DWORD PTR SS :[EBP -44]
00413FB8 SHR ECX ,16
00413FBB OR EAX ,ECX
00413FBD MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and a2) or (not(a2) and e2)) + Name_64[4] + c2 + $5C4DD124;
00413FC0 MOV EAX ,DWORD PTR SS :[EBP -68]
00413FC3 AND EAX ,DWORD PTR SS :[EBP -44]
00413FC6 MOV ECX ,DWORD PTR SS :[EBP -44]
00413FC9 NOT ECX
00413FCB AND ECX ,DWORD PTR SS :[EBP -74]
00413FCE OR EAX ,ECX
00413FD0 MOV EDX ,DWORD PTR SS :[EBP +C]
00413FD3 ADD EAX ,DWORD PTR DS :[EDX +10]
00413FD6 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413FD9 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00413FE0 MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl 6) or (c2 shr $1A) + b2;
00413FE3 MOV EAX ,DWORD PTR SS :[EBP -5C]
00413FE6 SHL EAX ,6
00413FE9 MOV ECX ,DWORD PTR SS :[EBP -5C]
00413FEC SHR ECX ,1A
00413FEF OR EAX ,ECX
00413FF1 ADD EAX ,DWORD PTR SS :[EBP -50]
00413FF4 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00413FF7 MOV EAX ,DWORD PTR SS :[EBP -74]
00413FFA SHL EAX ,0A
00413FFD MOV ECX ,DWORD PTR SS :[EBP -74]
00414000 SHR ECX ,16
00414003 OR EAX ,ECX
00414005 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := ((c2 and e2) or (not(e2) and d2)) + Name_64[9] + b2 + $5C4DD124;
00414008 MOV EAX ,DWORD PTR SS :[EBP -5C]
0041400B AND EAX ,DWORD PTR SS :[EBP -74]
0041400E MOV ECX ,DWORD PTR SS :[EBP -74]
00414011 NOT ECX
00414013 AND ECX ,DWORD PTR SS :[EBP -68]
00414016 OR EAX ,ECX
00414018 MOV EDX ,DWORD PTR SS :[EBP +C]
0041401B ADD EAX ,DWORD PTR DS :[EDX +24]
0041401E MOV ECX ,DWORD PTR SS :[EBP -50]
00414021 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00414028 MOV DWORD PTR SS :[EBP -50],EDX
//b2 := (b2 shl $F) or (b2 shr $11) + a2;
0041402B MOV EAX ,DWORD PTR SS :[EBP -50]
0041402E SHL EAX ,0F
00414031 MOV ECX ,DWORD PTR SS :[EBP -50]
00414034 SHR ECX ,11
00414037 OR EAX ,ECX
00414039 ADD EAX ,DWORD PTR SS :[EBP -44]
0041403C MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
0041403F MOV EAX ,DWORD PTR SS :[EBP -68]
00414042 SHL EAX ,0A
00414045 MOV ECX ,DWORD PTR SS :[EBP -68]
00414048 SHR ECX ,16
0041404B OR EAX ,ECX
0041404D MOV DWORD PTR SS :[EBP -68],EAX
//a2 := ((b2 and d2) or (not(d2) and c2)) + Name_64[1] + a2 + $5C4DD124;
00414050 MOV EAX ,DWORD PTR SS :[EBP -50]
00414053 AND EAX ,DWORD PTR SS :[EBP -68]
00414056 MOV ECX ,DWORD PTR SS :[EBP -68]
00414059 NOT ECX
0041405B AND ECX ,DWORD PTR SS :[EBP -5C]
0041405E OR EAX ,ECX
00414060 MOV EDX ,DWORD PTR SS :[EBP +C]
00414063 ADD EAX ,DWORD PTR DS :[EDX +4]
00414066 MOV ECX ,DWORD PTR SS :[EBP -44]
00414069 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
00414070 MOV DWORD PTR SS :[EBP -44],EDX
//a2 := (a2 shl $D) or (a2 shr $13) + e2;
00414073 MOV EAX ,DWORD PTR SS :[EBP -44]
00414076 SHL EAX ,0D
00414079 MOV ECX ,DWORD PTR SS :[EBP -44]
0041407C SHR ECX ,13
0041407F OR EAX ,ECX
00414081 ADD EAX ,DWORD PTR SS :[EBP -74]
00414084 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414087 MOV EAX ,DWORD PTR SS :[EBP -5C]
0041408A SHL EAX ,0A
0041408D MOV ECX ,DWORD PTR SS :[EBP -5C]
00414090 SHR ECX ,16
00414093 OR EAX ,ECX
00414095 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := ((a2 and c2) or (not(c2) and b2)) + Name_64[2] + e2 + $5C4DD124;
00414098 MOV EAX ,DWORD PTR SS :[EBP -44]
0041409B AND EAX ,DWORD PTR SS :[EBP -5C]
0041409E MOV ECX ,DWORD PTR SS :[EBP -5C]
004140A1 NOT ECX
004140A3 AND ECX ,DWORD PTR SS :[EBP -50]
004140A6 OR EAX ,ECX
004140A8 MOV EDX ,DWORD PTR SS :[EBP +C]
004140AB ADD EAX ,DWORD PTR DS :[EDX +8]
004140AE MOV ECX ,DWORD PTR SS :[EBP -74]
004140B1 LEA EDX ,DWORD PTR DS :[ECX +EAX +5C4DD124]
004140B8 MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl $B) or (e2 shr $15) + d2;
004140BB MOV EAX ,DWORD PTR SS :[EBP -74]
004140BE SHL EAX ,0B
004140C1 MOV ECX ,DWORD PTR SS :[EBP -74]
004140C4 SHR ECX ,15
004140C7 OR EAX ,ECX
004140C9 ADD EAX ,DWORD PTR SS :[EBP -68]
004140CC MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
004140CF MOV EAX ,DWORD PTR SS :[EBP -50]
004140D2 SHL EAX ,0A
004140D5 MOV ECX ,DWORD PTR SS :[EBP -50]
004140D8 SHR ECX ,16
004140DB OR EAX ,ECX
004140DD MOV DWORD PTR SS :[EBP -50],EAX
//b2 := c2 xor d2 xor e2 + Name_64[12] + b2;
004140E0 MOV EAX ,DWORD PTR SS :[EBP -5C]
004140E3 XOR EAX ,DWORD PTR SS :[EBP -68]
004140E6 XOR EAX ,DWORD PTR SS :[EBP -74]
004140E9 MOV ECX ,DWORD PTR SS :[EBP +C]
004140EC ADD EAX ,DWORD PTR DS :[ECX +30]
004140EF ADD EAX ,DWORD PTR SS :[EBP -50]
004140F2 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl 8) or (b2 shr $18) + a2;
004140F5 MOV EAX ,DWORD PTR SS :[EBP -50]
004140F8 SHL EAX ,8
004140FB MOV ECX ,DWORD PTR SS :[EBP -50]
004140FE SHR ECX ,18
00414101 OR EAX ,ECX
00414103 ADD EAX ,DWORD PTR SS :[EBP -44]
00414106 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414109 MOV EAX ,DWORD PTR SS :[EBP -68]
0041410C SHL EAX ,0A
0041410F MOV ECX ,DWORD PTR SS :[EBP -68]
00414112 SHR ECX ,16
00414115 OR EAX ,ECX
00414117 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := b2 xor c2 xor d2 + Name_64[15] + a2;
0041411A MOV EAX ,DWORD PTR SS :[EBP -50]
0041411D XOR EAX ,DWORD PTR SS :[EBP -5C]
00414120 XOR EAX ,DWORD PTR SS :[EBP -68]
00414123 MOV ECX ,DWORD PTR SS :[EBP +C]
00414126 ADD EAX ,DWORD PTR DS :[ECX +3C]
00414129 ADD EAX ,DWORD PTR SS :[EBP -44]
0041412C MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl 5) or (a2 shr $1B) + e2;
0041412F MOV EAX ,DWORD PTR SS :[EBP -44]
00414132 SHL EAX ,5
00414135 MOV ECX ,DWORD PTR SS :[EBP -44]
00414138 SHR ECX ,1B
0041413B OR EAX ,ECX
0041413D ADD EAX ,DWORD PTR SS :[EBP -74]
00414140 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414143 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414146 SHL EAX ,0A
00414149 MOV ECX ,DWORD PTR SS :[EBP -5C]
0041414C SHR ECX ,16
0041414F OR EAX ,ECX
00414151 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := a2 xor b2 xor c2 + Name_64[10] + e2;
00414154 MOV EAX ,DWORD PTR SS :[EBP -44]
00414157 XOR EAX ,DWORD PTR SS :[EBP -50]
0041415A XOR EAX ,DWORD PTR SS :[EBP -5C]
0041415D MOV ECX ,DWORD PTR SS :[EBP +C]
00414160 ADD EAX ,DWORD PTR DS :[ECX +28]
00414163 ADD EAX ,DWORD PTR SS :[EBP -74]
00414166 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl $C) or (e2 shr $14) + d2;
00414169 MOV EAX ,DWORD PTR SS :[EBP -74]
0041416C SHL EAX ,0C
0041416F MOV ECX ,DWORD PTR SS :[EBP -74]
00414172 SHR ECX ,14
00414175 OR EAX ,ECX
00414177 ADD EAX ,DWORD PTR SS :[EBP -68]
0041417A MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
0041417D MOV EAX ,DWORD PTR SS :[EBP -50]
00414180 SHL EAX ,0A
00414183 MOV ECX ,DWORD PTR SS :[EBP -50]
00414186 SHR ECX ,16
00414189 OR EAX ,ECX
0041418B MOV DWORD PTR SS :[EBP -50],EAX
//d2 := e2 xor a2 xor b2 + Name_64[4] + d2;
0041418E MOV EAX ,DWORD PTR SS :[EBP -74]
00414191 XOR EAX ,DWORD PTR SS :[EBP -44]
00414194 XOR EAX ,DWORD PTR SS :[EBP -50]
00414197 MOV ECX ,DWORD PTR SS :[EBP +C]
0041419A ADD EAX ,DWORD PTR DS :[ECX +10]
0041419D ADD EAX ,DWORD PTR SS :[EBP -68]
004141A0 MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 9) or (d2 shr $17) + c2;
004141A3 MOV EAX ,DWORD PTR SS :[EBP -68]
004141A6 SHL EAX ,9
004141A9 MOV ECX ,DWORD PTR SS :[EBP -68]
004141AC SHR ECX ,17
004141AF OR EAX ,ECX
004141B1 ADD EAX ,DWORD PTR SS :[EBP -5C]
004141B4 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
004141B7 MOV EAX ,DWORD PTR SS :[EBP -44]
004141BA SHL EAX ,0A
004141BD MOV ECX ,DWORD PTR SS :[EBP -44]
004141C0 SHR ECX ,16
004141C3 OR EAX ,ECX
004141C5 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := d2 xor e2 xor a2 + Name_64[1] + c2;
004141C8 MOV EAX ,DWORD PTR SS :[EBP -68]
004141CB XOR EAX ,DWORD PTR SS :[EBP -74]
004141CE XOR EAX ,DWORD PTR SS :[EBP -44]
004141D1 MOV ECX ,DWORD PTR SS :[EBP +C]
004141D4 ADD EAX ,DWORD PTR DS :[ECX +4]
004141D7 ADD EAX ,DWORD PTR SS :[EBP -5C]
004141DA MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl $C) or (c2 shr $14) + b2;
004141DD MOV EAX ,DWORD PTR SS :[EBP -5C]
004141E0 SHL EAX ,0C
004141E3 MOV ECX ,DWORD PTR SS :[EBP -5C]
004141E6 SHR ECX ,14
004141E9 OR EAX ,ECX
004141EB ADD EAX ,DWORD PTR SS :[EBP -50]
004141EE MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
004141F1 MOV EAX ,DWORD PTR SS :[EBP -74]
004141F4 SHL EAX ,0A
004141F7 MOV ECX ,DWORD PTR SS :[EBP -74]
004141FA SHR ECX ,16
004141FD OR EAX ,ECX
004141FF MOV DWORD PTR SS :[EBP -74],EAX
//b2 := c2 xor d2 xor e2 + Name_64[5] + b2;
00414202 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414205 XOR EAX ,DWORD PTR SS :[EBP -68]
00414208 XOR EAX ,DWORD PTR SS :[EBP -74]
0041420B MOV ECX ,DWORD PTR SS :[EBP +C]
0041420E ADD EAX ,DWORD PTR DS :[ECX +14]
00414211 ADD EAX ,DWORD PTR SS :[EBP -50]
00414214 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl 5) or (b2 shr $1B) + a2;
00414217 MOV EAX ,DWORD PTR SS :[EBP -50]
0041421A SHL EAX ,5
0041421D MOV ECX ,DWORD PTR SS :[EBP -50]
00414220 SHR ECX ,1B
00414223 OR EAX ,ECX
00414225 ADD EAX ,DWORD PTR SS :[EBP -44]
00414228 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
0041422B MOV EAX ,DWORD PTR SS :[EBP -68]
0041422E SHL EAX ,0A
00414231 MOV ECX ,DWORD PTR SS :[EBP -68]
00414234 SHR ECX ,16
00414237 OR EAX ,ECX
00414239 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := b2 xor c2 xor d2 + Name_64[8] + a2;
0041423C MOV EAX ,DWORD PTR SS :[EBP -50]
0041423F XOR EAX ,DWORD PTR SS :[EBP -5C]
00414242 XOR EAX ,DWORD PTR SS :[EBP -68]
00414245 MOV ECX ,DWORD PTR SS :[EBP +C]
00414248 ADD EAX ,DWORD PTR DS :[ECX +20]
0041424B ADD EAX ,DWORD PTR SS :[EBP -44]
0041424E MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl $E) or (a2 shr $12) + e2;
00414251 MOV EAX ,DWORD PTR SS :[EBP -44]
00414254 SHL EAX ,0E
00414257 MOV ECX ,DWORD PTR SS :[EBP -44]
0041425A SHR ECX ,12
0041425D OR EAX ,ECX
0041425F ADD EAX ,DWORD PTR SS :[EBP -74]
00414262 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414265 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414268 SHL EAX ,0A
0041426B MOV ECX ,DWORD PTR SS :[EBP -5C]
0041426E SHR ECX ,16
00414271 OR EAX ,ECX
00414273 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := a2 xor b2 xor c2 + Name_64[7] + e2;
00414276 MOV EAX ,DWORD PTR SS :[EBP -44]
00414279 XOR EAX ,DWORD PTR SS :[EBP -50]
0041427C XOR EAX ,DWORD PTR SS :[EBP -5C]
0041427F MOV ECX ,DWORD PTR SS :[EBP +C]
00414282 ADD EAX ,DWORD PTR DS :[ECX +1C]
00414285 ADD EAX ,DWORD PTR SS :[EBP -74]
00414288 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl 6) or (e2 shr $1A) + d2;
0041428B MOV EAX ,DWORD PTR SS :[EBP -74]
0041428E SHL EAX ,6
00414291 MOV ECX ,DWORD PTR SS :[EBP -74]
00414294 SHR ECX ,1A
00414297 OR EAX ,ECX
00414299 ADD EAX ,DWORD PTR SS :[EBP -68]
0041429C MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
0041429F MOV EAX ,DWORD PTR SS :[EBP -50]
004142A2 SHL EAX ,0A
004142A5 MOV ECX ,DWORD PTR SS :[EBP -50]
004142A8 SHR ECX ,16
004142AB OR EAX ,ECX
004142AD MOV DWORD PTR SS :[EBP -50],EAX
//d2 := e2 xor a2 xor b2 + Name_64[6] + d2;
004142B0 MOV EAX ,DWORD PTR SS :[EBP -74]
004142B3 XOR EAX ,DWORD PTR SS :[EBP -44]
004142B6 XOR EAX ,DWORD PTR SS :[EBP -50]
004142B9 MOV ECX ,DWORD PTR SS :[EBP +C]
004142BC ADD EAX ,DWORD PTR DS :[ECX +18]
004142BF ADD EAX ,DWORD PTR SS :[EBP -68]
004142C2 MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 8) or (d2 shr $18) + c2;
004142C5 MOV EAX ,DWORD PTR SS :[EBP -68]
004142C8 SHL EAX ,8
004142CB MOV ECX ,DWORD PTR SS :[EBP -68]
004142CE SHR ECX ,18
004142D1 OR EAX ,ECX
004142D3 ADD EAX ,DWORD PTR SS :[EBP -5C]
004142D6 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
004142D9 MOV EAX ,DWORD PTR SS :[EBP -44]
004142DC SHL EAX ,0A
004142DF MOV ECX ,DWORD PTR SS :[EBP -44]
004142E2 SHR ECX ,16
004142E5 OR EAX ,ECX
004142E7 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := d2 xor e2 xor a2 + Name_64[2] + c2;
004142EA MOV EAX ,DWORD PTR SS :[EBP -68]
004142ED XOR EAX ,DWORD PTR SS :[EBP -74]
004142F0 XOR EAX ,DWORD PTR SS :[EBP -44]
004142F3 MOV ECX ,DWORD PTR SS :[EBP +C]
004142F6 ADD EAX ,DWORD PTR DS :[ECX +8]
004142F9 ADD EAX ,DWORD PTR SS :[EBP -5C]
004142FC MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl $D) or (c2 shr $13) + b2;
004142FF MOV EAX ,DWORD PTR SS :[EBP -5C]
00414302 SHL EAX ,0D
00414305 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414308 SHR ECX ,13
0041430B OR EAX ,ECX
0041430D ADD EAX ,DWORD PTR SS :[EBP -50]
00414310 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414313 MOV EAX ,DWORD PTR SS :[EBP -74]
00414316 SHL EAX ,0A
00414319 MOV ECX ,DWORD PTR SS :[EBP -74]
0041431C SHR ECX ,16
0041431F OR EAX ,ECX
00414321 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := c2 xor d2 xor e2 + Name_64[13] + b2;
00414324 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414327 XOR EAX ,DWORD PTR SS :[EBP -68]
0041432A XOR EAX ,DWORD PTR SS :[EBP -74]
0041432D MOV ECX ,DWORD PTR SS :[EBP +C]
00414330 ADD EAX ,DWORD PTR DS :[ECX +34]
00414333 ADD EAX ,DWORD PTR SS :[EBP -50]
00414336 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl 6) or (b2 shr $1A) + a2;
00414339 MOV EAX ,DWORD PTR SS :[EBP -50]
0041433C SHL EAX ,6
0041433F MOV ECX ,DWORD PTR SS :[EBP -50]
00414342 SHR ECX ,1A
00414345 OR EAX ,ECX
00414347 ADD EAX ,DWORD PTR SS :[EBP -44]
0041434A MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
0041434D MOV EAX ,DWORD PTR SS :[EBP -68]
00414350 SHL EAX ,0A
00414353 MOV ECX ,DWORD PTR SS :[EBP -68]
00414356 SHR ECX ,16
00414359 OR EAX ,ECX
0041435B MOV DWORD PTR SS :[EBP -68],EAX
//a2 := b2 xor c2 xor d2 + Name_64[14] + a2;
0041435E MOV EAX ,DWORD PTR SS :[EBP -50]
00414361 XOR EAX ,DWORD PTR SS :[EBP -5C]
00414364 XOR EAX ,DWORD PTR SS :[EBP -68]
00414367 MOV ECX ,DWORD PTR SS :[EBP +C]
0041436A ADD EAX ,DWORD PTR DS :[ECX +38]
0041436D ADD EAX ,DWORD PTR SS :[EBP -44]
00414370 MOV DWORD PTR SS :[EBP -44],EAX
//e2 := (a2 shl 5) or (a2 shr $1B) + e2;
00414373 MOV EAX ,DWORD PTR SS :[EBP -44]
00414376 SHL EAX ,5
00414379 MOV ECX ,DWORD PTR SS :[EBP -44]
0041437C SHR ECX ,1B
0041437F OR EAX ,ECX
00414381 ADD EAX ,DWORD PTR SS :[EBP -74]
00414384 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414387 MOV EAX ,DWORD PTR SS :[EBP -5C]
0041438A SHL EAX ,0A
0041438D MOV ECX ,DWORD PTR SS :[EBP -5C]
00414390 SHR ECX ,16
00414393 OR EAX ,ECX
00414395 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := a2 xor b2 xor c2 + Name_64[0] + e2;
00414398 MOV EAX ,DWORD PTR SS :[EBP -44]
0041439B XOR EAX ,DWORD PTR SS :[EBP -50]
0041439E XOR EAX ,DWORD PTR SS :[EBP -5C]
004143A1 MOV ECX ,DWORD PTR SS :[EBP +C]
004143A4 ADD EAX ,DWORD PTR DS :[ECX ]
004143A6 ADD EAX ,DWORD PTR SS :[EBP -74]
004143A9 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl $0F) or (e2 shr $11) + d2;
004143AC MOV EAX ,DWORD PTR SS :[EBP -74]
004143AF SHL EAX ,0F
004143B2 MOV ECX ,DWORD PTR SS :[EBP -74]
004143B5 SHR ECX ,11
004143B8 OR EAX ,ECX
004143BA ADD EAX ,DWORD PTR SS :[EBP -68]
004143BD MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
004143C0 MOV EAX ,DWORD PTR SS :[EBP -50]
004143C3 SHL EAX ,0A
004143C6 MOV ECX ,DWORD PTR SS :[EBP -50]
004143C9 SHR ECX ,16
004143CC OR EAX ,ECX
004143CE MOV DWORD PTR SS :[EBP -50],EAX
//d2 := e2 xor a2 xor b2 + Name_64[3] + d2;
004143D1 MOV EAX ,DWORD PTR SS :[EBP -74]
004143D4 XOR EAX ,DWORD PTR SS :[EBP -44]
004143D7 XOR EAX ,DWORD PTR SS :[EBP -50]
004143DA MOV ECX ,DWORD PTR SS :[EBP +C]
004143DD ADD EAX ,DWORD PTR DS :[ECX +C]
004143E0 ADD EAX ,DWORD PTR SS :[EBP -68]
004143E3 MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl $D) or (d2 shr $13) + c2;
004143E6 MOV EAX ,DWORD PTR SS :[EBP -68]
004143E9 SHL EAX ,0D
004143EC MOV ECX ,DWORD PTR SS :[EBP -68]
004143EF SHR ECX ,13
004143F2 OR EAX ,ECX
004143F4 ADD EAX ,DWORD PTR SS :[EBP -5C]
004143F7 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
004143FA MOV EAX ,DWORD PTR SS :[EBP -44]
004143FD SHL EAX ,0A
00414400 MOV ECX ,DWORD PTR SS :[EBP -44]
00414403 SHR ECX ,16
00414406 OR EAX ,ECX
00414408 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := d2 xor e2 xor a2 + Name_64[9] + c2;
0041440B MOV EAX ,DWORD PTR SS :[EBP -68]
0041440E XOR EAX ,DWORD PTR SS :[EBP -74]
00414411 XOR EAX ,DWORD PTR SS :[EBP -44]
00414414 MOV ECX ,DWORD PTR SS :[EBP +C]
00414417 ADD EAX ,DWORD PTR DS :[ECX +24]
0041441A ADD EAX ,DWORD PTR SS :[EBP -5C]
0041441D MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl $B) or (c2 shr $15) + b2;
00414420 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414423 SHL EAX ,0B
00414426 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414429 SHR ECX ,15
0041442C OR EAX ,ECX
0041442E ADD EAX ,DWORD PTR SS :[EBP -50]
00414431 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414434 MOV EAX ,DWORD PTR SS :[EBP -74]
00414437 SHL EAX ,0A
0041443A MOV ECX ,DWORD PTR SS :[EBP -74]
0041443D SHR ECX ,16
00414440 OR EAX ,ECX
00414442 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := c2 xor d2 xor e2 + Name_64[11] + b2;
00414445 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414448 XOR EAX ,DWORD PTR SS :[EBP -68]
0041444B XOR EAX ,DWORD PTR SS :[EBP -74]
0041444E MOV ECX ,DWORD PTR SS :[EBP +C]
00414451 ADD EAX ,DWORD PTR DS :[ECX +2C]
00414454 ADD EAX ,DWORD PTR SS :[EBP -50]
00414457 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl $B) or (b2 shr $15) + a2;
0041445A MOV EAX ,DWORD PTR SS :[EBP -50]
0041445D SHL EAX ,0B
00414460 MOV ECX ,DWORD PTR SS :[EBP -50]
00414463 SHR ECX ,15
00414466 OR EAX ,ECX
00414468 ADD EAX ,DWORD PTR SS :[EBP -44]
0041446B MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
0041446E MOV EAX ,DWORD PTR SS :[EBP -68]
00414471 SHL EAX ,0A
00414474 MOV ECX ,DWORD PTR SS :[EBP -68]
00414477 SHR ECX ,16
0041447A OR EAX ,ECX
0041447C MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (not(a2) or e2) xor b2 + Name_64[15] + d2 + $6D703EF3;
0041447F MOV EAX ,DWORD PTR SS :[EBP -44]
00414482 NOT EAX
00414484 OR EAX ,DWORD PTR SS :[EBP -74]
00414487 XOR EAX ,DWORD PTR SS :[EBP -50]
0041448A MOV ECX ,DWORD PTR SS :[EBP +C]
0041448D ADD EAX ,DWORD PTR DS :[ECX +3C]
00414490 MOV EDX ,DWORD PTR SS :[EBP -68]
00414493 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
0041449A MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 9) or (d2 shr $17) + c2;
0041449D MOV EAX ,DWORD PTR SS :[EBP -68]
004144A0 SHL EAX ,9
004144A3 MOV ECX ,DWORD PTR SS :[EBP -68]
004144A6 SHR ECX ,17
004144A9 OR EAX ,ECX
004144AB ADD EAX ,DWORD PTR SS :[EBP -5C]
004144AE MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
004144B1 MOV EAX ,DWORD PTR SS :[EBP -44]
004144B4 SHL EAX ,0A
004144B7 MOV ECX ,DWORD PTR SS :[EBP -44]
004144BA SHR ECX ,16
004144BD OR EAX ,ECX
004144BF MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (not(e2) or d2) xor a2 + Name_64[5] + c2 + $6D703EF3;
004144C2 MOV EAX ,DWORD PTR SS :[EBP -74]
004144C5 NOT EAX
004144C7 OR EAX ,DWORD PTR SS :[EBP -68]
004144CA XOR EAX ,DWORD PTR SS :[EBP -44]
004144CD MOV ECX ,DWORD PTR SS :[EBP +C]
004144D0 ADD EAX ,DWORD PTR DS :[ECX +14]
004144D3 MOV EDX ,DWORD PTR SS :[EBP -5C]
004144D6 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
004144DD MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl 7) or (c2 shr $19) + b2;
004144E0 MOV EAX ,DWORD PTR SS :[EBP -5C]
004144E3 SHL EAX ,7
004144E6 MOV ECX ,DWORD PTR SS :[EBP -5C]
004144E9 SHR ECX ,19
004144EC OR EAX ,ECX
004144EE ADD EAX ,DWORD PTR SS :[EBP -50]
004144F1 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
004144F4 MOV EAX ,DWORD PTR SS :[EBP -74]
004144F7 SHL EAX ,0A
004144FA MOV ECX ,DWORD PTR SS :[EBP -74]
004144FD SHR ECX ,16
00414500 OR EAX ,ECX
00414502 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (not(d2) or c2) xor e2 + Name_64[1] + b2 + $6D703EF3;
00414505 MOV EAX ,DWORD PTR SS :[EBP -68]
00414508 NOT EAX
0041450A OR EAX ,DWORD PTR SS :[EBP -5C]
0041450D XOR EAX ,DWORD PTR SS :[EBP -74]
00414510 MOV ECX ,DWORD PTR SS :[EBP +C]
00414513 ADD EAX ,DWORD PTR DS :[ECX +4]
00414516 MOV EDX ,DWORD PTR SS :[EBP -50]
00414519 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
00414520 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl $F) or (b2 shr $11) + a2;
00414523 MOV EAX ,DWORD PTR SS :[EBP -50]
00414526 SHL EAX ,0F
00414529 MOV ECX ,DWORD PTR SS :[EBP -50]
0041452C SHR ECX ,11
0041452F OR EAX ,ECX
00414531 ADD EAX ,DWORD PTR SS :[EBP -44]
00414534 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414537 MOV EAX ,DWORD PTR SS :[EBP -68]
0041453A SHL EAX ,0A
0041453D MOV ECX ,DWORD PTR SS :[EBP -68]
00414540 SHR ECX ,16
00414543 OR EAX ,ECX
00414545 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (not(c2) or b2) xor d2 + Name_64[3] + a2 + $6D703EF3;
00414548 MOV EAX ,DWORD PTR SS :[EBP -5C]
0041454B NOT EAX
0041454D OR EAX ,DWORD PTR SS :[EBP -50]
00414550 XOR EAX ,DWORD PTR SS :[EBP -68]
00414553 MOV ECX ,DWORD PTR SS :[EBP +C]
00414556 ADD EAX ,DWORD PTR DS :[ECX +C]
00414559 MOV EDX ,DWORD PTR SS :[EBP -44]
0041455C LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
00414563 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl $B) or (a2 shr $15) + e2;
00414566 MOV EAX ,DWORD PTR SS :[EBP -44]
00414569 SHL EAX ,0B
0041456C MOV ECX ,DWORD PTR SS :[EBP -44]
0041456F SHR ECX ,15
00414572 OR EAX ,ECX
00414574 ADD EAX ,DWORD PTR SS :[EBP -74]
00414577 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
0041457A MOV EAX ,DWORD PTR SS :[EBP -5C]
0041457D SHL EAX ,0A
00414580 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414583 SHR ECX ,16
00414586 OR EAX ,ECX
00414588 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (not(b2) or a2) xor c2 + Name_64[7] + e2 + $6D703EF3;
0041458B MOV EAX ,DWORD PTR SS :[EBP -50]
0041458E NOT EAX
00414590 OR EAX ,DWORD PTR SS :[EBP -44]
00414593 XOR EAX ,DWORD PTR SS :[EBP -5C]
00414596 MOV ECX ,DWORD PTR SS :[EBP +C]
00414599 ADD EAX ,DWORD PTR DS :[ECX +1C]
0041459C MOV EDX ,DWORD PTR SS :[EBP -74]
0041459F LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
004145A6 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl 8) or (e2 shr $18) + d2;
004145A9 MOV EAX ,DWORD PTR SS :[EBP -74]
004145AC SHL EAX ,8
004145AF MOV ECX ,DWORD PTR SS :[EBP -74]
004145B2 SHR ECX ,18
004145B5 OR EAX ,ECX
004145B7 ADD EAX ,DWORD PTR SS :[EBP -68]
004145BA MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
004145BD MOV EAX ,DWORD PTR SS :[EBP -50]
004145C0 SHL EAX ,0A
004145C3 MOV ECX ,DWORD PTR SS :[EBP -50]
004145C6 SHR ECX ,16
004145C9 OR EAX ,ECX
004145CB MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (not(a2) or e2) xor b2 + Name_64[14] + d2 + $6D703EF3;
004145CE MOV EAX ,DWORD PTR SS :[EBP -44]
004145D1 NOT EAX
004145D3 OR EAX ,DWORD PTR SS :[EBP -74]
004145D6 XOR EAX ,DWORD PTR SS :[EBP -50]
004145D9 MOV ECX ,DWORD PTR SS :[EBP +C]
004145DC ADD EAX ,DWORD PTR DS :[ECX +38]
004145DF MOV EDX ,DWORD PTR SS :[EBP -68]
004145E2 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
004145E9 MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 6) or (d2 shr $1A) + c2;
004145EC MOV EAX ,DWORD PTR SS :[EBP -68]
004145EF SHL EAX ,6
004145F2 MOV ECX ,DWORD PTR SS :[EBP -68]
004145F5 SHR ECX ,1A
004145F8 OR EAX ,ECX
004145FA ADD EAX ,DWORD PTR SS :[EBP -5C]
004145FD MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00414600 MOV EAX ,DWORD PTR SS :[EBP -44]
00414603 SHL EAX ,0A
00414606 MOV ECX ,DWORD PTR SS :[EBP -44]
00414609 SHR ECX ,16
0041460C OR EAX ,ECX
0041460E MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (not(e2) or d2) xor a2 + Name_64[6] + c2 + $6D703EF3;
00414611 MOV EAX ,DWORD PTR SS :[EBP -74]
00414614 NOT EAX
00414616 OR EAX ,DWORD PTR SS :[EBP -68]
00414619 XOR EAX ,DWORD PTR SS :[EBP -44]
0041461C MOV ECX ,DWORD PTR SS :[EBP +C]
0041461F ADD EAX ,DWORD PTR DS :[ECX +18]
00414622 MOV EDX ,DWORD PTR SS :[EBP -5C]
00414625 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
0041462C MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl 6) or (c2 shr $1A) + b2;
0041462F MOV EAX ,DWORD PTR SS :[EBP -5C]
00414632 SHL EAX ,6
00414635 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414638 SHR ECX ,1A
0041463B OR EAX ,ECX
0041463D ADD EAX ,DWORD PTR SS :[EBP -50]
00414640 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414643 MOV EAX ,DWORD PTR SS :[EBP -74]
00414646 SHL EAX ,0A
00414649 MOV ECX ,DWORD PTR SS :[EBP -74]
0041464C SHR ECX ,16
0041464F OR EAX ,ECX
00414651 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (not(d2) or c2) xor e2 + Name_64[9] + b2 + $6D703EF3;
00414654 MOV EAX ,DWORD PTR SS :[EBP -68]
00414657 NOT EAX
00414659 OR EAX ,DWORD PTR SS :[EBP -5C]
0041465C XOR EAX ,DWORD PTR SS :[EBP -74]
0041465F MOV ECX ,DWORD PTR SS :[EBP +C]
00414662 ADD EAX ,DWORD PTR DS :[ECX +24]
00414665 MOV EDX ,DWORD PTR SS :[EBP -50]
00414668 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
0041466F MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl $E) or (b2 shr $12) + a2;
00414672 MOV EAX ,DWORD PTR SS :[EBP -50]
00414675 SHL EAX ,0E
00414678 MOV ECX ,DWORD PTR SS :[EBP -50]
0041467B SHR ECX ,12
0041467E OR EAX ,ECX
00414680 ADD EAX ,DWORD PTR SS :[EBP -44]
00414683 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414686 MOV EAX ,DWORD PTR SS :[EBP -68]
00414689 SHL EAX ,0A
0041468C MOV ECX ,DWORD PTR SS :[EBP -68]
0041468F SHR ECX ,16
00414692 OR EAX ,ECX
00414694 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (not(c2) or b2) xor d2 + Name_64[11] + a2 + $6D703EF3;
00414697 MOV EAX ,DWORD PTR SS :[EBP -5C]
0041469A NOT EAX
0041469C OR EAX ,DWORD PTR SS :[EBP -50]
0041469F XOR EAX ,DWORD PTR SS :[EBP -68]
004146A2 MOV ECX ,DWORD PTR SS :[EBP +C]
004146A5 ADD EAX ,DWORD PTR DS :[ECX +2C]
004146A8 MOV EDX ,DWORD PTR SS :[EBP -44]
004146AB LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
004146B2 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl $C) or (a2 shr $14) + e2;
004146B5 MOV EAX ,DWORD PTR SS :[EBP -44]
004146B8 SHL EAX ,0C
004146BB MOV ECX ,DWORD PTR SS :[EBP -44]
004146BE SHR ECX ,14
004146C1 OR EAX ,ECX
004146C3 ADD EAX ,DWORD PTR SS :[EBP -74]
004146C6 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
004146C9 MOV EAX ,DWORD PTR SS :[EBP -5C]
004146CC SHL EAX ,0A
004146CF MOV ECX ,DWORD PTR SS :[EBP -5C]
004146D2 SHR ECX ,16
004146D5 OR EAX ,ECX
004146D7 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (not(b2) or a2) xor c2 + Name_64[8] + e2 + $6D703EF3;
004146DA MOV EAX ,DWORD PTR SS :[EBP -50]
004146DD NOT EAX
004146DF OR EAX ,DWORD PTR SS :[EBP -44]
004146E2 XOR EAX ,DWORD PTR SS :[EBP -5C]
004146E5 MOV ECX ,DWORD PTR SS :[EBP +C]
004146E8 ADD EAX ,DWORD PTR DS :[ECX +20]
004146EB MOV EDX ,DWORD PTR SS :[EBP -74]
004146EE LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
004146F5 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl $D) or (e2 shr $13) + d2;
004146F8 MOV EAX ,DWORD PTR SS :[EBP -74]
004146FB SHL EAX ,0D
004146FE MOV ECX ,DWORD PTR SS :[EBP -74]
00414701 SHR ECX ,13
00414704 OR EAX ,ECX
00414706 ADD EAX ,DWORD PTR SS :[EBP -68]
00414709 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
0041470C MOV EAX ,DWORD PTR SS :[EBP -50]
0041470F SHL EAX ,0A
00414712 MOV ECX ,DWORD PTR SS :[EBP -50]
00414715 SHR ECX ,16
00414718 OR EAX ,ECX
0041471A MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (not(a2) or e2) xor b2 + Name_64[12] + d2 + $6D703EF3;
0041471D MOV EAX ,DWORD PTR SS :[EBP -44]
00414720 NOT EAX
00414722 OR EAX ,DWORD PTR SS :[EBP -74]
00414725 XOR EAX ,DWORD PTR SS :[EBP -50]
00414728 MOV ECX ,DWORD PTR SS :[EBP +C]
0041472B ADD EAX ,DWORD PTR DS :[ECX +30]
0041472E MOV EDX ,DWORD PTR SS :[EBP -68]
00414731 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
00414738 MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 5) or (d2 shr $1B) + c2;
0041473B MOV EAX ,DWORD PTR SS :[EBP -68]
0041473E SHL EAX ,5
00414741 MOV ECX ,DWORD PTR SS :[EBP -68]
00414744 SHR ECX ,1B
00414747 OR EAX ,ECX
00414749 ADD EAX ,DWORD PTR SS :[EBP -5C]
0041474C MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
0041474F MOV EAX ,DWORD PTR SS :[EBP -44]
00414752 SHL EAX ,0A
00414755 MOV ECX ,DWORD PTR SS :[EBP -44]
00414758 SHR ECX ,16
0041475B OR EAX ,ECX
0041475D MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (not(e2) or d2) xor a2 + Name_64[2] + c2 + $6D703EF3;
00414760 MOV EAX ,DWORD PTR SS :[EBP -74]
00414763 NOT EAX
00414765 OR EAX ,DWORD PTR SS :[EBP -68]
00414768 XOR EAX ,DWORD PTR SS :[EBP -44]
0041476B MOV ECX ,DWORD PTR SS :[EBP +C]
0041476E ADD EAX ,DWORD PTR DS :[ECX +8]
00414771 MOV EDX ,DWORD PTR SS :[EBP -5C]
00414774 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
0041477B MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl $E) or (c2 shr $12) + b2;
0041477E MOV EAX ,DWORD PTR SS :[EBP -5C]
00414781 SHL EAX ,0E
00414784 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414787 SHR ECX ,12
0041478A OR EAX ,ECX
0041478C ADD EAX ,DWORD PTR SS :[EBP -50]
0041478F MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414792 MOV EAX ,DWORD PTR SS :[EBP -74]
00414795 SHL EAX ,0A
00414798 MOV ECX ,DWORD PTR SS :[EBP -74]
0041479B SHR ECX ,16
0041479E OR EAX ,ECX
004147A0 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (not(d2) or c2) xor e2 + Name_64[10] + b2 + $6D703EF3;
004147A3 MOV EAX ,DWORD PTR SS :[EBP -68]
004147A6 NOT EAX
004147A8 OR EAX ,DWORD PTR SS :[EBP -5C]
004147AB XOR EAX ,DWORD PTR SS :[EBP -74]
004147AE MOV ECX ,DWORD PTR SS :[EBP +C]
004147B1 ADD EAX ,DWORD PTR DS :[ECX +28]
004147B4 MOV EDX ,DWORD PTR SS :[EBP -50]
004147B7 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
004147BE MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl $D) or (b2 shr $13) + a2;
004147C1 MOV EAX ,DWORD PTR SS :[EBP -50]
004147C4 SHL EAX ,0D
004147C7 MOV ECX ,DWORD PTR SS :[EBP -50]
004147CA SHR ECX ,13
004147CD OR EAX ,ECX
004147CF ADD EAX ,DWORD PTR SS :[EBP -44]
004147D2 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
004147D5 MOV EAX ,DWORD PTR SS :[EBP -68]
004147D8 SHL EAX ,0A
004147DB MOV ECX ,DWORD PTR SS :[EBP -68]
004147DE SHR ECX ,16
004147E1 OR EAX ,ECX
004147E3 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (not(c2) or b2) xor d2 + Name_64[0] + a2 + $6D703EF3;
004147E6 MOV EAX ,DWORD PTR SS :[EBP -5C]
004147E9 NOT EAX
004147EB OR EAX ,DWORD PTR SS :[EBP -50]
004147EE XOR EAX ,DWORD PTR SS :[EBP -68]
004147F1 MOV ECX ,DWORD PTR SS :[EBP +C]
004147F4 ADD EAX ,DWORD PTR DS :[ECX ]
004147F6 MOV EDX ,DWORD PTR SS :[EBP -44]
004147F9 LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
00414800 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl $D) or (a2 shr $13) + e2;
00414803 MOV EAX ,DWORD PTR SS :[EBP -44]
00414806 SHL EAX ,0D
00414809 MOV ECX ,DWORD PTR SS :[EBP -44]
0041480C SHR ECX ,13
0041480F OR EAX ,ECX
00414811 ADD EAX ,DWORD PTR SS :[EBP -74]
00414814 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414817 MOV EAX ,DWORD PTR SS :[EBP -5C]
0041481A SHL EAX ,0A
0041481D MOV ECX ,DWORD PTR SS :[EBP -5C]
00414820 SHR ECX ,16
00414823 OR EAX ,ECX
00414825 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (not(b2) or a2) xor c2 + Name_64[4] + e2 + $6D703EF3;
00414828 MOV EAX ,DWORD PTR SS :[EBP -50]
0041482B NOT EAX
0041482D OR EAX ,DWORD PTR SS :[EBP -44]
00414830 XOR EAX ,DWORD PTR SS :[EBP -5C]
00414833 MOV ECX ,DWORD PTR SS :[EBP +C]
00414836 ADD EAX ,DWORD PTR DS :[ECX +10]
00414839 MOV EDX ,DWORD PTR SS :[EBP -74]
0041483C LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
00414843 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl 7) or (e2 shr $19) + d2;
00414846 MOV EAX ,DWORD PTR SS :[EBP -74]
00414849 SHL EAX ,7
0041484C MOV ECX ,DWORD PTR SS :[EBP -74]
0041484F SHR ECX ,19
00414852 OR EAX ,ECX
00414854 ADD EAX ,DWORD PTR SS :[EBP -68]
00414857 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
0041485A MOV EAX ,DWORD PTR SS :[EBP -50]
0041485D SHL EAX ,0A
00414860 MOV ECX ,DWORD PTR SS :[EBP -50]
00414863 SHR ECX ,16
00414866 OR EAX ,ECX
00414868 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (not(a2) or e2) xor b2 + Name_64[13] + d2 + $6D703EF3;
0041486B MOV EAX ,DWORD PTR SS :[EBP -44]
0041486E NOT EAX
00414870 OR EAX ,DWORD PTR SS :[EBP -74]
00414873 XOR EAX ,DWORD PTR SS :[EBP -50]
00414876 MOV ECX ,DWORD PTR SS :[EBP +C]
00414879 ADD EAX ,DWORD PTR DS :[ECX +34]
0041487C MOV EDX ,DWORD PTR SS :[EBP -68]
0041487F LEA EAX ,DWORD PTR DS :[EDX +EAX +6D703EF3]
00414886 MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 5) or (d2 shr $1B) + c2;
00414889 MOV EAX ,DWORD PTR SS :[EBP -68]
0041488C SHL EAX ,5
0041488F MOV ECX ,DWORD PTR SS :[EBP -68]
00414892 SHR ECX ,1B
00414895 OR EAX ,ECX
00414897 ADD EAX ,DWORD PTR SS :[EBP -5C]
0041489A MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
0041489D MOV EAX ,DWORD PTR SS :[EBP -44]
004148A0 SHL EAX ,0A
004148A3 MOV ECX ,DWORD PTR SS :[EBP -44]
004148A6 SHR ECX ,16
004148A9 OR EAX ,ECX
004148AB MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and e2) or (not(d2) and a2)) + Name_64[8] + c2 + $7A6D76E9;
004148AE MOV EAX ,DWORD PTR SS :[EBP -68]
004148B1 AND EAX ,DWORD PTR SS :[EBP -74]
004148B4 MOV ECX ,DWORD PTR SS :[EBP -68]
004148B7 NOT ECX
004148B9 AND ECX ,DWORD PTR SS :[EBP -44]
004148BC OR EAX ,ECX
004148BE MOV EDX ,DWORD PTR SS :[EBP +C]
004148C1 ADD EAX ,DWORD PTR DS :[EDX +20]
004148C4 MOV ECX ,DWORD PTR SS :[EBP -5C]
004148C7 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
004148CE MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl $F) or (c2 shr $11) + b2;
004148D1 MOV EAX ,DWORD PTR SS :[EBP -5C]
004148D4 SHL EAX ,0F
004148D7 MOV ECX ,DWORD PTR SS :[EBP -5C]
004148DA SHR ECX ,11
004148DD OR EAX ,ECX
004148DF ADD EAX ,DWORD PTR SS :[EBP -50]
004148E2 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
004148E5 MOV EAX ,DWORD PTR SS :[EBP -74]
004148E8 SHL EAX ,0A
004148EB MOV ECX ,DWORD PTR SS :[EBP -74]
004148EE SHR ECX ,16
004148F1 OR EAX ,ECX
004148F3 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := ((c2 and d2) or (not(c2) and e2)) + Name_64[6] + b2 + $7A6D76E9;
004148F6 MOV EAX ,DWORD PTR SS :[EBP -5C]
004148F9 AND EAX ,DWORD PTR SS :[EBP -68]
004148FC MOV ECX ,DWORD PTR SS :[EBP -5C]
004148FF NOT ECX
00414901 AND ECX ,DWORD PTR SS :[EBP -74]
00414904 OR EAX ,ECX
00414906 MOV EDX ,DWORD PTR SS :[EBP +C]
00414909 ADD EAX ,DWORD PTR DS :[EDX +18]
0041490C MOV ECX ,DWORD PTR SS :[EBP -50]
0041490F LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414916 MOV DWORD PTR SS :[EBP -50],EDX
//b2 := (b2 shl 5) or (b2 shr $1B) + a2;
00414919 MOV EAX ,DWORD PTR SS :[EBP -50]
0041491C SHL EAX ,5
0041491F MOV ECX ,DWORD PTR SS :[EBP -50]
00414922 SHR ECX ,1B
00414925 OR EAX ,ECX
00414927 ADD EAX ,DWORD PTR SS :[EBP -44]
0041492A MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
0041492D MOV EAX ,DWORD PTR SS :[EBP -68]
00414930 SHL EAX ,0A
00414933 MOV ECX ,DWORD PTR SS :[EBP -68]
00414936 SHR ECX ,16
00414939 OR EAX ,ECX
0041493B MOV DWORD PTR SS :[EBP -68],EAX
//a2 := ((b2 and c2) or (not(b2) and d2)) + Name_64[4] + a2 + $7A6D76E9;
0041493E MOV EAX ,DWORD PTR SS :[EBP -50]
00414941 AND EAX ,DWORD PTR SS :[EBP -5C]
00414944 MOV ECX ,DWORD PTR SS :[EBP -50]
00414947 NOT ECX
00414949 AND ECX ,DWORD PTR SS :[EBP -68]
0041494C OR EAX ,ECX
0041494E MOV EDX ,DWORD PTR SS :[EBP +C]
00414951 ADD EAX ,DWORD PTR DS :[EDX +10]
00414954 MOV ECX ,DWORD PTR SS :[EBP -44]
00414957 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
0041495E MOV DWORD PTR SS :[EBP -44],EDX
//a2 := (a2 shl 8) or (a2 shr $18) + e2;
00414961 MOV EAX ,DWORD PTR SS :[EBP -44]
00414964 SHL EAX ,8
00414967 MOV ECX ,DWORD PTR SS :[EBP -44]
0041496A SHR ECX ,18
0041496D OR EAX ,ECX
0041496F ADD EAX ,DWORD PTR SS :[EBP -74]
00414972 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414975 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414978 SHL EAX ,0A
0041497B MOV ECX ,DWORD PTR SS :[EBP -5C]
0041497E SHR ECX ,16
00414981 OR EAX ,ECX
00414983 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := ((a2 and b2) or (not(a2) and c2)) + Name_64[1] + e2 + $7A6D76E9;
00414986 MOV EAX ,DWORD PTR SS :[EBP -44]
00414989 AND EAX ,DWORD PTR SS :[EBP -50]
0041498C MOV ECX ,DWORD PTR SS :[EBP -44]
0041498F NOT ECX
00414991 AND ECX ,DWORD PTR SS :[EBP -5C]
00414994 OR EAX ,ECX
00414996 MOV EDX ,DWORD PTR SS :[EBP +C]
00414999 ADD EAX ,DWORD PTR DS :[EDX +4]
0041499C MOV ECX ,DWORD PTR SS :[EBP -74]
0041499F LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
004149A6 MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl $B) or (e2 shr $15) + d2;
004149A9 MOV EAX ,DWORD PTR SS :[EBP -74]
004149AC SHL EAX ,0B
004149AF MOV ECX ,DWORD PTR SS :[EBP -74]
004149B2 SHR ECX ,15
004149B5 OR EAX ,ECX
004149B7 ADD EAX ,DWORD PTR SS :[EBP -68]
004149BA MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
004149BD MOV EAX ,DWORD PTR SS :[EBP -50]
004149C0 SHL EAX ,0A
004149C3 MOV ECX ,DWORD PTR SS :[EBP -50]
004149C6 SHR ECX ,16
004149C9 OR EAX ,ECX
004149CB MOV DWORD PTR SS :[EBP -50],EAX
//d2 := ((e2 and a2) or (not(e2) and b2)) + Name_64[3] + d2 + $7A6D76E9;
004149CE MOV EAX ,DWORD PTR SS :[EBP -74]
004149D1 AND EAX ,DWORD PTR SS :[EBP -44]
004149D4 MOV ECX ,DWORD PTR SS :[EBP -74]
004149D7 NOT ECX
004149D9 AND ECX ,DWORD PTR SS :[EBP -50]
004149DC OR EAX ,ECX
004149DE MOV EDX ,DWORD PTR SS :[EBP +C]
004149E1 ADD EAX ,DWORD PTR DS :[EDX +C]
004149E4 MOV ECX ,DWORD PTR SS :[EBP -68]
004149E7 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
004149EE MOV DWORD PTR SS :[EBP -68],EDX
//d2 := (d2 shl $E) or (d2 shr $12) + c2;
004149F1 MOV EAX ,DWORD PTR SS :[EBP -68]
004149F4 SHL EAX ,0E
004149F7 MOV ECX ,DWORD PTR SS :[EBP -68]
004149FA SHR ECX ,12
004149FD OR EAX ,ECX
004149FF ADD EAX ,DWORD PTR SS :[EBP -5C]
00414A02 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00414A05 MOV EAX ,DWORD PTR SS :[EBP -44]
00414A08 SHL EAX ,0A
00414A0B MOV ECX ,DWORD PTR SS :[EBP -44]
00414A0E SHR ECX ,16
00414A11 OR EAX ,ECX
00414A13 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and e2) or (not(d2) and a2)) + Name_64[11] + c2 + $7A6D76E9;
00414A16 MOV EAX ,DWORD PTR SS :[EBP -68]
00414A19 AND EAX ,DWORD PTR SS :[EBP -74]
00414A1C MOV ECX ,DWORD PTR SS :[EBP -68]
00414A1F NOT ECX
00414A21 AND ECX ,DWORD PTR SS :[EBP -44]
00414A24 OR EAX ,ECX
00414A26 MOV EDX ,DWORD PTR SS :[EBP +C]
00414A29 ADD EAX ,DWORD PTR DS :[EDX +2C]
00414A2C MOV ECX ,DWORD PTR SS :[EBP -5C]
00414A2F LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414A36 MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl $E) or (c2 shr $12) + b2;
00414A39 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414A3C SHL EAX ,0E
00414A3F MOV ECX ,DWORD PTR SS :[EBP -5C]
00414A42 SHR ECX ,12
00414A45 OR EAX ,ECX
00414A47 ADD EAX ,DWORD PTR SS :[EBP -50]
00414A4A MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414A4D MOV EAX ,DWORD PTR SS :[EBP -74]
00414A50 SHL EAX ,0A
00414A53 MOV ECX ,DWORD PTR SS :[EBP -74]
00414A56 SHR ECX ,16
00414A59 OR EAX ,ECX
00414A5B MOV DWORD PTR SS :[EBP -74],EAX
//b2 := ((c2 and d2) or (not(c2) and e2)) + Name_64[15] + b2 + $7A6D76E9;
00414A5E MOV EAX ,DWORD PTR SS :[EBP -5C]
00414A61 AND EAX ,DWORD PTR SS :[EBP -68]
00414A64 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414A67 NOT ECX
00414A69 AND ECX ,DWORD PTR SS :[EBP -74]
00414A6C OR EAX ,ECX
00414A6E MOV EDX ,DWORD PTR SS :[EBP +C]
00414A71 ADD EAX ,DWORD PTR DS :[EDX +3C]
00414A74 MOV ECX ,DWORD PTR SS :[EBP -50]
00414A77 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414A7E MOV DWORD PTR SS :[EBP -50],EDX
//b2 := (b2 shl 6) or (b2 shr $1A) + a2;
00414A81 MOV EAX ,DWORD PTR SS :[EBP -50]
00414A84 SHL EAX ,6
00414A87 MOV ECX ,DWORD PTR SS :[EBP -50]
00414A8A SHR ECX ,1A
00414A8D OR EAX ,ECX
00414A8F ADD EAX ,DWORD PTR SS :[EBP -44]
00414A92 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414A95 MOV EAX ,DWORD PTR SS :[EBP -68]
00414A98 SHL EAX ,0A
00414A9B MOV ECX ,DWORD PTR SS :[EBP -68]
00414A9E SHR ECX ,16
00414AA1 OR EAX ,ECX
00414AA3 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := ((b2 and c2) or (not(b2) and d2)) + Name_64[0] + a2 + $7A6D76E9;
00414AA6 MOV EAX ,DWORD PTR SS :[EBP -50]
00414AA9 AND EAX ,DWORD PTR SS :[EBP -5C]
00414AAC MOV ECX ,DWORD PTR SS :[EBP -50]
00414AAF NOT ECX
00414AB1 AND ECX ,DWORD PTR SS :[EBP -68]
00414AB4 OR EAX ,ECX
00414AB6 MOV EDX ,DWORD PTR SS :[EBP +C]
00414AB9 ADD EAX ,DWORD PTR DS :[EDX ]
00414ABB MOV ECX ,DWORD PTR SS :[EBP -44]
00414ABE LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414AC5 MOV DWORD PTR SS :[EBP -44],EDX
//a2 := (a2 shl $E) or (a2 shr $12) + e2;
00414AC8 MOV EAX ,DWORD PTR SS :[EBP -44]
00414ACB SHL EAX ,0E
00414ACE MOV ECX ,DWORD PTR SS :[EBP -44]
00414AD1 SHR ECX ,12
00414AD4 OR EAX ,ECX
00414AD6 ADD EAX ,DWORD PTR SS :[EBP -74]
00414AD9 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414ADC MOV EAX ,DWORD PTR SS :[EBP -5C]
00414ADF SHL EAX ,0A
00414AE2 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414AE5 SHR ECX ,16
00414AE8 OR EAX ,ECX
00414AEA MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := ((a2 and b2) or (not(a2) and c2)) + Name_64[5] + e2 + $7A6D76E9;
00414AED MOV EAX ,DWORD PTR SS :[EBP -44]
00414AF0 AND EAX ,DWORD PTR SS :[EBP -50]
00414AF3 MOV ECX ,DWORD PTR SS :[EBP -44]
00414AF6 NOT ECX
00414AF8 AND ECX ,DWORD PTR SS :[EBP -5C]
00414AFB OR EAX ,ECX
00414AFD MOV EDX ,DWORD PTR SS :[EBP +C]
00414B00 ADD EAX ,DWORD PTR DS :[EDX +14]
00414B03 MOV ECX ,DWORD PTR SS :[EBP -74]
00414B06 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414B0D MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl 6) or (e2 shr $1A) + d2;
00414B10 MOV EAX ,DWORD PTR SS :[EBP -74]
00414B13 SHL EAX ,6
00414B16 MOV ECX ,DWORD PTR SS :[EBP -74]
00414B19 SHR ECX ,1A
00414B1C OR EAX ,ECX
00414B1E ADD EAX ,DWORD PTR SS :[EBP -68]
00414B21 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00414B24 MOV EAX ,DWORD PTR SS :[EBP -50]
00414B27 SHL EAX ,0A
00414B2A MOV ECX ,DWORD PTR SS :[EBP -50]
00414B2D SHR ECX ,16
00414B30 OR EAX ,ECX
00414B32 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := ((e2 and a2) or (not(e2) and b2)) + Name_64[12] + d2 + $7A6D76E9;
00414B35 MOV EAX ,DWORD PTR SS :[EBP -74]
00414B38 AND EAX ,DWORD PTR SS :[EBP -44]
00414B3B MOV ECX ,DWORD PTR SS :[EBP -74]
00414B3E NOT ECX
00414B40 AND ECX ,DWORD PTR SS :[EBP -50]
00414B43 OR EAX ,ECX
00414B45 MOV EDX ,DWORD PTR SS :[EBP +C]
00414B48 ADD EAX ,DWORD PTR DS :[EDX +30]
00414B4B MOV ECX ,DWORD PTR SS :[EBP -68]
00414B4E LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414B55 MOV DWORD PTR SS :[EBP -68],EDX
//d2 := (d2 shl 9) or (d2 shr $17) + c2;
00414B58 MOV EAX ,DWORD PTR SS :[EBP -68]
00414B5B SHL EAX ,9
00414B5E MOV ECX ,DWORD PTR SS :[EBP -68]
00414B61 SHR ECX ,17
00414B64 OR EAX ,ECX
00414B66 ADD EAX ,DWORD PTR SS :[EBP -5C]
00414B69 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00414B6C MOV EAX ,DWORD PTR SS :[EBP -44]
00414B6F SHL EAX ,0A
00414B72 MOV ECX ,DWORD PTR SS :[EBP -44]
00414B75 SHR ECX ,16
00414B78 OR EAX ,ECX
00414B7A MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and e2) or (not(d2) and a2)) + Name_64[2] + c2 + $7A6D76E9;
00414B7D MOV EAX ,DWORD PTR SS :[EBP -68]
00414B80 AND EAX ,DWORD PTR SS :[EBP -74]
00414B83 MOV ECX ,DWORD PTR SS :[EBP -68]
00414B86 NOT ECX
00414B88 AND ECX ,DWORD PTR SS :[EBP -44]
00414B8B OR EAX ,ECX
00414B8D MOV EDX ,DWORD PTR SS :[EBP +C]
00414B90 ADD EAX ,DWORD PTR DS :[EDX +8]
00414B93 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414B96 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414B9D MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl $C) or (c2 shr $14) + b2;
00414BA0 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414BA3 SHL EAX ,0C
00414BA6 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414BA9 SHR ECX ,14
00414BAC OR EAX ,ECX
00414BAE ADD EAX ,DWORD PTR SS :[EBP -50]
00414BB1 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414BB4 MOV EAX ,DWORD PTR SS :[EBP -74]
00414BB7 SHL EAX ,0A
00414BBA MOV ECX ,DWORD PTR SS :[EBP -74]
00414BBD SHR ECX ,16
00414BC0 OR EAX ,ECX
00414BC2 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := ((c2 and d2) or (not(c2) and e2)) + Name_64[13] + b2 + $7A6D76E9;
00414BC5 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414BC8 AND EAX ,DWORD PTR SS :[EBP -68]
00414BCB MOV ECX ,DWORD PTR SS :[EBP -5C]
00414BCE NOT ECX
00414BD0 AND ECX ,DWORD PTR SS :[EBP -74]
00414BD3 OR EAX ,ECX
00414BD5 MOV EDX ,DWORD PTR SS :[EBP +C]
00414BD8 ADD EAX ,DWORD PTR DS :[EDX +34]
00414BDB MOV ECX ,DWORD PTR SS :[EBP -50]
00414BDE LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414BE5 MOV DWORD PTR SS :[EBP -50],EDX
//b2 := (b2 shl 9) or (b2 shr $17) + a2;
00414BE8 MOV EAX ,DWORD PTR SS :[EBP -50]
00414BEB SHL EAX ,9
00414BEE MOV ECX ,DWORD PTR SS :[EBP -50]
00414BF1 SHR ECX ,17
00414BF4 OR EAX ,ECX
00414BF6 ADD EAX ,DWORD PTR SS :[EBP -44]
00414BF9 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414BFC MOV EAX ,DWORD PTR SS :[EBP -68]
00414BFF SHL EAX ,0A
00414C02 MOV ECX ,DWORD PTR SS :[EBP -68]
00414C05 SHR ECX ,16
00414C08 OR EAX ,ECX
00414C0A MOV DWORD PTR SS :[EBP -68],EAX
//a2 := ((b2 and c2) or (not(b2) and d2)) + Name_64[9] + a2 + $7A6D76E9;
00414C0D MOV EAX ,DWORD PTR SS :[EBP -50]
00414C10 AND EAX ,DWORD PTR SS :[EBP -5C]
00414C13 MOV ECX ,DWORD PTR SS :[EBP -50]
00414C16 NOT ECX
00414C18 AND ECX ,DWORD PTR SS :[EBP -68]
00414C1B OR EAX ,ECX
00414C1D MOV EDX ,DWORD PTR SS :[EBP +C]
00414C20 ADD EAX ,DWORD PTR DS :[EDX +24]
00414C23 MOV ECX ,DWORD PTR SS :[EBP -44]
00414C26 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414C2D MOV DWORD PTR SS :[EBP -44],EDX
//a2 := (a2 shl $C) or (a2 shr $14) + e2;
00414C30 MOV EAX ,DWORD PTR SS :[EBP -44]
00414C33 SHL EAX ,0C
00414C36 MOV ECX ,DWORD PTR SS :[EBP -44]
00414C39 SHR ECX ,14
00414C3C OR EAX ,ECX
00414C3E ADD EAX ,DWORD PTR SS :[EBP -74]
00414C41 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414C44 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414C47 SHL EAX ,0A
00414C4A MOV ECX ,DWORD PTR SS :[EBP -5C]
00414C4D SHR ECX ,16
00414C50 OR EAX ,ECX
00414C52 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := ((a2 and b2) or (not(a2) and c2)) + Name_64[7] + e2 + $7A6D76E9;
00414C55 MOV EAX ,DWORD PTR SS :[EBP -44]
00414C58 AND EAX ,DWORD PTR SS :[EBP -50]
00414C5B MOV ECX ,DWORD PTR SS :[EBP -44]
00414C5E NOT ECX
00414C60 AND ECX ,DWORD PTR SS :[EBP -5C]
00414C63 OR EAX ,ECX
00414C65 MOV EDX ,DWORD PTR SS :[EBP +C]
00414C68 ADD EAX ,DWORD PTR DS :[EDX +1C]
00414C6B MOV ECX ,DWORD PTR SS :[EBP -74]
00414C6E LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414C75 MOV DWORD PTR SS :[EBP -74],EDX
//e2 := (e2 shl 5) or (e2 shr $1B) + d2;
00414C78 MOV EAX ,DWORD PTR SS :[EBP -74]
00414C7B SHL EAX ,5
00414C7E MOV ECX ,DWORD PTR SS :[EBP -74]
00414C81 SHR ECX ,1B
00414C84 OR EAX ,ECX
00414C86 ADD EAX ,DWORD PTR SS :[EBP -68]
00414C89 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00414C8C MOV EAX ,DWORD PTR SS :[EBP -50]
00414C8F SHL EAX ,0A
00414C92 MOV ECX ,DWORD PTR SS :[EBP -50]
00414C95 SHR ECX ,16
00414C98 OR EAX ,ECX
00414C9A MOV DWORD PTR SS :[EBP -50],EAX
//d2 := ((e2 and a2) or (not(e2) and b2)) + Name_64[10] + d2 + $7A6D76E9;
00414C9D MOV EAX ,DWORD PTR SS :[EBP -74]
00414CA0 AND EAX ,DWORD PTR SS :[EBP -44]
00414CA3 MOV ECX ,DWORD PTR SS :[EBP -74]
00414CA6 NOT ECX
00414CA8 AND ECX ,DWORD PTR SS :[EBP -50]
00414CAB OR EAX ,ECX
00414CAD MOV EDX ,DWORD PTR SS :[EBP +C]
00414CB0 ADD EAX ,DWORD PTR DS :[EDX +28]
00414CB3 MOV ECX ,DWORD PTR SS :[EBP -68]
00414CB6 LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414CBD MOV DWORD PTR SS :[EBP -68],EDX
//d2 := (d2 shl $F) or (d2 shr $11) + c2;
00414CC0 MOV EAX ,DWORD PTR SS :[EBP -68]
00414CC3 SHL EAX ,0F
00414CC6 MOV ECX ,DWORD PTR SS :[EBP -68]
00414CC9 SHR ECX ,11
00414CCC OR EAX ,ECX
00414CCE ADD EAX ,DWORD PTR SS :[EBP -5C]
00414CD1 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00414CD4 MOV EAX ,DWORD PTR SS :[EBP -44]
00414CD7 SHL EAX ,0A
00414CDA MOV ECX ,DWORD PTR SS :[EBP -44]
00414CDD SHR ECX ,16
00414CE0 OR EAX ,ECX
00414CE2 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := ((d2 and e2) or (not(d2) and a2)) + Name_64[14] + c2 + $7A6D76E9;
00414CE5 MOV EAX ,DWORD PTR SS :[EBP -68]
00414CE8 AND EAX ,DWORD PTR SS :[EBP -74]
00414CEB MOV ECX ,DWORD PTR SS :[EBP -68]
00414CEE NOT ECX
00414CF0 AND ECX ,DWORD PTR SS :[EBP -44]
00414CF3 OR EAX ,ECX
00414CF5 MOV EDX ,DWORD PTR SS :[EBP +C]
00414CF8 ADD EAX ,DWORD PTR DS :[EDX +38]
00414CFB MOV ECX ,DWORD PTR SS :[EBP -5C]
00414CFE LEA EDX ,DWORD PTR DS :[ECX +EAX +7A6D76E9]
00414D05 MOV DWORD PTR SS :[EBP -5C],EDX
//c2 := (c2 shl 8) or (c2 shr $18) + b2;
00414D08 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414D0B SHL EAX ,8
00414D0E MOV ECX ,DWORD PTR SS :[EBP -5C]
00414D11 SHR ECX ,18
00414D14 OR EAX ,ECX
00414D16 ADD EAX ,DWORD PTR SS :[EBP -50]
00414D19 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414D1C MOV EAX ,DWORD PTR SS :[EBP -74]
00414D1F SHL EAX ,0A
00414D22 MOV ECX ,DWORD PTR SS :[EBP -74]
00414D25 SHR ECX ,16
00414D28 OR EAX ,ECX
00414D2A MOV DWORD PTR SS :[EBP -74],EAX
//a2 := (not(d2) or c2) xor b2 + Name_64[5] + a2 + $50A28BE6;
00414D2D MOV EAX ,DWORD PTR SS :[EBP -68]
00414D30 NOT EAX
00414D32 OR EAX ,DWORD PTR SS :[EBP -5C]
00414D35 XOR EAX ,DWORD PTR SS :[EBP -50]
00414D38 MOV ECX ,DWORD PTR SS :[EBP +C]
00414D3B ADD EAX ,DWORD PTR DS :[ECX +14]
00414D3E MOV EDX ,DWORD PTR SS :[EBP -44]
00414D41 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414D48 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl 8) or (a2 shr $18) + e2;
00414D4B MOV EAX ,DWORD PTR SS :[EBP -44]
00414D4E SHL EAX ,8
00414D51 MOV ECX ,DWORD PTR SS :[EBP -44]
00414D54 SHR ECX ,18
00414D57 OR EAX ,ECX
00414D59 ADD EAX ,DWORD PTR SS :[EBP -74]
00414D5C MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414D5F MOV EAX ,DWORD PTR SS :[EBP -5C]
00414D62 SHL EAX ,0A
00414D65 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414D68 SHR ECX ,16
00414D6B OR EAX ,ECX
00414D6D MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (not(c2) or b2) xor a2 + Name_64[14] + e2 + $50A28BE6;
00414D70 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414D73 NOT EAX
00414D75 OR EAX ,DWORD PTR SS :[EBP -50]
00414D78 XOR EAX ,DWORD PTR SS :[EBP -44]
00414D7B MOV ECX ,DWORD PTR SS :[EBP +C]
00414D7E ADD EAX ,DWORD PTR DS :[ECX +38]
00414D81 MOV EDX ,DWORD PTR SS :[EBP -74]
00414D84 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414D8B MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl 9) or (e2 shr $17) + d2;
00414D8E MOV EAX ,DWORD PTR SS :[EBP -74]
00414D91 SHL EAX ,9
00414D94 MOV ECX ,DWORD PTR SS :[EBP -74]
00414D97 SHR ECX ,17
00414D9A OR EAX ,ECX
00414D9C ADD EAX ,DWORD PTR SS :[EBP -68]
00414D9F MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00414DA2 MOV EAX ,DWORD PTR SS :[EBP -50]
00414DA5 SHL EAX ,0A
00414DA8 MOV ECX ,DWORD PTR SS :[EBP -50]
00414DAB SHR ECX ,16
00414DAE OR EAX ,ECX
00414DB0 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (not(b2) or a2) xor e2 + Name_64[7] + d2 + $50A28BE6;
00414DB3 MOV EAX ,DWORD PTR SS :[EBP -50]
00414DB6 NOT EAX
00414DB8 OR EAX ,DWORD PTR SS :[EBP -44]
00414DBB XOR EAX ,DWORD PTR SS :[EBP -74]
00414DBE MOV ECX ,DWORD PTR SS :[EBP +C]
00414DC1 ADD EAX ,DWORD PTR DS :[ECX +1C]
00414DC4 MOV EDX ,DWORD PTR SS :[EBP -68]
00414DC7 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414DCE MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 9) or (d2 shr $17) + c2;
00414DD1 MOV EAX ,DWORD PTR SS :[EBP -68]
00414DD4 SHL EAX ,9
00414DD7 MOV ECX ,DWORD PTR SS :[EBP -68]
00414DDA SHR ECX ,17
00414DDD OR EAX ,ECX
00414DDF ADD EAX ,DWORD PTR SS :[EBP -5C]
00414DE2 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00414DE5 MOV EAX ,DWORD PTR SS :[EBP -44]
00414DE8 SHL EAX ,0A
00414DEB MOV ECX ,DWORD PTR SS :[EBP -44]
00414DEE SHR ECX ,16
00414DF1 OR EAX ,ECX
00414DF3 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (not(a2) or e2) xor d2 + Name_64[0] + c2 + $50A28BE6;
00414DF6 MOV EAX ,DWORD PTR SS :[EBP -44]
00414DF9 NOT EAX
00414DFB OR EAX ,DWORD PTR SS :[EBP -74]
00414DFE XOR EAX ,DWORD PTR SS :[EBP -68]
00414E01 MOV ECX ,DWORD PTR SS :[EBP +C]
00414E04 ADD EAX ,DWORD PTR DS :[ECX ]
00414E06 MOV EDX ,DWORD PTR SS :[EBP -5C]
00414E09 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414E10 MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl $B) or (c2 shr $15) + b2;
00414E13 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414E16 SHL EAX ,0B
00414E19 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414E1C SHR ECX ,15
00414E1F OR EAX ,ECX
00414E21 ADD EAX ,DWORD PTR SS :[EBP -50]
00414E24 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414E27 MOV EAX ,DWORD PTR SS :[EBP -74]
00414E2A SHL EAX ,0A
00414E2D MOV ECX ,DWORD PTR SS :[EBP -74]
00414E30 SHR ECX ,16
00414E33 OR EAX ,ECX
00414E35 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (not(e2) or d2) xor c2 + Name_64[9] + b2 + $50A28BE6;
00414E38 MOV EAX ,DWORD PTR SS :[EBP -74]
00414E3B NOT EAX
00414E3D OR EAX ,DWORD PTR SS :[EBP -68]
00414E40 XOR EAX ,DWORD PTR SS :[EBP -5C]
00414E43 MOV ECX ,DWORD PTR SS :[EBP +C]
00414E46 ADD EAX ,DWORD PTR DS :[ECX +24]
00414E49 MOV EDX ,DWORD PTR SS :[EBP -50]
00414E4C LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414E53 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl $D) or (b2 shr $13) + a2;
00414E56 MOV EAX ,DWORD PTR SS :[EBP -50]
00414E59 SHL EAX ,0D
00414E5C MOV ECX ,DWORD PTR SS :[EBP -50]
00414E5F SHR ECX ,13
00414E62 OR EAX ,ECX
00414E64 ADD EAX ,DWORD PTR SS :[EBP -44]
00414E67 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414E6A MOV EAX ,DWORD PTR SS :[EBP -68]
00414E6D SHL EAX ,0A
00414E70 MOV ECX ,DWORD PTR SS :[EBP -68]
00414E73 SHR ECX ,16
00414E76 OR EAX ,ECX
00414E78 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (not(d2) or c2) xor b2 + Name_64[2] + a2 + $50A28BE6;
00414E7B MOV EAX ,DWORD PTR SS :[EBP -68]
00414E7E NOT EAX
00414E80 OR EAX ,DWORD PTR SS :[EBP -5C]
00414E83 XOR EAX ,DWORD PTR SS :[EBP -50]
00414E86 MOV ECX ,DWORD PTR SS :[EBP +C]
00414E89 ADD EAX ,DWORD PTR DS :[ECX +8]
00414E8C MOV EDX ,DWORD PTR SS :[EBP -44]
00414E8F LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414E96 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl $F) or (a2 shr $11) + e2;
00414E99 MOV EAX ,DWORD PTR SS :[EBP -44]
00414E9C SHL EAX ,0F
00414E9F MOV ECX ,DWORD PTR SS :[EBP -44]
00414EA2 SHR ECX ,11
00414EA5 OR EAX ,ECX
00414EA7 ADD EAX ,DWORD PTR SS :[EBP -74]
00414EAA MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414EAD MOV EAX ,DWORD PTR SS :[EBP -5C]
00414EB0 SHL EAX ,0A
00414EB3 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414EB6 SHR ECX ,16
00414EB9 OR EAX ,ECX
00414EBB MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (not(c2) or b2) xor a2 + Name_64[11] + e2 + $50A28BE6;
00414EBE MOV EAX ,DWORD PTR SS :[EBP -5C]
00414EC1 NOT EAX
00414EC3 OR EAX ,DWORD PTR SS :[EBP -50]
00414EC6 XOR EAX ,DWORD PTR SS :[EBP -44]
00414EC9 MOV ECX ,DWORD PTR SS :[EBP +C]
00414ECC ADD EAX ,DWORD PTR DS :[ECX +2C]
00414ECF MOV EDX ,DWORD PTR SS :[EBP -74]
00414ED2 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414ED9 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl $F) or (e2 shr $11) + d2;
00414EDC MOV EAX ,DWORD PTR SS :[EBP -74]
00414EDF SHL EAX ,0F
00414EE2 MOV ECX ,DWORD PTR SS :[EBP -74]
00414EE5 SHR ECX ,11
00414EE8 OR EAX ,ECX
00414EEA ADD EAX ,DWORD PTR SS :[EBP -68]
00414EED MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
00414EF0 MOV EAX ,DWORD PTR SS :[EBP -50]
00414EF3 SHL EAX ,0A
00414EF6 MOV ECX ,DWORD PTR SS :[EBP -50]
00414EF9 SHR ECX ,16
00414EFC OR EAX ,ECX
00414EFE MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (not(b2) or a2) xor e2 + Name_64[4] + d2 + $50A28BE6;
00414F01 MOV EAX ,DWORD PTR SS :[EBP -50]
00414F04 NOT EAX
00414F06 OR EAX ,DWORD PTR SS :[EBP -44]
00414F09 XOR EAX ,DWORD PTR SS :[EBP -74]
00414F0C MOV ECX ,DWORD PTR SS :[EBP +C]
00414F0F ADD EAX ,DWORD PTR DS :[ECX +10]
00414F12 MOV EDX ,DWORD PTR SS :[EBP -68]
00414F15 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414F1C MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl 5) or (d2 shr $1B) + c2;
00414F1F MOV EAX ,DWORD PTR SS :[EBP -68]
00414F22 SHL EAX ,5
00414F25 MOV ECX ,DWORD PTR SS :[EBP -68]
00414F28 SHR ECX ,1B
00414F2B OR EAX ,ECX
00414F2D ADD EAX ,DWORD PTR SS :[EBP -5C]
00414F30 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00414F33 MOV EAX ,DWORD PTR SS :[EBP -44]
00414F36 SHL EAX ,0A
00414F39 MOV ECX ,DWORD PTR SS :[EBP -44]
00414F3C SHR ECX ,16
00414F3F OR EAX ,ECX
00414F41 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (not(a2) or e2) xor d2 + Name_64[13] + c2 + $50A28BE6;
00414F44 MOV EAX ,DWORD PTR SS :[EBP -44]
00414F47 NOT EAX
00414F49 OR EAX ,DWORD PTR SS :[EBP -74]
00414F4C XOR EAX ,DWORD PTR SS :[EBP -68]
00414F4F MOV ECX ,DWORD PTR SS :[EBP +C]
00414F52 ADD EAX ,DWORD PTR DS :[ECX +34]
00414F55 MOV EDX ,DWORD PTR SS :[EBP -5C]
00414F58 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414F5F MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl 7) or (c2 shr $19) + b2;
00414F62 MOV EAX ,DWORD PTR SS :[EBP -5C]
00414F65 SHL EAX ,7
00414F68 MOV ECX ,DWORD PTR SS :[EBP -5C]
00414F6B SHR ECX ,19
00414F6E OR EAX ,ECX
00414F70 ADD EAX ,DWORD PTR SS :[EBP -50]
00414F73 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
00414F76 MOV EAX ,DWORD PTR SS :[EBP -74]
00414F79 SHL EAX ,0A
00414F7C MOV ECX ,DWORD PTR SS :[EBP -74]
00414F7F SHR ECX ,16
00414F82 OR EAX ,ECX
00414F84 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (not(e2) or d2) xor c2 + Name_64[6] + b2 + $50A28BE6;
00414F87 MOV EAX ,DWORD PTR SS :[EBP -74]
00414F8A NOT EAX
00414F8C OR EAX ,DWORD PTR SS :[EBP -68]
00414F8F XOR EAX ,DWORD PTR SS :[EBP -5C]
00414F92 MOV ECX ,DWORD PTR SS :[EBP +C]
00414F95 ADD EAX ,DWORD PTR DS :[ECX +18]
00414F98 MOV EDX ,DWORD PTR SS :[EBP -50]
00414F9B LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414FA2 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl 7) or (b2 shr $19) + a2;
00414FA5 MOV EAX ,DWORD PTR SS :[EBP -50]
00414FA8 SHL EAX ,7
00414FAB MOV ECX ,DWORD PTR SS :[EBP -50]
00414FAE SHR ECX ,19
00414FB1 OR EAX ,ECX
00414FB3 ADD EAX ,DWORD PTR SS :[EBP -44]
00414FB6 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00414FB9 MOV EAX ,DWORD PTR SS :[EBP -68]
00414FBC SHL EAX ,0A
00414FBF MOV ECX ,DWORD PTR SS :[EBP -68]
00414FC2 SHR ECX ,16
00414FC5 OR EAX ,ECX
00414FC7 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (not(d2) or c2) xor b2 + Name_64[15] + a2 + $50A28BE6;
00414FCA MOV EAX ,DWORD PTR SS :[EBP -68]
00414FCD NOT EAX
00414FCF OR EAX ,DWORD PTR SS :[EBP -5C]
00414FD2 XOR EAX ,DWORD PTR SS :[EBP -50]
00414FD5 MOV ECX ,DWORD PTR SS :[EBP +C]
00414FD8 ADD EAX ,DWORD PTR DS :[ECX +3C]
00414FDB MOV EDX ,DWORD PTR SS :[EBP -44]
00414FDE LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00414FE5 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl 8) or (a2 shr $18) + e2;
00414FE8 MOV EAX ,DWORD PTR SS :[EBP -44]
00414FEB SHL EAX ,8
00414FEE MOV ECX ,DWORD PTR SS :[EBP -44]
00414FF1 SHR ECX ,18
00414FF4 OR EAX ,ECX
00414FF6 ADD EAX ,DWORD PTR SS :[EBP -74]
00414FF9 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
00414FFC MOV EAX ,DWORD PTR SS :[EBP -5C]
00414FFF SHL EAX ,0A
00415002 MOV ECX ,DWORD PTR SS :[EBP -5C]
00415005 SHR ECX ,16
00415008 OR EAX ,ECX
0041500A MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (not(c2) or b2) xor a2 + Name_64[8] + e2 + $50A28BE6;
0041500D MOV EAX ,DWORD PTR SS :[EBP -5C]
00415010 NOT EAX
00415012 OR EAX ,DWORD PTR SS :[EBP -50]
00415015 XOR EAX ,DWORD PTR SS :[EBP -44]
00415018 MOV ECX ,DWORD PTR SS :[EBP +C]
0041501B ADD EAX ,DWORD PTR DS :[ECX +20]
0041501E MOV EDX ,DWORD PTR SS :[EBP -74]
00415021 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00415028 MOV DWORD PTR SS :[EBP -74],EAX
//e2 := (e2 shl $B) or (e2 shr $15) + d2;
0041502B MOV EAX ,DWORD PTR SS :[EBP -74]
0041502E SHL EAX ,0B
00415031 MOV ECX ,DWORD PTR SS :[EBP -74]
00415034 SHR ECX ,15
00415037 OR EAX ,ECX
00415039 ADD EAX ,DWORD PTR SS :[EBP -68]
0041503C MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (b2 shl $A) or (b2 shr $16);
0041503F MOV EAX ,DWORD PTR SS :[EBP -50]
00415042 SHL EAX ,0A
00415045 MOV ECX ,DWORD PTR SS :[EBP -50]
00415048 SHR ECX ,16
0041504B OR EAX ,ECX
0041504D MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (not(b2) or a2) xor e2 + Name_64[1] + d2 + $50A28BE6;
00415050 MOV EAX ,DWORD PTR SS :[EBP -50]
00415053 NOT EAX
00415055 OR EAX ,DWORD PTR SS :[EBP -44]
00415058 XOR EAX ,DWORD PTR SS :[EBP -74]
0041505B MOV ECX ,DWORD PTR SS :[EBP +C]
0041505E ADD EAX ,DWORD PTR DS :[ECX +4]
00415061 MOV EDX ,DWORD PTR SS :[EBP -68]
00415064 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
0041506B MOV DWORD PTR SS :[EBP -68],EAX
//d2 := (d2 shl $E) or (d2 shr $12) + c2;
0041506E MOV EAX ,DWORD PTR SS :[EBP -68]
00415071 SHL EAX ,0E
00415074 MOV ECX ,DWORD PTR SS :[EBP -68]
00415077 SHR ECX ,12
0041507A OR EAX ,ECX
0041507C ADD EAX ,DWORD PTR SS :[EBP -5C]
0041507F MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (a2 shl $A) or (a2 shr $16);
00415082 MOV EAX ,DWORD PTR SS :[EBP -44]
00415085 SHL EAX ,0A
00415088 MOV ECX ,DWORD PTR SS :[EBP -44]
0041508B SHR ECX ,16
0041508E OR EAX ,ECX
00415090 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (not(a2) or e2) xor d2 + Name_64[10] + c2 + $50A28BE6;
00415093 MOV EAX ,DWORD PTR SS :[EBP -44]
00415096 NOT EAX
00415098 OR EAX ,DWORD PTR SS :[EBP -74]
0041509B XOR EAX ,DWORD PTR SS :[EBP -68]
0041509E MOV ECX ,DWORD PTR SS :[EBP +C]
004150A1 ADD EAX ,DWORD PTR DS :[ECX +28]
004150A4 MOV EDX ,DWORD PTR SS :[EBP -5C]
004150A7 LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
004150AE MOV DWORD PTR SS :[EBP -5C],EAX
//c2 := (c2 shl $E) or (c2 shr $12) + b2;
004150B1 MOV EAX ,DWORD PTR SS :[EBP -5C]
004150B4 SHL EAX ,0E
004150B7 MOV ECX ,DWORD PTR SS :[EBP -5C]
004150BA SHR ECX ,12
004150BD OR EAX ,ECX
004150BF ADD EAX ,DWORD PTR SS :[EBP -50]
004150C2 MOV DWORD PTR SS :[EBP -5C],EAX
//e2 := (e2 shl $A) or (e2 shr $16);
004150C5 MOV EAX ,DWORD PTR SS :[EBP -74]
004150C8 SHL EAX ,0A
004150CB MOV ECX ,DWORD PTR SS :[EBP -74]
004150CE SHR ECX ,16
004150D1 OR EAX ,ECX
004150D3 MOV DWORD PTR SS :[EBP -74],EAX
//b2 := (not(e2) or d2) xor c2 + Name_64[3] + b2 + $50A28BE6;
004150D6 MOV EAX ,DWORD PTR SS :[EBP -74]
004150D9 NOT EAX
004150DB OR EAX ,DWORD PTR SS :[EBP -68]
004150DE XOR EAX ,DWORD PTR SS :[EBP -5C]
004150E1 MOV ECX ,DWORD PTR SS :[EBP +C]
004150E4 ADD EAX ,DWORD PTR DS :[ECX +C]
004150E7 MOV EDX ,DWORD PTR SS :[EBP -50]
004150EA LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
004150F1 MOV DWORD PTR SS :[EBP -50],EAX
//b2 := (b2 shl $C) or (b2 shr $14) + a2;
004150F4 MOV EAX ,DWORD PTR SS :[EBP -50]
004150F7 SHL EAX ,0C
004150FA MOV ECX ,DWORD PTR SS :[EBP -50]
004150FD SHR ECX ,14
00415100 OR EAX ,ECX
00415102 ADD EAX ,DWORD PTR SS :[EBP -44]
00415105 MOV DWORD PTR SS :[EBP -50],EAX
//d2 := (d2 shl $A) or (d2 shr $16);
00415108 MOV EAX ,DWORD PTR SS :[EBP -68]
0041510B SHL EAX ,0A
0041510E MOV ECX ,DWORD PTR SS :[EBP -68]
00415111 SHR ECX ,16
00415114 OR EAX ,ECX
00415116 MOV DWORD PTR SS :[EBP -68],EAX
//a2 := (not(d2) or c2) xor b2 + Name_64[12] + a2 + $50A28BE6;
00415119 MOV EAX ,DWORD PTR SS :[EBP -68]
0041511C NOT EAX
0041511E OR EAX ,DWORD PTR SS :[EBP -5C]
00415121 XOR EAX ,DWORD PTR SS :[EBP -50]
00415124 MOV ECX ,DWORD PTR SS :[EBP +C]
00415127 ADD EAX ,DWORD PTR DS :[ECX +30]
0041512A MOV EDX ,DWORD PTR SS :[EBP -44]
0041512D LEA EAX ,DWORD PTR DS :[EDX +EAX +50A28BE6]
00415134 MOV DWORD PTR SS :[EBP -44],EAX
//a2 := (a2 shl 6) or (a2 shr $1A) + e2;
00415137 MOV EAX ,DWORD PTR SS :[EBP -44]
0041513A SHL EAX ,6
0041513D MOV ECX ,DWORD PTR SS :[EBP -44]
00415140 SHR ECX ,1A
00415143 OR EAX ,ECX
00415145 ADD EAX ,DWORD PTR SS :[EBP -74]
00415148 MOV DWORD PTR SS :[EBP -44],EAX
//c2 := (c2 shl $A) or (c2 shr $16);
0041514B MOV EAX ,DWORD PTR SS :[EBP -5C]
0041514E SHL EAX ,0A
00415151 MOV ECX ,DWORD PTR SS :[EBP -5C]
00415154 SHR ECX ,16
00415157 OR EAX ,ECX
00415159 MOV DWORD PTR SS :[EBP -5C],EAX
//d2 := SHA1_Key[1] + c1 + d2;
0041515C MOV EAX ,DWORD PTR SS :[EBP +8]
0041515F MOV ECX ,DWORD PTR SS :[EBP -20]
00415162 ADD ECX ,DWORD PTR DS :[EAX +4]
00415165 ADD ECX ,DWORD PTR SS :[EBP -68]
00415168 MOV DWORD PTR SS :[EBP -68],ECX
//SHA1_Key[1] := SHA1_Key[2] + e1 + e2;
0041516B MOV EAX ,DWORD PTR SS :[EBP +8]
0041516E MOV ECX ,DWORD PTR DS :[EAX +8]
00415171 ADD ECX ,DWORD PTR SS :[EBP -38]
00415174 ADD ECX ,DWORD PTR SS :[EBP -74]
00415177 MOV EDX ,DWORD PTR SS :[EBP +8]
0041517A MOV DWORD PTR DS :[EDX +4],ECX
//SHA1_Key[2] := SHA1_Key[3] + d1 + b2;
0041517D MOV EAX ,DWORD PTR SS :[EBP +8]
00415180 MOV ECX ,DWORD PTR DS :[EAX +C]
00415183 ADD ECX ,DWORD PTR SS :[EBP -2C]
00415186 ADD ECX ,DWORD PTR SS :[EBP -50]
00415189 MOV EDX ,DWORD PTR SS :[EBP +8]
0041518C MOV DWORD PTR DS :[EDX +8],ECX
//SHA1_Key[3] := SHA1_Key[4] + a1 + b2;
0041518F MOV EAX ,DWORD PTR SS :[EBP +8]
00415192 MOV ECX ,DWORD PTR DS :[EAX +10]
00415195 ADD ECX ,DWORD PTR SS :[EBP -8]
00415198 ADD ECX ,DWORD PTR SS :[EBP -50]
0041519B MOV EDX ,DWORD PTR SS :[EBP +8]
0041519E MOV DWORD PTR DS :[EDX +C],ECX
//SHA1_Key[4] := SHA1_Key[0] + b1 + c2;
004151A1 MOV EAX ,DWORD PTR SS :[EBP +8]
004151A4 MOV ECX ,DWORD PTR DS :[EAX ]
004151A6 ADD ECX ,DWORD PTR SS :[EBP -14]
004151A9 ADD ECX ,DWORD PTR SS :[EBP -5C]
004151AC MOV EDX ,DWORD PTR SS :[EBP +8]
004151AF MOV DWORD PTR DS :[EDX +10],ECX
//SHA1_Key[0] := d2;
004151B2 MOV EAX ,DWORD PTR SS :[EBP +8]
004151B5 MOV ECX ,DWORD PTR SS :[EBP -68]
004151B8 MOV DWORD PTR DS :[EAX ],ECX
004151BA POP EDI
004151BB POP ESI
004151BC POP EBX
004151BD MOV ESP ,EBP
004151BF POP EBP
004151C0 RETN
end ;
到这里,我们将SHA1算法也逆向出来了(能看到这里,我相信你们已经和我一样,快晕倒了),长长的一段代码分析的好累,现在这里附上SHA1的源码,BlowFish算法稍后再分析,先休息休息。。。
Procedure SHA1(var SHA1_Key, Name_64:array of DWORD );
var
a1, b1, c1, d1, e1, a2, b2, c2, d2, e2:DWORD ;
begin
a1 := SHA1_Key[0];
b1 := SHA1_Key[1];
c1 := SHA1_Key[2];
d1 := SHA1_Key[3];
e1 := SHA1_Key[4];
a2 := SHA1_Key[0];
b2 := SHA1_Key[1];
c2 := SHA1_Key[2];
d2 := SHA1_Key[3];
e2 := SHA1_Key[4];
a1 := b1 xor c1 xor d1 + Name_64[0] + a1;
a1 := (a1 shl $0B) or (a1 shr $15) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := a1 xor b1 xor c1 + Name_64[1] + e1;
e1 := (e1 shl $0E) or (e1 shr $12) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := e1 xor a1 xor b1 + Name_64[2] + d1;
d1 := (d1 shl $0F) or (d1 shr $11) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := d1 xor e1 xor a1 + Name_64[3] + c1;
c1 := (c1 shl $0C) or (c1 shr $14) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := c1 xor d1 xor e1 + Name_64[4] + b1;
b1 := (b1 shl 5) or (b1 shr $1B) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := b1 xor c1 xor d1 + Name_64[5] + a1;
a1 := (a1 shl 8) or (a1 shr $18) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := a1 xor b1 xor c1 + Name_64[6] + e1;
e1 := (e1 shl 7) or (e1 shr $19) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := e1 xor a1 xor b1 + Name_64[7] + d1;
d1 := (d1 shl 9) or (d1 shr $17) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := d1 xor e1 xor a1 + Name_64[8] + c1;
c1 := (c1 shl $0B) or (c1 shr $15) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := c1 xor d1 xor e1 + Name_64[9] + b1;
b1 := (b1 shl $0D) or (b1 shr $13) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := b1 xor c1 xor d1 + Name_64[10] + a1;
a1 := (a1 shl $0E) or (a1 shr $12) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := a1 xor b1 xor c1 + Name_64[11] + e1;
e1 := (e1 shl $0F) or (e1 shr $11) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := e1 xor a1 xor b1 + Name_64[12] + d1;
d1 := (d1 shl 6) or (d1 shr $1A) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := d1 xor e1 xor a1 + Name_64[13] + c1;
c1 := (c1 shl 7) or (c1 shr $19) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := c1 xor d1 xor e1 + Name_64[14] + b1;
b1 := (b1 shl 9) or (b1 shr $17) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := b1 xor c1 xor d1 + Name_64[15] + a1;
a1 := (a1 shl 8) or (a1 shr $18) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := (((a1 and b1) or (not (a1) and c1)) + Name_64[7]) + e1 + $5A827999;
e1 := (e1 shl 7) or (e1 shr $19) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := (((e1 and a1) or (not (e1) and b1)) + Name_64[4]) + d1 + $5A827999;
d1 := (d1 shl 6) or (d1 shr $1A) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := (((d1 and e1) or (not (d1) and a1)) + Name_64[13]) + c1 + $5A827999;
c1 := (c1 shl 8) or (c1 shr $18) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := (((c1 and d1) or (not (c1) and e1)) + Name_64[1]) + b1 + $5A827999;
b1 := (b1 shl $0D) or (b1 shr $13) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((b1 and c1) or (not (b1) and d1)) + Name_64[10] + a1 + $5A827999;
a1 := (a1 shl $0B) or (a1 shr $15) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := (((a1 and b1) or (not (a1) and c1)) + Name_64[7]) + e1 + $5A827999;
e1 := (e1 shl 9) or (e1 shr $17) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := (((e1 and a1) or (not (e1) and b1)) + Name_64[15]) + d1 + $5A827999;
d1 := (d1 shl 7) or (d1 shr $19) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := (((d1 and e1) or (not (d1) and a1)) + Name_64[3]) + c1 + $5A827999;
c1 := (c1 shl $0F) or (c1 shr $11) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := (((c1 and d1) or (not (c1) and e1)) + Name_64[5]) + b1 + $5A827999;
b1 := (b1 shl 7) or (b1 shr $19) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := (((b1 and c1) or (not (b1) and d1)) + Name_64[0]) + a1 + $5A827999;
a1 := (a1 shl $0C) or (a1 shr $14) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := (((a1 and b1) or (not (a1) and c1)) + Name_64[9]) + e1 + $5A827999;
e1 := (e1 shl $0F) or (e1 shr $11) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := (((e1 and a1) or (not (e1) and b1)) + Name_64[5]) + d1 + $5A827999;
d1 := (d1 shl 9) or (d1 shr $17) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := (((d1 and e1) or (not (d1) and a1)) + Name_64[2]) + c1 + $5A827999;
c1 := (c1 shl $0B) or (c1 shr $15) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := (((c1 and d1) or (not (c1) and e1)) + Name_64[14]) + b1 + $5A827999;
b1 := (b1 shl 7) or (b1 shr $19) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := (((b1 and c1) or (not (b1) and d1)) + Name_64[11]) + a1 + $5A827999;
a1 := (a1 shl $0D) or (a1 shr $13) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := (((a1 and b1) or (not (a1) and c1)) + Name_64[8]) + e1 + $5A827999;
e1 := (e1 shl $0C) or (e1 shr $14) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := ((not (a1) or e1) xor b1 + Name_64[3]) + d1 + $6ED9EBA1;
d1 := (d1 shl $0B) or (d1 shr $15) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((not (e1) or d1) xor a1 + Name_64[10]) + c1 + $6ED9EBA1;
c1 := (c1 shl $0D) or (c1 shr $13) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := ((not (d1) or c1) xor e1 + Name_64[14]) + b1 + $6ED9EBA1;
b1 := (b1 shl 6) or (b1 shr $1A) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((not (c1) or b1) xor d1 + Name_64[4]) + a1 + $6ED9EBA1;
a1 := (a1 shl 7) or (a1 shr $19) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := ((not (b1) or a1) xor c1 + Name_64[9]) + e1 + $6ED9EBA1;
e1 := (e1 shl $0E) or (e1 shr $12) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := ((not (a1) or e1) xor b1 + Name_64[15]) + d1 + $6ED9EBA1;
d1 := (d1 shl 9) or (d1 shr $17) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((not (e1) or d1) xor a1 + Name_64[8]) + c1 + $6ED9EBA1;
c1 := (c1 shl $0D) or (c1 shr $13) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := ((not (d1) or c1) xor e1 + Name_64[1]) + b1 + $6ED9EBA1;
b1 := (b1 shl $0F) or (b1 shr $11) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((not (c1) or b1) xor d1 + Name_64[2]) + a1 + $6ED9EBA1;
a1 := (a1 shl $0E) or (a1 shr $12) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := ((not (b1) or a1) xor c1 + Name_64[7]) + e1 + $6ED9EBA1;
e1 := (e1 shl 8) or (e1 shr $18) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := ((not (a1) or e1) xor b1 + Name_64[0]) + d1 + $6ED9EBA1;
d1 := (d1 shl $0D) or (d1 shr $13) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((not (e1) or d1) xor a1 + Name_64[6]) + c1 + $6ED9EBA1;
c1 := (c1 shl 6) or (c1 shr $1A) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := ((not (d1) or c1) xor e1 + Name_64[13]) + b1 + $6ED9EBA1;
b1 := (b1 shl 5) or (b1 shr $1B) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((not (c1) or b1) xor d1 + Name_64[11]) + a1 + $6ED9EBA1;
a1 := (a1 shl $0C) or (a1 shr $14) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := ((not (b1) or a1) xor c1 + Name_64[5]) + e1 + $6ED9EBA1;
e1 := (e1 shl 7) or (e1 shr $19) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := ((not (a1) or e1) xor b1 + Name_64[12]) + d1 + $6ED9EBA1;
d1 := (d1 shl 5) or (d1 shr $1B) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((d1 and a1) or (not (a1) and e1)) + Name_64[1] + c1 + $8F1BBCDC;
c1 := (c1 shl $0B) or (c1 shr $15) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := ((c1 and e1) or (not (e1) and d1)) + Name_64[9] + b1 + $8F1BBCDC;
b1 := (b1 shl $0C) or (b1 shr $14) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((b1 and d1) or (not (d1) and c1)) + Name_64[11] + a1 + $8F1BBCDC;
a1 := (a1 shl $0E) or (a1 shr $12) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := ((a1 and c1) or (not (c1) and b1)) + Name_64[10] + e1 + $8F1BBCDC;
e1 := (e1 shl $0F) or (e1 shr $11) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 :=((e1 and b1) or (not (b1) and a1)) + Name_64[0] + d1 + $8F1BBCDC;
d1 := (d1 shl $0E) or (d1 shr $12) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((d1 and a1) or (not (a1) and e1)) + Name_64[8] + c1 + $8F1BBCDC;
c1 := (c1 shl $0F) or (c1 shr $11) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := ((c1 and e1) or (not (e1) and d1)) + Name_64[12] + b1 + $8F1BBCDC;
b1 := (b1 shl 9) or (b1 shr $17) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((b1 and d1) or (not (d1) and c1)) + Name_64[4] + a1 + $8F1BBCDC;
a1 := (a1 shl 8) or (a1 shr $18) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := ((a1 and c1) or (not (c1) and b1)) + Name_64[13] + e1 + $8F1BBCDC;
e1 := (e1 shl 9) or (e1 shr $17) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := ((e1 and b1) or (not (b1) and a1)) + Name_64[3] + d1 + $8F1BBCDC;
d1 := (d1 shl $0E) or (d1 shr $12) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((d1 and a1) or (not (a1) and e1)) + Name_64[7] + c1 + $8F1BBCDC;
c1 := (c1 shl 5) or (c1 shr $1B) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := ((c1 and e1) or (not (e1) and d1)) + Name_64[15] + b1 + $8F1BBCDC;
b1 := (b1 shl 6) or (b1 shr $1A) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := ((b1 and d1) or (not (d1) and c1)) + Name_64[14] + a1 + $8F1BBCDC;
a1 := (a1 shl 8) or (a1 shr $18) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := ((a1 and c1) or (not (c1) and b1)) + Name_64[5] + e1 + $8F1BBCDC;
e1 := (e1 shl 6) or (e1 shr $1A) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := ((e1 and b1) or (not (b1) and a1)) + Name_64[6] + d1 + $8F1BBCDC;
d1 := (d1 shl 5) or (d1 shr $1B) + c1;
a1 := (a1 shl $0A) or (a1 shr $16);
c1 := ((d1 and a1) or (not (a1) and e1)) + Name_64[2] + c1 + $8F1BBCDC;
c1 := (c1 shl $0C) or (c1 shr $14) + b1;
e1 := (e1 shl $0A) or (e1 shr $16);
b1 := (not (e1) or d1) xor c1 + Name_64[4] + b1 + $A953FD4E;
b1 := (b1 shl 9) or (b1 shr $17) + a1;
d1 := (d1 shl $0A) or (d1 shr $16);
a1 := (not (d1) or c1) xor b1 + Name_64[0] + a1 + $A953FD4E;
a1 := (a1 shl $0F) or (a1 shr $11) + e1;
c1 := (c1 shl $0A) or (c1 shr $16);
e1 := (not (c1) or b1) xor a1 + Name_64[5] + e1 + $A953FD4E;
e1 := (e1 shl 5) or (e1 shr $1B) + d1;
b1 := (b1 shl $0A) or (b1 shr $16);
d1 := (not (b1) or a1) xor e1 + Name_64[9] + d1 + $A953FD4E;
d1 := (d1 shl $B) or (d1 shr $15) + c1;
a1 := (a1 shl $A) or (a1 shr $16);
c1 := (not (a1) or e1) xor d1 + Name_64[8] + c1 + $A953FD4E;
c1 := (c1 shl 6) or (c1 shr $1A) + b1;
e1 := (e1 shl $A) or (e1 shr $16);
b1 := (not (e1) or d1) xor c1 + Name_64[12] + b1 + $A953FD4E;
b1 := (b1 shl 8) or (b1 shr $18) + a1;
d1 := (d1 shl $A) or (d1 shr $16);
a1 := (not (d1) or c1) xor b1 + Name_64[2] + a1 + $A953FD4E;
a1 := (a1 shl $D) or (a1 shr $13) + e1;
c1 := (c1 shl $A) or (c1 shr $16);
e1 := (not (c1) or b1) xor a1 + Name_64[10] + e1 + $A953FD4E;
e1 := (e1 shl $C) or (e1 shr $14) + d1;
b1 := (b1 shl $A) or (b1 shr $16);
d1 := (not (b1) or a1) xor e1 + Name_64[14] + d1 + $A953FD4E;
d1 := (d1 shl 5) or (d1 shr $1B) + c1;
a1 := (a1 shl $A) or (a1 shr $16);
c1 := (not (a1) or e1) xor d1 + Name_64[1] + c1 + $A953FD4E;
c1 := (c1 shl $C) or (c1 shr $14) + b1;
e1 := (e1 shl $A) or (e1 shr $16);
b1 := (not (e1) or d1) xor c1 + Name_64[3] + b1 + $A953FD4E;
b1 := (b1 shl $D) or (b1 shr $13) + a1;
d1 := (d1 shl $A) or (d1 shr $16);
a1 := (not (d1) or c1) xor b1 + Name_64[8] + a1 + $A953FD4E;
a1 := (a1 shl $E) or (a1 shr $12) + e1;
c1 := (c1 shl $A) or (c1 shr $16);
e1 := (not (c1) or b1) xor a1 + Name_64[11] + e1 + $A953FD4E;
e1 := (e1 shl $B) or (e1 shr $15) + d1;
b1 := (b1 shl $A) or (b1 shr $16);
d1 := (not (b1) or a1) xor e1 + Name_64[6] + d1 + $A953FD4E;
d1 := (d1 shl 8) or (d1 shr $18) + c1;
a1 := (a1 shl $A) or (a1 shr $16);
c1 := (not (a1) or e1) xor d1 + Name_64[15] + c1 + $A953FD4E;
c1 := (c1 shl 5) or (c1 shr $1B) + b1;
e1 := (e1 shl $A) or (e1 shr $16);
b1 := (not (e1) or d1) xor c1 + Name_64[13] + b1 + $A953FD4E;
b1 := (b1 shl 6) or (b1 shr $1A) + a1;
d1 := (d1 shl $A) or (d1 shr $16);
e2 := ((a2 and c2) or (not (c2) and b2)) + Name_64[6] + e2 + $5C4DD124;
e2 := (e2 shl 9) or (e2 shr $17) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := ((e2 and b2) or (not (b2) and a2)) + Name_64[11] + d2 + $5C4DD124;
d2 := (d2 shl $D) or (d2 shr $13) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and a2) or (not (a2) and e2)) + Name_64[3] + c2 + $5C4DD124;
c2 := (c2 shl $F) or (c2 shr $11) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := ((c2 and e2) or (not (e2) and d2)) + Name_64[7] + b2 + $5C4DD124;
b2 := (b2 shl $7) or (b2 shr $19) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := ((b2 and d2) or (not (d2) and c2)) + Name_64[0] + a2 + $5C4DD124;
a2 := (a2 shl $C) or (a2 shr $14) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := ((a2 and c2) or (not (c2) and b2)) + Name_64[13] + e2 + $5C4DD124;
e2 := (e2 shl 8) or (e2 shr $18) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := ((e2 and b2) or (not (b2) and a2)) + Name_64[5] + d2 + $5C4DD124;
d2 := (d2 shl 9) or (d2 shr $17) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and a2) or (not (a2) and e2)) + Name_64[10] + c2 + $5C4DD124;
c2 := (c2 shl $B) or (c2 shr $15) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := ((c2 and e2) or (not (e2) and d2)) + Name_64[14] + b2 + $5C4DD124;
b2 := (b2 shl 7) or (b2 shr $19) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := ((b2 and d2) or (not (d2) and c2)) + Name_64[15] + a2 + $5C4DD124;
a2 := (a2 shl 7) or (a2 shr $19) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := ((a2 and c2) or (not (c2) and b2)) + Name_64[8] + e2 + $5C4DD124;
e2 := (e2 shl $C) or (e2 shr $14) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := ((e2 and b2) or (not (b2) and a2)) + Name_64[12] + d2 + $5C4DD124;
d2 := (d2 shl 7) or (d2 shr $19) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and a2) or (not (a2) and e2)) + Name_64[4] + c2 + $5C4DD124;
c2 := (c2 shl 6) or (c2 shr $1A) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := ((c2 and e2) or (not (e2) and d2)) + Name_64[9] + b2 + $5C4DD124;
b2 := (b2 shl $F) or (b2 shr $11) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := ((b2 and d2) or (not (d2) and c2)) + Name_64[1] + a2 + $5C4DD124;
a2 := (a2 shl $D) or (a2 shr $13) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := ((a2 and c2) or (not (c2) and b2)) + Name_64[2] + e2 + $5C4DD124;
e2 := (e2 shl $B) or (e2 shr $15) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
b2 := c2 xor d2 xor e2 + Name_64[12] + b2;
b2 := (b2 shl 8) or (b2 shr $18) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := b2 xor c2 xor d2 + Name_64[15] + a2;
a2 := (a2 shl 5) or (a2 shr $1B) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := a2 xor b2 xor c2 + Name_64[10] + e2;
e2 := (e2 shl $C) or (e2 shr $14) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := e2 xor a2 xor b2 + Name_64[4] + d2;
d2 := (d2 shl 9) or (d2 shr $17) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := d2 xor e2 xor a2 + Name_64[1] + c2;
c2 := (c2 shl $C) or (c2 shr $14) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := c2 xor d2 xor e2 + Name_64[5] + b2;
b2 := (b2 shl 5) or (b2 shr $1B) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := b2 xor c2 xor d2 + Name_64[8] + a2;
a2 := (a2 shl $E) or (a2 shr $12) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := a2 xor b2 xor c2 + Name_64[7] + e2;
e2 := (e2 shl 6) or (e2 shr $1A) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := e2 xor a2 xor b2 + Name_64[6] + d2;
d2 := (d2 shl 8) or (d2 shr $18) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := d2 xor e2 xor a2 + Name_64[2] + c2;
c2 := (c2 shl $D) or (c2 shr $13) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := c2 xor d2 xor e2 + Name_64[13] + b2;
b2 := (b2 shl 6) or (b2 shr $1A) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := b2 xor c2 xor d2 + Name_64[14] + a2;
a2 := (a2 shl 5) or (a2 shr $1B) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := a2 xor b2 xor c2 + Name_64[0] + e2;
e2 := (e2 shl $0F) or (e2 shr $11) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := e2 xor a2 xor b2 + Name_64[3] + d2;
d2 := (d2 shl $D) or (d2 shr $13) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := d2 xor e2 xor a2 + Name_64[9] + c2;
c2 := (c2 shl $B) or (c2 shr $15) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := c2 xor d2 xor e2 + Name_64[11] + b2;
b2 := (b2 shl $B) or (b2 shr $15) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
d2 := (not (a2) or e2) xor b2 + Name_64[15] + d2 + $6D703EF3;
d2 := (d2 shl 9) or (d2 shr $17) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := (not (e2) or d2) xor a2 + Name_64[5] + c2 + $6D703EF3;
c2 := (c2 shl 7) or (c2 shr $19) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := (not (d2) or c2) xor e2 + Name_64[1] + b2 + $6D703EF3;
b2 := (b2 shl $F) or (b2 shr $11) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := (not (c2) or b2) xor d2 + Name_64[3] + a2 + $6D703EF3;
a2 := (a2 shl $B) or (a2 shr $15) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := (not (b2) or a2) xor c2 + Name_64[7] + e2 + $6D703EF3;
e2 := (e2 shl 8) or (e2 shr $18) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := (not (a2) or e2) xor b2 + Name_64[14] + d2 + $6D703EF3;
d2 := (d2 shl 6) or (d2 shr $1A) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := (not (e2) or d2) xor a2 + Name_64[6] + c2 + $6D703EF3;
c2 := (c2 shl 6) or (c2 shr $1A) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := (not (d2) or c2) xor e2 + Name_64[9] + b2 + $6D703EF3;
b2 := (b2 shl $E) or (b2 shr $12) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := (not (c2) or b2) xor d2 + Name_64[11] + a2 + $6D703EF3;
a2 := (a2 shl $C) or (a2 shr $14) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := (not (b2) or a2) xor c2 + Name_64[8] + e2 + $6D703EF3;
e2 := (e2 shl $D) or (e2 shr $13) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := (not (a2) or e2) xor b2 + Name_64[12] + d2 + $6D703EF3;
d2 := (d2 shl 5) or (d2 shr $1B) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := (not (e2) or d2) xor a2 + Name_64[2] + c2 + $6D703EF3;
c2 := (c2 shl $E) or (c2 shr $12) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := (not (d2) or c2) xor e2 + Name_64[10] + b2 + $6D703EF3;
b2 := (b2 shl $D) or (b2 shr $13) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := (not (c2) or b2) xor d2 + Name_64[0] + a2 + $6D703EF3;
a2 := (a2 shl $D) or (a2 shr $13) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := (not (b2) or a2) xor c2 + Name_64[4] + e2 + $6D703EF3;
e2 := (e2 shl 7) or (e2 shr $19) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := (not (a2) or e2) xor b2 + Name_64[13] + d2 + $6D703EF3;
d2 := (d2 shl 5) or (d2 shr $1B) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and e2) or (not (d2) and a2)) + Name_64[8] + c2 + $7A6D76E9;
c2 := (c2 shl $F) or (c2 shr $11) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := ((c2 and d2) or (not (c2) and e2)) + Name_64[6] + b2 + $7A6D76E9;
b2 := (b2 shl 5) or (b2 shr $1B) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := ((b2 and c2) or (not (b2) and d2)) + Name_64[4] + a2 + $7A6D76E9;
a2 := (a2 shl 8) or (a2 shr $18) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := ((a2 and b2) or (not (a2) and c2)) + Name_64[1] + e2 + $7A6D76E9;
e2 := (e2 shl $B) or (e2 shr $15) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := ((e2 and a2) or (not (e2) and b2)) + Name_64[3] + d2 + $7A6D76E9;
d2 := (d2 shl $E) or (d2 shr $12) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and e2) or (not (d2) and a2)) + Name_64[11] + c2 + $7A6D76E9;
c2 := (c2 shl $E) or (c2 shr $12) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := ((c2 and d2) or (not (c2) and e2)) + Name_64[15] + b2 + $7A6D76E9;
b2 := (b2 shl 6) or (b2 shr $1A) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := ((b2 and c2) or (not (b2) and d2)) + Name_64[0] + a2 + $7A6D76E9;
a2 := (a2 shl $E) or (a2 shr $12) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := ((a2 and b2) or (not (a2) and c2)) + Name_64[5] + e2 + $7A6D76E9;
e2 := (e2 shl 6) or (e2 shr $1A) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := ((e2 and a2) or (not (e2) and b2)) + Name_64[12] + d2 + $7A6D76E9;
d2 := (d2 shl 9) or (d2 shr $17) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and e2) or (not (d2) and a2)) + Name_64[2] + c2 + $7A6D76E9;
c2 := (c2 shl $C) or (c2 shr $14) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := ((c2 and d2) or (not (c2) and e2)) + Name_64[13] + b2 + $7A6D76E9;
b2 := (b2 shl 9) or (b2 shr $17) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := ((b2 and c2) or (not (b2) and d2)) + Name_64[9] + a2 + $7A6D76E9;
a2 := (a2 shl $C) or (a2 shr $14) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := ((a2 and b2) or (not (a2) and c2)) + Name_64[7] + e2 + $7A6D76E9;
e2 := (e2 shl 5) or (e2 shr $1B) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := ((e2 and a2) or (not (e2) and b2)) + Name_64[10] + d2 + $7A6D76E9;
d2 := (d2 shl $F) or (d2 shr $11) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := ((d2 and e2) or (not (d2) and a2)) + Name_64[14] + c2 + $7A6D76E9;
c2 := (c2 shl 8) or (c2 shr $18) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
a2 := (not (d2) or c2) xor b2 + Name_64[5] + a2 + $50A28BE6;
a2 := (a2 shl 8) or (a2 shr $18) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := (not (c2) or b2) xor a2 + Name_64[14] + e2 + $50A28BE6;
e2 := (e2 shl 9) or (e2 shr $17) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := (not (b2) or a2) xor e2 + Name_64[7] + d2 + $50A28BE6;
d2 := (d2 shl 9) or (d2 shr $17) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := (not (a2) or e2) xor d2 + Name_64[0] + c2 + $50A28BE6;
c2 := (c2 shl $B) or (c2 shr $15) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := (not (e2) or d2) xor c2 + Name_64[9] + b2 + $50A28BE6;
b2 := (b2 shl $D) or (b2 shr $13) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := (not (d2) or c2) xor b2 + Name_64[2] + a2 + $50A28BE6;
a2 := (a2 shl $F) or (a2 shr $11) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := (not (c2) or b2) xor a2 + Name_64[11] + e2 + $50A28BE6;
e2 := (e2 shl $F) or (e2 shr $11) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := (not (b2) or a2) xor e2 + Name_64[4] + d2 + $50A28BE6;
d2 := (d2 shl 5) or (d2 shr $1B) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := (not (a2) or e2) xor d2 + Name_64[13] + c2 + $50A28BE6;
c2 := (c2 shl 7) or (c2 shr $19) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := (not (e2) or d2) xor c2 + Name_64[6] + b2 + $50A28BE6;
b2 := (b2 shl 7) or (b2 shr $19) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
a2 := (not (d2) or c2) xor b2 + Name_64[15] + a2 + $50A28BE6;
a2 := (a2 shl 8) or (a2 shr $18) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
e2 := (not (c2) or b2) xor a2 + Name_64[8] + e2 + $50A28BE6;
e2 := (e2 shl $B) or (e2 shr $15) + d2;
b2 := (b2 shl $A) or (b2 shr $16);
d2 := (not (b2) or a2) xor e2 + Name_64[1] + d2 + $50A28BE6;
d2 := (d2 shl $E) or (d2 shr $12) + c2;
a2 := (a2 shl $A) or (a2 shr $16);
c2 := (not (a2) or e2) xor d2 + Name_64[10] + c2 + $50A28BE6;
c2 := (c2 shl $E) or (c2 shr $12) + b2;
e2 := (e2 shl $A) or (e2 shr $16);
b2 := (not (e2) or d2) xor c2 + Name_64[3] + b2 + $50A28BE6;
b2 := (b2 shl $C) or (b2 shr $14) + a2;
d2 := (d2 shl $A) or (d2 shr $16);
//下面这两句的数据因为程序并没有用到,所以Delphi会将这两句优化掉,但没关系,因为不会影响程序的正常结果,所以这里我将这两句注释掉,写出来是和大家一起研究。
// a2 := (not(d2) or c2) xor b2 + Name_64[12] + a2 + $50A28BE6;
// a2 := (a2 shl 6) or (a2 shr $1A) + e2;
c2 := (c2 shl $A) or (c2 shr $16);
d2 := SHA1_Key[1] + c1 + d2;
//开始保存运算的数据。
SHA1_Key[1] := SHA1_Key[2] + e1 + e2;
SHA1_Key[2] := SHA1_Key[3] + d1 + b2;
SHA1_Key[3] := SHA1_Key[4] + a1 + b2;
SHA1_Key[4] := SHA1_Key[0] + b1 + c2;
SHA1_Key[0] := d2;
end ;
到此,SHA1算法是分析完毕了,接下来是分析BlowFish算法了。今天就分析到这里,休息去了。。。
----本文只能作为内部研究之用,如需转载请保持文章的完整性,谢谢!----小虾(战神[DFCG]),2005/2/13