1 # $FreeBSD$ 2 3 4 5 6 7 8 .file "rc4-586.s" 9 .version "01.01" 10gcc2_compiled.: 11.text 12 .align 16 13.globl RC4 14 .type RC4,@function 15RC4: 16 17 pushl %ebp 18 pushl %ebx 19 movl 12(%esp), %ebp 20 movl 16(%esp), %ebx 21 pushl %esi 22 pushl %edi 23 movl (%ebp), %ecx 24 movl 4(%ebp), %edx 25 movl 28(%esp), %esi 26 incl %ecx 27 subl $12, %esp 28 addl $8, %ebp 29 andl $255, %ecx 30 leal -8(%ebx,%esi), %ebx 31 movl 44(%esp), %edi 32 movl %ebx, 8(%esp) 33 movl (%ebp,%ecx,4), %eax 34 cmpl %esi, %ebx 35 jl .L000end 36.L001start: 37 addl $8, %esi 38 39 addl %eax, %edx 40 andl $255, %edx 41 incl %ecx 42 movl (%ebp,%edx,4), %ebx 43 movl %ebx, -4(%ebp,%ecx,4) 44 addl %eax, %ebx 45 andl $255, %ecx 46 andl $255, %ebx 47 movl %eax, (%ebp,%edx,4) 48 nop 49 movl (%ebp,%ebx,4), %ebx 50 movl (%ebp,%ecx,4), %eax 51 movb %bl, (%esp) 52 53 addl %eax, %edx 54 andl $255, %edx 55 incl %ecx 56 movl (%ebp,%edx,4), %ebx 57 movl %ebx, -4(%ebp,%ecx,4) 58 addl %eax, %ebx 59 andl $255, %ecx 60 andl $255, %ebx 61 movl %eax, (%ebp,%edx,4) 62 nop 63 movl (%ebp,%ebx,4), %ebx 64 movl (%ebp,%ecx,4), %eax 65 movb %bl, 1(%esp) 66 67 addl %eax, %edx 68 andl $255, %edx 69 incl %ecx 70 movl (%ebp,%edx,4), %ebx 71 movl %ebx, -4(%ebp,%ecx,4) 72 addl %eax, %ebx 73 andl $255, %ecx 74 andl $255, %ebx 75 movl %eax, (%ebp,%edx,4) 76 nop 77 movl (%ebp,%ebx,4), %ebx 78 movl (%ebp,%ecx,4), %eax 79 movb %bl, 2(%esp) 80 81 addl %eax, %edx 82 andl $255, %edx 83 incl %ecx 84 movl (%ebp,%edx,4), %ebx 85 movl %ebx, -4(%ebp,%ecx,4) 86 addl %eax, %ebx 87 andl $255, %ecx 88 andl $255, %ebx 89 movl %eax, (%ebp,%edx,4) 90 nop 91 movl (%ebp,%ebx,4), %ebx 92 movl (%ebp,%ecx,4), %eax 93 movb %bl, 3(%esp) 94 95 addl %eax, %edx 96 andl $255, %edx 97 incl %ecx 98 movl (%ebp,%edx,4), %ebx 99 movl %ebx, -4(%ebp,%ecx,4) 100 addl %eax, %ebx 101 andl $255, %ecx 102 andl $255, %ebx 103 movl %eax, (%ebp,%edx,4) 104 nop 105 movl (%ebp,%ebx,4), %ebx 106 movl (%ebp,%ecx,4), %eax 107 movb %bl, 4(%esp) 108 109 addl %eax, %edx 110 andl $255, %edx 111 incl %ecx 112 movl (%ebp,%edx,4), %ebx 113 movl %ebx, -4(%ebp,%ecx,4) 114 addl %eax, %ebx 115 andl $255, %ecx 116 andl $255, %ebx 117 movl %eax, (%ebp,%edx,4) 118 nop 119 movl (%ebp,%ebx,4), %ebx 120 movl (%ebp,%ecx,4), %eax 121 movb %bl, 5(%esp) 122 123 addl %eax, %edx 124 andl $255, %edx 125 incl %ecx 126 movl (%ebp,%edx,4), %ebx 127 movl %ebx, -4(%ebp,%ecx,4) 128 addl %eax, %ebx 129 andl $255, %ecx 130 andl $255, %ebx 131 movl %eax, (%ebp,%edx,4) 132 nop 133 movl (%ebp,%ebx,4), %ebx 134 movl (%ebp,%ecx,4), %eax 135 movb %bl, 6(%esp) 136 137 addl %eax, %edx 138 andl $255, %edx 139 incl %ecx 140 movl (%ebp,%edx,4), %ebx 141 movl %ebx, -4(%ebp,%ecx,4) 142 addl %eax, %ebx 143 andl $255, %ecx 144 andl $255, %ebx 145 movl %eax, (%ebp,%edx,4) 146 nop 147 movl (%ebp,%ebx,4), %ebx 148 addl $8, %edi 149 movb %bl, 7(%esp) 150 151 movl (%esp), %eax 152 movl -8(%esi), %ebx 153 xorl %ebx, %eax 154 movl -4(%esi), %ebx 155 movl %eax, -8(%edi) 156 movl 4(%esp), %eax 157 xorl %ebx, %eax 158 movl 8(%esp), %ebx 159 movl %eax, -4(%edi) 160 movl (%ebp,%ecx,4), %eax 161 cmpl %ebx, %esi 162 jle .L001start 163.L000end: 164 165 addl $8, %ebx 166 incl %esi 167 cmpl %esi, %ebx 168 jl .L002finished 169 movl %ebx, 8(%esp) 170 addl %eax, %edx 171 andl $255, %edx 172 incl %ecx 173 movl (%ebp,%edx,4), %ebx 174 movl %ebx, -4(%ebp,%ecx,4) 175 addl %eax, %ebx 176 andl $255, %ecx 177 andl $255, %ebx 178 movl %eax, (%ebp,%edx,4) 179 nop 180 movl (%ebp,%ebx,4), %ebx 181 movl (%ebp,%ecx,4), %eax 182 movb -1(%esi), %bh 183 xorb %bh, %bl 184 movb %bl, (%edi) 185 186 movl 8(%esp), %ebx 187 cmpl %esi, %ebx 188 jle .L002finished 189 incl %esi 190 addl %eax, %edx 191 andl $255, %edx 192 incl %ecx 193 movl (%ebp,%edx,4), %ebx 194 movl %ebx, -4(%ebp,%ecx,4) 195 addl %eax, %ebx 196 andl $255, %ecx 197 andl $255, %ebx 198 movl %eax, (%ebp,%edx,4) 199 nop 200 movl (%ebp,%ebx,4), %ebx 201 movl (%ebp,%ecx,4), %eax 202 movb -1(%esi), %bh 203 xorb %bh, %bl 204 movb %bl, 1(%edi) 205 206 movl 8(%esp), %ebx 207 cmpl %esi, %ebx 208 jle .L002finished 209 incl %esi 210 addl %eax, %edx 211 andl $255, %edx 212 incl %ecx 213 movl (%ebp,%edx,4), %ebx 214 movl %ebx, -4(%ebp,%ecx,4) 215 addl %eax, %ebx 216 andl $255, %ecx 217 andl $255, %ebx 218 movl %eax, (%ebp,%edx,4) 219 nop 220 movl (%ebp,%ebx,4), %ebx 221 movl (%ebp,%ecx,4), %eax 222 movb -1(%esi), %bh 223 xorb %bh, %bl 224 movb %bl, 2(%edi) 225 226 movl 8(%esp), %ebx 227 cmpl %esi, %ebx 228 jle .L002finished 229 incl %esi 230 addl %eax, %edx 231 andl $255, %edx 232 incl %ecx 233 movl (%ebp,%edx,4), %ebx 234 movl %ebx, -4(%ebp,%ecx,4) 235 addl %eax, %ebx 236 andl $255, %ecx 237 andl $255, %ebx 238 movl %eax, (%ebp,%edx,4) 239 nop 240 movl (%ebp,%ebx,4), %ebx 241 movl (%ebp,%ecx,4), %eax 242 movb -1(%esi), %bh 243 xorb %bh, %bl 244 movb %bl, 3(%edi) 245 246 movl 8(%esp), %ebx 247 cmpl %esi, %ebx 248 jle .L002finished 249 incl %esi 250 addl %eax, %edx 251 andl $255, %edx 252 incl %ecx 253 movl (%ebp,%edx,4), %ebx 254 movl %ebx, -4(%ebp,%ecx,4) 255 addl %eax, %ebx 256 andl $255, %ecx 257 andl $255, %ebx 258 movl %eax, (%ebp,%edx,4) 259 nop 260 movl (%ebp,%ebx,4), %ebx 261 movl (%ebp,%ecx,4), %eax 262 movb -1(%esi), %bh 263 xorb %bh, %bl 264 movb %bl, 4(%edi) 265 266 movl 8(%esp), %ebx 267 cmpl %esi, %ebx 268 jle .L002finished 269 incl %esi 270 addl %eax, %edx 271 andl $255, %edx 272 incl %ecx 273 movl (%ebp,%edx,4), %ebx 274 movl %ebx, -4(%ebp,%ecx,4) 275 addl %eax, %ebx 276 andl $255, %ecx 277 andl $255, %ebx 278 movl %eax, (%ebp,%edx,4) 279 nop 280 movl (%ebp,%ebx,4), %ebx 281 movl (%ebp,%ecx,4), %eax 282 movb -1(%esi), %bh 283 xorb %bh, %bl 284 movb %bl, 5(%edi) 285 286 movl 8(%esp), %ebx 287 cmpl %esi, %ebx 288 jle .L002finished 289 incl %esi 290 addl %eax, %edx 291 andl $255, %edx 292 incl %ecx 293 movl (%ebp,%edx,4), %ebx 294 movl %ebx, -4(%ebp,%ecx,4) 295 addl %eax, %ebx 296 andl $255, %ecx 297 andl $255, %ebx 298 movl %eax, (%ebp,%edx,4) 299 nop 300 movl (%ebp,%ebx,4), %ebx 301 movb -1(%esi), %bh 302 xorb %bh, %bl 303 movb %bl, 6(%edi) 304.L002finished: 305 decl %ecx 306 addl $12, %esp 307 movl %edx, -4(%ebp) 308 movb %cl, -8(%ebp) 309 popl %edi 310 popl %esi 311 popl %ebx 312 popl %ebp 313 ret 314.L_RC4_end: 315 .size RC4,.L_RC4_end-RC4 316.ident "RC4" 317