195967Speter # $FreeBSD$ 2238405Sjkim.file "bf-686.s" 395967Speter.text 4238405Sjkim.globl BF_encrypt 5238405Sjkim.type BF_encrypt,@function 6238405Sjkim.align 16 795967SpeterBF_encrypt: 8238405Sjkim.L_BF_encrypt_begin: 995967Speter pushl %ebp 1095967Speter pushl %ebx 1195967Speter pushl %esi 1295967Speter pushl %edi 1395967Speter 1495967Speter 15238405Sjkim movl 20(%esp),%eax 16238405Sjkim movl (%eax),%ecx 17238405Sjkim movl 4(%eax),%edx 18127326Smarkm 1995967Speter 20238405Sjkim movl 24(%esp),%edi 21238405Sjkim xorl %eax,%eax 22238405Sjkim xorl %ebx,%ebx 23238405Sjkim xorl (%edi),%ecx 24127326Smarkm 2595967Speter 26238405Sjkim rorl $16,%ecx 27238405Sjkim movl 4(%edi),%esi 28238405Sjkim movb %ch,%al 29238405Sjkim movb %cl,%bl 30238405Sjkim rorl $16,%ecx 31238405Sjkim xorl %esi,%edx 3295967Speter movl 72(%edi,%eax,4),%esi 3395967Speter movl 1096(%edi,%ebx,4),%ebp 34238405Sjkim movb %ch,%al 35238405Sjkim movb %cl,%bl 36238405Sjkim addl %ebp,%esi 3795967Speter movl 2120(%edi,%eax,4),%eax 38238405Sjkim xorl %eax,%esi 3995967Speter movl 3144(%edi,%ebx,4),%ebp 40238405Sjkim addl %ebp,%esi 41238405Sjkim xorl %eax,%eax 42238405Sjkim xorl %esi,%edx 4395967Speter 44127326Smarkm 45238405Sjkim rorl $16,%edx 46238405Sjkim movl 8(%edi),%esi 47238405Sjkim movb %dh,%al 48238405Sjkim movb %dl,%bl 49238405Sjkim rorl $16,%edx 50238405Sjkim xorl %esi,%ecx 5195967Speter movl 72(%edi,%eax,4),%esi 5295967Speter movl 1096(%edi,%ebx,4),%ebp 53238405Sjkim movb %dh,%al 54238405Sjkim movb %dl,%bl 55238405Sjkim addl %ebp,%esi 5695967Speter movl 2120(%edi,%eax,4),%eax 57238405Sjkim xorl %eax,%esi 5895967Speter movl 3144(%edi,%ebx,4),%ebp 59238405Sjkim addl %ebp,%esi 60238405Sjkim xorl %eax,%eax 61238405Sjkim xorl %esi,%ecx 6295967Speter 63127326Smarkm 64238405Sjkim rorl $16,%ecx 65238405Sjkim movl 12(%edi),%esi 66238405Sjkim movb %ch,%al 67238405Sjkim movb %cl,%bl 68238405Sjkim rorl $16,%ecx 69238405Sjkim xorl %esi,%edx 7095967Speter movl 72(%edi,%eax,4),%esi 7195967Speter movl 1096(%edi,%ebx,4),%ebp 72238405Sjkim movb %ch,%al 73238405Sjkim movb %cl,%bl 74238405Sjkim addl %ebp,%esi 7595967Speter movl 2120(%edi,%eax,4),%eax 76238405Sjkim xorl %eax,%esi 7795967Speter movl 3144(%edi,%ebx,4),%ebp 78238405Sjkim addl %ebp,%esi 79238405Sjkim xorl %eax,%eax 80238405Sjkim xorl %esi,%edx 8195967Speter 82127326Smarkm 83238405Sjkim rorl $16,%edx 84238405Sjkim movl 16(%edi),%esi 85238405Sjkim movb %dh,%al 86238405Sjkim movb %dl,%bl 87238405Sjkim rorl $16,%edx 88238405Sjkim xorl %esi,%ecx 8995967Speter movl 72(%edi,%eax,4),%esi 9095967Speter movl 1096(%edi,%ebx,4),%ebp 91238405Sjkim movb %dh,%al 92238405Sjkim movb %dl,%bl 93238405Sjkim addl %ebp,%esi 9495967Speter movl 2120(%edi,%eax,4),%eax 95238405Sjkim xorl %eax,%esi 9695967Speter movl 3144(%edi,%ebx,4),%ebp 97238405Sjkim addl %ebp,%esi 98238405Sjkim xorl %eax,%eax 99238405Sjkim xorl %esi,%ecx 10095967Speter 101127326Smarkm 102238405Sjkim rorl $16,%ecx 103238405Sjkim movl 20(%edi),%esi 104238405Sjkim movb %ch,%al 105238405Sjkim movb %cl,%bl 106238405Sjkim rorl $16,%ecx 107238405Sjkim xorl %esi,%edx 10895967Speter movl 72(%edi,%eax,4),%esi 10995967Speter movl 1096(%edi,%ebx,4),%ebp 110238405Sjkim movb %ch,%al 111238405Sjkim movb %cl,%bl 112238405Sjkim addl %ebp,%esi 11395967Speter movl 2120(%edi,%eax,4),%eax 114238405Sjkim xorl %eax,%esi 11595967Speter movl 3144(%edi,%ebx,4),%ebp 116238405Sjkim addl %ebp,%esi 117238405Sjkim xorl %eax,%eax 118238405Sjkim xorl %esi,%edx 11995967Speter 120127326Smarkm 121238405Sjkim rorl $16,%edx 122238405Sjkim movl 24(%edi),%esi 123238405Sjkim movb %dh,%al 124238405Sjkim movb %dl,%bl 125238405Sjkim rorl $16,%edx 126238405Sjkim xorl %esi,%ecx 12795967Speter movl 72(%edi,%eax,4),%esi 12895967Speter movl 1096(%edi,%ebx,4),%ebp 129238405Sjkim movb %dh,%al 130238405Sjkim movb %dl,%bl 131238405Sjkim addl %ebp,%esi 13295967Speter movl 2120(%edi,%eax,4),%eax 133238405Sjkim xorl %eax,%esi 13495967Speter movl 3144(%edi,%ebx,4),%ebp 135238405Sjkim addl %ebp,%esi 136238405Sjkim xorl %eax,%eax 137238405Sjkim xorl %esi,%ecx 13895967Speter 139127326Smarkm 140238405Sjkim rorl $16,%ecx 141238405Sjkim movl 28(%edi),%esi 142238405Sjkim movb %ch,%al 143238405Sjkim movb %cl,%bl 144238405Sjkim rorl $16,%ecx 145238405Sjkim xorl %esi,%edx 14695967Speter movl 72(%edi,%eax,4),%esi 14795967Speter movl 1096(%edi,%ebx,4),%ebp 148238405Sjkim movb %ch,%al 149238405Sjkim movb %cl,%bl 150238405Sjkim addl %ebp,%esi 15195967Speter movl 2120(%edi,%eax,4),%eax 152238405Sjkim xorl %eax,%esi 15395967Speter movl 3144(%edi,%ebx,4),%ebp 154238405Sjkim addl %ebp,%esi 155238405Sjkim xorl %eax,%eax 156238405Sjkim xorl %esi,%edx 15795967Speter 158127326Smarkm 159238405Sjkim rorl $16,%edx 160238405Sjkim movl 32(%edi),%esi 161238405Sjkim movb %dh,%al 162238405Sjkim movb %dl,%bl 163238405Sjkim rorl $16,%edx 164238405Sjkim xorl %esi,%ecx 16595967Speter movl 72(%edi,%eax,4),%esi 16695967Speter movl 1096(%edi,%ebx,4),%ebp 167238405Sjkim movb %dh,%al 168238405Sjkim movb %dl,%bl 169238405Sjkim addl %ebp,%esi 17095967Speter movl 2120(%edi,%eax,4),%eax 171238405Sjkim xorl %eax,%esi 17295967Speter movl 3144(%edi,%ebx,4),%ebp 173238405Sjkim addl %ebp,%esi 174238405Sjkim xorl %eax,%eax 175238405Sjkim xorl %esi,%ecx 17695967Speter 177127326Smarkm 178238405Sjkim rorl $16,%ecx 179238405Sjkim movl 36(%edi),%esi 180238405Sjkim movb %ch,%al 181238405Sjkim movb %cl,%bl 182238405Sjkim rorl $16,%ecx 183238405Sjkim xorl %esi,%edx 18495967Speter movl 72(%edi,%eax,4),%esi 18595967Speter movl 1096(%edi,%ebx,4),%ebp 186238405Sjkim movb %ch,%al 187238405Sjkim movb %cl,%bl 188238405Sjkim addl %ebp,%esi 18995967Speter movl 2120(%edi,%eax,4),%eax 190238405Sjkim xorl %eax,%esi 19195967Speter movl 3144(%edi,%ebx,4),%ebp 192238405Sjkim addl %ebp,%esi 193238405Sjkim xorl %eax,%eax 194238405Sjkim xorl %esi,%edx 19595967Speter 196127326Smarkm 197238405Sjkim rorl $16,%edx 198238405Sjkim movl 40(%edi),%esi 199238405Sjkim movb %dh,%al 200238405Sjkim movb %dl,%bl 201238405Sjkim rorl $16,%edx 202238405Sjkim xorl %esi,%ecx 20395967Speter movl 72(%edi,%eax,4),%esi 20495967Speter movl 1096(%edi,%ebx,4),%ebp 205238405Sjkim movb %dh,%al 206238405Sjkim movb %dl,%bl 207238405Sjkim addl %ebp,%esi 20895967Speter movl 2120(%edi,%eax,4),%eax 209238405Sjkim xorl %eax,%esi 21095967Speter movl 3144(%edi,%ebx,4),%ebp 211238405Sjkim addl %ebp,%esi 212238405Sjkim xorl %eax,%eax 213238405Sjkim xorl %esi,%ecx 21495967Speter 215127326Smarkm 216238405Sjkim rorl $16,%ecx 217238405Sjkim movl 44(%edi),%esi 218238405Sjkim movb %ch,%al 219238405Sjkim movb %cl,%bl 220238405Sjkim rorl $16,%ecx 221238405Sjkim xorl %esi,%edx 22295967Speter movl 72(%edi,%eax,4),%esi 22395967Speter movl 1096(%edi,%ebx,4),%ebp 224238405Sjkim movb %ch,%al 225238405Sjkim movb %cl,%bl 226238405Sjkim addl %ebp,%esi 22795967Speter movl 2120(%edi,%eax,4),%eax 228238405Sjkim xorl %eax,%esi 22995967Speter movl 3144(%edi,%ebx,4),%ebp 230238405Sjkim addl %ebp,%esi 231238405Sjkim xorl %eax,%eax 232238405Sjkim xorl %esi,%edx 23395967Speter 234127326Smarkm 235238405Sjkim rorl $16,%edx 236238405Sjkim movl 48(%edi),%esi 237238405Sjkim movb %dh,%al 238238405Sjkim movb %dl,%bl 239238405Sjkim rorl $16,%edx 240238405Sjkim xorl %esi,%ecx 24195967Speter movl 72(%edi,%eax,4),%esi 24295967Speter movl 1096(%edi,%ebx,4),%ebp 243238405Sjkim movb %dh,%al 244238405Sjkim movb %dl,%bl 245238405Sjkim addl %ebp,%esi 24695967Speter movl 2120(%edi,%eax,4),%eax 247238405Sjkim xorl %eax,%esi 24895967Speter movl 3144(%edi,%ebx,4),%ebp 249238405Sjkim addl %ebp,%esi 250238405Sjkim xorl %eax,%eax 251238405Sjkim xorl %esi,%ecx 25295967Speter 253127326Smarkm 254238405Sjkim rorl $16,%ecx 255238405Sjkim movl 52(%edi),%esi 256238405Sjkim movb %ch,%al 257238405Sjkim movb %cl,%bl 258238405Sjkim rorl $16,%ecx 259238405Sjkim xorl %esi,%edx 26095967Speter movl 72(%edi,%eax,4),%esi 26195967Speter movl 1096(%edi,%ebx,4),%ebp 262238405Sjkim movb %ch,%al 263238405Sjkim movb %cl,%bl 264238405Sjkim addl %ebp,%esi 26595967Speter movl 2120(%edi,%eax,4),%eax 266238405Sjkim xorl %eax,%esi 26795967Speter movl 3144(%edi,%ebx,4),%ebp 268238405Sjkim addl %ebp,%esi 269238405Sjkim xorl %eax,%eax 270238405Sjkim xorl %esi,%edx 27195967Speter 272127326Smarkm 273238405Sjkim rorl $16,%edx 274238405Sjkim movl 56(%edi),%esi 275238405Sjkim movb %dh,%al 276238405Sjkim movb %dl,%bl 277238405Sjkim rorl $16,%edx 278238405Sjkim xorl %esi,%ecx 27995967Speter movl 72(%edi,%eax,4),%esi 28095967Speter movl 1096(%edi,%ebx,4),%ebp 281238405Sjkim movb %dh,%al 282238405Sjkim movb %dl,%bl 283238405Sjkim addl %ebp,%esi 28495967Speter movl 2120(%edi,%eax,4),%eax 285238405Sjkim xorl %eax,%esi 28695967Speter movl 3144(%edi,%ebx,4),%ebp 287238405Sjkim addl %ebp,%esi 288238405Sjkim xorl %eax,%eax 289238405Sjkim xorl %esi,%ecx 29095967Speter 291127326Smarkm 292238405Sjkim rorl $16,%ecx 293238405Sjkim movl 60(%edi),%esi 294238405Sjkim movb %ch,%al 295238405Sjkim movb %cl,%bl 296238405Sjkim rorl $16,%ecx 297238405Sjkim xorl %esi,%edx 29895967Speter movl 72(%edi,%eax,4),%esi 29995967Speter movl 1096(%edi,%ebx,4),%ebp 300238405Sjkim movb %ch,%al 301238405Sjkim movb %cl,%bl 302238405Sjkim addl %ebp,%esi 30395967Speter movl 2120(%edi,%eax,4),%eax 304238405Sjkim xorl %eax,%esi 30595967Speter movl 3144(%edi,%ebx,4),%ebp 306238405Sjkim addl %ebp,%esi 307238405Sjkim xorl %eax,%eax 308238405Sjkim xorl %esi,%edx 30995967Speter 310127326Smarkm 311238405Sjkim rorl $16,%edx 312238405Sjkim movl 64(%edi),%esi 313238405Sjkim movb %dh,%al 314238405Sjkim movb %dl,%bl 315238405Sjkim rorl $16,%edx 316238405Sjkim xorl %esi,%ecx 31795967Speter movl 72(%edi,%eax,4),%esi 31895967Speter movl 1096(%edi,%ebx,4),%ebp 319238405Sjkim movb %dh,%al 320238405Sjkim movb %dl,%bl 321238405Sjkim addl %ebp,%esi 32295967Speter movl 2120(%edi,%eax,4),%eax 323238405Sjkim xorl %eax,%esi 32495967Speter movl 3144(%edi,%ebx,4),%ebp 325238405Sjkim addl %ebp,%esi 326238405Sjkim xorl %eax,%eax 327238405Sjkim xorl %esi,%ecx 328238405Sjkim xorl 68(%edi),%edx 329238405Sjkim movl 20(%esp),%eax 330238405Sjkim movl %edx,(%eax) 331238405Sjkim movl %ecx,4(%eax) 33295967Speter popl %edi 33395967Speter popl %esi 33495967Speter popl %ebx 33595967Speter popl %ebp 33695967Speter ret 337238405Sjkim.size BF_encrypt,.-.L_BF_encrypt_begin 338238405Sjkim.globl BF_decrypt 339238405Sjkim.type BF_decrypt,@function 340238405Sjkim.align 16 34195967SpeterBF_decrypt: 342238405Sjkim.L_BF_decrypt_begin: 34395967Speter pushl %ebp 34495967Speter pushl %ebx 34595967Speter pushl %esi 34695967Speter pushl %edi 34795967Speter 34895967Speter 349238405Sjkim movl 20(%esp),%eax 350238405Sjkim movl (%eax),%ecx 351238405Sjkim movl 4(%eax),%edx 352127326Smarkm 35395967Speter 354238405Sjkim movl 24(%esp),%edi 355238405Sjkim xorl %eax,%eax 356238405Sjkim xorl %ebx,%ebx 357238405Sjkim xorl 68(%edi),%ecx 358127326Smarkm 35995967Speter 360238405Sjkim rorl $16,%ecx 361238405Sjkim movl 64(%edi),%esi 362238405Sjkim movb %ch,%al 363238405Sjkim movb %cl,%bl 364238405Sjkim rorl $16,%ecx 365238405Sjkim xorl %esi,%edx 36695967Speter movl 72(%edi,%eax,4),%esi 36795967Speter movl 1096(%edi,%ebx,4),%ebp 368238405Sjkim movb %ch,%al 369238405Sjkim movb %cl,%bl 370238405Sjkim addl %ebp,%esi 37195967Speter movl 2120(%edi,%eax,4),%eax 372238405Sjkim xorl %eax,%esi 37395967Speter movl 3144(%edi,%ebx,4),%ebp 374238405Sjkim addl %ebp,%esi 375238405Sjkim xorl %eax,%eax 376238405Sjkim xorl %esi,%edx 37795967Speter 378127326Smarkm 379238405Sjkim rorl $16,%edx 380238405Sjkim movl 60(%edi),%esi 381238405Sjkim movb %dh,%al 382238405Sjkim movb %dl,%bl 383238405Sjkim rorl $16,%edx 384238405Sjkim xorl %esi,%ecx 38595967Speter movl 72(%edi,%eax,4),%esi 38695967Speter movl 1096(%edi,%ebx,4),%ebp 387238405Sjkim movb %dh,%al 388238405Sjkim movb %dl,%bl 389238405Sjkim addl %ebp,%esi 39095967Speter movl 2120(%edi,%eax,4),%eax 391238405Sjkim xorl %eax,%esi 39295967Speter movl 3144(%edi,%ebx,4),%ebp 393238405Sjkim addl %ebp,%esi 394238405Sjkim xorl %eax,%eax 395238405Sjkim xorl %esi,%ecx 39695967Speter 397127326Smarkm 398238405Sjkim rorl $16,%ecx 399238405Sjkim movl 56(%edi),%esi 400238405Sjkim movb %ch,%al 401238405Sjkim movb %cl,%bl 402238405Sjkim rorl $16,%ecx 403238405Sjkim xorl %esi,%edx 40495967Speter movl 72(%edi,%eax,4),%esi 40595967Speter movl 1096(%edi,%ebx,4),%ebp 406238405Sjkim movb %ch,%al 407238405Sjkim movb %cl,%bl 408238405Sjkim addl %ebp,%esi 40995967Speter movl 2120(%edi,%eax,4),%eax 410238405Sjkim xorl %eax,%esi 41195967Speter movl 3144(%edi,%ebx,4),%ebp 412238405Sjkim addl %ebp,%esi 413238405Sjkim xorl %eax,%eax 414238405Sjkim xorl %esi,%edx 41595967Speter 416127326Smarkm 417238405Sjkim rorl $16,%edx 418238405Sjkim movl 52(%edi),%esi 419238405Sjkim movb %dh,%al 420238405Sjkim movb %dl,%bl 421238405Sjkim rorl $16,%edx 422238405Sjkim xorl %esi,%ecx 42395967Speter movl 72(%edi,%eax,4),%esi 42495967Speter movl 1096(%edi,%ebx,4),%ebp 425238405Sjkim movb %dh,%al 426238405Sjkim movb %dl,%bl 427238405Sjkim addl %ebp,%esi 42895967Speter movl 2120(%edi,%eax,4),%eax 429238405Sjkim xorl %eax,%esi 43095967Speter movl 3144(%edi,%ebx,4),%ebp 431238405Sjkim addl %ebp,%esi 432238405Sjkim xorl %eax,%eax 433238405Sjkim xorl %esi,%ecx 43495967Speter 435127326Smarkm 436238405Sjkim rorl $16,%ecx 437238405Sjkim movl 48(%edi),%esi 438238405Sjkim movb %ch,%al 439238405Sjkim movb %cl,%bl 440238405Sjkim rorl $16,%ecx 441238405Sjkim xorl %esi,%edx 44295967Speter movl 72(%edi,%eax,4),%esi 44395967Speter movl 1096(%edi,%ebx,4),%ebp 444238405Sjkim movb %ch,%al 445238405Sjkim movb %cl,%bl 446238405Sjkim addl %ebp,%esi 44795967Speter movl 2120(%edi,%eax,4),%eax 448238405Sjkim xorl %eax,%esi 44995967Speter movl 3144(%edi,%ebx,4),%ebp 450238405Sjkim addl %ebp,%esi 451238405Sjkim xorl %eax,%eax 452238405Sjkim xorl %esi,%edx 45395967Speter 454127326Smarkm 455238405Sjkim rorl $16,%edx 456238405Sjkim movl 44(%edi),%esi 457238405Sjkim movb %dh,%al 458238405Sjkim movb %dl,%bl 459238405Sjkim rorl $16,%edx 460238405Sjkim xorl %esi,%ecx 46195967Speter movl 72(%edi,%eax,4),%esi 46295967Speter movl 1096(%edi,%ebx,4),%ebp 463238405Sjkim movb %dh,%al 464238405Sjkim movb %dl,%bl 465238405Sjkim addl %ebp,%esi 46695967Speter movl 2120(%edi,%eax,4),%eax 467238405Sjkim xorl %eax,%esi 46895967Speter movl 3144(%edi,%ebx,4),%ebp 469238405Sjkim addl %ebp,%esi 470238405Sjkim xorl %eax,%eax 471238405Sjkim xorl %esi,%ecx 47295967Speter 473127326Smarkm 474238405Sjkim rorl $16,%ecx 475238405Sjkim movl 40(%edi),%esi 476238405Sjkim movb %ch,%al 477238405Sjkim movb %cl,%bl 478238405Sjkim rorl $16,%ecx 479238405Sjkim xorl %esi,%edx 48095967Speter movl 72(%edi,%eax,4),%esi 48195967Speter movl 1096(%edi,%ebx,4),%ebp 482238405Sjkim movb %ch,%al 483238405Sjkim movb %cl,%bl 484238405Sjkim addl %ebp,%esi 48595967Speter movl 2120(%edi,%eax,4),%eax 486238405Sjkim xorl %eax,%esi 48795967Speter movl 3144(%edi,%ebx,4),%ebp 488238405Sjkim addl %ebp,%esi 489238405Sjkim xorl %eax,%eax 490238405Sjkim xorl %esi,%edx 49195967Speter 492127326Smarkm 493238405Sjkim rorl $16,%edx 494238405Sjkim movl 36(%edi),%esi 495238405Sjkim movb %dh,%al 496238405Sjkim movb %dl,%bl 497238405Sjkim rorl $16,%edx 498238405Sjkim xorl %esi,%ecx 49995967Speter movl 72(%edi,%eax,4),%esi 50095967Speter movl 1096(%edi,%ebx,4),%ebp 501238405Sjkim movb %dh,%al 502238405Sjkim movb %dl,%bl 503238405Sjkim addl %ebp,%esi 50495967Speter movl 2120(%edi,%eax,4),%eax 505238405Sjkim xorl %eax,%esi 50695967Speter movl 3144(%edi,%ebx,4),%ebp 507238405Sjkim addl %ebp,%esi 508238405Sjkim xorl %eax,%eax 509238405Sjkim xorl %esi,%ecx 51095967Speter 511127326Smarkm 512238405Sjkim rorl $16,%ecx 513238405Sjkim movl 32(%edi),%esi 514238405Sjkim movb %ch,%al 515238405Sjkim movb %cl,%bl 516238405Sjkim rorl $16,%ecx 517238405Sjkim xorl %esi,%edx 51895967Speter movl 72(%edi,%eax,4),%esi 51995967Speter movl 1096(%edi,%ebx,4),%ebp 520238405Sjkim movb %ch,%al 521238405Sjkim movb %cl,%bl 522238405Sjkim addl %ebp,%esi 52395967Speter movl 2120(%edi,%eax,4),%eax 524238405Sjkim xorl %eax,%esi 52595967Speter movl 3144(%edi,%ebx,4),%ebp 526238405Sjkim addl %ebp,%esi 527238405Sjkim xorl %eax,%eax 528238405Sjkim xorl %esi,%edx 52995967Speter 530127326Smarkm 531238405Sjkim rorl $16,%edx 532238405Sjkim movl 28(%edi),%esi 533238405Sjkim movb %dh,%al 534238405Sjkim movb %dl,%bl 535238405Sjkim rorl $16,%edx 536238405Sjkim xorl %esi,%ecx 53795967Speter movl 72(%edi,%eax,4),%esi 53895967Speter movl 1096(%edi,%ebx,4),%ebp 539238405Sjkim movb %dh,%al 540238405Sjkim movb %dl,%bl 541238405Sjkim addl %ebp,%esi 54295967Speter movl 2120(%edi,%eax,4),%eax 543238405Sjkim xorl %eax,%esi 54495967Speter movl 3144(%edi,%ebx,4),%ebp 545238405Sjkim addl %ebp,%esi 546238405Sjkim xorl %eax,%eax 547238405Sjkim xorl %esi,%ecx 54895967Speter 549127326Smarkm 550238405Sjkim rorl $16,%ecx 551238405Sjkim movl 24(%edi),%esi 552238405Sjkim movb %ch,%al 553238405Sjkim movb %cl,%bl 554238405Sjkim rorl $16,%ecx 555238405Sjkim xorl %esi,%edx 55695967Speter movl 72(%edi,%eax,4),%esi 55795967Speter movl 1096(%edi,%ebx,4),%ebp 558238405Sjkim movb %ch,%al 559238405Sjkim movb %cl,%bl 560238405Sjkim addl %ebp,%esi 56195967Speter movl 2120(%edi,%eax,4),%eax 562238405Sjkim xorl %eax,%esi 56395967Speter movl 3144(%edi,%ebx,4),%ebp 564238405Sjkim addl %ebp,%esi 565238405Sjkim xorl %eax,%eax 566238405Sjkim xorl %esi,%edx 56795967Speter 568127326Smarkm 569238405Sjkim rorl $16,%edx 570238405Sjkim movl 20(%edi),%esi 571238405Sjkim movb %dh,%al 572238405Sjkim movb %dl,%bl 573238405Sjkim rorl $16,%edx 574238405Sjkim xorl %esi,%ecx 57595967Speter movl 72(%edi,%eax,4),%esi 57695967Speter movl 1096(%edi,%ebx,4),%ebp 577238405Sjkim movb %dh,%al 578238405Sjkim movb %dl,%bl 579238405Sjkim addl %ebp,%esi 58095967Speter movl 2120(%edi,%eax,4),%eax 581238405Sjkim xorl %eax,%esi 58295967Speter movl 3144(%edi,%ebx,4),%ebp 583238405Sjkim addl %ebp,%esi 584238405Sjkim xorl %eax,%eax 585238405Sjkim xorl %esi,%ecx 58695967Speter 587127326Smarkm 588238405Sjkim rorl $16,%ecx 589238405Sjkim movl 16(%edi),%esi 590238405Sjkim movb %ch,%al 591238405Sjkim movb %cl,%bl 592238405Sjkim rorl $16,%ecx 593238405Sjkim xorl %esi,%edx 59495967Speter movl 72(%edi,%eax,4),%esi 59595967Speter movl 1096(%edi,%ebx,4),%ebp 596238405Sjkim movb %ch,%al 597238405Sjkim movb %cl,%bl 598238405Sjkim addl %ebp,%esi 59995967Speter movl 2120(%edi,%eax,4),%eax 600238405Sjkim xorl %eax,%esi 60195967Speter movl 3144(%edi,%ebx,4),%ebp 602238405Sjkim addl %ebp,%esi 603238405Sjkim xorl %eax,%eax 604238405Sjkim xorl %esi,%edx 60595967Speter 606127326Smarkm 607238405Sjkim rorl $16,%edx 608238405Sjkim movl 12(%edi),%esi 609238405Sjkim movb %dh,%al 610238405Sjkim movb %dl,%bl 611238405Sjkim rorl $16,%edx 612238405Sjkim xorl %esi,%ecx 61395967Speter movl 72(%edi,%eax,4),%esi 61495967Speter movl 1096(%edi,%ebx,4),%ebp 615238405Sjkim movb %dh,%al 616238405Sjkim movb %dl,%bl 617238405Sjkim addl %ebp,%esi 61895967Speter movl 2120(%edi,%eax,4),%eax 619238405Sjkim xorl %eax,%esi 62095967Speter movl 3144(%edi,%ebx,4),%ebp 621238405Sjkim addl %ebp,%esi 622238405Sjkim xorl %eax,%eax 623238405Sjkim xorl %esi,%ecx 62495967Speter 625127326Smarkm 626238405Sjkim rorl $16,%ecx 627238405Sjkim movl 8(%edi),%esi 628238405Sjkim movb %ch,%al 629238405Sjkim movb %cl,%bl 630238405Sjkim rorl $16,%ecx 631238405Sjkim xorl %esi,%edx 63295967Speter movl 72(%edi,%eax,4),%esi 63395967Speter movl 1096(%edi,%ebx,4),%ebp 634238405Sjkim movb %ch,%al 635238405Sjkim movb %cl,%bl 636238405Sjkim addl %ebp,%esi 63795967Speter movl 2120(%edi,%eax,4),%eax 638238405Sjkim xorl %eax,%esi 63995967Speter movl 3144(%edi,%ebx,4),%ebp 640238405Sjkim addl %ebp,%esi 641238405Sjkim xorl %eax,%eax 642238405Sjkim xorl %esi,%edx 64395967Speter 644127326Smarkm 645238405Sjkim rorl $16,%edx 646238405Sjkim movl 4(%edi),%esi 647238405Sjkim movb %dh,%al 648238405Sjkim movb %dl,%bl 649238405Sjkim rorl $16,%edx 650238405Sjkim xorl %esi,%ecx 65195967Speter movl 72(%edi,%eax,4),%esi 65295967Speter movl 1096(%edi,%ebx,4),%ebp 653238405Sjkim movb %dh,%al 654238405Sjkim movb %dl,%bl 655238405Sjkim addl %ebp,%esi 65695967Speter movl 2120(%edi,%eax,4),%eax 657238405Sjkim xorl %eax,%esi 65895967Speter movl 3144(%edi,%ebx,4),%ebp 659238405Sjkim addl %ebp,%esi 660238405Sjkim xorl %eax,%eax 661238405Sjkim xorl %esi,%ecx 662238405Sjkim xorl (%edi),%edx 663238405Sjkim movl 20(%esp),%eax 664238405Sjkim movl %edx,(%eax) 665238405Sjkim movl %ecx,4(%eax) 66695967Speter popl %edi 66795967Speter popl %esi 66895967Speter popl %ebx 66995967Speter popl %ebp 67095967Speter ret 671238405Sjkim.size BF_decrypt,.-.L_BF_decrypt_begin 672238405Sjkim.globl BF_cbc_encrypt 673238405Sjkim.type BF_cbc_encrypt,@function 674238405Sjkim.align 16 67595967SpeterBF_cbc_encrypt: 676238405Sjkim.L_BF_cbc_encrypt_begin: 67795967Speter 67895967Speter pushl %ebp 67995967Speter pushl %ebx 68095967Speter pushl %esi 68195967Speter pushl %edi 682238405Sjkim movl 28(%esp),%ebp 683127326Smarkm 684238405Sjkim movl 36(%esp),%ebx 685238405Sjkim movl (%ebx),%esi 686238405Sjkim movl 4(%ebx),%edi 68795967Speter pushl %edi 68895967Speter pushl %esi 68995967Speter pushl %edi 69095967Speter pushl %esi 691238405Sjkim movl %esp,%ebx 692238405Sjkim movl 36(%esp),%esi 693238405Sjkim movl 40(%esp),%edi 694127326Smarkm 695238405Sjkim movl 56(%esp),%ecx 696127326Smarkm 697238405Sjkim movl 48(%esp),%eax 69895967Speter pushl %eax 69995967Speter pushl %ebx 700238405Sjkim cmpl $0,%ecx 70195967Speter jz .L000decrypt 702238405Sjkim andl $4294967288,%ebp 703238405Sjkim movl 8(%esp),%eax 704238405Sjkim movl 12(%esp),%ebx 70595967Speter jz .L001encrypt_finish 70695967Speter.L002encrypt_loop: 707238405Sjkim movl (%esi),%ecx 708238405Sjkim movl 4(%esi),%edx 709238405Sjkim xorl %ecx,%eax 710238405Sjkim xorl %edx,%ebx 711238405Sjkim bswap %eax 712238405Sjkim bswap %ebx 713238405Sjkim movl %eax,8(%esp) 714238405Sjkim movl %ebx,12(%esp) 715238405Sjkim call .L_BF_encrypt_begin 716238405Sjkim movl 8(%esp),%eax 717238405Sjkim movl 12(%esp),%ebx 718238405Sjkim bswap %eax 719238405Sjkim bswap %ebx 720238405Sjkim movl %eax,(%edi) 721238405Sjkim movl %ebx,4(%edi) 722238405Sjkim addl $8,%esi 723238405Sjkim addl $8,%edi 724238405Sjkim subl $8,%ebp 72595967Speter jnz .L002encrypt_loop 72695967Speter.L001encrypt_finish: 727238405Sjkim movl 52(%esp),%ebp 728238405Sjkim andl $7,%ebp 72995967Speter jz .L003finish 730127326Smarkm call .L004PIC_point 731127326Smarkm.L004PIC_point: 732127326Smarkm popl %edx 733127326Smarkm leal .L005cbc_enc_jmp_table-.L004PIC_point(%edx),%ecx 734238405Sjkim movl (%ecx,%ebp,4),%ebp 735238405Sjkim addl %edx,%ebp 736238405Sjkim xorl %ecx,%ecx 737238405Sjkim xorl %edx,%edx 73895967Speter jmp *%ebp 739127326Smarkm.L006ej7: 740238405Sjkim movb 6(%esi),%dh 741238405Sjkim shll $8,%edx 742127326Smarkm.L007ej6: 743238405Sjkim movb 5(%esi),%dh 744127326Smarkm.L008ej5: 745238405Sjkim movb 4(%esi),%dl 746127326Smarkm.L009ej4: 747238405Sjkim movl (%esi),%ecx 748127326Smarkm jmp .L010ejend 749127326Smarkm.L011ej3: 750238405Sjkim movb 2(%esi),%ch 751238405Sjkim shll $8,%ecx 752127326Smarkm.L012ej2: 753238405Sjkim movb 1(%esi),%ch 754127326Smarkm.L013ej1: 755238405Sjkim movb (%esi),%cl 756127326Smarkm.L010ejend: 757238405Sjkim xorl %ecx,%eax 758238405Sjkim xorl %edx,%ebx 759238405Sjkim bswap %eax 760238405Sjkim bswap %ebx 761238405Sjkim movl %eax,8(%esp) 762238405Sjkim movl %ebx,12(%esp) 763238405Sjkim call .L_BF_encrypt_begin 764238405Sjkim movl 8(%esp),%eax 765238405Sjkim movl 12(%esp),%ebx 766238405Sjkim bswap %eax 767238405Sjkim bswap %ebx 768238405Sjkim movl %eax,(%edi) 769238405Sjkim movl %ebx,4(%edi) 77095967Speter jmp .L003finish 77195967Speter.L000decrypt: 772238405Sjkim andl $4294967288,%ebp 773238405Sjkim movl 16(%esp),%eax 774238405Sjkim movl 20(%esp),%ebx 775127326Smarkm jz .L014decrypt_finish 776127326Smarkm.L015decrypt_loop: 777238405Sjkim movl (%esi),%eax 778238405Sjkim movl 4(%esi),%ebx 779238405Sjkim bswap %eax 780238405Sjkim bswap %ebx 781238405Sjkim movl %eax,8(%esp) 782238405Sjkim movl %ebx,12(%esp) 783238405Sjkim call .L_BF_decrypt_begin 784238405Sjkim movl 8(%esp),%eax 785238405Sjkim movl 12(%esp),%ebx 786238405Sjkim bswap %eax 787238405Sjkim bswap %ebx 788238405Sjkim movl 16(%esp),%ecx 789238405Sjkim movl 20(%esp),%edx 790238405Sjkim xorl %eax,%ecx 791238405Sjkim xorl %ebx,%edx 792238405Sjkim movl (%esi),%eax 793238405Sjkim movl 4(%esi),%ebx 794238405Sjkim movl %ecx,(%edi) 795238405Sjkim movl %edx,4(%edi) 796238405Sjkim movl %eax,16(%esp) 797238405Sjkim movl %ebx,20(%esp) 798238405Sjkim addl $8,%esi 799238405Sjkim addl $8,%edi 800238405Sjkim subl $8,%ebp 801127326Smarkm jnz .L015decrypt_loop 802127326Smarkm.L014decrypt_finish: 803238405Sjkim movl 52(%esp),%ebp 804238405Sjkim andl $7,%ebp 80595967Speter jz .L003finish 806238405Sjkim movl (%esi),%eax 807238405Sjkim movl 4(%esi),%ebx 808238405Sjkim bswap %eax 809238405Sjkim bswap %ebx 810238405Sjkim movl %eax,8(%esp) 811238405Sjkim movl %ebx,12(%esp) 812238405Sjkim call .L_BF_decrypt_begin 813238405Sjkim movl 8(%esp),%eax 814238405Sjkim movl 12(%esp),%ebx 815238405Sjkim bswap %eax 816238405Sjkim bswap %ebx 817238405Sjkim movl 16(%esp),%ecx 818238405Sjkim movl 20(%esp),%edx 819238405Sjkim xorl %eax,%ecx 820238405Sjkim xorl %ebx,%edx 821238405Sjkim movl (%esi),%eax 822238405Sjkim movl 4(%esi),%ebx 823127326Smarkm.L016dj7: 824238405Sjkim rorl $16,%edx 825238405Sjkim movb %dl,6(%edi) 826238405Sjkim shrl $16,%edx 827127326Smarkm.L017dj6: 828238405Sjkim movb %dh,5(%edi) 829127326Smarkm.L018dj5: 830238405Sjkim movb %dl,4(%edi) 831127326Smarkm.L019dj4: 832238405Sjkim movl %ecx,(%edi) 833127326Smarkm jmp .L020djend 834127326Smarkm.L021dj3: 835238405Sjkim rorl $16,%ecx 836238405Sjkim movb %cl,2(%edi) 837238405Sjkim shll $16,%ecx 838127326Smarkm.L022dj2: 839238405Sjkim movb %ch,1(%esi) 840127326Smarkm.L023dj1: 841238405Sjkim movb %cl,(%esi) 842127326Smarkm.L020djend: 84395967Speter jmp .L003finish 84495967Speter.L003finish: 845238405Sjkim movl 60(%esp),%ecx 846238405Sjkim addl $24,%esp 847238405Sjkim movl %eax,(%ecx) 848238405Sjkim movl %ebx,4(%ecx) 84995967Speter popl %edi 85095967Speter popl %esi 85195967Speter popl %ebx 85295967Speter popl %ebp 85395967Speter ret 854238405Sjkim.align 64 855127326Smarkm.L005cbc_enc_jmp_table: 856238405Sjkim.long 0 857238405Sjkim.long .L013ej1-.L004PIC_point 858238405Sjkim.long .L012ej2-.L004PIC_point 859238405Sjkim.long .L011ej3-.L004PIC_point 860238405Sjkim.long .L009ej4-.L004PIC_point 861238405Sjkim.long .L008ej5-.L004PIC_point 862238405Sjkim.long .L007ej6-.L004PIC_point 863238405Sjkim.long .L006ej7-.L004PIC_point 864238405Sjkim.align 64 865238405Sjkim.size BF_cbc_encrypt,.-.L_BF_cbc_encrypt_begin 866