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 8RC4: 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 274RC4_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 352RC4_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 389RC4: 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 652RC4_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 727RC4_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 757