The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/crypto/openssl/i386/cast-586.S

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 698fb6c63abcdae5102f5dba5f93f23f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.