1/* Do not modify. This file is auto-generated from cmll-x86_64.pl. */ 2.text 3 4 5.globl Camellia_EncryptBlock 6.type Camellia_EncryptBlock,@function 7.align 16 8Camellia_EncryptBlock: 9.cfi_startproc 10 movl $128,%eax 11 subl %edi,%eax 12 movl $3,%edi 13 adcl $0,%edi 14 jmp .Lenc_rounds 15.cfi_endproc 16.size Camellia_EncryptBlock,.-Camellia_EncryptBlock 17 18.globl Camellia_EncryptBlock_Rounds 19.type Camellia_EncryptBlock_Rounds,@function 20.align 16 21.Lenc_rounds: 22Camellia_EncryptBlock_Rounds: 23.cfi_startproc 24 pushq %rbx 25.cfi_adjust_cfa_offset 8 26.cfi_offset %rbx,-16 27 pushq %rbp 28.cfi_adjust_cfa_offset 8 29.cfi_offset %rbp,-24 30 pushq %r13 31.cfi_adjust_cfa_offset 8 32.cfi_offset %r13,-32 33 pushq %r14 34.cfi_adjust_cfa_offset 8 35.cfi_offset %r14,-40 36 pushq %r15 37.cfi_adjust_cfa_offset 8 38.cfi_offset %r15,-48 39.Lenc_prologue: 40 41 42 movq %rcx,%r13 43 movq %rdx,%r14 44 45 shll $6,%edi 46 leaq .LCamellia_SBOX(%rip),%rbp 47 leaq (%r14,%rdi,1),%r15 48 49 movl 0(%rsi),%r8d 50 movl 4(%rsi),%r9d 51 movl 8(%rsi),%r10d 52 bswapl %r8d 53 movl 12(%rsi),%r11d 54 bswapl %r9d 55 bswapl %r10d 56 bswapl %r11d 57 58 call _x86_64_Camellia_encrypt 59 60 bswapl %r8d 61 bswapl %r9d 62 bswapl %r10d 63 movl %r8d,0(%r13) 64 bswapl %r11d 65 movl %r9d,4(%r13) 66 movl %r10d,8(%r13) 67 movl %r11d,12(%r13) 68 69 movq 0(%rsp),%r15 70.cfi_restore %r15 71 movq 8(%rsp),%r14 72.cfi_restore %r14 73 movq 16(%rsp),%r13 74.cfi_restore %r13 75 movq 24(%rsp),%rbp 76.cfi_restore %rbp 77 movq 32(%rsp),%rbx 78.cfi_restore %rbx 79 leaq 40(%rsp),%rsp 80.cfi_adjust_cfa_offset -40 81.Lenc_epilogue: 82 .byte 0xf3,0xc3 83.cfi_endproc 84.size Camellia_EncryptBlock_Rounds,.-Camellia_EncryptBlock_Rounds 85 86.type _x86_64_Camellia_encrypt,@function 87.align 16 88_x86_64_Camellia_encrypt: 89.cfi_startproc 90 xorl 0(%r14),%r9d 91 xorl 4(%r14),%r8d 92 xorl 8(%r14),%r11d 93 xorl 12(%r14),%r10d 94.align 16 95.Leloop: 96 movl 16(%r14),%ebx 97 movl 20(%r14),%eax 98 99 xorl %r8d,%eax 100 xorl %r9d,%ebx 101 movzbl %ah,%esi 102 movzbl %bl,%edi 103 movl 2052(%rbp,%rsi,8),%edx 104 movl 0(%rbp,%rdi,8),%ecx 105 movzbl %al,%esi 106 shrl $16,%eax 107 movzbl %bh,%edi 108 xorl 4(%rbp,%rsi,8),%edx 109 shrl $16,%ebx 110 xorl 4(%rbp,%rdi,8),%ecx 111 movzbl %ah,%esi 112 movzbl %bl,%edi 113 xorl 0(%rbp,%rsi,8),%edx 114 xorl 2052(%rbp,%rdi,8),%ecx 115 movzbl %al,%esi 116 movzbl %bh,%edi 117 xorl 2048(%rbp,%rsi,8),%edx 118 xorl 2048(%rbp,%rdi,8),%ecx 119 movl 24(%r14),%ebx 120 movl 28(%r14),%eax 121 xorl %edx,%ecx 122 rorl $8,%edx 123 xorl %ecx,%r10d 124 xorl %ecx,%r11d 125 xorl %edx,%r11d 126 xorl %r10d,%eax 127 xorl %r11d,%ebx 128 movzbl %ah,%esi 129 movzbl %bl,%edi 130 movl 2052(%rbp,%rsi,8),%edx 131 movl 0(%rbp,%rdi,8),%ecx 132 movzbl %al,%esi 133 shrl $16,%eax 134 movzbl %bh,%edi 135 xorl 4(%rbp,%rsi,8),%edx 136 shrl $16,%ebx 137 xorl 4(%rbp,%rdi,8),%ecx 138 movzbl %ah,%esi 139 movzbl %bl,%edi 140 xorl 0(%rbp,%rsi,8),%edx 141 xorl 2052(%rbp,%rdi,8),%ecx 142 movzbl %al,%esi 143 movzbl %bh,%edi 144 xorl 2048(%rbp,%rsi,8),%edx 145 xorl 2048(%rbp,%rdi,8),%ecx 146 movl 32(%r14),%ebx 147 movl 36(%r14),%eax 148 xorl %edx,%ecx 149 rorl $8,%edx 150 xorl %ecx,%r8d 151 xorl %ecx,%r9d 152 xorl %edx,%r9d 153 xorl %r8d,%eax 154 xorl %r9d,%ebx 155 movzbl %ah,%esi 156 movzbl %bl,%edi 157 movl 2052(%rbp,%rsi,8),%edx 158 movl 0(%rbp,%rdi,8),%ecx 159 movzbl %al,%esi 160 shrl $16,%eax 161 movzbl %bh,%edi 162 xorl 4(%rbp,%rsi,8),%edx 163 shrl $16,%ebx 164 xorl 4(%rbp,%rdi,8),%ecx 165 movzbl %ah,%esi 166 movzbl %bl,%edi 167 xorl 0(%rbp,%rsi,8),%edx 168 xorl 2052(%rbp,%rdi,8),%ecx 169 movzbl %al,%esi 170 movzbl %bh,%edi 171 xorl 2048(%rbp,%rsi,8),%edx 172 xorl 2048(%rbp,%rdi,8),%ecx 173 movl 40(%r14),%ebx 174 movl 44(%r14),%eax 175 xorl %edx,%ecx 176 rorl $8,%edx 177 xorl %ecx,%r10d 178 xorl %ecx,%r11d 179 xorl %edx,%r11d 180 xorl %r10d,%eax 181 xorl %r11d,%ebx 182 movzbl %ah,%esi 183 movzbl %bl,%edi 184 movl 2052(%rbp,%rsi,8),%edx 185 movl 0(%rbp,%rdi,8),%ecx 186 movzbl %al,%esi 187 shrl $16,%eax 188 movzbl %bh,%edi 189 xorl 4(%rbp,%rsi,8),%edx 190 shrl $16,%ebx 191 xorl 4(%rbp,%rdi,8),%ecx 192 movzbl %ah,%esi 193 movzbl %bl,%edi 194 xorl 0(%rbp,%rsi,8),%edx 195 xorl 2052(%rbp,%rdi,8),%ecx 196 movzbl %al,%esi 197 movzbl %bh,%edi 198 xorl 2048(%rbp,%rsi,8),%edx 199 xorl 2048(%rbp,%rdi,8),%ecx 200 movl 48(%r14),%ebx 201 movl 52(%r14),%eax 202 xorl %edx,%ecx 203 rorl $8,%edx 204 xorl %ecx,%r8d 205 xorl %ecx,%r9d 206 xorl %edx,%r9d 207 xorl %r8d,%eax 208 xorl %r9d,%ebx 209 movzbl %ah,%esi 210 movzbl %bl,%edi 211 movl 2052(%rbp,%rsi,8),%edx 212 movl 0(%rbp,%rdi,8),%ecx 213 movzbl %al,%esi 214 shrl $16,%eax 215 movzbl %bh,%edi 216 xorl 4(%rbp,%rsi,8),%edx 217 shrl $16,%ebx 218 xorl 4(%rbp,%rdi,8),%ecx 219 movzbl %ah,%esi 220 movzbl %bl,%edi 221 xorl 0(%rbp,%rsi,8),%edx 222 xorl 2052(%rbp,%rdi,8),%ecx 223 movzbl %al,%esi 224 movzbl %bh,%edi 225 xorl 2048(%rbp,%rsi,8),%edx 226 xorl 2048(%rbp,%rdi,8),%ecx 227 movl 56(%r14),%ebx 228 movl 60(%r14),%eax 229 xorl %edx,%ecx 230 rorl $8,%edx 231 xorl %ecx,%r10d 232 xorl %ecx,%r11d 233 xorl %edx,%r11d 234 xorl %r10d,%eax 235 xorl %r11d,%ebx 236 movzbl %ah,%esi 237 movzbl %bl,%edi 238 movl 2052(%rbp,%rsi,8),%edx 239 movl 0(%rbp,%rdi,8),%ecx 240 movzbl %al,%esi 241 shrl $16,%eax 242 movzbl %bh,%edi 243 xorl 4(%rbp,%rsi,8),%edx 244 shrl $16,%ebx 245 xorl 4(%rbp,%rdi,8),%ecx 246 movzbl %ah,%esi 247 movzbl %bl,%edi 248 xorl 0(%rbp,%rsi,8),%edx 249 xorl 2052(%rbp,%rdi,8),%ecx 250 movzbl %al,%esi 251 movzbl %bh,%edi 252 xorl 2048(%rbp,%rsi,8),%edx 253 xorl 2048(%rbp,%rdi,8),%ecx 254 movl 64(%r14),%ebx 255 movl 68(%r14),%eax 256 xorl %edx,%ecx 257 rorl $8,%edx 258 xorl %ecx,%r8d 259 xorl %ecx,%r9d 260 xorl %edx,%r9d 261 leaq 64(%r14),%r14 262 cmpq %r15,%r14 263 movl 8(%r14),%edx 264 movl 12(%r14),%ecx 265 je .Ledone 266 267 andl %r8d,%eax 268 orl %r11d,%edx 269 roll $1,%eax 270 xorl %edx,%r10d 271 xorl %eax,%r9d 272 andl %r10d,%ecx 273 orl %r9d,%ebx 274 roll $1,%ecx 275 xorl %ebx,%r8d 276 xorl %ecx,%r11d 277 jmp .Leloop 278 279.align 16 280.Ledone: 281 xorl %r10d,%eax 282 xorl %r11d,%ebx 283 xorl %r8d,%ecx 284 xorl %r9d,%edx 285 286 movl %eax,%r8d 287 movl %ebx,%r9d 288 movl %ecx,%r10d 289 movl %edx,%r11d 290 291.byte 0xf3,0xc3 292.cfi_endproc 293.size _x86_64_Camellia_encrypt,.-_x86_64_Camellia_encrypt 294 295 296.globl Camellia_DecryptBlock 297.type Camellia_DecryptBlock,@function 298.align 16 299Camellia_DecryptBlock: 300.cfi_startproc 301 movl $128,%eax 302 subl %edi,%eax 303 movl $3,%edi 304 adcl $0,%edi 305 jmp .Ldec_rounds 306.cfi_endproc 307.size Camellia_DecryptBlock,.-Camellia_DecryptBlock 308 309.globl Camellia_DecryptBlock_Rounds 310.type Camellia_DecryptBlock_Rounds,@function 311.align 16 312.Ldec_rounds: 313Camellia_DecryptBlock_Rounds: 314.cfi_startproc 315 pushq %rbx 316.cfi_adjust_cfa_offset 8 317.cfi_offset %rbx,-16 318 pushq %rbp 319.cfi_adjust_cfa_offset 8 320.cfi_offset %rbp,-24 321 pushq %r13 322.cfi_adjust_cfa_offset 8 323.cfi_offset %r13,-32 324 pushq %r14 325.cfi_adjust_cfa_offset 8 326.cfi_offset %r14,-40 327 pushq %r15 328.cfi_adjust_cfa_offset 8 329.cfi_offset %r15,-48 330.Ldec_prologue: 331 332 333 movq %rcx,%r13 334 movq %rdx,%r15 335 336 shll $6,%edi 337 leaq .LCamellia_SBOX(%rip),%rbp 338 leaq (%r15,%rdi,1),%r14 339 340 movl 0(%rsi),%r8d 341 movl 4(%rsi),%r9d 342 movl 8(%rsi),%r10d 343 bswapl %r8d 344 movl 12(%rsi),%r11d 345 bswapl %r9d 346 bswapl %r10d 347 bswapl %r11d 348 349 call _x86_64_Camellia_decrypt 350 351 bswapl %r8d 352 bswapl %r9d 353 bswapl %r10d 354 movl %r8d,0(%r13) 355 bswapl %r11d 356 movl %r9d,4(%r13) 357 movl %r10d,8(%r13) 358 movl %r11d,12(%r13) 359 360 movq 0(%rsp),%r15 361.cfi_restore %r15 362 movq 8(%rsp),%r14 363.cfi_restore %r14 364 movq 16(%rsp),%r13 365.cfi_restore %r13 366 movq 24(%rsp),%rbp 367.cfi_restore %rbp 368 movq 32(%rsp),%rbx 369.cfi_restore %rbx 370 leaq 40(%rsp),%rsp 371.cfi_adjust_cfa_offset -40 372.Ldec_epilogue: 373 .byte 0xf3,0xc3 374.cfi_endproc 375.size Camellia_DecryptBlock_Rounds,.-Camellia_DecryptBlock_Rounds 376 377.type _x86_64_Camellia_decrypt,@function 378.align 16 379_x86_64_Camellia_decrypt: 380.cfi_startproc 381 xorl 0(%r14),%r9d 382 xorl 4(%r14),%r8d 383 xorl 8(%r14),%r11d 384 xorl 12(%r14),%r10d 385.align 16 386.Ldloop: 387 movl -8(%r14),%ebx 388 movl -4(%r14),%eax 389 390 xorl %r8d,%eax 391 xorl %r9d,%ebx 392 movzbl %ah,%esi 393 movzbl %bl,%edi 394 movl 2052(%rbp,%rsi,8),%edx 395 movl 0(%rbp,%rdi,8),%ecx 396 movzbl %al,%esi 397 shrl $16,%eax 398 movzbl %bh,%edi 399 xorl 4(%rbp,%rsi,8),%edx 400 shrl $16,%ebx 401 xorl 4(%rbp,%rdi,8),%ecx 402 movzbl %ah,%esi 403 movzbl %bl,%edi 404 xorl 0(%rbp,%rsi,8),%edx 405 xorl 2052(%rbp,%rdi,8),%ecx 406 movzbl %al,%esi 407 movzbl %bh,%edi 408 xorl 2048(%rbp,%rsi,8),%edx 409 xorl 2048(%rbp,%rdi,8),%ecx 410 movl -16(%r14),%ebx 411 movl -12(%r14),%eax 412 xorl %edx,%ecx 413 rorl $8,%edx 414 xorl %ecx,%r10d 415 xorl %ecx,%r11d 416 xorl %edx,%r11d 417 xorl %r10d,%eax 418 xorl %r11d,%ebx 419 movzbl %ah,%esi 420 movzbl %bl,%edi 421 movl 2052(%rbp,%rsi,8),%edx 422 movl 0(%rbp,%rdi,8),%ecx 423 movzbl %al,%esi 424 shrl $16,%eax 425 movzbl %bh,%edi 426 xorl 4(%rbp,%rsi,8),%edx 427 shrl $16,%ebx 428 xorl 4(%rbp,%rdi,8),%ecx 429 movzbl %ah,%esi 430 movzbl %bl,%edi 431 xorl 0(%rbp,%rsi,8),%edx 432 xorl 2052(%rbp,%rdi,8),%ecx 433 movzbl %al,%esi 434 movzbl %bh,%edi 435 xorl 2048(%rbp,%rsi,8),%edx 436 xorl 2048(%rbp,%rdi,8),%ecx 437 movl -24(%r14),%ebx 438 movl -20(%r14),%eax 439 xorl %edx,%ecx 440 rorl $8,%edx 441 xorl %ecx,%r8d 442 xorl %ecx,%r9d 443 xorl %edx,%r9d 444 xorl %r8d,%eax 445 xorl %r9d,%ebx 446 movzbl %ah,%esi 447 movzbl %bl,%edi 448 movl 2052(%rbp,%rsi,8),%edx 449 movl 0(%rbp,%rdi,8),%ecx 450 movzbl %al,%esi 451 shrl $16,%eax 452 movzbl %bh,%edi 453 xorl 4(%rbp,%rsi,8),%edx 454 shrl $16,%ebx 455 xorl 4(%rbp,%rdi,8),%ecx 456 movzbl %ah,%esi 457 movzbl %bl,%edi 458 xorl 0(%rbp,%rsi,8),%edx 459 xorl 2052(%rbp,%rdi,8),%ecx 460 movzbl %al,%esi 461 movzbl %bh,%edi 462 xorl 2048(%rbp,%rsi,8),%edx 463 xorl 2048(%rbp,%rdi,8),%ecx 464 movl -32(%r14),%ebx 465 movl -28(%r14),%eax 466 xorl %edx,%ecx 467 rorl $8,%edx 468 xorl %ecx,%r10d 469 xorl %ecx,%r11d 470 xorl %edx,%r11d 471 xorl %r10d,%eax 472 xorl %r11d,%ebx 473 movzbl %ah,%esi 474 movzbl %bl,%edi 475 movl 2052(%rbp,%rsi,8),%edx 476 movl 0(%rbp,%rdi,8),%ecx 477 movzbl %al,%esi 478 shrl $16,%eax 479 movzbl %bh,%edi 480 xorl 4(%rbp,%rsi,8),%edx 481 shrl $16,%ebx 482 xorl 4(%rbp,%rdi,8),%ecx 483 movzbl %ah,%esi 484 movzbl %bl,%edi 485 xorl 0(%rbp,%rsi,8),%edx 486 xorl 2052(%rbp,%rdi,8),%ecx 487 movzbl %al,%esi 488 movzbl %bh,%edi 489 xorl 2048(%rbp,%rsi,8),%edx 490 xorl 2048(%rbp,%rdi,8),%ecx 491 movl -40(%r14),%ebx 492 movl -36(%r14),%eax 493 xorl %edx,%ecx 494 rorl $8,%edx 495 xorl %ecx,%r8d 496 xorl %ecx,%r9d 497 xorl %edx,%r9d 498 xorl %r8d,%eax 499 xorl %r9d,%ebx 500 movzbl %ah,%esi 501 movzbl %bl,%edi 502 movl 2052(%rbp,%rsi,8),%edx 503 movl 0(%rbp,%rdi,8),%ecx 504 movzbl %al,%esi 505 shrl $16,%eax 506 movzbl %bh,%edi 507 xorl 4(%rbp,%rsi,8),%edx 508 shrl $16,%ebx 509 xorl 4(%rbp,%rdi,8),%ecx 510 movzbl %ah,%esi 511 movzbl %bl,%edi 512 xorl 0(%rbp,%rsi,8),%edx 513 xorl 2052(%rbp,%rdi,8),%ecx 514 movzbl %al,%esi 515 movzbl %bh,%edi 516 xorl 2048(%rbp,%rsi,8),%edx 517 xorl 2048(%rbp,%rdi,8),%ecx 518 movl -48(%r14),%ebx 519 movl -44(%r14),%eax 520 xorl %edx,%ecx 521 rorl $8,%edx 522 xorl %ecx,%r10d 523 xorl %ecx,%r11d 524 xorl %edx,%r11d 525 xorl %r10d,%eax 526 xorl %r11d,%ebx 527 movzbl %ah,%esi 528 movzbl %bl,%edi 529 movl 2052(%rbp,%rsi,8),%edx 530 movl 0(%rbp,%rdi,8),%ecx 531 movzbl %al,%esi 532 shrl $16,%eax 533 movzbl %bh,%edi 534 xorl 4(%rbp,%rsi,8),%edx 535 shrl $16,%ebx 536 xorl 4(%rbp,%rdi,8),%ecx 537 movzbl %ah,%esi 538 movzbl %bl,%edi 539 xorl 0(%rbp,%rsi,8),%edx 540 xorl 2052(%rbp,%rdi,8),%ecx 541 movzbl %al,%esi 542 movzbl %bh,%edi 543 xorl 2048(%rbp,%rsi,8),%edx 544 xorl 2048(%rbp,%rdi,8),%ecx 545 movl -56(%r14),%ebx 546 movl -52(%r14),%eax 547 xorl %edx,%ecx 548 rorl $8,%edx 549 xorl %ecx,%r8d 550 xorl %ecx,%r9d 551 xorl %edx,%r9d 552 leaq -64(%r14),%r14 553 cmpq %r15,%r14 554 movl 0(%r14),%edx 555 movl 4(%r14),%ecx 556 je .Lddone 557 558 andl %r8d,%eax 559 orl %r11d,%edx 560 roll $1,%eax 561 xorl %edx,%r10d 562 xorl %eax,%r9d 563 andl %r10d,%ecx 564 orl %r9d,%ebx 565 roll $1,%ecx 566 xorl %ebx,%r8d 567 xorl %ecx,%r11d 568 569 jmp .Ldloop 570 571.align 16 572.Lddone: 573 xorl %r10d,%ecx 574 xorl %r11d,%edx 575 xorl %r8d,%eax 576 xorl %r9d,%ebx 577 578 movl %ecx,%r8d 579 movl %edx,%r9d 580 movl %eax,%r10d 581 movl %ebx,%r11d 582 583.byte 0xf3,0xc3 584.cfi_endproc 585.size _x86_64_Camellia_decrypt,.-_x86_64_Camellia_decrypt 586.globl Camellia_Ekeygen 587.type Camellia_Ekeygen,@function 588.align 16 589Camellia_Ekeygen: 590.cfi_startproc 591 pushq %rbx 592.cfi_adjust_cfa_offset 8 593.cfi_offset %rbx,-16 594 pushq %rbp 595.cfi_adjust_cfa_offset 8 596.cfi_offset %rbp,-24 597 pushq %r13 598.cfi_adjust_cfa_offset 8 599.cfi_offset %r13,-32 600 pushq %r14 601.cfi_adjust_cfa_offset 8 602.cfi_offset %r14,-40 603 pushq %r15 604.cfi_adjust_cfa_offset 8 605.cfi_offset %r15,-48 606.Lkey_prologue: 607 608 movl %edi,%r15d 609 movq %rdx,%r13 610 611 movl 0(%rsi),%r8d 612 movl 4(%rsi),%r9d 613 movl 8(%rsi),%r10d 614 movl 12(%rsi),%r11d 615 616 bswapl %r8d 617 bswapl %r9d 618 bswapl %r10d 619 bswapl %r11d 620 movl %r9d,0(%r13) 621 movl %r8d,4(%r13) 622 movl %r11d,8(%r13) 623 movl %r10d,12(%r13) 624 cmpq $128,%r15 625 je .L1st128 626 627 movl 16(%rsi),%r8d 628 movl 20(%rsi),%r9d 629 cmpq $192,%r15 630 je .L1st192 631 movl 24(%rsi),%r10d 632 movl 28(%rsi),%r11d 633 jmp .L1st256 634.L1st192: 635 movl %r8d,%r10d 636 movl %r9d,%r11d 637 notl %r10d 638 notl %r11d 639.L1st256: 640 bswapl %r8d 641 bswapl %r9d 642 bswapl %r10d 643 bswapl %r11d 644 movl %r9d,32(%r13) 645 movl %r8d,36(%r13) 646 movl %r11d,40(%r13) 647 movl %r10d,44(%r13) 648 xorl 0(%r13),%r9d 649 xorl 4(%r13),%r8d 650 xorl 8(%r13),%r11d 651 xorl 12(%r13),%r10d 652 653.L1st128: 654 leaq .LCamellia_SIGMA(%rip),%r14 655 leaq .LCamellia_SBOX(%rip),%rbp 656 657 movl 0(%r14),%ebx 658 movl 4(%r14),%eax 659 xorl %r8d,%eax 660 xorl %r9d,%ebx 661 movzbl %ah,%esi 662 movzbl %bl,%edi 663 movl 2052(%rbp,%rsi,8),%edx 664 movl 0(%rbp,%rdi,8),%ecx 665 movzbl %al,%esi 666 shrl $16,%eax 667 movzbl %bh,%edi 668 xorl 4(%rbp,%rsi,8),%edx 669 shrl $16,%ebx 670 xorl 4(%rbp,%rdi,8),%ecx 671 movzbl %ah,%esi 672 movzbl %bl,%edi 673 xorl 0(%rbp,%rsi,8),%edx 674 xorl 2052(%rbp,%rdi,8),%ecx 675 movzbl %al,%esi 676 movzbl %bh,%edi 677 xorl 2048(%rbp,%rsi,8),%edx 678 xorl 2048(%rbp,%rdi,8),%ecx 679 movl 8(%r14),%ebx 680 movl 12(%r14),%eax 681 xorl %edx,%ecx 682 rorl $8,%edx 683 xorl %ecx,%r10d 684 xorl %ecx,%r11d 685 xorl %edx,%r11d 686 xorl %r10d,%eax 687 xorl %r11d,%ebx 688 movzbl %ah,%esi 689 movzbl %bl,%edi 690 movl 2052(%rbp,%rsi,8),%edx 691 movl 0(%rbp,%rdi,8),%ecx 692 movzbl %al,%esi 693 shrl $16,%eax 694 movzbl %bh,%edi 695 xorl 4(%rbp,%rsi,8),%edx 696 shrl $16,%ebx 697 xorl 4(%rbp,%rdi,8),%ecx 698 movzbl %ah,%esi 699 movzbl %bl,%edi 700 xorl 0(%rbp,%rsi,8),%edx 701 xorl 2052(%rbp,%rdi,8),%ecx 702 movzbl %al,%esi 703 movzbl %bh,%edi 704 xorl 2048(%rbp,%rsi,8),%edx 705 xorl 2048(%rbp,%rdi,8),%ecx 706 movl 16(%r14),%ebx 707 movl 20(%r14),%eax 708 xorl %edx,%ecx 709 rorl $8,%edx 710 xorl %ecx,%r8d 711 xorl %ecx,%r9d 712 xorl %edx,%r9d 713 xorl 0(%r13),%r9d 714 xorl 4(%r13),%r8d 715 xorl 8(%r13),%r11d 716 xorl 12(%r13),%r10d 717 xorl %r8d,%eax 718 xorl %r9d,%ebx 719 movzbl %ah,%esi 720 movzbl %bl,%edi 721 movl 2052(%rbp,%rsi,8),%edx 722 movl 0(%rbp,%rdi,8),%ecx 723 movzbl %al,%esi 724 shrl $16,%eax 725 movzbl %bh,%edi 726 xorl 4(%rbp,%rsi,8),%edx 727 shrl $16,%ebx 728 xorl 4(%rbp,%rdi,8),%ecx 729 movzbl %ah,%esi 730 movzbl %bl,%edi 731 xorl 0(%rbp,%rsi,8),%edx 732 xorl 2052(%rbp,%rdi,8),%ecx 733 movzbl %al,%esi 734 movzbl %bh,%edi 735 xorl 2048(%rbp,%rsi,8),%edx 736 xorl 2048(%rbp,%rdi,8),%ecx 737 movl 24(%r14),%ebx 738 movl 28(%r14),%eax 739 xorl %edx,%ecx 740 rorl $8,%edx 741 xorl %ecx,%r10d 742 xorl %ecx,%r11d 743 xorl %edx,%r11d 744 xorl %r10d,%eax 745 xorl %r11d,%ebx 746 movzbl %ah,%esi 747 movzbl %bl,%edi 748 movl 2052(%rbp,%rsi,8),%edx 749 movl 0(%rbp,%rdi,8),%ecx 750 movzbl %al,%esi 751 shrl $16,%eax 752 movzbl %bh,%edi 753 xorl 4(%rbp,%rsi,8),%edx 754 shrl $16,%ebx 755 xorl 4(%rbp,%rdi,8),%ecx 756 movzbl %ah,%esi 757 movzbl %bl,%edi 758 xorl 0(%rbp,%rsi,8),%edx 759 xorl 2052(%rbp,%rdi,8),%ecx 760 movzbl %al,%esi 761 movzbl %bh,%edi 762 xorl 2048(%rbp,%rsi,8),%edx 763 xorl 2048(%rbp,%rdi,8),%ecx 764 movl 32(%r14),%ebx 765 movl 36(%r14),%eax 766 xorl %edx,%ecx 767 rorl $8,%edx 768 xorl %ecx,%r8d 769 xorl %ecx,%r9d 770 xorl %edx,%r9d 771 cmpq $128,%r15 772 jne .L2nd256 773 774 leaq 128(%r13),%r13 775 shlq $32,%r8 776 shlq $32,%r10 777 orq %r9,%r8 778 orq %r11,%r10 779 movq -128(%r13),%rax 780 movq -120(%r13),%rbx 781 movq %r8,-112(%r13) 782 movq %r10,-104(%r13) 783 movq %rax,%r11 784 shlq $15,%rax 785 movq %rbx,%r9 786 shrq $49,%r9 787 shrq $49,%r11 788 orq %r9,%rax 789 shlq $15,%rbx 790 orq %r11,%rbx 791 movq %rax,-96(%r13) 792 movq %rbx,-88(%r13) 793 movq %r8,%r11 794 shlq $15,%r8 795 movq %r10,%r9 796 shrq $49,%r9 797 shrq $49,%r11 798 orq %r9,%r8 799 shlq $15,%r10 800 orq %r11,%r10 801 movq %r8,-80(%r13) 802 movq %r10,-72(%r13) 803 movq %r8,%r11 804 shlq $15,%r8 805 movq %r10,%r9 806 shrq $49,%r9 807 shrq $49,%r11 808 orq %r9,%r8 809 shlq $15,%r10 810 orq %r11,%r10 811 movq %r8,-64(%r13) 812 movq %r10,-56(%r13) 813 movq %rax,%r11 814 shlq $30,%rax 815 movq %rbx,%r9 816 shrq $34,%r9 817 shrq $34,%r11 818 orq %r9,%rax 819 shlq $30,%rbx 820 orq %r11,%rbx 821 movq %rax,-48(%r13) 822 movq %rbx,-40(%r13) 823 movq %r8,%r11 824 shlq $15,%r8 825 movq %r10,%r9 826 shrq $49,%r9 827 shrq $49,%r11 828 orq %r9,%r8 829 shlq $15,%r10 830 orq %r11,%r10 831 movq %r8,-32(%r13) 832 movq %rax,%r11 833 shlq $15,%rax 834 movq %rbx,%r9 835 shrq $49,%r9 836 shrq $49,%r11 837 orq %r9,%rax 838 shlq $15,%rbx 839 orq %r11,%rbx 840 movq %rbx,-24(%r13) 841 movq %r8,%r11 842 shlq $15,%r8 843 movq %r10,%r9 844 shrq $49,%r9 845 shrq $49,%r11 846 orq %r9,%r8 847 shlq $15,%r10 848 orq %r11,%r10 849 movq %r8,-16(%r13) 850 movq %r10,-8(%r13) 851 movq %rax,%r11 852 shlq $17,%rax 853 movq %rbx,%r9 854 shrq $47,%r9 855 shrq $47,%r11 856 orq %r9,%rax 857 shlq $17,%rbx 858 orq %r11,%rbx 859 movq %rax,0(%r13) 860 movq %rbx,8(%r13) 861 movq %rax,%r11 862 shlq $17,%rax 863 movq %rbx,%r9 864 shrq $47,%r9 865 shrq $47,%r11 866 orq %r9,%rax 867 shlq $17,%rbx 868 orq %r11,%rbx 869 movq %rax,16(%r13) 870 movq %rbx,24(%r13) 871 movq %r8,%r11 872 shlq $34,%r8 873 movq %r10,%r9 874 shrq $30,%r9 875 shrq $30,%r11 876 orq %r9,%r8 877 shlq $34,%r10 878 orq %r11,%r10 879 movq %r8,32(%r13) 880 movq %r10,40(%r13) 881 movq %rax,%r11 882 shlq $17,%rax 883 movq %rbx,%r9 884 shrq $47,%r9 885 shrq $47,%r11 886 orq %r9,%rax 887 shlq $17,%rbx 888 orq %r11,%rbx 889 movq %rax,48(%r13) 890 movq %rbx,56(%r13) 891 movq %r8,%r11 892 shlq $17,%r8 893 movq %r10,%r9 894 shrq $47,%r9 895 shrq $47,%r11 896 orq %r9,%r8 897 shlq $17,%r10 898 orq %r11,%r10 899 movq %r8,64(%r13) 900 movq %r10,72(%r13) 901 movl $3,%eax 902 jmp .Ldone 903.align 16 904.L2nd256: 905 movl %r9d,48(%r13) 906 movl %r8d,52(%r13) 907 movl %r11d,56(%r13) 908 movl %r10d,60(%r13) 909 xorl 32(%r13),%r9d 910 xorl 36(%r13),%r8d 911 xorl 40(%r13),%r11d 912 xorl 44(%r13),%r10d 913 xorl %r8d,%eax 914 xorl %r9d,%ebx 915 movzbl %ah,%esi 916 movzbl %bl,%edi 917 movl 2052(%rbp,%rsi,8),%edx 918 movl 0(%rbp,%rdi,8),%ecx 919 movzbl %al,%esi 920 shrl $16,%eax 921 movzbl %bh,%edi 922 xorl 4(%rbp,%rsi,8),%edx 923 shrl $16,%ebx 924 xorl 4(%rbp,%rdi,8),%ecx 925 movzbl %ah,%esi 926 movzbl %bl,%edi 927 xorl 0(%rbp,%rsi,8),%edx 928 xorl 2052(%rbp,%rdi,8),%ecx 929 movzbl %al,%esi 930 movzbl %bh,%edi 931 xorl 2048(%rbp,%rsi,8),%edx 932 xorl 2048(%rbp,%rdi,8),%ecx 933 movl 40(%r14),%ebx 934 movl 44(%r14),%eax 935 xorl %edx,%ecx 936 rorl $8,%edx 937 xorl %ecx,%r10d 938 xorl %ecx,%r11d 939 xorl %edx,%r11d 940 xorl %r10d,%eax 941 xorl %r11d,%ebx 942 movzbl %ah,%esi 943 movzbl %bl,%edi 944 movl 2052(%rbp,%rsi,8),%edx 945 movl 0(%rbp,%rdi,8),%ecx 946 movzbl %al,%esi 947 shrl $16,%eax 948 movzbl %bh,%edi 949 xorl 4(%rbp,%rsi,8),%edx 950 shrl $16,%ebx 951 xorl 4(%rbp,%rdi,8),%ecx 952 movzbl %ah,%esi 953 movzbl %bl,%edi 954 xorl 0(%rbp,%rsi,8),%edx 955 xorl 2052(%rbp,%rdi,8),%ecx 956 movzbl %al,%esi 957 movzbl %bh,%edi 958 xorl 2048(%rbp,%rsi,8),%edx 959 xorl 2048(%rbp,%rdi,8),%ecx 960 movl 48(%r14),%ebx 961 movl 52(%r14),%eax 962 xorl %edx,%ecx 963 rorl $8,%edx 964 xorl %ecx,%r8d 965 xorl %ecx,%r9d 966 xorl %edx,%r9d 967 movq 0(%r13),%rax 968 movq 8(%r13),%rbx 969 movq 32(%r13),%rcx 970 movq 40(%r13),%rdx 971 movq 48(%r13),%r14 972 movq 56(%r13),%r15 973 leaq 128(%r13),%r13 974 shlq $32,%r8 975 shlq $32,%r10 976 orq %r9,%r8 977 orq %r11,%r10 978 movq %r8,-112(%r13) 979 movq %r10,-104(%r13) 980 movq %rcx,%r11 981 shlq $15,%rcx 982 movq %rdx,%r9 983 shrq $49,%r9 984 shrq $49,%r11 985 orq %r9,%rcx 986 shlq $15,%rdx 987 orq %r11,%rdx 988 movq %rcx,-96(%r13) 989 movq %rdx,-88(%r13) 990 movq %r14,%r11 991 shlq $15,%r14 992 movq %r15,%r9 993 shrq $49,%r9 994 shrq $49,%r11 995 orq %r9,%r14 996 shlq $15,%r15 997 orq %r11,%r15 998 movq %r14,-80(%r13) 999 movq %r15,-72(%r13) 1000 movq %rcx,%r11 1001 shlq $15,%rcx 1002 movq %rdx,%r9 1003 shrq $49,%r9 1004 shrq $49,%r11 1005 orq %r9,%rcx 1006 shlq $15,%rdx 1007 orq %r11,%rdx 1008 movq %rcx,-64(%r13) 1009 movq %rdx,-56(%r13) 1010 movq %r8,%r11 1011 shlq $30,%r8 1012 movq %r10,%r9 1013 shrq $34,%r9 1014 shrq $34,%r11 1015 orq %r9,%r8 1016 shlq $30,%r10 1017 orq %r11,%r10 1018 movq %r8,-48(%r13) 1019 movq %r10,-40(%r13) 1020 movq %rax,%r11 1021 shlq $45,%rax 1022 movq %rbx,%r9 1023 shrq $19,%r9 1024 shrq $19,%r11 1025 orq %r9,%rax 1026 shlq $45,%rbx 1027 orq %r11,%rbx 1028 movq %rax,-32(%r13) 1029 movq %rbx,-24(%r13) 1030 movq %r14,%r11 1031 shlq $30,%r14 1032 movq %r15,%r9 1033 shrq $34,%r9 1034 shrq $34,%r11 1035 orq %r9,%r14 1036 shlq $30,%r15 1037 orq %r11,%r15 1038 movq %r14,-16(%r13) 1039 movq %r15,-8(%r13) 1040 movq %rax,%r11 1041 shlq $15,%rax 1042 movq %rbx,%r9 1043 shrq $49,%r9 1044 shrq $49,%r11 1045 orq %r9,%rax 1046 shlq $15,%rbx 1047 orq %r11,%rbx 1048 movq %rax,0(%r13) 1049 movq %rbx,8(%r13) 1050 movq %rcx,%r11 1051 shlq $30,%rcx 1052 movq %rdx,%r9 1053 shrq $34,%r9 1054 shrq $34,%r11 1055 orq %r9,%rcx 1056 shlq $30,%rdx 1057 orq %r11,%rdx 1058 movq %rcx,16(%r13) 1059 movq %rdx,24(%r13) 1060 movq %r8,%r11 1061 shlq $30,%r8 1062 movq %r10,%r9 1063 shrq $34,%r9 1064 shrq $34,%r11 1065 orq %r9,%r8 1066 shlq $30,%r10 1067 orq %r11,%r10 1068 movq %r8,32(%r13) 1069 movq %r10,40(%r13) 1070 movq %rax,%r11 1071 shlq $17,%rax 1072 movq %rbx,%r9 1073 shrq $47,%r9 1074 shrq $47,%r11 1075 orq %r9,%rax 1076 shlq $17,%rbx 1077 orq %r11,%rbx 1078 movq %rax,48(%r13) 1079 movq %rbx,56(%r13) 1080 movq %r14,%r11 1081 shlq $32,%r14 1082 movq %r15,%r9 1083 shrq $32,%r9 1084 shrq $32,%r11 1085 orq %r9,%r14 1086 shlq $32,%r15 1087 orq %r11,%r15 1088 movq %r14,64(%r13) 1089 movq %r15,72(%r13) 1090 movq %rcx,%r11 1091 shlq $34,%rcx 1092 movq %rdx,%r9 1093 shrq $30,%r9 1094 shrq $30,%r11 1095 orq %r9,%rcx 1096 shlq $34,%rdx 1097 orq %r11,%rdx 1098 movq %rcx,80(%r13) 1099 movq %rdx,88(%r13) 1100 movq %r14,%r11 1101 shlq $17,%r14 1102 movq %r15,%r9 1103 shrq $47,%r9 1104 shrq $47,%r11 1105 orq %r9,%r14 1106 shlq $17,%r15 1107 orq %r11,%r15 1108 movq %r14,96(%r13) 1109 movq %r15,104(%r13) 1110 movq %rax,%r11 1111 shlq $34,%rax 1112 movq %rbx,%r9 1113 shrq $30,%r9 1114 shrq $30,%r11 1115 orq %r9,%rax 1116 shlq $34,%rbx 1117 orq %r11,%rbx 1118 movq %rax,112(%r13) 1119 movq %rbx,120(%r13) 1120 movq %r8,%r11 1121 shlq $51,%r8 1122 movq %r10,%r9 1123 shrq $13,%r9 1124 shrq $13,%r11 1125 orq %r9,%r8 1126 shlq $51,%r10 1127 orq %r11,%r10 1128 movq %r8,128(%r13) 1129 movq %r10,136(%r13) 1130 movl $4,%eax 1131.Ldone: 1132 movq 0(%rsp),%r15 1133.cfi_restore %r15 1134 movq 8(%rsp),%r14 1135.cfi_restore %r14 1136 movq 16(%rsp),%r13 1137.cfi_restore %r13 1138 movq 24(%rsp),%rbp 1139.cfi_restore %rbp 1140 movq 32(%rsp),%rbx 1141.cfi_restore %rbx 1142 leaq 40(%rsp),%rsp 1143.cfi_adjust_cfa_offset -40 1144.Lkey_epilogue: 1145 .byte 0xf3,0xc3 1146.cfi_endproc 1147.size Camellia_Ekeygen,.-Camellia_Ekeygen 1148.align 64 1149.LCamellia_SIGMA: 1150.long 0x3bcc908b, 0xa09e667f, 0x4caa73b2, 0xb67ae858 1151.long 0xe94f82be, 0xc6ef372f, 0xf1d36f1c, 0x54ff53a5 1152.long 0xde682d1d, 0x10e527fa, 0xb3e6c1fd, 0xb05688c2 1153.long 0, 0, 0, 0 1154.LCamellia_SBOX: 1155.long 0x70707000,0x70700070 1156.long 0x82828200,0x2c2c002c 1157.long 0x2c2c2c00,0xb3b300b3 1158.long 0xececec00,0xc0c000c0 1159.long 0xb3b3b300,0xe4e400e4 1160.long 0x27272700,0x57570057 1161.long 0xc0c0c000,0xeaea00ea 1162.long 0xe5e5e500,0xaeae00ae 1163.long 0xe4e4e400,0x23230023 1164.long 0x85858500,0x6b6b006b 1165.long 0x57575700,0x45450045 1166.long 0x35353500,0xa5a500a5 1167.long 0xeaeaea00,0xeded00ed 1168.long 0x0c0c0c00,0x4f4f004f 1169.long 0xaeaeae00,0x1d1d001d 1170.long 0x41414100,0x92920092 1171.long 0x23232300,0x86860086 1172.long 0xefefef00,0xafaf00af 1173.long 0x6b6b6b00,0x7c7c007c 1174.long 0x93939300,0x1f1f001f 1175.long 0x45454500,0x3e3e003e 1176.long 0x19191900,0xdcdc00dc 1177.long 0xa5a5a500,0x5e5e005e 1178.long 0x21212100,0x0b0b000b 1179.long 0xededed00,0xa6a600a6 1180.long 0x0e0e0e00,0x39390039 1181.long 0x4f4f4f00,0xd5d500d5 1182.long 0x4e4e4e00,0x5d5d005d 1183.long 0x1d1d1d00,0xd9d900d9 1184.long 0x65656500,0x5a5a005a 1185.long 0x92929200,0x51510051 1186.long 0xbdbdbd00,0x6c6c006c 1187.long 0x86868600,0x8b8b008b 1188.long 0xb8b8b800,0x9a9a009a 1189.long 0xafafaf00,0xfbfb00fb 1190.long 0x8f8f8f00,0xb0b000b0 1191.long 0x7c7c7c00,0x74740074 1192.long 0xebebeb00,0x2b2b002b 1193.long 0x1f1f1f00,0xf0f000f0 1194.long 0xcecece00,0x84840084 1195.long 0x3e3e3e00,0xdfdf00df 1196.long 0x30303000,0xcbcb00cb 1197.long 0xdcdcdc00,0x34340034 1198.long 0x5f5f5f00,0x76760076 1199.long 0x5e5e5e00,0x6d6d006d 1200.long 0xc5c5c500,0xa9a900a9 1201.long 0x0b0b0b00,0xd1d100d1 1202.long 0x1a1a1a00,0x04040004 1203.long 0xa6a6a600,0x14140014 1204.long 0xe1e1e100,0x3a3a003a 1205.long 0x39393900,0xdede00de 1206.long 0xcacaca00,0x11110011 1207.long 0xd5d5d500,0x32320032 1208.long 0x47474700,0x9c9c009c 1209.long 0x5d5d5d00,0x53530053 1210.long 0x3d3d3d00,0xf2f200f2 1211.long 0xd9d9d900,0xfefe00fe 1212.long 0x01010100,0xcfcf00cf 1213.long 0x5a5a5a00,0xc3c300c3 1214.long 0xd6d6d600,0x7a7a007a 1215.long 0x51515100,0x24240024 1216.long 0x56565600,0xe8e800e8 1217.long 0x6c6c6c00,0x60600060 1218.long 0x4d4d4d00,0x69690069 1219.long 0x8b8b8b00,0xaaaa00aa 1220.long 0x0d0d0d00,0xa0a000a0 1221.long 0x9a9a9a00,0xa1a100a1 1222.long 0x66666600,0x62620062 1223.long 0xfbfbfb00,0x54540054 1224.long 0xcccccc00,0x1e1e001e 1225.long 0xb0b0b000,0xe0e000e0 1226.long 0x2d2d2d00,0x64640064 1227.long 0x74747400,0x10100010 1228.long 0x12121200,0x00000000 1229.long 0x2b2b2b00,0xa3a300a3 1230.long 0x20202000,0x75750075 1231.long 0xf0f0f000,0x8a8a008a 1232.long 0xb1b1b100,0xe6e600e6 1233.long 0x84848400,0x09090009 1234.long 0x99999900,0xdddd00dd 1235.long 0xdfdfdf00,0x87870087 1236.long 0x4c4c4c00,0x83830083 1237.long 0xcbcbcb00,0xcdcd00cd 1238.long 0xc2c2c200,0x90900090 1239.long 0x34343400,0x73730073 1240.long 0x7e7e7e00,0xf6f600f6 1241.long 0x76767600,0x9d9d009d 1242.long 0x05050500,0xbfbf00bf 1243.long 0x6d6d6d00,0x52520052 1244.long 0xb7b7b700,0xd8d800d8 1245.long 0xa9a9a900,0xc8c800c8 1246.long 0x31313100,0xc6c600c6 1247.long 0xd1d1d100,0x81810081 1248.long 0x17171700,0x6f6f006f 1249.long 0x04040400,0x13130013 1250.long 0xd7d7d700,0x63630063 1251.long 0x14141400,0xe9e900e9 1252.long 0x58585800,0xa7a700a7 1253.long 0x3a3a3a00,0x9f9f009f 1254.long 0x61616100,0xbcbc00bc 1255.long 0xdedede00,0x29290029 1256.long 0x1b1b1b00,0xf9f900f9 1257.long 0x11111100,0x2f2f002f 1258.long 0x1c1c1c00,0xb4b400b4 1259.long 0x32323200,0x78780078 1260.long 0x0f0f0f00,0x06060006 1261.long 0x9c9c9c00,0xe7e700e7 1262.long 0x16161600,0x71710071 1263.long 0x53535300,0xd4d400d4 1264.long 0x18181800,0xabab00ab 1265.long 0xf2f2f200,0x88880088 1266.long 0x22222200,0x8d8d008d 1267.long 0xfefefe00,0x72720072 1268.long 0x44444400,0xb9b900b9 1269.long 0xcfcfcf00,0xf8f800f8 1270.long 0xb2b2b200,0xacac00ac 1271.long 0xc3c3c300,0x36360036 1272.long 0xb5b5b500,0x2a2a002a 1273.long 0x7a7a7a00,0x3c3c003c 1274.long 0x91919100,0xf1f100f1 1275.long 0x24242400,0x40400040 1276.long 0x08080800,0xd3d300d3 1277.long 0xe8e8e800,0xbbbb00bb 1278.long 0xa8a8a800,0x43430043 1279.long 0x60606000,0x15150015 1280.long 0xfcfcfc00,0xadad00ad 1281.long 0x69696900,0x77770077 1282.long 0x50505000,0x80800080 1283.long 0xaaaaaa00,0x82820082 1284.long 0xd0d0d000,0xecec00ec 1285.long 0xa0a0a000,0x27270027 1286.long 0x7d7d7d00,0xe5e500e5 1287.long 0xa1a1a100,0x85850085 1288.long 0x89898900,0x35350035 1289.long 0x62626200,0x0c0c000c 1290.long 0x97979700,0x41410041 1291.long 0x54545400,0xefef00ef 1292.long 0x5b5b5b00,0x93930093 1293.long 0x1e1e1e00,0x19190019 1294.long 0x95959500,0x21210021 1295.long 0xe0e0e000,0x0e0e000e 1296.long 0xffffff00,0x4e4e004e 1297.long 0x64646400,0x65650065 1298.long 0xd2d2d200,0xbdbd00bd 1299.long 0x10101000,0xb8b800b8 1300.long 0xc4c4c400,0x8f8f008f 1301.long 0x00000000,0xebeb00eb 1302.long 0x48484800,0xcece00ce 1303.long 0xa3a3a300,0x30300030 1304.long 0xf7f7f700,0x5f5f005f 1305.long 0x75757500,0xc5c500c5 1306.long 0xdbdbdb00,0x1a1a001a 1307.long 0x8a8a8a00,0xe1e100e1 1308.long 0x03030300,0xcaca00ca 1309.long 0xe6e6e600,0x47470047 1310.long 0xdadada00,0x3d3d003d 1311.long 0x09090900,0x01010001 1312.long 0x3f3f3f00,0xd6d600d6 1313.long 0xdddddd00,0x56560056 1314.long 0x94949400,0x4d4d004d 1315.long 0x87878700,0x0d0d000d 1316.long 0x5c5c5c00,0x66660066 1317.long 0x83838300,0xcccc00cc 1318.long 0x02020200,0x2d2d002d 1319.long 0xcdcdcd00,0x12120012 1320.long 0x4a4a4a00,0x20200020 1321.long 0x90909000,0xb1b100b1 1322.long 0x33333300,0x99990099 1323.long 0x73737300,0x4c4c004c 1324.long 0x67676700,0xc2c200c2 1325.long 0xf6f6f600,0x7e7e007e 1326.long 0xf3f3f300,0x05050005 1327.long 0x9d9d9d00,0xb7b700b7 1328.long 0x7f7f7f00,0x31310031 1329.long 0xbfbfbf00,0x17170017 1330.long 0xe2e2e200,0xd7d700d7 1331.long 0x52525200,0x58580058 1332.long 0x9b9b9b00,0x61610061 1333.long 0xd8d8d800,0x1b1b001b 1334.long 0x26262600,0x1c1c001c 1335.long 0xc8c8c800,0x0f0f000f 1336.long 0x37373700,0x16160016 1337.long 0xc6c6c600,0x18180018 1338.long 0x3b3b3b00,0x22220022 1339.long 0x81818100,0x44440044 1340.long 0x96969600,0xb2b200b2 1341.long 0x6f6f6f00,0xb5b500b5 1342.long 0x4b4b4b00,0x91910091 1343.long 0x13131300,0x08080008 1344.long 0xbebebe00,0xa8a800a8 1345.long 0x63636300,0xfcfc00fc 1346.long 0x2e2e2e00,0x50500050 1347.long 0xe9e9e900,0xd0d000d0 1348.long 0x79797900,0x7d7d007d 1349.long 0xa7a7a700,0x89890089 1350.long 0x8c8c8c00,0x97970097 1351.long 0x9f9f9f00,0x5b5b005b 1352.long 0x6e6e6e00,0x95950095 1353.long 0xbcbcbc00,0xffff00ff 1354.long 0x8e8e8e00,0xd2d200d2 1355.long 0x29292900,0xc4c400c4 1356.long 0xf5f5f500,0x48480048 1357.long 0xf9f9f900,0xf7f700f7 1358.long 0xb6b6b600,0xdbdb00db 1359.long 0x2f2f2f00,0x03030003 1360.long 0xfdfdfd00,0xdada00da 1361.long 0xb4b4b400,0x3f3f003f 1362.long 0x59595900,0x94940094 1363.long 0x78787800,0x5c5c005c 1364.long 0x98989800,0x02020002 1365.long 0x06060600,0x4a4a004a 1366.long 0x6a6a6a00,0x33330033 1367.long 0xe7e7e700,0x67670067 1368.long 0x46464600,0xf3f300f3 1369.long 0x71717100,0x7f7f007f 1370.long 0xbababa00,0xe2e200e2 1371.long 0xd4d4d400,0x9b9b009b 1372.long 0x25252500,0x26260026 1373.long 0xababab00,0x37370037 1374.long 0x42424200,0x3b3b003b 1375.long 0x88888800,0x96960096 1376.long 0xa2a2a200,0x4b4b004b 1377.long 0x8d8d8d00,0xbebe00be 1378.long 0xfafafa00,0x2e2e002e 1379.long 0x72727200,0x79790079 1380.long 0x07070700,0x8c8c008c 1381.long 0xb9b9b900,0x6e6e006e 1382.long 0x55555500,0x8e8e008e 1383.long 0xf8f8f800,0xf5f500f5 1384.long 0xeeeeee00,0xb6b600b6 1385.long 0xacacac00,0xfdfd00fd 1386.long 0x0a0a0a00,0x59590059 1387.long 0x36363600,0x98980098 1388.long 0x49494900,0x6a6a006a 1389.long 0x2a2a2a00,0x46460046 1390.long 0x68686800,0xbaba00ba 1391.long 0x3c3c3c00,0x25250025 1392.long 0x38383800,0x42420042 1393.long 0xf1f1f100,0xa2a200a2 1394.long 0xa4a4a400,0xfafa00fa 1395.long 0x40404000,0x07070007 1396.long 0x28282800,0x55550055 1397.long 0xd3d3d300,0xeeee00ee 1398.long 0x7b7b7b00,0x0a0a000a 1399.long 0xbbbbbb00,0x49490049 1400.long 0xc9c9c900,0x68680068 1401.long 0x43434300,0x38380038 1402.long 0xc1c1c100,0xa4a400a4 1403.long 0x15151500,0x28280028 1404.long 0xe3e3e300,0x7b7b007b 1405.long 0xadadad00,0xc9c900c9 1406.long 0xf4f4f400,0xc1c100c1 1407.long 0x77777700,0xe3e300e3 1408.long 0xc7c7c700,0xf4f400f4 1409.long 0x80808000,0xc7c700c7 1410.long 0x9e9e9e00,0x9e9e009e 1411.long 0x00e0e0e0,0x38003838 1412.long 0x00050505,0x41004141 1413.long 0x00585858,0x16001616 1414.long 0x00d9d9d9,0x76007676 1415.long 0x00676767,0xd900d9d9 1416.long 0x004e4e4e,0x93009393 1417.long 0x00818181,0x60006060 1418.long 0x00cbcbcb,0xf200f2f2 1419.long 0x00c9c9c9,0x72007272 1420.long 0x000b0b0b,0xc200c2c2 1421.long 0x00aeaeae,0xab00abab 1422.long 0x006a6a6a,0x9a009a9a 1423.long 0x00d5d5d5,0x75007575 1424.long 0x00181818,0x06000606 1425.long 0x005d5d5d,0x57005757 1426.long 0x00828282,0xa000a0a0 1427.long 0x00464646,0x91009191 1428.long 0x00dfdfdf,0xf700f7f7 1429.long 0x00d6d6d6,0xb500b5b5 1430.long 0x00272727,0xc900c9c9 1431.long 0x008a8a8a,0xa200a2a2 1432.long 0x00323232,0x8c008c8c 1433.long 0x004b4b4b,0xd200d2d2 1434.long 0x00424242,0x90009090 1435.long 0x00dbdbdb,0xf600f6f6 1436.long 0x001c1c1c,0x07000707 1437.long 0x009e9e9e,0xa700a7a7 1438.long 0x009c9c9c,0x27002727 1439.long 0x003a3a3a,0x8e008e8e 1440.long 0x00cacaca,0xb200b2b2 1441.long 0x00252525,0x49004949 1442.long 0x007b7b7b,0xde00dede 1443.long 0x000d0d0d,0x43004343 1444.long 0x00717171,0x5c005c5c 1445.long 0x005f5f5f,0xd700d7d7 1446.long 0x001f1f1f,0xc700c7c7 1447.long 0x00f8f8f8,0x3e003e3e 1448.long 0x00d7d7d7,0xf500f5f5 1449.long 0x003e3e3e,0x8f008f8f 1450.long 0x009d9d9d,0x67006767 1451.long 0x007c7c7c,0x1f001f1f 1452.long 0x00606060,0x18001818 1453.long 0x00b9b9b9,0x6e006e6e 1454.long 0x00bebebe,0xaf00afaf 1455.long 0x00bcbcbc,0x2f002f2f 1456.long 0x008b8b8b,0xe200e2e2 1457.long 0x00161616,0x85008585 1458.long 0x00343434,0x0d000d0d 1459.long 0x004d4d4d,0x53005353 1460.long 0x00c3c3c3,0xf000f0f0 1461.long 0x00727272,0x9c009c9c 1462.long 0x00959595,0x65006565 1463.long 0x00ababab,0xea00eaea 1464.long 0x008e8e8e,0xa300a3a3 1465.long 0x00bababa,0xae00aeae 1466.long 0x007a7a7a,0x9e009e9e 1467.long 0x00b3b3b3,0xec00ecec 1468.long 0x00020202,0x80008080 1469.long 0x00b4b4b4,0x2d002d2d 1470.long 0x00adadad,0x6b006b6b 1471.long 0x00a2a2a2,0xa800a8a8 1472.long 0x00acacac,0x2b002b2b 1473.long 0x00d8d8d8,0x36003636 1474.long 0x009a9a9a,0xa600a6a6 1475.long 0x00171717,0xc500c5c5 1476.long 0x001a1a1a,0x86008686 1477.long 0x00353535,0x4d004d4d 1478.long 0x00cccccc,0x33003333 1479.long 0x00f7f7f7,0xfd00fdfd 1480.long 0x00999999,0x66006666 1481.long 0x00616161,0x58005858 1482.long 0x005a5a5a,0x96009696 1483.long 0x00e8e8e8,0x3a003a3a 1484.long 0x00242424,0x09000909 1485.long 0x00565656,0x95009595 1486.long 0x00404040,0x10001010 1487.long 0x00e1e1e1,0x78007878 1488.long 0x00636363,0xd800d8d8 1489.long 0x00090909,0x42004242 1490.long 0x00333333,0xcc00cccc 1491.long 0x00bfbfbf,0xef00efef 1492.long 0x00989898,0x26002626 1493.long 0x00979797,0xe500e5e5 1494.long 0x00858585,0x61006161 1495.long 0x00686868,0x1a001a1a 1496.long 0x00fcfcfc,0x3f003f3f 1497.long 0x00ececec,0x3b003b3b 1498.long 0x000a0a0a,0x82008282 1499.long 0x00dadada,0xb600b6b6 1500.long 0x006f6f6f,0xdb00dbdb 1501.long 0x00535353,0xd400d4d4 1502.long 0x00626262,0x98009898 1503.long 0x00a3a3a3,0xe800e8e8 1504.long 0x002e2e2e,0x8b008b8b 1505.long 0x00080808,0x02000202 1506.long 0x00afafaf,0xeb00ebeb 1507.long 0x00282828,0x0a000a0a 1508.long 0x00b0b0b0,0x2c002c2c 1509.long 0x00747474,0x1d001d1d 1510.long 0x00c2c2c2,0xb000b0b0 1511.long 0x00bdbdbd,0x6f006f6f 1512.long 0x00363636,0x8d008d8d 1513.long 0x00222222,0x88008888 1514.long 0x00383838,0x0e000e0e 1515.long 0x00646464,0x19001919 1516.long 0x001e1e1e,0x87008787 1517.long 0x00393939,0x4e004e4e 1518.long 0x002c2c2c,0x0b000b0b 1519.long 0x00a6a6a6,0xa900a9a9 1520.long 0x00303030,0x0c000c0c 1521.long 0x00e5e5e5,0x79007979 1522.long 0x00444444,0x11001111 1523.long 0x00fdfdfd,0x7f007f7f 1524.long 0x00888888,0x22002222 1525.long 0x009f9f9f,0xe700e7e7 1526.long 0x00656565,0x59005959 1527.long 0x00878787,0xe100e1e1 1528.long 0x006b6b6b,0xda00dada 1529.long 0x00f4f4f4,0x3d003d3d 1530.long 0x00232323,0xc800c8c8 1531.long 0x00484848,0x12001212 1532.long 0x00101010,0x04000404 1533.long 0x00d1d1d1,0x74007474 1534.long 0x00515151,0x54005454 1535.long 0x00c0c0c0,0x30003030 1536.long 0x00f9f9f9,0x7e007e7e 1537.long 0x00d2d2d2,0xb400b4b4 1538.long 0x00a0a0a0,0x28002828 1539.long 0x00555555,0x55005555 1540.long 0x00a1a1a1,0x68006868 1541.long 0x00414141,0x50005050 1542.long 0x00fafafa,0xbe00bebe 1543.long 0x00434343,0xd000d0d0 1544.long 0x00131313,0xc400c4c4 1545.long 0x00c4c4c4,0x31003131 1546.long 0x002f2f2f,0xcb00cbcb 1547.long 0x00a8a8a8,0x2a002a2a 1548.long 0x00b6b6b6,0xad00adad 1549.long 0x003c3c3c,0x0f000f0f 1550.long 0x002b2b2b,0xca00caca 1551.long 0x00c1c1c1,0x70007070 1552.long 0x00ffffff,0xff00ffff 1553.long 0x00c8c8c8,0x32003232 1554.long 0x00a5a5a5,0x69006969 1555.long 0x00202020,0x08000808 1556.long 0x00898989,0x62006262 1557.long 0x00000000,0x00000000 1558.long 0x00909090,0x24002424 1559.long 0x00474747,0xd100d1d1 1560.long 0x00efefef,0xfb00fbfb 1561.long 0x00eaeaea,0xba00baba 1562.long 0x00b7b7b7,0xed00eded 1563.long 0x00151515,0x45004545 1564.long 0x00060606,0x81008181 1565.long 0x00cdcdcd,0x73007373 1566.long 0x00b5b5b5,0x6d006d6d 1567.long 0x00121212,0x84008484 1568.long 0x007e7e7e,0x9f009f9f 1569.long 0x00bbbbbb,0xee00eeee 1570.long 0x00292929,0x4a004a4a 1571.long 0x000f0f0f,0xc300c3c3 1572.long 0x00b8b8b8,0x2e002e2e 1573.long 0x00070707,0xc100c1c1 1574.long 0x00040404,0x01000101 1575.long 0x009b9b9b,0xe600e6e6 1576.long 0x00949494,0x25002525 1577.long 0x00212121,0x48004848 1578.long 0x00666666,0x99009999 1579.long 0x00e6e6e6,0xb900b9b9 1580.long 0x00cecece,0xb300b3b3 1581.long 0x00ededed,0x7b007b7b 1582.long 0x00e7e7e7,0xf900f9f9 1583.long 0x003b3b3b,0xce00cece 1584.long 0x00fefefe,0xbf00bfbf 1585.long 0x007f7f7f,0xdf00dfdf 1586.long 0x00c5c5c5,0x71007171 1587.long 0x00a4a4a4,0x29002929 1588.long 0x00373737,0xcd00cdcd 1589.long 0x00b1b1b1,0x6c006c6c 1590.long 0x004c4c4c,0x13001313 1591.long 0x00919191,0x64006464 1592.long 0x006e6e6e,0x9b009b9b 1593.long 0x008d8d8d,0x63006363 1594.long 0x00767676,0x9d009d9d 1595.long 0x00030303,0xc000c0c0 1596.long 0x002d2d2d,0x4b004b4b 1597.long 0x00dedede,0xb700b7b7 1598.long 0x00969696,0xa500a5a5 1599.long 0x00262626,0x89008989 1600.long 0x007d7d7d,0x5f005f5f 1601.long 0x00c6c6c6,0xb100b1b1 1602.long 0x005c5c5c,0x17001717 1603.long 0x00d3d3d3,0xf400f4f4 1604.long 0x00f2f2f2,0xbc00bcbc 1605.long 0x004f4f4f,0xd300d3d3 1606.long 0x00191919,0x46004646 1607.long 0x003f3f3f,0xcf00cfcf 1608.long 0x00dcdcdc,0x37003737 1609.long 0x00797979,0x5e005e5e 1610.long 0x001d1d1d,0x47004747 1611.long 0x00525252,0x94009494 1612.long 0x00ebebeb,0xfa00fafa 1613.long 0x00f3f3f3,0xfc00fcfc 1614.long 0x006d6d6d,0x5b005b5b 1615.long 0x005e5e5e,0x97009797 1616.long 0x00fbfbfb,0xfe00fefe 1617.long 0x00696969,0x5a005a5a 1618.long 0x00b2b2b2,0xac00acac 1619.long 0x00f0f0f0,0x3c003c3c 1620.long 0x00313131,0x4c004c4c 1621.long 0x000c0c0c,0x03000303 1622.long 0x00d4d4d4,0x35003535 1623.long 0x00cfcfcf,0xf300f3f3 1624.long 0x008c8c8c,0x23002323 1625.long 0x00e2e2e2,0xb800b8b8 1626.long 0x00757575,0x5d005d5d 1627.long 0x00a9a9a9,0x6a006a6a 1628.long 0x004a4a4a,0x92009292 1629.long 0x00575757,0xd500d5d5 1630.long 0x00848484,0x21002121 1631.long 0x00111111,0x44004444 1632.long 0x00454545,0x51005151 1633.long 0x001b1b1b,0xc600c6c6 1634.long 0x00f5f5f5,0x7d007d7d 1635.long 0x00e4e4e4,0x39003939 1636.long 0x000e0e0e,0x83008383 1637.long 0x00737373,0xdc00dcdc 1638.long 0x00aaaaaa,0xaa00aaaa 1639.long 0x00f1f1f1,0x7c007c7c 1640.long 0x00dddddd,0x77007777 1641.long 0x00595959,0x56005656 1642.long 0x00141414,0x05000505 1643.long 0x006c6c6c,0x1b001b1b 1644.long 0x00929292,0xa400a4a4 1645.long 0x00545454,0x15001515 1646.long 0x00d0d0d0,0x34003434 1647.long 0x00787878,0x1e001e1e 1648.long 0x00707070,0x1c001c1c 1649.long 0x00e3e3e3,0xf800f8f8 1650.long 0x00494949,0x52005252 1651.long 0x00808080,0x20002020 1652.long 0x00505050,0x14001414 1653.long 0x00a7a7a7,0xe900e9e9 1654.long 0x00f6f6f6,0xbd00bdbd 1655.long 0x00777777,0xdd00dddd 1656.long 0x00939393,0xe400e4e4 1657.long 0x00868686,0xa100a1a1 1658.long 0x00838383,0xe000e0e0 1659.long 0x002a2a2a,0x8a008a8a 1660.long 0x00c7c7c7,0xf100f1f1 1661.long 0x005b5b5b,0xd600d6d6 1662.long 0x00e9e9e9,0x7a007a7a 1663.long 0x00eeeeee,0xbb00bbbb 1664.long 0x008f8f8f,0xe300e3e3 1665.long 0x00010101,0x40004040 1666.long 0x003d3d3d,0x4f004f4f 1667.globl Camellia_cbc_encrypt 1668.type Camellia_cbc_encrypt,@function 1669.align 16 1670Camellia_cbc_encrypt: 1671.cfi_startproc 1672.byte 243,15,30,250 1673 cmpq $0,%rdx 1674 je .Lcbc_abort 1675 pushq %rbx 1676.cfi_adjust_cfa_offset 8 1677.cfi_offset %rbx,-16 1678 pushq %rbp 1679.cfi_adjust_cfa_offset 8 1680.cfi_offset %rbp,-24 1681 pushq %r12 1682.cfi_adjust_cfa_offset 8 1683.cfi_offset %r12,-32 1684 pushq %r13 1685.cfi_adjust_cfa_offset 8 1686.cfi_offset %r13,-40 1687 pushq %r14 1688.cfi_adjust_cfa_offset 8 1689.cfi_offset %r14,-48 1690 pushq %r15 1691.cfi_adjust_cfa_offset 8 1692.cfi_offset %r15,-56 1693.Lcbc_prologue: 1694 1695 movq %rsp,%rbp 1696.cfi_def_cfa_register %rbp 1697 subq $64,%rsp 1698 andq $-64,%rsp 1699 1700 1701 1702 leaq -64-63(%rcx),%r10 1703 subq %rsp,%r10 1704 negq %r10 1705 andq $0x3C0,%r10 1706 subq %r10,%rsp 1707 1708 1709 movq %rdi,%r12 1710 movq %rsi,%r13 1711 movq %r8,%rbx 1712 movq %rcx,%r14 1713 movl 272(%rcx),%r15d 1714 1715 movq %r8,40(%rsp) 1716 movq %rbp,48(%rsp) 1717.cfi_escape 0x0f,0x05,0x77,0x30,0x06,0x23,0x38 1718 1719.Lcbc_body: 1720 leaq .LCamellia_SBOX(%rip),%rbp 1721 1722 movl $32,%ecx 1723.align 4 1724.Lcbc_prefetch_sbox: 1725 movq 0(%rbp),%rax 1726 movq 32(%rbp),%rsi 1727 movq 64(%rbp),%rdi 1728 movq 96(%rbp),%r11 1729 leaq 128(%rbp),%rbp 1730 loop .Lcbc_prefetch_sbox 1731 subq $4096,%rbp 1732 shlq $6,%r15 1733 movq %rdx,%rcx 1734 leaq (%r14,%r15,1),%r15 1735 1736 cmpl $0,%r9d 1737 je .LCBC_DECRYPT 1738 1739 andq $-16,%rdx 1740 andq $15,%rcx 1741 leaq (%r12,%rdx,1),%rdx 1742 movq %r14,0(%rsp) 1743 movq %rdx,8(%rsp) 1744 movq %rcx,16(%rsp) 1745 1746 cmpq %r12,%rdx 1747 movl 0(%rbx),%r8d 1748 movl 4(%rbx),%r9d 1749 movl 8(%rbx),%r10d 1750 movl 12(%rbx),%r11d 1751 je .Lcbc_enc_tail 1752 jmp .Lcbc_eloop 1753 1754.align 16 1755.Lcbc_eloop: 1756 xorl 0(%r12),%r8d 1757 xorl 4(%r12),%r9d 1758 xorl 8(%r12),%r10d 1759 bswapl %r8d 1760 xorl 12(%r12),%r11d 1761 bswapl %r9d 1762 bswapl %r10d 1763 bswapl %r11d 1764 1765 call _x86_64_Camellia_encrypt 1766 1767 movq 0(%rsp),%r14 1768 bswapl %r8d 1769 movq 8(%rsp),%rdx 1770 bswapl %r9d 1771 movq 16(%rsp),%rcx 1772 bswapl %r10d 1773 movl %r8d,0(%r13) 1774 bswapl %r11d 1775 movl %r9d,4(%r13) 1776 movl %r10d,8(%r13) 1777 leaq 16(%r12),%r12 1778 movl %r11d,12(%r13) 1779 cmpq %rdx,%r12 1780 leaq 16(%r13),%r13 1781 jne .Lcbc_eloop 1782 1783 cmpq $0,%rcx 1784 jne .Lcbc_enc_tail 1785 1786 movq 40(%rsp),%r13 1787 movl %r8d,0(%r13) 1788 movl %r9d,4(%r13) 1789 movl %r10d,8(%r13) 1790 movl %r11d,12(%r13) 1791 jmp .Lcbc_done 1792 1793.align 16 1794.Lcbc_enc_tail: 1795 xorq %rax,%rax 1796 movq %rax,0+24(%rsp) 1797 movq %rax,8+24(%rsp) 1798 movq %rax,16(%rsp) 1799 1800.Lcbc_enc_pushf: 1801 pushfq 1802 cld 1803 movq %r12,%rsi 1804 leaq 8+24(%rsp),%rdi 1805.long 0x9066A4F3 1806 popfq 1807.Lcbc_enc_popf: 1808 1809 leaq 24(%rsp),%r12 1810 leaq 16+24(%rsp),%rax 1811 movq %rax,8(%rsp) 1812 jmp .Lcbc_eloop 1813 1814.align 16 1815.LCBC_DECRYPT: 1816 xchgq %r14,%r15 1817 addq $15,%rdx 1818 andq $15,%rcx 1819 andq $-16,%rdx 1820 movq %r14,0(%rsp) 1821 leaq (%r12,%rdx,1),%rdx 1822 movq %rdx,8(%rsp) 1823 movq %rcx,16(%rsp) 1824 1825 movq (%rbx),%rax 1826 movq 8(%rbx),%rbx 1827 jmp .Lcbc_dloop 1828.align 16 1829.Lcbc_dloop: 1830 movl 0(%r12),%r8d 1831 movl 4(%r12),%r9d 1832 movl 8(%r12),%r10d 1833 bswapl %r8d 1834 movl 12(%r12),%r11d 1835 bswapl %r9d 1836 movq %rax,0+24(%rsp) 1837 bswapl %r10d 1838 movq %rbx,8+24(%rsp) 1839 bswapl %r11d 1840 1841 call _x86_64_Camellia_decrypt 1842 1843 movq 0(%rsp),%r14 1844 movq 8(%rsp),%rdx 1845 movq 16(%rsp),%rcx 1846 1847 bswapl %r8d 1848 movq (%r12),%rax 1849 bswapl %r9d 1850 movq 8(%r12),%rbx 1851 bswapl %r10d 1852 xorl 0+24(%rsp),%r8d 1853 bswapl %r11d 1854 xorl 4+24(%rsp),%r9d 1855 xorl 8+24(%rsp),%r10d 1856 leaq 16(%r12),%r12 1857 xorl 12+24(%rsp),%r11d 1858 cmpq %rdx,%r12 1859 je .Lcbc_ddone 1860 1861 movl %r8d,0(%r13) 1862 movl %r9d,4(%r13) 1863 movl %r10d,8(%r13) 1864 movl %r11d,12(%r13) 1865 1866 leaq 16(%r13),%r13 1867 jmp .Lcbc_dloop 1868 1869.align 16 1870.Lcbc_ddone: 1871 movq 40(%rsp),%rdx 1872 cmpq $0,%rcx 1873 jne .Lcbc_dec_tail 1874 1875 movl %r8d,0(%r13) 1876 movl %r9d,4(%r13) 1877 movl %r10d,8(%r13) 1878 movl %r11d,12(%r13) 1879 1880 movq %rax,(%rdx) 1881 movq %rbx,8(%rdx) 1882 jmp .Lcbc_done 1883.align 16 1884.Lcbc_dec_tail: 1885 movl %r8d,0+24(%rsp) 1886 movl %r9d,4+24(%rsp) 1887 movl %r10d,8+24(%rsp) 1888 movl %r11d,12+24(%rsp) 1889 1890.Lcbc_dec_pushf: 1891 pushfq 1892 cld 1893 leaq 8+24(%rsp),%rsi 1894 leaq (%r13),%rdi 1895.long 0x9066A4F3 1896 popfq 1897.Lcbc_dec_popf: 1898 1899 movq %rax,(%rdx) 1900 movq %rbx,8(%rdx) 1901 jmp .Lcbc_done 1902 1903.align 16 1904.Lcbc_done: 1905 movq 48(%rsp),%rcx 1906.cfi_def_cfa %rcx,56 1907 movq 0(%rcx),%r15 1908.cfi_restore %r15 1909 movq 8(%rcx),%r14 1910.cfi_restore %r14 1911 movq 16(%rcx),%r13 1912.cfi_restore %r13 1913 movq 24(%rcx),%r12 1914.cfi_restore %r12 1915 movq 32(%rcx),%rbp 1916.cfi_restore %rbp 1917 movq 40(%rcx),%rbx 1918.cfi_restore %rbx 1919 leaq 48(%rcx),%rsp 1920.cfi_def_cfa %rsp,8 1921.Lcbc_abort: 1922 .byte 0xf3,0xc3 1923.cfi_endproc 1924.size Camellia_cbc_encrypt,.-Camellia_cbc_encrypt 1925 1926.byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54,95,54,52,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 1927 .section ".note.gnu.property", "a" 1928 .p2align 3 1929 .long 1f - 0f 1930 .long 4f - 1f 1931 .long 5 19320: 1933 # "GNU" encoded with .byte, since .asciz isn't supported 1934 # on Solaris. 1935 .byte 0x47 1936 .byte 0x4e 1937 .byte 0x55 1938 .byte 0 19391: 1940 .p2align 3 1941 .long 0xc0000002 1942 .long 3f - 2f 19432: 1944 .long 3 19453: 1946 .p2align 3 19474: 1948