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