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