1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from rc4-586.pl. */
3 #ifdef PIC
4 .text
5 .globl RC4
6 .type RC4,@function
7 .align 16
8 RC4:
9 .L_RC4_begin:
10 pushl %ebp
11 pushl %ebx
12 pushl %esi
13 pushl %edi
14 movl 20(%esp),%edi
15 movl 24(%esp),%edx
16 movl 28(%esp),%esi
17 movl 32(%esp),%ebp
18 xorl %eax,%eax
19 xorl %ebx,%ebx
20 cmpl $0,%edx
21 je .L000abort
22 movb (%edi),%al
23 movb 4(%edi),%bl
24 addl $8,%edi
25 leal (%esi,%edx,1),%ecx
26 subl %esi,%ebp
27 movl %ecx,24(%esp)
28 incb %al
29 cmpl $-1,256(%edi)
30 je .L001RC4_CHAR
31 movl (%edi,%eax,4),%ecx
32 andl $-4,%edx
33 jz .L002loop1
34 movl %ebp,32(%esp)
35 testl $-8,%edx
36 jz .L003go4loop4
37 call .L004PIC_me_up
38 .L004PIC_me_up:
39 popl %ebp
40 leal OPENSSL_ia32cap_P-.L004PIC_me_up(%ebp),%ebp
41 btl $26,(%ebp)
42 jnc .L003go4loop4
43 movl 32(%esp),%ebp
44 andl $-8,%edx
45 leal -8(%esi,%edx,1),%edx
46 movl %edx,-4(%edi)
47 addb %cl,%bl
48 movl (%edi,%ebx,4),%edx
49 movl %ecx,(%edi,%ebx,4)
50 movl %edx,(%edi,%eax,4)
51 incl %eax
52 addl %ecx,%edx
53 movzbl %al,%eax
54 movzbl %dl,%edx
55 movq (%esi),%mm0
56 movl (%edi,%eax,4),%ecx
57 movd (%edi,%edx,4),%mm2
58 jmp .L005loop_mmx_enter
59 .align 16
60 .L006loop_mmx:
61 addb %cl,%bl
62 psllq $56,%mm1
63 movl (%edi,%ebx,4),%edx
64 movl %ecx,(%edi,%ebx,4)
65 movl %edx,(%edi,%eax,4)
66 incl %eax
67 addl %ecx,%edx
68 movzbl %al,%eax
69 movzbl %dl,%edx
70 pxor %mm1,%mm2
71 movq (%esi),%mm0
72 movq %mm2,-8(%ebp,%esi,1)
73 movl (%edi,%eax,4),%ecx
74 movd (%edi,%edx,4),%mm2
75 .L005loop_mmx_enter:
76 addb %cl,%bl
77 movl (%edi,%ebx,4),%edx
78 movl %ecx,(%edi,%ebx,4)
79 movl %edx,(%edi,%eax,4)
80 incl %eax
81 addl %ecx,%edx
82 movzbl %al,%eax
83 movzbl %dl,%edx
84 pxor %mm0,%mm2
85 movl (%edi,%eax,4),%ecx
86 movd (%edi,%edx,4),%mm1
87 addb %cl,%bl
88 psllq $8,%mm1
89 movl (%edi,%ebx,4),%edx
90 movl %ecx,(%edi,%ebx,4)
91 movl %edx,(%edi,%eax,4)
92 incl %eax
93 addl %ecx,%edx
94 movzbl %al,%eax
95 movzbl %dl,%edx
96 pxor %mm1,%mm2
97 movl (%edi,%eax,4),%ecx
98 movd (%edi,%edx,4),%mm1
99 addb %cl,%bl
100 psllq $16,%mm1
101 movl (%edi,%ebx,4),%edx
102 movl %ecx,(%edi,%ebx,4)
103 movl %edx,(%edi,%eax,4)
104 incl %eax
105 addl %ecx,%edx
106 movzbl %al,%eax
107 movzbl %dl,%edx
108 pxor %mm1,%mm2
109 movl (%edi,%eax,4),%ecx
110 movd (%edi,%edx,4),%mm1
111 addb %cl,%bl
112 psllq $24,%mm1
113 movl (%edi,%ebx,4),%edx
114 movl %ecx,(%edi,%ebx,4)
115 movl %edx,(%edi,%eax,4)
116 incl %eax
117 addl %ecx,%edx
118 movzbl %al,%eax
119 movzbl %dl,%edx
120 pxor %mm1,%mm2
121 movl (%edi,%eax,4),%ecx
122 movd (%edi,%edx,4),%mm1
123 addb %cl,%bl
124 psllq $32,%mm1
125 movl (%edi,%ebx,4),%edx
126 movl %ecx,(%edi,%ebx,4)
127 movl %edx,(%edi,%eax,4)
128 incl %eax
129 addl %ecx,%edx
130 movzbl %al,%eax
131 movzbl %dl,%edx
132 pxor %mm1,%mm2
133 movl (%edi,%eax,4),%ecx
134 movd (%edi,%edx,4),%mm1
135 addb %cl,%bl
136 psllq $40,%mm1
137 movl (%edi,%ebx,4),%edx
138 movl %ecx,(%edi,%ebx,4)
139 movl %edx,(%edi,%eax,4)
140 incl %eax
141 addl %ecx,%edx
142 movzbl %al,%eax
143 movzbl %dl,%edx
144 pxor %mm1,%mm2
145 movl (%edi,%eax,4),%ecx
146 movd (%edi,%edx,4),%mm1
147 addb %cl,%bl
148 psllq $48,%mm1
149 movl (%edi,%ebx,4),%edx
150 movl %ecx,(%edi,%ebx,4)
151 movl %edx,(%edi,%eax,4)
152 incl %eax
153 addl %ecx,%edx
154 movzbl %al,%eax
155 movzbl %dl,%edx
156 pxor %mm1,%mm2
157 movl (%edi,%eax,4),%ecx
158 movd (%edi,%edx,4),%mm1
159 movl %ebx,%edx
160 xorl %ebx,%ebx
161 movb %dl,%bl
162 cmpl -4(%edi),%esi
163 leal 8(%esi),%esi
164 jb .L006loop_mmx
165 psllq $56,%mm1
166 pxor %mm1,%mm2
167 movq %mm2,-8(%ebp,%esi,1)
168 emms
169 cmpl 24(%esp),%esi
170 je .L007done
171 jmp .L002loop1
172 .align 16
173 .L003go4loop4:
174 leal -4(%esi,%edx,1),%edx
175 movl %edx,28(%esp)
176 .L008loop4:
177 addb %cl,%bl
178 movl (%edi,%ebx,4),%edx
179 movl %ecx,(%edi,%ebx,4)
180 movl %edx,(%edi,%eax,4)
181 addl %ecx,%edx
182 incb %al
183 andl $255,%edx
184 movl (%edi,%eax,4),%ecx
185 movl (%edi,%edx,4),%ebp
186 addb %cl,%bl
187 movl (%edi,%ebx,4),%edx
188 movl %ecx,(%edi,%ebx,4)
189 movl %edx,(%edi,%eax,4)
190 addl %ecx,%edx
191 incb %al
192 andl $255,%edx
193 rorl $8,%ebp
194 movl (%edi,%eax,4),%ecx
195 orl (%edi,%edx,4),%ebp
196 addb %cl,%bl
197 movl (%edi,%ebx,4),%edx
198 movl %ecx,(%edi,%ebx,4)
199 movl %edx,(%edi,%eax,4)
200 addl %ecx,%edx
201 incb %al
202 andl $255,%edx
203 rorl $8,%ebp
204 movl (%edi,%eax,4),%ecx
205 orl (%edi,%edx,4),%ebp
206 addb %cl,%bl
207 movl (%edi,%ebx,4),%edx
208 movl %ecx,(%edi,%ebx,4)
209 movl %edx,(%edi,%eax,4)
210 addl %ecx,%edx
211 incb %al
212 andl $255,%edx
213 rorl $8,%ebp
214 movl 32(%esp),%ecx
215 orl (%edi,%edx,4),%ebp
216 rorl $8,%ebp
217 xorl (%esi),%ebp
218 cmpl 28(%esp),%esi
219 movl %ebp,(%ecx,%esi,1)
220 leal 4(%esi),%esi
221 movl (%edi,%eax,4),%ecx
222 jb .L008loop4
223 cmpl 24(%esp),%esi
224 je .L007done
225 movl 32(%esp),%ebp
226 .align 16
227 .L002loop1:
228 addb %cl,%bl
229 movl (%edi,%ebx,4),%edx
230 movl %ecx,(%edi,%ebx,4)
231 movl %edx,(%edi,%eax,4)
232 addl %ecx,%edx
233 incb %al
234 andl $255,%edx
235 movl (%edi,%edx,4),%edx
236 xorb (%esi),%dl
237 leal 1(%esi),%esi
238 movl (%edi,%eax,4),%ecx
239 cmpl 24(%esp),%esi
240 movb %dl,-1(%ebp,%esi,1)
241 jb .L002loop1
242 jmp .L007done
243 .align 16
244 .L001RC4_CHAR:
245 movzbl (%edi,%eax,1),%ecx
246 .L009cloop1:
247 addb %cl,%bl
248 movzbl (%edi,%ebx,1),%edx
249 movb %cl,(%edi,%ebx,1)
250 movb %dl,(%edi,%eax,1)
251 addb %cl,%dl
252 movzbl (%edi,%edx,1),%edx
253 addb $1,%al
254 xorb (%esi),%dl
255 leal 1(%esi),%esi
256 movzbl (%edi,%eax,1),%ecx
257 cmpl 24(%esp),%esi
258 movb %dl,-1(%ebp,%esi,1)
259 jb .L009cloop1
260 .L007done:
261 decb %al
262 movl %ebx,-4(%edi)
263 movb %al,-8(%edi)
264 .L000abort:
265 popl %edi
266 popl %esi
267 popl %ebx
268 popl %ebp
269 ret
270 .size RC4,.-.L_RC4_begin
271 .globl RC4_set_key
272 .type RC4_set_key,@function
273 .align 16
274 RC4_set_key:
275 .L_RC4_set_key_begin:
276 pushl %ebp
277 pushl %ebx
278 pushl %esi
279 pushl %edi
280 movl 20(%esp),%edi
281 movl 24(%esp),%ebp
282 movl 28(%esp),%esi
283 call .L010PIC_me_up
284 .L010PIC_me_up:
285 popl %edx
286 leal OPENSSL_ia32cap_P-.L010PIC_me_up(%edx),%edx
287 leal 8(%edi),%edi
288 leal (%esi,%ebp,1),%esi
289 negl %ebp
290 xorl %eax,%eax
291 movl %ebp,-4(%edi)
292 btl $20,(%edx)
293 jc .L011c1stloop
294 .align 16
295 .L012w1stloop:
296 movl %eax,(%edi,%eax,4)
297 addb $1,%al
298 jnc .L012w1stloop
299 xorl %ecx,%ecx
300 xorl %edx,%edx
301 .align 16
302 .L013w2ndloop:
303 movl (%edi,%ecx,4),%eax
304 addb (%esi,%ebp,1),%dl
305 addb %al,%dl
306 addl $1,%ebp
307 movl (%edi,%edx,4),%ebx
308 jnz .L014wnowrap
309 movl -4(%edi),%ebp
310 .L014wnowrap:
311 movl %eax,(%edi,%edx,4)
312 movl %ebx,(%edi,%ecx,4)
313 addb $1,%cl
314 jnc .L013w2ndloop
315 jmp .L015exit
316 .align 16
317 .L011c1stloop:
318 movb %al,(%edi,%eax,1)
319 addb $1,%al
320 jnc .L011c1stloop
321 xorl %ecx,%ecx
322 xorl %edx,%edx
323 xorl %ebx,%ebx
324 .align 16
325 .L016c2ndloop:
326 movb (%edi,%ecx,1),%al
327 addb (%esi,%ebp,1),%dl
328 addb %al,%dl
329 addl $1,%ebp
330 movb (%edi,%edx,1),%bl
331 jnz .L017cnowrap
332 movl -4(%edi),%ebp
333 .L017cnowrap:
334 movb %al,(%edi,%edx,1)
335 movb %bl,(%edi,%ecx,1)
336 addb $1,%cl
337 jnc .L016c2ndloop
338 movl $-1,256(%edi)
339 .L015exit:
340 xorl %eax,%eax
341 movl %eax,-8(%edi)
342 movl %eax,-4(%edi)
343 popl %edi
344 popl %esi
345 popl %ebx
346 popl %ebp
347 ret
348 .size RC4_set_key,.-.L_RC4_set_key_begin
349 .globl RC4_options
350 .type RC4_options,@function
351 .align 16
352 RC4_options:
353 .L_RC4_options_begin:
354 call .L018pic_point
355 .L018pic_point:
356 popl %eax
357 leal .L019opts-.L018pic_point(%eax),%eax
358 call .L020PIC_me_up
359 .L020PIC_me_up:
360 popl %edx
361 leal OPENSSL_ia32cap_P-.L020PIC_me_up(%edx),%edx
362 movl (%edx),%edx
363 btl $20,%edx
364 jc .L0211xchar
365 btl $26,%edx
366 jnc .L022ret
367 addl $25,%eax
368 ret
369 .L0211xchar:
370 addl $12,%eax
371 .L022ret:
372 ret
373 .align 64
374 .L019opts:
375 .byte 114,99,52,40,52,120,44,105,110,116,41,0
376 .byte 114,99,52,40,49,120,44,99,104,97,114,41,0
377 .byte 114,99,52,40,56,120,44,109,109,120,41,0
378 .byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89
379 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
380 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
381 .align 64
382 .size RC4_options,.-.L_RC4_options_begin
383 .comm OPENSSL_ia32cap_P,16,4
384 #else
385 .text
386 .globl RC4
387 .type RC4,@function
388 .align 16
389 RC4:
390 .L_RC4_begin:
391 pushl %ebp
392 pushl %ebx
393 pushl %esi
394 pushl %edi
395 movl 20(%esp),%edi
396 movl 24(%esp),%edx
397 movl 28(%esp),%esi
398 movl 32(%esp),%ebp
399 xorl %eax,%eax
400 xorl %ebx,%ebx
401 cmpl $0,%edx
402 je .L000abort
403 movb (%edi),%al
404 movb 4(%edi),%bl
405 addl $8,%edi
406 leal (%esi,%edx,1),%ecx
407 subl %esi,%ebp
408 movl %ecx,24(%esp)
409 incb %al
410 cmpl $-1,256(%edi)
411 je .L001RC4_CHAR
412 movl (%edi,%eax,4),%ecx
413 andl $-4,%edx
414 jz .L002loop1
415 movl %ebp,32(%esp)
416 testl $-8,%edx
417 jz .L003go4loop4
418 leal OPENSSL_ia32cap_P,%ebp
419 btl $26,(%ebp)
420 jnc .L003go4loop4
421 movl 32(%esp),%ebp
422 andl $-8,%edx
423 leal -8(%esi,%edx,1),%edx
424 movl %edx,-4(%edi)
425 addb %cl,%bl
426 movl (%edi,%ebx,4),%edx
427 movl %ecx,(%edi,%ebx,4)
428 movl %edx,(%edi,%eax,4)
429 incl %eax
430 addl %ecx,%edx
431 movzbl %al,%eax
432 movzbl %dl,%edx
433 movq (%esi),%mm0
434 movl (%edi,%eax,4),%ecx
435 movd (%edi,%edx,4),%mm2
436 jmp .L004loop_mmx_enter
437 .align 16
438 .L005loop_mmx:
439 addb %cl,%bl
440 psllq $56,%mm1
441 movl (%edi,%ebx,4),%edx
442 movl %ecx,(%edi,%ebx,4)
443 movl %edx,(%edi,%eax,4)
444 incl %eax
445 addl %ecx,%edx
446 movzbl %al,%eax
447 movzbl %dl,%edx
448 pxor %mm1,%mm2
449 movq (%esi),%mm0
450 movq %mm2,-8(%ebp,%esi,1)
451 movl (%edi,%eax,4),%ecx
452 movd (%edi,%edx,4),%mm2
453 .L004loop_mmx_enter:
454 addb %cl,%bl
455 movl (%edi,%ebx,4),%edx
456 movl %ecx,(%edi,%ebx,4)
457 movl %edx,(%edi,%eax,4)
458 incl %eax
459 addl %ecx,%edx
460 movzbl %al,%eax
461 movzbl %dl,%edx
462 pxor %mm0,%mm2
463 movl (%edi,%eax,4),%ecx
464 movd (%edi,%edx,4),%mm1
465 addb %cl,%bl
466 psllq $8,%mm1
467 movl (%edi,%ebx,4),%edx
468 movl %ecx,(%edi,%ebx,4)
469 movl %edx,(%edi,%eax,4)
470 incl %eax
471 addl %ecx,%edx
472 movzbl %al,%eax
473 movzbl %dl,%edx
474 pxor %mm1,%mm2
475 movl (%edi,%eax,4),%ecx
476 movd (%edi,%edx,4),%mm1
477 addb %cl,%bl
478 psllq $16,%mm1
479 movl (%edi,%ebx,4),%edx
480 movl %ecx,(%edi,%ebx,4)
481 movl %edx,(%edi,%eax,4)
482 incl %eax
483 addl %ecx,%edx
484 movzbl %al,%eax
485 movzbl %dl,%edx
486 pxor %mm1,%mm2
487 movl (%edi,%eax,4),%ecx
488 movd (%edi,%edx,4),%mm1
489 addb %cl,%bl
490 psllq $24,%mm1
491 movl (%edi,%ebx,4),%edx
492 movl %ecx,(%edi,%ebx,4)
493 movl %edx,(%edi,%eax,4)
494 incl %eax
495 addl %ecx,%edx
496 movzbl %al,%eax
497 movzbl %dl,%edx
498 pxor %mm1,%mm2
499 movl (%edi,%eax,4),%ecx
500 movd (%edi,%edx,4),%mm1
501 addb %cl,%bl
502 psllq $32,%mm1
503 movl (%edi,%ebx,4),%edx
504 movl %ecx,(%edi,%ebx,4)
505 movl %edx,(%edi,%eax,4)
506 incl %eax
507 addl %ecx,%edx
508 movzbl %al,%eax
509 movzbl %dl,%edx
510 pxor %mm1,%mm2
511 movl (%edi,%eax,4),%ecx
512 movd (%edi,%edx,4),%mm1
513 addb %cl,%bl
514 psllq $40,%mm1
515 movl (%edi,%ebx,4),%edx
516 movl %ecx,(%edi,%ebx,4)
517 movl %edx,(%edi,%eax,4)
518 incl %eax
519 addl %ecx,%edx
520 movzbl %al,%eax
521 movzbl %dl,%edx
522 pxor %mm1,%mm2
523 movl (%edi,%eax,4),%ecx
524 movd (%edi,%edx,4),%mm1
525 addb %cl,%bl
526 psllq $48,%mm1
527 movl (%edi,%ebx,4),%edx
528 movl %ecx,(%edi,%ebx,4)
529 movl %edx,(%edi,%eax,4)
530 incl %eax
531 addl %ecx,%edx
532 movzbl %al,%eax
533 movzbl %dl,%edx
534 pxor %mm1,%mm2
535 movl (%edi,%eax,4),%ecx
536 movd (%edi,%edx,4),%mm1
537 movl %ebx,%edx
538 xorl %ebx,%ebx
539 movb %dl,%bl
540 cmpl -4(%edi),%esi
541 leal 8(%esi),%esi
542 jb .L005loop_mmx
543 psllq $56,%mm1
544 pxor %mm1,%mm2
545 movq %mm2,-8(%ebp,%esi,1)
546 emms
547 cmpl 24(%esp),%esi
548 je .L006done
549 jmp .L002loop1
550 .align 16
551 .L003go4loop4:
552 leal -4(%esi,%edx,1),%edx
553 movl %edx,28(%esp)
554 .L007loop4:
555 addb %cl,%bl
556 movl (%edi,%ebx,4),%edx
557 movl %ecx,(%edi,%ebx,4)
558 movl %edx,(%edi,%eax,4)
559 addl %ecx,%edx
560 incb %al
561 andl $255,%edx
562 movl (%edi,%eax,4),%ecx
563 movl (%edi,%edx,4),%ebp
564 addb %cl,%bl
565 movl (%edi,%ebx,4),%edx
566 movl %ecx,(%edi,%ebx,4)
567 movl %edx,(%edi,%eax,4)
568 addl %ecx,%edx
569 incb %al
570 andl $255,%edx
571 rorl $8,%ebp
572 movl (%edi,%eax,4),%ecx
573 orl (%edi,%edx,4),%ebp
574 addb %cl,%bl
575 movl (%edi,%ebx,4),%edx
576 movl %ecx,(%edi,%ebx,4)
577 movl %edx,(%edi,%eax,4)
578 addl %ecx,%edx
579 incb %al
580 andl $255,%edx
581 rorl $8,%ebp
582 movl (%edi,%eax,4),%ecx
583 orl (%edi,%edx,4),%ebp
584 addb %cl,%bl
585 movl (%edi,%ebx,4),%edx
586 movl %ecx,(%edi,%ebx,4)
587 movl %edx,(%edi,%eax,4)
588 addl %ecx,%edx
589 incb %al
590 andl $255,%edx
591 rorl $8,%ebp
592 movl 32(%esp),%ecx
593 orl (%edi,%edx,4),%ebp
594 rorl $8,%ebp
595 xorl (%esi),%ebp
596 cmpl 28(%esp),%esi
597 movl %ebp,(%ecx,%esi,1)
598 leal 4(%esi),%esi
599 movl (%edi,%eax,4),%ecx
600 jb .L007loop4
601 cmpl 24(%esp),%esi
602 je .L006done
603 movl 32(%esp),%ebp
604 .align 16
605 .L002loop1:
606 addb %cl,%bl
607 movl (%edi,%ebx,4),%edx
608 movl %ecx,(%edi,%ebx,4)
609 movl %edx,(%edi,%eax,4)
610 addl %ecx,%edx
611 incb %al
612 andl $255,%edx
613 movl (%edi,%edx,4),%edx
614 xorb (%esi),%dl
615 leal 1(%esi),%esi
616 movl (%edi,%eax,4),%ecx
617 cmpl 24(%esp),%esi
618 movb %dl,-1(%ebp,%esi,1)
619 jb .L002loop1
620 jmp .L006done
621 .align 16
622 .L001RC4_CHAR:
623 movzbl (%edi,%eax,1),%ecx
624 .L008cloop1:
625 addb %cl,%bl
626 movzbl (%edi,%ebx,1),%edx
627 movb %cl,(%edi,%ebx,1)
628 movb %dl,(%edi,%eax,1)
629 addb %cl,%dl
630 movzbl (%edi,%edx,1),%edx
631 addb $1,%al
632 xorb (%esi),%dl
633 leal 1(%esi),%esi
634 movzbl (%edi,%eax,1),%ecx
635 cmpl 24(%esp),%esi
636 movb %dl,-1(%ebp,%esi,1)
637 jb .L008cloop1
638 .L006done:
639 decb %al
640 movl %ebx,-4(%edi)
641 movb %al,-8(%edi)
642 .L000abort:
643 popl %edi
644 popl %esi
645 popl %ebx
646 popl %ebp
647 ret
648 .size RC4,.-.L_RC4_begin
649 .globl RC4_set_key
650 .type RC4_set_key,@function
651 .align 16
652 RC4_set_key:
653 .L_RC4_set_key_begin:
654 pushl %ebp
655 pushl %ebx
656 pushl %esi
657 pushl %edi
658 movl 20(%esp),%edi
659 movl 24(%esp),%ebp
660 movl 28(%esp),%esi
661 leal OPENSSL_ia32cap_P,%edx
662 leal 8(%edi),%edi
663 leal (%esi,%ebp,1),%esi
664 negl %ebp
665 xorl %eax,%eax
666 movl %ebp,-4(%edi)
667 btl $20,(%edx)
668 jc .L009c1stloop
669 .align 16
670 .L010w1stloop:
671 movl %eax,(%edi,%eax,4)
672 addb $1,%al
673 jnc .L010w1stloop
674 xorl %ecx,%ecx
675 xorl %edx,%edx
676 .align 16
677 .L011w2ndloop:
678 movl (%edi,%ecx,4),%eax
679 addb (%esi,%ebp,1),%dl
680 addb %al,%dl
681 addl $1,%ebp
682 movl (%edi,%edx,4),%ebx
683 jnz .L012wnowrap
684 movl -4(%edi),%ebp
685 .L012wnowrap:
686 movl %eax,(%edi,%edx,4)
687 movl %ebx,(%edi,%ecx,4)
688 addb $1,%cl
689 jnc .L011w2ndloop
690 jmp .L013exit
691 .align 16
692 .L009c1stloop:
693 movb %al,(%edi,%eax,1)
694 addb $1,%al
695 jnc .L009c1stloop
696 xorl %ecx,%ecx
697 xorl %edx,%edx
698 xorl %ebx,%ebx
699 .align 16
700 .L014c2ndloop:
701 movb (%edi,%ecx,1),%al
702 addb (%esi,%ebp,1),%dl
703 addb %al,%dl
704 addl $1,%ebp
705 movb (%edi,%edx,1),%bl
706 jnz .L015cnowrap
707 movl -4(%edi),%ebp
708 .L015cnowrap:
709 movb %al,(%edi,%edx,1)
710 movb %bl,(%edi,%ecx,1)
711 addb $1,%cl
712 jnc .L014c2ndloop
713 movl $-1,256(%edi)
714 .L013exit:
715 xorl %eax,%eax
716 movl %eax,-8(%edi)
717 movl %eax,-4(%edi)
718 popl %edi
719 popl %esi
720 popl %ebx
721 popl %ebp
722 ret
723 .size RC4_set_key,.-.L_RC4_set_key_begin
724 .globl RC4_options
725 .type RC4_options,@function
726 .align 16
727 RC4_options:
728 .L_RC4_options_begin:
729 call .L016pic_point
730 .L016pic_point:
731 popl %eax
732 leal .L017opts-.L016pic_point(%eax),%eax
733 leal OPENSSL_ia32cap_P,%edx
734 movl (%edx),%edx
735 btl $20,%edx
736 jc .L0181xchar
737 btl $26,%edx
738 jnc .L019ret
739 addl $25,%eax
740 ret
741 .L0181xchar:
742 addl $12,%eax
743 .L019ret:
744 ret
745 .align 64
746 .L017opts:
747 .byte 114,99,52,40,52,120,44,105,110,116,41,0
748 .byte 114,99,52,40,49,120,44,99,104,97,114,41,0
749 .byte 114,99,52,40,56,120,44,109,109,120,41,0
750 .byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89
751 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
752 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
753 .align 64
754 .size RC4_options,.-.L_RC4_options_begin
755 .comm OPENSSL_ia32cap_P,16,4
756 #endif
Cache object: 1cf315db8f9b231bae56346f3cb4a8ab
|