1.text 2.globl _fcrypt_body 3.align 4 4_fcrypt_body: 5L_fcrypt_body_begin: 6 %ifdef __CET__ 7 8.byte 243,15,30,251 9 %endif 10 11 pushl %ebp 12 pushl %ebx 13 pushl %esi 14 pushl %edi 15 16 # Load the 2 words 17 xorl %edi,%edi 18 xorl %esi,%esi 19 call L000PIC_me_up 20L000PIC_me_up: 21 popl %edx 22 movl L_DES_SPtrans$non_lazy_ptr-L000PIC_me_up(%edx),%edx 23 pushl %edx 24 movl 28(%esp),%ebp 25 pushl $25 26L001start: 27 28 # Round 0 29 movl 36(%esp),%eax 30 movl %esi,%edx 31 shrl $16,%edx 32 movl 40(%esp),%ecx 33 xorl %esi,%edx 34 andl %edx,%eax 35 andl %ecx,%edx 36 movl %eax,%ebx 37 shll $16,%ebx 38 movl %edx,%ecx 39 shll $16,%ecx 40 xorl %ebx,%eax 41 xorl %ecx,%edx 42 movl (%ebp),%ebx 43 xorl %ebx,%eax 44 movl 4(%ebp),%ecx 45 xorl %esi,%eax 46 xorl %esi,%edx 47 xorl %ecx,%edx 48 andl $0xfcfcfcfc,%eax 49 xorl %ebx,%ebx 50 andl $0xcfcfcfcf,%edx 51 xorl %ecx,%ecx 52 movb %al,%bl 53 movb %ah,%cl 54 rorl $4,%edx 55 movl 4(%esp),%ebp 56 xorl (%ebp,%ebx,1),%edi 57 movb %dl,%bl 58 xorl 0x200(%ebp,%ecx,1),%edi 59 movb %dh,%cl 60 shrl $16,%eax 61 xorl 0x100(%ebp,%ebx,1),%edi 62 movb %ah,%bl 63 shrl $16,%edx 64 xorl 0x300(%ebp,%ecx,1),%edi 65 movb %dh,%cl 66 andl $0xff,%eax 67 andl $0xff,%edx 68 movl 0x600(%ebp,%ebx,1),%ebx 69 xorl %ebx,%edi 70 movl 0x700(%ebp,%ecx,1),%ebx 71 xorl %ebx,%edi 72 movl 0x400(%ebp,%eax,1),%ebx 73 xorl %ebx,%edi 74 movl 0x500(%ebp,%edx,1),%ebx 75 xorl %ebx,%edi 76 movl 32(%esp),%ebp 77 78 # Round 1 79 movl 36(%esp),%eax 80 movl %edi,%edx 81 shrl $16,%edx 82 movl 40(%esp),%ecx 83 xorl %edi,%edx 84 andl %edx,%eax 85 andl %ecx,%edx 86 movl %eax,%ebx 87 shll $16,%ebx 88 movl %edx,%ecx 89 shll $16,%ecx 90 xorl %ebx,%eax 91 xorl %ecx,%edx 92 movl 8(%ebp),%ebx 93 xorl %ebx,%eax 94 movl 12(%ebp),%ecx 95 xorl %edi,%eax 96 xorl %edi,%edx 97 xorl %ecx,%edx 98 andl $0xfcfcfcfc,%eax 99 xorl %ebx,%ebx 100 andl $0xcfcfcfcf,%edx 101 xorl %ecx,%ecx 102 movb %al,%bl 103 movb %ah,%cl 104 rorl $4,%edx 105 movl 4(%esp),%ebp 106 xorl (%ebp,%ebx,1),%esi 107 movb %dl,%bl 108 xorl 0x200(%ebp,%ecx,1),%esi 109 movb %dh,%cl 110 shrl $16,%eax 111 xorl 0x100(%ebp,%ebx,1),%esi 112 movb %ah,%bl 113 shrl $16,%edx 114 xorl 0x300(%ebp,%ecx,1),%esi 115 movb %dh,%cl 116 andl $0xff,%eax 117 andl $0xff,%edx 118 movl 0x600(%ebp,%ebx,1),%ebx 119 xorl %ebx,%esi 120 movl 0x700(%ebp,%ecx,1),%ebx 121 xorl %ebx,%esi 122 movl 0x400(%ebp,%eax,1),%ebx 123 xorl %ebx,%esi 124 movl 0x500(%ebp,%edx,1),%ebx 125 xorl %ebx,%esi 126 movl 32(%esp),%ebp 127 128 # Round 2 129 movl 36(%esp),%eax 130 movl %esi,%edx 131 shrl $16,%edx 132 movl 40(%esp),%ecx 133 xorl %esi,%edx 134 andl %edx,%eax 135 andl %ecx,%edx 136 movl %eax,%ebx 137 shll $16,%ebx 138 movl %edx,%ecx 139 shll $16,%ecx 140 xorl %ebx,%eax 141 xorl %ecx,%edx 142 movl 16(%ebp),%ebx 143 xorl %ebx,%eax 144 movl 20(%ebp),%ecx 145 xorl %esi,%eax 146 xorl %esi,%edx 147 xorl %ecx,%edx 148 andl $0xfcfcfcfc,%eax 149 xorl %ebx,%ebx 150 andl $0xcfcfcfcf,%edx 151 xorl %ecx,%ecx 152 movb %al,%bl 153 movb %ah,%cl 154 rorl $4,%edx 155 movl 4(%esp),%ebp 156 xorl (%ebp,%ebx,1),%edi 157 movb %dl,%bl 158 xorl 0x200(%ebp,%ecx,1),%edi 159 movb %dh,%cl 160 shrl $16,%eax 161 xorl 0x100(%ebp,%ebx,1),%edi 162 movb %ah,%bl 163 shrl $16,%edx 164 xorl 0x300(%ebp,%ecx,1),%edi 165 movb %dh,%cl 166 andl $0xff,%eax 167 andl $0xff,%edx 168 movl 0x600(%ebp,%ebx,1),%ebx 169 xorl %ebx,%edi 170 movl 0x700(%ebp,%ecx,1),%ebx 171 xorl %ebx,%edi 172 movl 0x400(%ebp,%eax,1),%ebx 173 xorl %ebx,%edi 174 movl 0x500(%ebp,%edx,1),%ebx 175 xorl %ebx,%edi 176 movl 32(%esp),%ebp 177 178 # Round 3 179 movl 36(%esp),%eax 180 movl %edi,%edx 181 shrl $16,%edx 182 movl 40(%esp),%ecx 183 xorl %edi,%edx 184 andl %edx,%eax 185 andl %ecx,%edx 186 movl %eax,%ebx 187 shll $16,%ebx 188 movl %edx,%ecx 189 shll $16,%ecx 190 xorl %ebx,%eax 191 xorl %ecx,%edx 192 movl 24(%ebp),%ebx 193 xorl %ebx,%eax 194 movl 28(%ebp),%ecx 195 xorl %edi,%eax 196 xorl %edi,%edx 197 xorl %ecx,%edx 198 andl $0xfcfcfcfc,%eax 199 xorl %ebx,%ebx 200 andl $0xcfcfcfcf,%edx 201 xorl %ecx,%ecx 202 movb %al,%bl 203 movb %ah,%cl 204 rorl $4,%edx 205 movl 4(%esp),%ebp 206 xorl (%ebp,%ebx,1),%esi 207 movb %dl,%bl 208 xorl 0x200(%ebp,%ecx,1),%esi 209 movb %dh,%cl 210 shrl $16,%eax 211 xorl 0x100(%ebp,%ebx,1),%esi 212 movb %ah,%bl 213 shrl $16,%edx 214 xorl 0x300(%ebp,%ecx,1),%esi 215 movb %dh,%cl 216 andl $0xff,%eax 217 andl $0xff,%edx 218 movl 0x600(%ebp,%ebx,1),%ebx 219 xorl %ebx,%esi 220 movl 0x700(%ebp,%ecx,1),%ebx 221 xorl %ebx,%esi 222 movl 0x400(%ebp,%eax,1),%ebx 223 xorl %ebx,%esi 224 movl 0x500(%ebp,%edx,1),%ebx 225 xorl %ebx,%esi 226 movl 32(%esp),%ebp 227 228 # Round 4 229 movl 36(%esp),%eax 230 movl %esi,%edx 231 shrl $16,%edx 232 movl 40(%esp),%ecx 233 xorl %esi,%edx 234 andl %edx,%eax 235 andl %ecx,%edx 236 movl %eax,%ebx 237 shll $16,%ebx 238 movl %edx,%ecx 239 shll $16,%ecx 240 xorl %ebx,%eax 241 xorl %ecx,%edx 242 movl 32(%ebp),%ebx 243 xorl %ebx,%eax 244 movl 36(%ebp),%ecx 245 xorl %esi,%eax 246 xorl %esi,%edx 247 xorl %ecx,%edx 248 andl $0xfcfcfcfc,%eax 249 xorl %ebx,%ebx 250 andl $0xcfcfcfcf,%edx 251 xorl %ecx,%ecx 252 movb %al,%bl 253 movb %ah,%cl 254 rorl $4,%edx 255 movl 4(%esp),%ebp 256 xorl (%ebp,%ebx,1),%edi 257 movb %dl,%bl 258 xorl 0x200(%ebp,%ecx,1),%edi 259 movb %dh,%cl 260 shrl $16,%eax 261 xorl 0x100(%ebp,%ebx,1),%edi 262 movb %ah,%bl 263 shrl $16,%edx 264 xorl 0x300(%ebp,%ecx,1),%edi 265 movb %dh,%cl 266 andl $0xff,%eax 267 andl $0xff,%edx 268 movl 0x600(%ebp,%ebx,1),%ebx 269 xorl %ebx,%edi 270 movl 0x700(%ebp,%ecx,1),%ebx 271 xorl %ebx,%edi 272 movl 0x400(%ebp,%eax,1),%ebx 273 xorl %ebx,%edi 274 movl 0x500(%ebp,%edx,1),%ebx 275 xorl %ebx,%edi 276 movl 32(%esp),%ebp 277 278 # Round 5 279 movl 36(%esp),%eax 280 movl %edi,%edx 281 shrl $16,%edx 282 movl 40(%esp),%ecx 283 xorl %edi,%edx 284 andl %edx,%eax 285 andl %ecx,%edx 286 movl %eax,%ebx 287 shll $16,%ebx 288 movl %edx,%ecx 289 shll $16,%ecx 290 xorl %ebx,%eax 291 xorl %ecx,%edx 292 movl 40(%ebp),%ebx 293 xorl %ebx,%eax 294 movl 44(%ebp),%ecx 295 xorl %edi,%eax 296 xorl %edi,%edx 297 xorl %ecx,%edx 298 andl $0xfcfcfcfc,%eax 299 xorl %ebx,%ebx 300 andl $0xcfcfcfcf,%edx 301 xorl %ecx,%ecx 302 movb %al,%bl 303 movb %ah,%cl 304 rorl $4,%edx 305 movl 4(%esp),%ebp 306 xorl (%ebp,%ebx,1),%esi 307 movb %dl,%bl 308 xorl 0x200(%ebp,%ecx,1),%esi 309 movb %dh,%cl 310 shrl $16,%eax 311 xorl 0x100(%ebp,%ebx,1),%esi 312 movb %ah,%bl 313 shrl $16,%edx 314 xorl 0x300(%ebp,%ecx,1),%esi 315 movb %dh,%cl 316 andl $0xff,%eax 317 andl $0xff,%edx 318 movl 0x600(%ebp,%ebx,1),%ebx 319 xorl %ebx,%esi 320 movl 0x700(%ebp,%ecx,1),%ebx 321 xorl %ebx,%esi 322 movl 0x400(%ebp,%eax,1),%ebx 323 xorl %ebx,%esi 324 movl 0x500(%ebp,%edx,1),%ebx 325 xorl %ebx,%esi 326 movl 32(%esp),%ebp 327 328 # Round 6 329 movl 36(%esp),%eax 330 movl %esi,%edx 331 shrl $16,%edx 332 movl 40(%esp),%ecx 333 xorl %esi,%edx 334 andl %edx,%eax 335 andl %ecx,%edx 336 movl %eax,%ebx 337 shll $16,%ebx 338 movl %edx,%ecx 339 shll $16,%ecx 340 xorl %ebx,%eax 341 xorl %ecx,%edx 342 movl 48(%ebp),%ebx 343 xorl %ebx,%eax 344 movl 52(%ebp),%ecx 345 xorl %esi,%eax 346 xorl %esi,%edx 347 xorl %ecx,%edx 348 andl $0xfcfcfcfc,%eax 349 xorl %ebx,%ebx 350 andl $0xcfcfcfcf,%edx 351 xorl %ecx,%ecx 352 movb %al,%bl 353 movb %ah,%cl 354 rorl $4,%edx 355 movl 4(%esp),%ebp 356 xorl (%ebp,%ebx,1),%edi 357 movb %dl,%bl 358 xorl 0x200(%ebp,%ecx,1),%edi 359 movb %dh,%cl 360 shrl $16,%eax 361 xorl 0x100(%ebp,%ebx,1),%edi 362 movb %ah,%bl 363 shrl $16,%edx 364 xorl 0x300(%ebp,%ecx,1),%edi 365 movb %dh,%cl 366 andl $0xff,%eax 367 andl $0xff,%edx 368 movl 0x600(%ebp,%ebx,1),%ebx 369 xorl %ebx,%edi 370 movl 0x700(%ebp,%ecx,1),%ebx 371 xorl %ebx,%edi 372 movl 0x400(%ebp,%eax,1),%ebx 373 xorl %ebx,%edi 374 movl 0x500(%ebp,%edx,1),%ebx 375 xorl %ebx,%edi 376 movl 32(%esp),%ebp 377 378 # Round 7 379 movl 36(%esp),%eax 380 movl %edi,%edx 381 shrl $16,%edx 382 movl 40(%esp),%ecx 383 xorl %edi,%edx 384 andl %edx,%eax 385 andl %ecx,%edx 386 movl %eax,%ebx 387 shll $16,%ebx 388 movl %edx,%ecx 389 shll $16,%ecx 390 xorl %ebx,%eax 391 xorl %ecx,%edx 392 movl 56(%ebp),%ebx 393 xorl %ebx,%eax 394 movl 60(%ebp),%ecx 395 xorl %edi,%eax 396 xorl %edi,%edx 397 xorl %ecx,%edx 398 andl $0xfcfcfcfc,%eax 399 xorl %ebx,%ebx 400 andl $0xcfcfcfcf,%edx 401 xorl %ecx,%ecx 402 movb %al,%bl 403 movb %ah,%cl 404 rorl $4,%edx 405 movl 4(%esp),%ebp 406 xorl (%ebp,%ebx,1),%esi 407 movb %dl,%bl 408 xorl 0x200(%ebp,%ecx,1),%esi 409 movb %dh,%cl 410 shrl $16,%eax 411 xorl 0x100(%ebp,%ebx,1),%esi 412 movb %ah,%bl 413 shrl $16,%edx 414 xorl 0x300(%ebp,%ecx,1),%esi 415 movb %dh,%cl 416 andl $0xff,%eax 417 andl $0xff,%edx 418 movl 0x600(%ebp,%ebx,1),%ebx 419 xorl %ebx,%esi 420 movl 0x700(%ebp,%ecx,1),%ebx 421 xorl %ebx,%esi 422 movl 0x400(%ebp,%eax,1),%ebx 423 xorl %ebx,%esi 424 movl 0x500(%ebp,%edx,1),%ebx 425 xorl %ebx,%esi 426 movl 32(%esp),%ebp 427 428 # Round 8 429 movl 36(%esp),%eax 430 movl %esi,%edx 431 shrl $16,%edx 432 movl 40(%esp),%ecx 433 xorl %esi,%edx 434 andl %edx,%eax 435 andl %ecx,%edx 436 movl %eax,%ebx 437 shll $16,%ebx 438 movl %edx,%ecx 439 shll $16,%ecx 440 xorl %ebx,%eax 441 xorl %ecx,%edx 442 movl 64(%ebp),%ebx 443 xorl %ebx,%eax 444 movl 68(%ebp),%ecx 445 xorl %esi,%eax 446 xorl %esi,%edx 447 xorl %ecx,%edx 448 andl $0xfcfcfcfc,%eax 449 xorl %ebx,%ebx 450 andl $0xcfcfcfcf,%edx 451 xorl %ecx,%ecx 452 movb %al,%bl 453 movb %ah,%cl 454 rorl $4,%edx 455 movl 4(%esp),%ebp 456 xorl (%ebp,%ebx,1),%edi 457 movb %dl,%bl 458 xorl 0x200(%ebp,%ecx,1),%edi 459 movb %dh,%cl 460 shrl $16,%eax 461 xorl 0x100(%ebp,%ebx,1),%edi 462 movb %ah,%bl 463 shrl $16,%edx 464 xorl 0x300(%ebp,%ecx,1),%edi 465 movb %dh,%cl 466 andl $0xff,%eax 467 andl $0xff,%edx 468 movl 0x600(%ebp,%ebx,1),%ebx 469 xorl %ebx,%edi 470 movl 0x700(%ebp,%ecx,1),%ebx 471 xorl %ebx,%edi 472 movl 0x400(%ebp,%eax,1),%ebx 473 xorl %ebx,%edi 474 movl 0x500(%ebp,%edx,1),%ebx 475 xorl %ebx,%edi 476 movl 32(%esp),%ebp 477 478 # Round 9 479 movl 36(%esp),%eax 480 movl %edi,%edx 481 shrl $16,%edx 482 movl 40(%esp),%ecx 483 xorl %edi,%edx 484 andl %edx,%eax 485 andl %ecx,%edx 486 movl %eax,%ebx 487 shll $16,%ebx 488 movl %edx,%ecx 489 shll $16,%ecx 490 xorl %ebx,%eax 491 xorl %ecx,%edx 492 movl 72(%ebp),%ebx 493 xorl %ebx,%eax 494 movl 76(%ebp),%ecx 495 xorl %edi,%eax 496 xorl %edi,%edx 497 xorl %ecx,%edx 498 andl $0xfcfcfcfc,%eax 499 xorl %ebx,%ebx 500 andl $0xcfcfcfcf,%edx 501 xorl %ecx,%ecx 502 movb %al,%bl 503 movb %ah,%cl 504 rorl $4,%edx 505 movl 4(%esp),%ebp 506 xorl (%ebp,%ebx,1),%esi 507 movb %dl,%bl 508 xorl 0x200(%ebp,%ecx,1),%esi 509 movb %dh,%cl 510 shrl $16,%eax 511 xorl 0x100(%ebp,%ebx,1),%esi 512 movb %ah,%bl 513 shrl $16,%edx 514 xorl 0x300(%ebp,%ecx,1),%esi 515 movb %dh,%cl 516 andl $0xff,%eax 517 andl $0xff,%edx 518 movl 0x600(%ebp,%ebx,1),%ebx 519 xorl %ebx,%esi 520 movl 0x700(%ebp,%ecx,1),%ebx 521 xorl %ebx,%esi 522 movl 0x400(%ebp,%eax,1),%ebx 523 xorl %ebx,%esi 524 movl 0x500(%ebp,%edx,1),%ebx 525 xorl %ebx,%esi 526 movl 32(%esp),%ebp 527 528 # Round 10 529 movl 36(%esp),%eax 530 movl %esi,%edx 531 shrl $16,%edx 532 movl 40(%esp),%ecx 533 xorl %esi,%edx 534 andl %edx,%eax 535 andl %ecx,%edx 536 movl %eax,%ebx 537 shll $16,%ebx 538 movl %edx,%ecx 539 shll $16,%ecx 540 xorl %ebx,%eax 541 xorl %ecx,%edx 542 movl 80(%ebp),%ebx 543 xorl %ebx,%eax 544 movl 84(%ebp),%ecx 545 xorl %esi,%eax 546 xorl %esi,%edx 547 xorl %ecx,%edx 548 andl $0xfcfcfcfc,%eax 549 xorl %ebx,%ebx 550 andl $0xcfcfcfcf,%edx 551 xorl %ecx,%ecx 552 movb %al,%bl 553 movb %ah,%cl 554 rorl $4,%edx 555 movl 4(%esp),%ebp 556 xorl (%ebp,%ebx,1),%edi 557 movb %dl,%bl 558 xorl 0x200(%ebp,%ecx,1),%edi 559 movb %dh,%cl 560 shrl $16,%eax 561 xorl 0x100(%ebp,%ebx,1),%edi 562 movb %ah,%bl 563 shrl $16,%edx 564 xorl 0x300(%ebp,%ecx,1),%edi 565 movb %dh,%cl 566 andl $0xff,%eax 567 andl $0xff,%edx 568 movl 0x600(%ebp,%ebx,1),%ebx 569 xorl %ebx,%edi 570 movl 0x700(%ebp,%ecx,1),%ebx 571 xorl %ebx,%edi 572 movl 0x400(%ebp,%eax,1),%ebx 573 xorl %ebx,%edi 574 movl 0x500(%ebp,%edx,1),%ebx 575 xorl %ebx,%edi 576 movl 32(%esp),%ebp 577 578 # Round 11 579 movl 36(%esp),%eax 580 movl %edi,%edx 581 shrl $16,%edx 582 movl 40(%esp),%ecx 583 xorl %edi,%edx 584 andl %edx,%eax 585 andl %ecx,%edx 586 movl %eax,%ebx 587 shll $16,%ebx 588 movl %edx,%ecx 589 shll $16,%ecx 590 xorl %ebx,%eax 591 xorl %ecx,%edx 592 movl 88(%ebp),%ebx 593 xorl %ebx,%eax 594 movl 92(%ebp),%ecx 595 xorl %edi,%eax 596 xorl %edi,%edx 597 xorl %ecx,%edx 598 andl $0xfcfcfcfc,%eax 599 xorl %ebx,%ebx 600 andl $0xcfcfcfcf,%edx 601 xorl %ecx,%ecx 602 movb %al,%bl 603 movb %ah,%cl 604 rorl $4,%edx 605 movl 4(%esp),%ebp 606 xorl (%ebp,%ebx,1),%esi 607 movb %dl,%bl 608 xorl 0x200(%ebp,%ecx,1),%esi 609 movb %dh,%cl 610 shrl $16,%eax 611 xorl 0x100(%ebp,%ebx,1),%esi 612 movb %ah,%bl 613 shrl $16,%edx 614 xorl 0x300(%ebp,%ecx,1),%esi 615 movb %dh,%cl 616 andl $0xff,%eax 617 andl $0xff,%edx 618 movl 0x600(%ebp,%ebx,1),%ebx 619 xorl %ebx,%esi 620 movl 0x700(%ebp,%ecx,1),%ebx 621 xorl %ebx,%esi 622 movl 0x400(%ebp,%eax,1),%ebx 623 xorl %ebx,%esi 624 movl 0x500(%ebp,%edx,1),%ebx 625 xorl %ebx,%esi 626 movl 32(%esp),%ebp 627 628 # Round 12 629 movl 36(%esp),%eax 630 movl %esi,%edx 631 shrl $16,%edx 632 movl 40(%esp),%ecx 633 xorl %esi,%edx 634 andl %edx,%eax 635 andl %ecx,%edx 636 movl %eax,%ebx 637 shll $16,%ebx 638 movl %edx,%ecx 639 shll $16,%ecx 640 xorl %ebx,%eax 641 xorl %ecx,%edx 642 movl 96(%ebp),%ebx 643 xorl %ebx,%eax 644 movl 100(%ebp),%ecx 645 xorl %esi,%eax 646 xorl %esi,%edx 647 xorl %ecx,%edx 648 andl $0xfcfcfcfc,%eax 649 xorl %ebx,%ebx 650 andl $0xcfcfcfcf,%edx 651 xorl %ecx,%ecx 652 movb %al,%bl 653 movb %ah,%cl 654 rorl $4,%edx 655 movl 4(%esp),%ebp 656 xorl (%ebp,%ebx,1),%edi 657 movb %dl,%bl 658 xorl 0x200(%ebp,%ecx,1),%edi 659 movb %dh,%cl 660 shrl $16,%eax 661 xorl 0x100(%ebp,%ebx,1),%edi 662 movb %ah,%bl 663 shrl $16,%edx 664 xorl 0x300(%ebp,%ecx,1),%edi 665 movb %dh,%cl 666 andl $0xff,%eax 667 andl $0xff,%edx 668 movl 0x600(%ebp,%ebx,1),%ebx 669 xorl %ebx,%edi 670 movl 0x700(%ebp,%ecx,1),%ebx 671 xorl %ebx,%edi 672 movl 0x400(%ebp,%eax,1),%ebx 673 xorl %ebx,%edi 674 movl 0x500(%ebp,%edx,1),%ebx 675 xorl %ebx,%edi 676 movl 32(%esp),%ebp 677 678 # Round 13 679 movl 36(%esp),%eax 680 movl %edi,%edx 681 shrl $16,%edx 682 movl 40(%esp),%ecx 683 xorl %edi,%edx 684 andl %edx,%eax 685 andl %ecx,%edx 686 movl %eax,%ebx 687 shll $16,%ebx 688 movl %edx,%ecx 689 shll $16,%ecx 690 xorl %ebx,%eax 691 xorl %ecx,%edx 692 movl 104(%ebp),%ebx 693 xorl %ebx,%eax 694 movl 108(%ebp),%ecx 695 xorl %edi,%eax 696 xorl %edi,%edx 697 xorl %ecx,%edx 698 andl $0xfcfcfcfc,%eax 699 xorl %ebx,%ebx 700 andl $0xcfcfcfcf,%edx 701 xorl %ecx,%ecx 702 movb %al,%bl 703 movb %ah,%cl 704 rorl $4,%edx 705 movl 4(%esp),%ebp 706 xorl (%ebp,%ebx,1),%esi 707 movb %dl,%bl 708 xorl 0x200(%ebp,%ecx,1),%esi 709 movb %dh,%cl 710 shrl $16,%eax 711 xorl 0x100(%ebp,%ebx,1),%esi 712 movb %ah,%bl 713 shrl $16,%edx 714 xorl 0x300(%ebp,%ecx,1),%esi 715 movb %dh,%cl 716 andl $0xff,%eax 717 andl $0xff,%edx 718 movl 0x600(%ebp,%ebx,1),%ebx 719 xorl %ebx,%esi 720 movl 0x700(%ebp,%ecx,1),%ebx 721 xorl %ebx,%esi 722 movl 0x400(%ebp,%eax,1),%ebx 723 xorl %ebx,%esi 724 movl 0x500(%ebp,%edx,1),%ebx 725 xorl %ebx,%esi 726 movl 32(%esp),%ebp 727 728 # Round 14 729 movl 36(%esp),%eax 730 movl %esi,%edx 731 shrl $16,%edx 732 movl 40(%esp),%ecx 733 xorl %esi,%edx 734 andl %edx,%eax 735 andl %ecx,%edx 736 movl %eax,%ebx 737 shll $16,%ebx 738 movl %edx,%ecx 739 shll $16,%ecx 740 xorl %ebx,%eax 741 xorl %ecx,%edx 742 movl 112(%ebp),%ebx 743 xorl %ebx,%eax 744 movl 116(%ebp),%ecx 745 xorl %esi,%eax 746 xorl %esi,%edx 747 xorl %ecx,%edx 748 andl $0xfcfcfcfc,%eax 749 xorl %ebx,%ebx 750 andl $0xcfcfcfcf,%edx 751 xorl %ecx,%ecx 752 movb %al,%bl 753 movb %ah,%cl 754 rorl $4,%edx 755 movl 4(%esp),%ebp 756 xorl (%ebp,%ebx,1),%edi 757 movb %dl,%bl 758 xorl 0x200(%ebp,%ecx,1),%edi 759 movb %dh,%cl 760 shrl $16,%eax 761 xorl 0x100(%ebp,%ebx,1),%edi 762 movb %ah,%bl 763 shrl $16,%edx 764 xorl 0x300(%ebp,%ecx,1),%edi 765 movb %dh,%cl 766 andl $0xff,%eax 767 andl $0xff,%edx 768 movl 0x600(%ebp,%ebx,1),%ebx 769 xorl %ebx,%edi 770 movl 0x700(%ebp,%ecx,1),%ebx 771 xorl %ebx,%edi 772 movl 0x400(%ebp,%eax,1),%ebx 773 xorl %ebx,%edi 774 movl 0x500(%ebp,%edx,1),%ebx 775 xorl %ebx,%edi 776 movl 32(%esp),%ebp 777 778 # Round 15 779 movl 36(%esp),%eax 780 movl %edi,%edx 781 shrl $16,%edx 782 movl 40(%esp),%ecx 783 xorl %edi,%edx 784 andl %edx,%eax 785 andl %ecx,%edx 786 movl %eax,%ebx 787 shll $16,%ebx 788 movl %edx,%ecx 789 shll $16,%ecx 790 xorl %ebx,%eax 791 xorl %ecx,%edx 792 movl 120(%ebp),%ebx 793 xorl %ebx,%eax 794 movl 124(%ebp),%ecx 795 xorl %edi,%eax 796 xorl %edi,%edx 797 xorl %ecx,%edx 798 andl $0xfcfcfcfc,%eax 799 xorl %ebx,%ebx 800 andl $0xcfcfcfcf,%edx 801 xorl %ecx,%ecx 802 movb %al,%bl 803 movb %ah,%cl 804 rorl $4,%edx 805 movl 4(%esp),%ebp 806 xorl (%ebp,%ebx,1),%esi 807 movb %dl,%bl 808 xorl 0x200(%ebp,%ecx,1),%esi 809 movb %dh,%cl 810 shrl $16,%eax 811 xorl 0x100(%ebp,%ebx,1),%esi 812 movb %ah,%bl 813 shrl $16,%edx 814 xorl 0x300(%ebp,%ecx,1),%esi 815 movb %dh,%cl 816 andl $0xff,%eax 817 andl $0xff,%edx 818 movl 0x600(%ebp,%ebx,1),%ebx 819 xorl %ebx,%esi 820 movl 0x700(%ebp,%ecx,1),%ebx 821 xorl %ebx,%esi 822 movl 0x400(%ebp,%eax,1),%ebx 823 xorl %ebx,%esi 824 movl 0x500(%ebp,%edx,1),%ebx 825 xorl %ebx,%esi 826 movl 32(%esp),%ebp 827 movl (%esp),%ebx 828 movl %edi,%eax 829 decl %ebx 830 movl %esi,%edi 831 movl %eax,%esi 832 movl %ebx,(%esp) 833 jnz L001start 834 835 # FP 836 movl 28(%esp),%edx 837 rorl $1,%edi 838 movl %esi,%eax 839 xorl %edi,%esi 840 andl $0xaaaaaaaa,%esi 841 xorl %esi,%eax 842 xorl %esi,%edi 843 844 roll $23,%eax 845 movl %eax,%esi 846 xorl %edi,%eax 847 andl $0x03fc03fc,%eax 848 xorl %eax,%esi 849 xorl %eax,%edi 850 851 roll $10,%esi 852 movl %esi,%eax 853 xorl %edi,%esi 854 andl $0x33333333,%esi 855 xorl %esi,%eax 856 xorl %esi,%edi 857 858 roll $18,%edi 859 movl %edi,%esi 860 xorl %eax,%edi 861 andl $0xfff0000f,%edi 862 xorl %edi,%esi 863 xorl %edi,%eax 864 865 roll $12,%esi 866 movl %esi,%edi 867 xorl %eax,%esi 868 andl $0xf0f0f0f0,%esi 869 xorl %esi,%edi 870 xorl %esi,%eax 871 872 rorl $4,%eax 873 movl %eax,(%edx) 874 movl %edi,4(%edx) 875 addl $8,%esp 876 popl %edi 877 popl %esi 878 popl %ebx 879 popl %ebp 880 ret 881.section __IMPORT,__pointers,non_lazy_symbol_pointers 882L_DES_SPtrans$non_lazy_ptr: 883.indirect_symbol _DES_SPtrans 884.long 0 885