Deleted Added
full compact
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"