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