1 1.5 christos #include <machine/asm.h> 2 1.5 christos .text 3 1.5 christos .globl Camellia_EncryptBlock_Rounds 4 1.5 christos .type Camellia_EncryptBlock_Rounds,@function 5 1.5 christos .align 16 6 1.5 christos Camellia_EncryptBlock_Rounds: 7 1.5 christos .L_Camellia_EncryptBlock_Rounds_begin: 8 1.7 christos #ifdef __CET__ 9 1.7 christos 10 1.7 christos .byte 243,15,30,251 11 1.7 christos #endif 12 1.7 christos 13 1.5 christos pushl %ebp 14 1.5 christos pushl %ebx 15 1.5 christos pushl %esi 16 1.5 christos pushl %edi 17 1.5 christos movl 20(%esp),%eax 18 1.5 christos movl 24(%esp),%esi 19 1.5 christos movl 28(%esp),%edi 20 1.5 christos movl %esp,%ebx 21 1.5 christos subl $28,%esp 22 1.5 christos andl $-64,%esp 23 1.5 christos leal -127(%edi),%ecx 24 1.5 christos subl %esp,%ecx 25 1.5 christos negl %ecx 26 1.5 christos andl $960,%ecx 27 1.5 christos subl %ecx,%esp 28 1.5 christos addl $4,%esp 29 1.5 christos shll $6,%eax 30 1.5 christos leal (%edi,%eax,1),%eax 31 1.5 christos movl %ebx,20(%esp) 32 1.5 christos movl %eax,16(%esp) 33 1.5 christos call .L000pic_point 34 1.5 christos .L000pic_point: 35 1.5 christos popl %ebp 36 1.5 christos leal .LCamellia_SBOX-.L000pic_point(%ebp),%ebp 37 1.5 christos movl (%esi),%eax 38 1.5 christos movl 4(%esi),%ebx 39 1.5 christos movl 8(%esi),%ecx 40 1.5 christos bswap %eax 41 1.5 christos movl 12(%esi),%edx 42 1.5 christos bswap %ebx 43 1.5 christos bswap %ecx 44 1.5 christos bswap %edx 45 1.5 christos call _x86_Camellia_encrypt 46 1.5 christos movl 20(%esp),%esp 47 1.5 christos bswap %eax 48 1.5 christos movl 32(%esp),%esi 49 1.5 christos bswap %ebx 50 1.5 christos bswap %ecx 51 1.5 christos bswap %edx 52 1.5 christos movl %eax,(%esi) 53 1.5 christos movl %ebx,4(%esi) 54 1.5 christos movl %ecx,8(%esi) 55 1.5 christos movl %edx,12(%esi) 56 1.5 christos popl %edi 57 1.5 christos popl %esi 58 1.5 christos popl %ebx 59 1.5 christos popl %ebp 60 1.5 christos ret 61 1.5 christos .size Camellia_EncryptBlock_Rounds,.-.L_Camellia_EncryptBlock_Rounds_begin 62 1.5 christos .globl Camellia_EncryptBlock 63 1.5 christos .type Camellia_EncryptBlock,@function 64 1.5 christos .align 16 65 1.5 christos Camellia_EncryptBlock: 66 1.5 christos .L_Camellia_EncryptBlock_begin: 67 1.7 christos #ifdef __CET__ 68 1.7 christos 69 1.7 christos .byte 243,15,30,251 70 1.7 christos #endif 71 1.7 christos 72 1.5 christos movl $128,%eax 73 1.5 christos subl 4(%esp),%eax 74 1.5 christos movl $3,%eax 75 1.5 christos adcl $0,%eax 76 1.5 christos movl %eax,4(%esp) 77 1.5 christos jmp .L_Camellia_EncryptBlock_Rounds_begin 78 1.5 christos .size Camellia_EncryptBlock,.-.L_Camellia_EncryptBlock_begin 79 1.5 christos .globl Camellia_encrypt 80 1.5 christos .type Camellia_encrypt,@function 81 1.5 christos .align 16 82 1.5 christos Camellia_encrypt: 83 1.5 christos .L_Camellia_encrypt_begin: 84 1.7 christos #ifdef __CET__ 85 1.7 christos 86 1.7 christos .byte 243,15,30,251 87 1.7 christos #endif 88 1.7 christos 89 1.5 christos pushl %ebp 90 1.5 christos pushl %ebx 91 1.5 christos pushl %esi 92 1.5 christos pushl %edi 93 1.5 christos movl 20(%esp),%esi 94 1.5 christos movl 28(%esp),%edi 95 1.5 christos movl %esp,%ebx 96 1.5 christos subl $28,%esp 97 1.5 christos andl $-64,%esp 98 1.5 christos movl 272(%edi),%eax 99 1.5 christos leal -127(%edi),%ecx 100 1.5 christos subl %esp,%ecx 101 1.5 christos negl %ecx 102 1.5 christos andl $960,%ecx 103 1.5 christos subl %ecx,%esp 104 1.5 christos addl $4,%esp 105 1.5 christos shll $6,%eax 106 1.5 christos leal (%edi,%eax,1),%eax 107 1.5 christos movl %ebx,20(%esp) 108 1.5 christos movl %eax,16(%esp) 109 1.5 christos call .L001pic_point 110 1.5 christos .L001pic_point: 111 1.5 christos popl %ebp 112 1.5 christos leal .LCamellia_SBOX-.L001pic_point(%ebp),%ebp 113 1.5 christos movl (%esi),%eax 114 1.5 christos movl 4(%esi),%ebx 115 1.5 christos movl 8(%esi),%ecx 116 1.5 christos bswap %eax 117 1.5 christos movl 12(%esi),%edx 118 1.5 christos bswap %ebx 119 1.5 christos bswap %ecx 120 1.5 christos bswap %edx 121 1.5 christos call _x86_Camellia_encrypt 122 1.5 christos movl 20(%esp),%esp 123 1.5 christos bswap %eax 124 1.5 christos movl 24(%esp),%esi 125 1.5 christos bswap %ebx 126 1.5 christos bswap %ecx 127 1.5 christos bswap %edx 128 1.5 christos movl %eax,(%esi) 129 1.5 christos movl %ebx,4(%esi) 130 1.5 christos movl %ecx,8(%esi) 131 1.5 christos movl %edx,12(%esi) 132 1.5 christos popl %edi 133 1.5 christos popl %esi 134 1.5 christos popl %ebx 135 1.5 christos popl %ebp 136 1.5 christos ret 137 1.5 christos .size Camellia_encrypt,.-.L_Camellia_encrypt_begin 138 1.5 christos .type _x86_Camellia_encrypt,@function 139 1.5 christos .align 16 140 1.5 christos _x86_Camellia_encrypt: 141 1.7 christos #ifdef __CET__ 142 1.7 christos 143 1.7 christos .byte 243,15,30,251 144 1.7 christos #endif 145 1.7 christos 146 1.5 christos xorl (%edi),%eax 147 1.5 christos xorl 4(%edi),%ebx 148 1.5 christos xorl 8(%edi),%ecx 149 1.5 christos xorl 12(%edi),%edx 150 1.5 christos movl 16(%edi),%esi 151 1.5 christos movl %eax,4(%esp) 152 1.5 christos movl %ebx,8(%esp) 153 1.5 christos movl %ecx,12(%esp) 154 1.5 christos movl %edx,16(%esp) 155 1.5 christos .align 16 156 1.5 christos .L002loop: 157 1.5 christos xorl %esi,%eax 158 1.5 christos xorl 20(%edi),%ebx 159 1.5 christos movzbl %ah,%esi 160 1.5 christos movl 2052(%ebp,%esi,8),%edx 161 1.5 christos movzbl %al,%esi 162 1.5 christos xorl 4(%ebp,%esi,8),%edx 163 1.5 christos shrl $16,%eax 164 1.5 christos movzbl %bl,%esi 165 1.5 christos movl (%ebp,%esi,8),%ecx 166 1.5 christos movzbl %ah,%esi 167 1.5 christos xorl (%ebp,%esi,8),%edx 168 1.5 christos movzbl %bh,%esi 169 1.5 christos xorl 4(%ebp,%esi,8),%ecx 170 1.5 christos shrl $16,%ebx 171 1.5 christos movzbl %al,%eax 172 1.5 christos xorl 2048(%ebp,%eax,8),%edx 173 1.5 christos movzbl %bh,%esi 174 1.5 christos movl 16(%esp),%eax 175 1.5 christos xorl %edx,%ecx 176 1.5 christos rorl $8,%edx 177 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 178 1.5 christos movzbl %bl,%esi 179 1.5 christos movl 12(%esp),%ebx 180 1.5 christos xorl %eax,%edx 181 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 182 1.5 christos movl 24(%edi),%esi 183 1.5 christos xorl %ecx,%edx 184 1.5 christos movl %edx,16(%esp) 185 1.5 christos xorl %ebx,%ecx 186 1.5 christos movl %ecx,12(%esp) 187 1.5 christos xorl %esi,%ecx 188 1.5 christos xorl 28(%edi),%edx 189 1.5 christos movzbl %ch,%esi 190 1.5 christos movl 2052(%ebp,%esi,8),%ebx 191 1.5 christos movzbl %cl,%esi 192 1.5 christos xorl 4(%ebp,%esi,8),%ebx 193 1.5 christos shrl $16,%ecx 194 1.5 christos movzbl %dl,%esi 195 1.5 christos movl (%ebp,%esi,8),%eax 196 1.5 christos movzbl %ch,%esi 197 1.5 christos xorl (%ebp,%esi,8),%ebx 198 1.5 christos movzbl %dh,%esi 199 1.5 christos xorl 4(%ebp,%esi,8),%eax 200 1.5 christos shrl $16,%edx 201 1.5 christos movzbl %cl,%ecx 202 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 203 1.5 christos movzbl %dh,%esi 204 1.5 christos movl 8(%esp),%ecx 205 1.5 christos xorl %ebx,%eax 206 1.5 christos rorl $8,%ebx 207 1.5 christos xorl 2048(%ebp,%esi,8),%eax 208 1.5 christos movzbl %dl,%esi 209 1.5 christos movl 4(%esp),%edx 210 1.5 christos xorl %ecx,%ebx 211 1.5 christos xorl 2052(%ebp,%esi,8),%eax 212 1.5 christos movl 32(%edi),%esi 213 1.5 christos xorl %eax,%ebx 214 1.5 christos movl %ebx,8(%esp) 215 1.5 christos xorl %edx,%eax 216 1.5 christos movl %eax,4(%esp) 217 1.5 christos xorl %esi,%eax 218 1.5 christos xorl 36(%edi),%ebx 219 1.5 christos movzbl %ah,%esi 220 1.5 christos movl 2052(%ebp,%esi,8),%edx 221 1.5 christos movzbl %al,%esi 222 1.5 christos xorl 4(%ebp,%esi,8),%edx 223 1.5 christos shrl $16,%eax 224 1.5 christos movzbl %bl,%esi 225 1.5 christos movl (%ebp,%esi,8),%ecx 226 1.5 christos movzbl %ah,%esi 227 1.5 christos xorl (%ebp,%esi,8),%edx 228 1.5 christos movzbl %bh,%esi 229 1.5 christos xorl 4(%ebp,%esi,8),%ecx 230 1.5 christos shrl $16,%ebx 231 1.5 christos movzbl %al,%eax 232 1.5 christos xorl 2048(%ebp,%eax,8),%edx 233 1.5 christos movzbl %bh,%esi 234 1.5 christos movl 16(%esp),%eax 235 1.5 christos xorl %edx,%ecx 236 1.5 christos rorl $8,%edx 237 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 238 1.5 christos movzbl %bl,%esi 239 1.5 christos movl 12(%esp),%ebx 240 1.5 christos xorl %eax,%edx 241 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 242 1.5 christos movl 40(%edi),%esi 243 1.5 christos xorl %ecx,%edx 244 1.5 christos movl %edx,16(%esp) 245 1.5 christos xorl %ebx,%ecx 246 1.5 christos movl %ecx,12(%esp) 247 1.5 christos xorl %esi,%ecx 248 1.5 christos xorl 44(%edi),%edx 249 1.5 christos movzbl %ch,%esi 250 1.5 christos movl 2052(%ebp,%esi,8),%ebx 251 1.5 christos movzbl %cl,%esi 252 1.5 christos xorl 4(%ebp,%esi,8),%ebx 253 1.5 christos shrl $16,%ecx 254 1.5 christos movzbl %dl,%esi 255 1.5 christos movl (%ebp,%esi,8),%eax 256 1.5 christos movzbl %ch,%esi 257 1.5 christos xorl (%ebp,%esi,8),%ebx 258 1.5 christos movzbl %dh,%esi 259 1.5 christos xorl 4(%ebp,%esi,8),%eax 260 1.5 christos shrl $16,%edx 261 1.5 christos movzbl %cl,%ecx 262 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 263 1.5 christos movzbl %dh,%esi 264 1.5 christos movl 8(%esp),%ecx 265 1.5 christos xorl %ebx,%eax 266 1.5 christos rorl $8,%ebx 267 1.5 christos xorl 2048(%ebp,%esi,8),%eax 268 1.5 christos movzbl %dl,%esi 269 1.5 christos movl 4(%esp),%edx 270 1.5 christos xorl %ecx,%ebx 271 1.5 christos xorl 2052(%ebp,%esi,8),%eax 272 1.5 christos movl 48(%edi),%esi 273 1.5 christos xorl %eax,%ebx 274 1.5 christos movl %ebx,8(%esp) 275 1.5 christos xorl %edx,%eax 276 1.5 christos movl %eax,4(%esp) 277 1.5 christos xorl %esi,%eax 278 1.5 christos xorl 52(%edi),%ebx 279 1.5 christos movzbl %ah,%esi 280 1.5 christos movl 2052(%ebp,%esi,8),%edx 281 1.5 christos movzbl %al,%esi 282 1.5 christos xorl 4(%ebp,%esi,8),%edx 283 1.5 christos shrl $16,%eax 284 1.5 christos movzbl %bl,%esi 285 1.5 christos movl (%ebp,%esi,8),%ecx 286 1.5 christos movzbl %ah,%esi 287 1.5 christos xorl (%ebp,%esi,8),%edx 288 1.5 christos movzbl %bh,%esi 289 1.5 christos xorl 4(%ebp,%esi,8),%ecx 290 1.5 christos shrl $16,%ebx 291 1.5 christos movzbl %al,%eax 292 1.5 christos xorl 2048(%ebp,%eax,8),%edx 293 1.5 christos movzbl %bh,%esi 294 1.5 christos movl 16(%esp),%eax 295 1.5 christos xorl %edx,%ecx 296 1.5 christos rorl $8,%edx 297 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 298 1.5 christos movzbl %bl,%esi 299 1.5 christos movl 12(%esp),%ebx 300 1.5 christos xorl %eax,%edx 301 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 302 1.5 christos movl 56(%edi),%esi 303 1.5 christos xorl %ecx,%edx 304 1.5 christos movl %edx,16(%esp) 305 1.5 christos xorl %ebx,%ecx 306 1.5 christos movl %ecx,12(%esp) 307 1.5 christos xorl %esi,%ecx 308 1.5 christos xorl 60(%edi),%edx 309 1.5 christos movzbl %ch,%esi 310 1.5 christos movl 2052(%ebp,%esi,8),%ebx 311 1.5 christos movzbl %cl,%esi 312 1.5 christos xorl 4(%ebp,%esi,8),%ebx 313 1.5 christos shrl $16,%ecx 314 1.5 christos movzbl %dl,%esi 315 1.5 christos movl (%ebp,%esi,8),%eax 316 1.5 christos movzbl %ch,%esi 317 1.5 christos xorl (%ebp,%esi,8),%ebx 318 1.5 christos movzbl %dh,%esi 319 1.5 christos xorl 4(%ebp,%esi,8),%eax 320 1.5 christos shrl $16,%edx 321 1.5 christos movzbl %cl,%ecx 322 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 323 1.5 christos movzbl %dh,%esi 324 1.5 christos movl 8(%esp),%ecx 325 1.5 christos xorl %ebx,%eax 326 1.5 christos rorl $8,%ebx 327 1.5 christos xorl 2048(%ebp,%esi,8),%eax 328 1.5 christos movzbl %dl,%esi 329 1.5 christos movl 4(%esp),%edx 330 1.5 christos xorl %ecx,%ebx 331 1.5 christos xorl 2052(%ebp,%esi,8),%eax 332 1.5 christos movl 64(%edi),%esi 333 1.5 christos xorl %eax,%ebx 334 1.5 christos movl %ebx,8(%esp) 335 1.5 christos xorl %edx,%eax 336 1.5 christos movl %eax,4(%esp) 337 1.5 christos addl $64,%edi 338 1.5 christos cmpl 20(%esp),%edi 339 1.5 christos je .L003done 340 1.5 christos andl %eax,%esi 341 1.5 christos movl 16(%esp),%edx 342 1.5 christos roll $1,%esi 343 1.5 christos movl %edx,%ecx 344 1.5 christos xorl %esi,%ebx 345 1.5 christos orl 12(%edi),%ecx 346 1.5 christos movl %ebx,8(%esp) 347 1.5 christos xorl 12(%esp),%ecx 348 1.5 christos movl 4(%edi),%esi 349 1.5 christos movl %ecx,12(%esp) 350 1.5 christos orl %ebx,%esi 351 1.5 christos andl 8(%edi),%ecx 352 1.5 christos xorl %esi,%eax 353 1.5 christos roll $1,%ecx 354 1.5 christos movl %eax,4(%esp) 355 1.5 christos xorl %ecx,%edx 356 1.5 christos movl 16(%edi),%esi 357 1.5 christos movl %edx,16(%esp) 358 1.5 christos jmp .L002loop 359 1.5 christos .align 8 360 1.5 christos .L003done: 361 1.5 christos movl %eax,%ecx 362 1.5 christos movl %ebx,%edx 363 1.5 christos movl 12(%esp),%eax 364 1.5 christos movl 16(%esp),%ebx 365 1.5 christos xorl %esi,%eax 366 1.5 christos xorl 4(%edi),%ebx 367 1.5 christos xorl 8(%edi),%ecx 368 1.5 christos xorl 12(%edi),%edx 369 1.5 christos ret 370 1.5 christos .size _x86_Camellia_encrypt,.-_x86_Camellia_encrypt 371 1.5 christos .globl Camellia_DecryptBlock_Rounds 372 1.5 christos .type Camellia_DecryptBlock_Rounds,@function 373 1.5 christos .align 16 374 1.5 christos Camellia_DecryptBlock_Rounds: 375 1.5 christos .L_Camellia_DecryptBlock_Rounds_begin: 376 1.7 christos #ifdef __CET__ 377 1.7 christos 378 1.7 christos .byte 243,15,30,251 379 1.7 christos #endif 380 1.7 christos 381 1.5 christos pushl %ebp 382 1.5 christos pushl %ebx 383 1.5 christos pushl %esi 384 1.5 christos pushl %edi 385 1.5 christos movl 20(%esp),%eax 386 1.5 christos movl 24(%esp),%esi 387 1.5 christos movl 28(%esp),%edi 388 1.5 christos movl %esp,%ebx 389 1.5 christos subl $28,%esp 390 1.5 christos andl $-64,%esp 391 1.5 christos leal -127(%edi),%ecx 392 1.5 christos subl %esp,%ecx 393 1.5 christos negl %ecx 394 1.5 christos andl $960,%ecx 395 1.5 christos subl %ecx,%esp 396 1.5 christos addl $4,%esp 397 1.5 christos shll $6,%eax 398 1.5 christos movl %edi,16(%esp) 399 1.5 christos leal (%edi,%eax,1),%edi 400 1.5 christos movl %ebx,20(%esp) 401 1.5 christos call .L004pic_point 402 1.5 christos .L004pic_point: 403 1.5 christos popl %ebp 404 1.5 christos leal .LCamellia_SBOX-.L004pic_point(%ebp),%ebp 405 1.5 christos movl (%esi),%eax 406 1.5 christos movl 4(%esi),%ebx 407 1.5 christos movl 8(%esi),%ecx 408 1.5 christos bswap %eax 409 1.5 christos movl 12(%esi),%edx 410 1.5 christos bswap %ebx 411 1.5 christos bswap %ecx 412 1.5 christos bswap %edx 413 1.5 christos call _x86_Camellia_decrypt 414 1.5 christos movl 20(%esp),%esp 415 1.5 christos bswap %eax 416 1.5 christos movl 32(%esp),%esi 417 1.5 christos bswap %ebx 418 1.5 christos bswap %ecx 419 1.5 christos bswap %edx 420 1.5 christos movl %eax,(%esi) 421 1.5 christos movl %ebx,4(%esi) 422 1.5 christos movl %ecx,8(%esi) 423 1.5 christos movl %edx,12(%esi) 424 1.5 christos popl %edi 425 1.5 christos popl %esi 426 1.5 christos popl %ebx 427 1.5 christos popl %ebp 428 1.5 christos ret 429 1.5 christos .size Camellia_DecryptBlock_Rounds,.-.L_Camellia_DecryptBlock_Rounds_begin 430 1.5 christos .globl Camellia_DecryptBlock 431 1.5 christos .type Camellia_DecryptBlock,@function 432 1.5 christos .align 16 433 1.5 christos Camellia_DecryptBlock: 434 1.5 christos .L_Camellia_DecryptBlock_begin: 435 1.7 christos #ifdef __CET__ 436 1.7 christos 437 1.7 christos .byte 243,15,30,251 438 1.7 christos #endif 439 1.7 christos 440 1.5 christos movl $128,%eax 441 1.5 christos subl 4(%esp),%eax 442 1.5 christos movl $3,%eax 443 1.5 christos adcl $0,%eax 444 1.5 christos movl %eax,4(%esp) 445 1.5 christos jmp .L_Camellia_DecryptBlock_Rounds_begin 446 1.5 christos .size Camellia_DecryptBlock,.-.L_Camellia_DecryptBlock_begin 447 1.5 christos .globl Camellia_decrypt 448 1.5 christos .type Camellia_decrypt,@function 449 1.5 christos .align 16 450 1.5 christos Camellia_decrypt: 451 1.5 christos .L_Camellia_decrypt_begin: 452 1.7 christos #ifdef __CET__ 453 1.7 christos 454 1.7 christos .byte 243,15,30,251 455 1.7 christos #endif 456 1.7 christos 457 1.5 christos pushl %ebp 458 1.5 christos pushl %ebx 459 1.5 christos pushl %esi 460 1.5 christos pushl %edi 461 1.5 christos movl 20(%esp),%esi 462 1.5 christos movl 28(%esp),%edi 463 1.5 christos movl %esp,%ebx 464 1.5 christos subl $28,%esp 465 1.5 christos andl $-64,%esp 466 1.5 christos movl 272(%edi),%eax 467 1.5 christos leal -127(%edi),%ecx 468 1.5 christos subl %esp,%ecx 469 1.5 christos negl %ecx 470 1.5 christos andl $960,%ecx 471 1.5 christos subl %ecx,%esp 472 1.5 christos addl $4,%esp 473 1.5 christos shll $6,%eax 474 1.5 christos movl %edi,16(%esp) 475 1.5 christos leal (%edi,%eax,1),%edi 476 1.5 christos movl %ebx,20(%esp) 477 1.5 christos call .L005pic_point 478 1.5 christos .L005pic_point: 479 1.5 christos popl %ebp 480 1.5 christos leal .LCamellia_SBOX-.L005pic_point(%ebp),%ebp 481 1.5 christos movl (%esi),%eax 482 1.5 christos movl 4(%esi),%ebx 483 1.5 christos movl 8(%esi),%ecx 484 1.5 christos bswap %eax 485 1.5 christos movl 12(%esi),%edx 486 1.5 christos bswap %ebx 487 1.5 christos bswap %ecx 488 1.5 christos bswap %edx 489 1.5 christos call _x86_Camellia_decrypt 490 1.5 christos movl 20(%esp),%esp 491 1.5 christos bswap %eax 492 1.5 christos movl 24(%esp),%esi 493 1.5 christos bswap %ebx 494 1.5 christos bswap %ecx 495 1.5 christos bswap %edx 496 1.5 christos movl %eax,(%esi) 497 1.5 christos movl %ebx,4(%esi) 498 1.5 christos movl %ecx,8(%esi) 499 1.5 christos movl %edx,12(%esi) 500 1.5 christos popl %edi 501 1.5 christos popl %esi 502 1.5 christos popl %ebx 503 1.5 christos popl %ebp 504 1.5 christos ret 505 1.5 christos .size Camellia_decrypt,.-.L_Camellia_decrypt_begin 506 1.5 christos .type _x86_Camellia_decrypt,@function 507 1.5 christos .align 16 508 1.5 christos _x86_Camellia_decrypt: 509 1.7 christos #ifdef __CET__ 510 1.7 christos 511 1.7 christos .byte 243,15,30,251 512 1.7 christos #endif 513 1.7 christos 514 1.5 christos xorl (%edi),%eax 515 1.5 christos xorl 4(%edi),%ebx 516 1.5 christos xorl 8(%edi),%ecx 517 1.5 christos xorl 12(%edi),%edx 518 1.5 christos movl -8(%edi),%esi 519 1.5 christos movl %eax,4(%esp) 520 1.5 christos movl %ebx,8(%esp) 521 1.5 christos movl %ecx,12(%esp) 522 1.5 christos movl %edx,16(%esp) 523 1.5 christos .align 16 524 1.5 christos .L006loop: 525 1.5 christos xorl %esi,%eax 526 1.5 christos xorl -4(%edi),%ebx 527 1.5 christos movzbl %ah,%esi 528 1.5 christos movl 2052(%ebp,%esi,8),%edx 529 1.5 christos movzbl %al,%esi 530 1.5 christos xorl 4(%ebp,%esi,8),%edx 531 1.5 christos shrl $16,%eax 532 1.5 christos movzbl %bl,%esi 533 1.5 christos movl (%ebp,%esi,8),%ecx 534 1.5 christos movzbl %ah,%esi 535 1.5 christos xorl (%ebp,%esi,8),%edx 536 1.5 christos movzbl %bh,%esi 537 1.5 christos xorl 4(%ebp,%esi,8),%ecx 538 1.5 christos shrl $16,%ebx 539 1.5 christos movzbl %al,%eax 540 1.5 christos xorl 2048(%ebp,%eax,8),%edx 541 1.5 christos movzbl %bh,%esi 542 1.5 christos movl 16(%esp),%eax 543 1.5 christos xorl %edx,%ecx 544 1.5 christos rorl $8,%edx 545 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 546 1.5 christos movzbl %bl,%esi 547 1.5 christos movl 12(%esp),%ebx 548 1.5 christos xorl %eax,%edx 549 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 550 1.5 christos movl -16(%edi),%esi 551 1.5 christos xorl %ecx,%edx 552 1.5 christos movl %edx,16(%esp) 553 1.5 christos xorl %ebx,%ecx 554 1.5 christos movl %ecx,12(%esp) 555 1.5 christos xorl %esi,%ecx 556 1.5 christos xorl -12(%edi),%edx 557 1.5 christos movzbl %ch,%esi 558 1.5 christos movl 2052(%ebp,%esi,8),%ebx 559 1.5 christos movzbl %cl,%esi 560 1.5 christos xorl 4(%ebp,%esi,8),%ebx 561 1.5 christos shrl $16,%ecx 562 1.5 christos movzbl %dl,%esi 563 1.5 christos movl (%ebp,%esi,8),%eax 564 1.5 christos movzbl %ch,%esi 565 1.5 christos xorl (%ebp,%esi,8),%ebx 566 1.5 christos movzbl %dh,%esi 567 1.5 christos xorl 4(%ebp,%esi,8),%eax 568 1.5 christos shrl $16,%edx 569 1.5 christos movzbl %cl,%ecx 570 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 571 1.5 christos movzbl %dh,%esi 572 1.5 christos movl 8(%esp),%ecx 573 1.5 christos xorl %ebx,%eax 574 1.5 christos rorl $8,%ebx 575 1.5 christos xorl 2048(%ebp,%esi,8),%eax 576 1.5 christos movzbl %dl,%esi 577 1.5 christos movl 4(%esp),%edx 578 1.5 christos xorl %ecx,%ebx 579 1.5 christos xorl 2052(%ebp,%esi,8),%eax 580 1.5 christos movl -24(%edi),%esi 581 1.5 christos xorl %eax,%ebx 582 1.5 christos movl %ebx,8(%esp) 583 1.5 christos xorl %edx,%eax 584 1.5 christos movl %eax,4(%esp) 585 1.5 christos xorl %esi,%eax 586 1.5 christos xorl -20(%edi),%ebx 587 1.5 christos movzbl %ah,%esi 588 1.5 christos movl 2052(%ebp,%esi,8),%edx 589 1.5 christos movzbl %al,%esi 590 1.5 christos xorl 4(%ebp,%esi,8),%edx 591 1.5 christos shrl $16,%eax 592 1.5 christos movzbl %bl,%esi 593 1.5 christos movl (%ebp,%esi,8),%ecx 594 1.5 christos movzbl %ah,%esi 595 1.5 christos xorl (%ebp,%esi,8),%edx 596 1.5 christos movzbl %bh,%esi 597 1.5 christos xorl 4(%ebp,%esi,8),%ecx 598 1.5 christos shrl $16,%ebx 599 1.5 christos movzbl %al,%eax 600 1.5 christos xorl 2048(%ebp,%eax,8),%edx 601 1.5 christos movzbl %bh,%esi 602 1.5 christos movl 16(%esp),%eax 603 1.5 christos xorl %edx,%ecx 604 1.5 christos rorl $8,%edx 605 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 606 1.5 christos movzbl %bl,%esi 607 1.5 christos movl 12(%esp),%ebx 608 1.5 christos xorl %eax,%edx 609 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 610 1.5 christos movl -32(%edi),%esi 611 1.5 christos xorl %ecx,%edx 612 1.5 christos movl %edx,16(%esp) 613 1.5 christos xorl %ebx,%ecx 614 1.5 christos movl %ecx,12(%esp) 615 1.5 christos xorl %esi,%ecx 616 1.5 christos xorl -28(%edi),%edx 617 1.5 christos movzbl %ch,%esi 618 1.5 christos movl 2052(%ebp,%esi,8),%ebx 619 1.5 christos movzbl %cl,%esi 620 1.5 christos xorl 4(%ebp,%esi,8),%ebx 621 1.5 christos shrl $16,%ecx 622 1.5 christos movzbl %dl,%esi 623 1.5 christos movl (%ebp,%esi,8),%eax 624 1.5 christos movzbl %ch,%esi 625 1.5 christos xorl (%ebp,%esi,8),%ebx 626 1.5 christos movzbl %dh,%esi 627 1.5 christos xorl 4(%ebp,%esi,8),%eax 628 1.5 christos shrl $16,%edx 629 1.5 christos movzbl %cl,%ecx 630 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 631 1.5 christos movzbl %dh,%esi 632 1.5 christos movl 8(%esp),%ecx 633 1.5 christos xorl %ebx,%eax 634 1.5 christos rorl $8,%ebx 635 1.5 christos xorl 2048(%ebp,%esi,8),%eax 636 1.5 christos movzbl %dl,%esi 637 1.5 christos movl 4(%esp),%edx 638 1.5 christos xorl %ecx,%ebx 639 1.5 christos xorl 2052(%ebp,%esi,8),%eax 640 1.5 christos movl -40(%edi),%esi 641 1.5 christos xorl %eax,%ebx 642 1.5 christos movl %ebx,8(%esp) 643 1.5 christos xorl %edx,%eax 644 1.5 christos movl %eax,4(%esp) 645 1.5 christos xorl %esi,%eax 646 1.5 christos xorl -36(%edi),%ebx 647 1.5 christos movzbl %ah,%esi 648 1.5 christos movl 2052(%ebp,%esi,8),%edx 649 1.5 christos movzbl %al,%esi 650 1.5 christos xorl 4(%ebp,%esi,8),%edx 651 1.5 christos shrl $16,%eax 652 1.5 christos movzbl %bl,%esi 653 1.5 christos movl (%ebp,%esi,8),%ecx 654 1.5 christos movzbl %ah,%esi 655 1.5 christos xorl (%ebp,%esi,8),%edx 656 1.5 christos movzbl %bh,%esi 657 1.5 christos xorl 4(%ebp,%esi,8),%ecx 658 1.5 christos shrl $16,%ebx 659 1.5 christos movzbl %al,%eax 660 1.5 christos xorl 2048(%ebp,%eax,8),%edx 661 1.5 christos movzbl %bh,%esi 662 1.5 christos movl 16(%esp),%eax 663 1.5 christos xorl %edx,%ecx 664 1.5 christos rorl $8,%edx 665 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 666 1.5 christos movzbl %bl,%esi 667 1.5 christos movl 12(%esp),%ebx 668 1.5 christos xorl %eax,%edx 669 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 670 1.5 christos movl -48(%edi),%esi 671 1.5 christos xorl %ecx,%edx 672 1.5 christos movl %edx,16(%esp) 673 1.5 christos xorl %ebx,%ecx 674 1.5 christos movl %ecx,12(%esp) 675 1.5 christos xorl %esi,%ecx 676 1.5 christos xorl -44(%edi),%edx 677 1.5 christos movzbl %ch,%esi 678 1.5 christos movl 2052(%ebp,%esi,8),%ebx 679 1.5 christos movzbl %cl,%esi 680 1.5 christos xorl 4(%ebp,%esi,8),%ebx 681 1.5 christos shrl $16,%ecx 682 1.5 christos movzbl %dl,%esi 683 1.5 christos movl (%ebp,%esi,8),%eax 684 1.5 christos movzbl %ch,%esi 685 1.5 christos xorl (%ebp,%esi,8),%ebx 686 1.5 christos movzbl %dh,%esi 687 1.5 christos xorl 4(%ebp,%esi,8),%eax 688 1.5 christos shrl $16,%edx 689 1.5 christos movzbl %cl,%ecx 690 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 691 1.5 christos movzbl %dh,%esi 692 1.5 christos movl 8(%esp),%ecx 693 1.5 christos xorl %ebx,%eax 694 1.5 christos rorl $8,%ebx 695 1.5 christos xorl 2048(%ebp,%esi,8),%eax 696 1.5 christos movzbl %dl,%esi 697 1.5 christos movl 4(%esp),%edx 698 1.5 christos xorl %ecx,%ebx 699 1.5 christos xorl 2052(%ebp,%esi,8),%eax 700 1.5 christos movl -56(%edi),%esi 701 1.5 christos xorl %eax,%ebx 702 1.5 christos movl %ebx,8(%esp) 703 1.5 christos xorl %edx,%eax 704 1.5 christos movl %eax,4(%esp) 705 1.5 christos subl $64,%edi 706 1.5 christos cmpl 20(%esp),%edi 707 1.5 christos je .L007done 708 1.5 christos andl %eax,%esi 709 1.5 christos movl 16(%esp),%edx 710 1.5 christos roll $1,%esi 711 1.5 christos movl %edx,%ecx 712 1.5 christos xorl %esi,%ebx 713 1.5 christos orl 4(%edi),%ecx 714 1.5 christos movl %ebx,8(%esp) 715 1.5 christos xorl 12(%esp),%ecx 716 1.5 christos movl 12(%edi),%esi 717 1.5 christos movl %ecx,12(%esp) 718 1.5 christos orl %ebx,%esi 719 1.5 christos andl (%edi),%ecx 720 1.5 christos xorl %esi,%eax 721 1.5 christos roll $1,%ecx 722 1.5 christos movl %eax,4(%esp) 723 1.5 christos xorl %ecx,%edx 724 1.5 christos movl -8(%edi),%esi 725 1.5 christos movl %edx,16(%esp) 726 1.5 christos jmp .L006loop 727 1.5 christos .align 8 728 1.5 christos .L007done: 729 1.5 christos movl %eax,%ecx 730 1.5 christos movl %ebx,%edx 731 1.5 christos movl 12(%esp),%eax 732 1.5 christos movl 16(%esp),%ebx 733 1.5 christos xorl %esi,%ecx 734 1.5 christos xorl 12(%edi),%edx 735 1.5 christos xorl (%edi),%eax 736 1.5 christos xorl 4(%edi),%ebx 737 1.5 christos ret 738 1.5 christos .size _x86_Camellia_decrypt,.-_x86_Camellia_decrypt 739 1.5 christos .globl Camellia_Ekeygen 740 1.5 christos .type Camellia_Ekeygen,@function 741 1.5 christos .align 16 742 1.5 christos Camellia_Ekeygen: 743 1.5 christos .L_Camellia_Ekeygen_begin: 744 1.7 christos #ifdef __CET__ 745 1.7 christos 746 1.7 christos .byte 243,15,30,251 747 1.7 christos #endif 748 1.7 christos 749 1.5 christos pushl %ebp 750 1.5 christos pushl %ebx 751 1.5 christos pushl %esi 752 1.5 christos pushl %edi 753 1.5 christos subl $16,%esp 754 1.5 christos movl 36(%esp),%ebp 755 1.5 christos movl 40(%esp),%esi 756 1.5 christos movl 44(%esp),%edi 757 1.5 christos movl (%esi),%eax 758 1.5 christos movl 4(%esi),%ebx 759 1.5 christos movl 8(%esi),%ecx 760 1.5 christos movl 12(%esi),%edx 761 1.5 christos bswap %eax 762 1.5 christos bswap %ebx 763 1.5 christos bswap %ecx 764 1.5 christos bswap %edx 765 1.5 christos movl %eax,(%edi) 766 1.5 christos movl %ebx,4(%edi) 767 1.5 christos movl %ecx,8(%edi) 768 1.5 christos movl %edx,12(%edi) 769 1.5 christos cmpl $128,%ebp 770 1.5 christos je .L0081st128 771 1.5 christos movl 16(%esi),%eax 772 1.5 christos movl 20(%esi),%ebx 773 1.5 christos cmpl $192,%ebp 774 1.5 christos je .L0091st192 775 1.5 christos movl 24(%esi),%ecx 776 1.5 christos movl 28(%esi),%edx 777 1.5 christos jmp .L0101st256 778 1.5 christos .align 4 779 1.5 christos .L0091st192: 780 1.5 christos movl %eax,%ecx 781 1.5 christos movl %ebx,%edx 782 1.5 christos notl %ecx 783 1.5 christos notl %edx 784 1.5 christos .align 4 785 1.5 christos .L0101st256: 786 1.5 christos bswap %eax 787 1.5 christos bswap %ebx 788 1.5 christos bswap %ecx 789 1.5 christos bswap %edx 790 1.5 christos movl %eax,32(%edi) 791 1.5 christos movl %ebx,36(%edi) 792 1.5 christos movl %ecx,40(%edi) 793 1.5 christos movl %edx,44(%edi) 794 1.5 christos xorl (%edi),%eax 795 1.5 christos xorl 4(%edi),%ebx 796 1.5 christos xorl 8(%edi),%ecx 797 1.5 christos xorl 12(%edi),%edx 798 1.5 christos .align 4 799 1.5 christos .L0081st128: 800 1.5 christos call .L011pic_point 801 1.5 christos .L011pic_point: 802 1.5 christos popl %ebp 803 1.5 christos leal .LCamellia_SBOX-.L011pic_point(%ebp),%ebp 804 1.5 christos leal .LCamellia_SIGMA-.LCamellia_SBOX(%ebp),%edi 805 1.5 christos movl (%edi),%esi 806 1.5 christos movl %eax,(%esp) 807 1.5 christos movl %ebx,4(%esp) 808 1.5 christos movl %ecx,8(%esp) 809 1.5 christos movl %edx,12(%esp) 810 1.5 christos xorl %esi,%eax 811 1.5 christos xorl 4(%edi),%ebx 812 1.5 christos movzbl %ah,%esi 813 1.5 christos movl 2052(%ebp,%esi,8),%edx 814 1.5 christos movzbl %al,%esi 815 1.5 christos xorl 4(%ebp,%esi,8),%edx 816 1.5 christos shrl $16,%eax 817 1.5 christos movzbl %bl,%esi 818 1.5 christos movl (%ebp,%esi,8),%ecx 819 1.5 christos movzbl %ah,%esi 820 1.5 christos xorl (%ebp,%esi,8),%edx 821 1.5 christos movzbl %bh,%esi 822 1.5 christos xorl 4(%ebp,%esi,8),%ecx 823 1.5 christos shrl $16,%ebx 824 1.5 christos movzbl %al,%eax 825 1.5 christos xorl 2048(%ebp,%eax,8),%edx 826 1.5 christos movzbl %bh,%esi 827 1.5 christos movl 12(%esp),%eax 828 1.5 christos xorl %edx,%ecx 829 1.5 christos rorl $8,%edx 830 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 831 1.5 christos movzbl %bl,%esi 832 1.5 christos movl 8(%esp),%ebx 833 1.5 christos xorl %eax,%edx 834 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 835 1.5 christos movl 8(%edi),%esi 836 1.5 christos xorl %ecx,%edx 837 1.5 christos movl %edx,12(%esp) 838 1.5 christos xorl %ebx,%ecx 839 1.5 christos movl %ecx,8(%esp) 840 1.5 christos xorl %esi,%ecx 841 1.5 christos xorl 12(%edi),%edx 842 1.5 christos movzbl %ch,%esi 843 1.5 christos movl 2052(%ebp,%esi,8),%ebx 844 1.5 christos movzbl %cl,%esi 845 1.5 christos xorl 4(%ebp,%esi,8),%ebx 846 1.5 christos shrl $16,%ecx 847 1.5 christos movzbl %dl,%esi 848 1.5 christos movl (%ebp,%esi,8),%eax 849 1.5 christos movzbl %ch,%esi 850 1.5 christos xorl (%ebp,%esi,8),%ebx 851 1.5 christos movzbl %dh,%esi 852 1.5 christos xorl 4(%ebp,%esi,8),%eax 853 1.5 christos shrl $16,%edx 854 1.5 christos movzbl %cl,%ecx 855 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 856 1.5 christos movzbl %dh,%esi 857 1.5 christos movl 4(%esp),%ecx 858 1.5 christos xorl %ebx,%eax 859 1.5 christos rorl $8,%ebx 860 1.5 christos xorl 2048(%ebp,%esi,8),%eax 861 1.5 christos movzbl %dl,%esi 862 1.5 christos movl (%esp),%edx 863 1.5 christos xorl %ecx,%ebx 864 1.5 christos xorl 2052(%ebp,%esi,8),%eax 865 1.5 christos movl 16(%edi),%esi 866 1.5 christos xorl %eax,%ebx 867 1.5 christos movl %ebx,4(%esp) 868 1.5 christos xorl %edx,%eax 869 1.5 christos movl %eax,(%esp) 870 1.5 christos movl 8(%esp),%ecx 871 1.5 christos movl 12(%esp),%edx 872 1.5 christos movl 44(%esp),%esi 873 1.5 christos xorl (%esi),%eax 874 1.5 christos xorl 4(%esi),%ebx 875 1.5 christos xorl 8(%esi),%ecx 876 1.5 christos xorl 12(%esi),%edx 877 1.5 christos movl 16(%edi),%esi 878 1.5 christos movl %eax,(%esp) 879 1.5 christos movl %ebx,4(%esp) 880 1.5 christos movl %ecx,8(%esp) 881 1.5 christos movl %edx,12(%esp) 882 1.5 christos xorl %esi,%eax 883 1.5 christos xorl 20(%edi),%ebx 884 1.5 christos movzbl %ah,%esi 885 1.5 christos movl 2052(%ebp,%esi,8),%edx 886 1.5 christos movzbl %al,%esi 887 1.5 christos xorl 4(%ebp,%esi,8),%edx 888 1.5 christos shrl $16,%eax 889 1.5 christos movzbl %bl,%esi 890 1.5 christos movl (%ebp,%esi,8),%ecx 891 1.5 christos movzbl %ah,%esi 892 1.5 christos xorl (%ebp,%esi,8),%edx 893 1.5 christos movzbl %bh,%esi 894 1.5 christos xorl 4(%ebp,%esi,8),%ecx 895 1.5 christos shrl $16,%ebx 896 1.5 christos movzbl %al,%eax 897 1.5 christos xorl 2048(%ebp,%eax,8),%edx 898 1.5 christos movzbl %bh,%esi 899 1.5 christos movl 12(%esp),%eax 900 1.5 christos xorl %edx,%ecx 901 1.5 christos rorl $8,%edx 902 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 903 1.5 christos movzbl %bl,%esi 904 1.5 christos movl 8(%esp),%ebx 905 1.5 christos xorl %eax,%edx 906 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 907 1.5 christos movl 24(%edi),%esi 908 1.5 christos xorl %ecx,%edx 909 1.5 christos movl %edx,12(%esp) 910 1.5 christos xorl %ebx,%ecx 911 1.5 christos movl %ecx,8(%esp) 912 1.5 christos xorl %esi,%ecx 913 1.5 christos xorl 28(%edi),%edx 914 1.5 christos movzbl %ch,%esi 915 1.5 christos movl 2052(%ebp,%esi,8),%ebx 916 1.5 christos movzbl %cl,%esi 917 1.5 christos xorl 4(%ebp,%esi,8),%ebx 918 1.5 christos shrl $16,%ecx 919 1.5 christos movzbl %dl,%esi 920 1.5 christos movl (%ebp,%esi,8),%eax 921 1.5 christos movzbl %ch,%esi 922 1.5 christos xorl (%ebp,%esi,8),%ebx 923 1.5 christos movzbl %dh,%esi 924 1.5 christos xorl 4(%ebp,%esi,8),%eax 925 1.5 christos shrl $16,%edx 926 1.5 christos movzbl %cl,%ecx 927 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 928 1.5 christos movzbl %dh,%esi 929 1.5 christos movl 4(%esp),%ecx 930 1.5 christos xorl %ebx,%eax 931 1.5 christos rorl $8,%ebx 932 1.5 christos xorl 2048(%ebp,%esi,8),%eax 933 1.5 christos movzbl %dl,%esi 934 1.5 christos movl (%esp),%edx 935 1.5 christos xorl %ecx,%ebx 936 1.5 christos xorl 2052(%ebp,%esi,8),%eax 937 1.5 christos movl 32(%edi),%esi 938 1.5 christos xorl %eax,%ebx 939 1.5 christos movl %ebx,4(%esp) 940 1.5 christos xorl %edx,%eax 941 1.5 christos movl %eax,(%esp) 942 1.5 christos movl 8(%esp),%ecx 943 1.5 christos movl 12(%esp),%edx 944 1.5 christos movl 36(%esp),%esi 945 1.5 christos cmpl $128,%esi 946 1.5 christos jne .L0122nd256 947 1.5 christos movl 44(%esp),%edi 948 1.5 christos leal 128(%edi),%edi 949 1.5 christos movl %eax,-112(%edi) 950 1.5 christos movl %ebx,-108(%edi) 951 1.5 christos movl %ecx,-104(%edi) 952 1.5 christos movl %edx,-100(%edi) 953 1.5 christos movl %eax,%ebp 954 1.5 christos shll $15,%eax 955 1.5 christos movl %ebx,%esi 956 1.5 christos shrl $17,%esi 957 1.5 christos shll $15,%ebx 958 1.5 christos orl %esi,%eax 959 1.5 christos movl %ecx,%esi 960 1.5 christos shll $15,%ecx 961 1.5 christos movl %eax,-80(%edi) 962 1.5 christos shrl $17,%esi 963 1.5 christos orl %esi,%ebx 964 1.5 christos shrl $17,%ebp 965 1.5 christos movl %edx,%esi 966 1.5 christos shrl $17,%esi 967 1.5 christos movl %ebx,-76(%edi) 968 1.5 christos shll $15,%edx 969 1.5 christos orl %esi,%ecx 970 1.5 christos orl %ebp,%edx 971 1.5 christos movl %ecx,-72(%edi) 972 1.5 christos movl %edx,-68(%edi) 973 1.5 christos movl %eax,%ebp 974 1.5 christos shll $15,%eax 975 1.5 christos movl %ebx,%esi 976 1.5 christos shrl $17,%esi 977 1.5 christos shll $15,%ebx 978 1.5 christos orl %esi,%eax 979 1.5 christos movl %ecx,%esi 980 1.5 christos shll $15,%ecx 981 1.5 christos movl %eax,-64(%edi) 982 1.5 christos shrl $17,%esi 983 1.5 christos orl %esi,%ebx 984 1.5 christos shrl $17,%ebp 985 1.5 christos movl %edx,%esi 986 1.5 christos shrl $17,%esi 987 1.5 christos movl %ebx,-60(%edi) 988 1.5 christos shll $15,%edx 989 1.5 christos orl %esi,%ecx 990 1.5 christos orl %ebp,%edx 991 1.5 christos movl %ecx,-56(%edi) 992 1.5 christos movl %edx,-52(%edi) 993 1.5 christos movl %eax,%ebp 994 1.5 christos shll $15,%eax 995 1.5 christos movl %ebx,%esi 996 1.5 christos shrl $17,%esi 997 1.5 christos shll $15,%ebx 998 1.5 christos orl %esi,%eax 999 1.5 christos movl %ecx,%esi 1000 1.5 christos shll $15,%ecx 1001 1.5 christos movl %eax,-32(%edi) 1002 1.5 christos shrl $17,%esi 1003 1.5 christos orl %esi,%ebx 1004 1.5 christos shrl $17,%ebp 1005 1.5 christos movl %edx,%esi 1006 1.5 christos shrl $17,%esi 1007 1.5 christos movl %ebx,-28(%edi) 1008 1.5 christos shll $15,%edx 1009 1.5 christos orl %esi,%ecx 1010 1.5 christos orl %ebp,%edx 1011 1.5 christos movl %eax,%ebp 1012 1.5 christos shll $15,%eax 1013 1.5 christos movl %ebx,%esi 1014 1.5 christos shrl $17,%esi 1015 1.5 christos shll $15,%ebx 1016 1.5 christos orl %esi,%eax 1017 1.5 christos movl %ecx,%esi 1018 1.5 christos shll $15,%ecx 1019 1.5 christos movl %eax,-16(%edi) 1020 1.5 christos shrl $17,%esi 1021 1.5 christos orl %esi,%ebx 1022 1.5 christos shrl $17,%ebp 1023 1.5 christos movl %edx,%esi 1024 1.5 christos shrl $17,%esi 1025 1.5 christos movl %ebx,-12(%edi) 1026 1.5 christos shll $15,%edx 1027 1.5 christos orl %esi,%ecx 1028 1.5 christos orl %ebp,%edx 1029 1.5 christos movl %ecx,-8(%edi) 1030 1.5 christos movl %edx,-4(%edi) 1031 1.5 christos movl %ebx,%ebp 1032 1.5 christos shll $2,%ebx 1033 1.5 christos movl %ecx,%esi 1034 1.5 christos shrl $30,%esi 1035 1.5 christos shll $2,%ecx 1036 1.5 christos orl %esi,%ebx 1037 1.5 christos movl %edx,%esi 1038 1.5 christos shll $2,%edx 1039 1.5 christos movl %ebx,32(%edi) 1040 1.5 christos shrl $30,%esi 1041 1.5 christos orl %esi,%ecx 1042 1.5 christos shrl $30,%ebp 1043 1.5 christos movl %eax,%esi 1044 1.5 christos shrl $30,%esi 1045 1.5 christos movl %ecx,36(%edi) 1046 1.5 christos shll $2,%eax 1047 1.5 christos orl %esi,%edx 1048 1.5 christos orl %ebp,%eax 1049 1.5 christos movl %edx,40(%edi) 1050 1.5 christos movl %eax,44(%edi) 1051 1.5 christos movl %ebx,%ebp 1052 1.5 christos shll $17,%ebx 1053 1.5 christos movl %ecx,%esi 1054 1.5 christos shrl $15,%esi 1055 1.5 christos shll $17,%ecx 1056 1.5 christos orl %esi,%ebx 1057 1.5 christos movl %edx,%esi 1058 1.5 christos shll $17,%edx 1059 1.5 christos movl %ebx,64(%edi) 1060 1.5 christos shrl $15,%esi 1061 1.5 christos orl %esi,%ecx 1062 1.5 christos shrl $15,%ebp 1063 1.5 christos movl %eax,%esi 1064 1.5 christos shrl $15,%esi 1065 1.5 christos movl %ecx,68(%edi) 1066 1.5 christos shll $17,%eax 1067 1.5 christos orl %esi,%edx 1068 1.5 christos orl %ebp,%eax 1069 1.5 christos movl %edx,72(%edi) 1070 1.5 christos movl %eax,76(%edi) 1071 1.5 christos movl -128(%edi),%ebx 1072 1.5 christos movl -124(%edi),%ecx 1073 1.5 christos movl -120(%edi),%edx 1074 1.5 christos movl -116(%edi),%eax 1075 1.5 christos movl %ebx,%ebp 1076 1.5 christos shll $15,%ebx 1077 1.5 christos movl %ecx,%esi 1078 1.5 christos shrl $17,%esi 1079 1.5 christos shll $15,%ecx 1080 1.5 christos orl %esi,%ebx 1081 1.5 christos movl %edx,%esi 1082 1.5 christos shll $15,%edx 1083 1.5 christos movl %ebx,-96(%edi) 1084 1.5 christos shrl $17,%esi 1085 1.5 christos orl %esi,%ecx 1086 1.5 christos shrl $17,%ebp 1087 1.5 christos movl %eax,%esi 1088 1.5 christos shrl $17,%esi 1089 1.5 christos movl %ecx,-92(%edi) 1090 1.5 christos shll $15,%eax 1091 1.5 christos orl %esi,%edx 1092 1.5 christos orl %ebp,%eax 1093 1.5 christos movl %edx,-88(%edi) 1094 1.5 christos movl %eax,-84(%edi) 1095 1.5 christos movl %ebx,%ebp 1096 1.5 christos shll $30,%ebx 1097 1.5 christos movl %ecx,%esi 1098 1.5 christos shrl $2,%esi 1099 1.5 christos shll $30,%ecx 1100 1.5 christos orl %esi,%ebx 1101 1.5 christos movl %edx,%esi 1102 1.5 christos shll $30,%edx 1103 1.5 christos movl %ebx,-48(%edi) 1104 1.5 christos shrl $2,%esi 1105 1.5 christos orl %esi,%ecx 1106 1.5 christos shrl $2,%ebp 1107 1.5 christos movl %eax,%esi 1108 1.5 christos shrl $2,%esi 1109 1.5 christos movl %ecx,-44(%edi) 1110 1.5 christos shll $30,%eax 1111 1.5 christos orl %esi,%edx 1112 1.5 christos orl %ebp,%eax 1113 1.5 christos movl %edx,-40(%edi) 1114 1.5 christos movl %eax,-36(%edi) 1115 1.5 christos movl %ebx,%ebp 1116 1.5 christos shll $15,%ebx 1117 1.5 christos movl %ecx,%esi 1118 1.5 christos shrl $17,%esi 1119 1.5 christos shll $15,%ecx 1120 1.5 christos orl %esi,%ebx 1121 1.5 christos movl %edx,%esi 1122 1.5 christos shll $15,%edx 1123 1.5 christos shrl $17,%esi 1124 1.5 christos orl %esi,%ecx 1125 1.5 christos shrl $17,%ebp 1126 1.5 christos movl %eax,%esi 1127 1.5 christos shrl $17,%esi 1128 1.5 christos shll $15,%eax 1129 1.5 christos orl %esi,%edx 1130 1.5 christos orl %ebp,%eax 1131 1.5 christos movl %edx,-24(%edi) 1132 1.5 christos movl %eax,-20(%edi) 1133 1.5 christos movl %ebx,%ebp 1134 1.5 christos shll $17,%ebx 1135 1.5 christos movl %ecx,%esi 1136 1.5 christos shrl $15,%esi 1137 1.5 christos shll $17,%ecx 1138 1.5 christos orl %esi,%ebx 1139 1.5 christos movl %edx,%esi 1140 1.5 christos shll $17,%edx 1141 1.5 christos movl %ebx,(%edi) 1142 1.5 christos shrl $15,%esi 1143 1.5 christos orl %esi,%ecx 1144 1.5 christos shrl $15,%ebp 1145 1.5 christos movl %eax,%esi 1146 1.5 christos shrl $15,%esi 1147 1.5 christos movl %ecx,4(%edi) 1148 1.5 christos shll $17,%eax 1149 1.5 christos orl %esi,%edx 1150 1.5 christos orl %ebp,%eax 1151 1.5 christos movl %edx,8(%edi) 1152 1.5 christos movl %eax,12(%edi) 1153 1.5 christos movl %ebx,%ebp 1154 1.5 christos shll $17,%ebx 1155 1.5 christos movl %ecx,%esi 1156 1.5 christos shrl $15,%esi 1157 1.5 christos shll $17,%ecx 1158 1.5 christos orl %esi,%ebx 1159 1.5 christos movl %edx,%esi 1160 1.5 christos shll $17,%edx 1161 1.5 christos movl %ebx,16(%edi) 1162 1.5 christos shrl $15,%esi 1163 1.5 christos orl %esi,%ecx 1164 1.5 christos shrl $15,%ebp 1165 1.5 christos movl %eax,%esi 1166 1.5 christos shrl $15,%esi 1167 1.5 christos movl %ecx,20(%edi) 1168 1.5 christos shll $17,%eax 1169 1.5 christos orl %esi,%edx 1170 1.5 christos orl %ebp,%eax 1171 1.5 christos movl %edx,24(%edi) 1172 1.5 christos movl %eax,28(%edi) 1173 1.5 christos movl %ebx,%ebp 1174 1.5 christos shll $17,%ebx 1175 1.5 christos movl %ecx,%esi 1176 1.5 christos shrl $15,%esi 1177 1.5 christos shll $17,%ecx 1178 1.5 christos orl %esi,%ebx 1179 1.5 christos movl %edx,%esi 1180 1.5 christos shll $17,%edx 1181 1.5 christos movl %ebx,48(%edi) 1182 1.5 christos shrl $15,%esi 1183 1.5 christos orl %esi,%ecx 1184 1.5 christos shrl $15,%ebp 1185 1.5 christos movl %eax,%esi 1186 1.5 christos shrl $15,%esi 1187 1.5 christos movl %ecx,52(%edi) 1188 1.5 christos shll $17,%eax 1189 1.5 christos orl %esi,%edx 1190 1.5 christos orl %ebp,%eax 1191 1.5 christos movl %edx,56(%edi) 1192 1.5 christos movl %eax,60(%edi) 1193 1.5 christos movl $3,%eax 1194 1.5 christos jmp .L013done 1195 1.5 christos .align 16 1196 1.5 christos .L0122nd256: 1197 1.5 christos movl 44(%esp),%esi 1198 1.5 christos movl %eax,48(%esi) 1199 1.5 christos movl %ebx,52(%esi) 1200 1.5 christos movl %ecx,56(%esi) 1201 1.5 christos movl %edx,60(%esi) 1202 1.5 christos xorl 32(%esi),%eax 1203 1.5 christos xorl 36(%esi),%ebx 1204 1.5 christos xorl 40(%esi),%ecx 1205 1.5 christos xorl 44(%esi),%edx 1206 1.5 christos movl 32(%edi),%esi 1207 1.5 christos movl %eax,(%esp) 1208 1.5 christos movl %ebx,4(%esp) 1209 1.5 christos movl %ecx,8(%esp) 1210 1.5 christos movl %edx,12(%esp) 1211 1.5 christos xorl %esi,%eax 1212 1.5 christos xorl 36(%edi),%ebx 1213 1.5 christos movzbl %ah,%esi 1214 1.5 christos movl 2052(%ebp,%esi,8),%edx 1215 1.5 christos movzbl %al,%esi 1216 1.5 christos xorl 4(%ebp,%esi,8),%edx 1217 1.5 christos shrl $16,%eax 1218 1.5 christos movzbl %bl,%esi 1219 1.5 christos movl (%ebp,%esi,8),%ecx 1220 1.5 christos movzbl %ah,%esi 1221 1.5 christos xorl (%ebp,%esi,8),%edx 1222 1.5 christos movzbl %bh,%esi 1223 1.5 christos xorl 4(%ebp,%esi,8),%ecx 1224 1.5 christos shrl $16,%ebx 1225 1.5 christos movzbl %al,%eax 1226 1.5 christos xorl 2048(%ebp,%eax,8),%edx 1227 1.5 christos movzbl %bh,%esi 1228 1.5 christos movl 12(%esp),%eax 1229 1.5 christos xorl %edx,%ecx 1230 1.5 christos rorl $8,%edx 1231 1.5 christos xorl 2048(%ebp,%esi,8),%ecx 1232 1.5 christos movzbl %bl,%esi 1233 1.5 christos movl 8(%esp),%ebx 1234 1.5 christos xorl %eax,%edx 1235 1.5 christos xorl 2052(%ebp,%esi,8),%ecx 1236 1.5 christos movl 40(%edi),%esi 1237 1.5 christos xorl %ecx,%edx 1238 1.5 christos movl %edx,12(%esp) 1239 1.5 christos xorl %ebx,%ecx 1240 1.5 christos movl %ecx,8(%esp) 1241 1.5 christos xorl %esi,%ecx 1242 1.5 christos xorl 44(%edi),%edx 1243 1.5 christos movzbl %ch,%esi 1244 1.5 christos movl 2052(%ebp,%esi,8),%ebx 1245 1.5 christos movzbl %cl,%esi 1246 1.5 christos xorl 4(%ebp,%esi,8),%ebx 1247 1.5 christos shrl $16,%ecx 1248 1.5 christos movzbl %dl,%esi 1249 1.5 christos movl (%ebp,%esi,8),%eax 1250 1.5 christos movzbl %ch,%esi 1251 1.5 christos xorl (%ebp,%esi,8),%ebx 1252 1.5 christos movzbl %dh,%esi 1253 1.5 christos xorl 4(%ebp,%esi,8),%eax 1254 1.5 christos shrl $16,%edx 1255 1.5 christos movzbl %cl,%ecx 1256 1.5 christos xorl 2048(%ebp,%ecx,8),%ebx 1257 1.5 christos movzbl %dh,%esi 1258 1.5 christos movl 4(%esp),%ecx 1259 1.5 christos xorl %ebx,%eax 1260 1.5 christos rorl $8,%ebx 1261 1.5 christos xorl 2048(%ebp,%esi,8),%eax 1262 1.5 christos movzbl %dl,%esi 1263 1.5 christos movl (%esp),%edx 1264 1.5 christos xorl %ecx,%ebx 1265 1.5 christos xorl 2052(%ebp,%esi,8),%eax 1266 1.5 christos movl 48(%edi),%esi 1267 1.5 christos xorl %eax,%ebx 1268 1.5 christos movl %ebx,4(%esp) 1269 1.5 christos xorl %edx,%eax 1270 1.5 christos movl %eax,(%esp) 1271 1.5 christos movl 8(%esp),%ecx 1272 1.5 christos movl 12(%esp),%edx 1273 1.5 christos movl 44(%esp),%edi 1274 1.5 christos leal 128(%edi),%edi 1275 1.5 christos movl %eax,-112(%edi) 1276 1.5 christos movl %ebx,-108(%edi) 1277 1.5 christos movl %ecx,-104(%edi) 1278 1.5 christos movl %edx,-100(%edi) 1279 1.5 christos movl %eax,%ebp 1280 1.5 christos shll $30,%eax 1281 1.5 christos movl %ebx,%esi 1282 1.5 christos shrl $2,%esi 1283 1.5 christos shll $30,%ebx 1284 1.5 christos orl %esi,%eax 1285 1.5 christos movl %ecx,%esi 1286 1.5 christos shll $30,%ecx 1287 1.5 christos movl %eax,-48(%edi) 1288 1.5 christos shrl $2,%esi 1289 1.5 christos orl %esi,%ebx 1290 1.5 christos shrl $2,%ebp 1291 1.5 christos movl %edx,%esi 1292 1.5 christos shrl $2,%esi 1293 1.5 christos movl %ebx,-44(%edi) 1294 1.5 christos shll $30,%edx 1295 1.5 christos orl %esi,%ecx 1296 1.5 christos orl %ebp,%edx 1297 1.5 christos movl %ecx,-40(%edi) 1298 1.5 christos movl %edx,-36(%edi) 1299 1.5 christos movl %eax,%ebp 1300 1.5 christos shll $30,%eax 1301 1.5 christos movl %ebx,%esi 1302 1.5 christos shrl $2,%esi 1303 1.5 christos shll $30,%ebx 1304 1.5 christos orl %esi,%eax 1305 1.5 christos movl %ecx,%esi 1306 1.5 christos shll $30,%ecx 1307 1.5 christos movl %eax,32(%edi) 1308 1.5 christos shrl $2,%esi 1309 1.5 christos orl %esi,%ebx 1310 1.5 christos shrl $2,%ebp 1311 1.5 christos movl %edx,%esi 1312 1.5 christos shrl $2,%esi 1313 1.5 christos movl %ebx,36(%edi) 1314 1.5 christos shll $30,%edx 1315 1.5 christos orl %esi,%ecx 1316 1.5 christos orl %ebp,%edx 1317 1.5 christos movl %ecx,40(%edi) 1318 1.5 christos movl %edx,44(%edi) 1319 1.5 christos movl %ebx,%ebp 1320 1.5 christos shll $19,%ebx 1321 1.5 christos movl %ecx,%esi 1322 1.5 christos shrl $13,%esi 1323 1.5 christos shll $19,%ecx 1324 1.5 christos orl %esi,%ebx 1325 1.5 christos movl %edx,%esi 1326 1.5 christos shll $19,%edx 1327 1.5 christos movl %ebx,128(%edi) 1328 1.5 christos shrl $13,%esi 1329 1.5 christos orl %esi,%ecx 1330 1.5 christos shrl $13,%ebp 1331 1.5 christos movl %eax,%esi 1332 1.5 christos shrl $13,%esi 1333 1.5 christos movl %ecx,132(%edi) 1334 1.5 christos shll $19,%eax 1335 1.5 christos orl %esi,%edx 1336 1.5 christos orl %ebp,%eax 1337 1.5 christos movl %edx,136(%edi) 1338 1.5 christos movl %eax,140(%edi) 1339 1.5 christos movl -96(%edi),%ebx 1340 1.5 christos movl -92(%edi),%ecx 1341 1.5 christos movl -88(%edi),%edx 1342 1.5 christos movl -84(%edi),%eax 1343 1.5 christos movl %ebx,%ebp 1344 1.5 christos shll $15,%ebx 1345 1.5 christos movl %ecx,%esi 1346 1.5 christos shrl $17,%esi 1347 1.5 christos shll $15,%ecx 1348 1.5 christos orl %esi,%ebx 1349 1.5 christos movl %edx,%esi 1350 1.5 christos shll $15,%edx 1351 1.5 christos movl %ebx,-96(%edi) 1352 1.5 christos shrl $17,%esi 1353 1.5 christos orl %esi,%ecx 1354 1.5 christos shrl $17,%ebp 1355 1.5 christos movl %eax,%esi 1356 1.5 christos shrl $17,%esi 1357 1.5 christos movl %ecx,-92(%edi) 1358 1.5 christos shll $15,%eax 1359 1.5 christos orl %esi,%edx 1360 1.5 christos orl %ebp,%eax 1361 1.5 christos movl %edx,-88(%edi) 1362 1.5 christos movl %eax,-84(%edi) 1363 1.5 christos movl %ebx,%ebp 1364 1.5 christos shll $15,%ebx 1365 1.5 christos movl %ecx,%esi 1366 1.5 christos shrl $17,%esi 1367 1.5 christos shll $15,%ecx 1368 1.5 christos orl %esi,%ebx 1369 1.5 christos movl %edx,%esi 1370 1.5 christos shll $15,%edx 1371 1.5 christos movl %ebx,-64(%edi) 1372 1.5 christos shrl $17,%esi 1373 1.5 christos orl %esi,%ecx 1374 1.5 christos shrl $17,%ebp 1375 1.5 christos movl %eax,%esi 1376 1.5 christos shrl $17,%esi 1377 1.5 christos movl %ecx,-60(%edi) 1378 1.5 christos shll $15,%eax 1379 1.5 christos orl %esi,%edx 1380 1.5 christos orl %ebp,%eax 1381 1.5 christos movl %edx,-56(%edi) 1382 1.5 christos movl %eax,-52(%edi) 1383 1.5 christos movl %ebx,%ebp 1384 1.5 christos shll $30,%ebx 1385 1.5 christos movl %ecx,%esi 1386 1.5 christos shrl $2,%esi 1387 1.5 christos shll $30,%ecx 1388 1.5 christos orl %esi,%ebx 1389 1.5 christos movl %edx,%esi 1390 1.5 christos shll $30,%edx 1391 1.5 christos movl %ebx,16(%edi) 1392 1.5 christos shrl $2,%esi 1393 1.5 christos orl %esi,%ecx 1394 1.5 christos shrl $2,%ebp 1395 1.5 christos movl %eax,%esi 1396 1.5 christos shrl $2,%esi 1397 1.5 christos movl %ecx,20(%edi) 1398 1.5 christos shll $30,%eax 1399 1.5 christos orl %esi,%edx 1400 1.5 christos orl %ebp,%eax 1401 1.5 christos movl %edx,24(%edi) 1402 1.5 christos movl %eax,28(%edi) 1403 1.5 christos movl %ecx,%ebp 1404 1.5 christos shll $2,%ecx 1405 1.5 christos movl %edx,%esi 1406 1.5 christos shrl $30,%esi 1407 1.5 christos shll $2,%edx 1408 1.5 christos orl %esi,%ecx 1409 1.5 christos movl %eax,%esi 1410 1.5 christos shll $2,%eax 1411 1.5 christos movl %ecx,80(%edi) 1412 1.5 christos shrl $30,%esi 1413 1.5 christos orl %esi,%edx 1414 1.5 christos shrl $30,%ebp 1415 1.5 christos movl %ebx,%esi 1416 1.5 christos shrl $30,%esi 1417 1.5 christos movl %edx,84(%edi) 1418 1.5 christos shll $2,%ebx 1419 1.5 christos orl %esi,%eax 1420 1.5 christos orl %ebp,%ebx 1421 1.5 christos movl %eax,88(%edi) 1422 1.5 christos movl %ebx,92(%edi) 1423 1.5 christos movl -80(%edi),%ecx 1424 1.5 christos movl -76(%edi),%edx 1425 1.5 christos movl -72(%edi),%eax 1426 1.5 christos movl -68(%edi),%ebx 1427 1.5 christos movl %ecx,%ebp 1428 1.5 christos shll $15,%ecx 1429 1.5 christos movl %edx,%esi 1430 1.5 christos shrl $17,%esi 1431 1.5 christos shll $15,%edx 1432 1.5 christos orl %esi,%ecx 1433 1.5 christos movl %eax,%esi 1434 1.5 christos shll $15,%eax 1435 1.5 christos movl %ecx,-80(%edi) 1436 1.5 christos shrl $17,%esi 1437 1.5 christos orl %esi,%edx 1438 1.5 christos shrl $17,%ebp 1439 1.5 christos movl %ebx,%esi 1440 1.5 christos shrl $17,%esi 1441 1.5 christos movl %edx,-76(%edi) 1442 1.5 christos shll $15,%ebx 1443 1.5 christos orl %esi,%eax 1444 1.5 christos orl %ebp,%ebx 1445 1.5 christos movl %eax,-72(%edi) 1446 1.5 christos movl %ebx,-68(%edi) 1447 1.5 christos movl %ecx,%ebp 1448 1.5 christos shll $30,%ecx 1449 1.5 christos movl %edx,%esi 1450 1.5 christos shrl $2,%esi 1451 1.5 christos shll $30,%edx 1452 1.5 christos orl %esi,%ecx 1453 1.5 christos movl %eax,%esi 1454 1.5 christos shll $30,%eax 1455 1.5 christos movl %ecx,-16(%edi) 1456 1.5 christos shrl $2,%esi 1457 1.5 christos orl %esi,%edx 1458 1.5 christos shrl $2,%ebp 1459 1.5 christos movl %ebx,%esi 1460 1.5 christos shrl $2,%esi 1461 1.5 christos movl %edx,-12(%edi) 1462 1.5 christos shll $30,%ebx 1463 1.5 christos orl %esi,%eax 1464 1.5 christos orl %ebp,%ebx 1465 1.5 christos movl %eax,-8(%edi) 1466 1.5 christos movl %ebx,-4(%edi) 1467 1.5 christos movl %edx,64(%edi) 1468 1.5 christos movl %eax,68(%edi) 1469 1.5 christos movl %ebx,72(%edi) 1470 1.5 christos movl %ecx,76(%edi) 1471 1.5 christos movl %edx,%ebp 1472 1.5 christos shll $17,%edx 1473 1.5 christos movl %eax,%esi 1474 1.5 christos shrl $15,%esi 1475 1.5 christos shll $17,%eax 1476 1.5 christos orl %esi,%edx 1477 1.5 christos movl %ebx,%esi 1478 1.5 christos shll $17,%ebx 1479 1.5 christos movl %edx,96(%edi) 1480 1.5 christos shrl $15,%esi 1481 1.5 christos orl %esi,%eax 1482 1.5 christos shrl $15,%ebp 1483 1.5 christos movl %ecx,%esi 1484 1.5 christos shrl $15,%esi 1485 1.5 christos movl %eax,100(%edi) 1486 1.5 christos shll $17,%ecx 1487 1.5 christos orl %esi,%ebx 1488 1.5 christos orl %ebp,%ecx 1489 1.5 christos movl %ebx,104(%edi) 1490 1.5 christos movl %ecx,108(%edi) 1491 1.5 christos movl -128(%edi),%edx 1492 1.5 christos movl -124(%edi),%eax 1493 1.5 christos movl -120(%edi),%ebx 1494 1.5 christos movl -116(%edi),%ecx 1495 1.5 christos movl %eax,%ebp 1496 1.5 christos shll $13,%eax 1497 1.5 christos movl %ebx,%esi 1498 1.5 christos shrl $19,%esi 1499 1.5 christos shll $13,%ebx 1500 1.5 christos orl %esi,%eax 1501 1.5 christos movl %ecx,%esi 1502 1.5 christos shll $13,%ecx 1503 1.5 christos movl %eax,-32(%edi) 1504 1.5 christos shrl $19,%esi 1505 1.5 christos orl %esi,%ebx 1506 1.5 christos shrl $19,%ebp 1507 1.5 christos movl %edx,%esi 1508 1.5 christos shrl $19,%esi 1509 1.5 christos movl %ebx,-28(%edi) 1510 1.5 christos shll $13,%edx 1511 1.5 christos orl %esi,%ecx 1512 1.5 christos orl %ebp,%edx 1513 1.5 christos movl %ecx,-24(%edi) 1514 1.5 christos movl %edx,-20(%edi) 1515 1.5 christos movl %eax,%ebp 1516 1.5 christos shll $15,%eax 1517 1.5 christos movl %ebx,%esi 1518 1.5 christos shrl $17,%esi 1519 1.5 christos shll $15,%ebx 1520 1.5 christos orl %esi,%eax 1521 1.5 christos movl %ecx,%esi 1522 1.5 christos shll $15,%ecx 1523 1.5 christos movl %eax,(%edi) 1524 1.5 christos shrl $17,%esi 1525 1.5 christos orl %esi,%ebx 1526 1.5 christos shrl $17,%ebp 1527 1.5 christos movl %edx,%esi 1528 1.5 christos shrl $17,%esi 1529 1.5 christos movl %ebx,4(%edi) 1530 1.5 christos shll $15,%edx 1531 1.5 christos orl %esi,%ecx 1532 1.5 christos orl %ebp,%edx 1533 1.5 christos movl %ecx,8(%edi) 1534 1.5 christos movl %edx,12(%edi) 1535 1.5 christos movl %eax,%ebp 1536 1.5 christos shll $17,%eax 1537 1.5 christos movl %ebx,%esi 1538 1.5 christos shrl $15,%esi 1539 1.5 christos shll $17,%ebx 1540 1.5 christos orl %esi,%eax 1541 1.5 christos movl %ecx,%esi 1542 1.5 christos shll $17,%ecx 1543 1.5 christos movl %eax,48(%edi) 1544 1.5 christos shrl $15,%esi 1545 1.5 christos orl %esi,%ebx 1546 1.5 christos shrl $15,%ebp 1547 1.5 christos movl %edx,%esi 1548 1.5 christos shrl $15,%esi 1549 1.5 christos movl %ebx,52(%edi) 1550 1.5 christos shll $17,%edx 1551 1.5 christos orl %esi,%ecx 1552 1.5 christos orl %ebp,%edx 1553 1.5 christos movl %ecx,56(%edi) 1554 1.5 christos movl %edx,60(%edi) 1555 1.5 christos movl %ebx,%ebp 1556 1.5 christos shll $2,%ebx 1557 1.5 christos movl %ecx,%esi 1558 1.5 christos shrl $30,%esi 1559 1.5 christos shll $2,%ecx 1560 1.5 christos orl %esi,%ebx 1561 1.5 christos movl %edx,%esi 1562 1.5 christos shll $2,%edx 1563 1.5 christos movl %ebx,112(%edi) 1564 1.5 christos shrl $30,%esi 1565 1.5 christos orl %esi,%ecx 1566 1.5 christos shrl $30,%ebp 1567 1.5 christos movl %eax,%esi 1568 1.5 christos shrl $30,%esi 1569 1.5 christos movl %ecx,116(%edi) 1570 1.5 christos shll $2,%eax 1571 1.5 christos orl %esi,%edx 1572 1.5 christos orl %ebp,%eax 1573 1.5 christos movl %edx,120(%edi) 1574 1.5 christos movl %eax,124(%edi) 1575 1.5 christos movl $4,%eax 1576 1.5 christos .L013done: 1577 1.5 christos leal 144(%edi),%edx 1578 1.5 christos addl $16,%esp 1579 1.5 christos popl %edi 1580 1.5 christos popl %esi 1581 1.5 christos popl %ebx 1582 1.5 christos popl %ebp 1583 1.5 christos ret 1584 1.5 christos .size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin 1585 1.6 christos .globl Camellia_set_key 1586 1.6 christos .type Camellia_set_key,@function 1587 1.5 christos .align 16 1588 1.6 christos Camellia_set_key: 1589 1.6 christos .L_Camellia_set_key_begin: 1590 1.7 christos #ifdef __CET__ 1591 1.7 christos 1592 1.7 christos .byte 243,15,30,251 1593 1.7 christos #endif 1594 1.7 christos 1595 1.5 christos pushl %ebx 1596 1.5 christos movl 8(%esp),%ecx 1597 1.5 christos movl 12(%esp),%ebx 1598 1.5 christos movl 16(%esp),%edx 1599 1.5 christos movl $-1,%eax 1600 1.5 christos testl %ecx,%ecx 1601 1.5 christos jz .L014done 1602 1.5 christos testl %edx,%edx 1603 1.5 christos jz .L014done 1604 1.5 christos movl $-2,%eax 1605 1.5 christos cmpl $256,%ebx 1606 1.5 christos je .L015arg_ok 1607 1.5 christos cmpl $192,%ebx 1608 1.5 christos je .L015arg_ok 1609 1.5 christos cmpl $128,%ebx 1610 1.5 christos jne .L014done 1611 1.5 christos .align 4 1612 1.5 christos .L015arg_ok: 1613 1.5 christos pushl %edx 1614 1.5 christos pushl %ecx 1615 1.5 christos pushl %ebx 1616 1.5 christos call .L_Camellia_Ekeygen_begin 1617 1.5 christos addl $12,%esp 1618 1.5 christos movl %eax,(%edx) 1619 1.5 christos xorl %eax,%eax 1620 1.5 christos .align 4 1621 1.5 christos .L014done: 1622 1.5 christos popl %ebx 1623 1.5 christos ret 1624 1.6 christos .size Camellia_set_key,.-.L_Camellia_set_key_begin 1625 1.5 christos .align 64 1626 1.5 christos .LCamellia_SIGMA: 1627 1.5 christos .long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0 1628 1.5 christos .align 64 1629 1.5 christos .LCamellia_SBOX: 1630 1.5 christos .long 1886416896,1886388336 1631 1.5 christos .long 2189591040,741081132 1632 1.5 christos .long 741092352,3014852787 1633 1.5 christos .long 3974949888,3233808576 1634 1.5 christos .long 3014898432,3840147684 1635 1.5 christos .long 656877312,1465319511 1636 1.5 christos .long 3233857536,3941204202 1637 1.5 christos .long 3857048832,2930639022 1638 1.5 christos .long 3840205824,589496355 1639 1.5 christos .long 2240120064,1802174571 1640 1.5 christos .long 1465341696,1162149957 1641 1.5 christos .long 892679424,2779054245 1642 1.5 christos .long 3941263872,3991732461 1643 1.5 christos .long 202116096,1330577487 1644 1.5 christos .long 2930683392,488439837 1645 1.5 christos .long 1094795520,2459041938 1646 1.5 christos .long 589505280,2256928902 1647 1.5 christos .long 4025478912,2947481775 1648 1.5 christos .long 1802201856,2088501372 1649 1.5 christos .long 2475922176,522125343 1650 1.5 christos .long 1162167552,1044250686 1651 1.5 christos .long 421075200,3705405660 1652 1.5 christos .long 2779096320,1583218782 1653 1.5 christos .long 555819264,185270283 1654 1.5 christos .long 3991792896,2795896998 1655 1.5 christos .long 235802112,960036921 1656 1.5 christos .long 1330597632,3587506389 1657 1.5 christos .long 1313754624,1566376029 1658 1.5 christos .long 488447232,3654877401 1659 1.5 christos .long 1701143808,1515847770 1660 1.5 christos .long 2459079168,1364262993 1661 1.5 christos .long 3183328512,1819017324 1662 1.5 christos .long 2256963072,2341142667 1663 1.5 christos .long 3099113472,2593783962 1664 1.5 christos .long 2947526400,4227531003 1665 1.5 christos .long 2408550144,2964324528 1666 1.5 christos .long 2088532992,1953759348 1667 1.5 christos .long 3958106880,724238379 1668 1.5 christos .long 522133248,4042260720 1669 1.5 christos .long 3469659648,2223243396 1670 1.5 christos .long 1044266496,3755933919 1671 1.5 christos .long 808464384,3419078859 1672 1.5 christos .long 3705461760,875823156 1673 1.5 christos .long 1600085760,1987444854 1674 1.5 christos .long 1583242752,1835860077 1675 1.5 christos .long 3318072576,2846425257 1676 1.5 christos .long 185273088,3520135377 1677 1.5 christos .long 437918208,67371012 1678 1.5 christos .long 2795939328,336855060 1679 1.5 christos .long 3789676800,976879674 1680 1.5 christos .long 960051456,3739091166 1681 1.5 christos .long 3402287616,286326801 1682 1.5 christos .long 3587560704,842137650 1683 1.5 christos .long 1195853568,2627469468 1684 1.5 christos .long 1566399744,1397948499 1685 1.5 christos .long 1027423488,4075946226 1686 1.5 christos .long 3654932736,4278059262 1687 1.5 christos .long 16843008,3486449871 1688 1.5 christos .long 1515870720,3284336835 1689 1.5 christos .long 3604403712,2054815866 1690 1.5 christos .long 1364283648,606339108 1691 1.5 christos .long 1448498688,3907518696 1692 1.5 christos .long 1819044864,1616904288 1693 1.5 christos .long 1296911616,1768489065 1694 1.5 christos .long 2341178112,2863268010 1695 1.5 christos .long 218959104,2694840480 1696 1.5 christos .long 2593823232,2711683233 1697 1.5 christos .long 1717986816,1650589794 1698 1.5 christos .long 4227595008,1414791252 1699 1.5 christos .long 3435973632,505282590 1700 1.5 christos .long 2964369408,3772776672 1701 1.5 christos .long 757935360,1684275300 1702 1.5 christos .long 1953788928,269484048 1703 1.5 christos .long 303174144,0 1704 1.5 christos .long 724249344,2745368739 1705 1.5 christos .long 538976256,1970602101 1706 1.5 christos .long 4042321920,2324299914 1707 1.5 christos .long 2981212416,3873833190 1708 1.5 christos .long 2223277056,151584777 1709 1.5 christos .long 2576980224,3722248413 1710 1.5 christos .long 3755990784,2273771655 1711 1.5 christos .long 1280068608,2206400643 1712 1.5 christos .long 3419130624,3452764365 1713 1.5 christos .long 3267543552,2425356432 1714 1.5 christos .long 875836416,1936916595 1715 1.5 christos .long 2122219008,4143317238 1716 1.5 christos .long 1987474944,2644312221 1717 1.5 christos .long 84215040,3216965823 1718 1.5 christos .long 1835887872,1381105746 1719 1.5 christos .long 3082270464,3638034648 1720 1.5 christos .long 2846468352,3368550600 1721 1.5 christos .long 825307392,3334865094 1722 1.5 christos .long 3520188672,2172715137 1723 1.5 christos .long 387389184,1869545583 1724 1.5 christos .long 67372032,320012307 1725 1.5 christos .long 3621246720,1667432547 1726 1.5 christos .long 336860160,3924361449 1727 1.5 christos .long 1482184704,2812739751 1728 1.5 christos .long 976894464,2677997727 1729 1.5 christos .long 1633771776,3166437564 1730 1.5 christos .long 3739147776,690552873 1731 1.5 christos .long 454761216,4193845497 1732 1.5 christos .long 286331136,791609391 1733 1.5 christos .long 471604224,3031695540 1734 1.5 christos .long 842150400,2021130360 1735 1.5 christos .long 252645120,101056518 1736 1.5 christos .long 2627509248,3890675943 1737 1.5 christos .long 370546176,1903231089 1738 1.5 christos .long 1397969664,3570663636 1739 1.5 christos .long 404232192,2880110763 1740 1.5 christos .long 4076007936,2290614408 1741 1.5 christos .long 572662272,2374828173 1742 1.5 christos .long 4278124032,1920073842 1743 1.5 christos .long 1145324544,3115909305 1744 1.5 christos .long 3486502656,4177002744 1745 1.5 christos .long 2998055424,2896953516 1746 1.5 christos .long 3284386560,909508662 1747 1.5 christos .long 3048584448,707395626 1748 1.5 christos .long 2054846976,1010565180 1749 1.5 christos .long 2442236160,4059103473 1750 1.5 christos .long 606348288,1077936192 1751 1.5 christos .long 134744064,3553820883 1752 1.5 christos .long 3907577856,3149594811 1753 1.5 christos .long 2829625344,1128464451 1754 1.5 christos .long 1616928768,353697813 1755 1.5 christos .long 4244438016,2913796269 1756 1.5 christos .long 1768515840,2004287607 1757 1.5 christos .long 1347440640,2155872384 1758 1.5 christos .long 2863311360,2189557890 1759 1.5 christos .long 3503345664,3974889708 1760 1.5 christos .long 2694881280,656867367 1761 1.5 christos .long 2105376000,3856990437 1762 1.5 christos .long 2711724288,2240086149 1763 1.5 christos .long 2307492096,892665909 1764 1.5 christos .long 1650614784,202113036 1765 1.5 christos .long 2543294208,1094778945 1766 1.5 christos .long 1414812672,4025417967 1767 1.5 christos .long 1532713728,2475884691 1768 1.5 christos .long 505290240,421068825 1769 1.5 christos .long 2509608192,555810849 1770 1.5 christos .long 3772833792,235798542 1771 1.5 christos .long 4294967040,1313734734 1772 1.5 christos .long 1684300800,1701118053 1773 1.5 christos .long 3537031680,3183280317 1774 1.5 christos .long 269488128,3099066552 1775 1.5 christos .long 3301229568,2408513679 1776 1.5 christos .long 0,3958046955 1777 1.5 christos .long 1212696576,3469607118 1778 1.5 christos .long 2745410304,808452144 1779 1.5 christos .long 4160222976,1600061535 1780 1.5 christos .long 1970631936,3318022341 1781 1.5 christos .long 3688618752,437911578 1782 1.5 christos .long 2324335104,3789619425 1783 1.5 christos .long 50529024,3402236106 1784 1.5 christos .long 3873891840,1195835463 1785 1.5 christos .long 3671775744,1027407933 1786 1.5 christos .long 151587072,16842753 1787 1.5 christos .long 1061109504,3604349142 1788 1.5 christos .long 3722304768,1448476758 1789 1.5 christos .long 2492765184,1296891981 1790 1.5 christos .long 2273806080,218955789 1791 1.5 christos .long 1549556736,1717960806 1792 1.5 christos .long 2206434048,3435921612 1793 1.5 christos .long 33686016,757923885 1794 1.5 christos .long 3452816640,303169554 1795 1.5 christos .long 1246382592,538968096 1796 1.5 christos .long 2425393152,2981167281 1797 1.5 christos .long 858993408,2576941209 1798 1.5 christos .long 1936945920,1280049228 1799 1.5 christos .long 1734829824,3267494082 1800 1.5 christos .long 4143379968,2122186878 1801 1.5 christos .long 4092850944,84213765 1802 1.5 christos .long 2644352256,3082223799 1803 1.5 christos .long 2139062016,825294897 1804 1.5 christos .long 3217014528,387383319 1805 1.5 christos .long 3806519808,3621191895 1806 1.5 christos .long 1381126656,1482162264 1807 1.5 christos .long 2610666240,1633747041 1808 1.5 christos .long 3638089728,454754331 1809 1.5 christos .long 640034304,471597084 1810 1.5 christos .long 3368601600,252641295 1811 1.5 christos .long 926365440,370540566 1812 1.5 christos .long 3334915584,404226072 1813 1.5 christos .long 993737472,572653602 1814 1.5 christos .long 2172748032,1145307204 1815 1.5 christos .long 2526451200,2998010034 1816 1.5 christos .long 1869573888,3048538293 1817 1.5 christos .long 1263225600,2442199185 1818 1.5 christos .long 320017152,134742024 1819 1.5 christos .long 3200171520,2829582504 1820 1.5 christos .long 1667457792,4244373756 1821 1.5 christos .long 774778368,1347420240 1822 1.5 christos .long 3924420864,3503292624 1823 1.5 christos .long 2038003968,2105344125 1824 1.5 christos .long 2812782336,2307457161 1825 1.5 christos .long 2358021120,2543255703 1826 1.5 christos .long 2678038272,1532690523 1827 1.5 christos .long 1852730880,2509570197 1828 1.5 christos .long 3166485504,4294902015 1829 1.5 christos .long 2391707136,3536978130 1830 1.5 christos .long 690563328,3301179588 1831 1.5 christos .long 4126536960,1212678216 1832 1.5 christos .long 4193908992,4160159991 1833 1.5 christos .long 3065427456,3688562907 1834 1.5 christos .long 791621376,50528259 1835 1.5 christos .long 4261281024,3671720154 1836 1.5 christos .long 3031741440,1061093439 1837 1.5 christos .long 1499027712,2492727444 1838 1.5 christos .long 2021160960,1549533276 1839 1.5 christos .long 2560137216,33685506 1840 1.5 christos .long 101058048,1246363722 1841 1.5 christos .long 1785358848,858980403 1842 1.5 christos .long 3890734848,1734803559 1843 1.5 christos .long 1179010560,4092788979 1844 1.5 christos .long 1903259904,2139029631 1845 1.5 christos .long 3132799488,3806462178 1846 1.5 christos .long 3570717696,2610626715 1847 1.5 christos .long 623191296,640024614 1848 1.5 christos .long 2880154368,926351415 1849 1.5 christos .long 1111638528,993722427 1850 1.5 christos .long 2290649088,2526412950 1851 1.5 christos .long 2728567296,1263206475 1852 1.5 christos .long 2374864128,3200123070 1853 1.5 christos .long 4210752000,774766638 1854 1.5 christos .long 1920102912,2037973113 1855 1.5 christos .long 117901056,2357985420 1856 1.5 christos .long 3115956480,1852702830 1857 1.5 christos .long 1431655680,2391670926 1858 1.5 christos .long 4177065984,4126474485 1859 1.5 christos .long 4008635904,3065381046 1860 1.5 christos .long 2896997376,4261216509 1861 1.5 christos .long 168430080,1499005017 1862 1.5 christos .long 909522432,2560098456 1863 1.5 christos .long 1229539584,1785331818 1864 1.5 christos .long 707406336,1178992710 1865 1.5 christos .long 1751672832,3132752058 1866 1.5 christos .long 1010580480,623181861 1867 1.5 christos .long 943208448,1111621698 1868 1.5 christos .long 4059164928,2728525986 1869 1.5 christos .long 2762253312,4210688250 1870 1.5 christos .long 1077952512,117899271 1871 1.5 christos .long 673720320,1431634005 1872 1.5 christos .long 3553874688,4008575214 1873 1.5 christos .long 2071689984,168427530 1874 1.5 christos .long 3149642496,1229520969 1875 1.5 christos .long 3385444608,1751646312 1876 1.5 christos .long 1128481536,943194168 1877 1.5 christos .long 3250700544,2762211492 1878 1.5 christos .long 353703168,673710120 1879 1.5 christos .long 3823362816,2071658619 1880 1.5 christos .long 2913840384,3385393353 1881 1.5 christos .long 4109693952,3250651329 1882 1.5 christos .long 2004317952,3823304931 1883 1.5 christos .long 3351758592,4109631732 1884 1.5 christos .long 2155905024,3351707847 1885 1.5 christos .long 2661195264,2661154974 1886 1.5 christos .long 14737632,939538488 1887 1.5 christos .long 328965,1090535745 1888 1.5 christos .long 5789784,369104406 1889 1.5 christos .long 14277081,1979741814 1890 1.5 christos .long 6776679,3640711641 1891 1.5 christos .long 5131854,2466288531 1892 1.5 christos .long 8487297,1610637408 1893 1.5 christos .long 13355979,4060148466 1894 1.5 christos .long 13224393,1912631922 1895 1.5 christos .long 723723,3254829762 1896 1.5 christos .long 11447982,2868947883 1897 1.5 christos .long 6974058,2583730842 1898 1.5 christos .long 14013909,1962964341 1899 1.5 christos .long 1579032,100664838 1900 1.5 christos .long 6118749,1459640151 1901 1.5 christos .long 8553090,2684395680 1902 1.5 christos .long 4605510,2432733585 1903 1.5 christos .long 14671839,4144035831 1904 1.5 christos .long 14079702,3036722613 1905 1.5 christos .long 2565927,3372272073 1906 1.5 christos .long 9079434,2717950626 1907 1.5 christos .long 3289650,2348846220 1908 1.5 christos .long 4934475,3523269330 1909 1.5 christos .long 4342338,2415956112 1910 1.5 christos .long 14408667,4127258358 1911 1.5 christos .long 1842204,117442311 1912 1.5 christos .long 10395294,2801837991 1913 1.5 christos .long 10263708,654321447 1914 1.5 christos .long 3815994,2382401166 1915 1.5 christos .long 13290186,2986390194 1916 1.5 christos .long 2434341,1224755529 1917 1.5 christos .long 8092539,3724599006 1918 1.5 christos .long 855309,1124090691 1919 1.5 christos .long 7434609,1543527516 1920 1.5 christos .long 6250335,3607156695 1921 1.5 christos .long 2039583,3338717127 1922 1.5 christos .long 16316664,1040203326 1923 1.5 christos .long 14145495,4110480885 1924 1.5 christos .long 4079166,2399178639 1925 1.5 christos .long 10329501,1728079719 1926 1.5 christos .long 8158332,520101663 1927 1.5 christos .long 6316128,402659352 1928 1.5 christos .long 12171705,1845522030 1929 1.5 christos .long 12500670,2936057775 1930 1.5 christos .long 12369084,788541231 1931 1.5 christos .long 9145227,3791708898 1932 1.5 christos .long 1447446,2231403909 1933 1.5 christos .long 3421236,218107149 1934 1.5 christos .long 5066061,1392530259 1935 1.5 christos .long 12829635,4026593520 1936 1.5 christos .long 7500402,2617285788 1937 1.5 christos .long 9803157,1694524773 1938 1.5 christos .long 11250603,3925928682 1939 1.5 christos .long 9342606,2734728099 1940 1.5 christos .long 12237498,2919280302 1941 1.5 christos .long 8026746,2650840734 1942 1.5 christos .long 11776947,3959483628 1943 1.5 christos .long 131586,2147516544 1944 1.5 christos .long 11842740,754986285 1945 1.5 christos .long 11382189,1795189611 1946 1.5 christos .long 10658466,2818615464 1947 1.5 christos .long 11316396,721431339 1948 1.5 christos .long 14211288,905983542 1949 1.5 christos .long 10132122,2785060518 1950 1.5 christos .long 1513239,3305162181 1951 1.5 christos .long 1710618,2248181382 1952 1.5 christos .long 3487029,1291865421 1953 1.5 christos .long 13421772,855651123 1954 1.5 christos .long 16250871,4244700669 1955 1.5 christos .long 10066329,1711302246 1956 1.5 christos .long 6381921,1476417624 1957 1.5 christos .long 5921370,2516620950 1958 1.5 christos .long 15263976,973093434 1959 1.5 christos .long 2368548,150997257 1960 1.5 christos .long 5658198,2499843477 1961 1.5 christos .long 4210752,268439568 1962 1.5 christos .long 14803425,2013296760 1963 1.5 christos .long 6513507,3623934168 1964 1.5 christos .long 592137,1107313218 1965 1.5 christos .long 3355443,3422604492 1966 1.5 christos .long 12566463,4009816047 1967 1.5 christos .long 10000536,637543974 1968 1.5 christos .long 9934743,3842041317 1969 1.5 christos .long 8750469,1627414881 1970 1.5 christos .long 6842472,436214298 1971 1.5 christos .long 16579836,1056980799 1972 1.5 christos .long 15527148,989870907 1973 1.5 christos .long 657930,2181071490 1974 1.5 christos .long 14342874,3053500086 1975 1.5 christos .long 7303023,3674266587 1976 1.5 christos .long 5460819,3556824276 1977 1.5 christos .long 6447714,2550175896 1978 1.5 christos .long 10724259,3892373736 1979 1.5 christos .long 3026478,2332068747 1980 1.5 christos .long 526344,33554946 1981 1.5 christos .long 11513775,3942706155 1982 1.5 christos .long 2631720,167774730 1983 1.5 christos .long 11579568,738208812 1984 1.5 christos .long 7631988,486546717 1985 1.5 christos .long 12763842,2952835248 1986 1.5 christos .long 12434877,1862299503 1987 1.5 christos .long 3552822,2365623693 1988 1.5 christos .long 2236962,2281736328 1989 1.5 christos .long 3684408,234884622 1990 1.5 christos .long 6579300,419436825 1991 1.5 christos .long 1973790,2264958855 1992 1.5 christos .long 3750201,1308642894 1993 1.5 christos .long 2894892,184552203 1994 1.5 christos .long 10921638,2835392937 1995 1.5 christos .long 3158064,201329676 1996 1.5 christos .long 15066597,2030074233 1997 1.5 christos .long 4473924,285217041 1998 1.5 christos .long 16645629,2130739071 1999 1.5 christos .long 8947848,570434082 2000 1.5 christos .long 10461087,3875596263 2001 1.5 christos .long 6645093,1493195097 2002 1.5 christos .long 8882055,3774931425 2003 1.5 christos .long 7039851,3657489114 2004 1.5 christos .long 16053492,1023425853 2005 1.5 christos .long 2302755,3355494600 2006 1.5 christos .long 4737096,301994514 2007 1.5 christos .long 1052688,67109892 2008 1.5 christos .long 13750737,1946186868 2009 1.5 christos .long 5329233,1409307732 2010 1.5 christos .long 12632256,805318704 2011 1.5 christos .long 16382457,2113961598 2012 1.5 christos .long 13816530,3019945140 2013 1.5 christos .long 10526880,671098920 2014 1.5 christos .long 5592405,1426085205 2015 1.5 christos .long 10592673,1744857192 2016 1.5 christos .long 4276545,1342197840 2017 1.5 christos .long 16448250,3187719870 2018 1.5 christos .long 4408131,3489714384 2019 1.5 christos .long 1250067,3288384708 2020 1.5 christos .long 12895428,822096177 2021 1.5 christos .long 3092271,3405827019 2022 1.5 christos .long 11053224,704653866 2023 1.5 christos .long 11974326,2902502829 2024 1.5 christos .long 3947580,251662095 2025 1.5 christos .long 2829099,3389049546 2026 1.5 christos .long 12698049,1879076976 2027 1.5 christos .long 16777215,4278255615 2028 1.5 christos .long 13158600,838873650 2029 1.5 christos .long 10855845,1761634665 2030 1.5 christos .long 2105376,134219784 2031 1.5 christos .long 9013641,1644192354 2032 1.5 christos .long 0,0 2033 1.5 christos .long 9474192,603989028 2034 1.5 christos .long 4671303,3506491857 2035 1.5 christos .long 15724527,4211145723 2036 1.5 christos .long 15395562,3120609978 2037 1.5 christos .long 12040119,3976261101 2038 1.5 christos .long 1381653,1157645637 2039 1.5 christos .long 394758,2164294017 2040 1.5 christos .long 13487565,1929409395 2041 1.5 christos .long 11908533,1828744557 2042 1.5 christos .long 1184274,2214626436 2043 1.5 christos .long 8289918,2667618207 2044 1.5 christos .long 12303291,3993038574 2045 1.5 christos .long 2697513,1241533002 2046 1.5 christos .long 986895,3271607235 2047 1.5 christos .long 12105912,771763758 2048 1.5 christos .long 460551,3238052289 2049 1.5 christos .long 263172,16777473 2050 1.5 christos .long 10197915,3858818790 2051 1.5 christos .long 9737364,620766501 2052 1.5 christos .long 2171169,1207978056 2053 1.5 christos .long 6710886,2566953369 2054 1.5 christos .long 15132390,3103832505 2055 1.5 christos .long 13553358,3003167667 2056 1.5 christos .long 15592941,2063629179 2057 1.5 christos .long 15198183,4177590777 2058 1.5 christos .long 3881787,3456159438 2059 1.5 christos .long 16711422,3204497343 2060 1.5 christos .long 8355711,3741376479 2061 1.5 christos .long 12961221,1895854449 2062 1.5 christos .long 10790052,687876393 2063 1.5 christos .long 3618615,3439381965 2064 1.5 christos .long 11645361,1811967084 2065 1.5 christos .long 5000268,318771987 2066 1.5 christos .long 9539985,1677747300 2067 1.5 christos .long 7237230,2600508315 2068 1.5 christos .long 9276813,1660969827 2069 1.5 christos .long 7763574,2634063261 2070 1.5 christos .long 197379,3221274816 2071 1.5 christos .long 2960685,1258310475 2072 1.5 christos .long 14606046,3070277559 2073 1.5 christos .long 9868950,2768283045 2074 1.5 christos .long 2500134,2298513801 2075 1.5 christos .long 8224125,1593859935 2076 1.5 christos .long 13027014,2969612721 2077 1.5 christos .long 6052956,385881879 2078 1.5 christos .long 13882323,4093703412 2079 1.5 christos .long 15921906,3154164924 2080 1.5 christos .long 5197647,3540046803 2081 1.5 christos .long 1644825,1174423110 2082 1.5 christos .long 4144959,3472936911 2083 1.5 christos .long 14474460,922761015 2084 1.5 christos .long 7960953,1577082462 2085 1.5 christos .long 1907997,1191200583 2086 1.5 christos .long 5395026,2483066004 2087 1.5 christos .long 15461355,4194368250 2088 1.5 christos .long 15987699,4227923196 2089 1.5 christos .long 7171437,1526750043 2090 1.5 christos .long 6184542,2533398423 2091 1.5 christos .long 16514043,4261478142 2092 1.5 christos .long 6908265,1509972570 2093 1.5 christos .long 11711154,2885725356 2094 1.5 christos .long 15790320,1006648380 2095 1.5 christos .long 3223857,1275087948 2096 1.5 christos .long 789516,50332419 2097 1.5 christos .long 13948116,889206069 2098 1.5 christos .long 13619151,4076925939 2099 1.5 christos .long 9211020,587211555 2100 1.5 christos .long 14869218,3087055032 2101 1.5 christos .long 7697781,1560304989 2102 1.5 christos .long 11119017,1778412138 2103 1.5 christos .long 4868682,2449511058 2104 1.5 christos .long 5723991,3573601749 2105 1.5 christos .long 8684676,553656609 2106 1.5 christos .long 1118481,1140868164 2107 1.5 christos .long 4539717,1358975313 2108 1.5 christos .long 1776411,3321939654 2109 1.5 christos .long 16119285,2097184125 2110 1.5 christos .long 15000804,956315961 2111 1.5 christos .long 921102,2197848963 2112 1.5 christos .long 7566195,3691044060 2113 1.5 christos .long 11184810,2852170410 2114 1.5 christos .long 15856113,2080406652 2115 1.5 christos .long 14540253,1996519287 2116 1.5 christos .long 5855577,1442862678 2117 1.5 christos .long 1315860,83887365 2118 1.5 christos .long 7105644,452991771 2119 1.5 christos .long 9605778,2751505572 2120 1.5 christos .long 5526612,352326933 2121 1.5 christos .long 13684944,872428596 2122 1.5 christos .long 7895160,503324190 2123 1.5 christos .long 7368816,469769244 2124 1.5 christos .long 14935011,4160813304 2125 1.5 christos .long 4802889,1375752786 2126 1.5 christos .long 8421504,536879136 2127 1.5 christos .long 5263440,335549460 2128 1.5 christos .long 10987431,3909151209 2129 1.5 christos .long 16185078,3170942397 2130 1.5 christos .long 7829367,3707821533 2131 1.5 christos .long 9671571,3825263844 2132 1.5 christos .long 8816262,2701173153 2133 1.5 christos .long 8618883,3758153952 2134 1.5 christos .long 2763306,2315291274 2135 1.5 christos .long 13092807,4043370993 2136 1.5 christos .long 5987163,3590379222 2137 1.5 christos .long 15329769,2046851706 2138 1.5 christos .long 15658734,3137387451 2139 1.5 christos .long 9408399,3808486371 2140 1.5 christos .long 65793,1073758272 2141 1.5 christos .long 4013373,1325420367 2142 1.5 christos .globl Camellia_cbc_encrypt 2143 1.5 christos .type Camellia_cbc_encrypt,@function 2144 1.5 christos .align 16 2145 1.5 christos Camellia_cbc_encrypt: 2146 1.5 christos .L_Camellia_cbc_encrypt_begin: 2147 1.7 christos #ifdef __CET__ 2148 1.7 christos 2149 1.7 christos .byte 243,15,30,251 2150 1.7 christos #endif 2151 1.7 christos 2152 1.5 christos pushl %ebp 2153 1.5 christos pushl %ebx 2154 1.5 christos pushl %esi 2155 1.5 christos pushl %edi 2156 1.5 christos movl 28(%esp),%ecx 2157 1.5 christos cmpl $0,%ecx 2158 1.5 christos je .L016enc_out 2159 1.5 christos pushfl 2160 1.5 christos cld 2161 1.5 christos movl 24(%esp),%eax 2162 1.5 christos movl 28(%esp),%ebx 2163 1.5 christos movl 36(%esp),%edx 2164 1.5 christos movl 40(%esp),%ebp 2165 1.5 christos leal -64(%esp),%esi 2166 1.5 christos andl $-64,%esi 2167 1.5 christos leal -127(%edx),%edi 2168 1.5 christos subl %esi,%edi 2169 1.5 christos negl %edi 2170 1.5 christos andl $960,%edi 2171 1.5 christos subl %edi,%esi 2172 1.5 christos movl 44(%esp),%edi 2173 1.5 christos xchgl %esi,%esp 2174 1.5 christos addl $4,%esp 2175 1.5 christos movl %esi,20(%esp) 2176 1.5 christos movl %eax,24(%esp) 2177 1.5 christos movl %ebx,28(%esp) 2178 1.5 christos movl %ecx,32(%esp) 2179 1.5 christos movl %edx,36(%esp) 2180 1.5 christos movl %ebp,40(%esp) 2181 1.5 christos call .L017pic_point 2182 1.5 christos .L017pic_point: 2183 1.5 christos popl %ebp 2184 1.5 christos leal .LCamellia_SBOX-.L017pic_point(%ebp),%ebp 2185 1.5 christos movl $32,%esi 2186 1.5 christos .align 4 2187 1.5 christos .L018prefetch_sbox: 2188 1.5 christos movl (%ebp),%eax 2189 1.5 christos movl 32(%ebp),%ebx 2190 1.5 christos movl 64(%ebp),%ecx 2191 1.5 christos movl 96(%ebp),%edx 2192 1.5 christos leal 128(%ebp),%ebp 2193 1.5 christos decl %esi 2194 1.5 christos jnz .L018prefetch_sbox 2195 1.5 christos movl 36(%esp),%eax 2196 1.5 christos subl $4096,%ebp 2197 1.5 christos movl 24(%esp),%esi 2198 1.5 christos movl 272(%eax),%edx 2199 1.5 christos cmpl $0,%edi 2200 1.5 christos je .L019DECRYPT 2201 1.5 christos movl 32(%esp),%ecx 2202 1.5 christos movl 40(%esp),%edi 2203 1.5 christos shll $6,%edx 2204 1.5 christos leal (%eax,%edx,1),%edx 2205 1.5 christos movl %edx,16(%esp) 2206 1.5 christos testl $4294967280,%ecx 2207 1.5 christos jz .L020enc_tail 2208 1.5 christos movl (%edi),%eax 2209 1.5 christos movl 4(%edi),%ebx 2210 1.5 christos .align 4 2211 1.5 christos .L021enc_loop: 2212 1.5 christos movl 8(%edi),%ecx 2213 1.5 christos movl 12(%edi),%edx 2214 1.5 christos xorl (%esi),%eax 2215 1.5 christos xorl 4(%esi),%ebx 2216 1.5 christos xorl 8(%esi),%ecx 2217 1.5 christos bswap %eax 2218 1.5 christos xorl 12(%esi),%edx 2219 1.5 christos bswap %ebx 2220 1.5 christos movl 36(%esp),%edi 2221 1.5 christos bswap %ecx 2222 1.5 christos bswap %edx 2223 1.5 christos call _x86_Camellia_encrypt 2224 1.5 christos movl 24(%esp),%esi 2225 1.5 christos movl 28(%esp),%edi 2226 1.5 christos bswap %eax 2227 1.5 christos bswap %ebx 2228 1.5 christos bswap %ecx 2229 1.5 christos movl %eax,(%edi) 2230 1.5 christos bswap %edx 2231 1.5 christos movl %ebx,4(%edi) 2232 1.5 christos movl %ecx,8(%edi) 2233 1.5 christos movl %edx,12(%edi) 2234 1.5 christos movl 32(%esp),%ecx 2235 1.5 christos leal 16(%esi),%esi 2236 1.5 christos movl %esi,24(%esp) 2237 1.5 christos leal 16(%edi),%edx 2238 1.5 christos movl %edx,28(%esp) 2239 1.5 christos subl $16,%ecx 2240 1.5 christos testl $4294967280,%ecx 2241 1.5 christos movl %ecx,32(%esp) 2242 1.5 christos jnz .L021enc_loop 2243 1.5 christos testl $15,%ecx 2244 1.5 christos jnz .L020enc_tail 2245 1.5 christos movl 40(%esp),%esi 2246 1.5 christos movl 8(%edi),%ecx 2247 1.5 christos movl 12(%edi),%edx 2248 1.5 christos movl %eax,(%esi) 2249 1.5 christos movl %ebx,4(%esi) 2250 1.5 christos movl %ecx,8(%esi) 2251 1.5 christos movl %edx,12(%esi) 2252 1.5 christos movl 20(%esp),%esp 2253 1.5 christos popfl 2254 1.5 christos .L016enc_out: 2255 1.5 christos popl %edi 2256 1.5 christos popl %esi 2257 1.5 christos popl %ebx 2258 1.5 christos popl %ebp 2259 1.5 christos ret 2260 1.5 christos pushfl 2261 1.5 christos .align 4 2262 1.5 christos .L020enc_tail: 2263 1.5 christos movl %edi,%eax 2264 1.5 christos movl 28(%esp),%edi 2265 1.5 christos pushl %eax 2266 1.5 christos movl $16,%ebx 2267 1.5 christos subl %ecx,%ebx 2268 1.5 christos cmpl %esi,%edi 2269 1.5 christos je .L022enc_in_place 2270 1.5 christos .align 4 2271 1.5 christos .long 2767451785 2272 1.5 christos jmp .L023enc_skip_in_place 2273 1.5 christos .L022enc_in_place: 2274 1.5 christos leal (%edi,%ecx,1),%edi 2275 1.5 christos .L023enc_skip_in_place: 2276 1.5 christos movl %ebx,%ecx 2277 1.5 christos xorl %eax,%eax 2278 1.5 christos .align 4 2279 1.5 christos .long 2868115081 2280 1.5 christos popl %edi 2281 1.5 christos movl 28(%esp),%esi 2282 1.5 christos movl (%edi),%eax 2283 1.5 christos movl 4(%edi),%ebx 2284 1.5 christos movl $16,32(%esp) 2285 1.5 christos jmp .L021enc_loop 2286 1.5 christos .align 16 2287 1.5 christos .L019DECRYPT: 2288 1.5 christos shll $6,%edx 2289 1.5 christos leal (%eax,%edx,1),%edx 2290 1.5 christos movl %eax,16(%esp) 2291 1.5 christos movl %edx,36(%esp) 2292 1.5 christos cmpl 28(%esp),%esi 2293 1.5 christos je .L024dec_in_place 2294 1.5 christos movl 40(%esp),%edi 2295 1.5 christos movl %edi,44(%esp) 2296 1.5 christos .align 4 2297 1.5 christos .L025dec_loop: 2298 1.5 christos movl (%esi),%eax 2299 1.5 christos movl 4(%esi),%ebx 2300 1.5 christos movl 8(%esi),%ecx 2301 1.5 christos bswap %eax 2302 1.5 christos movl 12(%esi),%edx 2303 1.5 christos bswap %ebx 2304 1.5 christos movl 36(%esp),%edi 2305 1.5 christos bswap %ecx 2306 1.5 christos bswap %edx 2307 1.5 christos call _x86_Camellia_decrypt 2308 1.5 christos movl 44(%esp),%edi 2309 1.5 christos movl 32(%esp),%esi 2310 1.5 christos bswap %eax 2311 1.5 christos bswap %ebx 2312 1.5 christos bswap %ecx 2313 1.5 christos xorl (%edi),%eax 2314 1.5 christos bswap %edx 2315 1.5 christos xorl 4(%edi),%ebx 2316 1.5 christos xorl 8(%edi),%ecx 2317 1.5 christos xorl 12(%edi),%edx 2318 1.5 christos subl $16,%esi 2319 1.5 christos jc .L026dec_partial 2320 1.5 christos movl %esi,32(%esp) 2321 1.5 christos movl 24(%esp),%esi 2322 1.5 christos movl 28(%esp),%edi 2323 1.5 christos movl %eax,(%edi) 2324 1.5 christos movl %ebx,4(%edi) 2325 1.5 christos movl %ecx,8(%edi) 2326 1.5 christos movl %edx,12(%edi) 2327 1.5 christos movl %esi,44(%esp) 2328 1.5 christos leal 16(%esi),%esi 2329 1.5 christos movl %esi,24(%esp) 2330 1.5 christos leal 16(%edi),%edi 2331 1.5 christos movl %edi,28(%esp) 2332 1.5 christos jnz .L025dec_loop 2333 1.5 christos movl 44(%esp),%edi 2334 1.5 christos .L027dec_end: 2335 1.5 christos movl 40(%esp),%esi 2336 1.5 christos movl (%edi),%eax 2337 1.5 christos movl 4(%edi),%ebx 2338 1.5 christos movl 8(%edi),%ecx 2339 1.5 christos movl 12(%edi),%edx 2340 1.5 christos movl %eax,(%esi) 2341 1.5 christos movl %ebx,4(%esi) 2342 1.5 christos movl %ecx,8(%esi) 2343 1.5 christos movl %edx,12(%esi) 2344 1.5 christos jmp .L028dec_out 2345 1.5 christos .align 4 2346 1.5 christos .L026dec_partial: 2347 1.5 christos leal 44(%esp),%edi 2348 1.5 christos movl %eax,(%edi) 2349 1.5 christos movl %ebx,4(%edi) 2350 1.5 christos movl %ecx,8(%edi) 2351 1.5 christos movl %edx,12(%edi) 2352 1.5 christos leal 16(%esi),%ecx 2353 1.5 christos movl %edi,%esi 2354 1.5 christos movl 28(%esp),%edi 2355 1.5 christos .long 2767451785 2356 1.5 christos movl 24(%esp),%edi 2357 1.5 christos jmp .L027dec_end 2358 1.5 christos .align 4 2359 1.5 christos .L024dec_in_place: 2360 1.5 christos .L029dec_in_place_loop: 2361 1.5 christos leal 44(%esp),%edi 2362 1.5 christos movl (%esi),%eax 2363 1.5 christos movl 4(%esi),%ebx 2364 1.5 christos movl 8(%esi),%ecx 2365 1.5 christos movl 12(%esi),%edx 2366 1.5 christos movl %eax,(%edi) 2367 1.5 christos movl %ebx,4(%edi) 2368 1.5 christos movl %ecx,8(%edi) 2369 1.5 christos bswap %eax 2370 1.5 christos movl %edx,12(%edi) 2371 1.5 christos bswap %ebx 2372 1.5 christos movl 36(%esp),%edi 2373 1.5 christos bswap %ecx 2374 1.5 christos bswap %edx 2375 1.5 christos call _x86_Camellia_decrypt 2376 1.5 christos movl 40(%esp),%edi 2377 1.5 christos movl 28(%esp),%esi 2378 1.5 christos bswap %eax 2379 1.5 christos bswap %ebx 2380 1.5 christos bswap %ecx 2381 1.5 christos xorl (%edi),%eax 2382 1.5 christos bswap %edx 2383 1.5 christos xorl 4(%edi),%ebx 2384 1.5 christos xorl 8(%edi),%ecx 2385 1.5 christos xorl 12(%edi),%edx 2386 1.5 christos movl %eax,(%esi) 2387 1.5 christos movl %ebx,4(%esi) 2388 1.5 christos movl %ecx,8(%esi) 2389 1.5 christos movl %edx,12(%esi) 2390 1.5 christos leal 16(%esi),%esi 2391 1.5 christos movl %esi,28(%esp) 2392 1.5 christos leal 44(%esp),%esi 2393 1.5 christos movl (%esi),%eax 2394 1.5 christos movl 4(%esi),%ebx 2395 1.5 christos movl 8(%esi),%ecx 2396 1.5 christos movl 12(%esi),%edx 2397 1.5 christos movl %eax,(%edi) 2398 1.5 christos movl %ebx,4(%edi) 2399 1.5 christos movl %ecx,8(%edi) 2400 1.5 christos movl %edx,12(%edi) 2401 1.5 christos movl 24(%esp),%esi 2402 1.5 christos leal 16(%esi),%esi 2403 1.5 christos movl %esi,24(%esp) 2404 1.5 christos movl 32(%esp),%ecx 2405 1.5 christos subl $16,%ecx 2406 1.5 christos jc .L030dec_in_place_partial 2407 1.5 christos movl %ecx,32(%esp) 2408 1.5 christos jnz .L029dec_in_place_loop 2409 1.5 christos jmp .L028dec_out 2410 1.5 christos .align 4 2411 1.5 christos .L030dec_in_place_partial: 2412 1.5 christos movl 28(%esp),%edi 2413 1.5 christos leal 44(%esp),%esi 2414 1.5 christos leal (%edi,%ecx,1),%edi 2415 1.5 christos leal 16(%esi,%ecx,1),%esi 2416 1.5 christos negl %ecx 2417 1.5 christos .long 2767451785 2418 1.5 christos .align 4 2419 1.5 christos .L028dec_out: 2420 1.5 christos movl 20(%esp),%esp 2421 1.5 christos popfl 2422 1.5 christos popl %edi 2423 1.5 christos popl %esi 2424 1.5 christos popl %ebx 2425 1.5 christos popl %ebp 2426 1.5 christos ret 2427 1.5 christos .size Camellia_cbc_encrypt,.-.L_Camellia_cbc_encrypt_begin 2428 1.5 christos .byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54 2429 1.5 christos .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115 2430 1.5 christos .byte 115,108,46,111,114,103,62,0 2431 1.7 christos 2432 1.7 christos .section ".note.gnu.property", "a" 2433 1.7 christos .p2align 2 2434 1.7 christos .long 1f - 0f 2435 1.7 christos .long 4f - 1f 2436 1.7 christos .long 5 2437 1.7 christos 0: 2438 1.7 christos .asciz "GNU" 2439 1.7 christos 1: 2440 1.7 christos .p2align 2 2441 1.7 christos .long 0xc0000002 2442 1.7 christos .long 3f - 2f 2443 1.7 christos 2: 2444 1.7 christos .long 3 2445 1.7 christos 3: 2446 1.7 christos .p2align 2 2447 1.7 christos 4: 2448