1/* Do not modify. This file is auto-generated from des-586.pl. */ 2#ifdef PIC 3.text 4.globl DES_SPtrans 5.type _x86_DES_encrypt,@function 6.align 16 7_x86_DES_encrypt: 8 #ifdef __CET__ 9 10.byte 243,15,30,251 11 #endif 12 13 pushl %ecx 14 15 movl (%ecx),%eax 16 xorl %ebx,%ebx 17 movl 4(%ecx),%edx 18 xorl %esi,%eax 19 xorl %ecx,%ecx 20 xorl %esi,%edx 21 andl $0xfcfcfcfc,%eax 22 andl $0xcfcfcfcf,%edx 23 movb %al,%bl 24 movb %ah,%cl 25 rorl $4,%edx 26 xorl (%ebp,%ebx,1),%edi 27 movb %dl,%bl 28 xorl 0x200(%ebp,%ecx,1),%edi 29 movb %dh,%cl 30 shrl $16,%eax 31 xorl 0x100(%ebp,%ebx,1),%edi 32 movb %ah,%bl 33 shrl $16,%edx 34 xorl 0x300(%ebp,%ecx,1),%edi 35 movb %dh,%cl 36 andl $0xff,%eax 37 andl $0xff,%edx 38 xorl 0x600(%ebp,%ebx,1),%edi 39 xorl 0x700(%ebp,%ecx,1),%edi 40 movl (%esp),%ecx 41 xorl 0x400(%ebp,%eax,1),%edi 42 xorl 0x500(%ebp,%edx,1),%edi 43 44 movl 8(%ecx),%eax 45 xorl %ebx,%ebx 46 movl 12(%ecx),%edx 47 xorl %edi,%eax 48 xorl %ecx,%ecx 49 xorl %edi,%edx 50 andl $0xfcfcfcfc,%eax 51 andl $0xcfcfcfcf,%edx 52 movb %al,%bl 53 movb %ah,%cl 54 rorl $4,%edx 55 xorl (%ebp,%ebx,1),%esi 56 movb %dl,%bl 57 xorl 0x200(%ebp,%ecx,1),%esi 58 movb %dh,%cl 59 shrl $16,%eax 60 xorl 0x100(%ebp,%ebx,1),%esi 61 movb %ah,%bl 62 shrl $16,%edx 63 xorl 0x300(%ebp,%ecx,1),%esi 64 movb %dh,%cl 65 andl $0xff,%eax 66 andl $0xff,%edx 67 xorl 0x600(%ebp,%ebx,1),%esi 68 xorl 0x700(%ebp,%ecx,1),%esi 69 movl (%esp),%ecx 70 xorl 0x400(%ebp,%eax,1),%esi 71 xorl 0x500(%ebp,%edx,1),%esi 72 73 movl 16(%ecx),%eax 74 xorl %ebx,%ebx 75 movl 20(%ecx),%edx 76 xorl %esi,%eax 77 xorl %ecx,%ecx 78 xorl %esi,%edx 79 andl $0xfcfcfcfc,%eax 80 andl $0xcfcfcfcf,%edx 81 movb %al,%bl 82 movb %ah,%cl 83 rorl $4,%edx 84 xorl (%ebp,%ebx,1),%edi 85 movb %dl,%bl 86 xorl 0x200(%ebp,%ecx,1),%edi 87 movb %dh,%cl 88 shrl $16,%eax 89 xorl 0x100(%ebp,%ebx,1),%edi 90 movb %ah,%bl 91 shrl $16,%edx 92 xorl 0x300(%ebp,%ecx,1),%edi 93 movb %dh,%cl 94 andl $0xff,%eax 95 andl $0xff,%edx 96 xorl 0x600(%ebp,%ebx,1),%edi 97 xorl 0x700(%ebp,%ecx,1),%edi 98 movl (%esp),%ecx 99 xorl 0x400(%ebp,%eax,1),%edi 100 xorl 0x500(%ebp,%edx,1),%edi 101 102 movl 24(%ecx),%eax 103 xorl %ebx,%ebx 104 movl 28(%ecx),%edx 105 xorl %edi,%eax 106 xorl %ecx,%ecx 107 xorl %edi,%edx 108 andl $0xfcfcfcfc,%eax 109 andl $0xcfcfcfcf,%edx 110 movb %al,%bl 111 movb %ah,%cl 112 rorl $4,%edx 113 xorl (%ebp,%ebx,1),%esi 114 movb %dl,%bl 115 xorl 0x200(%ebp,%ecx,1),%esi 116 movb %dh,%cl 117 shrl $16,%eax 118 xorl 0x100(%ebp,%ebx,1),%esi 119 movb %ah,%bl 120 shrl $16,%edx 121 xorl 0x300(%ebp,%ecx,1),%esi 122 movb %dh,%cl 123 andl $0xff,%eax 124 andl $0xff,%edx 125 xorl 0x600(%ebp,%ebx,1),%esi 126 xorl 0x700(%ebp,%ecx,1),%esi 127 movl (%esp),%ecx 128 xorl 0x400(%ebp,%eax,1),%esi 129 xorl 0x500(%ebp,%edx,1),%esi 130 131 movl 32(%ecx),%eax 132 xorl %ebx,%ebx 133 movl 36(%ecx),%edx 134 xorl %esi,%eax 135 xorl %ecx,%ecx 136 xorl %esi,%edx 137 andl $0xfcfcfcfc,%eax 138 andl $0xcfcfcfcf,%edx 139 movb %al,%bl 140 movb %ah,%cl 141 rorl $4,%edx 142 xorl (%ebp,%ebx,1),%edi 143 movb %dl,%bl 144 xorl 0x200(%ebp,%ecx,1),%edi 145 movb %dh,%cl 146 shrl $16,%eax 147 xorl 0x100(%ebp,%ebx,1),%edi 148 movb %ah,%bl 149 shrl $16,%edx 150 xorl 0x300(%ebp,%ecx,1),%edi 151 movb %dh,%cl 152 andl $0xff,%eax 153 andl $0xff,%edx 154 xorl 0x600(%ebp,%ebx,1),%edi 155 xorl 0x700(%ebp,%ecx,1),%edi 156 movl (%esp),%ecx 157 xorl 0x400(%ebp,%eax,1),%edi 158 xorl 0x500(%ebp,%edx,1),%edi 159 160 movl 40(%ecx),%eax 161 xorl %ebx,%ebx 162 movl 44(%ecx),%edx 163 xorl %edi,%eax 164 xorl %ecx,%ecx 165 xorl %edi,%edx 166 andl $0xfcfcfcfc,%eax 167 andl $0xcfcfcfcf,%edx 168 movb %al,%bl 169 movb %ah,%cl 170 rorl $4,%edx 171 xorl (%ebp,%ebx,1),%esi 172 movb %dl,%bl 173 xorl 0x200(%ebp,%ecx,1),%esi 174 movb %dh,%cl 175 shrl $16,%eax 176 xorl 0x100(%ebp,%ebx,1),%esi 177 movb %ah,%bl 178 shrl $16,%edx 179 xorl 0x300(%ebp,%ecx,1),%esi 180 movb %dh,%cl 181 andl $0xff,%eax 182 andl $0xff,%edx 183 xorl 0x600(%ebp,%ebx,1),%esi 184 xorl 0x700(%ebp,%ecx,1),%esi 185 movl (%esp),%ecx 186 xorl 0x400(%ebp,%eax,1),%esi 187 xorl 0x500(%ebp,%edx,1),%esi 188 189 movl 48(%ecx),%eax 190 xorl %ebx,%ebx 191 movl 52(%ecx),%edx 192 xorl %esi,%eax 193 xorl %ecx,%ecx 194 xorl %esi,%edx 195 andl $0xfcfcfcfc,%eax 196 andl $0xcfcfcfcf,%edx 197 movb %al,%bl 198 movb %ah,%cl 199 rorl $4,%edx 200 xorl (%ebp,%ebx,1),%edi 201 movb %dl,%bl 202 xorl 0x200(%ebp,%ecx,1),%edi 203 movb %dh,%cl 204 shrl $16,%eax 205 xorl 0x100(%ebp,%ebx,1),%edi 206 movb %ah,%bl 207 shrl $16,%edx 208 xorl 0x300(%ebp,%ecx,1),%edi 209 movb %dh,%cl 210 andl $0xff,%eax 211 andl $0xff,%edx 212 xorl 0x600(%ebp,%ebx,1),%edi 213 xorl 0x700(%ebp,%ecx,1),%edi 214 movl (%esp),%ecx 215 xorl 0x400(%ebp,%eax,1),%edi 216 xorl 0x500(%ebp,%edx,1),%edi 217 218 movl 56(%ecx),%eax 219 xorl %ebx,%ebx 220 movl 60(%ecx),%edx 221 xorl %edi,%eax 222 xorl %ecx,%ecx 223 xorl %edi,%edx 224 andl $0xfcfcfcfc,%eax 225 andl $0xcfcfcfcf,%edx 226 movb %al,%bl 227 movb %ah,%cl 228 rorl $4,%edx 229 xorl (%ebp,%ebx,1),%esi 230 movb %dl,%bl 231 xorl 0x200(%ebp,%ecx,1),%esi 232 movb %dh,%cl 233 shrl $16,%eax 234 xorl 0x100(%ebp,%ebx,1),%esi 235 movb %ah,%bl 236 shrl $16,%edx 237 xorl 0x300(%ebp,%ecx,1),%esi 238 movb %dh,%cl 239 andl $0xff,%eax 240 andl $0xff,%edx 241 xorl 0x600(%ebp,%ebx,1),%esi 242 xorl 0x700(%ebp,%ecx,1),%esi 243 movl (%esp),%ecx 244 xorl 0x400(%ebp,%eax,1),%esi 245 xorl 0x500(%ebp,%edx,1),%esi 246 247 movl 64(%ecx),%eax 248 xorl %ebx,%ebx 249 movl 68(%ecx),%edx 250 xorl %esi,%eax 251 xorl %ecx,%ecx 252 xorl %esi,%edx 253 andl $0xfcfcfcfc,%eax 254 andl $0xcfcfcfcf,%edx 255 movb %al,%bl 256 movb %ah,%cl 257 rorl $4,%edx 258 xorl (%ebp,%ebx,1),%edi 259 movb %dl,%bl 260 xorl 0x200(%ebp,%ecx,1),%edi 261 movb %dh,%cl 262 shrl $16,%eax 263 xorl 0x100(%ebp,%ebx,1),%edi 264 movb %ah,%bl 265 shrl $16,%edx 266 xorl 0x300(%ebp,%ecx,1),%edi 267 movb %dh,%cl 268 andl $0xff,%eax 269 andl $0xff,%edx 270 xorl 0x600(%ebp,%ebx,1),%edi 271 xorl 0x700(%ebp,%ecx,1),%edi 272 movl (%esp),%ecx 273 xorl 0x400(%ebp,%eax,1),%edi 274 xorl 0x500(%ebp,%edx,1),%edi 275 276 movl 72(%ecx),%eax 277 xorl %ebx,%ebx 278 movl 76(%ecx),%edx 279 xorl %edi,%eax 280 xorl %ecx,%ecx 281 xorl %edi,%edx 282 andl $0xfcfcfcfc,%eax 283 andl $0xcfcfcfcf,%edx 284 movb %al,%bl 285 movb %ah,%cl 286 rorl $4,%edx 287 xorl (%ebp,%ebx,1),%esi 288 movb %dl,%bl 289 xorl 0x200(%ebp,%ecx,1),%esi 290 movb %dh,%cl 291 shrl $16,%eax 292 xorl 0x100(%ebp,%ebx,1),%esi 293 movb %ah,%bl 294 shrl $16,%edx 295 xorl 0x300(%ebp,%ecx,1),%esi 296 movb %dh,%cl 297 andl $0xff,%eax 298 andl $0xff,%edx 299 xorl 0x600(%ebp,%ebx,1),%esi 300 xorl 0x700(%ebp,%ecx,1),%esi 301 movl (%esp),%ecx 302 xorl 0x400(%ebp,%eax,1),%esi 303 xorl 0x500(%ebp,%edx,1),%esi 304 305 movl 80(%ecx),%eax 306 xorl %ebx,%ebx 307 movl 84(%ecx),%edx 308 xorl %esi,%eax 309 xorl %ecx,%ecx 310 xorl %esi,%edx 311 andl $0xfcfcfcfc,%eax 312 andl $0xcfcfcfcf,%edx 313 movb %al,%bl 314 movb %ah,%cl 315 rorl $4,%edx 316 xorl (%ebp,%ebx,1),%edi 317 movb %dl,%bl 318 xorl 0x200(%ebp,%ecx,1),%edi 319 movb %dh,%cl 320 shrl $16,%eax 321 xorl 0x100(%ebp,%ebx,1),%edi 322 movb %ah,%bl 323 shrl $16,%edx 324 xorl 0x300(%ebp,%ecx,1),%edi 325 movb %dh,%cl 326 andl $0xff,%eax 327 andl $0xff,%edx 328 xorl 0x600(%ebp,%ebx,1),%edi 329 xorl 0x700(%ebp,%ecx,1),%edi 330 movl (%esp),%ecx 331 xorl 0x400(%ebp,%eax,1),%edi 332 xorl 0x500(%ebp,%edx,1),%edi 333 334 movl 88(%ecx),%eax 335 xorl %ebx,%ebx 336 movl 92(%ecx),%edx 337 xorl %edi,%eax 338 xorl %ecx,%ecx 339 xorl %edi,%edx 340 andl $0xfcfcfcfc,%eax 341 andl $0xcfcfcfcf,%edx 342 movb %al,%bl 343 movb %ah,%cl 344 rorl $4,%edx 345 xorl (%ebp,%ebx,1),%esi 346 movb %dl,%bl 347 xorl 0x200(%ebp,%ecx,1),%esi 348 movb %dh,%cl 349 shrl $16,%eax 350 xorl 0x100(%ebp,%ebx,1),%esi 351 movb %ah,%bl 352 shrl $16,%edx 353 xorl 0x300(%ebp,%ecx,1),%esi 354 movb %dh,%cl 355 andl $0xff,%eax 356 andl $0xff,%edx 357 xorl 0x600(%ebp,%ebx,1),%esi 358 xorl 0x700(%ebp,%ecx,1),%esi 359 movl (%esp),%ecx 360 xorl 0x400(%ebp,%eax,1),%esi 361 xorl 0x500(%ebp,%edx,1),%esi 362 363 movl 96(%ecx),%eax 364 xorl %ebx,%ebx 365 movl 100(%ecx),%edx 366 xorl %esi,%eax 367 xorl %ecx,%ecx 368 xorl %esi,%edx 369 andl $0xfcfcfcfc,%eax 370 andl $0xcfcfcfcf,%edx 371 movb %al,%bl 372 movb %ah,%cl 373 rorl $4,%edx 374 xorl (%ebp,%ebx,1),%edi 375 movb %dl,%bl 376 xorl 0x200(%ebp,%ecx,1),%edi 377 movb %dh,%cl 378 shrl $16,%eax 379 xorl 0x100(%ebp,%ebx,1),%edi 380 movb %ah,%bl 381 shrl $16,%edx 382 xorl 0x300(%ebp,%ecx,1),%edi 383 movb %dh,%cl 384 andl $0xff,%eax 385 andl $0xff,%edx 386 xorl 0x600(%ebp,%ebx,1),%edi 387 xorl 0x700(%ebp,%ecx,1),%edi 388 movl (%esp),%ecx 389 xorl 0x400(%ebp,%eax,1),%edi 390 xorl 0x500(%ebp,%edx,1),%edi 391 392 movl 104(%ecx),%eax 393 xorl %ebx,%ebx 394 movl 108(%ecx),%edx 395 xorl %edi,%eax 396 xorl %ecx,%ecx 397 xorl %edi,%edx 398 andl $0xfcfcfcfc,%eax 399 andl $0xcfcfcfcf,%edx 400 movb %al,%bl 401 movb %ah,%cl 402 rorl $4,%edx 403 xorl (%ebp,%ebx,1),%esi 404 movb %dl,%bl 405 xorl 0x200(%ebp,%ecx,1),%esi 406 movb %dh,%cl 407 shrl $16,%eax 408 xorl 0x100(%ebp,%ebx,1),%esi 409 movb %ah,%bl 410 shrl $16,%edx 411 xorl 0x300(%ebp,%ecx,1),%esi 412 movb %dh,%cl 413 andl $0xff,%eax 414 andl $0xff,%edx 415 xorl 0x600(%ebp,%ebx,1),%esi 416 xorl 0x700(%ebp,%ecx,1),%esi 417 movl (%esp),%ecx 418 xorl 0x400(%ebp,%eax,1),%esi 419 xorl 0x500(%ebp,%edx,1),%esi 420 421 movl 112(%ecx),%eax 422 xorl %ebx,%ebx 423 movl 116(%ecx),%edx 424 xorl %esi,%eax 425 xorl %ecx,%ecx 426 xorl %esi,%edx 427 andl $0xfcfcfcfc,%eax 428 andl $0xcfcfcfcf,%edx 429 movb %al,%bl 430 movb %ah,%cl 431 rorl $4,%edx 432 xorl (%ebp,%ebx,1),%edi 433 movb %dl,%bl 434 xorl 0x200(%ebp,%ecx,1),%edi 435 movb %dh,%cl 436 shrl $16,%eax 437 xorl 0x100(%ebp,%ebx,1),%edi 438 movb %ah,%bl 439 shrl $16,%edx 440 xorl 0x300(%ebp,%ecx,1),%edi 441 movb %dh,%cl 442 andl $0xff,%eax 443 andl $0xff,%edx 444 xorl 0x600(%ebp,%ebx,1),%edi 445 xorl 0x700(%ebp,%ecx,1),%edi 446 movl (%esp),%ecx 447 xorl 0x400(%ebp,%eax,1),%edi 448 xorl 0x500(%ebp,%edx,1),%edi 449 450 movl 120(%ecx),%eax 451 xorl %ebx,%ebx 452 movl 124(%ecx),%edx 453 xorl %edi,%eax 454 xorl %ecx,%ecx 455 xorl %edi,%edx 456 andl $0xfcfcfcfc,%eax 457 andl $0xcfcfcfcf,%edx 458 movb %al,%bl 459 movb %ah,%cl 460 rorl $4,%edx 461 xorl (%ebp,%ebx,1),%esi 462 movb %dl,%bl 463 xorl 0x200(%ebp,%ecx,1),%esi 464 movb %dh,%cl 465 shrl $16,%eax 466 xorl 0x100(%ebp,%ebx,1),%esi 467 movb %ah,%bl 468 shrl $16,%edx 469 xorl 0x300(%ebp,%ecx,1),%esi 470 movb %dh,%cl 471 andl $0xff,%eax 472 andl $0xff,%edx 473 xorl 0x600(%ebp,%ebx,1),%esi 474 xorl 0x700(%ebp,%ecx,1),%esi 475 movl (%esp),%ecx 476 xorl 0x400(%ebp,%eax,1),%esi 477 xorl 0x500(%ebp,%edx,1),%esi 478 addl $4,%esp 479 ret 480.size _x86_DES_encrypt,.-_x86_DES_encrypt 481.type _x86_DES_decrypt,@function 482.align 16 483_x86_DES_decrypt: 484 #ifdef __CET__ 485 486.byte 243,15,30,251 487 #endif 488 489 pushl %ecx 490 491 movl 120(%ecx),%eax 492 xorl %ebx,%ebx 493 movl 124(%ecx),%edx 494 xorl %esi,%eax 495 xorl %ecx,%ecx 496 xorl %esi,%edx 497 andl $0xfcfcfcfc,%eax 498 andl $0xcfcfcfcf,%edx 499 movb %al,%bl 500 movb %ah,%cl 501 rorl $4,%edx 502 xorl (%ebp,%ebx,1),%edi 503 movb %dl,%bl 504 xorl 0x200(%ebp,%ecx,1),%edi 505 movb %dh,%cl 506 shrl $16,%eax 507 xorl 0x100(%ebp,%ebx,1),%edi 508 movb %ah,%bl 509 shrl $16,%edx 510 xorl 0x300(%ebp,%ecx,1),%edi 511 movb %dh,%cl 512 andl $0xff,%eax 513 andl $0xff,%edx 514 xorl 0x600(%ebp,%ebx,1),%edi 515 xorl 0x700(%ebp,%ecx,1),%edi 516 movl (%esp),%ecx 517 xorl 0x400(%ebp,%eax,1),%edi 518 xorl 0x500(%ebp,%edx,1),%edi 519 520 movl 112(%ecx),%eax 521 xorl %ebx,%ebx 522 movl 116(%ecx),%edx 523 xorl %edi,%eax 524 xorl %ecx,%ecx 525 xorl %edi,%edx 526 andl $0xfcfcfcfc,%eax 527 andl $0xcfcfcfcf,%edx 528 movb %al,%bl 529 movb %ah,%cl 530 rorl $4,%edx 531 xorl (%ebp,%ebx,1),%esi 532 movb %dl,%bl 533 xorl 0x200(%ebp,%ecx,1),%esi 534 movb %dh,%cl 535 shrl $16,%eax 536 xorl 0x100(%ebp,%ebx,1),%esi 537 movb %ah,%bl 538 shrl $16,%edx 539 xorl 0x300(%ebp,%ecx,1),%esi 540 movb %dh,%cl 541 andl $0xff,%eax 542 andl $0xff,%edx 543 xorl 0x600(%ebp,%ebx,1),%esi 544 xorl 0x700(%ebp,%ecx,1),%esi 545 movl (%esp),%ecx 546 xorl 0x400(%ebp,%eax,1),%esi 547 xorl 0x500(%ebp,%edx,1),%esi 548 549 movl 104(%ecx),%eax 550 xorl %ebx,%ebx 551 movl 108(%ecx),%edx 552 xorl %esi,%eax 553 xorl %ecx,%ecx 554 xorl %esi,%edx 555 andl $0xfcfcfcfc,%eax 556 andl $0xcfcfcfcf,%edx 557 movb %al,%bl 558 movb %ah,%cl 559 rorl $4,%edx 560 xorl (%ebp,%ebx,1),%edi 561 movb %dl,%bl 562 xorl 0x200(%ebp,%ecx,1),%edi 563 movb %dh,%cl 564 shrl $16,%eax 565 xorl 0x100(%ebp,%ebx,1),%edi 566 movb %ah,%bl 567 shrl $16,%edx 568 xorl 0x300(%ebp,%ecx,1),%edi 569 movb %dh,%cl 570 andl $0xff,%eax 571 andl $0xff,%edx 572 xorl 0x600(%ebp,%ebx,1),%edi 573 xorl 0x700(%ebp,%ecx,1),%edi 574 movl (%esp),%ecx 575 xorl 0x400(%ebp,%eax,1),%edi 576 xorl 0x500(%ebp,%edx,1),%edi 577 578 movl 96(%ecx),%eax 579 xorl %ebx,%ebx 580 movl 100(%ecx),%edx 581 xorl %edi,%eax 582 xorl %ecx,%ecx 583 xorl %edi,%edx 584 andl $0xfcfcfcfc,%eax 585 andl $0xcfcfcfcf,%edx 586 movb %al,%bl 587 movb %ah,%cl 588 rorl $4,%edx 589 xorl (%ebp,%ebx,1),%esi 590 movb %dl,%bl 591 xorl 0x200(%ebp,%ecx,1),%esi 592 movb %dh,%cl 593 shrl $16,%eax 594 xorl 0x100(%ebp,%ebx,1),%esi 595 movb %ah,%bl 596 shrl $16,%edx 597 xorl 0x300(%ebp,%ecx,1),%esi 598 movb %dh,%cl 599 andl $0xff,%eax 600 andl $0xff,%edx 601 xorl 0x600(%ebp,%ebx,1),%esi 602 xorl 0x700(%ebp,%ecx,1),%esi 603 movl (%esp),%ecx 604 xorl 0x400(%ebp,%eax,1),%esi 605 xorl 0x500(%ebp,%edx,1),%esi 606 607 movl 88(%ecx),%eax 608 xorl %ebx,%ebx 609 movl 92(%ecx),%edx 610 xorl %esi,%eax 611 xorl %ecx,%ecx 612 xorl %esi,%edx 613 andl $0xfcfcfcfc,%eax 614 andl $0xcfcfcfcf,%edx 615 movb %al,%bl 616 movb %ah,%cl 617 rorl $4,%edx 618 xorl (%ebp,%ebx,1),%edi 619 movb %dl,%bl 620 xorl 0x200(%ebp,%ecx,1),%edi 621 movb %dh,%cl 622 shrl $16,%eax 623 xorl 0x100(%ebp,%ebx,1),%edi 624 movb %ah,%bl 625 shrl $16,%edx 626 xorl 0x300(%ebp,%ecx,1),%edi 627 movb %dh,%cl 628 andl $0xff,%eax 629 andl $0xff,%edx 630 xorl 0x600(%ebp,%ebx,1),%edi 631 xorl 0x700(%ebp,%ecx,1),%edi 632 movl (%esp),%ecx 633 xorl 0x400(%ebp,%eax,1),%edi 634 xorl 0x500(%ebp,%edx,1),%edi 635 636 movl 80(%ecx),%eax 637 xorl %ebx,%ebx 638 movl 84(%ecx),%edx 639 xorl %edi,%eax 640 xorl %ecx,%ecx 641 xorl %edi,%edx 642 andl $0xfcfcfcfc,%eax 643 andl $0xcfcfcfcf,%edx 644 movb %al,%bl 645 movb %ah,%cl 646 rorl $4,%edx 647 xorl (%ebp,%ebx,1),%esi 648 movb %dl,%bl 649 xorl 0x200(%ebp,%ecx,1),%esi 650 movb %dh,%cl 651 shrl $16,%eax 652 xorl 0x100(%ebp,%ebx,1),%esi 653 movb %ah,%bl 654 shrl $16,%edx 655 xorl 0x300(%ebp,%ecx,1),%esi 656 movb %dh,%cl 657 andl $0xff,%eax 658 andl $0xff,%edx 659 xorl 0x600(%ebp,%ebx,1),%esi 660 xorl 0x700(%ebp,%ecx,1),%esi 661 movl (%esp),%ecx 662 xorl 0x400(%ebp,%eax,1),%esi 663 xorl 0x500(%ebp,%edx,1),%esi 664 665 movl 72(%ecx),%eax 666 xorl %ebx,%ebx 667 movl 76(%ecx),%edx 668 xorl %esi,%eax 669 xorl %ecx,%ecx 670 xorl %esi,%edx 671 andl $0xfcfcfcfc,%eax 672 andl $0xcfcfcfcf,%edx 673 movb %al,%bl 674 movb %ah,%cl 675 rorl $4,%edx 676 xorl (%ebp,%ebx,1),%edi 677 movb %dl,%bl 678 xorl 0x200(%ebp,%ecx,1),%edi 679 movb %dh,%cl 680 shrl $16,%eax 681 xorl 0x100(%ebp,%ebx,1),%edi 682 movb %ah,%bl 683 shrl $16,%edx 684 xorl 0x300(%ebp,%ecx,1),%edi 685 movb %dh,%cl 686 andl $0xff,%eax 687 andl $0xff,%edx 688 xorl 0x600(%ebp,%ebx,1),%edi 689 xorl 0x700(%ebp,%ecx,1),%edi 690 movl (%esp),%ecx 691 xorl 0x400(%ebp,%eax,1),%edi 692 xorl 0x500(%ebp,%edx,1),%edi 693 694 movl 64(%ecx),%eax 695 xorl %ebx,%ebx 696 movl 68(%ecx),%edx 697 xorl %edi,%eax 698 xorl %ecx,%ecx 699 xorl %edi,%edx 700 andl $0xfcfcfcfc,%eax 701 andl $0xcfcfcfcf,%edx 702 movb %al,%bl 703 movb %ah,%cl 704 rorl $4,%edx 705 xorl (%ebp,%ebx,1),%esi 706 movb %dl,%bl 707 xorl 0x200(%ebp,%ecx,1),%esi 708 movb %dh,%cl 709 shrl $16,%eax 710 xorl 0x100(%ebp,%ebx,1),%esi 711 movb %ah,%bl 712 shrl $16,%edx 713 xorl 0x300(%ebp,%ecx,1),%esi 714 movb %dh,%cl 715 andl $0xff,%eax 716 andl $0xff,%edx 717 xorl 0x600(%ebp,%ebx,1),%esi 718 xorl 0x700(%ebp,%ecx,1),%esi 719 movl (%esp),%ecx 720 xorl 0x400(%ebp,%eax,1),%esi 721 xorl 0x500(%ebp,%edx,1),%esi 722 723 movl 56(%ecx),%eax 724 xorl %ebx,%ebx 725 movl 60(%ecx),%edx 726 xorl %esi,%eax 727 xorl %ecx,%ecx 728 xorl %esi,%edx 729 andl $0xfcfcfcfc,%eax 730 andl $0xcfcfcfcf,%edx 731 movb %al,%bl 732 movb %ah,%cl 733 rorl $4,%edx 734 xorl (%ebp,%ebx,1),%edi 735 movb %dl,%bl 736 xorl 0x200(%ebp,%ecx,1),%edi 737 movb %dh,%cl 738 shrl $16,%eax 739 xorl 0x100(%ebp,%ebx,1),%edi 740 movb %ah,%bl 741 shrl $16,%edx 742 xorl 0x300(%ebp,%ecx,1),%edi 743 movb %dh,%cl 744 andl $0xff,%eax 745 andl $0xff,%edx 746 xorl 0x600(%ebp,%ebx,1),%edi 747 xorl 0x700(%ebp,%ecx,1),%edi 748 movl (%esp),%ecx 749 xorl 0x400(%ebp,%eax,1),%edi 750 xorl 0x500(%ebp,%edx,1),%edi 751 752 movl 48(%ecx),%eax 753 xorl %ebx,%ebx 754 movl 52(%ecx),%edx 755 xorl %edi,%eax 756 xorl %ecx,%ecx 757 xorl %edi,%edx 758 andl $0xfcfcfcfc,%eax 759 andl $0xcfcfcfcf,%edx 760 movb %al,%bl 761 movb %ah,%cl 762 rorl $4,%edx 763 xorl (%ebp,%ebx,1),%esi 764 movb %dl,%bl 765 xorl 0x200(%ebp,%ecx,1),%esi 766 movb %dh,%cl 767 shrl $16,%eax 768 xorl 0x100(%ebp,%ebx,1),%esi 769 movb %ah,%bl 770 shrl $16,%edx 771 xorl 0x300(%ebp,%ecx,1),%esi 772 movb %dh,%cl 773 andl $0xff,%eax 774 andl $0xff,%edx 775 xorl 0x600(%ebp,%ebx,1),%esi 776 xorl 0x700(%ebp,%ecx,1),%esi 777 movl (%esp),%ecx 778 xorl 0x400(%ebp,%eax,1),%esi 779 xorl 0x500(%ebp,%edx,1),%esi 780 781 movl 40(%ecx),%eax 782 xorl %ebx,%ebx 783 movl 44(%ecx),%edx 784 xorl %esi,%eax 785 xorl %ecx,%ecx 786 xorl %esi,%edx 787 andl $0xfcfcfcfc,%eax 788 andl $0xcfcfcfcf,%edx 789 movb %al,%bl 790 movb %ah,%cl 791 rorl $4,%edx 792 xorl (%ebp,%ebx,1),%edi 793 movb %dl,%bl 794 xorl 0x200(%ebp,%ecx,1),%edi 795 movb %dh,%cl 796 shrl $16,%eax 797 xorl 0x100(%ebp,%ebx,1),%edi 798 movb %ah,%bl 799 shrl $16,%edx 800 xorl 0x300(%ebp,%ecx,1),%edi 801 movb %dh,%cl 802 andl $0xff,%eax 803 andl $0xff,%edx 804 xorl 0x600(%ebp,%ebx,1),%edi 805 xorl 0x700(%ebp,%ecx,1),%edi 806 movl (%esp),%ecx 807 xorl 0x400(%ebp,%eax,1),%edi 808 xorl 0x500(%ebp,%edx,1),%edi 809 810 movl 32(%ecx),%eax 811 xorl %ebx,%ebx 812 movl 36(%ecx),%edx 813 xorl %edi,%eax 814 xorl %ecx,%ecx 815 xorl %edi,%edx 816 andl $0xfcfcfcfc,%eax 817 andl $0xcfcfcfcf,%edx 818 movb %al,%bl 819 movb %ah,%cl 820 rorl $4,%edx 821 xorl (%ebp,%ebx,1),%esi 822 movb %dl,%bl 823 xorl 0x200(%ebp,%ecx,1),%esi 824 movb %dh,%cl 825 shrl $16,%eax 826 xorl 0x100(%ebp,%ebx,1),%esi 827 movb %ah,%bl 828 shrl $16,%edx 829 xorl 0x300(%ebp,%ecx,1),%esi 830 movb %dh,%cl 831 andl $0xff,%eax 832 andl $0xff,%edx 833 xorl 0x600(%ebp,%ebx,1),%esi 834 xorl 0x700(%ebp,%ecx,1),%esi 835 movl (%esp),%ecx 836 xorl 0x400(%ebp,%eax,1),%esi 837 xorl 0x500(%ebp,%edx,1),%esi 838 839 movl 24(%ecx),%eax 840 xorl %ebx,%ebx 841 movl 28(%ecx),%edx 842 xorl %esi,%eax 843 xorl %ecx,%ecx 844 xorl %esi,%edx 845 andl $0xfcfcfcfc,%eax 846 andl $0xcfcfcfcf,%edx 847 movb %al,%bl 848 movb %ah,%cl 849 rorl $4,%edx 850 xorl (%ebp,%ebx,1),%edi 851 movb %dl,%bl 852 xorl 0x200(%ebp,%ecx,1),%edi 853 movb %dh,%cl 854 shrl $16,%eax 855 xorl 0x100(%ebp,%ebx,1),%edi 856 movb %ah,%bl 857 shrl $16,%edx 858 xorl 0x300(%ebp,%ecx,1),%edi 859 movb %dh,%cl 860 andl $0xff,%eax 861 andl $0xff,%edx 862 xorl 0x600(%ebp,%ebx,1),%edi 863 xorl 0x700(%ebp,%ecx,1),%edi 864 movl (%esp),%ecx 865 xorl 0x400(%ebp,%eax,1),%edi 866 xorl 0x500(%ebp,%edx,1),%edi 867 868 movl 16(%ecx),%eax 869 xorl %ebx,%ebx 870 movl 20(%ecx),%edx 871 xorl %edi,%eax 872 xorl %ecx,%ecx 873 xorl %edi,%edx 874 andl $0xfcfcfcfc,%eax 875 andl $0xcfcfcfcf,%edx 876 movb %al,%bl 877 movb %ah,%cl 878 rorl $4,%edx 879 xorl (%ebp,%ebx,1),%esi 880 movb %dl,%bl 881 xorl 0x200(%ebp,%ecx,1),%esi 882 movb %dh,%cl 883 shrl $16,%eax 884 xorl 0x100(%ebp,%ebx,1),%esi 885 movb %ah,%bl 886 shrl $16,%edx 887 xorl 0x300(%ebp,%ecx,1),%esi 888 movb %dh,%cl 889 andl $0xff,%eax 890 andl $0xff,%edx 891 xorl 0x600(%ebp,%ebx,1),%esi 892 xorl 0x700(%ebp,%ecx,1),%esi 893 movl (%esp),%ecx 894 xorl 0x400(%ebp,%eax,1),%esi 895 xorl 0x500(%ebp,%edx,1),%esi 896 897 movl 8(%ecx),%eax 898 xorl %ebx,%ebx 899 movl 12(%ecx),%edx 900 xorl %esi,%eax 901 xorl %ecx,%ecx 902 xorl %esi,%edx 903 andl $0xfcfcfcfc,%eax 904 andl $0xcfcfcfcf,%edx 905 movb %al,%bl 906 movb %ah,%cl 907 rorl $4,%edx 908 xorl (%ebp,%ebx,1),%edi 909 movb %dl,%bl 910 xorl 0x200(%ebp,%ecx,1),%edi 911 movb %dh,%cl 912 shrl $16,%eax 913 xorl 0x100(%ebp,%ebx,1),%edi 914 movb %ah,%bl 915 shrl $16,%edx 916 xorl 0x300(%ebp,%ecx,1),%edi 917 movb %dh,%cl 918 andl $0xff,%eax 919 andl $0xff,%edx 920 xorl 0x600(%ebp,%ebx,1),%edi 921 xorl 0x700(%ebp,%ecx,1),%edi 922 movl (%esp),%ecx 923 xorl 0x400(%ebp,%eax,1),%edi 924 xorl 0x500(%ebp,%edx,1),%edi 925 926 movl (%ecx),%eax 927 xorl %ebx,%ebx 928 movl 4(%ecx),%edx 929 xorl %edi,%eax 930 xorl %ecx,%ecx 931 xorl %edi,%edx 932 andl $0xfcfcfcfc,%eax 933 andl $0xcfcfcfcf,%edx 934 movb %al,%bl 935 movb %ah,%cl 936 rorl $4,%edx 937 xorl (%ebp,%ebx,1),%esi 938 movb %dl,%bl 939 xorl 0x200(%ebp,%ecx,1),%esi 940 movb %dh,%cl 941 shrl $16,%eax 942 xorl 0x100(%ebp,%ebx,1),%esi 943 movb %ah,%bl 944 shrl $16,%edx 945 xorl 0x300(%ebp,%ecx,1),%esi 946 movb %dh,%cl 947 andl $0xff,%eax 948 andl $0xff,%edx 949 xorl 0x600(%ebp,%ebx,1),%esi 950 xorl 0x700(%ebp,%ecx,1),%esi 951 movl (%esp),%ecx 952 xorl 0x400(%ebp,%eax,1),%esi 953 xorl 0x500(%ebp,%edx,1),%esi 954 addl $4,%esp 955 ret 956.size _x86_DES_decrypt,.-_x86_DES_decrypt 957.globl DES_encrypt1 958.type DES_encrypt1,@function 959.align 16 960DES_encrypt1: 961.L_DES_encrypt1_begin: 962 #ifdef __CET__ 963 964.byte 243,15,30,251 965 #endif 966 967 pushl %esi 968 pushl %edi 969 970 971 movl 12(%esp),%esi 972 xorl %ecx,%ecx 973 pushl %ebx 974 pushl %ebp 975 movl (%esi),%eax 976 movl 28(%esp),%ebx 977 movl 4(%esi),%edi 978 979 980 roll $4,%eax 981 movl %eax,%esi 982 xorl %edi,%eax 983 andl $0xf0f0f0f0,%eax 984 xorl %eax,%esi 985 xorl %eax,%edi 986 987 roll $20,%edi 988 movl %edi,%eax 989 xorl %esi,%edi 990 andl $0xfff0000f,%edi 991 xorl %edi,%eax 992 xorl %edi,%esi 993 994 roll $14,%eax 995 movl %eax,%edi 996 xorl %esi,%eax 997 andl $0x33333333,%eax 998 xorl %eax,%edi 999 xorl %eax,%esi 1000 1001 roll $22,%esi 1002 movl %esi,%eax 1003 xorl %edi,%esi 1004 andl $0x03fc03fc,%esi 1005 xorl %esi,%eax 1006 xorl %esi,%edi 1007 1008 roll $9,%eax 1009 movl %eax,%esi 1010 xorl %edi,%eax 1011 andl $0xaaaaaaaa,%eax 1012 xorl %eax,%esi 1013 xorl %eax,%edi 1014 1015 roll $1,%edi 1016 call .L000pic_point 1017.L000pic_point: 1018 popl %ebp 1019 leal .Ldes_sptrans-.L000pic_point(%ebp),%ebp 1020 movl 24(%esp),%ecx 1021 cmpl $0,%ebx 1022 je .L001decrypt 1023 call _x86_DES_encrypt 1024 jmp .L002done 1025.L001decrypt: 1026 call _x86_DES_decrypt 1027.L002done: 1028 1029 1030 movl 20(%esp),%edx 1031 rorl $1,%esi 1032 movl %edi,%eax 1033 xorl %esi,%edi 1034 andl $0xaaaaaaaa,%edi 1035 xorl %edi,%eax 1036 xorl %edi,%esi 1037 1038 roll $23,%eax 1039 movl %eax,%edi 1040 xorl %esi,%eax 1041 andl $0x03fc03fc,%eax 1042 xorl %eax,%edi 1043 xorl %eax,%esi 1044 1045 roll $10,%edi 1046 movl %edi,%eax 1047 xorl %esi,%edi 1048 andl $0x33333333,%edi 1049 xorl %edi,%eax 1050 xorl %edi,%esi 1051 1052 roll $18,%esi 1053 movl %esi,%edi 1054 xorl %eax,%esi 1055 andl $0xfff0000f,%esi 1056 xorl %esi,%edi 1057 xorl %esi,%eax 1058 1059 roll $12,%edi 1060 movl %edi,%esi 1061 xorl %eax,%edi 1062 andl $0xf0f0f0f0,%edi 1063 xorl %edi,%esi 1064 xorl %edi,%eax 1065 1066 rorl $4,%eax 1067 movl %eax,(%edx) 1068 movl %esi,4(%edx) 1069 popl %ebp 1070 popl %ebx 1071 popl %edi 1072 popl %esi 1073 ret 1074.size DES_encrypt1,.-.L_DES_encrypt1_begin 1075.globl DES_encrypt2 1076.type DES_encrypt2,@function 1077.align 16 1078DES_encrypt2: 1079.L_DES_encrypt2_begin: 1080 #ifdef __CET__ 1081 1082.byte 243,15,30,251 1083 #endif 1084 1085 pushl %esi 1086 pushl %edi 1087 1088 1089 movl 12(%esp),%eax 1090 xorl %ecx,%ecx 1091 pushl %ebx 1092 pushl %ebp 1093 movl (%eax),%esi 1094 movl 28(%esp),%ebx 1095 roll $3,%esi 1096 movl 4(%eax),%edi 1097 roll $3,%edi 1098 call .L003pic_point 1099.L003pic_point: 1100 popl %ebp 1101 leal .Ldes_sptrans-.L003pic_point(%ebp),%ebp 1102 movl 24(%esp),%ecx 1103 cmpl $0,%ebx 1104 je .L004decrypt 1105 call _x86_DES_encrypt 1106 jmp .L005done 1107.L004decrypt: 1108 call _x86_DES_decrypt 1109.L005done: 1110 1111 1112 rorl $3,%edi 1113 movl 20(%esp),%eax 1114 rorl $3,%esi 1115 movl %edi,(%eax) 1116 movl %esi,4(%eax) 1117 popl %ebp 1118 popl %ebx 1119 popl %edi 1120 popl %esi 1121 ret 1122.size DES_encrypt2,.-.L_DES_encrypt2_begin 1123.globl DES_encrypt3 1124.type DES_encrypt3,@function 1125.align 16 1126DES_encrypt3: 1127.L_DES_encrypt3_begin: 1128 #ifdef __CET__ 1129 1130.byte 243,15,30,251 1131 #endif 1132 1133 pushl %ebx 1134 movl 8(%esp),%ebx 1135 pushl %ebp 1136 pushl %esi 1137 pushl %edi 1138 1139 1140 movl (%ebx),%edi 1141 movl 4(%ebx),%esi 1142 subl $12,%esp 1143 1144 1145 roll $4,%edi 1146 movl %edi,%edx 1147 xorl %esi,%edi 1148 andl $0xf0f0f0f0,%edi 1149 xorl %edi,%edx 1150 xorl %edi,%esi 1151 1152 roll $20,%esi 1153 movl %esi,%edi 1154 xorl %edx,%esi 1155 andl $0xfff0000f,%esi 1156 xorl %esi,%edi 1157 xorl %esi,%edx 1158 1159 roll $14,%edi 1160 movl %edi,%esi 1161 xorl %edx,%edi 1162 andl $0x33333333,%edi 1163 xorl %edi,%esi 1164 xorl %edi,%edx 1165 1166 roll $22,%edx 1167 movl %edx,%edi 1168 xorl %esi,%edx 1169 andl $0x03fc03fc,%edx 1170 xorl %edx,%edi 1171 xorl %edx,%esi 1172 1173 roll $9,%edi 1174 movl %edi,%edx 1175 xorl %esi,%edi 1176 andl $0xaaaaaaaa,%edi 1177 xorl %edi,%edx 1178 xorl %edi,%esi 1179 1180 rorl $3,%edx 1181 rorl $2,%esi 1182 movl %esi,4(%ebx) 1183 movl 36(%esp),%eax 1184 movl %edx,(%ebx) 1185 movl 40(%esp),%edi 1186 movl 44(%esp),%esi 1187 movl $1,8(%esp) 1188 movl %eax,4(%esp) 1189 movl %ebx,(%esp) 1190 call .L_DES_encrypt2_begin 1191 movl $0,8(%esp) 1192 movl %edi,4(%esp) 1193 movl %ebx,(%esp) 1194 call .L_DES_encrypt2_begin 1195 movl $1,8(%esp) 1196 movl %esi,4(%esp) 1197 movl %ebx,(%esp) 1198 call .L_DES_encrypt2_begin 1199 addl $12,%esp 1200 movl (%ebx),%edi 1201 movl 4(%ebx),%esi 1202 1203 1204 roll $2,%esi 1205 roll $3,%edi 1206 movl %edi,%eax 1207 xorl %esi,%edi 1208 andl $0xaaaaaaaa,%edi 1209 xorl %edi,%eax 1210 xorl %edi,%esi 1211 1212 roll $23,%eax 1213 movl %eax,%edi 1214 xorl %esi,%eax 1215 andl $0x03fc03fc,%eax 1216 xorl %eax,%edi 1217 xorl %eax,%esi 1218 1219 roll $10,%edi 1220 movl %edi,%eax 1221 xorl %esi,%edi 1222 andl $0x33333333,%edi 1223 xorl %edi,%eax 1224 xorl %edi,%esi 1225 1226 roll $18,%esi 1227 movl %esi,%edi 1228 xorl %eax,%esi 1229 andl $0xfff0000f,%esi 1230 xorl %esi,%edi 1231 xorl %esi,%eax 1232 1233 roll $12,%edi 1234 movl %edi,%esi 1235 xorl %eax,%edi 1236 andl $0xf0f0f0f0,%edi 1237 xorl %edi,%esi 1238 xorl %edi,%eax 1239 1240 rorl $4,%eax 1241 movl %eax,(%ebx) 1242 movl %esi,4(%ebx) 1243 popl %edi 1244 popl %esi 1245 popl %ebp 1246 popl %ebx 1247 ret 1248.size DES_encrypt3,.-.L_DES_encrypt3_begin 1249.globl DES_decrypt3 1250.type DES_decrypt3,@function 1251.align 16 1252DES_decrypt3: 1253.L_DES_decrypt3_begin: 1254 #ifdef __CET__ 1255 1256.byte 243,15,30,251 1257 #endif 1258 1259 pushl %ebx 1260 movl 8(%esp),%ebx 1261 pushl %ebp 1262 pushl %esi 1263 pushl %edi 1264 1265 1266 movl (%ebx),%edi 1267 movl 4(%ebx),%esi 1268 subl $12,%esp 1269 1270 1271 roll $4,%edi 1272 movl %edi,%edx 1273 xorl %esi,%edi 1274 andl $0xf0f0f0f0,%edi 1275 xorl %edi,%edx 1276 xorl %edi,%esi 1277 1278 roll $20,%esi 1279 movl %esi,%edi 1280 xorl %edx,%esi 1281 andl $0xfff0000f,%esi 1282 xorl %esi,%edi 1283 xorl %esi,%edx 1284 1285 roll $14,%edi 1286 movl %edi,%esi 1287 xorl %edx,%edi 1288 andl $0x33333333,%edi 1289 xorl %edi,%esi 1290 xorl %edi,%edx 1291 1292 roll $22,%edx 1293 movl %edx,%edi 1294 xorl %esi,%edx 1295 andl $0x03fc03fc,%edx 1296 xorl %edx,%edi 1297 xorl %edx,%esi 1298 1299 roll $9,%edi 1300 movl %edi,%edx 1301 xorl %esi,%edi 1302 andl $0xaaaaaaaa,%edi 1303 xorl %edi,%edx 1304 xorl %edi,%esi 1305 1306 rorl $3,%edx 1307 rorl $2,%esi 1308 movl %esi,4(%ebx) 1309 movl 36(%esp),%esi 1310 movl %edx,(%ebx) 1311 movl 40(%esp),%edi 1312 movl 44(%esp),%eax 1313 movl $0,8(%esp) 1314 movl %eax,4(%esp) 1315 movl %ebx,(%esp) 1316 call .L_DES_encrypt2_begin 1317 movl $1,8(%esp) 1318 movl %edi,4(%esp) 1319 movl %ebx,(%esp) 1320 call .L_DES_encrypt2_begin 1321 movl $0,8(%esp) 1322 movl %esi,4(%esp) 1323 movl %ebx,(%esp) 1324 call .L_DES_encrypt2_begin 1325 addl $12,%esp 1326 movl (%ebx),%edi 1327 movl 4(%ebx),%esi 1328 1329 1330 roll $2,%esi 1331 roll $3,%edi 1332 movl %edi,%eax 1333 xorl %esi,%edi 1334 andl $0xaaaaaaaa,%edi 1335 xorl %edi,%eax 1336 xorl %edi,%esi 1337 1338 roll $23,%eax 1339 movl %eax,%edi 1340 xorl %esi,%eax 1341 andl $0x03fc03fc,%eax 1342 xorl %eax,%edi 1343 xorl %eax,%esi 1344 1345 roll $10,%edi 1346 movl %edi,%eax 1347 xorl %esi,%edi 1348 andl $0x33333333,%edi 1349 xorl %edi,%eax 1350 xorl %edi,%esi 1351 1352 roll $18,%esi 1353 movl %esi,%edi 1354 xorl %eax,%esi 1355 andl $0xfff0000f,%esi 1356 xorl %esi,%edi 1357 xorl %esi,%eax 1358 1359 roll $12,%edi 1360 movl %edi,%esi 1361 xorl %eax,%edi 1362 andl $0xf0f0f0f0,%edi 1363 xorl %edi,%esi 1364 xorl %edi,%eax 1365 1366 rorl $4,%eax 1367 movl %eax,(%ebx) 1368 movl %esi,4(%ebx) 1369 popl %edi 1370 popl %esi 1371 popl %ebp 1372 popl %ebx 1373 ret 1374.size DES_decrypt3,.-.L_DES_decrypt3_begin 1375.globl DES_ncbc_encrypt 1376.type DES_ncbc_encrypt,@function 1377.align 16 1378DES_ncbc_encrypt: 1379.L_DES_ncbc_encrypt_begin: 1380 #ifdef __CET__ 1381 1382.byte 243,15,30,251 1383 #endif 1384 1385 1386 pushl %ebp 1387 pushl %ebx 1388 pushl %esi 1389 pushl %edi 1390 movl 28(%esp),%ebp 1391 1392 movl 36(%esp),%ebx 1393 movl (%ebx),%esi 1394 movl 4(%ebx),%edi 1395 pushl %edi 1396 pushl %esi 1397 pushl %edi 1398 pushl %esi 1399 movl %esp,%ebx 1400 movl 36(%esp),%esi 1401 movl 40(%esp),%edi 1402 1403 movl 56(%esp),%ecx 1404 1405 pushl %ecx 1406 1407 movl 52(%esp),%eax 1408 pushl %eax 1409 pushl %ebx 1410 cmpl $0,%ecx 1411 jz .L006decrypt 1412 andl $4294967288,%ebp 1413 movl 12(%esp),%eax 1414 movl 16(%esp),%ebx 1415 jz .L007encrypt_finish 1416.L008encrypt_loop: 1417 movl (%esi),%ecx 1418 movl 4(%esi),%edx 1419 xorl %ecx,%eax 1420 xorl %edx,%ebx 1421 movl %eax,12(%esp) 1422 movl %ebx,16(%esp) 1423 call .L_DES_encrypt1_begin 1424 movl 12(%esp),%eax 1425 movl 16(%esp),%ebx 1426 movl %eax,(%edi) 1427 movl %ebx,4(%edi) 1428 addl $8,%esi 1429 addl $8,%edi 1430 subl $8,%ebp 1431 jnz .L008encrypt_loop 1432.L007encrypt_finish: 1433 movl 56(%esp),%ebp 1434 andl $7,%ebp 1435 jz .L009finish 1436 call .L010PIC_point 1437.L010PIC_point: 1438 popl %edx 1439 leal .L011cbc_enc_jmp_table-.L010PIC_point(%edx),%ecx 1440 movl (%ecx,%ebp,4),%ebp 1441 addl %edx,%ebp 1442 xorl %ecx,%ecx 1443 xorl %edx,%edx 1444 jmp *%ebp 1445.L012ej7: 1446 #ifdef __CET__ 1447 1448.byte 243,15,30,251 1449 #endif 1450 1451 movb 6(%esi),%dh 1452 shll $8,%edx 1453.L013ej6: 1454 #ifdef __CET__ 1455 1456.byte 243,15,30,251 1457 #endif 1458 1459 movb 5(%esi),%dh 1460.L014ej5: 1461 #ifdef __CET__ 1462 1463.byte 243,15,30,251 1464 #endif 1465 1466 movb 4(%esi),%dl 1467.L015ej4: 1468 #ifdef __CET__ 1469 1470.byte 243,15,30,251 1471 #endif 1472 1473 movl (%esi),%ecx 1474 jmp .L016ejend 1475.L017ej3: 1476 #ifdef __CET__ 1477 1478.byte 243,15,30,251 1479 #endif 1480 1481 movb 2(%esi),%ch 1482 shll $8,%ecx 1483.L018ej2: 1484 #ifdef __CET__ 1485 1486.byte 243,15,30,251 1487 #endif 1488 1489 movb 1(%esi),%ch 1490.L019ej1: 1491 #ifdef __CET__ 1492 1493.byte 243,15,30,251 1494 #endif 1495 1496 movb (%esi),%cl 1497.L016ejend: 1498 xorl %ecx,%eax 1499 xorl %edx,%ebx 1500 movl %eax,12(%esp) 1501 movl %ebx,16(%esp) 1502 call .L_DES_encrypt1_begin 1503 movl 12(%esp),%eax 1504 movl 16(%esp),%ebx 1505 movl %eax,(%edi) 1506 movl %ebx,4(%edi) 1507 jmp .L009finish 1508.L006decrypt: 1509 andl $4294967288,%ebp 1510 movl 20(%esp),%eax 1511 movl 24(%esp),%ebx 1512 jz .L020decrypt_finish 1513.L021decrypt_loop: 1514 movl (%esi),%eax 1515 movl 4(%esi),%ebx 1516 movl %eax,12(%esp) 1517 movl %ebx,16(%esp) 1518 call .L_DES_encrypt1_begin 1519 movl 12(%esp),%eax 1520 movl 16(%esp),%ebx 1521 movl 20(%esp),%ecx 1522 movl 24(%esp),%edx 1523 xorl %eax,%ecx 1524 xorl %ebx,%edx 1525 movl (%esi),%eax 1526 movl 4(%esi),%ebx 1527 movl %ecx,(%edi) 1528 movl %edx,4(%edi) 1529 movl %eax,20(%esp) 1530 movl %ebx,24(%esp) 1531 addl $8,%esi 1532 addl $8,%edi 1533 subl $8,%ebp 1534 jnz .L021decrypt_loop 1535.L020decrypt_finish: 1536 movl 56(%esp),%ebp 1537 andl $7,%ebp 1538 jz .L009finish 1539 movl (%esi),%eax 1540 movl 4(%esi),%ebx 1541 movl %eax,12(%esp) 1542 movl %ebx,16(%esp) 1543 call .L_DES_encrypt1_begin 1544 movl 12(%esp),%eax 1545 movl 16(%esp),%ebx 1546 movl 20(%esp),%ecx 1547 movl 24(%esp),%edx 1548 xorl %eax,%ecx 1549 xorl %ebx,%edx 1550 movl (%esi),%eax 1551 movl 4(%esi),%ebx 1552.L022dj7: 1553 rorl $16,%edx 1554 movb %dl,6(%edi) 1555 shrl $16,%edx 1556.L023dj6: 1557 movb %dh,5(%edi) 1558.L024dj5: 1559 movb %dl,4(%edi) 1560.L025dj4: 1561 movl %ecx,(%edi) 1562 jmp .L026djend 1563.L027dj3: 1564 rorl $16,%ecx 1565 movb %cl,2(%edi) 1566 shll $16,%ecx 1567.L028dj2: 1568 movb %ch,1(%esi) 1569.L029dj1: 1570 movb %cl,(%esi) 1571.L026djend: 1572 jmp .L009finish 1573.L009finish: 1574 movl 64(%esp),%ecx 1575 addl $28,%esp 1576 movl %eax,(%ecx) 1577 movl %ebx,4(%ecx) 1578 popl %edi 1579 popl %esi 1580 popl %ebx 1581 popl %ebp 1582 ret 1583.align 64 1584.L011cbc_enc_jmp_table: 1585.long 0 1586.long .L019ej1-.L010PIC_point 1587.long .L018ej2-.L010PIC_point 1588.long .L017ej3-.L010PIC_point 1589.long .L015ej4-.L010PIC_point 1590.long .L014ej5-.L010PIC_point 1591.long .L013ej6-.L010PIC_point 1592.long .L012ej7-.L010PIC_point 1593.align 64 1594.size DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin 1595.globl DES_ede3_cbc_encrypt 1596.type DES_ede3_cbc_encrypt,@function 1597.align 16 1598DES_ede3_cbc_encrypt: 1599.L_DES_ede3_cbc_encrypt_begin: 1600 #ifdef __CET__ 1601 1602.byte 243,15,30,251 1603 #endif 1604 1605 1606 pushl %ebp 1607 pushl %ebx 1608 pushl %esi 1609 pushl %edi 1610 movl 28(%esp),%ebp 1611 1612 movl 44(%esp),%ebx 1613 movl (%ebx),%esi 1614 movl 4(%ebx),%edi 1615 pushl %edi 1616 pushl %esi 1617 pushl %edi 1618 pushl %esi 1619 movl %esp,%ebx 1620 movl 36(%esp),%esi 1621 movl 40(%esp),%edi 1622 1623 movl 64(%esp),%ecx 1624 1625 movl 56(%esp),%eax 1626 pushl %eax 1627 1628 movl 56(%esp),%eax 1629 pushl %eax 1630 1631 movl 56(%esp),%eax 1632 pushl %eax 1633 pushl %ebx 1634 cmpl $0,%ecx 1635 jz .L030decrypt 1636 andl $4294967288,%ebp 1637 movl 16(%esp),%eax 1638 movl 20(%esp),%ebx 1639 jz .L031encrypt_finish 1640.L032encrypt_loop: 1641 movl (%esi),%ecx 1642 movl 4(%esi),%edx 1643 xorl %ecx,%eax 1644 xorl %edx,%ebx 1645 movl %eax,16(%esp) 1646 movl %ebx,20(%esp) 1647 call .L_DES_encrypt3_begin 1648 movl 16(%esp),%eax 1649 movl 20(%esp),%ebx 1650 movl %eax,(%edi) 1651 movl %ebx,4(%edi) 1652 addl $8,%esi 1653 addl $8,%edi 1654 subl $8,%ebp 1655 jnz .L032encrypt_loop 1656.L031encrypt_finish: 1657 movl 60(%esp),%ebp 1658 andl $7,%ebp 1659 jz .L033finish 1660 call .L034PIC_point 1661.L034PIC_point: 1662 popl %edx 1663 leal .L035cbc_enc_jmp_table-.L034PIC_point(%edx),%ecx 1664 movl (%ecx,%ebp,4),%ebp 1665 addl %edx,%ebp 1666 xorl %ecx,%ecx 1667 xorl %edx,%edx 1668 jmp *%ebp 1669.L036ej7: 1670 #ifdef __CET__ 1671 1672.byte 243,15,30,251 1673 #endif 1674 1675 movb 6(%esi),%dh 1676 shll $8,%edx 1677.L037ej6: 1678 #ifdef __CET__ 1679 1680.byte 243,15,30,251 1681 #endif 1682 1683 movb 5(%esi),%dh 1684.L038ej5: 1685 #ifdef __CET__ 1686 1687.byte 243,15,30,251 1688 #endif 1689 1690 movb 4(%esi),%dl 1691.L039ej4: 1692 #ifdef __CET__ 1693 1694.byte 243,15,30,251 1695 #endif 1696 1697 movl (%esi),%ecx 1698 jmp .L040ejend 1699.L041ej3: 1700 #ifdef __CET__ 1701 1702.byte 243,15,30,251 1703 #endif 1704 1705 movb 2(%esi),%ch 1706 shll $8,%ecx 1707.L042ej2: 1708 #ifdef __CET__ 1709 1710.byte 243,15,30,251 1711 #endif 1712 1713 movb 1(%esi),%ch 1714.L043ej1: 1715 #ifdef __CET__ 1716 1717.byte 243,15,30,251 1718 #endif 1719 1720 movb (%esi),%cl 1721.L040ejend: 1722 xorl %ecx,%eax 1723 xorl %edx,%ebx 1724 movl %eax,16(%esp) 1725 movl %ebx,20(%esp) 1726 call .L_DES_encrypt3_begin 1727 movl 16(%esp),%eax 1728 movl 20(%esp),%ebx 1729 movl %eax,(%edi) 1730 movl %ebx,4(%edi) 1731 jmp .L033finish 1732.L030decrypt: 1733 andl $4294967288,%ebp 1734 movl 24(%esp),%eax 1735 movl 28(%esp),%ebx 1736 jz .L044decrypt_finish 1737.L045decrypt_loop: 1738 movl (%esi),%eax 1739 movl 4(%esi),%ebx 1740 movl %eax,16(%esp) 1741 movl %ebx,20(%esp) 1742 call .L_DES_decrypt3_begin 1743 movl 16(%esp),%eax 1744 movl 20(%esp),%ebx 1745 movl 24(%esp),%ecx 1746 movl 28(%esp),%edx 1747 xorl %eax,%ecx 1748 xorl %ebx,%edx 1749 movl (%esi),%eax 1750 movl 4(%esi),%ebx 1751 movl %ecx,(%edi) 1752 movl %edx,4(%edi) 1753 movl %eax,24(%esp) 1754 movl %ebx,28(%esp) 1755 addl $8,%esi 1756 addl $8,%edi 1757 subl $8,%ebp 1758 jnz .L045decrypt_loop 1759.L044decrypt_finish: 1760 movl 60(%esp),%ebp 1761 andl $7,%ebp 1762 jz .L033finish 1763 movl (%esi),%eax 1764 movl 4(%esi),%ebx 1765 movl %eax,16(%esp) 1766 movl %ebx,20(%esp) 1767 call .L_DES_decrypt3_begin 1768 movl 16(%esp),%eax 1769 movl 20(%esp),%ebx 1770 movl 24(%esp),%ecx 1771 movl 28(%esp),%edx 1772 xorl %eax,%ecx 1773 xorl %ebx,%edx 1774 movl (%esi),%eax 1775 movl 4(%esi),%ebx 1776.L046dj7: 1777 rorl $16,%edx 1778 movb %dl,6(%edi) 1779 shrl $16,%edx 1780.L047dj6: 1781 movb %dh,5(%edi) 1782.L048dj5: 1783 movb %dl,4(%edi) 1784.L049dj4: 1785 movl %ecx,(%edi) 1786 jmp .L050djend 1787.L051dj3: 1788 rorl $16,%ecx 1789 movb %cl,2(%edi) 1790 shll $16,%ecx 1791.L052dj2: 1792 movb %ch,1(%esi) 1793.L053dj1: 1794 movb %cl,(%esi) 1795.L050djend: 1796 jmp .L033finish 1797.L033finish: 1798 movl 76(%esp),%ecx 1799 addl $32,%esp 1800 movl %eax,(%ecx) 1801 movl %ebx,4(%ecx) 1802 popl %edi 1803 popl %esi 1804 popl %ebx 1805 popl %ebp 1806 ret 1807.align 64 1808.L035cbc_enc_jmp_table: 1809.long 0 1810.long .L043ej1-.L034PIC_point 1811.long .L042ej2-.L034PIC_point 1812.long .L041ej3-.L034PIC_point 1813.long .L039ej4-.L034PIC_point 1814.long .L038ej5-.L034PIC_point 1815.long .L037ej6-.L034PIC_point 1816.long .L036ej7-.L034PIC_point 1817.align 64 1818.size DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin 1819.align 64 1820DES_SPtrans: 1821.Ldes_sptrans: 1822.long 34080768,524288,33554434,34080770 1823.long 33554432,526338,524290,33554434 1824.long 526338,34080768,34078720,2050 1825.long 33556482,33554432,0,524290 1826.long 524288,2,33556480,526336 1827.long 34080770,34078720,2050,33556480 1828.long 2,2048,526336,34078722 1829.long 2048,33556482,34078722,0 1830.long 0,34080770,33556480,524290 1831.long 34080768,524288,2050,33556480 1832.long 34078722,2048,526336,33554434 1833.long 526338,2,33554434,34078720 1834.long 34080770,526336,34078720,33556482 1835.long 33554432,2050,524290,0 1836.long 524288,33554432,33556482,34080768 1837.long 2,34078722,2048,526338 1838.long 1074823184,0,1081344,1074790400 1839.long 1073741840,32784,1073774592,1081344 1840.long 32768,1074790416,16,1073774592 1841.long 1048592,1074823168,1074790400,16 1842.long 1048576,1073774608,1074790416,32768 1843.long 1081360,1073741824,0,1048592 1844.long 1073774608,1081360,1074823168,1073741840 1845.long 1073741824,1048576,32784,1074823184 1846.long 1048592,1074823168,1073774592,1081360 1847.long 1074823184,1048592,1073741840,0 1848.long 1073741824,32784,1048576,1074790416 1849.long 32768,1073741824,1081360,1073774608 1850.long 1074823168,32768,0,1073741840 1851.long 16,1074823184,1081344,1074790400 1852.long 1074790416,1048576,32784,1073774592 1853.long 1073774608,16,1074790400,1081344 1854.long 67108865,67371264,256,67109121 1855.long 262145,67108864,67109121,262400 1856.long 67109120,262144,67371008,1 1857.long 67371265,257,1,67371009 1858.long 0,262145,67371264,256 1859.long 257,67371265,262144,67108865 1860.long 67371009,67109120,262401,67371008 1861.long 262400,0,67108864,262401 1862.long 67371264,256,1,262144 1863.long 257,262145,67371008,67109121 1864.long 0,67371264,262400,67371009 1865.long 262145,67108864,67371265,1 1866.long 262401,67108865,67108864,67371265 1867.long 262144,67109120,67109121,262400 1868.long 67109120,0,67371009,257 1869.long 67108865,262401,256,67371008 1870.long 4198408,268439552,8,272633864 1871.long 0,272629760,268439560,4194312 1872.long 272633856,268435464,268435456,4104 1873.long 268435464,4198408,4194304,268435456 1874.long 272629768,4198400,4096,8 1875.long 4198400,268439560,272629760,4096 1876.long 4104,0,4194312,272633856 1877.long 268439552,272629768,272633864,4194304 1878.long 272629768,4104,4194304,268435464 1879.long 4198400,268439552,8,272629760 1880.long 268439560,0,4096,4194312 1881.long 0,272629768,272633856,4096 1882.long 268435456,272633864,4198408,4194304 1883.long 272633864,8,268439552,4198408 1884.long 4194312,4198400,272629760,268439560 1885.long 4104,268435456,268435464,272633856 1886.long 134217728,65536,1024,134284320 1887.long 134283296,134218752,66592,134283264 1888.long 65536,32,134217760,66560 1889.long 134218784,134283296,134284288,0 1890.long 66560,134217728,65568,1056 1891.long 134218752,66592,0,134217760 1892.long 32,134218784,134284320,65568 1893.long 134283264,1024,1056,134284288 1894.long 134284288,134218784,65568,134283264 1895.long 65536,32,134217760,134218752 1896.long 134217728,66560,134284320,0 1897.long 66592,134217728,1024,65568 1898.long 134218784,1024,0,134284320 1899.long 134283296,134284288,1056,65536 1900.long 66560,134283296,134218752,1056 1901.long 32,66592,134283264,134217760 1902.long 2147483712,2097216,0,2149588992 1903.long 2097216,8192,2147491904,2097152 1904.long 8256,2149589056,2105344,2147483648 1905.long 2147491840,2147483712,2149580800,2105408 1906.long 2097152,2147491904,2149580864,0 1907.long 8192,64,2149588992,2149580864 1908.long 2149589056,2149580800,2147483648,8256 1909.long 64,2105344,2105408,2147491840 1910.long 8256,2147483648,2147491840,2105408 1911.long 2149588992,2097216,0,2147491840 1912.long 2147483648,8192,2149580864,2097152 1913.long 2097216,2149589056,2105344,64 1914.long 2149589056,2105344,2097152,2147491904 1915.long 2147483712,2149580800,2105408,0 1916.long 8192,2147483712,2147491904,2149588992 1917.long 2149580800,8256,64,2149580864 1918.long 16384,512,16777728,16777220 1919.long 16794116,16388,16896,0 1920.long 16777216,16777732,516,16793600 1921.long 4,16794112,16793600,516 1922.long 16777732,16384,16388,16794116 1923.long 0,16777728,16777220,16896 1924.long 16793604,16900,16794112,4 1925.long 16900,16793604,512,16777216 1926.long 16900,16793600,16793604,516 1927.long 16384,512,16777216,16793604 1928.long 16777732,16900,16896,0 1929.long 512,16777220,4,16777728 1930.long 0,16777732,16777728,16896 1931.long 516,16384,16794116,16777216 1932.long 16794112,4,16388,16794116 1933.long 16777220,16794112,16793600,16388 1934.long 545259648,545390592,131200,0 1935.long 537001984,8388736,545259520,545390720 1936.long 128,536870912,8519680,131200 1937.long 8519808,537002112,536871040,545259520 1938.long 131072,8519808,8388736,537001984 1939.long 545390720,536871040,0,8519680 1940.long 536870912,8388608,537002112,545259648 1941.long 8388608,131072,545390592,128 1942.long 8388608,131072,536871040,545390720 1943.long 131200,536870912,0,8519680 1944.long 545259648,537002112,537001984,8388736 1945.long 545390592,128,8388736,537001984 1946.long 545390720,8388608,545259520,536871040 1947.long 8519680,131200,537002112,545259520 1948.long 128,545390592,8519808,0 1949.long 536870912,545259648,131072,8519808 1950 1951 .section ".note.gnu.property", "a" 1952 .p2align 2 1953 .long 1f - 0f 1954 .long 4f - 1f 1955 .long 5 19560: 1957 .asciz "GNU" 19581: 1959 .p2align 2 1960 .long 0xc0000002 1961 .long 3f - 2f 19622: 1963 .long 3 19643: 1965 .p2align 2 19664: 1967#else 1968.text 1969.globl DES_SPtrans 1970.type _x86_DES_encrypt,@function 1971.align 16 1972_x86_DES_encrypt: 1973 #ifdef __CET__ 1974 1975.byte 243,15,30,251 1976 #endif 1977 1978 pushl %ecx 1979 1980 movl (%ecx),%eax 1981 xorl %ebx,%ebx 1982 movl 4(%ecx),%edx 1983 xorl %esi,%eax 1984 xorl %ecx,%ecx 1985 xorl %esi,%edx 1986 andl $0xfcfcfcfc,%eax 1987 andl $0xcfcfcfcf,%edx 1988 movb %al,%bl 1989 movb %ah,%cl 1990 rorl $4,%edx 1991 xorl (%ebp,%ebx,1),%edi 1992 movb %dl,%bl 1993 xorl 0x200(%ebp,%ecx,1),%edi 1994 movb %dh,%cl 1995 shrl $16,%eax 1996 xorl 0x100(%ebp,%ebx,1),%edi 1997 movb %ah,%bl 1998 shrl $16,%edx 1999 xorl 0x300(%ebp,%ecx,1),%edi 2000 movb %dh,%cl 2001 andl $0xff,%eax 2002 andl $0xff,%edx 2003 xorl 0x600(%ebp,%ebx,1),%edi 2004 xorl 0x700(%ebp,%ecx,1),%edi 2005 movl (%esp),%ecx 2006 xorl 0x400(%ebp,%eax,1),%edi 2007 xorl 0x500(%ebp,%edx,1),%edi 2008 2009 movl 8(%ecx),%eax 2010 xorl %ebx,%ebx 2011 movl 12(%ecx),%edx 2012 xorl %edi,%eax 2013 xorl %ecx,%ecx 2014 xorl %edi,%edx 2015 andl $0xfcfcfcfc,%eax 2016 andl $0xcfcfcfcf,%edx 2017 movb %al,%bl 2018 movb %ah,%cl 2019 rorl $4,%edx 2020 xorl (%ebp,%ebx,1),%esi 2021 movb %dl,%bl 2022 xorl 0x200(%ebp,%ecx,1),%esi 2023 movb %dh,%cl 2024 shrl $16,%eax 2025 xorl 0x100(%ebp,%ebx,1),%esi 2026 movb %ah,%bl 2027 shrl $16,%edx 2028 xorl 0x300(%ebp,%ecx,1),%esi 2029 movb %dh,%cl 2030 andl $0xff,%eax 2031 andl $0xff,%edx 2032 xorl 0x600(%ebp,%ebx,1),%esi 2033 xorl 0x700(%ebp,%ecx,1),%esi 2034 movl (%esp),%ecx 2035 xorl 0x400(%ebp,%eax,1),%esi 2036 xorl 0x500(%ebp,%edx,1),%esi 2037 2038 movl 16(%ecx),%eax 2039 xorl %ebx,%ebx 2040 movl 20(%ecx),%edx 2041 xorl %esi,%eax 2042 xorl %ecx,%ecx 2043 xorl %esi,%edx 2044 andl $0xfcfcfcfc,%eax 2045 andl $0xcfcfcfcf,%edx 2046 movb %al,%bl 2047 movb %ah,%cl 2048 rorl $4,%edx 2049 xorl (%ebp,%ebx,1),%edi 2050 movb %dl,%bl 2051 xorl 0x200(%ebp,%ecx,1),%edi 2052 movb %dh,%cl 2053 shrl $16,%eax 2054 xorl 0x100(%ebp,%ebx,1),%edi 2055 movb %ah,%bl 2056 shrl $16,%edx 2057 xorl 0x300(%ebp,%ecx,1),%edi 2058 movb %dh,%cl 2059 andl $0xff,%eax 2060 andl $0xff,%edx 2061 xorl 0x600(%ebp,%ebx,1),%edi 2062 xorl 0x700(%ebp,%ecx,1),%edi 2063 movl (%esp),%ecx 2064 xorl 0x400(%ebp,%eax,1),%edi 2065 xorl 0x500(%ebp,%edx,1),%edi 2066 2067 movl 24(%ecx),%eax 2068 xorl %ebx,%ebx 2069 movl 28(%ecx),%edx 2070 xorl %edi,%eax 2071 xorl %ecx,%ecx 2072 xorl %edi,%edx 2073 andl $0xfcfcfcfc,%eax 2074 andl $0xcfcfcfcf,%edx 2075 movb %al,%bl 2076 movb %ah,%cl 2077 rorl $4,%edx 2078 xorl (%ebp,%ebx,1),%esi 2079 movb %dl,%bl 2080 xorl 0x200(%ebp,%ecx,1),%esi 2081 movb %dh,%cl 2082 shrl $16,%eax 2083 xorl 0x100(%ebp,%ebx,1),%esi 2084 movb %ah,%bl 2085 shrl $16,%edx 2086 xorl 0x300(%ebp,%ecx,1),%esi 2087 movb %dh,%cl 2088 andl $0xff,%eax 2089 andl $0xff,%edx 2090 xorl 0x600(%ebp,%ebx,1),%esi 2091 xorl 0x700(%ebp,%ecx,1),%esi 2092 movl (%esp),%ecx 2093 xorl 0x400(%ebp,%eax,1),%esi 2094 xorl 0x500(%ebp,%edx,1),%esi 2095 2096 movl 32(%ecx),%eax 2097 xorl %ebx,%ebx 2098 movl 36(%ecx),%edx 2099 xorl %esi,%eax 2100 xorl %ecx,%ecx 2101 xorl %esi,%edx 2102 andl $0xfcfcfcfc,%eax 2103 andl $0xcfcfcfcf,%edx 2104 movb %al,%bl 2105 movb %ah,%cl 2106 rorl $4,%edx 2107 xorl (%ebp,%ebx,1),%edi 2108 movb %dl,%bl 2109 xorl 0x200(%ebp,%ecx,1),%edi 2110 movb %dh,%cl 2111 shrl $16,%eax 2112 xorl 0x100(%ebp,%ebx,1),%edi 2113 movb %ah,%bl 2114 shrl $16,%edx 2115 xorl 0x300(%ebp,%ecx,1),%edi 2116 movb %dh,%cl 2117 andl $0xff,%eax 2118 andl $0xff,%edx 2119 xorl 0x600(%ebp,%ebx,1),%edi 2120 xorl 0x700(%ebp,%ecx,1),%edi 2121 movl (%esp),%ecx 2122 xorl 0x400(%ebp,%eax,1),%edi 2123 xorl 0x500(%ebp,%edx,1),%edi 2124 2125 movl 40(%ecx),%eax 2126 xorl %ebx,%ebx 2127 movl 44(%ecx),%edx 2128 xorl %edi,%eax 2129 xorl %ecx,%ecx 2130 xorl %edi,%edx 2131 andl $0xfcfcfcfc,%eax 2132 andl $0xcfcfcfcf,%edx 2133 movb %al,%bl 2134 movb %ah,%cl 2135 rorl $4,%edx 2136 xorl (%ebp,%ebx,1),%esi 2137 movb %dl,%bl 2138 xorl 0x200(%ebp,%ecx,1),%esi 2139 movb %dh,%cl 2140 shrl $16,%eax 2141 xorl 0x100(%ebp,%ebx,1),%esi 2142 movb %ah,%bl 2143 shrl $16,%edx 2144 xorl 0x300(%ebp,%ecx,1),%esi 2145 movb %dh,%cl 2146 andl $0xff,%eax 2147 andl $0xff,%edx 2148 xorl 0x600(%ebp,%ebx,1),%esi 2149 xorl 0x700(%ebp,%ecx,1),%esi 2150 movl (%esp),%ecx 2151 xorl 0x400(%ebp,%eax,1),%esi 2152 xorl 0x500(%ebp,%edx,1),%esi 2153 2154 movl 48(%ecx),%eax 2155 xorl %ebx,%ebx 2156 movl 52(%ecx),%edx 2157 xorl %esi,%eax 2158 xorl %ecx,%ecx 2159 xorl %esi,%edx 2160 andl $0xfcfcfcfc,%eax 2161 andl $0xcfcfcfcf,%edx 2162 movb %al,%bl 2163 movb %ah,%cl 2164 rorl $4,%edx 2165 xorl (%ebp,%ebx,1),%edi 2166 movb %dl,%bl 2167 xorl 0x200(%ebp,%ecx,1),%edi 2168 movb %dh,%cl 2169 shrl $16,%eax 2170 xorl 0x100(%ebp,%ebx,1),%edi 2171 movb %ah,%bl 2172 shrl $16,%edx 2173 xorl 0x300(%ebp,%ecx,1),%edi 2174 movb %dh,%cl 2175 andl $0xff,%eax 2176 andl $0xff,%edx 2177 xorl 0x600(%ebp,%ebx,1),%edi 2178 xorl 0x700(%ebp,%ecx,1),%edi 2179 movl (%esp),%ecx 2180 xorl 0x400(%ebp,%eax,1),%edi 2181 xorl 0x500(%ebp,%edx,1),%edi 2182 2183 movl 56(%ecx),%eax 2184 xorl %ebx,%ebx 2185 movl 60(%ecx),%edx 2186 xorl %edi,%eax 2187 xorl %ecx,%ecx 2188 xorl %edi,%edx 2189 andl $0xfcfcfcfc,%eax 2190 andl $0xcfcfcfcf,%edx 2191 movb %al,%bl 2192 movb %ah,%cl 2193 rorl $4,%edx 2194 xorl (%ebp,%ebx,1),%esi 2195 movb %dl,%bl 2196 xorl 0x200(%ebp,%ecx,1),%esi 2197 movb %dh,%cl 2198 shrl $16,%eax 2199 xorl 0x100(%ebp,%ebx,1),%esi 2200 movb %ah,%bl 2201 shrl $16,%edx 2202 xorl 0x300(%ebp,%ecx,1),%esi 2203 movb %dh,%cl 2204 andl $0xff,%eax 2205 andl $0xff,%edx 2206 xorl 0x600(%ebp,%ebx,1),%esi 2207 xorl 0x700(%ebp,%ecx,1),%esi 2208 movl (%esp),%ecx 2209 xorl 0x400(%ebp,%eax,1),%esi 2210 xorl 0x500(%ebp,%edx,1),%esi 2211 2212 movl 64(%ecx),%eax 2213 xorl %ebx,%ebx 2214 movl 68(%ecx),%edx 2215 xorl %esi,%eax 2216 xorl %ecx,%ecx 2217 xorl %esi,%edx 2218 andl $0xfcfcfcfc,%eax 2219 andl $0xcfcfcfcf,%edx 2220 movb %al,%bl 2221 movb %ah,%cl 2222 rorl $4,%edx 2223 xorl (%ebp,%ebx,1),%edi 2224 movb %dl,%bl 2225 xorl 0x200(%ebp,%ecx,1),%edi 2226 movb %dh,%cl 2227 shrl $16,%eax 2228 xorl 0x100(%ebp,%ebx,1),%edi 2229 movb %ah,%bl 2230 shrl $16,%edx 2231 xorl 0x300(%ebp,%ecx,1),%edi 2232 movb %dh,%cl 2233 andl $0xff,%eax 2234 andl $0xff,%edx 2235 xorl 0x600(%ebp,%ebx,1),%edi 2236 xorl 0x700(%ebp,%ecx,1),%edi 2237 movl (%esp),%ecx 2238 xorl 0x400(%ebp,%eax,1),%edi 2239 xorl 0x500(%ebp,%edx,1),%edi 2240 2241 movl 72(%ecx),%eax 2242 xorl %ebx,%ebx 2243 movl 76(%ecx),%edx 2244 xorl %edi,%eax 2245 xorl %ecx,%ecx 2246 xorl %edi,%edx 2247 andl $0xfcfcfcfc,%eax 2248 andl $0xcfcfcfcf,%edx 2249 movb %al,%bl 2250 movb %ah,%cl 2251 rorl $4,%edx 2252 xorl (%ebp,%ebx,1),%esi 2253 movb %dl,%bl 2254 xorl 0x200(%ebp,%ecx,1),%esi 2255 movb %dh,%cl 2256 shrl $16,%eax 2257 xorl 0x100(%ebp,%ebx,1),%esi 2258 movb %ah,%bl 2259 shrl $16,%edx 2260 xorl 0x300(%ebp,%ecx,1),%esi 2261 movb %dh,%cl 2262 andl $0xff,%eax 2263 andl $0xff,%edx 2264 xorl 0x600(%ebp,%ebx,1),%esi 2265 xorl 0x700(%ebp,%ecx,1),%esi 2266 movl (%esp),%ecx 2267 xorl 0x400(%ebp,%eax,1),%esi 2268 xorl 0x500(%ebp,%edx,1),%esi 2269 2270 movl 80(%ecx),%eax 2271 xorl %ebx,%ebx 2272 movl 84(%ecx),%edx 2273 xorl %esi,%eax 2274 xorl %ecx,%ecx 2275 xorl %esi,%edx 2276 andl $0xfcfcfcfc,%eax 2277 andl $0xcfcfcfcf,%edx 2278 movb %al,%bl 2279 movb %ah,%cl 2280 rorl $4,%edx 2281 xorl (%ebp,%ebx,1),%edi 2282 movb %dl,%bl 2283 xorl 0x200(%ebp,%ecx,1),%edi 2284 movb %dh,%cl 2285 shrl $16,%eax 2286 xorl 0x100(%ebp,%ebx,1),%edi 2287 movb %ah,%bl 2288 shrl $16,%edx 2289 xorl 0x300(%ebp,%ecx,1),%edi 2290 movb %dh,%cl 2291 andl $0xff,%eax 2292 andl $0xff,%edx 2293 xorl 0x600(%ebp,%ebx,1),%edi 2294 xorl 0x700(%ebp,%ecx,1),%edi 2295 movl (%esp),%ecx 2296 xorl 0x400(%ebp,%eax,1),%edi 2297 xorl 0x500(%ebp,%edx,1),%edi 2298 2299 movl 88(%ecx),%eax 2300 xorl %ebx,%ebx 2301 movl 92(%ecx),%edx 2302 xorl %edi,%eax 2303 xorl %ecx,%ecx 2304 xorl %edi,%edx 2305 andl $0xfcfcfcfc,%eax 2306 andl $0xcfcfcfcf,%edx 2307 movb %al,%bl 2308 movb %ah,%cl 2309 rorl $4,%edx 2310 xorl (%ebp,%ebx,1),%esi 2311 movb %dl,%bl 2312 xorl 0x200(%ebp,%ecx,1),%esi 2313 movb %dh,%cl 2314 shrl $16,%eax 2315 xorl 0x100(%ebp,%ebx,1),%esi 2316 movb %ah,%bl 2317 shrl $16,%edx 2318 xorl 0x300(%ebp,%ecx,1),%esi 2319 movb %dh,%cl 2320 andl $0xff,%eax 2321 andl $0xff,%edx 2322 xorl 0x600(%ebp,%ebx,1),%esi 2323 xorl 0x700(%ebp,%ecx,1),%esi 2324 movl (%esp),%ecx 2325 xorl 0x400(%ebp,%eax,1),%esi 2326 xorl 0x500(%ebp,%edx,1),%esi 2327 2328 movl 96(%ecx),%eax 2329 xorl %ebx,%ebx 2330 movl 100(%ecx),%edx 2331 xorl %esi,%eax 2332 xorl %ecx,%ecx 2333 xorl %esi,%edx 2334 andl $0xfcfcfcfc,%eax 2335 andl $0xcfcfcfcf,%edx 2336 movb %al,%bl 2337 movb %ah,%cl 2338 rorl $4,%edx 2339 xorl (%ebp,%ebx,1),%edi 2340 movb %dl,%bl 2341 xorl 0x200(%ebp,%ecx,1),%edi 2342 movb %dh,%cl 2343 shrl $16,%eax 2344 xorl 0x100(%ebp,%ebx,1),%edi 2345 movb %ah,%bl 2346 shrl $16,%edx 2347 xorl 0x300(%ebp,%ecx,1),%edi 2348 movb %dh,%cl 2349 andl $0xff,%eax 2350 andl $0xff,%edx 2351 xorl 0x600(%ebp,%ebx,1),%edi 2352 xorl 0x700(%ebp,%ecx,1),%edi 2353 movl (%esp),%ecx 2354 xorl 0x400(%ebp,%eax,1),%edi 2355 xorl 0x500(%ebp,%edx,1),%edi 2356 2357 movl 104(%ecx),%eax 2358 xorl %ebx,%ebx 2359 movl 108(%ecx),%edx 2360 xorl %edi,%eax 2361 xorl %ecx,%ecx 2362 xorl %edi,%edx 2363 andl $0xfcfcfcfc,%eax 2364 andl $0xcfcfcfcf,%edx 2365 movb %al,%bl 2366 movb %ah,%cl 2367 rorl $4,%edx 2368 xorl (%ebp,%ebx,1),%esi 2369 movb %dl,%bl 2370 xorl 0x200(%ebp,%ecx,1),%esi 2371 movb %dh,%cl 2372 shrl $16,%eax 2373 xorl 0x100(%ebp,%ebx,1),%esi 2374 movb %ah,%bl 2375 shrl $16,%edx 2376 xorl 0x300(%ebp,%ecx,1),%esi 2377 movb %dh,%cl 2378 andl $0xff,%eax 2379 andl $0xff,%edx 2380 xorl 0x600(%ebp,%ebx,1),%esi 2381 xorl 0x700(%ebp,%ecx,1),%esi 2382 movl (%esp),%ecx 2383 xorl 0x400(%ebp,%eax,1),%esi 2384 xorl 0x500(%ebp,%edx,1),%esi 2385 2386 movl 112(%ecx),%eax 2387 xorl %ebx,%ebx 2388 movl 116(%ecx),%edx 2389 xorl %esi,%eax 2390 xorl %ecx,%ecx 2391 xorl %esi,%edx 2392 andl $0xfcfcfcfc,%eax 2393 andl $0xcfcfcfcf,%edx 2394 movb %al,%bl 2395 movb %ah,%cl 2396 rorl $4,%edx 2397 xorl (%ebp,%ebx,1),%edi 2398 movb %dl,%bl 2399 xorl 0x200(%ebp,%ecx,1),%edi 2400 movb %dh,%cl 2401 shrl $16,%eax 2402 xorl 0x100(%ebp,%ebx,1),%edi 2403 movb %ah,%bl 2404 shrl $16,%edx 2405 xorl 0x300(%ebp,%ecx,1),%edi 2406 movb %dh,%cl 2407 andl $0xff,%eax 2408 andl $0xff,%edx 2409 xorl 0x600(%ebp,%ebx,1),%edi 2410 xorl 0x700(%ebp,%ecx,1),%edi 2411 movl (%esp),%ecx 2412 xorl 0x400(%ebp,%eax,1),%edi 2413 xorl 0x500(%ebp,%edx,1),%edi 2414 2415 movl 120(%ecx),%eax 2416 xorl %ebx,%ebx 2417 movl 124(%ecx),%edx 2418 xorl %edi,%eax 2419 xorl %ecx,%ecx 2420 xorl %edi,%edx 2421 andl $0xfcfcfcfc,%eax 2422 andl $0xcfcfcfcf,%edx 2423 movb %al,%bl 2424 movb %ah,%cl 2425 rorl $4,%edx 2426 xorl (%ebp,%ebx,1),%esi 2427 movb %dl,%bl 2428 xorl 0x200(%ebp,%ecx,1),%esi 2429 movb %dh,%cl 2430 shrl $16,%eax 2431 xorl 0x100(%ebp,%ebx,1),%esi 2432 movb %ah,%bl 2433 shrl $16,%edx 2434 xorl 0x300(%ebp,%ecx,1),%esi 2435 movb %dh,%cl 2436 andl $0xff,%eax 2437 andl $0xff,%edx 2438 xorl 0x600(%ebp,%ebx,1),%esi 2439 xorl 0x700(%ebp,%ecx,1),%esi 2440 movl (%esp),%ecx 2441 xorl 0x400(%ebp,%eax,1),%esi 2442 xorl 0x500(%ebp,%edx,1),%esi 2443 addl $4,%esp 2444 ret 2445.size _x86_DES_encrypt,.-_x86_DES_encrypt 2446.type _x86_DES_decrypt,@function 2447.align 16 2448_x86_DES_decrypt: 2449 #ifdef __CET__ 2450 2451.byte 243,15,30,251 2452 #endif 2453 2454 pushl %ecx 2455 2456 movl 120(%ecx),%eax 2457 xorl %ebx,%ebx 2458 movl 124(%ecx),%edx 2459 xorl %esi,%eax 2460 xorl %ecx,%ecx 2461 xorl %esi,%edx 2462 andl $0xfcfcfcfc,%eax 2463 andl $0xcfcfcfcf,%edx 2464 movb %al,%bl 2465 movb %ah,%cl 2466 rorl $4,%edx 2467 xorl (%ebp,%ebx,1),%edi 2468 movb %dl,%bl 2469 xorl 0x200(%ebp,%ecx,1),%edi 2470 movb %dh,%cl 2471 shrl $16,%eax 2472 xorl 0x100(%ebp,%ebx,1),%edi 2473 movb %ah,%bl 2474 shrl $16,%edx 2475 xorl 0x300(%ebp,%ecx,1),%edi 2476 movb %dh,%cl 2477 andl $0xff,%eax 2478 andl $0xff,%edx 2479 xorl 0x600(%ebp,%ebx,1),%edi 2480 xorl 0x700(%ebp,%ecx,1),%edi 2481 movl (%esp),%ecx 2482 xorl 0x400(%ebp,%eax,1),%edi 2483 xorl 0x500(%ebp,%edx,1),%edi 2484 2485 movl 112(%ecx),%eax 2486 xorl %ebx,%ebx 2487 movl 116(%ecx),%edx 2488 xorl %edi,%eax 2489 xorl %ecx,%ecx 2490 xorl %edi,%edx 2491 andl $0xfcfcfcfc,%eax 2492 andl $0xcfcfcfcf,%edx 2493 movb %al,%bl 2494 movb %ah,%cl 2495 rorl $4,%edx 2496 xorl (%ebp,%ebx,1),%esi 2497 movb %dl,%bl 2498 xorl 0x200(%ebp,%ecx,1),%esi 2499 movb %dh,%cl 2500 shrl $16,%eax 2501 xorl 0x100(%ebp,%ebx,1),%esi 2502 movb %ah,%bl 2503 shrl $16,%edx 2504 xorl 0x300(%ebp,%ecx,1),%esi 2505 movb %dh,%cl 2506 andl $0xff,%eax 2507 andl $0xff,%edx 2508 xorl 0x600(%ebp,%ebx,1),%esi 2509 xorl 0x700(%ebp,%ecx,1),%esi 2510 movl (%esp),%ecx 2511 xorl 0x400(%ebp,%eax,1),%esi 2512 xorl 0x500(%ebp,%edx,1),%esi 2513 2514 movl 104(%ecx),%eax 2515 xorl %ebx,%ebx 2516 movl 108(%ecx),%edx 2517 xorl %esi,%eax 2518 xorl %ecx,%ecx 2519 xorl %esi,%edx 2520 andl $0xfcfcfcfc,%eax 2521 andl $0xcfcfcfcf,%edx 2522 movb %al,%bl 2523 movb %ah,%cl 2524 rorl $4,%edx 2525 xorl (%ebp,%ebx,1),%edi 2526 movb %dl,%bl 2527 xorl 0x200(%ebp,%ecx,1),%edi 2528 movb %dh,%cl 2529 shrl $16,%eax 2530 xorl 0x100(%ebp,%ebx,1),%edi 2531 movb %ah,%bl 2532 shrl $16,%edx 2533 xorl 0x300(%ebp,%ecx,1),%edi 2534 movb %dh,%cl 2535 andl $0xff,%eax 2536 andl $0xff,%edx 2537 xorl 0x600(%ebp,%ebx,1),%edi 2538 xorl 0x700(%ebp,%ecx,1),%edi 2539 movl (%esp),%ecx 2540 xorl 0x400(%ebp,%eax,1),%edi 2541 xorl 0x500(%ebp,%edx,1),%edi 2542 2543 movl 96(%ecx),%eax 2544 xorl %ebx,%ebx 2545 movl 100(%ecx),%edx 2546 xorl %edi,%eax 2547 xorl %ecx,%ecx 2548 xorl %edi,%edx 2549 andl $0xfcfcfcfc,%eax 2550 andl $0xcfcfcfcf,%edx 2551 movb %al,%bl 2552 movb %ah,%cl 2553 rorl $4,%edx 2554 xorl (%ebp,%ebx,1),%esi 2555 movb %dl,%bl 2556 xorl 0x200(%ebp,%ecx,1),%esi 2557 movb %dh,%cl 2558 shrl $16,%eax 2559 xorl 0x100(%ebp,%ebx,1),%esi 2560 movb %ah,%bl 2561 shrl $16,%edx 2562 xorl 0x300(%ebp,%ecx,1),%esi 2563 movb %dh,%cl 2564 andl $0xff,%eax 2565 andl $0xff,%edx 2566 xorl 0x600(%ebp,%ebx,1),%esi 2567 xorl 0x700(%ebp,%ecx,1),%esi 2568 movl (%esp),%ecx 2569 xorl 0x400(%ebp,%eax,1),%esi 2570 xorl 0x500(%ebp,%edx,1),%esi 2571 2572 movl 88(%ecx),%eax 2573 xorl %ebx,%ebx 2574 movl 92(%ecx),%edx 2575 xorl %esi,%eax 2576 xorl %ecx,%ecx 2577 xorl %esi,%edx 2578 andl $0xfcfcfcfc,%eax 2579 andl $0xcfcfcfcf,%edx 2580 movb %al,%bl 2581 movb %ah,%cl 2582 rorl $4,%edx 2583 xorl (%ebp,%ebx,1),%edi 2584 movb %dl,%bl 2585 xorl 0x200(%ebp,%ecx,1),%edi 2586 movb %dh,%cl 2587 shrl $16,%eax 2588 xorl 0x100(%ebp,%ebx,1),%edi 2589 movb %ah,%bl 2590 shrl $16,%edx 2591 xorl 0x300(%ebp,%ecx,1),%edi 2592 movb %dh,%cl 2593 andl $0xff,%eax 2594 andl $0xff,%edx 2595 xorl 0x600(%ebp,%ebx,1),%edi 2596 xorl 0x700(%ebp,%ecx,1),%edi 2597 movl (%esp),%ecx 2598 xorl 0x400(%ebp,%eax,1),%edi 2599 xorl 0x500(%ebp,%edx,1),%edi 2600 2601 movl 80(%ecx),%eax 2602 xorl %ebx,%ebx 2603 movl 84(%ecx),%edx 2604 xorl %edi,%eax 2605 xorl %ecx,%ecx 2606 xorl %edi,%edx 2607 andl $0xfcfcfcfc,%eax 2608 andl $0xcfcfcfcf,%edx 2609 movb %al,%bl 2610 movb %ah,%cl 2611 rorl $4,%edx 2612 xorl (%ebp,%ebx,1),%esi 2613 movb %dl,%bl 2614 xorl 0x200(%ebp,%ecx,1),%esi 2615 movb %dh,%cl 2616 shrl $16,%eax 2617 xorl 0x100(%ebp,%ebx,1),%esi 2618 movb %ah,%bl 2619 shrl $16,%edx 2620 xorl 0x300(%ebp,%ecx,1),%esi 2621 movb %dh,%cl 2622 andl $0xff,%eax 2623 andl $0xff,%edx 2624 xorl 0x600(%ebp,%ebx,1),%esi 2625 xorl 0x700(%ebp,%ecx,1),%esi 2626 movl (%esp),%ecx 2627 xorl 0x400(%ebp,%eax,1),%esi 2628 xorl 0x500(%ebp,%edx,1),%esi 2629 2630 movl 72(%ecx),%eax 2631 xorl %ebx,%ebx 2632 movl 76(%ecx),%edx 2633 xorl %esi,%eax 2634 xorl %ecx,%ecx 2635 xorl %esi,%edx 2636 andl $0xfcfcfcfc,%eax 2637 andl $0xcfcfcfcf,%edx 2638 movb %al,%bl 2639 movb %ah,%cl 2640 rorl $4,%edx 2641 xorl (%ebp,%ebx,1),%edi 2642 movb %dl,%bl 2643 xorl 0x200(%ebp,%ecx,1),%edi 2644 movb %dh,%cl 2645 shrl $16,%eax 2646 xorl 0x100(%ebp,%ebx,1),%edi 2647 movb %ah,%bl 2648 shrl $16,%edx 2649 xorl 0x300(%ebp,%ecx,1),%edi 2650 movb %dh,%cl 2651 andl $0xff,%eax 2652 andl $0xff,%edx 2653 xorl 0x600(%ebp,%ebx,1),%edi 2654 xorl 0x700(%ebp,%ecx,1),%edi 2655 movl (%esp),%ecx 2656 xorl 0x400(%ebp,%eax,1),%edi 2657 xorl 0x500(%ebp,%edx,1),%edi 2658 2659 movl 64(%ecx),%eax 2660 xorl %ebx,%ebx 2661 movl 68(%ecx),%edx 2662 xorl %edi,%eax 2663 xorl %ecx,%ecx 2664 xorl %edi,%edx 2665 andl $0xfcfcfcfc,%eax 2666 andl $0xcfcfcfcf,%edx 2667 movb %al,%bl 2668 movb %ah,%cl 2669 rorl $4,%edx 2670 xorl (%ebp,%ebx,1),%esi 2671 movb %dl,%bl 2672 xorl 0x200(%ebp,%ecx,1),%esi 2673 movb %dh,%cl 2674 shrl $16,%eax 2675 xorl 0x100(%ebp,%ebx,1),%esi 2676 movb %ah,%bl 2677 shrl $16,%edx 2678 xorl 0x300(%ebp,%ecx,1),%esi 2679 movb %dh,%cl 2680 andl $0xff,%eax 2681 andl $0xff,%edx 2682 xorl 0x600(%ebp,%ebx,1),%esi 2683 xorl 0x700(%ebp,%ecx,1),%esi 2684 movl (%esp),%ecx 2685 xorl 0x400(%ebp,%eax,1),%esi 2686 xorl 0x500(%ebp,%edx,1),%esi 2687 2688 movl 56(%ecx),%eax 2689 xorl %ebx,%ebx 2690 movl 60(%ecx),%edx 2691 xorl %esi,%eax 2692 xorl %ecx,%ecx 2693 xorl %esi,%edx 2694 andl $0xfcfcfcfc,%eax 2695 andl $0xcfcfcfcf,%edx 2696 movb %al,%bl 2697 movb %ah,%cl 2698 rorl $4,%edx 2699 xorl (%ebp,%ebx,1),%edi 2700 movb %dl,%bl 2701 xorl 0x200(%ebp,%ecx,1),%edi 2702 movb %dh,%cl 2703 shrl $16,%eax 2704 xorl 0x100(%ebp,%ebx,1),%edi 2705 movb %ah,%bl 2706 shrl $16,%edx 2707 xorl 0x300(%ebp,%ecx,1),%edi 2708 movb %dh,%cl 2709 andl $0xff,%eax 2710 andl $0xff,%edx 2711 xorl 0x600(%ebp,%ebx,1),%edi 2712 xorl 0x700(%ebp,%ecx,1),%edi 2713 movl (%esp),%ecx 2714 xorl 0x400(%ebp,%eax,1),%edi 2715 xorl 0x500(%ebp,%edx,1),%edi 2716 2717 movl 48(%ecx),%eax 2718 xorl %ebx,%ebx 2719 movl 52(%ecx),%edx 2720 xorl %edi,%eax 2721 xorl %ecx,%ecx 2722 xorl %edi,%edx 2723 andl $0xfcfcfcfc,%eax 2724 andl $0xcfcfcfcf,%edx 2725 movb %al,%bl 2726 movb %ah,%cl 2727 rorl $4,%edx 2728 xorl (%ebp,%ebx,1),%esi 2729 movb %dl,%bl 2730 xorl 0x200(%ebp,%ecx,1),%esi 2731 movb %dh,%cl 2732 shrl $16,%eax 2733 xorl 0x100(%ebp,%ebx,1),%esi 2734 movb %ah,%bl 2735 shrl $16,%edx 2736 xorl 0x300(%ebp,%ecx,1),%esi 2737 movb %dh,%cl 2738 andl $0xff,%eax 2739 andl $0xff,%edx 2740 xorl 0x600(%ebp,%ebx,1),%esi 2741 xorl 0x700(%ebp,%ecx,1),%esi 2742 movl (%esp),%ecx 2743 xorl 0x400(%ebp,%eax,1),%esi 2744 xorl 0x500(%ebp,%edx,1),%esi 2745 2746 movl 40(%ecx),%eax 2747 xorl %ebx,%ebx 2748 movl 44(%ecx),%edx 2749 xorl %esi,%eax 2750 xorl %ecx,%ecx 2751 xorl %esi,%edx 2752 andl $0xfcfcfcfc,%eax 2753 andl $0xcfcfcfcf,%edx 2754 movb %al,%bl 2755 movb %ah,%cl 2756 rorl $4,%edx 2757 xorl (%ebp,%ebx,1),%edi 2758 movb %dl,%bl 2759 xorl 0x200(%ebp,%ecx,1),%edi 2760 movb %dh,%cl 2761 shrl $16,%eax 2762 xorl 0x100(%ebp,%ebx,1),%edi 2763 movb %ah,%bl 2764 shrl $16,%edx 2765 xorl 0x300(%ebp,%ecx,1),%edi 2766 movb %dh,%cl 2767 andl $0xff,%eax 2768 andl $0xff,%edx 2769 xorl 0x600(%ebp,%ebx,1),%edi 2770 xorl 0x700(%ebp,%ecx,1),%edi 2771 movl (%esp),%ecx 2772 xorl 0x400(%ebp,%eax,1),%edi 2773 xorl 0x500(%ebp,%edx,1),%edi 2774 2775 movl 32(%ecx),%eax 2776 xorl %ebx,%ebx 2777 movl 36(%ecx),%edx 2778 xorl %edi,%eax 2779 xorl %ecx,%ecx 2780 xorl %edi,%edx 2781 andl $0xfcfcfcfc,%eax 2782 andl $0xcfcfcfcf,%edx 2783 movb %al,%bl 2784 movb %ah,%cl 2785 rorl $4,%edx 2786 xorl (%ebp,%ebx,1),%esi 2787 movb %dl,%bl 2788 xorl 0x200(%ebp,%ecx,1),%esi 2789 movb %dh,%cl 2790 shrl $16,%eax 2791 xorl 0x100(%ebp,%ebx,1),%esi 2792 movb %ah,%bl 2793 shrl $16,%edx 2794 xorl 0x300(%ebp,%ecx,1),%esi 2795 movb %dh,%cl 2796 andl $0xff,%eax 2797 andl $0xff,%edx 2798 xorl 0x600(%ebp,%ebx,1),%esi 2799 xorl 0x700(%ebp,%ecx,1),%esi 2800 movl (%esp),%ecx 2801 xorl 0x400(%ebp,%eax,1),%esi 2802 xorl 0x500(%ebp,%edx,1),%esi 2803 2804 movl 24(%ecx),%eax 2805 xorl %ebx,%ebx 2806 movl 28(%ecx),%edx 2807 xorl %esi,%eax 2808 xorl %ecx,%ecx 2809 xorl %esi,%edx 2810 andl $0xfcfcfcfc,%eax 2811 andl $0xcfcfcfcf,%edx 2812 movb %al,%bl 2813 movb %ah,%cl 2814 rorl $4,%edx 2815 xorl (%ebp,%ebx,1),%edi 2816 movb %dl,%bl 2817 xorl 0x200(%ebp,%ecx,1),%edi 2818 movb %dh,%cl 2819 shrl $16,%eax 2820 xorl 0x100(%ebp,%ebx,1),%edi 2821 movb %ah,%bl 2822 shrl $16,%edx 2823 xorl 0x300(%ebp,%ecx,1),%edi 2824 movb %dh,%cl 2825 andl $0xff,%eax 2826 andl $0xff,%edx 2827 xorl 0x600(%ebp,%ebx,1),%edi 2828 xorl 0x700(%ebp,%ecx,1),%edi 2829 movl (%esp),%ecx 2830 xorl 0x400(%ebp,%eax,1),%edi 2831 xorl 0x500(%ebp,%edx,1),%edi 2832 2833 movl 16(%ecx),%eax 2834 xorl %ebx,%ebx 2835 movl 20(%ecx),%edx 2836 xorl %edi,%eax 2837 xorl %ecx,%ecx 2838 xorl %edi,%edx 2839 andl $0xfcfcfcfc,%eax 2840 andl $0xcfcfcfcf,%edx 2841 movb %al,%bl 2842 movb %ah,%cl 2843 rorl $4,%edx 2844 xorl (%ebp,%ebx,1),%esi 2845 movb %dl,%bl 2846 xorl 0x200(%ebp,%ecx,1),%esi 2847 movb %dh,%cl 2848 shrl $16,%eax 2849 xorl 0x100(%ebp,%ebx,1),%esi 2850 movb %ah,%bl 2851 shrl $16,%edx 2852 xorl 0x300(%ebp,%ecx,1),%esi 2853 movb %dh,%cl 2854 andl $0xff,%eax 2855 andl $0xff,%edx 2856 xorl 0x600(%ebp,%ebx,1),%esi 2857 xorl 0x700(%ebp,%ecx,1),%esi 2858 movl (%esp),%ecx 2859 xorl 0x400(%ebp,%eax,1),%esi 2860 xorl 0x500(%ebp,%edx,1),%esi 2861 2862 movl 8(%ecx),%eax 2863 xorl %ebx,%ebx 2864 movl 12(%ecx),%edx 2865 xorl %esi,%eax 2866 xorl %ecx,%ecx 2867 xorl %esi,%edx 2868 andl $0xfcfcfcfc,%eax 2869 andl $0xcfcfcfcf,%edx 2870 movb %al,%bl 2871 movb %ah,%cl 2872 rorl $4,%edx 2873 xorl (%ebp,%ebx,1),%edi 2874 movb %dl,%bl 2875 xorl 0x200(%ebp,%ecx,1),%edi 2876 movb %dh,%cl 2877 shrl $16,%eax 2878 xorl 0x100(%ebp,%ebx,1),%edi 2879 movb %ah,%bl 2880 shrl $16,%edx 2881 xorl 0x300(%ebp,%ecx,1),%edi 2882 movb %dh,%cl 2883 andl $0xff,%eax 2884 andl $0xff,%edx 2885 xorl 0x600(%ebp,%ebx,1),%edi 2886 xorl 0x700(%ebp,%ecx,1),%edi 2887 movl (%esp),%ecx 2888 xorl 0x400(%ebp,%eax,1),%edi 2889 xorl 0x500(%ebp,%edx,1),%edi 2890 2891 movl (%ecx),%eax 2892 xorl %ebx,%ebx 2893 movl 4(%ecx),%edx 2894 xorl %edi,%eax 2895 xorl %ecx,%ecx 2896 xorl %edi,%edx 2897 andl $0xfcfcfcfc,%eax 2898 andl $0xcfcfcfcf,%edx 2899 movb %al,%bl 2900 movb %ah,%cl 2901 rorl $4,%edx 2902 xorl (%ebp,%ebx,1),%esi 2903 movb %dl,%bl 2904 xorl 0x200(%ebp,%ecx,1),%esi 2905 movb %dh,%cl 2906 shrl $16,%eax 2907 xorl 0x100(%ebp,%ebx,1),%esi 2908 movb %ah,%bl 2909 shrl $16,%edx 2910 xorl 0x300(%ebp,%ecx,1),%esi 2911 movb %dh,%cl 2912 andl $0xff,%eax 2913 andl $0xff,%edx 2914 xorl 0x600(%ebp,%ebx,1),%esi 2915 xorl 0x700(%ebp,%ecx,1),%esi 2916 movl (%esp),%ecx 2917 xorl 0x400(%ebp,%eax,1),%esi 2918 xorl 0x500(%ebp,%edx,1),%esi 2919 addl $4,%esp 2920 ret 2921.size _x86_DES_decrypt,.-_x86_DES_decrypt 2922.globl DES_encrypt1 2923.type DES_encrypt1,@function 2924.align 16 2925DES_encrypt1: 2926.L_DES_encrypt1_begin: 2927 #ifdef __CET__ 2928 2929.byte 243,15,30,251 2930 #endif 2931 2932 pushl %esi 2933 pushl %edi 2934 2935 2936 movl 12(%esp),%esi 2937 xorl %ecx,%ecx 2938 pushl %ebx 2939 pushl %ebp 2940 movl (%esi),%eax 2941 movl 28(%esp),%ebx 2942 movl 4(%esi),%edi 2943 2944 2945 roll $4,%eax 2946 movl %eax,%esi 2947 xorl %edi,%eax 2948 andl $0xf0f0f0f0,%eax 2949 xorl %eax,%esi 2950 xorl %eax,%edi 2951 2952 roll $20,%edi 2953 movl %edi,%eax 2954 xorl %esi,%edi 2955 andl $0xfff0000f,%edi 2956 xorl %edi,%eax 2957 xorl %edi,%esi 2958 2959 roll $14,%eax 2960 movl %eax,%edi 2961 xorl %esi,%eax 2962 andl $0x33333333,%eax 2963 xorl %eax,%edi 2964 xorl %eax,%esi 2965 2966 roll $22,%esi 2967 movl %esi,%eax 2968 xorl %edi,%esi 2969 andl $0x03fc03fc,%esi 2970 xorl %esi,%eax 2971 xorl %esi,%edi 2972 2973 roll $9,%eax 2974 movl %eax,%esi 2975 xorl %edi,%eax 2976 andl $0xaaaaaaaa,%eax 2977 xorl %eax,%esi 2978 xorl %eax,%edi 2979 2980 roll $1,%edi 2981 call .L000pic_point 2982.L000pic_point: 2983 popl %ebp 2984 leal .Ldes_sptrans-.L000pic_point(%ebp),%ebp 2985 movl 24(%esp),%ecx 2986 cmpl $0,%ebx 2987 je .L001decrypt 2988 call _x86_DES_encrypt 2989 jmp .L002done 2990.L001decrypt: 2991 call _x86_DES_decrypt 2992.L002done: 2993 2994 2995 movl 20(%esp),%edx 2996 rorl $1,%esi 2997 movl %edi,%eax 2998 xorl %esi,%edi 2999 andl $0xaaaaaaaa,%edi 3000 xorl %edi,%eax 3001 xorl %edi,%esi 3002 3003 roll $23,%eax 3004 movl %eax,%edi 3005 xorl %esi,%eax 3006 andl $0x03fc03fc,%eax 3007 xorl %eax,%edi 3008 xorl %eax,%esi 3009 3010 roll $10,%edi 3011 movl %edi,%eax 3012 xorl %esi,%edi 3013 andl $0x33333333,%edi 3014 xorl %edi,%eax 3015 xorl %edi,%esi 3016 3017 roll $18,%esi 3018 movl %esi,%edi 3019 xorl %eax,%esi 3020 andl $0xfff0000f,%esi 3021 xorl %esi,%edi 3022 xorl %esi,%eax 3023 3024 roll $12,%edi 3025 movl %edi,%esi 3026 xorl %eax,%edi 3027 andl $0xf0f0f0f0,%edi 3028 xorl %edi,%esi 3029 xorl %edi,%eax 3030 3031 rorl $4,%eax 3032 movl %eax,(%edx) 3033 movl %esi,4(%edx) 3034 popl %ebp 3035 popl %ebx 3036 popl %edi 3037 popl %esi 3038 ret 3039.size DES_encrypt1,.-.L_DES_encrypt1_begin 3040.globl DES_encrypt2 3041.type DES_encrypt2,@function 3042.align 16 3043DES_encrypt2: 3044.L_DES_encrypt2_begin: 3045 #ifdef __CET__ 3046 3047.byte 243,15,30,251 3048 #endif 3049 3050 pushl %esi 3051 pushl %edi 3052 3053 3054 movl 12(%esp),%eax 3055 xorl %ecx,%ecx 3056 pushl %ebx 3057 pushl %ebp 3058 movl (%eax),%esi 3059 movl 28(%esp),%ebx 3060 roll $3,%esi 3061 movl 4(%eax),%edi 3062 roll $3,%edi 3063 call .L003pic_point 3064.L003pic_point: 3065 popl %ebp 3066 leal .Ldes_sptrans-.L003pic_point(%ebp),%ebp 3067 movl 24(%esp),%ecx 3068 cmpl $0,%ebx 3069 je .L004decrypt 3070 call _x86_DES_encrypt 3071 jmp .L005done 3072.L004decrypt: 3073 call _x86_DES_decrypt 3074.L005done: 3075 3076 3077 rorl $3,%edi 3078 movl 20(%esp),%eax 3079 rorl $3,%esi 3080 movl %edi,(%eax) 3081 movl %esi,4(%eax) 3082 popl %ebp 3083 popl %ebx 3084 popl %edi 3085 popl %esi 3086 ret 3087.size DES_encrypt2,.-.L_DES_encrypt2_begin 3088.globl DES_encrypt3 3089.type DES_encrypt3,@function 3090.align 16 3091DES_encrypt3: 3092.L_DES_encrypt3_begin: 3093 #ifdef __CET__ 3094 3095.byte 243,15,30,251 3096 #endif 3097 3098 pushl %ebx 3099 movl 8(%esp),%ebx 3100 pushl %ebp 3101 pushl %esi 3102 pushl %edi 3103 3104 3105 movl (%ebx),%edi 3106 movl 4(%ebx),%esi 3107 subl $12,%esp 3108 3109 3110 roll $4,%edi 3111 movl %edi,%edx 3112 xorl %esi,%edi 3113 andl $0xf0f0f0f0,%edi 3114 xorl %edi,%edx 3115 xorl %edi,%esi 3116 3117 roll $20,%esi 3118 movl %esi,%edi 3119 xorl %edx,%esi 3120 andl $0xfff0000f,%esi 3121 xorl %esi,%edi 3122 xorl %esi,%edx 3123 3124 roll $14,%edi 3125 movl %edi,%esi 3126 xorl %edx,%edi 3127 andl $0x33333333,%edi 3128 xorl %edi,%esi 3129 xorl %edi,%edx 3130 3131 roll $22,%edx 3132 movl %edx,%edi 3133 xorl %esi,%edx 3134 andl $0x03fc03fc,%edx 3135 xorl %edx,%edi 3136 xorl %edx,%esi 3137 3138 roll $9,%edi 3139 movl %edi,%edx 3140 xorl %esi,%edi 3141 andl $0xaaaaaaaa,%edi 3142 xorl %edi,%edx 3143 xorl %edi,%esi 3144 3145 rorl $3,%edx 3146 rorl $2,%esi 3147 movl %esi,4(%ebx) 3148 movl 36(%esp),%eax 3149 movl %edx,(%ebx) 3150 movl 40(%esp),%edi 3151 movl 44(%esp),%esi 3152 movl $1,8(%esp) 3153 movl %eax,4(%esp) 3154 movl %ebx,(%esp) 3155 call .L_DES_encrypt2_begin 3156 movl $0,8(%esp) 3157 movl %edi,4(%esp) 3158 movl %ebx,(%esp) 3159 call .L_DES_encrypt2_begin 3160 movl $1,8(%esp) 3161 movl %esi,4(%esp) 3162 movl %ebx,(%esp) 3163 call .L_DES_encrypt2_begin 3164 addl $12,%esp 3165 movl (%ebx),%edi 3166 movl 4(%ebx),%esi 3167 3168 3169 roll $2,%esi 3170 roll $3,%edi 3171 movl %edi,%eax 3172 xorl %esi,%edi 3173 andl $0xaaaaaaaa,%edi 3174 xorl %edi,%eax 3175 xorl %edi,%esi 3176 3177 roll $23,%eax 3178 movl %eax,%edi 3179 xorl %esi,%eax 3180 andl $0x03fc03fc,%eax 3181 xorl %eax,%edi 3182 xorl %eax,%esi 3183 3184 roll $10,%edi 3185 movl %edi,%eax 3186 xorl %esi,%edi 3187 andl $0x33333333,%edi 3188 xorl %edi,%eax 3189 xorl %edi,%esi 3190 3191 roll $18,%esi 3192 movl %esi,%edi 3193 xorl %eax,%esi 3194 andl $0xfff0000f,%esi 3195 xorl %esi,%edi 3196 xorl %esi,%eax 3197 3198 roll $12,%edi 3199 movl %edi,%esi 3200 xorl %eax,%edi 3201 andl $0xf0f0f0f0,%edi 3202 xorl %edi,%esi 3203 xorl %edi,%eax 3204 3205 rorl $4,%eax 3206 movl %eax,(%ebx) 3207 movl %esi,4(%ebx) 3208 popl %edi 3209 popl %esi 3210 popl %ebp 3211 popl %ebx 3212 ret 3213.size DES_encrypt3,.-.L_DES_encrypt3_begin 3214.globl DES_decrypt3 3215.type DES_decrypt3,@function 3216.align 16 3217DES_decrypt3: 3218.L_DES_decrypt3_begin: 3219 #ifdef __CET__ 3220 3221.byte 243,15,30,251 3222 #endif 3223 3224 pushl %ebx 3225 movl 8(%esp),%ebx 3226 pushl %ebp 3227 pushl %esi 3228 pushl %edi 3229 3230 3231 movl (%ebx),%edi 3232 movl 4(%ebx),%esi 3233 subl $12,%esp 3234 3235 3236 roll $4,%edi 3237 movl %edi,%edx 3238 xorl %esi,%edi 3239 andl $0xf0f0f0f0,%edi 3240 xorl %edi,%edx 3241 xorl %edi,%esi 3242 3243 roll $20,%esi 3244 movl %esi,%edi 3245 xorl %edx,%esi 3246 andl $0xfff0000f,%esi 3247 xorl %esi,%edi 3248 xorl %esi,%edx 3249 3250 roll $14,%edi 3251 movl %edi,%esi 3252 xorl %edx,%edi 3253 andl $0x33333333,%edi 3254 xorl %edi,%esi 3255 xorl %edi,%edx 3256 3257 roll $22,%edx 3258 movl %edx,%edi 3259 xorl %esi,%edx 3260 andl $0x03fc03fc,%edx 3261 xorl %edx,%edi 3262 xorl %edx,%esi 3263 3264 roll $9,%edi 3265 movl %edi,%edx 3266 xorl %esi,%edi 3267 andl $0xaaaaaaaa,%edi 3268 xorl %edi,%edx 3269 xorl %edi,%esi 3270 3271 rorl $3,%edx 3272 rorl $2,%esi 3273 movl %esi,4(%ebx) 3274 movl 36(%esp),%esi 3275 movl %edx,(%ebx) 3276 movl 40(%esp),%edi 3277 movl 44(%esp),%eax 3278 movl $0,8(%esp) 3279 movl %eax,4(%esp) 3280 movl %ebx,(%esp) 3281 call .L_DES_encrypt2_begin 3282 movl $1,8(%esp) 3283 movl %edi,4(%esp) 3284 movl %ebx,(%esp) 3285 call .L_DES_encrypt2_begin 3286 movl $0,8(%esp) 3287 movl %esi,4(%esp) 3288 movl %ebx,(%esp) 3289 call .L_DES_encrypt2_begin 3290 addl $12,%esp 3291 movl (%ebx),%edi 3292 movl 4(%ebx),%esi 3293 3294 3295 roll $2,%esi 3296 roll $3,%edi 3297 movl %edi,%eax 3298 xorl %esi,%edi 3299 andl $0xaaaaaaaa,%edi 3300 xorl %edi,%eax 3301 xorl %edi,%esi 3302 3303 roll $23,%eax 3304 movl %eax,%edi 3305 xorl %esi,%eax 3306 andl $0x03fc03fc,%eax 3307 xorl %eax,%edi 3308 xorl %eax,%esi 3309 3310 roll $10,%edi 3311 movl %edi,%eax 3312 xorl %esi,%edi 3313 andl $0x33333333,%edi 3314 xorl %edi,%eax 3315 xorl %edi,%esi 3316 3317 roll $18,%esi 3318 movl %esi,%edi 3319 xorl %eax,%esi 3320 andl $0xfff0000f,%esi 3321 xorl %esi,%edi 3322 xorl %esi,%eax 3323 3324 roll $12,%edi 3325 movl %edi,%esi 3326 xorl %eax,%edi 3327 andl $0xf0f0f0f0,%edi 3328 xorl %edi,%esi 3329 xorl %edi,%eax 3330 3331 rorl $4,%eax 3332 movl %eax,(%ebx) 3333 movl %esi,4(%ebx) 3334 popl %edi 3335 popl %esi 3336 popl %ebp 3337 popl %ebx 3338 ret 3339.size DES_decrypt3,.-.L_DES_decrypt3_begin 3340.globl DES_ncbc_encrypt 3341.type DES_ncbc_encrypt,@function 3342.align 16 3343DES_ncbc_encrypt: 3344.L_DES_ncbc_encrypt_begin: 3345 #ifdef __CET__ 3346 3347.byte 243,15,30,251 3348 #endif 3349 3350 3351 pushl %ebp 3352 pushl %ebx 3353 pushl %esi 3354 pushl %edi 3355 movl 28(%esp),%ebp 3356 3357 movl 36(%esp),%ebx 3358 movl (%ebx),%esi 3359 movl 4(%ebx),%edi 3360 pushl %edi 3361 pushl %esi 3362 pushl %edi 3363 pushl %esi 3364 movl %esp,%ebx 3365 movl 36(%esp),%esi 3366 movl 40(%esp),%edi 3367 3368 movl 56(%esp),%ecx 3369 3370 pushl %ecx 3371 3372 movl 52(%esp),%eax 3373 pushl %eax 3374 pushl %ebx 3375 cmpl $0,%ecx 3376 jz .L006decrypt 3377 andl $4294967288,%ebp 3378 movl 12(%esp),%eax 3379 movl 16(%esp),%ebx 3380 jz .L007encrypt_finish 3381.L008encrypt_loop: 3382 movl (%esi),%ecx 3383 movl 4(%esi),%edx 3384 xorl %ecx,%eax 3385 xorl %edx,%ebx 3386 movl %eax,12(%esp) 3387 movl %ebx,16(%esp) 3388 call .L_DES_encrypt1_begin 3389 movl 12(%esp),%eax 3390 movl 16(%esp),%ebx 3391 movl %eax,(%edi) 3392 movl %ebx,4(%edi) 3393 addl $8,%esi 3394 addl $8,%edi 3395 subl $8,%ebp 3396 jnz .L008encrypt_loop 3397.L007encrypt_finish: 3398 movl 56(%esp),%ebp 3399 andl $7,%ebp 3400 jz .L009finish 3401 call .L010PIC_point 3402.L010PIC_point: 3403 popl %edx 3404 leal .L011cbc_enc_jmp_table-.L010PIC_point(%edx),%ecx 3405 movl (%ecx,%ebp,4),%ebp 3406 addl %edx,%ebp 3407 xorl %ecx,%ecx 3408 xorl %edx,%edx 3409 jmp *%ebp 3410.L012ej7: 3411 #ifdef __CET__ 3412 3413.byte 243,15,30,251 3414 #endif 3415 3416 movb 6(%esi),%dh 3417 shll $8,%edx 3418.L013ej6: 3419 #ifdef __CET__ 3420 3421.byte 243,15,30,251 3422 #endif 3423 3424 movb 5(%esi),%dh 3425.L014ej5: 3426 #ifdef __CET__ 3427 3428.byte 243,15,30,251 3429 #endif 3430 3431 movb 4(%esi),%dl 3432.L015ej4: 3433 #ifdef __CET__ 3434 3435.byte 243,15,30,251 3436 #endif 3437 3438 movl (%esi),%ecx 3439 jmp .L016ejend 3440.L017ej3: 3441 #ifdef __CET__ 3442 3443.byte 243,15,30,251 3444 #endif 3445 3446 movb 2(%esi),%ch 3447 shll $8,%ecx 3448.L018ej2: 3449 #ifdef __CET__ 3450 3451.byte 243,15,30,251 3452 #endif 3453 3454 movb 1(%esi),%ch 3455.L019ej1: 3456 #ifdef __CET__ 3457 3458.byte 243,15,30,251 3459 #endif 3460 3461 movb (%esi),%cl 3462.L016ejend: 3463 xorl %ecx,%eax 3464 xorl %edx,%ebx 3465 movl %eax,12(%esp) 3466 movl %ebx,16(%esp) 3467 call .L_DES_encrypt1_begin 3468 movl 12(%esp),%eax 3469 movl 16(%esp),%ebx 3470 movl %eax,(%edi) 3471 movl %ebx,4(%edi) 3472 jmp .L009finish 3473.L006decrypt: 3474 andl $4294967288,%ebp 3475 movl 20(%esp),%eax 3476 movl 24(%esp),%ebx 3477 jz .L020decrypt_finish 3478.L021decrypt_loop: 3479 movl (%esi),%eax 3480 movl 4(%esi),%ebx 3481 movl %eax,12(%esp) 3482 movl %ebx,16(%esp) 3483 call .L_DES_encrypt1_begin 3484 movl 12(%esp),%eax 3485 movl 16(%esp),%ebx 3486 movl 20(%esp),%ecx 3487 movl 24(%esp),%edx 3488 xorl %eax,%ecx 3489 xorl %ebx,%edx 3490 movl (%esi),%eax 3491 movl 4(%esi),%ebx 3492 movl %ecx,(%edi) 3493 movl %edx,4(%edi) 3494 movl %eax,20(%esp) 3495 movl %ebx,24(%esp) 3496 addl $8,%esi 3497 addl $8,%edi 3498 subl $8,%ebp 3499 jnz .L021decrypt_loop 3500.L020decrypt_finish: 3501 movl 56(%esp),%ebp 3502 andl $7,%ebp 3503 jz .L009finish 3504 movl (%esi),%eax 3505 movl 4(%esi),%ebx 3506 movl %eax,12(%esp) 3507 movl %ebx,16(%esp) 3508 call .L_DES_encrypt1_begin 3509 movl 12(%esp),%eax 3510 movl 16(%esp),%ebx 3511 movl 20(%esp),%ecx 3512 movl 24(%esp),%edx 3513 xorl %eax,%ecx 3514 xorl %ebx,%edx 3515 movl (%esi),%eax 3516 movl 4(%esi),%ebx 3517.L022dj7: 3518 rorl $16,%edx 3519 movb %dl,6(%edi) 3520 shrl $16,%edx 3521.L023dj6: 3522 movb %dh,5(%edi) 3523.L024dj5: 3524 movb %dl,4(%edi) 3525.L025dj4: 3526 movl %ecx,(%edi) 3527 jmp .L026djend 3528.L027dj3: 3529 rorl $16,%ecx 3530 movb %cl,2(%edi) 3531 shll $16,%ecx 3532.L028dj2: 3533 movb %ch,1(%esi) 3534.L029dj1: 3535 movb %cl,(%esi) 3536.L026djend: 3537 jmp .L009finish 3538.L009finish: 3539 movl 64(%esp),%ecx 3540 addl $28,%esp 3541 movl %eax,(%ecx) 3542 movl %ebx,4(%ecx) 3543 popl %edi 3544 popl %esi 3545 popl %ebx 3546 popl %ebp 3547 ret 3548.align 64 3549.L011cbc_enc_jmp_table: 3550.long 0 3551.long .L019ej1-.L010PIC_point 3552.long .L018ej2-.L010PIC_point 3553.long .L017ej3-.L010PIC_point 3554.long .L015ej4-.L010PIC_point 3555.long .L014ej5-.L010PIC_point 3556.long .L013ej6-.L010PIC_point 3557.long .L012ej7-.L010PIC_point 3558.align 64 3559.size DES_ncbc_encrypt,.-.L_DES_ncbc_encrypt_begin 3560.globl DES_ede3_cbc_encrypt 3561.type DES_ede3_cbc_encrypt,@function 3562.align 16 3563DES_ede3_cbc_encrypt: 3564.L_DES_ede3_cbc_encrypt_begin: 3565 #ifdef __CET__ 3566 3567.byte 243,15,30,251 3568 #endif 3569 3570 3571 pushl %ebp 3572 pushl %ebx 3573 pushl %esi 3574 pushl %edi 3575 movl 28(%esp),%ebp 3576 3577 movl 44(%esp),%ebx 3578 movl (%ebx),%esi 3579 movl 4(%ebx),%edi 3580 pushl %edi 3581 pushl %esi 3582 pushl %edi 3583 pushl %esi 3584 movl %esp,%ebx 3585 movl 36(%esp),%esi 3586 movl 40(%esp),%edi 3587 3588 movl 64(%esp),%ecx 3589 3590 movl 56(%esp),%eax 3591 pushl %eax 3592 3593 movl 56(%esp),%eax 3594 pushl %eax 3595 3596 movl 56(%esp),%eax 3597 pushl %eax 3598 pushl %ebx 3599 cmpl $0,%ecx 3600 jz .L030decrypt 3601 andl $4294967288,%ebp 3602 movl 16(%esp),%eax 3603 movl 20(%esp),%ebx 3604 jz .L031encrypt_finish 3605.L032encrypt_loop: 3606 movl (%esi),%ecx 3607 movl 4(%esi),%edx 3608 xorl %ecx,%eax 3609 xorl %edx,%ebx 3610 movl %eax,16(%esp) 3611 movl %ebx,20(%esp) 3612 call .L_DES_encrypt3_begin 3613 movl 16(%esp),%eax 3614 movl 20(%esp),%ebx 3615 movl %eax,(%edi) 3616 movl %ebx,4(%edi) 3617 addl $8,%esi 3618 addl $8,%edi 3619 subl $8,%ebp 3620 jnz .L032encrypt_loop 3621.L031encrypt_finish: 3622 movl 60(%esp),%ebp 3623 andl $7,%ebp 3624 jz .L033finish 3625 call .L034PIC_point 3626.L034PIC_point: 3627 popl %edx 3628 leal .L035cbc_enc_jmp_table-.L034PIC_point(%edx),%ecx 3629 movl (%ecx,%ebp,4),%ebp 3630 addl %edx,%ebp 3631 xorl %ecx,%ecx 3632 xorl %edx,%edx 3633 jmp *%ebp 3634.L036ej7: 3635 #ifdef __CET__ 3636 3637.byte 243,15,30,251 3638 #endif 3639 3640 movb 6(%esi),%dh 3641 shll $8,%edx 3642.L037ej6: 3643 #ifdef __CET__ 3644 3645.byte 243,15,30,251 3646 #endif 3647 3648 movb 5(%esi),%dh 3649.L038ej5: 3650 #ifdef __CET__ 3651 3652.byte 243,15,30,251 3653 #endif 3654 3655 movb 4(%esi),%dl 3656.L039ej4: 3657 #ifdef __CET__ 3658 3659.byte 243,15,30,251 3660 #endif 3661 3662 movl (%esi),%ecx 3663 jmp .L040ejend 3664.L041ej3: 3665 #ifdef __CET__ 3666 3667.byte 243,15,30,251 3668 #endif 3669 3670 movb 2(%esi),%ch 3671 shll $8,%ecx 3672.L042ej2: 3673 #ifdef __CET__ 3674 3675.byte 243,15,30,251 3676 #endif 3677 3678 movb 1(%esi),%ch 3679.L043ej1: 3680 #ifdef __CET__ 3681 3682.byte 243,15,30,251 3683 #endif 3684 3685 movb (%esi),%cl 3686.L040ejend: 3687 xorl %ecx,%eax 3688 xorl %edx,%ebx 3689 movl %eax,16(%esp) 3690 movl %ebx,20(%esp) 3691 call .L_DES_encrypt3_begin 3692 movl 16(%esp),%eax 3693 movl 20(%esp),%ebx 3694 movl %eax,(%edi) 3695 movl %ebx,4(%edi) 3696 jmp .L033finish 3697.L030decrypt: 3698 andl $4294967288,%ebp 3699 movl 24(%esp),%eax 3700 movl 28(%esp),%ebx 3701 jz .L044decrypt_finish 3702.L045decrypt_loop: 3703 movl (%esi),%eax 3704 movl 4(%esi),%ebx 3705 movl %eax,16(%esp) 3706 movl %ebx,20(%esp) 3707 call .L_DES_decrypt3_begin 3708 movl 16(%esp),%eax 3709 movl 20(%esp),%ebx 3710 movl 24(%esp),%ecx 3711 movl 28(%esp),%edx 3712 xorl %eax,%ecx 3713 xorl %ebx,%edx 3714 movl (%esi),%eax 3715 movl 4(%esi),%ebx 3716 movl %ecx,(%edi) 3717 movl %edx,4(%edi) 3718 movl %eax,24(%esp) 3719 movl %ebx,28(%esp) 3720 addl $8,%esi 3721 addl $8,%edi 3722 subl $8,%ebp 3723 jnz .L045decrypt_loop 3724.L044decrypt_finish: 3725 movl 60(%esp),%ebp 3726 andl $7,%ebp 3727 jz .L033finish 3728 movl (%esi),%eax 3729 movl 4(%esi),%ebx 3730 movl %eax,16(%esp) 3731 movl %ebx,20(%esp) 3732 call .L_DES_decrypt3_begin 3733 movl 16(%esp),%eax 3734 movl 20(%esp),%ebx 3735 movl 24(%esp),%ecx 3736 movl 28(%esp),%edx 3737 xorl %eax,%ecx 3738 xorl %ebx,%edx 3739 movl (%esi),%eax 3740 movl 4(%esi),%ebx 3741.L046dj7: 3742 rorl $16,%edx 3743 movb %dl,6(%edi) 3744 shrl $16,%edx 3745.L047dj6: 3746 movb %dh,5(%edi) 3747.L048dj5: 3748 movb %dl,4(%edi) 3749.L049dj4: 3750 movl %ecx,(%edi) 3751 jmp .L050djend 3752.L051dj3: 3753 rorl $16,%ecx 3754 movb %cl,2(%edi) 3755 shll $16,%ecx 3756.L052dj2: 3757 movb %ch,1(%esi) 3758.L053dj1: 3759 movb %cl,(%esi) 3760.L050djend: 3761 jmp .L033finish 3762.L033finish: 3763 movl 76(%esp),%ecx 3764 addl $32,%esp 3765 movl %eax,(%ecx) 3766 movl %ebx,4(%ecx) 3767 popl %edi 3768 popl %esi 3769 popl %ebx 3770 popl %ebp 3771 ret 3772.align 64 3773.L035cbc_enc_jmp_table: 3774.long 0 3775.long .L043ej1-.L034PIC_point 3776.long .L042ej2-.L034PIC_point 3777.long .L041ej3-.L034PIC_point 3778.long .L039ej4-.L034PIC_point 3779.long .L038ej5-.L034PIC_point 3780.long .L037ej6-.L034PIC_point 3781.long .L036ej7-.L034PIC_point 3782.align 64 3783.size DES_ede3_cbc_encrypt,.-.L_DES_ede3_cbc_encrypt_begin 3784.align 64 3785DES_SPtrans: 3786.Ldes_sptrans: 3787.long 34080768,524288,33554434,34080770 3788.long 33554432,526338,524290,33554434 3789.long 526338,34080768,34078720,2050 3790.long 33556482,33554432,0,524290 3791.long 524288,2,33556480,526336 3792.long 34080770,34078720,2050,33556480 3793.long 2,2048,526336,34078722 3794.long 2048,33556482,34078722,0 3795.long 0,34080770,33556480,524290 3796.long 34080768,524288,2050,33556480 3797.long 34078722,2048,526336,33554434 3798.long 526338,2,33554434,34078720 3799.long 34080770,526336,34078720,33556482 3800.long 33554432,2050,524290,0 3801.long 524288,33554432,33556482,34080768 3802.long 2,34078722,2048,526338 3803.long 1074823184,0,1081344,1074790400 3804.long 1073741840,32784,1073774592,1081344 3805.long 32768,1074790416,16,1073774592 3806.long 1048592,1074823168,1074790400,16 3807.long 1048576,1073774608,1074790416,32768 3808.long 1081360,1073741824,0,1048592 3809.long 1073774608,1081360,1074823168,1073741840 3810.long 1073741824,1048576,32784,1074823184 3811.long 1048592,1074823168,1073774592,1081360 3812.long 1074823184,1048592,1073741840,0 3813.long 1073741824,32784,1048576,1074790416 3814.long 32768,1073741824,1081360,1073774608 3815.long 1074823168,32768,0,1073741840 3816.long 16,1074823184,1081344,1074790400 3817.long 1074790416,1048576,32784,1073774592 3818.long 1073774608,16,1074790400,1081344 3819.long 67108865,67371264,256,67109121 3820.long 262145,67108864,67109121,262400 3821.long 67109120,262144,67371008,1 3822.long 67371265,257,1,67371009 3823.long 0,262145,67371264,256 3824.long 257,67371265,262144,67108865 3825.long 67371009,67109120,262401,67371008 3826.long 262400,0,67108864,262401 3827.long 67371264,256,1,262144 3828.long 257,262145,67371008,67109121 3829.long 0,67371264,262400,67371009 3830.long 262145,67108864,67371265,1 3831.long 262401,67108865,67108864,67371265 3832.long 262144,67109120,67109121,262400 3833.long 67109120,0,67371009,257 3834.long 67108865,262401,256,67371008 3835.long 4198408,268439552,8,272633864 3836.long 0,272629760,268439560,4194312 3837.long 272633856,268435464,268435456,4104 3838.long 268435464,4198408,4194304,268435456 3839.long 272629768,4198400,4096,8 3840.long 4198400,268439560,272629760,4096 3841.long 4104,0,4194312,272633856 3842.long 268439552,272629768,272633864,4194304 3843.long 272629768,4104,4194304,268435464 3844.long 4198400,268439552,8,272629760 3845.long 268439560,0,4096,4194312 3846.long 0,272629768,272633856,4096 3847.long 268435456,272633864,4198408,4194304 3848.long 272633864,8,268439552,4198408 3849.long 4194312,4198400,272629760,268439560 3850.long 4104,268435456,268435464,272633856 3851.long 134217728,65536,1024,134284320 3852.long 134283296,134218752,66592,134283264 3853.long 65536,32,134217760,66560 3854.long 134218784,134283296,134284288,0 3855.long 66560,134217728,65568,1056 3856.long 134218752,66592,0,134217760 3857.long 32,134218784,134284320,65568 3858.long 134283264,1024,1056,134284288 3859.long 134284288,134218784,65568,134283264 3860.long 65536,32,134217760,134218752 3861.long 134217728,66560,134284320,0 3862.long 66592,134217728,1024,65568 3863.long 134218784,1024,0,134284320 3864.long 134283296,134284288,1056,65536 3865.long 66560,134283296,134218752,1056 3866.long 32,66592,134283264,134217760 3867.long 2147483712,2097216,0,2149588992 3868.long 2097216,8192,2147491904,2097152 3869.long 8256,2149589056,2105344,2147483648 3870.long 2147491840,2147483712,2149580800,2105408 3871.long 2097152,2147491904,2149580864,0 3872.long 8192,64,2149588992,2149580864 3873.long 2149589056,2149580800,2147483648,8256 3874.long 64,2105344,2105408,2147491840 3875.long 8256,2147483648,2147491840,2105408 3876.long 2149588992,2097216,0,2147491840 3877.long 2147483648,8192,2149580864,2097152 3878.long 2097216,2149589056,2105344,64 3879.long 2149589056,2105344,2097152,2147491904 3880.long 2147483712,2149580800,2105408,0 3881.long 8192,2147483712,2147491904,2149588992 3882.long 2149580800,8256,64,2149580864 3883.long 16384,512,16777728,16777220 3884.long 16794116,16388,16896,0 3885.long 16777216,16777732,516,16793600 3886.long 4,16794112,16793600,516 3887.long 16777732,16384,16388,16794116 3888.long 0,16777728,16777220,16896 3889.long 16793604,16900,16794112,4 3890.long 16900,16793604,512,16777216 3891.long 16900,16793600,16793604,516 3892.long 16384,512,16777216,16793604 3893.long 16777732,16900,16896,0 3894.long 512,16777220,4,16777728 3895.long 0,16777732,16777728,16896 3896.long 516,16384,16794116,16777216 3897.long 16794112,4,16388,16794116 3898.long 16777220,16794112,16793600,16388 3899.long 545259648,545390592,131200,0 3900.long 537001984,8388736,545259520,545390720 3901.long 128,536870912,8519680,131200 3902.long 8519808,537002112,536871040,545259520 3903.long 131072,8519808,8388736,537001984 3904.long 545390720,536871040,0,8519680 3905.long 536870912,8388608,537002112,545259648 3906.long 8388608,131072,545390592,128 3907.long 8388608,131072,536871040,545390720 3908.long 131200,536870912,0,8519680 3909.long 545259648,537002112,537001984,8388736 3910.long 545390592,128,8388736,537001984 3911.long 545390720,8388608,545259520,536871040 3912.long 8519680,131200,537002112,545259520 3913.long 128,545390592,8519808,0 3914.long 536870912,545259648,131072,8519808 3915 3916 .section ".note.gnu.property", "a" 3917 .p2align 2 3918 .long 1f - 0f 3919 .long 4f - 1f 3920 .long 5 39210: 3922 .asciz "GNU" 39231: 3924 .p2align 2 3925 .long 0xc0000002 3926 .long 3f - 2f 39272: 3928 .long 3 39293: 3930 .p2align 2 39314: 3932#endif 3933