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>
20 mov eax, DWORD PTR 20[esp]
21 mov ecx, DWORD PTR [eax]
22 mov edx, DWORD PTR 4[eax]
24 ; P pointer, s and enc flag
25 mov edi, DWORD PTR 24[esp]
28 mov ebp, DWORD PTR 28[esp]
31 xor ecx, DWORD PTR [edi]
35 mov esi, DWORD PTR 4[edi]
40 mov esi, DWORD PTR 72[eax*4+edi]
41 mov ebp, DWORD PTR 1096[ebx*4+edi]
45 mov eax, DWORD PTR 2120[eax*4+edi]
47 mov ebp, DWORD PTR 3144[ebx*4+edi]
54 mov esi, DWORD PTR 8[edi]
59 mov esi, DWORD PTR 72[eax*4+edi]
60 mov ebp, DWORD PTR 1096[ebx*4+edi]
64 mov eax, DWORD PTR 2120[eax*4+edi]
66 mov ebp, DWORD PTR 3144[ebx*4+edi]
73 mov esi, DWORD PTR 12[edi]
78 mov esi, DWORD PTR 72[eax*4+edi]
79 mov ebp, DWORD PTR 1096[ebx*4+edi]
83 mov eax, DWORD PTR 2120[eax*4+edi]
85 mov ebp, DWORD PTR 3144[ebx*4+edi]
92 mov esi, DWORD PTR 16[edi]
97 mov esi, DWORD PTR 72[eax*4+edi]
98 mov ebp, DWORD PTR 1096[ebx*4+edi]
102 mov eax, DWORD PTR 2120[eax*4+edi]
104 mov ebp, DWORD PTR 3144[ebx*4+edi]
111 mov esi, DWORD PTR 20[edi]
116 mov esi, DWORD PTR 72[eax*4+edi]
117 mov ebp, DWORD PTR 1096[ebx*4+edi]
121 mov eax, DWORD PTR 2120[eax*4+edi]
123 mov ebp, DWORD PTR 3144[ebx*4+edi]
130 mov esi, DWORD PTR 24[edi]
135 mov esi, DWORD PTR 72[eax*4+edi]
136 mov ebp, DWORD PTR 1096[ebx*4+edi]
140 mov eax, DWORD PTR 2120[eax*4+edi]
142 mov ebp, DWORD PTR 3144[ebx*4+edi]
149 mov esi, DWORD PTR 28[edi]
154 mov esi, DWORD PTR 72[eax*4+edi]
155 mov ebp, DWORD PTR 1096[ebx*4+edi]
159 mov eax, DWORD PTR 2120[eax*4+edi]
161 mov ebp, DWORD PTR 3144[ebx*4+edi]
168 mov esi, DWORD PTR 32[edi]
173 mov esi, DWORD PTR 72[eax*4+edi]
174 mov ebp, DWORD PTR 1096[ebx*4+edi]
178 mov eax, DWORD PTR 2120[eax*4+edi]
180 mov ebp, DWORD PTR 3144[ebx*4+edi]
187 mov esi, DWORD PTR 36[edi]
192 mov esi, DWORD PTR 72[eax*4+edi]
193 mov ebp, DWORD PTR 1096[ebx*4+edi]
197 mov eax, DWORD PTR 2120[eax*4+edi]
199 mov ebp, DWORD PTR 3144[ebx*4+edi]
206 mov esi, DWORD PTR 40[edi]
211 mov esi, DWORD PTR 72[eax*4+edi]
212 mov ebp, DWORD PTR 1096[ebx*4+edi]
216 mov eax, DWORD PTR 2120[eax*4+edi]
218 mov ebp, DWORD PTR 3144[ebx*4+edi]
225 mov esi, DWORD PTR 44[edi]
230 mov esi, DWORD PTR 72[eax*4+edi]
231 mov ebp, DWORD PTR 1096[ebx*4+edi]
235 mov eax, DWORD PTR 2120[eax*4+edi]
237 mov ebp, DWORD PTR 3144[ebx*4+edi]
244 mov esi, DWORD PTR 48[edi]
249 mov esi, DWORD PTR 72[eax*4+edi]
250 mov ebp, DWORD PTR 1096[ebx*4+edi]
254 mov eax, DWORD PTR 2120[eax*4+edi]
256 mov ebp, DWORD PTR 3144[ebx*4+edi]
263 mov esi, DWORD PTR 52[edi]
268 mov esi, DWORD PTR 72[eax*4+edi]
269 mov ebp, DWORD PTR 1096[ebx*4+edi]
273 mov eax, DWORD PTR 2120[eax*4+edi]
275 mov ebp, DWORD PTR 3144[ebx*4+edi]
282 mov esi, DWORD PTR 56[edi]
287 mov esi, DWORD PTR 72[eax*4+edi]
288 mov ebp, DWORD PTR 1096[ebx*4+edi]
292 mov eax, DWORD PTR 2120[eax*4+edi]
294 mov ebp, DWORD PTR 3144[ebx*4+edi]
301 mov esi, DWORD PTR 60[edi]
306 mov esi, DWORD PTR 72[eax*4+edi]
307 mov ebp, DWORD PTR 1096[ebx*4+edi]
311 mov eax, DWORD PTR 2120[eax*4+edi]
313 mov ebp, DWORD PTR 3144[ebx*4+edi]
320 mov esi, DWORD PTR 64[edi]
325 mov esi, DWORD PTR 72[eax*4+edi]
326 mov ebp, DWORD PTR 1096[ebx*4+edi]
330 mov eax, DWORD PTR 2120[eax*4+edi]
332 mov ebp, DWORD PTR 3144[ebx*4+edi]
336 xor edx, DWORD PTR 68[edi]
337 mov eax, DWORD PTR 20[esp]
338 mov DWORD PTR [eax],edx
339 mov DWORD PTR 4[eax],ecx
346 xor ecx, DWORD PTR 68[edi]
350 mov esi, DWORD PTR 64[edi]
355 mov esi, DWORD PTR 72[eax*4+edi]
356 mov ebp, DWORD PTR 1096[ebx*4+edi]
360 mov eax, DWORD PTR 2120[eax*4+edi]
362 mov ebp, DWORD PTR 3144[ebx*4+edi]
369 mov esi, DWORD PTR 60[edi]
374 mov esi, DWORD PTR 72[eax*4+edi]
375 mov ebp, DWORD PTR 1096[ebx*4+edi]
379 mov eax, DWORD PTR 2120[eax*4+edi]
381 mov ebp, DWORD PTR 3144[ebx*4+edi]
388 mov esi, DWORD PTR 56[edi]
393 mov esi, DWORD PTR 72[eax*4+edi]
394 mov ebp, DWORD PTR 1096[ebx*4+edi]
398 mov eax, DWORD PTR 2120[eax*4+edi]
400 mov ebp, DWORD PTR 3144[ebx*4+edi]
407 mov esi, DWORD PTR 52[edi]
412 mov esi, DWORD PTR 72[eax*4+edi]
413 mov ebp, DWORD PTR 1096[ebx*4+edi]
417 mov eax, DWORD PTR 2120[eax*4+edi]
419 mov ebp, DWORD PTR 3144[ebx*4+edi]
426 mov esi, DWORD PTR 48[edi]
431 mov esi, DWORD PTR 72[eax*4+edi]
432 mov ebp, DWORD PTR 1096[ebx*4+edi]
436 mov eax, DWORD PTR 2120[eax*4+edi]
438 mov ebp, DWORD PTR 3144[ebx*4+edi]
445 mov esi, DWORD PTR 44[edi]
450 mov esi, DWORD PTR 72[eax*4+edi]
451 mov ebp, DWORD PTR 1096[ebx*4+edi]
455 mov eax, DWORD PTR 2120[eax*4+edi]
457 mov ebp, DWORD PTR 3144[ebx*4+edi]
464 mov esi, DWORD PTR 40[edi]
469 mov esi, DWORD PTR 72[eax*4+edi]
470 mov ebp, DWORD PTR 1096[ebx*4+edi]
474 mov eax, DWORD PTR 2120[eax*4+edi]
476 mov ebp, DWORD PTR 3144[ebx*4+edi]
483 mov esi, DWORD PTR 36[edi]
488 mov esi, DWORD PTR 72[eax*4+edi]
489 mov ebp, DWORD PTR 1096[ebx*4+edi]
493 mov eax, DWORD PTR 2120[eax*4+edi]
495 mov ebp, DWORD PTR 3144[ebx*4+edi]
502 mov esi, DWORD PTR 32[edi]
507 mov esi, DWORD PTR 72[eax*4+edi]
508 mov ebp, DWORD PTR 1096[ebx*4+edi]
512 mov eax, DWORD PTR 2120[eax*4+edi]
514 mov ebp, DWORD PTR 3144[ebx*4+edi]
521 mov esi, DWORD PTR 28[edi]
526 mov esi, DWORD PTR 72[eax*4+edi]
527 mov ebp, DWORD PTR 1096[ebx*4+edi]
531 mov eax, DWORD PTR 2120[eax*4+edi]
533 mov ebp, DWORD PTR 3144[ebx*4+edi]
540 mov esi, DWORD PTR 24[edi]
545 mov esi, DWORD PTR 72[eax*4+edi]
546 mov ebp, DWORD PTR 1096[ebx*4+edi]
550 mov eax, DWORD PTR 2120[eax*4+edi]
552 mov ebp, DWORD PTR 3144[ebx*4+edi]
559 mov esi, DWORD PTR 20[edi]
564 mov esi, DWORD PTR 72[eax*4+edi]
565 mov ebp, DWORD PTR 1096[ebx*4+edi]
569 mov eax, DWORD PTR 2120[eax*4+edi]
571 mov ebp, DWORD PTR 3144[ebx*4+edi]
578 mov esi, DWORD PTR 16[edi]
583 mov esi, DWORD PTR 72[eax*4+edi]
584 mov ebp, DWORD PTR 1096[ebx*4+edi]
588 mov eax, DWORD PTR 2120[eax*4+edi]
590 mov ebp, DWORD PTR 3144[ebx*4+edi]
597 mov esi, DWORD PTR 12[edi]
602 mov esi, DWORD PTR 72[eax*4+edi]
603 mov ebp, DWORD PTR 1096[ebx*4+edi]
607 mov eax, DWORD PTR 2120[eax*4+edi]
609 mov ebp, DWORD PTR 3144[ebx*4+edi]
616 mov esi, DWORD PTR 8[edi]
621 mov esi, DWORD PTR 72[eax*4+edi]
622 mov ebp, DWORD PTR 1096[ebx*4+edi]
626 mov eax, DWORD PTR 2120[eax*4+edi]
628 mov ebp, DWORD PTR 3144[ebx*4+edi]
635 mov esi, DWORD PTR 4[edi]
640 mov esi, DWORD PTR 72[eax*4+edi]
641 mov ebp, DWORD PTR 1096[ebx*4+edi]
645 mov eax, DWORD PTR 2120[eax*4+edi]
647 mov ebp, DWORD PTR 3144[ebx*4+edi]
651 xor edx, DWORD PTR [edi]
652 mov eax, DWORD PTR 20[esp]
653 mov DWORD PTR [eax],edx
654 mov DWORD PTR 4[eax],ecx