clarify the purpose of this project
[nyanglibc.git] / sunrpc / des_impl.shared.s
blob7c1a57e71e8212a64b7f285c1997e4d6fe5fba01
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .type des_encrypt, @function
9 des_encrypt:
10 movq 8(%rdi), %r8
11 movq (%rdi), %rax
12 pushq %rbx
13 movq %r8, %r10
14 shrq $4, %r10
15 xorq %rax, %r10
16 andl $252645135, %r10d
17 xorq %r10, %rax
18 salq $4, %r10
19 movq %rax, %r9
20 xorq %r10, %r8
21 shrq $16, %r9
22 xorq %r8, %r9
23 movzwl %r9w, %ecx
24 xorq %rcx, %r8
25 salq $16, %rcx
26 movq %r8, %r9
27 xorq %rcx, %rax
28 movq %r8, %r10
29 shrq $2, %r9
30 xorq %rax, %r9
31 andl $858993459, %r9d
32 leaq 0(,%r9,4), %r8
33 xorq %r9, %rax
34 movq %rax, %rcx
35 shrq $8, %rax
36 xorq %r10, %r8
37 xorq %r8, %rax
38 andl $16711935, %eax
39 xorq %rax, %r8
40 salq $8, %rax
41 xorq %rcx, %rax
42 movq %r8, %rcx
43 shrq %rcx
44 xorq %rax, %rcx
45 andl $1431655765, %ecx
46 xorq %rcx, %rax
47 addq %rcx, %rcx
48 xorq %rcx, %r8
49 leaq (%rax,%rax), %rcx
50 shrq $31, %rax
51 orq %rcx, %rax
52 leaq (%r8,%r8), %rcx
53 shrq $31, %r8
54 orq %rcx, %r8
55 testl %edx, %edx
56 movl %eax, %ecx
57 movl %r8d, %r8d
58 je .L2
59 leaq 256(%rsi), %r9
60 leaq des_SPtrans(%rip), %rax
61 .p2align 4,,10
62 .p2align 3
63 .L3:
64 movq 8(%rsi), %r10
65 movq (%rsi), %r11
66 xorq %rcx, %r10
67 xorq %rcx, %r11
68 movq %r10, %rdx
69 salq $28, %r10
70 movq %r11, %rbx
71 shrq $4, %rdx
72 shrq $16, %rbx
73 addq %rdx, %r10
74 movq %r11, %rdx
75 andl $63, %ebx
76 shrq $8, %rdx
77 andl $63, %edx
78 movl 512(%rax,%rdx,4), %edx
79 orl 1024(%rax,%rbx,4), %edx
80 movq %r11, %rbx
81 andl $63, %ebx
82 shrq $24, %r11
83 orl (%rax,%rbx,4), %edx
84 andl $63, %r11d
85 orl 1536(%rax,%r11,4), %edx
86 movq %r10, %r11
87 andl $63, %r11d
88 orl 256(%rax,%r11,4), %edx
89 movq %r10, %r11
90 shrq $8, %r11
91 andl $63, %r11d
92 orl 768(%rax,%r11,4), %edx
93 movq %r10, %r11
94 shrq $24, %r10
95 shrq $16, %r11
96 andl $63, %r10d
97 andl $63, %r11d
98 orl 1280(%rax,%r11,4), %edx
99 movq 16(%rsi), %r11
100 orl 1792(%rax,%r10,4), %edx
101 movq 24(%rsi), %r10
102 xorq %rdx, %r8
103 xorq %r8, %r10
104 xorq %r8, %r11
105 movq %r10, %rdx
106 salq $28, %r10
107 movq %r11, %rbx
108 shrq $4, %rdx
109 addq %rdx, %r10
110 movq %r11, %rdx
111 shrq $8, %rdx
112 shrq $16, %rbx
113 addq $32, %rsi
114 andl $63, %ebx
115 andl $63, %edx
116 movl 512(%rax,%rdx,4), %edx
117 orl 1024(%rax,%rbx,4), %edx
118 movq %r11, %rbx
119 andl $63, %ebx
120 shrq $24, %r11
121 andl $63, %r11d
122 orl (%rax,%rbx,4), %edx
123 orl 1536(%rax,%r11,4), %edx
124 movq %r10, %r11
125 andl $63, %r11d
126 orl 256(%rax,%r11,4), %edx
127 movq %r10, %r11
128 shrq $8, %r11
129 andl $63, %r11d
130 orl 768(%rax,%r11,4), %edx
131 movq %r10, %r11
132 shrq $24, %r10
133 shrq $16, %r11
134 andl $63, %r10d
135 andl $63, %r11d
136 orl 1280(%rax,%r11,4), %edx
137 orl 1792(%rax,%r10,4), %edx
138 xorq %rdx, %rcx
139 cmpq %rsi, %r9
140 jne .L3
141 .L4:
142 movq %rcx, %rax
143 salq $31, %rcx
144 movq %r8, %rsi
145 shrq %rax
146 shrq %rsi
147 salq $31, %r8
148 orq %rax, %rcx
149 orq %rsi, %r8
150 movl %ecx, %ecx
151 movl %r8d, %r8d
152 movq %rcx, %rdx
153 movq %r8, %rsi
154 shrq %rdx
155 xorq %r8, %rdx
156 andl $1431655765, %edx
157 xorq %rdx, %rsi
158 leaq (%rdx,%rdx), %rax
159 movq %rsi, %r8
160 xorq %rcx, %rax
161 shrq $8, %r8
162 xorq %rax, %r8
163 andl $16711935, %r8d
164 xorq %r8, %rax
165 salq $8, %r8
166 movq %rax, %rdx
167 xorq %rsi, %r8
168 movq %rax, %rcx
169 shrq $2, %rdx
170 xorq %r8, %rdx
171 andl $858993459, %edx
172 xorq %rdx, %r8
173 leaq 0(,%rdx,4), %rax
174 movq %r8, %rdx
175 xorq %rcx, %rax
176 shrq $16, %rdx
177 xorq %rax, %rdx
178 movzwl %dx, %edx
179 xorq %rdx, %rax
180 salq $16, %rdx
181 xorq %rdx, %r8
182 movq %rax, %rdx
183 shrq $4, %rdx
184 xorq %r8, %rdx
185 andl $252645135, %edx
186 xorq %rdx, %r8
187 salq $4, %rdx
188 xorq %rdx, %rax
189 movq %r8, (%rdi)
190 movq %rax, 8(%rdi)
191 popq %rbx
193 .p2align 4,,10
194 .p2align 3
195 .L2:
196 leaq des_SPtrans(%rip), %rax
197 leaq 224(%rsi), %r9
198 subq $32, %rsi
199 .p2align 4,,10
200 .p2align 3
201 .L5:
202 movq 24(%r9), %r10
203 movq 16(%r9), %r11
204 xorq %rcx, %r10
205 xorq %rcx, %r11
206 movq %r10, %rdx
207 salq $28, %r10
208 movq %r11, %rbx
209 shrq $4, %rdx
210 shrq $16, %rbx
211 addq %rdx, %r10
212 movq %r11, %rdx
213 andl $63, %ebx
214 shrq $8, %rdx
215 andl $63, %edx
216 movl 512(%rax,%rdx,4), %edx
217 orl 1024(%rax,%rbx,4), %edx
218 movq %r11, %rbx
219 andl $63, %ebx
220 shrq $24, %r11
221 orl (%rax,%rbx,4), %edx
222 andl $63, %r11d
223 orl 1536(%rax,%r11,4), %edx
224 movq %r10, %r11
225 andl $63, %r11d
226 orl 256(%rax,%r11,4), %edx
227 movq %r10, %r11
228 shrq $8, %r11
229 andl $63, %r11d
230 orl 768(%rax,%r11,4), %edx
231 movq %r10, %r11
232 shrq $24, %r10
233 shrq $16, %r11
234 andl $63, %r10d
235 andl $63, %r11d
236 orl 1280(%rax,%r11,4), %edx
237 movq (%r9), %r11
238 orl 1792(%rax,%r10,4), %edx
239 movq 8(%r9), %r10
240 xorq %rdx, %r8
241 xorq %r8, %r10
242 xorq %r8, %r11
243 movq %r10, %rdx
244 salq $28, %r10
245 movq %r11, %rbx
246 shrq $4, %rdx
247 addq %rdx, %r10
248 movq %r11, %rdx
249 shrq $8, %rdx
250 shrq $16, %rbx
251 subq $32, %r9
252 andl $63, %ebx
253 andl $63, %edx
254 movl 512(%rax,%rdx,4), %edx
255 orl 1024(%rax,%rbx,4), %edx
256 movq %r11, %rbx
257 andl $63, %ebx
258 shrq $24, %r11
259 andl $63, %r11d
260 orl (%rax,%rbx,4), %edx
261 orl 1536(%rax,%r11,4), %edx
262 movq %r10, %r11
263 andl $63, %r11d
264 orl 256(%rax,%r11,4), %edx
265 movq %r10, %r11
266 shrq $8, %r11
267 andl $63, %r11d
268 orl 768(%rax,%r11,4), %edx
269 movq %r10, %r11
270 shrq $24, %r10
271 shrq $16, %r11
272 andl $63, %r10d
273 andl $63, %r11d
274 orl 1280(%rax,%r11,4), %edx
275 orl 1792(%rax,%r10,4), %edx
276 xorq %rdx, %rcx
277 cmpq %r9, %rsi
278 jne .L5
279 jmp .L4
280 .size des_encrypt, .-des_encrypt
281 .p2align 4,,15
282 .globl _des_crypt
283 .type _des_crypt, @function
284 _des_crypt:
285 pushq %r15
286 pushq %r14
287 pushq %r13
288 pushq %r12
289 leaq 1+shifts2(%rip), %r12
290 pushq %rbp
291 pushq %rbx
292 movq %rdx, %rbp
293 subq $344, %rsp
294 movl (%rdx), %r8d
295 movl 12(%rdx), %r14d
296 movl 4(%rdx), %edx
297 leaq 80(%rsp), %rbx
298 movq %rbx, 8(%rsp)
299 movq %rdx, %r11
300 shrq $4, %r11
301 xorq %r8, %r11
302 andl $252645135, %r11d
303 xorq %r11, %r8
304 salq $4, %r11
305 xorq %rdx, %r11
306 movq %r8, %rax
307 movq %r8, %r10
308 movq %r11, %rdx
309 salq $18, %rax
310 salq $18, %rdx
311 xorq %r8, %rax
312 xorq %r11, %rdx
313 andl $3435921408, %eax
314 andl $3435921408, %edx
315 xorq %rax, %r10
316 shrq $18, %rax
317 xorq %rdx, %r11
318 shrq $18, %rdx
319 movq %rax, %r8
320 xorq %rdx, %r11
321 xorq %r10, %r8
322 movq %r11, %rax
323 shrq %rax
324 xorq %r8, %rax
325 andl $1431655765, %eax
326 xorq %rax, %r8
327 leaq (%rax,%rax), %rdx
328 movq %r8, %r10
329 xorq %r11, %rdx
330 shrq $8, %r10
331 leaq des_skb(%rip), %r11
332 xorq %rdx, %r10
333 andl $16711935, %r10d
334 xorq %r10, %rdx
335 salq $8, %r10
336 movq %rdx, %rax
337 xorq %r8, %r10
338 movq %rdx, %rcx
339 shrq %rax
340 xorq %r10, %rax
341 andl $1431655765, %eax
342 leaq (%rax,%rax), %rdx
343 xorq %rax, %r10
344 xorq %rcx, %rdx
345 movq %rdx, %rax
346 movq %rdx, %r8
347 salq $16, %rdx
348 shrq $16, %rax
349 andl $65280, %r8d
350 andl $16711680, %edx
351 movzbl %al, %ecx
352 movq %r10, %rax
353 andl $268435455, %r10d
354 shrq $4, %rax
355 andl $251658240, %eax
356 orq %r8, %rax
357 orq %rax, %rdx
358 movq %rcx, %rax
359 orq %rdx, %rax
360 xorl %edx, %edx
361 jmp .L14
362 .p2align 4,,10
363 .p2align 3
364 .L29:
365 movq %rax, %r8
366 shrq $2, %rcx
367 salq $26, %r10
368 shrq $2, %r8
369 salq $26, %rax
370 orq %r10, %rcx
371 orq %rax, %r8
372 .L12:
373 movq %rcx, %r10
374 andl $63, %ecx
375 movq %r8, %rax
376 andl $268435455, %r10d
377 andl $268435455, %eax
378 andl $63, %r8d
379 movq %r10, %rdx
380 movq %r10, %r13
381 shrq $6, %rdx
382 shrq $14, %r13
383 andl $3, %edx
384 andl $48, %r13d
385 movq %rdx, %r9
386 movq %r10, %rdx
387 shrq $7, %rdx
388 andl $60, %edx
389 orq %r9, %rdx
390 movq %r10, %r9
391 shrq $13, %r9
392 movl 256(%r11,%rdx,4), %edx
393 andl $15, %r9d
394 orq %r13, %r9
395 orl 512(%r11,%r9,4), %edx
396 movq %r10, %r9
397 orl (%r11,%rcx,4), %edx
398 movq %r10, %rcx
399 shrq $21, %r9
400 shrq $20, %rcx
401 andl $6, %r9d
402 andl $1, %ecx
403 orq %r9, %rcx
404 movq %r10, %r9
405 shrq $22, %r9
406 andl $56, %r9d
407 orq %r9, %rcx
408 movq %rax, %r9
409 orl 768(%r11,%rcx,4), %edx
410 movq %rax, %rcx
411 shrq $7, %r9
412 shrq $8, %rcx
413 andl $3, %r9d
414 andl $60, %ecx
415 orq %rcx, %r9
416 movq %rax, %rcx
417 shrq $15, %rcx
418 andl $63, %ecx
419 movl 1536(%r11,%rcx,4), %ecx
420 orl 1024(%r11,%r8,4), %ecx
421 movq %rax, %r8
422 orl 1280(%r11,%r9,4), %ecx
423 movq %rax, %r9
424 shrq $21, %r8
425 shrq $22, %r9
426 andl $15, %r8d
427 addq $16, %rbx
428 andl $48, %r9d
429 orq %r9, %r8
430 movzwl %dx, %r9d
431 shrq $16, %rdx
432 orl 1792(%r11,%r8,4), %ecx
433 movl %ecx, %r8d
434 andl $-65536, %ecx
435 orq %rcx, %rdx
436 salq $16, %r8
437 movq %rdx, %rcx
438 orq %r9, %r8
439 shrq $28, %rdx
440 salq $4, %rcx
441 andl $4294967295, %r8d
442 orq %rcx, %rdx
443 movq %r8, -16(%rbx)
444 andl $4294967295, %edx
445 movq %rdx, -8(%rbx)
446 leaq 336(%rsp), %rdx
447 cmpq %rdx, %rbx
448 je .L13
449 movzbl (%r12), %edx
450 addq $1, %r12
451 .L14:
452 testb %dl, %dl
453 movq %r10, %rcx
454 jne .L29
455 movq %rax, %r8
456 shrq %rcx
457 salq $27, %r10
458 shrq %r8
459 salq $27, %rax
460 orq %r10, %rcx
461 orq %rax, %r8
462 jmp .L12
463 .p2align 4,,10
464 .p2align 3
465 .L13:
466 movl 16(%rbp), %r8d
467 movl 8(%rbp), %r9d
468 movl 20(%rbp), %ecx
469 testl %r9d, %r9d
470 movq %r8, %rdx
471 jne .L15
472 testl %esi, %esi
473 je .L16
474 leaq 64(%rsp), %rax
475 movq %rbp, 24(%rsp)
476 movq %rdi, %r12
477 movq %rax, 16(%rsp)
478 leal (%rsi,%rdi), %eax
479 movl %eax, %ebp
480 .p2align 4,,10
481 .p2align 3
482 .L18:
483 leaq 8(%r12), %rbx
484 testl %r14d, %r14d
485 movl (%r12), %edx
486 movl 4(%r12), %eax
487 movq %rbx, %r12
488 jne .L17
489 xorq %r8, %rdx
490 xorq %rcx, %rax
491 .L17:
492 movq 8(%rsp), %rsi
493 movq 16(%rsp), %rdi
494 movq %rdx, 64(%rsp)
495 movl $1, %edx
496 movq %rax, 72(%rsp)
497 call des_encrypt
498 movq 64(%rsp), %r8
499 movq 72(%rsp), %rcx
500 movq %r8, %rax
501 movl %r8d, %edx
502 movb %r8b, -8(%rbx)
503 shrq $8, %rax
504 movl %ecx, %r15d
505 movb %cl, -4(%rbx)
506 movl %eax, %r11d
507 movb %al, -7(%rbx)
508 movq %r8, %rax
509 shrq $16, %rax
510 movl %eax, %r10d
511 movb %al, -6(%rbx)
512 movq %r8, %rax
513 shrq $24, %rax
514 movl %eax, %r13d
515 movb %al, -5(%rbx)
516 movq %rcx, %rax
517 shrq $8, %rax
518 movl %eax, %r9d
519 movb %al, -3(%rbx)
520 movq %rcx, %rax
521 shrq $16, %rax
522 movl %eax, %edi
523 movb %al, -2(%rbx)
524 movq %rcx, %rax
525 shrq $24, %rax
526 cmpl %ebx, %ebp
527 movl %eax, %esi
528 movb %al, -1(%rbx)
529 jne .L18
530 movq 24(%rsp), %rbp
531 .L19:
532 movb %dl, 16(%rbp)
533 movb %r11b, 17(%rbp)
534 movb %r10b, 18(%rbp)
535 movb %r13b, 19(%rbp)
536 movb %r15b, 20(%rbp)
537 movb %r9b, 21(%rbp)
538 movb %dil, 22(%rbp)
539 movb %sil, 23(%rbp)
540 .L20:
541 addq $344, %rsp
542 movl $1, %eax
543 popq %rbx
544 popq %rbp
545 popq %r12
546 popq %r13
547 popq %r14
548 popq %r15
550 .p2align 4,,10
551 .p2align 3
552 .L15:
553 testl %esi, %esi
554 je .L25
555 leaq 64(%rsp), %rax
556 movq %rbp, 56(%rsp)
557 movl %r14d, 36(%rsp)
558 movq %rcx, 40(%rsp)
559 movq %r8, 48(%rsp)
560 movq %rdi, %rbp
561 movq %rax, 16(%rsp)
562 leal (%rsi,%rdi), %eax
563 movl %eax, 24(%rsp)
564 jmp .L24
565 .p2align 4,,10
566 .p2align 3
567 .L31:
568 movq 48(%rsp), %rsi
569 movq 40(%rsp), %rdx
570 xorq 64(%rsp), %rsi
571 xorq 72(%rsp), %rdx
572 movq %r14, 40(%rsp)
573 movq %r12, 48(%rsp)
574 .L23:
575 movq %rsi, %rdi
576 movb %sil, -8(%r15)
577 movb %dl, -4(%r15)
578 shrq $8, %rdi
579 movb %dil, -7(%r15)
580 movq %rsi, %rdi
581 shrq $24, %rsi
582 movb %sil, -5(%r15)
583 movq %rdx, %rsi
584 shrq $16, %rdi
585 shrq $8, %rsi
586 movb %dil, -6(%r15)
587 movb %sil, -3(%r15)
588 movq %rdx, %rsi
589 shrq $24, %rdx
590 shrq $16, %rsi
591 cmpl %r15d, 24(%rsp)
592 movb %dl, -1(%r15)
593 movb %sil, -2(%r15)
594 je .L30
595 .L24:
596 movl 0(%rbp), %r12d
597 movl 4(%rbp), %r14d
598 xorl %edx, %edx
599 movq 8(%rsp), %rsi
600 movq 16(%rsp), %rdi
601 leaq 8(%rbp), %r15
602 movq %r15, %rbp
603 movq %r12, 64(%rsp)
604 movq %r14, 72(%rsp)
605 movq %r12, %r13
606 call des_encrypt
607 movl 36(%rsp), %eax
608 movq %r14, %rbx
609 testl %eax, %eax
610 je .L31
611 movq 64(%rsp), %rsi
612 movq 72(%rsp), %rdx
613 jmp .L23
614 .p2align 4,,10
615 .p2align 3
616 .L30:
617 movq %r12, %rax
618 movq %r14, %r15
619 movq 56(%rsp), %rbp
620 movq %r12, %r11
621 movq %r12, %rdx
622 movzbl %ah, %ecx
623 shrq $24, %r15
624 movq %r14, %rax
625 shrq $16, %rdx
626 movzbl %ah, %esi
627 shrq $24, %r11
628 movl %ebx, %r12d
629 shrq $16, %rax
630 movq %r15, %r10
631 .L21:
632 movb %r13b, 16(%rbp)
633 movb %cl, 17(%rbp)
634 movb %dl, 18(%rbp)
635 movb %r11b, 19(%rbp)
636 movb %r12b, 20(%rbp)
637 movb %sil, 21(%rbp)
638 movb %al, 22(%rbp)
639 movb %r10b, 23(%rbp)
640 jmp .L20
641 .L25:
642 xorl %r10d, %r10d
643 xorl %eax, %eax
644 xorl %esi, %esi
645 xorl %r12d, %r12d
646 xorl %r11d, %r11d
647 xorl %edx, %edx
648 xorl %ecx, %ecx
649 xorl %r13d, %r13d
650 jmp .L21
651 .L16:
652 movzbl %dh, %edi
653 movq %r8, %r10
654 movzbl %ch, %eax
655 movq %rdi, %r11
656 shrq $24, %r8
657 movq %rcx, %rdi
658 movl %ecx, %r15d
659 shrq $24, %rcx
660 shrq $16, %r10
661 movl %r8d, %r13d
662 movq %rax, %r9
663 shrq $16, %rdi
664 movl %ecx, %esi
665 jmp .L19
666 .size _des_crypt, .-_des_crypt
667 .section .rodata.cst16,"aM",@progbits,16
668 .align 16
669 .type shifts2, @object
670 .size shifts2, 16
671 shifts2:
672 .byte 0
673 .byte 0
674 .byte 1
675 .byte 1
676 .byte 1
677 .byte 1
678 .byte 1
679 .byte 1
680 .byte 0
681 .byte 1
682 .byte 1
683 .byte 1
684 .byte 1
685 .byte 1
686 .byte 1
687 .byte 0
688 .section .rodata
689 .align 32
690 .type des_skb, @object
691 .size des_skb, 2048
692 des_skb:
693 .long 0
694 .long 16
695 .long 536870912
696 .long 536870928
697 .long 65536
698 .long 65552
699 .long 536936448
700 .long 536936464
701 .long 2048
702 .long 2064
703 .long 536872960
704 .long 536872976
705 .long 67584
706 .long 67600
707 .long 536938496
708 .long 536938512
709 .long 32
710 .long 48
711 .long 536870944
712 .long 536870960
713 .long 65568
714 .long 65584
715 .long 536936480
716 .long 536936496
717 .long 2080
718 .long 2096
719 .long 536872992
720 .long 536873008
721 .long 67616
722 .long 67632
723 .long 536938528
724 .long 536938544
725 .long 524288
726 .long 524304
727 .long 537395200
728 .long 537395216
729 .long 589824
730 .long 589840
731 .long 537460736
732 .long 537460752
733 .long 526336
734 .long 526352
735 .long 537397248
736 .long 537397264
737 .long 591872
738 .long 591888
739 .long 537462784
740 .long 537462800
741 .long 524320
742 .long 524336
743 .long 537395232
744 .long 537395248
745 .long 589856
746 .long 589872
747 .long 537460768
748 .long 537460784
749 .long 526368
750 .long 526384
751 .long 537397280
752 .long 537397296
753 .long 591904
754 .long 591920
755 .long 537462816
756 .long 537462832
757 .long 0
758 .long 33554432
759 .long 8192
760 .long 33562624
761 .long 2097152
762 .long 35651584
763 .long 2105344
764 .long 35659776
765 .long 4
766 .long 33554436
767 .long 8196
768 .long 33562628
769 .long 2097156
770 .long 35651588
771 .long 2105348
772 .long 35659780
773 .long 1024
774 .long 33555456
775 .long 9216
776 .long 33563648
777 .long 2098176
778 .long 35652608
779 .long 2106368
780 .long 35660800
781 .long 1028
782 .long 33555460
783 .long 9220
784 .long 33563652
785 .long 2098180
786 .long 35652612
787 .long 2106372
788 .long 35660804
789 .long 268435456
790 .long 301989888
791 .long 268443648
792 .long 301998080
793 .long 270532608
794 .long 304087040
795 .long 270540800
796 .long 304095232
797 .long 268435460
798 .long 301989892
799 .long 268443652
800 .long 301998084
801 .long 270532612
802 .long 304087044
803 .long 270540804
804 .long 304095236
805 .long 268436480
806 .long 301990912
807 .long 268444672
808 .long 301999104
809 .long 270533632
810 .long 304088064
811 .long 270541824
812 .long 304096256
813 .long 268436484
814 .long 301990916
815 .long 268444676
816 .long 301999108
817 .long 270533636
818 .long 304088068
819 .long 270541828
820 .long 304096260
821 .long 0
822 .long 1
823 .long 262144
824 .long 262145
825 .long 16777216
826 .long 16777217
827 .long 17039360
828 .long 17039361
829 .long 2
830 .long 3
831 .long 262146
832 .long 262147
833 .long 16777218
834 .long 16777219
835 .long 17039362
836 .long 17039363
837 .long 512
838 .long 513
839 .long 262656
840 .long 262657
841 .long 16777728
842 .long 16777729
843 .long 17039872
844 .long 17039873
845 .long 514
846 .long 515
847 .long 262658
848 .long 262659
849 .long 16777730
850 .long 16777731
851 .long 17039874
852 .long 17039875
853 .long 134217728
854 .long 134217729
855 .long 134479872
856 .long 134479873
857 .long 150994944
858 .long 150994945
859 .long 151257088
860 .long 151257089
861 .long 134217730
862 .long 134217731
863 .long 134479874
864 .long 134479875
865 .long 150994946
866 .long 150994947
867 .long 151257090
868 .long 151257091
869 .long 134218240
870 .long 134218241
871 .long 134480384
872 .long 134480385
873 .long 150995456
874 .long 150995457
875 .long 151257600
876 .long 151257601
877 .long 134218242
878 .long 134218243
879 .long 134480386
880 .long 134480387
881 .long 150995458
882 .long 150995459
883 .long 151257602
884 .long 151257603
885 .long 0
886 .long 1048576
887 .long 256
888 .long 1048832
889 .long 8
890 .long 1048584
891 .long 264
892 .long 1048840
893 .long 4096
894 .long 1052672
895 .long 4352
896 .long 1052928
897 .long 4104
898 .long 1052680
899 .long 4360
900 .long 1052936
901 .long 67108864
902 .long 68157440
903 .long 67109120
904 .long 68157696
905 .long 67108872
906 .long 68157448
907 .long 67109128
908 .long 68157704
909 .long 67112960
910 .long 68161536
911 .long 67113216
912 .long 68161792
913 .long 67112968
914 .long 68161544
915 .long 67113224
916 .long 68161800
917 .long 131072
918 .long 1179648
919 .long 131328
920 .long 1179904
921 .long 131080
922 .long 1179656
923 .long 131336
924 .long 1179912
925 .long 135168
926 .long 1183744
927 .long 135424
928 .long 1184000
929 .long 135176
930 .long 1183752
931 .long 135432
932 .long 1184008
933 .long 67239936
934 .long 68288512
935 .long 67240192
936 .long 68288768
937 .long 67239944
938 .long 68288520
939 .long 67240200
940 .long 68288776
941 .long 67244032
942 .long 68292608
943 .long 67244288
944 .long 68292864
945 .long 67244040
946 .long 68292616
947 .long 67244296
948 .long 68292872
949 .long 0
950 .long 268435456
951 .long 65536
952 .long 268500992
953 .long 4
954 .long 268435460
955 .long 65540
956 .long 268500996
957 .long 536870912
958 .long 805306368
959 .long 536936448
960 .long 805371904
961 .long 536870916
962 .long 805306372
963 .long 536936452
964 .long 805371908
965 .long 1048576
966 .long 269484032
967 .long 1114112
968 .long 269549568
969 .long 1048580
970 .long 269484036
971 .long 1114116
972 .long 269549572
973 .long 537919488
974 .long 806354944
975 .long 537985024
976 .long 806420480
977 .long 537919492
978 .long 806354948
979 .long 537985028
980 .long 806420484
981 .long 4096
982 .long 268439552
983 .long 69632
984 .long 268505088
985 .long 4100
986 .long 268439556
987 .long 69636
988 .long 268505092
989 .long 536875008
990 .long 805310464
991 .long 536940544
992 .long 805376000
993 .long 536875012
994 .long 805310468
995 .long 536940548
996 .long 805376004
997 .long 1052672
998 .long 269488128
999 .long 1118208
1000 .long 269553664
1001 .long 1052676
1002 .long 269488132
1003 .long 1118212
1004 .long 269553668
1005 .long 537923584
1006 .long 806359040
1007 .long 537989120
1008 .long 806424576
1009 .long 537923588
1010 .long 806359044
1011 .long 537989124
1012 .long 806424580
1013 .long 0
1014 .long 134217728
1015 .long 8
1016 .long 134217736
1017 .long 1024
1018 .long 134218752
1019 .long 1032
1020 .long 134218760
1021 .long 131072
1022 .long 134348800
1023 .long 131080
1024 .long 134348808
1025 .long 132096
1026 .long 134349824
1027 .long 132104
1028 .long 134349832
1029 .long 1
1030 .long 134217729
1031 .long 9
1032 .long 134217737
1033 .long 1025
1034 .long 134218753
1035 .long 1033
1036 .long 134218761
1037 .long 131073
1038 .long 134348801
1039 .long 131081
1040 .long 134348809
1041 .long 132097
1042 .long 134349825
1043 .long 132105
1044 .long 134349833
1045 .long 33554432
1046 .long 167772160
1047 .long 33554440
1048 .long 167772168
1049 .long 33555456
1050 .long 167773184
1051 .long 33555464
1052 .long 167773192
1053 .long 33685504
1054 .long 167903232
1055 .long 33685512
1056 .long 167903240
1057 .long 33686528
1058 .long 167904256
1059 .long 33686536
1060 .long 167904264
1061 .long 33554433
1062 .long 167772161
1063 .long 33554441
1064 .long 167772169
1065 .long 33555457
1066 .long 167773185
1067 .long 33555465
1068 .long 167773193
1069 .long 33685505
1070 .long 167903233
1071 .long 33685513
1072 .long 167903241
1073 .long 33686529
1074 .long 167904257
1075 .long 33686537
1076 .long 167904265
1077 .long 0
1078 .long 256
1079 .long 524288
1080 .long 524544
1081 .long 16777216
1082 .long 16777472
1083 .long 17301504
1084 .long 17301760
1085 .long 16
1086 .long 272
1087 .long 524304
1088 .long 524560
1089 .long 16777232
1090 .long 16777488
1091 .long 17301520
1092 .long 17301776
1093 .long 2097152
1094 .long 2097408
1095 .long 2621440
1096 .long 2621696
1097 .long 18874368
1098 .long 18874624
1099 .long 19398656
1100 .long 19398912
1101 .long 2097168
1102 .long 2097424
1103 .long 2621456
1104 .long 2621712
1105 .long 18874384
1106 .long 18874640
1107 .long 19398672
1108 .long 19398928
1109 .long 512
1110 .long 768
1111 .long 524800
1112 .long 525056
1113 .long 16777728
1114 .long 16777984
1115 .long 17302016
1116 .long 17302272
1117 .long 528
1118 .long 784
1119 .long 524816
1120 .long 525072
1121 .long 16777744
1122 .long 16778000
1123 .long 17302032
1124 .long 17302288
1125 .long 2097664
1126 .long 2097920
1127 .long 2621952
1128 .long 2622208
1129 .long 18874880
1130 .long 18875136
1131 .long 19399168
1132 .long 19399424
1133 .long 2097680
1134 .long 2097936
1135 .long 2621968
1136 .long 2622224
1137 .long 18874896
1138 .long 18875152
1139 .long 19399184
1140 .long 19399440
1141 .long 0
1142 .long 67108864
1143 .long 262144
1144 .long 67371008
1145 .long 2
1146 .long 67108866
1147 .long 262146
1148 .long 67371010
1149 .long 8192
1150 .long 67117056
1151 .long 270336
1152 .long 67379200
1153 .long 8194
1154 .long 67117058
1155 .long 270338
1156 .long 67379202
1157 .long 32
1158 .long 67108896
1159 .long 262176
1160 .long 67371040
1161 .long 34
1162 .long 67108898
1163 .long 262178
1164 .long 67371042
1165 .long 8224
1166 .long 67117088
1167 .long 270368
1168 .long 67379232
1169 .long 8226
1170 .long 67117090
1171 .long 270370
1172 .long 67379234
1173 .long 2048
1174 .long 67110912
1175 .long 264192
1176 .long 67373056
1177 .long 2050
1178 .long 67110914
1179 .long 264194
1180 .long 67373058
1181 .long 10240
1182 .long 67119104
1183 .long 272384
1184 .long 67381248
1185 .long 10242
1186 .long 67119106
1187 .long 272386
1188 .long 67381250
1189 .long 2080
1190 .long 67110944
1191 .long 264224
1192 .long 67373088
1193 .long 2082
1194 .long 67110946
1195 .long 264226
1196 .long 67373090
1197 .long 10272
1198 .long 67119136
1199 .long 272416
1200 .long 67381280
1201 .long 10274
1202 .long 67119138
1203 .long 272418
1204 .long 67381282
1205 .align 32
1206 .type des_SPtrans, @object
1207 .size des_SPtrans, 2048
1208 des_SPtrans:
1209 .long 8520192
1210 .long 131072
1211 .long -2139095040
1212 .long -2138963456
1213 .long 8388608
1214 .long -2147352064
1215 .long -2147352576
1216 .long -2139095040
1217 .long -2147352064
1218 .long 8520192
1219 .long 8519680
1220 .long -2147483136
1221 .long -2139094528
1222 .long 8388608
1223 .long 0
1224 .long -2147352576
1225 .long 131072
1226 .long -2147483648
1227 .long 8389120
1228 .long 131584
1229 .long -2138963456
1230 .long 8519680
1231 .long -2147483136
1232 .long 8389120
1233 .long -2147483648
1234 .long 512
1235 .long 131584
1236 .long -2138963968
1237 .long 512
1238 .long -2139094528
1239 .long -2138963968
1240 .long 0
1241 .long 0
1242 .long -2138963456
1243 .long 8389120
1244 .long -2147352576
1245 .long 8520192
1246 .long 131072
1247 .long -2147483136
1248 .long 8389120
1249 .long -2138963968
1250 .long 512
1251 .long 131584
1252 .long -2139095040
1253 .long -2147352064
1254 .long -2147483648
1255 .long -2139095040
1256 .long 8519680
1257 .long -2138963456
1258 .long 131584
1259 .long 8519680
1260 .long -2139094528
1261 .long 8388608
1262 .long -2147483136
1263 .long -2147352576
1264 .long 0
1265 .long 131072
1266 .long 8388608
1267 .long -2139094528
1268 .long 8520192
1269 .long -2147483648
1270 .long -2138963968
1271 .long 512
1272 .long -2147352064
1273 .long 268705796
1274 .long 0
1275 .long 270336
1276 .long 268697600
1277 .long 268435460
1278 .long 8196
1279 .long 268443648
1280 .long 270336
1281 .long 8192
1282 .long 268697604
1283 .long 4
1284 .long 268443648
1285 .long 262148
1286 .long 268705792
1287 .long 268697600
1288 .long 4
1289 .long 262144
1290 .long 268443652
1291 .long 268697604
1292 .long 8192
1293 .long 270340
1294 .long 268435456
1295 .long 0
1296 .long 262148
1297 .long 268443652
1298 .long 270340
1299 .long 268705792
1300 .long 268435460
1301 .long 268435456
1302 .long 262144
1303 .long 8196
1304 .long 268705796
1305 .long 262148
1306 .long 268705792
1307 .long 268443648
1308 .long 270340
1309 .long 268705796
1310 .long 262148
1311 .long 268435460
1312 .long 0
1313 .long 268435456
1314 .long 8196
1315 .long 262144
1316 .long 268697604
1317 .long 8192
1318 .long 268435456
1319 .long 270340
1320 .long 268443652
1321 .long 268705792
1322 .long 8192
1323 .long 0
1324 .long 268435460
1325 .long 4
1326 .long 268705796
1327 .long 270336
1328 .long 268697600
1329 .long 268697604
1330 .long 262144
1331 .long 8196
1332 .long 268443648
1333 .long 268443652
1334 .long 4
1335 .long 268697600
1336 .long 270336
1337 .long 1090519040
1338 .long 16842816
1339 .long 64
1340 .long 1090519104
1341 .long 1073807360
1342 .long 16777216
1343 .long 1090519104
1344 .long 65600
1345 .long 16777280
1346 .long 65536
1347 .long 16842752
1348 .long 1073741824
1349 .long 1090584640
1350 .long 1073741888
1351 .long 1073741824
1352 .long 1090584576
1353 .long 0
1354 .long 1073807360
1355 .long 16842816
1356 .long 64
1357 .long 1073741888
1358 .long 1090584640
1359 .long 65536
1360 .long 1090519040
1361 .long 1090584576
1362 .long 16777280
1363 .long 1073807424
1364 .long 16842752
1365 .long 65600
1366 .long 0
1367 .long 16777216
1368 .long 1073807424
1369 .long 16842816
1370 .long 64
1371 .long 1073741824
1372 .long 65536
1373 .long 1073741888
1374 .long 1073807360
1375 .long 16842752
1376 .long 1090519104
1377 .long 0
1378 .long 16842816
1379 .long 65600
1380 .long 1090584576
1381 .long 1073807360
1382 .long 16777216
1383 .long 1090584640
1384 .long 1073741824
1385 .long 1073807424
1386 .long 1090519040
1387 .long 16777216
1388 .long 1090584640
1389 .long 65536
1390 .long 16777280
1391 .long 1090519104
1392 .long 65600
1393 .long 16777280
1394 .long 0
1395 .long 1090584576
1396 .long 1073741888
1397 .long 1090519040
1398 .long 1073807424
1399 .long 64
1400 .long 16842752
1401 .long 1049602
1402 .long 67109888
1403 .long 2
1404 .long 68158466
1405 .long 0
1406 .long 68157440
1407 .long 67109890
1408 .long 1048578
1409 .long 68158464
1410 .long 67108866
1411 .long 67108864
1412 .long 1026
1413 .long 67108866
1414 .long 1049602
1415 .long 1048576
1416 .long 67108864
1417 .long 68157442
1418 .long 1049600
1419 .long 1024
1420 .long 2
1421 .long 1049600
1422 .long 67109890
1423 .long 68157440
1424 .long 1024
1425 .long 1026
1426 .long 0
1427 .long 1048578
1428 .long 68158464
1429 .long 67109888
1430 .long 68157442
1431 .long 68158466
1432 .long 1048576
1433 .long 68157442
1434 .long 1026
1435 .long 1048576
1436 .long 67108866
1437 .long 1049600
1438 .long 67109888
1439 .long 2
1440 .long 68157440
1441 .long 67109890
1442 .long 0
1443 .long 1024
1444 .long 1048578
1445 .long 0
1446 .long 68157442
1447 .long 68158464
1448 .long 1024
1449 .long 67108864
1450 .long 68158466
1451 .long 1049602
1452 .long 1048576
1453 .long 68158466
1454 .long 2
1455 .long 67109888
1456 .long 1049602
1457 .long 1048578
1458 .long 1049600
1459 .long 68157440
1460 .long 67109890
1461 .long 1026
1462 .long 67108864
1463 .long 67108866
1464 .long 68158464
1465 .long 33554432
1466 .long 16384
1467 .long 256
1468 .long 33571080
1469 .long 33570824
1470 .long 33554688
1471 .long 16648
1472 .long 33570816
1473 .long 16384
1474 .long 8
1475 .long 33554440
1476 .long 16640
1477 .long 33554696
1478 .long 33570824
1479 .long 33571072
1480 .long 0
1481 .long 16640
1482 .long 33554432
1483 .long 16392
1484 .long 264
1485 .long 33554688
1486 .long 16648
1487 .long 0
1488 .long 33554440
1489 .long 8
1490 .long 33554696
1491 .long 33571080
1492 .long 16392
1493 .long 33570816
1494 .long 256
1495 .long 264
1496 .long 33571072
1497 .long 33571072
1498 .long 33554696
1499 .long 16392
1500 .long 33570816
1501 .long 16384
1502 .long 8
1503 .long 33554440
1504 .long 33554688
1505 .long 33554432
1506 .long 16640
1507 .long 33571080
1508 .long 0
1509 .long 16648
1510 .long 33554432
1511 .long 256
1512 .long 16392
1513 .long 33554696
1514 .long 256
1515 .long 0
1516 .long 33571080
1517 .long 33570824
1518 .long 33571072
1519 .long 264
1520 .long 16384
1521 .long 16640
1522 .long 33570824
1523 .long 33554688
1524 .long 264
1525 .long 8
1526 .long 16648
1527 .long 33570816
1528 .long 33554440
1529 .long 536870928
1530 .long 524304
1531 .long 0
1532 .long 537397248
1533 .long 524304
1534 .long 2048
1535 .long 536872976
1536 .long 524288
1537 .long 2064
1538 .long 537397264
1539 .long 526336
1540 .long 536870912
1541 .long 536872960
1542 .long 536870928
1543 .long 537395200
1544 .long 526352
1545 .long 524288
1546 .long 536872976
1547 .long 537395216
1548 .long 0
1549 .long 2048
1550 .long 16
1551 .long 537397248
1552 .long 537395216
1553 .long 537397264
1554 .long 537395200
1555 .long 536870912
1556 .long 2064
1557 .long 16
1558 .long 526336
1559 .long 526352
1560 .long 536872960
1561 .long 2064
1562 .long 536870912
1563 .long 536872960
1564 .long 526352
1565 .long 537397248
1566 .long 524304
1567 .long 0
1568 .long 536872960
1569 .long 536870912
1570 .long 2048
1571 .long 537395216
1572 .long 524288
1573 .long 524304
1574 .long 537397264
1575 .long 526336
1576 .long 16
1577 .long 537397264
1578 .long 526336
1579 .long 524288
1580 .long 536872976
1581 .long 536870928
1582 .long 537395200
1583 .long 526352
1584 .long 0
1585 .long 2048
1586 .long 536870928
1587 .long 536872976
1588 .long 537397248
1589 .long 537395200
1590 .long 2064
1591 .long 16
1592 .long 537395216
1593 .long 4096
1594 .long 128
1595 .long 4194432
1596 .long 4194305
1597 .long 4198529
1598 .long 4097
1599 .long 4224
1600 .long 0
1601 .long 4194304
1602 .long 4194433
1603 .long 129
1604 .long 4198400
1605 .long 1
1606 .long 4198528
1607 .long 4198400
1608 .long 129
1609 .long 4194433
1610 .long 4096
1611 .long 4097
1612 .long 4198529
1613 .long 0
1614 .long 4194432
1615 .long 4194305
1616 .long 4224
1617 .long 4198401
1618 .long 4225
1619 .long 4198528
1620 .long 1
1621 .long 4225
1622 .long 4198401
1623 .long 128
1624 .long 4194304
1625 .long 4225
1626 .long 4198400
1627 .long 4198401
1628 .long 129
1629 .long 4096
1630 .long 128
1631 .long 4194304
1632 .long 4198401
1633 .long 4194433
1634 .long 4225
1635 .long 4224
1636 .long 0
1637 .long 128
1638 .long 4194305
1639 .long 1
1640 .long 4194432
1641 .long 0
1642 .long 4194433
1643 .long 4194432
1644 .long 4224
1645 .long 129
1646 .long 4096
1647 .long 4198529
1648 .long 4194304
1649 .long 4198528
1650 .long 1
1651 .long 4097
1652 .long 4198529
1653 .long 4194305
1654 .long 4198528
1655 .long 4198400
1656 .long 4097
1657 .long 136314912
1658 .long 136347648
1659 .long 32800
1660 .long 0
1661 .long 134250496
1662 .long 2097184
1663 .long 136314880
1664 .long 136347680
1665 .long 32
1666 .long 134217728
1667 .long 2129920
1668 .long 32800
1669 .long 2129952
1670 .long 134250528
1671 .long 134217760
1672 .long 136314880
1673 .long 32768
1674 .long 2129952
1675 .long 2097184
1676 .long 134250496
1677 .long 136347680
1678 .long 134217760
1679 .long 0
1680 .long 2129920
1681 .long 134217728
1682 .long 2097152
1683 .long 134250528
1684 .long 136314912
1685 .long 2097152
1686 .long 32768
1687 .long 136347648
1688 .long 32
1689 .long 2097152
1690 .long 32768
1691 .long 134217760
1692 .long 136347680
1693 .long 32800
1694 .long 134217728
1695 .long 0
1696 .long 2129920
1697 .long 136314912
1698 .long 134250528
1699 .long 134250496
1700 .long 2097184
1701 .long 136347648
1702 .long 32
1703 .long 2097184
1704 .long 134250496
1705 .long 136347680
1706 .long 2097152
1707 .long 136314880
1708 .long 134217760
1709 .long 2129920
1710 .long 32800
1711 .long 134250528
1712 .long 136314880
1713 .long 32
1714 .long 136347648
1715 .long 2129952
1716 .long 0
1717 .long 134217728
1718 .long 136314912
1719 .long 32768
1720 .long 2129952