1238405Sjkim # $FreeBSD$ 2238405Sjkim.file "cmll-586.s" 3238405Sjkim.text 4238405Sjkim.globl Camellia_EncryptBlock_Rounds 5238405Sjkim.type Camellia_EncryptBlock_Rounds,@function 6238405Sjkim.align 16 7238405SjkimCamellia_EncryptBlock_Rounds: 8238405Sjkim.L_Camellia_EncryptBlock_Rounds_begin: 9238405Sjkim pushl %ebp 10238405Sjkim pushl %ebx 11238405Sjkim pushl %esi 12238405Sjkim pushl %edi 13238405Sjkim movl 20(%esp),%eax 14238405Sjkim movl 24(%esp),%esi 15238405Sjkim movl 28(%esp),%edi 16238405Sjkim movl %esp,%ebx 17238405Sjkim subl $28,%esp 18238405Sjkim andl $-64,%esp 19238405Sjkim leal -127(%edi),%ecx 20238405Sjkim subl %esp,%ecx 21238405Sjkim negl %ecx 22238405Sjkim andl $960,%ecx 23238405Sjkim subl %ecx,%esp 24238405Sjkim addl $4,%esp 25238405Sjkim shll $6,%eax 26238405Sjkim leal (%edi,%eax,1),%eax 27238405Sjkim movl %ebx,20(%esp) 28238405Sjkim movl %eax,16(%esp) 29238405Sjkim call .L000pic_point 30238405Sjkim.L000pic_point: 31238405Sjkim popl %ebp 32238405Sjkim leal .LCamellia_SBOX-.L000pic_point(%ebp),%ebp 33238405Sjkim movl (%esi),%eax 34238405Sjkim movl 4(%esi),%ebx 35238405Sjkim movl 8(%esi),%ecx 36238405Sjkim bswap %eax 37238405Sjkim movl 12(%esi),%edx 38238405Sjkim bswap %ebx 39238405Sjkim bswap %ecx 40238405Sjkim bswap %edx 41238405Sjkim call _x86_Camellia_encrypt 42238405Sjkim movl 20(%esp),%esp 43238405Sjkim bswap %eax 44238405Sjkim movl 32(%esp),%esi 45238405Sjkim bswap %ebx 46238405Sjkim bswap %ecx 47238405Sjkim bswap %edx 48238405Sjkim movl %eax,(%esi) 49238405Sjkim movl %ebx,4(%esi) 50238405Sjkim movl %ecx,8(%esi) 51238405Sjkim movl %edx,12(%esi) 52238405Sjkim popl %edi 53238405Sjkim popl %esi 54238405Sjkim popl %ebx 55238405Sjkim popl %ebp 56238405Sjkim ret 57238405Sjkim.size Camellia_EncryptBlock_Rounds,.-.L_Camellia_EncryptBlock_Rounds_begin 58238405Sjkim.globl Camellia_EncryptBlock 59238405Sjkim.type Camellia_EncryptBlock,@function 60238405Sjkim.align 16 61238405SjkimCamellia_EncryptBlock: 62238405Sjkim.L_Camellia_EncryptBlock_begin: 63238405Sjkim movl $128,%eax 64238405Sjkim subl 4(%esp),%eax 65238405Sjkim movl $3,%eax 66238405Sjkim adcl $0,%eax 67238405Sjkim movl %eax,4(%esp) 68238405Sjkim jmp .L_Camellia_EncryptBlock_Rounds_begin 69238405Sjkim.size Camellia_EncryptBlock,.-.L_Camellia_EncryptBlock_begin 70238405Sjkim.globl Camellia_encrypt 71238405Sjkim.type Camellia_encrypt,@function 72238405Sjkim.align 16 73238405SjkimCamellia_encrypt: 74238405Sjkim.L_Camellia_encrypt_begin: 75238405Sjkim pushl %ebp 76238405Sjkim pushl %ebx 77238405Sjkim pushl %esi 78238405Sjkim pushl %edi 79238405Sjkim movl 20(%esp),%esi 80238405Sjkim movl 28(%esp),%edi 81238405Sjkim movl %esp,%ebx 82238405Sjkim subl $28,%esp 83238405Sjkim andl $-64,%esp 84238405Sjkim movl 272(%edi),%eax 85238405Sjkim leal -127(%edi),%ecx 86238405Sjkim subl %esp,%ecx 87238405Sjkim negl %ecx 88238405Sjkim andl $960,%ecx 89238405Sjkim subl %ecx,%esp 90238405Sjkim addl $4,%esp 91238405Sjkim shll $6,%eax 92238405Sjkim leal (%edi,%eax,1),%eax 93238405Sjkim movl %ebx,20(%esp) 94238405Sjkim movl %eax,16(%esp) 95238405Sjkim call .L001pic_point 96238405Sjkim.L001pic_point: 97238405Sjkim popl %ebp 98238405Sjkim leal .LCamellia_SBOX-.L001pic_point(%ebp),%ebp 99238405Sjkim movl (%esi),%eax 100238405Sjkim movl 4(%esi),%ebx 101238405Sjkim movl 8(%esi),%ecx 102238405Sjkim bswap %eax 103238405Sjkim movl 12(%esi),%edx 104238405Sjkim bswap %ebx 105238405Sjkim bswap %ecx 106238405Sjkim bswap %edx 107238405Sjkim call _x86_Camellia_encrypt 108238405Sjkim movl 20(%esp),%esp 109238405Sjkim bswap %eax 110238405Sjkim movl 24(%esp),%esi 111238405Sjkim bswap %ebx 112238405Sjkim bswap %ecx 113238405Sjkim bswap %edx 114238405Sjkim movl %eax,(%esi) 115238405Sjkim movl %ebx,4(%esi) 116238405Sjkim movl %ecx,8(%esi) 117238405Sjkim movl %edx,12(%esi) 118238405Sjkim popl %edi 119238405Sjkim popl %esi 120238405Sjkim popl %ebx 121238405Sjkim popl %ebp 122238405Sjkim ret 123238405Sjkim.size Camellia_encrypt,.-.L_Camellia_encrypt_begin 124238405Sjkim.type _x86_Camellia_encrypt,@function 125238405Sjkim.align 16 126238405Sjkim_x86_Camellia_encrypt: 127238405Sjkim xorl (%edi),%eax 128238405Sjkim xorl 4(%edi),%ebx 129238405Sjkim xorl 8(%edi),%ecx 130238405Sjkim xorl 12(%edi),%edx 131238405Sjkim movl 16(%edi),%esi 132238405Sjkim movl %eax,4(%esp) 133238405Sjkim movl %ebx,8(%esp) 134238405Sjkim movl %ecx,12(%esp) 135238405Sjkim movl %edx,16(%esp) 136238405Sjkim.align 16 137238405Sjkim.L002loop: 138238405Sjkim xorl %esi,%eax 139238405Sjkim xorl 20(%edi),%ebx 140238405Sjkim movzbl %ah,%esi 141238405Sjkim movl 2052(%ebp,%esi,8),%edx 142238405Sjkim movzbl %al,%esi 143238405Sjkim xorl 4(%ebp,%esi,8),%edx 144238405Sjkim shrl $16,%eax 145238405Sjkim movzbl %bl,%esi 146238405Sjkim movl (%ebp,%esi,8),%ecx 147238405Sjkim movzbl %ah,%esi 148238405Sjkim xorl (%ebp,%esi,8),%edx 149238405Sjkim movzbl %bh,%esi 150238405Sjkim xorl 4(%ebp,%esi,8),%ecx 151238405Sjkim shrl $16,%ebx 152238405Sjkim movzbl %al,%eax 153238405Sjkim xorl 2048(%ebp,%eax,8),%edx 154238405Sjkim movzbl %bh,%esi 155238405Sjkim movl 16(%esp),%eax 156238405Sjkim xorl %edx,%ecx 157238405Sjkim rorl $8,%edx 158238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 159238405Sjkim movzbl %bl,%esi 160238405Sjkim movl 12(%esp),%ebx 161238405Sjkim xorl %eax,%edx 162238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 163238405Sjkim movl 24(%edi),%esi 164238405Sjkim xorl %ecx,%edx 165238405Sjkim movl %edx,16(%esp) 166238405Sjkim xorl %ebx,%ecx 167238405Sjkim movl %ecx,12(%esp) 168238405Sjkim xorl %esi,%ecx 169238405Sjkim xorl 28(%edi),%edx 170238405Sjkim movzbl %ch,%esi 171238405Sjkim movl 2052(%ebp,%esi,8),%ebx 172238405Sjkim movzbl %cl,%esi 173238405Sjkim xorl 4(%ebp,%esi,8),%ebx 174238405Sjkim shrl $16,%ecx 175238405Sjkim movzbl %dl,%esi 176238405Sjkim movl (%ebp,%esi,8),%eax 177238405Sjkim movzbl %ch,%esi 178238405Sjkim xorl (%ebp,%esi,8),%ebx 179238405Sjkim movzbl %dh,%esi 180238405Sjkim xorl 4(%ebp,%esi,8),%eax 181238405Sjkim shrl $16,%edx 182238405Sjkim movzbl %cl,%ecx 183238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 184238405Sjkim movzbl %dh,%esi 185238405Sjkim movl 8(%esp),%ecx 186238405Sjkim xorl %ebx,%eax 187238405Sjkim rorl $8,%ebx 188238405Sjkim xorl 2048(%ebp,%esi,8),%eax 189238405Sjkim movzbl %dl,%esi 190238405Sjkim movl 4(%esp),%edx 191238405Sjkim xorl %ecx,%ebx 192238405Sjkim xorl 2052(%ebp,%esi,8),%eax 193238405Sjkim movl 32(%edi),%esi 194238405Sjkim xorl %eax,%ebx 195238405Sjkim movl %ebx,8(%esp) 196238405Sjkim xorl %edx,%eax 197238405Sjkim movl %eax,4(%esp) 198238405Sjkim xorl %esi,%eax 199238405Sjkim xorl 36(%edi),%ebx 200238405Sjkim movzbl %ah,%esi 201238405Sjkim movl 2052(%ebp,%esi,8),%edx 202238405Sjkim movzbl %al,%esi 203238405Sjkim xorl 4(%ebp,%esi,8),%edx 204238405Sjkim shrl $16,%eax 205238405Sjkim movzbl %bl,%esi 206238405Sjkim movl (%ebp,%esi,8),%ecx 207238405Sjkim movzbl %ah,%esi 208238405Sjkim xorl (%ebp,%esi,8),%edx 209238405Sjkim movzbl %bh,%esi 210238405Sjkim xorl 4(%ebp,%esi,8),%ecx 211238405Sjkim shrl $16,%ebx 212238405Sjkim movzbl %al,%eax 213238405Sjkim xorl 2048(%ebp,%eax,8),%edx 214238405Sjkim movzbl %bh,%esi 215238405Sjkim movl 16(%esp),%eax 216238405Sjkim xorl %edx,%ecx 217238405Sjkim rorl $8,%edx 218238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 219238405Sjkim movzbl %bl,%esi 220238405Sjkim movl 12(%esp),%ebx 221238405Sjkim xorl %eax,%edx 222238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 223238405Sjkim movl 40(%edi),%esi 224238405Sjkim xorl %ecx,%edx 225238405Sjkim movl %edx,16(%esp) 226238405Sjkim xorl %ebx,%ecx 227238405Sjkim movl %ecx,12(%esp) 228238405Sjkim xorl %esi,%ecx 229238405Sjkim xorl 44(%edi),%edx 230238405Sjkim movzbl %ch,%esi 231238405Sjkim movl 2052(%ebp,%esi,8),%ebx 232238405Sjkim movzbl %cl,%esi 233238405Sjkim xorl 4(%ebp,%esi,8),%ebx 234238405Sjkim shrl $16,%ecx 235238405Sjkim movzbl %dl,%esi 236238405Sjkim movl (%ebp,%esi,8),%eax 237238405Sjkim movzbl %ch,%esi 238238405Sjkim xorl (%ebp,%esi,8),%ebx 239238405Sjkim movzbl %dh,%esi 240238405Sjkim xorl 4(%ebp,%esi,8),%eax 241238405Sjkim shrl $16,%edx 242238405Sjkim movzbl %cl,%ecx 243238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 244238405Sjkim movzbl %dh,%esi 245238405Sjkim movl 8(%esp),%ecx 246238405Sjkim xorl %ebx,%eax 247238405Sjkim rorl $8,%ebx 248238405Sjkim xorl 2048(%ebp,%esi,8),%eax 249238405Sjkim movzbl %dl,%esi 250238405Sjkim movl 4(%esp),%edx 251238405Sjkim xorl %ecx,%ebx 252238405Sjkim xorl 2052(%ebp,%esi,8),%eax 253238405Sjkim movl 48(%edi),%esi 254238405Sjkim xorl %eax,%ebx 255238405Sjkim movl %ebx,8(%esp) 256238405Sjkim xorl %edx,%eax 257238405Sjkim movl %eax,4(%esp) 258238405Sjkim xorl %esi,%eax 259238405Sjkim xorl 52(%edi),%ebx 260238405Sjkim movzbl %ah,%esi 261238405Sjkim movl 2052(%ebp,%esi,8),%edx 262238405Sjkim movzbl %al,%esi 263238405Sjkim xorl 4(%ebp,%esi,8),%edx 264238405Sjkim shrl $16,%eax 265238405Sjkim movzbl %bl,%esi 266238405Sjkim movl (%ebp,%esi,8),%ecx 267238405Sjkim movzbl %ah,%esi 268238405Sjkim xorl (%ebp,%esi,8),%edx 269238405Sjkim movzbl %bh,%esi 270238405Sjkim xorl 4(%ebp,%esi,8),%ecx 271238405Sjkim shrl $16,%ebx 272238405Sjkim movzbl %al,%eax 273238405Sjkim xorl 2048(%ebp,%eax,8),%edx 274238405Sjkim movzbl %bh,%esi 275238405Sjkim movl 16(%esp),%eax 276238405Sjkim xorl %edx,%ecx 277238405Sjkim rorl $8,%edx 278238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 279238405Sjkim movzbl %bl,%esi 280238405Sjkim movl 12(%esp),%ebx 281238405Sjkim xorl %eax,%edx 282238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 283238405Sjkim movl 56(%edi),%esi 284238405Sjkim xorl %ecx,%edx 285238405Sjkim movl %edx,16(%esp) 286238405Sjkim xorl %ebx,%ecx 287238405Sjkim movl %ecx,12(%esp) 288238405Sjkim xorl %esi,%ecx 289238405Sjkim xorl 60(%edi),%edx 290238405Sjkim movzbl %ch,%esi 291238405Sjkim movl 2052(%ebp,%esi,8),%ebx 292238405Sjkim movzbl %cl,%esi 293238405Sjkim xorl 4(%ebp,%esi,8),%ebx 294238405Sjkim shrl $16,%ecx 295238405Sjkim movzbl %dl,%esi 296238405Sjkim movl (%ebp,%esi,8),%eax 297238405Sjkim movzbl %ch,%esi 298238405Sjkim xorl (%ebp,%esi,8),%ebx 299238405Sjkim movzbl %dh,%esi 300238405Sjkim xorl 4(%ebp,%esi,8),%eax 301238405Sjkim shrl $16,%edx 302238405Sjkim movzbl %cl,%ecx 303238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 304238405Sjkim movzbl %dh,%esi 305238405Sjkim movl 8(%esp),%ecx 306238405Sjkim xorl %ebx,%eax 307238405Sjkim rorl $8,%ebx 308238405Sjkim xorl 2048(%ebp,%esi,8),%eax 309238405Sjkim movzbl %dl,%esi 310238405Sjkim movl 4(%esp),%edx 311238405Sjkim xorl %ecx,%ebx 312238405Sjkim xorl 2052(%ebp,%esi,8),%eax 313238405Sjkim movl 64(%edi),%esi 314238405Sjkim xorl %eax,%ebx 315238405Sjkim movl %ebx,8(%esp) 316238405Sjkim xorl %edx,%eax 317238405Sjkim movl %eax,4(%esp) 318238405Sjkim addl $64,%edi 319238405Sjkim cmpl 20(%esp),%edi 320238405Sjkim je .L003done 321238405Sjkim andl %eax,%esi 322238405Sjkim movl 16(%esp),%edx 323238405Sjkim roll $1,%esi 324238405Sjkim movl %edx,%ecx 325238405Sjkim xorl %esi,%ebx 326238405Sjkim orl 12(%edi),%ecx 327238405Sjkim movl %ebx,8(%esp) 328238405Sjkim xorl 12(%esp),%ecx 329238405Sjkim movl 4(%edi),%esi 330238405Sjkim movl %ecx,12(%esp) 331238405Sjkim orl %ebx,%esi 332238405Sjkim andl 8(%edi),%ecx 333238405Sjkim xorl %esi,%eax 334238405Sjkim roll $1,%ecx 335238405Sjkim movl %eax,4(%esp) 336238405Sjkim xorl %ecx,%edx 337238405Sjkim movl 16(%edi),%esi 338238405Sjkim movl %edx,16(%esp) 339238405Sjkim jmp .L002loop 340238405Sjkim.align 8 341238405Sjkim.L003done: 342238405Sjkim movl %eax,%ecx 343238405Sjkim movl %ebx,%edx 344238405Sjkim movl 12(%esp),%eax 345238405Sjkim movl 16(%esp),%ebx 346238405Sjkim xorl %esi,%eax 347238405Sjkim xorl 4(%edi),%ebx 348238405Sjkim xorl 8(%edi),%ecx 349238405Sjkim xorl 12(%edi),%edx 350238405Sjkim ret 351238405Sjkim.size _x86_Camellia_encrypt,.-_x86_Camellia_encrypt 352238405Sjkim.globl Camellia_DecryptBlock_Rounds 353238405Sjkim.type Camellia_DecryptBlock_Rounds,@function 354238405Sjkim.align 16 355238405SjkimCamellia_DecryptBlock_Rounds: 356238405Sjkim.L_Camellia_DecryptBlock_Rounds_begin: 357238405Sjkim pushl %ebp 358238405Sjkim pushl %ebx 359238405Sjkim pushl %esi 360238405Sjkim pushl %edi 361238405Sjkim movl 20(%esp),%eax 362238405Sjkim movl 24(%esp),%esi 363238405Sjkim movl 28(%esp),%edi 364238405Sjkim movl %esp,%ebx 365238405Sjkim subl $28,%esp 366238405Sjkim andl $-64,%esp 367238405Sjkim leal -127(%edi),%ecx 368238405Sjkim subl %esp,%ecx 369238405Sjkim negl %ecx 370238405Sjkim andl $960,%ecx 371238405Sjkim subl %ecx,%esp 372238405Sjkim addl $4,%esp 373238405Sjkim shll $6,%eax 374238405Sjkim movl %edi,16(%esp) 375238405Sjkim leal (%edi,%eax,1),%edi 376238405Sjkim movl %ebx,20(%esp) 377238405Sjkim call .L004pic_point 378238405Sjkim.L004pic_point: 379238405Sjkim popl %ebp 380238405Sjkim leal .LCamellia_SBOX-.L004pic_point(%ebp),%ebp 381238405Sjkim movl (%esi),%eax 382238405Sjkim movl 4(%esi),%ebx 383238405Sjkim movl 8(%esi),%ecx 384238405Sjkim bswap %eax 385238405Sjkim movl 12(%esi),%edx 386238405Sjkim bswap %ebx 387238405Sjkim bswap %ecx 388238405Sjkim bswap %edx 389238405Sjkim call _x86_Camellia_decrypt 390238405Sjkim movl 20(%esp),%esp 391238405Sjkim bswap %eax 392238405Sjkim movl 32(%esp),%esi 393238405Sjkim bswap %ebx 394238405Sjkim bswap %ecx 395238405Sjkim bswap %edx 396238405Sjkim movl %eax,(%esi) 397238405Sjkim movl %ebx,4(%esi) 398238405Sjkim movl %ecx,8(%esi) 399238405Sjkim movl %edx,12(%esi) 400238405Sjkim popl %edi 401238405Sjkim popl %esi 402238405Sjkim popl %ebx 403238405Sjkim popl %ebp 404238405Sjkim ret 405238405Sjkim.size Camellia_DecryptBlock_Rounds,.-.L_Camellia_DecryptBlock_Rounds_begin 406238405Sjkim.globl Camellia_DecryptBlock 407238405Sjkim.type Camellia_DecryptBlock,@function 408238405Sjkim.align 16 409238405SjkimCamellia_DecryptBlock: 410238405Sjkim.L_Camellia_DecryptBlock_begin: 411238405Sjkim movl $128,%eax 412238405Sjkim subl 4(%esp),%eax 413238405Sjkim movl $3,%eax 414238405Sjkim adcl $0,%eax 415238405Sjkim movl %eax,4(%esp) 416238405Sjkim jmp .L_Camellia_DecryptBlock_Rounds_begin 417238405Sjkim.size Camellia_DecryptBlock,.-.L_Camellia_DecryptBlock_begin 418238405Sjkim.globl Camellia_decrypt 419238405Sjkim.type Camellia_decrypt,@function 420238405Sjkim.align 16 421238405SjkimCamellia_decrypt: 422238405Sjkim.L_Camellia_decrypt_begin: 423238405Sjkim pushl %ebp 424238405Sjkim pushl %ebx 425238405Sjkim pushl %esi 426238405Sjkim pushl %edi 427238405Sjkim movl 20(%esp),%esi 428238405Sjkim movl 28(%esp),%edi 429238405Sjkim movl %esp,%ebx 430238405Sjkim subl $28,%esp 431238405Sjkim andl $-64,%esp 432238405Sjkim movl 272(%edi),%eax 433238405Sjkim leal -127(%edi),%ecx 434238405Sjkim subl %esp,%ecx 435238405Sjkim negl %ecx 436238405Sjkim andl $960,%ecx 437238405Sjkim subl %ecx,%esp 438238405Sjkim addl $4,%esp 439238405Sjkim shll $6,%eax 440238405Sjkim movl %edi,16(%esp) 441238405Sjkim leal (%edi,%eax,1),%edi 442238405Sjkim movl %ebx,20(%esp) 443238405Sjkim call .L005pic_point 444238405Sjkim.L005pic_point: 445238405Sjkim popl %ebp 446238405Sjkim leal .LCamellia_SBOX-.L005pic_point(%ebp),%ebp 447238405Sjkim movl (%esi),%eax 448238405Sjkim movl 4(%esi),%ebx 449238405Sjkim movl 8(%esi),%ecx 450238405Sjkim bswap %eax 451238405Sjkim movl 12(%esi),%edx 452238405Sjkim bswap %ebx 453238405Sjkim bswap %ecx 454238405Sjkim bswap %edx 455238405Sjkim call _x86_Camellia_decrypt 456238405Sjkim movl 20(%esp),%esp 457238405Sjkim bswap %eax 458238405Sjkim movl 24(%esp),%esi 459238405Sjkim bswap %ebx 460238405Sjkim bswap %ecx 461238405Sjkim bswap %edx 462238405Sjkim movl %eax,(%esi) 463238405Sjkim movl %ebx,4(%esi) 464238405Sjkim movl %ecx,8(%esi) 465238405Sjkim movl %edx,12(%esi) 466238405Sjkim popl %edi 467238405Sjkim popl %esi 468238405Sjkim popl %ebx 469238405Sjkim popl %ebp 470238405Sjkim ret 471238405Sjkim.size Camellia_decrypt,.-.L_Camellia_decrypt_begin 472238405Sjkim.type _x86_Camellia_decrypt,@function 473238405Sjkim.align 16 474238405Sjkim_x86_Camellia_decrypt: 475238405Sjkim xorl (%edi),%eax 476238405Sjkim xorl 4(%edi),%ebx 477238405Sjkim xorl 8(%edi),%ecx 478238405Sjkim xorl 12(%edi),%edx 479238405Sjkim movl -8(%edi),%esi 480238405Sjkim movl %eax,4(%esp) 481238405Sjkim movl %ebx,8(%esp) 482238405Sjkim movl %ecx,12(%esp) 483238405Sjkim movl %edx,16(%esp) 484238405Sjkim.align 16 485238405Sjkim.L006loop: 486238405Sjkim xorl %esi,%eax 487238405Sjkim xorl -4(%edi),%ebx 488238405Sjkim movzbl %ah,%esi 489238405Sjkim movl 2052(%ebp,%esi,8),%edx 490238405Sjkim movzbl %al,%esi 491238405Sjkim xorl 4(%ebp,%esi,8),%edx 492238405Sjkim shrl $16,%eax 493238405Sjkim movzbl %bl,%esi 494238405Sjkim movl (%ebp,%esi,8),%ecx 495238405Sjkim movzbl %ah,%esi 496238405Sjkim xorl (%ebp,%esi,8),%edx 497238405Sjkim movzbl %bh,%esi 498238405Sjkim xorl 4(%ebp,%esi,8),%ecx 499238405Sjkim shrl $16,%ebx 500238405Sjkim movzbl %al,%eax 501238405Sjkim xorl 2048(%ebp,%eax,8),%edx 502238405Sjkim movzbl %bh,%esi 503238405Sjkim movl 16(%esp),%eax 504238405Sjkim xorl %edx,%ecx 505238405Sjkim rorl $8,%edx 506238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 507238405Sjkim movzbl %bl,%esi 508238405Sjkim movl 12(%esp),%ebx 509238405Sjkim xorl %eax,%edx 510238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 511238405Sjkim movl -16(%edi),%esi 512238405Sjkim xorl %ecx,%edx 513238405Sjkim movl %edx,16(%esp) 514238405Sjkim xorl %ebx,%ecx 515238405Sjkim movl %ecx,12(%esp) 516238405Sjkim xorl %esi,%ecx 517238405Sjkim xorl -12(%edi),%edx 518238405Sjkim movzbl %ch,%esi 519238405Sjkim movl 2052(%ebp,%esi,8),%ebx 520238405Sjkim movzbl %cl,%esi 521238405Sjkim xorl 4(%ebp,%esi,8),%ebx 522238405Sjkim shrl $16,%ecx 523238405Sjkim movzbl %dl,%esi 524238405Sjkim movl (%ebp,%esi,8),%eax 525238405Sjkim movzbl %ch,%esi 526238405Sjkim xorl (%ebp,%esi,8),%ebx 527238405Sjkim movzbl %dh,%esi 528238405Sjkim xorl 4(%ebp,%esi,8),%eax 529238405Sjkim shrl $16,%edx 530238405Sjkim movzbl %cl,%ecx 531238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 532238405Sjkim movzbl %dh,%esi 533238405Sjkim movl 8(%esp),%ecx 534238405Sjkim xorl %ebx,%eax 535238405Sjkim rorl $8,%ebx 536238405Sjkim xorl 2048(%ebp,%esi,8),%eax 537238405Sjkim movzbl %dl,%esi 538238405Sjkim movl 4(%esp),%edx 539238405Sjkim xorl %ecx,%ebx 540238405Sjkim xorl 2052(%ebp,%esi,8),%eax 541238405Sjkim movl -24(%edi),%esi 542238405Sjkim xorl %eax,%ebx 543238405Sjkim movl %ebx,8(%esp) 544238405Sjkim xorl %edx,%eax 545238405Sjkim movl %eax,4(%esp) 546238405Sjkim xorl %esi,%eax 547238405Sjkim xorl -20(%edi),%ebx 548238405Sjkim movzbl %ah,%esi 549238405Sjkim movl 2052(%ebp,%esi,8),%edx 550238405Sjkim movzbl %al,%esi 551238405Sjkim xorl 4(%ebp,%esi,8),%edx 552238405Sjkim shrl $16,%eax 553238405Sjkim movzbl %bl,%esi 554238405Sjkim movl (%ebp,%esi,8),%ecx 555238405Sjkim movzbl %ah,%esi 556238405Sjkim xorl (%ebp,%esi,8),%edx 557238405Sjkim movzbl %bh,%esi 558238405Sjkim xorl 4(%ebp,%esi,8),%ecx 559238405Sjkim shrl $16,%ebx 560238405Sjkim movzbl %al,%eax 561238405Sjkim xorl 2048(%ebp,%eax,8),%edx 562238405Sjkim movzbl %bh,%esi 563238405Sjkim movl 16(%esp),%eax 564238405Sjkim xorl %edx,%ecx 565238405Sjkim rorl $8,%edx 566238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 567238405Sjkim movzbl %bl,%esi 568238405Sjkim movl 12(%esp),%ebx 569238405Sjkim xorl %eax,%edx 570238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 571238405Sjkim movl -32(%edi),%esi 572238405Sjkim xorl %ecx,%edx 573238405Sjkim movl %edx,16(%esp) 574238405Sjkim xorl %ebx,%ecx 575238405Sjkim movl %ecx,12(%esp) 576238405Sjkim xorl %esi,%ecx 577238405Sjkim xorl -28(%edi),%edx 578238405Sjkim movzbl %ch,%esi 579238405Sjkim movl 2052(%ebp,%esi,8),%ebx 580238405Sjkim movzbl %cl,%esi 581238405Sjkim xorl 4(%ebp,%esi,8),%ebx 582238405Sjkim shrl $16,%ecx 583238405Sjkim movzbl %dl,%esi 584238405Sjkim movl (%ebp,%esi,8),%eax 585238405Sjkim movzbl %ch,%esi 586238405Sjkim xorl (%ebp,%esi,8),%ebx 587238405Sjkim movzbl %dh,%esi 588238405Sjkim xorl 4(%ebp,%esi,8),%eax 589238405Sjkim shrl $16,%edx 590238405Sjkim movzbl %cl,%ecx 591238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 592238405Sjkim movzbl %dh,%esi 593238405Sjkim movl 8(%esp),%ecx 594238405Sjkim xorl %ebx,%eax 595238405Sjkim rorl $8,%ebx 596238405Sjkim xorl 2048(%ebp,%esi,8),%eax 597238405Sjkim movzbl %dl,%esi 598238405Sjkim movl 4(%esp),%edx 599238405Sjkim xorl %ecx,%ebx 600238405Sjkim xorl 2052(%ebp,%esi,8),%eax 601238405Sjkim movl -40(%edi),%esi 602238405Sjkim xorl %eax,%ebx 603238405Sjkim movl %ebx,8(%esp) 604238405Sjkim xorl %edx,%eax 605238405Sjkim movl %eax,4(%esp) 606238405Sjkim xorl %esi,%eax 607238405Sjkim xorl -36(%edi),%ebx 608238405Sjkim movzbl %ah,%esi 609238405Sjkim movl 2052(%ebp,%esi,8),%edx 610238405Sjkim movzbl %al,%esi 611238405Sjkim xorl 4(%ebp,%esi,8),%edx 612238405Sjkim shrl $16,%eax 613238405Sjkim movzbl %bl,%esi 614238405Sjkim movl (%ebp,%esi,8),%ecx 615238405Sjkim movzbl %ah,%esi 616238405Sjkim xorl (%ebp,%esi,8),%edx 617238405Sjkim movzbl %bh,%esi 618238405Sjkim xorl 4(%ebp,%esi,8),%ecx 619238405Sjkim shrl $16,%ebx 620238405Sjkim movzbl %al,%eax 621238405Sjkim xorl 2048(%ebp,%eax,8),%edx 622238405Sjkim movzbl %bh,%esi 623238405Sjkim movl 16(%esp),%eax 624238405Sjkim xorl %edx,%ecx 625238405Sjkim rorl $8,%edx 626238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 627238405Sjkim movzbl %bl,%esi 628238405Sjkim movl 12(%esp),%ebx 629238405Sjkim xorl %eax,%edx 630238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 631238405Sjkim movl -48(%edi),%esi 632238405Sjkim xorl %ecx,%edx 633238405Sjkim movl %edx,16(%esp) 634238405Sjkim xorl %ebx,%ecx 635238405Sjkim movl %ecx,12(%esp) 636238405Sjkim xorl %esi,%ecx 637238405Sjkim xorl -44(%edi),%edx 638238405Sjkim movzbl %ch,%esi 639238405Sjkim movl 2052(%ebp,%esi,8),%ebx 640238405Sjkim movzbl %cl,%esi 641238405Sjkim xorl 4(%ebp,%esi,8),%ebx 642238405Sjkim shrl $16,%ecx 643238405Sjkim movzbl %dl,%esi 644238405Sjkim movl (%ebp,%esi,8),%eax 645238405Sjkim movzbl %ch,%esi 646238405Sjkim xorl (%ebp,%esi,8),%ebx 647238405Sjkim movzbl %dh,%esi 648238405Sjkim xorl 4(%ebp,%esi,8),%eax 649238405Sjkim shrl $16,%edx 650238405Sjkim movzbl %cl,%ecx 651238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 652238405Sjkim movzbl %dh,%esi 653238405Sjkim movl 8(%esp),%ecx 654238405Sjkim xorl %ebx,%eax 655238405Sjkim rorl $8,%ebx 656238405Sjkim xorl 2048(%ebp,%esi,8),%eax 657238405Sjkim movzbl %dl,%esi 658238405Sjkim movl 4(%esp),%edx 659238405Sjkim xorl %ecx,%ebx 660238405Sjkim xorl 2052(%ebp,%esi,8),%eax 661238405Sjkim movl -56(%edi),%esi 662238405Sjkim xorl %eax,%ebx 663238405Sjkim movl %ebx,8(%esp) 664238405Sjkim xorl %edx,%eax 665238405Sjkim movl %eax,4(%esp) 666238405Sjkim subl $64,%edi 667238405Sjkim cmpl 20(%esp),%edi 668238405Sjkim je .L007done 669238405Sjkim andl %eax,%esi 670238405Sjkim movl 16(%esp),%edx 671238405Sjkim roll $1,%esi 672238405Sjkim movl %edx,%ecx 673238405Sjkim xorl %esi,%ebx 674238405Sjkim orl 4(%edi),%ecx 675238405Sjkim movl %ebx,8(%esp) 676238405Sjkim xorl 12(%esp),%ecx 677238405Sjkim movl 12(%edi),%esi 678238405Sjkim movl %ecx,12(%esp) 679238405Sjkim orl %ebx,%esi 680238405Sjkim andl (%edi),%ecx 681238405Sjkim xorl %esi,%eax 682238405Sjkim roll $1,%ecx 683238405Sjkim movl %eax,4(%esp) 684238405Sjkim xorl %ecx,%edx 685238405Sjkim movl -8(%edi),%esi 686238405Sjkim movl %edx,16(%esp) 687238405Sjkim jmp .L006loop 688238405Sjkim.align 8 689238405Sjkim.L007done: 690238405Sjkim movl %eax,%ecx 691238405Sjkim movl %ebx,%edx 692238405Sjkim movl 12(%esp),%eax 693238405Sjkim movl 16(%esp),%ebx 694238405Sjkim xorl %esi,%ecx 695238405Sjkim xorl 12(%edi),%edx 696238405Sjkim xorl (%edi),%eax 697238405Sjkim xorl 4(%edi),%ebx 698238405Sjkim ret 699238405Sjkim.size _x86_Camellia_decrypt,.-_x86_Camellia_decrypt 700238405Sjkim.globl Camellia_Ekeygen 701238405Sjkim.type Camellia_Ekeygen,@function 702238405Sjkim.align 16 703238405SjkimCamellia_Ekeygen: 704238405Sjkim.L_Camellia_Ekeygen_begin: 705238405Sjkim pushl %ebp 706238405Sjkim pushl %ebx 707238405Sjkim pushl %esi 708238405Sjkim pushl %edi 709238405Sjkim subl $16,%esp 710238405Sjkim movl 36(%esp),%ebp 711238405Sjkim movl 40(%esp),%esi 712238405Sjkim movl 44(%esp),%edi 713238405Sjkim movl (%esi),%eax 714238405Sjkim movl 4(%esi),%ebx 715238405Sjkim movl 8(%esi),%ecx 716238405Sjkim movl 12(%esi),%edx 717238405Sjkim bswap %eax 718238405Sjkim bswap %ebx 719238405Sjkim bswap %ecx 720238405Sjkim bswap %edx 721238405Sjkim movl %eax,(%edi) 722238405Sjkim movl %ebx,4(%edi) 723238405Sjkim movl %ecx,8(%edi) 724238405Sjkim movl %edx,12(%edi) 725238405Sjkim cmpl $128,%ebp 726238405Sjkim je .L0081st128 727238405Sjkim movl 16(%esi),%eax 728238405Sjkim movl 20(%esi),%ebx 729238405Sjkim cmpl $192,%ebp 730238405Sjkim je .L0091st192 731238405Sjkim movl 24(%esi),%ecx 732238405Sjkim movl 28(%esi),%edx 733238405Sjkim jmp .L0101st256 734238405Sjkim.align 4 735238405Sjkim.L0091st192: 736238405Sjkim movl %eax,%ecx 737238405Sjkim movl %ebx,%edx 738238405Sjkim notl %ecx 739238405Sjkim notl %edx 740238405Sjkim.align 4 741238405Sjkim.L0101st256: 742238405Sjkim bswap %eax 743238405Sjkim bswap %ebx 744238405Sjkim bswap %ecx 745238405Sjkim bswap %edx 746238405Sjkim movl %eax,32(%edi) 747238405Sjkim movl %ebx,36(%edi) 748238405Sjkim movl %ecx,40(%edi) 749238405Sjkim movl %edx,44(%edi) 750238405Sjkim xorl (%edi),%eax 751238405Sjkim xorl 4(%edi),%ebx 752238405Sjkim xorl 8(%edi),%ecx 753238405Sjkim xorl 12(%edi),%edx 754238405Sjkim.align 4 755238405Sjkim.L0081st128: 756238405Sjkim call .L011pic_point 757238405Sjkim.L011pic_point: 758238405Sjkim popl %ebp 759238405Sjkim leal .LCamellia_SBOX-.L011pic_point(%ebp),%ebp 760238405Sjkim leal .LCamellia_SIGMA-.LCamellia_SBOX(%ebp),%edi 761238405Sjkim movl (%edi),%esi 762238405Sjkim movl %eax,(%esp) 763238405Sjkim movl %ebx,4(%esp) 764238405Sjkim movl %ecx,8(%esp) 765238405Sjkim movl %edx,12(%esp) 766238405Sjkim xorl %esi,%eax 767238405Sjkim xorl 4(%edi),%ebx 768238405Sjkim movzbl %ah,%esi 769238405Sjkim movl 2052(%ebp,%esi,8),%edx 770238405Sjkim movzbl %al,%esi 771238405Sjkim xorl 4(%ebp,%esi,8),%edx 772238405Sjkim shrl $16,%eax 773238405Sjkim movzbl %bl,%esi 774238405Sjkim movl (%ebp,%esi,8),%ecx 775238405Sjkim movzbl %ah,%esi 776238405Sjkim xorl (%ebp,%esi,8),%edx 777238405Sjkim movzbl %bh,%esi 778238405Sjkim xorl 4(%ebp,%esi,8),%ecx 779238405Sjkim shrl $16,%ebx 780238405Sjkim movzbl %al,%eax 781238405Sjkim xorl 2048(%ebp,%eax,8),%edx 782238405Sjkim movzbl %bh,%esi 783238405Sjkim movl 12(%esp),%eax 784238405Sjkim xorl %edx,%ecx 785238405Sjkim rorl $8,%edx 786238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 787238405Sjkim movzbl %bl,%esi 788238405Sjkim movl 8(%esp),%ebx 789238405Sjkim xorl %eax,%edx 790238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 791238405Sjkim movl 8(%edi),%esi 792238405Sjkim xorl %ecx,%edx 793238405Sjkim movl %edx,12(%esp) 794238405Sjkim xorl %ebx,%ecx 795238405Sjkim movl %ecx,8(%esp) 796238405Sjkim xorl %esi,%ecx 797238405Sjkim xorl 12(%edi),%edx 798238405Sjkim movzbl %ch,%esi 799238405Sjkim movl 2052(%ebp,%esi,8),%ebx 800238405Sjkim movzbl %cl,%esi 801238405Sjkim xorl 4(%ebp,%esi,8),%ebx 802238405Sjkim shrl $16,%ecx 803238405Sjkim movzbl %dl,%esi 804238405Sjkim movl (%ebp,%esi,8),%eax 805238405Sjkim movzbl %ch,%esi 806238405Sjkim xorl (%ebp,%esi,8),%ebx 807238405Sjkim movzbl %dh,%esi 808238405Sjkim xorl 4(%ebp,%esi,8),%eax 809238405Sjkim shrl $16,%edx 810238405Sjkim movzbl %cl,%ecx 811238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 812238405Sjkim movzbl %dh,%esi 813238405Sjkim movl 4(%esp),%ecx 814238405Sjkim xorl %ebx,%eax 815238405Sjkim rorl $8,%ebx 816238405Sjkim xorl 2048(%ebp,%esi,8),%eax 817238405Sjkim movzbl %dl,%esi 818238405Sjkim movl (%esp),%edx 819238405Sjkim xorl %ecx,%ebx 820238405Sjkim xorl 2052(%ebp,%esi,8),%eax 821238405Sjkim movl 16(%edi),%esi 822238405Sjkim xorl %eax,%ebx 823238405Sjkim movl %ebx,4(%esp) 824238405Sjkim xorl %edx,%eax 825238405Sjkim movl %eax,(%esp) 826238405Sjkim movl 8(%esp),%ecx 827238405Sjkim movl 12(%esp),%edx 828238405Sjkim movl 44(%esp),%esi 829238405Sjkim xorl (%esi),%eax 830238405Sjkim xorl 4(%esi),%ebx 831238405Sjkim xorl 8(%esi),%ecx 832238405Sjkim xorl 12(%esi),%edx 833238405Sjkim movl 16(%edi),%esi 834238405Sjkim movl %eax,(%esp) 835238405Sjkim movl %ebx,4(%esp) 836238405Sjkim movl %ecx,8(%esp) 837238405Sjkim movl %edx,12(%esp) 838238405Sjkim xorl %esi,%eax 839238405Sjkim xorl 20(%edi),%ebx 840238405Sjkim movzbl %ah,%esi 841238405Sjkim movl 2052(%ebp,%esi,8),%edx 842238405Sjkim movzbl %al,%esi 843238405Sjkim xorl 4(%ebp,%esi,8),%edx 844238405Sjkim shrl $16,%eax 845238405Sjkim movzbl %bl,%esi 846238405Sjkim movl (%ebp,%esi,8),%ecx 847238405Sjkim movzbl %ah,%esi 848238405Sjkim xorl (%ebp,%esi,8),%edx 849238405Sjkim movzbl %bh,%esi 850238405Sjkim xorl 4(%ebp,%esi,8),%ecx 851238405Sjkim shrl $16,%ebx 852238405Sjkim movzbl %al,%eax 853238405Sjkim xorl 2048(%ebp,%eax,8),%edx 854238405Sjkim movzbl %bh,%esi 855238405Sjkim movl 12(%esp),%eax 856238405Sjkim xorl %edx,%ecx 857238405Sjkim rorl $8,%edx 858238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 859238405Sjkim movzbl %bl,%esi 860238405Sjkim movl 8(%esp),%ebx 861238405Sjkim xorl %eax,%edx 862238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 863238405Sjkim movl 24(%edi),%esi 864238405Sjkim xorl %ecx,%edx 865238405Sjkim movl %edx,12(%esp) 866238405Sjkim xorl %ebx,%ecx 867238405Sjkim movl %ecx,8(%esp) 868238405Sjkim xorl %esi,%ecx 869238405Sjkim xorl 28(%edi),%edx 870238405Sjkim movzbl %ch,%esi 871238405Sjkim movl 2052(%ebp,%esi,8),%ebx 872238405Sjkim movzbl %cl,%esi 873238405Sjkim xorl 4(%ebp,%esi,8),%ebx 874238405Sjkim shrl $16,%ecx 875238405Sjkim movzbl %dl,%esi 876238405Sjkim movl (%ebp,%esi,8),%eax 877238405Sjkim movzbl %ch,%esi 878238405Sjkim xorl (%ebp,%esi,8),%ebx 879238405Sjkim movzbl %dh,%esi 880238405Sjkim xorl 4(%ebp,%esi,8),%eax 881238405Sjkim shrl $16,%edx 882238405Sjkim movzbl %cl,%ecx 883238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 884238405Sjkim movzbl %dh,%esi 885238405Sjkim movl 4(%esp),%ecx 886238405Sjkim xorl %ebx,%eax 887238405Sjkim rorl $8,%ebx 888238405Sjkim xorl 2048(%ebp,%esi,8),%eax 889238405Sjkim movzbl %dl,%esi 890238405Sjkim movl (%esp),%edx 891238405Sjkim xorl %ecx,%ebx 892238405Sjkim xorl 2052(%ebp,%esi,8),%eax 893238405Sjkim movl 32(%edi),%esi 894238405Sjkim xorl %eax,%ebx 895238405Sjkim movl %ebx,4(%esp) 896238405Sjkim xorl %edx,%eax 897238405Sjkim movl %eax,(%esp) 898238405Sjkim movl 8(%esp),%ecx 899238405Sjkim movl 12(%esp),%edx 900238405Sjkim movl 36(%esp),%esi 901238405Sjkim cmpl $128,%esi 902238405Sjkim jne .L0122nd256 903238405Sjkim movl 44(%esp),%edi 904238405Sjkim leal 128(%edi),%edi 905238405Sjkim movl %eax,-112(%edi) 906238405Sjkim movl %ebx,-108(%edi) 907238405Sjkim movl %ecx,-104(%edi) 908238405Sjkim movl %edx,-100(%edi) 909238405Sjkim movl %eax,%ebp 910238405Sjkim shll $15,%eax 911238405Sjkim movl %ebx,%esi 912238405Sjkim shrl $17,%esi 913238405Sjkim shll $15,%ebx 914238405Sjkim orl %esi,%eax 915238405Sjkim movl %ecx,%esi 916238405Sjkim shll $15,%ecx 917238405Sjkim movl %eax,-80(%edi) 918238405Sjkim shrl $17,%esi 919238405Sjkim orl %esi,%ebx 920238405Sjkim shrl $17,%ebp 921238405Sjkim movl %edx,%esi 922238405Sjkim shrl $17,%esi 923238405Sjkim movl %ebx,-76(%edi) 924238405Sjkim shll $15,%edx 925238405Sjkim orl %esi,%ecx 926238405Sjkim orl %ebp,%edx 927238405Sjkim movl %ecx,-72(%edi) 928238405Sjkim movl %edx,-68(%edi) 929238405Sjkim movl %eax,%ebp 930238405Sjkim shll $15,%eax 931238405Sjkim movl %ebx,%esi 932238405Sjkim shrl $17,%esi 933238405Sjkim shll $15,%ebx 934238405Sjkim orl %esi,%eax 935238405Sjkim movl %ecx,%esi 936238405Sjkim shll $15,%ecx 937238405Sjkim movl %eax,-64(%edi) 938238405Sjkim shrl $17,%esi 939238405Sjkim orl %esi,%ebx 940238405Sjkim shrl $17,%ebp 941238405Sjkim movl %edx,%esi 942238405Sjkim shrl $17,%esi 943238405Sjkim movl %ebx,-60(%edi) 944238405Sjkim shll $15,%edx 945238405Sjkim orl %esi,%ecx 946238405Sjkim orl %ebp,%edx 947238405Sjkim movl %ecx,-56(%edi) 948238405Sjkim movl %edx,-52(%edi) 949238405Sjkim movl %eax,%ebp 950238405Sjkim shll $15,%eax 951238405Sjkim movl %ebx,%esi 952238405Sjkim shrl $17,%esi 953238405Sjkim shll $15,%ebx 954238405Sjkim orl %esi,%eax 955238405Sjkim movl %ecx,%esi 956238405Sjkim shll $15,%ecx 957238405Sjkim movl %eax,-32(%edi) 958238405Sjkim shrl $17,%esi 959238405Sjkim orl %esi,%ebx 960238405Sjkim shrl $17,%ebp 961238405Sjkim movl %edx,%esi 962238405Sjkim shrl $17,%esi 963238405Sjkim movl %ebx,-28(%edi) 964238405Sjkim shll $15,%edx 965238405Sjkim orl %esi,%ecx 966238405Sjkim orl %ebp,%edx 967238405Sjkim movl %eax,%ebp 968238405Sjkim shll $15,%eax 969238405Sjkim movl %ebx,%esi 970238405Sjkim shrl $17,%esi 971238405Sjkim shll $15,%ebx 972238405Sjkim orl %esi,%eax 973238405Sjkim movl %ecx,%esi 974238405Sjkim shll $15,%ecx 975238405Sjkim movl %eax,-16(%edi) 976238405Sjkim shrl $17,%esi 977238405Sjkim orl %esi,%ebx 978238405Sjkim shrl $17,%ebp 979238405Sjkim movl %edx,%esi 980238405Sjkim shrl $17,%esi 981238405Sjkim movl %ebx,-12(%edi) 982238405Sjkim shll $15,%edx 983238405Sjkim orl %esi,%ecx 984238405Sjkim orl %ebp,%edx 985238405Sjkim movl %ecx,-8(%edi) 986238405Sjkim movl %edx,-4(%edi) 987238405Sjkim movl %ebx,%ebp 988238405Sjkim shll $2,%ebx 989238405Sjkim movl %ecx,%esi 990238405Sjkim shrl $30,%esi 991238405Sjkim shll $2,%ecx 992238405Sjkim orl %esi,%ebx 993238405Sjkim movl %edx,%esi 994238405Sjkim shll $2,%edx 995238405Sjkim movl %ebx,32(%edi) 996238405Sjkim shrl $30,%esi 997238405Sjkim orl %esi,%ecx 998238405Sjkim shrl $30,%ebp 999238405Sjkim movl %eax,%esi 1000238405Sjkim shrl $30,%esi 1001238405Sjkim movl %ecx,36(%edi) 1002238405Sjkim shll $2,%eax 1003238405Sjkim orl %esi,%edx 1004238405Sjkim orl %ebp,%eax 1005238405Sjkim movl %edx,40(%edi) 1006238405Sjkim movl %eax,44(%edi) 1007238405Sjkim movl %ebx,%ebp 1008238405Sjkim shll $17,%ebx 1009238405Sjkim movl %ecx,%esi 1010238405Sjkim shrl $15,%esi 1011238405Sjkim shll $17,%ecx 1012238405Sjkim orl %esi,%ebx 1013238405Sjkim movl %edx,%esi 1014238405Sjkim shll $17,%edx 1015238405Sjkim movl %ebx,64(%edi) 1016238405Sjkim shrl $15,%esi 1017238405Sjkim orl %esi,%ecx 1018238405Sjkim shrl $15,%ebp 1019238405Sjkim movl %eax,%esi 1020238405Sjkim shrl $15,%esi 1021238405Sjkim movl %ecx,68(%edi) 1022238405Sjkim shll $17,%eax 1023238405Sjkim orl %esi,%edx 1024238405Sjkim orl %ebp,%eax 1025238405Sjkim movl %edx,72(%edi) 1026238405Sjkim movl %eax,76(%edi) 1027238405Sjkim movl -128(%edi),%ebx 1028238405Sjkim movl -124(%edi),%ecx 1029238405Sjkim movl -120(%edi),%edx 1030238405Sjkim movl -116(%edi),%eax 1031238405Sjkim movl %ebx,%ebp 1032238405Sjkim shll $15,%ebx 1033238405Sjkim movl %ecx,%esi 1034238405Sjkim shrl $17,%esi 1035238405Sjkim shll $15,%ecx 1036238405Sjkim orl %esi,%ebx 1037238405Sjkim movl %edx,%esi 1038238405Sjkim shll $15,%edx 1039238405Sjkim movl %ebx,-96(%edi) 1040238405Sjkim shrl $17,%esi 1041238405Sjkim orl %esi,%ecx 1042238405Sjkim shrl $17,%ebp 1043238405Sjkim movl %eax,%esi 1044238405Sjkim shrl $17,%esi 1045238405Sjkim movl %ecx,-92(%edi) 1046238405Sjkim shll $15,%eax 1047238405Sjkim orl %esi,%edx 1048238405Sjkim orl %ebp,%eax 1049238405Sjkim movl %edx,-88(%edi) 1050238405Sjkim movl %eax,-84(%edi) 1051238405Sjkim movl %ebx,%ebp 1052238405Sjkim shll $30,%ebx 1053238405Sjkim movl %ecx,%esi 1054238405Sjkim shrl $2,%esi 1055238405Sjkim shll $30,%ecx 1056238405Sjkim orl %esi,%ebx 1057238405Sjkim movl %edx,%esi 1058238405Sjkim shll $30,%edx 1059238405Sjkim movl %ebx,-48(%edi) 1060238405Sjkim shrl $2,%esi 1061238405Sjkim orl %esi,%ecx 1062238405Sjkim shrl $2,%ebp 1063238405Sjkim movl %eax,%esi 1064238405Sjkim shrl $2,%esi 1065238405Sjkim movl %ecx,-44(%edi) 1066238405Sjkim shll $30,%eax 1067238405Sjkim orl %esi,%edx 1068238405Sjkim orl %ebp,%eax 1069238405Sjkim movl %edx,-40(%edi) 1070238405Sjkim movl %eax,-36(%edi) 1071238405Sjkim movl %ebx,%ebp 1072238405Sjkim shll $15,%ebx 1073238405Sjkim movl %ecx,%esi 1074238405Sjkim shrl $17,%esi 1075238405Sjkim shll $15,%ecx 1076238405Sjkim orl %esi,%ebx 1077238405Sjkim movl %edx,%esi 1078238405Sjkim shll $15,%edx 1079238405Sjkim shrl $17,%esi 1080238405Sjkim orl %esi,%ecx 1081238405Sjkim shrl $17,%ebp 1082238405Sjkim movl %eax,%esi 1083238405Sjkim shrl $17,%esi 1084238405Sjkim shll $15,%eax 1085238405Sjkim orl %esi,%edx 1086238405Sjkim orl %ebp,%eax 1087238405Sjkim movl %edx,-24(%edi) 1088238405Sjkim movl %eax,-20(%edi) 1089238405Sjkim movl %ebx,%ebp 1090238405Sjkim shll $17,%ebx 1091238405Sjkim movl %ecx,%esi 1092238405Sjkim shrl $15,%esi 1093238405Sjkim shll $17,%ecx 1094238405Sjkim orl %esi,%ebx 1095238405Sjkim movl %edx,%esi 1096238405Sjkim shll $17,%edx 1097238405Sjkim movl %ebx,(%edi) 1098238405Sjkim shrl $15,%esi 1099238405Sjkim orl %esi,%ecx 1100238405Sjkim shrl $15,%ebp 1101238405Sjkim movl %eax,%esi 1102238405Sjkim shrl $15,%esi 1103238405Sjkim movl %ecx,4(%edi) 1104238405Sjkim shll $17,%eax 1105238405Sjkim orl %esi,%edx 1106238405Sjkim orl %ebp,%eax 1107238405Sjkim movl %edx,8(%edi) 1108238405Sjkim movl %eax,12(%edi) 1109238405Sjkim movl %ebx,%ebp 1110238405Sjkim shll $17,%ebx 1111238405Sjkim movl %ecx,%esi 1112238405Sjkim shrl $15,%esi 1113238405Sjkim shll $17,%ecx 1114238405Sjkim orl %esi,%ebx 1115238405Sjkim movl %edx,%esi 1116238405Sjkim shll $17,%edx 1117238405Sjkim movl %ebx,16(%edi) 1118238405Sjkim shrl $15,%esi 1119238405Sjkim orl %esi,%ecx 1120238405Sjkim shrl $15,%ebp 1121238405Sjkim movl %eax,%esi 1122238405Sjkim shrl $15,%esi 1123238405Sjkim movl %ecx,20(%edi) 1124238405Sjkim shll $17,%eax 1125238405Sjkim orl %esi,%edx 1126238405Sjkim orl %ebp,%eax 1127238405Sjkim movl %edx,24(%edi) 1128238405Sjkim movl %eax,28(%edi) 1129238405Sjkim movl %ebx,%ebp 1130238405Sjkim shll $17,%ebx 1131238405Sjkim movl %ecx,%esi 1132238405Sjkim shrl $15,%esi 1133238405Sjkim shll $17,%ecx 1134238405Sjkim orl %esi,%ebx 1135238405Sjkim movl %edx,%esi 1136238405Sjkim shll $17,%edx 1137238405Sjkim movl %ebx,48(%edi) 1138238405Sjkim shrl $15,%esi 1139238405Sjkim orl %esi,%ecx 1140238405Sjkim shrl $15,%ebp 1141238405Sjkim movl %eax,%esi 1142238405Sjkim shrl $15,%esi 1143238405Sjkim movl %ecx,52(%edi) 1144238405Sjkim shll $17,%eax 1145238405Sjkim orl %esi,%edx 1146238405Sjkim orl %ebp,%eax 1147238405Sjkim movl %edx,56(%edi) 1148238405Sjkim movl %eax,60(%edi) 1149238405Sjkim movl $3,%eax 1150238405Sjkim jmp .L013done 1151238405Sjkim.align 16 1152238405Sjkim.L0122nd256: 1153238405Sjkim movl 44(%esp),%esi 1154238405Sjkim movl %eax,48(%esi) 1155238405Sjkim movl %ebx,52(%esi) 1156238405Sjkim movl %ecx,56(%esi) 1157238405Sjkim movl %edx,60(%esi) 1158238405Sjkim xorl 32(%esi),%eax 1159238405Sjkim xorl 36(%esi),%ebx 1160238405Sjkim xorl 40(%esi),%ecx 1161238405Sjkim xorl 44(%esi),%edx 1162238405Sjkim movl 32(%edi),%esi 1163238405Sjkim movl %eax,(%esp) 1164238405Sjkim movl %ebx,4(%esp) 1165238405Sjkim movl %ecx,8(%esp) 1166238405Sjkim movl %edx,12(%esp) 1167238405Sjkim xorl %esi,%eax 1168238405Sjkim xorl 36(%edi),%ebx 1169238405Sjkim movzbl %ah,%esi 1170238405Sjkim movl 2052(%ebp,%esi,8),%edx 1171238405Sjkim movzbl %al,%esi 1172238405Sjkim xorl 4(%ebp,%esi,8),%edx 1173238405Sjkim shrl $16,%eax 1174238405Sjkim movzbl %bl,%esi 1175238405Sjkim movl (%ebp,%esi,8),%ecx 1176238405Sjkim movzbl %ah,%esi 1177238405Sjkim xorl (%ebp,%esi,8),%edx 1178238405Sjkim movzbl %bh,%esi 1179238405Sjkim xorl 4(%ebp,%esi,8),%ecx 1180238405Sjkim shrl $16,%ebx 1181238405Sjkim movzbl %al,%eax 1182238405Sjkim xorl 2048(%ebp,%eax,8),%edx 1183238405Sjkim movzbl %bh,%esi 1184238405Sjkim movl 12(%esp),%eax 1185238405Sjkim xorl %edx,%ecx 1186238405Sjkim rorl $8,%edx 1187238405Sjkim xorl 2048(%ebp,%esi,8),%ecx 1188238405Sjkim movzbl %bl,%esi 1189238405Sjkim movl 8(%esp),%ebx 1190238405Sjkim xorl %eax,%edx 1191238405Sjkim xorl 2052(%ebp,%esi,8),%ecx 1192238405Sjkim movl 40(%edi),%esi 1193238405Sjkim xorl %ecx,%edx 1194238405Sjkim movl %edx,12(%esp) 1195238405Sjkim xorl %ebx,%ecx 1196238405Sjkim movl %ecx,8(%esp) 1197238405Sjkim xorl %esi,%ecx 1198238405Sjkim xorl 44(%edi),%edx 1199238405Sjkim movzbl %ch,%esi 1200238405Sjkim movl 2052(%ebp,%esi,8),%ebx 1201238405Sjkim movzbl %cl,%esi 1202238405Sjkim xorl 4(%ebp,%esi,8),%ebx 1203238405Sjkim shrl $16,%ecx 1204238405Sjkim movzbl %dl,%esi 1205238405Sjkim movl (%ebp,%esi,8),%eax 1206238405Sjkim movzbl %ch,%esi 1207238405Sjkim xorl (%ebp,%esi,8),%ebx 1208238405Sjkim movzbl %dh,%esi 1209238405Sjkim xorl 4(%ebp,%esi,8),%eax 1210238405Sjkim shrl $16,%edx 1211238405Sjkim movzbl %cl,%ecx 1212238405Sjkim xorl 2048(%ebp,%ecx,8),%ebx 1213238405Sjkim movzbl %dh,%esi 1214238405Sjkim movl 4(%esp),%ecx 1215238405Sjkim xorl %ebx,%eax 1216238405Sjkim rorl $8,%ebx 1217238405Sjkim xorl 2048(%ebp,%esi,8),%eax 1218238405Sjkim movzbl %dl,%esi 1219238405Sjkim movl (%esp),%edx 1220238405Sjkim xorl %ecx,%ebx 1221238405Sjkim xorl 2052(%ebp,%esi,8),%eax 1222238405Sjkim movl 48(%edi),%esi 1223238405Sjkim xorl %eax,%ebx 1224238405Sjkim movl %ebx,4(%esp) 1225238405Sjkim xorl %edx,%eax 1226238405Sjkim movl %eax,(%esp) 1227238405Sjkim movl 8(%esp),%ecx 1228238405Sjkim movl 12(%esp),%edx 1229238405Sjkim movl 44(%esp),%edi 1230238405Sjkim leal 128(%edi),%edi 1231238405Sjkim movl %eax,-112(%edi) 1232238405Sjkim movl %ebx,-108(%edi) 1233238405Sjkim movl %ecx,-104(%edi) 1234238405Sjkim movl %edx,-100(%edi) 1235238405Sjkim movl %eax,%ebp 1236238405Sjkim shll $30,%eax 1237238405Sjkim movl %ebx,%esi 1238238405Sjkim shrl $2,%esi 1239238405Sjkim shll $30,%ebx 1240238405Sjkim orl %esi,%eax 1241238405Sjkim movl %ecx,%esi 1242238405Sjkim shll $30,%ecx 1243238405Sjkim movl %eax,-48(%edi) 1244238405Sjkim shrl $2,%esi 1245238405Sjkim orl %esi,%ebx 1246238405Sjkim shrl $2,%ebp 1247238405Sjkim movl %edx,%esi 1248238405Sjkim shrl $2,%esi 1249238405Sjkim movl %ebx,-44(%edi) 1250238405Sjkim shll $30,%edx 1251238405Sjkim orl %esi,%ecx 1252238405Sjkim orl %ebp,%edx 1253238405Sjkim movl %ecx,-40(%edi) 1254238405Sjkim movl %edx,-36(%edi) 1255238405Sjkim movl %eax,%ebp 1256238405Sjkim shll $30,%eax 1257238405Sjkim movl %ebx,%esi 1258238405Sjkim shrl $2,%esi 1259238405Sjkim shll $30,%ebx 1260238405Sjkim orl %esi,%eax 1261238405Sjkim movl %ecx,%esi 1262238405Sjkim shll $30,%ecx 1263238405Sjkim movl %eax,32(%edi) 1264238405Sjkim shrl $2,%esi 1265238405Sjkim orl %esi,%ebx 1266238405Sjkim shrl $2,%ebp 1267238405Sjkim movl %edx,%esi 1268238405Sjkim shrl $2,%esi 1269238405Sjkim movl %ebx,36(%edi) 1270238405Sjkim shll $30,%edx 1271238405Sjkim orl %esi,%ecx 1272238405Sjkim orl %ebp,%edx 1273238405Sjkim movl %ecx,40(%edi) 1274238405Sjkim movl %edx,44(%edi) 1275238405Sjkim movl %ebx,%ebp 1276238405Sjkim shll $19,%ebx 1277238405Sjkim movl %ecx,%esi 1278238405Sjkim shrl $13,%esi 1279238405Sjkim shll $19,%ecx 1280238405Sjkim orl %esi,%ebx 1281238405Sjkim movl %edx,%esi 1282238405Sjkim shll $19,%edx 1283238405Sjkim movl %ebx,128(%edi) 1284238405Sjkim shrl $13,%esi 1285238405Sjkim orl %esi,%ecx 1286238405Sjkim shrl $13,%ebp 1287238405Sjkim movl %eax,%esi 1288238405Sjkim shrl $13,%esi 1289238405Sjkim movl %ecx,132(%edi) 1290238405Sjkim shll $19,%eax 1291238405Sjkim orl %esi,%edx 1292238405Sjkim orl %ebp,%eax 1293238405Sjkim movl %edx,136(%edi) 1294238405Sjkim movl %eax,140(%edi) 1295238405Sjkim movl -96(%edi),%ebx 1296238405Sjkim movl -92(%edi),%ecx 1297238405Sjkim movl -88(%edi),%edx 1298238405Sjkim movl -84(%edi),%eax 1299238405Sjkim movl %ebx,%ebp 1300238405Sjkim shll $15,%ebx 1301238405Sjkim movl %ecx,%esi 1302238405Sjkim shrl $17,%esi 1303238405Sjkim shll $15,%ecx 1304238405Sjkim orl %esi,%ebx 1305238405Sjkim movl %edx,%esi 1306238405Sjkim shll $15,%edx 1307238405Sjkim movl %ebx,-96(%edi) 1308238405Sjkim shrl $17,%esi 1309238405Sjkim orl %esi,%ecx 1310238405Sjkim shrl $17,%ebp 1311238405Sjkim movl %eax,%esi 1312238405Sjkim shrl $17,%esi 1313238405Sjkim movl %ecx,-92(%edi) 1314238405Sjkim shll $15,%eax 1315238405Sjkim orl %esi,%edx 1316238405Sjkim orl %ebp,%eax 1317238405Sjkim movl %edx,-88(%edi) 1318238405Sjkim movl %eax,-84(%edi) 1319238405Sjkim movl %ebx,%ebp 1320238405Sjkim shll $15,%ebx 1321238405Sjkim movl %ecx,%esi 1322238405Sjkim shrl $17,%esi 1323238405Sjkim shll $15,%ecx 1324238405Sjkim orl %esi,%ebx 1325238405Sjkim movl %edx,%esi 1326238405Sjkim shll $15,%edx 1327238405Sjkim movl %ebx,-64(%edi) 1328238405Sjkim shrl $17,%esi 1329238405Sjkim orl %esi,%ecx 1330238405Sjkim shrl $17,%ebp 1331238405Sjkim movl %eax,%esi 1332238405Sjkim shrl $17,%esi 1333238405Sjkim movl %ecx,-60(%edi) 1334238405Sjkim shll $15,%eax 1335238405Sjkim orl %esi,%edx 1336238405Sjkim orl %ebp,%eax 1337238405Sjkim movl %edx,-56(%edi) 1338238405Sjkim movl %eax,-52(%edi) 1339238405Sjkim movl %ebx,%ebp 1340238405Sjkim shll $30,%ebx 1341238405Sjkim movl %ecx,%esi 1342238405Sjkim shrl $2,%esi 1343238405Sjkim shll $30,%ecx 1344238405Sjkim orl %esi,%ebx 1345238405Sjkim movl %edx,%esi 1346238405Sjkim shll $30,%edx 1347238405Sjkim movl %ebx,16(%edi) 1348238405Sjkim shrl $2,%esi 1349238405Sjkim orl %esi,%ecx 1350238405Sjkim shrl $2,%ebp 1351238405Sjkim movl %eax,%esi 1352238405Sjkim shrl $2,%esi 1353238405Sjkim movl %ecx,20(%edi) 1354238405Sjkim shll $30,%eax 1355238405Sjkim orl %esi,%edx 1356238405Sjkim orl %ebp,%eax 1357238405Sjkim movl %edx,24(%edi) 1358238405Sjkim movl %eax,28(%edi) 1359238405Sjkim movl %ecx,%ebp 1360238405Sjkim shll $2,%ecx 1361238405Sjkim movl %edx,%esi 1362238405Sjkim shrl $30,%esi 1363238405Sjkim shll $2,%edx 1364238405Sjkim orl %esi,%ecx 1365238405Sjkim movl %eax,%esi 1366238405Sjkim shll $2,%eax 1367238405Sjkim movl %ecx,80(%edi) 1368238405Sjkim shrl $30,%esi 1369238405Sjkim orl %esi,%edx 1370238405Sjkim shrl $30,%ebp 1371238405Sjkim movl %ebx,%esi 1372238405Sjkim shrl $30,%esi 1373238405Sjkim movl %edx,84(%edi) 1374238405Sjkim shll $2,%ebx 1375238405Sjkim orl %esi,%eax 1376238405Sjkim orl %ebp,%ebx 1377238405Sjkim movl %eax,88(%edi) 1378238405Sjkim movl %ebx,92(%edi) 1379238405Sjkim movl -80(%edi),%ecx 1380238405Sjkim movl -76(%edi),%edx 1381238405Sjkim movl -72(%edi),%eax 1382238405Sjkim movl -68(%edi),%ebx 1383238405Sjkim movl %ecx,%ebp 1384238405Sjkim shll $15,%ecx 1385238405Sjkim movl %edx,%esi 1386238405Sjkim shrl $17,%esi 1387238405Sjkim shll $15,%edx 1388238405Sjkim orl %esi,%ecx 1389238405Sjkim movl %eax,%esi 1390238405Sjkim shll $15,%eax 1391238405Sjkim movl %ecx,-80(%edi) 1392238405Sjkim shrl $17,%esi 1393238405Sjkim orl %esi,%edx 1394238405Sjkim shrl $17,%ebp 1395238405Sjkim movl %ebx,%esi 1396238405Sjkim shrl $17,%esi 1397238405Sjkim movl %edx,-76(%edi) 1398238405Sjkim shll $15,%ebx 1399238405Sjkim orl %esi,%eax 1400238405Sjkim orl %ebp,%ebx 1401238405Sjkim movl %eax,-72(%edi) 1402238405Sjkim movl %ebx,-68(%edi) 1403238405Sjkim movl %ecx,%ebp 1404238405Sjkim shll $30,%ecx 1405238405Sjkim movl %edx,%esi 1406238405Sjkim shrl $2,%esi 1407238405Sjkim shll $30,%edx 1408238405Sjkim orl %esi,%ecx 1409238405Sjkim movl %eax,%esi 1410238405Sjkim shll $30,%eax 1411238405Sjkim movl %ecx,-16(%edi) 1412238405Sjkim shrl $2,%esi 1413238405Sjkim orl %esi,%edx 1414238405Sjkim shrl $2,%ebp 1415238405Sjkim movl %ebx,%esi 1416238405Sjkim shrl $2,%esi 1417238405Sjkim movl %edx,-12(%edi) 1418238405Sjkim shll $30,%ebx 1419238405Sjkim orl %esi,%eax 1420238405Sjkim orl %ebp,%ebx 1421238405Sjkim movl %eax,-8(%edi) 1422238405Sjkim movl %ebx,-4(%edi) 1423238405Sjkim movl %edx,64(%edi) 1424238405Sjkim movl %eax,68(%edi) 1425238405Sjkim movl %ebx,72(%edi) 1426238405Sjkim movl %ecx,76(%edi) 1427238405Sjkim movl %edx,%ebp 1428238405Sjkim shll $17,%edx 1429238405Sjkim movl %eax,%esi 1430238405Sjkim shrl $15,%esi 1431238405Sjkim shll $17,%eax 1432238405Sjkim orl %esi,%edx 1433238405Sjkim movl %ebx,%esi 1434238405Sjkim shll $17,%ebx 1435238405Sjkim movl %edx,96(%edi) 1436238405Sjkim shrl $15,%esi 1437238405Sjkim orl %esi,%eax 1438238405Sjkim shrl $15,%ebp 1439238405Sjkim movl %ecx,%esi 1440238405Sjkim shrl $15,%esi 1441238405Sjkim movl %eax,100(%edi) 1442238405Sjkim shll $17,%ecx 1443238405Sjkim orl %esi,%ebx 1444238405Sjkim orl %ebp,%ecx 1445238405Sjkim movl %ebx,104(%edi) 1446238405Sjkim movl %ecx,108(%edi) 1447238405Sjkim movl -128(%edi),%edx 1448238405Sjkim movl -124(%edi),%eax 1449238405Sjkim movl -120(%edi),%ebx 1450238405Sjkim movl -116(%edi),%ecx 1451238405Sjkim movl %eax,%ebp 1452238405Sjkim shll $13,%eax 1453238405Sjkim movl %ebx,%esi 1454238405Sjkim shrl $19,%esi 1455238405Sjkim shll $13,%ebx 1456238405Sjkim orl %esi,%eax 1457238405Sjkim movl %ecx,%esi 1458238405Sjkim shll $13,%ecx 1459238405Sjkim movl %eax,-32(%edi) 1460238405Sjkim shrl $19,%esi 1461238405Sjkim orl %esi,%ebx 1462238405Sjkim shrl $19,%ebp 1463238405Sjkim movl %edx,%esi 1464238405Sjkim shrl $19,%esi 1465238405Sjkim movl %ebx,-28(%edi) 1466238405Sjkim shll $13,%edx 1467238405Sjkim orl %esi,%ecx 1468238405Sjkim orl %ebp,%edx 1469238405Sjkim movl %ecx,-24(%edi) 1470238405Sjkim movl %edx,-20(%edi) 1471238405Sjkim movl %eax,%ebp 1472238405Sjkim shll $15,%eax 1473238405Sjkim movl %ebx,%esi 1474238405Sjkim shrl $17,%esi 1475238405Sjkim shll $15,%ebx 1476238405Sjkim orl %esi,%eax 1477238405Sjkim movl %ecx,%esi 1478238405Sjkim shll $15,%ecx 1479238405Sjkim movl %eax,(%edi) 1480238405Sjkim shrl $17,%esi 1481238405Sjkim orl %esi,%ebx 1482238405Sjkim shrl $17,%ebp 1483238405Sjkim movl %edx,%esi 1484238405Sjkim shrl $17,%esi 1485238405Sjkim movl %ebx,4(%edi) 1486238405Sjkim shll $15,%edx 1487238405Sjkim orl %esi,%ecx 1488238405Sjkim orl %ebp,%edx 1489238405Sjkim movl %ecx,8(%edi) 1490238405Sjkim movl %edx,12(%edi) 1491238405Sjkim movl %eax,%ebp 1492238405Sjkim shll $17,%eax 1493238405Sjkim movl %ebx,%esi 1494238405Sjkim shrl $15,%esi 1495238405Sjkim shll $17,%ebx 1496238405Sjkim orl %esi,%eax 1497238405Sjkim movl %ecx,%esi 1498238405Sjkim shll $17,%ecx 1499238405Sjkim movl %eax,48(%edi) 1500238405Sjkim shrl $15,%esi 1501238405Sjkim orl %esi,%ebx 1502238405Sjkim shrl $15,%ebp 1503238405Sjkim movl %edx,%esi 1504238405Sjkim shrl $15,%esi 1505238405Sjkim movl %ebx,52(%edi) 1506238405Sjkim shll $17,%edx 1507238405Sjkim orl %esi,%ecx 1508238405Sjkim orl %ebp,%edx 1509238405Sjkim movl %ecx,56(%edi) 1510238405Sjkim movl %edx,60(%edi) 1511238405Sjkim movl %ebx,%ebp 1512238405Sjkim shll $2,%ebx 1513238405Sjkim movl %ecx,%esi 1514238405Sjkim shrl $30,%esi 1515238405Sjkim shll $2,%ecx 1516238405Sjkim orl %esi,%ebx 1517238405Sjkim movl %edx,%esi 1518238405Sjkim shll $2,%edx 1519238405Sjkim movl %ebx,112(%edi) 1520238405Sjkim shrl $30,%esi 1521238405Sjkim orl %esi,%ecx 1522238405Sjkim shrl $30,%ebp 1523238405Sjkim movl %eax,%esi 1524238405Sjkim shrl $30,%esi 1525238405Sjkim movl %ecx,116(%edi) 1526238405Sjkim shll $2,%eax 1527238405Sjkim orl %esi,%edx 1528238405Sjkim orl %ebp,%eax 1529238405Sjkim movl %edx,120(%edi) 1530238405Sjkim movl %eax,124(%edi) 1531238405Sjkim movl $4,%eax 1532238405Sjkim.L013done: 1533238405Sjkim leal 144(%edi),%edx 1534238405Sjkim addl $16,%esp 1535238405Sjkim popl %edi 1536238405Sjkim popl %esi 1537238405Sjkim popl %ebx 1538238405Sjkim popl %ebp 1539238405Sjkim ret 1540238405Sjkim.size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin 1541238405Sjkim.globl private_Camellia_set_key 1542238405Sjkim.type private_Camellia_set_key,@function 1543238405Sjkim.align 16 1544238405Sjkimprivate_Camellia_set_key: 1545238405Sjkim.L_private_Camellia_set_key_begin: 1546238405Sjkim pushl %ebx 1547238405Sjkim movl 8(%esp),%ecx 1548238405Sjkim movl 12(%esp),%ebx 1549238405Sjkim movl 16(%esp),%edx 1550238405Sjkim movl $-1,%eax 1551238405Sjkim testl %ecx,%ecx 1552238405Sjkim jz .L014done 1553238405Sjkim testl %edx,%edx 1554238405Sjkim jz .L014done 1555238405Sjkim movl $-2,%eax 1556238405Sjkim cmpl $256,%ebx 1557238405Sjkim je .L015arg_ok 1558238405Sjkim cmpl $192,%ebx 1559238405Sjkim je .L015arg_ok 1560238405Sjkim cmpl $128,%ebx 1561238405Sjkim jne .L014done 1562238405Sjkim.align 4 1563238405Sjkim.L015arg_ok: 1564238405Sjkim pushl %edx 1565238405Sjkim pushl %ecx 1566238405Sjkim pushl %ebx 1567238405Sjkim call .L_Camellia_Ekeygen_begin 1568238405Sjkim addl $12,%esp 1569238405Sjkim movl %eax,(%edx) 1570238405Sjkim xorl %eax,%eax 1571238405Sjkim.align 4 1572238405Sjkim.L014done: 1573238405Sjkim popl %ebx 1574238405Sjkim ret 1575238405Sjkim.size private_Camellia_set_key,.-.L_private_Camellia_set_key_begin 1576238405Sjkim.align 64 1577238405Sjkim.LCamellia_SIGMA: 1578238405Sjkim.long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0 1579238405Sjkim.align 64 1580238405Sjkim.LCamellia_SBOX: 1581238405Sjkim.long 1886416896,1886388336 1582238405Sjkim.long 2189591040,741081132 1583238405Sjkim.long 741092352,3014852787 1584238405Sjkim.long 3974949888,3233808576 1585238405Sjkim.long 3014898432,3840147684 1586238405Sjkim.long 656877312,1465319511 1587238405Sjkim.long 3233857536,3941204202 1588238405Sjkim.long 3857048832,2930639022 1589238405Sjkim.long 3840205824,589496355 1590238405Sjkim.long 2240120064,1802174571 1591238405Sjkim.long 1465341696,1162149957 1592238405Sjkim.long 892679424,2779054245 1593238405Sjkim.long 3941263872,3991732461 1594238405Sjkim.long 202116096,1330577487 1595238405Sjkim.long 2930683392,488439837 1596238405Sjkim.long 1094795520,2459041938 1597238405Sjkim.long 589505280,2256928902 1598238405Sjkim.long 4025478912,2947481775 1599238405Sjkim.long 1802201856,2088501372 1600238405Sjkim.long 2475922176,522125343 1601238405Sjkim.long 1162167552,1044250686 1602238405Sjkim.long 421075200,3705405660 1603238405Sjkim.long 2779096320,1583218782 1604238405Sjkim.long 555819264,185270283 1605238405Sjkim.long 3991792896,2795896998 1606238405Sjkim.long 235802112,960036921 1607238405Sjkim.long 1330597632,3587506389 1608238405Sjkim.long 1313754624,1566376029 1609238405Sjkim.long 488447232,3654877401 1610238405Sjkim.long 1701143808,1515847770 1611238405Sjkim.long 2459079168,1364262993 1612238405Sjkim.long 3183328512,1819017324 1613238405Sjkim.long 2256963072,2341142667 1614238405Sjkim.long 3099113472,2593783962 1615238405Sjkim.long 2947526400,4227531003 1616238405Sjkim.long 2408550144,2964324528 1617238405Sjkim.long 2088532992,1953759348 1618238405Sjkim.long 3958106880,724238379 1619238405Sjkim.long 522133248,4042260720 1620238405Sjkim.long 3469659648,2223243396 1621238405Sjkim.long 1044266496,3755933919 1622238405Sjkim.long 808464384,3419078859 1623238405Sjkim.long 3705461760,875823156 1624238405Sjkim.long 1600085760,1987444854 1625238405Sjkim.long 1583242752,1835860077 1626238405Sjkim.long 3318072576,2846425257 1627238405Sjkim.long 185273088,3520135377 1628238405Sjkim.long 437918208,67371012 1629238405Sjkim.long 2795939328,336855060 1630238405Sjkim.long 3789676800,976879674 1631238405Sjkim.long 960051456,3739091166 1632238405Sjkim.long 3402287616,286326801 1633238405Sjkim.long 3587560704,842137650 1634238405Sjkim.long 1195853568,2627469468 1635238405Sjkim.long 1566399744,1397948499 1636238405Sjkim.long 1027423488,4075946226 1637238405Sjkim.long 3654932736,4278059262 1638238405Sjkim.long 16843008,3486449871 1639238405Sjkim.long 1515870720,3284336835 1640238405Sjkim.long 3604403712,2054815866 1641238405Sjkim.long 1364283648,606339108 1642238405Sjkim.long 1448498688,3907518696 1643238405Sjkim.long 1819044864,1616904288 1644238405Sjkim.long 1296911616,1768489065 1645238405Sjkim.long 2341178112,2863268010 1646238405Sjkim.long 218959104,2694840480 1647238405Sjkim.long 2593823232,2711683233 1648238405Sjkim.long 1717986816,1650589794 1649238405Sjkim.long 4227595008,1414791252 1650238405Sjkim.long 3435973632,505282590 1651238405Sjkim.long 2964369408,3772776672 1652238405Sjkim.long 757935360,1684275300 1653238405Sjkim.long 1953788928,269484048 1654238405Sjkim.long 303174144,0 1655238405Sjkim.long 724249344,2745368739 1656238405Sjkim.long 538976256,1970602101 1657238405Sjkim.long 4042321920,2324299914 1658238405Sjkim.long 2981212416,3873833190 1659238405Sjkim.long 2223277056,151584777 1660238405Sjkim.long 2576980224,3722248413 1661238405Sjkim.long 3755990784,2273771655 1662238405Sjkim.long 1280068608,2206400643 1663238405Sjkim.long 3419130624,3452764365 1664238405Sjkim.long 3267543552,2425356432 1665238405Sjkim.long 875836416,1936916595 1666238405Sjkim.long 2122219008,4143317238 1667238405Sjkim.long 1987474944,2644312221 1668238405Sjkim.long 84215040,3216965823 1669238405Sjkim.long 1835887872,1381105746 1670238405Sjkim.long 3082270464,3638034648 1671238405Sjkim.long 2846468352,3368550600 1672238405Sjkim.long 825307392,3334865094 1673238405Sjkim.long 3520188672,2172715137 1674238405Sjkim.long 387389184,1869545583 1675238405Sjkim.long 67372032,320012307 1676238405Sjkim.long 3621246720,1667432547 1677238405Sjkim.long 336860160,3924361449 1678238405Sjkim.long 1482184704,2812739751 1679238405Sjkim.long 976894464,2677997727 1680238405Sjkim.long 1633771776,3166437564 1681238405Sjkim.long 3739147776,690552873 1682238405Sjkim.long 454761216,4193845497 1683238405Sjkim.long 286331136,791609391 1684238405Sjkim.long 471604224,3031695540 1685238405Sjkim.long 842150400,2021130360 1686238405Sjkim.long 252645120,101056518 1687238405Sjkim.long 2627509248,3890675943 1688238405Sjkim.long 370546176,1903231089 1689238405Sjkim.long 1397969664,3570663636 1690238405Sjkim.long 404232192,2880110763 1691238405Sjkim.long 4076007936,2290614408 1692238405Sjkim.long 572662272,2374828173 1693238405Sjkim.long 4278124032,1920073842 1694238405Sjkim.long 1145324544,3115909305 1695238405Sjkim.long 3486502656,4177002744 1696238405Sjkim.long 2998055424,2896953516 1697238405Sjkim.long 3284386560,909508662 1698238405Sjkim.long 3048584448,707395626 1699238405Sjkim.long 2054846976,1010565180 1700238405Sjkim.long 2442236160,4059103473 1701238405Sjkim.long 606348288,1077936192 1702238405Sjkim.long 134744064,3553820883 1703238405Sjkim.long 3907577856,3149594811 1704238405Sjkim.long 2829625344,1128464451 1705238405Sjkim.long 1616928768,353697813 1706238405Sjkim.long 4244438016,2913796269 1707238405Sjkim.long 1768515840,2004287607 1708238405Sjkim.long 1347440640,2155872384 1709238405Sjkim.long 2863311360,2189557890 1710238405Sjkim.long 3503345664,3974889708 1711238405Sjkim.long 2694881280,656867367 1712238405Sjkim.long 2105376000,3856990437 1713238405Sjkim.long 2711724288,2240086149 1714238405Sjkim.long 2307492096,892665909 1715238405Sjkim.long 1650614784,202113036 1716238405Sjkim.long 2543294208,1094778945 1717238405Sjkim.long 1414812672,4025417967 1718238405Sjkim.long 1532713728,2475884691 1719238405Sjkim.long 505290240,421068825 1720238405Sjkim.long 2509608192,555810849 1721238405Sjkim.long 3772833792,235798542 1722238405Sjkim.long 4294967040,1313734734 1723238405Sjkim.long 1684300800,1701118053 1724238405Sjkim.long 3537031680,3183280317 1725238405Sjkim.long 269488128,3099066552 1726238405Sjkim.long 3301229568,2408513679 1727238405Sjkim.long 0,3958046955 1728238405Sjkim.long 1212696576,3469607118 1729238405Sjkim.long 2745410304,808452144 1730238405Sjkim.long 4160222976,1600061535 1731238405Sjkim.long 1970631936,3318022341 1732238405Sjkim.long 3688618752,437911578 1733238405Sjkim.long 2324335104,3789619425 1734238405Sjkim.long 50529024,3402236106 1735238405Sjkim.long 3873891840,1195835463 1736238405Sjkim.long 3671775744,1027407933 1737238405Sjkim.long 151587072,16842753 1738238405Sjkim.long 1061109504,3604349142 1739238405Sjkim.long 3722304768,1448476758 1740238405Sjkim.long 2492765184,1296891981 1741238405Sjkim.long 2273806080,218955789 1742238405Sjkim.long 1549556736,1717960806 1743238405Sjkim.long 2206434048,3435921612 1744238405Sjkim.long 33686016,757923885 1745238405Sjkim.long 3452816640,303169554 1746238405Sjkim.long 1246382592,538968096 1747238405Sjkim.long 2425393152,2981167281 1748238405Sjkim.long 858993408,2576941209 1749238405Sjkim.long 1936945920,1280049228 1750238405Sjkim.long 1734829824,3267494082 1751238405Sjkim.long 4143379968,2122186878 1752238405Sjkim.long 4092850944,84213765 1753238405Sjkim.long 2644352256,3082223799 1754238405Sjkim.long 2139062016,825294897 1755238405Sjkim.long 3217014528,387383319 1756238405Sjkim.long 3806519808,3621191895 1757238405Sjkim.long 1381126656,1482162264 1758238405Sjkim.long 2610666240,1633747041 1759238405Sjkim.long 3638089728,454754331 1760238405Sjkim.long 640034304,471597084 1761238405Sjkim.long 3368601600,252641295 1762238405Sjkim.long 926365440,370540566 1763238405Sjkim.long 3334915584,404226072 1764238405Sjkim.long 993737472,572653602 1765238405Sjkim.long 2172748032,1145307204 1766238405Sjkim.long 2526451200,2998010034 1767238405Sjkim.long 1869573888,3048538293 1768238405Sjkim.long 1263225600,2442199185 1769238405Sjkim.long 320017152,134742024 1770238405Sjkim.long 3200171520,2829582504 1771238405Sjkim.long 1667457792,4244373756 1772238405Sjkim.long 774778368,1347420240 1773238405Sjkim.long 3924420864,3503292624 1774238405Sjkim.long 2038003968,2105344125 1775238405Sjkim.long 2812782336,2307457161 1776238405Sjkim.long 2358021120,2543255703 1777238405Sjkim.long 2678038272,1532690523 1778238405Sjkim.long 1852730880,2509570197 1779238405Sjkim.long 3166485504,4294902015 1780238405Sjkim.long 2391707136,3536978130 1781238405Sjkim.long 690563328,3301179588 1782238405Sjkim.long 4126536960,1212678216 1783238405Sjkim.long 4193908992,4160159991 1784238405Sjkim.long 3065427456,3688562907 1785238405Sjkim.long 791621376,50528259 1786238405Sjkim.long 4261281024,3671720154 1787238405Sjkim.long 3031741440,1061093439 1788238405Sjkim.long 1499027712,2492727444 1789238405Sjkim.long 2021160960,1549533276 1790238405Sjkim.long 2560137216,33685506 1791238405Sjkim.long 101058048,1246363722 1792238405Sjkim.long 1785358848,858980403 1793238405Sjkim.long 3890734848,1734803559 1794238405Sjkim.long 1179010560,4092788979 1795238405Sjkim.long 1903259904,2139029631 1796238405Sjkim.long 3132799488,3806462178 1797238405Sjkim.long 3570717696,2610626715 1798238405Sjkim.long 623191296,640024614 1799238405Sjkim.long 2880154368,926351415 1800238405Sjkim.long 1111638528,993722427 1801238405Sjkim.long 2290649088,2526412950 1802238405Sjkim.long 2728567296,1263206475 1803238405Sjkim.long 2374864128,3200123070 1804238405Sjkim.long 4210752000,774766638 1805238405Sjkim.long 1920102912,2037973113 1806238405Sjkim.long 117901056,2357985420 1807238405Sjkim.long 3115956480,1852702830 1808238405Sjkim.long 1431655680,2391670926 1809238405Sjkim.long 4177065984,4126474485 1810238405Sjkim.long 4008635904,3065381046 1811238405Sjkim.long 2896997376,4261216509 1812238405Sjkim.long 168430080,1499005017 1813238405Sjkim.long 909522432,2560098456 1814238405Sjkim.long 1229539584,1785331818 1815238405Sjkim.long 707406336,1178992710 1816238405Sjkim.long 1751672832,3132752058 1817238405Sjkim.long 1010580480,623181861 1818238405Sjkim.long 943208448,1111621698 1819238405Sjkim.long 4059164928,2728525986 1820238405Sjkim.long 2762253312,4210688250 1821238405Sjkim.long 1077952512,117899271 1822238405Sjkim.long 673720320,1431634005 1823238405Sjkim.long 3553874688,4008575214 1824238405Sjkim.long 2071689984,168427530 1825238405Sjkim.long 3149642496,1229520969 1826238405Sjkim.long 3385444608,1751646312 1827238405Sjkim.long 1128481536,943194168 1828238405Sjkim.long 3250700544,2762211492 1829238405Sjkim.long 353703168,673710120 1830238405Sjkim.long 3823362816,2071658619 1831238405Sjkim.long 2913840384,3385393353 1832238405Sjkim.long 4109693952,3250651329 1833238405Sjkim.long 2004317952,3823304931 1834238405Sjkim.long 3351758592,4109631732 1835238405Sjkim.long 2155905024,3351707847 1836238405Sjkim.long 2661195264,2661154974 1837238405Sjkim.long 14737632,939538488 1838238405Sjkim.long 328965,1090535745 1839238405Sjkim.long 5789784,369104406 1840238405Sjkim.long 14277081,1979741814 1841238405Sjkim.long 6776679,3640711641 1842238405Sjkim.long 5131854,2466288531 1843238405Sjkim.long 8487297,1610637408 1844238405Sjkim.long 13355979,4060148466 1845238405Sjkim.long 13224393,1912631922 1846238405Sjkim.long 723723,3254829762 1847238405Sjkim.long 11447982,2868947883 1848238405Sjkim.long 6974058,2583730842 1849238405Sjkim.long 14013909,1962964341 1850238405Sjkim.long 1579032,100664838 1851238405Sjkim.long 6118749,1459640151 1852238405Sjkim.long 8553090,2684395680 1853238405Sjkim.long 4605510,2432733585 1854238405Sjkim.long 14671839,4144035831 1855238405Sjkim.long 14079702,3036722613 1856238405Sjkim.long 2565927,3372272073 1857238405Sjkim.long 9079434,2717950626 1858238405Sjkim.long 3289650,2348846220 1859238405Sjkim.long 4934475,3523269330 1860238405Sjkim.long 4342338,2415956112 1861238405Sjkim.long 14408667,4127258358 1862238405Sjkim.long 1842204,117442311 1863238405Sjkim.long 10395294,2801837991 1864238405Sjkim.long 10263708,654321447 1865238405Sjkim.long 3815994,2382401166 1866238405Sjkim.long 13290186,2986390194 1867238405Sjkim.long 2434341,1224755529 1868238405Sjkim.long 8092539,3724599006 1869238405Sjkim.long 855309,1124090691 1870238405Sjkim.long 7434609,1543527516 1871238405Sjkim.long 6250335,3607156695 1872238405Sjkim.long 2039583,3338717127 1873238405Sjkim.long 16316664,1040203326 1874238405Sjkim.long 14145495,4110480885 1875238405Sjkim.long 4079166,2399178639 1876238405Sjkim.long 10329501,1728079719 1877238405Sjkim.long 8158332,520101663 1878238405Sjkim.long 6316128,402659352 1879238405Sjkim.long 12171705,1845522030 1880238405Sjkim.long 12500670,2936057775 1881238405Sjkim.long 12369084,788541231 1882238405Sjkim.long 9145227,3791708898 1883238405Sjkim.long 1447446,2231403909 1884238405Sjkim.long 3421236,218107149 1885238405Sjkim.long 5066061,1392530259 1886238405Sjkim.long 12829635,4026593520 1887238405Sjkim.long 7500402,2617285788 1888238405Sjkim.long 9803157,1694524773 1889238405Sjkim.long 11250603,3925928682 1890238405Sjkim.long 9342606,2734728099 1891238405Sjkim.long 12237498,2919280302 1892238405Sjkim.long 8026746,2650840734 1893238405Sjkim.long 11776947,3959483628 1894238405Sjkim.long 131586,2147516544 1895238405Sjkim.long 11842740,754986285 1896238405Sjkim.long 11382189,1795189611 1897238405Sjkim.long 10658466,2818615464 1898238405Sjkim.long 11316396,721431339 1899238405Sjkim.long 14211288,905983542 1900238405Sjkim.long 10132122,2785060518 1901238405Sjkim.long 1513239,3305162181 1902238405Sjkim.long 1710618,2248181382 1903238405Sjkim.long 3487029,1291865421 1904238405Sjkim.long 13421772,855651123 1905238405Sjkim.long 16250871,4244700669 1906238405Sjkim.long 10066329,1711302246 1907238405Sjkim.long 6381921,1476417624 1908238405Sjkim.long 5921370,2516620950 1909238405Sjkim.long 15263976,973093434 1910238405Sjkim.long 2368548,150997257 1911238405Sjkim.long 5658198,2499843477 1912238405Sjkim.long 4210752,268439568 1913238405Sjkim.long 14803425,2013296760 1914238405Sjkim.long 6513507,3623934168 1915238405Sjkim.long 592137,1107313218 1916238405Sjkim.long 3355443,3422604492 1917238405Sjkim.long 12566463,4009816047 1918238405Sjkim.long 10000536,637543974 1919238405Sjkim.long 9934743,3842041317 1920238405Sjkim.long 8750469,1627414881 1921238405Sjkim.long 6842472,436214298 1922238405Sjkim.long 16579836,1056980799 1923238405Sjkim.long 15527148,989870907 1924238405Sjkim.long 657930,2181071490 1925238405Sjkim.long 14342874,3053500086 1926238405Sjkim.long 7303023,3674266587 1927238405Sjkim.long 5460819,3556824276 1928238405Sjkim.long 6447714,2550175896 1929238405Sjkim.long 10724259,3892373736 1930238405Sjkim.long 3026478,2332068747 1931238405Sjkim.long 526344,33554946 1932238405Sjkim.long 11513775,3942706155 1933238405Sjkim.long 2631720,167774730 1934238405Sjkim.long 11579568,738208812 1935238405Sjkim.long 7631988,486546717 1936238405Sjkim.long 12763842,2952835248 1937238405Sjkim.long 12434877,1862299503 1938238405Sjkim.long 3552822,2365623693 1939238405Sjkim.long 2236962,2281736328 1940238405Sjkim.long 3684408,234884622 1941238405Sjkim.long 6579300,419436825 1942238405Sjkim.long 1973790,2264958855 1943238405Sjkim.long 3750201,1308642894 1944238405Sjkim.long 2894892,184552203 1945238405Sjkim.long 10921638,2835392937 1946238405Sjkim.long 3158064,201329676 1947238405Sjkim.long 15066597,2030074233 1948238405Sjkim.long 4473924,285217041 1949238405Sjkim.long 16645629,2130739071 1950238405Sjkim.long 8947848,570434082 1951238405Sjkim.long 10461087,3875596263 1952238405Sjkim.long 6645093,1493195097 1953238405Sjkim.long 8882055,3774931425 1954238405Sjkim.long 7039851,3657489114 1955238405Sjkim.long 16053492,1023425853 1956238405Sjkim.long 2302755,3355494600 1957238405Sjkim.long 4737096,301994514 1958238405Sjkim.long 1052688,67109892 1959238405Sjkim.long 13750737,1946186868 1960238405Sjkim.long 5329233,1409307732 1961238405Sjkim.long 12632256,805318704 1962238405Sjkim.long 16382457,2113961598 1963238405Sjkim.long 13816530,3019945140 1964238405Sjkim.long 10526880,671098920 1965238405Sjkim.long 5592405,1426085205 1966238405Sjkim.long 10592673,1744857192 1967238405Sjkim.long 4276545,1342197840 1968238405Sjkim.long 16448250,3187719870 1969238405Sjkim.long 4408131,3489714384 1970238405Sjkim.long 1250067,3288384708 1971238405Sjkim.long 12895428,822096177 1972238405Sjkim.long 3092271,3405827019 1973238405Sjkim.long 11053224,704653866 1974238405Sjkim.long 11974326,2902502829 1975238405Sjkim.long 3947580,251662095 1976238405Sjkim.long 2829099,3389049546 1977238405Sjkim.long 12698049,1879076976 1978238405Sjkim.long 16777215,4278255615 1979238405Sjkim.long 13158600,838873650 1980238405Sjkim.long 10855845,1761634665 1981238405Sjkim.long 2105376,134219784 1982238405Sjkim.long 9013641,1644192354 1983238405Sjkim.long 0,0 1984238405Sjkim.long 9474192,603989028 1985238405Sjkim.long 4671303,3506491857 1986238405Sjkim.long 15724527,4211145723 1987238405Sjkim.long 15395562,3120609978 1988238405Sjkim.long 12040119,3976261101 1989238405Sjkim.long 1381653,1157645637 1990238405Sjkim.long 394758,2164294017 1991238405Sjkim.long 13487565,1929409395 1992238405Sjkim.long 11908533,1828744557 1993238405Sjkim.long 1184274,2214626436 1994238405Sjkim.long 8289918,2667618207 1995238405Sjkim.long 12303291,3993038574 1996238405Sjkim.long 2697513,1241533002 1997238405Sjkim.long 986895,3271607235 1998238405Sjkim.long 12105912,771763758 1999238405Sjkim.long 460551,3238052289 2000238405Sjkim.long 263172,16777473 2001238405Sjkim.long 10197915,3858818790 2002238405Sjkim.long 9737364,620766501 2003238405Sjkim.long 2171169,1207978056 2004238405Sjkim.long 6710886,2566953369 2005238405Sjkim.long 15132390,3103832505 2006238405Sjkim.long 13553358,3003167667 2007238405Sjkim.long 15592941,2063629179 2008238405Sjkim.long 15198183,4177590777 2009238405Sjkim.long 3881787,3456159438 2010238405Sjkim.long 16711422,3204497343 2011238405Sjkim.long 8355711,3741376479 2012238405Sjkim.long 12961221,1895854449 2013238405Sjkim.long 10790052,687876393 2014238405Sjkim.long 3618615,3439381965 2015238405Sjkim.long 11645361,1811967084 2016238405Sjkim.long 5000268,318771987 2017238405Sjkim.long 9539985,1677747300 2018238405Sjkim.long 7237230,2600508315 2019238405Sjkim.long 9276813,1660969827 2020238405Sjkim.long 7763574,2634063261 2021238405Sjkim.long 197379,3221274816 2022238405Sjkim.long 2960685,1258310475 2023238405Sjkim.long 14606046,3070277559 2024238405Sjkim.long 9868950,2768283045 2025238405Sjkim.long 2500134,2298513801 2026238405Sjkim.long 8224125,1593859935 2027238405Sjkim.long 13027014,2969612721 2028238405Sjkim.long 6052956,385881879 2029238405Sjkim.long 13882323,4093703412 2030238405Sjkim.long 15921906,3154164924 2031238405Sjkim.long 5197647,3540046803 2032238405Sjkim.long 1644825,1174423110 2033238405Sjkim.long 4144959,3472936911 2034238405Sjkim.long 14474460,922761015 2035238405Sjkim.long 7960953,1577082462 2036238405Sjkim.long 1907997,1191200583 2037238405Sjkim.long 5395026,2483066004 2038238405Sjkim.long 15461355,4194368250 2039238405Sjkim.long 15987699,4227923196 2040238405Sjkim.long 7171437,1526750043 2041238405Sjkim.long 6184542,2533398423 2042238405Sjkim.long 16514043,4261478142 2043238405Sjkim.long 6908265,1509972570 2044238405Sjkim.long 11711154,2885725356 2045238405Sjkim.long 15790320,1006648380 2046238405Sjkim.long 3223857,1275087948 2047238405Sjkim.long 789516,50332419 2048238405Sjkim.long 13948116,889206069 2049238405Sjkim.long 13619151,4076925939 2050238405Sjkim.long 9211020,587211555 2051238405Sjkim.long 14869218,3087055032 2052238405Sjkim.long 7697781,1560304989 2053238405Sjkim.long 11119017,1778412138 2054238405Sjkim.long 4868682,2449511058 2055238405Sjkim.long 5723991,3573601749 2056238405Sjkim.long 8684676,553656609 2057238405Sjkim.long 1118481,1140868164 2058238405Sjkim.long 4539717,1358975313 2059238405Sjkim.long 1776411,3321939654 2060238405Sjkim.long 16119285,2097184125 2061238405Sjkim.long 15000804,956315961 2062238405Sjkim.long 921102,2197848963 2063238405Sjkim.long 7566195,3691044060 2064238405Sjkim.long 11184810,2852170410 2065238405Sjkim.long 15856113,2080406652 2066238405Sjkim.long 14540253,1996519287 2067238405Sjkim.long 5855577,1442862678 2068238405Sjkim.long 1315860,83887365 2069238405Sjkim.long 7105644,452991771 2070238405Sjkim.long 9605778,2751505572 2071238405Sjkim.long 5526612,352326933 2072238405Sjkim.long 13684944,872428596 2073238405Sjkim.long 7895160,503324190 2074238405Sjkim.long 7368816,469769244 2075238405Sjkim.long 14935011,4160813304 2076238405Sjkim.long 4802889,1375752786 2077238405Sjkim.long 8421504,536879136 2078238405Sjkim.long 5263440,335549460 2079238405Sjkim.long 10987431,3909151209 2080238405Sjkim.long 16185078,3170942397 2081238405Sjkim.long 7829367,3707821533 2082238405Sjkim.long 9671571,3825263844 2083238405Sjkim.long 8816262,2701173153 2084238405Sjkim.long 8618883,3758153952 2085238405Sjkim.long 2763306,2315291274 2086238405Sjkim.long 13092807,4043370993 2087238405Sjkim.long 5987163,3590379222 2088238405Sjkim.long 15329769,2046851706 2089238405Sjkim.long 15658734,3137387451 2090238405Sjkim.long 9408399,3808486371 2091238405Sjkim.long 65793,1073758272 2092238405Sjkim.long 4013373,1325420367 2093238405Sjkim.globl Camellia_cbc_encrypt 2094238405Sjkim.type Camellia_cbc_encrypt,@function 2095238405Sjkim.align 16 2096238405SjkimCamellia_cbc_encrypt: 2097238405Sjkim.L_Camellia_cbc_encrypt_begin: 2098238405Sjkim pushl %ebp 2099238405Sjkim pushl %ebx 2100238405Sjkim pushl %esi 2101238405Sjkim pushl %edi 2102238405Sjkim movl 28(%esp),%ecx 2103238405Sjkim cmpl $0,%ecx 2104238405Sjkim je .L016enc_out 2105238405Sjkim pushfl 2106238405Sjkim cld 2107238405Sjkim movl 24(%esp),%eax 2108238405Sjkim movl 28(%esp),%ebx 2109238405Sjkim movl 36(%esp),%edx 2110238405Sjkim movl 40(%esp),%ebp 2111238405Sjkim leal -64(%esp),%esi 2112238405Sjkim andl $-64,%esi 2113238405Sjkim leal -127(%edx),%edi 2114238405Sjkim subl %esi,%edi 2115238405Sjkim negl %edi 2116238405Sjkim andl $960,%edi 2117238405Sjkim subl %edi,%esi 2118238405Sjkim movl 44(%esp),%edi 2119238405Sjkim xchgl %esi,%esp 2120238405Sjkim addl $4,%esp 2121238405Sjkim movl %esi,20(%esp) 2122238405Sjkim movl %eax,24(%esp) 2123238405Sjkim movl %ebx,28(%esp) 2124238405Sjkim movl %ecx,32(%esp) 2125238405Sjkim movl %edx,36(%esp) 2126238405Sjkim movl %ebp,40(%esp) 2127238405Sjkim call .L017pic_point 2128238405Sjkim.L017pic_point: 2129238405Sjkim popl %ebp 2130238405Sjkim leal .LCamellia_SBOX-.L017pic_point(%ebp),%ebp 2131238405Sjkim movl $32,%esi 2132238405Sjkim.align 4 2133238405Sjkim.L018prefetch_sbox: 2134238405Sjkim movl (%ebp),%eax 2135238405Sjkim movl 32(%ebp),%ebx 2136238405Sjkim movl 64(%ebp),%ecx 2137238405Sjkim movl 96(%ebp),%edx 2138238405Sjkim leal 128(%ebp),%ebp 2139238405Sjkim decl %esi 2140238405Sjkim jnz .L018prefetch_sbox 2141238405Sjkim movl 36(%esp),%eax 2142238405Sjkim subl $4096,%ebp 2143238405Sjkim movl 24(%esp),%esi 2144238405Sjkim movl 272(%eax),%edx 2145238405Sjkim cmpl $0,%edi 2146238405Sjkim je .L019DECRYPT 2147238405Sjkim movl 32(%esp),%ecx 2148238405Sjkim movl 40(%esp),%edi 2149238405Sjkim shll $6,%edx 2150238405Sjkim leal (%eax,%edx,1),%edx 2151238405Sjkim movl %edx,16(%esp) 2152238405Sjkim testl $4294967280,%ecx 2153238405Sjkim jz .L020enc_tail 2154238405Sjkim movl (%edi),%eax 2155238405Sjkim movl 4(%edi),%ebx 2156238405Sjkim.align 4 2157238405Sjkim.L021enc_loop: 2158238405Sjkim movl 8(%edi),%ecx 2159238405Sjkim movl 12(%edi),%edx 2160238405Sjkim xorl (%esi),%eax 2161238405Sjkim xorl 4(%esi),%ebx 2162238405Sjkim xorl 8(%esi),%ecx 2163238405Sjkim bswap %eax 2164238405Sjkim xorl 12(%esi),%edx 2165238405Sjkim bswap %ebx 2166238405Sjkim movl 36(%esp),%edi 2167238405Sjkim bswap %ecx 2168238405Sjkim bswap %edx 2169238405Sjkim call _x86_Camellia_encrypt 2170238405Sjkim movl 24(%esp),%esi 2171238405Sjkim movl 28(%esp),%edi 2172238405Sjkim bswap %eax 2173238405Sjkim bswap %ebx 2174238405Sjkim bswap %ecx 2175238405Sjkim movl %eax,(%edi) 2176238405Sjkim bswap %edx 2177238405Sjkim movl %ebx,4(%edi) 2178238405Sjkim movl %ecx,8(%edi) 2179238405Sjkim movl %edx,12(%edi) 2180238405Sjkim movl 32(%esp),%ecx 2181238405Sjkim leal 16(%esi),%esi 2182238405Sjkim movl %esi,24(%esp) 2183238405Sjkim leal 16(%edi),%edx 2184238405Sjkim movl %edx,28(%esp) 2185238405Sjkim subl $16,%ecx 2186238405Sjkim testl $4294967280,%ecx 2187238405Sjkim movl %ecx,32(%esp) 2188238405Sjkim jnz .L021enc_loop 2189238405Sjkim testl $15,%ecx 2190238405Sjkim jnz .L020enc_tail 2191238405Sjkim movl 40(%esp),%esi 2192238405Sjkim movl 8(%edi),%ecx 2193238405Sjkim movl 12(%edi),%edx 2194238405Sjkim movl %eax,(%esi) 2195238405Sjkim movl %ebx,4(%esi) 2196238405Sjkim movl %ecx,8(%esi) 2197238405Sjkim movl %edx,12(%esi) 2198238405Sjkim movl 20(%esp),%esp 2199238405Sjkim popfl 2200238405Sjkim.L016enc_out: 2201238405Sjkim popl %edi 2202238405Sjkim popl %esi 2203238405Sjkim popl %ebx 2204238405Sjkim popl %ebp 2205238405Sjkim ret 2206238405Sjkim pushfl 2207238405Sjkim.align 4 2208238405Sjkim.L020enc_tail: 2209238405Sjkim movl %edi,%eax 2210238405Sjkim movl 28(%esp),%edi 2211238405Sjkim pushl %eax 2212238405Sjkim movl $16,%ebx 2213238405Sjkim subl %ecx,%ebx 2214238405Sjkim cmpl %esi,%edi 2215238405Sjkim je .L022enc_in_place 2216238405Sjkim.align 4 2217238405Sjkim.long 2767451785 2218238405Sjkim jmp .L023enc_skip_in_place 2219238405Sjkim.L022enc_in_place: 2220238405Sjkim leal (%edi,%ecx,1),%edi 2221238405Sjkim.L023enc_skip_in_place: 2222238405Sjkim movl %ebx,%ecx 2223238405Sjkim xorl %eax,%eax 2224238405Sjkim.align 4 2225238405Sjkim.long 2868115081 2226238405Sjkim popl %edi 2227238405Sjkim movl 28(%esp),%esi 2228238405Sjkim movl (%edi),%eax 2229238405Sjkim movl 4(%edi),%ebx 2230238405Sjkim movl $16,32(%esp) 2231238405Sjkim jmp .L021enc_loop 2232238405Sjkim.align 16 2233238405Sjkim.L019DECRYPT: 2234238405Sjkim shll $6,%edx 2235238405Sjkim leal (%eax,%edx,1),%edx 2236238405Sjkim movl %eax,16(%esp) 2237238405Sjkim movl %edx,36(%esp) 2238238405Sjkim cmpl 28(%esp),%esi 2239238405Sjkim je .L024dec_in_place 2240238405Sjkim movl 40(%esp),%edi 2241238405Sjkim movl %edi,44(%esp) 2242238405Sjkim.align 4 2243238405Sjkim.L025dec_loop: 2244238405Sjkim movl (%esi),%eax 2245238405Sjkim movl 4(%esi),%ebx 2246238405Sjkim movl 8(%esi),%ecx 2247238405Sjkim bswap %eax 2248238405Sjkim movl 12(%esi),%edx 2249238405Sjkim bswap %ebx 2250238405Sjkim movl 36(%esp),%edi 2251238405Sjkim bswap %ecx 2252238405Sjkim bswap %edx 2253238405Sjkim call _x86_Camellia_decrypt 2254238405Sjkim movl 44(%esp),%edi 2255238405Sjkim movl 32(%esp),%esi 2256238405Sjkim bswap %eax 2257238405Sjkim bswap %ebx 2258238405Sjkim bswap %ecx 2259238405Sjkim xorl (%edi),%eax 2260238405Sjkim bswap %edx 2261238405Sjkim xorl 4(%edi),%ebx 2262238405Sjkim xorl 8(%edi),%ecx 2263238405Sjkim xorl 12(%edi),%edx 2264238405Sjkim subl $16,%esi 2265238405Sjkim jc .L026dec_partial 2266238405Sjkim movl %esi,32(%esp) 2267238405Sjkim movl 24(%esp),%esi 2268238405Sjkim movl 28(%esp),%edi 2269238405Sjkim movl %eax,(%edi) 2270238405Sjkim movl %ebx,4(%edi) 2271238405Sjkim movl %ecx,8(%edi) 2272238405Sjkim movl %edx,12(%edi) 2273238405Sjkim movl %esi,44(%esp) 2274238405Sjkim leal 16(%esi),%esi 2275238405Sjkim movl %esi,24(%esp) 2276238405Sjkim leal 16(%edi),%edi 2277238405Sjkim movl %edi,28(%esp) 2278238405Sjkim jnz .L025dec_loop 2279238405Sjkim movl 44(%esp),%edi 2280238405Sjkim.L027dec_end: 2281238405Sjkim movl 40(%esp),%esi 2282238405Sjkim movl (%edi),%eax 2283238405Sjkim movl 4(%edi),%ebx 2284238405Sjkim movl 8(%edi),%ecx 2285238405Sjkim movl 12(%edi),%edx 2286238405Sjkim movl %eax,(%esi) 2287238405Sjkim movl %ebx,4(%esi) 2288238405Sjkim movl %ecx,8(%esi) 2289238405Sjkim movl %edx,12(%esi) 2290238405Sjkim jmp .L028dec_out 2291238405Sjkim.align 4 2292238405Sjkim.L026dec_partial: 2293238405Sjkim leal 44(%esp),%edi 2294238405Sjkim movl %eax,(%edi) 2295238405Sjkim movl %ebx,4(%edi) 2296238405Sjkim movl %ecx,8(%edi) 2297238405Sjkim movl %edx,12(%edi) 2298238405Sjkim leal 16(%esi),%ecx 2299238405Sjkim movl %edi,%esi 2300238405Sjkim movl 28(%esp),%edi 2301238405Sjkim.long 2767451785 2302238405Sjkim movl 24(%esp),%edi 2303238405Sjkim jmp .L027dec_end 2304238405Sjkim.align 4 2305238405Sjkim.L024dec_in_place: 2306238405Sjkim.L029dec_in_place_loop: 2307238405Sjkim leal 44(%esp),%edi 2308238405Sjkim movl (%esi),%eax 2309238405Sjkim movl 4(%esi),%ebx 2310238405Sjkim movl 8(%esi),%ecx 2311238405Sjkim movl 12(%esi),%edx 2312238405Sjkim movl %eax,(%edi) 2313238405Sjkim movl %ebx,4(%edi) 2314238405Sjkim movl %ecx,8(%edi) 2315238405Sjkim bswap %eax 2316238405Sjkim movl %edx,12(%edi) 2317238405Sjkim bswap %ebx 2318238405Sjkim movl 36(%esp),%edi 2319238405Sjkim bswap %ecx 2320238405Sjkim bswap %edx 2321238405Sjkim call _x86_Camellia_decrypt 2322238405Sjkim movl 40(%esp),%edi 2323238405Sjkim movl 28(%esp),%esi 2324238405Sjkim bswap %eax 2325238405Sjkim bswap %ebx 2326238405Sjkim bswap %ecx 2327238405Sjkim xorl (%edi),%eax 2328238405Sjkim bswap %edx 2329238405Sjkim xorl 4(%edi),%ebx 2330238405Sjkim xorl 8(%edi),%ecx 2331238405Sjkim xorl 12(%edi),%edx 2332238405Sjkim movl %eax,(%esi) 2333238405Sjkim movl %ebx,4(%esi) 2334238405Sjkim movl %ecx,8(%esi) 2335238405Sjkim movl %edx,12(%esi) 2336238405Sjkim leal 16(%esi),%esi 2337238405Sjkim movl %esi,28(%esp) 2338238405Sjkim leal 44(%esp),%esi 2339238405Sjkim movl (%esi),%eax 2340238405Sjkim movl 4(%esi),%ebx 2341238405Sjkim movl 8(%esi),%ecx 2342238405Sjkim movl 12(%esi),%edx 2343238405Sjkim movl %eax,(%edi) 2344238405Sjkim movl %ebx,4(%edi) 2345238405Sjkim movl %ecx,8(%edi) 2346238405Sjkim movl %edx,12(%edi) 2347238405Sjkim movl 24(%esp),%esi 2348238405Sjkim leal 16(%esi),%esi 2349238405Sjkim movl %esi,24(%esp) 2350238405Sjkim movl 32(%esp),%ecx 2351238405Sjkim subl $16,%ecx 2352238405Sjkim jc .L030dec_in_place_partial 2353238405Sjkim movl %ecx,32(%esp) 2354238405Sjkim jnz .L029dec_in_place_loop 2355238405Sjkim jmp .L028dec_out 2356238405Sjkim.align 4 2357238405Sjkim.L030dec_in_place_partial: 2358238405Sjkim movl 28(%esp),%edi 2359238405Sjkim leal 44(%esp),%esi 2360238405Sjkim leal (%edi,%ecx,1),%edi 2361238405Sjkim leal 16(%esi,%ecx,1),%esi 2362238405Sjkim negl %ecx 2363238405Sjkim.long 2767451785 2364238405Sjkim.align 4 2365238405Sjkim.L028dec_out: 2366238405Sjkim movl 20(%esp),%esp 2367238405Sjkim popfl 2368238405Sjkim popl %edi 2369238405Sjkim popl %esi 2370238405Sjkim popl %ebx 2371238405Sjkim popl %ebp 2372238405Sjkim ret 2373238405Sjkim.size Camellia_cbc_encrypt,.-.L_Camellia_cbc_encrypt_begin 2374238405Sjkim.byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 2375238405Sjkim.byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 2376238405Sjkim.byte 115,108,46,111,114,103,62,0 2377