1*ebfedea0SLionel Sambuc#include <machine/asm.h> 2*ebfedea0SLionel Sambuc.text 3*ebfedea0SLionel Sambuc.globl BF_encrypt 4*ebfedea0SLionel Sambuc.type BF_encrypt,@function 5*ebfedea0SLionel Sambuc.align 16 6*ebfedea0SLionel SambucBF_encrypt: 7*ebfedea0SLionel Sambuc.L_BF_encrypt_begin: 8*ebfedea0SLionel Sambuc pushl %ebp 9*ebfedea0SLionel Sambuc pushl %ebx 10*ebfedea0SLionel Sambuc pushl %esi 11*ebfedea0SLionel Sambuc pushl %edi 12*ebfedea0SLionel Sambuc 13*ebfedea0SLionel Sambuc 14*ebfedea0SLionel Sambuc movl 20(%esp),%eax 15*ebfedea0SLionel Sambuc movl (%eax),%ecx 16*ebfedea0SLionel Sambuc movl 4(%eax),%edx 17*ebfedea0SLionel Sambuc 18*ebfedea0SLionel Sambuc 19*ebfedea0SLionel Sambuc movl 24(%esp),%edi 20*ebfedea0SLionel Sambuc xorl %eax,%eax 21*ebfedea0SLionel Sambuc xorl %ebx,%ebx 22*ebfedea0SLionel Sambuc xorl (%edi),%ecx 23*ebfedea0SLionel Sambuc 24*ebfedea0SLionel Sambuc 25*ebfedea0SLionel Sambuc rorl $16,%ecx 26*ebfedea0SLionel Sambuc movl 4(%edi),%esi 27*ebfedea0SLionel Sambuc movb %ch,%al 28*ebfedea0SLionel Sambuc movb %cl,%bl 29*ebfedea0SLionel Sambuc rorl $16,%ecx 30*ebfedea0SLionel Sambuc xorl %esi,%edx 31*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 32*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 33*ebfedea0SLionel Sambuc movb %ch,%al 34*ebfedea0SLionel Sambuc movb %cl,%bl 35*ebfedea0SLionel Sambuc addl %ebp,%esi 36*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 37*ebfedea0SLionel Sambuc xorl %eax,%esi 38*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 39*ebfedea0SLionel Sambuc addl %ebp,%esi 40*ebfedea0SLionel Sambuc xorl %eax,%eax 41*ebfedea0SLionel Sambuc xorl %esi,%edx 42*ebfedea0SLionel Sambuc 43*ebfedea0SLionel Sambuc 44*ebfedea0SLionel Sambuc rorl $16,%edx 45*ebfedea0SLionel Sambuc movl 8(%edi),%esi 46*ebfedea0SLionel Sambuc movb %dh,%al 47*ebfedea0SLionel Sambuc movb %dl,%bl 48*ebfedea0SLionel Sambuc rorl $16,%edx 49*ebfedea0SLionel Sambuc xorl %esi,%ecx 50*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 51*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 52*ebfedea0SLionel Sambuc movb %dh,%al 53*ebfedea0SLionel Sambuc movb %dl,%bl 54*ebfedea0SLionel Sambuc addl %ebp,%esi 55*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 56*ebfedea0SLionel Sambuc xorl %eax,%esi 57*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 58*ebfedea0SLionel Sambuc addl %ebp,%esi 59*ebfedea0SLionel Sambuc xorl %eax,%eax 60*ebfedea0SLionel Sambuc xorl %esi,%ecx 61*ebfedea0SLionel Sambuc 62*ebfedea0SLionel Sambuc 63*ebfedea0SLionel Sambuc rorl $16,%ecx 64*ebfedea0SLionel Sambuc movl 12(%edi),%esi 65*ebfedea0SLionel Sambuc movb %ch,%al 66*ebfedea0SLionel Sambuc movb %cl,%bl 67*ebfedea0SLionel Sambuc rorl $16,%ecx 68*ebfedea0SLionel Sambuc xorl %esi,%edx 69*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 70*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 71*ebfedea0SLionel Sambuc movb %ch,%al 72*ebfedea0SLionel Sambuc movb %cl,%bl 73*ebfedea0SLionel Sambuc addl %ebp,%esi 74*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 75*ebfedea0SLionel Sambuc xorl %eax,%esi 76*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 77*ebfedea0SLionel Sambuc addl %ebp,%esi 78*ebfedea0SLionel Sambuc xorl %eax,%eax 79*ebfedea0SLionel Sambuc xorl %esi,%edx 80*ebfedea0SLionel Sambuc 81*ebfedea0SLionel Sambuc 82*ebfedea0SLionel Sambuc rorl $16,%edx 83*ebfedea0SLionel Sambuc movl 16(%edi),%esi 84*ebfedea0SLionel Sambuc movb %dh,%al 85*ebfedea0SLionel Sambuc movb %dl,%bl 86*ebfedea0SLionel Sambuc rorl $16,%edx 87*ebfedea0SLionel Sambuc xorl %esi,%ecx 88*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 89*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 90*ebfedea0SLionel Sambuc movb %dh,%al 91*ebfedea0SLionel Sambuc movb %dl,%bl 92*ebfedea0SLionel Sambuc addl %ebp,%esi 93*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 94*ebfedea0SLionel Sambuc xorl %eax,%esi 95*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 96*ebfedea0SLionel Sambuc addl %ebp,%esi 97*ebfedea0SLionel Sambuc xorl %eax,%eax 98*ebfedea0SLionel Sambuc xorl %esi,%ecx 99*ebfedea0SLionel Sambuc 100*ebfedea0SLionel Sambuc 101*ebfedea0SLionel Sambuc rorl $16,%ecx 102*ebfedea0SLionel Sambuc movl 20(%edi),%esi 103*ebfedea0SLionel Sambuc movb %ch,%al 104*ebfedea0SLionel Sambuc movb %cl,%bl 105*ebfedea0SLionel Sambuc rorl $16,%ecx 106*ebfedea0SLionel Sambuc xorl %esi,%edx 107*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 108*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 109*ebfedea0SLionel Sambuc movb %ch,%al 110*ebfedea0SLionel Sambuc movb %cl,%bl 111*ebfedea0SLionel Sambuc addl %ebp,%esi 112*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 113*ebfedea0SLionel Sambuc xorl %eax,%esi 114*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 115*ebfedea0SLionel Sambuc addl %ebp,%esi 116*ebfedea0SLionel Sambuc xorl %eax,%eax 117*ebfedea0SLionel Sambuc xorl %esi,%edx 118*ebfedea0SLionel Sambuc 119*ebfedea0SLionel Sambuc 120*ebfedea0SLionel Sambuc rorl $16,%edx 121*ebfedea0SLionel Sambuc movl 24(%edi),%esi 122*ebfedea0SLionel Sambuc movb %dh,%al 123*ebfedea0SLionel Sambuc movb %dl,%bl 124*ebfedea0SLionel Sambuc rorl $16,%edx 125*ebfedea0SLionel Sambuc xorl %esi,%ecx 126*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 127*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 128*ebfedea0SLionel Sambuc movb %dh,%al 129*ebfedea0SLionel Sambuc movb %dl,%bl 130*ebfedea0SLionel Sambuc addl %ebp,%esi 131*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 132*ebfedea0SLionel Sambuc xorl %eax,%esi 133*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 134*ebfedea0SLionel Sambuc addl %ebp,%esi 135*ebfedea0SLionel Sambuc xorl %eax,%eax 136*ebfedea0SLionel Sambuc xorl %esi,%ecx 137*ebfedea0SLionel Sambuc 138*ebfedea0SLionel Sambuc 139*ebfedea0SLionel Sambuc rorl $16,%ecx 140*ebfedea0SLionel Sambuc movl 28(%edi),%esi 141*ebfedea0SLionel Sambuc movb %ch,%al 142*ebfedea0SLionel Sambuc movb %cl,%bl 143*ebfedea0SLionel Sambuc rorl $16,%ecx 144*ebfedea0SLionel Sambuc xorl %esi,%edx 145*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 146*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 147*ebfedea0SLionel Sambuc movb %ch,%al 148*ebfedea0SLionel Sambuc movb %cl,%bl 149*ebfedea0SLionel Sambuc addl %ebp,%esi 150*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 151*ebfedea0SLionel Sambuc xorl %eax,%esi 152*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 153*ebfedea0SLionel Sambuc addl %ebp,%esi 154*ebfedea0SLionel Sambuc xorl %eax,%eax 155*ebfedea0SLionel Sambuc xorl %esi,%edx 156*ebfedea0SLionel Sambuc 157*ebfedea0SLionel Sambuc 158*ebfedea0SLionel Sambuc rorl $16,%edx 159*ebfedea0SLionel Sambuc movl 32(%edi),%esi 160*ebfedea0SLionel Sambuc movb %dh,%al 161*ebfedea0SLionel Sambuc movb %dl,%bl 162*ebfedea0SLionel Sambuc rorl $16,%edx 163*ebfedea0SLionel Sambuc xorl %esi,%ecx 164*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 165*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 166*ebfedea0SLionel Sambuc movb %dh,%al 167*ebfedea0SLionel Sambuc movb %dl,%bl 168*ebfedea0SLionel Sambuc addl %ebp,%esi 169*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 170*ebfedea0SLionel Sambuc xorl %eax,%esi 171*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 172*ebfedea0SLionel Sambuc addl %ebp,%esi 173*ebfedea0SLionel Sambuc xorl %eax,%eax 174*ebfedea0SLionel Sambuc xorl %esi,%ecx 175*ebfedea0SLionel Sambuc 176*ebfedea0SLionel Sambuc 177*ebfedea0SLionel Sambuc rorl $16,%ecx 178*ebfedea0SLionel Sambuc movl 36(%edi),%esi 179*ebfedea0SLionel Sambuc movb %ch,%al 180*ebfedea0SLionel Sambuc movb %cl,%bl 181*ebfedea0SLionel Sambuc rorl $16,%ecx 182*ebfedea0SLionel Sambuc xorl %esi,%edx 183*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 184*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 185*ebfedea0SLionel Sambuc movb %ch,%al 186*ebfedea0SLionel Sambuc movb %cl,%bl 187*ebfedea0SLionel Sambuc addl %ebp,%esi 188*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 189*ebfedea0SLionel Sambuc xorl %eax,%esi 190*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 191*ebfedea0SLionel Sambuc addl %ebp,%esi 192*ebfedea0SLionel Sambuc xorl %eax,%eax 193*ebfedea0SLionel Sambuc xorl %esi,%edx 194*ebfedea0SLionel Sambuc 195*ebfedea0SLionel Sambuc 196*ebfedea0SLionel Sambuc rorl $16,%edx 197*ebfedea0SLionel Sambuc movl 40(%edi),%esi 198*ebfedea0SLionel Sambuc movb %dh,%al 199*ebfedea0SLionel Sambuc movb %dl,%bl 200*ebfedea0SLionel Sambuc rorl $16,%edx 201*ebfedea0SLionel Sambuc xorl %esi,%ecx 202*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 203*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 204*ebfedea0SLionel Sambuc movb %dh,%al 205*ebfedea0SLionel Sambuc movb %dl,%bl 206*ebfedea0SLionel Sambuc addl %ebp,%esi 207*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 208*ebfedea0SLionel Sambuc xorl %eax,%esi 209*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 210*ebfedea0SLionel Sambuc addl %ebp,%esi 211*ebfedea0SLionel Sambuc xorl %eax,%eax 212*ebfedea0SLionel Sambuc xorl %esi,%ecx 213*ebfedea0SLionel Sambuc 214*ebfedea0SLionel Sambuc 215*ebfedea0SLionel Sambuc rorl $16,%ecx 216*ebfedea0SLionel Sambuc movl 44(%edi),%esi 217*ebfedea0SLionel Sambuc movb %ch,%al 218*ebfedea0SLionel Sambuc movb %cl,%bl 219*ebfedea0SLionel Sambuc rorl $16,%ecx 220*ebfedea0SLionel Sambuc xorl %esi,%edx 221*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 222*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 223*ebfedea0SLionel Sambuc movb %ch,%al 224*ebfedea0SLionel Sambuc movb %cl,%bl 225*ebfedea0SLionel Sambuc addl %ebp,%esi 226*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 227*ebfedea0SLionel Sambuc xorl %eax,%esi 228*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 229*ebfedea0SLionel Sambuc addl %ebp,%esi 230*ebfedea0SLionel Sambuc xorl %eax,%eax 231*ebfedea0SLionel Sambuc xorl %esi,%edx 232*ebfedea0SLionel Sambuc 233*ebfedea0SLionel Sambuc 234*ebfedea0SLionel Sambuc rorl $16,%edx 235*ebfedea0SLionel Sambuc movl 48(%edi),%esi 236*ebfedea0SLionel Sambuc movb %dh,%al 237*ebfedea0SLionel Sambuc movb %dl,%bl 238*ebfedea0SLionel Sambuc rorl $16,%edx 239*ebfedea0SLionel Sambuc xorl %esi,%ecx 240*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 241*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 242*ebfedea0SLionel Sambuc movb %dh,%al 243*ebfedea0SLionel Sambuc movb %dl,%bl 244*ebfedea0SLionel Sambuc addl %ebp,%esi 245*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 246*ebfedea0SLionel Sambuc xorl %eax,%esi 247*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 248*ebfedea0SLionel Sambuc addl %ebp,%esi 249*ebfedea0SLionel Sambuc xorl %eax,%eax 250*ebfedea0SLionel Sambuc xorl %esi,%ecx 251*ebfedea0SLionel Sambuc 252*ebfedea0SLionel Sambuc 253*ebfedea0SLionel Sambuc rorl $16,%ecx 254*ebfedea0SLionel Sambuc movl 52(%edi),%esi 255*ebfedea0SLionel Sambuc movb %ch,%al 256*ebfedea0SLionel Sambuc movb %cl,%bl 257*ebfedea0SLionel Sambuc rorl $16,%ecx 258*ebfedea0SLionel Sambuc xorl %esi,%edx 259*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 260*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 261*ebfedea0SLionel Sambuc movb %ch,%al 262*ebfedea0SLionel Sambuc movb %cl,%bl 263*ebfedea0SLionel Sambuc addl %ebp,%esi 264*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 265*ebfedea0SLionel Sambuc xorl %eax,%esi 266*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 267*ebfedea0SLionel Sambuc addl %ebp,%esi 268*ebfedea0SLionel Sambuc xorl %eax,%eax 269*ebfedea0SLionel Sambuc xorl %esi,%edx 270*ebfedea0SLionel Sambuc 271*ebfedea0SLionel Sambuc 272*ebfedea0SLionel Sambuc rorl $16,%edx 273*ebfedea0SLionel Sambuc movl 56(%edi),%esi 274*ebfedea0SLionel Sambuc movb %dh,%al 275*ebfedea0SLionel Sambuc movb %dl,%bl 276*ebfedea0SLionel Sambuc rorl $16,%edx 277*ebfedea0SLionel Sambuc xorl %esi,%ecx 278*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 279*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 280*ebfedea0SLionel Sambuc movb %dh,%al 281*ebfedea0SLionel Sambuc movb %dl,%bl 282*ebfedea0SLionel Sambuc addl %ebp,%esi 283*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 284*ebfedea0SLionel Sambuc xorl %eax,%esi 285*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 286*ebfedea0SLionel Sambuc addl %ebp,%esi 287*ebfedea0SLionel Sambuc xorl %eax,%eax 288*ebfedea0SLionel Sambuc xorl %esi,%ecx 289*ebfedea0SLionel Sambuc 290*ebfedea0SLionel Sambuc 291*ebfedea0SLionel Sambuc rorl $16,%ecx 292*ebfedea0SLionel Sambuc movl 60(%edi),%esi 293*ebfedea0SLionel Sambuc movb %ch,%al 294*ebfedea0SLionel Sambuc movb %cl,%bl 295*ebfedea0SLionel Sambuc rorl $16,%ecx 296*ebfedea0SLionel Sambuc xorl %esi,%edx 297*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 298*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 299*ebfedea0SLionel Sambuc movb %ch,%al 300*ebfedea0SLionel Sambuc movb %cl,%bl 301*ebfedea0SLionel Sambuc addl %ebp,%esi 302*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 303*ebfedea0SLionel Sambuc xorl %eax,%esi 304*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 305*ebfedea0SLionel Sambuc addl %ebp,%esi 306*ebfedea0SLionel Sambuc xorl %eax,%eax 307*ebfedea0SLionel Sambuc xorl %esi,%edx 308*ebfedea0SLionel Sambuc 309*ebfedea0SLionel Sambuc 310*ebfedea0SLionel Sambuc rorl $16,%edx 311*ebfedea0SLionel Sambuc movl 64(%edi),%esi 312*ebfedea0SLionel Sambuc movb %dh,%al 313*ebfedea0SLionel Sambuc movb %dl,%bl 314*ebfedea0SLionel Sambuc rorl $16,%edx 315*ebfedea0SLionel Sambuc xorl %esi,%ecx 316*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 317*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 318*ebfedea0SLionel Sambuc movb %dh,%al 319*ebfedea0SLionel Sambuc movb %dl,%bl 320*ebfedea0SLionel Sambuc addl %ebp,%esi 321*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 322*ebfedea0SLionel Sambuc xorl %eax,%esi 323*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 324*ebfedea0SLionel Sambuc addl %ebp,%esi 325*ebfedea0SLionel Sambuc xorl %eax,%eax 326*ebfedea0SLionel Sambuc xorl %esi,%ecx 327*ebfedea0SLionel Sambuc xorl 68(%edi),%edx 328*ebfedea0SLionel Sambuc movl 20(%esp),%eax 329*ebfedea0SLionel Sambuc movl %edx,(%eax) 330*ebfedea0SLionel Sambuc movl %ecx,4(%eax) 331*ebfedea0SLionel Sambuc popl %edi 332*ebfedea0SLionel Sambuc popl %esi 333*ebfedea0SLionel Sambuc popl %ebx 334*ebfedea0SLionel Sambuc popl %ebp 335*ebfedea0SLionel Sambuc ret 336*ebfedea0SLionel Sambuc.size BF_encrypt,.-.L_BF_encrypt_begin 337*ebfedea0SLionel Sambuc.globl BF_decrypt 338*ebfedea0SLionel Sambuc.type BF_decrypt,@function 339*ebfedea0SLionel Sambuc.align 16 340*ebfedea0SLionel SambucBF_decrypt: 341*ebfedea0SLionel Sambuc.L_BF_decrypt_begin: 342*ebfedea0SLionel Sambuc pushl %ebp 343*ebfedea0SLionel Sambuc pushl %ebx 344*ebfedea0SLionel Sambuc pushl %esi 345*ebfedea0SLionel Sambuc pushl %edi 346*ebfedea0SLionel Sambuc 347*ebfedea0SLionel Sambuc 348*ebfedea0SLionel Sambuc movl 20(%esp),%eax 349*ebfedea0SLionel Sambuc movl (%eax),%ecx 350*ebfedea0SLionel Sambuc movl 4(%eax),%edx 351*ebfedea0SLionel Sambuc 352*ebfedea0SLionel Sambuc 353*ebfedea0SLionel Sambuc movl 24(%esp),%edi 354*ebfedea0SLionel Sambuc xorl %eax,%eax 355*ebfedea0SLionel Sambuc xorl %ebx,%ebx 356*ebfedea0SLionel Sambuc xorl 68(%edi),%ecx 357*ebfedea0SLionel Sambuc 358*ebfedea0SLionel Sambuc 359*ebfedea0SLionel Sambuc rorl $16,%ecx 360*ebfedea0SLionel Sambuc movl 64(%edi),%esi 361*ebfedea0SLionel Sambuc movb %ch,%al 362*ebfedea0SLionel Sambuc movb %cl,%bl 363*ebfedea0SLionel Sambuc rorl $16,%ecx 364*ebfedea0SLionel Sambuc xorl %esi,%edx 365*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 366*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 367*ebfedea0SLionel Sambuc movb %ch,%al 368*ebfedea0SLionel Sambuc movb %cl,%bl 369*ebfedea0SLionel Sambuc addl %ebp,%esi 370*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 371*ebfedea0SLionel Sambuc xorl %eax,%esi 372*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 373*ebfedea0SLionel Sambuc addl %ebp,%esi 374*ebfedea0SLionel Sambuc xorl %eax,%eax 375*ebfedea0SLionel Sambuc xorl %esi,%edx 376*ebfedea0SLionel Sambuc 377*ebfedea0SLionel Sambuc 378*ebfedea0SLionel Sambuc rorl $16,%edx 379*ebfedea0SLionel Sambuc movl 60(%edi),%esi 380*ebfedea0SLionel Sambuc movb %dh,%al 381*ebfedea0SLionel Sambuc movb %dl,%bl 382*ebfedea0SLionel Sambuc rorl $16,%edx 383*ebfedea0SLionel Sambuc xorl %esi,%ecx 384*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 385*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 386*ebfedea0SLionel Sambuc movb %dh,%al 387*ebfedea0SLionel Sambuc movb %dl,%bl 388*ebfedea0SLionel Sambuc addl %ebp,%esi 389*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 390*ebfedea0SLionel Sambuc xorl %eax,%esi 391*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 392*ebfedea0SLionel Sambuc addl %ebp,%esi 393*ebfedea0SLionel Sambuc xorl %eax,%eax 394*ebfedea0SLionel Sambuc xorl %esi,%ecx 395*ebfedea0SLionel Sambuc 396*ebfedea0SLionel Sambuc 397*ebfedea0SLionel Sambuc rorl $16,%ecx 398*ebfedea0SLionel Sambuc movl 56(%edi),%esi 399*ebfedea0SLionel Sambuc movb %ch,%al 400*ebfedea0SLionel Sambuc movb %cl,%bl 401*ebfedea0SLionel Sambuc rorl $16,%ecx 402*ebfedea0SLionel Sambuc xorl %esi,%edx 403*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 404*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 405*ebfedea0SLionel Sambuc movb %ch,%al 406*ebfedea0SLionel Sambuc movb %cl,%bl 407*ebfedea0SLionel Sambuc addl %ebp,%esi 408*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 409*ebfedea0SLionel Sambuc xorl %eax,%esi 410*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 411*ebfedea0SLionel Sambuc addl %ebp,%esi 412*ebfedea0SLionel Sambuc xorl %eax,%eax 413*ebfedea0SLionel Sambuc xorl %esi,%edx 414*ebfedea0SLionel Sambuc 415*ebfedea0SLionel Sambuc 416*ebfedea0SLionel Sambuc rorl $16,%edx 417*ebfedea0SLionel Sambuc movl 52(%edi),%esi 418*ebfedea0SLionel Sambuc movb %dh,%al 419*ebfedea0SLionel Sambuc movb %dl,%bl 420*ebfedea0SLionel Sambuc rorl $16,%edx 421*ebfedea0SLionel Sambuc xorl %esi,%ecx 422*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 423*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 424*ebfedea0SLionel Sambuc movb %dh,%al 425*ebfedea0SLionel Sambuc movb %dl,%bl 426*ebfedea0SLionel Sambuc addl %ebp,%esi 427*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 428*ebfedea0SLionel Sambuc xorl %eax,%esi 429*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 430*ebfedea0SLionel Sambuc addl %ebp,%esi 431*ebfedea0SLionel Sambuc xorl %eax,%eax 432*ebfedea0SLionel Sambuc xorl %esi,%ecx 433*ebfedea0SLionel Sambuc 434*ebfedea0SLionel Sambuc 435*ebfedea0SLionel Sambuc rorl $16,%ecx 436*ebfedea0SLionel Sambuc movl 48(%edi),%esi 437*ebfedea0SLionel Sambuc movb %ch,%al 438*ebfedea0SLionel Sambuc movb %cl,%bl 439*ebfedea0SLionel Sambuc rorl $16,%ecx 440*ebfedea0SLionel Sambuc xorl %esi,%edx 441*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 442*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 443*ebfedea0SLionel Sambuc movb %ch,%al 444*ebfedea0SLionel Sambuc movb %cl,%bl 445*ebfedea0SLionel Sambuc addl %ebp,%esi 446*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 447*ebfedea0SLionel Sambuc xorl %eax,%esi 448*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 449*ebfedea0SLionel Sambuc addl %ebp,%esi 450*ebfedea0SLionel Sambuc xorl %eax,%eax 451*ebfedea0SLionel Sambuc xorl %esi,%edx 452*ebfedea0SLionel Sambuc 453*ebfedea0SLionel Sambuc 454*ebfedea0SLionel Sambuc rorl $16,%edx 455*ebfedea0SLionel Sambuc movl 44(%edi),%esi 456*ebfedea0SLionel Sambuc movb %dh,%al 457*ebfedea0SLionel Sambuc movb %dl,%bl 458*ebfedea0SLionel Sambuc rorl $16,%edx 459*ebfedea0SLionel Sambuc xorl %esi,%ecx 460*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 461*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 462*ebfedea0SLionel Sambuc movb %dh,%al 463*ebfedea0SLionel Sambuc movb %dl,%bl 464*ebfedea0SLionel Sambuc addl %ebp,%esi 465*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 466*ebfedea0SLionel Sambuc xorl %eax,%esi 467*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 468*ebfedea0SLionel Sambuc addl %ebp,%esi 469*ebfedea0SLionel Sambuc xorl %eax,%eax 470*ebfedea0SLionel Sambuc xorl %esi,%ecx 471*ebfedea0SLionel Sambuc 472*ebfedea0SLionel Sambuc 473*ebfedea0SLionel Sambuc rorl $16,%ecx 474*ebfedea0SLionel Sambuc movl 40(%edi),%esi 475*ebfedea0SLionel Sambuc movb %ch,%al 476*ebfedea0SLionel Sambuc movb %cl,%bl 477*ebfedea0SLionel Sambuc rorl $16,%ecx 478*ebfedea0SLionel Sambuc xorl %esi,%edx 479*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 480*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 481*ebfedea0SLionel Sambuc movb %ch,%al 482*ebfedea0SLionel Sambuc movb %cl,%bl 483*ebfedea0SLionel Sambuc addl %ebp,%esi 484*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 485*ebfedea0SLionel Sambuc xorl %eax,%esi 486*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 487*ebfedea0SLionel Sambuc addl %ebp,%esi 488*ebfedea0SLionel Sambuc xorl %eax,%eax 489*ebfedea0SLionel Sambuc xorl %esi,%edx 490*ebfedea0SLionel Sambuc 491*ebfedea0SLionel Sambuc 492*ebfedea0SLionel Sambuc rorl $16,%edx 493*ebfedea0SLionel Sambuc movl 36(%edi),%esi 494*ebfedea0SLionel Sambuc movb %dh,%al 495*ebfedea0SLionel Sambuc movb %dl,%bl 496*ebfedea0SLionel Sambuc rorl $16,%edx 497*ebfedea0SLionel Sambuc xorl %esi,%ecx 498*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 499*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 500*ebfedea0SLionel Sambuc movb %dh,%al 501*ebfedea0SLionel Sambuc movb %dl,%bl 502*ebfedea0SLionel Sambuc addl %ebp,%esi 503*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 504*ebfedea0SLionel Sambuc xorl %eax,%esi 505*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 506*ebfedea0SLionel Sambuc addl %ebp,%esi 507*ebfedea0SLionel Sambuc xorl %eax,%eax 508*ebfedea0SLionel Sambuc xorl %esi,%ecx 509*ebfedea0SLionel Sambuc 510*ebfedea0SLionel Sambuc 511*ebfedea0SLionel Sambuc rorl $16,%ecx 512*ebfedea0SLionel Sambuc movl 32(%edi),%esi 513*ebfedea0SLionel Sambuc movb %ch,%al 514*ebfedea0SLionel Sambuc movb %cl,%bl 515*ebfedea0SLionel Sambuc rorl $16,%ecx 516*ebfedea0SLionel Sambuc xorl %esi,%edx 517*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 518*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 519*ebfedea0SLionel Sambuc movb %ch,%al 520*ebfedea0SLionel Sambuc movb %cl,%bl 521*ebfedea0SLionel Sambuc addl %ebp,%esi 522*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 523*ebfedea0SLionel Sambuc xorl %eax,%esi 524*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 525*ebfedea0SLionel Sambuc addl %ebp,%esi 526*ebfedea0SLionel Sambuc xorl %eax,%eax 527*ebfedea0SLionel Sambuc xorl %esi,%edx 528*ebfedea0SLionel Sambuc 529*ebfedea0SLionel Sambuc 530*ebfedea0SLionel Sambuc rorl $16,%edx 531*ebfedea0SLionel Sambuc movl 28(%edi),%esi 532*ebfedea0SLionel Sambuc movb %dh,%al 533*ebfedea0SLionel Sambuc movb %dl,%bl 534*ebfedea0SLionel Sambuc rorl $16,%edx 535*ebfedea0SLionel Sambuc xorl %esi,%ecx 536*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 537*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 538*ebfedea0SLionel Sambuc movb %dh,%al 539*ebfedea0SLionel Sambuc movb %dl,%bl 540*ebfedea0SLionel Sambuc addl %ebp,%esi 541*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 542*ebfedea0SLionel Sambuc xorl %eax,%esi 543*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 544*ebfedea0SLionel Sambuc addl %ebp,%esi 545*ebfedea0SLionel Sambuc xorl %eax,%eax 546*ebfedea0SLionel Sambuc xorl %esi,%ecx 547*ebfedea0SLionel Sambuc 548*ebfedea0SLionel Sambuc 549*ebfedea0SLionel Sambuc rorl $16,%ecx 550*ebfedea0SLionel Sambuc movl 24(%edi),%esi 551*ebfedea0SLionel Sambuc movb %ch,%al 552*ebfedea0SLionel Sambuc movb %cl,%bl 553*ebfedea0SLionel Sambuc rorl $16,%ecx 554*ebfedea0SLionel Sambuc xorl %esi,%edx 555*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 556*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 557*ebfedea0SLionel Sambuc movb %ch,%al 558*ebfedea0SLionel Sambuc movb %cl,%bl 559*ebfedea0SLionel Sambuc addl %ebp,%esi 560*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 561*ebfedea0SLionel Sambuc xorl %eax,%esi 562*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 563*ebfedea0SLionel Sambuc addl %ebp,%esi 564*ebfedea0SLionel Sambuc xorl %eax,%eax 565*ebfedea0SLionel Sambuc xorl %esi,%edx 566*ebfedea0SLionel Sambuc 567*ebfedea0SLionel Sambuc 568*ebfedea0SLionel Sambuc rorl $16,%edx 569*ebfedea0SLionel Sambuc movl 20(%edi),%esi 570*ebfedea0SLionel Sambuc movb %dh,%al 571*ebfedea0SLionel Sambuc movb %dl,%bl 572*ebfedea0SLionel Sambuc rorl $16,%edx 573*ebfedea0SLionel Sambuc xorl %esi,%ecx 574*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 575*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 576*ebfedea0SLionel Sambuc movb %dh,%al 577*ebfedea0SLionel Sambuc movb %dl,%bl 578*ebfedea0SLionel Sambuc addl %ebp,%esi 579*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 580*ebfedea0SLionel Sambuc xorl %eax,%esi 581*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 582*ebfedea0SLionel Sambuc addl %ebp,%esi 583*ebfedea0SLionel Sambuc xorl %eax,%eax 584*ebfedea0SLionel Sambuc xorl %esi,%ecx 585*ebfedea0SLionel Sambuc 586*ebfedea0SLionel Sambuc 587*ebfedea0SLionel Sambuc rorl $16,%ecx 588*ebfedea0SLionel Sambuc movl 16(%edi),%esi 589*ebfedea0SLionel Sambuc movb %ch,%al 590*ebfedea0SLionel Sambuc movb %cl,%bl 591*ebfedea0SLionel Sambuc rorl $16,%ecx 592*ebfedea0SLionel Sambuc xorl %esi,%edx 593*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 594*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 595*ebfedea0SLionel Sambuc movb %ch,%al 596*ebfedea0SLionel Sambuc movb %cl,%bl 597*ebfedea0SLionel Sambuc addl %ebp,%esi 598*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 599*ebfedea0SLionel Sambuc xorl %eax,%esi 600*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 601*ebfedea0SLionel Sambuc addl %ebp,%esi 602*ebfedea0SLionel Sambuc xorl %eax,%eax 603*ebfedea0SLionel Sambuc xorl %esi,%edx 604*ebfedea0SLionel Sambuc 605*ebfedea0SLionel Sambuc 606*ebfedea0SLionel Sambuc rorl $16,%edx 607*ebfedea0SLionel Sambuc movl 12(%edi),%esi 608*ebfedea0SLionel Sambuc movb %dh,%al 609*ebfedea0SLionel Sambuc movb %dl,%bl 610*ebfedea0SLionel Sambuc rorl $16,%edx 611*ebfedea0SLionel Sambuc xorl %esi,%ecx 612*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 613*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 614*ebfedea0SLionel Sambuc movb %dh,%al 615*ebfedea0SLionel Sambuc movb %dl,%bl 616*ebfedea0SLionel Sambuc addl %ebp,%esi 617*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 618*ebfedea0SLionel Sambuc xorl %eax,%esi 619*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 620*ebfedea0SLionel Sambuc addl %ebp,%esi 621*ebfedea0SLionel Sambuc xorl %eax,%eax 622*ebfedea0SLionel Sambuc xorl %esi,%ecx 623*ebfedea0SLionel Sambuc 624*ebfedea0SLionel Sambuc 625*ebfedea0SLionel Sambuc rorl $16,%ecx 626*ebfedea0SLionel Sambuc movl 8(%edi),%esi 627*ebfedea0SLionel Sambuc movb %ch,%al 628*ebfedea0SLionel Sambuc movb %cl,%bl 629*ebfedea0SLionel Sambuc rorl $16,%ecx 630*ebfedea0SLionel Sambuc xorl %esi,%edx 631*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 632*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 633*ebfedea0SLionel Sambuc movb %ch,%al 634*ebfedea0SLionel Sambuc movb %cl,%bl 635*ebfedea0SLionel Sambuc addl %ebp,%esi 636*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 637*ebfedea0SLionel Sambuc xorl %eax,%esi 638*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 639*ebfedea0SLionel Sambuc addl %ebp,%esi 640*ebfedea0SLionel Sambuc xorl %eax,%eax 641*ebfedea0SLionel Sambuc xorl %esi,%edx 642*ebfedea0SLionel Sambuc 643*ebfedea0SLionel Sambuc 644*ebfedea0SLionel Sambuc rorl $16,%edx 645*ebfedea0SLionel Sambuc movl 4(%edi),%esi 646*ebfedea0SLionel Sambuc movb %dh,%al 647*ebfedea0SLionel Sambuc movb %dl,%bl 648*ebfedea0SLionel Sambuc rorl $16,%edx 649*ebfedea0SLionel Sambuc xorl %esi,%ecx 650*ebfedea0SLionel Sambuc movl 72(%edi,%eax,4),%esi 651*ebfedea0SLionel Sambuc movl 1096(%edi,%ebx,4),%ebp 652*ebfedea0SLionel Sambuc movb %dh,%al 653*ebfedea0SLionel Sambuc movb %dl,%bl 654*ebfedea0SLionel Sambuc addl %ebp,%esi 655*ebfedea0SLionel Sambuc movl 2120(%edi,%eax,4),%eax 656*ebfedea0SLionel Sambuc xorl %eax,%esi 657*ebfedea0SLionel Sambuc movl 3144(%edi,%ebx,4),%ebp 658*ebfedea0SLionel Sambuc addl %ebp,%esi 659*ebfedea0SLionel Sambuc xorl %eax,%eax 660*ebfedea0SLionel Sambuc xorl %esi,%ecx 661*ebfedea0SLionel Sambuc xorl (%edi),%edx 662*ebfedea0SLionel Sambuc movl 20(%esp),%eax 663*ebfedea0SLionel Sambuc movl %edx,(%eax) 664*ebfedea0SLionel Sambuc movl %ecx,4(%eax) 665*ebfedea0SLionel Sambuc popl %edi 666*ebfedea0SLionel Sambuc popl %esi 667*ebfedea0SLionel Sambuc popl %ebx 668*ebfedea0SLionel Sambuc popl %ebp 669*ebfedea0SLionel Sambuc ret 670*ebfedea0SLionel Sambuc.size BF_decrypt,.-.L_BF_decrypt_begin 671*ebfedea0SLionel Sambuc.globl BF_cbc_encrypt 672*ebfedea0SLionel Sambuc.type BF_cbc_encrypt,@function 673*ebfedea0SLionel Sambuc.align 16 674*ebfedea0SLionel SambucBF_cbc_encrypt: 675*ebfedea0SLionel Sambuc.L_BF_cbc_encrypt_begin: 676*ebfedea0SLionel Sambuc 677*ebfedea0SLionel Sambuc pushl %ebp 678*ebfedea0SLionel Sambuc pushl %ebx 679*ebfedea0SLionel Sambuc pushl %esi 680*ebfedea0SLionel Sambuc pushl %edi 681*ebfedea0SLionel Sambuc movl 28(%esp),%ebp 682*ebfedea0SLionel Sambuc 683*ebfedea0SLionel Sambuc movl 36(%esp),%ebx 684*ebfedea0SLionel Sambuc movl (%ebx),%esi 685*ebfedea0SLionel Sambuc movl 4(%ebx),%edi 686*ebfedea0SLionel Sambuc pushl %edi 687*ebfedea0SLionel Sambuc pushl %esi 688*ebfedea0SLionel Sambuc pushl %edi 689*ebfedea0SLionel Sambuc pushl %esi 690*ebfedea0SLionel Sambuc movl %esp,%ebx 691*ebfedea0SLionel Sambuc movl 36(%esp),%esi 692*ebfedea0SLionel Sambuc movl 40(%esp),%edi 693*ebfedea0SLionel Sambuc 694*ebfedea0SLionel Sambuc movl 56(%esp),%ecx 695*ebfedea0SLionel Sambuc 696*ebfedea0SLionel Sambuc movl 48(%esp),%eax 697*ebfedea0SLionel Sambuc pushl %eax 698*ebfedea0SLionel Sambuc pushl %ebx 699*ebfedea0SLionel Sambuc cmpl $0,%ecx 700*ebfedea0SLionel Sambuc jz .L000decrypt 701*ebfedea0SLionel Sambuc andl $4294967288,%ebp 702*ebfedea0SLionel Sambuc movl 8(%esp),%eax 703*ebfedea0SLionel Sambuc movl 12(%esp),%ebx 704*ebfedea0SLionel Sambuc jz .L001encrypt_finish 705*ebfedea0SLionel Sambuc.L002encrypt_loop: 706*ebfedea0SLionel Sambuc movl (%esi),%ecx 707*ebfedea0SLionel Sambuc movl 4(%esi),%edx 708*ebfedea0SLionel Sambuc xorl %ecx,%eax 709*ebfedea0SLionel Sambuc xorl %edx,%ebx 710*ebfedea0SLionel Sambuc bswap %eax 711*ebfedea0SLionel Sambuc bswap %ebx 712*ebfedea0SLionel Sambuc movl %eax,8(%esp) 713*ebfedea0SLionel Sambuc movl %ebx,12(%esp) 714*ebfedea0SLionel Sambuc call .L_BF_encrypt_begin 715*ebfedea0SLionel Sambuc movl 8(%esp),%eax 716*ebfedea0SLionel Sambuc movl 12(%esp),%ebx 717*ebfedea0SLionel Sambuc bswap %eax 718*ebfedea0SLionel Sambuc bswap %ebx 719*ebfedea0SLionel Sambuc movl %eax,(%edi) 720*ebfedea0SLionel Sambuc movl %ebx,4(%edi) 721*ebfedea0SLionel Sambuc addl $8,%esi 722*ebfedea0SLionel Sambuc addl $8,%edi 723*ebfedea0SLionel Sambuc subl $8,%ebp 724*ebfedea0SLionel Sambuc jnz .L002encrypt_loop 725*ebfedea0SLionel Sambuc.L001encrypt_finish: 726*ebfedea0SLionel Sambuc movl 52(%esp),%ebp 727*ebfedea0SLionel Sambuc andl $7,%ebp 728*ebfedea0SLionel Sambuc jz .L003finish 729*ebfedea0SLionel Sambuc call .L004PIC_point 730*ebfedea0SLionel Sambuc.L004PIC_point: 731*ebfedea0SLionel Sambuc popl %edx 732*ebfedea0SLionel Sambuc leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 733*ebfedea0SLionel Sambuc movl (%ecx,%ebp,4),%ebp 734*ebfedea0SLionel Sambuc addl %edx,%ebp 735*ebfedea0SLionel Sambuc xorl %ecx,%ecx 736*ebfedea0SLionel Sambuc xorl %edx,%edx 737*ebfedea0SLionel Sambuc jmp *%ebp 738*ebfedea0SLionel Sambuc.L006ej7: 739*ebfedea0SLionel Sambuc movb 6(%esi),%dh 740*ebfedea0SLionel Sambuc shll $8,%edx 741*ebfedea0SLionel Sambuc.L007ej6: 742*ebfedea0SLionel Sambuc movb 5(%esi),%dh 743*ebfedea0SLionel Sambuc.L008ej5: 744*ebfedea0SLionel Sambuc movb 4(%esi),%dl 745*ebfedea0SLionel Sambuc.L009ej4: 746*ebfedea0SLionel Sambuc movl (%esi),%ecx 747*ebfedea0SLionel Sambuc jmp .L010ejend 748*ebfedea0SLionel Sambuc.L011ej3: 749*ebfedea0SLionel Sambuc movb 2(%esi),%ch 750*ebfedea0SLionel Sambuc shll $8,%ecx 751*ebfedea0SLionel Sambuc.L012ej2: 752*ebfedea0SLionel Sambuc movb 1(%esi),%ch 753*ebfedea0SLionel Sambuc.L013ej1: 754*ebfedea0SLionel Sambuc movb (%esi),%cl 755*ebfedea0SLionel Sambuc.L010ejend: 756*ebfedea0SLionel Sambuc xorl %ecx,%eax 757*ebfedea0SLionel Sambuc xorl %edx,%ebx 758*ebfedea0SLionel Sambuc bswap %eax 759*ebfedea0SLionel Sambuc bswap %ebx 760*ebfedea0SLionel Sambuc movl %eax,8(%esp) 761*ebfedea0SLionel Sambuc movl %ebx,12(%esp) 762*ebfedea0SLionel Sambuc call .L_BF_encrypt_begin 763*ebfedea0SLionel Sambuc movl 8(%esp),%eax 764*ebfedea0SLionel Sambuc movl 12(%esp),%ebx 765*ebfedea0SLionel Sambuc bswap %eax 766*ebfedea0SLionel Sambuc bswap %ebx 767*ebfedea0SLionel Sambuc movl %eax,(%edi) 768*ebfedea0SLionel Sambuc movl %ebx,4(%edi) 769*ebfedea0SLionel Sambuc jmp .L003finish 770*ebfedea0SLionel Sambuc.L000decrypt: 771*ebfedea0SLionel Sambuc andl $4294967288,%ebp 772*ebfedea0SLionel Sambuc movl 16(%esp),%eax 773*ebfedea0SLionel Sambuc movl 20(%esp),%ebx 774*ebfedea0SLionel Sambuc jz .L014decrypt_finish 775*ebfedea0SLionel Sambuc.L015decrypt_loop: 776*ebfedea0SLionel Sambuc movl (%esi),%eax 777*ebfedea0SLionel Sambuc movl 4(%esi),%ebx 778*ebfedea0SLionel Sambuc bswap %eax 779*ebfedea0SLionel Sambuc bswap %ebx 780*ebfedea0SLionel Sambuc movl %eax,8(%esp) 781*ebfedea0SLionel Sambuc movl %ebx,12(%esp) 782*ebfedea0SLionel Sambuc call .L_BF_decrypt_begin 783*ebfedea0SLionel Sambuc movl 8(%esp),%eax 784*ebfedea0SLionel Sambuc movl 12(%esp),%ebx 785*ebfedea0SLionel Sambuc bswap %eax 786*ebfedea0SLionel Sambuc bswap %ebx 787*ebfedea0SLionel Sambuc movl 16(%esp),%ecx 788*ebfedea0SLionel Sambuc movl 20(%esp),%edx 789*ebfedea0SLionel Sambuc xorl %eax,%ecx 790*ebfedea0SLionel Sambuc xorl %ebx,%edx 791*ebfedea0SLionel Sambuc movl (%esi),%eax 792*ebfedea0SLionel Sambuc movl 4(%esi),%ebx 793*ebfedea0SLionel Sambuc movl %ecx,(%edi) 794*ebfedea0SLionel Sambuc movl %edx,4(%edi) 795*ebfedea0SLionel Sambuc movl %eax,16(%esp) 796*ebfedea0SLionel Sambuc movl %ebx,20(%esp) 797*ebfedea0SLionel Sambuc addl $8,%esi 798*ebfedea0SLionel Sambuc addl $8,%edi 799*ebfedea0SLionel Sambuc subl $8,%ebp 800*ebfedea0SLionel Sambuc jnz .L015decrypt_loop 801*ebfedea0SLionel Sambuc.L014decrypt_finish: 802*ebfedea0SLionel Sambuc movl 52(%esp),%ebp 803*ebfedea0SLionel Sambuc andl $7,%ebp 804*ebfedea0SLionel Sambuc jz .L003finish 805*ebfedea0SLionel Sambuc movl (%esi),%eax 806*ebfedea0SLionel Sambuc movl 4(%esi),%ebx 807*ebfedea0SLionel Sambuc bswap %eax 808*ebfedea0SLionel Sambuc bswap %ebx 809*ebfedea0SLionel Sambuc movl %eax,8(%esp) 810*ebfedea0SLionel Sambuc movl %ebx,12(%esp) 811*ebfedea0SLionel Sambuc call .L_BF_decrypt_begin 812*ebfedea0SLionel Sambuc movl 8(%esp),%eax 813*ebfedea0SLionel Sambuc movl 12(%esp),%ebx 814*ebfedea0SLionel Sambuc bswap %eax 815*ebfedea0SLionel Sambuc bswap %ebx 816*ebfedea0SLionel Sambuc movl 16(%esp),%ecx 817*ebfedea0SLionel Sambuc movl 20(%esp),%edx 818*ebfedea0SLionel Sambuc xorl %eax,%ecx 819*ebfedea0SLionel Sambuc xorl %ebx,%edx 820*ebfedea0SLionel Sambuc movl (%esi),%eax 821*ebfedea0SLionel Sambuc movl 4(%esi),%ebx 822*ebfedea0SLionel Sambuc.L016dj7: 823*ebfedea0SLionel Sambuc rorl $16,%edx 824*ebfedea0SLionel Sambuc movb %dl,6(%edi) 825*ebfedea0SLionel Sambuc shrl $16,%edx 826*ebfedea0SLionel Sambuc.L017dj6: 827*ebfedea0SLionel Sambuc movb %dh,5(%edi) 828*ebfedea0SLionel Sambuc.L018dj5: 829*ebfedea0SLionel Sambuc movb %dl,4(%edi) 830*ebfedea0SLionel Sambuc.L019dj4: 831*ebfedea0SLionel Sambuc movl %ecx,(%edi) 832*ebfedea0SLionel Sambuc jmp .L020djend 833*ebfedea0SLionel Sambuc.L021dj3: 834*ebfedea0SLionel Sambuc rorl $16,%ecx 835*ebfedea0SLionel Sambuc movb %cl,2(%edi) 836*ebfedea0SLionel Sambuc shll $16,%ecx 837*ebfedea0SLionel Sambuc.L022dj2: 838*ebfedea0SLionel Sambuc movb %ch,1(%esi) 839*ebfedea0SLionel Sambuc.L023dj1: 840*ebfedea0SLionel Sambuc movb %cl,(%esi) 841*ebfedea0SLionel Sambuc.L020djend: 842*ebfedea0SLionel Sambuc jmp .L003finish 843*ebfedea0SLionel Sambuc.L003finish: 844*ebfedea0SLionel Sambuc movl 60(%esp),%ecx 845*ebfedea0SLionel Sambuc addl $24,%esp 846*ebfedea0SLionel Sambuc movl %eax,(%ecx) 847*ebfedea0SLionel Sambuc movl %ebx,4(%ecx) 848*ebfedea0SLionel Sambuc popl %edi 849*ebfedea0SLionel Sambuc popl %esi 850*ebfedea0SLionel Sambuc popl %ebx 851*ebfedea0SLionel Sambuc popl %ebp 852*ebfedea0SLionel Sambuc ret 853*ebfedea0SLionel Sambuc.align 64 854*ebfedea0SLionel Sambuc.L005cbc_enc_jmp_table: 855*ebfedea0SLionel Sambuc.long 0 856*ebfedea0SLionel Sambuc.long .L013ej1-.L004PIC_point 857*ebfedea0SLionel Sambuc.long .L012ej2-.L004PIC_point 858*ebfedea0SLionel Sambuc.long .L011ej3-.L004PIC_point 859*ebfedea0SLionel Sambuc.long .L009ej4-.L004PIC_point 860*ebfedea0SLionel Sambuc.long .L008ej5-.L004PIC_point 861*ebfedea0SLionel Sambuc.long .L007ej6-.L004PIC_point 862*ebfedea0SLionel Sambuc.long .L006ej7-.L004PIC_point 863*ebfedea0SLionel Sambuc.align 64 864*ebfedea0SLionel Sambuc.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 865