OLD | NEW |
| (Empty) |
1 .file "des-586.s" | |
2 .text | |
3 .globl _DES_SPtrans | |
4 .align 4 | |
5 __x86_DES_encrypt: | |
6 pushl %ecx | |
7 # Round 0 | |
8 movl (%ecx),%eax | |
9 xorl %ebx,%ebx | |
10 movl 4(%ecx),%edx | |
11 xorl %esi,%eax | |
12 xorl %ecx,%ecx | |
13 xorl %esi,%edx | |
14 andl $0xfcfcfcfc,%eax | |
15 andl $0xcfcfcfcf,%edx | |
16 movb %al,%bl | |
17 movb %ah,%cl | |
18 rorl $4,%edx | |
19 xorl (%ebp,%ebx,1),%edi | |
20 movb %dl,%bl | |
21 xorl 0x200(%ebp,%ecx,1),%edi | |
22 movb %dh,%cl | |
23 shrl $16,%eax | |
24 xorl 0x100(%ebp,%ebx,1),%edi | |
25 movb %ah,%bl | |
26 shrl $16,%edx | |
27 xorl 0x300(%ebp,%ecx,1),%edi | |
28 movb %dh,%cl | |
29 andl $0xff,%eax | |
30 andl $0xff,%edx | |
31 xorl 0x600(%ebp,%ebx,1),%edi | |
32 xorl 0x700(%ebp,%ecx,1),%edi | |
33 movl (%esp),%ecx | |
34 xorl 0x400(%ebp,%eax,1),%edi | |
35 xorl 0x500(%ebp,%edx,1),%edi | |
36 # Round 1 | |
37 movl 8(%ecx),%eax | |
38 xorl %ebx,%ebx | |
39 movl 12(%ecx),%edx | |
40 xorl %edi,%eax | |
41 xorl %ecx,%ecx | |
42 xorl %edi,%edx | |
43 andl $0xfcfcfcfc,%eax | |
44 andl $0xcfcfcfcf,%edx | |
45 movb %al,%bl | |
46 movb %ah,%cl | |
47 rorl $4,%edx | |
48 xorl (%ebp,%ebx,1),%esi | |
49 movb %dl,%bl | |
50 xorl 0x200(%ebp,%ecx,1),%esi | |
51 movb %dh,%cl | |
52 shrl $16,%eax | |
53 xorl 0x100(%ebp,%ebx,1),%esi | |
54 movb %ah,%bl | |
55 shrl $16,%edx | |
56 xorl 0x300(%ebp,%ecx,1),%esi | |
57 movb %dh,%cl | |
58 andl $0xff,%eax | |
59 andl $0xff,%edx | |
60 xorl 0x600(%ebp,%ebx,1),%esi | |
61 xorl 0x700(%ebp,%ecx,1),%esi | |
62 movl (%esp),%ecx | |
63 xorl 0x400(%ebp,%eax,1),%esi | |
64 xorl 0x500(%ebp,%edx,1),%esi | |
65 # Round 2 | |
66 movl 16(%ecx),%eax | |
67 xorl %ebx,%ebx | |
68 movl 20(%ecx),%edx | |
69 xorl %esi,%eax | |
70 xorl %ecx,%ecx | |
71 xorl %esi,%edx | |
72 andl $0xfcfcfcfc,%eax | |
73 andl $0xcfcfcfcf,%edx | |
74 movb %al,%bl | |
75 movb %ah,%cl | |
76 rorl $4,%edx | |
77 xorl (%ebp,%ebx,1),%edi | |
78 movb %dl,%bl | |
79 xorl 0x200(%ebp,%ecx,1),%edi | |
80 movb %dh,%cl | |
81 shrl $16,%eax | |
82 xorl 0x100(%ebp,%ebx,1),%edi | |
83 movb %ah,%bl | |
84 shrl $16,%edx | |
85 xorl 0x300(%ebp,%ecx,1),%edi | |
86 movb %dh,%cl | |
87 andl $0xff,%eax | |
88 andl $0xff,%edx | |
89 xorl 0x600(%ebp,%ebx,1),%edi | |
90 xorl 0x700(%ebp,%ecx,1),%edi | |
91 movl (%esp),%ecx | |
92 xorl 0x400(%ebp,%eax,1),%edi | |
93 xorl 0x500(%ebp,%edx,1),%edi | |
94 # Round 3 | |
95 movl 24(%ecx),%eax | |
96 xorl %ebx,%ebx | |
97 movl 28(%ecx),%edx | |
98 xorl %edi,%eax | |
99 xorl %ecx,%ecx | |
100 xorl %edi,%edx | |
101 andl $0xfcfcfcfc,%eax | |
102 andl $0xcfcfcfcf,%edx | |
103 movb %al,%bl | |
104 movb %ah,%cl | |
105 rorl $4,%edx | |
106 xorl (%ebp,%ebx,1),%esi | |
107 movb %dl,%bl | |
108 xorl 0x200(%ebp,%ecx,1),%esi | |
109 movb %dh,%cl | |
110 shrl $16,%eax | |
111 xorl 0x100(%ebp,%ebx,1),%esi | |
112 movb %ah,%bl | |
113 shrl $16,%edx | |
114 xorl 0x300(%ebp,%ecx,1),%esi | |
115 movb %dh,%cl | |
116 andl $0xff,%eax | |
117 andl $0xff,%edx | |
118 xorl 0x600(%ebp,%ebx,1),%esi | |
119 xorl 0x700(%ebp,%ecx,1),%esi | |
120 movl (%esp),%ecx | |
121 xorl 0x400(%ebp,%eax,1),%esi | |
122 xorl 0x500(%ebp,%edx,1),%esi | |
123 # Round 4 | |
124 movl 32(%ecx),%eax | |
125 xorl %ebx,%ebx | |
126 movl 36(%ecx),%edx | |
127 xorl %esi,%eax | |
128 xorl %ecx,%ecx | |
129 xorl %esi,%edx | |
130 andl $0xfcfcfcfc,%eax | |
131 andl $0xcfcfcfcf,%edx | |
132 movb %al,%bl | |
133 movb %ah,%cl | |
134 rorl $4,%edx | |
135 xorl (%ebp,%ebx,1),%edi | |
136 movb %dl,%bl | |
137 xorl 0x200(%ebp,%ecx,1),%edi | |
138 movb %dh,%cl | |
139 shrl $16,%eax | |
140 xorl 0x100(%ebp,%ebx,1),%edi | |
141 movb %ah,%bl | |
142 shrl $16,%edx | |
143 xorl 0x300(%ebp,%ecx,1),%edi | |
144 movb %dh,%cl | |
145 andl $0xff,%eax | |
146 andl $0xff,%edx | |
147 xorl 0x600(%ebp,%ebx,1),%edi | |
148 xorl 0x700(%ebp,%ecx,1),%edi | |
149 movl (%esp),%ecx | |
150 xorl 0x400(%ebp,%eax,1),%edi | |
151 xorl 0x500(%ebp,%edx,1),%edi | |
152 # Round 5 | |
153 movl 40(%ecx),%eax | |
154 xorl %ebx,%ebx | |
155 movl 44(%ecx),%edx | |
156 xorl %edi,%eax | |
157 xorl %ecx,%ecx | |
158 xorl %edi,%edx | |
159 andl $0xfcfcfcfc,%eax | |
160 andl $0xcfcfcfcf,%edx | |
161 movb %al,%bl | |
162 movb %ah,%cl | |
163 rorl $4,%edx | |
164 xorl (%ebp,%ebx,1),%esi | |
165 movb %dl,%bl | |
166 xorl 0x200(%ebp,%ecx,1),%esi | |
167 movb %dh,%cl | |
168 shrl $16,%eax | |
169 xorl 0x100(%ebp,%ebx,1),%esi | |
170 movb %ah,%bl | |
171 shrl $16,%edx | |
172 xorl 0x300(%ebp,%ecx,1),%esi | |
173 movb %dh,%cl | |
174 andl $0xff,%eax | |
175 andl $0xff,%edx | |
176 xorl 0x600(%ebp,%ebx,1),%esi | |
177 xorl 0x700(%ebp,%ecx,1),%esi | |
178 movl (%esp),%ecx | |
179 xorl 0x400(%ebp,%eax,1),%esi | |
180 xorl 0x500(%ebp,%edx,1),%esi | |
181 # Round 6 | |
182 movl 48(%ecx),%eax | |
183 xorl %ebx,%ebx | |
184 movl 52(%ecx),%edx | |
185 xorl %esi,%eax | |
186 xorl %ecx,%ecx | |
187 xorl %esi,%edx | |
188 andl $0xfcfcfcfc,%eax | |
189 andl $0xcfcfcfcf,%edx | |
190 movb %al,%bl | |
191 movb %ah,%cl | |
192 rorl $4,%edx | |
193 xorl (%ebp,%ebx,1),%edi | |
194 movb %dl,%bl | |
195 xorl 0x200(%ebp,%ecx,1),%edi | |
196 movb %dh,%cl | |
197 shrl $16,%eax | |
198 xorl 0x100(%ebp,%ebx,1),%edi | |
199 movb %ah,%bl | |
200 shrl $16,%edx | |
201 xorl 0x300(%ebp,%ecx,1),%edi | |
202 movb %dh,%cl | |
203 andl $0xff,%eax | |
204 andl $0xff,%edx | |
205 xorl 0x600(%ebp,%ebx,1),%edi | |
206 xorl 0x700(%ebp,%ecx,1),%edi | |
207 movl (%esp),%ecx | |
208 xorl 0x400(%ebp,%eax,1),%edi | |
209 xorl 0x500(%ebp,%edx,1),%edi | |
210 # Round 7 | |
211 movl 56(%ecx),%eax | |
212 xorl %ebx,%ebx | |
213 movl 60(%ecx),%edx | |
214 xorl %edi,%eax | |
215 xorl %ecx,%ecx | |
216 xorl %edi,%edx | |
217 andl $0xfcfcfcfc,%eax | |
218 andl $0xcfcfcfcf,%edx | |
219 movb %al,%bl | |
220 movb %ah,%cl | |
221 rorl $4,%edx | |
222 xorl (%ebp,%ebx,1),%esi | |
223 movb %dl,%bl | |
224 xorl 0x200(%ebp,%ecx,1),%esi | |
225 movb %dh,%cl | |
226 shrl $16,%eax | |
227 xorl 0x100(%ebp,%ebx,1),%esi | |
228 movb %ah,%bl | |
229 shrl $16,%edx | |
230 xorl 0x300(%ebp,%ecx,1),%esi | |
231 movb %dh,%cl | |
232 andl $0xff,%eax | |
233 andl $0xff,%edx | |
234 xorl 0x600(%ebp,%ebx,1),%esi | |
235 xorl 0x700(%ebp,%ecx,1),%esi | |
236 movl (%esp),%ecx | |
237 xorl 0x400(%ebp,%eax,1),%esi | |
238 xorl 0x500(%ebp,%edx,1),%esi | |
239 # Round 8 | |
240 movl 64(%ecx),%eax | |
241 xorl %ebx,%ebx | |
242 movl 68(%ecx),%edx | |
243 xorl %esi,%eax | |
244 xorl %ecx,%ecx | |
245 xorl %esi,%edx | |
246 andl $0xfcfcfcfc,%eax | |
247 andl $0xcfcfcfcf,%edx | |
248 movb %al,%bl | |
249 movb %ah,%cl | |
250 rorl $4,%edx | |
251 xorl (%ebp,%ebx,1),%edi | |
252 movb %dl,%bl | |
253 xorl 0x200(%ebp,%ecx,1),%edi | |
254 movb %dh,%cl | |
255 shrl $16,%eax | |
256 xorl 0x100(%ebp,%ebx,1),%edi | |
257 movb %ah,%bl | |
258 shrl $16,%edx | |
259 xorl 0x300(%ebp,%ecx,1),%edi | |
260 movb %dh,%cl | |
261 andl $0xff,%eax | |
262 andl $0xff,%edx | |
263 xorl 0x600(%ebp,%ebx,1),%edi | |
264 xorl 0x700(%ebp,%ecx,1),%edi | |
265 movl (%esp),%ecx | |
266 xorl 0x400(%ebp,%eax,1),%edi | |
267 xorl 0x500(%ebp,%edx,1),%edi | |
268 # Round 9 | |
269 movl 72(%ecx),%eax | |
270 xorl %ebx,%ebx | |
271 movl 76(%ecx),%edx | |
272 xorl %edi,%eax | |
273 xorl %ecx,%ecx | |
274 xorl %edi,%edx | |
275 andl $0xfcfcfcfc,%eax | |
276 andl $0xcfcfcfcf,%edx | |
277 movb %al,%bl | |
278 movb %ah,%cl | |
279 rorl $4,%edx | |
280 xorl (%ebp,%ebx,1),%esi | |
281 movb %dl,%bl | |
282 xorl 0x200(%ebp,%ecx,1),%esi | |
283 movb %dh,%cl | |
284 shrl $16,%eax | |
285 xorl 0x100(%ebp,%ebx,1),%esi | |
286 movb %ah,%bl | |
287 shrl $16,%edx | |
288 xorl 0x300(%ebp,%ecx,1),%esi | |
289 movb %dh,%cl | |
290 andl $0xff,%eax | |
291 andl $0xff,%edx | |
292 xorl 0x600(%ebp,%ebx,1),%esi | |
293 xorl 0x700(%ebp,%ecx,1),%esi | |
294 movl (%esp),%ecx | |
295 xorl 0x400(%ebp,%eax,1),%esi | |
296 xorl 0x500(%ebp,%edx,1),%esi | |
297 # Round 10 | |
298 movl 80(%ecx),%eax | |
299 xorl %ebx,%ebx | |
300 movl 84(%ecx),%edx | |
301 xorl %esi,%eax | |
302 xorl %ecx,%ecx | |
303 xorl %esi,%edx | |
304 andl $0xfcfcfcfc,%eax | |
305 andl $0xcfcfcfcf,%edx | |
306 movb %al,%bl | |
307 movb %ah,%cl | |
308 rorl $4,%edx | |
309 xorl (%ebp,%ebx,1),%edi | |
310 movb %dl,%bl | |
311 xorl 0x200(%ebp,%ecx,1),%edi | |
312 movb %dh,%cl | |
313 shrl $16,%eax | |
314 xorl 0x100(%ebp,%ebx,1),%edi | |
315 movb %ah,%bl | |
316 shrl $16,%edx | |
317 xorl 0x300(%ebp,%ecx,1),%edi | |
318 movb %dh,%cl | |
319 andl $0xff,%eax | |
320 andl $0xff,%edx | |
321 xorl 0x600(%ebp,%ebx,1),%edi | |
322 xorl 0x700(%ebp,%ecx,1),%edi | |
323 movl (%esp),%ecx | |
324 xorl 0x400(%ebp,%eax,1),%edi | |
325 xorl 0x500(%ebp,%edx,1),%edi | |
326 # Round 11 | |
327 movl 88(%ecx),%eax | |
328 xorl %ebx,%ebx | |
329 movl 92(%ecx),%edx | |
330 xorl %edi,%eax | |
331 xorl %ecx,%ecx | |
332 xorl %edi,%edx | |
333 andl $0xfcfcfcfc,%eax | |
334 andl $0xcfcfcfcf,%edx | |
335 movb %al,%bl | |
336 movb %ah,%cl | |
337 rorl $4,%edx | |
338 xorl (%ebp,%ebx,1),%esi | |
339 movb %dl,%bl | |
340 xorl 0x200(%ebp,%ecx,1),%esi | |
341 movb %dh,%cl | |
342 shrl $16,%eax | |
343 xorl 0x100(%ebp,%ebx,1),%esi | |
344 movb %ah,%bl | |
345 shrl $16,%edx | |
346 xorl 0x300(%ebp,%ecx,1),%esi | |
347 movb %dh,%cl | |
348 andl $0xff,%eax | |
349 andl $0xff,%edx | |
350 xorl 0x600(%ebp,%ebx,1),%esi | |
351 xorl 0x700(%ebp,%ecx,1),%esi | |
352 movl (%esp),%ecx | |
353 xorl 0x400(%ebp,%eax,1),%esi | |
354 xorl 0x500(%ebp,%edx,1),%esi | |
355 # Round 12 | |
356 movl 96(%ecx),%eax | |
357 xorl %ebx,%ebx | |
358 movl 100(%ecx),%edx | |
359 xorl %esi,%eax | |
360 xorl %ecx,%ecx | |
361 xorl %esi,%edx | |
362 andl $0xfcfcfcfc,%eax | |
363 andl $0xcfcfcfcf,%edx | |
364 movb %al,%bl | |
365 movb %ah,%cl | |
366 rorl $4,%edx | |
367 xorl (%ebp,%ebx,1),%edi | |
368 movb %dl,%bl | |
369 xorl 0x200(%ebp,%ecx,1),%edi | |
370 movb %dh,%cl | |
371 shrl $16,%eax | |
372 xorl 0x100(%ebp,%ebx,1),%edi | |
373 movb %ah,%bl | |
374 shrl $16,%edx | |
375 xorl 0x300(%ebp,%ecx,1),%edi | |
376 movb %dh,%cl | |
377 andl $0xff,%eax | |
378 andl $0xff,%edx | |
379 xorl 0x600(%ebp,%ebx,1),%edi | |
380 xorl 0x700(%ebp,%ecx,1),%edi | |
381 movl (%esp),%ecx | |
382 xorl 0x400(%ebp,%eax,1),%edi | |
383 xorl 0x500(%ebp,%edx,1),%edi | |
384 # Round 13 | |
385 movl 104(%ecx),%eax | |
386 xorl %ebx,%ebx | |
387 movl 108(%ecx),%edx | |
388 xorl %edi,%eax | |
389 xorl %ecx,%ecx | |
390 xorl %edi,%edx | |
391 andl $0xfcfcfcfc,%eax | |
392 andl $0xcfcfcfcf,%edx | |
393 movb %al,%bl | |
394 movb %ah,%cl | |
395 rorl $4,%edx | |
396 xorl (%ebp,%ebx,1),%esi | |
397 movb %dl,%bl | |
398 xorl 0x200(%ebp,%ecx,1),%esi | |
399 movb %dh,%cl | |
400 shrl $16,%eax | |
401 xorl 0x100(%ebp,%ebx,1),%esi | |
402 movb %ah,%bl | |
403 shrl $16,%edx | |
404 xorl 0x300(%ebp,%ecx,1),%esi | |
405 movb %dh,%cl | |
406 andl $0xff,%eax | |
407 andl $0xff,%edx | |
408 xorl 0x600(%ebp,%ebx,1),%esi | |
409 xorl 0x700(%ebp,%ecx,1),%esi | |
410 movl (%esp),%ecx | |
411 xorl 0x400(%ebp,%eax,1),%esi | |
412 xorl 0x500(%ebp,%edx,1),%esi | |
413 # Round 14 | |
414 movl 112(%ecx),%eax | |
415 xorl %ebx,%ebx | |
416 movl 116(%ecx),%edx | |
417 xorl %esi,%eax | |
418 xorl %ecx,%ecx | |
419 xorl %esi,%edx | |
420 andl $0xfcfcfcfc,%eax | |
421 andl $0xcfcfcfcf,%edx | |
422 movb %al,%bl | |
423 movb %ah,%cl | |
424 rorl $4,%edx | |
425 xorl (%ebp,%ebx,1),%edi | |
426 movb %dl,%bl | |
427 xorl 0x200(%ebp,%ecx,1),%edi | |
428 movb %dh,%cl | |
429 shrl $16,%eax | |
430 xorl 0x100(%ebp,%ebx,1),%edi | |
431 movb %ah,%bl | |
432 shrl $16,%edx | |
433 xorl 0x300(%ebp,%ecx,1),%edi | |
434 movb %dh,%cl | |
435 andl $0xff,%eax | |
436 andl $0xff,%edx | |
437 xorl 0x600(%ebp,%ebx,1),%edi | |
438 xorl 0x700(%ebp,%ecx,1),%edi | |
439 movl (%esp),%ecx | |
440 xorl 0x400(%ebp,%eax,1),%edi | |
441 xorl 0x500(%ebp,%edx,1),%edi | |
442 # Round 15 | |
443 movl 120(%ecx),%eax | |
444 xorl %ebx,%ebx | |
445 movl 124(%ecx),%edx | |
446 xorl %edi,%eax | |
447 xorl %ecx,%ecx | |
448 xorl %edi,%edx | |
449 andl $0xfcfcfcfc,%eax | |
450 andl $0xcfcfcfcf,%edx | |
451 movb %al,%bl | |
452 movb %ah,%cl | |
453 rorl $4,%edx | |
454 xorl (%ebp,%ebx,1),%esi | |
455 movb %dl,%bl | |
456 xorl 0x200(%ebp,%ecx,1),%esi | |
457 movb %dh,%cl | |
458 shrl $16,%eax | |
459 xorl 0x100(%ebp,%ebx,1),%esi | |
460 movb %ah,%bl | |
461 shrl $16,%edx | |
462 xorl 0x300(%ebp,%ecx,1),%esi | |
463 movb %dh,%cl | |
464 andl $0xff,%eax | |
465 andl $0xff,%edx | |
466 xorl 0x600(%ebp,%ebx,1),%esi | |
467 xorl 0x700(%ebp,%ecx,1),%esi | |
468 movl (%esp),%ecx | |
469 xorl 0x400(%ebp,%eax,1),%esi | |
470 xorl 0x500(%ebp,%edx,1),%esi | |
471 addl $4,%esp | |
472 ret | |
473 .align 4 | |
474 __x86_DES_decrypt: | |
475 pushl %ecx | |
476 # Round 15 | |
477 movl 120(%ecx),%eax | |
478 xorl %ebx,%ebx | |
479 movl 124(%ecx),%edx | |
480 xorl %esi,%eax | |
481 xorl %ecx,%ecx | |
482 xorl %esi,%edx | |
483 andl $0xfcfcfcfc,%eax | |
484 andl $0xcfcfcfcf,%edx | |
485 movb %al,%bl | |
486 movb %ah,%cl | |
487 rorl $4,%edx | |
488 xorl (%ebp,%ebx,1),%edi | |
489 movb %dl,%bl | |
490 xorl 0x200(%ebp,%ecx,1),%edi | |
491 movb %dh,%cl | |
492 shrl $16,%eax | |
493 xorl 0x100(%ebp,%ebx,1),%edi | |
494 movb %ah,%bl | |
495 shrl $16,%edx | |
496 xorl 0x300(%ebp,%ecx,1),%edi | |
497 movb %dh,%cl | |
498 andl $0xff,%eax | |
499 andl $0xff,%edx | |
500 xorl 0x600(%ebp,%ebx,1),%edi | |
501 xorl 0x700(%ebp,%ecx,1),%edi | |
502 movl (%esp),%ecx | |
503 xorl 0x400(%ebp,%eax,1),%edi | |
504 xorl 0x500(%ebp,%edx,1),%edi | |
505 # Round 14 | |
506 movl 112(%ecx),%eax | |
507 xorl %ebx,%ebx | |
508 movl 116(%ecx),%edx | |
509 xorl %edi,%eax | |
510 xorl %ecx,%ecx | |
511 xorl %edi,%edx | |
512 andl $0xfcfcfcfc,%eax | |
513 andl $0xcfcfcfcf,%edx | |
514 movb %al,%bl | |
515 movb %ah,%cl | |
516 rorl $4,%edx | |
517 xorl (%ebp,%ebx,1),%esi | |
518 movb %dl,%bl | |
519 xorl 0x200(%ebp,%ecx,1),%esi | |
520 movb %dh,%cl | |
521 shrl $16,%eax | |
522 xorl 0x100(%ebp,%ebx,1),%esi | |
523 movb %ah,%bl | |
524 shrl $16,%edx | |
525 xorl 0x300(%ebp,%ecx,1),%esi | |
526 movb %dh,%cl | |
527 andl $0xff,%eax | |
528 andl $0xff,%edx | |
529 xorl 0x600(%ebp,%ebx,1),%esi | |
530 xorl 0x700(%ebp,%ecx,1),%esi | |
531 movl (%esp),%ecx | |
532 xorl 0x400(%ebp,%eax,1),%esi | |
533 xorl 0x500(%ebp,%edx,1),%esi | |
534 # Round 13 | |
535 movl 104(%ecx),%eax | |
536 xorl %ebx,%ebx | |
537 movl 108(%ecx),%edx | |
538 xorl %esi,%eax | |
539 xorl %ecx,%ecx | |
540 xorl %esi,%edx | |
541 andl $0xfcfcfcfc,%eax | |
542 andl $0xcfcfcfcf,%edx | |
543 movb %al,%bl | |
544 movb %ah,%cl | |
545 rorl $4,%edx | |
546 xorl (%ebp,%ebx,1),%edi | |
547 movb %dl,%bl | |
548 xorl 0x200(%ebp,%ecx,1),%edi | |
549 movb %dh,%cl | |
550 shrl $16,%eax | |
551 xorl 0x100(%ebp,%ebx,1),%edi | |
552 movb %ah,%bl | |
553 shrl $16,%edx | |
554 xorl 0x300(%ebp,%ecx,1),%edi | |
555 movb %dh,%cl | |
556 andl $0xff,%eax | |
557 andl $0xff,%edx | |
558 xorl 0x600(%ebp,%ebx,1),%edi | |
559 xorl 0x700(%ebp,%ecx,1),%edi | |
560 movl (%esp),%ecx | |
561 xorl 0x400(%ebp,%eax,1),%edi | |
562 xorl 0x500(%ebp,%edx,1),%edi | |
563 # Round 12 | |
564 movl 96(%ecx),%eax | |
565 xorl %ebx,%ebx | |
566 movl 100(%ecx),%edx | |
567 xorl %edi,%eax | |
568 xorl %ecx,%ecx | |
569 xorl %edi,%edx | |
570 andl $0xfcfcfcfc,%eax | |
571 andl $0xcfcfcfcf,%edx | |
572 movb %al,%bl | |
573 movb %ah,%cl | |
574 rorl $4,%edx | |
575 xorl (%ebp,%ebx,1),%esi | |
576 movb %dl,%bl | |
577 xorl 0x200(%ebp,%ecx,1),%esi | |
578 movb %dh,%cl | |
579 shrl $16,%eax | |
580 xorl 0x100(%ebp,%ebx,1),%esi | |
581 movb %ah,%bl | |
582 shrl $16,%edx | |
583 xorl 0x300(%ebp,%ecx,1),%esi | |
584 movb %dh,%cl | |
585 andl $0xff,%eax | |
586 andl $0xff,%edx | |
587 xorl 0x600(%ebp,%ebx,1),%esi | |
588 xorl 0x700(%ebp,%ecx,1),%esi | |
589 movl (%esp),%ecx | |
590 xorl 0x400(%ebp,%eax,1),%esi | |
591 xorl 0x500(%ebp,%edx,1),%esi | |
592 # Round 11 | |
593 movl 88(%ecx),%eax | |
594 xorl %ebx,%ebx | |
595 movl 92(%ecx),%edx | |
596 xorl %esi,%eax | |
597 xorl %ecx,%ecx | |
598 xorl %esi,%edx | |
599 andl $0xfcfcfcfc,%eax | |
600 andl $0xcfcfcfcf,%edx | |
601 movb %al,%bl | |
602 movb %ah,%cl | |
603 rorl $4,%edx | |
604 xorl (%ebp,%ebx,1),%edi | |
605 movb %dl,%bl | |
606 xorl 0x200(%ebp,%ecx,1),%edi | |
607 movb %dh,%cl | |
608 shrl $16,%eax | |
609 xorl 0x100(%ebp,%ebx,1),%edi | |
610 movb %ah,%bl | |
611 shrl $16,%edx | |
612 xorl 0x300(%ebp,%ecx,1),%edi | |
613 movb %dh,%cl | |
614 andl $0xff,%eax | |
615 andl $0xff,%edx | |
616 xorl 0x600(%ebp,%ebx,1),%edi | |
617 xorl 0x700(%ebp,%ecx,1),%edi | |
618 movl (%esp),%ecx | |
619 xorl 0x400(%ebp,%eax,1),%edi | |
620 xorl 0x500(%ebp,%edx,1),%edi | |
621 # Round 10 | |
622 movl 80(%ecx),%eax | |
623 xorl %ebx,%ebx | |
624 movl 84(%ecx),%edx | |
625 xorl %edi,%eax | |
626 xorl %ecx,%ecx | |
627 xorl %edi,%edx | |
628 andl $0xfcfcfcfc,%eax | |
629 andl $0xcfcfcfcf,%edx | |
630 movb %al,%bl | |
631 movb %ah,%cl | |
632 rorl $4,%edx | |
633 xorl (%ebp,%ebx,1),%esi | |
634 movb %dl,%bl | |
635 xorl 0x200(%ebp,%ecx,1),%esi | |
636 movb %dh,%cl | |
637 shrl $16,%eax | |
638 xorl 0x100(%ebp,%ebx,1),%esi | |
639 movb %ah,%bl | |
640 shrl $16,%edx | |
641 xorl 0x300(%ebp,%ecx,1),%esi | |
642 movb %dh,%cl | |
643 andl $0xff,%eax | |
644 andl $0xff,%edx | |
645 xorl 0x600(%ebp,%ebx,1),%esi | |
646 xorl 0x700(%ebp,%ecx,1),%esi | |
647 movl (%esp),%ecx | |
648 xorl 0x400(%ebp,%eax,1),%esi | |
649 xorl 0x500(%ebp,%edx,1),%esi | |
650 # Round 9 | |
651 movl 72(%ecx),%eax | |
652 xorl %ebx,%ebx | |
653 movl 76(%ecx),%edx | |
654 xorl %esi,%eax | |
655 xorl %ecx,%ecx | |
656 xorl %esi,%edx | |
657 andl $0xfcfcfcfc,%eax | |
658 andl $0xcfcfcfcf,%edx | |
659 movb %al,%bl | |
660 movb %ah,%cl | |
661 rorl $4,%edx | |
662 xorl (%ebp,%ebx,1),%edi | |
663 movb %dl,%bl | |
664 xorl 0x200(%ebp,%ecx,1),%edi | |
665 movb %dh,%cl | |
666 shrl $16,%eax | |
667 xorl 0x100(%ebp,%ebx,1),%edi | |
668 movb %ah,%bl | |
669 shrl $16,%edx | |
670 xorl 0x300(%ebp,%ecx,1),%edi | |
671 movb %dh,%cl | |
672 andl $0xff,%eax | |
673 andl $0xff,%edx | |
674 xorl 0x600(%ebp,%ebx,1),%edi | |
675 xorl 0x700(%ebp,%ecx,1),%edi | |
676 movl (%esp),%ecx | |
677 xorl 0x400(%ebp,%eax,1),%edi | |
678 xorl 0x500(%ebp,%edx,1),%edi | |
679 # Round 8 | |
680 movl 64(%ecx),%eax | |
681 xorl %ebx,%ebx | |
682 movl 68(%ecx),%edx | |
683 xorl %edi,%eax | |
684 xorl %ecx,%ecx | |
685 xorl %edi,%edx | |
686 andl $0xfcfcfcfc,%eax | |
687 andl $0xcfcfcfcf,%edx | |
688 movb %al,%bl | |
689 movb %ah,%cl | |
690 rorl $4,%edx | |
691 xorl (%ebp,%ebx,1),%esi | |
692 movb %dl,%bl | |
693 xorl 0x200(%ebp,%ecx,1),%esi | |
694 movb %dh,%cl | |
695 shrl $16,%eax | |
696 xorl 0x100(%ebp,%ebx,1),%esi | |
697 movb %ah,%bl | |
698 shrl $16,%edx | |
699 xorl 0x300(%ebp,%ecx,1),%esi | |
700 movb %dh,%cl | |
701 andl $0xff,%eax | |
702 andl $0xff,%edx | |
703 xorl 0x600(%ebp,%ebx,1),%esi | |
704 xorl 0x700(%ebp,%ecx,1),%esi | |
705 movl (%esp),%ecx | |
706 xorl 0x400(%ebp,%eax,1),%esi | |
707 xorl 0x500(%ebp,%edx,1),%esi | |
708 # Round 7 | |
709 movl 56(%ecx),%eax | |
710 xorl %ebx,%ebx | |
711 movl 60(%ecx),%edx | |
712 xorl %esi,%eax | |
713 xorl %ecx,%ecx | |
714 xorl %esi,%edx | |
715 andl $0xfcfcfcfc,%eax | |
716 andl $0xcfcfcfcf,%edx | |
717 movb %al,%bl | |
718 movb %ah,%cl | |
719 rorl $4,%edx | |
720 xorl (%ebp,%ebx,1),%edi | |
721 movb %dl,%bl | |
722 xorl 0x200(%ebp,%ecx,1),%edi | |
723 movb %dh,%cl | |
724 shrl $16,%eax | |
725 xorl 0x100(%ebp,%ebx,1),%edi | |
726 movb %ah,%bl | |
727 shrl $16,%edx | |
728 xorl 0x300(%ebp,%ecx,1),%edi | |
729 movb %dh,%cl | |
730 andl $0xff,%eax | |
731 andl $0xff,%edx | |
732 xorl 0x600(%ebp,%ebx,1),%edi | |
733 xorl 0x700(%ebp,%ecx,1),%edi | |
734 movl (%esp),%ecx | |
735 xorl 0x400(%ebp,%eax,1),%edi | |
736 xorl 0x500(%ebp,%edx,1),%edi | |
737 # Round 6 | |
738 movl 48(%ecx),%eax | |
739 xorl %ebx,%ebx | |
740 movl 52(%ecx),%edx | |
741 xorl %edi,%eax | |
742 xorl %ecx,%ecx | |
743 xorl %edi,%edx | |
744 andl $0xfcfcfcfc,%eax | |
745 andl $0xcfcfcfcf,%edx | |
746 movb %al,%bl | |
747 movb %ah,%cl | |
748 rorl $4,%edx | |
749 xorl (%ebp,%ebx,1),%esi | |
750 movb %dl,%bl | |
751 xorl 0x200(%ebp,%ecx,1),%esi | |
752 movb %dh,%cl | |
753 shrl $16,%eax | |
754 xorl 0x100(%ebp,%ebx,1),%esi | |
755 movb %ah,%bl | |
756 shrl $16,%edx | |
757 xorl 0x300(%ebp,%ecx,1),%esi | |
758 movb %dh,%cl | |
759 andl $0xff,%eax | |
760 andl $0xff,%edx | |
761 xorl 0x600(%ebp,%ebx,1),%esi | |
762 xorl 0x700(%ebp,%ecx,1),%esi | |
763 movl (%esp),%ecx | |
764 xorl 0x400(%ebp,%eax,1),%esi | |
765 xorl 0x500(%ebp,%edx,1),%esi | |
766 # Round 5 | |
767 movl 40(%ecx),%eax | |
768 xorl %ebx,%ebx | |
769 movl 44(%ecx),%edx | |
770 xorl %esi,%eax | |
771 xorl %ecx,%ecx | |
772 xorl %esi,%edx | |
773 andl $0xfcfcfcfc,%eax | |
774 andl $0xcfcfcfcf,%edx | |
775 movb %al,%bl | |
776 movb %ah,%cl | |
777 rorl $4,%edx | |
778 xorl (%ebp,%ebx,1),%edi | |
779 movb %dl,%bl | |
780 xorl 0x200(%ebp,%ecx,1),%edi | |
781 movb %dh,%cl | |
782 shrl $16,%eax | |
783 xorl 0x100(%ebp,%ebx,1),%edi | |
784 movb %ah,%bl | |
785 shrl $16,%edx | |
786 xorl 0x300(%ebp,%ecx,1),%edi | |
787 movb %dh,%cl | |
788 andl $0xff,%eax | |
789 andl $0xff,%edx | |
790 xorl 0x600(%ebp,%ebx,1),%edi | |
791 xorl 0x700(%ebp,%ecx,1),%edi | |
792 movl (%esp),%ecx | |
793 xorl 0x400(%ebp,%eax,1),%edi | |
794 xorl 0x500(%ebp,%edx,1),%edi | |
795 # Round 4 | |
796 movl 32(%ecx),%eax | |
797 xorl %ebx,%ebx | |
798 movl 36(%ecx),%edx | |
799 xorl %edi,%eax | |
800 xorl %ecx,%ecx | |
801 xorl %edi,%edx | |
802 andl $0xfcfcfcfc,%eax | |
803 andl $0xcfcfcfcf,%edx | |
804 movb %al,%bl | |
805 movb %ah,%cl | |
806 rorl $4,%edx | |
807 xorl (%ebp,%ebx,1),%esi | |
808 movb %dl,%bl | |
809 xorl 0x200(%ebp,%ecx,1),%esi | |
810 movb %dh,%cl | |
811 shrl $16,%eax | |
812 xorl 0x100(%ebp,%ebx,1),%esi | |
813 movb %ah,%bl | |
814 shrl $16,%edx | |
815 xorl 0x300(%ebp,%ecx,1),%esi | |
816 movb %dh,%cl | |
817 andl $0xff,%eax | |
818 andl $0xff,%edx | |
819 xorl 0x600(%ebp,%ebx,1),%esi | |
820 xorl 0x700(%ebp,%ecx,1),%esi | |
821 movl (%esp),%ecx | |
822 xorl 0x400(%ebp,%eax,1),%esi | |
823 xorl 0x500(%ebp,%edx,1),%esi | |
824 # Round 3 | |
825 movl 24(%ecx),%eax | |
826 xorl %ebx,%ebx | |
827 movl 28(%ecx),%edx | |
828 xorl %esi,%eax | |
829 xorl %ecx,%ecx | |
830 xorl %esi,%edx | |
831 andl $0xfcfcfcfc,%eax | |
832 andl $0xcfcfcfcf,%edx | |
833 movb %al,%bl | |
834 movb %ah,%cl | |
835 rorl $4,%edx | |
836 xorl (%ebp,%ebx,1),%edi | |
837 movb %dl,%bl | |
838 xorl 0x200(%ebp,%ecx,1),%edi | |
839 movb %dh,%cl | |
840 shrl $16,%eax | |
841 xorl 0x100(%ebp,%ebx,1),%edi | |
842 movb %ah,%bl | |
843 shrl $16,%edx | |
844 xorl 0x300(%ebp,%ecx,1),%edi | |
845 movb %dh,%cl | |
846 andl $0xff,%eax | |
847 andl $0xff,%edx | |
848 xorl 0x600(%ebp,%ebx,1),%edi | |
849 xorl 0x700(%ebp,%ecx,1),%edi | |
850 movl (%esp),%ecx | |
851 xorl 0x400(%ebp,%eax,1),%edi | |
852 xorl 0x500(%ebp,%edx,1),%edi | |
853 # Round 2 | |
854 movl 16(%ecx),%eax | |
855 xorl %ebx,%ebx | |
856 movl 20(%ecx),%edx | |
857 xorl %edi,%eax | |
858 xorl %ecx,%ecx | |
859 xorl %edi,%edx | |
860 andl $0xfcfcfcfc,%eax | |
861 andl $0xcfcfcfcf,%edx | |
862 movb %al,%bl | |
863 movb %ah,%cl | |
864 rorl $4,%edx | |
865 xorl (%ebp,%ebx,1),%esi | |
866 movb %dl,%bl | |
867 xorl 0x200(%ebp,%ecx,1),%esi | |
868 movb %dh,%cl | |
869 shrl $16,%eax | |
870 xorl 0x100(%ebp,%ebx,1),%esi | |
871 movb %ah,%bl | |
872 shrl $16,%edx | |
873 xorl 0x300(%ebp,%ecx,1),%esi | |
874 movb %dh,%cl | |
875 andl $0xff,%eax | |
876 andl $0xff,%edx | |
877 xorl 0x600(%ebp,%ebx,1),%esi | |
878 xorl 0x700(%ebp,%ecx,1),%esi | |
879 movl (%esp),%ecx | |
880 xorl 0x400(%ebp,%eax,1),%esi | |
881 xorl 0x500(%ebp,%edx,1),%esi | |
882 # Round 1 | |
883 movl 8(%ecx),%eax | |
884 xorl %ebx,%ebx | |
885 movl 12(%ecx),%edx | |
886 xorl %esi,%eax | |
887 xorl %ecx,%ecx | |
888 xorl %esi,%edx | |
889 andl $0xfcfcfcfc,%eax | |
890 andl $0xcfcfcfcf,%edx | |
891 movb %al,%bl | |
892 movb %ah,%cl | |
893 rorl $4,%edx | |
894 xorl (%ebp,%ebx,1),%edi | |
895 movb %dl,%bl | |
896 xorl 0x200(%ebp,%ecx,1),%edi | |
897 movb %dh,%cl | |
898 shrl $16,%eax | |
899 xorl 0x100(%ebp,%ebx,1),%edi | |
900 movb %ah,%bl | |
901 shrl $16,%edx | |
902 xorl 0x300(%ebp,%ecx,1),%edi | |
903 movb %dh,%cl | |
904 andl $0xff,%eax | |
905 andl $0xff,%edx | |
906 xorl 0x600(%ebp,%ebx,1),%edi | |
907 xorl 0x700(%ebp,%ecx,1),%edi | |
908 movl (%esp),%ecx | |
909 xorl 0x400(%ebp,%eax,1),%edi | |
910 xorl 0x500(%ebp,%edx,1),%edi | |
911 # Round 0 | |
912 movl (%ecx),%eax | |
913 xorl %ebx,%ebx | |
914 movl 4(%ecx),%edx | |
915 xorl %edi,%eax | |
916 xorl %ecx,%ecx | |
917 xorl %edi,%edx | |
918 andl $0xfcfcfcfc,%eax | |
919 andl $0xcfcfcfcf,%edx | |
920 movb %al,%bl | |
921 movb %ah,%cl | |
922 rorl $4,%edx | |
923 xorl (%ebp,%ebx,1),%esi | |
924 movb %dl,%bl | |
925 xorl 0x200(%ebp,%ecx,1),%esi | |
926 movb %dh,%cl | |
927 shrl $16,%eax | |
928 xorl 0x100(%ebp,%ebx,1),%esi | |
929 movb %ah,%bl | |
930 shrl $16,%edx | |
931 xorl 0x300(%ebp,%ecx,1),%esi | |
932 movb %dh,%cl | |
933 andl $0xff,%eax | |
934 andl $0xff,%edx | |
935 xorl 0x600(%ebp,%ebx,1),%esi | |
936 xorl 0x700(%ebp,%ecx,1),%esi | |
937 movl (%esp),%ecx | |
938 xorl 0x400(%ebp,%eax,1),%esi | |
939 xorl 0x500(%ebp,%edx,1),%esi | |
940 addl $4,%esp | |
941 ret | |
942 .globl _DES_encrypt1 | |
943 .align 4 | |
944 _DES_encrypt1: | |
945 L_DES_encrypt1_begin: | |
946 pushl %esi | |
947 pushl %edi | |
948 | |
949 # Load the 2 words | |
950 movl 12(%esp),%esi | |
951 xorl %ecx,%ecx | |
952 pushl %ebx | |
953 pushl %ebp | |
954 movl (%esi),%eax | |
955 movl 28(%esp),%ebx | |
956 movl 4(%esi),%edi | |
957 | |
958 # IP | |
959 roll $4,%eax | |
960 movl %eax,%esi | |
961 xorl %edi,%eax | |
962 andl $0xf0f0f0f0,%eax | |
963 xorl %eax,%esi | |
964 xorl %eax,%edi | |
965 | |
966 roll $20,%edi | |
967 movl %edi,%eax | |
968 xorl %esi,%edi | |
969 andl $0xfff0000f,%edi | |
970 xorl %edi,%eax | |
971 xorl %edi,%esi | |
972 | |
973 roll $14,%eax | |
974 movl %eax,%edi | |
975 xorl %esi,%eax | |
976 andl $0x33333333,%eax | |
977 xorl %eax,%edi | |
978 xorl %eax,%esi | |
979 | |
980 roll $22,%esi | |
981 movl %esi,%eax | |
982 xorl %edi,%esi | |
983 andl $0x03fc03fc,%esi | |
984 xorl %esi,%eax | |
985 xorl %esi,%edi | |
986 | |
987 roll $9,%eax | |
988 movl %eax,%esi | |
989 xorl %edi,%eax | |
990 andl $0xaaaaaaaa,%eax | |
991 xorl %eax,%esi | |
992 xorl %eax,%edi | |
993 | |
994 roll $1,%edi | |
995 call L000pic_point | |
996 L000pic_point: | |
997 popl %ebp | |
998 leal _DES_SPtrans-L000pic_point(%ebp),%ebp | |
999 movl 24(%esp),%ecx | |
1000 cmpl $0,%ebx | |
1001 je L001decrypt | |
1002 call __x86_DES_encrypt | |
1003 jmp L002done | |
1004 L001decrypt: | |
1005 call __x86_DES_decrypt | |
1006 L002done: | |
1007 | |
1008 # FP | |
1009 movl 20(%esp),%edx | |
1010 rorl $1,%esi | |
1011 movl %edi,%eax | |
1012 xorl %esi,%edi | |
1013 andl $0xaaaaaaaa,%edi | |
1014 xorl %edi,%eax | |
1015 xorl %edi,%esi | |
1016 | |
1017 roll $23,%eax | |
1018 movl %eax,%edi | |
1019 xorl %esi,%eax | |
1020 andl $0x03fc03fc,%eax | |
1021 xorl %eax,%edi | |
1022 xorl %eax,%esi | |
1023 | |
1024 roll $10,%edi | |
1025 movl %edi,%eax | |
1026 xorl %esi,%edi | |
1027 andl $0x33333333,%edi | |
1028 xorl %edi,%eax | |
1029 xorl %edi,%esi | |
1030 | |
1031 roll $18,%esi | |
1032 movl %esi,%edi | |
1033 xorl %eax,%esi | |
1034 andl $0xfff0000f,%esi | |
1035 xorl %esi,%edi | |
1036 xorl %esi,%eax | |
1037 | |
1038 roll $12,%edi | |
1039 movl %edi,%esi | |
1040 xorl %eax,%edi | |
1041 andl $0xf0f0f0f0,%edi | |
1042 xorl %edi,%esi | |
1043 xorl %edi,%eax | |
1044 | |
1045 rorl $4,%eax | |
1046 movl %eax,(%edx) | |
1047 movl %esi,4(%edx) | |
1048 popl %ebp | |
1049 popl %ebx | |
1050 popl %edi | |
1051 popl %esi | |
1052 ret | |
1053 .globl _DES_encrypt2 | |
1054 .align 4 | |
1055 _DES_encrypt2: | |
1056 L_DES_encrypt2_begin: | |
1057 pushl %esi | |
1058 pushl %edi | |
1059 | |
1060 # Load the 2 words | |
1061 movl 12(%esp),%eax | |
1062 xorl %ecx,%ecx | |
1063 pushl %ebx | |
1064 pushl %ebp | |
1065 movl (%eax),%esi | |
1066 movl 28(%esp),%ebx | |
1067 roll $3,%esi | |
1068 movl 4(%eax),%edi | |
1069 roll $3,%edi | |
1070 call L003pic_point | |
1071 L003pic_point: | |
1072 popl %ebp | |
1073 leal _DES_SPtrans-L003pic_point(%ebp),%ebp | |
1074 movl 24(%esp),%ecx | |
1075 cmpl $0,%ebx | |
1076 je L004decrypt | |
1077 call __x86_DES_encrypt | |
1078 jmp L005done | |
1079 L004decrypt: | |
1080 call __x86_DES_decrypt | |
1081 L005done: | |
1082 | |
1083 # Fixup | |
1084 rorl $3,%edi | |
1085 movl 20(%esp),%eax | |
1086 rorl $3,%esi | |
1087 movl %edi,(%eax) | |
1088 movl %esi,4(%eax) | |
1089 popl %ebp | |
1090 popl %ebx | |
1091 popl %edi | |
1092 popl %esi | |
1093 ret | |
1094 .globl _DES_encrypt3 | |
1095 .align 4 | |
1096 _DES_encrypt3: | |
1097 L_DES_encrypt3_begin: | |
1098 pushl %ebx | |
1099 movl 8(%esp),%ebx | |
1100 pushl %ebp | |
1101 pushl %esi | |
1102 pushl %edi | |
1103 | |
1104 # Load the data words | |
1105 movl (%ebx),%edi | |
1106 movl 4(%ebx),%esi | |
1107 subl $12,%esp | |
1108 | |
1109 # IP | |
1110 roll $4,%edi | |
1111 movl %edi,%edx | |
1112 xorl %esi,%edi | |
1113 andl $0xf0f0f0f0,%edi | |
1114 xorl %edi,%edx | |
1115 xorl %edi,%esi | |
1116 | |
1117 roll $20,%esi | |
1118 movl %esi,%edi | |
1119 xorl %edx,%esi | |
1120 andl $0xfff0000f,%esi | |
1121 xorl %esi,%edi | |
1122 xorl %esi,%edx | |
1123 | |
1124 roll $14,%edi | |
1125 movl %edi,%esi | |
1126 xorl %edx,%edi | |
1127 andl $0x33333333,%edi | |
1128 xorl %edi,%esi | |
1129 xorl %edi,%edx | |
1130 | |
1131 roll $22,%edx | |
1132 movl %edx,%edi | |
1133 xorl %esi,%edx | |
1134 andl $0x03fc03fc,%edx | |
1135 xorl %edx,%edi | |
1136 xorl %edx,%esi | |
1137 | |
1138 roll $9,%edi | |
1139 movl %edi,%edx | |
1140 xorl %esi,%edi | |
1141 andl $0xaaaaaaaa,%edi | |
1142 xorl %edi,%edx | |
1143 xorl %edi,%esi | |
1144 | |
1145 rorl $3,%edx | |
1146 rorl $2,%esi | |
1147 movl %esi,4(%ebx) | |
1148 movl 36(%esp),%eax | |
1149 movl %edx,(%ebx) | |
1150 movl 40(%esp),%edi | |
1151 movl 44(%esp),%esi | |
1152 movl $1,8(%esp) | |
1153 movl %eax,4(%esp) | |
1154 movl %ebx,(%esp) | |
1155 call L_DES_encrypt2_begin | |
1156 movl $0,8(%esp) | |
1157 movl %edi,4(%esp) | |
1158 movl %ebx,(%esp) | |
1159 call L_DES_encrypt2_begin | |
1160 movl $1,8(%esp) | |
1161 movl %esi,4(%esp) | |
1162 movl %ebx,(%esp) | |
1163 call L_DES_encrypt2_begin | |
1164 addl $12,%esp | |
1165 movl (%ebx),%edi | |
1166 movl 4(%ebx),%esi | |
1167 | |
1168 # FP | |
1169 roll $2,%esi | |
1170 roll $3,%edi | |
1171 movl %edi,%eax | |
1172 xorl %esi,%edi | |
1173 andl $0xaaaaaaaa,%edi | |
1174 xorl %edi,%eax | |
1175 xorl %edi,%esi | |
1176 | |
1177 roll $23,%eax | |
1178 movl %eax,%edi | |
1179 xorl %esi,%eax | |
1180 andl $0x03fc03fc,%eax | |
1181 xorl %eax,%edi | |
1182 xorl %eax,%esi | |
1183 | |
1184 roll $10,%edi | |
1185 movl %edi,%eax | |
1186 xorl %esi,%edi | |
1187 andl $0x33333333,%edi | |
1188 xorl %edi,%eax | |
1189 xorl %edi,%esi | |
1190 | |
1191 roll $18,%esi | |
1192 movl %esi,%edi | |
1193 xorl %eax,%esi | |
1194 andl $0xfff0000f,%esi | |
1195 xorl %esi,%edi | |
1196 xorl %esi,%eax | |
1197 | |
1198 roll $12,%edi | |
1199 movl %edi,%esi | |
1200 xorl %eax,%edi | |
1201 andl $0xf0f0f0f0,%edi | |
1202 xorl %edi,%esi | |
1203 xorl %edi,%eax | |
1204 | |
1205 rorl $4,%eax | |
1206 movl %eax,(%ebx) | |
1207 movl %esi,4(%ebx) | |
1208 popl %edi | |
1209 popl %esi | |
1210 popl %ebp | |
1211 popl %ebx | |
1212 ret | |
1213 .globl _DES_decrypt3 | |
1214 .align 4 | |
1215 _DES_decrypt3: | |
1216 L_DES_decrypt3_begin: | |
1217 pushl %ebx | |
1218 movl 8(%esp),%ebx | |
1219 pushl %ebp | |
1220 pushl %esi | |
1221 pushl %edi | |
1222 | |
1223 # Load the data words | |
1224 movl (%ebx),%edi | |
1225 movl 4(%ebx),%esi | |
1226 subl $12,%esp | |
1227 | |
1228 # IP | |
1229 roll $4,%edi | |
1230 movl %edi,%edx | |
1231 xorl %esi,%edi | |
1232 andl $0xf0f0f0f0,%edi | |
1233 xorl %edi,%edx | |
1234 xorl %edi,%esi | |
1235 | |
1236 roll $20,%esi | |
1237 movl %esi,%edi | |
1238 xorl %edx,%esi | |
1239 andl $0xfff0000f,%esi | |
1240 xorl %esi,%edi | |
1241 xorl %esi,%edx | |
1242 | |
1243 roll $14,%edi | |
1244 movl %edi,%esi | |
1245 xorl %edx,%edi | |
1246 andl $0x33333333,%edi | |
1247 xorl %edi,%esi | |
1248 xorl %edi,%edx | |
1249 | |
1250 roll $22,%edx | |
1251 movl %edx,%edi | |
1252 xorl %esi,%edx | |
1253 andl $0x03fc03fc,%edx | |
1254 xorl %edx,%edi | |
1255 xorl %edx,%esi | |
1256 | |
1257 roll $9,%edi | |
1258 movl %edi,%edx | |
1259 xorl %esi,%edi | |
1260 andl $0xaaaaaaaa,%edi | |
1261 xorl %edi,%edx | |
1262 xorl %edi,%esi | |
1263 | |
1264 rorl $3,%edx | |
1265 rorl $2,%esi | |
1266 movl %esi,4(%ebx) | |
1267 movl 36(%esp),%esi | |
1268 movl %edx,(%ebx) | |
1269 movl 40(%esp),%edi | |
1270 movl 44(%esp),%eax | |
1271 movl $0,8(%esp) | |
1272 movl %eax,4(%esp) | |
1273 movl %ebx,(%esp) | |
1274 call L_DES_encrypt2_begin | |
1275 movl $1,8(%esp) | |
1276 movl %edi,4(%esp) | |
1277 movl %ebx,(%esp) | |
1278 call L_DES_encrypt2_begin | |
1279 movl $0,8(%esp) | |
1280 movl %esi,4(%esp) | |
1281 movl %ebx,(%esp) | |
1282 call L_DES_encrypt2_begin | |
1283 addl $12,%esp | |
1284 movl (%ebx),%edi | |
1285 movl 4(%ebx),%esi | |
1286 | |
1287 # FP | |
1288 roll $2,%esi | |
1289 roll $3,%edi | |
1290 movl %edi,%eax | |
1291 xorl %esi,%edi | |
1292 andl $0xaaaaaaaa,%edi | |
1293 xorl %edi,%eax | |
1294 xorl %edi,%esi | |
1295 | |
1296 roll $23,%eax | |
1297 movl %eax,%edi | |
1298 xorl %esi,%eax | |
1299 andl $0x03fc03fc,%eax | |
1300 xorl %eax,%edi | |
1301 xorl %eax,%esi | |
1302 | |
1303 roll $10,%edi | |
1304 movl %edi,%eax | |
1305 xorl %esi,%edi | |
1306 andl $0x33333333,%edi | |
1307 xorl %edi,%eax | |
1308 xorl %edi,%esi | |
1309 | |
1310 roll $18,%esi | |
1311 movl %esi,%edi | |
1312 xorl %eax,%esi | |
1313 andl $0xfff0000f,%esi | |
1314 xorl %esi,%edi | |
1315 xorl %esi,%eax | |
1316 | |
1317 roll $12,%edi | |
1318 movl %edi,%esi | |
1319 xorl %eax,%edi | |
1320 andl $0xf0f0f0f0,%edi | |
1321 xorl %edi,%esi | |
1322 xorl %edi,%eax | |
1323 | |
1324 rorl $4,%eax | |
1325 movl %eax,(%ebx) | |
1326 movl %esi,4(%ebx) | |
1327 popl %edi | |
1328 popl %esi | |
1329 popl %ebp | |
1330 popl %ebx | |
1331 ret | |
1332 .globl _DES_ncbc_encrypt | |
1333 .align 4 | |
1334 _DES_ncbc_encrypt: | |
1335 L_DES_ncbc_encrypt_begin: | |
1336 | |
1337 pushl %ebp | |
1338 pushl %ebx | |
1339 pushl %esi | |
1340 pushl %edi | |
1341 movl 28(%esp),%ebp | |
1342 # getting iv ptr from parameter 4 | |
1343 movl 36(%esp),%ebx | |
1344 movl (%ebx),%esi | |
1345 movl 4(%ebx),%edi | |
1346 pushl %edi | |
1347 pushl %esi | |
1348 pushl %edi | |
1349 pushl %esi | |
1350 movl %esp,%ebx | |
1351 movl 36(%esp),%esi | |
1352 movl 40(%esp),%edi | |
1353 # getting encrypt flag from parameter 5 | |
1354 movl 56(%esp),%ecx | |
1355 # get and push parameter 5 | |
1356 pushl %ecx | |
1357 # get and push parameter 3 | |
1358 movl 52(%esp),%eax | |
1359 pushl %eax | |
1360 pushl %ebx | |
1361 cmpl $0,%ecx | |
1362 jz L006decrypt | |
1363 andl $4294967288,%ebp | |
1364 movl 12(%esp),%eax | |
1365 movl 16(%esp),%ebx | |
1366 jz L007encrypt_finish | |
1367 L008encrypt_loop: | |
1368 movl (%esi),%ecx | |
1369 movl 4(%esi),%edx | |
1370 xorl %ecx,%eax | |
1371 xorl %edx,%ebx | |
1372 movl %eax,12(%esp) | |
1373 movl %ebx,16(%esp) | |
1374 call L_DES_encrypt1_begin | |
1375 movl 12(%esp),%eax | |
1376 movl 16(%esp),%ebx | |
1377 movl %eax,(%edi) | |
1378 movl %ebx,4(%edi) | |
1379 addl $8,%esi | |
1380 addl $8,%edi | |
1381 subl $8,%ebp | |
1382 jnz L008encrypt_loop | |
1383 L007encrypt_finish: | |
1384 movl 56(%esp),%ebp | |
1385 andl $7,%ebp | |
1386 jz L009finish | |
1387 call L010PIC_point | |
1388 L010PIC_point: | |
1389 popl %edx | |
1390 leal L011cbc_enc_jmp_table-L010PIC_point(%edx),%ecx | |
1391 movl (%ecx,%ebp,4),%ebp | |
1392 addl %edx,%ebp | |
1393 xorl %ecx,%ecx | |
1394 xorl %edx,%edx | |
1395 jmp *%ebp | |
1396 L012ej7: | |
1397 movb 6(%esi),%dh | |
1398 shll $8,%edx | |
1399 L013ej6: | |
1400 movb 5(%esi),%dh | |
1401 L014ej5: | |
1402 movb 4(%esi),%dl | |
1403 L015ej4: | |
1404 movl (%esi),%ecx | |
1405 jmp L016ejend | |
1406 L017ej3: | |
1407 movb 2(%esi),%ch | |
1408 shll $8,%ecx | |
1409 L018ej2: | |
1410 movb 1(%esi),%ch | |
1411 L019ej1: | |
1412 movb (%esi),%cl | |
1413 L016ejend: | |
1414 xorl %ecx,%eax | |
1415 xorl %edx,%ebx | |
1416 movl %eax,12(%esp) | |
1417 movl %ebx,16(%esp) | |
1418 call L_DES_encrypt1_begin | |
1419 movl 12(%esp),%eax | |
1420 movl 16(%esp),%ebx | |
1421 movl %eax,(%edi) | |
1422 movl %ebx,4(%edi) | |
1423 jmp L009finish | |
1424 L006decrypt: | |
1425 andl $4294967288,%ebp | |
1426 movl 20(%esp),%eax | |
1427 movl 24(%esp),%ebx | |
1428 jz L020decrypt_finish | |
1429 L021decrypt_loop: | |
1430 movl (%esi),%eax | |
1431 movl 4(%esi),%ebx | |
1432 movl %eax,12(%esp) | |
1433 movl %ebx,16(%esp) | |
1434 call L_DES_encrypt1_begin | |
1435 movl 12(%esp),%eax | |
1436 movl 16(%esp),%ebx | |
1437 movl 20(%esp),%ecx | |
1438 movl 24(%esp),%edx | |
1439 xorl %eax,%ecx | |
1440 xorl %ebx,%edx | |
1441 movl (%esi),%eax | |
1442 movl 4(%esi),%ebx | |
1443 movl %ecx,(%edi) | |
1444 movl %edx,4(%edi) | |
1445 movl %eax,20(%esp) | |
1446 movl %ebx,24(%esp) | |
1447 addl $8,%esi | |
1448 addl $8,%edi | |
1449 subl $8,%ebp | |
1450 jnz L021decrypt_loop | |
1451 L020decrypt_finish: | |
1452 movl 56(%esp),%ebp | |
1453 andl $7,%ebp | |
1454 jz L009finish | |
1455 movl (%esi),%eax | |
1456 movl 4(%esi),%ebx | |
1457 movl %eax,12(%esp) | |
1458 movl %ebx,16(%esp) | |
1459 call L_DES_encrypt1_begin | |
1460 movl 12(%esp),%eax | |
1461 movl 16(%esp),%ebx | |
1462 movl 20(%esp),%ecx | |
1463 movl 24(%esp),%edx | |
1464 xorl %eax,%ecx | |
1465 xorl %ebx,%edx | |
1466 movl (%esi),%eax | |
1467 movl 4(%esi),%ebx | |
1468 L022dj7: | |
1469 rorl $16,%edx | |
1470 movb %dl,6(%edi) | |
1471 shrl $16,%edx | |
1472 L023dj6: | |
1473 movb %dh,5(%edi) | |
1474 L024dj5: | |
1475 movb %dl,4(%edi) | |
1476 L025dj4: | |
1477 movl %ecx,(%edi) | |
1478 jmp L026djend | |
1479 L027dj3: | |
1480 rorl $16,%ecx | |
1481 movb %cl,2(%edi) | |
1482 shll $16,%ecx | |
1483 L028dj2: | |
1484 movb %ch,1(%esi) | |
1485 L029dj1: | |
1486 movb %cl,(%esi) | |
1487 L026djend: | |
1488 jmp L009finish | |
1489 L009finish: | |
1490 movl 64(%esp),%ecx | |
1491 addl $28,%esp | |
1492 movl %eax,(%ecx) | |
1493 movl %ebx,4(%ecx) | |
1494 popl %edi | |
1495 popl %esi | |
1496 popl %ebx | |
1497 popl %ebp | |
1498 ret | |
1499 .align 6,0x90 | |
1500 L011cbc_enc_jmp_table: | |
1501 .long 0 | |
1502 .long L019ej1-L010PIC_point | |
1503 .long L018ej2-L010PIC_point | |
1504 .long L017ej3-L010PIC_point | |
1505 .long L015ej4-L010PIC_point | |
1506 .long L014ej5-L010PIC_point | |
1507 .long L013ej6-L010PIC_point | |
1508 .long L012ej7-L010PIC_point | |
1509 .align 6,0x90 | |
1510 .globl _DES_ede3_cbc_encrypt | |
1511 .align 4 | |
1512 _DES_ede3_cbc_encrypt: | |
1513 L_DES_ede3_cbc_encrypt_begin: | |
1514 | |
1515 pushl %ebp | |
1516 pushl %ebx | |
1517 pushl %esi | |
1518 pushl %edi | |
1519 movl 28(%esp),%ebp | |
1520 # getting iv ptr from parameter 6 | |
1521 movl 44(%esp),%ebx | |
1522 movl (%ebx),%esi | |
1523 movl 4(%ebx),%edi | |
1524 pushl %edi | |
1525 pushl %esi | |
1526 pushl %edi | |
1527 pushl %esi | |
1528 movl %esp,%ebx | |
1529 movl 36(%esp),%esi | |
1530 movl 40(%esp),%edi | |
1531 # getting encrypt flag from parameter 7 | |
1532 movl 64(%esp),%ecx | |
1533 # get and push parameter 5 | |
1534 movl 56(%esp),%eax | |
1535 pushl %eax | |
1536 # get and push parameter 4 | |
1537 movl 56(%esp),%eax | |
1538 pushl %eax | |
1539 # get and push parameter 3 | |
1540 movl 56(%esp),%eax | |
1541 pushl %eax | |
1542 pushl %ebx | |
1543 cmpl $0,%ecx | |
1544 jz L030decrypt | |
1545 andl $4294967288,%ebp | |
1546 movl 16(%esp),%eax | |
1547 movl 20(%esp),%ebx | |
1548 jz L031encrypt_finish | |
1549 L032encrypt_loop: | |
1550 movl (%esi),%ecx | |
1551 movl 4(%esi),%edx | |
1552 xorl %ecx,%eax | |
1553 xorl %edx,%ebx | |
1554 movl %eax,16(%esp) | |
1555 movl %ebx,20(%esp) | |
1556 call L_DES_encrypt3_begin | |
1557 movl 16(%esp),%eax | |
1558 movl 20(%esp),%ebx | |
1559 movl %eax,(%edi) | |
1560 movl %ebx,4(%edi) | |
1561 addl $8,%esi | |
1562 addl $8,%edi | |
1563 subl $8,%ebp | |
1564 jnz L032encrypt_loop | |
1565 L031encrypt_finish: | |
1566 movl 60(%esp),%ebp | |
1567 andl $7,%ebp | |
1568 jz L033finish | |
1569 call L034PIC_point | |
1570 L034PIC_point: | |
1571 popl %edx | |
1572 leal L035cbc_enc_jmp_table-L034PIC_point(%edx),%ecx | |
1573 movl (%ecx,%ebp,4),%ebp | |
1574 addl %edx,%ebp | |
1575 xorl %ecx,%ecx | |
1576 xorl %edx,%edx | |
1577 jmp *%ebp | |
1578 L036ej7: | |
1579 movb 6(%esi),%dh | |
1580 shll $8,%edx | |
1581 L037ej6: | |
1582 movb 5(%esi),%dh | |
1583 L038ej5: | |
1584 movb 4(%esi),%dl | |
1585 L039ej4: | |
1586 movl (%esi),%ecx | |
1587 jmp L040ejend | |
1588 L041ej3: | |
1589 movb 2(%esi),%ch | |
1590 shll $8,%ecx | |
1591 L042ej2: | |
1592 movb 1(%esi),%ch | |
1593 L043ej1: | |
1594 movb (%esi),%cl | |
1595 L040ejend: | |
1596 xorl %ecx,%eax | |
1597 xorl %edx,%ebx | |
1598 movl %eax,16(%esp) | |
1599 movl %ebx,20(%esp) | |
1600 call L_DES_encrypt3_begin | |
1601 movl 16(%esp),%eax | |
1602 movl 20(%esp),%ebx | |
1603 movl %eax,(%edi) | |
1604 movl %ebx,4(%edi) | |
1605 jmp L033finish | |
1606 L030decrypt: | |
1607 andl $4294967288,%ebp | |
1608 movl 24(%esp),%eax | |
1609 movl 28(%esp),%ebx | |
1610 jz L044decrypt_finish | |
1611 L045decrypt_loop: | |
1612 movl (%esi),%eax | |
1613 movl 4(%esi),%ebx | |
1614 movl %eax,16(%esp) | |
1615 movl %ebx,20(%esp) | |
1616 call L_DES_decrypt3_begin | |
1617 movl 16(%esp),%eax | |
1618 movl 20(%esp),%ebx | |
1619 movl 24(%esp),%ecx | |
1620 movl 28(%esp),%edx | |
1621 xorl %eax,%ecx | |
1622 xorl %ebx,%edx | |
1623 movl (%esi),%eax | |
1624 movl 4(%esi),%ebx | |
1625 movl %ecx,(%edi) | |
1626 movl %edx,4(%edi) | |
1627 movl %eax,24(%esp) | |
1628 movl %ebx,28(%esp) | |
1629 addl $8,%esi | |
1630 addl $8,%edi | |
1631 subl $8,%ebp | |
1632 jnz L045decrypt_loop | |
1633 L044decrypt_finish: | |
1634 movl 60(%esp),%ebp | |
1635 andl $7,%ebp | |
1636 jz L033finish | |
1637 movl (%esi),%eax | |
1638 movl 4(%esi),%ebx | |
1639 movl %eax,16(%esp) | |
1640 movl %ebx,20(%esp) | |
1641 call L_DES_decrypt3_begin | |
1642 movl 16(%esp),%eax | |
1643 movl 20(%esp),%ebx | |
1644 movl 24(%esp),%ecx | |
1645 movl 28(%esp),%edx | |
1646 xorl %eax,%ecx | |
1647 xorl %ebx,%edx | |
1648 movl (%esi),%eax | |
1649 movl 4(%esi),%ebx | |
1650 L046dj7: | |
1651 rorl $16,%edx | |
1652 movb %dl,6(%edi) | |
1653 shrl $16,%edx | |
1654 L047dj6: | |
1655 movb %dh,5(%edi) | |
1656 L048dj5: | |
1657 movb %dl,4(%edi) | |
1658 L049dj4: | |
1659 movl %ecx,(%edi) | |
1660 jmp L050djend | |
1661 L051dj3: | |
1662 rorl $16,%ecx | |
1663 movb %cl,2(%edi) | |
1664 shll $16,%ecx | |
1665 L052dj2: | |
1666 movb %ch,1(%esi) | |
1667 L053dj1: | |
1668 movb %cl,(%esi) | |
1669 L050djend: | |
1670 jmp L033finish | |
1671 L033finish: | |
1672 movl 76(%esp),%ecx | |
1673 addl $32,%esp | |
1674 movl %eax,(%ecx) | |
1675 movl %ebx,4(%ecx) | |
1676 popl %edi | |
1677 popl %esi | |
1678 popl %ebx | |
1679 popl %ebp | |
1680 ret | |
1681 .align 6,0x90 | |
1682 L035cbc_enc_jmp_table: | |
1683 .long 0 | |
1684 .long L043ej1-L034PIC_point | |
1685 .long L042ej2-L034PIC_point | |
1686 .long L041ej3-L034PIC_point | |
1687 .long L039ej4-L034PIC_point | |
1688 .long L038ej5-L034PIC_point | |
1689 .long L037ej6-L034PIC_point | |
1690 .long L036ej7-L034PIC_point | |
1691 .align 6,0x90 | |
1692 .align 6,0x90 | |
1693 _DES_SPtrans: | |
1694 .long 34080768,524288,33554434,34080770 | |
1695 .long 33554432,526338,524290,33554434 | |
1696 .long 526338,34080768,34078720,2050 | |
1697 .long 33556482,33554432,0,524290 | |
1698 .long 524288,2,33556480,526336 | |
1699 .long 34080770,34078720,2050,33556480 | |
1700 .long 2,2048,526336,34078722 | |
1701 .long 2048,33556482,34078722,0 | |
1702 .long 0,34080770,33556480,524290 | |
1703 .long 34080768,524288,2050,33556480 | |
1704 .long 34078722,2048,526336,33554434 | |
1705 .long 526338,2,33554434,34078720 | |
1706 .long 34080770,526336,34078720,33556482 | |
1707 .long 33554432,2050,524290,0 | |
1708 .long 524288,33554432,33556482,34080768 | |
1709 .long 2,34078722,2048,526338 | |
1710 .long 1074823184,0,1081344,1074790400 | |
1711 .long 1073741840,32784,1073774592,1081344 | |
1712 .long 32768,1074790416,16,1073774592 | |
1713 .long 1048592,1074823168,1074790400,16 | |
1714 .long 1048576,1073774608,1074790416,32768 | |
1715 .long 1081360,1073741824,0,1048592 | |
1716 .long 1073774608,1081360,1074823168,1073741840 | |
1717 .long 1073741824,1048576,32784,1074823184 | |
1718 .long 1048592,1074823168,1073774592,1081360 | |
1719 .long 1074823184,1048592,1073741840,0 | |
1720 .long 1073741824,32784,1048576,1074790416 | |
1721 .long 32768,1073741824,1081360,1073774608 | |
1722 .long 1074823168,32768,0,1073741840 | |
1723 .long 16,1074823184,1081344,1074790400 | |
1724 .long 1074790416,1048576,32784,1073774592 | |
1725 .long 1073774608,16,1074790400,1081344 | |
1726 .long 67108865,67371264,256,67109121 | |
1727 .long 262145,67108864,67109121,262400 | |
1728 .long 67109120,262144,67371008,1 | |
1729 .long 67371265,257,1,67371009 | |
1730 .long 0,262145,67371264,256 | |
1731 .long 257,67371265,262144,67108865 | |
1732 .long 67371009,67109120,262401,67371008 | |
1733 .long 262400,0,67108864,262401 | |
1734 .long 67371264,256,1,262144 | |
1735 .long 257,262145,67371008,67109121 | |
1736 .long 0,67371264,262400,67371009 | |
1737 .long 262145,67108864,67371265,1 | |
1738 .long 262401,67108865,67108864,67371265 | |
1739 .long 262144,67109120,67109121,262400 | |
1740 .long 67109120,0,67371009,257 | |
1741 .long 67108865,262401,256,67371008 | |
1742 .long 4198408,268439552,8,272633864 | |
1743 .long 0,272629760,268439560,4194312 | |
1744 .long 272633856,268435464,268435456,4104 | |
1745 .long 268435464,4198408,4194304,268435456 | |
1746 .long 272629768,4198400,4096,8 | |
1747 .long 4198400,268439560,272629760,4096 | |
1748 .long 4104,0,4194312,272633856 | |
1749 .long 268439552,272629768,272633864,4194304 | |
1750 .long 272629768,4104,4194304,268435464 | |
1751 .long 4198400,268439552,8,272629760 | |
1752 .long 268439560,0,4096,4194312 | |
1753 .long 0,272629768,272633856,4096 | |
1754 .long 268435456,272633864,4198408,4194304 | |
1755 .long 272633864,8,268439552,4198408 | |
1756 .long 4194312,4198400,272629760,268439560 | |
1757 .long 4104,268435456,268435464,272633856 | |
1758 .long 134217728,65536,1024,134284320 | |
1759 .long 134283296,134218752,66592,134283264 | |
1760 .long 65536,32,134217760,66560 | |
1761 .long 134218784,134283296,134284288,0 | |
1762 .long 66560,134217728,65568,1056 | |
1763 .long 134218752,66592,0,134217760 | |
1764 .long 32,134218784,134284320,65568 | |
1765 .long 134283264,1024,1056,134284288 | |
1766 .long 134284288,134218784,65568,134283264 | |
1767 .long 65536,32,134217760,134218752 | |
1768 .long 134217728,66560,134284320,0 | |
1769 .long 66592,134217728,1024,65568 | |
1770 .long 134218784,1024,0,134284320 | |
1771 .long 134283296,134284288,1056,65536 | |
1772 .long 66560,134283296,134218752,1056 | |
1773 .long 32,66592,134283264,134217760 | |
1774 .long 2147483712,2097216,0,2149588992 | |
1775 .long 2097216,8192,2147491904,2097152 | |
1776 .long 8256,2149589056,2105344,2147483648 | |
1777 .long 2147491840,2147483712,2149580800,2105408 | |
1778 .long 2097152,2147491904,2149580864,0 | |
1779 .long 8192,64,2149588992,2149580864 | |
1780 .long 2149589056,2149580800,2147483648,8256 | |
1781 .long 64,2105344,2105408,2147491840 | |
1782 .long 8256,2147483648,2147491840,2105408 | |
1783 .long 2149588992,2097216,0,2147491840 | |
1784 .long 2147483648,8192,2149580864,2097152 | |
1785 .long 2097216,2149589056,2105344,64 | |
1786 .long 2149589056,2105344,2097152,2147491904 | |
1787 .long 2147483712,2149580800,2105408,0 | |
1788 .long 8192,2147483712,2147491904,2149588992 | |
1789 .long 2149580800,8256,64,2149580864 | |
1790 .long 16384,512,16777728,16777220 | |
1791 .long 16794116,16388,16896,0 | |
1792 .long 16777216,16777732,516,16793600 | |
1793 .long 4,16794112,16793600,516 | |
1794 .long 16777732,16384,16388,16794116 | |
1795 .long 0,16777728,16777220,16896 | |
1796 .long 16793604,16900,16794112,4 | |
1797 .long 16900,16793604,512,16777216 | |
1798 .long 16900,16793600,16793604,516 | |
1799 .long 16384,512,16777216,16793604 | |
1800 .long 16777732,16900,16896,0 | |
1801 .long 512,16777220,4,16777728 | |
1802 .long 0,16777732,16777728,16896 | |
1803 .long 516,16384,16794116,16777216 | |
1804 .long 16794112,4,16388,16794116 | |
1805 .long 16777220,16794112,16793600,16388 | |
1806 .long 545259648,545390592,131200,0 | |
1807 .long 537001984,8388736,545259520,545390720 | |
1808 .long 128,536870912,8519680,131200 | |
1809 .long 8519808,537002112,536871040,545259520 | |
1810 .long 131072,8519808,8388736,537001984 | |
1811 .long 545390720,536871040,0,8519680 | |
1812 .long 536870912,8388608,537002112,545259648 | |
1813 .long 8388608,131072,545390592,128 | |
1814 .long 8388608,131072,536871040,545390720 | |
1815 .long 131200,536870912,0,8519680 | |
1816 .long 545259648,537002112,537001984,8388736 | |
1817 .long 545390592,128,8388736,537001984 | |
1818 .long 545390720,8388608,545259520,536871040 | |
1819 .long 8519680,131200,537002112,545259520 | |
1820 .long 128,545390592,8519808,0 | |
1821 .long 536870912,545259648,131072,8519808 | |
OLD | NEW |