1299966Sjkim# $FreeBSD$ 2299966Sjkim# Do not modify. This file is auto-generated from aes-x86_64.pl. 3238405Sjkim.text 4238405Sjkim.type _x86_64_AES_encrypt,@function 5238405Sjkim.align 16 6238405Sjkim_x86_64_AES_encrypt: 7238405Sjkim xorl 0(%r15),%eax 8238405Sjkim xorl 4(%r15),%ebx 9238405Sjkim xorl 8(%r15),%ecx 10238405Sjkim xorl 12(%r15),%edx 11238405Sjkim 12238405Sjkim movl 240(%r15),%r13d 13238405Sjkim subl $1,%r13d 14238405Sjkim jmp .Lenc_loop 15238405Sjkim.align 16 16238405Sjkim.Lenc_loop: 17238405Sjkim 18238405Sjkim movzbl %al,%esi 19238405Sjkim movzbl %bl,%edi 20238405Sjkim movzbl %cl,%ebp 21238405Sjkim movl 0(%r14,%rsi,8),%r10d 22238405Sjkim movl 0(%r14,%rdi,8),%r11d 23238405Sjkim movl 0(%r14,%rbp,8),%r12d 24238405Sjkim 25238405Sjkim movzbl %bh,%esi 26238405Sjkim movzbl %ch,%edi 27238405Sjkim movzbl %dl,%ebp 28238405Sjkim xorl 3(%r14,%rsi,8),%r10d 29238405Sjkim xorl 3(%r14,%rdi,8),%r11d 30238405Sjkim movl 0(%r14,%rbp,8),%r8d 31238405Sjkim 32238405Sjkim movzbl %dh,%esi 33238405Sjkim shrl $16,%ecx 34238405Sjkim movzbl %ah,%ebp 35238405Sjkim xorl 3(%r14,%rsi,8),%r12d 36238405Sjkim shrl $16,%edx 37238405Sjkim xorl 3(%r14,%rbp,8),%r8d 38238405Sjkim 39238405Sjkim shrl $16,%ebx 40238405Sjkim leaq 16(%r15),%r15 41238405Sjkim shrl $16,%eax 42238405Sjkim 43238405Sjkim movzbl %cl,%esi 44238405Sjkim movzbl %dl,%edi 45238405Sjkim movzbl %al,%ebp 46238405Sjkim xorl 2(%r14,%rsi,8),%r10d 47238405Sjkim xorl 2(%r14,%rdi,8),%r11d 48238405Sjkim xorl 2(%r14,%rbp,8),%r12d 49238405Sjkim 50238405Sjkim movzbl %dh,%esi 51238405Sjkim movzbl %ah,%edi 52238405Sjkim movzbl %bl,%ebp 53238405Sjkim xorl 1(%r14,%rsi,8),%r10d 54238405Sjkim xorl 1(%r14,%rdi,8),%r11d 55238405Sjkim xorl 2(%r14,%rbp,8),%r8d 56238405Sjkim 57238405Sjkim movl 12(%r15),%edx 58238405Sjkim movzbl %bh,%edi 59238405Sjkim movzbl %ch,%ebp 60238405Sjkim movl 0(%r15),%eax 61238405Sjkim xorl 1(%r14,%rdi,8),%r12d 62238405Sjkim xorl 1(%r14,%rbp,8),%r8d 63238405Sjkim 64238405Sjkim movl 4(%r15),%ebx 65238405Sjkim movl 8(%r15),%ecx 66238405Sjkim xorl %r10d,%eax 67238405Sjkim xorl %r11d,%ebx 68238405Sjkim xorl %r12d,%ecx 69238405Sjkim xorl %r8d,%edx 70238405Sjkim subl $1,%r13d 71238405Sjkim jnz .Lenc_loop 72238405Sjkim movzbl %al,%esi 73238405Sjkim movzbl %bl,%edi 74238405Sjkim movzbl %cl,%ebp 75238405Sjkim movzbl 2(%r14,%rsi,8),%r10d 76238405Sjkim movzbl 2(%r14,%rdi,8),%r11d 77238405Sjkim movzbl 2(%r14,%rbp,8),%r12d 78238405Sjkim 79238405Sjkim movzbl %dl,%esi 80238405Sjkim movzbl %bh,%edi 81238405Sjkim movzbl %ch,%ebp 82238405Sjkim movzbl 2(%r14,%rsi,8),%r8d 83238405Sjkim movl 0(%r14,%rdi,8),%edi 84238405Sjkim movl 0(%r14,%rbp,8),%ebp 85238405Sjkim 86238405Sjkim andl $65280,%edi 87238405Sjkim andl $65280,%ebp 88238405Sjkim 89238405Sjkim xorl %edi,%r10d 90238405Sjkim xorl %ebp,%r11d 91238405Sjkim shrl $16,%ecx 92238405Sjkim 93238405Sjkim movzbl %dh,%esi 94238405Sjkim movzbl %ah,%edi 95238405Sjkim shrl $16,%edx 96238405Sjkim movl 0(%r14,%rsi,8),%esi 97238405Sjkim movl 0(%r14,%rdi,8),%edi 98238405Sjkim 99238405Sjkim andl $65280,%esi 100238405Sjkim andl $65280,%edi 101238405Sjkim shrl $16,%ebx 102238405Sjkim xorl %esi,%r12d 103238405Sjkim xorl %edi,%r8d 104238405Sjkim shrl $16,%eax 105238405Sjkim 106238405Sjkim movzbl %cl,%esi 107238405Sjkim movzbl %dl,%edi 108238405Sjkim movzbl %al,%ebp 109238405Sjkim movl 0(%r14,%rsi,8),%esi 110238405Sjkim movl 0(%r14,%rdi,8),%edi 111238405Sjkim movl 0(%r14,%rbp,8),%ebp 112238405Sjkim 113238405Sjkim andl $16711680,%esi 114238405Sjkim andl $16711680,%edi 115238405Sjkim andl $16711680,%ebp 116238405Sjkim 117238405Sjkim xorl %esi,%r10d 118238405Sjkim xorl %edi,%r11d 119238405Sjkim xorl %ebp,%r12d 120238405Sjkim 121238405Sjkim movzbl %bl,%esi 122238405Sjkim movzbl %dh,%edi 123238405Sjkim movzbl %ah,%ebp 124238405Sjkim movl 0(%r14,%rsi,8),%esi 125238405Sjkim movl 2(%r14,%rdi,8),%edi 126238405Sjkim movl 2(%r14,%rbp,8),%ebp 127238405Sjkim 128238405Sjkim andl $16711680,%esi 129238405Sjkim andl $4278190080,%edi 130238405Sjkim andl $4278190080,%ebp 131238405Sjkim 132238405Sjkim xorl %esi,%r8d 133238405Sjkim xorl %edi,%r10d 134238405Sjkim xorl %ebp,%r11d 135238405Sjkim 136238405Sjkim movzbl %bh,%esi 137238405Sjkim movzbl %ch,%edi 138238405Sjkim movl 16+12(%r15),%edx 139238405Sjkim movl 2(%r14,%rsi,8),%esi 140238405Sjkim movl 2(%r14,%rdi,8),%edi 141238405Sjkim movl 16+0(%r15),%eax 142238405Sjkim 143238405Sjkim andl $4278190080,%esi 144238405Sjkim andl $4278190080,%edi 145238405Sjkim 146238405Sjkim xorl %esi,%r12d 147238405Sjkim xorl %edi,%r8d 148238405Sjkim 149238405Sjkim movl 16+4(%r15),%ebx 150238405Sjkim movl 16+8(%r15),%ecx 151238405Sjkim xorl %r10d,%eax 152238405Sjkim xorl %r11d,%ebx 153238405Sjkim xorl %r12d,%ecx 154238405Sjkim xorl %r8d,%edx 155238405Sjkim.byte 0xf3,0xc3 156238405Sjkim.size _x86_64_AES_encrypt,.-_x86_64_AES_encrypt 157238405Sjkim.type _x86_64_AES_encrypt_compact,@function 158238405Sjkim.align 16 159238405Sjkim_x86_64_AES_encrypt_compact: 160238405Sjkim leaq 128(%r14),%r8 161238405Sjkim movl 0-128(%r8),%edi 162238405Sjkim movl 32-128(%r8),%ebp 163238405Sjkim movl 64-128(%r8),%r10d 164238405Sjkim movl 96-128(%r8),%r11d 165238405Sjkim movl 128-128(%r8),%edi 166238405Sjkim movl 160-128(%r8),%ebp 167238405Sjkim movl 192-128(%r8),%r10d 168238405Sjkim movl 224-128(%r8),%r11d 169238405Sjkim jmp .Lenc_loop_compact 170238405Sjkim.align 16 171238405Sjkim.Lenc_loop_compact: 172238405Sjkim xorl 0(%r15),%eax 173238405Sjkim xorl 4(%r15),%ebx 174238405Sjkim xorl 8(%r15),%ecx 175238405Sjkim xorl 12(%r15),%edx 176238405Sjkim leaq 16(%r15),%r15 177238405Sjkim movzbl %al,%r10d 178238405Sjkim movzbl %bl,%r11d 179238405Sjkim movzbl %cl,%r12d 180238405Sjkim movzbl (%r14,%r10,1),%r10d 181238405Sjkim movzbl (%r14,%r11,1),%r11d 182238405Sjkim movzbl (%r14,%r12,1),%r12d 183238405Sjkim 184238405Sjkim movzbl %dl,%r8d 185238405Sjkim movzbl %bh,%esi 186238405Sjkim movzbl %ch,%edi 187238405Sjkim movzbl (%r14,%r8,1),%r8d 188238405Sjkim movzbl (%r14,%rsi,1),%r9d 189238405Sjkim movzbl (%r14,%rdi,1),%r13d 190238405Sjkim 191238405Sjkim movzbl %dh,%ebp 192238405Sjkim movzbl %ah,%esi 193238405Sjkim shrl $16,%ecx 194238405Sjkim movzbl (%r14,%rbp,1),%ebp 195238405Sjkim movzbl (%r14,%rsi,1),%esi 196238405Sjkim shrl $16,%edx 197238405Sjkim 198238405Sjkim movzbl %cl,%edi 199238405Sjkim shll $8,%r9d 200238405Sjkim shll $8,%r13d 201238405Sjkim movzbl (%r14,%rdi,1),%edi 202238405Sjkim xorl %r9d,%r10d 203238405Sjkim xorl %r13d,%r11d 204238405Sjkim 205238405Sjkim movzbl %dl,%r9d 206238405Sjkim shrl $16,%eax 207238405Sjkim shrl $16,%ebx 208238405Sjkim movzbl %al,%r13d 209238405Sjkim shll $8,%ebp 210238405Sjkim shll $8,%esi 211238405Sjkim movzbl (%r14,%r9,1),%r9d 212238405Sjkim movzbl (%r14,%r13,1),%r13d 213238405Sjkim xorl %ebp,%r12d 214238405Sjkim xorl %esi,%r8d 215238405Sjkim 216238405Sjkim movzbl %bl,%ebp 217238405Sjkim movzbl %dh,%esi 218238405Sjkim shll $16,%edi 219238405Sjkim movzbl (%r14,%rbp,1),%ebp 220238405Sjkim movzbl (%r14,%rsi,1),%esi 221238405Sjkim xorl %edi,%r10d 222238405Sjkim 223238405Sjkim movzbl %ah,%edi 224238405Sjkim shrl $8,%ecx 225238405Sjkim shrl $8,%ebx 226238405Sjkim movzbl (%r14,%rdi,1),%edi 227238405Sjkim movzbl (%r14,%rcx,1),%edx 228238405Sjkim movzbl (%r14,%rbx,1),%ecx 229238405Sjkim shll $16,%r9d 230238405Sjkim shll $16,%r13d 231238405Sjkim shll $16,%ebp 232238405Sjkim xorl %r9d,%r11d 233238405Sjkim xorl %r13d,%r12d 234238405Sjkim xorl %ebp,%r8d 235238405Sjkim 236238405Sjkim shll $24,%esi 237238405Sjkim shll $24,%edi 238238405Sjkim shll $24,%edx 239238405Sjkim xorl %esi,%r10d 240238405Sjkim shll $24,%ecx 241238405Sjkim xorl %edi,%r11d 242238405Sjkim movl %r10d,%eax 243238405Sjkim movl %r11d,%ebx 244238405Sjkim xorl %r12d,%ecx 245238405Sjkim xorl %r8d,%edx 246238405Sjkim cmpq 16(%rsp),%r15 247238405Sjkim je .Lenc_compact_done 248238405Sjkim movl %eax,%esi 249238405Sjkim movl %ebx,%edi 250238405Sjkim andl $2155905152,%esi 251238405Sjkim andl $2155905152,%edi 252238405Sjkim movl %esi,%r10d 253238405Sjkim movl %edi,%r11d 254238405Sjkim shrl $7,%r10d 255238405Sjkim leal (%rax,%rax,1),%r8d 256238405Sjkim shrl $7,%r11d 257238405Sjkim leal (%rbx,%rbx,1),%r9d 258238405Sjkim subl %r10d,%esi 259238405Sjkim subl %r11d,%edi 260238405Sjkim andl $4278124286,%r8d 261238405Sjkim andl $4278124286,%r9d 262238405Sjkim andl $454761243,%esi 263238405Sjkim andl $454761243,%edi 264238405Sjkim movl %eax,%r10d 265238405Sjkim movl %ebx,%r11d 266238405Sjkim xorl %esi,%r8d 267238405Sjkim xorl %edi,%r9d 268238405Sjkim 269238405Sjkim xorl %r8d,%eax 270238405Sjkim xorl %r9d,%ebx 271238405Sjkim movl %ecx,%esi 272238405Sjkim movl %edx,%edi 273238405Sjkim roll $24,%eax 274238405Sjkim roll $24,%ebx 275238405Sjkim andl $2155905152,%esi 276238405Sjkim andl $2155905152,%edi 277238405Sjkim xorl %r8d,%eax 278238405Sjkim xorl %r9d,%ebx 279238405Sjkim movl %esi,%r12d 280238405Sjkim movl %edi,%ebp 281238405Sjkim rorl $16,%r10d 282238405Sjkim rorl $16,%r11d 283238405Sjkim shrl $7,%r12d 284238405Sjkim leal (%rcx,%rcx,1),%r8d 285238405Sjkim xorl %r10d,%eax 286238405Sjkim xorl %r11d,%ebx 287238405Sjkim shrl $7,%ebp 288238405Sjkim leal (%rdx,%rdx,1),%r9d 289238405Sjkim rorl $8,%r10d 290238405Sjkim rorl $8,%r11d 291238405Sjkim subl %r12d,%esi 292238405Sjkim subl %ebp,%edi 293238405Sjkim xorl %r10d,%eax 294238405Sjkim xorl %r11d,%ebx 295238405Sjkim 296238405Sjkim andl $4278124286,%r8d 297238405Sjkim andl $4278124286,%r9d 298238405Sjkim andl $454761243,%esi 299238405Sjkim andl $454761243,%edi 300238405Sjkim movl %ecx,%r12d 301238405Sjkim movl %edx,%ebp 302238405Sjkim xorl %esi,%r8d 303238405Sjkim xorl %edi,%r9d 304238405Sjkim 305238405Sjkim xorl %r8d,%ecx 306238405Sjkim xorl %r9d,%edx 307238405Sjkim roll $24,%ecx 308238405Sjkim roll $24,%edx 309238405Sjkim xorl %r8d,%ecx 310238405Sjkim xorl %r9d,%edx 311238405Sjkim movl 0(%r14),%esi 312238405Sjkim rorl $16,%r12d 313238405Sjkim rorl $16,%ebp 314238405Sjkim movl 64(%r14),%edi 315238405Sjkim xorl %r12d,%ecx 316238405Sjkim xorl %ebp,%edx 317238405Sjkim movl 128(%r14),%r8d 318238405Sjkim rorl $8,%r12d 319238405Sjkim rorl $8,%ebp 320238405Sjkim movl 192(%r14),%r9d 321238405Sjkim xorl %r12d,%ecx 322238405Sjkim xorl %ebp,%edx 323238405Sjkim jmp .Lenc_loop_compact 324238405Sjkim.align 16 325238405Sjkim.Lenc_compact_done: 326238405Sjkim xorl 0(%r15),%eax 327238405Sjkim xorl 4(%r15),%ebx 328238405Sjkim xorl 8(%r15),%ecx 329238405Sjkim xorl 12(%r15),%edx 330238405Sjkim.byte 0xf3,0xc3 331238405Sjkim.size _x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact 332238405Sjkim.globl AES_encrypt 333238405Sjkim.type AES_encrypt,@function 334238405Sjkim.align 16 335238405Sjkim.globl asm_AES_encrypt 336238405Sjkim.hidden asm_AES_encrypt 337238405Sjkimasm_AES_encrypt: 338238405SjkimAES_encrypt: 339238405Sjkim pushq %rbx 340238405Sjkim pushq %rbp 341238405Sjkim pushq %r12 342238405Sjkim pushq %r13 343238405Sjkim pushq %r14 344238405Sjkim pushq %r15 345238405Sjkim 346238405Sjkim 347238405Sjkim movq %rsp,%r10 348238405Sjkim leaq -63(%rdx),%rcx 349238405Sjkim andq $-64,%rsp 350238405Sjkim subq %rsp,%rcx 351238405Sjkim negq %rcx 352238405Sjkim andq $960,%rcx 353238405Sjkim subq %rcx,%rsp 354238405Sjkim subq $32,%rsp 355238405Sjkim 356238405Sjkim movq %rsi,16(%rsp) 357238405Sjkim movq %r10,24(%rsp) 358238405Sjkim.Lenc_prologue: 359238405Sjkim 360238405Sjkim movq %rdx,%r15 361238405Sjkim movl 240(%r15),%r13d 362238405Sjkim 363238405Sjkim movl 0(%rdi),%eax 364238405Sjkim movl 4(%rdi),%ebx 365238405Sjkim movl 8(%rdi),%ecx 366238405Sjkim movl 12(%rdi),%edx 367238405Sjkim 368238405Sjkim shll $4,%r13d 369238405Sjkim leaq (%r15,%r13,1),%rbp 370238405Sjkim movq %r15,(%rsp) 371238405Sjkim movq %rbp,8(%rsp) 372238405Sjkim 373238405Sjkim 374238405Sjkim leaq .LAES_Te+2048(%rip),%r14 375238405Sjkim leaq 768(%rsp),%rbp 376238405Sjkim subq %r14,%rbp 377238405Sjkim andq $768,%rbp 378238405Sjkim leaq (%r14,%rbp,1),%r14 379238405Sjkim 380238405Sjkim call _x86_64_AES_encrypt_compact 381238405Sjkim 382238405Sjkim movq 16(%rsp),%r9 383238405Sjkim movq 24(%rsp),%rsi 384238405Sjkim movl %eax,0(%r9) 385238405Sjkim movl %ebx,4(%r9) 386238405Sjkim movl %ecx,8(%r9) 387238405Sjkim movl %edx,12(%r9) 388238405Sjkim 389238405Sjkim movq (%rsi),%r15 390238405Sjkim movq 8(%rsi),%r14 391238405Sjkim movq 16(%rsi),%r13 392238405Sjkim movq 24(%rsi),%r12 393238405Sjkim movq 32(%rsi),%rbp 394238405Sjkim movq 40(%rsi),%rbx 395238405Sjkim leaq 48(%rsi),%rsp 396238405Sjkim.Lenc_epilogue: 397238405Sjkim .byte 0xf3,0xc3 398238405Sjkim.size AES_encrypt,.-AES_encrypt 399238405Sjkim.type _x86_64_AES_decrypt,@function 400238405Sjkim.align 16 401238405Sjkim_x86_64_AES_decrypt: 402238405Sjkim xorl 0(%r15),%eax 403238405Sjkim xorl 4(%r15),%ebx 404238405Sjkim xorl 8(%r15),%ecx 405238405Sjkim xorl 12(%r15),%edx 406238405Sjkim 407238405Sjkim movl 240(%r15),%r13d 408238405Sjkim subl $1,%r13d 409238405Sjkim jmp .Ldec_loop 410238405Sjkim.align 16 411238405Sjkim.Ldec_loop: 412238405Sjkim 413238405Sjkim movzbl %al,%esi 414238405Sjkim movzbl %bl,%edi 415238405Sjkim movzbl %cl,%ebp 416238405Sjkim movl 0(%r14,%rsi,8),%r10d 417238405Sjkim movl 0(%r14,%rdi,8),%r11d 418238405Sjkim movl 0(%r14,%rbp,8),%r12d 419238405Sjkim 420238405Sjkim movzbl %dh,%esi 421238405Sjkim movzbl %ah,%edi 422238405Sjkim movzbl %dl,%ebp 423238405Sjkim xorl 3(%r14,%rsi,8),%r10d 424238405Sjkim xorl 3(%r14,%rdi,8),%r11d 425238405Sjkim movl 0(%r14,%rbp,8),%r8d 426238405Sjkim 427238405Sjkim movzbl %bh,%esi 428238405Sjkim shrl $16,%eax 429238405Sjkim movzbl %ch,%ebp 430238405Sjkim xorl 3(%r14,%rsi,8),%r12d 431238405Sjkim shrl $16,%edx 432238405Sjkim xorl 3(%r14,%rbp,8),%r8d 433238405Sjkim 434238405Sjkim shrl $16,%ebx 435238405Sjkim leaq 16(%r15),%r15 436238405Sjkim shrl $16,%ecx 437238405Sjkim 438238405Sjkim movzbl %cl,%esi 439238405Sjkim movzbl %dl,%edi 440238405Sjkim movzbl %al,%ebp 441238405Sjkim xorl 2(%r14,%rsi,8),%r10d 442238405Sjkim xorl 2(%r14,%rdi,8),%r11d 443238405Sjkim xorl 2(%r14,%rbp,8),%r12d 444238405Sjkim 445238405Sjkim movzbl %bh,%esi 446238405Sjkim movzbl %ch,%edi 447238405Sjkim movzbl %bl,%ebp 448238405Sjkim xorl 1(%r14,%rsi,8),%r10d 449238405Sjkim xorl 1(%r14,%rdi,8),%r11d 450238405Sjkim xorl 2(%r14,%rbp,8),%r8d 451238405Sjkim 452238405Sjkim movzbl %dh,%esi 453238405Sjkim movl 12(%r15),%edx 454238405Sjkim movzbl %ah,%ebp 455238405Sjkim xorl 1(%r14,%rsi,8),%r12d 456238405Sjkim movl 0(%r15),%eax 457238405Sjkim xorl 1(%r14,%rbp,8),%r8d 458238405Sjkim 459238405Sjkim xorl %r10d,%eax 460238405Sjkim movl 4(%r15),%ebx 461238405Sjkim movl 8(%r15),%ecx 462238405Sjkim xorl %r12d,%ecx 463238405Sjkim xorl %r11d,%ebx 464238405Sjkim xorl %r8d,%edx 465238405Sjkim subl $1,%r13d 466238405Sjkim jnz .Ldec_loop 467238405Sjkim leaq 2048(%r14),%r14 468238405Sjkim movzbl %al,%esi 469238405Sjkim movzbl %bl,%edi 470238405Sjkim movzbl %cl,%ebp 471238405Sjkim movzbl (%r14,%rsi,1),%r10d 472238405Sjkim movzbl (%r14,%rdi,1),%r11d 473238405Sjkim movzbl (%r14,%rbp,1),%r12d 474238405Sjkim 475238405Sjkim movzbl %dl,%esi 476238405Sjkim movzbl %dh,%edi 477238405Sjkim movzbl %ah,%ebp 478238405Sjkim movzbl (%r14,%rsi,1),%r8d 479238405Sjkim movzbl (%r14,%rdi,1),%edi 480238405Sjkim movzbl (%r14,%rbp,1),%ebp 481238405Sjkim 482238405Sjkim shll $8,%edi 483238405Sjkim shll $8,%ebp 484238405Sjkim 485238405Sjkim xorl %edi,%r10d 486238405Sjkim xorl %ebp,%r11d 487238405Sjkim shrl $16,%edx 488238405Sjkim 489238405Sjkim movzbl %bh,%esi 490238405Sjkim movzbl %ch,%edi 491238405Sjkim shrl $16,%eax 492238405Sjkim movzbl (%r14,%rsi,1),%esi 493238405Sjkim movzbl (%r14,%rdi,1),%edi 494238405Sjkim 495238405Sjkim shll $8,%esi 496238405Sjkim shll $8,%edi 497238405Sjkim shrl $16,%ebx 498238405Sjkim xorl %esi,%r12d 499238405Sjkim xorl %edi,%r8d 500238405Sjkim shrl $16,%ecx 501238405Sjkim 502238405Sjkim movzbl %cl,%esi 503238405Sjkim movzbl %dl,%edi 504238405Sjkim movzbl %al,%ebp 505238405Sjkim movzbl (%r14,%rsi,1),%esi 506238405Sjkim movzbl (%r14,%rdi,1),%edi 507238405Sjkim movzbl (%r14,%rbp,1),%ebp 508238405Sjkim 509238405Sjkim shll $16,%esi 510238405Sjkim shll $16,%edi 511238405Sjkim shll $16,%ebp 512238405Sjkim 513238405Sjkim xorl %esi,%r10d 514238405Sjkim xorl %edi,%r11d 515238405Sjkim xorl %ebp,%r12d 516238405Sjkim 517238405Sjkim movzbl %bl,%esi 518238405Sjkim movzbl %bh,%edi 519238405Sjkim movzbl %ch,%ebp 520238405Sjkim movzbl (%r14,%rsi,1),%esi 521238405Sjkim movzbl (%r14,%rdi,1),%edi 522238405Sjkim movzbl (%r14,%rbp,1),%ebp 523238405Sjkim 524238405Sjkim shll $16,%esi 525238405Sjkim shll $24,%edi 526238405Sjkim shll $24,%ebp 527238405Sjkim 528238405Sjkim xorl %esi,%r8d 529238405Sjkim xorl %edi,%r10d 530238405Sjkim xorl %ebp,%r11d 531238405Sjkim 532238405Sjkim movzbl %dh,%esi 533238405Sjkim movzbl %ah,%edi 534238405Sjkim movl 16+12(%r15),%edx 535238405Sjkim movzbl (%r14,%rsi,1),%esi 536238405Sjkim movzbl (%r14,%rdi,1),%edi 537238405Sjkim movl 16+0(%r15),%eax 538238405Sjkim 539238405Sjkim shll $24,%esi 540238405Sjkim shll $24,%edi 541238405Sjkim 542238405Sjkim xorl %esi,%r12d 543238405Sjkim xorl %edi,%r8d 544238405Sjkim 545238405Sjkim movl 16+4(%r15),%ebx 546238405Sjkim movl 16+8(%r15),%ecx 547238405Sjkim leaq -2048(%r14),%r14 548238405Sjkim xorl %r10d,%eax 549238405Sjkim xorl %r11d,%ebx 550238405Sjkim xorl %r12d,%ecx 551238405Sjkim xorl %r8d,%edx 552238405Sjkim.byte 0xf3,0xc3 553238405Sjkim.size _x86_64_AES_decrypt,.-_x86_64_AES_decrypt 554238405Sjkim.type _x86_64_AES_decrypt_compact,@function 555238405Sjkim.align 16 556238405Sjkim_x86_64_AES_decrypt_compact: 557238405Sjkim leaq 128(%r14),%r8 558238405Sjkim movl 0-128(%r8),%edi 559238405Sjkim movl 32-128(%r8),%ebp 560238405Sjkim movl 64-128(%r8),%r10d 561238405Sjkim movl 96-128(%r8),%r11d 562238405Sjkim movl 128-128(%r8),%edi 563238405Sjkim movl 160-128(%r8),%ebp 564238405Sjkim movl 192-128(%r8),%r10d 565238405Sjkim movl 224-128(%r8),%r11d 566238405Sjkim jmp .Ldec_loop_compact 567238405Sjkim 568238405Sjkim.align 16 569238405Sjkim.Ldec_loop_compact: 570238405Sjkim xorl 0(%r15),%eax 571238405Sjkim xorl 4(%r15),%ebx 572238405Sjkim xorl 8(%r15),%ecx 573238405Sjkim xorl 12(%r15),%edx 574238405Sjkim leaq 16(%r15),%r15 575238405Sjkim movzbl %al,%r10d 576238405Sjkim movzbl %bl,%r11d 577238405Sjkim movzbl %cl,%r12d 578238405Sjkim movzbl (%r14,%r10,1),%r10d 579238405Sjkim movzbl (%r14,%r11,1),%r11d 580238405Sjkim movzbl (%r14,%r12,1),%r12d 581238405Sjkim 582238405Sjkim movzbl %dl,%r8d 583238405Sjkim movzbl %dh,%esi 584238405Sjkim movzbl %ah,%edi 585238405Sjkim movzbl (%r14,%r8,1),%r8d 586238405Sjkim movzbl (%r14,%rsi,1),%r9d 587238405Sjkim movzbl (%r14,%rdi,1),%r13d 588238405Sjkim 589238405Sjkim movzbl %bh,%ebp 590238405Sjkim movzbl %ch,%esi 591238405Sjkim shrl $16,%ecx 592238405Sjkim movzbl (%r14,%rbp,1),%ebp 593238405Sjkim movzbl (%r14,%rsi,1),%esi 594238405Sjkim shrl $16,%edx 595238405Sjkim 596238405Sjkim movzbl %cl,%edi 597238405Sjkim shll $8,%r9d 598238405Sjkim shll $8,%r13d 599238405Sjkim movzbl (%r14,%rdi,1),%edi 600238405Sjkim xorl %r9d,%r10d 601238405Sjkim xorl %r13d,%r11d 602238405Sjkim 603238405Sjkim movzbl %dl,%r9d 604238405Sjkim shrl $16,%eax 605238405Sjkim shrl $16,%ebx 606238405Sjkim movzbl %al,%r13d 607238405Sjkim shll $8,%ebp 608238405Sjkim shll $8,%esi 609238405Sjkim movzbl (%r14,%r9,1),%r9d 610238405Sjkim movzbl (%r14,%r13,1),%r13d 611238405Sjkim xorl %ebp,%r12d 612238405Sjkim xorl %esi,%r8d 613238405Sjkim 614238405Sjkim movzbl %bl,%ebp 615238405Sjkim movzbl %bh,%esi 616238405Sjkim shll $16,%edi 617238405Sjkim movzbl (%r14,%rbp,1),%ebp 618238405Sjkim movzbl (%r14,%rsi,1),%esi 619238405Sjkim xorl %edi,%r10d 620238405Sjkim 621238405Sjkim movzbl %ch,%edi 622238405Sjkim shll $16,%r9d 623238405Sjkim shll $16,%r13d 624238405Sjkim movzbl (%r14,%rdi,1),%ebx 625238405Sjkim xorl %r9d,%r11d 626238405Sjkim xorl %r13d,%r12d 627238405Sjkim 628238405Sjkim movzbl %dh,%edi 629238405Sjkim shrl $8,%eax 630238405Sjkim shll $16,%ebp 631238405Sjkim movzbl (%r14,%rdi,1),%ecx 632238405Sjkim movzbl (%r14,%rax,1),%edx 633238405Sjkim xorl %ebp,%r8d 634238405Sjkim 635238405Sjkim shll $24,%esi 636238405Sjkim shll $24,%ebx 637238405Sjkim shll $24,%ecx 638238405Sjkim xorl %esi,%r10d 639238405Sjkim shll $24,%edx 640238405Sjkim xorl %r11d,%ebx 641238405Sjkim movl %r10d,%eax 642238405Sjkim xorl %r12d,%ecx 643238405Sjkim xorl %r8d,%edx 644238405Sjkim cmpq 16(%rsp),%r15 645238405Sjkim je .Ldec_compact_done 646238405Sjkim 647238405Sjkim movq 256+0(%r14),%rsi 648238405Sjkim shlq $32,%rbx 649238405Sjkim shlq $32,%rdx 650238405Sjkim movq 256+8(%r14),%rdi 651238405Sjkim orq %rbx,%rax 652238405Sjkim orq %rdx,%rcx 653238405Sjkim movq 256+16(%r14),%rbp 654238405Sjkim movq %rax,%rbx 655238405Sjkim movq %rcx,%rdx 656238405Sjkim andq %rsi,%rbx 657238405Sjkim andq %rsi,%rdx 658238405Sjkim movq %rbx,%r9 659238405Sjkim movq %rdx,%r12 660238405Sjkim shrq $7,%r9 661238405Sjkim leaq (%rax,%rax,1),%r8 662238405Sjkim shrq $7,%r12 663238405Sjkim leaq (%rcx,%rcx,1),%r11 664238405Sjkim subq %r9,%rbx 665238405Sjkim subq %r12,%rdx 666238405Sjkim andq %rdi,%r8 667238405Sjkim andq %rdi,%r11 668238405Sjkim andq %rbp,%rbx 669238405Sjkim andq %rbp,%rdx 670238405Sjkim xorq %r8,%rbx 671238405Sjkim xorq %r11,%rdx 672238405Sjkim movq %rbx,%r8 673238405Sjkim movq %rdx,%r11 674238405Sjkim 675238405Sjkim andq %rsi,%rbx 676238405Sjkim andq %rsi,%rdx 677238405Sjkim movq %rbx,%r10 678238405Sjkim movq %rdx,%r13 679238405Sjkim shrq $7,%r10 680238405Sjkim leaq (%r8,%r8,1),%r9 681238405Sjkim shrq $7,%r13 682238405Sjkim leaq (%r11,%r11,1),%r12 683238405Sjkim subq %r10,%rbx 684238405Sjkim subq %r13,%rdx 685238405Sjkim andq %rdi,%r9 686238405Sjkim andq %rdi,%r12 687238405Sjkim andq %rbp,%rbx 688238405Sjkim andq %rbp,%rdx 689238405Sjkim xorq %r9,%rbx 690238405Sjkim xorq %r12,%rdx 691238405Sjkim movq %rbx,%r9 692238405Sjkim movq %rdx,%r12 693238405Sjkim 694238405Sjkim andq %rsi,%rbx 695238405Sjkim andq %rsi,%rdx 696238405Sjkim movq %rbx,%r10 697238405Sjkim movq %rdx,%r13 698238405Sjkim shrq $7,%r10 699238405Sjkim xorq %rax,%r8 700238405Sjkim shrq $7,%r13 701238405Sjkim xorq %rcx,%r11 702238405Sjkim subq %r10,%rbx 703238405Sjkim subq %r13,%rdx 704238405Sjkim leaq (%r9,%r9,1),%r10 705238405Sjkim leaq (%r12,%r12,1),%r13 706238405Sjkim xorq %rax,%r9 707238405Sjkim xorq %rcx,%r12 708238405Sjkim andq %rdi,%r10 709238405Sjkim andq %rdi,%r13 710238405Sjkim andq %rbp,%rbx 711238405Sjkim andq %rbp,%rdx 712238405Sjkim xorq %rbx,%r10 713238405Sjkim xorq %rdx,%r13 714238405Sjkim 715238405Sjkim xorq %r10,%rax 716238405Sjkim xorq %r13,%rcx 717238405Sjkim xorq %r10,%r8 718238405Sjkim xorq %r13,%r11 719238405Sjkim movq %rax,%rbx 720238405Sjkim movq %rcx,%rdx 721238405Sjkim xorq %r10,%r9 722238405Sjkim xorq %r13,%r12 723238405Sjkim shrq $32,%rbx 724238405Sjkim shrq $32,%rdx 725238405Sjkim xorq %r8,%r10 726238405Sjkim xorq %r11,%r13 727238405Sjkim roll $8,%eax 728238405Sjkim roll $8,%ecx 729238405Sjkim xorq %r9,%r10 730238405Sjkim xorq %r12,%r13 731238405Sjkim 732238405Sjkim roll $8,%ebx 733238405Sjkim roll $8,%edx 734238405Sjkim xorl %r10d,%eax 735238405Sjkim xorl %r13d,%ecx 736238405Sjkim shrq $32,%r10 737238405Sjkim shrq $32,%r13 738238405Sjkim xorl %r10d,%ebx 739238405Sjkim xorl %r13d,%edx 740238405Sjkim 741238405Sjkim movq %r8,%r10 742238405Sjkim movq %r11,%r13 743238405Sjkim shrq $32,%r10 744238405Sjkim shrq $32,%r13 745238405Sjkim roll $24,%r8d 746238405Sjkim roll $24,%r11d 747238405Sjkim roll $24,%r10d 748238405Sjkim roll $24,%r13d 749238405Sjkim xorl %r8d,%eax 750238405Sjkim xorl %r11d,%ecx 751238405Sjkim movq %r9,%r8 752238405Sjkim movq %r12,%r11 753238405Sjkim xorl %r10d,%ebx 754238405Sjkim xorl %r13d,%edx 755238405Sjkim 756238405Sjkim movq 0(%r14),%rsi 757238405Sjkim shrq $32,%r8 758238405Sjkim shrq $32,%r11 759238405Sjkim movq 64(%r14),%rdi 760238405Sjkim roll $16,%r9d 761238405Sjkim roll $16,%r12d 762238405Sjkim movq 128(%r14),%rbp 763238405Sjkim roll $16,%r8d 764238405Sjkim roll $16,%r11d 765238405Sjkim movq 192(%r14),%r10 766238405Sjkim xorl %r9d,%eax 767238405Sjkim xorl %r12d,%ecx 768238405Sjkim movq 256(%r14),%r13 769238405Sjkim xorl %r8d,%ebx 770238405Sjkim xorl %r11d,%edx 771238405Sjkim jmp .Ldec_loop_compact 772238405Sjkim.align 16 773238405Sjkim.Ldec_compact_done: 774238405Sjkim xorl 0(%r15),%eax 775238405Sjkim xorl 4(%r15),%ebx 776238405Sjkim xorl 8(%r15),%ecx 777238405Sjkim xorl 12(%r15),%edx 778238405Sjkim.byte 0xf3,0xc3 779238405Sjkim.size _x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact 780238405Sjkim.globl AES_decrypt 781238405Sjkim.type AES_decrypt,@function 782238405Sjkim.align 16 783238405Sjkim.globl asm_AES_decrypt 784238405Sjkim.hidden asm_AES_decrypt 785238405Sjkimasm_AES_decrypt: 786238405SjkimAES_decrypt: 787238405Sjkim pushq %rbx 788238405Sjkim pushq %rbp 789238405Sjkim pushq %r12 790238405Sjkim pushq %r13 791238405Sjkim pushq %r14 792238405Sjkim pushq %r15 793238405Sjkim 794238405Sjkim 795238405Sjkim movq %rsp,%r10 796238405Sjkim leaq -63(%rdx),%rcx 797238405Sjkim andq $-64,%rsp 798238405Sjkim subq %rsp,%rcx 799238405Sjkim negq %rcx 800238405Sjkim andq $960,%rcx 801238405Sjkim subq %rcx,%rsp 802238405Sjkim subq $32,%rsp 803238405Sjkim 804238405Sjkim movq %rsi,16(%rsp) 805238405Sjkim movq %r10,24(%rsp) 806238405Sjkim.Ldec_prologue: 807238405Sjkim 808238405Sjkim movq %rdx,%r15 809238405Sjkim movl 240(%r15),%r13d 810238405Sjkim 811238405Sjkim movl 0(%rdi),%eax 812238405Sjkim movl 4(%rdi),%ebx 813238405Sjkim movl 8(%rdi),%ecx 814238405Sjkim movl 12(%rdi),%edx 815238405Sjkim 816238405Sjkim shll $4,%r13d 817238405Sjkim leaq (%r15,%r13,1),%rbp 818238405Sjkim movq %r15,(%rsp) 819238405Sjkim movq %rbp,8(%rsp) 820238405Sjkim 821238405Sjkim 822238405Sjkim leaq .LAES_Td+2048(%rip),%r14 823238405Sjkim leaq 768(%rsp),%rbp 824238405Sjkim subq %r14,%rbp 825238405Sjkim andq $768,%rbp 826238405Sjkim leaq (%r14,%rbp,1),%r14 827238405Sjkim shrq $3,%rbp 828238405Sjkim addq %rbp,%r14 829238405Sjkim 830238405Sjkim call _x86_64_AES_decrypt_compact 831238405Sjkim 832238405Sjkim movq 16(%rsp),%r9 833238405Sjkim movq 24(%rsp),%rsi 834238405Sjkim movl %eax,0(%r9) 835238405Sjkim movl %ebx,4(%r9) 836238405Sjkim movl %ecx,8(%r9) 837238405Sjkim movl %edx,12(%r9) 838238405Sjkim 839238405Sjkim movq (%rsi),%r15 840238405Sjkim movq 8(%rsi),%r14 841238405Sjkim movq 16(%rsi),%r13 842238405Sjkim movq 24(%rsi),%r12 843238405Sjkim movq 32(%rsi),%rbp 844238405Sjkim movq 40(%rsi),%rbx 845238405Sjkim leaq 48(%rsi),%rsp 846238405Sjkim.Ldec_epilogue: 847238405Sjkim .byte 0xf3,0xc3 848238405Sjkim.size AES_decrypt,.-AES_decrypt 849238405Sjkim.globl private_AES_set_encrypt_key 850238405Sjkim.type private_AES_set_encrypt_key,@function 851238405Sjkim.align 16 852238405Sjkimprivate_AES_set_encrypt_key: 853238405Sjkim pushq %rbx 854238405Sjkim pushq %rbp 855238405Sjkim pushq %r12 856238405Sjkim pushq %r13 857238405Sjkim pushq %r14 858238405Sjkim pushq %r15 859238405Sjkim subq $8,%rsp 860238405Sjkim.Lenc_key_prologue: 861238405Sjkim 862238405Sjkim call _x86_64_AES_set_encrypt_key 863238405Sjkim 864238405Sjkim movq 8(%rsp),%r15 865238405Sjkim movq 16(%rsp),%r14 866238405Sjkim movq 24(%rsp),%r13 867238405Sjkim movq 32(%rsp),%r12 868238405Sjkim movq 40(%rsp),%rbp 869238405Sjkim movq 48(%rsp),%rbx 870238405Sjkim addq $56,%rsp 871238405Sjkim.Lenc_key_epilogue: 872238405Sjkim .byte 0xf3,0xc3 873238405Sjkim.size private_AES_set_encrypt_key,.-private_AES_set_encrypt_key 874238405Sjkim 875238405Sjkim.type _x86_64_AES_set_encrypt_key,@function 876238405Sjkim.align 16 877238405Sjkim_x86_64_AES_set_encrypt_key: 878238405Sjkim movl %esi,%ecx 879238405Sjkim movq %rdi,%rsi 880238405Sjkim movq %rdx,%rdi 881238405Sjkim 882238405Sjkim testq $-1,%rsi 883238405Sjkim jz .Lbadpointer 884238405Sjkim testq $-1,%rdi 885238405Sjkim jz .Lbadpointer 886238405Sjkim 887238405Sjkim leaq .LAES_Te(%rip),%rbp 888238405Sjkim leaq 2048+128(%rbp),%rbp 889238405Sjkim 890238405Sjkim 891238405Sjkim movl 0-128(%rbp),%eax 892238405Sjkim movl 32-128(%rbp),%ebx 893238405Sjkim movl 64-128(%rbp),%r8d 894238405Sjkim movl 96-128(%rbp),%edx 895238405Sjkim movl 128-128(%rbp),%eax 896238405Sjkim movl 160-128(%rbp),%ebx 897238405Sjkim movl 192-128(%rbp),%r8d 898238405Sjkim movl 224-128(%rbp),%edx 899238405Sjkim 900238405Sjkim cmpl $128,%ecx 901238405Sjkim je .L10rounds 902238405Sjkim cmpl $192,%ecx 903238405Sjkim je .L12rounds 904238405Sjkim cmpl $256,%ecx 905238405Sjkim je .L14rounds 906238405Sjkim movq $-2,%rax 907238405Sjkim jmp .Lexit 908238405Sjkim 909238405Sjkim.L10rounds: 910238405Sjkim movq 0(%rsi),%rax 911238405Sjkim movq 8(%rsi),%rdx 912238405Sjkim movq %rax,0(%rdi) 913238405Sjkim movq %rdx,8(%rdi) 914238405Sjkim 915238405Sjkim shrq $32,%rdx 916238405Sjkim xorl %ecx,%ecx 917238405Sjkim jmp .L10shortcut 918238405Sjkim.align 4 919238405Sjkim.L10loop: 920238405Sjkim movl 0(%rdi),%eax 921238405Sjkim movl 12(%rdi),%edx 922238405Sjkim.L10shortcut: 923238405Sjkim movzbl %dl,%esi 924238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 925238405Sjkim movzbl %dh,%esi 926238405Sjkim shll $24,%ebx 927238405Sjkim xorl %ebx,%eax 928238405Sjkim 929238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 930238405Sjkim shrl $16,%edx 931238405Sjkim movzbl %dl,%esi 932238405Sjkim xorl %ebx,%eax 933238405Sjkim 934238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 935238405Sjkim movzbl %dh,%esi 936238405Sjkim shll $8,%ebx 937238405Sjkim xorl %ebx,%eax 938238405Sjkim 939238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 940238405Sjkim shll $16,%ebx 941238405Sjkim xorl %ebx,%eax 942238405Sjkim 943238405Sjkim xorl 1024-128(%rbp,%rcx,4),%eax 944238405Sjkim movl %eax,16(%rdi) 945238405Sjkim xorl 4(%rdi),%eax 946238405Sjkim movl %eax,20(%rdi) 947238405Sjkim xorl 8(%rdi),%eax 948238405Sjkim movl %eax,24(%rdi) 949238405Sjkim xorl 12(%rdi),%eax 950238405Sjkim movl %eax,28(%rdi) 951238405Sjkim addl $1,%ecx 952238405Sjkim leaq 16(%rdi),%rdi 953238405Sjkim cmpl $10,%ecx 954238405Sjkim jl .L10loop 955238405Sjkim 956238405Sjkim movl $10,80(%rdi) 957238405Sjkim xorq %rax,%rax 958238405Sjkim jmp .Lexit 959238405Sjkim 960238405Sjkim.L12rounds: 961238405Sjkim movq 0(%rsi),%rax 962238405Sjkim movq 8(%rsi),%rbx 963238405Sjkim movq 16(%rsi),%rdx 964238405Sjkim movq %rax,0(%rdi) 965238405Sjkim movq %rbx,8(%rdi) 966238405Sjkim movq %rdx,16(%rdi) 967238405Sjkim 968238405Sjkim shrq $32,%rdx 969238405Sjkim xorl %ecx,%ecx 970238405Sjkim jmp .L12shortcut 971238405Sjkim.align 4 972238405Sjkim.L12loop: 973238405Sjkim movl 0(%rdi),%eax 974238405Sjkim movl 20(%rdi),%edx 975238405Sjkim.L12shortcut: 976238405Sjkim movzbl %dl,%esi 977238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 978238405Sjkim movzbl %dh,%esi 979238405Sjkim shll $24,%ebx 980238405Sjkim xorl %ebx,%eax 981238405Sjkim 982238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 983238405Sjkim shrl $16,%edx 984238405Sjkim movzbl %dl,%esi 985238405Sjkim xorl %ebx,%eax 986238405Sjkim 987238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 988238405Sjkim movzbl %dh,%esi 989238405Sjkim shll $8,%ebx 990238405Sjkim xorl %ebx,%eax 991238405Sjkim 992238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 993238405Sjkim shll $16,%ebx 994238405Sjkim xorl %ebx,%eax 995238405Sjkim 996238405Sjkim xorl 1024-128(%rbp,%rcx,4),%eax 997238405Sjkim movl %eax,24(%rdi) 998238405Sjkim xorl 4(%rdi),%eax 999238405Sjkim movl %eax,28(%rdi) 1000238405Sjkim xorl 8(%rdi),%eax 1001238405Sjkim movl %eax,32(%rdi) 1002238405Sjkim xorl 12(%rdi),%eax 1003238405Sjkim movl %eax,36(%rdi) 1004238405Sjkim 1005238405Sjkim cmpl $7,%ecx 1006238405Sjkim je .L12break 1007238405Sjkim addl $1,%ecx 1008238405Sjkim 1009238405Sjkim xorl 16(%rdi),%eax 1010238405Sjkim movl %eax,40(%rdi) 1011238405Sjkim xorl 20(%rdi),%eax 1012238405Sjkim movl %eax,44(%rdi) 1013238405Sjkim 1014238405Sjkim leaq 24(%rdi),%rdi 1015238405Sjkim jmp .L12loop 1016238405Sjkim.L12break: 1017238405Sjkim movl $12,72(%rdi) 1018238405Sjkim xorq %rax,%rax 1019238405Sjkim jmp .Lexit 1020238405Sjkim 1021238405Sjkim.L14rounds: 1022238405Sjkim movq 0(%rsi),%rax 1023238405Sjkim movq 8(%rsi),%rbx 1024238405Sjkim movq 16(%rsi),%rcx 1025238405Sjkim movq 24(%rsi),%rdx 1026238405Sjkim movq %rax,0(%rdi) 1027238405Sjkim movq %rbx,8(%rdi) 1028238405Sjkim movq %rcx,16(%rdi) 1029238405Sjkim movq %rdx,24(%rdi) 1030238405Sjkim 1031238405Sjkim shrq $32,%rdx 1032238405Sjkim xorl %ecx,%ecx 1033238405Sjkim jmp .L14shortcut 1034238405Sjkim.align 4 1035238405Sjkim.L14loop: 1036238405Sjkim movl 0(%rdi),%eax 1037238405Sjkim movl 28(%rdi),%edx 1038238405Sjkim.L14shortcut: 1039238405Sjkim movzbl %dl,%esi 1040238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1041238405Sjkim movzbl %dh,%esi 1042238405Sjkim shll $24,%ebx 1043238405Sjkim xorl %ebx,%eax 1044238405Sjkim 1045238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1046238405Sjkim shrl $16,%edx 1047238405Sjkim movzbl %dl,%esi 1048238405Sjkim xorl %ebx,%eax 1049238405Sjkim 1050238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1051238405Sjkim movzbl %dh,%esi 1052238405Sjkim shll $8,%ebx 1053238405Sjkim xorl %ebx,%eax 1054238405Sjkim 1055238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1056238405Sjkim shll $16,%ebx 1057238405Sjkim xorl %ebx,%eax 1058238405Sjkim 1059238405Sjkim xorl 1024-128(%rbp,%rcx,4),%eax 1060238405Sjkim movl %eax,32(%rdi) 1061238405Sjkim xorl 4(%rdi),%eax 1062238405Sjkim movl %eax,36(%rdi) 1063238405Sjkim xorl 8(%rdi),%eax 1064238405Sjkim movl %eax,40(%rdi) 1065238405Sjkim xorl 12(%rdi),%eax 1066238405Sjkim movl %eax,44(%rdi) 1067238405Sjkim 1068238405Sjkim cmpl $6,%ecx 1069238405Sjkim je .L14break 1070238405Sjkim addl $1,%ecx 1071238405Sjkim 1072238405Sjkim movl %eax,%edx 1073238405Sjkim movl 16(%rdi),%eax 1074238405Sjkim movzbl %dl,%esi 1075238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1076238405Sjkim movzbl %dh,%esi 1077238405Sjkim xorl %ebx,%eax 1078238405Sjkim 1079238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1080238405Sjkim shrl $16,%edx 1081238405Sjkim shll $8,%ebx 1082238405Sjkim movzbl %dl,%esi 1083238405Sjkim xorl %ebx,%eax 1084238405Sjkim 1085238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1086238405Sjkim movzbl %dh,%esi 1087238405Sjkim shll $16,%ebx 1088238405Sjkim xorl %ebx,%eax 1089238405Sjkim 1090238405Sjkim movzbl -128(%rbp,%rsi,1),%ebx 1091238405Sjkim shll $24,%ebx 1092238405Sjkim xorl %ebx,%eax 1093238405Sjkim 1094238405Sjkim movl %eax,48(%rdi) 1095238405Sjkim xorl 20(%rdi),%eax 1096238405Sjkim movl %eax,52(%rdi) 1097238405Sjkim xorl 24(%rdi),%eax 1098238405Sjkim movl %eax,56(%rdi) 1099238405Sjkim xorl 28(%rdi),%eax 1100238405Sjkim movl %eax,60(%rdi) 1101238405Sjkim 1102238405Sjkim leaq 32(%rdi),%rdi 1103238405Sjkim jmp .L14loop 1104238405Sjkim.L14break: 1105238405Sjkim movl $14,48(%rdi) 1106238405Sjkim xorq %rax,%rax 1107238405Sjkim jmp .Lexit 1108238405Sjkim 1109238405Sjkim.Lbadpointer: 1110238405Sjkim movq $-1,%rax 1111238405Sjkim.Lexit: 1112238405Sjkim.byte 0xf3,0xc3 1113238405Sjkim.size _x86_64_AES_set_encrypt_key,.-_x86_64_AES_set_encrypt_key 1114238405Sjkim.globl private_AES_set_decrypt_key 1115238405Sjkim.type private_AES_set_decrypt_key,@function 1116238405Sjkim.align 16 1117238405Sjkimprivate_AES_set_decrypt_key: 1118238405Sjkim pushq %rbx 1119238405Sjkim pushq %rbp 1120238405Sjkim pushq %r12 1121238405Sjkim pushq %r13 1122238405Sjkim pushq %r14 1123238405Sjkim pushq %r15 1124238405Sjkim pushq %rdx 1125238405Sjkim.Ldec_key_prologue: 1126238405Sjkim 1127238405Sjkim call _x86_64_AES_set_encrypt_key 1128238405Sjkim movq (%rsp),%r8 1129238405Sjkim cmpl $0,%eax 1130238405Sjkim jne .Labort 1131238405Sjkim 1132238405Sjkim movl 240(%r8),%r14d 1133238405Sjkim xorq %rdi,%rdi 1134238405Sjkim leaq (%rdi,%r14,4),%rcx 1135238405Sjkim movq %r8,%rsi 1136238405Sjkim leaq (%r8,%rcx,4),%rdi 1137238405Sjkim.align 4 1138238405Sjkim.Linvert: 1139238405Sjkim movq 0(%rsi),%rax 1140238405Sjkim movq 8(%rsi),%rbx 1141238405Sjkim movq 0(%rdi),%rcx 1142238405Sjkim movq 8(%rdi),%rdx 1143238405Sjkim movq %rax,0(%rdi) 1144238405Sjkim movq %rbx,8(%rdi) 1145238405Sjkim movq %rcx,0(%rsi) 1146238405Sjkim movq %rdx,8(%rsi) 1147238405Sjkim leaq 16(%rsi),%rsi 1148238405Sjkim leaq -16(%rdi),%rdi 1149238405Sjkim cmpq %rsi,%rdi 1150238405Sjkim jne .Linvert 1151238405Sjkim 1152238405Sjkim leaq .LAES_Te+2048+1024(%rip),%rax 1153238405Sjkim 1154238405Sjkim movq 40(%rax),%rsi 1155238405Sjkim movq 48(%rax),%rdi 1156238405Sjkim movq 56(%rax),%rbp 1157238405Sjkim 1158238405Sjkim movq %r8,%r15 1159238405Sjkim subl $1,%r14d 1160238405Sjkim.align 4 1161238405Sjkim.Lpermute: 1162238405Sjkim leaq 16(%r15),%r15 1163238405Sjkim movq 0(%r15),%rax 1164238405Sjkim movq 8(%r15),%rcx 1165238405Sjkim movq %rax,%rbx 1166238405Sjkim movq %rcx,%rdx 1167238405Sjkim andq %rsi,%rbx 1168238405Sjkim andq %rsi,%rdx 1169238405Sjkim movq %rbx,%r9 1170238405Sjkim movq %rdx,%r12 1171238405Sjkim shrq $7,%r9 1172238405Sjkim leaq (%rax,%rax,1),%r8 1173238405Sjkim shrq $7,%r12 1174238405Sjkim leaq (%rcx,%rcx,1),%r11 1175238405Sjkim subq %r9,%rbx 1176238405Sjkim subq %r12,%rdx 1177238405Sjkim andq %rdi,%r8 1178238405Sjkim andq %rdi,%r11 1179238405Sjkim andq %rbp,%rbx 1180238405Sjkim andq %rbp,%rdx 1181238405Sjkim xorq %r8,%rbx 1182238405Sjkim xorq %r11,%rdx 1183238405Sjkim movq %rbx,%r8 1184238405Sjkim movq %rdx,%r11 1185238405Sjkim 1186238405Sjkim andq %rsi,%rbx 1187238405Sjkim andq %rsi,%rdx 1188238405Sjkim movq %rbx,%r10 1189238405Sjkim movq %rdx,%r13 1190238405Sjkim shrq $7,%r10 1191238405Sjkim leaq (%r8,%r8,1),%r9 1192238405Sjkim shrq $7,%r13 1193238405Sjkim leaq (%r11,%r11,1),%r12 1194238405Sjkim subq %r10,%rbx 1195238405Sjkim subq %r13,%rdx 1196238405Sjkim andq %rdi,%r9 1197238405Sjkim andq %rdi,%r12 1198238405Sjkim andq %rbp,%rbx 1199238405Sjkim andq %rbp,%rdx 1200238405Sjkim xorq %r9,%rbx 1201238405Sjkim xorq %r12,%rdx 1202238405Sjkim movq %rbx,%r9 1203238405Sjkim movq %rdx,%r12 1204238405Sjkim 1205238405Sjkim andq %rsi,%rbx 1206238405Sjkim andq %rsi,%rdx 1207238405Sjkim movq %rbx,%r10 1208238405Sjkim movq %rdx,%r13 1209238405Sjkim shrq $7,%r10 1210238405Sjkim xorq %rax,%r8 1211238405Sjkim shrq $7,%r13 1212238405Sjkim xorq %rcx,%r11 1213238405Sjkim subq %r10,%rbx 1214238405Sjkim subq %r13,%rdx 1215238405Sjkim leaq (%r9,%r9,1),%r10 1216238405Sjkim leaq (%r12,%r12,1),%r13 1217238405Sjkim xorq %rax,%r9 1218238405Sjkim xorq %rcx,%r12 1219238405Sjkim andq %rdi,%r10 1220238405Sjkim andq %rdi,%r13 1221238405Sjkim andq %rbp,%rbx 1222238405Sjkim andq %rbp,%rdx 1223238405Sjkim xorq %rbx,%r10 1224238405Sjkim xorq %rdx,%r13 1225238405Sjkim 1226238405Sjkim xorq %r10,%rax 1227238405Sjkim xorq %r13,%rcx 1228238405Sjkim xorq %r10,%r8 1229238405Sjkim xorq %r13,%r11 1230238405Sjkim movq %rax,%rbx 1231238405Sjkim movq %rcx,%rdx 1232238405Sjkim xorq %r10,%r9 1233238405Sjkim xorq %r13,%r12 1234238405Sjkim shrq $32,%rbx 1235238405Sjkim shrq $32,%rdx 1236238405Sjkim xorq %r8,%r10 1237238405Sjkim xorq %r11,%r13 1238238405Sjkim roll $8,%eax 1239238405Sjkim roll $8,%ecx 1240238405Sjkim xorq %r9,%r10 1241238405Sjkim xorq %r12,%r13 1242238405Sjkim 1243238405Sjkim roll $8,%ebx 1244238405Sjkim roll $8,%edx 1245238405Sjkim xorl %r10d,%eax 1246238405Sjkim xorl %r13d,%ecx 1247238405Sjkim shrq $32,%r10 1248238405Sjkim shrq $32,%r13 1249238405Sjkim xorl %r10d,%ebx 1250238405Sjkim xorl %r13d,%edx 1251238405Sjkim 1252238405Sjkim movq %r8,%r10 1253238405Sjkim movq %r11,%r13 1254238405Sjkim shrq $32,%r10 1255238405Sjkim shrq $32,%r13 1256238405Sjkim roll $24,%r8d 1257238405Sjkim roll $24,%r11d 1258238405Sjkim roll $24,%r10d 1259238405Sjkim roll $24,%r13d 1260238405Sjkim xorl %r8d,%eax 1261238405Sjkim xorl %r11d,%ecx 1262238405Sjkim movq %r9,%r8 1263238405Sjkim movq %r12,%r11 1264238405Sjkim xorl %r10d,%ebx 1265238405Sjkim xorl %r13d,%edx 1266238405Sjkim 1267238405Sjkim 1268238405Sjkim shrq $32,%r8 1269238405Sjkim shrq $32,%r11 1270238405Sjkim 1271238405Sjkim roll $16,%r9d 1272238405Sjkim roll $16,%r12d 1273238405Sjkim 1274238405Sjkim roll $16,%r8d 1275238405Sjkim roll $16,%r11d 1276238405Sjkim 1277238405Sjkim xorl %r9d,%eax 1278238405Sjkim xorl %r12d,%ecx 1279238405Sjkim 1280238405Sjkim xorl %r8d,%ebx 1281238405Sjkim xorl %r11d,%edx 1282238405Sjkim movl %eax,0(%r15) 1283238405Sjkim movl %ebx,4(%r15) 1284238405Sjkim movl %ecx,8(%r15) 1285238405Sjkim movl %edx,12(%r15) 1286238405Sjkim subl $1,%r14d 1287238405Sjkim jnz .Lpermute 1288238405Sjkim 1289238405Sjkim xorq %rax,%rax 1290238405Sjkim.Labort: 1291238405Sjkim movq 8(%rsp),%r15 1292238405Sjkim movq 16(%rsp),%r14 1293238405Sjkim movq 24(%rsp),%r13 1294238405Sjkim movq 32(%rsp),%r12 1295238405Sjkim movq 40(%rsp),%rbp 1296238405Sjkim movq 48(%rsp),%rbx 1297238405Sjkim addq $56,%rsp 1298238405Sjkim.Ldec_key_epilogue: 1299238405Sjkim .byte 0xf3,0xc3 1300238405Sjkim.size private_AES_set_decrypt_key,.-private_AES_set_decrypt_key 1301238405Sjkim.globl AES_cbc_encrypt 1302238405Sjkim.type AES_cbc_encrypt,@function 1303238405Sjkim.align 16 1304238405Sjkim 1305238405Sjkim.globl asm_AES_cbc_encrypt 1306238405Sjkim.hidden asm_AES_cbc_encrypt 1307238405Sjkimasm_AES_cbc_encrypt: 1308238405SjkimAES_cbc_encrypt: 1309238405Sjkim cmpq $0,%rdx 1310238405Sjkim je .Lcbc_epilogue 1311238405Sjkim pushfq 1312238405Sjkim pushq %rbx 1313238405Sjkim pushq %rbp 1314238405Sjkim pushq %r12 1315238405Sjkim pushq %r13 1316238405Sjkim pushq %r14 1317238405Sjkim pushq %r15 1318238405Sjkim.Lcbc_prologue: 1319238405Sjkim 1320238405Sjkim cld 1321238405Sjkim movl %r9d,%r9d 1322238405Sjkim 1323238405Sjkim leaq .LAES_Te(%rip),%r14 1324238405Sjkim cmpq $0,%r9 1325238405Sjkim jne .Lcbc_picked_te 1326238405Sjkim leaq .LAES_Td(%rip),%r14 1327238405Sjkim.Lcbc_picked_te: 1328238405Sjkim 1329238405Sjkim movl OPENSSL_ia32cap_P(%rip),%r10d 1330238405Sjkim cmpq $512,%rdx 1331238405Sjkim jb .Lcbc_slow_prologue 1332238405Sjkim testq $15,%rdx 1333238405Sjkim jnz .Lcbc_slow_prologue 1334238405Sjkim btl $28,%r10d 1335238405Sjkim jc .Lcbc_slow_prologue 1336238405Sjkim 1337238405Sjkim 1338238405Sjkim leaq -88-248(%rsp),%r15 1339238405Sjkim andq $-64,%r15 1340238405Sjkim 1341238405Sjkim 1342238405Sjkim movq %r14,%r10 1343238405Sjkim leaq 2304(%r14),%r11 1344238405Sjkim movq %r15,%r12 1345238405Sjkim andq $4095,%r10 1346238405Sjkim andq $4095,%r11 1347238405Sjkim andq $4095,%r12 1348238405Sjkim 1349238405Sjkim cmpq %r11,%r12 1350238405Sjkim jb .Lcbc_te_break_out 1351238405Sjkim subq %r11,%r12 1352238405Sjkim subq %r12,%r15 1353238405Sjkim jmp .Lcbc_te_ok 1354238405Sjkim.Lcbc_te_break_out: 1355238405Sjkim subq %r10,%r12 1356238405Sjkim andq $4095,%r12 1357238405Sjkim addq $320,%r12 1358238405Sjkim subq %r12,%r15 1359238405Sjkim.align 4 1360238405Sjkim.Lcbc_te_ok: 1361238405Sjkim 1362238405Sjkim xchgq %rsp,%r15 1363238405Sjkim 1364238405Sjkim movq %r15,16(%rsp) 1365238405Sjkim.Lcbc_fast_body: 1366238405Sjkim movq %rdi,24(%rsp) 1367238405Sjkim movq %rsi,32(%rsp) 1368238405Sjkim movq %rdx,40(%rsp) 1369238405Sjkim movq %rcx,48(%rsp) 1370238405Sjkim movq %r8,56(%rsp) 1371238405Sjkim movl $0,80+240(%rsp) 1372238405Sjkim movq %r8,%rbp 1373238405Sjkim movq %r9,%rbx 1374238405Sjkim movq %rsi,%r9 1375238405Sjkim movq %rdi,%r8 1376238405Sjkim movq %rcx,%r15 1377238405Sjkim 1378238405Sjkim movl 240(%r15),%eax 1379238405Sjkim 1380238405Sjkim movq %r15,%r10 1381238405Sjkim subq %r14,%r10 1382238405Sjkim andq $4095,%r10 1383238405Sjkim cmpq $2304,%r10 1384238405Sjkim jb .Lcbc_do_ecopy 1385238405Sjkim cmpq $4096-248,%r10 1386238405Sjkim jb .Lcbc_skip_ecopy 1387238405Sjkim.align 4 1388238405Sjkim.Lcbc_do_ecopy: 1389238405Sjkim movq %r15,%rsi 1390238405Sjkim leaq 80(%rsp),%rdi 1391238405Sjkim leaq 80(%rsp),%r15 1392238405Sjkim movl $30,%ecx 1393238405Sjkim.long 0x90A548F3 1394238405Sjkim movl %eax,(%rdi) 1395238405Sjkim.Lcbc_skip_ecopy: 1396238405Sjkim movq %r15,0(%rsp) 1397238405Sjkim 1398238405Sjkim movl $18,%ecx 1399238405Sjkim.align 4 1400238405Sjkim.Lcbc_prefetch_te: 1401238405Sjkim movq 0(%r14),%r10 1402238405Sjkim movq 32(%r14),%r11 1403238405Sjkim movq 64(%r14),%r12 1404238405Sjkim movq 96(%r14),%r13 1405238405Sjkim leaq 128(%r14),%r14 1406238405Sjkim subl $1,%ecx 1407238405Sjkim jnz .Lcbc_prefetch_te 1408238405Sjkim leaq -2304(%r14),%r14 1409238405Sjkim 1410238405Sjkim cmpq $0,%rbx 1411238405Sjkim je .LFAST_DECRYPT 1412238405Sjkim 1413238405Sjkim 1414238405Sjkim movl 0(%rbp),%eax 1415238405Sjkim movl 4(%rbp),%ebx 1416238405Sjkim movl 8(%rbp),%ecx 1417238405Sjkim movl 12(%rbp),%edx 1418238405Sjkim 1419238405Sjkim.align 4 1420238405Sjkim.Lcbc_fast_enc_loop: 1421238405Sjkim xorl 0(%r8),%eax 1422238405Sjkim xorl 4(%r8),%ebx 1423238405Sjkim xorl 8(%r8),%ecx 1424238405Sjkim xorl 12(%r8),%edx 1425238405Sjkim movq 0(%rsp),%r15 1426238405Sjkim movq %r8,24(%rsp) 1427238405Sjkim 1428238405Sjkim call _x86_64_AES_encrypt 1429238405Sjkim 1430238405Sjkim movq 24(%rsp),%r8 1431238405Sjkim movq 40(%rsp),%r10 1432238405Sjkim movl %eax,0(%r9) 1433238405Sjkim movl %ebx,4(%r9) 1434238405Sjkim movl %ecx,8(%r9) 1435238405Sjkim movl %edx,12(%r9) 1436238405Sjkim 1437238405Sjkim leaq 16(%r8),%r8 1438238405Sjkim leaq 16(%r9),%r9 1439238405Sjkim subq $16,%r10 1440238405Sjkim testq $-16,%r10 1441238405Sjkim movq %r10,40(%rsp) 1442238405Sjkim jnz .Lcbc_fast_enc_loop 1443238405Sjkim movq 56(%rsp),%rbp 1444238405Sjkim movl %eax,0(%rbp) 1445238405Sjkim movl %ebx,4(%rbp) 1446238405Sjkim movl %ecx,8(%rbp) 1447238405Sjkim movl %edx,12(%rbp) 1448238405Sjkim 1449238405Sjkim jmp .Lcbc_fast_cleanup 1450238405Sjkim 1451238405Sjkim 1452238405Sjkim.align 16 1453238405Sjkim.LFAST_DECRYPT: 1454238405Sjkim cmpq %r8,%r9 1455238405Sjkim je .Lcbc_fast_dec_in_place 1456238405Sjkim 1457238405Sjkim movq %rbp,64(%rsp) 1458238405Sjkim.align 4 1459238405Sjkim.Lcbc_fast_dec_loop: 1460238405Sjkim movl 0(%r8),%eax 1461238405Sjkim movl 4(%r8),%ebx 1462238405Sjkim movl 8(%r8),%ecx 1463238405Sjkim movl 12(%r8),%edx 1464238405Sjkim movq 0(%rsp),%r15 1465238405Sjkim movq %r8,24(%rsp) 1466238405Sjkim 1467238405Sjkim call _x86_64_AES_decrypt 1468238405Sjkim 1469238405Sjkim movq 64(%rsp),%rbp 1470238405Sjkim movq 24(%rsp),%r8 1471238405Sjkim movq 40(%rsp),%r10 1472238405Sjkim xorl 0(%rbp),%eax 1473238405Sjkim xorl 4(%rbp),%ebx 1474238405Sjkim xorl 8(%rbp),%ecx 1475238405Sjkim xorl 12(%rbp),%edx 1476238405Sjkim movq %r8,%rbp 1477238405Sjkim 1478238405Sjkim subq $16,%r10 1479238405Sjkim movq %r10,40(%rsp) 1480238405Sjkim movq %rbp,64(%rsp) 1481238405Sjkim 1482238405Sjkim movl %eax,0(%r9) 1483238405Sjkim movl %ebx,4(%r9) 1484238405Sjkim movl %ecx,8(%r9) 1485238405Sjkim movl %edx,12(%r9) 1486238405Sjkim 1487238405Sjkim leaq 16(%r8),%r8 1488238405Sjkim leaq 16(%r9),%r9 1489238405Sjkim jnz .Lcbc_fast_dec_loop 1490238405Sjkim movq 56(%rsp),%r12 1491238405Sjkim movq 0(%rbp),%r10 1492238405Sjkim movq 8(%rbp),%r11 1493238405Sjkim movq %r10,0(%r12) 1494238405Sjkim movq %r11,8(%r12) 1495238405Sjkim jmp .Lcbc_fast_cleanup 1496238405Sjkim 1497238405Sjkim.align 16 1498238405Sjkim.Lcbc_fast_dec_in_place: 1499238405Sjkim movq 0(%rbp),%r10 1500238405Sjkim movq 8(%rbp),%r11 1501238405Sjkim movq %r10,0+64(%rsp) 1502238405Sjkim movq %r11,8+64(%rsp) 1503238405Sjkim.align 4 1504238405Sjkim.Lcbc_fast_dec_in_place_loop: 1505238405Sjkim movl 0(%r8),%eax 1506238405Sjkim movl 4(%r8),%ebx 1507238405Sjkim movl 8(%r8),%ecx 1508238405Sjkim movl 12(%r8),%edx 1509238405Sjkim movq 0(%rsp),%r15 1510238405Sjkim movq %r8,24(%rsp) 1511238405Sjkim 1512238405Sjkim call _x86_64_AES_decrypt 1513238405Sjkim 1514238405Sjkim movq 24(%rsp),%r8 1515238405Sjkim movq 40(%rsp),%r10 1516238405Sjkim xorl 0+64(%rsp),%eax 1517238405Sjkim xorl 4+64(%rsp),%ebx 1518238405Sjkim xorl 8+64(%rsp),%ecx 1519238405Sjkim xorl 12+64(%rsp),%edx 1520238405Sjkim 1521238405Sjkim movq 0(%r8),%r11 1522238405Sjkim movq 8(%r8),%r12 1523238405Sjkim subq $16,%r10 1524238405Sjkim jz .Lcbc_fast_dec_in_place_done 1525238405Sjkim 1526238405Sjkim movq %r11,0+64(%rsp) 1527238405Sjkim movq %r12,8+64(%rsp) 1528238405Sjkim 1529238405Sjkim movl %eax,0(%r9) 1530238405Sjkim movl %ebx,4(%r9) 1531238405Sjkim movl %ecx,8(%r9) 1532238405Sjkim movl %edx,12(%r9) 1533238405Sjkim 1534238405Sjkim leaq 16(%r8),%r8 1535238405Sjkim leaq 16(%r9),%r9 1536238405Sjkim movq %r10,40(%rsp) 1537238405Sjkim jmp .Lcbc_fast_dec_in_place_loop 1538238405Sjkim.Lcbc_fast_dec_in_place_done: 1539238405Sjkim movq 56(%rsp),%rdi 1540238405Sjkim movq %r11,0(%rdi) 1541238405Sjkim movq %r12,8(%rdi) 1542238405Sjkim 1543238405Sjkim movl %eax,0(%r9) 1544238405Sjkim movl %ebx,4(%r9) 1545238405Sjkim movl %ecx,8(%r9) 1546238405Sjkim movl %edx,12(%r9) 1547238405Sjkim 1548238405Sjkim.align 4 1549238405Sjkim.Lcbc_fast_cleanup: 1550238405Sjkim cmpl $0,80+240(%rsp) 1551238405Sjkim leaq 80(%rsp),%rdi 1552238405Sjkim je .Lcbc_exit 1553238405Sjkim movl $30,%ecx 1554238405Sjkim xorq %rax,%rax 1555238405Sjkim.long 0x90AB48F3 1556238405Sjkim 1557238405Sjkim jmp .Lcbc_exit 1558238405Sjkim 1559238405Sjkim 1560238405Sjkim.align 16 1561238405Sjkim.Lcbc_slow_prologue: 1562238405Sjkim 1563238405Sjkim leaq -88(%rsp),%rbp 1564238405Sjkim andq $-64,%rbp 1565238405Sjkim 1566238405Sjkim leaq -88-63(%rcx),%r10 1567238405Sjkim subq %rbp,%r10 1568238405Sjkim negq %r10 1569238405Sjkim andq $960,%r10 1570238405Sjkim subq %r10,%rbp 1571238405Sjkim 1572238405Sjkim xchgq %rsp,%rbp 1573238405Sjkim 1574238405Sjkim movq %rbp,16(%rsp) 1575238405Sjkim.Lcbc_slow_body: 1576238405Sjkim 1577238405Sjkim 1578238405Sjkim 1579238405Sjkim 1580238405Sjkim movq %r8,56(%rsp) 1581238405Sjkim movq %r8,%rbp 1582238405Sjkim movq %r9,%rbx 1583238405Sjkim movq %rsi,%r9 1584238405Sjkim movq %rdi,%r8 1585238405Sjkim movq %rcx,%r15 1586238405Sjkim movq %rdx,%r10 1587238405Sjkim 1588238405Sjkim movl 240(%r15),%eax 1589238405Sjkim movq %r15,0(%rsp) 1590238405Sjkim shll $4,%eax 1591238405Sjkim leaq (%r15,%rax,1),%rax 1592238405Sjkim movq %rax,8(%rsp) 1593238405Sjkim 1594238405Sjkim 1595238405Sjkim leaq 2048(%r14),%r14 1596238405Sjkim leaq 768-8(%rsp),%rax 1597238405Sjkim subq %r14,%rax 1598238405Sjkim andq $768,%rax 1599238405Sjkim leaq (%r14,%rax,1),%r14 1600238405Sjkim 1601238405Sjkim cmpq $0,%rbx 1602238405Sjkim je .LSLOW_DECRYPT 1603238405Sjkim 1604238405Sjkim 1605238405Sjkim testq $-16,%r10 1606238405Sjkim movl 0(%rbp),%eax 1607238405Sjkim movl 4(%rbp),%ebx 1608238405Sjkim movl 8(%rbp),%ecx 1609238405Sjkim movl 12(%rbp),%edx 1610238405Sjkim jz .Lcbc_slow_enc_tail 1611238405Sjkim 1612238405Sjkim.align 4 1613238405Sjkim.Lcbc_slow_enc_loop: 1614238405Sjkim xorl 0(%r8),%eax 1615238405Sjkim xorl 4(%r8),%ebx 1616238405Sjkim xorl 8(%r8),%ecx 1617238405Sjkim xorl 12(%r8),%edx 1618238405Sjkim movq 0(%rsp),%r15 1619238405Sjkim movq %r8,24(%rsp) 1620238405Sjkim movq %r9,32(%rsp) 1621238405Sjkim movq %r10,40(%rsp) 1622238405Sjkim 1623238405Sjkim call _x86_64_AES_encrypt_compact 1624238405Sjkim 1625238405Sjkim movq 24(%rsp),%r8 1626238405Sjkim movq 32(%rsp),%r9 1627238405Sjkim movq 40(%rsp),%r10 1628238405Sjkim movl %eax,0(%r9) 1629238405Sjkim movl %ebx,4(%r9) 1630238405Sjkim movl %ecx,8(%r9) 1631238405Sjkim movl %edx,12(%r9) 1632238405Sjkim 1633238405Sjkim leaq 16(%r8),%r8 1634238405Sjkim leaq 16(%r9),%r9 1635238405Sjkim subq $16,%r10 1636238405Sjkim testq $-16,%r10 1637238405Sjkim jnz .Lcbc_slow_enc_loop 1638238405Sjkim testq $15,%r10 1639238405Sjkim jnz .Lcbc_slow_enc_tail 1640238405Sjkim movq 56(%rsp),%rbp 1641238405Sjkim movl %eax,0(%rbp) 1642238405Sjkim movl %ebx,4(%rbp) 1643238405Sjkim movl %ecx,8(%rbp) 1644238405Sjkim movl %edx,12(%rbp) 1645238405Sjkim 1646238405Sjkim jmp .Lcbc_exit 1647238405Sjkim 1648238405Sjkim.align 4 1649238405Sjkim.Lcbc_slow_enc_tail: 1650238405Sjkim movq %rax,%r11 1651238405Sjkim movq %rcx,%r12 1652238405Sjkim movq %r10,%rcx 1653238405Sjkim movq %r8,%rsi 1654238405Sjkim movq %r9,%rdi 1655238405Sjkim.long 0x9066A4F3 1656238405Sjkim movq $16,%rcx 1657238405Sjkim subq %r10,%rcx 1658238405Sjkim xorq %rax,%rax 1659238405Sjkim.long 0x9066AAF3 1660238405Sjkim movq %r9,%r8 1661238405Sjkim movq $16,%r10 1662238405Sjkim movq %r11,%rax 1663238405Sjkim movq %r12,%rcx 1664238405Sjkim jmp .Lcbc_slow_enc_loop 1665238405Sjkim 1666238405Sjkim.align 16 1667238405Sjkim.LSLOW_DECRYPT: 1668238405Sjkim shrq $3,%rax 1669238405Sjkim addq %rax,%r14 1670238405Sjkim 1671238405Sjkim movq 0(%rbp),%r11 1672238405Sjkim movq 8(%rbp),%r12 1673238405Sjkim movq %r11,0+64(%rsp) 1674238405Sjkim movq %r12,8+64(%rsp) 1675238405Sjkim 1676238405Sjkim.align 4 1677238405Sjkim.Lcbc_slow_dec_loop: 1678238405Sjkim movl 0(%r8),%eax 1679238405Sjkim movl 4(%r8),%ebx 1680238405Sjkim movl 8(%r8),%ecx 1681238405Sjkim movl 12(%r8),%edx 1682238405Sjkim movq 0(%rsp),%r15 1683238405Sjkim movq %r8,24(%rsp) 1684238405Sjkim movq %r9,32(%rsp) 1685238405Sjkim movq %r10,40(%rsp) 1686238405Sjkim 1687238405Sjkim call _x86_64_AES_decrypt_compact 1688238405Sjkim 1689238405Sjkim movq 24(%rsp),%r8 1690238405Sjkim movq 32(%rsp),%r9 1691238405Sjkim movq 40(%rsp),%r10 1692238405Sjkim xorl 0+64(%rsp),%eax 1693238405Sjkim xorl 4+64(%rsp),%ebx 1694238405Sjkim xorl 8+64(%rsp),%ecx 1695238405Sjkim xorl 12+64(%rsp),%edx 1696238405Sjkim 1697238405Sjkim movq 0(%r8),%r11 1698238405Sjkim movq 8(%r8),%r12 1699238405Sjkim subq $16,%r10 1700238405Sjkim jc .Lcbc_slow_dec_partial 1701238405Sjkim jz .Lcbc_slow_dec_done 1702238405Sjkim 1703238405Sjkim movq %r11,0+64(%rsp) 1704238405Sjkim movq %r12,8+64(%rsp) 1705238405Sjkim 1706238405Sjkim movl %eax,0(%r9) 1707238405Sjkim movl %ebx,4(%r9) 1708238405Sjkim movl %ecx,8(%r9) 1709238405Sjkim movl %edx,12(%r9) 1710238405Sjkim 1711238405Sjkim leaq 16(%r8),%r8 1712238405Sjkim leaq 16(%r9),%r9 1713238405Sjkim jmp .Lcbc_slow_dec_loop 1714238405Sjkim.Lcbc_slow_dec_done: 1715238405Sjkim movq 56(%rsp),%rdi 1716238405Sjkim movq %r11,0(%rdi) 1717238405Sjkim movq %r12,8(%rdi) 1718238405Sjkim 1719238405Sjkim movl %eax,0(%r9) 1720238405Sjkim movl %ebx,4(%r9) 1721238405Sjkim movl %ecx,8(%r9) 1722238405Sjkim movl %edx,12(%r9) 1723238405Sjkim 1724238405Sjkim jmp .Lcbc_exit 1725238405Sjkim 1726238405Sjkim.align 4 1727238405Sjkim.Lcbc_slow_dec_partial: 1728238405Sjkim movq 56(%rsp),%rdi 1729238405Sjkim movq %r11,0(%rdi) 1730238405Sjkim movq %r12,8(%rdi) 1731238405Sjkim 1732238405Sjkim movl %eax,0+64(%rsp) 1733238405Sjkim movl %ebx,4+64(%rsp) 1734238405Sjkim movl %ecx,8+64(%rsp) 1735238405Sjkim movl %edx,12+64(%rsp) 1736238405Sjkim 1737238405Sjkim movq %r9,%rdi 1738238405Sjkim leaq 64(%rsp),%rsi 1739238405Sjkim leaq 16(%r10),%rcx 1740238405Sjkim.long 0x9066A4F3 1741238405Sjkim jmp .Lcbc_exit 1742238405Sjkim 1743238405Sjkim.align 16 1744238405Sjkim.Lcbc_exit: 1745238405Sjkim movq 16(%rsp),%rsi 1746238405Sjkim movq (%rsi),%r15 1747238405Sjkim movq 8(%rsi),%r14 1748238405Sjkim movq 16(%rsi),%r13 1749238405Sjkim movq 24(%rsi),%r12 1750238405Sjkim movq 32(%rsi),%rbp 1751238405Sjkim movq 40(%rsi),%rbx 1752238405Sjkim leaq 48(%rsi),%rsp 1753238405Sjkim.Lcbc_popfq: 1754238405Sjkim popfq 1755238405Sjkim.Lcbc_epilogue: 1756238405Sjkim .byte 0xf3,0xc3 1757238405Sjkim.size AES_cbc_encrypt,.-AES_cbc_encrypt 1758238405Sjkim.align 64 1759238405Sjkim.LAES_Te: 1760238405Sjkim.long 0xa56363c6,0xa56363c6 1761238405Sjkim.long 0x847c7cf8,0x847c7cf8 1762238405Sjkim.long 0x997777ee,0x997777ee 1763238405Sjkim.long 0x8d7b7bf6,0x8d7b7bf6 1764238405Sjkim.long 0x0df2f2ff,0x0df2f2ff 1765238405Sjkim.long 0xbd6b6bd6,0xbd6b6bd6 1766238405Sjkim.long 0xb16f6fde,0xb16f6fde 1767238405Sjkim.long 0x54c5c591,0x54c5c591 1768238405Sjkim.long 0x50303060,0x50303060 1769238405Sjkim.long 0x03010102,0x03010102 1770238405Sjkim.long 0xa96767ce,0xa96767ce 1771238405Sjkim.long 0x7d2b2b56,0x7d2b2b56 1772238405Sjkim.long 0x19fefee7,0x19fefee7 1773238405Sjkim.long 0x62d7d7b5,0x62d7d7b5 1774238405Sjkim.long 0xe6abab4d,0xe6abab4d 1775238405Sjkim.long 0x9a7676ec,0x9a7676ec 1776238405Sjkim.long 0x45caca8f,0x45caca8f 1777238405Sjkim.long 0x9d82821f,0x9d82821f 1778238405Sjkim.long 0x40c9c989,0x40c9c989 1779238405Sjkim.long 0x877d7dfa,0x877d7dfa 1780238405Sjkim.long 0x15fafaef,0x15fafaef 1781238405Sjkim.long 0xeb5959b2,0xeb5959b2 1782238405Sjkim.long 0xc947478e,0xc947478e 1783238405Sjkim.long 0x0bf0f0fb,0x0bf0f0fb 1784238405Sjkim.long 0xecadad41,0xecadad41 1785238405Sjkim.long 0x67d4d4b3,0x67d4d4b3 1786238405Sjkim.long 0xfda2a25f,0xfda2a25f 1787238405Sjkim.long 0xeaafaf45,0xeaafaf45 1788238405Sjkim.long 0xbf9c9c23,0xbf9c9c23 1789238405Sjkim.long 0xf7a4a453,0xf7a4a453 1790238405Sjkim.long 0x967272e4,0x967272e4 1791238405Sjkim.long 0x5bc0c09b,0x5bc0c09b 1792238405Sjkim.long 0xc2b7b775,0xc2b7b775 1793238405Sjkim.long 0x1cfdfde1,0x1cfdfde1 1794238405Sjkim.long 0xae93933d,0xae93933d 1795238405Sjkim.long 0x6a26264c,0x6a26264c 1796238405Sjkim.long 0x5a36366c,0x5a36366c 1797238405Sjkim.long 0x413f3f7e,0x413f3f7e 1798238405Sjkim.long 0x02f7f7f5,0x02f7f7f5 1799238405Sjkim.long 0x4fcccc83,0x4fcccc83 1800238405Sjkim.long 0x5c343468,0x5c343468 1801238405Sjkim.long 0xf4a5a551,0xf4a5a551 1802238405Sjkim.long 0x34e5e5d1,0x34e5e5d1 1803238405Sjkim.long 0x08f1f1f9,0x08f1f1f9 1804238405Sjkim.long 0x937171e2,0x937171e2 1805238405Sjkim.long 0x73d8d8ab,0x73d8d8ab 1806238405Sjkim.long 0x53313162,0x53313162 1807238405Sjkim.long 0x3f15152a,0x3f15152a 1808238405Sjkim.long 0x0c040408,0x0c040408 1809238405Sjkim.long 0x52c7c795,0x52c7c795 1810238405Sjkim.long 0x65232346,0x65232346 1811238405Sjkim.long 0x5ec3c39d,0x5ec3c39d 1812238405Sjkim.long 0x28181830,0x28181830 1813238405Sjkim.long 0xa1969637,0xa1969637 1814238405Sjkim.long 0x0f05050a,0x0f05050a 1815238405Sjkim.long 0xb59a9a2f,0xb59a9a2f 1816238405Sjkim.long 0x0907070e,0x0907070e 1817238405Sjkim.long 0x36121224,0x36121224 1818238405Sjkim.long 0x9b80801b,0x9b80801b 1819238405Sjkim.long 0x3de2e2df,0x3de2e2df 1820238405Sjkim.long 0x26ebebcd,0x26ebebcd 1821238405Sjkim.long 0x6927274e,0x6927274e 1822238405Sjkim.long 0xcdb2b27f,0xcdb2b27f 1823238405Sjkim.long 0x9f7575ea,0x9f7575ea 1824238405Sjkim.long 0x1b090912,0x1b090912 1825238405Sjkim.long 0x9e83831d,0x9e83831d 1826238405Sjkim.long 0x742c2c58,0x742c2c58 1827238405Sjkim.long 0x2e1a1a34,0x2e1a1a34 1828238405Sjkim.long 0x2d1b1b36,0x2d1b1b36 1829238405Sjkim.long 0xb26e6edc,0xb26e6edc 1830238405Sjkim.long 0xee5a5ab4,0xee5a5ab4 1831238405Sjkim.long 0xfba0a05b,0xfba0a05b 1832238405Sjkim.long 0xf65252a4,0xf65252a4 1833238405Sjkim.long 0x4d3b3b76,0x4d3b3b76 1834238405Sjkim.long 0x61d6d6b7,0x61d6d6b7 1835238405Sjkim.long 0xceb3b37d,0xceb3b37d 1836238405Sjkim.long 0x7b292952,0x7b292952 1837238405Sjkim.long 0x3ee3e3dd,0x3ee3e3dd 1838238405Sjkim.long 0x712f2f5e,0x712f2f5e 1839238405Sjkim.long 0x97848413,0x97848413 1840238405Sjkim.long 0xf55353a6,0xf55353a6 1841238405Sjkim.long 0x68d1d1b9,0x68d1d1b9 1842238405Sjkim.long 0x00000000,0x00000000 1843238405Sjkim.long 0x2cededc1,0x2cededc1 1844238405Sjkim.long 0x60202040,0x60202040 1845238405Sjkim.long 0x1ffcfce3,0x1ffcfce3 1846238405Sjkim.long 0xc8b1b179,0xc8b1b179 1847238405Sjkim.long 0xed5b5bb6,0xed5b5bb6 1848238405Sjkim.long 0xbe6a6ad4,0xbe6a6ad4 1849238405Sjkim.long 0x46cbcb8d,0x46cbcb8d 1850238405Sjkim.long 0xd9bebe67,0xd9bebe67 1851238405Sjkim.long 0x4b393972,0x4b393972 1852238405Sjkim.long 0xde4a4a94,0xde4a4a94 1853238405Sjkim.long 0xd44c4c98,0xd44c4c98 1854238405Sjkim.long 0xe85858b0,0xe85858b0 1855238405Sjkim.long 0x4acfcf85,0x4acfcf85 1856238405Sjkim.long 0x6bd0d0bb,0x6bd0d0bb 1857238405Sjkim.long 0x2aefefc5,0x2aefefc5 1858238405Sjkim.long 0xe5aaaa4f,0xe5aaaa4f 1859238405Sjkim.long 0x16fbfbed,0x16fbfbed 1860238405Sjkim.long 0xc5434386,0xc5434386 1861238405Sjkim.long 0xd74d4d9a,0xd74d4d9a 1862238405Sjkim.long 0x55333366,0x55333366 1863238405Sjkim.long 0x94858511,0x94858511 1864238405Sjkim.long 0xcf45458a,0xcf45458a 1865238405Sjkim.long 0x10f9f9e9,0x10f9f9e9 1866238405Sjkim.long 0x06020204,0x06020204 1867238405Sjkim.long 0x817f7ffe,0x817f7ffe 1868238405Sjkim.long 0xf05050a0,0xf05050a0 1869238405Sjkim.long 0x443c3c78,0x443c3c78 1870238405Sjkim.long 0xba9f9f25,0xba9f9f25 1871238405Sjkim.long 0xe3a8a84b,0xe3a8a84b 1872238405Sjkim.long 0xf35151a2,0xf35151a2 1873238405Sjkim.long 0xfea3a35d,0xfea3a35d 1874238405Sjkim.long 0xc0404080,0xc0404080 1875238405Sjkim.long 0x8a8f8f05,0x8a8f8f05 1876238405Sjkim.long 0xad92923f,0xad92923f 1877238405Sjkim.long 0xbc9d9d21,0xbc9d9d21 1878238405Sjkim.long 0x48383870,0x48383870 1879238405Sjkim.long 0x04f5f5f1,0x04f5f5f1 1880238405Sjkim.long 0xdfbcbc63,0xdfbcbc63 1881238405Sjkim.long 0xc1b6b677,0xc1b6b677 1882238405Sjkim.long 0x75dadaaf,0x75dadaaf 1883238405Sjkim.long 0x63212142,0x63212142 1884238405Sjkim.long 0x30101020,0x30101020 1885238405Sjkim.long 0x1affffe5,0x1affffe5 1886238405Sjkim.long 0x0ef3f3fd,0x0ef3f3fd 1887238405Sjkim.long 0x6dd2d2bf,0x6dd2d2bf 1888238405Sjkim.long 0x4ccdcd81,0x4ccdcd81 1889238405Sjkim.long 0x140c0c18,0x140c0c18 1890238405Sjkim.long 0x35131326,0x35131326 1891238405Sjkim.long 0x2fececc3,0x2fececc3 1892238405Sjkim.long 0xe15f5fbe,0xe15f5fbe 1893238405Sjkim.long 0xa2979735,0xa2979735 1894238405Sjkim.long 0xcc444488,0xcc444488 1895238405Sjkim.long 0x3917172e,0x3917172e 1896238405Sjkim.long 0x57c4c493,0x57c4c493 1897238405Sjkim.long 0xf2a7a755,0xf2a7a755 1898238405Sjkim.long 0x827e7efc,0x827e7efc 1899238405Sjkim.long 0x473d3d7a,0x473d3d7a 1900238405Sjkim.long 0xac6464c8,0xac6464c8 1901238405Sjkim.long 0xe75d5dba,0xe75d5dba 1902238405Sjkim.long 0x2b191932,0x2b191932 1903238405Sjkim.long 0x957373e6,0x957373e6 1904238405Sjkim.long 0xa06060c0,0xa06060c0 1905238405Sjkim.long 0x98818119,0x98818119 1906238405Sjkim.long 0xd14f4f9e,0xd14f4f9e 1907238405Sjkim.long 0x7fdcdca3,0x7fdcdca3 1908238405Sjkim.long 0x66222244,0x66222244 1909238405Sjkim.long 0x7e2a2a54,0x7e2a2a54 1910238405Sjkim.long 0xab90903b,0xab90903b 1911238405Sjkim.long 0x8388880b,0x8388880b 1912238405Sjkim.long 0xca46468c,0xca46468c 1913238405Sjkim.long 0x29eeeec7,0x29eeeec7 1914238405Sjkim.long 0xd3b8b86b,0xd3b8b86b 1915238405Sjkim.long 0x3c141428,0x3c141428 1916238405Sjkim.long 0x79dedea7,0x79dedea7 1917238405Sjkim.long 0xe25e5ebc,0xe25e5ebc 1918238405Sjkim.long 0x1d0b0b16,0x1d0b0b16 1919238405Sjkim.long 0x76dbdbad,0x76dbdbad 1920238405Sjkim.long 0x3be0e0db,0x3be0e0db 1921238405Sjkim.long 0x56323264,0x56323264 1922238405Sjkim.long 0x4e3a3a74,0x4e3a3a74 1923238405Sjkim.long 0x1e0a0a14,0x1e0a0a14 1924238405Sjkim.long 0xdb494992,0xdb494992 1925238405Sjkim.long 0x0a06060c,0x0a06060c 1926238405Sjkim.long 0x6c242448,0x6c242448 1927238405Sjkim.long 0xe45c5cb8,0xe45c5cb8 1928238405Sjkim.long 0x5dc2c29f,0x5dc2c29f 1929238405Sjkim.long 0x6ed3d3bd,0x6ed3d3bd 1930238405Sjkim.long 0xefacac43,0xefacac43 1931238405Sjkim.long 0xa66262c4,0xa66262c4 1932238405Sjkim.long 0xa8919139,0xa8919139 1933238405Sjkim.long 0xa4959531,0xa4959531 1934238405Sjkim.long 0x37e4e4d3,0x37e4e4d3 1935238405Sjkim.long 0x8b7979f2,0x8b7979f2 1936238405Sjkim.long 0x32e7e7d5,0x32e7e7d5 1937238405Sjkim.long 0x43c8c88b,0x43c8c88b 1938238405Sjkim.long 0x5937376e,0x5937376e 1939238405Sjkim.long 0xb76d6dda,0xb76d6dda 1940238405Sjkim.long 0x8c8d8d01,0x8c8d8d01 1941238405Sjkim.long 0x64d5d5b1,0x64d5d5b1 1942238405Sjkim.long 0xd24e4e9c,0xd24e4e9c 1943238405Sjkim.long 0xe0a9a949,0xe0a9a949 1944238405Sjkim.long 0xb46c6cd8,0xb46c6cd8 1945238405Sjkim.long 0xfa5656ac,0xfa5656ac 1946238405Sjkim.long 0x07f4f4f3,0x07f4f4f3 1947238405Sjkim.long 0x25eaeacf,0x25eaeacf 1948238405Sjkim.long 0xaf6565ca,0xaf6565ca 1949238405Sjkim.long 0x8e7a7af4,0x8e7a7af4 1950238405Sjkim.long 0xe9aeae47,0xe9aeae47 1951238405Sjkim.long 0x18080810,0x18080810 1952238405Sjkim.long 0xd5baba6f,0xd5baba6f 1953238405Sjkim.long 0x887878f0,0x887878f0 1954238405Sjkim.long 0x6f25254a,0x6f25254a 1955238405Sjkim.long 0x722e2e5c,0x722e2e5c 1956238405Sjkim.long 0x241c1c38,0x241c1c38 1957238405Sjkim.long 0xf1a6a657,0xf1a6a657 1958238405Sjkim.long 0xc7b4b473,0xc7b4b473 1959238405Sjkim.long 0x51c6c697,0x51c6c697 1960238405Sjkim.long 0x23e8e8cb,0x23e8e8cb 1961238405Sjkim.long 0x7cdddda1,0x7cdddda1 1962238405Sjkim.long 0x9c7474e8,0x9c7474e8 1963238405Sjkim.long 0x211f1f3e,0x211f1f3e 1964238405Sjkim.long 0xdd4b4b96,0xdd4b4b96 1965238405Sjkim.long 0xdcbdbd61,0xdcbdbd61 1966238405Sjkim.long 0x868b8b0d,0x868b8b0d 1967238405Sjkim.long 0x858a8a0f,0x858a8a0f 1968238405Sjkim.long 0x907070e0,0x907070e0 1969238405Sjkim.long 0x423e3e7c,0x423e3e7c 1970238405Sjkim.long 0xc4b5b571,0xc4b5b571 1971238405Sjkim.long 0xaa6666cc,0xaa6666cc 1972238405Sjkim.long 0xd8484890,0xd8484890 1973238405Sjkim.long 0x05030306,0x05030306 1974238405Sjkim.long 0x01f6f6f7,0x01f6f6f7 1975238405Sjkim.long 0x120e0e1c,0x120e0e1c 1976238405Sjkim.long 0xa36161c2,0xa36161c2 1977238405Sjkim.long 0x5f35356a,0x5f35356a 1978238405Sjkim.long 0xf95757ae,0xf95757ae 1979238405Sjkim.long 0xd0b9b969,0xd0b9b969 1980238405Sjkim.long 0x91868617,0x91868617 1981238405Sjkim.long 0x58c1c199,0x58c1c199 1982238405Sjkim.long 0x271d1d3a,0x271d1d3a 1983238405Sjkim.long 0xb99e9e27,0xb99e9e27 1984238405Sjkim.long 0x38e1e1d9,0x38e1e1d9 1985238405Sjkim.long 0x13f8f8eb,0x13f8f8eb 1986238405Sjkim.long 0xb398982b,0xb398982b 1987238405Sjkim.long 0x33111122,0x33111122 1988238405Sjkim.long 0xbb6969d2,0xbb6969d2 1989238405Sjkim.long 0x70d9d9a9,0x70d9d9a9 1990238405Sjkim.long 0x898e8e07,0x898e8e07 1991238405Sjkim.long 0xa7949433,0xa7949433 1992238405Sjkim.long 0xb69b9b2d,0xb69b9b2d 1993238405Sjkim.long 0x221e1e3c,0x221e1e3c 1994238405Sjkim.long 0x92878715,0x92878715 1995238405Sjkim.long 0x20e9e9c9,0x20e9e9c9 1996238405Sjkim.long 0x49cece87,0x49cece87 1997238405Sjkim.long 0xff5555aa,0xff5555aa 1998238405Sjkim.long 0x78282850,0x78282850 1999238405Sjkim.long 0x7adfdfa5,0x7adfdfa5 2000238405Sjkim.long 0x8f8c8c03,0x8f8c8c03 2001238405Sjkim.long 0xf8a1a159,0xf8a1a159 2002238405Sjkim.long 0x80898909,0x80898909 2003238405Sjkim.long 0x170d0d1a,0x170d0d1a 2004238405Sjkim.long 0xdabfbf65,0xdabfbf65 2005238405Sjkim.long 0x31e6e6d7,0x31e6e6d7 2006238405Sjkim.long 0xc6424284,0xc6424284 2007238405Sjkim.long 0xb86868d0,0xb86868d0 2008238405Sjkim.long 0xc3414182,0xc3414182 2009238405Sjkim.long 0xb0999929,0xb0999929 2010238405Sjkim.long 0x772d2d5a,0x772d2d5a 2011238405Sjkim.long 0x110f0f1e,0x110f0f1e 2012238405Sjkim.long 0xcbb0b07b,0xcbb0b07b 2013238405Sjkim.long 0xfc5454a8,0xfc5454a8 2014238405Sjkim.long 0xd6bbbb6d,0xd6bbbb6d 2015238405Sjkim.long 0x3a16162c,0x3a16162c 2016238405Sjkim.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2017238405Sjkim.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2018238405Sjkim.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2019238405Sjkim.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2020238405Sjkim.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2021238405Sjkim.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2022238405Sjkim.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2023238405Sjkim.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2024238405Sjkim.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2025238405Sjkim.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2026238405Sjkim.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2027238405Sjkim.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2028238405Sjkim.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2029238405Sjkim.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2030238405Sjkim.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2031238405Sjkim.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2032238405Sjkim.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2033238405Sjkim.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2034238405Sjkim.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2035238405Sjkim.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2036238405Sjkim.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2037238405Sjkim.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2038238405Sjkim.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2039238405Sjkim.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2040238405Sjkim.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2041238405Sjkim.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2042238405Sjkim.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2043238405Sjkim.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2044238405Sjkim.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2045238405Sjkim.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2046238405Sjkim.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2047238405Sjkim.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2048238405Sjkim.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2049238405Sjkim.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2050238405Sjkim.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2051238405Sjkim.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2052238405Sjkim.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2053238405Sjkim.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2054238405Sjkim.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2055238405Sjkim.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2056238405Sjkim.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2057238405Sjkim.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2058238405Sjkim.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2059238405Sjkim.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2060238405Sjkim.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2061238405Sjkim.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2062238405Sjkim.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2063238405Sjkim.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2064238405Sjkim.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2065238405Sjkim.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2066238405Sjkim.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2067238405Sjkim.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2068238405Sjkim.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2069238405Sjkim.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2070238405Sjkim.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2071238405Sjkim.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2072238405Sjkim.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2073238405Sjkim.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2074238405Sjkim.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2075238405Sjkim.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2076238405Sjkim.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2077238405Sjkim.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2078238405Sjkim.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2079238405Sjkim.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2080238405Sjkim.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2081238405Sjkim.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2082238405Sjkim.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2083238405Sjkim.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2084238405Sjkim.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2085238405Sjkim.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2086238405Sjkim.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2087238405Sjkim.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2088238405Sjkim.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2089238405Sjkim.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2090238405Sjkim.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2091238405Sjkim.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2092238405Sjkim.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2093238405Sjkim.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2094238405Sjkim.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2095238405Sjkim.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2096238405Sjkim.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2097238405Sjkim.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2098238405Sjkim.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2099238405Sjkim.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2100238405Sjkim.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2101238405Sjkim.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2102238405Sjkim.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2103238405Sjkim.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2104238405Sjkim.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2105238405Sjkim.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2106238405Sjkim.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2107238405Sjkim.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2108238405Sjkim.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2109238405Sjkim.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2110238405Sjkim.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2111238405Sjkim.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2112238405Sjkim.byte 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5 2113238405Sjkim.byte 0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76 2114238405Sjkim.byte 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0 2115238405Sjkim.byte 0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0 2116238405Sjkim.byte 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc 2117238405Sjkim.byte 0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15 2118238405Sjkim.byte 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a 2119238405Sjkim.byte 0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75 2120238405Sjkim.byte 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0 2121238405Sjkim.byte 0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84 2122238405Sjkim.byte 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b 2123238405Sjkim.byte 0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf 2124238405Sjkim.byte 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85 2125238405Sjkim.byte 0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8 2126238405Sjkim.byte 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5 2127238405Sjkim.byte 0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2 2128238405Sjkim.byte 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17 2129238405Sjkim.byte 0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73 2130238405Sjkim.byte 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88 2131238405Sjkim.byte 0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb 2132238405Sjkim.byte 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c 2133238405Sjkim.byte 0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79 2134238405Sjkim.byte 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9 2135238405Sjkim.byte 0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08 2136238405Sjkim.byte 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6 2137238405Sjkim.byte 0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a 2138238405Sjkim.byte 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e 2139238405Sjkim.byte 0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e 2140238405Sjkim.byte 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94 2141238405Sjkim.byte 0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf 2142238405Sjkim.byte 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68 2143238405Sjkim.byte 0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 2144238405Sjkim.long 0x00000001, 0x00000002, 0x00000004, 0x00000008 2145238405Sjkim.long 0x00000010, 0x00000020, 0x00000040, 0x00000080 2146238405Sjkim.long 0x0000001b, 0x00000036, 0x80808080, 0x80808080 2147238405Sjkim.long 0xfefefefe, 0xfefefefe, 0x1b1b1b1b, 0x1b1b1b1b 2148238405Sjkim.align 64 2149238405Sjkim.LAES_Td: 2150238405Sjkim.long 0x50a7f451,0x50a7f451 2151238405Sjkim.long 0x5365417e,0x5365417e 2152238405Sjkim.long 0xc3a4171a,0xc3a4171a 2153238405Sjkim.long 0x965e273a,0x965e273a 2154238405Sjkim.long 0xcb6bab3b,0xcb6bab3b 2155238405Sjkim.long 0xf1459d1f,0xf1459d1f 2156238405Sjkim.long 0xab58faac,0xab58faac 2157238405Sjkim.long 0x9303e34b,0x9303e34b 2158238405Sjkim.long 0x55fa3020,0x55fa3020 2159238405Sjkim.long 0xf66d76ad,0xf66d76ad 2160238405Sjkim.long 0x9176cc88,0x9176cc88 2161238405Sjkim.long 0x254c02f5,0x254c02f5 2162238405Sjkim.long 0xfcd7e54f,0xfcd7e54f 2163238405Sjkim.long 0xd7cb2ac5,0xd7cb2ac5 2164238405Sjkim.long 0x80443526,0x80443526 2165238405Sjkim.long 0x8fa362b5,0x8fa362b5 2166238405Sjkim.long 0x495ab1de,0x495ab1de 2167238405Sjkim.long 0x671bba25,0x671bba25 2168238405Sjkim.long 0x980eea45,0x980eea45 2169238405Sjkim.long 0xe1c0fe5d,0xe1c0fe5d 2170238405Sjkim.long 0x02752fc3,0x02752fc3 2171238405Sjkim.long 0x12f04c81,0x12f04c81 2172238405Sjkim.long 0xa397468d,0xa397468d 2173238405Sjkim.long 0xc6f9d36b,0xc6f9d36b 2174238405Sjkim.long 0xe75f8f03,0xe75f8f03 2175238405Sjkim.long 0x959c9215,0x959c9215 2176238405Sjkim.long 0xeb7a6dbf,0xeb7a6dbf 2177238405Sjkim.long 0xda595295,0xda595295 2178238405Sjkim.long 0x2d83bed4,0x2d83bed4 2179238405Sjkim.long 0xd3217458,0xd3217458 2180238405Sjkim.long 0x2969e049,0x2969e049 2181238405Sjkim.long 0x44c8c98e,0x44c8c98e 2182238405Sjkim.long 0x6a89c275,0x6a89c275 2183238405Sjkim.long 0x78798ef4,0x78798ef4 2184238405Sjkim.long 0x6b3e5899,0x6b3e5899 2185238405Sjkim.long 0xdd71b927,0xdd71b927 2186238405Sjkim.long 0xb64fe1be,0xb64fe1be 2187238405Sjkim.long 0x17ad88f0,0x17ad88f0 2188238405Sjkim.long 0x66ac20c9,0x66ac20c9 2189238405Sjkim.long 0xb43ace7d,0xb43ace7d 2190238405Sjkim.long 0x184adf63,0x184adf63 2191238405Sjkim.long 0x82311ae5,0x82311ae5 2192238405Sjkim.long 0x60335197,0x60335197 2193238405Sjkim.long 0x457f5362,0x457f5362 2194238405Sjkim.long 0xe07764b1,0xe07764b1 2195238405Sjkim.long 0x84ae6bbb,0x84ae6bbb 2196238405Sjkim.long 0x1ca081fe,0x1ca081fe 2197238405Sjkim.long 0x942b08f9,0x942b08f9 2198238405Sjkim.long 0x58684870,0x58684870 2199238405Sjkim.long 0x19fd458f,0x19fd458f 2200238405Sjkim.long 0x876cde94,0x876cde94 2201238405Sjkim.long 0xb7f87b52,0xb7f87b52 2202238405Sjkim.long 0x23d373ab,0x23d373ab 2203238405Sjkim.long 0xe2024b72,0xe2024b72 2204238405Sjkim.long 0x578f1fe3,0x578f1fe3 2205238405Sjkim.long 0x2aab5566,0x2aab5566 2206238405Sjkim.long 0x0728ebb2,0x0728ebb2 2207238405Sjkim.long 0x03c2b52f,0x03c2b52f 2208238405Sjkim.long 0x9a7bc586,0x9a7bc586 2209238405Sjkim.long 0xa50837d3,0xa50837d3 2210238405Sjkim.long 0xf2872830,0xf2872830 2211238405Sjkim.long 0xb2a5bf23,0xb2a5bf23 2212238405Sjkim.long 0xba6a0302,0xba6a0302 2213238405Sjkim.long 0x5c8216ed,0x5c8216ed 2214238405Sjkim.long 0x2b1ccf8a,0x2b1ccf8a 2215238405Sjkim.long 0x92b479a7,0x92b479a7 2216238405Sjkim.long 0xf0f207f3,0xf0f207f3 2217238405Sjkim.long 0xa1e2694e,0xa1e2694e 2218238405Sjkim.long 0xcdf4da65,0xcdf4da65 2219238405Sjkim.long 0xd5be0506,0xd5be0506 2220238405Sjkim.long 0x1f6234d1,0x1f6234d1 2221238405Sjkim.long 0x8afea6c4,0x8afea6c4 2222238405Sjkim.long 0x9d532e34,0x9d532e34 2223238405Sjkim.long 0xa055f3a2,0xa055f3a2 2224238405Sjkim.long 0x32e18a05,0x32e18a05 2225238405Sjkim.long 0x75ebf6a4,0x75ebf6a4 2226238405Sjkim.long 0x39ec830b,0x39ec830b 2227238405Sjkim.long 0xaaef6040,0xaaef6040 2228238405Sjkim.long 0x069f715e,0x069f715e 2229238405Sjkim.long 0x51106ebd,0x51106ebd 2230238405Sjkim.long 0xf98a213e,0xf98a213e 2231238405Sjkim.long 0x3d06dd96,0x3d06dd96 2232238405Sjkim.long 0xae053edd,0xae053edd 2233238405Sjkim.long 0x46bde64d,0x46bde64d 2234238405Sjkim.long 0xb58d5491,0xb58d5491 2235238405Sjkim.long 0x055dc471,0x055dc471 2236238405Sjkim.long 0x6fd40604,0x6fd40604 2237238405Sjkim.long 0xff155060,0xff155060 2238238405Sjkim.long 0x24fb9819,0x24fb9819 2239238405Sjkim.long 0x97e9bdd6,0x97e9bdd6 2240238405Sjkim.long 0xcc434089,0xcc434089 2241238405Sjkim.long 0x779ed967,0x779ed967 2242238405Sjkim.long 0xbd42e8b0,0xbd42e8b0 2243238405Sjkim.long 0x888b8907,0x888b8907 2244238405Sjkim.long 0x385b19e7,0x385b19e7 2245238405Sjkim.long 0xdbeec879,0xdbeec879 2246238405Sjkim.long 0x470a7ca1,0x470a7ca1 2247238405Sjkim.long 0xe90f427c,0xe90f427c 2248238405Sjkim.long 0xc91e84f8,0xc91e84f8 2249238405Sjkim.long 0x00000000,0x00000000 2250238405Sjkim.long 0x83868009,0x83868009 2251238405Sjkim.long 0x48ed2b32,0x48ed2b32 2252238405Sjkim.long 0xac70111e,0xac70111e 2253238405Sjkim.long 0x4e725a6c,0x4e725a6c 2254238405Sjkim.long 0xfbff0efd,0xfbff0efd 2255238405Sjkim.long 0x5638850f,0x5638850f 2256238405Sjkim.long 0x1ed5ae3d,0x1ed5ae3d 2257238405Sjkim.long 0x27392d36,0x27392d36 2258238405Sjkim.long 0x64d90f0a,0x64d90f0a 2259238405Sjkim.long 0x21a65c68,0x21a65c68 2260238405Sjkim.long 0xd1545b9b,0xd1545b9b 2261238405Sjkim.long 0x3a2e3624,0x3a2e3624 2262238405Sjkim.long 0xb1670a0c,0xb1670a0c 2263238405Sjkim.long 0x0fe75793,0x0fe75793 2264238405Sjkim.long 0xd296eeb4,0xd296eeb4 2265238405Sjkim.long 0x9e919b1b,0x9e919b1b 2266238405Sjkim.long 0x4fc5c080,0x4fc5c080 2267238405Sjkim.long 0xa220dc61,0xa220dc61 2268238405Sjkim.long 0x694b775a,0x694b775a 2269238405Sjkim.long 0x161a121c,0x161a121c 2270238405Sjkim.long 0x0aba93e2,0x0aba93e2 2271238405Sjkim.long 0xe52aa0c0,0xe52aa0c0 2272238405Sjkim.long 0x43e0223c,0x43e0223c 2273238405Sjkim.long 0x1d171b12,0x1d171b12 2274238405Sjkim.long 0x0b0d090e,0x0b0d090e 2275238405Sjkim.long 0xadc78bf2,0xadc78bf2 2276238405Sjkim.long 0xb9a8b62d,0xb9a8b62d 2277238405Sjkim.long 0xc8a91e14,0xc8a91e14 2278238405Sjkim.long 0x8519f157,0x8519f157 2279238405Sjkim.long 0x4c0775af,0x4c0775af 2280238405Sjkim.long 0xbbdd99ee,0xbbdd99ee 2281238405Sjkim.long 0xfd607fa3,0xfd607fa3 2282238405Sjkim.long 0x9f2601f7,0x9f2601f7 2283238405Sjkim.long 0xbcf5725c,0xbcf5725c 2284238405Sjkim.long 0xc53b6644,0xc53b6644 2285238405Sjkim.long 0x347efb5b,0x347efb5b 2286238405Sjkim.long 0x7629438b,0x7629438b 2287238405Sjkim.long 0xdcc623cb,0xdcc623cb 2288238405Sjkim.long 0x68fcedb6,0x68fcedb6 2289238405Sjkim.long 0x63f1e4b8,0x63f1e4b8 2290238405Sjkim.long 0xcadc31d7,0xcadc31d7 2291238405Sjkim.long 0x10856342,0x10856342 2292238405Sjkim.long 0x40229713,0x40229713 2293238405Sjkim.long 0x2011c684,0x2011c684 2294238405Sjkim.long 0x7d244a85,0x7d244a85 2295238405Sjkim.long 0xf83dbbd2,0xf83dbbd2 2296238405Sjkim.long 0x1132f9ae,0x1132f9ae 2297238405Sjkim.long 0x6da129c7,0x6da129c7 2298238405Sjkim.long 0x4b2f9e1d,0x4b2f9e1d 2299238405Sjkim.long 0xf330b2dc,0xf330b2dc 2300238405Sjkim.long 0xec52860d,0xec52860d 2301238405Sjkim.long 0xd0e3c177,0xd0e3c177 2302238405Sjkim.long 0x6c16b32b,0x6c16b32b 2303238405Sjkim.long 0x99b970a9,0x99b970a9 2304238405Sjkim.long 0xfa489411,0xfa489411 2305238405Sjkim.long 0x2264e947,0x2264e947 2306238405Sjkim.long 0xc48cfca8,0xc48cfca8 2307238405Sjkim.long 0x1a3ff0a0,0x1a3ff0a0 2308238405Sjkim.long 0xd82c7d56,0xd82c7d56 2309238405Sjkim.long 0xef903322,0xef903322 2310238405Sjkim.long 0xc74e4987,0xc74e4987 2311238405Sjkim.long 0xc1d138d9,0xc1d138d9 2312238405Sjkim.long 0xfea2ca8c,0xfea2ca8c 2313238405Sjkim.long 0x360bd498,0x360bd498 2314238405Sjkim.long 0xcf81f5a6,0xcf81f5a6 2315238405Sjkim.long 0x28de7aa5,0x28de7aa5 2316238405Sjkim.long 0x268eb7da,0x268eb7da 2317238405Sjkim.long 0xa4bfad3f,0xa4bfad3f 2318238405Sjkim.long 0xe49d3a2c,0xe49d3a2c 2319238405Sjkim.long 0x0d927850,0x0d927850 2320238405Sjkim.long 0x9bcc5f6a,0x9bcc5f6a 2321238405Sjkim.long 0x62467e54,0x62467e54 2322238405Sjkim.long 0xc2138df6,0xc2138df6 2323238405Sjkim.long 0xe8b8d890,0xe8b8d890 2324238405Sjkim.long 0x5ef7392e,0x5ef7392e 2325238405Sjkim.long 0xf5afc382,0xf5afc382 2326238405Sjkim.long 0xbe805d9f,0xbe805d9f 2327238405Sjkim.long 0x7c93d069,0x7c93d069 2328238405Sjkim.long 0xa92dd56f,0xa92dd56f 2329238405Sjkim.long 0xb31225cf,0xb31225cf 2330238405Sjkim.long 0x3b99acc8,0x3b99acc8 2331238405Sjkim.long 0xa77d1810,0xa77d1810 2332238405Sjkim.long 0x6e639ce8,0x6e639ce8 2333238405Sjkim.long 0x7bbb3bdb,0x7bbb3bdb 2334238405Sjkim.long 0x097826cd,0x097826cd 2335238405Sjkim.long 0xf418596e,0xf418596e 2336238405Sjkim.long 0x01b79aec,0x01b79aec 2337238405Sjkim.long 0xa89a4f83,0xa89a4f83 2338238405Sjkim.long 0x656e95e6,0x656e95e6 2339238405Sjkim.long 0x7ee6ffaa,0x7ee6ffaa 2340238405Sjkim.long 0x08cfbc21,0x08cfbc21 2341238405Sjkim.long 0xe6e815ef,0xe6e815ef 2342238405Sjkim.long 0xd99be7ba,0xd99be7ba 2343238405Sjkim.long 0xce366f4a,0xce366f4a 2344238405Sjkim.long 0xd4099fea,0xd4099fea 2345238405Sjkim.long 0xd67cb029,0xd67cb029 2346238405Sjkim.long 0xafb2a431,0xafb2a431 2347238405Sjkim.long 0x31233f2a,0x31233f2a 2348238405Sjkim.long 0x3094a5c6,0x3094a5c6 2349238405Sjkim.long 0xc066a235,0xc066a235 2350238405Sjkim.long 0x37bc4e74,0x37bc4e74 2351238405Sjkim.long 0xa6ca82fc,0xa6ca82fc 2352238405Sjkim.long 0xb0d090e0,0xb0d090e0 2353238405Sjkim.long 0x15d8a733,0x15d8a733 2354238405Sjkim.long 0x4a9804f1,0x4a9804f1 2355238405Sjkim.long 0xf7daec41,0xf7daec41 2356238405Sjkim.long 0x0e50cd7f,0x0e50cd7f 2357238405Sjkim.long 0x2ff69117,0x2ff69117 2358238405Sjkim.long 0x8dd64d76,0x8dd64d76 2359238405Sjkim.long 0x4db0ef43,0x4db0ef43 2360238405Sjkim.long 0x544daacc,0x544daacc 2361238405Sjkim.long 0xdf0496e4,0xdf0496e4 2362238405Sjkim.long 0xe3b5d19e,0xe3b5d19e 2363238405Sjkim.long 0x1b886a4c,0x1b886a4c 2364238405Sjkim.long 0xb81f2cc1,0xb81f2cc1 2365238405Sjkim.long 0x7f516546,0x7f516546 2366238405Sjkim.long 0x04ea5e9d,0x04ea5e9d 2367238405Sjkim.long 0x5d358c01,0x5d358c01 2368238405Sjkim.long 0x737487fa,0x737487fa 2369238405Sjkim.long 0x2e410bfb,0x2e410bfb 2370238405Sjkim.long 0x5a1d67b3,0x5a1d67b3 2371238405Sjkim.long 0x52d2db92,0x52d2db92 2372238405Sjkim.long 0x335610e9,0x335610e9 2373238405Sjkim.long 0x1347d66d,0x1347d66d 2374238405Sjkim.long 0x8c61d79a,0x8c61d79a 2375238405Sjkim.long 0x7a0ca137,0x7a0ca137 2376238405Sjkim.long 0x8e14f859,0x8e14f859 2377238405Sjkim.long 0x893c13eb,0x893c13eb 2378238405Sjkim.long 0xee27a9ce,0xee27a9ce 2379238405Sjkim.long 0x35c961b7,0x35c961b7 2380238405Sjkim.long 0xede51ce1,0xede51ce1 2381238405Sjkim.long 0x3cb1477a,0x3cb1477a 2382238405Sjkim.long 0x59dfd29c,0x59dfd29c 2383238405Sjkim.long 0x3f73f255,0x3f73f255 2384238405Sjkim.long 0x79ce1418,0x79ce1418 2385238405Sjkim.long 0xbf37c773,0xbf37c773 2386238405Sjkim.long 0xeacdf753,0xeacdf753 2387238405Sjkim.long 0x5baafd5f,0x5baafd5f 2388238405Sjkim.long 0x146f3ddf,0x146f3ddf 2389238405Sjkim.long 0x86db4478,0x86db4478 2390238405Sjkim.long 0x81f3afca,0x81f3afca 2391238405Sjkim.long 0x3ec468b9,0x3ec468b9 2392238405Sjkim.long 0x2c342438,0x2c342438 2393238405Sjkim.long 0x5f40a3c2,0x5f40a3c2 2394238405Sjkim.long 0x72c31d16,0x72c31d16 2395238405Sjkim.long 0x0c25e2bc,0x0c25e2bc 2396238405Sjkim.long 0x8b493c28,0x8b493c28 2397238405Sjkim.long 0x41950dff,0x41950dff 2398238405Sjkim.long 0x7101a839,0x7101a839 2399238405Sjkim.long 0xdeb30c08,0xdeb30c08 2400238405Sjkim.long 0x9ce4b4d8,0x9ce4b4d8 2401238405Sjkim.long 0x90c15664,0x90c15664 2402238405Sjkim.long 0x6184cb7b,0x6184cb7b 2403238405Sjkim.long 0x70b632d5,0x70b632d5 2404238405Sjkim.long 0x745c6c48,0x745c6c48 2405238405Sjkim.long 0x4257b8d0,0x4257b8d0 2406238405Sjkim.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2407238405Sjkim.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2408238405Sjkim.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2409238405Sjkim.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2410238405Sjkim.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2411238405Sjkim.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2412238405Sjkim.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2413238405Sjkim.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2414238405Sjkim.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2415238405Sjkim.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2416238405Sjkim.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2417238405Sjkim.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2418238405Sjkim.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2419238405Sjkim.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2420238405Sjkim.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2421238405Sjkim.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2422238405Sjkim.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2423238405Sjkim.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2424238405Sjkim.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2425238405Sjkim.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2426238405Sjkim.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2427238405Sjkim.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2428238405Sjkim.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2429238405Sjkim.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2430238405Sjkim.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2431238405Sjkim.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2432238405Sjkim.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2433238405Sjkim.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2434238405Sjkim.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2435238405Sjkim.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2436238405Sjkim.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2437238405Sjkim.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2438238405Sjkim.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2439238405Sjkim.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2440238405Sjkim.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2441238405Sjkim.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2442238405Sjkim.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2443238405Sjkim.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2444238405Sjkim.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2445238405Sjkim.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2446238405Sjkim.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2447238405Sjkim.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2448238405Sjkim.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2449238405Sjkim.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2450238405Sjkim.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2451238405Sjkim.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2452238405Sjkim.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2453238405Sjkim.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2454238405Sjkim.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2455238405Sjkim.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2456238405Sjkim.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2457238405Sjkim.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2458238405Sjkim.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2459238405Sjkim.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2460238405Sjkim.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2461238405Sjkim.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2462238405Sjkim.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2463238405Sjkim.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2464238405Sjkim.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2465238405Sjkim.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2466238405Sjkim.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2467238405Sjkim.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2468238405Sjkim.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2469238405Sjkim.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2470238405Sjkim.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2471238405Sjkim.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2472238405Sjkim.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2473238405Sjkim.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2474238405Sjkim.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2475238405Sjkim.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2476238405Sjkim.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2477238405Sjkim.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2478238405Sjkim.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2479238405Sjkim.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2480238405Sjkim.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2481238405Sjkim.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2482238405Sjkim.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2483238405Sjkim.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2484238405Sjkim.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2485238405Sjkim.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2486238405Sjkim.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2487238405Sjkim.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2488238405Sjkim.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2489238405Sjkim.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2490238405Sjkim.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2491238405Sjkim.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2492238405Sjkim.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2493238405Sjkim.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2494238405Sjkim.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2495238405Sjkim.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2496238405Sjkim.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2497238405Sjkim.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2498238405Sjkim.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2499238405Sjkim.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2500238405Sjkim.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2501238405Sjkim.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2502238405Sjkim.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2503238405Sjkim.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2504238405Sjkim.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2505238405Sjkim.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2506238405Sjkim.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2507238405Sjkim.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2508238405Sjkim.byte 0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38 2509238405Sjkim.byte 0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb 2510238405Sjkim.byte 0x7c,0xe3,0x39,0x82,0x9b,0x2f,0xff,0x87 2511238405Sjkim.byte 0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb 2512238405Sjkim.byte 0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d 2513238405Sjkim.byte 0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e 2514238405Sjkim.byte 0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2 2515238405Sjkim.byte 0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25 2516238405Sjkim.byte 0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16 2517238405Sjkim.byte 0xd4,0xa4,0x5c,0xcc,0x5d,0x65,0xb6,0x92 2518238405Sjkim.byte 0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda 2519238405Sjkim.byte 0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84 2520238405Sjkim.byte 0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a 2521238405Sjkim.byte 0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06 2522238405Sjkim.byte 0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02 2523238405Sjkim.byte 0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b 2524238405Sjkim.byte 0x3a,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea 2525238405Sjkim.byte 0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73 2526238405Sjkim.byte 0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85 2527238405Sjkim.byte 0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e 2528238405Sjkim.byte 0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89 2529238405Sjkim.byte 0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b 2530238405Sjkim.byte 0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20 2531238405Sjkim.byte 0x9a,0xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4 2532238405Sjkim.byte 0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31 2533238405Sjkim.byte 0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f 2534238405Sjkim.byte 0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d 2535238405Sjkim.byte 0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef 2536238405Sjkim.byte 0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0 2537238405Sjkim.byte 0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61 2538238405Sjkim.byte 0x17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26 2539238405Sjkim.byte 0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d 2540238405Sjkim.long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe 2541238405Sjkim.long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 2542238405Sjkim.byte 65,69,83,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 2543238405Sjkim.align 64 2544