1299966Sjkim# $FreeBSD$ 2299966Sjkim# Do not modify. This file is auto-generated from bf-686.pl. 3299966Sjkim#ifdef PIC 4299966Sjkim.file "bf-686.S" 595967Speter.text 6238405Sjkim.globl BF_encrypt 7238405Sjkim.type BF_encrypt,@function 8238405Sjkim.align 16 995967SpeterBF_encrypt: 10238405Sjkim.L_BF_encrypt_begin: 1195967Speter pushl %ebp 1295967Speter pushl %ebx 1395967Speter pushl %esi 1495967Speter pushl %edi 1595967Speter 1695967Speter 17238405Sjkim movl 20(%esp),%eax 18238405Sjkim movl (%eax),%ecx 19238405Sjkim movl 4(%eax),%edx 20127326Smarkm 2195967Speter 22238405Sjkim movl 24(%esp),%edi 23238405Sjkim xorl %eax,%eax 24238405Sjkim xorl %ebx,%ebx 25238405Sjkim xorl (%edi),%ecx 26127326Smarkm 2795967Speter 28238405Sjkim rorl $16,%ecx 29238405Sjkim movl 4(%edi),%esi 30238405Sjkim movb %ch,%al 31238405Sjkim movb %cl,%bl 32238405Sjkim rorl $16,%ecx 33238405Sjkim xorl %esi,%edx 3495967Speter movl 72(%edi,%eax,4),%esi 3595967Speter movl 1096(%edi,%ebx,4),%ebp 36238405Sjkim movb %ch,%al 37238405Sjkim movb %cl,%bl 38238405Sjkim addl %ebp,%esi 3995967Speter movl 2120(%edi,%eax,4),%eax 40238405Sjkim xorl %eax,%esi 4195967Speter movl 3144(%edi,%ebx,4),%ebp 42238405Sjkim addl %ebp,%esi 43238405Sjkim xorl %eax,%eax 44238405Sjkim xorl %esi,%edx 4595967Speter 46127326Smarkm 47238405Sjkim rorl $16,%edx 48238405Sjkim movl 8(%edi),%esi 49238405Sjkim movb %dh,%al 50238405Sjkim movb %dl,%bl 51238405Sjkim rorl $16,%edx 52238405Sjkim xorl %esi,%ecx 5395967Speter movl 72(%edi,%eax,4),%esi 5495967Speter movl 1096(%edi,%ebx,4),%ebp 55238405Sjkim movb %dh,%al 56238405Sjkim movb %dl,%bl 57238405Sjkim addl %ebp,%esi 5895967Speter movl 2120(%edi,%eax,4),%eax 59238405Sjkim xorl %eax,%esi 6095967Speter movl 3144(%edi,%ebx,4),%ebp 61238405Sjkim addl %ebp,%esi 62238405Sjkim xorl %eax,%eax 63238405Sjkim xorl %esi,%ecx 6495967Speter 65127326Smarkm 66238405Sjkim rorl $16,%ecx 67238405Sjkim movl 12(%edi),%esi 68238405Sjkim movb %ch,%al 69238405Sjkim movb %cl,%bl 70238405Sjkim rorl $16,%ecx 71238405Sjkim xorl %esi,%edx 7295967Speter movl 72(%edi,%eax,4),%esi 7395967Speter movl 1096(%edi,%ebx,4),%ebp 74238405Sjkim movb %ch,%al 75238405Sjkim movb %cl,%bl 76238405Sjkim addl %ebp,%esi 7795967Speter movl 2120(%edi,%eax,4),%eax 78238405Sjkim xorl %eax,%esi 7995967Speter movl 3144(%edi,%ebx,4),%ebp 80238405Sjkim addl %ebp,%esi 81238405Sjkim xorl %eax,%eax 82238405Sjkim xorl %esi,%edx 8395967Speter 84127326Smarkm 85238405Sjkim rorl $16,%edx 86238405Sjkim movl 16(%edi),%esi 87238405Sjkim movb %dh,%al 88238405Sjkim movb %dl,%bl 89238405Sjkim rorl $16,%edx 90238405Sjkim xorl %esi,%ecx 9195967Speter movl 72(%edi,%eax,4),%esi 9295967Speter movl 1096(%edi,%ebx,4),%ebp 93238405Sjkim movb %dh,%al 94238405Sjkim movb %dl,%bl 95238405Sjkim addl %ebp,%esi 9695967Speter movl 2120(%edi,%eax,4),%eax 97238405Sjkim xorl %eax,%esi 9895967Speter movl 3144(%edi,%ebx,4),%ebp 99238405Sjkim addl %ebp,%esi 100238405Sjkim xorl %eax,%eax 101238405Sjkim xorl %esi,%ecx 10295967Speter 103127326Smarkm 104238405Sjkim rorl $16,%ecx 105238405Sjkim movl 20(%edi),%esi 106238405Sjkim movb %ch,%al 107238405Sjkim movb %cl,%bl 108238405Sjkim rorl $16,%ecx 109238405Sjkim xorl %esi,%edx 11095967Speter movl 72(%edi,%eax,4),%esi 11195967Speter movl 1096(%edi,%ebx,4),%ebp 112238405Sjkim movb %ch,%al 113238405Sjkim movb %cl,%bl 114238405Sjkim addl %ebp,%esi 11595967Speter movl 2120(%edi,%eax,4),%eax 116238405Sjkim xorl %eax,%esi 11795967Speter movl 3144(%edi,%ebx,4),%ebp 118238405Sjkim addl %ebp,%esi 119238405Sjkim xorl %eax,%eax 120238405Sjkim xorl %esi,%edx 12195967Speter 122127326Smarkm 123238405Sjkim rorl $16,%edx 124238405Sjkim movl 24(%edi),%esi 125238405Sjkim movb %dh,%al 126238405Sjkim movb %dl,%bl 127238405Sjkim rorl $16,%edx 128238405Sjkim xorl %esi,%ecx 12995967Speter movl 72(%edi,%eax,4),%esi 13095967Speter movl 1096(%edi,%ebx,4),%ebp 131238405Sjkim movb %dh,%al 132238405Sjkim movb %dl,%bl 133238405Sjkim addl %ebp,%esi 13495967Speter movl 2120(%edi,%eax,4),%eax 135238405Sjkim xorl %eax,%esi 13695967Speter movl 3144(%edi,%ebx,4),%ebp 137238405Sjkim addl %ebp,%esi 138238405Sjkim xorl %eax,%eax 139238405Sjkim xorl %esi,%ecx 14095967Speter 141127326Smarkm 142238405Sjkim rorl $16,%ecx 143238405Sjkim movl 28(%edi),%esi 144238405Sjkim movb %ch,%al 145238405Sjkim movb %cl,%bl 146238405Sjkim rorl $16,%ecx 147238405Sjkim xorl %esi,%edx 14895967Speter movl 72(%edi,%eax,4),%esi 14995967Speter movl 1096(%edi,%ebx,4),%ebp 150238405Sjkim movb %ch,%al 151238405Sjkim movb %cl,%bl 152238405Sjkim addl %ebp,%esi 15395967Speter movl 2120(%edi,%eax,4),%eax 154238405Sjkim xorl %eax,%esi 15595967Speter movl 3144(%edi,%ebx,4),%ebp 156238405Sjkim addl %ebp,%esi 157238405Sjkim xorl %eax,%eax 158238405Sjkim xorl %esi,%edx 15995967Speter 160127326Smarkm 161238405Sjkim rorl $16,%edx 162238405Sjkim movl 32(%edi),%esi 163238405Sjkim movb %dh,%al 164238405Sjkim movb %dl,%bl 165238405Sjkim rorl $16,%edx 166238405Sjkim xorl %esi,%ecx 16795967Speter movl 72(%edi,%eax,4),%esi 16895967Speter movl 1096(%edi,%ebx,4),%ebp 169238405Sjkim movb %dh,%al 170238405Sjkim movb %dl,%bl 171238405Sjkim addl %ebp,%esi 17295967Speter movl 2120(%edi,%eax,4),%eax 173238405Sjkim xorl %eax,%esi 17495967Speter movl 3144(%edi,%ebx,4),%ebp 175238405Sjkim addl %ebp,%esi 176238405Sjkim xorl %eax,%eax 177238405Sjkim xorl %esi,%ecx 17895967Speter 179127326Smarkm 180238405Sjkim rorl $16,%ecx 181238405Sjkim movl 36(%edi),%esi 182238405Sjkim movb %ch,%al 183238405Sjkim movb %cl,%bl 184238405Sjkim rorl $16,%ecx 185238405Sjkim xorl %esi,%edx 18695967Speter movl 72(%edi,%eax,4),%esi 18795967Speter movl 1096(%edi,%ebx,4),%ebp 188238405Sjkim movb %ch,%al 189238405Sjkim movb %cl,%bl 190238405Sjkim addl %ebp,%esi 19195967Speter movl 2120(%edi,%eax,4),%eax 192238405Sjkim xorl %eax,%esi 19395967Speter movl 3144(%edi,%ebx,4),%ebp 194238405Sjkim addl %ebp,%esi 195238405Sjkim xorl %eax,%eax 196238405Sjkim xorl %esi,%edx 19795967Speter 198127326Smarkm 199238405Sjkim rorl $16,%edx 200238405Sjkim movl 40(%edi),%esi 201238405Sjkim movb %dh,%al 202238405Sjkim movb %dl,%bl 203238405Sjkim rorl $16,%edx 204238405Sjkim xorl %esi,%ecx 20595967Speter movl 72(%edi,%eax,4),%esi 20695967Speter movl 1096(%edi,%ebx,4),%ebp 207238405Sjkim movb %dh,%al 208238405Sjkim movb %dl,%bl 209238405Sjkim addl %ebp,%esi 21095967Speter movl 2120(%edi,%eax,4),%eax 211238405Sjkim xorl %eax,%esi 21295967Speter movl 3144(%edi,%ebx,4),%ebp 213238405Sjkim addl %ebp,%esi 214238405Sjkim xorl %eax,%eax 215238405Sjkim xorl %esi,%ecx 21695967Speter 217127326Smarkm 218238405Sjkim rorl $16,%ecx 219238405Sjkim movl 44(%edi),%esi 220238405Sjkim movb %ch,%al 221238405Sjkim movb %cl,%bl 222238405Sjkim rorl $16,%ecx 223238405Sjkim xorl %esi,%edx 22495967Speter movl 72(%edi,%eax,4),%esi 22595967Speter movl 1096(%edi,%ebx,4),%ebp 226238405Sjkim movb %ch,%al 227238405Sjkim movb %cl,%bl 228238405Sjkim addl %ebp,%esi 22995967Speter movl 2120(%edi,%eax,4),%eax 230238405Sjkim xorl %eax,%esi 23195967Speter movl 3144(%edi,%ebx,4),%ebp 232238405Sjkim addl %ebp,%esi 233238405Sjkim xorl %eax,%eax 234238405Sjkim xorl %esi,%edx 23595967Speter 236127326Smarkm 237238405Sjkim rorl $16,%edx 238238405Sjkim movl 48(%edi),%esi 239238405Sjkim movb %dh,%al 240238405Sjkim movb %dl,%bl 241238405Sjkim rorl $16,%edx 242238405Sjkim xorl %esi,%ecx 24395967Speter movl 72(%edi,%eax,4),%esi 24495967Speter movl 1096(%edi,%ebx,4),%ebp 245238405Sjkim movb %dh,%al 246238405Sjkim movb %dl,%bl 247238405Sjkim addl %ebp,%esi 24895967Speter movl 2120(%edi,%eax,4),%eax 249238405Sjkim xorl %eax,%esi 25095967Speter movl 3144(%edi,%ebx,4),%ebp 251238405Sjkim addl %ebp,%esi 252238405Sjkim xorl %eax,%eax 253238405Sjkim xorl %esi,%ecx 25495967Speter 255127326Smarkm 256238405Sjkim rorl $16,%ecx 257238405Sjkim movl 52(%edi),%esi 258238405Sjkim movb %ch,%al 259238405Sjkim movb %cl,%bl 260238405Sjkim rorl $16,%ecx 261238405Sjkim xorl %esi,%edx 26295967Speter movl 72(%edi,%eax,4),%esi 26395967Speter movl 1096(%edi,%ebx,4),%ebp 264238405Sjkim movb %ch,%al 265238405Sjkim movb %cl,%bl 266238405Sjkim addl %ebp,%esi 26795967Speter movl 2120(%edi,%eax,4),%eax 268238405Sjkim xorl %eax,%esi 26995967Speter movl 3144(%edi,%ebx,4),%ebp 270238405Sjkim addl %ebp,%esi 271238405Sjkim xorl %eax,%eax 272238405Sjkim xorl %esi,%edx 27395967Speter 274127326Smarkm 275238405Sjkim rorl $16,%edx 276238405Sjkim movl 56(%edi),%esi 277238405Sjkim movb %dh,%al 278238405Sjkim movb %dl,%bl 279238405Sjkim rorl $16,%edx 280238405Sjkim xorl %esi,%ecx 28195967Speter movl 72(%edi,%eax,4),%esi 28295967Speter movl 1096(%edi,%ebx,4),%ebp 283238405Sjkim movb %dh,%al 284238405Sjkim movb %dl,%bl 285238405Sjkim addl %ebp,%esi 28695967Speter movl 2120(%edi,%eax,4),%eax 287238405Sjkim xorl %eax,%esi 28895967Speter movl 3144(%edi,%ebx,4),%ebp 289238405Sjkim addl %ebp,%esi 290238405Sjkim xorl %eax,%eax 291238405Sjkim xorl %esi,%ecx 29295967Speter 293127326Smarkm 294238405Sjkim rorl $16,%ecx 295238405Sjkim movl 60(%edi),%esi 296238405Sjkim movb %ch,%al 297238405Sjkim movb %cl,%bl 298238405Sjkim rorl $16,%ecx 299238405Sjkim xorl %esi,%edx 30095967Speter movl 72(%edi,%eax,4),%esi 30195967Speter movl 1096(%edi,%ebx,4),%ebp 302238405Sjkim movb %ch,%al 303238405Sjkim movb %cl,%bl 304238405Sjkim addl %ebp,%esi 30595967Speter movl 2120(%edi,%eax,4),%eax 306238405Sjkim xorl %eax,%esi 30795967Speter movl 3144(%edi,%ebx,4),%ebp 308238405Sjkim addl %ebp,%esi 309238405Sjkim xorl %eax,%eax 310238405Sjkim xorl %esi,%edx 31195967Speter 312127326Smarkm 313238405Sjkim rorl $16,%edx 314238405Sjkim movl 64(%edi),%esi 315238405Sjkim movb %dh,%al 316238405Sjkim movb %dl,%bl 317238405Sjkim rorl $16,%edx 318238405Sjkim xorl %esi,%ecx 31995967Speter movl 72(%edi,%eax,4),%esi 32095967Speter movl 1096(%edi,%ebx,4),%ebp 321238405Sjkim movb %dh,%al 322238405Sjkim movb %dl,%bl 323238405Sjkim addl %ebp,%esi 32495967Speter movl 2120(%edi,%eax,4),%eax 325238405Sjkim xorl %eax,%esi 32695967Speter movl 3144(%edi,%ebx,4),%ebp 327238405Sjkim addl %ebp,%esi 328238405Sjkim xorl %eax,%eax 329238405Sjkim xorl %esi,%ecx 330238405Sjkim xorl 68(%edi),%edx 331238405Sjkim movl 20(%esp),%eax 332238405Sjkim movl %edx,(%eax) 333238405Sjkim movl %ecx,4(%eax) 33495967Speter popl %edi 33595967Speter popl %esi 33695967Speter popl %ebx 33795967Speter popl %ebp 33895967Speter ret 339238405Sjkim.size BF_encrypt,.-.L_BF_encrypt_begin 340238405Sjkim.globl BF_decrypt 341238405Sjkim.type BF_decrypt,@function 342238405Sjkim.align 16 34395967SpeterBF_decrypt: 344238405Sjkim.L_BF_decrypt_begin: 34595967Speter pushl %ebp 34695967Speter pushl %ebx 34795967Speter pushl %esi 34895967Speter pushl %edi 34995967Speter 35095967Speter 351238405Sjkim movl 20(%esp),%eax 352238405Sjkim movl (%eax),%ecx 353238405Sjkim movl 4(%eax),%edx 354127326Smarkm 35595967Speter 356238405Sjkim movl 24(%esp),%edi 357238405Sjkim xorl %eax,%eax 358238405Sjkim xorl %ebx,%ebx 359238405Sjkim xorl 68(%edi),%ecx 360127326Smarkm 36195967Speter 362238405Sjkim rorl $16,%ecx 363238405Sjkim movl 64(%edi),%esi 364238405Sjkim movb %ch,%al 365238405Sjkim movb %cl,%bl 366238405Sjkim rorl $16,%ecx 367238405Sjkim xorl %esi,%edx 36895967Speter movl 72(%edi,%eax,4),%esi 36995967Speter movl 1096(%edi,%ebx,4),%ebp 370238405Sjkim movb %ch,%al 371238405Sjkim movb %cl,%bl 372238405Sjkim addl %ebp,%esi 37395967Speter movl 2120(%edi,%eax,4),%eax 374238405Sjkim xorl %eax,%esi 37595967Speter movl 3144(%edi,%ebx,4),%ebp 376238405Sjkim addl %ebp,%esi 377238405Sjkim xorl %eax,%eax 378238405Sjkim xorl %esi,%edx 37995967Speter 380127326Smarkm 381238405Sjkim rorl $16,%edx 382238405Sjkim movl 60(%edi),%esi 383238405Sjkim movb %dh,%al 384238405Sjkim movb %dl,%bl 385238405Sjkim rorl $16,%edx 386238405Sjkim xorl %esi,%ecx 38795967Speter movl 72(%edi,%eax,4),%esi 38895967Speter movl 1096(%edi,%ebx,4),%ebp 389238405Sjkim movb %dh,%al 390238405Sjkim movb %dl,%bl 391238405Sjkim addl %ebp,%esi 39295967Speter movl 2120(%edi,%eax,4),%eax 393238405Sjkim xorl %eax,%esi 39495967Speter movl 3144(%edi,%ebx,4),%ebp 395238405Sjkim addl %ebp,%esi 396238405Sjkim xorl %eax,%eax 397238405Sjkim xorl %esi,%ecx 39895967Speter 399127326Smarkm 400238405Sjkim rorl $16,%ecx 401238405Sjkim movl 56(%edi),%esi 402238405Sjkim movb %ch,%al 403238405Sjkim movb %cl,%bl 404238405Sjkim rorl $16,%ecx 405238405Sjkim xorl %esi,%edx 40695967Speter movl 72(%edi,%eax,4),%esi 40795967Speter movl 1096(%edi,%ebx,4),%ebp 408238405Sjkim movb %ch,%al 409238405Sjkim movb %cl,%bl 410238405Sjkim addl %ebp,%esi 41195967Speter movl 2120(%edi,%eax,4),%eax 412238405Sjkim xorl %eax,%esi 41395967Speter movl 3144(%edi,%ebx,4),%ebp 414238405Sjkim addl %ebp,%esi 415238405Sjkim xorl %eax,%eax 416238405Sjkim xorl %esi,%edx 41795967Speter 418127326Smarkm 419238405Sjkim rorl $16,%edx 420238405Sjkim movl 52(%edi),%esi 421238405Sjkim movb %dh,%al 422238405Sjkim movb %dl,%bl 423238405Sjkim rorl $16,%edx 424238405Sjkim xorl %esi,%ecx 42595967Speter movl 72(%edi,%eax,4),%esi 42695967Speter movl 1096(%edi,%ebx,4),%ebp 427238405Sjkim movb %dh,%al 428238405Sjkim movb %dl,%bl 429238405Sjkim addl %ebp,%esi 43095967Speter movl 2120(%edi,%eax,4),%eax 431238405Sjkim xorl %eax,%esi 43295967Speter movl 3144(%edi,%ebx,4),%ebp 433238405Sjkim addl %ebp,%esi 434238405Sjkim xorl %eax,%eax 435238405Sjkim xorl %esi,%ecx 43695967Speter 437127326Smarkm 438238405Sjkim rorl $16,%ecx 439238405Sjkim movl 48(%edi),%esi 440238405Sjkim movb %ch,%al 441238405Sjkim movb %cl,%bl 442238405Sjkim rorl $16,%ecx 443238405Sjkim xorl %esi,%edx 44495967Speter movl 72(%edi,%eax,4),%esi 44595967Speter movl 1096(%edi,%ebx,4),%ebp 446238405Sjkim movb %ch,%al 447238405Sjkim movb %cl,%bl 448238405Sjkim addl %ebp,%esi 44995967Speter movl 2120(%edi,%eax,4),%eax 450238405Sjkim xorl %eax,%esi 45195967Speter movl 3144(%edi,%ebx,4),%ebp 452238405Sjkim addl %ebp,%esi 453238405Sjkim xorl %eax,%eax 454238405Sjkim xorl %esi,%edx 45595967Speter 456127326Smarkm 457238405Sjkim rorl $16,%edx 458238405Sjkim movl 44(%edi),%esi 459238405Sjkim movb %dh,%al 460238405Sjkim movb %dl,%bl 461238405Sjkim rorl $16,%edx 462238405Sjkim xorl %esi,%ecx 46395967Speter movl 72(%edi,%eax,4),%esi 46495967Speter movl 1096(%edi,%ebx,4),%ebp 465238405Sjkim movb %dh,%al 466238405Sjkim movb %dl,%bl 467238405Sjkim addl %ebp,%esi 46895967Speter movl 2120(%edi,%eax,4),%eax 469238405Sjkim xorl %eax,%esi 47095967Speter movl 3144(%edi,%ebx,4),%ebp 471238405Sjkim addl %ebp,%esi 472238405Sjkim xorl %eax,%eax 473238405Sjkim xorl %esi,%ecx 47495967Speter 475127326Smarkm 476238405Sjkim rorl $16,%ecx 477238405Sjkim movl 40(%edi),%esi 478238405Sjkim movb %ch,%al 479238405Sjkim movb %cl,%bl 480238405Sjkim rorl $16,%ecx 481238405Sjkim xorl %esi,%edx 48295967Speter movl 72(%edi,%eax,4),%esi 48395967Speter movl 1096(%edi,%ebx,4),%ebp 484238405Sjkim movb %ch,%al 485238405Sjkim movb %cl,%bl 486238405Sjkim addl %ebp,%esi 48795967Speter movl 2120(%edi,%eax,4),%eax 488238405Sjkim xorl %eax,%esi 48995967Speter movl 3144(%edi,%ebx,4),%ebp 490238405Sjkim addl %ebp,%esi 491238405Sjkim xorl %eax,%eax 492238405Sjkim xorl %esi,%edx 49395967Speter 494127326Smarkm 495238405Sjkim rorl $16,%edx 496238405Sjkim movl 36(%edi),%esi 497238405Sjkim movb %dh,%al 498238405Sjkim movb %dl,%bl 499238405Sjkim rorl $16,%edx 500238405Sjkim xorl %esi,%ecx 50195967Speter movl 72(%edi,%eax,4),%esi 50295967Speter movl 1096(%edi,%ebx,4),%ebp 503238405Sjkim movb %dh,%al 504238405Sjkim movb %dl,%bl 505238405Sjkim addl %ebp,%esi 50695967Speter movl 2120(%edi,%eax,4),%eax 507238405Sjkim xorl %eax,%esi 50895967Speter movl 3144(%edi,%ebx,4),%ebp 509238405Sjkim addl %ebp,%esi 510238405Sjkim xorl %eax,%eax 511238405Sjkim xorl %esi,%ecx 51295967Speter 513127326Smarkm 514238405Sjkim rorl $16,%ecx 515238405Sjkim movl 32(%edi),%esi 516238405Sjkim movb %ch,%al 517238405Sjkim movb %cl,%bl 518238405Sjkim rorl $16,%ecx 519238405Sjkim xorl %esi,%edx 52095967Speter movl 72(%edi,%eax,4),%esi 52195967Speter movl 1096(%edi,%ebx,4),%ebp 522238405Sjkim movb %ch,%al 523238405Sjkim movb %cl,%bl 524238405Sjkim addl %ebp,%esi 52595967Speter movl 2120(%edi,%eax,4),%eax 526238405Sjkim xorl %eax,%esi 52795967Speter movl 3144(%edi,%ebx,4),%ebp 528238405Sjkim addl %ebp,%esi 529238405Sjkim xorl %eax,%eax 530238405Sjkim xorl %esi,%edx 53195967Speter 532127326Smarkm 533238405Sjkim rorl $16,%edx 534238405Sjkim movl 28(%edi),%esi 535238405Sjkim movb %dh,%al 536238405Sjkim movb %dl,%bl 537238405Sjkim rorl $16,%edx 538238405Sjkim xorl %esi,%ecx 53995967Speter movl 72(%edi,%eax,4),%esi 54095967Speter movl 1096(%edi,%ebx,4),%ebp 541238405Sjkim movb %dh,%al 542238405Sjkim movb %dl,%bl 543238405Sjkim addl %ebp,%esi 54495967Speter movl 2120(%edi,%eax,4),%eax 545238405Sjkim xorl %eax,%esi 54695967Speter movl 3144(%edi,%ebx,4),%ebp 547238405Sjkim addl %ebp,%esi 548238405Sjkim xorl %eax,%eax 549238405Sjkim xorl %esi,%ecx 55095967Speter 551127326Smarkm 552238405Sjkim rorl $16,%ecx 553238405Sjkim movl 24(%edi),%esi 554238405Sjkim movb %ch,%al 555238405Sjkim movb %cl,%bl 556238405Sjkim rorl $16,%ecx 557238405Sjkim xorl %esi,%edx 55895967Speter movl 72(%edi,%eax,4),%esi 55995967Speter movl 1096(%edi,%ebx,4),%ebp 560238405Sjkim movb %ch,%al 561238405Sjkim movb %cl,%bl 562238405Sjkim addl %ebp,%esi 56395967Speter movl 2120(%edi,%eax,4),%eax 564238405Sjkim xorl %eax,%esi 56595967Speter movl 3144(%edi,%ebx,4),%ebp 566238405Sjkim addl %ebp,%esi 567238405Sjkim xorl %eax,%eax 568238405Sjkim xorl %esi,%edx 56995967Speter 570127326Smarkm 571238405Sjkim rorl $16,%edx 572238405Sjkim movl 20(%edi),%esi 573238405Sjkim movb %dh,%al 574238405Sjkim movb %dl,%bl 575238405Sjkim rorl $16,%edx 576238405Sjkim xorl %esi,%ecx 57795967Speter movl 72(%edi,%eax,4),%esi 57895967Speter movl 1096(%edi,%ebx,4),%ebp 579238405Sjkim movb %dh,%al 580238405Sjkim movb %dl,%bl 581238405Sjkim addl %ebp,%esi 58295967Speter movl 2120(%edi,%eax,4),%eax 583238405Sjkim xorl %eax,%esi 58495967Speter movl 3144(%edi,%ebx,4),%ebp 585238405Sjkim addl %ebp,%esi 586238405Sjkim xorl %eax,%eax 587238405Sjkim xorl %esi,%ecx 58895967Speter 589127326Smarkm 590238405Sjkim rorl $16,%ecx 591238405Sjkim movl 16(%edi),%esi 592238405Sjkim movb %ch,%al 593238405Sjkim movb %cl,%bl 594238405Sjkim rorl $16,%ecx 595238405Sjkim xorl %esi,%edx 59695967Speter movl 72(%edi,%eax,4),%esi 59795967Speter movl 1096(%edi,%ebx,4),%ebp 598238405Sjkim movb %ch,%al 599238405Sjkim movb %cl,%bl 600238405Sjkim addl %ebp,%esi 60195967Speter movl 2120(%edi,%eax,4),%eax 602238405Sjkim xorl %eax,%esi 60395967Speter movl 3144(%edi,%ebx,4),%ebp 604238405Sjkim addl %ebp,%esi 605238405Sjkim xorl %eax,%eax 606238405Sjkim xorl %esi,%edx 60795967Speter 608127326Smarkm 609238405Sjkim rorl $16,%edx 610238405Sjkim movl 12(%edi),%esi 611238405Sjkim movb %dh,%al 612238405Sjkim movb %dl,%bl 613238405Sjkim rorl $16,%edx 614238405Sjkim xorl %esi,%ecx 61595967Speter movl 72(%edi,%eax,4),%esi 61695967Speter movl 1096(%edi,%ebx,4),%ebp 617238405Sjkim movb %dh,%al 618238405Sjkim movb %dl,%bl 619238405Sjkim addl %ebp,%esi 62095967Speter movl 2120(%edi,%eax,4),%eax 621238405Sjkim xorl %eax,%esi 62295967Speter movl 3144(%edi,%ebx,4),%ebp 623238405Sjkim addl %ebp,%esi 624238405Sjkim xorl %eax,%eax 625238405Sjkim xorl %esi,%ecx 62695967Speter 627127326Smarkm 628238405Sjkim rorl $16,%ecx 629238405Sjkim movl 8(%edi),%esi 630238405Sjkim movb %ch,%al 631238405Sjkim movb %cl,%bl 632238405Sjkim rorl $16,%ecx 633238405Sjkim xorl %esi,%edx 63495967Speter movl 72(%edi,%eax,4),%esi 63595967Speter movl 1096(%edi,%ebx,4),%ebp 636238405Sjkim movb %ch,%al 637238405Sjkim movb %cl,%bl 638238405Sjkim addl %ebp,%esi 63995967Speter movl 2120(%edi,%eax,4),%eax 640238405Sjkim xorl %eax,%esi 64195967Speter movl 3144(%edi,%ebx,4),%ebp 642238405Sjkim addl %ebp,%esi 643238405Sjkim xorl %eax,%eax 644238405Sjkim xorl %esi,%edx 64595967Speter 646127326Smarkm 647238405Sjkim rorl $16,%edx 648238405Sjkim movl 4(%edi),%esi 649238405Sjkim movb %dh,%al 650238405Sjkim movb %dl,%bl 651238405Sjkim rorl $16,%edx 652238405Sjkim xorl %esi,%ecx 65395967Speter movl 72(%edi,%eax,4),%esi 65495967Speter movl 1096(%edi,%ebx,4),%ebp 655238405Sjkim movb %dh,%al 656238405Sjkim movb %dl,%bl 657238405Sjkim addl %ebp,%esi 65895967Speter movl 2120(%edi,%eax,4),%eax 659238405Sjkim xorl %eax,%esi 66095967Speter movl 3144(%edi,%ebx,4),%ebp 661238405Sjkim addl %ebp,%esi 662238405Sjkim xorl %eax,%eax 663238405Sjkim xorl %esi,%ecx 664238405Sjkim xorl (%edi),%edx 665238405Sjkim movl 20(%esp),%eax 666238405Sjkim movl %edx,(%eax) 667238405Sjkim movl %ecx,4(%eax) 66895967Speter popl %edi 66995967Speter popl %esi 67095967Speter popl %ebx 67195967Speter popl %ebp 67295967Speter ret 673238405Sjkim.size BF_decrypt,.-.L_BF_decrypt_begin 674238405Sjkim.globl BF_cbc_encrypt 675238405Sjkim.type BF_cbc_encrypt,@function 676238405Sjkim.align 16 67795967SpeterBF_cbc_encrypt: 678238405Sjkim.L_BF_cbc_encrypt_begin: 67995967Speter 68095967Speter pushl %ebp 68195967Speter pushl %ebx 68295967Speter pushl %esi 68395967Speter pushl %edi 684238405Sjkim movl 28(%esp),%ebp 685127326Smarkm 686238405Sjkim movl 36(%esp),%ebx 687238405Sjkim movl (%ebx),%esi 688238405Sjkim movl 4(%ebx),%edi 68995967Speter pushl %edi 69095967Speter pushl %esi 69195967Speter pushl %edi 69295967Speter pushl %esi 693238405Sjkim movl %esp,%ebx 694238405Sjkim movl 36(%esp),%esi 695238405Sjkim movl 40(%esp),%edi 696127326Smarkm 697238405Sjkim movl 56(%esp),%ecx 698127326Smarkm 699238405Sjkim movl 48(%esp),%eax 70095967Speter pushl %eax 70195967Speter pushl %ebx 702238405Sjkim cmpl $0,%ecx 70395967Speter jz .L000decrypt 704238405Sjkim andl $4294967288,%ebp 705238405Sjkim movl 8(%esp),%eax 706238405Sjkim movl 12(%esp),%ebx 70795967Speter jz .L001encrypt_finish 70895967Speter.L002encrypt_loop: 709238405Sjkim movl (%esi),%ecx 710238405Sjkim movl 4(%esi),%edx 711238405Sjkim xorl %ecx,%eax 712238405Sjkim xorl %edx,%ebx 713238405Sjkim bswap %eax 714238405Sjkim bswap %ebx 715238405Sjkim movl %eax,8(%esp) 716238405Sjkim movl %ebx,12(%esp) 717238405Sjkim call .L_BF_encrypt_begin 718238405Sjkim movl 8(%esp),%eax 719238405Sjkim movl 12(%esp),%ebx 720238405Sjkim bswap %eax 721238405Sjkim bswap %ebx 722238405Sjkim movl %eax,(%edi) 723238405Sjkim movl %ebx,4(%edi) 724238405Sjkim addl $8,%esi 725238405Sjkim addl $8,%edi 726238405Sjkim subl $8,%ebp 72795967Speter jnz .L002encrypt_loop 72895967Speter.L001encrypt_finish: 729238405Sjkim movl 52(%esp),%ebp 730238405Sjkim andl $7,%ebp 73195967Speter jz .L003finish 732127326Smarkm call .L004PIC_point 733127326Smarkm.L004PIC_point: 734127326Smarkm popl %edx 735127326Smarkm leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 736238405Sjkim movl (%ecx,%ebp,4),%ebp 737238405Sjkim addl %edx,%ebp 738238405Sjkim xorl %ecx,%ecx 739238405Sjkim xorl %edx,%edx 74095967Speter jmp *%ebp 741127326Smarkm.L006ej7: 742238405Sjkim movb 6(%esi),%dh 743238405Sjkim shll $8,%edx 744127326Smarkm.L007ej6: 745238405Sjkim movb 5(%esi),%dh 746127326Smarkm.L008ej5: 747238405Sjkim movb 4(%esi),%dl 748127326Smarkm.L009ej4: 749238405Sjkim movl (%esi),%ecx 750127326Smarkm jmp .L010ejend 751127326Smarkm.L011ej3: 752238405Sjkim movb 2(%esi),%ch 753238405Sjkim shll $8,%ecx 754127326Smarkm.L012ej2: 755238405Sjkim movb 1(%esi),%ch 756127326Smarkm.L013ej1: 757238405Sjkim movb (%esi),%cl 758127326Smarkm.L010ejend: 759238405Sjkim xorl %ecx,%eax 760238405Sjkim xorl %edx,%ebx 761238405Sjkim bswap %eax 762238405Sjkim bswap %ebx 763238405Sjkim movl %eax,8(%esp) 764238405Sjkim movl %ebx,12(%esp) 765238405Sjkim call .L_BF_encrypt_begin 766238405Sjkim movl 8(%esp),%eax 767238405Sjkim movl 12(%esp),%ebx 768238405Sjkim bswap %eax 769238405Sjkim bswap %ebx 770238405Sjkim movl %eax,(%edi) 771238405Sjkim movl %ebx,4(%edi) 77295967Speter jmp .L003finish 77395967Speter.L000decrypt: 774238405Sjkim andl $4294967288,%ebp 775238405Sjkim movl 16(%esp),%eax 776238405Sjkim movl 20(%esp),%ebx 777127326Smarkm jz .L014decrypt_finish 778127326Smarkm.L015decrypt_loop: 779238405Sjkim movl (%esi),%eax 780238405Sjkim movl 4(%esi),%ebx 781238405Sjkim bswap %eax 782238405Sjkim bswap %ebx 783238405Sjkim movl %eax,8(%esp) 784238405Sjkim movl %ebx,12(%esp) 785238405Sjkim call .L_BF_decrypt_begin 786238405Sjkim movl 8(%esp),%eax 787238405Sjkim movl 12(%esp),%ebx 788238405Sjkim bswap %eax 789238405Sjkim bswap %ebx 790238405Sjkim movl 16(%esp),%ecx 791238405Sjkim movl 20(%esp),%edx 792238405Sjkim xorl %eax,%ecx 793238405Sjkim xorl %ebx,%edx 794238405Sjkim movl (%esi),%eax 795238405Sjkim movl 4(%esi),%ebx 796238405Sjkim movl %ecx,(%edi) 797238405Sjkim movl %edx,4(%edi) 798238405Sjkim movl %eax,16(%esp) 799238405Sjkim movl %ebx,20(%esp) 800238405Sjkim addl $8,%esi 801238405Sjkim addl $8,%edi 802238405Sjkim subl $8,%ebp 803127326Smarkm jnz .L015decrypt_loop 804127326Smarkm.L014decrypt_finish: 805238405Sjkim movl 52(%esp),%ebp 806238405Sjkim andl $7,%ebp 80795967Speter jz .L003finish 808238405Sjkim movl (%esi),%eax 809238405Sjkim movl 4(%esi),%ebx 810238405Sjkim bswap %eax 811238405Sjkim bswap %ebx 812238405Sjkim movl %eax,8(%esp) 813238405Sjkim movl %ebx,12(%esp) 814238405Sjkim call .L_BF_decrypt_begin 815238405Sjkim movl 8(%esp),%eax 816238405Sjkim movl 12(%esp),%ebx 817238405Sjkim bswap %eax 818238405Sjkim bswap %ebx 819238405Sjkim movl 16(%esp),%ecx 820238405Sjkim movl 20(%esp),%edx 821238405Sjkim xorl %eax,%ecx 822238405Sjkim xorl %ebx,%edx 823238405Sjkim movl (%esi),%eax 824238405Sjkim movl 4(%esi),%ebx 825127326Smarkm.L016dj7: 826238405Sjkim rorl $16,%edx 827238405Sjkim movb %dl,6(%edi) 828238405Sjkim shrl $16,%edx 829127326Smarkm.L017dj6: 830238405Sjkim movb %dh,5(%edi) 831127326Smarkm.L018dj5: 832238405Sjkim movb %dl,4(%edi) 833127326Smarkm.L019dj4: 834238405Sjkim movl %ecx,(%edi) 835127326Smarkm jmp .L020djend 836127326Smarkm.L021dj3: 837238405Sjkim rorl $16,%ecx 838238405Sjkim movb %cl,2(%edi) 839238405Sjkim shll $16,%ecx 840127326Smarkm.L022dj2: 841238405Sjkim movb %ch,1(%esi) 842127326Smarkm.L023dj1: 843238405Sjkim movb %cl,(%esi) 844127326Smarkm.L020djend: 84595967Speter jmp .L003finish 84695967Speter.L003finish: 847238405Sjkim movl 60(%esp),%ecx 848238405Sjkim addl $24,%esp 849238405Sjkim movl %eax,(%ecx) 850238405Sjkim movl %ebx,4(%ecx) 85195967Speter popl %edi 85295967Speter popl %esi 85395967Speter popl %ebx 85495967Speter popl %ebp 85595967Speter ret 856238405Sjkim.align 64 857127326Smarkm.L005cbc_enc_jmp_table: 858238405Sjkim.long 0 859238405Sjkim.long .L013ej1-.L004PIC_point 860238405Sjkim.long .L012ej2-.L004PIC_point 861238405Sjkim.long .L011ej3-.L004PIC_point 862238405Sjkim.long .L009ej4-.L004PIC_point 863238405Sjkim.long .L008ej5-.L004PIC_point 864238405Sjkim.long .L007ej6-.L004PIC_point 865238405Sjkim.long .L006ej7-.L004PIC_point 866238405Sjkim.align 64 867238405Sjkim.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 868299966Sjkim#else 869299966Sjkim.file "bf-686.S" 870299966Sjkim.text 871299966Sjkim.globl BF_encrypt 872299966Sjkim.type BF_encrypt,@function 873299966Sjkim.align 16 874299966SjkimBF_encrypt: 875299966Sjkim.L_BF_encrypt_begin: 876299966Sjkim pushl %ebp 877299966Sjkim pushl %ebx 878299966Sjkim pushl %esi 879299966Sjkim pushl %edi 880299966Sjkim 881299966Sjkim 882299966Sjkim movl 20(%esp),%eax 883299966Sjkim movl (%eax),%ecx 884299966Sjkim movl 4(%eax),%edx 885299966Sjkim 886299966Sjkim 887299966Sjkim movl 24(%esp),%edi 888299966Sjkim xorl %eax,%eax 889299966Sjkim xorl %ebx,%ebx 890299966Sjkim xorl (%edi),%ecx 891299966Sjkim 892299966Sjkim 893299966Sjkim rorl $16,%ecx 894299966Sjkim movl 4(%edi),%esi 895299966Sjkim movb %ch,%al 896299966Sjkim movb %cl,%bl 897299966Sjkim rorl $16,%ecx 898299966Sjkim xorl %esi,%edx 899299966Sjkim movl 72(%edi,%eax,4),%esi 900299966Sjkim movl 1096(%edi,%ebx,4),%ebp 901299966Sjkim movb %ch,%al 902299966Sjkim movb %cl,%bl 903299966Sjkim addl %ebp,%esi 904299966Sjkim movl 2120(%edi,%eax,4),%eax 905299966Sjkim xorl %eax,%esi 906299966Sjkim movl 3144(%edi,%ebx,4),%ebp 907299966Sjkim addl %ebp,%esi 908299966Sjkim xorl %eax,%eax 909299966Sjkim xorl %esi,%edx 910299966Sjkim 911299966Sjkim 912299966Sjkim rorl $16,%edx 913299966Sjkim movl 8(%edi),%esi 914299966Sjkim movb %dh,%al 915299966Sjkim movb %dl,%bl 916299966Sjkim rorl $16,%edx 917299966Sjkim xorl %esi,%ecx 918299966Sjkim movl 72(%edi,%eax,4),%esi 919299966Sjkim movl 1096(%edi,%ebx,4),%ebp 920299966Sjkim movb %dh,%al 921299966Sjkim movb %dl,%bl 922299966Sjkim addl %ebp,%esi 923299966Sjkim movl 2120(%edi,%eax,4),%eax 924299966Sjkim xorl %eax,%esi 925299966Sjkim movl 3144(%edi,%ebx,4),%ebp 926299966Sjkim addl %ebp,%esi 927299966Sjkim xorl %eax,%eax 928299966Sjkim xorl %esi,%ecx 929299966Sjkim 930299966Sjkim 931299966Sjkim rorl $16,%ecx 932299966Sjkim movl 12(%edi),%esi 933299966Sjkim movb %ch,%al 934299966Sjkim movb %cl,%bl 935299966Sjkim rorl $16,%ecx 936299966Sjkim xorl %esi,%edx 937299966Sjkim movl 72(%edi,%eax,4),%esi 938299966Sjkim movl 1096(%edi,%ebx,4),%ebp 939299966Sjkim movb %ch,%al 940299966Sjkim movb %cl,%bl 941299966Sjkim addl %ebp,%esi 942299966Sjkim movl 2120(%edi,%eax,4),%eax 943299966Sjkim xorl %eax,%esi 944299966Sjkim movl 3144(%edi,%ebx,4),%ebp 945299966Sjkim addl %ebp,%esi 946299966Sjkim xorl %eax,%eax 947299966Sjkim xorl %esi,%edx 948299966Sjkim 949299966Sjkim 950299966Sjkim rorl $16,%edx 951299966Sjkim movl 16(%edi),%esi 952299966Sjkim movb %dh,%al 953299966Sjkim movb %dl,%bl 954299966Sjkim rorl $16,%edx 955299966Sjkim xorl %esi,%ecx 956299966Sjkim movl 72(%edi,%eax,4),%esi 957299966Sjkim movl 1096(%edi,%ebx,4),%ebp 958299966Sjkim movb %dh,%al 959299966Sjkim movb %dl,%bl 960299966Sjkim addl %ebp,%esi 961299966Sjkim movl 2120(%edi,%eax,4),%eax 962299966Sjkim xorl %eax,%esi 963299966Sjkim movl 3144(%edi,%ebx,4),%ebp 964299966Sjkim addl %ebp,%esi 965299966Sjkim xorl %eax,%eax 966299966Sjkim xorl %esi,%ecx 967299966Sjkim 968299966Sjkim 969299966Sjkim rorl $16,%ecx 970299966Sjkim movl 20(%edi),%esi 971299966Sjkim movb %ch,%al 972299966Sjkim movb %cl,%bl 973299966Sjkim rorl $16,%ecx 974299966Sjkim xorl %esi,%edx 975299966Sjkim movl 72(%edi,%eax,4),%esi 976299966Sjkim movl 1096(%edi,%ebx,4),%ebp 977299966Sjkim movb %ch,%al 978299966Sjkim movb %cl,%bl 979299966Sjkim addl %ebp,%esi 980299966Sjkim movl 2120(%edi,%eax,4),%eax 981299966Sjkim xorl %eax,%esi 982299966Sjkim movl 3144(%edi,%ebx,4),%ebp 983299966Sjkim addl %ebp,%esi 984299966Sjkim xorl %eax,%eax 985299966Sjkim xorl %esi,%edx 986299966Sjkim 987299966Sjkim 988299966Sjkim rorl $16,%edx 989299966Sjkim movl 24(%edi),%esi 990299966Sjkim movb %dh,%al 991299966Sjkim movb %dl,%bl 992299966Sjkim rorl $16,%edx 993299966Sjkim xorl %esi,%ecx 994299966Sjkim movl 72(%edi,%eax,4),%esi 995299966Sjkim movl 1096(%edi,%ebx,4),%ebp 996299966Sjkim movb %dh,%al 997299966Sjkim movb %dl,%bl 998299966Sjkim addl %ebp,%esi 999299966Sjkim movl 2120(%edi,%eax,4),%eax 1000299966Sjkim xorl %eax,%esi 1001299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1002299966Sjkim addl %ebp,%esi 1003299966Sjkim xorl %eax,%eax 1004299966Sjkim xorl %esi,%ecx 1005299966Sjkim 1006299966Sjkim 1007299966Sjkim rorl $16,%ecx 1008299966Sjkim movl 28(%edi),%esi 1009299966Sjkim movb %ch,%al 1010299966Sjkim movb %cl,%bl 1011299966Sjkim rorl $16,%ecx 1012299966Sjkim xorl %esi,%edx 1013299966Sjkim movl 72(%edi,%eax,4),%esi 1014299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1015299966Sjkim movb %ch,%al 1016299966Sjkim movb %cl,%bl 1017299966Sjkim addl %ebp,%esi 1018299966Sjkim movl 2120(%edi,%eax,4),%eax 1019299966Sjkim xorl %eax,%esi 1020299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1021299966Sjkim addl %ebp,%esi 1022299966Sjkim xorl %eax,%eax 1023299966Sjkim xorl %esi,%edx 1024299966Sjkim 1025299966Sjkim 1026299966Sjkim rorl $16,%edx 1027299966Sjkim movl 32(%edi),%esi 1028299966Sjkim movb %dh,%al 1029299966Sjkim movb %dl,%bl 1030299966Sjkim rorl $16,%edx 1031299966Sjkim xorl %esi,%ecx 1032299966Sjkim movl 72(%edi,%eax,4),%esi 1033299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1034299966Sjkim movb %dh,%al 1035299966Sjkim movb %dl,%bl 1036299966Sjkim addl %ebp,%esi 1037299966Sjkim movl 2120(%edi,%eax,4),%eax 1038299966Sjkim xorl %eax,%esi 1039299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1040299966Sjkim addl %ebp,%esi 1041299966Sjkim xorl %eax,%eax 1042299966Sjkim xorl %esi,%ecx 1043299966Sjkim 1044299966Sjkim 1045299966Sjkim rorl $16,%ecx 1046299966Sjkim movl 36(%edi),%esi 1047299966Sjkim movb %ch,%al 1048299966Sjkim movb %cl,%bl 1049299966Sjkim rorl $16,%ecx 1050299966Sjkim xorl %esi,%edx 1051299966Sjkim movl 72(%edi,%eax,4),%esi 1052299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1053299966Sjkim movb %ch,%al 1054299966Sjkim movb %cl,%bl 1055299966Sjkim addl %ebp,%esi 1056299966Sjkim movl 2120(%edi,%eax,4),%eax 1057299966Sjkim xorl %eax,%esi 1058299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1059299966Sjkim addl %ebp,%esi 1060299966Sjkim xorl %eax,%eax 1061299966Sjkim xorl %esi,%edx 1062299966Sjkim 1063299966Sjkim 1064299966Sjkim rorl $16,%edx 1065299966Sjkim movl 40(%edi),%esi 1066299966Sjkim movb %dh,%al 1067299966Sjkim movb %dl,%bl 1068299966Sjkim rorl $16,%edx 1069299966Sjkim xorl %esi,%ecx 1070299966Sjkim movl 72(%edi,%eax,4),%esi 1071299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1072299966Sjkim movb %dh,%al 1073299966Sjkim movb %dl,%bl 1074299966Sjkim addl %ebp,%esi 1075299966Sjkim movl 2120(%edi,%eax,4),%eax 1076299966Sjkim xorl %eax,%esi 1077299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1078299966Sjkim addl %ebp,%esi 1079299966Sjkim xorl %eax,%eax 1080299966Sjkim xorl %esi,%ecx 1081299966Sjkim 1082299966Sjkim 1083299966Sjkim rorl $16,%ecx 1084299966Sjkim movl 44(%edi),%esi 1085299966Sjkim movb %ch,%al 1086299966Sjkim movb %cl,%bl 1087299966Sjkim rorl $16,%ecx 1088299966Sjkim xorl %esi,%edx 1089299966Sjkim movl 72(%edi,%eax,4),%esi 1090299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1091299966Sjkim movb %ch,%al 1092299966Sjkim movb %cl,%bl 1093299966Sjkim addl %ebp,%esi 1094299966Sjkim movl 2120(%edi,%eax,4),%eax 1095299966Sjkim xorl %eax,%esi 1096299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1097299966Sjkim addl %ebp,%esi 1098299966Sjkim xorl %eax,%eax 1099299966Sjkim xorl %esi,%edx 1100299966Sjkim 1101299966Sjkim 1102299966Sjkim rorl $16,%edx 1103299966Sjkim movl 48(%edi),%esi 1104299966Sjkim movb %dh,%al 1105299966Sjkim movb %dl,%bl 1106299966Sjkim rorl $16,%edx 1107299966Sjkim xorl %esi,%ecx 1108299966Sjkim movl 72(%edi,%eax,4),%esi 1109299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1110299966Sjkim movb %dh,%al 1111299966Sjkim movb %dl,%bl 1112299966Sjkim addl %ebp,%esi 1113299966Sjkim movl 2120(%edi,%eax,4),%eax 1114299966Sjkim xorl %eax,%esi 1115299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1116299966Sjkim addl %ebp,%esi 1117299966Sjkim xorl %eax,%eax 1118299966Sjkim xorl %esi,%ecx 1119299966Sjkim 1120299966Sjkim 1121299966Sjkim rorl $16,%ecx 1122299966Sjkim movl 52(%edi),%esi 1123299966Sjkim movb %ch,%al 1124299966Sjkim movb %cl,%bl 1125299966Sjkim rorl $16,%ecx 1126299966Sjkim xorl %esi,%edx 1127299966Sjkim movl 72(%edi,%eax,4),%esi 1128299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1129299966Sjkim movb %ch,%al 1130299966Sjkim movb %cl,%bl 1131299966Sjkim addl %ebp,%esi 1132299966Sjkim movl 2120(%edi,%eax,4),%eax 1133299966Sjkim xorl %eax,%esi 1134299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1135299966Sjkim addl %ebp,%esi 1136299966Sjkim xorl %eax,%eax 1137299966Sjkim xorl %esi,%edx 1138299966Sjkim 1139299966Sjkim 1140299966Sjkim rorl $16,%edx 1141299966Sjkim movl 56(%edi),%esi 1142299966Sjkim movb %dh,%al 1143299966Sjkim movb %dl,%bl 1144299966Sjkim rorl $16,%edx 1145299966Sjkim xorl %esi,%ecx 1146299966Sjkim movl 72(%edi,%eax,4),%esi 1147299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1148299966Sjkim movb %dh,%al 1149299966Sjkim movb %dl,%bl 1150299966Sjkim addl %ebp,%esi 1151299966Sjkim movl 2120(%edi,%eax,4),%eax 1152299966Sjkim xorl %eax,%esi 1153299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1154299966Sjkim addl %ebp,%esi 1155299966Sjkim xorl %eax,%eax 1156299966Sjkim xorl %esi,%ecx 1157299966Sjkim 1158299966Sjkim 1159299966Sjkim rorl $16,%ecx 1160299966Sjkim movl 60(%edi),%esi 1161299966Sjkim movb %ch,%al 1162299966Sjkim movb %cl,%bl 1163299966Sjkim rorl $16,%ecx 1164299966Sjkim xorl %esi,%edx 1165299966Sjkim movl 72(%edi,%eax,4),%esi 1166299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1167299966Sjkim movb %ch,%al 1168299966Sjkim movb %cl,%bl 1169299966Sjkim addl %ebp,%esi 1170299966Sjkim movl 2120(%edi,%eax,4),%eax 1171299966Sjkim xorl %eax,%esi 1172299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1173299966Sjkim addl %ebp,%esi 1174299966Sjkim xorl %eax,%eax 1175299966Sjkim xorl %esi,%edx 1176299966Sjkim 1177299966Sjkim 1178299966Sjkim rorl $16,%edx 1179299966Sjkim movl 64(%edi),%esi 1180299966Sjkim movb %dh,%al 1181299966Sjkim movb %dl,%bl 1182299966Sjkim rorl $16,%edx 1183299966Sjkim xorl %esi,%ecx 1184299966Sjkim movl 72(%edi,%eax,4),%esi 1185299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1186299966Sjkim movb %dh,%al 1187299966Sjkim movb %dl,%bl 1188299966Sjkim addl %ebp,%esi 1189299966Sjkim movl 2120(%edi,%eax,4),%eax 1190299966Sjkim xorl %eax,%esi 1191299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1192299966Sjkim addl %ebp,%esi 1193299966Sjkim xorl %eax,%eax 1194299966Sjkim xorl %esi,%ecx 1195299966Sjkim xorl 68(%edi),%edx 1196299966Sjkim movl 20(%esp),%eax 1197299966Sjkim movl %edx,(%eax) 1198299966Sjkim movl %ecx,4(%eax) 1199299966Sjkim popl %edi 1200299966Sjkim popl %esi 1201299966Sjkim popl %ebx 1202299966Sjkim popl %ebp 1203299966Sjkim ret 1204299966Sjkim.size BF_encrypt,.-.L_BF_encrypt_begin 1205299966Sjkim.globl BF_decrypt 1206299966Sjkim.type BF_decrypt,@function 1207299966Sjkim.align 16 1208299966SjkimBF_decrypt: 1209299966Sjkim.L_BF_decrypt_begin: 1210299966Sjkim pushl %ebp 1211299966Sjkim pushl %ebx 1212299966Sjkim pushl %esi 1213299966Sjkim pushl %edi 1214299966Sjkim 1215299966Sjkim 1216299966Sjkim movl 20(%esp),%eax 1217299966Sjkim movl (%eax),%ecx 1218299966Sjkim movl 4(%eax),%edx 1219299966Sjkim 1220299966Sjkim 1221299966Sjkim movl 24(%esp),%edi 1222299966Sjkim xorl %eax,%eax 1223299966Sjkim xorl %ebx,%ebx 1224299966Sjkim xorl 68(%edi),%ecx 1225299966Sjkim 1226299966Sjkim 1227299966Sjkim rorl $16,%ecx 1228299966Sjkim movl 64(%edi),%esi 1229299966Sjkim movb %ch,%al 1230299966Sjkim movb %cl,%bl 1231299966Sjkim rorl $16,%ecx 1232299966Sjkim xorl %esi,%edx 1233299966Sjkim movl 72(%edi,%eax,4),%esi 1234299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1235299966Sjkim movb %ch,%al 1236299966Sjkim movb %cl,%bl 1237299966Sjkim addl %ebp,%esi 1238299966Sjkim movl 2120(%edi,%eax,4),%eax 1239299966Sjkim xorl %eax,%esi 1240299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1241299966Sjkim addl %ebp,%esi 1242299966Sjkim xorl %eax,%eax 1243299966Sjkim xorl %esi,%edx 1244299966Sjkim 1245299966Sjkim 1246299966Sjkim rorl $16,%edx 1247299966Sjkim movl 60(%edi),%esi 1248299966Sjkim movb %dh,%al 1249299966Sjkim movb %dl,%bl 1250299966Sjkim rorl $16,%edx 1251299966Sjkim xorl %esi,%ecx 1252299966Sjkim movl 72(%edi,%eax,4),%esi 1253299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1254299966Sjkim movb %dh,%al 1255299966Sjkim movb %dl,%bl 1256299966Sjkim addl %ebp,%esi 1257299966Sjkim movl 2120(%edi,%eax,4),%eax 1258299966Sjkim xorl %eax,%esi 1259299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1260299966Sjkim addl %ebp,%esi 1261299966Sjkim xorl %eax,%eax 1262299966Sjkim xorl %esi,%ecx 1263299966Sjkim 1264299966Sjkim 1265299966Sjkim rorl $16,%ecx 1266299966Sjkim movl 56(%edi),%esi 1267299966Sjkim movb %ch,%al 1268299966Sjkim movb %cl,%bl 1269299966Sjkim rorl $16,%ecx 1270299966Sjkim xorl %esi,%edx 1271299966Sjkim movl 72(%edi,%eax,4),%esi 1272299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1273299966Sjkim movb %ch,%al 1274299966Sjkim movb %cl,%bl 1275299966Sjkim addl %ebp,%esi 1276299966Sjkim movl 2120(%edi,%eax,4),%eax 1277299966Sjkim xorl %eax,%esi 1278299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1279299966Sjkim addl %ebp,%esi 1280299966Sjkim xorl %eax,%eax 1281299966Sjkim xorl %esi,%edx 1282299966Sjkim 1283299966Sjkim 1284299966Sjkim rorl $16,%edx 1285299966Sjkim movl 52(%edi),%esi 1286299966Sjkim movb %dh,%al 1287299966Sjkim movb %dl,%bl 1288299966Sjkim rorl $16,%edx 1289299966Sjkim xorl %esi,%ecx 1290299966Sjkim movl 72(%edi,%eax,4),%esi 1291299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1292299966Sjkim movb %dh,%al 1293299966Sjkim movb %dl,%bl 1294299966Sjkim addl %ebp,%esi 1295299966Sjkim movl 2120(%edi,%eax,4),%eax 1296299966Sjkim xorl %eax,%esi 1297299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1298299966Sjkim addl %ebp,%esi 1299299966Sjkim xorl %eax,%eax 1300299966Sjkim xorl %esi,%ecx 1301299966Sjkim 1302299966Sjkim 1303299966Sjkim rorl $16,%ecx 1304299966Sjkim movl 48(%edi),%esi 1305299966Sjkim movb %ch,%al 1306299966Sjkim movb %cl,%bl 1307299966Sjkim rorl $16,%ecx 1308299966Sjkim xorl %esi,%edx 1309299966Sjkim movl 72(%edi,%eax,4),%esi 1310299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1311299966Sjkim movb %ch,%al 1312299966Sjkim movb %cl,%bl 1313299966Sjkim addl %ebp,%esi 1314299966Sjkim movl 2120(%edi,%eax,4),%eax 1315299966Sjkim xorl %eax,%esi 1316299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1317299966Sjkim addl %ebp,%esi 1318299966Sjkim xorl %eax,%eax 1319299966Sjkim xorl %esi,%edx 1320299966Sjkim 1321299966Sjkim 1322299966Sjkim rorl $16,%edx 1323299966Sjkim movl 44(%edi),%esi 1324299966Sjkim movb %dh,%al 1325299966Sjkim movb %dl,%bl 1326299966Sjkim rorl $16,%edx 1327299966Sjkim xorl %esi,%ecx 1328299966Sjkim movl 72(%edi,%eax,4),%esi 1329299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1330299966Sjkim movb %dh,%al 1331299966Sjkim movb %dl,%bl 1332299966Sjkim addl %ebp,%esi 1333299966Sjkim movl 2120(%edi,%eax,4),%eax 1334299966Sjkim xorl %eax,%esi 1335299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1336299966Sjkim addl %ebp,%esi 1337299966Sjkim xorl %eax,%eax 1338299966Sjkim xorl %esi,%ecx 1339299966Sjkim 1340299966Sjkim 1341299966Sjkim rorl $16,%ecx 1342299966Sjkim movl 40(%edi),%esi 1343299966Sjkim movb %ch,%al 1344299966Sjkim movb %cl,%bl 1345299966Sjkim rorl $16,%ecx 1346299966Sjkim xorl %esi,%edx 1347299966Sjkim movl 72(%edi,%eax,4),%esi 1348299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1349299966Sjkim movb %ch,%al 1350299966Sjkim movb %cl,%bl 1351299966Sjkim addl %ebp,%esi 1352299966Sjkim movl 2120(%edi,%eax,4),%eax 1353299966Sjkim xorl %eax,%esi 1354299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1355299966Sjkim addl %ebp,%esi 1356299966Sjkim xorl %eax,%eax 1357299966Sjkim xorl %esi,%edx 1358299966Sjkim 1359299966Sjkim 1360299966Sjkim rorl $16,%edx 1361299966Sjkim movl 36(%edi),%esi 1362299966Sjkim movb %dh,%al 1363299966Sjkim movb %dl,%bl 1364299966Sjkim rorl $16,%edx 1365299966Sjkim xorl %esi,%ecx 1366299966Sjkim movl 72(%edi,%eax,4),%esi 1367299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1368299966Sjkim movb %dh,%al 1369299966Sjkim movb %dl,%bl 1370299966Sjkim addl %ebp,%esi 1371299966Sjkim movl 2120(%edi,%eax,4),%eax 1372299966Sjkim xorl %eax,%esi 1373299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1374299966Sjkim addl %ebp,%esi 1375299966Sjkim xorl %eax,%eax 1376299966Sjkim xorl %esi,%ecx 1377299966Sjkim 1378299966Sjkim 1379299966Sjkim rorl $16,%ecx 1380299966Sjkim movl 32(%edi),%esi 1381299966Sjkim movb %ch,%al 1382299966Sjkim movb %cl,%bl 1383299966Sjkim rorl $16,%ecx 1384299966Sjkim xorl %esi,%edx 1385299966Sjkim movl 72(%edi,%eax,4),%esi 1386299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1387299966Sjkim movb %ch,%al 1388299966Sjkim movb %cl,%bl 1389299966Sjkim addl %ebp,%esi 1390299966Sjkim movl 2120(%edi,%eax,4),%eax 1391299966Sjkim xorl %eax,%esi 1392299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1393299966Sjkim addl %ebp,%esi 1394299966Sjkim xorl %eax,%eax 1395299966Sjkim xorl %esi,%edx 1396299966Sjkim 1397299966Sjkim 1398299966Sjkim rorl $16,%edx 1399299966Sjkim movl 28(%edi),%esi 1400299966Sjkim movb %dh,%al 1401299966Sjkim movb %dl,%bl 1402299966Sjkim rorl $16,%edx 1403299966Sjkim xorl %esi,%ecx 1404299966Sjkim movl 72(%edi,%eax,4),%esi 1405299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1406299966Sjkim movb %dh,%al 1407299966Sjkim movb %dl,%bl 1408299966Sjkim addl %ebp,%esi 1409299966Sjkim movl 2120(%edi,%eax,4),%eax 1410299966Sjkim xorl %eax,%esi 1411299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1412299966Sjkim addl %ebp,%esi 1413299966Sjkim xorl %eax,%eax 1414299966Sjkim xorl %esi,%ecx 1415299966Sjkim 1416299966Sjkim 1417299966Sjkim rorl $16,%ecx 1418299966Sjkim movl 24(%edi),%esi 1419299966Sjkim movb %ch,%al 1420299966Sjkim movb %cl,%bl 1421299966Sjkim rorl $16,%ecx 1422299966Sjkim xorl %esi,%edx 1423299966Sjkim movl 72(%edi,%eax,4),%esi 1424299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1425299966Sjkim movb %ch,%al 1426299966Sjkim movb %cl,%bl 1427299966Sjkim addl %ebp,%esi 1428299966Sjkim movl 2120(%edi,%eax,4),%eax 1429299966Sjkim xorl %eax,%esi 1430299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1431299966Sjkim addl %ebp,%esi 1432299966Sjkim xorl %eax,%eax 1433299966Sjkim xorl %esi,%edx 1434299966Sjkim 1435299966Sjkim 1436299966Sjkim rorl $16,%edx 1437299966Sjkim movl 20(%edi),%esi 1438299966Sjkim movb %dh,%al 1439299966Sjkim movb %dl,%bl 1440299966Sjkim rorl $16,%edx 1441299966Sjkim xorl %esi,%ecx 1442299966Sjkim movl 72(%edi,%eax,4),%esi 1443299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1444299966Sjkim movb %dh,%al 1445299966Sjkim movb %dl,%bl 1446299966Sjkim addl %ebp,%esi 1447299966Sjkim movl 2120(%edi,%eax,4),%eax 1448299966Sjkim xorl %eax,%esi 1449299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1450299966Sjkim addl %ebp,%esi 1451299966Sjkim xorl %eax,%eax 1452299966Sjkim xorl %esi,%ecx 1453299966Sjkim 1454299966Sjkim 1455299966Sjkim rorl $16,%ecx 1456299966Sjkim movl 16(%edi),%esi 1457299966Sjkim movb %ch,%al 1458299966Sjkim movb %cl,%bl 1459299966Sjkim rorl $16,%ecx 1460299966Sjkim xorl %esi,%edx 1461299966Sjkim movl 72(%edi,%eax,4),%esi 1462299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1463299966Sjkim movb %ch,%al 1464299966Sjkim movb %cl,%bl 1465299966Sjkim addl %ebp,%esi 1466299966Sjkim movl 2120(%edi,%eax,4),%eax 1467299966Sjkim xorl %eax,%esi 1468299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1469299966Sjkim addl %ebp,%esi 1470299966Sjkim xorl %eax,%eax 1471299966Sjkim xorl %esi,%edx 1472299966Sjkim 1473299966Sjkim 1474299966Sjkim rorl $16,%edx 1475299966Sjkim movl 12(%edi),%esi 1476299966Sjkim movb %dh,%al 1477299966Sjkim movb %dl,%bl 1478299966Sjkim rorl $16,%edx 1479299966Sjkim xorl %esi,%ecx 1480299966Sjkim movl 72(%edi,%eax,4),%esi 1481299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1482299966Sjkim movb %dh,%al 1483299966Sjkim movb %dl,%bl 1484299966Sjkim addl %ebp,%esi 1485299966Sjkim movl 2120(%edi,%eax,4),%eax 1486299966Sjkim xorl %eax,%esi 1487299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1488299966Sjkim addl %ebp,%esi 1489299966Sjkim xorl %eax,%eax 1490299966Sjkim xorl %esi,%ecx 1491299966Sjkim 1492299966Sjkim 1493299966Sjkim rorl $16,%ecx 1494299966Sjkim movl 8(%edi),%esi 1495299966Sjkim movb %ch,%al 1496299966Sjkim movb %cl,%bl 1497299966Sjkim rorl $16,%ecx 1498299966Sjkim xorl %esi,%edx 1499299966Sjkim movl 72(%edi,%eax,4),%esi 1500299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1501299966Sjkim movb %ch,%al 1502299966Sjkim movb %cl,%bl 1503299966Sjkim addl %ebp,%esi 1504299966Sjkim movl 2120(%edi,%eax,4),%eax 1505299966Sjkim xorl %eax,%esi 1506299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1507299966Sjkim addl %ebp,%esi 1508299966Sjkim xorl %eax,%eax 1509299966Sjkim xorl %esi,%edx 1510299966Sjkim 1511299966Sjkim 1512299966Sjkim rorl $16,%edx 1513299966Sjkim movl 4(%edi),%esi 1514299966Sjkim movb %dh,%al 1515299966Sjkim movb %dl,%bl 1516299966Sjkim rorl $16,%edx 1517299966Sjkim xorl %esi,%ecx 1518299966Sjkim movl 72(%edi,%eax,4),%esi 1519299966Sjkim movl 1096(%edi,%ebx,4),%ebp 1520299966Sjkim movb %dh,%al 1521299966Sjkim movb %dl,%bl 1522299966Sjkim addl %ebp,%esi 1523299966Sjkim movl 2120(%edi,%eax,4),%eax 1524299966Sjkim xorl %eax,%esi 1525299966Sjkim movl 3144(%edi,%ebx,4),%ebp 1526299966Sjkim addl %ebp,%esi 1527299966Sjkim xorl %eax,%eax 1528299966Sjkim xorl %esi,%ecx 1529299966Sjkim xorl (%edi),%edx 1530299966Sjkim movl 20(%esp),%eax 1531299966Sjkim movl %edx,(%eax) 1532299966Sjkim movl %ecx,4(%eax) 1533299966Sjkim popl %edi 1534299966Sjkim popl %esi 1535299966Sjkim popl %ebx 1536299966Sjkim popl %ebp 1537299966Sjkim ret 1538299966Sjkim.size BF_decrypt,.-.L_BF_decrypt_begin 1539299966Sjkim.globl BF_cbc_encrypt 1540299966Sjkim.type BF_cbc_encrypt,@function 1541299966Sjkim.align 16 1542299966SjkimBF_cbc_encrypt: 1543299966Sjkim.L_BF_cbc_encrypt_begin: 1544299966Sjkim 1545299966Sjkim pushl %ebp 1546299966Sjkim pushl %ebx 1547299966Sjkim pushl %esi 1548299966Sjkim pushl %edi 1549299966Sjkim movl 28(%esp),%ebp 1550299966Sjkim 1551299966Sjkim movl 36(%esp),%ebx 1552299966Sjkim movl (%ebx),%esi 1553299966Sjkim movl 4(%ebx),%edi 1554299966Sjkim pushl %edi 1555299966Sjkim pushl %esi 1556299966Sjkim pushl %edi 1557299966Sjkim pushl %esi 1558299966Sjkim movl %esp,%ebx 1559299966Sjkim movl 36(%esp),%esi 1560299966Sjkim movl 40(%esp),%edi 1561299966Sjkim 1562299966Sjkim movl 56(%esp),%ecx 1563299966Sjkim 1564299966Sjkim movl 48(%esp),%eax 1565299966Sjkim pushl %eax 1566299966Sjkim pushl %ebx 1567299966Sjkim cmpl $0,%ecx 1568299966Sjkim jz .L000decrypt 1569299966Sjkim andl $4294967288,%ebp 1570299966Sjkim movl 8(%esp),%eax 1571299966Sjkim movl 12(%esp),%ebx 1572299966Sjkim jz .L001encrypt_finish 1573299966Sjkim.L002encrypt_loop: 1574299966Sjkim movl (%esi),%ecx 1575299966Sjkim movl 4(%esi),%edx 1576299966Sjkim xorl %ecx,%eax 1577299966Sjkim xorl %edx,%ebx 1578299966Sjkim bswap %eax 1579299966Sjkim bswap %ebx 1580299966Sjkim movl %eax,8(%esp) 1581299966Sjkim movl %ebx,12(%esp) 1582299966Sjkim call .L_BF_encrypt_begin 1583299966Sjkim movl 8(%esp),%eax 1584299966Sjkim movl 12(%esp),%ebx 1585299966Sjkim bswap %eax 1586299966Sjkim bswap %ebx 1587299966Sjkim movl %eax,(%edi) 1588299966Sjkim movl %ebx,4(%edi) 1589299966Sjkim addl $8,%esi 1590299966Sjkim addl $8,%edi 1591299966Sjkim subl $8,%ebp 1592299966Sjkim jnz .L002encrypt_loop 1593299966Sjkim.L001encrypt_finish: 1594299966Sjkim movl 52(%esp),%ebp 1595299966Sjkim andl $7,%ebp 1596299966Sjkim jz .L003finish 1597299966Sjkim call .L004PIC_point 1598299966Sjkim.L004PIC_point: 1599299966Sjkim popl %edx 1600299966Sjkim leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 1601299966Sjkim movl (%ecx,%ebp,4),%ebp 1602299966Sjkim addl %edx,%ebp 1603299966Sjkim xorl %ecx,%ecx 1604299966Sjkim xorl %edx,%edx 1605299966Sjkim jmp *%ebp 1606299966Sjkim.L006ej7: 1607299966Sjkim movb 6(%esi),%dh 1608299966Sjkim shll $8,%edx 1609299966Sjkim.L007ej6: 1610299966Sjkim movb 5(%esi),%dh 1611299966Sjkim.L008ej5: 1612299966Sjkim movb 4(%esi),%dl 1613299966Sjkim.L009ej4: 1614299966Sjkim movl (%esi),%ecx 1615299966Sjkim jmp .L010ejend 1616299966Sjkim.L011ej3: 1617299966Sjkim movb 2(%esi),%ch 1618299966Sjkim shll $8,%ecx 1619299966Sjkim.L012ej2: 1620299966Sjkim movb 1(%esi),%ch 1621299966Sjkim.L013ej1: 1622299966Sjkim movb (%esi),%cl 1623299966Sjkim.L010ejend: 1624299966Sjkim xorl %ecx,%eax 1625299966Sjkim xorl %edx,%ebx 1626299966Sjkim bswap %eax 1627299966Sjkim bswap %ebx 1628299966Sjkim movl %eax,8(%esp) 1629299966Sjkim movl %ebx,12(%esp) 1630299966Sjkim call .L_BF_encrypt_begin 1631299966Sjkim movl 8(%esp),%eax 1632299966Sjkim movl 12(%esp),%ebx 1633299966Sjkim bswap %eax 1634299966Sjkim bswap %ebx 1635299966Sjkim movl %eax,(%edi) 1636299966Sjkim movl %ebx,4(%edi) 1637299966Sjkim jmp .L003finish 1638299966Sjkim.L000decrypt: 1639299966Sjkim andl $4294967288,%ebp 1640299966Sjkim movl 16(%esp),%eax 1641299966Sjkim movl 20(%esp),%ebx 1642299966Sjkim jz .L014decrypt_finish 1643299966Sjkim.L015decrypt_loop: 1644299966Sjkim movl (%esi),%eax 1645299966Sjkim movl 4(%esi),%ebx 1646299966Sjkim bswap %eax 1647299966Sjkim bswap %ebx 1648299966Sjkim movl %eax,8(%esp) 1649299966Sjkim movl %ebx,12(%esp) 1650299966Sjkim call .L_BF_decrypt_begin 1651299966Sjkim movl 8(%esp),%eax 1652299966Sjkim movl 12(%esp),%ebx 1653299966Sjkim bswap %eax 1654299966Sjkim bswap %ebx 1655299966Sjkim movl 16(%esp),%ecx 1656299966Sjkim movl 20(%esp),%edx 1657299966Sjkim xorl %eax,%ecx 1658299966Sjkim xorl %ebx,%edx 1659299966Sjkim movl (%esi),%eax 1660299966Sjkim movl 4(%esi),%ebx 1661299966Sjkim movl %ecx,(%edi) 1662299966Sjkim movl %edx,4(%edi) 1663299966Sjkim movl %eax,16(%esp) 1664299966Sjkim movl %ebx,20(%esp) 1665299966Sjkim addl $8,%esi 1666299966Sjkim addl $8,%edi 1667299966Sjkim subl $8,%ebp 1668299966Sjkim jnz .L015decrypt_loop 1669299966Sjkim.L014decrypt_finish: 1670299966Sjkim movl 52(%esp),%ebp 1671299966Sjkim andl $7,%ebp 1672299966Sjkim jz .L003finish 1673299966Sjkim movl (%esi),%eax 1674299966Sjkim movl 4(%esi),%ebx 1675299966Sjkim bswap %eax 1676299966Sjkim bswap %ebx 1677299966Sjkim movl %eax,8(%esp) 1678299966Sjkim movl %ebx,12(%esp) 1679299966Sjkim call .L_BF_decrypt_begin 1680299966Sjkim movl 8(%esp),%eax 1681299966Sjkim movl 12(%esp),%ebx 1682299966Sjkim bswap %eax 1683299966Sjkim bswap %ebx 1684299966Sjkim movl 16(%esp),%ecx 1685299966Sjkim movl 20(%esp),%edx 1686299966Sjkim xorl %eax,%ecx 1687299966Sjkim xorl %ebx,%edx 1688299966Sjkim movl (%esi),%eax 1689299966Sjkim movl 4(%esi),%ebx 1690299966Sjkim.L016dj7: 1691299966Sjkim rorl $16,%edx 1692299966Sjkim movb %dl,6(%edi) 1693299966Sjkim shrl $16,%edx 1694299966Sjkim.L017dj6: 1695299966Sjkim movb %dh,5(%edi) 1696299966Sjkim.L018dj5: 1697299966Sjkim movb %dl,4(%edi) 1698299966Sjkim.L019dj4: 1699299966Sjkim movl %ecx,(%edi) 1700299966Sjkim jmp .L020djend 1701299966Sjkim.L021dj3: 1702299966Sjkim rorl $16,%ecx 1703299966Sjkim movb %cl,2(%edi) 1704299966Sjkim shll $16,%ecx 1705299966Sjkim.L022dj2: 1706299966Sjkim movb %ch,1(%esi) 1707299966Sjkim.L023dj1: 1708299966Sjkim movb %cl,(%esi) 1709299966Sjkim.L020djend: 1710299966Sjkim jmp .L003finish 1711299966Sjkim.L003finish: 1712299966Sjkim movl 60(%esp),%ecx 1713299966Sjkim addl $24,%esp 1714299966Sjkim movl %eax,(%ecx) 1715299966Sjkim movl %ebx,4(%ecx) 1716299966Sjkim popl %edi 1717299966Sjkim popl %esi 1718299966Sjkim popl %ebx 1719299966Sjkim popl %ebp 1720299966Sjkim ret 1721299966Sjkim.align 64 1722299966Sjkim.L005cbc_enc_jmp_table: 1723299966Sjkim.long 0 1724299966Sjkim.long .L013ej1-.L004PIC_point 1725299966Sjkim.long .L012ej2-.L004PIC_point 1726299966Sjkim.long .L011ej3-.L004PIC_point 1727299966Sjkim.long .L009ej4-.L004PIC_point 1728299966Sjkim.long .L008ej5-.L004PIC_point 1729299966Sjkim.long .L007ej6-.L004PIC_point 1730299966Sjkim.long .L006ej7-.L004PIC_point 1731299966Sjkim.align 64 1732299966Sjkim.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 1733299966Sjkim#endif 1734