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