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