1.file "des-586.s" 2.text 3.type _x86_DES_encrypt,@function 4.align 16 5_x86_DES_encrypt: 6 pushl %ecx 7 8 movl (%ecx),%eax 9 xorl %ebx,%ebx 10 movl 4(%ecx),%edx 11 xorl %esi,%eax 12 xorl %ecx,%ecx 13 xorl %esi,%edx 14 andl $0xfcfcfcfc,%eax 15 andl $0xcfcfcfcf,%edx 16 movb %al,%bl 17 movb %ah,%cl 18 rorl $4,%edx 19 xorl (%ebp,%ebx,1),%edi 20 movb %dl,%bl 21 xorl 0x200(%ebp,%ecx,1),%edi 22 movb %dh,%cl 23 shrl $16,%eax 24 xorl 0x100(%ebp,%ebx,1),%edi 25 movb %ah,%bl 26 shrl $16,%edx 27 xorl 0x300(%ebp,%ecx,1),%edi 28 movb %dh,%cl 29 andl $0xff,%eax 30 andl $0xff,%edx 31 xorl 0x600(%ebp,%ebx,1),%edi 32 xorl 0x700(%ebp,%ecx,1),%edi 33 movl (%esp),%ecx 34 xorl 0x400(%ebp,%eax,1),%edi 35 xorl 0x500(%ebp,%edx,1),%edi 36 37 movl 8(%ecx),%eax 38 xorl %ebx,%ebx 39 movl 12(%ecx),%edx 40 xorl %edi,%eax 41 xorl %ecx,%ecx 42 xorl %edi,%edx 43 andl $0xfcfcfcfc,%eax 44 andl $0xcfcfcfcf,%edx 45 movb %al,%bl 46 movb %ah,%cl 47 rorl $4,%edx 48 xorl (%ebp,%ebx,1),%esi 49 movb %dl,%bl 50 xorl 0x200(%ebp,%ecx,1),%esi 51 movb %dh,%cl 52 shrl $16,%eax 53 xorl 0x100(%ebp,%ebx,1),%esi 54 movb %ah,%bl 55 shrl $16,%edx 56 xorl 0x300(%ebp,%ecx,1),%esi 57 movb %dh,%cl 58 andl $0xff,%eax 59 andl $0xff,%edx 60 xorl 0x600(%ebp,%ebx,1),%esi 61 xorl 0x700(%ebp,%ecx,1),%esi 62 movl (%esp),%ecx 63 xorl 0x400(%ebp,%eax,1),%esi 64 xorl 0x500(%ebp,%edx,1),%esi 65 66 movl 16(%ecx),%eax 67 xorl %ebx,%ebx 68 movl 20(%ecx),%edx 69 xorl %esi,%eax 70 xorl %ecx,%ecx 71 xorl %esi,%edx 72 andl $0xfcfcfcfc,%eax 73 andl $0xcfcfcfcf,%edx 74 movb %al,%bl 75 movb %ah,%cl 76 rorl $4,%edx 77 xorl (%ebp,%ebx,1),%edi 78 movb %dl,%bl 79 xorl 0x200(%ebp,%ecx,1),%edi 80 movb %dh,%cl 81 shrl $16,%eax 82 xorl 0x100(%ebp,%ebx,1),%edi 83 movb %ah,%bl 84 shrl $16,%edx 85 xorl 0x300(%ebp,%ecx,1),%edi 86 movb %dh,%cl 87 andl $0xff,%eax 88 andl $0xff,%edx 89 xorl 0x600(%ebp,%ebx,1),%edi 90 xorl 0x700(%ebp,%ecx,1),%edi 91 movl (%esp),%ecx 92 xorl 0x400(%ebp,%eax,1),%edi 93 xorl 0x500(%ebp,%edx,1),%edi 94 95 movl 24(%ecx),%eax 96 xorl %ebx,%ebx 97 movl 28(%ecx),%edx 98 xorl %edi,%eax 99 xorl %ecx,%ecx 100 xorl %edi,%edx 101 andl $0xfcfcfcfc,%eax 102 andl $0xcfcfcfcf,%edx 103 movb %al,%bl 104 movb %ah,%cl 105 rorl $4,%edx 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 xorl 0x600(%ebp,%ebx,1),%esi 119 xorl 0x700(%ebp,%ecx,1),%esi 120 movl (%esp),%ecx 121 xorl 0x400(%ebp,%eax,1),%esi 122 xorl 0x500(%ebp,%edx,1),%esi 123 124 movl 32(%ecx),%eax 125 xorl %ebx,%ebx 126 movl 36(%ecx),%edx 127 xorl %esi,%eax 128 xorl %ecx,%ecx 129 xorl %esi,%edx 130 andl $0xfcfcfcfc,%eax 131 andl $0xcfcfcfcf,%edx 132 movb %al,%bl 133 movb %ah,%cl 134 rorl $4,%edx 135 xorl (%ebp,%ebx,1),%edi 136 movb %dl,%bl 137 xorl 0x200(%ebp,%ecx,1),%edi 138 movb %dh,%cl 139 shrl $16,%eax 140 xorl 0x100(%ebp,%ebx,1),%edi 141 movb %ah,%bl 142 shrl $16,%edx 143 xorl 0x300(%ebp,%ecx,1),%edi 144 movb %dh,%cl 145 andl $0xff,%eax 146 andl $0xff,%edx 147 xorl 0x600(%ebp,%ebx,1),%edi 148 xorl 0x700(%ebp,%ecx,1),%edi 149 movl (%esp),%ecx 150 xorl 0x400(%ebp,%eax,1),%edi 151 xorl 0x500(%ebp,%edx,1),%edi 152 153 movl 40(%ecx),%eax 154 xorl %ebx,%ebx 155 movl 44(%ecx),%edx 156 xorl %edi,%eax 157 xorl %ecx,%ecx 158 xorl %edi,%edx 159 andl $0xfcfcfcfc,%eax 160 andl $0xcfcfcfcf,%edx 161 movb %al,%bl 162 movb %ah,%cl 163 rorl $4,%edx 164 xorl (%ebp,%ebx,1),%esi 165 movb %dl,%bl 166 xorl 0x200(%ebp,%ecx,1),%esi 167 movb %dh,%cl 168 shrl $16,%eax 169 xorl 0x100(%ebp,%ebx,1),%esi 170 movb %ah,%bl 171 shrl $16,%edx 172 xorl 0x300(%ebp,%ecx,1),%esi 173 movb %dh,%cl 174 andl $0xff,%eax 175 andl $0xff,%edx 176 xorl 0x600(%ebp,%ebx,1),%esi 177 xorl 0x700(%ebp,%ecx,1),%esi 178 movl (%esp),%ecx 179 xorl 0x400(%ebp,%eax,1),%esi 180 xorl 0x500(%ebp,%edx,1),%esi 181 182 movl 48(%ecx),%eax 183 xorl %ebx,%ebx 184 movl 52(%ecx),%edx 185 xorl %esi,%eax 186 xorl %ecx,%ecx 187 xorl %esi,%edx 188 andl $0xfcfcfcfc,%eax 189 andl $0xcfcfcfcf,%edx 190 movb %al,%bl 191 movb %ah,%cl 192 rorl $4,%edx 193 xorl (%ebp,%ebx,1),%edi 194 movb %dl,%bl 195 xorl 0x200(%ebp,%ecx,1),%edi 196 movb %dh,%cl 197 shrl $16,%eax 198 xorl 0x100(%ebp,%ebx,1),%edi 199 movb %ah,%bl 200 shrl $16,%edx 201 xorl 0x300(%ebp,%ecx,1),%edi 202 movb %dh,%cl 203 andl $0xff,%eax 204 andl $0xff,%edx 205 xorl 0x600(%ebp,%ebx,1),%edi 206 xorl 0x700(%ebp,%ecx,1),%edi 207 movl (%esp),%ecx 208 xorl 0x400(%ebp,%eax,1),%edi 209 xorl 0x500(%ebp,%edx,1),%edi 210 211 movl 56(%ecx),%eax 212 xorl %ebx,%ebx 213 movl 60(%ecx),%edx 214 xorl %edi,%eax 215 xorl %ecx,%ecx 216 xorl %edi,%edx 217 andl $0xfcfcfcfc,%eax 218 andl $0xcfcfcfcf,%edx 219 movb %al,%bl 220 movb %ah,%cl 221 rorl $4,%edx 222 xorl (%ebp,%ebx,1),%esi 223 movb %dl,%bl 224 xorl 0x200(%ebp,%ecx,1),%esi 225 movb %dh,%cl 226 shrl $16,%eax 227 xorl 0x100(%ebp,%ebx,1),%esi 228 movb %ah,%bl 229 shrl $16,%edx 230 xorl 0x300(%ebp,%ecx,1),%esi 231 movb %dh,%cl 232 andl $0xff,%eax 233 andl $0xff,%edx 234 xorl 0x600(%ebp,%ebx,1),%esi 235 xorl 0x700(%ebp,%ecx,1),%esi 236 movl (%esp),%ecx 237 xorl 0x400(%ebp,%eax,1),%esi 238 xorl 0x500(%ebp,%edx,1),%esi 239 240 movl 64(%ecx),%eax 241 xorl %ebx,%ebx 242 movl 68(%ecx),%edx 243 xorl %esi,%eax 244 xorl %ecx,%ecx 245 xorl %esi,%edx 246 andl $0xfcfcfcfc,%eax 247 andl $0xcfcfcfcf,%edx 248 movb %al,%bl 249 movb %ah,%cl 250 rorl $4,%edx 251 xorl (%ebp,%ebx,1),%edi 252 movb %dl,%bl 253 xorl 0x200(%ebp,%ecx,1),%edi 254 movb %dh,%cl 255 shrl $16,%eax 256 xorl 0x100(%ebp,%ebx,1),%edi 257 movb %ah,%bl 258 shrl $16,%edx 259 xorl 0x300(%ebp,%ecx,1),%edi 260 movb %dh,%cl 261 andl $0xff,%eax 262 andl $0xff,%edx 263 xorl 0x600(%ebp,%ebx,1),%edi 264 xorl 0x700(%ebp,%ecx,1),%edi 265 movl (%esp),%ecx 266 xorl 0x400(%ebp,%eax,1),%edi 267 xorl 0x500(%ebp,%edx,1),%edi 268 269 movl 72(%ecx),%eax 270 xorl %ebx,%ebx 271 movl 76(%ecx),%edx 272 xorl %edi,%eax 273 xorl %ecx,%ecx 274 xorl %edi,%edx 275 andl $0xfcfcfcfc,%eax 276 andl $0xcfcfcfcf,%edx 277 movb %al,%bl 278 movb %ah,%cl 279 rorl $4,%edx 280 xorl (%ebp,%ebx,1),%esi 281 movb %dl,%bl 282 xorl 0x200(%ebp,%ecx,1),%esi 283 movb %dh,%cl 284 shrl $16,%eax 285 xorl 0x100(%ebp,%ebx,1),%esi 286 movb %ah,%bl 287 shrl $16,%edx 288 xorl 0x300(%ebp,%ecx,1),%esi 289 movb %dh,%cl 290 andl $0xff,%eax 291 andl $0xff,%edx 292 xorl 0x600(%ebp,%ebx,1),%esi 293 xorl 0x700(%ebp,%ecx,1),%esi 294 movl (%esp),%ecx 295 xorl 0x400(%ebp,%eax,1),%esi 296 xorl 0x500(%ebp,%edx,1),%esi 297 298 movl 80(%ecx),%eax 299 xorl %ebx,%ebx 300 movl 84(%ecx),%edx 301 xorl %esi,%eax 302 xorl %ecx,%ecx 303 xorl %esi,%edx 304 andl $0xfcfcfcfc,%eax 305 andl $0xcfcfcfcf,%edx 306 movb %al,%bl 307 movb %ah,%cl 308 rorl $4,%edx 309 xorl (%ebp,%ebx,1),%edi 310 movb %dl,%bl 311 xorl 0x200(%ebp,%ecx,1),%edi 312 movb %dh,%cl 313 shrl $16,%eax 314 xorl 0x100(%ebp,%ebx,1),%edi 315 movb %ah,%bl 316 shrl $16,%edx 317 xorl 0x300(%ebp,%ecx,1),%edi 318 movb %dh,%cl 319 andl $0xff,%eax 320 andl $0xff,%edx 321 xorl 0x600(%ebp,%ebx,1),%edi 322 xorl 0x700(%ebp,%ecx,1),%edi 323 movl (%esp),%ecx 324 xorl 0x400(%ebp,%eax,1),%edi 325 xorl 0x500(%ebp,%edx,1),%edi 326 327 movl 88(%ecx),%eax 328 xorl %ebx,%ebx 329 movl 92(%ecx),%edx 330 xorl %edi,%eax 331 xorl %ecx,%ecx 332 xorl %edi,%edx 333 andl $0xfcfcfcfc,%eax 334 andl $0xcfcfcfcf,%edx 335 movb %al,%bl 336 movb %ah,%cl 337 rorl $4,%edx 338 xorl (%ebp,%ebx,1),%esi 339 movb %dl,%bl 340 xorl 0x200(%ebp,%ecx,1),%esi 341 movb %dh,%cl 342 shrl $16,%eax 343 xorl 0x100(%ebp,%ebx,1),%esi 344 movb %ah,%bl 345 shrl $16,%edx 346 xorl 0x300(%ebp,%ecx,1),%esi 347 movb %dh,%cl 348 andl $0xff,%eax 349 andl $0xff,%edx 350 xorl 0x600(%ebp,%ebx,1),%esi 351 xorl 0x700(%ebp,%ecx,1),%esi 352 movl (%esp),%ecx 353 xorl 0x400(%ebp,%eax,1),%esi 354 xorl 0x500(%ebp,%edx,1),%esi 355 356 movl 96(%ecx),%eax 357 xorl %ebx,%ebx 358 movl 100(%ecx),%edx 359 xorl %esi,%eax 360 xorl %ecx,%ecx 361 xorl %esi,%edx 362 andl $0xfcfcfcfc,%eax 363 andl $0xcfcfcfcf,%edx 364 movb %al,%bl 365 movb %ah,%cl 366 rorl $4,%edx 367 xorl (%ebp,%ebx,1),%edi 368 movb %dl,%bl 369 xorl 0x200(%ebp,%ecx,1),%edi 370 movb %dh,%cl 371 shrl $16,%eax 372 xorl 0x100(%ebp,%ebx,1),%edi 373 movb %ah,%bl 374 shrl $16,%edx 375 xorl 0x300(%ebp,%ecx,1),%edi 376 movb %dh,%cl 377 andl $0xff,%eax 378 andl $0xff,%edx 379 xorl 0x600(%ebp,%ebx,1),%edi 380 xorl 0x700(%ebp,%ecx,1),%edi 381 movl (%esp),%ecx 382 xorl 0x400(%ebp,%eax,1),%edi 383 xorl 0x500(%ebp,%edx,1),%edi 384 385 movl 104(%ecx),%eax 386 xorl %ebx,%ebx 387 movl 108(%ecx),%edx 388 xorl %edi,%eax 389 xorl %ecx,%ecx 390 xorl %edi,%edx 391 andl $0xfcfcfcfc,%eax 392 andl $0xcfcfcfcf,%edx 393 movb %al,%bl 394 movb %ah,%cl 395 rorl $4,%edx 396 xorl (%ebp,%ebx,1),%esi 397 movb %dl,%bl 398 xorl 0x200(%ebp,%ecx,1),%esi 399 movb %dh,%cl 400 shrl $16,%eax 401 xorl 0x100(%ebp,%ebx,1),%esi 402 movb %ah,%bl 403 shrl $16,%edx 404 xorl 0x300(%ebp,%ecx,1),%esi 405 movb %dh,%cl 406 andl $0xff,%eax 407 andl $0xff,%edx 408 xorl 0x600(%ebp,%ebx,1),%esi 409 xorl 0x700(%ebp,%ecx,1),%esi 410 movl (%esp),%ecx 411 xorl 0x400(%ebp,%eax,1),%esi 412 xorl 0x500(%ebp,%edx,1),%esi 413 414 movl 112(%ecx),%eax 415 xorl %ebx,%ebx 416 movl 116(%ecx),%edx 417 xorl %esi,%eax 418 xorl %ecx,%ecx 419 xorl %esi,%edx 420 andl $0xfcfcfcfc,%eax 421 andl $0xcfcfcfcf,%edx 422 movb %al,%bl 423 movb %ah,%cl 424 rorl $4,%edx 425 xorl (%ebp,%ebx,1),%edi 426 movb %dl,%bl 427 xorl 0x200(%ebp,%ecx,1),%edi 428 movb %dh,%cl 429 shrl $16,%eax 430 xorl 0x100(%ebp,%ebx,1),%edi 431 movb %ah,%bl 432 shrl $16,%edx 433 xorl 0x300(%ebp,%ecx,1),%edi 434 movb %dh,%cl 435 andl $0xff,%eax 436 andl $0xff,%edx 437 xorl 0x600(%ebp,%ebx,1),%edi 438 xorl 0x700(%ebp,%ecx,1),%edi 439 movl (%esp),%ecx 440 xorl 0x400(%ebp,%eax,1),%edi 441 xorl 0x500(%ebp,%edx,1),%edi 442 443 movl 120(%ecx),%eax 444 xorl %ebx,%ebx 445 movl 124(%ecx),%edx 446 xorl %edi,%eax 447 xorl %ecx,%ecx 448 xorl %edi,%edx 449 andl $0xfcfcfcfc,%eax 450 andl $0xcfcfcfcf,%edx 451 movb %al,%bl 452 movb %ah,%cl 453 rorl $4,%edx 454 xorl (%ebp,%ebx,1),%esi 455 movb %dl,%bl 456 xorl 0x200(%ebp,%ecx,1),%esi 457 movb %dh,%cl 458 shrl $16,%eax 459 xorl 0x100(%ebp,%ebx,1),%esi 460 movb %ah,%bl 461 shrl $16,%edx 462 xorl 0x300(%ebp,%ecx,1),%esi 463 movb %dh,%cl 464 andl $0xff,%eax 465 andl $0xff,%edx 466 xorl 0x600(%ebp,%ebx,1),%esi 467 xorl 0x700(%ebp,%ecx,1),%esi 468 movl (%esp),%ecx 469 xorl 0x400(%ebp,%eax,1),%esi 470 xorl 0x500(%ebp,%edx,1),%esi 471 addl $4,%esp 472 ret 473.size _x86_DES_encrypt,.-_x86_DES_encrypt 474.type _x86_DES_decrypt,@function 475.align 16 476_x86_DES_decrypt: 477 pushl %ecx 478 479 movl 120(%ecx),%eax 480 xorl %ebx,%ebx 481 movl 124(%ecx),%edx 482 xorl %esi,%eax 483 xorl %ecx,%ecx 484 xorl %esi,%edx 485 andl $0xfcfcfcfc,%eax 486 andl $0xcfcfcfcf,%edx 487 movb %al,%bl 488 movb %ah,%cl 489 rorl $4,%edx 490 xorl (%ebp,%ebx,1),%edi 491 movb %dl,%bl 492 xorl 0x200(%ebp,%ecx,1),%edi 493 movb %dh,%cl 494 shrl $16,%eax 495 xorl 0x100(%ebp,%ebx,1),%edi 496 movb %ah,%bl 497 shrl $16,%edx 498 xorl 0x300(%ebp,%ecx,1),%edi 499 movb %dh,%cl 500 andl $0xff,%eax 501 andl $0xff,%edx 502 xorl 0x600(%ebp,%ebx,1),%edi 503 xorl 0x700(%ebp,%ecx,1),%edi 504 movl (%esp),%ecx 505 xorl 0x400(%ebp,%eax,1),%edi 506 xorl 0x500(%ebp,%edx,1),%edi 507 508 movl 112(%ecx),%eax 509 xorl %ebx,%ebx 510 movl 116(%ecx),%edx 511 xorl %edi,%eax 512 xorl %ecx,%ecx 513 xorl %edi,%edx 514 andl $0xfcfcfcfc,%eax 515 andl $0xcfcfcfcf,%edx 516 movb %al,%bl 517 movb %ah,%cl 518 rorl $4,%edx 519 xorl (%ebp,%ebx,1),%esi 520 movb %dl,%bl 521 xorl 0x200(%ebp,%ecx,1),%esi 522 movb %dh,%cl 523 shrl $16,%eax 524 xorl 0x100(%ebp,%ebx,1),%esi 525 movb %ah,%bl 526 shrl $16,%edx 527 xorl 0x300(%ebp,%ecx,1),%esi 528 movb %dh,%cl 529 andl $0xff,%eax 530 andl $0xff,%edx 531 xorl 0x600(%ebp,%ebx,1),%esi 532 xorl 0x700(%ebp,%ecx,1),%esi 533 movl (%esp),%ecx 534 xorl 0x400(%ebp,%eax,1),%esi 535 xorl 0x500(%ebp,%edx,1),%esi 536 537 movl 104(%ecx),%eax 538 xorl %ebx,%ebx 539 movl 108(%ecx),%edx 540 xorl %esi,%eax 541 xorl %ecx,%ecx 542 xorl %esi,%edx 543 andl $0xfcfcfcfc,%eax 544 andl $0xcfcfcfcf,%edx 545 movb %al,%bl 546 movb %ah,%cl 547 rorl $4,%edx 548 xorl (%ebp,%ebx,1),%edi 549 movb %dl,%bl 550 xorl 0x200(%ebp,%ecx,1),%edi 551 movb %dh,%cl 552 shrl $16,%eax 553 xorl 0x100(%ebp,%ebx,1),%edi 554 movb %ah,%bl 555 shrl $16,%edx 556 xorl 0x300(%ebp,%ecx,1),%edi 557 movb %dh,%cl 558 andl $0xff,%eax 559 andl $0xff,%edx 560 xorl 0x600(%ebp,%ebx,1),%edi 561 xorl 0x700(%ebp,%ecx,1),%edi 562 movl (%esp),%ecx 563 xorl 0x400(%ebp,%eax,1),%edi 564 xorl 0x500(%ebp,%edx,1),%edi 565 566 movl 96(%ecx),%eax 567 xorl %ebx,%ebx 568 movl 100(%ecx),%edx 569 xorl %edi,%eax 570 xorl %ecx,%ecx 571 xorl %edi,%edx 572 andl $0xfcfcfcfc,%eax 573 andl $0xcfcfcfcf,%edx 574 movb %al,%bl 575 movb %ah,%cl 576 rorl $4,%edx 577 xorl (%ebp,%ebx,1),%esi 578 movb %dl,%bl 579 xorl 0x200(%ebp,%ecx,1),%esi 580 movb %dh,%cl 581 shrl $16,%eax 582 xorl 0x100(%ebp,%ebx,1),%esi 583 movb %ah,%bl 584 shrl $16,%edx 585 xorl 0x300(%ebp,%ecx,1),%esi 586 movb %dh,%cl 587 andl $0xff,%eax 588 andl $0xff,%edx 589 xorl 0x600(%ebp,%ebx,1),%esi 590 xorl 0x700(%ebp,%ecx,1),%esi 591 movl (%esp),%ecx 592 xorl 0x400(%ebp,%eax,1),%esi 593 xorl 0x500(%ebp,%edx,1),%esi 594 595 movl 88(%ecx),%eax 596 xorl %ebx,%ebx 597 movl 92(%ecx),%edx 598 xorl %esi,%eax 599 xorl %ecx,%ecx 600 xorl %esi,%edx 601 andl $0xfcfcfcfc,%eax 602 andl $0xcfcfcfcf,%edx 603 movb %al,%bl 604 movb %ah,%cl 605 rorl $4,%edx 606 xorl (%ebp,%ebx,1),%edi 607 movb %dl,%bl 608 xorl 0x200(%ebp,%ecx,1),%edi 609 movb %dh,%cl 610 shrl $16,%eax 611 xorl 0x100(%ebp,%ebx,1),%edi 612 movb %ah,%bl 613 shrl $16,%edx 614 xorl 0x300(%ebp,%ecx,1),%edi 615 movb %dh,%cl 616 andl $0xff,%eax 617 andl $0xff,%edx 618 xorl 0x600(%ebp,%ebx,1),%edi 619 xorl 0x700(%ebp,%ecx,1),%edi 620 movl (%esp),%ecx 621 xorl 0x400(%ebp,%eax,1),%edi 622 xorl 0x500(%ebp,%edx,1),%edi 623 624 movl 80(%ecx),%eax 625 xorl %ebx,%ebx 626 movl 84(%ecx),%edx 627 xorl %edi,%eax 628 xorl %ecx,%ecx 629 xorl %edi,%edx 630 andl $0xfcfcfcfc,%eax 631 andl $0xcfcfcfcf,%edx 632 movb %al,%bl 633 movb %ah,%cl 634 rorl $4,%edx 635 xorl (%ebp,%ebx,1),%esi 636 movb %dl,%bl 637 xorl 0x200(%ebp,%ecx,1),%esi 638 movb %dh,%cl 639 shrl $16,%eax 640 xorl 0x100(%ebp,%ebx,1),%esi 641 movb %ah,%bl 642 shrl $16,%edx 643 xorl 0x300(%ebp,%ecx,1),%esi 644 movb %dh,%cl 645 andl $0xff,%eax 646 andl $0xff,%edx 647 xorl 0x600(%ebp,%ebx,1),%esi 648 xorl 0x700(%ebp,%ecx,1),%esi 649 movl (%esp),%ecx 650 xorl 0x400(%ebp,%eax,1),%esi 651 xorl 0x500(%ebp,%edx,1),%esi 652 653 movl 72(%ecx),%eax 654 xorl %ebx,%ebx 655 movl 76(%ecx),%edx 656 xorl %esi,%eax 657 xorl %ecx,%ecx 658 xorl %esi,%edx 659 andl $0xfcfcfcfc,%eax 660 andl $0xcfcfcfcf,%edx 661 movb %al,%bl 662 movb %ah,%cl 663 rorl $4,%edx 664 xorl (%ebp,%ebx,1),%edi 665 movb %dl,%bl 666 xorl 0x200(%ebp,%ecx,1),%edi 667 movb %dh,%cl 668 shrl $16,%eax 669 xorl 0x100(%ebp,%ebx,1),%edi 670 movb %ah,%bl 671 shrl $16,%edx 672 xorl 0x300(%ebp,%ecx,1),%edi 673 movb %dh,%cl 674 andl $0xff,%eax 675 andl $0xff,%edx 676 xorl 0x600(%ebp,%ebx,1),%edi 677 xorl 0x700(%ebp,%ecx,1),%edi 678 movl (%esp),%ecx 679 xorl 0x400(%ebp,%eax,1),%edi 680 xorl 0x500(%ebp,%edx,1),%edi 681 682 movl 64(%ecx),%eax 683 xorl %ebx,%ebx 684 movl 68(%ecx),%edx 685 xorl %edi,%eax 686 xorl %ecx,%ecx 687 xorl %edi,%edx 688 andl $0xfcfcfcfc,%eax 689 andl $0xcfcfcfcf,%edx 690 movb %al,%bl 691 movb %ah,%cl 692 rorl $4,%edx 693 xorl (%ebp,%ebx,1),%esi 694 movb %dl,%bl 695 xorl 0x200(%ebp,%ecx,1),%esi 696 movb %dh,%cl 697 shrl $16,%eax 698 xorl 0x100(%ebp,%ebx,1),%esi 699 movb %ah,%bl 700 shrl $16,%edx 701 xorl 0x300(%ebp,%ecx,1),%esi 702 movb %dh,%cl 703 andl $0xff,%eax 704 andl $0xff,%edx 705 xorl 0x600(%ebp,%ebx,1),%esi 706 xorl 0x700(%ebp,%ecx,1),%esi 707 movl (%esp),%ecx 708 xorl 0x400(%ebp,%eax,1),%esi 709 xorl 0x500(%ebp,%edx,1),%esi 710 711 movl 56(%ecx),%eax 712 xorl %ebx,%ebx 713 movl 60(%ecx),%edx 714 xorl %esi,%eax 715 xorl %ecx,%ecx 716 xorl %esi,%edx 717 andl $0xfcfcfcfc,%eax 718 andl $0xcfcfcfcf,%edx 719 movb %al,%bl 720 movb %ah,%cl 721 rorl $4,%edx 722 xorl (%ebp,%ebx,1),%edi 723 movb %dl,%bl 724 xorl 0x200(%ebp,%ecx,1),%edi 725 movb %dh,%cl 726 shrl $16,%eax 727 xorl 0x100(%ebp,%ebx,1),%edi 728 movb %ah,%bl 729 shrl $16,%edx 730 xorl 0x300(%ebp,%ecx,1),%edi 731 movb %dh,%cl 732 andl $0xff,%eax 733 andl $0xff,%edx 734 xorl 0x600(%ebp,%ebx,1),%edi 735 xorl 0x700(%ebp,%ecx,1),%edi 736 movl (%esp),%ecx 737 xorl 0x400(%ebp,%eax,1),%edi 738 xorl 0x500(%ebp,%edx,1),%edi 739 740 movl 48(%ecx),%eax 741 xorl %ebx,%ebx 742 movl 52(%ecx),%edx 743 xorl %edi,%eax 744 xorl %ecx,%ecx 745 xorl %edi,%edx 746 andl $0xfcfcfcfc,%eax 747 andl $0xcfcfcfcf,%edx 748 movb %al,%bl 749 movb %ah,%cl 750 rorl $4,%edx 751 xorl (%ebp,%ebx,1),%esi 752 movb %dl,%bl 753 xorl 0x200(%ebp,%ecx,1),%esi 754 movb %dh,%cl 755 shrl $16,%eax 756 xorl 0x100(%ebp,%ebx,1),%esi 757 movb %ah,%bl 758 shrl $16,%edx 759 xorl 0x300(%ebp,%ecx,1),%esi 760 movb %dh,%cl 761 andl $0xff,%eax 762 andl $0xff,%edx 763 xorl 0x600(%ebp,%ebx,1),%esi 764 xorl 0x700(%ebp,%ecx,1),%esi 765 movl (%esp),%ecx 766 xorl 0x400(%ebp,%eax,1),%esi 767 xorl 0x500(%ebp,%edx,1),%esi 768 769 movl 40(%ecx),%eax 770 xorl %ebx,%ebx 771 movl 44(%ecx),%edx 772 xorl %esi,%eax 773 xorl %ecx,%ecx 774 xorl %esi,%edx 775 andl $0xfcfcfcfc,%eax 776 andl $0xcfcfcfcf,%edx 777 movb %al,%bl 778 movb %ah,%cl 779 rorl $4,%edx 780 xorl (%ebp,%ebx,1),%edi 781 movb %dl,%bl 782 xorl 0x200(%ebp,%ecx,1),%edi 783 movb %dh,%cl 784 shrl $16,%eax 785 xorl 0x100(%ebp,%ebx,1),%edi 786 movb %ah,%bl 787 shrl $16,%edx 788 xorl 0x300(%ebp,%ecx,1),%edi 789 movb %dh,%cl 790 andl $0xff,%eax 791 andl $0xff,%edx 792 xorl 0x600(%ebp,%ebx,1),%edi 793 xorl 0x700(%ebp,%ecx,1),%edi 794 movl (%esp),%ecx 795 xorl 0x400(%ebp,%eax,1),%edi 796 xorl 0x500(%ebp,%edx,1),%edi 797 798 movl 32(%ecx),%eax 799 xorl %ebx,%ebx 800 movl 36(%ecx),%edx 801 xorl %edi,%eax 802 xorl %ecx,%ecx 803 xorl %edi,%edx 804 andl $0xfcfcfcfc,%eax 805 andl $0xcfcfcfcf,%edx 806 movb %al,%bl 807 movb %ah,%cl 808 rorl $4,%edx 809 xorl (%ebp,%ebx,1),%esi 810 movb %dl,%bl 811 xorl 0x200(%ebp,%ecx,1),%esi 812 movb %dh,%cl 813 shrl $16,%eax 814 xorl 0x100(%ebp,%ebx,1),%esi 815 movb %ah,%bl 816 shrl $16,%edx 817 xorl 0x300(%ebp,%ecx,1),%esi 818 movb %dh,%cl 819 andl $0xff,%eax 820 andl $0xff,%edx 821 xorl 0x600(%ebp,%ebx,1),%esi 822 xorl 0x700(%ebp,%ecx,1),%esi 823 movl (%esp),%ecx 824 xorl 0x400(%ebp,%eax,1),%esi 825 xorl 0x500(%ebp,%edx,1),%esi 826 827 movl 24(%ecx),%eax 828 xorl %ebx,%ebx 829 movl 28(%ecx),%edx 830 xorl %esi,%eax 831 xorl %ecx,%ecx 832 xorl %esi,%edx 833 andl $0xfcfcfcfc,%eax 834 andl $0xcfcfcfcf,%edx 835 movb %al,%bl 836 movb %ah,%cl 837 rorl $4,%edx 838 xorl (%ebp,%ebx,1),%edi 839 movb %dl,%bl 840 xorl 0x200(%ebp,%ecx,1),%edi 841 movb %dh,%cl 842 shrl $16,%eax 843 xorl 0x100(%ebp,%ebx,1),%edi 844 movb %ah,%bl 845 shrl $16,%edx 846 xorl 0x300(%ebp,%ecx,1),%edi 847 movb %dh,%cl 848 andl $0xff,%eax 849 andl $0xff,%edx 850 xorl 0x600(%ebp,%ebx,1),%edi 851 xorl 0x700(%ebp,%ecx,1),%edi 852 movl (%esp),%ecx 853 xorl 0x400(%ebp,%eax,1),%edi 854 xorl 0x500(%ebp,%edx,1),%edi 855 856 movl 16(%ecx),%eax 857 xorl %ebx,%ebx 858 movl 20(%ecx),%edx 859 xorl %edi,%eax 860 xorl %ecx,%ecx 861 xorl %edi,%edx 862 andl $0xfcfcfcfc,%eax 863 andl $0xcfcfcfcf,%edx 864 movb %al,%bl 865 movb %ah,%cl 866 rorl $4,%edx 867 xorl (%ebp,%ebx,1),%esi 868 movb %dl,%bl 869 xorl 0x200(%ebp,%ecx,1),%esi 870 movb %dh,%cl 871 shrl $16,%eax 872 xorl 0x100(%ebp,%ebx,1),%esi 873 movb %ah,%bl 874 shrl $16,%edx 875 xorl 0x300(%ebp,%ecx,1),%esi 876 movb %dh,%cl 877 andl $0xff,%eax 878 andl $0xff,%edx 879 xorl 0x600(%ebp,%ebx,1),%esi 880 xorl 0x700(%ebp,%ecx,1),%esi 881 movl (%esp),%ecx 882 xorl 0x400(%ebp,%eax,1),%esi 883 xorl 0x500(%ebp,%edx,1),%esi 884 885 movl 8(%ecx),%eax 886 xorl %ebx,%ebx 887 movl 12(%ecx),%edx 888 xorl %esi,%eax 889 xorl %ecx,%ecx 890 xorl %esi,%edx 891 andl $0xfcfcfcfc,%eax 892 andl $0xcfcfcfcf,%edx 893 movb %al,%bl 894 movb %ah,%cl 895 rorl $4,%edx 896 xorl (%ebp,%ebx,1),%edi 897 movb %dl,%bl 898 xorl 0x200(%ebp,%ecx,1),%edi 899 movb %dh,%cl 900 shrl $16,%eax 901 xorl 0x100(%ebp,%ebx,1),%edi 902 movb %ah,%bl 903 shrl $16,%edx 904 xorl 0x300(%ebp,%ecx,1),%edi 905 movb %dh,%cl 906 andl $0xff,%eax 907 andl $0xff,%edx 908 xorl 0x600(%ebp,%ebx,1),%edi 909 xorl 0x700(%ebp,%ecx,1),%edi 910 movl (%esp),%ecx 911 xorl 0x400(%ebp,%eax,1),%edi 912 xorl 0x500(%ebp,%edx,1),%edi 913 914 movl (%ecx),%eax 915 xorl %ebx,%ebx 916 movl 4(%ecx),%edx 917 xorl %edi,%eax 918 xorl %ecx,%ecx 919 xorl %edi,%edx 920 andl $0xfcfcfcfc,%eax 921 andl $0xcfcfcfcf,%edx 922 movb %al,%bl 923 movb %ah,%cl 924 rorl $4,%edx 925 xorl (%ebp,%ebx,1),%esi 926 movb %dl,%bl 927 xorl 0x200(%ebp,%ecx,1),%esi 928 movb %dh,%cl 929 shrl $16,%eax 930 xorl 0x100(%ebp,%ebx,1),%esi 931 movb %ah,%bl 932 shrl $16,%edx 933 xorl 0x300(%ebp,%ecx,1),%esi 934 movb %dh,%cl 935 andl $0xff,%eax 936 andl $0xff,%edx 937 xorl 0x600(%ebp,%ebx,1),%esi 938 xorl 0x700(%ebp,%ecx,1),%esi 939 movl (%esp),%ecx 940 xorl 0x400(%ebp,%eax,1),%esi 941 xorl 0x500(%ebp,%edx,1),%esi 942 addl $4,%esp 943 ret 944.size _x86_DES_decrypt,.-_x86_DES_decrypt 945.globl DES_encrypt1 946.type DES_encrypt1,@function 947.align 16 948DES_encrypt1: 949.L_DES_encrypt1_begin: 950 pushl %esi 951 pushl %edi 952 953 954 movl 12(%esp),%esi 955 xorl %ecx,%ecx 956 pushl %ebx 957 pushl %ebp 958 movl (%esi),%eax 959 movl 28(%esp),%ebx 960 movl 4(%esi),%edi 961 962 963 roll $4,%eax 964 movl %eax,%esi 965 xorl %edi,%eax 966 andl $0xf0f0f0f0,%eax 967 xorl %eax,%esi 968 xorl %eax,%edi 969 970 roll $20,%edi 971 movl %edi,%eax 972 xorl %esi,%edi 973 andl $0xfff0000f,%edi 974 xorl %edi,%eax 975 xorl %edi,%esi 976 977 roll $14,%eax 978 movl %eax,%edi 979 xorl %esi,%eax 980 andl $0x33333333,%eax 981 xorl %eax,%edi 982 xorl %eax,%esi 983 984 roll $22,%esi 985 movl %esi,%eax 986 xorl %edi,%esi 987 andl $0x03fc03fc,%esi 988 xorl %esi,%eax 989 xorl %esi,%edi 990 991 roll $9,%eax 992 movl %eax,%esi 993 xorl %edi,%eax 994 andl $0xaaaaaaaa,%eax 995 xorl %eax,%esi 996 xorl %eax,%edi 997 998 roll $1,%edi 999 call .L000PIC_me_up 1000.L000PIC_me_up: 1001 popl %ebp 1002 leal _GLOBAL_OFFSET_TABLE_+[.-.L000PIC_me_up](%ebp),%ebp 1003 movl DES_SPtrans@GOT(%ebp),%ebp 1004 movl 24(%esp),%ecx 1005 cmpl $0,%ebx 1006 je .L001decrypt 1007 call _x86_DES_encrypt 1008 jmp .L002done 1009.L001decrypt: 1010 call _x86_DES_decrypt 1011.L002done: 1012 1013 1014 movl 20(%esp),%edx 1015 rorl $1,%esi 1016 movl %edi,%eax 1017 xorl %esi,%edi 1018 andl $0xaaaaaaaa,%edi 1019 xorl %edi,%eax 1020 xorl %edi,%esi 1021 1022 roll $23,%eax 1023 movl %eax,%edi 1024 xorl %esi,%eax 1025 andl $0x03fc03fc,%eax 1026 xorl %eax,%edi 1027 xorl %eax,%esi 1028 1029 roll $10,%edi 1030 movl %edi,%eax 1031 xorl %esi,%edi 1032 andl $0x33333333,%edi 1033 xorl %edi,%eax 1034 xorl %edi,%esi 1035 1036 roll $18,%esi 1037 movl %esi,%edi 1038 xorl %eax,%esi 1039 andl $0xfff0000f,%esi 1040 xorl %esi,%edi 1041 xorl %esi,%eax 1042 1043 roll $12,%edi 1044 movl %edi,%esi 1045 xorl %eax,%edi 1046 andl $0xf0f0f0f0,%edi 1047 xorl %edi,%esi 1048 xorl %edi,%eax 1049 1050 rorl $4,%eax 1051 movl %eax,(%edx) 1052 movl %esi,4(%edx) 1053 popl %ebp 1054 popl %ebx 1055 popl %edi 1056 popl %esi 1057 ret 1058.size DES_encrypt1,.-.L_DES_encrypt1_begin 1059.globl DES_encrypt2 1060.type DES_encrypt2,@function 1061.align 16 1062DES_encrypt2: 1063.L_DES_encrypt2_begin: 1064 pushl %esi 1065 pushl %edi 1066 1067 1068 movl 12(%esp),%eax 1069 xorl %ecx,%ecx 1070 pushl %ebx 1071 pushl %ebp 1072 movl (%eax),%esi 1073 movl 28(%esp),%ebx 1074 roll $3,%esi 1075 movl 4(%eax),%edi 1076 roll $3,%edi 1077 call .L003PIC_me_up 1078.L003PIC_me_up: 1079 popl %ebp 1080 leal _GLOBAL_OFFSET_TABLE_+[.-.L003PIC_me_up](%ebp),%ebp 1081 movl DES_SPtrans@GOT(%ebp),%ebp 1082 movl 24(%esp),%ecx 1083 cmpl $0,%ebx 1084 je .L004decrypt 1085 call _x86_DES_encrypt 1086 jmp .L005done 1087.L004decrypt: 1088 call _x86_DES_decrypt 1089.L005done: 1090 1091 1092 rorl $3,%edi 1093 movl 20(%esp),%eax 1094 rorl $3,%esi 1095 movl %edi,(%eax) 1096 movl %esi,4(%eax) 1097 popl %ebp 1098 popl %ebx 1099 popl %edi 1100 popl %esi 1101 ret 1102.size DES_encrypt2,.-.L_DES_encrypt2_begin 1103.globl DES_encrypt3 1104.type DES_encrypt3,@function 1105.align 16 1106DES_encrypt3: 1107.L_DES_encrypt3_begin: 1108 pushl %ebx 1109 movl 8(%esp),%ebx 1110 pushl %ebp 1111 pushl %esi 1112 pushl %edi 1113 1114 1115 movl (%ebx),%edi 1116 movl 4(%ebx),%esi 1117 subl $12,%esp 1118 1119 1120 roll $4,%edi 1121 movl %edi,%edx 1122 xorl %esi,%edi 1123 andl $0xf0f0f0f0,%edi 1124 xorl %edi,%edx 1125 xorl %edi,%esi 1126 1127 roll $20,%esi 1128 movl %esi,%edi 1129 xorl %edx,%esi 1130 andl $0xfff0000f,%esi 1131 xorl %esi,%edi 1132 xorl %esi,%edx 1133 1134 roll $14,%edi 1135 movl %edi,%esi 1136 xorl %edx,%edi 1137 andl $0x33333333,%edi 1138 xorl %edi,%esi 1139 xorl %edi,%edx 1140 1141 roll $22,%edx 1142 movl %edx,%edi 1143 xorl %esi,%edx 1144 andl $0x03fc03fc,%edx 1145 xorl %edx,%edi 1146 xorl %edx,%esi 1147 1148 roll $9,%edi 1149 movl %edi,%edx 1150 xorl %esi,%edi 1151 andl $0xaaaaaaaa,%edi 1152 xorl %edi,%edx 1153 xorl %edi,%esi 1154 1155 rorl $3,%edx 1156 rorl $2,%esi 1157 movl %esi,4(%ebx) 1158 movl 36(%esp),%eax 1159 movl %edx,(%ebx) 1160 movl 40(%esp),%edi 1161 movl 44(%esp),%esi 1162 movl $1,8(%esp) 1163 movl %eax,4(%esp) 1164 movl %ebx,(%esp) 1165 call .L_DES_encrypt2_begin 1166 movl $0,8(%esp) 1167 movl %edi,4(%esp) 1168 movl %ebx,(%esp) 1169 call .L_DES_encrypt2_begin 1170 movl $1,8(%esp) 1171 movl %esi,4(%esp) 1172 movl %ebx,(%esp) 1173 call .L_DES_encrypt2_begin 1174 addl $12,%esp 1175 movl (%ebx),%edi 1176 movl 4(%ebx),%esi 1177 1178 1179 roll $2,%esi 1180 roll $3,%edi 1181 movl %edi,%eax 1182 xorl %esi,%edi 1183 andl $0xaaaaaaaa,%edi 1184 xorl %edi,%eax 1185 xorl %edi,%esi 1186 1187 roll $23,%eax 1188 movl %eax,%edi 1189 xorl %esi,%eax 1190 andl $0x03fc03fc,%eax 1191 xorl %eax,%edi 1192 xorl %eax,%esi 1193 1194 roll $10,%edi 1195 movl %edi,%eax 1196 xorl %esi,%edi 1197 andl $0x33333333,%edi 1198 xorl %edi,%eax 1199 xorl %edi,%esi 1200 1201 roll $18,%esi 1202 movl %esi,%edi 1203 xorl %eax,%esi 1204 andl $0xfff0000f,%esi 1205 xorl %esi,%edi 1206 xorl %esi,%eax 1207 1208 roll $12,%edi 1209 movl %edi,%esi 1210 xorl %eax,%edi 1211 andl $0xf0f0f0f0,%edi 1212 xorl %edi,%esi 1213 xorl %edi,%eax 1214 1215 rorl $4,%eax 1216 movl %eax,(%ebx) 1217 movl %esi,4(%ebx) 1218 popl %edi 1219 popl %esi 1220 popl %ebp 1221 popl %ebx 1222 ret 1223.size DES_encrypt3,.-.L_DES_encrypt3_begin 1224.globl DES_decrypt3 1225.type DES_decrypt3,@function 1226.align 16 1227DES_decrypt3: 1228.L_DES_decrypt3_begin: 1229 pushl %ebx 1230 movl 8(%esp),%ebx 1231 pushl %ebp 1232 pushl %esi 1233 pushl %edi 1234 1235 1236 movl (%ebx),%edi 1237 movl 4(%ebx),%esi 1238 subl $12,%esp 1239 1240 1241 roll $4,%edi 1242 movl %edi,%edx 1243 xorl %esi,%edi 1244 andl $0xf0f0f0f0,%edi 1245 xorl %edi,%edx 1246 xorl %edi,%esi 1247 1248 roll $20,%esi 1249 movl %esi,%edi 1250 xorl %edx,%esi 1251 andl $0xfff0000f,%esi 1252 xorl %esi,%edi 1253 xorl %esi,%edx 1254 1255 roll $14,%edi 1256 movl %edi,%esi 1257 xorl %edx,%edi 1258 andl $0x33333333,%edi 1259 xorl %edi,%esi 1260 xorl %edi,%edx 1261 1262 roll $22,%edx 1263 movl %edx,%edi 1264 xorl %esi,%edx 1265 andl $0x03fc03fc,%edx 1266 xorl %edx,%edi 1267 xorl %edx,%esi 1268 1269 roll $9,%edi 1270 movl %edi,%edx 1271 xorl %esi,%edi 1272 andl $0xaaaaaaaa,%edi 1273 xorl %edi,%edx 1274 xorl %edi,%esi 1275 1276 rorl $3,%edx 1277 rorl $2,%esi 1278 movl %esi,4(%ebx) 1279 movl 36(%esp),%esi 1280 movl %edx,(%ebx) 1281 movl 40(%esp),%edi 1282 movl 44(%esp),%eax 1283 movl $0,8(%esp) 1284 movl %eax,4(%esp) 1285 movl %ebx,(%esp) 1286 call .L_DES_encrypt2_begin 1287 movl $1,8(%esp) 1288 movl %edi,4(%esp) 1289 movl %ebx,(%esp) 1290 call .L_DES_encrypt2_begin 1291 movl $0,8(%esp) 1292 movl %esi,4(%esp) 1293 movl %ebx,(%esp) 1294 call .L_DES_encrypt2_begin 1295 addl $12,%esp 1296 movl (%ebx),%edi 1297 movl 4(%ebx),%esi 1298 1299 1300 roll $2,%esi 1301 roll $3,%edi 1302 movl %edi,%eax 1303 xorl %esi,%edi 1304 andl $0xaaaaaaaa,%edi 1305 xorl %edi,%eax 1306 xorl %edi,%esi 1307 1308 roll $23,%eax 1309 movl %eax,%edi 1310 xorl %esi,%eax 1311 andl $0x03fc03fc,%eax 1312 xorl %eax,%edi 1313 xorl %eax,%esi 1314 1315 roll $10,%edi 1316 movl %edi,%eax 1317 xorl %esi,%edi 1318 andl $0x33333333,%edi 1319 xorl %edi,%eax 1320 xorl %edi,%esi 1321 1322 roll $18,%esi 1323 movl %esi,%edi 1324 xorl %eax,%esi 1325 andl $0xfff0000f,%esi 1326 xorl %esi,%edi 1327 xorl %esi,%eax 1328 1329 roll $12,%edi 1330 movl %edi,%esi 1331 xorl %eax,%edi 1332 andl $0xf0f0f0f0,%edi 1333 xorl %edi,%esi 1334 xorl %edi,%eax 1335 1336 rorl $4,%eax 1337 movl %eax,(%ebx) 1338 movl %esi,4(%ebx) 1339 popl %edi 1340 popl %esi 1341 popl %ebp 1342 popl %ebx 1343 ret 1344.size DES_decrypt3,.-.L_DES_decrypt3_begin 1345.globl DES_ncbc_encrypt 1346.type DES_ncbc_encrypt,@function 1347.align 16 1348DES_ncbc_encrypt: 1349.L_DES_ncbc_encrypt_begin: 1350 1351 pushl %ebp 1352 pushl %ebx 1353 pushl %esi 1354 pushl %edi 1355 movl 28(%esp),%ebp 1356 1357 movl 36(%esp),%ebx 1358 movl (%ebx),%esi 1359 movl 4(%ebx),%edi 1360 pushl %edi 1361 pushl %esi 1362 pushl %edi 1363 pushl %esi 1364 movl %esp,%ebx 1365 movl 36(%esp),%esi 1366 movl 40(%esp),%edi 1367 1368 movl 56(%esp),%ecx 1369 1370 pushl %ecx 1371 1372 movl 52(%esp),%eax 1373 pushl %eax 1374 pushl %ebx 1375 cmpl $0,%ecx 1376 jz .L006decrypt 1377 andl $4294967288,%ebp 1378 movl 12(%esp),%eax 1379 movl 16(%esp),%ebx 1380 jz .L007encrypt_finish 1381.L008encrypt_loop: 1382 movl (%esi),%ecx 1383 movl 4(%esi),%edx 1384 xorl %ecx,%eax 1385 xorl %edx,%ebx 1386 movl %eax,12(%esp) 1387 movl %ebx,16(%esp) 1388 call .L_DES_encrypt1_begin 1389 movl 12(%esp),%eax 1390 movl 16(%esp),%ebx 1391 movl %eax,(%edi) 1392 movl %ebx,4(%edi) 1393 addl $8,%esi 1394 addl $8,%edi 1395 subl $8,%ebp 1396 jnz .L008encrypt_loop 1397.L007encrypt_finish: 1398 movl 56(%esp),%ebp 1399 andl $7,%ebp 1400 jz .L009finish 1401 call .L010PIC_point 1402.L010PIC_point: 1403 popl %edx 1404 leal .L011cbc_enc_jmp_table-.L010PIC_point(%edx),%ecx 1405 movl (%ecx,%ebp,4),%ebp 1406 addl %edx,%ebp 1407 xorl %ecx,%ecx 1408 xorl %edx,%edx 1409 jmp *%ebp 1410.L012ej7: 1411 movb 6(%esi),%dh 1412 shll $8,%edx 1413.L013ej6: 1414 movb 5(%esi),%dh 1415.L014ej5: 1416 movb 4(%esi),%dl 1417.L015ej4: 1418 movl (%esi),%ecx 1419 jmp .L016ejend 1420.L017ej3: 1421 movb 2(%esi),%ch 1422 shll $8,%ecx 1423.L018ej2: 1424 movb 1(%esi),%ch 1425.L019ej1: 1426 movb (%esi),%cl 1427.L016ejend: 1428 xorl %ecx,%eax 1429 xorl %edx,%ebx 1430 movl %eax,12(%esp) 1431 movl %ebx,16(%esp) 1432 call .L_DES_encrypt1_begin 1433 movl 12(%esp),%eax 1434 movl 16(%esp),%ebx 1435 movl %eax,(%edi) 1436 movl %ebx,4(%edi) 1437 jmp .L009finish 1438.L006decrypt: 1439 andl $4294967288,%ebp 1440 movl 20(%esp),%eax 1441 movl 24(%esp),%ebx 1442 jz .L020decrypt_finish 1443.L021decrypt_loop: 1444 movl (%esi),%eax 1445 movl 4(%esi),%ebx 1446 movl %eax,12(%esp) 1447 movl %ebx,16(%esp) 1448 call .L_DES_encrypt1_begin 1449 movl 12(%esp),%eax 1450 movl 16(%esp),%ebx 1451 movl 20(%esp),%ecx 1452 movl 24(%esp),%edx 1453 xorl %eax,%ecx 1454 xorl %ebx,%edx 1455 movl (%esi),%eax 1456 movl 4(%esi),%ebx 1457 movl %ecx,(%edi) 1458 movl %edx,4(%edi) 1459 movl %eax,20(%esp) 1460 movl %ebx,24(%esp) 1461 addl $8,%esi 1462 addl $8,%edi 1463 subl $8,%ebp 1464 jnz .L021decrypt_loop 1465.L020decrypt_finish: 1466 movl 56(%esp),%ebp 1467 andl $7,%ebp 1468 jz .L009finish 1469 movl (%esi),%eax 1470 movl 4(%esi),%ebx 1471 movl %eax,12(%esp) 1472 movl %ebx,16(%esp) 1473 call .L_DES_encrypt1_begin 1474 movl 12(%esp),%eax 1475 movl 16(%esp),%ebx 1476 movl 20(%esp),%ecx 1477 movl 24(%esp),%edx 1478 xorl %eax,%ecx 1479 xorl %ebx,%edx 1480 movl (%esi),%eax 1481 movl 4(%esi),%ebx 1482.L022dj7: 1483 rorl $16,%edx 1484 movb %dl,6(%edi) 1485 shrl $16,%edx 1486.L023dj6: 1487 movb %dh,5(%edi) 1488.L024dj5: 1489 movb %dl,4(%edi) 1490.L025dj4: 1491 movl %ecx,(%edi) 1492 jmp .L026djend 1493.L027dj3: 1494 rorl $16,%ecx 1495 movb %cl,2(%edi) 1496 shll $16,%ecx 1497.L028dj2: 1498 movb %ch,1(%esi) 1499.L029dj1: 1500 movb %cl,(%esi) 1501.L026djend: 1502 jmp .L009finish 1503.L009finish: 1504 movl 64(%esp),%ecx 1505 addl $28,%esp 1506 movl %eax,(%ecx) 1507 movl %ebx,4(%ecx) 1508 popl %edi 1509 popl %esi 1510 popl %ebx 1511 popl %ebp 1512 ret 1513.align 64 1514.L011cbc_enc_jmp_table: 1515.long 0 1516.long .L019ej1-.L010PIC_point 1517.long .L018ej2-.L010PIC_point 1518.long .L017ej3-.L010PIC_point 1519.long .L015ej4-.L010PIC_point 1520.long .L014ej5-.L010PIC_point 1521.long .L013ej6-.L010PIC_point 1522.long .L012ej7-.L010PIC_point 1523.align 64 1524.size DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin 1525.globl DES_ede3_cbc_encrypt 1526.type DES_ede3_cbc_encrypt,@function 1527.align 16 1528DES_ede3_cbc_encrypt: 1529.L_DES_ede3_cbc_encrypt_begin: 1530 1531 pushl %ebp 1532 pushl %ebx 1533 pushl %esi 1534 pushl %edi 1535 movl 28(%esp),%ebp 1536 1537 movl 44(%esp),%ebx 1538 movl (%ebx),%esi 1539 movl 4(%ebx),%edi 1540 pushl %edi 1541 pushl %esi 1542 pushl %edi 1543 pushl %esi 1544 movl %esp,%ebx 1545 movl 36(%esp),%esi 1546 movl 40(%esp),%edi 1547 1548 movl 64(%esp),%ecx 1549 1550 movl 56(%esp),%eax 1551 pushl %eax 1552 1553 movl 56(%esp),%eax 1554 pushl %eax 1555 1556 movl 56(%esp),%eax 1557 pushl %eax 1558 pushl %ebx 1559 cmpl $0,%ecx 1560 jz .L030decrypt 1561 andl $4294967288,%ebp 1562 movl 16(%esp),%eax 1563 movl 20(%esp),%ebx 1564 jz .L031encrypt_finish 1565.L032encrypt_loop: 1566 movl (%esi),%ecx 1567 movl 4(%esi),%edx 1568 xorl %ecx,%eax 1569 xorl %edx,%ebx 1570 movl %eax,16(%esp) 1571 movl %ebx,20(%esp) 1572 call .L_DES_encrypt3_begin 1573 movl 16(%esp),%eax 1574 movl 20(%esp),%ebx 1575 movl %eax,(%edi) 1576 movl %ebx,4(%edi) 1577 addl $8,%esi 1578 addl $8,%edi 1579 subl $8,%ebp 1580 jnz .L032encrypt_loop 1581.L031encrypt_finish: 1582 movl 60(%esp),%ebp 1583 andl $7,%ebp 1584 jz .L033finish 1585 call .L034PIC_point 1586.L034PIC_point: 1587 popl %edx 1588 leal .L035cbc_enc_jmp_table-.L034PIC_point(%edx),%ecx 1589 movl (%ecx,%ebp,4),%ebp 1590 addl %edx,%ebp 1591 xorl %ecx,%ecx 1592 xorl %edx,%edx 1593 jmp *%ebp 1594.L036ej7: 1595 movb 6(%esi),%dh 1596 shll $8,%edx 1597.L037ej6: 1598 movb 5(%esi),%dh 1599.L038ej5: 1600 movb 4(%esi),%dl 1601.L039ej4: 1602 movl (%esi),%ecx 1603 jmp .L040ejend 1604.L041ej3: 1605 movb 2(%esi),%ch 1606 shll $8,%ecx 1607.L042ej2: 1608 movb 1(%esi),%ch 1609.L043ej1: 1610 movb (%esi),%cl 1611.L040ejend: 1612 xorl %ecx,%eax 1613 xorl %edx,%ebx 1614 movl %eax,16(%esp) 1615 movl %ebx,20(%esp) 1616 call .L_DES_encrypt3_begin 1617 movl 16(%esp),%eax 1618 movl 20(%esp),%ebx 1619 movl %eax,(%edi) 1620 movl %ebx,4(%edi) 1621 jmp .L033finish 1622.L030decrypt: 1623 andl $4294967288,%ebp 1624 movl 24(%esp),%eax 1625 movl 28(%esp),%ebx 1626 jz .L044decrypt_finish 1627.L045decrypt_loop: 1628 movl (%esi),%eax 1629 movl 4(%esi),%ebx 1630 movl %eax,16(%esp) 1631 movl %ebx,20(%esp) 1632 call .L_DES_decrypt3_begin 1633 movl 16(%esp),%eax 1634 movl 20(%esp),%ebx 1635 movl 24(%esp),%ecx 1636 movl 28(%esp),%edx 1637 xorl %eax,%ecx 1638 xorl %ebx,%edx 1639 movl (%esi),%eax 1640 movl 4(%esi),%ebx 1641 movl %ecx,(%edi) 1642 movl %edx,4(%edi) 1643 movl %eax,24(%esp) 1644 movl %ebx,28(%esp) 1645 addl $8,%esi 1646 addl $8,%edi 1647 subl $8,%ebp 1648 jnz .L045decrypt_loop 1649.L044decrypt_finish: 1650 movl 60(%esp),%ebp 1651 andl $7,%ebp 1652 jz .L033finish 1653 movl (%esi),%eax 1654 movl 4(%esi),%ebx 1655 movl %eax,16(%esp) 1656 movl %ebx,20(%esp) 1657 call .L_DES_decrypt3_begin 1658 movl 16(%esp),%eax 1659 movl 20(%esp),%ebx 1660 movl 24(%esp),%ecx 1661 movl 28(%esp),%edx 1662 xorl %eax,%ecx 1663 xorl %ebx,%edx 1664 movl (%esi),%eax 1665 movl 4(%esi),%ebx 1666.L046dj7: 1667 rorl $16,%edx 1668 movb %dl,6(%edi) 1669 shrl $16,%edx 1670.L047dj6: 1671 movb %dh,5(%edi) 1672.L048dj5: 1673 movb %dl,4(%edi) 1674.L049dj4: 1675 movl %ecx,(%edi) 1676 jmp .L050djend 1677.L051dj3: 1678 rorl $16,%ecx 1679 movb %cl,2(%edi) 1680 shll $16,%ecx 1681.L052dj2: 1682 movb %ch,1(%esi) 1683.L053dj1: 1684 movb %cl,(%esi) 1685.L050djend: 1686 jmp .L033finish 1687.L033finish: 1688 movl 76(%esp),%ecx 1689 addl $32,%esp 1690 movl %eax,(%ecx) 1691 movl %ebx,4(%ecx) 1692 popl %edi 1693 popl %esi 1694 popl %ebx 1695 popl %ebp 1696 ret 1697.align 64 1698.L035cbc_enc_jmp_table: 1699.long 0 1700.long .L043ej1-.L034PIC_point 1701.long .L042ej2-.L034PIC_point 1702.long .L041ej3-.L034PIC_point 1703.long .L039ej4-.L034PIC_point 1704.long .L038ej5-.L034PIC_point 1705.long .L037ej6-.L034PIC_point 1706.long .L036ej7-.L034PIC_point 1707.align 64 1708.size DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin 1709.globl DES_SPtrans 1710.align 64 1711DES_SPtrans: 1712.long 34080768,524288,33554434,34080770 1713.long 33554432,526338,524290,33554434 1714.long 526338,34080768,34078720,2050 1715.long 33556482,33554432,0,524290 1716.long 524288,2,33556480,526336 1717.long 34080770,34078720,2050,33556480 1718.long 2,2048,526336,34078722 1719.long 2048,33556482,34078722,0 1720.long 0,34080770,33556480,524290 1721.long 34080768,524288,2050,33556480 1722.long 34078722,2048,526336,33554434 1723.long 526338,2,33554434,34078720 1724.long 34080770,526336,34078720,33556482 1725.long 33554432,2050,524290,0 1726.long 524288,33554432,33556482,34080768 1727.long 2,34078722,2048,526338 1728.long 1074823184,0,1081344,1074790400 1729.long 1073741840,32784,1073774592,1081344 1730.long 32768,1074790416,16,1073774592 1731.long 1048592,1074823168,1074790400,16 1732.long 1048576,1073774608,1074790416,32768 1733.long 1081360,1073741824,0,1048592 1734.long 1073774608,1081360,1074823168,1073741840 1735.long 1073741824,1048576,32784,1074823184 1736.long 1048592,1074823168,1073774592,1081360 1737.long 1074823184,1048592,1073741840,0 1738.long 1073741824,32784,1048576,1074790416 1739.long 32768,1073741824,1081360,1073774608 1740.long 1074823168,32768,0,1073741840 1741.long 16,1074823184,1081344,1074790400 1742.long 1074790416,1048576,32784,1073774592 1743.long 1073774608,16,1074790400,1081344 1744.long 67108865,67371264,256,67109121 1745.long 262145,67108864,67109121,262400 1746.long 67109120,262144,67371008,1 1747.long 67371265,257,1,67371009 1748.long 0,262145,67371264,256 1749.long 257,67371265,262144,67108865 1750.long 67371009,67109120,262401,67371008 1751.long 262400,0,67108864,262401 1752.long 67371264,256,1,262144 1753.long 257,262145,67371008,67109121 1754.long 0,67371264,262400,67371009 1755.long 262145,67108864,67371265,1 1756.long 262401,67108865,67108864,67371265 1757.long 262144,67109120,67109121,262400 1758.long 67109120,0,67371009,257 1759.long 67108865,262401,256,67371008 1760.long 4198408,268439552,8,272633864 1761.long 0,272629760,268439560,4194312 1762.long 272633856,268435464,268435456,4104 1763.long 268435464,4198408,4194304,268435456 1764.long 272629768,4198400,4096,8 1765.long 4198400,268439560,272629760,4096 1766.long 4104,0,4194312,272633856 1767.long 268439552,272629768,272633864,4194304 1768.long 272629768,4104,4194304,268435464 1769.long 4198400,268439552,8,272629760 1770.long 268439560,0,4096,4194312 1771.long 0,272629768,272633856,4096 1772.long 268435456,272633864,4198408,4194304 1773.long 272633864,8,268439552,4198408 1774.long 4194312,4198400,272629760,268439560 1775.long 4104,268435456,268435464,272633856 1776.long 134217728,65536,1024,134284320 1777.long 134283296,134218752,66592,134283264 1778.long 65536,32,134217760,66560 1779.long 134218784,134283296,134284288,0 1780.long 66560,134217728,65568,1056 1781.long 134218752,66592,0,134217760 1782.long 32,134218784,134284320,65568 1783.long 134283264,1024,1056,134284288 1784.long 134284288,134218784,65568,134283264 1785.long 65536,32,134217760,134218752 1786.long 134217728,66560,134284320,0 1787.long 66592,134217728,1024,65568 1788.long 134218784,1024,0,134284320 1789.long 134283296,134284288,1056,65536 1790.long 66560,134283296,134218752,1056 1791.long 32,66592,134283264,134217760 1792.long 2147483712,2097216,0,2149588992 1793.long 2097216,8192,2147491904,2097152 1794.long 8256,2149589056,2105344,2147483648 1795.long 2147491840,2147483712,2149580800,2105408 1796.long 2097152,2147491904,2149580864,0 1797.long 8192,64,2149588992,2149580864 1798.long 2149589056,2149580800,2147483648,8256 1799.long 64,2105344,2105408,2147491840 1800.long 8256,2147483648,2147491840,2105408 1801.long 2149588992,2097216,0,2147491840 1802.long 2147483648,8192,2149580864,2097152 1803.long 2097216,2149589056,2105344,64 1804.long 2149589056,2105344,2097152,2147491904 1805.long 2147483712,2149580800,2105408,0 1806.long 8192,2147483712,2147491904,2149588992 1807.long 2149580800,8256,64,2149580864 1808.long 16384,512,16777728,16777220 1809.long 16794116,16388,16896,0 1810.long 16777216,16777732,516,16793600 1811.long 4,16794112,16793600,516 1812.long 16777732,16384,16388,16794116 1813.long 0,16777728,16777220,16896 1814.long 16793604,16900,16794112,4 1815.long 16900,16793604,512,16777216 1816.long 16900,16793600,16793604,516 1817.long 16384,512,16777216,16793604 1818.long 16777732,16900,16896,0 1819.long 512,16777220,4,16777728 1820.long 0,16777732,16777728,16896 1821.long 516,16384,16794116,16777216 1822.long 16794112,4,16388,16794116 1823.long 16777220,16794112,16793600,16388 1824.long 545259648,545390592,131200,0 1825.long 537001984,8388736,545259520,545390720 1826.long 128,536870912,8519680,131200 1827.long 8519808,537002112,536871040,545259520 1828.long 131072,8519808,8388736,537001984 1829.long 545390720,536871040,0,8519680 1830.long 536870912,8388608,537002112,545259648 1831.long 8388608,131072,545390592,128 1832.long 8388608,131072,536871040,545390720 1833.long 131200,536870912,0,8519680 1834.long 545259648,537002112,537001984,8388736 1835.long 545390592,128,8388736,537001984 1836.long 545390720,8388608,545259520,536871040 1837.long 8519680,131200,537002112,545259520 1838.long 128,545390592,8519808,0 1839.long 536870912,545259648,131072,8519808 1840