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