1 ; Don't even think of reading this code
2 ; It was automatically generated by des-586.pl
3 ; Which is a perl program used to generate the x86 assember for
4 ; any of elf, a.out, BSDI,Win32, or Solaris
5 ; eric <eay@cryptsoft.com>
12 EXTRN _des_SPtrans:DWORD
13 _des_encrypt PROC NEAR
18 mov esi, DWORD PTR 12[esp]
22 mov eax, DWORD PTR [esi]
23 mov ebx, DWORD PTR 28[esp]
24 mov edi, DWORD PTR 4[esi]
63 mov ebp, DWORD PTR 24[esp]
68 mov eax, DWORD PTR [ebp]
70 mov edx, DWORD PTR 4[ebp]
78 mov ebp, DWORD PTR _des_SPtrans[ebx]
81 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
85 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
89 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
91 mov ebp, DWORD PTR 24[esp]
95 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
97 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
99 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
101 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
105 mov eax, DWORD PTR 8[ebp]
107 mov edx, DWORD PTR 12[ebp]
115 mov ebp, DWORD PTR _des_SPtrans[ebx]
118 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
122 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
126 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
128 mov ebp, DWORD PTR 24[esp]
132 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
134 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
136 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
138 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
142 mov eax, DWORD PTR 16[ebp]
144 mov edx, DWORD PTR 20[ebp]
152 mov ebp, DWORD PTR _des_SPtrans[ebx]
155 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
159 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
163 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
165 mov ebp, DWORD PTR 24[esp]
169 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
171 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
173 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
175 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
179 mov eax, DWORD PTR 24[ebp]
181 mov edx, DWORD PTR 28[ebp]
189 mov ebp, DWORD PTR _des_SPtrans[ebx]
192 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
196 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
200 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
202 mov ebp, DWORD PTR 24[esp]
206 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
208 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
210 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
212 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
216 mov eax, DWORD PTR 32[ebp]
218 mov edx, DWORD PTR 36[ebp]
226 mov ebp, DWORD PTR _des_SPtrans[ebx]
229 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
233 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
237 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
239 mov ebp, DWORD PTR 24[esp]
243 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
245 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
247 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
249 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
253 mov eax, DWORD PTR 40[ebp]
255 mov edx, DWORD PTR 44[ebp]
263 mov ebp, DWORD PTR _des_SPtrans[ebx]
266 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
270 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
274 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
276 mov ebp, DWORD PTR 24[esp]
280 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
282 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
284 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
286 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
290 mov eax, DWORD PTR 48[ebp]
292 mov edx, DWORD PTR 52[ebp]
300 mov ebp, DWORD PTR _des_SPtrans[ebx]
303 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
307 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
311 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
313 mov ebp, DWORD PTR 24[esp]
317 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
319 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
321 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
323 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
327 mov eax, DWORD PTR 56[ebp]
329 mov edx, DWORD PTR 60[ebp]
337 mov ebp, DWORD PTR _des_SPtrans[ebx]
340 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
344 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
348 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
350 mov ebp, DWORD PTR 24[esp]
354 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
356 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
358 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
360 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
364 mov eax, DWORD PTR 64[ebp]
366 mov edx, DWORD PTR 68[ebp]
374 mov ebp, DWORD PTR _des_SPtrans[ebx]
377 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
381 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
385 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
387 mov ebp, DWORD PTR 24[esp]
391 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
393 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
395 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
397 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
401 mov eax, DWORD PTR 72[ebp]
403 mov edx, DWORD PTR 76[ebp]
411 mov ebp, DWORD PTR _des_SPtrans[ebx]
414 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
418 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
422 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
424 mov ebp, DWORD PTR 24[esp]
428 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
430 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
432 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
434 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
438 mov eax, DWORD PTR 80[ebp]
440 mov edx, DWORD PTR 84[ebp]
448 mov ebp, DWORD PTR _des_SPtrans[ebx]
451 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
455 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
459 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
461 mov ebp, DWORD PTR 24[esp]
465 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
467 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
469 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
471 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
475 mov eax, DWORD PTR 88[ebp]
477 mov edx, DWORD PTR 92[ebp]
485 mov ebp, DWORD PTR _des_SPtrans[ebx]
488 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
492 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
496 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
498 mov ebp, DWORD PTR 24[esp]
502 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
504 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
506 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
508 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
512 mov eax, DWORD PTR 96[ebp]
514 mov edx, DWORD PTR 100[ebp]
522 mov ebp, DWORD PTR _des_SPtrans[ebx]
525 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
529 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
533 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
535 mov ebp, DWORD PTR 24[esp]
539 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
541 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
543 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
545 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
549 mov eax, DWORD PTR 104[ebp]
551 mov edx, DWORD PTR 108[ebp]
559 mov ebp, DWORD PTR _des_SPtrans[ebx]
562 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
566 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
570 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
572 mov ebp, DWORD PTR 24[esp]
576 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
578 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
580 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
582 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
586 mov eax, DWORD PTR 112[ebp]
588 mov edx, DWORD PTR 116[ebp]
596 mov ebp, DWORD PTR _des_SPtrans[ebx]
599 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
603 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
607 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
609 mov ebp, DWORD PTR 24[esp]
613 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
615 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
617 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
619 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
623 mov eax, DWORD PTR 120[ebp]
625 mov edx, DWORD PTR 124[ebp]
633 mov ebp, DWORD PTR _des_SPtrans[ebx]
636 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
640 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
644 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
646 mov ebp, DWORD PTR 24[esp]
650 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
652 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
654 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
656 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
662 mov eax, DWORD PTR 120[ebp]
664 mov edx, DWORD PTR 124[ebp]
672 mov ebp, DWORD PTR _des_SPtrans[ebx]
675 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
679 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
683 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
685 mov ebp, DWORD PTR 24[esp]
689 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
691 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
693 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
695 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
699 mov eax, DWORD PTR 112[ebp]
701 mov edx, DWORD PTR 116[ebp]
709 mov ebp, DWORD PTR _des_SPtrans[ebx]
712 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
716 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
720 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
722 mov ebp, DWORD PTR 24[esp]
726 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
728 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
730 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
732 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
736 mov eax, DWORD PTR 104[ebp]
738 mov edx, DWORD PTR 108[ebp]
746 mov ebp, DWORD PTR _des_SPtrans[ebx]
749 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
753 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
757 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
759 mov ebp, DWORD PTR 24[esp]
763 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
765 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
767 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
769 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
773 mov eax, DWORD PTR 96[ebp]
775 mov edx, DWORD PTR 100[ebp]
783 mov ebp, DWORD PTR _des_SPtrans[ebx]
786 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
790 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
794 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
796 mov ebp, DWORD PTR 24[esp]
800 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
802 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
804 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
806 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
810 mov eax, DWORD PTR 88[ebp]
812 mov edx, DWORD PTR 92[ebp]
820 mov ebp, DWORD PTR _des_SPtrans[ebx]
823 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
827 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
831 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
833 mov ebp, DWORD PTR 24[esp]
837 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
839 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
841 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
843 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
847 mov eax, DWORD PTR 80[ebp]
849 mov edx, DWORD PTR 84[ebp]
857 mov ebp, DWORD PTR _des_SPtrans[ebx]
860 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
864 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
868 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
870 mov ebp, DWORD PTR 24[esp]
874 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
876 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
878 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
880 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
884 mov eax, DWORD PTR 72[ebp]
886 mov edx, DWORD PTR 76[ebp]
894 mov ebp, DWORD PTR _des_SPtrans[ebx]
897 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
901 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
905 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
907 mov ebp, DWORD PTR 24[esp]
911 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
913 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
915 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
917 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
921 mov eax, DWORD PTR 64[ebp]
923 mov edx, DWORD PTR 68[ebp]
931 mov ebp, DWORD PTR _des_SPtrans[ebx]
934 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
938 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
942 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
944 mov ebp, DWORD PTR 24[esp]
948 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
950 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
952 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
954 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
958 mov eax, DWORD PTR 56[ebp]
960 mov edx, DWORD PTR 60[ebp]
968 mov ebp, DWORD PTR _des_SPtrans[ebx]
971 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
975 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
979 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
981 mov ebp, DWORD PTR 24[esp]
985 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
987 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
989 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
991 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
995 mov eax, DWORD PTR 48[ebp]
997 mov edx, DWORD PTR 52[ebp]
1005 mov ebp, DWORD PTR _des_SPtrans[ebx]
1008 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1012 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1016 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1018 mov ebp, DWORD PTR 24[esp]
1022 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1024 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1026 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1028 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1032 mov eax, DWORD PTR 40[ebp]
1034 mov edx, DWORD PTR 44[ebp]
1042 mov ebp, DWORD PTR _des_SPtrans[ebx]
1045 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1049 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1053 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1055 mov ebp, DWORD PTR 24[esp]
1059 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1061 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1063 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1065 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1069 mov eax, DWORD PTR 32[ebp]
1071 mov edx, DWORD PTR 36[ebp]
1079 mov ebp, DWORD PTR _des_SPtrans[ebx]
1082 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1086 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1090 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1092 mov ebp, DWORD PTR 24[esp]
1096 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1098 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1100 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1102 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1106 mov eax, DWORD PTR 24[ebp]
1108 mov edx, DWORD PTR 28[ebp]
1116 mov ebp, DWORD PTR _des_SPtrans[ebx]
1119 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1123 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1127 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1129 mov ebp, DWORD PTR 24[esp]
1133 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1135 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1137 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1139 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1143 mov eax, DWORD PTR 16[ebp]
1145 mov edx, DWORD PTR 20[ebp]
1153 mov ebp, DWORD PTR _des_SPtrans[ebx]
1156 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1160 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1164 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1166 mov ebp, DWORD PTR 24[esp]
1170 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1172 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1174 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1176 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1180 mov eax, DWORD PTR 8[ebp]
1182 mov edx, DWORD PTR 12[ebp]
1190 mov ebp, DWORD PTR _des_SPtrans[ebx]
1193 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1197 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1201 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1203 mov ebp, DWORD PTR 24[esp]
1207 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1209 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1211 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1213 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1217 mov eax, DWORD PTR [ebp]
1219 mov edx, DWORD PTR 4[ebp]
1227 mov ebp, DWORD PTR _des_SPtrans[ebx]
1230 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1234 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1238 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1240 mov ebp, DWORD PTR 24[esp]
1244 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1246 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1248 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1250 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1255 mov edx, DWORD PTR 20[esp]
1292 mov DWORD PTR [edx],eax
1293 mov DWORD PTR 4[edx],esi
1302 PUBLIC _des_encrypt2
1303 EXTRN _des_SPtrans:DWORD
1304 _des_encrypt2 PROC NEAR
1309 mov eax, DWORD PTR 12[esp]
1313 mov esi, DWORD PTR [eax]
1314 mov ebx, DWORD PTR 28[esp]
1316 mov edi, DWORD PTR 4[eax]
1318 mov ebp, DWORD PTR 24[esp]
1320 je $L002start_decrypt
1323 mov eax, DWORD PTR [ebp]
1325 mov edx, DWORD PTR 4[ebp]
1333 mov ebp, DWORD PTR _des_SPtrans[ebx]
1336 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1340 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1344 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1346 mov ebp, DWORD PTR 24[esp]
1350 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1352 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1354 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1356 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1360 mov eax, DWORD PTR 8[ebp]
1362 mov edx, DWORD PTR 12[ebp]
1370 mov ebp, DWORD PTR _des_SPtrans[ebx]
1373 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1377 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1381 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1383 mov ebp, DWORD PTR 24[esp]
1387 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1389 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1391 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1393 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1397 mov eax, DWORD PTR 16[ebp]
1399 mov edx, DWORD PTR 20[ebp]
1407 mov ebp, DWORD PTR _des_SPtrans[ebx]
1410 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1414 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1418 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1420 mov ebp, DWORD PTR 24[esp]
1424 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1426 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1428 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1430 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1434 mov eax, DWORD PTR 24[ebp]
1436 mov edx, DWORD PTR 28[ebp]
1444 mov ebp, DWORD PTR _des_SPtrans[ebx]
1447 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1451 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1455 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1457 mov ebp, DWORD PTR 24[esp]
1461 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1463 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1465 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1467 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1471 mov eax, DWORD PTR 32[ebp]
1473 mov edx, DWORD PTR 36[ebp]
1481 mov ebp, DWORD PTR _des_SPtrans[ebx]
1484 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1488 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1492 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1494 mov ebp, DWORD PTR 24[esp]
1498 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1500 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1502 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1504 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1508 mov eax, DWORD PTR 40[ebp]
1510 mov edx, DWORD PTR 44[ebp]
1518 mov ebp, DWORD PTR _des_SPtrans[ebx]
1521 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1525 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1529 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1531 mov ebp, DWORD PTR 24[esp]
1535 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1537 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1539 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1541 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1545 mov eax, DWORD PTR 48[ebp]
1547 mov edx, DWORD PTR 52[ebp]
1555 mov ebp, DWORD PTR _des_SPtrans[ebx]
1558 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1562 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1566 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1568 mov ebp, DWORD PTR 24[esp]
1572 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1574 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1576 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1578 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1582 mov eax, DWORD PTR 56[ebp]
1584 mov edx, DWORD PTR 60[ebp]
1592 mov ebp, DWORD PTR _des_SPtrans[ebx]
1595 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1599 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1603 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1605 mov ebp, DWORD PTR 24[esp]
1609 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1611 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1613 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1615 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1619 mov eax, DWORD PTR 64[ebp]
1621 mov edx, DWORD PTR 68[ebp]
1629 mov ebp, DWORD PTR _des_SPtrans[ebx]
1632 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1636 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1640 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1642 mov ebp, DWORD PTR 24[esp]
1646 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1648 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1650 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1652 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1656 mov eax, DWORD PTR 72[ebp]
1658 mov edx, DWORD PTR 76[ebp]
1666 mov ebp, DWORD PTR _des_SPtrans[ebx]
1669 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1673 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1677 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1679 mov ebp, DWORD PTR 24[esp]
1683 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1685 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1687 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1689 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1693 mov eax, DWORD PTR 80[ebp]
1695 mov edx, DWORD PTR 84[ebp]
1703 mov ebp, DWORD PTR _des_SPtrans[ebx]
1706 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1710 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1714 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1716 mov ebp, DWORD PTR 24[esp]
1720 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1722 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1724 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1726 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1730 mov eax, DWORD PTR 88[ebp]
1732 mov edx, DWORD PTR 92[ebp]
1740 mov ebp, DWORD PTR _des_SPtrans[ebx]
1743 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1747 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1751 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1753 mov ebp, DWORD PTR 24[esp]
1757 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1759 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1761 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1763 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1767 mov eax, DWORD PTR 96[ebp]
1769 mov edx, DWORD PTR 100[ebp]
1777 mov ebp, DWORD PTR _des_SPtrans[ebx]
1780 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1784 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1788 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1790 mov ebp, DWORD PTR 24[esp]
1794 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1796 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1798 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1800 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1804 mov eax, DWORD PTR 104[ebp]
1806 mov edx, DWORD PTR 108[ebp]
1814 mov ebp, DWORD PTR _des_SPtrans[ebx]
1817 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1821 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1825 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1827 mov ebp, DWORD PTR 24[esp]
1831 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1833 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1835 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1837 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1841 mov eax, DWORD PTR 112[ebp]
1843 mov edx, DWORD PTR 116[ebp]
1851 mov ebp, DWORD PTR _des_SPtrans[ebx]
1854 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1858 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1862 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1864 mov ebp, DWORD PTR 24[esp]
1868 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1870 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1872 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1874 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1878 mov eax, DWORD PTR 120[ebp]
1880 mov edx, DWORD PTR 124[ebp]
1888 mov ebp, DWORD PTR _des_SPtrans[ebx]
1891 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1895 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1899 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1901 mov ebp, DWORD PTR 24[esp]
1905 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1907 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1909 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1911 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1917 mov eax, DWORD PTR 120[ebp]
1919 mov edx, DWORD PTR 124[ebp]
1927 mov ebp, DWORD PTR _des_SPtrans[ebx]
1930 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1934 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1938 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1940 mov ebp, DWORD PTR 24[esp]
1944 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1946 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1948 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1950 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1954 mov eax, DWORD PTR 112[ebp]
1956 mov edx, DWORD PTR 116[ebp]
1964 mov ebp, DWORD PTR _des_SPtrans[ebx]
1967 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
1971 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
1975 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
1977 mov ebp, DWORD PTR 24[esp]
1981 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
1983 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
1985 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
1987 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
1991 mov eax, DWORD PTR 104[ebp]
1993 mov edx, DWORD PTR 108[ebp]
2001 mov ebp, DWORD PTR _des_SPtrans[ebx]
2004 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2008 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2012 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2014 mov ebp, DWORD PTR 24[esp]
2018 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2020 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2022 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2024 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2028 mov eax, DWORD PTR 96[ebp]
2030 mov edx, DWORD PTR 100[ebp]
2038 mov ebp, DWORD PTR _des_SPtrans[ebx]
2041 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2045 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2049 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2051 mov ebp, DWORD PTR 24[esp]
2055 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2057 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2059 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2061 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2065 mov eax, DWORD PTR 88[ebp]
2067 mov edx, DWORD PTR 92[ebp]
2075 mov ebp, DWORD PTR _des_SPtrans[ebx]
2078 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2082 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2086 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2088 mov ebp, DWORD PTR 24[esp]
2092 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2094 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2096 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2098 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2102 mov eax, DWORD PTR 80[ebp]
2104 mov edx, DWORD PTR 84[ebp]
2112 mov ebp, DWORD PTR _des_SPtrans[ebx]
2115 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2119 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2123 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2125 mov ebp, DWORD PTR 24[esp]
2129 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2131 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2133 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2135 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2139 mov eax, DWORD PTR 72[ebp]
2141 mov edx, DWORD PTR 76[ebp]
2149 mov ebp, DWORD PTR _des_SPtrans[ebx]
2152 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2156 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2160 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2162 mov ebp, DWORD PTR 24[esp]
2166 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2168 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2170 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2172 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2176 mov eax, DWORD PTR 64[ebp]
2178 mov edx, DWORD PTR 68[ebp]
2186 mov ebp, DWORD PTR _des_SPtrans[ebx]
2189 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2193 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2197 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2199 mov ebp, DWORD PTR 24[esp]
2203 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2205 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2207 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2209 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2213 mov eax, DWORD PTR 56[ebp]
2215 mov edx, DWORD PTR 60[ebp]
2223 mov ebp, DWORD PTR _des_SPtrans[ebx]
2226 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2230 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2234 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2236 mov ebp, DWORD PTR 24[esp]
2240 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2242 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2244 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2246 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2250 mov eax, DWORD PTR 48[ebp]
2252 mov edx, DWORD PTR 52[ebp]
2260 mov ebp, DWORD PTR _des_SPtrans[ebx]
2263 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2267 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2271 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2273 mov ebp, DWORD PTR 24[esp]
2277 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2279 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2281 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2283 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2287 mov eax, DWORD PTR 40[ebp]
2289 mov edx, DWORD PTR 44[ebp]
2297 mov ebp, DWORD PTR _des_SPtrans[ebx]
2300 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2304 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2308 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2310 mov ebp, DWORD PTR 24[esp]
2314 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2316 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2318 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2320 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2324 mov eax, DWORD PTR 32[ebp]
2326 mov edx, DWORD PTR 36[ebp]
2334 mov ebp, DWORD PTR _des_SPtrans[ebx]
2337 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2341 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2345 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2347 mov ebp, DWORD PTR 24[esp]
2351 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2353 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2355 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2357 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2361 mov eax, DWORD PTR 24[ebp]
2363 mov edx, DWORD PTR 28[ebp]
2371 mov ebp, DWORD PTR _des_SPtrans[ebx]
2374 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2378 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2382 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2384 mov ebp, DWORD PTR 24[esp]
2388 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2390 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2392 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2394 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2398 mov eax, DWORD PTR 16[ebp]
2400 mov edx, DWORD PTR 20[ebp]
2408 mov ebp, DWORD PTR _des_SPtrans[ebx]
2411 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2415 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2419 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2421 mov ebp, DWORD PTR 24[esp]
2425 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2427 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2429 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2431 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2435 mov eax, DWORD PTR 8[ebp]
2437 mov edx, DWORD PTR 12[ebp]
2445 mov ebp, DWORD PTR _des_SPtrans[ebx]
2448 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2452 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2456 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2458 mov ebp, DWORD PTR 24[esp]
2462 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2464 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2466 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2468 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2472 mov eax, DWORD PTR [ebp]
2474 mov edx, DWORD PTR 4[ebp]
2482 mov ebp, DWORD PTR _des_SPtrans[ebx]
2485 mov ebp, DWORD PTR _des_SPtrans[0200h+ecx]
2489 mov ebp, DWORD PTR _des_SPtrans[0100h+ebx]
2493 mov ebp, DWORD PTR _des_SPtrans[0300h+ecx]
2495 mov ebp, DWORD PTR 24[esp]
2499 mov ebx, DWORD PTR _des_SPtrans[0600h+ebx]
2501 mov ebx, DWORD PTR _des_SPtrans[0700h+ecx]
2503 mov ebx, DWORD PTR _des_SPtrans[0400h+eax]
2505 mov ebx, DWORD PTR _des_SPtrans[0500h+edx]
2511 mov eax, DWORD PTR 20[esp]
2513 mov DWORD PTR [eax],edi
2514 mov DWORD PTR 4[eax],esi
2523 PUBLIC _des_encrypt3
2525 _des_encrypt3 PROC NEAR
2527 mov ebx, DWORD PTR 8[esp]
2532 ; Load the data words
2533 mov edi, DWORD PTR [ebx]
2534 mov esi, DWORD PTR 4[ebx]
2575 mov DWORD PTR 4[ebx],esi
2576 mov eax, DWORD PTR 36[esp]
2577 mov DWORD PTR [ebx],edx
2578 mov edi, DWORD PTR 40[esp]
2579 mov esi, DWORD PTR 44[esp]
2580 mov DWORD PTR 8[esp],1
2581 mov DWORD PTR 4[esp],eax
2582 mov DWORD PTR [esp],ebx
2584 mov DWORD PTR 8[esp],0
2585 mov DWORD PTR 4[esp],edi
2586 mov DWORD PTR [esp],ebx
2588 mov DWORD PTR 8[esp],1
2589 mov DWORD PTR 4[esp],esi
2590 mov DWORD PTR [esp],ebx
2593 mov edi, DWORD PTR [ebx]
2594 mov esi, DWORD PTR 4[ebx]
2634 mov DWORD PTR [ebx],eax
2635 mov DWORD PTR 4[ebx],esi
2644 PUBLIC _des_decrypt3
2646 _des_decrypt3 PROC NEAR
2648 mov ebx, DWORD PTR 8[esp]
2653 ; Load the data words
2654 mov edi, DWORD PTR [ebx]
2655 mov esi, DWORD PTR 4[ebx]
2696 mov DWORD PTR 4[ebx],esi
2697 mov esi, DWORD PTR 36[esp]
2698 mov DWORD PTR [ebx],edx
2699 mov edi, DWORD PTR 40[esp]
2700 mov eax, DWORD PTR 44[esp]
2701 mov DWORD PTR 8[esp],0
2702 mov DWORD PTR 4[esp],eax
2703 mov DWORD PTR [esp],ebx
2705 mov DWORD PTR 8[esp],1
2706 mov DWORD PTR 4[esp],edi
2707 mov DWORD PTR [esp],ebx
2709 mov DWORD PTR 8[esp],0
2710 mov DWORD PTR 4[esp],esi
2711 mov DWORD PTR [esp],ebx
2714 mov edi, DWORD PTR [ebx]
2715 mov esi, DWORD PTR 4[ebx]
2755 mov DWORD PTR [ebx],eax
2756 mov DWORD PTR 4[ebx],esi
2765 PUBLIC _des_ncbc_encrypt
2767 _des_ncbc_encrypt PROC NEAR
2773 mov ebp, DWORD PTR 28[esp]
2774 ; getting iv ptr from parameter 4
2775 mov ebx, DWORD PTR 36[esp]
2776 mov esi, DWORD PTR [ebx]
2777 mov edi, DWORD PTR 4[ebx]
2783 mov esi, DWORD PTR 36[esp]
2784 mov edi, DWORD PTR 40[esp]
2785 ; getting encrypt flag from parameter 5
2786 mov ecx, DWORD PTR 56[esp]
2787 ; get and push parameter 5
2789 ; get and push parameter 3
2790 mov eax, DWORD PTR 52[esp]
2796 mov eax, DWORD PTR 12[esp]
2797 mov ebx, DWORD PTR 16[esp]
2798 jz $L005encrypt_finish
2800 mov ecx, DWORD PTR [esi]
2801 mov edx, DWORD PTR 4[esi]
2804 mov DWORD PTR 12[esp],eax
2805 mov DWORD PTR 16[esp],ebx
2807 mov eax, DWORD PTR 12[esp]
2808 mov ebx, DWORD PTR 16[esp]
2809 mov DWORD PTR [edi],eax
2810 mov DWORD PTR 4[edi],ebx
2814 jnz L006encrypt_loop
2815 $L005encrypt_finish:
2816 mov ebp, DWORD PTR 56[esp]
2821 mov ebp, DWORD PTR $L008cbc_enc_jmp_table[ebp*4]
2824 mov dh, BYTE PTR 6[esi]
2827 mov dh, BYTE PTR 5[esi]
2829 mov dl, BYTE PTR 4[esi]
2831 mov ecx, DWORD PTR [esi]
2834 mov ch, BYTE PTR 2[esi]
2837 mov ch, BYTE PTR 1[esi]
2839 mov cl, BYTE PTR [esi]
2843 mov DWORD PTR 12[esp],eax
2844 mov DWORD PTR 16[esp],ebx
2846 mov eax, DWORD PTR 12[esp]
2847 mov ebx, DWORD PTR 16[esp]
2848 mov DWORD PTR [edi],eax
2849 mov DWORD PTR 4[edi],ebx
2853 mov eax, DWORD PTR 20[esp]
2854 mov ebx, DWORD PTR 24[esp]
2855 jz $L017decrypt_finish
2857 mov eax, DWORD PTR [esi]
2858 mov ebx, DWORD PTR 4[esi]
2859 mov DWORD PTR 12[esp],eax
2860 mov DWORD PTR 16[esp],ebx
2862 mov eax, DWORD PTR 12[esp]
2863 mov ebx, DWORD PTR 16[esp]
2864 mov ecx, DWORD PTR 20[esp]
2865 mov edx, DWORD PTR 24[esp]
2868 mov eax, DWORD PTR [esi]
2869 mov ebx, DWORD PTR 4[esi]
2870 mov DWORD PTR [edi],ecx
2871 mov DWORD PTR 4[edi],edx
2872 mov DWORD PTR 20[esp],eax
2873 mov DWORD PTR 24[esp],ebx
2877 jnz L018decrypt_loop
2878 $L017decrypt_finish:
2879 mov ebp, DWORD PTR 56[esp]
2882 mov eax, DWORD PTR [esi]
2883 mov ebx, DWORD PTR 4[esi]
2884 mov DWORD PTR 12[esp],eax
2885 mov DWORD PTR 16[esp],ebx
2887 mov eax, DWORD PTR 12[esp]
2888 mov ebx, DWORD PTR 16[esp]
2889 mov ecx, DWORD PTR 20[esp]
2890 mov edx, DWORD PTR 24[esp]
2893 mov eax, DWORD PTR [esi]
2894 mov ebx, DWORD PTR 4[esi]
2897 mov BYTE PTR 6[edi],dl
2900 mov BYTE PTR 5[edi],dh
2902 mov BYTE PTR 4[edi],dl
2904 mov DWORD PTR [edi],ecx
2908 mov BYTE PTR 2[edi],cl
2911 mov BYTE PTR 1[esi],ch
2913 mov BYTE PTR [esi], cl
2917 mov ecx, DWORD PTR 64[esp]
2919 mov DWORD PTR [ecx],eax
2920 mov DWORD PTR 4[ecx],ebx
2926 $L008cbc_enc_jmp_table:
2935 L027cbc_dec_jmp_table:
2944 _des_ncbc_encrypt ENDP
2947 PUBLIC _des_ede3_cbc_encrypt
2949 _des_ede3_cbc_encrypt PROC NEAR
2955 mov ebp, DWORD PTR 28[esp]
2956 ; getting iv ptr from parameter 6
2957 mov ebx, DWORD PTR 44[esp]
2958 mov esi, DWORD PTR [ebx]
2959 mov edi, DWORD PTR 4[ebx]
2965 mov esi, DWORD PTR 36[esp]
2966 mov edi, DWORD PTR 40[esp]
2967 ; getting encrypt flag from parameter 7
2968 mov ecx, DWORD PTR 64[esp]
2969 ; get and push parameter 5
2970 mov eax, DWORD PTR 56[esp]
2972 ; get and push parameter 4
2973 mov eax, DWORD PTR 56[esp]
2975 ; get and push parameter 3
2976 mov eax, DWORD PTR 56[esp]
2982 mov eax, DWORD PTR 16[esp]
2983 mov ebx, DWORD PTR 20[esp]
2984 jz $L029encrypt_finish
2986 mov ecx, DWORD PTR [esi]
2987 mov edx, DWORD PTR 4[esi]
2990 mov DWORD PTR 16[esp],eax
2991 mov DWORD PTR 20[esp],ebx
2993 mov eax, DWORD PTR 16[esp]
2994 mov ebx, DWORD PTR 20[esp]
2995 mov DWORD PTR [edi],eax
2996 mov DWORD PTR 4[edi],ebx
3000 jnz L030encrypt_loop
3001 $L029encrypt_finish:
3002 mov ebp, DWORD PTR 60[esp]
3007 mov ebp, DWORD PTR $L032cbc_enc_jmp_table[ebp*4]
3010 mov dh, BYTE PTR 6[esi]
3013 mov dh, BYTE PTR 5[esi]
3015 mov dl, BYTE PTR 4[esi]
3017 mov ecx, DWORD PTR [esi]
3020 mov ch, BYTE PTR 2[esi]
3023 mov ch, BYTE PTR 1[esi]
3025 mov cl, BYTE PTR [esi]
3029 mov DWORD PTR 16[esp],eax
3030 mov DWORD PTR 20[esp],ebx
3032 mov eax, DWORD PTR 16[esp]
3033 mov ebx, DWORD PTR 20[esp]
3034 mov DWORD PTR [edi],eax
3035 mov DWORD PTR 4[edi],ebx
3039 mov eax, DWORD PTR 24[esp]
3040 mov ebx, DWORD PTR 28[esp]
3041 jz $L041decrypt_finish
3043 mov eax, DWORD PTR [esi]
3044 mov ebx, DWORD PTR 4[esi]
3045 mov DWORD PTR 16[esp],eax
3046 mov DWORD PTR 20[esp],ebx
3048 mov eax, DWORD PTR 16[esp]
3049 mov ebx, DWORD PTR 20[esp]
3050 mov ecx, DWORD PTR 24[esp]
3051 mov edx, DWORD PTR 28[esp]
3054 mov eax, DWORD PTR [esi]
3055 mov ebx, DWORD PTR 4[esi]
3056 mov DWORD PTR [edi],ecx
3057 mov DWORD PTR 4[edi],edx
3058 mov DWORD PTR 24[esp],eax
3059 mov DWORD PTR 28[esp],ebx
3063 jnz L042decrypt_loop
3064 $L041decrypt_finish:
3065 mov ebp, DWORD PTR 60[esp]
3068 mov eax, DWORD PTR [esi]
3069 mov ebx, DWORD PTR 4[esi]
3070 mov DWORD PTR 16[esp],eax
3071 mov DWORD PTR 20[esp],ebx
3073 mov eax, DWORD PTR 16[esp]
3074 mov ebx, DWORD PTR 20[esp]
3075 mov ecx, DWORD PTR 24[esp]
3076 mov edx, DWORD PTR 28[esp]
3079 mov eax, DWORD PTR [esi]
3080 mov ebx, DWORD PTR 4[esi]
3083 mov BYTE PTR 6[edi],dl
3086 mov BYTE PTR 5[edi],dh
3088 mov BYTE PTR 4[edi],dl
3090 mov DWORD PTR [edi],ecx
3094 mov BYTE PTR 2[edi],cl
3097 mov BYTE PTR 1[esi],ch
3099 mov BYTE PTR [esi], cl
3103 mov ecx, DWORD PTR 76[esp]
3105 mov DWORD PTR [ecx],eax
3106 mov DWORD PTR 4[ecx],ebx
3112 $L032cbc_enc_jmp_table:
3121 L051cbc_dec_jmp_table:
3130 _des_ede3_cbc_encrypt ENDP