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