1 #include <machine/asm.h>
3 .globl Camellia_EncryptBlock_Rounds
4 .type Camellia_EncryptBlock_Rounds,@function
6 Camellia_EncryptBlock_Rounds:
7 .L_Camellia_EncryptBlock_Rounds_begin:
25 leal (%edi,%eax,1),%eax
31 leal .LCamellia_SBOX-.L000pic_point(%ebp),%ebp
40 call _x86_Camellia_encrypt
56 .size Camellia_EncryptBlock_Rounds,.-.L_Camellia_EncryptBlock_Rounds_begin
57 .globl Camellia_EncryptBlock
58 .type Camellia_EncryptBlock,@function
60 Camellia_EncryptBlock:
61 .L_Camellia_EncryptBlock_begin:
67 jmp .L_Camellia_EncryptBlock_Rounds_begin
68 .size Camellia_EncryptBlock,.-.L_Camellia_EncryptBlock_begin
69 .globl Camellia_encrypt
70 .type Camellia_encrypt,@function
73 .L_Camellia_encrypt_begin:
91 leal (%edi,%eax,1),%eax
97 leal .LCamellia_SBOX-.L001pic_point(%ebp),%ebp
106 call _x86_Camellia_encrypt
122 .size Camellia_encrypt,.-.L_Camellia_encrypt_begin
123 .type _x86_Camellia_encrypt,@function
125 _x86_Camellia_encrypt:
140 movl 2052(%ebp,%esi,8),%edx
142 xorl 4(%ebp,%esi,8),%edx
145 movl (%ebp,%esi,8),%ecx
147 xorl (%ebp,%esi,8),%edx
149 xorl 4(%ebp,%esi,8),%ecx
152 xorl 2048(%ebp,%eax,8),%edx
157 xorl 2048(%ebp,%esi,8),%ecx
161 xorl 2052(%ebp,%esi,8),%ecx
170 movl 2052(%ebp,%esi,8),%ebx
172 xorl 4(%ebp,%esi,8),%ebx
175 movl (%ebp,%esi,8),%eax
177 xorl (%ebp,%esi,8),%ebx
179 xorl 4(%ebp,%esi,8),%eax
182 xorl 2048(%ebp,%ecx,8),%ebx
187 xorl 2048(%ebp,%esi,8),%eax
191 xorl 2052(%ebp,%esi,8),%eax
200 movl 2052(%ebp,%esi,8),%edx
202 xorl 4(%ebp,%esi,8),%edx
205 movl (%ebp,%esi,8),%ecx
207 xorl (%ebp,%esi,8),%edx
209 xorl 4(%ebp,%esi,8),%ecx
212 xorl 2048(%ebp,%eax,8),%edx
217 xorl 2048(%ebp,%esi,8),%ecx
221 xorl 2052(%ebp,%esi,8),%ecx
230 movl 2052(%ebp,%esi,8),%ebx
232 xorl 4(%ebp,%esi,8),%ebx
235 movl (%ebp,%esi,8),%eax
237 xorl (%ebp,%esi,8),%ebx
239 xorl 4(%ebp,%esi,8),%eax
242 xorl 2048(%ebp,%ecx,8),%ebx
247 xorl 2048(%ebp,%esi,8),%eax
251 xorl 2052(%ebp,%esi,8),%eax
260 movl 2052(%ebp,%esi,8),%edx
262 xorl 4(%ebp,%esi,8),%edx
265 movl (%ebp,%esi,8),%ecx
267 xorl (%ebp,%esi,8),%edx
269 xorl 4(%ebp,%esi,8),%ecx
272 xorl 2048(%ebp,%eax,8),%edx
277 xorl 2048(%ebp,%esi,8),%ecx
281 xorl 2052(%ebp,%esi,8),%ecx
290 movl 2052(%ebp,%esi,8),%ebx
292 xorl 4(%ebp,%esi,8),%ebx
295 movl (%ebp,%esi,8),%eax
297 xorl (%ebp,%esi,8),%ebx
299 xorl 4(%ebp,%esi,8),%eax
302 xorl 2048(%ebp,%ecx,8),%ebx
307 xorl 2048(%ebp,%esi,8),%eax
311 xorl 2052(%ebp,%esi,8),%eax
350 .size _x86_Camellia_encrypt,.-_x86_Camellia_encrypt
351 .globl Camellia_DecryptBlock_Rounds
352 .type Camellia_DecryptBlock_Rounds,@function
354 Camellia_DecryptBlock_Rounds:
355 .L_Camellia_DecryptBlock_Rounds_begin:
374 leal (%edi,%eax,1),%edi
379 leal .LCamellia_SBOX-.L004pic_point(%ebp),%ebp
388 call _x86_Camellia_decrypt
404 .size Camellia_DecryptBlock_Rounds,.-.L_Camellia_DecryptBlock_Rounds_begin
405 .globl Camellia_DecryptBlock
406 .type Camellia_DecryptBlock,@function
408 Camellia_DecryptBlock:
409 .L_Camellia_DecryptBlock_begin:
415 jmp .L_Camellia_DecryptBlock_Rounds_begin
416 .size Camellia_DecryptBlock,.-.L_Camellia_DecryptBlock_begin
417 .globl Camellia_decrypt
418 .type Camellia_decrypt,@function
421 .L_Camellia_decrypt_begin:
440 leal (%edi,%eax,1),%edi
445 leal .LCamellia_SBOX-.L005pic_point(%ebp),%ebp
454 call _x86_Camellia_decrypt
470 .size Camellia_decrypt,.-.L_Camellia_decrypt_begin
471 .type _x86_Camellia_decrypt,@function
473 _x86_Camellia_decrypt:
488 movl 2052(%ebp,%esi,8),%edx
490 xorl 4(%ebp,%esi,8),%edx
493 movl (%ebp,%esi,8),%ecx
495 xorl (%ebp,%esi,8),%edx
497 xorl 4(%ebp,%esi,8),%ecx
500 xorl 2048(%ebp,%eax,8),%edx
505 xorl 2048(%ebp,%esi,8),%ecx
509 xorl 2052(%ebp,%esi,8),%ecx
518 movl 2052(%ebp,%esi,8),%ebx
520 xorl 4(%ebp,%esi,8),%ebx
523 movl (%ebp,%esi,8),%eax
525 xorl (%ebp,%esi,8),%ebx
527 xorl 4(%ebp,%esi,8),%eax
530 xorl 2048(%ebp,%ecx,8),%ebx
535 xorl 2048(%ebp,%esi,8),%eax
539 xorl 2052(%ebp,%esi,8),%eax
548 movl 2052(%ebp,%esi,8),%edx
550 xorl 4(%ebp,%esi,8),%edx
553 movl (%ebp,%esi,8),%ecx
555 xorl (%ebp,%esi,8),%edx
557 xorl 4(%ebp,%esi,8),%ecx
560 xorl 2048(%ebp,%eax,8),%edx
565 xorl 2048(%ebp,%esi,8),%ecx
569 xorl 2052(%ebp,%esi,8),%ecx
578 movl 2052(%ebp,%esi,8),%ebx
580 xorl 4(%ebp,%esi,8),%ebx
583 movl (%ebp,%esi,8),%eax
585 xorl (%ebp,%esi,8),%ebx
587 xorl 4(%ebp,%esi,8),%eax
590 xorl 2048(%ebp,%ecx,8),%ebx
595 xorl 2048(%ebp,%esi,8),%eax
599 xorl 2052(%ebp,%esi,8),%eax
608 movl 2052(%ebp,%esi,8),%edx
610 xorl 4(%ebp,%esi,8),%edx
613 movl (%ebp,%esi,8),%ecx
615 xorl (%ebp,%esi,8),%edx
617 xorl 4(%ebp,%esi,8),%ecx
620 xorl 2048(%ebp,%eax,8),%edx
625 xorl 2048(%ebp,%esi,8),%ecx
629 xorl 2052(%ebp,%esi,8),%ecx
638 movl 2052(%ebp,%esi,8),%ebx
640 xorl 4(%ebp,%esi,8),%ebx
643 movl (%ebp,%esi,8),%eax
645 xorl (%ebp,%esi,8),%ebx
647 xorl 4(%ebp,%esi,8),%eax
650 xorl 2048(%ebp,%ecx,8),%ebx
655 xorl 2048(%ebp,%esi,8),%eax
659 xorl 2052(%ebp,%esi,8),%eax
698 .size _x86_Camellia_decrypt,.-_x86_Camellia_decrypt
699 .globl Camellia_Ekeygen
700 .type Camellia_Ekeygen,@function
703 .L_Camellia_Ekeygen_begin:
758 leal .LCamellia_SBOX-.L011pic_point(%ebp),%ebp
759 leal .LCamellia_SIGMA-.LCamellia_SBOX(%ebp),%edi
768 movl 2052(%ebp,%esi,8),%edx
770 xorl 4(%ebp,%esi,8),%edx
773 movl (%ebp,%esi,8),%ecx
775 xorl (%ebp,%esi,8),%edx
777 xorl 4(%ebp,%esi,8),%ecx
780 xorl 2048(%ebp,%eax,8),%edx
785 xorl 2048(%ebp,%esi,8),%ecx
789 xorl 2052(%ebp,%esi,8),%ecx
798 movl 2052(%ebp,%esi,8),%ebx
800 xorl 4(%ebp,%esi,8),%ebx
803 movl (%ebp,%esi,8),%eax
805 xorl (%ebp,%esi,8),%ebx
807 xorl 4(%ebp,%esi,8),%eax
810 xorl 2048(%ebp,%ecx,8),%ebx
815 xorl 2048(%ebp,%esi,8),%eax
819 xorl 2052(%ebp,%esi,8),%eax
840 movl 2052(%ebp,%esi,8),%edx
842 xorl 4(%ebp,%esi,8),%edx
845 movl (%ebp,%esi,8),%ecx
847 xorl (%ebp,%esi,8),%edx
849 xorl 4(%ebp,%esi,8),%ecx
852 xorl 2048(%ebp,%eax,8),%edx
857 xorl 2048(%ebp,%esi,8),%ecx
861 xorl 2052(%ebp,%esi,8),%ecx
870 movl 2052(%ebp,%esi,8),%ebx
872 xorl 4(%ebp,%esi,8),%ebx
875 movl (%ebp,%esi,8),%eax
877 xorl (%ebp,%esi,8),%ebx
879 xorl 4(%ebp,%esi,8),%eax
882 xorl 2048(%ebp,%ecx,8),%ebx
887 xorl 2048(%ebp,%esi,8),%eax
891 xorl 2052(%ebp,%esi,8),%eax
1026 movl -128(%edi),%ebx
1027 movl -124(%edi),%ecx
1028 movl -120(%edi),%edx
1029 movl -116(%edi),%eax
1169 movl 2052(%ebp,%esi,8),%edx
1171 xorl 4(%ebp,%esi,8),%edx
1174 movl (%ebp,%esi,8),%ecx
1176 xorl (%ebp,%esi,8),%edx
1178 xorl 4(%ebp,%esi,8),%ecx
1181 xorl 2048(%ebp,%eax,8),%edx
1186 xorl 2048(%ebp,%esi,8),%ecx
1190 xorl 2052(%ebp,%esi,8),%ecx
1199 movl 2052(%ebp,%esi,8),%ebx
1201 xorl 4(%ebp,%esi,8),%ebx
1204 movl (%ebp,%esi,8),%eax
1206 xorl (%ebp,%esi,8),%ebx
1208 xorl 4(%ebp,%esi,8),%eax
1211 xorl 2048(%ebp,%ecx,8),%ebx
1216 xorl 2048(%ebp,%esi,8),%eax
1220 xorl 2052(%ebp,%esi,8),%eax
1230 movl %eax,-112(%edi)
1231 movl %ebx,-108(%edi)
1232 movl %ecx,-104(%edi)
1233 movl %edx,-100(%edi)
1446 movl -128(%edi),%edx
1447 movl -124(%edi),%eax
1448 movl -120(%edi),%ebx
1449 movl -116(%edi),%ecx
1539 .size Camellia_Ekeygen,.-.L_Camellia_Ekeygen_begin
1540 .globl private_Camellia_set_key
1541 .type private_Camellia_set_key,@function
1543 private_Camellia_set_key:
1544 .L_private_Camellia_set_key_begin:
1566 call .L_Camellia_Ekeygen_begin
1574 .size private_Camellia_set_key,.-.L_private_Camellia_set_key_begin
1577 .long 2694735487,1003262091,3061508184,1286239154,3337565999,3914302142,1426019237,4057165596,283453434,3731369245,2958461122,3018244605,0,0,0,0
1580 .long 1886416896,1886388336
1581 .long 2189591040,741081132
1582 .long 741092352,3014852787
1583 .long 3974949888,3233808576
1584 .long 3014898432,3840147684
1585 .long 656877312,1465319511
1586 .long 3233857536,3941204202
1587 .long 3857048832,2930639022
1588 .long 3840205824,589496355
1589 .long 2240120064,1802174571
1590 .long 1465341696,1162149957
1591 .long 892679424,2779054245
1592 .long 3941263872,3991732461
1593 .long 202116096,1330577487
1594 .long 2930683392,488439837
1595 .long 1094795520,2459041938
1596 .long 589505280,2256928902
1597 .long 4025478912,2947481775
1598 .long 1802201856,2088501372
1599 .long 2475922176,522125343
1600 .long 1162167552,1044250686
1601 .long 421075200,3705405660
1602 .long 2779096320,1583218782
1603 .long 555819264,185270283
1604 .long 3991792896,2795896998
1605 .long 235802112,960036921
1606 .long 1330597632,3587506389
1607 .long 1313754624,1566376029
1608 .long 488447232,3654877401
1609 .long 1701143808,1515847770
1610 .long 2459079168,1364262993
1611 .long 3183328512,1819017324
1612 .long 2256963072,2341142667
1613 .long 3099113472,2593783962
1614 .long 2947526400,4227531003
1615 .long 2408550144,2964324528
1616 .long 2088532992,1953759348
1617 .long 3958106880,724238379
1618 .long 522133248,4042260720
1619 .long 3469659648,2223243396
1620 .long 1044266496,3755933919
1621 .long 808464384,3419078859
1622 .long 3705461760,875823156
1623 .long 1600085760,1987444854
1624 .long 1583242752,1835860077
1625 .long 3318072576,2846425257
1626 .long 185273088,3520135377
1627 .long 437918208,67371012
1628 .long 2795939328,336855060
1629 .long 3789676800,976879674
1630 .long 960051456,3739091166
1631 .long 3402287616,286326801
1632 .long 3587560704,842137650
1633 .long 1195853568,2627469468
1634 .long 1566399744,1397948499
1635 .long 1027423488,4075946226
1636 .long 3654932736,4278059262
1637 .long 16843008,3486449871
1638 .long 1515870720,3284336835
1639 .long 3604403712,2054815866
1640 .long 1364283648,606339108
1641 .long 1448498688,3907518696
1642 .long 1819044864,1616904288
1643 .long 1296911616,1768489065
1644 .long 2341178112,2863268010
1645 .long 218959104,2694840480
1646 .long 2593823232,2711683233
1647 .long 1717986816,1650589794
1648 .long 4227595008,1414791252
1649 .long 3435973632,505282590
1650 .long 2964369408,3772776672
1651 .long 757935360,1684275300
1652 .long 1953788928,269484048
1654 .long 724249344,2745368739
1655 .long 538976256,1970602101
1656 .long 4042321920,2324299914
1657 .long 2981212416,3873833190
1658 .long 2223277056,151584777
1659 .long 2576980224,3722248413
1660 .long 3755990784,2273771655
1661 .long 1280068608,2206400643
1662 .long 3419130624,3452764365
1663 .long 3267543552,2425356432
1664 .long 875836416,1936916595
1665 .long 2122219008,4143317238
1666 .long 1987474944,2644312221
1667 .long 84215040,3216965823
1668 .long 1835887872,1381105746
1669 .long 3082270464,3638034648
1670 .long 2846468352,3368550600
1671 .long 825307392,3334865094
1672 .long 3520188672,2172715137
1673 .long 387389184,1869545583
1674 .long 67372032,320012307
1675 .long 3621246720,1667432547
1676 .long 336860160,3924361449
1677 .long 1482184704,2812739751
1678 .long 976894464,2677997727
1679 .long 1633771776,3166437564
1680 .long 3739147776,690552873
1681 .long 454761216,4193845497
1682 .long 286331136,791609391
1683 .long 471604224,3031695540
1684 .long 842150400,2021130360
1685 .long 252645120,101056518
1686 .long 2627509248,3890675943
1687 .long 370546176,1903231089
1688 .long 1397969664,3570663636
1689 .long 404232192,2880110763
1690 .long 4076007936,2290614408
1691 .long 572662272,2374828173
1692 .long 4278124032,1920073842
1693 .long 1145324544,3115909305
1694 .long 3486502656,4177002744
1695 .long 2998055424,2896953516
1696 .long 3284386560,909508662
1697 .long 3048584448,707395626
1698 .long 2054846976,1010565180
1699 .long 2442236160,4059103473
1700 .long 606348288,1077936192
1701 .long 134744064,3553820883
1702 .long 3907577856,3149594811
1703 .long 2829625344,1128464451
1704 .long 1616928768,353697813
1705 .long 4244438016,2913796269
1706 .long 1768515840,2004287607
1707 .long 1347440640,2155872384
1708 .long 2863311360,2189557890
1709 .long 3503345664,3974889708
1710 .long 2694881280,656867367
1711 .long 2105376000,3856990437
1712 .long 2711724288,2240086149
1713 .long 2307492096,892665909
1714 .long 1650614784,202113036
1715 .long 2543294208,1094778945
1716 .long 1414812672,4025417967
1717 .long 1532713728,2475884691
1718 .long 505290240,421068825
1719 .long 2509608192,555810849
1720 .long 3772833792,235798542
1721 .long 4294967040,1313734734
1722 .long 1684300800,1701118053
1723 .long 3537031680,3183280317
1724 .long 269488128,3099066552
1725 .long 3301229568,2408513679
1727 .long 1212696576,3469607118
1728 .long 2745410304,808452144
1729 .long 4160222976,1600061535
1730 .long 1970631936,3318022341
1731 .long 3688618752,437911578
1732 .long 2324335104,3789619425
1733 .long 50529024,3402236106
1734 .long 3873891840,1195835463
1735 .long 3671775744,1027407933
1736 .long 151587072,16842753
1737 .long 1061109504,3604349142
1738 .long 3722304768,1448476758
1739 .long 2492765184,1296891981
1740 .long 2273806080,218955789
1741 .long 1549556736,1717960806
1742 .long 2206434048,3435921612
1743 .long 33686016,757923885
1744 .long 3452816640,303169554
1745 .long 1246382592,538968096
1746 .long 2425393152,2981167281
1747 .long 858993408,2576941209
1748 .long 1936945920,1280049228
1749 .long 1734829824,3267494082
1750 .long 4143379968,2122186878
1751 .long 4092850944,84213765
1752 .long 2644352256,3082223799
1753 .long 2139062016,825294897
1754 .long 3217014528,387383319
1755 .long 3806519808,3621191895
1756 .long 1381126656,1482162264
1757 .long 2610666240,1633747041
1758 .long 3638089728,454754331
1759 .long 640034304,471597084
1760 .long 3368601600,252641295
1761 .long 926365440,370540566
1762 .long 3334915584,404226072
1763 .long 993737472,572653602
1764 .long 2172748032,1145307204
1765 .long 2526451200,2998010034
1766 .long 1869573888,3048538293
1767 .long 1263225600,2442199185
1768 .long 320017152,134742024
1769 .long 3200171520,2829582504
1770 .long 1667457792,4244373756
1771 .long 774778368,1347420240
1772 .long 3924420864,3503292624
1773 .long 2038003968,2105344125
1774 .long 2812782336,2307457161
1775 .long 2358021120,2543255703
1776 .long 2678038272,1532690523
1777 .long 1852730880,2509570197
1778 .long 3166485504,4294902015
1779 .long 2391707136,3536978130
1780 .long 690563328,3301179588
1781 .long 4126536960,1212678216
1782 .long 4193908992,4160159991
1783 .long 3065427456,3688562907
1784 .long 791621376,50528259
1785 .long 4261281024,3671720154
1786 .long 3031741440,1061093439
1787 .long 1499027712,2492727444
1788 .long 2021160960,1549533276
1789 .long 2560137216,33685506
1790 .long 101058048,1246363722
1791 .long 1785358848,858980403
1792 .long 3890734848,1734803559
1793 .long 1179010560,4092788979
1794 .long 1903259904,2139029631
1795 .long 3132799488,3806462178
1796 .long 3570717696,2610626715
1797 .long 623191296,640024614
1798 .long 2880154368,926351415
1799 .long 1111638528,993722427
1800 .long 2290649088,2526412950
1801 .long 2728567296,1263206475
1802 .long 2374864128,3200123070
1803 .long 4210752000,774766638
1804 .long 1920102912,2037973113
1805 .long 117901056,2357985420
1806 .long 3115956480,1852702830
1807 .long 1431655680,2391670926
1808 .long 4177065984,4126474485
1809 .long 4008635904,3065381046
1810 .long 2896997376,4261216509
1811 .long 168430080,1499005017
1812 .long 909522432,2560098456
1813 .long 1229539584,1785331818
1814 .long 707406336,1178992710
1815 .long 1751672832,3132752058
1816 .long 1010580480,623181861
1817 .long 943208448,1111621698
1818 .long 4059164928,2728525986
1819 .long 2762253312,4210688250
1820 .long 1077952512,117899271
1821 .long 673720320,1431634005
1822 .long 3553874688,4008575214
1823 .long 2071689984,168427530
1824 .long 3149642496,1229520969
1825 .long 3385444608,1751646312
1826 .long 1128481536,943194168
1827 .long 3250700544,2762211492
1828 .long 353703168,673710120
1829 .long 3823362816,2071658619
1830 .long 2913840384,3385393353
1831 .long 4109693952,3250651329
1832 .long 2004317952,3823304931
1833 .long 3351758592,4109631732
1834 .long 2155905024,3351707847
1835 .long 2661195264,2661154974
1836 .long 14737632,939538488
1837 .long 328965,1090535745
1838 .long 5789784,369104406
1839 .long 14277081,1979741814
1840 .long 6776679,3640711641
1841 .long 5131854,2466288531
1842 .long 8487297,1610637408
1843 .long 13355979,4060148466
1844 .long 13224393,1912631922
1845 .long 723723,3254829762
1846 .long 11447982,2868947883
1847 .long 6974058,2583730842
1848 .long 14013909,1962964341
1849 .long 1579032,100664838
1850 .long 6118749,1459640151
1851 .long 8553090,2684395680
1852 .long 4605510,2432733585
1853 .long 14671839,4144035831
1854 .long 14079702,3036722613
1855 .long 2565927,3372272073
1856 .long 9079434,2717950626
1857 .long 3289650,2348846220
1858 .long 4934475,3523269330
1859 .long 4342338,2415956112
1860 .long 14408667,4127258358
1861 .long 1842204,117442311
1862 .long 10395294,2801837991
1863 .long 10263708,654321447
1864 .long 3815994,2382401166
1865 .long 13290186,2986390194
1866 .long 2434341,1224755529
1867 .long 8092539,3724599006
1868 .long 855309,1124090691
1869 .long 7434609,1543527516
1870 .long 6250335,3607156695
1871 .long 2039583,3338717127
1872 .long 16316664,1040203326
1873 .long 14145495,4110480885
1874 .long 4079166,2399178639
1875 .long 10329501,1728079719
1876 .long 8158332,520101663
1877 .long 6316128,402659352
1878 .long 12171705,1845522030
1879 .long 12500670,2936057775
1880 .long 12369084,788541231
1881 .long 9145227,3791708898
1882 .long 1447446,2231403909
1883 .long 3421236,218107149
1884 .long 5066061,1392530259
1885 .long 12829635,4026593520
1886 .long 7500402,2617285788
1887 .long 9803157,1694524773
1888 .long 11250603,3925928682
1889 .long 9342606,2734728099
1890 .long 12237498,2919280302
1891 .long 8026746,2650840734
1892 .long 11776947,3959483628
1893 .long 131586,2147516544
1894 .long 11842740,754986285
1895 .long 11382189,1795189611
1896 .long 10658466,2818615464
1897 .long 11316396,721431339
1898 .long 14211288,905983542
1899 .long 10132122,2785060518
1900 .long 1513239,3305162181
1901 .long 1710618,2248181382
1902 .long 3487029,1291865421
1903 .long 13421772,855651123
1904 .long 16250871,4244700669
1905 .long 10066329,1711302246
1906 .long 6381921,1476417624
1907 .long 5921370,2516620950
1908 .long 15263976,973093434
1909 .long 2368548,150997257
1910 .long 5658198,2499843477
1911 .long 4210752,268439568
1912 .long 14803425,2013296760
1913 .long 6513507,3623934168
1914 .long 592137,1107313218
1915 .long 3355443,3422604492
1916 .long 12566463,4009816047
1917 .long 10000536,637543974
1918 .long 9934743,3842041317
1919 .long 8750469,1627414881
1920 .long 6842472,436214298
1921 .long 16579836,1056980799
1922 .long 15527148,989870907
1923 .long 657930,2181071490
1924 .long 14342874,3053500086
1925 .long 7303023,3674266587
1926 .long 5460819,3556824276
1927 .long 6447714,2550175896
1928 .long 10724259,3892373736
1929 .long 3026478,2332068747
1930 .long 526344,33554946
1931 .long 11513775,3942706155
1932 .long 2631720,167774730
1933 .long 11579568,738208812
1934 .long 7631988,486546717
1935 .long 12763842,2952835248
1936 .long 12434877,1862299503
1937 .long 3552822,2365623693
1938 .long 2236962,2281736328
1939 .long 3684408,234884622
1940 .long 6579300,419436825
1941 .long 1973790,2264958855
1942 .long 3750201,1308642894
1943 .long 2894892,184552203
1944 .long 10921638,2835392937
1945 .long 3158064,201329676
1946 .long 15066597,2030074233
1947 .long 4473924,285217041
1948 .long 16645629,2130739071
1949 .long 8947848,570434082
1950 .long 10461087,3875596263
1951 .long 6645093,1493195097
1952 .long 8882055,3774931425
1953 .long 7039851,3657489114
1954 .long 16053492,1023425853
1955 .long 2302755,3355494600
1956 .long 4737096,301994514
1957 .long 1052688,67109892
1958 .long 13750737,1946186868
1959 .long 5329233,1409307732
1960 .long 12632256,805318704
1961 .long 16382457,2113961598
1962 .long 13816530,3019945140
1963 .long 10526880,671098920
1964 .long 5592405,1426085205
1965 .long 10592673,1744857192
1966 .long 4276545,1342197840
1967 .long 16448250,3187719870
1968 .long 4408131,3489714384
1969 .long 1250067,3288384708
1970 .long 12895428,822096177
1971 .long 3092271,3405827019
1972 .long 11053224,704653866
1973 .long 11974326,2902502829
1974 .long 3947580,251662095
1975 .long 2829099,3389049546
1976 .long 12698049,1879076976
1977 .long 16777215,4278255615
1978 .long 13158600,838873650
1979 .long 10855845,1761634665
1980 .long 2105376,134219784
1981 .long 9013641,1644192354
1983 .long 9474192,603989028
1984 .long 4671303,3506491857
1985 .long 15724527,4211145723
1986 .long 15395562,3120609978
1987 .long 12040119,3976261101
1988 .long 1381653,1157645637
1989 .long 394758,2164294017
1990 .long 13487565,1929409395
1991 .long 11908533,1828744557
1992 .long 1184274,2214626436
1993 .long 8289918,2667618207
1994 .long 12303291,3993038574
1995 .long 2697513,1241533002
1996 .long 986895,3271607235
1997 .long 12105912,771763758
1998 .long 460551,3238052289
1999 .long 263172,16777473
2000 .long 10197915,3858818790
2001 .long 9737364,620766501
2002 .long 2171169,1207978056
2003 .long 6710886,2566953369
2004 .long 15132390,3103832505
2005 .long 13553358,3003167667
2006 .long 15592941,2063629179
2007 .long 15198183,4177590777
2008 .long 3881787,3456159438
2009 .long 16711422,3204497343
2010 .long 8355711,3741376479
2011 .long 12961221,1895854449
2012 .long 10790052,687876393
2013 .long 3618615,3439381965
2014 .long 11645361,1811967084
2015 .long 5000268,318771987
2016 .long 9539985,1677747300
2017 .long 7237230,2600508315
2018 .long 9276813,1660969827
2019 .long 7763574,2634063261
2020 .long 197379,3221274816
2021 .long 2960685,1258310475
2022 .long 14606046,3070277559
2023 .long 9868950,2768283045
2024 .long 2500134,2298513801
2025 .long 8224125,1593859935
2026 .long 13027014,2969612721
2027 .long 6052956,385881879
2028 .long 13882323,4093703412
2029 .long 15921906,3154164924
2030 .long 5197647,3540046803
2031 .long 1644825,1174423110
2032 .long 4144959,3472936911
2033 .long 14474460,922761015
2034 .long 7960953,1577082462
2035 .long 1907997,1191200583
2036 .long 5395026,2483066004
2037 .long 15461355,4194368250
2038 .long 15987699,4227923196
2039 .long 7171437,1526750043
2040 .long 6184542,2533398423
2041 .long 16514043,4261478142
2042 .long 6908265,1509972570
2043 .long 11711154,2885725356
2044 .long 15790320,1006648380
2045 .long 3223857,1275087948
2046 .long 789516,50332419
2047 .long 13948116,889206069
2048 .long 13619151,4076925939
2049 .long 9211020,587211555
2050 .long 14869218,3087055032
2051 .long 7697781,1560304989
2052 .long 11119017,1778412138
2053 .long 4868682,2449511058
2054 .long 5723991,3573601749
2055 .long 8684676,553656609
2056 .long 1118481,1140868164
2057 .long 4539717,1358975313
2058 .long 1776411,3321939654
2059 .long 16119285,2097184125
2060 .long 15000804,956315961
2061 .long 921102,2197848963
2062 .long 7566195,3691044060
2063 .long 11184810,2852170410
2064 .long 15856113,2080406652
2065 .long 14540253,1996519287
2066 .long 5855577,1442862678
2067 .long 1315860,83887365
2068 .long 7105644,452991771
2069 .long 9605778,2751505572
2070 .long 5526612,352326933
2071 .long 13684944,872428596
2072 .long 7895160,503324190
2073 .long 7368816,469769244
2074 .long 14935011,4160813304
2075 .long 4802889,1375752786
2076 .long 8421504,536879136
2077 .long 5263440,335549460
2078 .long 10987431,3909151209
2079 .long 16185078,3170942397
2080 .long 7829367,3707821533
2081 .long 9671571,3825263844
2082 .long 8816262,2701173153
2083 .long 8618883,3758153952
2084 .long 2763306,2315291274
2085 .long 13092807,4043370993
2086 .long 5987163,3590379222
2087 .long 15329769,2046851706
2088 .long 15658734,3137387451
2089 .long 9408399,3808486371
2090 .long 65793,1073758272
2091 .long 4013373,1325420367
2092 .globl Camellia_cbc_encrypt
2093 .type Camellia_cbc_encrypt,@function
2095 Camellia_cbc_encrypt:
2096 .L_Camellia_cbc_encrypt_begin:
2112 leal -127(%edx),%edi
2129 leal .LCamellia_SBOX-.L017pic_point(%ebp),%ebp
2139 jnz .L018prefetch_sbox
2149 leal (%eax,%edx,1),%edx
2151 testl $4294967280,%ecx
2168 call _x86_Camellia_encrypt
2185 testl $4294967280,%ecx
2214 je .L022enc_in_place
2217 jmp .L023enc_skip_in_place
2219 leal (%edi,%ecx,1),%edi
2220 .L023enc_skip_in_place:
2234 leal (%eax,%edx,1),%edx
2238 je .L024dec_in_place
2252 call _x86_Camellia_decrypt
2305 .L029dec_in_place_loop:
2320 call _x86_Camellia_decrypt
2351 jc .L030dec_in_place_partial
2353 jnz .L029dec_in_place_loop
2356 .L030dec_in_place_partial:
2359 leal (%edi,%ecx,1),%edi
2360 leal 16(%esi,%ecx,1),%esi
2372 .size Camellia_cbc_encrypt,.-.L_Camellia_cbc_encrypt_begin
2373 .byte 67,97,109,101,108,108,105,97,32,102,111,114,32,120,56,54
2374 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2375 .byte 115,108,46,111,114,103,62,0