1 ; Don't even think of reading this code
2 ; It was automatically generated by bf586.pl
3 ; Which is a perl program used to generate the x86 assember for
4 ; any of elf, a.out, Win32, or Solaris
5 ; It can be found in SSLeay 0.7.0+
6 ; eric <eay@cryptsoft.com>
13 EXTRN _des_SPtrans:DWORD
21 mov eax, DWORD PTR 20[esp]
22 mov ecx, DWORD PTR [eax]
23 mov edx, DWORD PTR 4[eax]
25 ; P pointer, s and enc flag
26 mov edi, DWORD PTR 24[esp]
29 mov ebp, DWORD PTR 28[esp]
32 xor ecx, DWORD PTR [edi]
36 mov esi, DWORD PTR 4[edi]
41 mov esi, DWORD PTR 72[eax*4+edi]
42 mov ebp, DWORD PTR 1096[ebx*4+edi]
46 mov eax, DWORD PTR 2120[eax*4+edi]
48 mov ebp, DWORD PTR 3144[ebx*4+edi]
55 mov esi, DWORD PTR 8[edi]
60 mov esi, DWORD PTR 72[eax*4+edi]
61 mov ebp, DWORD PTR 1096[ebx*4+edi]
65 mov eax, DWORD PTR 2120[eax*4+edi]
67 mov ebp, DWORD PTR 3144[ebx*4+edi]
74 mov esi, DWORD PTR 12[edi]
79 mov esi, DWORD PTR 72[eax*4+edi]
80 mov ebp, DWORD PTR 1096[ebx*4+edi]
84 mov eax, DWORD PTR 2120[eax*4+edi]
86 mov ebp, DWORD PTR 3144[ebx*4+edi]
93 mov esi, DWORD PTR 16[edi]
98 mov esi, DWORD PTR 72[eax*4+edi]
99 mov ebp, DWORD PTR 1096[ebx*4+edi]
103 mov eax, DWORD PTR 2120[eax*4+edi]
105 mov ebp, DWORD PTR 3144[ebx*4+edi]
112 mov esi, DWORD PTR 20[edi]
117 mov esi, DWORD PTR 72[eax*4+edi]
118 mov ebp, DWORD PTR 1096[ebx*4+edi]
122 mov eax, DWORD PTR 2120[eax*4+edi]
124 mov ebp, DWORD PTR 3144[ebx*4+edi]
131 mov esi, DWORD PTR 24[edi]
136 mov esi, DWORD PTR 72[eax*4+edi]
137 mov ebp, DWORD PTR 1096[ebx*4+edi]
141 mov eax, DWORD PTR 2120[eax*4+edi]
143 mov ebp, DWORD PTR 3144[ebx*4+edi]
150 mov esi, DWORD PTR 28[edi]
155 mov esi, DWORD PTR 72[eax*4+edi]
156 mov ebp, DWORD PTR 1096[ebx*4+edi]
160 mov eax, DWORD PTR 2120[eax*4+edi]
162 mov ebp, DWORD PTR 3144[ebx*4+edi]
169 mov esi, DWORD PTR 32[edi]
174 mov esi, DWORD PTR 72[eax*4+edi]
175 mov ebp, DWORD PTR 1096[ebx*4+edi]
179 mov eax, DWORD PTR 2120[eax*4+edi]
181 mov ebp, DWORD PTR 3144[ebx*4+edi]
188 mov esi, DWORD PTR 36[edi]
193 mov esi, DWORD PTR 72[eax*4+edi]
194 mov ebp, DWORD PTR 1096[ebx*4+edi]
198 mov eax, DWORD PTR 2120[eax*4+edi]
200 mov ebp, DWORD PTR 3144[ebx*4+edi]
207 mov esi, DWORD PTR 40[edi]
212 mov esi, DWORD PTR 72[eax*4+edi]
213 mov ebp, DWORD PTR 1096[ebx*4+edi]
217 mov eax, DWORD PTR 2120[eax*4+edi]
219 mov ebp, DWORD PTR 3144[ebx*4+edi]
226 mov esi, DWORD PTR 44[edi]
231 mov esi, DWORD PTR 72[eax*4+edi]
232 mov ebp, DWORD PTR 1096[ebx*4+edi]
236 mov eax, DWORD PTR 2120[eax*4+edi]
238 mov ebp, DWORD PTR 3144[ebx*4+edi]
245 mov esi, DWORD PTR 48[edi]
250 mov esi, DWORD PTR 72[eax*4+edi]
251 mov ebp, DWORD PTR 1096[ebx*4+edi]
255 mov eax, DWORD PTR 2120[eax*4+edi]
257 mov ebp, DWORD PTR 3144[ebx*4+edi]
264 mov esi, DWORD PTR 52[edi]
269 mov esi, DWORD PTR 72[eax*4+edi]
270 mov ebp, DWORD PTR 1096[ebx*4+edi]
274 mov eax, DWORD PTR 2120[eax*4+edi]
276 mov ebp, DWORD PTR 3144[ebx*4+edi]
283 mov esi, DWORD PTR 56[edi]
288 mov esi, DWORD PTR 72[eax*4+edi]
289 mov ebp, DWORD PTR 1096[ebx*4+edi]
293 mov eax, DWORD PTR 2120[eax*4+edi]
295 mov ebp, DWORD PTR 3144[ebx*4+edi]
302 mov esi, DWORD PTR 60[edi]
307 mov esi, DWORD PTR 72[eax*4+edi]
308 mov ebp, DWORD PTR 1096[ebx*4+edi]
312 mov eax, DWORD PTR 2120[eax*4+edi]
314 mov ebp, DWORD PTR 3144[ebx*4+edi]
321 mov esi, DWORD PTR 64[edi]
326 mov esi, DWORD PTR 72[eax*4+edi]
327 mov ebp, DWORD PTR 1096[ebx*4+edi]
331 mov eax, DWORD PTR 2120[eax*4+edi]
333 mov ebp, DWORD PTR 3144[ebx*4+edi]
337 xor edx, DWORD PTR 68[edi]
338 mov eax, DWORD PTR 20[esp]
339 mov DWORD PTR [eax],edx
340 mov DWORD PTR 4[eax],ecx
347 xor ecx, DWORD PTR 68[edi]
351 mov esi, DWORD PTR 64[edi]
356 mov esi, DWORD PTR 72[eax*4+edi]
357 mov ebp, DWORD PTR 1096[ebx*4+edi]
361 mov eax, DWORD PTR 2120[eax*4+edi]
363 mov ebp, DWORD PTR 3144[ebx*4+edi]
370 mov esi, DWORD PTR 60[edi]
375 mov esi, DWORD PTR 72[eax*4+edi]
376 mov ebp, DWORD PTR 1096[ebx*4+edi]
380 mov eax, DWORD PTR 2120[eax*4+edi]
382 mov ebp, DWORD PTR 3144[ebx*4+edi]
389 mov esi, DWORD PTR 56[edi]
394 mov esi, DWORD PTR 72[eax*4+edi]
395 mov ebp, DWORD PTR 1096[ebx*4+edi]
399 mov eax, DWORD PTR 2120[eax*4+edi]
401 mov ebp, DWORD PTR 3144[ebx*4+edi]
408 mov esi, DWORD PTR 52[edi]
413 mov esi, DWORD PTR 72[eax*4+edi]
414 mov ebp, DWORD PTR 1096[ebx*4+edi]
418 mov eax, DWORD PTR 2120[eax*4+edi]
420 mov ebp, DWORD PTR 3144[ebx*4+edi]
427 mov esi, DWORD PTR 48[edi]
432 mov esi, DWORD PTR 72[eax*4+edi]
433 mov ebp, DWORD PTR 1096[ebx*4+edi]
437 mov eax, DWORD PTR 2120[eax*4+edi]
439 mov ebp, DWORD PTR 3144[ebx*4+edi]
446 mov esi, DWORD PTR 44[edi]
451 mov esi, DWORD PTR 72[eax*4+edi]
452 mov ebp, DWORD PTR 1096[ebx*4+edi]
456 mov eax, DWORD PTR 2120[eax*4+edi]
458 mov ebp, DWORD PTR 3144[ebx*4+edi]
465 mov esi, DWORD PTR 40[edi]
470 mov esi, DWORD PTR 72[eax*4+edi]
471 mov ebp, DWORD PTR 1096[ebx*4+edi]
475 mov eax, DWORD PTR 2120[eax*4+edi]
477 mov ebp, DWORD PTR 3144[ebx*4+edi]
484 mov esi, DWORD PTR 36[edi]
489 mov esi, DWORD PTR 72[eax*4+edi]
490 mov ebp, DWORD PTR 1096[ebx*4+edi]
494 mov eax, DWORD PTR 2120[eax*4+edi]
496 mov ebp, DWORD PTR 3144[ebx*4+edi]
503 mov esi, DWORD PTR 32[edi]
508 mov esi, DWORD PTR 72[eax*4+edi]
509 mov ebp, DWORD PTR 1096[ebx*4+edi]
513 mov eax, DWORD PTR 2120[eax*4+edi]
515 mov ebp, DWORD PTR 3144[ebx*4+edi]
522 mov esi, DWORD PTR 28[edi]
527 mov esi, DWORD PTR 72[eax*4+edi]
528 mov ebp, DWORD PTR 1096[ebx*4+edi]
532 mov eax, DWORD PTR 2120[eax*4+edi]
534 mov ebp, DWORD PTR 3144[ebx*4+edi]
541 mov esi, DWORD PTR 24[edi]
546 mov esi, DWORD PTR 72[eax*4+edi]
547 mov ebp, DWORD PTR 1096[ebx*4+edi]
551 mov eax, DWORD PTR 2120[eax*4+edi]
553 mov ebp, DWORD PTR 3144[ebx*4+edi]
560 mov esi, DWORD PTR 20[edi]
565 mov esi, DWORD PTR 72[eax*4+edi]
566 mov ebp, DWORD PTR 1096[ebx*4+edi]
570 mov eax, DWORD PTR 2120[eax*4+edi]
572 mov ebp, DWORD PTR 3144[ebx*4+edi]
579 mov esi, DWORD PTR 16[edi]
584 mov esi, DWORD PTR 72[eax*4+edi]
585 mov ebp, DWORD PTR 1096[ebx*4+edi]
589 mov eax, DWORD PTR 2120[eax*4+edi]
591 mov ebp, DWORD PTR 3144[ebx*4+edi]
598 mov esi, DWORD PTR 12[edi]
603 mov esi, DWORD PTR 72[eax*4+edi]
604 mov ebp, DWORD PTR 1096[ebx*4+edi]
608 mov eax, DWORD PTR 2120[eax*4+edi]
610 mov ebp, DWORD PTR 3144[ebx*4+edi]
617 mov esi, DWORD PTR 8[edi]
622 mov esi, DWORD PTR 72[eax*4+edi]
623 mov ebp, DWORD PTR 1096[ebx*4+edi]
627 mov eax, DWORD PTR 2120[eax*4+edi]
629 mov ebp, DWORD PTR 3144[ebx*4+edi]
636 mov esi, DWORD PTR 4[edi]
641 mov esi, DWORD PTR 72[eax*4+edi]
642 mov ebp, DWORD PTR 1096[ebx*4+edi]
646 mov eax, DWORD PTR 2120[eax*4+edi]
648 mov ebp, DWORD PTR 3144[ebx*4+edi]
652 xor edx, DWORD PTR [edi]
653 mov eax, DWORD PTR 20[esp]
654 mov DWORD PTR [eax],edx
655 mov DWORD PTR 4[eax],ecx