1/* Do not modify. This file is auto-generated from cmll-x86.pl. */ 2#ifdef PIC 3.text 4.globl Camellia_EncryptBlock_Rounds 5.type Camellia_EncryptBlock_Rounds,@function 6.align 16 7Camellia_EncryptBlock_Rounds: 8.L_Camellia_EncryptBlock_Rounds_begin: 9 #ifdef __CET__ 10 11.byte 243,15,30,251 12 #endif 13 14 pushl %ebp 15 pushl %ebx 16 pushl %esi 17 pushl %edi 18 movl 20(%esp),%eax 19 movl 24(%esp),%esi 20 movl 28(%esp),%edi 21 movl %esp,%ebx 22 subl $28,%esp 23 andl $-64,%esp 24 leal -127(%edi),%ecx 25 subl %esp,%ecx 26 negl %ecx 27 andl $960,%ecx 28 subl %ecx,%esp 29 addl $4,%esp 30 shll $6,%eax 31 leal (%edi,%eax,1),%eax 32 movl %ebx,20(%esp) 33 movl %eax,16(%esp) 34 call .L000pic_point 35.L000pic_point: 36 popl %ebp 37 leal .LCamellia_SBOX-.L000pic_point(%ebp),%ebp 38 movl (%esi),%eax 39 movl 4(%esi),%ebx 40 movl 8(%esi),%ecx 41 bswap %eax 42 movl 12(%esi),%edx 43 bswap %ebx 44 bswap %ecx 45 bswap %edx 46 call _x86_Camellia_encrypt 47 movl 20(%esp),%esp 48 bswap %eax 49 movl 32(%esp),%esi 50 bswap %ebx 51 bswap %ecx 52 bswap %edx 53 movl %eax,(%esi) 54 movl %ebx,4(%esi) 55 movl %ecx,8(%esi) 56 movl %edx,12(%esi) 57 popl %edi 58 popl %esi 59 popl %ebx 60 popl %ebp 61 ret 62.size Camellia_EncryptBlock_Rounds,.-.L_Camellia_EncryptBlock_Rounds_begin 63.globl Camellia_EncryptBlock 64.type Camellia_EncryptBlock,@function 65.align 16 66Camellia_EncryptBlock: 67.L_Camellia_EncryptBlock_begin: 68 #ifdef __CET__ 69 70.byte 243,15,30,251 71 #endif 72 73 movl $128,%eax 74 subl 4(%esp),%eax 75 movl $3,%eax 76 adcl $0,%eax 77 movl %eax,4(%esp) 78 jmp .L_Camellia_EncryptBlock_Rounds_begin 79.size Camellia_EncryptBlock,.-.L_Camellia_EncryptBlock_begin 80.globl Camellia_encrypt 81.type Camellia_encrypt,@function 82.align 16 83Camellia_encrypt: 84.L_Camellia_encrypt_begin: 85 #ifdef __CET__ 86 87.byte 243,15,30,251 88 #endif 89 90 pushl %ebp 91 pushl %ebx 92 pushl %esi 93 pushl %edi 94 movl 20(%esp),%esi 95 movl 28(%esp),%edi 96 movl %esp,%ebx 97 subl $28,%esp 98 andl $-64,%esp 99 movl 272(%edi),%eax 100 leal -127(%edi),%ecx 101 subl %esp,%ecx 102 negl %ecx 103 andl $960,%ecx 104 subl %ecx,%esp 105 addl $4,%esp 106 shll $6,%eax 107 leal (%edi,%eax,1),%eax 108 movl %ebx,20(%esp) 109 movl %eax,16(%esp) 110 call .L001pic_point 111.L001pic_point: 112 popl %ebp 113 leal .LCamellia_SBOX-.L001pic_point(%ebp),%ebp 114 movl (%esi),%eax 115 movl 4(%esi),%ebx 116 movl 8(%esi),%ecx 117 bswap %eax 118 movl 12(%esi),%edx 119 bswap %ebx 120 bswap %ecx 121 bswap %edx 122 call _x86_Camellia_encrypt 123 movl 20(%esp),%esp 124 bswap %eax 125 movl 24(%esp),%esi 126 bswap %ebx 127 bswap %ecx 128 bswap %edx 129 movl %eax,(%esi) 130 movl %ebx,4(%esi) 131 movl %ecx,8(%esi) 132 movl %edx,12(%esi) 133 popl %edi 134 popl %esi 135 popl %ebx 136 popl %ebp 137 ret 138.size Camellia_encrypt,.-.L_Camellia_encrypt_begin 139.type _x86_Camellia_encrypt,@function 140.align 16 141_x86_Camellia_encrypt: 142 #ifdef __CET__ 143 144.byte 243,15,30,251 145 #endif 146 147 xorl (%edi),%eax 148 xorl 4(%edi),%ebx 149 xorl 8(%edi),%ecx 150 xorl 12(%edi),%edx 151 movl 16(%edi),%esi 152 movl %eax,4(%esp) 153 movl %ebx,8(%esp) 154 movl %ecx,12(%esp) 155 movl %edx,16(%esp) 156.align 16 157.L002loop: 158 xorl %esi,%eax 159 xorl 20(%edi),%ebx 160 movzbl %ah,%esi 161 movl 2052(%ebp,%esi,8),%edx 162 movzbl %al,%esi 163 xorl 4(%ebp,%esi,8),%edx 164 shrl $16,%eax 165 movzbl %bl,%esi 166 movl (%ebp,%esi,8),%ecx 167 movzbl %ah,%esi 168 xorl (%ebp,%esi,8),%edx 169 movzbl %bh,%esi 170 xorl 4(%ebp,%esi,8),%ecx 171 shrl $16,%ebx 172 movzbl %al,%eax 173 xorl 2048(%ebp,%eax,8),%edx 174 movzbl %bh,%esi 175 movl 16(%esp),%eax 176 xorl %edx,%ecx 177 rorl $8,%edx 178 xorl 2048(%ebp,%esi,8),%ecx 179 movzbl %bl,%esi 180 movl 12(%esp),%ebx 181 xorl %eax,%edx 182 xorl 2052(%ebp,%esi,8),%ecx 183 movl 24(%edi),%esi 184 xorl %ecx,%edx 185 movl %edx,16(%esp) 186 xorl %ebx,%ecx 187 movl %ecx,12(%esp) 188 xorl %esi,%ecx 189 xorl 28(%edi),%edx 190 movzbl %ch,%esi 191 movl 2052(%ebp,%esi,8),%ebx 192 movzbl %cl,%esi 193 xorl 4(%ebp,%esi,8),%ebx 194 shrl $16,%ecx 195 movzbl %dl,%esi 196 movl (%ebp,%esi,8),%eax 197 movzbl %ch,%esi 198 xorl (%ebp,%esi,8),%ebx 199 movzbl %dh,%esi 200 xorl 4(%ebp,%esi,8),%eax 201 shrl $16,%edx 202 movzbl %cl,%ecx 203 xorl 2048(%ebp,%ecx,8),%ebx 204 movzbl %dh,%esi 205 movl 8(%esp),%ecx 206 xorl %ebx,%eax 207 rorl $8,%ebx 208 xorl 2048(%ebp,%esi,8),%eax 209 movzbl %dl,%esi 210 movl 4(%esp),%edx 211 xorl %ecx,%ebx 212 xorl 2052(%ebp,%esi,8),%eax 213 movl 32(%edi),%esi 214 xorl %eax,%ebx 215 movl %ebx,8(%esp) 216 xorl %edx,%eax 217 movl %eax,4(%esp) 218 xorl %esi,%eax 219 xorl 36(%edi),%ebx 220 movzbl %ah,%esi 221 movl 2052(%ebp,%esi,8),%edx 222 movzbl %al,%esi 223 xorl 4(%ebp,%esi,8),%edx 224 shrl $16,%eax 225 movzbl %bl,%esi 226 movl (%ebp,%esi,8),%ecx 227 movzbl %ah,%esi 228 xorl (%ebp,%esi,8),%edx 229 movzbl %bh,%esi 230 xorl 4(%ebp,%esi,8),%ecx 231 shrl $16,%ebx 232 movzbl %al,%eax 233 xorl 2048(%ebp,%eax,8),%edx 234 movzbl %bh,%esi 235 movl 16(%esp),%eax 236 xorl %edx,%ecx 237 rorl $8,%edx 238 xorl 2048(%ebp,%esi,8),%ecx 239 movzbl %bl,%esi 240 movl 12(%esp),%ebx 241 xorl %eax,%edx 242 xorl 2052(%ebp,%esi,8),%ecx 243 movl 40(%edi),%esi 244 xorl %ecx,%edx 245 movl %edx,16(%esp) 246 xorl %ebx,%ecx 247 movl %ecx,12(%esp) 248 xorl %esi,%ecx 249 xorl 44(%edi),%edx 250 movzbl %ch,%esi 251 movl 2052(%ebp,%esi,8),%ebx 252 movzbl %cl,%esi 253 xorl 4(%ebp,%esi,8),%ebx 254 shrl $16,%ecx 255 movzbl %dl,%esi 256 movl (%ebp,%esi,8),%eax 257 movzbl %ch,%esi 258 xorl (%ebp,%esi,8),%ebx 259 movzbl %dh,%esi 260 xorl 4(%ebp,%esi,8),%eax 261 shrl $16,%edx 262 movzbl %cl,%ecx 263 xorl 2048(%ebp,%ecx,8),%ebx 264 movzbl %dh,%esi 265 movl 8(%esp),%ecx 266 xorl %ebx,%eax 267 rorl $8,%ebx 268 xorl 2048(%ebp,%esi,8),%eax 269 movzbl %dl,%esi 270 movl 4(%esp),%edx 271 xorl %ecx,%ebx 272 xorl 2052(%ebp,%esi,8),%eax 273 movl 48(%edi),%esi 274 xorl %eax,%ebx 275 movl %ebx,8(%esp) 276 xorl %edx,%eax 277 movl %eax,4(%esp) 278 xorl %esi,%eax 279 xorl 52(%edi),%ebx 280 movzbl %ah,%esi 281 movl 2052(%ebp,%esi,8),%edx 282 movzbl %al,%esi 283 xorl 4(%ebp,%esi,8),%edx 284 shrl $16,%eax 285 movzbl %bl,%esi 286 movl (%ebp,%esi,8),%ecx 287 movzbl %ah,%esi 288 xorl (%ebp,%esi,8),%edx 289 movzbl %bh,%esi 290 xorl 4(%ebp,%esi,8),%ecx 291 shrl $16,%ebx 292 movzbl %al,%eax 293 xorl 2048(%ebp,%eax,8),%edx 294 movzbl %bh,%esi 295 movl 16(%esp),%eax 296 xorl %edx,%ecx 297 rorl $8,%edx 298 xorl 2048(%ebp,%esi,8),%ecx 299 movzbl %bl,%esi 300 movl 12(%esp),%ebx 301 xorl %eax,%edx 302 xorl 2052(%ebp,%esi,8),%ecx 303 movl 56(%edi),%esi 304 xorl %ecx,%edx 305 movl %edx,16(%esp) 306 xorl %ebx,%ecx 307 movl %ecx,12(%esp) 308 xorl %esi,%ecx 309 xorl 60(%edi),%edx 310 movzbl %ch,%esi 311 movl 2052(%ebp,%esi,8),%ebx 312 movzbl %cl,%esi 313 xorl 4(%ebp,%esi,8),%ebx 314 shrl $16,%ecx 315 movzbl %dl,%esi 316 movl (%ebp,%esi,8),%eax 317 movzbl %ch,%esi 318 xorl (%ebp,%esi,8),%ebx 319 movzbl %dh,%esi 320 xorl 4(%ebp,%esi,8),%eax 321 shrl $16,%edx 322 movzbl %cl,%ecx 323 xorl 2048(%ebp,%ecx,8),%ebx 324 movzbl %dh,%esi 325 movl 8(%esp),%ecx 326 xorl %ebx,%eax 327 rorl $8,%ebx 328 xorl 2048(%ebp,%esi,8),%eax 329 movzbl %dl,%esi 330 movl 4(%esp),%edx 331 xorl %ecx,%ebx 332 xorl 2052(%ebp,%esi,8),%eax 333 movl 64(%edi),%esi 334 xorl %eax,%ebx 335 movl %ebx,8(%esp) 336 xorl %edx,%eax 337 movl %eax,4(%esp) 338 addl $64,%edi 339 cmpl 20(%esp),%edi 340 je .L003done 341 andl %eax,%esi 342 movl 16(%esp),%edx 343 roll $1,%esi 344 movl %edx,%ecx 345 xorl %esi,%ebx 346 orl 12(%edi),%ecx 347 movl %ebx,8(%esp) 348 xorl 12(%esp),%ecx 349 movl 4(%edi),%esi 350 movl %ecx,12(%esp) 351 orl %ebx,%esi 352 andl 8(%edi),%ecx 353 xorl %esi,%eax 354 roll $1,%ecx 355 movl %eax,4(%esp) 356 xorl %ecx,%edx 357 movl 16(%edi),%esi 358 movl %edx,16(%esp) 359 jmp .L002loop 360.align 8 361.L003done: 362 movl %eax,%ecx 363 movl %ebx,%edx 364 movl 12(%esp),%eax 365 movl 16(%esp),%ebx 366 xorl %esi,%eax 367 xorl 4(%edi),%ebx 368 xorl 8(%edi),%ecx 369 xorl 12(%edi),%edx 370 ret 371.size _x86_Camellia_encrypt,.-_x86_Camellia_encrypt 372.globl Camellia_DecryptBlock_Rounds 373.type Camellia_DecryptBlock_Rounds,@function 374.align 16 375Camellia_DecryptBlock_Rounds: 376.L_Camellia_DecryptBlock_Rounds_begin: 377 #ifdef __CET__ 378 379.byte 243,15,30,251 380 #endif 381 382 pushl %ebp 383 pushl %ebx 384 pushl %esi 385 pushl %edi 386 movl 20(%esp),%eax 387 movl 24(%esp),%esi 388 movl 28(%esp),%edi 389 movl %esp,%ebx 390 subl $28,%esp 391 andl $-64,%esp 392 leal -127(%edi),%ecx 393 subl %esp,%ecx 394 negl %ecx 395 andl $960,%ecx 396 subl %ecx,%esp 397 addl $4,%esp 398 shll $6,%eax 399 movl %edi,16(%esp) 400 leal (%edi,%eax,1),%edi 401 movl %ebx,20(%esp) 402 call .L004pic_point 403.L004pic_point: 404 popl %ebp 405 leal .LCamellia_SBOX-.L004pic_point(%ebp),%ebp 406 movl (%esi),%eax 407 movl 4(%esi),%ebx 408 movl 8(%esi),%ecx 409 bswap %eax 410 movl 12(%esi),%edx 411 bswap %ebx 412 bswap %ecx 413 bswap %edx 414 call _x86_Camellia_decrypt 415 movl 20(%esp),%esp 416 bswap %eax 417 movl 32(%esp),%esi 418 bswap %ebx 419 bswap %ecx 420 bswap %edx 421 movl %eax,(%esi) 422 movl %ebx,4(%esi) 423 movl %ecx,8(%esi) 424 movl %edx,12(%esi) 425 popl %edi 426 popl %esi 427 popl %ebx 428 popl %ebp 429 ret 430.size Camellia_DecryptBlock_Rounds,.-.L_Camellia_DecryptBlock_Rounds_begin 431.globl Camellia_DecryptBlock 432.type Camellia_DecryptBlock,@function 433.align 16 434Camellia_DecryptBlock: 435.L_Camellia_DecryptBlock_begin: 436 #ifdef __CET__ 437 438.byte 243,15,30,251 439 #endif 440 441 movl $128,%eax 442 subl 4(%esp),%eax 443 movl $3,%eax 444 adcl $0,%eax 445 movl %eax,4(%esp) 446 jmp .L_Camellia_DecryptBlock_Rounds_begin 447.size Camellia_DecryptBlock,.-.L_Camellia_DecryptBlock_begin 448.globl Camellia_decrypt 449.type Camellia_decrypt,@function 450.align 16 451Camellia_decrypt: 452.L_Camellia_decrypt_begin: 453 #ifdef __CET__ 454 455.byte 243,15,30,251 456 #endif 457 458 pushl %ebp 459 pushl %ebx 460 pushl %esi 461 pushl %edi 462 movl 20(%esp),%esi 463 movl 28(%esp),%edi 464 movl %esp,%ebx 465 subl $28,%esp 466 andl $-64,%esp 467 movl 272(%edi),%eax 468 leal -127(%edi),%ecx 469 subl %esp,%ecx 470 negl %ecx 471 andl $960,%ecx 472 subl %ecx,%esp 473 addl $4,%esp 474 shll $6,%eax 475 movl %edi,16(%esp) 476 leal (%edi,%eax,1),%edi 477 movl %ebx,20(%esp) 478 call .L005pic_point 479.L005pic_point: 480 popl %ebp 481 leal .LCamellia_SBOX-.L005pic_point(%ebp),%ebp 482 movl (%esi),%eax 483 movl 4(%esi),%ebx 484 movl 8(%esi),%ecx 485 bswap %eax 486 movl 12(%esi),%edx 487 bswap %ebx 488 bswap %ecx 489 bswap %edx 490 call _x86_Camellia_decrypt 491 movl 20(%esp),%esp 492 bswap %eax 493 movl 24(%esp),%esi 494 bswap %ebx 495 bswap %ecx 496 bswap %edx 497 movl %eax,(%esi) 498 movl %ebx,4(%esi) 499 movl %ecx,8(%esi) 500 movl %edx,12(%esi) 501 popl %edi 502 popl %esi 503 popl %ebx 504 popl %ebp 505 ret 506.size Camellia_decrypt,.-.L_Camellia_decrypt_begin 507.type _x86_Camellia_decrypt,@function 508.align 16 509_x86_Camellia_decrypt: 510 #ifdef __CET__ 511 512.byte 243,15,30,251 513 #endif 514 515 xorl (%edi),%eax 516 xorl 4(%edi),%ebx 517 xorl 8(%edi),%ecx 518 xorl 12(%edi),%edx 519 movl -8(%edi),%esi 520 movl %eax,4(%esp) 521 movl %ebx,8(%esp) 522 movl %ecx,12(%esp) 523 movl %edx,16(%esp) 524.align 16 525.L006loop: 526 xorl %esi,%eax 527 xorl -4(%edi),%ebx 528 movzbl %ah,%esi 529 movl 2052(%ebp,%esi,8),%edx 530 movzbl %al,%esi 531 xorl 4(%ebp,%esi,8),%edx 532 shrl $16,%eax 533 movzbl %bl,%esi 534 movl (%ebp,%esi,8),%ecx 535 movzbl %ah,%esi 536 xorl (%ebp,%esi,8),%edx 537 movzbl %bh,%esi 538 xorl 4(%ebp,%esi,8),%ecx 539 shrl $16,%ebx 540 movzbl %al,%eax 541 xorl 2048(%ebp,%eax,8),%edx 542 movzbl %bh,%esi 543 movl 16(%esp),%eax 544 xorl %edx,%ecx 545 rorl $8,%edx 546 xorl 2048(%ebp,%esi,8),%ecx 547 movzbl %bl,%esi 548 movl 12(%esp),%ebx 549 xorl %eax,%edx 550 xorl 2052(%ebp,%esi,8),%ecx 551 movl -16(%edi),%esi 552 xorl %ecx,%edx 553 movl %edx,16(%esp) 554 xorl %ebx,%ecx 555 movl %ecx,12(%esp) 556 xorl %esi,%ecx 557 xorl -12(%edi),%edx 558 movzbl %ch,%esi 559 movl 2052(%ebp,%esi,8),%ebx 560 movzbl %cl,%esi 561 xorl 4(%ebp,%esi,8),%ebx 562 shrl $16,%ecx 563 movzbl %dl,%esi 564 movl (%ebp,%esi,8),%eax 565 movzbl %ch,%esi 566 xorl (%ebp,%esi,8),%ebx 567 movzbl %dh,%esi 568 xorl 4(%ebp,%esi,8),%eax 569 shrl $16,%edx 570 movzbl %cl,%ecx 571 xorl 2048(%ebp,%ecx,8),%ebx 572 movzbl %dh,%esi 573 movl 8(%esp),%ecx 574 xorl %ebx,%eax 575 rorl $8,%ebx 576 xorl 2048(%ebp,%esi,8),%eax 577 movzbl %dl,%esi 578 movl 4(%esp),%edx 579 xorl %ecx,%ebx 580 xorl 2052(%ebp,%esi,8),%eax 581 movl -24(%edi),%esi 582 xorl %eax,%ebx 583 movl %ebx,8(%esp) 584 xorl %edx,%eax 585 movl %eax,4(%esp) 586 xorl %esi,%eax 587 xorl -20(%edi),%ebx 588 movzbl %ah,%esi 589 movl 2052(%ebp,%esi,8),%edx 590 movzbl %al,%esi 591 xorl 4(%ebp,%esi,8),%edx 592 shrl $16,%eax 593 movzbl %bl,%esi 594 movl (%ebp,%esi,8),%ecx 595 movzbl %ah,%esi 596 xorl (%ebp,%esi,8),%edx 597 movzbl %bh,%esi 598 xorl 4(%ebp,%esi,8),%ecx 599 shrl $16,%ebx 600 movzbl %al,%eax 601 xorl 2048(%ebp,%eax,8),%edx 602 movzbl %bh,%esi 603 movl 16(%esp),%eax 604 xorl %edx,%ecx 605 rorl $8,%edx 606 xorl 2048(%ebp,%esi,8),%ecx 607 movzbl %bl,%esi 608 movl 12(%esp),%ebx 609 xorl %eax,%edx 610 xorl 2052(%ebp,%esi,8),%ecx 611 movl -32(%edi),%esi 612 xorl %ecx,%edx 613 movl %edx,16(%esp) 614 xorl %ebx,%ecx 615 movl %ecx,12(%esp) 616 xorl %esi,%ecx 617 xorl -28(%edi),%edx 618 movzbl %ch,%esi 619 movl 2052(%ebp,%esi,8),%ebx 620 movzbl %cl,%esi 621 xorl 4(%ebp,%esi,8),%ebx 622 shrl $16,%ecx 623 movzbl %dl,%esi 624 movl (%ebp,%esi,8),%eax 625 movzbl %ch,%esi 626 xorl (%ebp,%esi,8),%ebx 627 movzbl %dh,%esi 628 xorl 4(%ebp,%esi,8),%eax 629 shrl $16,%edx 630 movzbl %cl,%ecx 631 xorl 2048(%ebp,%ecx,8),%ebx 632 movzbl %dh,%esi 633 movl 8(%esp),%ecx 634 xorl %ebx,%eax 635 rorl $8,%ebx 636 xorl 2048(%ebp,%esi,8),%eax 637 movzbl %dl,%esi 638 movl 4(%esp),%edx 639 xorl %ecx,%ebx 640 xorl 2052(%ebp,%esi,8),%eax 641 movl -40(%edi),%esi 642 xorl %eax,%ebx 643 movl %ebx,8(%esp) 644 xorl %edx,%eax 645 movl %eax,4(%esp) 646 xorl %esi,%eax 647 xorl -36(%edi),%ebx 648 movzbl %ah,%esi 649 movl 2052(%ebp,%esi,8),%edx 650 movzbl %al,%esi 651 xorl 4(%ebp,%esi,8),%edx 652 shrl $16,%eax 653 movzbl %bl,%esi 654 movl (%ebp,%esi,8),%ecx 655 movzbl %ah,%esi 656 xorl (%ebp,%esi,8),%edx 657 movzbl %bh,%esi 658 xorl 4(%ebp,%esi,8),%ecx 659 shrl $16,%ebx 660 movzbl %al,%eax 661 xorl 2048(%ebp,%eax,8),%edx 662 movzbl %bh,%esi 663 movl 16(%esp),%eax 664 xorl %edx,%ecx 665 rorl $8,%edx 666 xorl 2048(%ebp,%esi,8),%ecx 667 movzbl %bl,%esi 668 movl 12(%esp),%ebx 669 xorl %eax,%edx 670 xorl 2052(%ebp,%esi,8),%ecx 671 movl -48(%edi),%esi 672 xorl %ecx,%edx 673 movl %edx,16(%esp) 674 xorl %ebx,%ecx 675 movl %ecx,12(%esp) 676 xorl %esi,%ecx 677 xorl -44(%edi),%edx 678 movzbl %ch,%esi 679 movl 2052(%ebp,%esi,8),%ebx 680 movzbl %cl,%esi 681 xorl 4(%ebp,%esi,8),%ebx 682 shrl $16,%ecx 683 movzbl %dl,%esi 684 movl (%ebp,%esi,8),%eax 685 movzbl %ch,%esi 686 xorl (%ebp,%esi,8),%ebx 687 movzbl %dh,%esi 688 xorl 4(%ebp,%esi,8),%eax 689 shrl $16,%edx 690 movzbl %cl,%ecx 691 xorl 2048(%ebp,%ecx,8),%ebx 692 movzbl %dh,%esi 693 movl 8(%esp),%ecx 694 xorl %ebx,%eax 695 rorl $8,%ebx 696 xorl 2048(%ebp,%esi,8),%eax 697 movzbl %dl,%esi 698 movl 4(%esp),%edx 699 xorl %ecx,%ebx 700 xorl 2052(%ebp,%esi,8),%eax 701 movl -56(%edi),%esi 702 xorl %eax,%ebx 703 movl %ebx,8(%esp) 704 xorl %edx,%eax 705 movl %eax,4(%esp) 706 subl $64,%edi 707 cmpl 20(%esp),%edi 708 je .L007done 709 andl %eax,%esi 710 movl 16(%esp),%edx 711 roll $1,%esi 712 movl %edx,%ecx 713 xorl %esi,%ebx 714 orl 4(%edi),%ecx 715 movl %ebx,8(%esp) 716 xorl 12(%esp),%ecx 717 movl 12(%edi),%esi 718 movl %ecx,12(%esp) 719 orl %ebx,%esi 720 andl (%edi),%ecx 721 xorl %esi,%eax 722 roll $1,%ecx 723 movl %eax,4(%esp) 724 xorl %ecx,%edx 725 movl -8(%edi),%esi 726 movl %edx,16(%esp) 727 jmp .L006loop 728.align 8 729.L007done: 730 movl %eax,%ecx 731 movl %ebx,%edx 732 movl 12(%esp),%eax 733 movl 16(%esp),%ebx 734 xorl %esi,%ecx 735 xorl 12(%edi),%edx 736 xorl (%edi),%eax 737 xorl 4(%edi),%ebx 738 ret 739.size _x86_Camellia_decrypt,.-_x86_Camellia_decrypt 740.globl Camellia_Ekeygen 741.type Camellia_Ekeygen,@function 742.align 16 743Camellia_Ekeygen: 744.L_Camellia_Ekeygen_begin: 745 #ifdef __CET__ 746 747.byte 243,15,30,251 748 #endif 749 750 pushl %ebp 751 pushl %ebx 752 pushl %esi 753 pushl %edi 754 subl $16,%esp 755 movl 36(%esp),%ebp 756 movl 40(%esp),%esi 757 movl 44(%esp),%edi 758 movl (%esi),%eax 759 movl 4(%esi),%ebx 760 movl 8(%esi),%ecx 761 movl 12(%esi),%edx 762 bswap %eax 763 bswap %ebx 764 bswap %ecx 765 bswap %edx 766 movl %eax,(%edi) 767 movl %ebx,4(%edi) 768 movl %ecx,8(%edi) 769 movl %edx,12(%edi) 770 cmpl $128,%ebp 771 je .L0081st128 772 movl 16(%esi),%eax 773 movl 20(%esi),%ebx 774 cmpl $192,%ebp 775 je .L0091st192 776 movl 24(%esi),%ecx 777 movl 28(%esi),%edx 778 jmp .L0101st256 779.align 4 780.L0091st192: 781 movl %eax,%ecx 782 movl %ebx,%edx 783 notl %ecx 784 notl %edx 785.align 4 786.L0101st256: 787 bswap %eax 788 bswap %ebx 789 bswap %ecx 790 bswap %edx 791 movl %eax,32(%edi) 792 movl %ebx,36(%edi) 793 movl %ecx,40(%edi) 794 movl %edx,44(%edi) 795 xorl (%edi),%eax 796 xorl 4(%edi),%ebx 797 xorl 8(%edi),%ecx 798 xorl 12(%edi),%edx 799.align 4 800.L0081st128: 801 call .L011pic_point 802.L011pic_point: 803 popl %ebp 804 leal .LCamellia_SBOX-.L011pic_point(%ebp),%ebp 805 leal .LCamellia_SIGMA-.LCamellia_SBOX(%ebp),%edi 806 movl (%edi),%esi 807 movl %eax,(%esp) 808 movl %ebx,4(%esp) 809 movl %ecx,8(%esp) 810 movl %edx,12(%esp) 811 xorl %esi,%eax 812 xorl 4(%edi),%ebx 813 movzbl %ah,%esi 814 movl 2052(%ebp,%esi,8),%edx 815 movzbl %al,%esi 816 xorl 4(%ebp,%esi,8),%edx 817 shrl $16,%eax 818 movzbl %bl,%esi 819 movl (%ebp,%esi,8),%ecx 820 movzbl %ah,%esi 821 xorl (%ebp,%esi,8),%edx 822 movzbl %bh,%esi 823 xorl 4(%ebp,%esi,8),%ecx 824 shrl $16,%ebx 825 movzbl %al,%eax 826 xorl 2048(%ebp,%eax,8),%edx 827 movzbl %bh,%esi 828 movl 12(%esp),%eax 829 xorl %edx,%ecx 830 rorl $8,%edx 831 xorl 2048(%ebp,%esi,8),%ecx 832 movzbl %bl,%esi 833 movl 8(%esp),%ebx 834 xorl %eax,%edx 835 xorl 2052(%ebp,%esi,8),%ecx 836 movl 8(%edi),%esi 837 xorl %ecx,%edx 838 movl %edx,12(%esp) 839 xorl %ebx,%ecx 840 movl %ecx,8(%esp) 841 xorl %esi,%ecx 842 xorl 12(%edi),%edx 843 movzbl %ch,%esi 844 movl 2052(%ebp,%esi,8),%ebx 845 movzbl %cl,%esi 846 xorl 4(%ebp,%esi,8),%ebx 847 shrl $16,%ecx 848 movzbl %dl,%esi 849 movl (%ebp,%esi,8),%eax 850 movzbl %ch,%esi 851 xorl (%ebp,%esi,8),%ebx 852 movzbl %dh,%esi 853 xorl 4(%ebp,%esi,8),%eax 854 shrl $16,%edx 855 movzbl %cl,%ecx 856 xorl 2048(%ebp,%ecx,8),%ebx 857 movzbl %dh,%esi 858 movl 4(%esp),%ecx 859 xorl %ebx,%eax 860 rorl $8,%ebx 861 xorl 2048(%ebp,%esi,8),%eax 862 movzbl %dl,%esi 863 movl (%esp),%edx 864 xorl %ecx,%ebx 865 xorl 2052(%ebp,%esi,8),%eax 866 movl 16(%edi),%esi 867 xorl %eax,%ebx 868 movl %ebx,4(%esp) 869 xorl %edx,%eax 870 movl %eax,(%esp) 871 movl 8(%esp),%ecx 872 movl 12(%esp),%edx 873 movl 44(%esp),%esi 874 xorl (%esi),%eax 875 xorl 4(%esi),%ebx 876 xorl 8(%esi),%ecx 877 xorl 12(%esi),%edx 878 movl 16(%edi),%esi 879 movl %eax,(%esp) 880 movl %ebx,4(%esp) 881 movl %ecx,8(%esp) 882 movl %edx,12(%esp) 883 xorl %esi,%eax 884 xorl 20(%edi),%ebx 885 movzbl %ah,%esi 886 movl 2052(%ebp,%esi,8),%edx 887 movzbl %al,%esi 888 xorl 4(%ebp,%esi,8),%edx 889 shrl $16,%eax 890 movzbl %bl,%esi 891 movl (%ebp,%esi,8),%ecx 892 movzbl %ah,%esi 893 xorl (%ebp,%esi,8),%edx 894 movzbl %bh,%esi 895 xorl 4(%ebp,%esi,8),%ecx 896 shrl $16,%ebx 897 movzbl %al,%eax 898 xorl 2048(%ebp,%eax,8),%edx 899 movzbl %bh,%esi 900 movl 12(%esp),%eax 901 xorl %edx,%ecx 902 rorl $8,%edx 903 xorl 2048(%ebp,%esi,8),%ecx 904 movzbl %bl,%esi 905 movl 8(%esp),%ebx 906 xorl %eax,%edx 907 xorl 2052(%ebp,%esi,8),%ecx 908 movl 24(%edi),%esi 909 xorl %ecx,%edx 910 movl %edx,12(%esp) 911 xorl %ebx,%ecx 912 movl %ecx,8(%esp) 913 xorl %esi,%ecx 914 xorl 28(%edi),%edx 915 movzbl %ch,%esi 916 movl 2052(%ebp,%esi,8),%ebx 917 movzbl %cl,%esi 918 xorl 4(%ebp,%esi,8),%ebx 919 shrl $16,%ecx 920 movzbl %dl,%esi 921 movl (%ebp,%esi,8),%eax 922 movzbl %ch,%esi 923 xorl (%ebp,%esi,8),%ebx 924 movzbl %dh,%esi 925 xorl 4(%ebp,%esi,8),%eax 926 shrl $16,%edx 927 movzbl %cl,%ecx 928 xorl 2048(%ebp,%ecx,8),%ebx 929 movzbl %dh,%esi 930 movl 4(%esp),%ecx 931 xorl %ebx,%eax 932 rorl $8,%ebx 933 xorl 2048(%ebp,%esi,8),%eax 934 movzbl %dl,%esi 935 movl (%esp),%edx 936 xorl %ecx,%ebx 937 xorl 2052(%ebp,%esi,8),%eax 938 movl 32(%edi),%esi 939 xorl %eax,%ebx 940 movl %ebx,4(%esp) 941 xorl %edx,%eax 942 movl %eax,(%esp) 943 movl 8(%esp),%ecx 944 movl 12(%esp),%edx 945 movl 36(%esp),%esi 946 cmpl $128,%esi 947 jne .L0122nd256 948 movl 44(%esp),%edi 949 leal 128(%edi),%edi 950 movl %eax,-112(%edi) 951 movl %ebx,-108(%edi) 952 movl %ecx,-104(%edi) 953 movl %edx,-100(%edi) 954 movl %eax,%ebp 955 shll $15,%eax 956 movl %ebx,%esi 957 shrl $17,%esi 958 shll $15,%ebx 959 orl %esi,%eax 960 movl %ecx,%esi 961 shll $15,%ecx 962 movl %eax,-80(%edi) 963 shrl $17,%esi 964 orl %esi,%ebx 965 shrl $17,%ebp 966 movl %edx,%esi 967 shrl $17,%esi 968 movl %ebx,-76(%edi) 969 shll $15,%edx 970 orl %esi,%ecx 971 orl %ebp,%edx 972 movl %ecx,-72(%edi) 973 movl %edx,-68(%edi) 974 movl %eax,%ebp 975 shll $15,%eax 976 movl %ebx,%esi 977 shrl $17,%esi 978 shll $15,%ebx 979 orl %esi,%eax 980 movl %ecx,%esi 981 shll $15,%ecx 982 movl %eax,-64(%edi) 983 shrl $17,%esi 984 orl %esi,%ebx 985 shrl $17,%ebp 986 movl %edx,%esi 987 shrl $17,%esi 988 movl %ebx,-60(%edi) 989 shll $15,%edx 990 orl %esi,%ecx 991 orl %ebp,%edx 992 movl %ecx,-56(%edi) 993 movl %edx,-52(%edi) 994 movl %eax,%ebp 995 shll $15,%eax 996 movl %ebx,%esi 997 shrl $17,%esi 998 shll $15,%ebx 999 orl %esi,%eax 1000 movl %ecx,%esi 1001 shll $15,%ecx 1002 movl %eax,-32(%edi) 1003 shrl $17,%esi 1004 orl %esi,%ebx 1005 shrl $17,%ebp 1006 movl %edx,%esi 1007 shrl $17,%esi 1008 movl %ebx,-28(%edi) 1009 shll $15,%edx 1010 orl %esi,%ecx 1011 orl %ebp,%edx 1012 movl %eax,%ebp 1013 shll $15,%eax 1014 movl %ebx,%esi 1015 shrl $17,%esi 1016 shll $15,%ebx 1017 orl %esi,%eax 1018 movl %ecx,%esi 1019 shll $15,%ecx 1020 movl %eax,-16(%edi) 1021 shrl $17,%esi 1022 orl %esi,%ebx 1023 shrl $17,%ebp 1024 movl %edx,%esi 1025 shrl $17,%esi 1026 movl %ebx,-12(%edi) 1027 shll $15,%edx 1028 orl %esi,%ecx 1029 orl %ebp,%edx 1030 movl %ecx,-8(%edi) 1031 movl %edx,-4(%edi) 1032 movl %ebx,%ebp 1033 shll $2,%ebx 1034 movl %ecx,%esi 1035 shrl $30,%esi 1036 shll $2,%ecx 1037 orl %esi,%ebx 1038 movl %edx,%esi 1039 shll $2,%edx 1040 movl %ebx,32(%edi) 1041 shrl $30,%esi 1042 orl %esi,%ecx 1043 shrl $30,%ebp 1044 movl %eax,%esi 1045 shrl $30,%esi 1046 movl %ecx,36(%edi) 1047 shll $2,%eax 1048 orl %esi,%edx 1049 orl %ebp,%eax 1050 movl %edx,40(%edi) 1051 movl %eax,44(%edi) 1052 movl %ebx,%ebp 1053 shll $17,%ebx 1054 movl %ecx,%esi 1055 shrl $15,%esi 1056 shll $17,%ecx 1057 orl %esi,%ebx 1058 movl %edx,%esi 1059 shll $17,%edx 1060 movl %ebx,64(%edi) 1061 shrl $15,%esi 1062 orl %esi,%ecx 1063 shrl $15,%ebp 1064 movl %eax,%esi 1065 shrl $15,%esi 1066 movl %ecx,68(%edi) 1067 shll $17,%eax 1068 orl %esi,%edx 1069 orl %ebp,%eax 1070 movl %edx,72(%edi) 1071 movl %eax,76(%edi) 1072 movl -128(%edi),%ebx 1073 movl -124(%edi),%ecx 1074 movl -120(%edi),%edx 1075 movl -116(%edi),%eax 1076 movl %ebx,%ebp 1077 shll $15,%ebx 1078 movl %ecx,%esi 1079 shrl $17,%esi 1080 shll $15,%ecx 1081 orl %esi,%ebx 1082 movl %edx,%esi 1083 shll $15,%edx 1084 movl %ebx,-96(%edi) 1085 shrl $17,%esi 1086 orl %esi,%ecx 1087 shrl $17,%ebp 1088 movl %eax,%esi 1089 shrl $17,%esi 1090 movl %ecx,-92(%edi) 1091 shll $15,%eax 1092 orl %esi,%edx 1093 orl %ebp,%eax 1094 movl %edx,-88(%edi) 1095 movl %eax,-84(%edi) 1096 movl %ebx,%ebp 1097 shll $30,%ebx 1098 movl %ecx,%esi 1099 shrl $2,%esi 1100 shll $30,%ecx 1101 orl %esi,%ebx 1102 movl %edx,%esi 1103 shll $30,%edx 1104 movl %ebx,-48(%edi) 1105 shrl $2,%esi 1106 orl %esi,%ecx 1107 shrl $2,%ebp 1108 movl %eax,%esi 1109 shrl $2,%esi 1110 movl %ecx,-44(%edi) 1111 shll $30,%eax 1112 orl %esi,%edx 1113 orl %ebp,%eax 1114 movl %edx,-40(%edi) 1115 movl %eax,-36(%edi) 1116 movl %ebx,%ebp 1117 shll $15,%ebx 1118 movl %ecx,%esi 1119 shrl $17,%esi 1120 shll $15,%ecx 1121 orl %esi,%ebx 1122 movl %edx,%esi 1123 shll $15,%edx 1124 shrl $17,%esi 1125 orl %esi,%ecx 1126 shrl $17,%ebp 1127 movl %eax,%esi 1128 shrl $17,%esi 1129 shll $15,%eax 1130 orl %esi,%edx 1131 orl %ebp,%eax 1132 movl %edx,-24(%edi) 1133 movl %eax,-20(%edi) 1134 movl %ebx,%ebp 1135 shll $17,%ebx 1136 movl %ecx,%esi 1137 shrl $15,%esi 1138 shll $17,%ecx 1139 orl %esi,%ebx 1140 movl %edx,%esi 1141 shll $17,%edx 1142 movl %ebx,(%edi) 1143 shrl $15,%esi 1144 orl %esi,%ecx 1145 shrl $15,%ebp 1146 movl %eax,%esi 1147 shrl $15,%esi 1148 movl %ecx,4(%edi) 1149 shll $17,%eax 1150 orl %esi,%edx 1151 orl %ebp,%eax 1152 movl %edx,8(%edi) 1153 movl %eax,12(%edi) 1154 movl %ebx,%ebp 1155 shll $17,%ebx 1156 movl %ecx,%esi 1157 shrl $15,%esi 1158 shll $17,%ecx 1159 orl %esi,%ebx 1160 movl %edx,%esi 1161 shll $17,%edx 1162 movl %ebx,16(%edi) 1163 shrl $15,%esi 1164 orl %esi,%ecx 1165 shrl $15,%ebp 1166 movl %eax,%esi 1167 shrl $15,%esi 1168 movl %ecx,20(%edi) 1169 shll $17,%eax 1170 orl %esi,%edx 1171 orl %ebp,%eax 1172 movl %edx,24(%edi) 1173 movl %eax,28(%edi) 1174 movl %ebx,%ebp 1175 shll $17,%ebx 1176 movl %ecx,%esi 1177 shrl $15,%esi 1178 shll $17,%ecx 1179 orl %esi,%ebx 1180 movl %edx,%esi 1181 shll $17,%edx 1182 movl %ebx,48(%edi) 1183 shrl $15,%esi 1184 orl %esi,%ecx 1185 shrl $15,%ebp 1186 movl %eax,%esi 1187 shrl $15,%esi 1188 movl %ecx,52(%edi) 1189 shll $17,%eax 1190 orl %esi,%edx 1191 orl %ebp,%eax 1192 movl %edx,56(%edi) 1193 movl %eax,60(%edi) 1194 movl $3,%eax 1195 jmp .L013done 1196.align 16 1197.L0122nd256: 1198 movl 44(%esp),%esi 1199 movl %eax,48(%esi) 1200 movl %ebx,52(%esi) 1201 movl %ecx,56(%esi) 1202 movl %edx,60(%esi) 1203 xorl 32(%esi),%eax 1204 xorl 36(%esi),%ebx 1205 xorl 40(%esi),%ecx 1206 xorl 44(%esi),%edx 1207 movl 32(%edi),%esi 1208 movl %eax,(%esp) 1209 movl %ebx,4(%esp) 1210 movl %ecx,8(%esp) 1211 movl %edx,12(%esp) 1212 xorl %esi,%eax 1213 xorl 36(%edi),%ebx 1214 movzbl %ah,%esi 1215 movl 2052(%ebp,%esi,8),%edx 1216 movzbl %al,%esi 1217 xorl 4(%ebp,%esi,8),%edx 1218 shrl $16,%eax 1219 movzbl %bl,%esi 1220 movl (%ebp,%esi,8),%ecx 1221 movzbl %ah,%esi 1222 xorl (%ebp,%esi,8),%edx 1223 movzbl %bh,%esi 1224 xorl 4(%ebp,%esi,8),%ecx 1225 shrl $16,%ebx 1226 movzbl %al,%eax 1227 xorl 2048(%ebp,%eax,8),%edx 1228 movzbl %bh,%esi 1229 movl 12(%esp),%eax 1230 xorl %edx,%ecx 1231 rorl $8,%edx 1232 xorl 2048(%ebp,%esi,8),%ecx 1233 movzbl %bl,%esi 1234 movl 8(%esp),%ebx 1235 xorl %eax,%edx 1236 xorl 2052(%ebp,%esi,8),%ecx 1237 movl 40(%edi),%esi 1238 xorl %ecx,%edx 1239 movl %edx,12(%esp) 1240 xorl %ebx,%ecx 1241 movl %ecx,8(%esp) 1242 xorl %esi,%ecx 1243 xorl 44(%edi),%edx 1244 movzbl %ch,%esi 1245 movl 2052(%ebp,%esi,8),%ebx 1246 movzbl %cl,%esi 1247 xorl 4(%ebp,%esi,8),%ebx 1248 shrl $16,%ecx 1249 movzbl %dl,%esi 1250 movl (%ebp,%esi,8),%eax 1251 movzbl %ch,%esi 1252 xorl (%ebp,%esi,8),%ebx 1253 movzbl %dh,%esi 1254 xorl 4(%ebp,%esi,8),%eax 1255 shrl $16,%edx 1256 movzbl %cl,%ecx 1257 xorl 2048(%ebp,%ecx,8),%ebx 1258 movzbl %dh,%esi 1259 movl 4(%esp),%ecx 1260 xorl %ebx,%eax 1261 rorl $8,%ebx 1262 xorl 2048(%ebp,%esi,8),%eax 1263 movzbl %dl,%esi 1264 movl (%esp),%edx 1265 xorl %ecx,%ebx 1266 xorl 2052(%ebp,%esi,8),%eax 1267 movl 48(%edi),%esi 1268 xorl %eax,%ebx 1269 movl %ebx,4(%esp) 1270 xorl %edx,%eax 1271 movl %eax,(%esp) 1272 movl 8(%esp),%ecx 1273 movl 12(%esp),%edx 1274 movl 44(%esp),%edi 1275 leal 128(%edi),%edi 1276 movl %eax,-112(%edi) 1277 movl %ebx,-108(%edi) 1278 movl %ecx,-104(%edi) 1279 movl %edx,-100(%edi) 1280 movl %eax,%ebp 1281 shll $30,%eax 1282 movl %ebx,%esi 1283 shrl $2,%esi 1284 shll $30,%ebx 1285 orl %esi,%eax 1286 movl %ecx,%esi 1287 shll $30,%ecx 1288 movl %eax,-48(%edi) 1289 shrl $2,%esi 1290 orl %esi,%ebx 1291 shrl $2,%ebp 1292 movl %edx,%esi 1293 shrl $2,%esi 1294 movl %ebx,-44(%edi) 1295 shll $30,%edx 1296 orl %esi,%ecx 1297 orl %ebp,%edx 1298 movl %ecx,-40(%edi) 1299 movl %edx,-36(%edi) 1300 movl %eax,%ebp 1301 shll $30,%eax 1302 movl %ebx,%esi 1303 shrl $2,%esi 1304 shll $30,%ebx 1305 orl %esi,%eax 1306 movl %ecx,%esi 1307 shll $30,%ecx 1308 movl %eax,32(%edi) 1309 shrl $2,%esi 1310 orl %esi,%ebx 1311 shrl $2,%ebp 1312 movl %edx,%esi 1313 shrl $2,%esi 1314 movl %ebx,36(%edi) 1315 shll $30,%edx 1316 orl %esi,%ecx 1317 orl %ebp,%edx 1318 movl %ecx,40(%edi) 1319 movl %edx,44(%edi) 1320 movl %ebx,%ebp 1321 shll $19,%ebx 1322 movl %ecx,%esi 1323 shrl $13,%esi 1324 shll $19,%ecx 1325 orl %esi,%ebx 1326 movl %edx,%esi 1327 shll $19,%edx 1328 movl %ebx,128(%edi) 1329 shrl $13,%esi 1330 orl %esi,%ecx 1331 shrl $13,%ebp 1332 movl %eax,%esi 1333 shrl $13,%esi 1334 movl %ecx,132(%edi) 1335 shll $19,%eax 1336 orl %esi,%edx 1337 orl %ebp,%eax 1338 movl %edx,136(%edi) 1339 movl %eax,140(%edi) 1340 movl -96(%edi),%ebx 1341 movl -92(%edi),%ecx 1342 movl -88(%edi),%edx 1343 movl -84(%edi),%eax 1344 movl %ebx,%ebp 1345 shll $15,%ebx 1346 movl %ecx,%esi 1347 shrl $17,%esi 1348 shll $15,%ecx 1349 orl %esi,%ebx 1350 movl %edx,%esi 1351 shll $15,%edx 1352 movl %ebx,-96(%edi) 1353 shrl $17,%esi 1354 orl %esi,%ecx 1355 shrl $17,%ebp 1356 movl %eax,%esi 1357 shrl $17,%esi 1358 movl %ecx,-92(%edi) 1359 shll $15,%eax 1360 orl %esi,%edx 1361 orl %ebp,%eax 1362 movl %edx,-88(%edi) 1363 movl %eax,-84(%edi) 1364 movl %ebx,%ebp 1365 shll $15,%ebx 1366 movl %ecx,%esi 1367 shrl $17,%esi 1368 shll $15,%ecx 1369 orl %esi,%ebx 1370 movl %edx,%esi 1371 shll $15,%edx 1372 movl %ebx,-64(%edi) 1373 shrl $17,%esi 1374 orl %esi,%ecx 1375 shrl $17,%ebp 1376 movl %eax,%esi 1377 shrl $17,%esi 1378 movl %ecx,-60(%edi) 1379 shll $15,%eax 1380 orl %esi,%edx 1381 orl %ebp,%eax 1382 movl %edx,-56(%edi) 1383 movl %eax,-52(%edi) 1384 movl %ebx,%ebp 1385 shll $30,%ebx 1386 movl %ecx,%esi 1387 shrl $2,%esi 1388 shll $30,%ecx 1389 orl %esi,%ebx 1390 movl %edx,%esi 1391 shll $30,%edx 1392 movl %ebx,16(%edi) 1393 shrl $2,%esi 1394 orl %esi,%ecx 1395 shrl $2,%ebp 1396 movl %eax,%esi 1397 shrl $2,%esi 1398 movl %ecx,20(%edi) 1399 shll $30,%eax 1400 orl %esi,%edx 1401 orl %ebp,%eax 1402 movl %edx,24(%edi) 1403 movl %eax,28(%edi) 1404 movl %ecx,%ebp 1405 shll $2,%ecx 1406 movl %edx,%esi 1407 shrl $30,%esi 1408 shll $2,%edx 1409 orl %esi,%ecx 1410 movl %eax,%esi 1411 shll $2,%eax 1412 movl %ecx,80(%edi) 1413 shrl $30,%esi 1414 orl %esi,%edx 1415 shrl $30,%ebp 1416 movl %ebx,%esi 1417 shrl $30,%esi 1418 movl %edx,84(%edi) 1419 shll $2,%ebx 1420 orl %esi,%eax 1421 orl %ebp,%ebx 1422 movl %eax,88(%edi) 1423 movl %ebx,92(%edi) 1424 movl -80(%edi),%ecx 1425 movl -76(%edi),%edx 1426 movl -72(%edi),%eax 1427 movl -68(%edi),%ebx 1428 movl %ecx,%ebp 1429 shll $15,%ecx 1430 movl %edx,%esi 1431 shrl $17,%esi 1432 shll $15,%edx 1433 orl %esi,%ecx 1434 movl %eax,%esi 1435 shll $15,%eax 1436 movl %ecx,-80(%edi) 1437 shrl $17,%esi 1438 orl %esi,%edx 1439 shrl $17,%ebp 1440 movl %ebx,%esi 1441 shrl $17,%esi 1442 movl %edx,-76(%edi) 1443 shll $15,%ebx 1444 orl %esi,%eax 1445 orl %ebp,%ebx 1446 movl %eax,-72(%edi) 1447 movl %ebx,-68(%edi) 1448 movl %ecx,%ebp 1449 shll $30,%ecx 1450 movl %edx,%esi 1451 shrl $2,%esi 1452 shll $30,%edx 1453 orl %esi,%ecx 1454 movl %eax,%esi 1455 shll $30,%eax 1456 movl %ecx,-16(%edi) 1457 shrl $2,%esi 1458 orl %esi,%edx 1459 shrl $2,%ebp 1460 movl %ebx,%esi 1461 shrl $2,%esi 1462 movl %edx,-12(%edi) 1463 shll $30,%ebx 1464 orl %esi,%eax 1465 orl %ebp,%ebx 1466 movl %eax,-8(%edi) 1467 movl %ebx,-4(%edi) 1468 movl %edx,64(%edi) 1469 movl %eax,68(%edi) 1470 movl %ebx,72(%edi) 1471 movl %ecx,76(%edi) 1472 movl %edx,%ebp 1473 shll $17,%edx 1474 movl %eax,%esi 1475 shrl $15,%esi 1476 shll $17,%eax 1477 orl %esi,%edx 1478 movl %ebx,%esi 1479 shll $17,%ebx 1480 movl %edx,96(%edi) 1481 shrl $15,%esi 1482 orl %esi,%eax 1483 shrl $15,%ebp 1484 movl %ecx,%esi 1485 shrl $15,%esi 1486 movl %eax,100(%edi) 1487 shll $17,%ecx 1488 orl %esi,%ebx 1489 orl %ebp,%ecx 1490 movl %ebx,104(%edi) 1491 movl %ecx,108(%edi) 1492 movl -128(%edi),%edx 1493 movl -124(%edi),%eax 1494 movl -120(%edi),%ebx 1495 movl -116(%edi),%ecx 1496 movl %eax,%ebp 1497 shll $13,%eax 1498 movl %ebx,%esi 1499 shrl $19,%esi 1500 shll $13,%ebx 1501 orl %esi,%eax 1502 movl %ecx,%esi 1503 shll $13,%ecx 1504 movl %eax,-32(%edi) 1505 shrl $19,%esi 1506 orl %esi,%ebx 1507 shrl $19,%ebp 1508 movl %edx,%esi 1509 shrl $19,%esi 1510 movl %ebx,-28(%edi) 1511 shll $13,%edx 1512 orl %esi,%ecx 1513 orl %ebp,%edx 1514 movl %ecx,-24(%edi) 1515 movl %edx,-20(%edi) 1516 movl %eax,%ebp 1517 shll $15,%eax 1518 movl %ebx,%esi 1519 shrl $17,%esi 1520 shll $15,%ebx 1521 orl %esi,%eax 1522 movl %ecx,%esi 1523 shll $15,%ecx 1524 movl %eax,(%edi) 1525 shrl $17,%esi 1526 orl %esi,%ebx 1527 shrl $17,%ebp 1528 movl %edx,%esi 1529 shrl $17,%esi 1530 movl %ebx,4(%edi) 1531 shll $15,%edx 1532 orl %esi,%ecx 1533 orl %ebp,%edx 1534 movl %ecx,8(%edi) 1535 movl %edx,12(%edi) 1536 movl %eax,%ebp 1537 shll $17,%eax 1538 movl %ebx,%esi 1539 shrl $15,%esi 1540 shll $17,%ebx 1541 orl %esi,%eax 1542 movl %ecx,%esi 1543 shll $17,%ecx 1544 movl %eax,48(%edi) 1545 shrl $15,%esi 1546 orl %esi,%ebx 1547 shrl $15,%ebp 1548 movl %edx,%esi 1549 shrl $15,%esi 1550 movl %ebx,52(%edi) 1551 shll $17,%edx 1552 orl %esi,%ecx 1553 orl %ebp,%edx 1554 movl %ecx,56(%edi) 1555 movl %edx,60(%edi) 1556 movl %ebx,%ebp 1557 shll $2,%ebx 1558 movl %ecx,%esi 1559 shrl $30,%esi 1560 shll $2,%ecx 1561 orl %esi,%ebx 1562 movl %edx,%esi 1563 shll $2,%edx 1564 movl %ebx,112(%edi) 1565 shrl $30,%esi 1566 orl %esi,%ecx 1567 shrl $30,%ebp 1568 movl %eax,%esi 1569 shrl $30,%esi 1570 movl %ecx,116(%edi) 1571 shll $2,%eax 1572 orl %esi,%edx 1573 orl %ebp,%eax 1574 movl %edx,120(%edi) 1575 movl %eax,124(%edi) 1576 movl $4,%eax 1577.L013done: 1578 leal 144(%edi),%edx 1579 addl $16,%esp 1580 popl %edi 1581 popl %esi 1582 popl %ebx 1583 popl %ebp 1584 ret 1585.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin 1586.globl Camellia_set_key 1587.type Camellia_set_key,@function 1588.align 16 1589Camellia_set_key: 1590.L_Camellia_set_key_begin: 1591 #ifdef __CET__ 1592 1593.byte 243,15,30,251 1594 #endif 1595 1596 pushl %ebx 1597 movl 8(%esp),%ecx 1598 movl 12(%esp),%ebx 1599 movl 16(%esp),%edx 1600 movl $-1,%eax 1601 testl %ecx,%ecx 1602 jz .L014done 1603 testl %edx,%edx 1604 jz .L014done 1605 movl $-2,%eax 1606 cmpl $256,%ebx 1607 je .L015arg_ok 1608 cmpl $192,%ebx 1609 je .L015arg_ok 1610 cmpl $128,%ebx 1611 jne .L014done 1612.align 4 1613.L015arg_ok: 1614 pushl %edx 1615 pushl %ecx 1616 pushl %ebx 1617 call .L_Camellia_Ekeygen_begin 1618 addl $12,%esp 1619 movl %eax,(%edx) 1620 xorl %eax,%eax 1621.align 4 1622.L014done: 1623 popl %ebx 1624 ret 1625.size Camellia_set_key,.-.L_Camellia_set_key_begin 1626.align 64 1627.LCamellia_SIGMA: 1628.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0 1629.align 64 1630.LCamellia_SBOX: 1631.long 1886416896,1886388336 1632.long 2189591040,741081132 1633.long 741092352,3014852787 1634.long 3974949888,3233808576 1635.long 3014898432,3840147684 1636.long 656877312,1465319511 1637.long 3233857536,3941204202 1638.long 3857048832,2930639022 1639.long 3840205824,589496355 1640.long 2240120064,1802174571 1641.long 1465341696,1162149957 1642.long 892679424,2779054245 1643.long 3941263872,3991732461 1644.long 202116096,1330577487 1645.long 2930683392,488439837 1646.long 1094795520,2459041938 1647.long 589505280,2256928902 1648.long 4025478912,2947481775 1649.long 1802201856,2088501372 1650.long 2475922176,522125343 1651.long 1162167552,1044250686 1652.long 421075200,3705405660 1653.long 2779096320,1583218782 1654.long 555819264,185270283 1655.long 3991792896,2795896998 1656.long 235802112,960036921 1657.long 1330597632,3587506389 1658.long 1313754624,1566376029 1659.long 488447232,3654877401 1660.long 1701143808,1515847770 1661.long 2459079168,1364262993 1662.long 3183328512,1819017324 1663.long 2256963072,2341142667 1664.long 3099113472,2593783962 1665.long 2947526400,4227531003 1666.long 2408550144,2964324528 1667.long 2088532992,1953759348 1668.long 3958106880,724238379 1669.long 522133248,4042260720 1670.long 3469659648,2223243396 1671.long 1044266496,3755933919 1672.long 808464384,3419078859 1673.long 3705461760,875823156 1674.long 1600085760,1987444854 1675.long 1583242752,1835860077 1676.long 3318072576,2846425257 1677.long 185273088,3520135377 1678.long 437918208,67371012 1679.long 2795939328,336855060 1680.long 3789676800,976879674 1681.long 960051456,3739091166 1682.long 3402287616,286326801 1683.long 3587560704,842137650 1684.long 1195853568,2627469468 1685.long 1566399744,1397948499 1686.long 1027423488,4075946226 1687.long 3654932736,4278059262 1688.long 16843008,3486449871 1689.long 1515870720,3284336835 1690.long 3604403712,2054815866 1691.long 1364283648,606339108 1692.long 1448498688,3907518696 1693.long 1819044864,1616904288 1694.long 1296911616,1768489065 1695.long 2341178112,2863268010 1696.long 218959104,2694840480 1697.long 2593823232,2711683233 1698.long 1717986816,1650589794 1699.long 4227595008,1414791252 1700.long 3435973632,505282590 1701.long 2964369408,3772776672 1702.long 757935360,1684275300 1703.long 1953788928,269484048 1704.long 303174144,0 1705.long 724249344,2745368739 1706.long 538976256,1970602101 1707.long 4042321920,2324299914 1708.long 2981212416,3873833190 1709.long 2223277056,151584777 1710.long 2576980224,3722248413 1711.long 3755990784,2273771655 1712.long 1280068608,2206400643 1713.long 3419130624,3452764365 1714.long 3267543552,2425356432 1715.long 875836416,1936916595 1716.long 2122219008,4143317238 1717.long 1987474944,2644312221 1718.long 84215040,3216965823 1719.long 1835887872,1381105746 1720.long 3082270464,3638034648 1721.long 2846468352,3368550600 1722.long 825307392,3334865094 1723.long 3520188672,2172715137 1724.long 387389184,1869545583 1725.long 67372032,320012307 1726.long 3621246720,1667432547 1727.long 336860160,3924361449 1728.long 1482184704,2812739751 1729.long 976894464,2677997727 1730.long 1633771776,3166437564 1731.long 3739147776,690552873 1732.long 454761216,4193845497 1733.long 286331136,791609391 1734.long 471604224,3031695540 1735.long 842150400,2021130360 1736.long 252645120,101056518 1737.long 2627509248,3890675943 1738.long 370546176,1903231089 1739.long 1397969664,3570663636 1740.long 404232192,2880110763 1741.long 4076007936,2290614408 1742.long 572662272,2374828173 1743.long 4278124032,1920073842 1744.long 1145324544,3115909305 1745.long 3486502656,4177002744 1746.long 2998055424,2896953516 1747.long 3284386560,909508662 1748.long 3048584448,707395626 1749.long 2054846976,1010565180 1750.long 2442236160,4059103473 1751.long 606348288,1077936192 1752.long 134744064,3553820883 1753.long 3907577856,3149594811 1754.long 2829625344,1128464451 1755.long 1616928768,353697813 1756.long 4244438016,2913796269 1757.long 1768515840,2004287607 1758.long 1347440640,2155872384 1759.long 2863311360,2189557890 1760.long 3503345664,3974889708 1761.long 2694881280,656867367 1762.long 2105376000,3856990437 1763.long 2711724288,2240086149 1764.long 2307492096,892665909 1765.long 1650614784,202113036 1766.long 2543294208,1094778945 1767.long 1414812672,4025417967 1768.long 1532713728,2475884691 1769.long 505290240,421068825 1770.long 2509608192,555810849 1771.long 3772833792,235798542 1772.long 4294967040,1313734734 1773.long 1684300800,1701118053 1774.long 3537031680,3183280317 1775.long 269488128,3099066552 1776.long 3301229568,2408513679 1777.long 0,3958046955 1778.long 1212696576,3469607118 1779.long 2745410304,808452144 1780.long 4160222976,1600061535 1781.long 1970631936,3318022341 1782.long 3688618752,437911578 1783.long 2324335104,3789619425 1784.long 50529024,3402236106 1785.long 3873891840,1195835463 1786.long 3671775744,1027407933 1787.long 151587072,16842753 1788.long 1061109504,3604349142 1789.long 3722304768,1448476758 1790.long 2492765184,1296891981 1791.long 2273806080,218955789 1792.long 1549556736,1717960806 1793.long 2206434048,3435921612 1794.long 33686016,757923885 1795.long 3452816640,303169554 1796.long 1246382592,538968096 1797.long 2425393152,2981167281 1798.long 858993408,2576941209 1799.long 1936945920,1280049228 1800.long 1734829824,3267494082 1801.long 4143379968,2122186878 1802.long 4092850944,84213765 1803.long 2644352256,3082223799 1804.long 2139062016,825294897 1805.long 3217014528,387383319 1806.long 3806519808,3621191895 1807.long 1381126656,1482162264 1808.long 2610666240,1633747041 1809.long 3638089728,454754331 1810.long 640034304,471597084 1811.long 3368601600,252641295 1812.long 926365440,370540566 1813.long 3334915584,404226072 1814.long 993737472,572653602 1815.long 2172748032,1145307204 1816.long 2526451200,2998010034 1817.long 1869573888,3048538293 1818.long 1263225600,2442199185 1819.long 320017152,134742024 1820.long 3200171520,2829582504 1821.long 1667457792,4244373756 1822.long 774778368,1347420240 1823.long 3924420864,3503292624 1824.long 2038003968,2105344125 1825.long 2812782336,2307457161 1826.long 2358021120,2543255703 1827.long 2678038272,1532690523 1828.long 1852730880,2509570197 1829.long 3166485504,4294902015 1830.long 2391707136,3536978130 1831.long 690563328,3301179588 1832.long 4126536960,1212678216 1833.long 4193908992,4160159991 1834.long 3065427456,3688562907 1835.long 791621376,50528259 1836.long 4261281024,3671720154 1837.long 3031741440,1061093439 1838.long 1499027712,2492727444 1839.long 2021160960,1549533276 1840.long 2560137216,33685506 1841.long 101058048,1246363722 1842.long 1785358848,858980403 1843.long 3890734848,1734803559 1844.long 1179010560,4092788979 1845.long 1903259904,2139029631 1846.long 3132799488,3806462178 1847.long 3570717696,2610626715 1848.long 623191296,640024614 1849.long 2880154368,926351415 1850.long 1111638528,993722427 1851.long 2290649088,2526412950 1852.long 2728567296,1263206475 1853.long 2374864128,3200123070 1854.long 4210752000,774766638 1855.long 1920102912,2037973113 1856.long 117901056,2357985420 1857.long 3115956480,1852702830 1858.long 1431655680,2391670926 1859.long 4177065984,4126474485 1860.long 4008635904,3065381046 1861.long 2896997376,4261216509 1862.long 168430080,1499005017 1863.long 909522432,2560098456 1864.long 1229539584,1785331818 1865.long 707406336,1178992710 1866.long 1751672832,3132752058 1867.long 1010580480,623181861 1868.long 943208448,1111621698 1869.long 4059164928,2728525986 1870.long 2762253312,4210688250 1871.long 1077952512,117899271 1872.long 673720320,1431634005 1873.long 3553874688,4008575214 1874.long 2071689984,168427530 1875.long 3149642496,1229520969 1876.long 3385444608,1751646312 1877.long 1128481536,943194168 1878.long 3250700544,2762211492 1879.long 353703168,673710120 1880.long 3823362816,2071658619 1881.long 2913840384,3385393353 1882.long 4109693952,3250651329 1883.long 2004317952,3823304931 1884.long 3351758592,4109631732 1885.long 2155905024,3351707847 1886.long 2661195264,2661154974 1887.long 14737632,939538488 1888.long 328965,1090535745 1889.long 5789784,369104406 1890.long 14277081,1979741814 1891.long 6776679,3640711641 1892.long 5131854,2466288531 1893.long 8487297,1610637408 1894.long 13355979,4060148466 1895.long 13224393,1912631922 1896.long 723723,3254829762 1897.long 11447982,2868947883 1898.long 6974058,2583730842 1899.long 14013909,1962964341 1900.long 1579032,100664838 1901.long 6118749,1459640151 1902.long 8553090,2684395680 1903.long 4605510,2432733585 1904.long 14671839,4144035831 1905.long 14079702,3036722613 1906.long 2565927,3372272073 1907.long 9079434,2717950626 1908.long 3289650,2348846220 1909.long 4934475,3523269330 1910.long 4342338,2415956112 1911.long 14408667,4127258358 1912.long 1842204,117442311 1913.long 10395294,2801837991 1914.long 10263708,654321447 1915.long 3815994,2382401166 1916.long 13290186,2986390194 1917.long 2434341,1224755529 1918.long 8092539,3724599006 1919.long 855309,1124090691 1920.long 7434609,1543527516 1921.long 6250335,3607156695 1922.long 2039583,3338717127 1923.long 16316664,1040203326 1924.long 14145495,4110480885 1925.long 4079166,2399178639 1926.long 10329501,1728079719 1927.long 8158332,520101663 1928.long 6316128,402659352 1929.long 12171705,1845522030 1930.long 12500670,2936057775 1931.long 12369084,788541231 1932.long 9145227,3791708898 1933.long 1447446,2231403909 1934.long 3421236,218107149 1935.long 5066061,1392530259 1936.long 12829635,4026593520 1937.long 7500402,2617285788 1938.long 9803157,1694524773 1939.long 11250603,3925928682 1940.long 9342606,2734728099 1941.long 12237498,2919280302 1942.long 8026746,2650840734 1943.long 11776947,3959483628 1944.long 131586,2147516544 1945.long 11842740,754986285 1946.long 11382189,1795189611 1947.long 10658466,2818615464 1948.long 11316396,721431339 1949.long 14211288,905983542 1950.long 10132122,2785060518 1951.long 1513239,3305162181 1952.long 1710618,2248181382 1953.long 3487029,1291865421 1954.long 13421772,855651123 1955.long 16250871,4244700669 1956.long 10066329,1711302246 1957.long 6381921,1476417624 1958.long 5921370,2516620950 1959.long 15263976,973093434 1960.long 2368548,150997257 1961.long 5658198,2499843477 1962.long 4210752,268439568 1963.long 14803425,2013296760 1964.long 6513507,3623934168 1965.long 592137,1107313218 1966.long 3355443,3422604492 1967.long 12566463,4009816047 1968.long 10000536,637543974 1969.long 9934743,3842041317 1970.long 8750469,1627414881 1971.long 6842472,436214298 1972.long 16579836,1056980799 1973.long 15527148,989870907 1974.long 657930,2181071490 1975.long 14342874,3053500086 1976.long 7303023,3674266587 1977.long 5460819,3556824276 1978.long 6447714,2550175896 1979.long 10724259,3892373736 1980.long 3026478,2332068747 1981.long 526344,33554946 1982.long 11513775,3942706155 1983.long 2631720,167774730 1984.long 11579568,738208812 1985.long 7631988,486546717 1986.long 12763842,2952835248 1987.long 12434877,1862299503 1988.long 3552822,2365623693 1989.long 2236962,2281736328 1990.long 3684408,234884622 1991.long 6579300,419436825 1992.long 1973790,2264958855 1993.long 3750201,1308642894 1994.long 2894892,184552203 1995.long 10921638,2835392937 1996.long 3158064,201329676 1997.long 15066597,2030074233 1998.long 4473924,285217041 1999.long 16645629,2130739071 2000.long 8947848,570434082 2001.long 10461087,3875596263 2002.long 6645093,1493195097 2003.long 8882055,3774931425 2004.long 7039851,3657489114 2005.long 16053492,1023425853 2006.long 2302755,3355494600 2007.long 4737096,301994514 2008.long 1052688,67109892 2009.long 13750737,1946186868 2010.long 5329233,1409307732 2011.long 12632256,805318704 2012.long 16382457,2113961598 2013.long 13816530,3019945140 2014.long 10526880,671098920 2015.long 5592405,1426085205 2016.long 10592673,1744857192 2017.long 4276545,1342197840 2018.long 16448250,3187719870 2019.long 4408131,3489714384 2020.long 1250067,3288384708 2021.long 12895428,822096177 2022.long 3092271,3405827019 2023.long 11053224,704653866 2024.long 11974326,2902502829 2025.long 3947580,251662095 2026.long 2829099,3389049546 2027.long 12698049,1879076976 2028.long 16777215,4278255615 2029.long 13158600,838873650 2030.long 10855845,1761634665 2031.long 2105376,134219784 2032.long 9013641,1644192354 2033.long 0,0 2034.long 9474192,603989028 2035.long 4671303,3506491857 2036.long 15724527,4211145723 2037.long 15395562,3120609978 2038.long 12040119,3976261101 2039.long 1381653,1157645637 2040.long 394758,2164294017 2041.long 13487565,1929409395 2042.long 11908533,1828744557 2043.long 1184274,2214626436 2044.long 8289918,2667618207 2045.long 12303291,3993038574 2046.long 2697513,1241533002 2047.long 986895,3271607235 2048.long 12105912,771763758 2049.long 460551,3238052289 2050.long 263172,16777473 2051.long 10197915,3858818790 2052.long 9737364,620766501 2053.long 2171169,1207978056 2054.long 6710886,2566953369 2055.long 15132390,3103832505 2056.long 13553358,3003167667 2057.long 15592941,2063629179 2058.long 15198183,4177590777 2059.long 3881787,3456159438 2060.long 16711422,3204497343 2061.long 8355711,3741376479 2062.long 12961221,1895854449 2063.long 10790052,687876393 2064.long 3618615,3439381965 2065.long 11645361,1811967084 2066.long 5000268,318771987 2067.long 9539985,1677747300 2068.long 7237230,2600508315 2069.long 9276813,1660969827 2070.long 7763574,2634063261 2071.long 197379,3221274816 2072.long 2960685,1258310475 2073.long 14606046,3070277559 2074.long 9868950,2768283045 2075.long 2500134,2298513801 2076.long 8224125,1593859935 2077.long 13027014,2969612721 2078.long 6052956,385881879 2079.long 13882323,4093703412 2080.long 15921906,3154164924 2081.long 5197647,3540046803 2082.long 1644825,1174423110 2083.long 4144959,3472936911 2084.long 14474460,922761015 2085.long 7960953,1577082462 2086.long 1907997,1191200583 2087.long 5395026,2483066004 2088.long 15461355,4194368250 2089.long 15987699,4227923196 2090.long 7171437,1526750043 2091.long 6184542,2533398423 2092.long 16514043,4261478142 2093.long 6908265,1509972570 2094.long 11711154,2885725356 2095.long 15790320,1006648380 2096.long 3223857,1275087948 2097.long 789516,50332419 2098.long 13948116,889206069 2099.long 13619151,4076925939 2100.long 9211020,587211555 2101.long 14869218,3087055032 2102.long 7697781,1560304989 2103.long 11119017,1778412138 2104.long 4868682,2449511058 2105.long 5723991,3573601749 2106.long 8684676,553656609 2107.long 1118481,1140868164 2108.long 4539717,1358975313 2109.long 1776411,3321939654 2110.long 16119285,2097184125 2111.long 15000804,956315961 2112.long 921102,2197848963 2113.long 7566195,3691044060 2114.long 11184810,2852170410 2115.long 15856113,2080406652 2116.long 14540253,1996519287 2117.long 5855577,1442862678 2118.long 1315860,83887365 2119.long 7105644,452991771 2120.long 9605778,2751505572 2121.long 5526612,352326933 2122.long 13684944,872428596 2123.long 7895160,503324190 2124.long 7368816,469769244 2125.long 14935011,4160813304 2126.long 4802889,1375752786 2127.long 8421504,536879136 2128.long 5263440,335549460 2129.long 10987431,3909151209 2130.long 16185078,3170942397 2131.long 7829367,3707821533 2132.long 9671571,3825263844 2133.long 8816262,2701173153 2134.long 8618883,3758153952 2135.long 2763306,2315291274 2136.long 13092807,4043370993 2137.long 5987163,3590379222 2138.long 15329769,2046851706 2139.long 15658734,3137387451 2140.long 9408399,3808486371 2141.long 65793,1073758272 2142.long 4013373,1325420367 2143.globl Camellia_cbc_encrypt 2144.type Camellia_cbc_encrypt,@function 2145.align 16 2146Camellia_cbc_encrypt: 2147.L_Camellia_cbc_encrypt_begin: 2148 #ifdef __CET__ 2149 2150.byte 243,15,30,251 2151 #endif 2152 2153 pushl %ebp 2154 pushl %ebx 2155 pushl %esi 2156 pushl %edi 2157 movl 28(%esp),%ecx 2158 cmpl $0,%ecx 2159 je .L016enc_out 2160 pushfl 2161 cld 2162 movl 24(%esp),%eax 2163 movl 28(%esp),%ebx 2164 movl 36(%esp),%edx 2165 movl 40(%esp),%ebp 2166 leal -64(%esp),%esi 2167 andl $-64,%esi 2168 leal -127(%edx),%edi 2169 subl %esi,%edi 2170 negl %edi 2171 andl $960,%edi 2172 subl %edi,%esi 2173 movl 44(%esp),%edi 2174 xchgl %esi,%esp 2175 addl $4,%esp 2176 movl %esi,20(%esp) 2177 movl %eax,24(%esp) 2178 movl %ebx,28(%esp) 2179 movl %ecx,32(%esp) 2180 movl %edx,36(%esp) 2181 movl %ebp,40(%esp) 2182 call .L017pic_point 2183.L017pic_point: 2184 popl %ebp 2185 leal .LCamellia_SBOX-.L017pic_point(%ebp),%ebp 2186 movl $32,%esi 2187.align 4 2188.L018prefetch_sbox: 2189 movl (%ebp),%eax 2190 movl 32(%ebp),%ebx 2191 movl 64(%ebp),%ecx 2192 movl 96(%ebp),%edx 2193 leal 128(%ebp),%ebp 2194 decl %esi 2195 jnz .L018prefetch_sbox 2196 movl 36(%esp),%eax 2197 subl $4096,%ebp 2198 movl 24(%esp),%esi 2199 movl 272(%eax),%edx 2200 cmpl $0,%edi 2201 je .L019DECRYPT 2202 movl 32(%esp),%ecx 2203 movl 40(%esp),%edi 2204 shll $6,%edx 2205 leal (%eax,%edx,1),%edx 2206 movl %edx,16(%esp) 2207 testl $4294967280,%ecx 2208 jz .L020enc_tail 2209 movl (%edi),%eax 2210 movl 4(%edi),%ebx 2211.align 4 2212.L021enc_loop: 2213 movl 8(%edi),%ecx 2214 movl 12(%edi),%edx 2215 xorl (%esi),%eax 2216 xorl 4(%esi),%ebx 2217 xorl 8(%esi),%ecx 2218 bswap %eax 2219 xorl 12(%esi),%edx 2220 bswap %ebx 2221 movl 36(%esp),%edi 2222 bswap %ecx 2223 bswap %edx 2224 call _x86_Camellia_encrypt 2225 movl 24(%esp),%esi 2226 movl 28(%esp),%edi 2227 bswap %eax 2228 bswap %ebx 2229 bswap %ecx 2230 movl %eax,(%edi) 2231 bswap %edx 2232 movl %ebx,4(%edi) 2233 movl %ecx,8(%edi) 2234 movl %edx,12(%edi) 2235 movl 32(%esp),%ecx 2236 leal 16(%esi),%esi 2237 movl %esi,24(%esp) 2238 leal 16(%edi),%edx 2239 movl %edx,28(%esp) 2240 subl $16,%ecx 2241 testl $4294967280,%ecx 2242 movl %ecx,32(%esp) 2243 jnz .L021enc_loop 2244 testl $15,%ecx 2245 jnz .L020enc_tail 2246 movl 40(%esp),%esi 2247 movl 8(%edi),%ecx 2248 movl 12(%edi),%edx 2249 movl %eax,(%esi) 2250 movl %ebx,4(%esi) 2251 movl %ecx,8(%esi) 2252 movl %edx,12(%esi) 2253 movl 20(%esp),%esp 2254 popfl 2255.L016enc_out: 2256 popl %edi 2257 popl %esi 2258 popl %ebx 2259 popl %ebp 2260 ret 2261 pushfl 2262.align 4 2263.L020enc_tail: 2264 movl %edi,%eax 2265 movl 28(%esp),%edi 2266 pushl %eax 2267 movl $16,%ebx 2268 subl %ecx,%ebx 2269 cmpl %esi,%edi 2270 je .L022enc_in_place 2271.align 4 2272.long 2767451785 2273 jmp .L023enc_skip_in_place 2274.L022enc_in_place: 2275 leal (%edi,%ecx,1),%edi 2276.L023enc_skip_in_place: 2277 movl %ebx,%ecx 2278 xorl %eax,%eax 2279.align 4 2280.long 2868115081 2281 popl %edi 2282 movl 28(%esp),%esi 2283 movl (%edi),%eax 2284 movl 4(%edi),%ebx 2285 movl $16,32(%esp) 2286 jmp .L021enc_loop 2287.align 16 2288.L019DECRYPT: 2289 shll $6,%edx 2290 leal (%eax,%edx,1),%edx 2291 movl %eax,16(%esp) 2292 movl %edx,36(%esp) 2293 cmpl 28(%esp),%esi 2294 je .L024dec_in_place 2295 movl 40(%esp),%edi 2296 movl %edi,44(%esp) 2297.align 4 2298.L025dec_loop: 2299 movl (%esi),%eax 2300 movl 4(%esi),%ebx 2301 movl 8(%esi),%ecx 2302 bswap %eax 2303 movl 12(%esi),%edx 2304 bswap %ebx 2305 movl 36(%esp),%edi 2306 bswap %ecx 2307 bswap %edx 2308 call _x86_Camellia_decrypt 2309 movl 44(%esp),%edi 2310 movl 32(%esp),%esi 2311 bswap %eax 2312 bswap %ebx 2313 bswap %ecx 2314 xorl (%edi),%eax 2315 bswap %edx 2316 xorl 4(%edi),%ebx 2317 xorl 8(%edi),%ecx 2318 xorl 12(%edi),%edx 2319 subl $16,%esi 2320 jc .L026dec_partial 2321 movl %esi,32(%esp) 2322 movl 24(%esp),%esi 2323 movl 28(%esp),%edi 2324 movl %eax,(%edi) 2325 movl %ebx,4(%edi) 2326 movl %ecx,8(%edi) 2327 movl %edx,12(%edi) 2328 movl %esi,44(%esp) 2329 leal 16(%esi),%esi 2330 movl %esi,24(%esp) 2331 leal 16(%edi),%edi 2332 movl %edi,28(%esp) 2333 jnz .L025dec_loop 2334 movl 44(%esp),%edi 2335.L027dec_end: 2336 movl 40(%esp),%esi 2337 movl (%edi),%eax 2338 movl 4(%edi),%ebx 2339 movl 8(%edi),%ecx 2340 movl 12(%edi),%edx 2341 movl %eax,(%esi) 2342 movl %ebx,4(%esi) 2343 movl %ecx,8(%esi) 2344 movl %edx,12(%esi) 2345 jmp .L028dec_out 2346.align 4 2347.L026dec_partial: 2348 leal 44(%esp),%edi 2349 movl %eax,(%edi) 2350 movl %ebx,4(%edi) 2351 movl %ecx,8(%edi) 2352 movl %edx,12(%edi) 2353 leal 16(%esi),%ecx 2354 movl %edi,%esi 2355 movl 28(%esp),%edi 2356.long 2767451785 2357 movl 24(%esp),%edi 2358 jmp .L027dec_end 2359.align 4 2360.L024dec_in_place: 2361.L029dec_in_place_loop: 2362 leal 44(%esp),%edi 2363 movl (%esi),%eax 2364 movl 4(%esi),%ebx 2365 movl 8(%esi),%ecx 2366 movl 12(%esi),%edx 2367 movl %eax,(%edi) 2368 movl %ebx,4(%edi) 2369 movl %ecx,8(%edi) 2370 bswap %eax 2371 movl %edx,12(%edi) 2372 bswap %ebx 2373 movl 36(%esp),%edi 2374 bswap %ecx 2375 bswap %edx 2376 call _x86_Camellia_decrypt 2377 movl 40(%esp),%edi 2378 movl 28(%esp),%esi 2379 bswap %eax 2380 bswap %ebx 2381 bswap %ecx 2382 xorl (%edi),%eax 2383 bswap %edx 2384 xorl 4(%edi),%ebx 2385 xorl 8(%edi),%ecx 2386 xorl 12(%edi),%edx 2387 movl %eax,(%esi) 2388 movl %ebx,4(%esi) 2389 movl %ecx,8(%esi) 2390 movl %edx,12(%esi) 2391 leal 16(%esi),%esi 2392 movl %esi,28(%esp) 2393 leal 44(%esp),%esi 2394 movl (%esi),%eax 2395 movl 4(%esi),%ebx 2396 movl 8(%esi),%ecx 2397 movl 12(%esi),%edx 2398 movl %eax,(%edi) 2399 movl %ebx,4(%edi) 2400 movl %ecx,8(%edi) 2401 movl %edx,12(%edi) 2402 movl 24(%esp),%esi 2403 leal 16(%esi),%esi 2404 movl %esi,24(%esp) 2405 movl 32(%esp),%ecx 2406 subl $16,%ecx 2407 jc .L030dec_in_place_partial 2408 movl %ecx,32(%esp) 2409 jnz .L029dec_in_place_loop 2410 jmp .L028dec_out 2411.align 4 2412.L030dec_in_place_partial: 2413 movl 28(%esp),%edi 2414 leal 44(%esp),%esi 2415 leal (%edi,%ecx,1),%edi 2416 leal 16(%esi,%ecx,1),%esi 2417 negl %ecx 2418.long 2767451785 2419.align 4 2420.L028dec_out: 2421 movl 20(%esp),%esp 2422 popfl 2423 popl %edi 2424 popl %esi 2425 popl %ebx 2426 popl %ebp 2427 ret 2428.size Camellia_cbc_encrypt,.-.L_Camellia_cbc_encrypt_begin 2429.byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 2430.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 2431.byte 115,108,46,111,114,103,62,0 2432 2433 .section ".note.gnu.property", "a" 2434 .p2align 2 2435 .long 1f - 0f 2436 .long 4f - 1f 2437 .long 5 24380: 2439 .asciz "GNU" 24401: 2441 .p2align 2 2442 .long 0xc0000002 2443 .long 3f - 2f 24442: 2445 .long 3 24463: 2447 .p2align 2 24484: 2449#else 2450.text 2451.globl Camellia_EncryptBlock_Rounds 2452.type Camellia_EncryptBlock_Rounds,@function 2453.align 16 2454Camellia_EncryptBlock_Rounds: 2455.L_Camellia_EncryptBlock_Rounds_begin: 2456 #ifdef __CET__ 2457 2458.byte 243,15,30,251 2459 #endif 2460 2461 pushl %ebp 2462 pushl %ebx 2463 pushl %esi 2464 pushl %edi 2465 movl 20(%esp),%eax 2466 movl 24(%esp),%esi 2467 movl 28(%esp),%edi 2468 movl %esp,%ebx 2469 subl $28,%esp 2470 andl $-64,%esp 2471 leal -127(%edi),%ecx 2472 subl %esp,%ecx 2473 negl %ecx 2474 andl $960,%ecx 2475 subl %ecx,%esp 2476 addl $4,%esp 2477 shll $6,%eax 2478 leal (%edi,%eax,1),%eax 2479 movl %ebx,20(%esp) 2480 movl %eax,16(%esp) 2481 call .L000pic_point 2482.L000pic_point: 2483 popl %ebp 2484 leal .LCamellia_SBOX-.L000pic_point(%ebp),%ebp 2485 movl (%esi),%eax 2486 movl 4(%esi),%ebx 2487 movl 8(%esi),%ecx 2488 bswap %eax 2489 movl 12(%esi),%edx 2490 bswap %ebx 2491 bswap %ecx 2492 bswap %edx 2493 call _x86_Camellia_encrypt 2494 movl 20(%esp),%esp 2495 bswap %eax 2496 movl 32(%esp),%esi 2497 bswap %ebx 2498 bswap %ecx 2499 bswap %edx 2500 movl %eax,(%esi) 2501 movl %ebx,4(%esi) 2502 movl %ecx,8(%esi) 2503 movl %edx,12(%esi) 2504 popl %edi 2505 popl %esi 2506 popl %ebx 2507 popl %ebp 2508 ret 2509.size Camellia_EncryptBlock_Rounds,.-.L_Camellia_EncryptBlock_Rounds_begin 2510.globl Camellia_EncryptBlock 2511.type Camellia_EncryptBlock,@function 2512.align 16 2513Camellia_EncryptBlock: 2514.L_Camellia_EncryptBlock_begin: 2515 #ifdef __CET__ 2516 2517.byte 243,15,30,251 2518 #endif 2519 2520 movl $128,%eax 2521 subl 4(%esp),%eax 2522 movl $3,%eax 2523 adcl $0,%eax 2524 movl %eax,4(%esp) 2525 jmp .L_Camellia_EncryptBlock_Rounds_begin 2526.size Camellia_EncryptBlock,.-.L_Camellia_EncryptBlock_begin 2527.globl Camellia_encrypt 2528.type Camellia_encrypt,@function 2529.align 16 2530Camellia_encrypt: 2531.L_Camellia_encrypt_begin: 2532 #ifdef __CET__ 2533 2534.byte 243,15,30,251 2535 #endif 2536 2537 pushl %ebp 2538 pushl %ebx 2539 pushl %esi 2540 pushl %edi 2541 movl 20(%esp),%esi 2542 movl 28(%esp),%edi 2543 movl %esp,%ebx 2544 subl $28,%esp 2545 andl $-64,%esp 2546 movl 272(%edi),%eax 2547 leal -127(%edi),%ecx 2548 subl %esp,%ecx 2549 negl %ecx 2550 andl $960,%ecx 2551 subl %ecx,%esp 2552 addl $4,%esp 2553 shll $6,%eax 2554 leal (%edi,%eax,1),%eax 2555 movl %ebx,20(%esp) 2556 movl %eax,16(%esp) 2557 call .L001pic_point 2558.L001pic_point: 2559 popl %ebp 2560 leal .LCamellia_SBOX-.L001pic_point(%ebp),%ebp 2561 movl (%esi),%eax 2562 movl 4(%esi),%ebx 2563 movl 8(%esi),%ecx 2564 bswap %eax 2565 movl 12(%esi),%edx 2566 bswap %ebx 2567 bswap %ecx 2568 bswap %edx 2569 call _x86_Camellia_encrypt 2570 movl 20(%esp),%esp 2571 bswap %eax 2572 movl 24(%esp),%esi 2573 bswap %ebx 2574 bswap %ecx 2575 bswap %edx 2576 movl %eax,(%esi) 2577 movl %ebx,4(%esi) 2578 movl %ecx,8(%esi) 2579 movl %edx,12(%esi) 2580 popl %edi 2581 popl %esi 2582 popl %ebx 2583 popl %ebp 2584 ret 2585.size Camellia_encrypt,.-.L_Camellia_encrypt_begin 2586.type _x86_Camellia_encrypt,@function 2587.align 16 2588_x86_Camellia_encrypt: 2589 #ifdef __CET__ 2590 2591.byte 243,15,30,251 2592 #endif 2593 2594 xorl (%edi),%eax 2595 xorl 4(%edi),%ebx 2596 xorl 8(%edi),%ecx 2597 xorl 12(%edi),%edx 2598 movl 16(%edi),%esi 2599 movl %eax,4(%esp) 2600 movl %ebx,8(%esp) 2601 movl %ecx,12(%esp) 2602 movl %edx,16(%esp) 2603.align 16 2604.L002loop: 2605 xorl %esi,%eax 2606 xorl 20(%edi),%ebx 2607 movzbl %ah,%esi 2608 movl 2052(%ebp,%esi,8),%edx 2609 movzbl %al,%esi 2610 xorl 4(%ebp,%esi,8),%edx 2611 shrl $16,%eax 2612 movzbl %bl,%esi 2613 movl (%ebp,%esi,8),%ecx 2614 movzbl %ah,%esi 2615 xorl (%ebp,%esi,8),%edx 2616 movzbl %bh,%esi 2617 xorl 4(%ebp,%esi,8),%ecx 2618 shrl $16,%ebx 2619 movzbl %al,%eax 2620 xorl 2048(%ebp,%eax,8),%edx 2621 movzbl %bh,%esi 2622 movl 16(%esp),%eax 2623 xorl %edx,%ecx 2624 rorl $8,%edx 2625 xorl 2048(%ebp,%esi,8),%ecx 2626 movzbl %bl,%esi 2627 movl 12(%esp),%ebx 2628 xorl %eax,%edx 2629 xorl 2052(%ebp,%esi,8),%ecx 2630 movl 24(%edi),%esi 2631 xorl %ecx,%edx 2632 movl %edx,16(%esp) 2633 xorl %ebx,%ecx 2634 movl %ecx,12(%esp) 2635 xorl %esi,%ecx 2636 xorl 28(%edi),%edx 2637 movzbl %ch,%esi 2638 movl 2052(%ebp,%esi,8),%ebx 2639 movzbl %cl,%esi 2640 xorl 4(%ebp,%esi,8),%ebx 2641 shrl $16,%ecx 2642 movzbl %dl,%esi 2643 movl (%ebp,%esi,8),%eax 2644 movzbl %ch,%esi 2645 xorl (%ebp,%esi,8),%ebx 2646 movzbl %dh,%esi 2647 xorl 4(%ebp,%esi,8),%eax 2648 shrl $16,%edx 2649 movzbl %cl,%ecx 2650 xorl 2048(%ebp,%ecx,8),%ebx 2651 movzbl %dh,%esi 2652 movl 8(%esp),%ecx 2653 xorl %ebx,%eax 2654 rorl $8,%ebx 2655 xorl 2048(%ebp,%esi,8),%eax 2656 movzbl %dl,%esi 2657 movl 4(%esp),%edx 2658 xorl %ecx,%ebx 2659 xorl 2052(%ebp,%esi,8),%eax 2660 movl 32(%edi),%esi 2661 xorl %eax,%ebx 2662 movl %ebx,8(%esp) 2663 xorl %edx,%eax 2664 movl %eax,4(%esp) 2665 xorl %esi,%eax 2666 xorl 36(%edi),%ebx 2667 movzbl %ah,%esi 2668 movl 2052(%ebp,%esi,8),%edx 2669 movzbl %al,%esi 2670 xorl 4(%ebp,%esi,8),%edx 2671 shrl $16,%eax 2672 movzbl %bl,%esi 2673 movl (%ebp,%esi,8),%ecx 2674 movzbl %ah,%esi 2675 xorl (%ebp,%esi,8),%edx 2676 movzbl %bh,%esi 2677 xorl 4(%ebp,%esi,8),%ecx 2678 shrl $16,%ebx 2679 movzbl %al,%eax 2680 xorl 2048(%ebp,%eax,8),%edx 2681 movzbl %bh,%esi 2682 movl 16(%esp),%eax 2683 xorl %edx,%ecx 2684 rorl $8,%edx 2685 xorl 2048(%ebp,%esi,8),%ecx 2686 movzbl %bl,%esi 2687 movl 12(%esp),%ebx 2688 xorl %eax,%edx 2689 xorl 2052(%ebp,%esi,8),%ecx 2690 movl 40(%edi),%esi 2691 xorl %ecx,%edx 2692 movl %edx,16(%esp) 2693 xorl %ebx,%ecx 2694 movl %ecx,12(%esp) 2695 xorl %esi,%ecx 2696 xorl 44(%edi),%edx 2697 movzbl %ch,%esi 2698 movl 2052(%ebp,%esi,8),%ebx 2699 movzbl %cl,%esi 2700 xorl 4(%ebp,%esi,8),%ebx 2701 shrl $16,%ecx 2702 movzbl %dl,%esi 2703 movl (%ebp,%esi,8),%eax 2704 movzbl %ch,%esi 2705 xorl (%ebp,%esi,8),%ebx 2706 movzbl %dh,%esi 2707 xorl 4(%ebp,%esi,8),%eax 2708 shrl $16,%edx 2709 movzbl %cl,%ecx 2710 xorl 2048(%ebp,%ecx,8),%ebx 2711 movzbl %dh,%esi 2712 movl 8(%esp),%ecx 2713 xorl %ebx,%eax 2714 rorl $8,%ebx 2715 xorl 2048(%ebp,%esi,8),%eax 2716 movzbl %dl,%esi 2717 movl 4(%esp),%edx 2718 xorl %ecx,%ebx 2719 xorl 2052(%ebp,%esi,8),%eax 2720 movl 48(%edi),%esi 2721 xorl %eax,%ebx 2722 movl %ebx,8(%esp) 2723 xorl %edx,%eax 2724 movl %eax,4(%esp) 2725 xorl %esi,%eax 2726 xorl 52(%edi),%ebx 2727 movzbl %ah,%esi 2728 movl 2052(%ebp,%esi,8),%edx 2729 movzbl %al,%esi 2730 xorl 4(%ebp,%esi,8),%edx 2731 shrl $16,%eax 2732 movzbl %bl,%esi 2733 movl (%ebp,%esi,8),%ecx 2734 movzbl %ah,%esi 2735 xorl (%ebp,%esi,8),%edx 2736 movzbl %bh,%esi 2737 xorl 4(%ebp,%esi,8),%ecx 2738 shrl $16,%ebx 2739 movzbl %al,%eax 2740 xorl 2048(%ebp,%eax,8),%edx 2741 movzbl %bh,%esi 2742 movl 16(%esp),%eax 2743 xorl %edx,%ecx 2744 rorl $8,%edx 2745 xorl 2048(%ebp,%esi,8),%ecx 2746 movzbl %bl,%esi 2747 movl 12(%esp),%ebx 2748 xorl %eax,%edx 2749 xorl 2052(%ebp,%esi,8),%ecx 2750 movl 56(%edi),%esi 2751 xorl %ecx,%edx 2752 movl %edx,16(%esp) 2753 xorl %ebx,%ecx 2754 movl %ecx,12(%esp) 2755 xorl %esi,%ecx 2756 xorl 60(%edi),%edx 2757 movzbl %ch,%esi 2758 movl 2052(%ebp,%esi,8),%ebx 2759 movzbl %cl,%esi 2760 xorl 4(%ebp,%esi,8),%ebx 2761 shrl $16,%ecx 2762 movzbl %dl,%esi 2763 movl (%ebp,%esi,8),%eax 2764 movzbl %ch,%esi 2765 xorl (%ebp,%esi,8),%ebx 2766 movzbl %dh,%esi 2767 xorl 4(%ebp,%esi,8),%eax 2768 shrl $16,%edx 2769 movzbl %cl,%ecx 2770 xorl 2048(%ebp,%ecx,8),%ebx 2771 movzbl %dh,%esi 2772 movl 8(%esp),%ecx 2773 xorl %ebx,%eax 2774 rorl $8,%ebx 2775 xorl 2048(%ebp,%esi,8),%eax 2776 movzbl %dl,%esi 2777 movl 4(%esp),%edx 2778 xorl %ecx,%ebx 2779 xorl 2052(%ebp,%esi,8),%eax 2780 movl 64(%edi),%esi 2781 xorl %eax,%ebx 2782 movl %ebx,8(%esp) 2783 xorl %edx,%eax 2784 movl %eax,4(%esp) 2785 addl $64,%edi 2786 cmpl 20(%esp),%edi 2787 je .L003done 2788 andl %eax,%esi 2789 movl 16(%esp),%edx 2790 roll $1,%esi 2791 movl %edx,%ecx 2792 xorl %esi,%ebx 2793 orl 12(%edi),%ecx 2794 movl %ebx,8(%esp) 2795 xorl 12(%esp),%ecx 2796 movl 4(%edi),%esi 2797 movl %ecx,12(%esp) 2798 orl %ebx,%esi 2799 andl 8(%edi),%ecx 2800 xorl %esi,%eax 2801 roll $1,%ecx 2802 movl %eax,4(%esp) 2803 xorl %ecx,%edx 2804 movl 16(%edi),%esi 2805 movl %edx,16(%esp) 2806 jmp .L002loop 2807.align 8 2808.L003done: 2809 movl %eax,%ecx 2810 movl %ebx,%edx 2811 movl 12(%esp),%eax 2812 movl 16(%esp),%ebx 2813 xorl %esi,%eax 2814 xorl 4(%edi),%ebx 2815 xorl 8(%edi),%ecx 2816 xorl 12(%edi),%edx 2817 ret 2818.size _x86_Camellia_encrypt,.-_x86_Camellia_encrypt 2819.globl Camellia_DecryptBlock_Rounds 2820.type Camellia_DecryptBlock_Rounds,@function 2821.align 16 2822Camellia_DecryptBlock_Rounds: 2823.L_Camellia_DecryptBlock_Rounds_begin: 2824 #ifdef __CET__ 2825 2826.byte 243,15,30,251 2827 #endif 2828 2829 pushl %ebp 2830 pushl %ebx 2831 pushl %esi 2832 pushl %edi 2833 movl 20(%esp),%eax 2834 movl 24(%esp),%esi 2835 movl 28(%esp),%edi 2836 movl %esp,%ebx 2837 subl $28,%esp 2838 andl $-64,%esp 2839 leal -127(%edi),%ecx 2840 subl %esp,%ecx 2841 negl %ecx 2842 andl $960,%ecx 2843 subl %ecx,%esp 2844 addl $4,%esp 2845 shll $6,%eax 2846 movl %edi,16(%esp) 2847 leal (%edi,%eax,1),%edi 2848 movl %ebx,20(%esp) 2849 call .L004pic_point 2850.L004pic_point: 2851 popl %ebp 2852 leal .LCamellia_SBOX-.L004pic_point(%ebp),%ebp 2853 movl (%esi),%eax 2854 movl 4(%esi),%ebx 2855 movl 8(%esi),%ecx 2856 bswap %eax 2857 movl 12(%esi),%edx 2858 bswap %ebx 2859 bswap %ecx 2860 bswap %edx 2861 call _x86_Camellia_decrypt 2862 movl 20(%esp),%esp 2863 bswap %eax 2864 movl 32(%esp),%esi 2865 bswap %ebx 2866 bswap %ecx 2867 bswap %edx 2868 movl %eax,(%esi) 2869 movl %ebx,4(%esi) 2870 movl %ecx,8(%esi) 2871 movl %edx,12(%esi) 2872 popl %edi 2873 popl %esi 2874 popl %ebx 2875 popl %ebp 2876 ret 2877.size Camellia_DecryptBlock_Rounds,.-.L_Camellia_DecryptBlock_Rounds_begin 2878.globl Camellia_DecryptBlock 2879.type Camellia_DecryptBlock,@function 2880.align 16 2881Camellia_DecryptBlock: 2882.L_Camellia_DecryptBlock_begin: 2883 #ifdef __CET__ 2884 2885.byte 243,15,30,251 2886 #endif 2887 2888 movl $128,%eax 2889 subl 4(%esp),%eax 2890 movl $3,%eax 2891 adcl $0,%eax 2892 movl %eax,4(%esp) 2893 jmp .L_Camellia_DecryptBlock_Rounds_begin 2894.size Camellia_DecryptBlock,.-.L_Camellia_DecryptBlock_begin 2895.globl Camellia_decrypt 2896.type Camellia_decrypt,@function 2897.align 16 2898Camellia_decrypt: 2899.L_Camellia_decrypt_begin: 2900 #ifdef __CET__ 2901 2902.byte 243,15,30,251 2903 #endif 2904 2905 pushl %ebp 2906 pushl %ebx 2907 pushl %esi 2908 pushl %edi 2909 movl 20(%esp),%esi 2910 movl 28(%esp),%edi 2911 movl %esp,%ebx 2912 subl $28,%esp 2913 andl $-64,%esp 2914 movl 272(%edi),%eax 2915 leal -127(%edi),%ecx 2916 subl %esp,%ecx 2917 negl %ecx 2918 andl $960,%ecx 2919 subl %ecx,%esp 2920 addl $4,%esp 2921 shll $6,%eax 2922 movl %edi,16(%esp) 2923 leal (%edi,%eax,1),%edi 2924 movl %ebx,20(%esp) 2925 call .L005pic_point 2926.L005pic_point: 2927 popl %ebp 2928 leal .LCamellia_SBOX-.L005pic_point(%ebp),%ebp 2929 movl (%esi),%eax 2930 movl 4(%esi),%ebx 2931 movl 8(%esi),%ecx 2932 bswap %eax 2933 movl 12(%esi),%edx 2934 bswap %ebx 2935 bswap %ecx 2936 bswap %edx 2937 call _x86_Camellia_decrypt 2938 movl 20(%esp),%esp 2939 bswap %eax 2940 movl 24(%esp),%esi 2941 bswap %ebx 2942 bswap %ecx 2943 bswap %edx 2944 movl %eax,(%esi) 2945 movl %ebx,4(%esi) 2946 movl %ecx,8(%esi) 2947 movl %edx,12(%esi) 2948 popl %edi 2949 popl %esi 2950 popl %ebx 2951 popl %ebp 2952 ret 2953.size Camellia_decrypt,.-.L_Camellia_decrypt_begin 2954.type _x86_Camellia_decrypt,@function 2955.align 16 2956_x86_Camellia_decrypt: 2957 #ifdef __CET__ 2958 2959.byte 243,15,30,251 2960 #endif 2961 2962 xorl (%edi),%eax 2963 xorl 4(%edi),%ebx 2964 xorl 8(%edi),%ecx 2965 xorl 12(%edi),%edx 2966 movl -8(%edi),%esi 2967 movl %eax,4(%esp) 2968 movl %ebx,8(%esp) 2969 movl %ecx,12(%esp) 2970 movl %edx,16(%esp) 2971.align 16 2972.L006loop: 2973 xorl %esi,%eax 2974 xorl -4(%edi),%ebx 2975 movzbl %ah,%esi 2976 movl 2052(%ebp,%esi,8),%edx 2977 movzbl %al,%esi 2978 xorl 4(%ebp,%esi,8),%edx 2979 shrl $16,%eax 2980 movzbl %bl,%esi 2981 movl (%ebp,%esi,8),%ecx 2982 movzbl %ah,%esi 2983 xorl (%ebp,%esi,8),%edx 2984 movzbl %bh,%esi 2985 xorl 4(%ebp,%esi,8),%ecx 2986 shrl $16,%ebx 2987 movzbl %al,%eax 2988 xorl 2048(%ebp,%eax,8),%edx 2989 movzbl %bh,%esi 2990 movl 16(%esp),%eax 2991 xorl %edx,%ecx 2992 rorl $8,%edx 2993 xorl 2048(%ebp,%esi,8),%ecx 2994 movzbl %bl,%esi 2995 movl 12(%esp),%ebx 2996 xorl %eax,%edx 2997 xorl 2052(%ebp,%esi,8),%ecx 2998 movl -16(%edi),%esi 2999 xorl %ecx,%edx 3000 movl %edx,16(%esp) 3001 xorl %ebx,%ecx 3002 movl %ecx,12(%esp) 3003 xorl %esi,%ecx 3004 xorl -12(%edi),%edx 3005 movzbl %ch,%esi 3006 movl 2052(%ebp,%esi,8),%ebx 3007 movzbl %cl,%esi 3008 xorl 4(%ebp,%esi,8),%ebx 3009 shrl $16,%ecx 3010 movzbl %dl,%esi 3011 movl (%ebp,%esi,8),%eax 3012 movzbl %ch,%esi 3013 xorl (%ebp,%esi,8),%ebx 3014 movzbl %dh,%esi 3015 xorl 4(%ebp,%esi,8),%eax 3016 shrl $16,%edx 3017 movzbl %cl,%ecx 3018 xorl 2048(%ebp,%ecx,8),%ebx 3019 movzbl %dh,%esi 3020 movl 8(%esp),%ecx 3021 xorl %ebx,%eax 3022 rorl $8,%ebx 3023 xorl 2048(%ebp,%esi,8),%eax 3024 movzbl %dl,%esi 3025 movl 4(%esp),%edx 3026 xorl %ecx,%ebx 3027 xorl 2052(%ebp,%esi,8),%eax 3028 movl -24(%edi),%esi 3029 xorl %eax,%ebx 3030 movl %ebx,8(%esp) 3031 xorl %edx,%eax 3032 movl %eax,4(%esp) 3033 xorl %esi,%eax 3034 xorl -20(%edi),%ebx 3035 movzbl %ah,%esi 3036 movl 2052(%ebp,%esi,8),%edx 3037 movzbl %al,%esi 3038 xorl 4(%ebp,%esi,8),%edx 3039 shrl $16,%eax 3040 movzbl %bl,%esi 3041 movl (%ebp,%esi,8),%ecx 3042 movzbl %ah,%esi 3043 xorl (%ebp,%esi,8),%edx 3044 movzbl %bh,%esi 3045 xorl 4(%ebp,%esi,8),%ecx 3046 shrl $16,%ebx 3047 movzbl %al,%eax 3048 xorl 2048(%ebp,%eax,8),%edx 3049 movzbl %bh,%esi 3050 movl 16(%esp),%eax 3051 xorl %edx,%ecx 3052 rorl $8,%edx 3053 xorl 2048(%ebp,%esi,8),%ecx 3054 movzbl %bl,%esi 3055 movl 12(%esp),%ebx 3056 xorl %eax,%edx 3057 xorl 2052(%ebp,%esi,8),%ecx 3058 movl -32(%edi),%esi 3059 xorl %ecx,%edx 3060 movl %edx,16(%esp) 3061 xorl %ebx,%ecx 3062 movl %ecx,12(%esp) 3063 xorl %esi,%ecx 3064 xorl -28(%edi),%edx 3065 movzbl %ch,%esi 3066 movl 2052(%ebp,%esi,8),%ebx 3067 movzbl %cl,%esi 3068 xorl 4(%ebp,%esi,8),%ebx 3069 shrl $16,%ecx 3070 movzbl %dl,%esi 3071 movl (%ebp,%esi,8),%eax 3072 movzbl %ch,%esi 3073 xorl (%ebp,%esi,8),%ebx 3074 movzbl %dh,%esi 3075 xorl 4(%ebp,%esi,8),%eax 3076 shrl $16,%edx 3077 movzbl %cl,%ecx 3078 xorl 2048(%ebp,%ecx,8),%ebx 3079 movzbl %dh,%esi 3080 movl 8(%esp),%ecx 3081 xorl %ebx,%eax 3082 rorl $8,%ebx 3083 xorl 2048(%ebp,%esi,8),%eax 3084 movzbl %dl,%esi 3085 movl 4(%esp),%edx 3086 xorl %ecx,%ebx 3087 xorl 2052(%ebp,%esi,8),%eax 3088 movl -40(%edi),%esi 3089 xorl %eax,%ebx 3090 movl %ebx,8(%esp) 3091 xorl %edx,%eax 3092 movl %eax,4(%esp) 3093 xorl %esi,%eax 3094 xorl -36(%edi),%ebx 3095 movzbl %ah,%esi 3096 movl 2052(%ebp,%esi,8),%edx 3097 movzbl %al,%esi 3098 xorl 4(%ebp,%esi,8),%edx 3099 shrl $16,%eax 3100 movzbl %bl,%esi 3101 movl (%ebp,%esi,8),%ecx 3102 movzbl %ah,%esi 3103 xorl (%ebp,%esi,8),%edx 3104 movzbl %bh,%esi 3105 xorl 4(%ebp,%esi,8),%ecx 3106 shrl $16,%ebx 3107 movzbl %al,%eax 3108 xorl 2048(%ebp,%eax,8),%edx 3109 movzbl %bh,%esi 3110 movl 16(%esp),%eax 3111 xorl %edx,%ecx 3112 rorl $8,%edx 3113 xorl 2048(%ebp,%esi,8),%ecx 3114 movzbl %bl,%esi 3115 movl 12(%esp),%ebx 3116 xorl %eax,%edx 3117 xorl 2052(%ebp,%esi,8),%ecx 3118 movl -48(%edi),%esi 3119 xorl %ecx,%edx 3120 movl %edx,16(%esp) 3121 xorl %ebx,%ecx 3122 movl %ecx,12(%esp) 3123 xorl %esi,%ecx 3124 xorl -44(%edi),%edx 3125 movzbl %ch,%esi 3126 movl 2052(%ebp,%esi,8),%ebx 3127 movzbl %cl,%esi 3128 xorl 4(%ebp,%esi,8),%ebx 3129 shrl $16,%ecx 3130 movzbl %dl,%esi 3131 movl (%ebp,%esi,8),%eax 3132 movzbl %ch,%esi 3133 xorl (%ebp,%esi,8),%ebx 3134 movzbl %dh,%esi 3135 xorl 4(%ebp,%esi,8),%eax 3136 shrl $16,%edx 3137 movzbl %cl,%ecx 3138 xorl 2048(%ebp,%ecx,8),%ebx 3139 movzbl %dh,%esi 3140 movl 8(%esp),%ecx 3141 xorl %ebx,%eax 3142 rorl $8,%ebx 3143 xorl 2048(%ebp,%esi,8),%eax 3144 movzbl %dl,%esi 3145 movl 4(%esp),%edx 3146 xorl %ecx,%ebx 3147 xorl 2052(%ebp,%esi,8),%eax 3148 movl -56(%edi),%esi 3149 xorl %eax,%ebx 3150 movl %ebx,8(%esp) 3151 xorl %edx,%eax 3152 movl %eax,4(%esp) 3153 subl $64,%edi 3154 cmpl 20(%esp),%edi 3155 je .L007done 3156 andl %eax,%esi 3157 movl 16(%esp),%edx 3158 roll $1,%esi 3159 movl %edx,%ecx 3160 xorl %esi,%ebx 3161 orl 4(%edi),%ecx 3162 movl %ebx,8(%esp) 3163 xorl 12(%esp),%ecx 3164 movl 12(%edi),%esi 3165 movl %ecx,12(%esp) 3166 orl %ebx,%esi 3167 andl (%edi),%ecx 3168 xorl %esi,%eax 3169 roll $1,%ecx 3170 movl %eax,4(%esp) 3171 xorl %ecx,%edx 3172 movl -8(%edi),%esi 3173 movl %edx,16(%esp) 3174 jmp .L006loop 3175.align 8 3176.L007done: 3177 movl %eax,%ecx 3178 movl %ebx,%edx 3179 movl 12(%esp),%eax 3180 movl 16(%esp),%ebx 3181 xorl %esi,%ecx 3182 xorl 12(%edi),%edx 3183 xorl (%edi),%eax 3184 xorl 4(%edi),%ebx 3185 ret 3186.size _x86_Camellia_decrypt,.-_x86_Camellia_decrypt 3187.globl Camellia_Ekeygen 3188.type Camellia_Ekeygen,@function 3189.align 16 3190Camellia_Ekeygen: 3191.L_Camellia_Ekeygen_begin: 3192 #ifdef __CET__ 3193 3194.byte 243,15,30,251 3195 #endif 3196 3197 pushl %ebp 3198 pushl %ebx 3199 pushl %esi 3200 pushl %edi 3201 subl $16,%esp 3202 movl 36(%esp),%ebp 3203 movl 40(%esp),%esi 3204 movl 44(%esp),%edi 3205 movl (%esi),%eax 3206 movl 4(%esi),%ebx 3207 movl 8(%esi),%ecx 3208 movl 12(%esi),%edx 3209 bswap %eax 3210 bswap %ebx 3211 bswap %ecx 3212 bswap %edx 3213 movl %eax,(%edi) 3214 movl %ebx,4(%edi) 3215 movl %ecx,8(%edi) 3216 movl %edx,12(%edi) 3217 cmpl $128,%ebp 3218 je .L0081st128 3219 movl 16(%esi),%eax 3220 movl 20(%esi),%ebx 3221 cmpl $192,%ebp 3222 je .L0091st192 3223 movl 24(%esi),%ecx 3224 movl 28(%esi),%edx 3225 jmp .L0101st256 3226.align 4 3227.L0091st192: 3228 movl %eax,%ecx 3229 movl %ebx,%edx 3230 notl %ecx 3231 notl %edx 3232.align 4 3233.L0101st256: 3234 bswap %eax 3235 bswap %ebx 3236 bswap %ecx 3237 bswap %edx 3238 movl %eax,32(%edi) 3239 movl %ebx,36(%edi) 3240 movl %ecx,40(%edi) 3241 movl %edx,44(%edi) 3242 xorl (%edi),%eax 3243 xorl 4(%edi),%ebx 3244 xorl 8(%edi),%ecx 3245 xorl 12(%edi),%edx 3246.align 4 3247.L0081st128: 3248 call .L011pic_point 3249.L011pic_point: 3250 popl %ebp 3251 leal .LCamellia_SBOX-.L011pic_point(%ebp),%ebp 3252 leal .LCamellia_SIGMA-.LCamellia_SBOX(%ebp),%edi 3253 movl (%edi),%esi 3254 movl %eax,(%esp) 3255 movl %ebx,4(%esp) 3256 movl %ecx,8(%esp) 3257 movl %edx,12(%esp) 3258 xorl %esi,%eax 3259 xorl 4(%edi),%ebx 3260 movzbl %ah,%esi 3261 movl 2052(%ebp,%esi,8),%edx 3262 movzbl %al,%esi 3263 xorl 4(%ebp,%esi,8),%edx 3264 shrl $16,%eax 3265 movzbl %bl,%esi 3266 movl (%ebp,%esi,8),%ecx 3267 movzbl %ah,%esi 3268 xorl (%ebp,%esi,8),%edx 3269 movzbl %bh,%esi 3270 xorl 4(%ebp,%esi,8),%ecx 3271 shrl $16,%ebx 3272 movzbl %al,%eax 3273 xorl 2048(%ebp,%eax,8),%edx 3274 movzbl %bh,%esi 3275 movl 12(%esp),%eax 3276 xorl %edx,%ecx 3277 rorl $8,%edx 3278 xorl 2048(%ebp,%esi,8),%ecx 3279 movzbl %bl,%esi 3280 movl 8(%esp),%ebx 3281 xorl %eax,%edx 3282 xorl 2052(%ebp,%esi,8),%ecx 3283 movl 8(%edi),%esi 3284 xorl %ecx,%edx 3285 movl %edx,12(%esp) 3286 xorl %ebx,%ecx 3287 movl %ecx,8(%esp) 3288 xorl %esi,%ecx 3289 xorl 12(%edi),%edx 3290 movzbl %ch,%esi 3291 movl 2052(%ebp,%esi,8),%ebx 3292 movzbl %cl,%esi 3293 xorl 4(%ebp,%esi,8),%ebx 3294 shrl $16,%ecx 3295 movzbl %dl,%esi 3296 movl (%ebp,%esi,8),%eax 3297 movzbl %ch,%esi 3298 xorl (%ebp,%esi,8),%ebx 3299 movzbl %dh,%esi 3300 xorl 4(%ebp,%esi,8),%eax 3301 shrl $16,%edx 3302 movzbl %cl,%ecx 3303 xorl 2048(%ebp,%ecx,8),%ebx 3304 movzbl %dh,%esi 3305 movl 4(%esp),%ecx 3306 xorl %ebx,%eax 3307 rorl $8,%ebx 3308 xorl 2048(%ebp,%esi,8),%eax 3309 movzbl %dl,%esi 3310 movl (%esp),%edx 3311 xorl %ecx,%ebx 3312 xorl 2052(%ebp,%esi,8),%eax 3313 movl 16(%edi),%esi 3314 xorl %eax,%ebx 3315 movl %ebx,4(%esp) 3316 xorl %edx,%eax 3317 movl %eax,(%esp) 3318 movl 8(%esp),%ecx 3319 movl 12(%esp),%edx 3320 movl 44(%esp),%esi 3321 xorl (%esi),%eax 3322 xorl 4(%esi),%ebx 3323 xorl 8(%esi),%ecx 3324 xorl 12(%esi),%edx 3325 movl 16(%edi),%esi 3326 movl %eax,(%esp) 3327 movl %ebx,4(%esp) 3328 movl %ecx,8(%esp) 3329 movl %edx,12(%esp) 3330 xorl %esi,%eax 3331 xorl 20(%edi),%ebx 3332 movzbl %ah,%esi 3333 movl 2052(%ebp,%esi,8),%edx 3334 movzbl %al,%esi 3335 xorl 4(%ebp,%esi,8),%edx 3336 shrl $16,%eax 3337 movzbl %bl,%esi 3338 movl (%ebp,%esi,8),%ecx 3339 movzbl %ah,%esi 3340 xorl (%ebp,%esi,8),%edx 3341 movzbl %bh,%esi 3342 xorl 4(%ebp,%esi,8),%ecx 3343 shrl $16,%ebx 3344 movzbl %al,%eax 3345 xorl 2048(%ebp,%eax,8),%edx 3346 movzbl %bh,%esi 3347 movl 12(%esp),%eax 3348 xorl %edx,%ecx 3349 rorl $8,%edx 3350 xorl 2048(%ebp,%esi,8),%ecx 3351 movzbl %bl,%esi 3352 movl 8(%esp),%ebx 3353 xorl %eax,%edx 3354 xorl 2052(%ebp,%esi,8),%ecx 3355 movl 24(%edi),%esi 3356 xorl %ecx,%edx 3357 movl %edx,12(%esp) 3358 xorl %ebx,%ecx 3359 movl %ecx,8(%esp) 3360 xorl %esi,%ecx 3361 xorl 28(%edi),%edx 3362 movzbl %ch,%esi 3363 movl 2052(%ebp,%esi,8),%ebx 3364 movzbl %cl,%esi 3365 xorl 4(%ebp,%esi,8),%ebx 3366 shrl $16,%ecx 3367 movzbl %dl,%esi 3368 movl (%ebp,%esi,8),%eax 3369 movzbl %ch,%esi 3370 xorl (%ebp,%esi,8),%ebx 3371 movzbl %dh,%esi 3372 xorl 4(%ebp,%esi,8),%eax 3373 shrl $16,%edx 3374 movzbl %cl,%ecx 3375 xorl 2048(%ebp,%ecx,8),%ebx 3376 movzbl %dh,%esi 3377 movl 4(%esp),%ecx 3378 xorl %ebx,%eax 3379 rorl $8,%ebx 3380 xorl 2048(%ebp,%esi,8),%eax 3381 movzbl %dl,%esi 3382 movl (%esp),%edx 3383 xorl %ecx,%ebx 3384 xorl 2052(%ebp,%esi,8),%eax 3385 movl 32(%edi),%esi 3386 xorl %eax,%ebx 3387 movl %ebx,4(%esp) 3388 xorl %edx,%eax 3389 movl %eax,(%esp) 3390 movl 8(%esp),%ecx 3391 movl 12(%esp),%edx 3392 movl 36(%esp),%esi 3393 cmpl $128,%esi 3394 jne .L0122nd256 3395 movl 44(%esp),%edi 3396 leal 128(%edi),%edi 3397 movl %eax,-112(%edi) 3398 movl %ebx,-108(%edi) 3399 movl %ecx,-104(%edi) 3400 movl %edx,-100(%edi) 3401 movl %eax,%ebp 3402 shll $15,%eax 3403 movl %ebx,%esi 3404 shrl $17,%esi 3405 shll $15,%ebx 3406 orl %esi,%eax 3407 movl %ecx,%esi 3408 shll $15,%ecx 3409 movl %eax,-80(%edi) 3410 shrl $17,%esi 3411 orl %esi,%ebx 3412 shrl $17,%ebp 3413 movl %edx,%esi 3414 shrl $17,%esi 3415 movl %ebx,-76(%edi) 3416 shll $15,%edx 3417 orl %esi,%ecx 3418 orl %ebp,%edx 3419 movl %ecx,-72(%edi) 3420 movl %edx,-68(%edi) 3421 movl %eax,%ebp 3422 shll $15,%eax 3423 movl %ebx,%esi 3424 shrl $17,%esi 3425 shll $15,%ebx 3426 orl %esi,%eax 3427 movl %ecx,%esi 3428 shll $15,%ecx 3429 movl %eax,-64(%edi) 3430 shrl $17,%esi 3431 orl %esi,%ebx 3432 shrl $17,%ebp 3433 movl %edx,%esi 3434 shrl $17,%esi 3435 movl %ebx,-60(%edi) 3436 shll $15,%edx 3437 orl %esi,%ecx 3438 orl %ebp,%edx 3439 movl %ecx,-56(%edi) 3440 movl %edx,-52(%edi) 3441 movl %eax,%ebp 3442 shll $15,%eax 3443 movl %ebx,%esi 3444 shrl $17,%esi 3445 shll $15,%ebx 3446 orl %esi,%eax 3447 movl %ecx,%esi 3448 shll $15,%ecx 3449 movl %eax,-32(%edi) 3450 shrl $17,%esi 3451 orl %esi,%ebx 3452 shrl $17,%ebp 3453 movl %edx,%esi 3454 shrl $17,%esi 3455 movl %ebx,-28(%edi) 3456 shll $15,%edx 3457 orl %esi,%ecx 3458 orl %ebp,%edx 3459 movl %eax,%ebp 3460 shll $15,%eax 3461 movl %ebx,%esi 3462 shrl $17,%esi 3463 shll $15,%ebx 3464 orl %esi,%eax 3465 movl %ecx,%esi 3466 shll $15,%ecx 3467 movl %eax,-16(%edi) 3468 shrl $17,%esi 3469 orl %esi,%ebx 3470 shrl $17,%ebp 3471 movl %edx,%esi 3472 shrl $17,%esi 3473 movl %ebx,-12(%edi) 3474 shll $15,%edx 3475 orl %esi,%ecx 3476 orl %ebp,%edx 3477 movl %ecx,-8(%edi) 3478 movl %edx,-4(%edi) 3479 movl %ebx,%ebp 3480 shll $2,%ebx 3481 movl %ecx,%esi 3482 shrl $30,%esi 3483 shll $2,%ecx 3484 orl %esi,%ebx 3485 movl %edx,%esi 3486 shll $2,%edx 3487 movl %ebx,32(%edi) 3488 shrl $30,%esi 3489 orl %esi,%ecx 3490 shrl $30,%ebp 3491 movl %eax,%esi 3492 shrl $30,%esi 3493 movl %ecx,36(%edi) 3494 shll $2,%eax 3495 orl %esi,%edx 3496 orl %ebp,%eax 3497 movl %edx,40(%edi) 3498 movl %eax,44(%edi) 3499 movl %ebx,%ebp 3500 shll $17,%ebx 3501 movl %ecx,%esi 3502 shrl $15,%esi 3503 shll $17,%ecx 3504 orl %esi,%ebx 3505 movl %edx,%esi 3506 shll $17,%edx 3507 movl %ebx,64(%edi) 3508 shrl $15,%esi 3509 orl %esi,%ecx 3510 shrl $15,%ebp 3511 movl %eax,%esi 3512 shrl $15,%esi 3513 movl %ecx,68(%edi) 3514 shll $17,%eax 3515 orl %esi,%edx 3516 orl %ebp,%eax 3517 movl %edx,72(%edi) 3518 movl %eax,76(%edi) 3519 movl -128(%edi),%ebx 3520 movl -124(%edi),%ecx 3521 movl -120(%edi),%edx 3522 movl -116(%edi),%eax 3523 movl %ebx,%ebp 3524 shll $15,%ebx 3525 movl %ecx,%esi 3526 shrl $17,%esi 3527 shll $15,%ecx 3528 orl %esi,%ebx 3529 movl %edx,%esi 3530 shll $15,%edx 3531 movl %ebx,-96(%edi) 3532 shrl $17,%esi 3533 orl %esi,%ecx 3534 shrl $17,%ebp 3535 movl %eax,%esi 3536 shrl $17,%esi 3537 movl %ecx,-92(%edi) 3538 shll $15,%eax 3539 orl %esi,%edx 3540 orl %ebp,%eax 3541 movl %edx,-88(%edi) 3542 movl %eax,-84(%edi) 3543 movl %ebx,%ebp 3544 shll $30,%ebx 3545 movl %ecx,%esi 3546 shrl $2,%esi 3547 shll $30,%ecx 3548 orl %esi,%ebx 3549 movl %edx,%esi 3550 shll $30,%edx 3551 movl %ebx,-48(%edi) 3552 shrl $2,%esi 3553 orl %esi,%ecx 3554 shrl $2,%ebp 3555 movl %eax,%esi 3556 shrl $2,%esi 3557 movl %ecx,-44(%edi) 3558 shll $30,%eax 3559 orl %esi,%edx 3560 orl %ebp,%eax 3561 movl %edx,-40(%edi) 3562 movl %eax,-36(%edi) 3563 movl %ebx,%ebp 3564 shll $15,%ebx 3565 movl %ecx,%esi 3566 shrl $17,%esi 3567 shll $15,%ecx 3568 orl %esi,%ebx 3569 movl %edx,%esi 3570 shll $15,%edx 3571 shrl $17,%esi 3572 orl %esi,%ecx 3573 shrl $17,%ebp 3574 movl %eax,%esi 3575 shrl $17,%esi 3576 shll $15,%eax 3577 orl %esi,%edx 3578 orl %ebp,%eax 3579 movl %edx,-24(%edi) 3580 movl %eax,-20(%edi) 3581 movl %ebx,%ebp 3582 shll $17,%ebx 3583 movl %ecx,%esi 3584 shrl $15,%esi 3585 shll $17,%ecx 3586 orl %esi,%ebx 3587 movl %edx,%esi 3588 shll $17,%edx 3589 movl %ebx,(%edi) 3590 shrl $15,%esi 3591 orl %esi,%ecx 3592 shrl $15,%ebp 3593 movl %eax,%esi 3594 shrl $15,%esi 3595 movl %ecx,4(%edi) 3596 shll $17,%eax 3597 orl %esi,%edx 3598 orl %ebp,%eax 3599 movl %edx,8(%edi) 3600 movl %eax,12(%edi) 3601 movl %ebx,%ebp 3602 shll $17,%ebx 3603 movl %ecx,%esi 3604 shrl $15,%esi 3605 shll $17,%ecx 3606 orl %esi,%ebx 3607 movl %edx,%esi 3608 shll $17,%edx 3609 movl %ebx,16(%edi) 3610 shrl $15,%esi 3611 orl %esi,%ecx 3612 shrl $15,%ebp 3613 movl %eax,%esi 3614 shrl $15,%esi 3615 movl %ecx,20(%edi) 3616 shll $17,%eax 3617 orl %esi,%edx 3618 orl %ebp,%eax 3619 movl %edx,24(%edi) 3620 movl %eax,28(%edi) 3621 movl %ebx,%ebp 3622 shll $17,%ebx 3623 movl %ecx,%esi 3624 shrl $15,%esi 3625 shll $17,%ecx 3626 orl %esi,%ebx 3627 movl %edx,%esi 3628 shll $17,%edx 3629 movl %ebx,48(%edi) 3630 shrl $15,%esi 3631 orl %esi,%ecx 3632 shrl $15,%ebp 3633 movl %eax,%esi 3634 shrl $15,%esi 3635 movl %ecx,52(%edi) 3636 shll $17,%eax 3637 orl %esi,%edx 3638 orl %ebp,%eax 3639 movl %edx,56(%edi) 3640 movl %eax,60(%edi) 3641 movl $3,%eax 3642 jmp .L013done 3643.align 16 3644.L0122nd256: 3645 movl 44(%esp),%esi 3646 movl %eax,48(%esi) 3647 movl %ebx,52(%esi) 3648 movl %ecx,56(%esi) 3649 movl %edx,60(%esi) 3650 xorl 32(%esi),%eax 3651 xorl 36(%esi),%ebx 3652 xorl 40(%esi),%ecx 3653 xorl 44(%esi),%edx 3654 movl 32(%edi),%esi 3655 movl %eax,(%esp) 3656 movl %ebx,4(%esp) 3657 movl %ecx,8(%esp) 3658 movl %edx,12(%esp) 3659 xorl %esi,%eax 3660 xorl 36(%edi),%ebx 3661 movzbl %ah,%esi 3662 movl 2052(%ebp,%esi,8),%edx 3663 movzbl %al,%esi 3664 xorl 4(%ebp,%esi,8),%edx 3665 shrl $16,%eax 3666 movzbl %bl,%esi 3667 movl (%ebp,%esi,8),%ecx 3668 movzbl %ah,%esi 3669 xorl (%ebp,%esi,8),%edx 3670 movzbl %bh,%esi 3671 xorl 4(%ebp,%esi,8),%ecx 3672 shrl $16,%ebx 3673 movzbl %al,%eax 3674 xorl 2048(%ebp,%eax,8),%edx 3675 movzbl %bh,%esi 3676 movl 12(%esp),%eax 3677 xorl %edx,%ecx 3678 rorl $8,%edx 3679 xorl 2048(%ebp,%esi,8),%ecx 3680 movzbl %bl,%esi 3681 movl 8(%esp),%ebx 3682 xorl %eax,%edx 3683 xorl 2052(%ebp,%esi,8),%ecx 3684 movl 40(%edi),%esi 3685 xorl %ecx,%edx 3686 movl %edx,12(%esp) 3687 xorl %ebx,%ecx 3688 movl %ecx,8(%esp) 3689 xorl %esi,%ecx 3690 xorl 44(%edi),%edx 3691 movzbl %ch,%esi 3692 movl 2052(%ebp,%esi,8),%ebx 3693 movzbl %cl,%esi 3694 xorl 4(%ebp,%esi,8),%ebx 3695 shrl $16,%ecx 3696 movzbl %dl,%esi 3697 movl (%ebp,%esi,8),%eax 3698 movzbl %ch,%esi 3699 xorl (%ebp,%esi,8),%ebx 3700 movzbl %dh,%esi 3701 xorl 4(%ebp,%esi,8),%eax 3702 shrl $16,%edx 3703 movzbl %cl,%ecx 3704 xorl 2048(%ebp,%ecx,8),%ebx 3705 movzbl %dh,%esi 3706 movl 4(%esp),%ecx 3707 xorl %ebx,%eax 3708 rorl $8,%ebx 3709 xorl 2048(%ebp,%esi,8),%eax 3710 movzbl %dl,%esi 3711 movl (%esp),%edx 3712 xorl %ecx,%ebx 3713 xorl 2052(%ebp,%esi,8),%eax 3714 movl 48(%edi),%esi 3715 xorl %eax,%ebx 3716 movl %ebx,4(%esp) 3717 xorl %edx,%eax 3718 movl %eax,(%esp) 3719 movl 8(%esp),%ecx 3720 movl 12(%esp),%edx 3721 movl 44(%esp),%edi 3722 leal 128(%edi),%edi 3723 movl %eax,-112(%edi) 3724 movl %ebx,-108(%edi) 3725 movl %ecx,-104(%edi) 3726 movl %edx,-100(%edi) 3727 movl %eax,%ebp 3728 shll $30,%eax 3729 movl %ebx,%esi 3730 shrl $2,%esi 3731 shll $30,%ebx 3732 orl %esi,%eax 3733 movl %ecx,%esi 3734 shll $30,%ecx 3735 movl %eax,-48(%edi) 3736 shrl $2,%esi 3737 orl %esi,%ebx 3738 shrl $2,%ebp 3739 movl %edx,%esi 3740 shrl $2,%esi 3741 movl %ebx,-44(%edi) 3742 shll $30,%edx 3743 orl %esi,%ecx 3744 orl %ebp,%edx 3745 movl %ecx,-40(%edi) 3746 movl %edx,-36(%edi) 3747 movl %eax,%ebp 3748 shll $30,%eax 3749 movl %ebx,%esi 3750 shrl $2,%esi 3751 shll $30,%ebx 3752 orl %esi,%eax 3753 movl %ecx,%esi 3754 shll $30,%ecx 3755 movl %eax,32(%edi) 3756 shrl $2,%esi 3757 orl %esi,%ebx 3758 shrl $2,%ebp 3759 movl %edx,%esi 3760 shrl $2,%esi 3761 movl %ebx,36(%edi) 3762 shll $30,%edx 3763 orl %esi,%ecx 3764 orl %ebp,%edx 3765 movl %ecx,40(%edi) 3766 movl %edx,44(%edi) 3767 movl %ebx,%ebp 3768 shll $19,%ebx 3769 movl %ecx,%esi 3770 shrl $13,%esi 3771 shll $19,%ecx 3772 orl %esi,%ebx 3773 movl %edx,%esi 3774 shll $19,%edx 3775 movl %ebx,128(%edi) 3776 shrl $13,%esi 3777 orl %esi,%ecx 3778 shrl $13,%ebp 3779 movl %eax,%esi 3780 shrl $13,%esi 3781 movl %ecx,132(%edi) 3782 shll $19,%eax 3783 orl %esi,%edx 3784 orl %ebp,%eax 3785 movl %edx,136(%edi) 3786 movl %eax,140(%edi) 3787 movl -96(%edi),%ebx 3788 movl -92(%edi),%ecx 3789 movl -88(%edi),%edx 3790 movl -84(%edi),%eax 3791 movl %ebx,%ebp 3792 shll $15,%ebx 3793 movl %ecx,%esi 3794 shrl $17,%esi 3795 shll $15,%ecx 3796 orl %esi,%ebx 3797 movl %edx,%esi 3798 shll $15,%edx 3799 movl %ebx,-96(%edi) 3800 shrl $17,%esi 3801 orl %esi,%ecx 3802 shrl $17,%ebp 3803 movl %eax,%esi 3804 shrl $17,%esi 3805 movl %ecx,-92(%edi) 3806 shll $15,%eax 3807 orl %esi,%edx 3808 orl %ebp,%eax 3809 movl %edx,-88(%edi) 3810 movl %eax,-84(%edi) 3811 movl %ebx,%ebp 3812 shll $15,%ebx 3813 movl %ecx,%esi 3814 shrl $17,%esi 3815 shll $15,%ecx 3816 orl %esi,%ebx 3817 movl %edx,%esi 3818 shll $15,%edx 3819 movl %ebx,-64(%edi) 3820 shrl $17,%esi 3821 orl %esi,%ecx 3822 shrl $17,%ebp 3823 movl %eax,%esi 3824 shrl $17,%esi 3825 movl %ecx,-60(%edi) 3826 shll $15,%eax 3827 orl %esi,%edx 3828 orl %ebp,%eax 3829 movl %edx,-56(%edi) 3830 movl %eax,-52(%edi) 3831 movl %ebx,%ebp 3832 shll $30,%ebx 3833 movl %ecx,%esi 3834 shrl $2,%esi 3835 shll $30,%ecx 3836 orl %esi,%ebx 3837 movl %edx,%esi 3838 shll $30,%edx 3839 movl %ebx,16(%edi) 3840 shrl $2,%esi 3841 orl %esi,%ecx 3842 shrl $2,%ebp 3843 movl %eax,%esi 3844 shrl $2,%esi 3845 movl %ecx,20(%edi) 3846 shll $30,%eax 3847 orl %esi,%edx 3848 orl %ebp,%eax 3849 movl %edx,24(%edi) 3850 movl %eax,28(%edi) 3851 movl %ecx,%ebp 3852 shll $2,%ecx 3853 movl %edx,%esi 3854 shrl $30,%esi 3855 shll $2,%edx 3856 orl %esi,%ecx 3857 movl %eax,%esi 3858 shll $2,%eax 3859 movl %ecx,80(%edi) 3860 shrl $30,%esi 3861 orl %esi,%edx 3862 shrl $30,%ebp 3863 movl %ebx,%esi 3864 shrl $30,%esi 3865 movl %edx,84(%edi) 3866 shll $2,%ebx 3867 orl %esi,%eax 3868 orl %ebp,%ebx 3869 movl %eax,88(%edi) 3870 movl %ebx,92(%edi) 3871 movl -80(%edi),%ecx 3872 movl -76(%edi),%edx 3873 movl -72(%edi),%eax 3874 movl -68(%edi),%ebx 3875 movl %ecx,%ebp 3876 shll $15,%ecx 3877 movl %edx,%esi 3878 shrl $17,%esi 3879 shll $15,%edx 3880 orl %esi,%ecx 3881 movl %eax,%esi 3882 shll $15,%eax 3883 movl %ecx,-80(%edi) 3884 shrl $17,%esi 3885 orl %esi,%edx 3886 shrl $17,%ebp 3887 movl %ebx,%esi 3888 shrl $17,%esi 3889 movl %edx,-76(%edi) 3890 shll $15,%ebx 3891 orl %esi,%eax 3892 orl %ebp,%ebx 3893 movl %eax,-72(%edi) 3894 movl %ebx,-68(%edi) 3895 movl %ecx,%ebp 3896 shll $30,%ecx 3897 movl %edx,%esi 3898 shrl $2,%esi 3899 shll $30,%edx 3900 orl %esi,%ecx 3901 movl %eax,%esi 3902 shll $30,%eax 3903 movl %ecx,-16(%edi) 3904 shrl $2,%esi 3905 orl %esi,%edx 3906 shrl $2,%ebp 3907 movl %ebx,%esi 3908 shrl $2,%esi 3909 movl %edx,-12(%edi) 3910 shll $30,%ebx 3911 orl %esi,%eax 3912 orl %ebp,%ebx 3913 movl %eax,-8(%edi) 3914 movl %ebx,-4(%edi) 3915 movl %edx,64(%edi) 3916 movl %eax,68(%edi) 3917 movl %ebx,72(%edi) 3918 movl %ecx,76(%edi) 3919 movl %edx,%ebp 3920 shll $17,%edx 3921 movl %eax,%esi 3922 shrl $15,%esi 3923 shll $17,%eax 3924 orl %esi,%edx 3925 movl %ebx,%esi 3926 shll $17,%ebx 3927 movl %edx,96(%edi) 3928 shrl $15,%esi 3929 orl %esi,%eax 3930 shrl $15,%ebp 3931 movl %ecx,%esi 3932 shrl $15,%esi 3933 movl %eax,100(%edi) 3934 shll $17,%ecx 3935 orl %esi,%ebx 3936 orl %ebp,%ecx 3937 movl %ebx,104(%edi) 3938 movl %ecx,108(%edi) 3939 movl -128(%edi),%edx 3940 movl -124(%edi),%eax 3941 movl -120(%edi),%ebx 3942 movl -116(%edi),%ecx 3943 movl %eax,%ebp 3944 shll $13,%eax 3945 movl %ebx,%esi 3946 shrl $19,%esi 3947 shll $13,%ebx 3948 orl %esi,%eax 3949 movl %ecx,%esi 3950 shll $13,%ecx 3951 movl %eax,-32(%edi) 3952 shrl $19,%esi 3953 orl %esi,%ebx 3954 shrl $19,%ebp 3955 movl %edx,%esi 3956 shrl $19,%esi 3957 movl %ebx,-28(%edi) 3958 shll $13,%edx 3959 orl %esi,%ecx 3960 orl %ebp,%edx 3961 movl %ecx,-24(%edi) 3962 movl %edx,-20(%edi) 3963 movl %eax,%ebp 3964 shll $15,%eax 3965 movl %ebx,%esi 3966 shrl $17,%esi 3967 shll $15,%ebx 3968 orl %esi,%eax 3969 movl %ecx,%esi 3970 shll $15,%ecx 3971 movl %eax,(%edi) 3972 shrl $17,%esi 3973 orl %esi,%ebx 3974 shrl $17,%ebp 3975 movl %edx,%esi 3976 shrl $17,%esi 3977 movl %ebx,4(%edi) 3978 shll $15,%edx 3979 orl %esi,%ecx 3980 orl %ebp,%edx 3981 movl %ecx,8(%edi) 3982 movl %edx,12(%edi) 3983 movl %eax,%ebp 3984 shll $17,%eax 3985 movl %ebx,%esi 3986 shrl $15,%esi 3987 shll $17,%ebx 3988 orl %esi,%eax 3989 movl %ecx,%esi 3990 shll $17,%ecx 3991 movl %eax,48(%edi) 3992 shrl $15,%esi 3993 orl %esi,%ebx 3994 shrl $15,%ebp 3995 movl %edx,%esi 3996 shrl $15,%esi 3997 movl %ebx,52(%edi) 3998 shll $17,%edx 3999 orl %esi,%ecx 4000 orl %ebp,%edx 4001 movl %ecx,56(%edi) 4002 movl %edx,60(%edi) 4003 movl %ebx,%ebp 4004 shll $2,%ebx 4005 movl %ecx,%esi 4006 shrl $30,%esi 4007 shll $2,%ecx 4008 orl %esi,%ebx 4009 movl %edx,%esi 4010 shll $2,%edx 4011 movl %ebx,112(%edi) 4012 shrl $30,%esi 4013 orl %esi,%ecx 4014 shrl $30,%ebp 4015 movl %eax,%esi 4016 shrl $30,%esi 4017 movl %ecx,116(%edi) 4018 shll $2,%eax 4019 orl %esi,%edx 4020 orl %ebp,%eax 4021 movl %edx,120(%edi) 4022 movl %eax,124(%edi) 4023 movl $4,%eax 4024.L013done: 4025 leal 144(%edi),%edx 4026 addl $16,%esp 4027 popl %edi 4028 popl %esi 4029 popl %ebx 4030 popl %ebp 4031 ret 4032.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin 4033.globl Camellia_set_key 4034.type Camellia_set_key,@function 4035.align 16 4036Camellia_set_key: 4037.L_Camellia_set_key_begin: 4038 #ifdef __CET__ 4039 4040.byte 243,15,30,251 4041 #endif 4042 4043 pushl %ebx 4044 movl 8(%esp),%ecx 4045 movl 12(%esp),%ebx 4046 movl 16(%esp),%edx 4047 movl $-1,%eax 4048 testl %ecx,%ecx 4049 jz .L014done 4050 testl %edx,%edx 4051 jz .L014done 4052 movl $-2,%eax 4053 cmpl $256,%ebx 4054 je .L015arg_ok 4055 cmpl $192,%ebx 4056 je .L015arg_ok 4057 cmpl $128,%ebx 4058 jne .L014done 4059.align 4 4060.L015arg_ok: 4061 pushl %edx 4062 pushl %ecx 4063 pushl %ebx 4064 call .L_Camellia_Ekeygen_begin 4065 addl $12,%esp 4066 movl %eax,(%edx) 4067 xorl %eax,%eax 4068.align 4 4069.L014done: 4070 popl %ebx 4071 ret 4072.size Camellia_set_key,.-.L_Camellia_set_key_begin 4073.align 64 4074.LCamellia_SIGMA: 4075.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0 4076.align 64 4077.LCamellia_SBOX: 4078.long 1886416896,1886388336 4079.long 2189591040,741081132 4080.long 741092352,3014852787 4081.long 3974949888,3233808576 4082.long 3014898432,3840147684 4083.long 656877312,1465319511 4084.long 3233857536,3941204202 4085.long 3857048832,2930639022 4086.long 3840205824,589496355 4087.long 2240120064,1802174571 4088.long 1465341696,1162149957 4089.long 892679424,2779054245 4090.long 3941263872,3991732461 4091.long 202116096,1330577487 4092.long 2930683392,488439837 4093.long 1094795520,2459041938 4094.long 589505280,2256928902 4095.long 4025478912,2947481775 4096.long 1802201856,2088501372 4097.long 2475922176,522125343 4098.long 1162167552,1044250686 4099.long 421075200,3705405660 4100.long 2779096320,1583218782 4101.long 555819264,185270283 4102.long 3991792896,2795896998 4103.long 235802112,960036921 4104.long 1330597632,3587506389 4105.long 1313754624,1566376029 4106.long 488447232,3654877401 4107.long 1701143808,1515847770 4108.long 2459079168,1364262993 4109.long 3183328512,1819017324 4110.long 2256963072,2341142667 4111.long 3099113472,2593783962 4112.long 2947526400,4227531003 4113.long 2408550144,2964324528 4114.long 2088532992,1953759348 4115.long 3958106880,724238379 4116.long 522133248,4042260720 4117.long 3469659648,2223243396 4118.long 1044266496,3755933919 4119.long 808464384,3419078859 4120.long 3705461760,875823156 4121.long 1600085760,1987444854 4122.long 1583242752,1835860077 4123.long 3318072576,2846425257 4124.long 185273088,3520135377 4125.long 437918208,67371012 4126.long 2795939328,336855060 4127.long 3789676800,976879674 4128.long 960051456,3739091166 4129.long 3402287616,286326801 4130.long 3587560704,842137650 4131.long 1195853568,2627469468 4132.long 1566399744,1397948499 4133.long 1027423488,4075946226 4134.long 3654932736,4278059262 4135.long 16843008,3486449871 4136.long 1515870720,3284336835 4137.long 3604403712,2054815866 4138.long 1364283648,606339108 4139.long 1448498688,3907518696 4140.long 1819044864,1616904288 4141.long 1296911616,1768489065 4142.long 2341178112,2863268010 4143.long 218959104,2694840480 4144.long 2593823232,2711683233 4145.long 1717986816,1650589794 4146.long 4227595008,1414791252 4147.long 3435973632,505282590 4148.long 2964369408,3772776672 4149.long 757935360,1684275300 4150.long 1953788928,269484048 4151.long 303174144,0 4152.long 724249344,2745368739 4153.long 538976256,1970602101 4154.long 4042321920,2324299914 4155.long 2981212416,3873833190 4156.long 2223277056,151584777 4157.long 2576980224,3722248413 4158.long 3755990784,2273771655 4159.long 1280068608,2206400643 4160.long 3419130624,3452764365 4161.long 3267543552,2425356432 4162.long 875836416,1936916595 4163.long 2122219008,4143317238 4164.long 1987474944,2644312221 4165.long 84215040,3216965823 4166.long 1835887872,1381105746 4167.long 3082270464,3638034648 4168.long 2846468352,3368550600 4169.long 825307392,3334865094 4170.long 3520188672,2172715137 4171.long 387389184,1869545583 4172.long 67372032,320012307 4173.long 3621246720,1667432547 4174.long 336860160,3924361449 4175.long 1482184704,2812739751 4176.long 976894464,2677997727 4177.long 1633771776,3166437564 4178.long 3739147776,690552873 4179.long 454761216,4193845497 4180.long 286331136,791609391 4181.long 471604224,3031695540 4182.long 842150400,2021130360 4183.long 252645120,101056518 4184.long 2627509248,3890675943 4185.long 370546176,1903231089 4186.long 1397969664,3570663636 4187.long 404232192,2880110763 4188.long 4076007936,2290614408 4189.long 572662272,2374828173 4190.long 4278124032,1920073842 4191.long 1145324544,3115909305 4192.long 3486502656,4177002744 4193.long 2998055424,2896953516 4194.long 3284386560,909508662 4195.long 3048584448,707395626 4196.long 2054846976,1010565180 4197.long 2442236160,4059103473 4198.long 606348288,1077936192 4199.long 134744064,3553820883 4200.long 3907577856,3149594811 4201.long 2829625344,1128464451 4202.long 1616928768,353697813 4203.long 4244438016,2913796269 4204.long 1768515840,2004287607 4205.long 1347440640,2155872384 4206.long 2863311360,2189557890 4207.long 3503345664,3974889708 4208.long 2694881280,656867367 4209.long 2105376000,3856990437 4210.long 2711724288,2240086149 4211.long 2307492096,892665909 4212.long 1650614784,202113036 4213.long 2543294208,1094778945 4214.long 1414812672,4025417967 4215.long 1532713728,2475884691 4216.long 505290240,421068825 4217.long 2509608192,555810849 4218.long 3772833792,235798542 4219.long 4294967040,1313734734 4220.long 1684300800,1701118053 4221.long 3537031680,3183280317 4222.long 269488128,3099066552 4223.long 3301229568,2408513679 4224.long 0,3958046955 4225.long 1212696576,3469607118 4226.long 2745410304,808452144 4227.long 4160222976,1600061535 4228.long 1970631936,3318022341 4229.long 3688618752,437911578 4230.long 2324335104,3789619425 4231.long 50529024,3402236106 4232.long 3873891840,1195835463 4233.long 3671775744,1027407933 4234.long 151587072,16842753 4235.long 1061109504,3604349142 4236.long 3722304768,1448476758 4237.long 2492765184,1296891981 4238.long 2273806080,218955789 4239.long 1549556736,1717960806 4240.long 2206434048,3435921612 4241.long 33686016,757923885 4242.long 3452816640,303169554 4243.long 1246382592,538968096 4244.long 2425393152,2981167281 4245.long 858993408,2576941209 4246.long 1936945920,1280049228 4247.long 1734829824,3267494082 4248.long 4143379968,2122186878 4249.long 4092850944,84213765 4250.long 2644352256,3082223799 4251.long 2139062016,825294897 4252.long 3217014528,387383319 4253.long 3806519808,3621191895 4254.long 1381126656,1482162264 4255.long 2610666240,1633747041 4256.long 3638089728,454754331 4257.long 640034304,471597084 4258.long 3368601600,252641295 4259.long 926365440,370540566 4260.long 3334915584,404226072 4261.long 993737472,572653602 4262.long 2172748032,1145307204 4263.long 2526451200,2998010034 4264.long 1869573888,3048538293 4265.long 1263225600,2442199185 4266.long 320017152,134742024 4267.long 3200171520,2829582504 4268.long 1667457792,4244373756 4269.long 774778368,1347420240 4270.long 3924420864,3503292624 4271.long 2038003968,2105344125 4272.long 2812782336,2307457161 4273.long 2358021120,2543255703 4274.long 2678038272,1532690523 4275.long 1852730880,2509570197 4276.long 3166485504,4294902015 4277.long 2391707136,3536978130 4278.long 690563328,3301179588 4279.long 4126536960,1212678216 4280.long 4193908992,4160159991 4281.long 3065427456,3688562907 4282.long 791621376,50528259 4283.long 4261281024,3671720154 4284.long 3031741440,1061093439 4285.long 1499027712,2492727444 4286.long 2021160960,1549533276 4287.long 2560137216,33685506 4288.long 101058048,1246363722 4289.long 1785358848,858980403 4290.long 3890734848,1734803559 4291.long 1179010560,4092788979 4292.long 1903259904,2139029631 4293.long 3132799488,3806462178 4294.long 3570717696,2610626715 4295.long 623191296,640024614 4296.long 2880154368,926351415 4297.long 1111638528,993722427 4298.long 2290649088,2526412950 4299.long 2728567296,1263206475 4300.long 2374864128,3200123070 4301.long 4210752000,774766638 4302.long 1920102912,2037973113 4303.long 117901056,2357985420 4304.long 3115956480,1852702830 4305.long 1431655680,2391670926 4306.long 4177065984,4126474485 4307.long 4008635904,3065381046 4308.long 2896997376,4261216509 4309.long 168430080,1499005017 4310.long 909522432,2560098456 4311.long 1229539584,1785331818 4312.long 707406336,1178992710 4313.long 1751672832,3132752058 4314.long 1010580480,623181861 4315.long 943208448,1111621698 4316.long 4059164928,2728525986 4317.long 2762253312,4210688250 4318.long 1077952512,117899271 4319.long 673720320,1431634005 4320.long 3553874688,4008575214 4321.long 2071689984,168427530 4322.long 3149642496,1229520969 4323.long 3385444608,1751646312 4324.long 1128481536,943194168 4325.long 3250700544,2762211492 4326.long 353703168,673710120 4327.long 3823362816,2071658619 4328.long 2913840384,3385393353 4329.long 4109693952,3250651329 4330.long 2004317952,3823304931 4331.long 3351758592,4109631732 4332.long 2155905024,3351707847 4333.long 2661195264,2661154974 4334.long 14737632,939538488 4335.long 328965,1090535745 4336.long 5789784,369104406 4337.long 14277081,1979741814 4338.long 6776679,3640711641 4339.long 5131854,2466288531 4340.long 8487297,1610637408 4341.long 13355979,4060148466 4342.long 13224393,1912631922 4343.long 723723,3254829762 4344.long 11447982,2868947883 4345.long 6974058,2583730842 4346.long 14013909,1962964341 4347.long 1579032,100664838 4348.long 6118749,1459640151 4349.long 8553090,2684395680 4350.long 4605510,2432733585 4351.long 14671839,4144035831 4352.long 14079702,3036722613 4353.long 2565927,3372272073 4354.long 9079434,2717950626 4355.long 3289650,2348846220 4356.long 4934475,3523269330 4357.long 4342338,2415956112 4358.long 14408667,4127258358 4359.long 1842204,117442311 4360.long 10395294,2801837991 4361.long 10263708,654321447 4362.long 3815994,2382401166 4363.long 13290186,2986390194 4364.long 2434341,1224755529 4365.long 8092539,3724599006 4366.long 855309,1124090691 4367.long 7434609,1543527516 4368.long 6250335,3607156695 4369.long 2039583,3338717127 4370.long 16316664,1040203326 4371.long 14145495,4110480885 4372.long 4079166,2399178639 4373.long 10329501,1728079719 4374.long 8158332,520101663 4375.long 6316128,402659352 4376.long 12171705,1845522030 4377.long 12500670,2936057775 4378.long 12369084,788541231 4379.long 9145227,3791708898 4380.long 1447446,2231403909 4381.long 3421236,218107149 4382.long 5066061,1392530259 4383.long 12829635,4026593520 4384.long 7500402,2617285788 4385.long 9803157,1694524773 4386.long 11250603,3925928682 4387.long 9342606,2734728099 4388.long 12237498,2919280302 4389.long 8026746,2650840734 4390.long 11776947,3959483628 4391.long 131586,2147516544 4392.long 11842740,754986285 4393.long 11382189,1795189611 4394.long 10658466,2818615464 4395.long 11316396,721431339 4396.long 14211288,905983542 4397.long 10132122,2785060518 4398.long 1513239,3305162181 4399.long 1710618,2248181382 4400.long 3487029,1291865421 4401.long 13421772,855651123 4402.long 16250871,4244700669 4403.long 10066329,1711302246 4404.long 6381921,1476417624 4405.long 5921370,2516620950 4406.long 15263976,973093434 4407.long 2368548,150997257 4408.long 5658198,2499843477 4409.long 4210752,268439568 4410.long 14803425,2013296760 4411.long 6513507,3623934168 4412.long 592137,1107313218 4413.long 3355443,3422604492 4414.long 12566463,4009816047 4415.long 10000536,637543974 4416.long 9934743,3842041317 4417.long 8750469,1627414881 4418.long 6842472,436214298 4419.long 16579836,1056980799 4420.long 15527148,989870907 4421.long 657930,2181071490 4422.long 14342874,3053500086 4423.long 7303023,3674266587 4424.long 5460819,3556824276 4425.long 6447714,2550175896 4426.long 10724259,3892373736 4427.long 3026478,2332068747 4428.long 526344,33554946 4429.long 11513775,3942706155 4430.long 2631720,167774730 4431.long 11579568,738208812 4432.long 7631988,486546717 4433.long 12763842,2952835248 4434.long 12434877,1862299503 4435.long 3552822,2365623693 4436.long 2236962,2281736328 4437.long 3684408,234884622 4438.long 6579300,419436825 4439.long 1973790,2264958855 4440.long 3750201,1308642894 4441.long 2894892,184552203 4442.long 10921638,2835392937 4443.long 3158064,201329676 4444.long 15066597,2030074233 4445.long 4473924,285217041 4446.long 16645629,2130739071 4447.long 8947848,570434082 4448.long 10461087,3875596263 4449.long 6645093,1493195097 4450.long 8882055,3774931425 4451.long 7039851,3657489114 4452.long 16053492,1023425853 4453.long 2302755,3355494600 4454.long 4737096,301994514 4455.long 1052688,67109892 4456.long 13750737,1946186868 4457.long 5329233,1409307732 4458.long 12632256,805318704 4459.long 16382457,2113961598 4460.long 13816530,3019945140 4461.long 10526880,671098920 4462.long 5592405,1426085205 4463.long 10592673,1744857192 4464.long 4276545,1342197840 4465.long 16448250,3187719870 4466.long 4408131,3489714384 4467.long 1250067,3288384708 4468.long 12895428,822096177 4469.long 3092271,3405827019 4470.long 11053224,704653866 4471.long 11974326,2902502829 4472.long 3947580,251662095 4473.long 2829099,3389049546 4474.long 12698049,1879076976 4475.long 16777215,4278255615 4476.long 13158600,838873650 4477.long 10855845,1761634665 4478.long 2105376,134219784 4479.long 9013641,1644192354 4480.long 0,0 4481.long 9474192,603989028 4482.long 4671303,3506491857 4483.long 15724527,4211145723 4484.long 15395562,3120609978 4485.long 12040119,3976261101 4486.long 1381653,1157645637 4487.long 394758,2164294017 4488.long 13487565,1929409395 4489.long 11908533,1828744557 4490.long 1184274,2214626436 4491.long 8289918,2667618207 4492.long 12303291,3993038574 4493.long 2697513,1241533002 4494.long 986895,3271607235 4495.long 12105912,771763758 4496.long 460551,3238052289 4497.long 263172,16777473 4498.long 10197915,3858818790 4499.long 9737364,620766501 4500.long 2171169,1207978056 4501.long 6710886,2566953369 4502.long 15132390,3103832505 4503.long 13553358,3003167667 4504.long 15592941,2063629179 4505.long 15198183,4177590777 4506.long 3881787,3456159438 4507.long 16711422,3204497343 4508.long 8355711,3741376479 4509.long 12961221,1895854449 4510.long 10790052,687876393 4511.long 3618615,3439381965 4512.long 11645361,1811967084 4513.long 5000268,318771987 4514.long 9539985,1677747300 4515.long 7237230,2600508315 4516.long 9276813,1660969827 4517.long 7763574,2634063261 4518.long 197379,3221274816 4519.long 2960685,1258310475 4520.long 14606046,3070277559 4521.long 9868950,2768283045 4522.long 2500134,2298513801 4523.long 8224125,1593859935 4524.long 13027014,2969612721 4525.long 6052956,385881879 4526.long 13882323,4093703412 4527.long 15921906,3154164924 4528.long 5197647,3540046803 4529.long 1644825,1174423110 4530.long 4144959,3472936911 4531.long 14474460,922761015 4532.long 7960953,1577082462 4533.long 1907997,1191200583 4534.long 5395026,2483066004 4535.long 15461355,4194368250 4536.long 15987699,4227923196 4537.long 7171437,1526750043 4538.long 6184542,2533398423 4539.long 16514043,4261478142 4540.long 6908265,1509972570 4541.long 11711154,2885725356 4542.long 15790320,1006648380 4543.long 3223857,1275087948 4544.long 789516,50332419 4545.long 13948116,889206069 4546.long 13619151,4076925939 4547.long 9211020,587211555 4548.long 14869218,3087055032 4549.long 7697781,1560304989 4550.long 11119017,1778412138 4551.long 4868682,2449511058 4552.long 5723991,3573601749 4553.long 8684676,553656609 4554.long 1118481,1140868164 4555.long 4539717,1358975313 4556.long 1776411,3321939654 4557.long 16119285,2097184125 4558.long 15000804,956315961 4559.long 921102,2197848963 4560.long 7566195,3691044060 4561.long 11184810,2852170410 4562.long 15856113,2080406652 4563.long 14540253,1996519287 4564.long 5855577,1442862678 4565.long 1315860,83887365 4566.long 7105644,452991771 4567.long 9605778,2751505572 4568.long 5526612,352326933 4569.long 13684944,872428596 4570.long 7895160,503324190 4571.long 7368816,469769244 4572.long 14935011,4160813304 4573.long 4802889,1375752786 4574.long 8421504,536879136 4575.long 5263440,335549460 4576.long 10987431,3909151209 4577.long 16185078,3170942397 4578.long 7829367,3707821533 4579.long 9671571,3825263844 4580.long 8816262,2701173153 4581.long 8618883,3758153952 4582.long 2763306,2315291274 4583.long 13092807,4043370993 4584.long 5987163,3590379222 4585.long 15329769,2046851706 4586.long 15658734,3137387451 4587.long 9408399,3808486371 4588.long 65793,1073758272 4589.long 4013373,1325420367 4590.globl Camellia_cbc_encrypt 4591.type Camellia_cbc_encrypt,@function 4592.align 16 4593Camellia_cbc_encrypt: 4594.L_Camellia_cbc_encrypt_begin: 4595 #ifdef __CET__ 4596 4597.byte 243,15,30,251 4598 #endif 4599 4600 pushl %ebp 4601 pushl %ebx 4602 pushl %esi 4603 pushl %edi 4604 movl 28(%esp),%ecx 4605 cmpl $0,%ecx 4606 je .L016enc_out 4607 pushfl 4608 cld 4609 movl 24(%esp),%eax 4610 movl 28(%esp),%ebx 4611 movl 36(%esp),%edx 4612 movl 40(%esp),%ebp 4613 leal -64(%esp),%esi 4614 andl $-64,%esi 4615 leal -127(%edx),%edi 4616 subl %esi,%edi 4617 negl %edi 4618 andl $960,%edi 4619 subl %edi,%esi 4620 movl 44(%esp),%edi 4621 xchgl %esi,%esp 4622 addl $4,%esp 4623 movl %esi,20(%esp) 4624 movl %eax,24(%esp) 4625 movl %ebx,28(%esp) 4626 movl %ecx,32(%esp) 4627 movl %edx,36(%esp) 4628 movl %ebp,40(%esp) 4629 call .L017pic_point 4630.L017pic_point: 4631 popl %ebp 4632 leal .LCamellia_SBOX-.L017pic_point(%ebp),%ebp 4633 movl $32,%esi 4634.align 4 4635.L018prefetch_sbox: 4636 movl (%ebp),%eax 4637 movl 32(%ebp),%ebx 4638 movl 64(%ebp),%ecx 4639 movl 96(%ebp),%edx 4640 leal 128(%ebp),%ebp 4641 decl %esi 4642 jnz .L018prefetch_sbox 4643 movl 36(%esp),%eax 4644 subl $4096,%ebp 4645 movl 24(%esp),%esi 4646 movl 272(%eax),%edx 4647 cmpl $0,%edi 4648 je .L019DECRYPT 4649 movl 32(%esp),%ecx 4650 movl 40(%esp),%edi 4651 shll $6,%edx 4652 leal (%eax,%edx,1),%edx 4653 movl %edx,16(%esp) 4654 testl $4294967280,%ecx 4655 jz .L020enc_tail 4656 movl (%edi),%eax 4657 movl 4(%edi),%ebx 4658.align 4 4659.L021enc_loop: 4660 movl 8(%edi),%ecx 4661 movl 12(%edi),%edx 4662 xorl (%esi),%eax 4663 xorl 4(%esi),%ebx 4664 xorl 8(%esi),%ecx 4665 bswap %eax 4666 xorl 12(%esi),%edx 4667 bswap %ebx 4668 movl 36(%esp),%edi 4669 bswap %ecx 4670 bswap %edx 4671 call _x86_Camellia_encrypt 4672 movl 24(%esp),%esi 4673 movl 28(%esp),%edi 4674 bswap %eax 4675 bswap %ebx 4676 bswap %ecx 4677 movl %eax,(%edi) 4678 bswap %edx 4679 movl %ebx,4(%edi) 4680 movl %ecx,8(%edi) 4681 movl %edx,12(%edi) 4682 movl 32(%esp),%ecx 4683 leal 16(%esi),%esi 4684 movl %esi,24(%esp) 4685 leal 16(%edi),%edx 4686 movl %edx,28(%esp) 4687 subl $16,%ecx 4688 testl $4294967280,%ecx 4689 movl %ecx,32(%esp) 4690 jnz .L021enc_loop 4691 testl $15,%ecx 4692 jnz .L020enc_tail 4693 movl 40(%esp),%esi 4694 movl 8(%edi),%ecx 4695 movl 12(%edi),%edx 4696 movl %eax,(%esi) 4697 movl %ebx,4(%esi) 4698 movl %ecx,8(%esi) 4699 movl %edx,12(%esi) 4700 movl 20(%esp),%esp 4701 popfl 4702.L016enc_out: 4703 popl %edi 4704 popl %esi 4705 popl %ebx 4706 popl %ebp 4707 ret 4708 pushfl 4709.align 4 4710.L020enc_tail: 4711 movl %edi,%eax 4712 movl 28(%esp),%edi 4713 pushl %eax 4714 movl $16,%ebx 4715 subl %ecx,%ebx 4716 cmpl %esi,%edi 4717 je .L022enc_in_place 4718.align 4 4719.long 2767451785 4720 jmp .L023enc_skip_in_place 4721.L022enc_in_place: 4722 leal (%edi,%ecx,1),%edi 4723.L023enc_skip_in_place: 4724 movl %ebx,%ecx 4725 xorl %eax,%eax 4726.align 4 4727.long 2868115081 4728 popl %edi 4729 movl 28(%esp),%esi 4730 movl (%edi),%eax 4731 movl 4(%edi),%ebx 4732 movl $16,32(%esp) 4733 jmp .L021enc_loop 4734.align 16 4735.L019DECRYPT: 4736 shll $6,%edx 4737 leal (%eax,%edx,1),%edx 4738 movl %eax,16(%esp) 4739 movl %edx,36(%esp) 4740 cmpl 28(%esp),%esi 4741 je .L024dec_in_place 4742 movl 40(%esp),%edi 4743 movl %edi,44(%esp) 4744.align 4 4745.L025dec_loop: 4746 movl (%esi),%eax 4747 movl 4(%esi),%ebx 4748 movl 8(%esi),%ecx 4749 bswap %eax 4750 movl 12(%esi),%edx 4751 bswap %ebx 4752 movl 36(%esp),%edi 4753 bswap %ecx 4754 bswap %edx 4755 call _x86_Camellia_decrypt 4756 movl 44(%esp),%edi 4757 movl 32(%esp),%esi 4758 bswap %eax 4759 bswap %ebx 4760 bswap %ecx 4761 xorl (%edi),%eax 4762 bswap %edx 4763 xorl 4(%edi),%ebx 4764 xorl 8(%edi),%ecx 4765 xorl 12(%edi),%edx 4766 subl $16,%esi 4767 jc .L026dec_partial 4768 movl %esi,32(%esp) 4769 movl 24(%esp),%esi 4770 movl 28(%esp),%edi 4771 movl %eax,(%edi) 4772 movl %ebx,4(%edi) 4773 movl %ecx,8(%edi) 4774 movl %edx,12(%edi) 4775 movl %esi,44(%esp) 4776 leal 16(%esi),%esi 4777 movl %esi,24(%esp) 4778 leal 16(%edi),%edi 4779 movl %edi,28(%esp) 4780 jnz .L025dec_loop 4781 movl 44(%esp),%edi 4782.L027dec_end: 4783 movl 40(%esp),%esi 4784 movl (%edi),%eax 4785 movl 4(%edi),%ebx 4786 movl 8(%edi),%ecx 4787 movl 12(%edi),%edx 4788 movl %eax,(%esi) 4789 movl %ebx,4(%esi) 4790 movl %ecx,8(%esi) 4791 movl %edx,12(%esi) 4792 jmp .L028dec_out 4793.align 4 4794.L026dec_partial: 4795 leal 44(%esp),%edi 4796 movl %eax,(%edi) 4797 movl %ebx,4(%edi) 4798 movl %ecx,8(%edi) 4799 movl %edx,12(%edi) 4800 leal 16(%esi),%ecx 4801 movl %edi,%esi 4802 movl 28(%esp),%edi 4803.long 2767451785 4804 movl 24(%esp),%edi 4805 jmp .L027dec_end 4806.align 4 4807.L024dec_in_place: 4808.L029dec_in_place_loop: 4809 leal 44(%esp),%edi 4810 movl (%esi),%eax 4811 movl 4(%esi),%ebx 4812 movl 8(%esi),%ecx 4813 movl 12(%esi),%edx 4814 movl %eax,(%edi) 4815 movl %ebx,4(%edi) 4816 movl %ecx,8(%edi) 4817 bswap %eax 4818 movl %edx,12(%edi) 4819 bswap %ebx 4820 movl 36(%esp),%edi 4821 bswap %ecx 4822 bswap %edx 4823 call _x86_Camellia_decrypt 4824 movl 40(%esp),%edi 4825 movl 28(%esp),%esi 4826 bswap %eax 4827 bswap %ebx 4828 bswap %ecx 4829 xorl (%edi),%eax 4830 bswap %edx 4831 xorl 4(%edi),%ebx 4832 xorl 8(%edi),%ecx 4833 xorl 12(%edi),%edx 4834 movl %eax,(%esi) 4835 movl %ebx,4(%esi) 4836 movl %ecx,8(%esi) 4837 movl %edx,12(%esi) 4838 leal 16(%esi),%esi 4839 movl %esi,28(%esp) 4840 leal 44(%esp),%esi 4841 movl (%esi),%eax 4842 movl 4(%esi),%ebx 4843 movl 8(%esi),%ecx 4844 movl 12(%esi),%edx 4845 movl %eax,(%edi) 4846 movl %ebx,4(%edi) 4847 movl %ecx,8(%edi) 4848 movl %edx,12(%edi) 4849 movl 24(%esp),%esi 4850 leal 16(%esi),%esi 4851 movl %esi,24(%esp) 4852 movl 32(%esp),%ecx 4853 subl $16,%ecx 4854 jc .L030dec_in_place_partial 4855 movl %ecx,32(%esp) 4856 jnz .L029dec_in_place_loop 4857 jmp .L028dec_out 4858.align 4 4859.L030dec_in_place_partial: 4860 movl 28(%esp),%edi 4861 leal 44(%esp),%esi 4862 leal (%edi,%ecx,1),%edi 4863 leal 16(%esi,%ecx,1),%esi 4864 negl %ecx 4865.long 2767451785 4866.align 4 4867.L028dec_out: 4868 movl 20(%esp),%esp 4869 popfl 4870 popl %edi 4871 popl %esi 4872 popl %ebx 4873 popl %ebp 4874 ret 4875.size Camellia_cbc_encrypt,.-.L_Camellia_cbc_encrypt_begin 4876.byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 4877.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 4878.byte 115,108,46,111,114,103,62,0 4879 4880 .section ".note.gnu.property", "a" 4881 .p2align 2 4882 .long 1f - 0f 4883 .long 4f - 1f 4884 .long 5 48850: 4886 .asciz "GNU" 48871: 4888 .p2align 2 4889 .long 0xc0000002 4890 .long 3f - 2f 48912: 4892 .long 3 48933: 4894 .p2align 2 48954: 4896#endif 4897