Home | History | Annotate | Line # | Download | only in riscv64
      1  1.1  christos #include <machine/asm.h>
      2  1.1  christos .text
      3  1.1  christos .balign 16
      4  1.1  christos .globl AES_encrypt
      5  1.1  christos .type   AES_encrypt,@function
      6  1.1  christos AES_encrypt:
      7  1.1  christos     addi    sp,sp,-96
      8  1.1  christos     sd      x8,88(sp)
      9  1.1  christos     sd      x9,80(sp)
     10  1.1  christos     sd      x18,72(sp)
     11  1.1  christos     sd      x19,64(sp)
     12  1.1  christos     sd      x20,56(sp)
     13  1.1  christos     sd      x21,48(sp)
     14  1.1  christos     sd      x22,40(sp)
     15  1.1  christos     sd      x23,32(sp)
     16  1.1  christos     sd      x24,24(sp)
     17  1.1  christos     sd      x25,16(sp)
     18  1.1  christos     sd      x26,8(sp)
     19  1.1  christos     sd      x27,0(sp)
     20  1.1  christos 
     21  1.1  christos     # Load input to block cipher
     22  1.1  christos     ld      x6,0(x10)
     23  1.1  christos     ld      x8,8(x10)
     24  1.1  christos 
     25  1.1  christos 
     26  1.1  christos     # Load key
     27  1.1  christos     ld      x13,0(x12)
     28  1.1  christos     ld      x15,8(x12)
     29  1.1  christos 
     30  1.1  christos 
     31  1.1  christos     # Load number of rounds
     32  1.1  christos     lwu     x30,240(x12)
     33  1.1  christos 
     34  1.1  christos     # Load address of substitution table and wrap-around mask
     35  1.1  christos     la      x31,AES_Te0
     36  1.1  christos     li      x5,~0xFFF
     37  1.1  christos 
     38  1.1  christos     # y = n xor k, stored in Q0-Q3
     39  1.1  christos 
     40  1.1  christos     xor     x6,x6,x13
     41  1.1  christos     xor     x8,x8,x15
     42  1.1  christos     srli    x7,x6,32
     43  1.1  christos     srli    x9,x8,32
     44  1.1  christos 
     45  1.1  christos     # The main loop only executes the first N-1 rounds.
     46  1.1  christos     add     x30,x30,-1
     47  1.1  christos 
     48  1.1  christos     # Do Nr - 1 rounds (final round is special)
     49  1.1  christos 
     50  1.1  christos 1:
     51  1.1  christos 
     52  1.1  christos     slli    x13,x6,0+2
     53  1.1  christos     slli    x14,x7,0+2
     54  1.1  christos     slli    x15,x8,0+2
     55  1.1  christos     slli    x16,x9,0+2
     56  1.1  christos 
     57  1.1  christos     andi    x13,x13,0x3FC
     58  1.1  christos     andi    x14,x14,0x3FC
     59  1.1  christos     andi    x15,x15,0x3FC
     60  1.1  christos     andi    x16,x16,0x3FC
     61  1.1  christos 
     62  1.1  christos     # Index into table.
     63  1.1  christos     add     x29,x31,x13
     64  1.1  christos     lwu     x17,0(x29)
     65  1.1  christos     add     x29,x31,x14
     66  1.1  christos     lwu     x18,0(x29)
     67  1.1  christos     add     x29,x31,x15
     68  1.1  christos     lwu     x19,0(x29)
     69  1.1  christos     add     x29,x31,x16
     70  1.1  christos     lwu     x20,0(x29)
     71  1.1  christos 
     72  1.1  christos     add     x31,x31,1024
     73  1.1  christos 
     74  1.1  christos     srli    x13,x7,8-2
     75  1.1  christos     srli    x14,x8,8-2
     76  1.1  christos     srli    x15,x9,8-2
     77  1.1  christos     srli    x16,x6,8-2
     78  1.1  christos 
     79  1.1  christos     andi    x13,x13,0x3FC
     80  1.1  christos     andi    x14,x14,0x3FC
     81  1.1  christos     andi    x15,x15,0x3FC
     82  1.1  christos     andi    x16,x16,0x3FC
     83  1.1  christos 
     84  1.1  christos     # Index into table.
     85  1.1  christos     add     x29,x31,x13
     86  1.1  christos     lwu     x21,0(x29)
     87  1.1  christos     add     x29,x31,x14
     88  1.1  christos     lwu     x22,0(x29)
     89  1.1  christos     add     x29,x31,x15
     90  1.1  christos     lwu     x23,0(x29)
     91  1.1  christos     add     x29,x31,x16
     92  1.1  christos     lwu     x24,0(x29)
     93  1.1  christos 
     94  1.1  christos     add     x31,x31,1024
     95  1.1  christos 
     96  1.1  christos     srli    x13,x8,16-2
     97  1.1  christos     srli    x14,x9,16-2
     98  1.1  christos     srli    x15,x6,16-2
     99  1.1  christos     srli    x16,x7,16-2
    100  1.1  christos 
    101  1.1  christos     andi    x13,x13,0x3FC
    102  1.1  christos     andi    x14,x14,0x3FC
    103  1.1  christos     andi    x15,x15,0x3FC
    104  1.1  christos     andi    x16,x16,0x3FC
    105  1.1  christos 
    106  1.1  christos     # Index into table.
    107  1.1  christos     add     x29,x31,x13
    108  1.1  christos     lwu     x25,0(x29)
    109  1.1  christos     add     x29,x31,x14
    110  1.1  christos     lwu     x26,0(x29)
    111  1.1  christos     add     x29,x31,x15
    112  1.1  christos     lwu     x27,0(x29)
    113  1.1  christos     add     x29,x31,x16
    114  1.1  christos     lwu     x28,0(x29)
    115  1.1  christos 
    116  1.1  christos     add     x31,x31,1024
    117  1.1  christos 
    118  1.1  christos     srli    x13,x9,24-2
    119  1.1  christos     srli    x14,x6,24-2
    120  1.1  christos     srli    x15,x7,24-2
    121  1.1  christos     srli    x16,x8,24-2
    122  1.1  christos 
    123  1.1  christos     andi    x13,x13,0x3FC
    124  1.1  christos     andi    x14,x14,0x3FC
    125  1.1  christos     andi    x15,x15,0x3FC
    126  1.1  christos     andi    x16,x16,0x3FC
    127  1.1  christos 
    128  1.1  christos     # Index into table.
    129  1.1  christos     add     x29,x31,x13
    130  1.1  christos     lwu     x13,0(x29)
    131  1.1  christos     add     x29,x31,x14
    132  1.1  christos     lwu     x14,0(x29)
    133  1.1  christos     add     x29,x31,x15
    134  1.1  christos     lwu     x15,0(x29)
    135  1.1  christos     add     x29,x31,x16
    136  1.1  christos     lwu     x16,0(x29)
    137  1.1  christos 
    138  1.1  christos 
    139  1.1  christos     # Combine table lookups
    140  1.1  christos     xor     x17,x17,x21
    141  1.1  christos     xor     x18,x18,x22
    142  1.1  christos     xor     x19,x19,x23
    143  1.1  christos     xor     x20,x20,x24
    144  1.1  christos 
    145  1.1  christos     xor     x17,x17,x25
    146  1.1  christos     xor     x18,x18,x26
    147  1.1  christos     xor     x19,x19,x27
    148  1.1  christos     xor     x20,x20,x28
    149  1.1  christos 
    150  1.1  christos     xor     x13,x13,x17
    151  1.1  christos     xor     x14,x14,x18
    152  1.1  christos     xor     x15,x15,x19
    153  1.1  christos     xor     x16,x16,x20
    154  1.1  christos 
    155  1.1  christos     # Update key ptr to point to next key in schedule
    156  1.1  christos     add     x12,x12,16
    157  1.1  christos 
    158  1.1  christos     # Grab next key in schedule
    159  1.1  christos     ld      x17,0(x12)
    160  1.1  christos     ld      x19,8(x12)
    161  1.1  christos 
    162  1.1  christos     # Round TBL back to 4k boundary
    163  1.1  christos     and     x31,x31,x5
    164  1.1  christos 
    165  1.1  christos     add     x30,x30,-1
    166  1.1  christos 
    167  1.1  christos     xor     x6,x13,x17
    168  1.1  christos     xor     x8,x15,x19
    169  1.1  christos     srli    x18,x17,32
    170  1.1  christos     xor     x7,x14,x18
    171  1.1  christos     srli    x20,x19,32
    172  1.1  christos     xor     x9,x16,x20
    173  1.1  christos 
    174  1.1  christos     bgtz    x30,1b
    175  1.1  christos 
    176  1.1  christos #================================FINAL ROUND====================================
    177  1.1  christos 
    178  1.1  christos # In the final round, all lookup table accesses would appear as follows:
    179  1.1  christos #
    180  1.1  christos # ... compute index I0
    181  1.1  christos # add I0,TBL,T0
    182  1.1  christos # lbu T0,1(I0)
    183  1.1  christos #
    184  1.1  christos # Instead of indexing with a 1 offset, we can add 1 to the TBL pointer, and use
    185  1.1  christos # a 0 offset when indexing in the following code. This enables some instruction
    186  1.1  christos # fusion opportunities.
    187  1.1  christos 
    188  1.1  christos     add     x31,x31,1
    189  1.1  christos 
    190  1.1  christos     ld      x30,16(x12)
    191  1.1  christos     ld      x12,24(x12)
    192  1.1  christos 
    193  1.1  christos     slli    x13,x6,0+2
    194  1.1  christos     slli    x14,x7,0+2
    195  1.1  christos     slli    x15,x8,0+2
    196  1.1  christos     slli    x16,x9,0+2
    197  1.1  christos 
    198  1.1  christos     andi    x13,x13,0x3FC
    199  1.1  christos     andi    x14,x14,0x3FC
    200  1.1  christos     andi    x15,x15,0x3FC
    201  1.1  christos     andi    x16,x16,0x3FC
    202  1.1  christos 
    203  1.1  christos     # Index into table.
    204  1.1  christos     add     x29,x31,x13
    205  1.1  christos     lbu     x17,0(x29)
    206  1.1  christos     add     x29,x31,x14
    207  1.1  christos     lbu     x18,0(x29)
    208  1.1  christos     add     x29,x31,x15
    209  1.1  christos     lbu     x19,0(x29)
    210  1.1  christos     add     x29,x31,x16
    211  1.1  christos     lbu     x20,0(x29)
    212  1.1  christos 
    213  1.1  christos 
    214  1.1  christos     srli    x13,x7,8-2
    215  1.1  christos     srli    x14,x8,8-2
    216  1.1  christos     srli    x15,x9,8-2
    217  1.1  christos     srli    x16,x6,8-2
    218  1.1  christos 
    219  1.1  christos     andi    x13,x13,0x3FC
    220  1.1  christos     andi    x14,x14,0x3FC
    221  1.1  christos     andi    x15,x15,0x3FC
    222  1.1  christos     andi    x16,x16,0x3FC
    223  1.1  christos 
    224  1.1  christos     # Index into table.
    225  1.1  christos     add     x29,x31,x13
    226  1.1  christos     lbu     x21,0(x29)
    227  1.1  christos     add     x29,x31,x14
    228  1.1  christos     lbu     x22,0(x29)
    229  1.1  christos     add     x29,x31,x15
    230  1.1  christos     lbu     x23,0(x29)
    231  1.1  christos     add     x29,x31,x16
    232  1.1  christos     lbu     x24,0(x29)
    233  1.1  christos 
    234  1.1  christos 
    235  1.1  christos     srli    x13,x8,16-2
    236  1.1  christos     srli    x14,x9,16-2
    237  1.1  christos     srli    x15,x6,16-2
    238  1.1  christos     srli    x16,x7,16-2
    239  1.1  christos 
    240  1.1  christos     andi    x13,x13,0x3FC
    241  1.1  christos     andi    x14,x14,0x3FC
    242  1.1  christos     andi    x15,x15,0x3FC
    243  1.1  christos     andi    x16,x16,0x3FC
    244  1.1  christos 
    245  1.1  christos     # Index into table.
    246  1.1  christos     add     x29,x31,x13
    247  1.1  christos     lbu     x25,0(x29)
    248  1.1  christos     add     x29,x31,x14
    249  1.1  christos     lbu     x26,0(x29)
    250  1.1  christos     add     x29,x31,x15
    251  1.1  christos     lbu     x27,0(x29)
    252  1.1  christos     add     x29,x31,x16
    253  1.1  christos     lbu     x28,0(x29)
    254  1.1  christos 
    255  1.1  christos 
    256  1.1  christos     srli    x13,x9,24-2
    257  1.1  christos     srli    x14,x6,24-2
    258  1.1  christos     srli    x15,x7,24-2
    259  1.1  christos     srli    x16,x8,24-2
    260  1.1  christos 
    261  1.1  christos     andi    x13,x13,0x3FC
    262  1.1  christos     andi    x14,x14,0x3FC
    263  1.1  christos     andi    x15,x15,0x3FC
    264  1.1  christos     andi    x16,x16,0x3FC
    265  1.1  christos 
    266  1.1  christos     # Index into table.
    267  1.1  christos     add     x29,x31,x13
    268  1.1  christos     lbu     x13,0(x29)
    269  1.1  christos     add     x29,x31,x14
    270  1.1  christos     lbu     x14,0(x29)
    271  1.1  christos     add     x29,x31,x15
    272  1.1  christos     lbu     x15,0(x29)
    273  1.1  christos     add     x29,x31,x16
    274  1.1  christos     lbu     x16,0(x29)
    275  1.1  christos 
    276  1.1  christos 
    277  1.1  christos     # Combine table lookups into T0 and T2
    278  1.1  christos 
    279  1.1  christos     slli    x18,x18,32
    280  1.1  christos     slli    x20,x20,32
    281  1.1  christos     slli    x21,x21,8
    282  1.1  christos     slli    x22,x22,8+32
    283  1.1  christos     slli    x23,x23,8
    284  1.1  christos     slli    x24,x24,8+32
    285  1.1  christos     slli    x25,x25,16
    286  1.1  christos     slli    x26,x26,16+32
    287  1.1  christos     slli    x27,x27,16
    288  1.1  christos     slli    x28,x28,16+32
    289  1.1  christos 
    290  1.1  christos     slli    x13,x13,24
    291  1.1  christos     slli    x14,x14,24+32
    292  1.1  christos     slli    x15,x15,24
    293  1.1  christos     slli    x16,x16,24+32
    294  1.1  christos 
    295  1.1  christos     xor     x17,x17,x13
    296  1.1  christos     xor     x18,x18,x14
    297  1.1  christos     xor     x19,x19,x15
    298  1.1  christos     xor     x20,x20,x16
    299  1.1  christos 
    300  1.1  christos     xor     x21,x21,x25
    301  1.1  christos     xor     x22,x22,x26
    302  1.1  christos     xor     x23,x23,x27
    303  1.1  christos     xor     x24,x24,x28
    304  1.1  christos 
    305  1.1  christos     xor     x13,x17,x21
    306  1.1  christos     xor     x14,x18,x22
    307  1.1  christos     xor     x15,x19,x23
    308  1.1  christos     xor     x16,x20,x24
    309  1.1  christos 
    310  1.1  christos 
    311  1.1  christos     xor     x13,x13,x14
    312  1.1  christos     # T0 = [T1 T13 T9 T5 T0 T12 T8 T4]
    313  1.1  christos     xor     x13,x13,x30 # XOR in key
    314  1.1  christos 
    315  1.1  christos     xor     x15,x15,x16
    316  1.1  christos     # T2 = [T3 T15 T11 T7 T2 T14 T10 T6]
    317  1.1  christos     xor     x15,x15,x12 # XOR in key
    318  1.1  christos 
    319  1.1  christos     sd      x13,0(x11)
    320  1.1  christos     sd      x15,8(x11)
    321  1.1  christos 
    322  1.1  christos     # Pop registers and return
    323  1.1  christos 2:
    324  1.1  christos     ld      x8,88(sp)
    325  1.1  christos     ld      x9,80(sp)
    326  1.1  christos     ld      x18,72(sp)
    327  1.1  christos     ld      x19,64(sp)
    328  1.1  christos     ld      x20,56(sp)
    329  1.1  christos     ld      x21,48(sp)
    330  1.1  christos     ld      x22,40(sp)
    331  1.1  christos     ld      x23,32(sp)
    332  1.1  christos     ld      x24,24(sp)
    333  1.1  christos     ld      x25,16(sp)
    334  1.1  christos     ld      x26,8(sp)
    335  1.1  christos     ld      x27,0(sp)
    336  1.1  christos     addi    sp,sp,96
    337  1.1  christos     ret
    338  1.1  christos .text
    339  1.1  christos .balign 16
    340  1.1  christos .globl AES_decrypt
    341  1.1  christos .type   AES_decrypt,@function
    342  1.1  christos AES_decrypt:
    343  1.1  christos     addi    sp,sp,-96
    344  1.1  christos     sd      x8,88(sp)
    345  1.1  christos     sd      x9,80(sp)
    346  1.1  christos     sd      x18,72(sp)
    347  1.1  christos     sd      x19,64(sp)
    348  1.1  christos     sd      x20,56(sp)
    349  1.1  christos     sd      x21,48(sp)
    350  1.1  christos     sd      x22,40(sp)
    351  1.1  christos     sd      x23,32(sp)
    352  1.1  christos     sd      x24,24(sp)
    353  1.1  christos     sd      x25,16(sp)
    354  1.1  christos     sd      x26,8(sp)
    355  1.1  christos     sd      x27,0(sp)
    356  1.1  christos 
    357  1.1  christos     # Load input to block cipher
    358  1.1  christos     ld      x6,0(x10)
    359  1.1  christos     ld      x8,8(x10)
    360  1.1  christos 
    361  1.1  christos     # Load key
    362  1.1  christos     # Note that key is assumed in BE byte order
    363  1.1  christos     # (This routine was written against a key scheduling implementation that
    364  1.1  christos     #  placed keys in BE byte order.)
    365  1.1  christos     ld      x13,0(x12)
    366  1.1  christos     ld      x15,8(x12)
    367  1.1  christos 
    368  1.1  christos     # Load number of rounds
    369  1.1  christos     lwu     x30,240(x12)
    370  1.1  christos 
    371  1.1  christos     # Load address of substitution table and wrap-around mask
    372  1.1  christos     la      x31,AES_Td0
    373  1.1  christos     li      x5,~0xFFF
    374  1.1  christos 
    375  1.1  christos     xor     x6,x6,x13
    376  1.1  christos     xor     x8,x8,x15
    377  1.1  christos     srli    x7,x6,32
    378  1.1  christos     srli    x9,x8,32
    379  1.1  christos 
    380  1.1  christos     # The main loop only executes the first N-1 rounds.
    381  1.1  christos     add     x30,x30,-1
    382  1.1  christos 
    383  1.1  christos     # Do Nr - 1 rounds (final round is special)
    384  1.1  christos 1:
    385  1.1  christos 
    386  1.1  christos     slli    x13,x6,0+2
    387  1.1  christos     slli    x14,x7,0+2
    388  1.1  christos     slli    x15,x8,0+2
    389  1.1  christos     slli    x16,x9,0+2
    390  1.1  christos 
    391  1.1  christos     andi    x13,x13,0x3FC
    392  1.1  christos     andi    x14,x14,0x3FC
    393  1.1  christos     andi    x15,x15,0x3FC
    394  1.1  christos     andi    x16,x16,0x3FC
    395  1.1  christos 
    396  1.1  christos     # Index into table.
    397  1.1  christos     add     x29,x31,x13
    398  1.1  christos     lwu     x17,0(x29)
    399  1.1  christos     add     x29,x31,x14
    400  1.1  christos     lwu     x18,0(x29)
    401  1.1  christos     add     x29,x31,x15
    402  1.1  christos     lwu     x19,0(x29)
    403  1.1  christos     add     x29,x31,x16
    404  1.1  christos     lwu     x20,0(x29)
    405  1.1  christos 
    406  1.1  christos     add     x31,x31,1024
    407  1.1  christos 
    408  1.1  christos     srli    x13,x9,8-2
    409  1.1  christos     srli    x14,x6,8-2
    410  1.1  christos     srli    x15,x7,8-2
    411  1.1  christos     srli    x16,x8,8-2
    412  1.1  christos 
    413  1.1  christos     andi    x13,x13,0x3FC
    414  1.1  christos     andi    x14,x14,0x3FC
    415  1.1  christos     andi    x15,x15,0x3FC
    416  1.1  christos     andi    x16,x16,0x3FC
    417  1.1  christos 
    418  1.1  christos     # Index into table.
    419  1.1  christos     add     x29,x31,x13
    420  1.1  christos     lwu     x21,0(x29)
    421  1.1  christos     add     x29,x31,x14
    422  1.1  christos     lwu     x22,0(x29)
    423  1.1  christos     add     x29,x31,x15
    424  1.1  christos     lwu     x23,0(x29)
    425  1.1  christos     add     x29,x31,x16
    426  1.1  christos     lwu     x24,0(x29)
    427  1.1  christos 
    428  1.1  christos     add     x31,x31,1024
    429  1.1  christos 
    430  1.1  christos     srli    x13,x8,16-2
    431  1.1  christos     srli    x14,x9,16-2
    432  1.1  christos     srli    x15,x6,16-2
    433  1.1  christos     srli    x16,x7,16-2
    434  1.1  christos 
    435  1.1  christos     andi    x13,x13,0x3FC
    436  1.1  christos     andi    x14,x14,0x3FC
    437  1.1  christos     andi    x15,x15,0x3FC
    438  1.1  christos     andi    x16,x16,0x3FC
    439  1.1  christos 
    440  1.1  christos     # Index into table.
    441  1.1  christos     add     x29,x31,x13
    442  1.1  christos     lwu     x25,0(x29)
    443  1.1  christos     add     x29,x31,x14
    444  1.1  christos     lwu     x26,0(x29)
    445  1.1  christos     add     x29,x31,x15
    446  1.1  christos     lwu     x27,0(x29)
    447  1.1  christos     add     x29,x31,x16
    448  1.1  christos     lwu     x28,0(x29)
    449  1.1  christos 
    450  1.1  christos     add     x31,x31,1024
    451  1.1  christos 
    452  1.1  christos     srli    x13,x7,24-2
    453  1.1  christos     srli    x14,x8,24-2
    454  1.1  christos     srli    x15,x9,24-2
    455  1.1  christos     srli    x16,x6,24-2
    456  1.1  christos 
    457  1.1  christos     andi    x13,x13,0x3FC
    458  1.1  christos     andi    x14,x14,0x3FC
    459  1.1  christos     andi    x15,x15,0x3FC
    460  1.1  christos     andi    x16,x16,0x3FC
    461  1.1  christos 
    462  1.1  christos     # Index into table.
    463  1.1  christos     add     x29,x31,x13
    464  1.1  christos     lwu     x13,0(x29)
    465  1.1  christos     add     x29,x31,x14
    466  1.1  christos     lwu     x14,0(x29)
    467  1.1  christos     add     x29,x31,x15
    468  1.1  christos     lwu     x15,0(x29)
    469  1.1  christos     add     x29,x31,x16
    470  1.1  christos     lwu     x16,0(x29)
    471  1.1  christos 
    472  1.1  christos     xor     x17,x17,x21
    473  1.1  christos     xor     x18,x18,x22
    474  1.1  christos     xor     x19,x19,x23
    475  1.1  christos     xor     x20,x20,x24
    476  1.1  christos 
    477  1.1  christos     xor     x17,x17,x25
    478  1.1  christos     xor     x18,x18,x26
    479  1.1  christos     xor     x19,x19,x27
    480  1.1  christos     xor     x20,x20,x28
    481  1.1  christos 
    482  1.1  christos     xor     x13,x13,x17
    483  1.1  christos     xor     x14,x14,x18
    484  1.1  christos     xor     x15,x15,x19
    485  1.1  christos     xor     x16,x16,x20
    486  1.1  christos 
    487  1.1  christos     # Update key ptr to point to next key in schedule
    488  1.1  christos     add     x12,x12,16
    489  1.1  christos 
    490  1.1  christos     # Grab next key in schedule
    491  1.1  christos     ld      x17,0(x12)
    492  1.1  christos     ld      x19,8(x12)
    493  1.1  christos 
    494  1.1  christos     # Round TBL back to 4k boundary
    495  1.1  christos     and     x31,x31,x5
    496  1.1  christos 
    497  1.1  christos     add     x30,x30,-1
    498  1.1  christos 
    499  1.1  christos     xor     x6,x13,x17
    500  1.1  christos     xor     x8,x15,x19
    501  1.1  christos     srli    x18,x17,32
    502  1.1  christos     xor     x7,x14,x18
    503  1.1  christos     srli    x20,x19,32
    504  1.1  christos     xor     x9,x16,x20
    505  1.1  christos 
    506  1.1  christos     bgtz    x30,1b
    507  1.1  christos 
    508  1.1  christos #================================FINAL ROUND====================================
    509  1.1  christos 
    510  1.1  christos     la      x31,AES_Td4
    511  1.1  christos 
    512  1.1  christos     # K0,K1 are aliases for loopcntr,KEYP
    513  1.1  christos     # As these registers will no longer be used after these loads, reuse them
    514  1.1  christos     # to store the final key in the schedule.
    515  1.1  christos     ld      x30,16(x12)
    516  1.1  christos     ld      x12,24(x12)
    517  1.1  christos     srli    x14,x9,8
    518  1.1  christos     srli    x15,x8,16
    519  1.1  christos     srli    x16,x7,24
    520  1.1  christos 
    521  1.1  christos     andi    x13,x6,0xFF
    522  1.1  christos     andi    x14,x14,0xFF
    523  1.1  christos     andi    x15,x15,0xFF
    524  1.1  christos     andi    x16,x16,0xFF
    525  1.1  christos 
    526  1.1  christos     add     x29,x31,x13
    527  1.1  christos     lbu     x17,0(x29)
    528  1.1  christos     add     x29,x31,x14
    529  1.1  christos     lbu     x18,0(x29)
    530  1.1  christos     add     x29,x31,x15
    531  1.1  christos     lbu     x19,0(x29)
    532  1.1  christos     add     x29,x31,x16
    533  1.1  christos     lbu     x20,0(x29)
    534  1.1  christos 
    535  1.1  christos     srli    x14,x6,8
    536  1.1  christos     srli    x15,x9,16
    537  1.1  christos     srli    x16,x8,24
    538  1.1  christos 
    539  1.1  christos     andi    x13,x7,0xFF
    540  1.1  christos     andi    x14,x14,0xFF
    541  1.1  christos     andi    x15,x15,0xFF
    542  1.1  christos     andi    x16,x16,0xFF
    543  1.1  christos 
    544  1.1  christos     add     x29,x31,x13
    545  1.1  christos     lbu     x21,0(x29)
    546  1.1  christos     add     x29,x31,x14
    547  1.1  christos     lbu     x22,0(x29)
    548  1.1  christos     add     x29,x31,x15
    549  1.1  christos     lbu     x23,0(x29)
    550  1.1  christos     add     x29,x31,x16
    551  1.1  christos     lbu     x24,0(x29)
    552  1.1  christos 
    553  1.1  christos     srli    x14,x7,8
    554  1.1  christos     srli    x15,x6,16
    555  1.1  christos     srli    x16,x9,24
    556  1.1  christos 
    557  1.1  christos     andi    x13,x8,0xFF
    558  1.1  christos     andi    x14,x14,0xFF
    559  1.1  christos     andi    x15,x15,0xFF
    560  1.1  christos     andi    x16,x16,0xFF
    561  1.1  christos 
    562  1.1  christos     add     x29,x31,x13
    563  1.1  christos     lbu     x25,0(x29)
    564  1.1  christos     add     x29,x31,x14
    565  1.1  christos     lbu     x26,0(x29)
    566  1.1  christos     add     x29,x31,x15
    567  1.1  christos     lbu     x27,0(x29)
    568  1.1  christos     add     x29,x31,x16
    569  1.1  christos     lbu     x28,0(x29)
    570  1.1  christos 
    571  1.1  christos     srli    x14,x8,8
    572  1.1  christos     srli    x15,x7,16
    573  1.1  christos     srli    x16,x6,24
    574  1.1  christos 
    575  1.1  christos     andi    x13,x9,0xFF
    576  1.1  christos     andi    x14,x14,0xFF
    577  1.1  christos     andi    x15,x15,0xFF
    578  1.1  christos     andi    x16,x16,0xFF
    579  1.1  christos 
    580  1.1  christos     add     x29,x31,x13
    581  1.1  christos     lbu     x13,0(x29)
    582  1.1  christos     add     x29,x31,x14
    583  1.1  christos     lbu     x14,0(x29)
    584  1.1  christos     add     x29,x31,x15
    585  1.1  christos     lbu     x15,0(x29)
    586  1.1  christos     add     x29,x31,x16
    587  1.1  christos     lbu     x16,0(x29)
    588  1.1  christos 
    589  1.1  christos 
    590  1.1  christos     # T0-T15 now contain the decrypted block, minus xoring with the final round
    591  1.1  christos     # key. We pack T0-T15 into the two 64-bit registers T0 and T4, then xor
    592  1.1  christos     # in the key and store.
    593  1.1  christos 
    594  1.1  christos     slli    x18,x18,8
    595  1.1  christos     slli    x19,x19,16
    596  1.1  christos     slli    x20,x20,24
    597  1.1  christos     slli    x21,x21,32
    598  1.1  christos     slli    x22,x22,8+32
    599  1.1  christos     slli    x23,x23,16+32
    600  1.1  christos     slli    x24,x24,32+24
    601  1.1  christos     slli    x26,x26,8
    602  1.1  christos     slli    x27,x27,16
    603  1.1  christos     slli    x28,x28,24
    604  1.1  christos     slli    x13,x13,32
    605  1.1  christos     slli    x14,x14,8+32
    606  1.1  christos     slli    x15,x15,16+32
    607  1.1  christos     slli    x16,x16,24+32
    608  1.1  christos 
    609  1.1  christos     xor     x17,x17,x18
    610  1.1  christos     xor     x19,x19,x20
    611  1.1  christos     xor     x21,x21,x22
    612  1.1  christos     xor     x23,x23,x24
    613  1.1  christos 
    614  1.1  christos     xor     x25,x25,x26
    615  1.1  christos     xor     x27,x27,x28
    616  1.1  christos     xor     x13,x13,x14
    617  1.1  christos     xor     x15,x15,x16
    618  1.1  christos 
    619  1.1  christos     xor     x17,x17,x19
    620  1.1  christos     xor     x21,x21,x23
    621  1.1  christos     xor     x25,x25,x27
    622  1.1  christos     xor     x13,x13,x15
    623  1.1  christos 
    624  1.1  christos     xor     x17,x17,x21
    625  1.1  christos     # T4 = [T11 T10 T9 T8   T7 T6 T5 T4]
    626  1.1  christos     xor     x17,x17,x30 # xor in key
    627  1.1  christos 
    628  1.1  christos     xor     x13,x13,x25
    629  1.1  christos     # T0 = [T3 T2 T1 T0   T15 T14 T13 T12]
    630  1.1  christos     xor     x13,x13,x12 # xor in key
    631  1.1  christos 
    632  1.1  christos     sd      x17,0(x11)
    633  1.1  christos     sd      x13,8(x11)
    634  1.1  christos 
    635  1.1  christos     # Pop registers and return
    636  1.1  christos     ld      x8,88(sp)
    637  1.1  christos     ld      x9,80(sp)
    638  1.1  christos     ld      x18,72(sp)
    639  1.1  christos     ld      x19,64(sp)
    640  1.1  christos     ld      x20,56(sp)
    641  1.1  christos     ld      x21,48(sp)
    642  1.1  christos     ld      x22,40(sp)
    643  1.1  christos     ld      x23,32(sp)
    644  1.1  christos     ld      x24,24(sp)
    645  1.1  christos     ld      x25,16(sp)
    646  1.1  christos     ld      x26,8(sp)
    647  1.1  christos     ld      x27,0(sp)
    648  1.1  christos     addi    sp,sp,96
    649  1.1  christos     ret
    650  1.1  christos .text
    651  1.1  christos .balign 16
    652  1.1  christos .globl AES_set_encrypt_key
    653  1.1  christos .type   AES_set_encrypt_key,@function
    654  1.1  christos AES_set_encrypt_key:
    655  1.1  christos     addi    sp,sp,-48
    656  1.1  christos     sd      x8,32(sp)
    657  1.1  christos     sd      x9,24(sp)
    658  1.1  christos     sd      x18,16(sp)
    659  1.1  christos     sd      x19,8(sp)
    660  1.1  christos     sd      x20,0(sp)
    661  1.3  christos     beqz    x10,1f    # if (!userKey || !key) return -1;
    662  1.3  christos     beqz    x12,1f
    663  1.3  christos     j       2f
    664  1.3  christos 1:
    665  1.1  christos     li      a0,-1
    666  1.1  christos     ret
    667  1.3  christos 2:
    668  1.1  christos     la      x9,AES_rcon
    669  1.1  christos     la      x20,AES_Te0
    670  1.1  christos     li      x28,128
    671  1.1  christos     li      x29,192
    672  1.1  christos     li      x30,256
    673  1.1  christos 
    674  1.1  christos     # Determine number of rounds from key size in bits
    675  1.1  christos     bne     x11,x28,1f
    676  1.1  christos     li      x13,10          # key->rounds = 10 if bits == 128
    677  1.1  christos     j       3f
    678  1.1  christos 1:
    679  1.1  christos     bne     x11,x29,2f
    680  1.1  christos     li      x13,12          # key->rounds = 12 if bits == 192
    681  1.1  christos     j       3f
    682  1.1  christos 2:
    683  1.1  christos     li      x13,14          # key->rounds = 14 if bits == 256
    684  1.1  christos     beq     x11,x30,3f
    685  1.1  christos     li      a0,-2           # If bits != 128, 192, or 256, return -2
    686  1.1  christos     j       5f
    687  1.1  christos 3:
    688  1.1  christos     ld      x6,0(x10)
    689  1.1  christos     ld      x8,8(x10)
    690  1.1  christos 
    691  1.1  christos     sw      x13,240(x12)
    692  1.1  christos 
    693  1.1  christos     li      x19,0     # == i*4
    694  1.1  christos 
    695  1.1  christos     srli    x7,x6,32
    696  1.1  christos     srli    x13,x8,32
    697  1.1  christos 
    698  1.1  christos     sd      x6,0(x12)
    699  1.1  christos     sd      x8,8(x12)
    700  1.1  christos 
    701  1.2  christos     # bits == 128
    702  1.1  christos     # jump into loop
    703  1.1  christos     beq     x11,x28,1f
    704  1.1  christos 
    705  1.1  christos     ld      x14,16(x10)
    706  1.1  christos     srli    x15,x14,32
    707  1.1  christos     sd      x14,16(x12)
    708  1.1  christos 
    709  1.2  christos     # bits == 192
    710  1.1  christos     # jump into loop
    711  1.1  christos     beq     x11,x29,2f
    712  1.1  christos 
    713  1.1  christos     ld      x16,24(x10)
    714  1.1  christos     srli    x17,x16,32
    715  1.1  christos     sd      x16,24(x12)
    716  1.1  christos 
    717  1.1  christos     # bits == 256
    718  1.1  christos     j       3f
    719  1.1  christos 1:
    720  1.1  christos     addi    x12,x12,16
    721  1.1  christos 1:
    722  1.1  christos 
    723  1.1  christos     # Round TBL back to 4k boundary
    724  1.1  christos     srli    x20,x20,12
    725  1.1  christos     slli    x20,x20,12
    726  1.1  christos 
    727  1.1  christos     # Offset by 1 byte, since Te0[x] = S[x].[03, 01, 01, 02]
    728  1.1  christos     # So that, later on, a 0-offset lbu yields S[x].01 == S[x]
    729  1.1  christos     addi    x20,x20,1
    730  1.1  christos     srli    x14,x13,8-2
    731  1.1  christos     srli    x15,x13,16-2
    732  1.1  christos     srli    x16,x13,24-2
    733  1.1  christos     slli    x17,x13,2-0
    734  1.1  christos 
    735  1.1  christos     andi    x14,x14,0x3FC
    736  1.1  christos     andi    x15,x15,0x3FC
    737  1.1  christos     andi    x16,x16,0x3FC
    738  1.1  christos     andi    x17,x17,0x3FC
    739  1.1  christos 
    740  1.1  christos     # Index into tables Te0-Te3 (spread access across tables to help bring
    741  1.1  christos     # them into cache for later)
    742  1.1  christos 
    743  1.1  christos     add     x18,x20,x14
    744  1.1  christos     lbu     x14,0(x18)
    745  1.1  christos 
    746  1.1  christos     add     x20,x20,1025      # yes, 1025
    747  1.1  christos     add     x18,x20,x15
    748  1.1  christos     lbu     x15,0(x18)
    749  1.1  christos 
    750  1.1  christos     add     x20,x20,1025
    751  1.1  christos     add     x18,x20,x16
    752  1.1  christos     lbu     x16,0(x18)
    753  1.1  christos 
    754  1.1  christos     add     x20,x20,1022
    755  1.1  christos     add     x18,x20,x17
    756  1.1  christos     lbu     x17,0(x18)
    757  1.1  christos 
    758  1.1  christos     slli    x15,x15,8
    759  1.1  christos     slli    x16,x16,16
    760  1.1  christos     slli    x17,x17,24
    761  1.1  christos 
    762  1.1  christos     xor     x14,x14,x15
    763  1.1  christos     xor     x16,x16,x17
    764  1.1  christos     xor     x14,x14,x16
    765  1.1  christos     add     x15,x9,x19 # rcon[i] (i increments by 4 so it can double as
    766  1.1  christos                                 # a word offset)
    767  1.1  christos     lwu     x15,0(x15)
    768  1.1  christos 
    769  1.1  christos     addi    x19,x19,4
    770  1.1  christos     li      x18,10*4
    771  1.1  christos 
    772  1.1  christos     xor     x6,x6,x14
    773  1.1  christos     xor     x6,x6,x15
    774  1.1  christos     xor     x7,x7,x6
    775  1.1  christos     xor     x8,x8,x7
    776  1.1  christos     xor     x13,x13,x8
    777  1.1  christos 
    778  1.1  christos     sw      x6,0(x12)
    779  1.1  christos     sw      x7,4(x12)
    780  1.1  christos     sw      x8,8(x12)
    781  1.1  christos     sw      x13,12(x12)
    782  1.1  christos 
    783  1.1  christos     addi    x12,x12,16
    784  1.1  christos 
    785  1.1  christos 
    786  1.1  christos     bne     x19,x18,1b
    787  1.1  christos     j       4f
    788  1.1  christos 2:
    789  1.1  christos     addi    x12,x12,24
    790  1.1  christos 2:
    791  1.1  christos 
    792  1.1  christos     # Round TBL back to 4k boundary
    793  1.1  christos     srli    x20,x20,12
    794  1.1  christos     slli    x20,x20,12
    795  1.1  christos 
    796  1.1  christos     # Offset by 1 byte, since Te0[x] = S[x].[03, 01, 01, 02]
    797  1.1  christos     # So that, later on, a 0-offset lbu yields S[x].01 == S[x]
    798  1.1  christos     addi    x20,x20,1
    799  1.1  christos     srli    x16,x15,8-2
    800  1.1  christos     srli    x17,x15,16-2
    801  1.1  christos     srli    x28,x15,24-2
    802  1.1  christos     slli    x29,x15,2-0
    803  1.1  christos 
    804  1.1  christos     andi    x16,x16,0x3FC
    805  1.1  christos     andi    x17,x17,0x3FC
    806  1.1  christos     andi    x28,x28,0x3FC
    807  1.1  christos     andi    x29,x29,0x3FC
    808  1.1  christos 
    809  1.1  christos     # Index into tables Te0-Te3 (spread access across tables to help bring
    810  1.1  christos     # them into cache for later)
    811  1.1  christos 
    812  1.1  christos     add     x18,x20,x16
    813  1.1  christos     lbu     x16,0(x18)
    814  1.1  christos 
    815  1.1  christos     add     x20,x20,1025      # yes, 1025
    816  1.1  christos     add     x18,x20,x17
    817  1.1  christos     lbu     x17,0(x18)
    818  1.1  christos 
    819  1.1  christos     add     x20,x20,1025
    820  1.1  christos     add     x18,x20,x28
    821  1.1  christos     lbu     x28,0(x18)
    822  1.1  christos 
    823  1.1  christos     add     x20,x20,1022
    824  1.1  christos     add     x18,x20,x29
    825  1.1  christos     lbu     x29,0(x18)
    826  1.1  christos 
    827  1.1  christos     slli    x17,x17,8
    828  1.1  christos     slli    x28,x28,16
    829  1.1  christos     slli    x29,x29,24
    830  1.1  christos 
    831  1.1  christos     xor     x16,x16,x17
    832  1.1  christos     xor     x28,x28,x29
    833  1.1  christos     xor     x16,x16,x28
    834  1.1  christos     add     x17,x9,x19 # rcon[i] (i increments by 4 so it can double as
    835  1.1  christos                                 # a word offset)
    836  1.1  christos     lwu     x17,0(x17)
    837  1.1  christos 
    838  1.1  christos     addi    x19,x19,4
    839  1.1  christos     li      x18,8*4
    840  1.1  christos 
    841  1.1  christos     xor     x6,x6,x16
    842  1.1  christos     xor     x6,x6,x17
    843  1.1  christos     xor     x7,x7,x6
    844  1.1  christos     xor     x8,x8,x7
    845  1.1  christos     xor     x13,x13,x8
    846  1.1  christos 
    847  1.1  christos     sw      x6,0(x12)
    848  1.1  christos     sw      x7,4(x12)
    849  1.1  christos     sw      x8,8(x12)
    850  1.1  christos     sw      x13,12(x12)
    851  1.1  christos 
    852  1.1  christos     beq     x19,x18,4f
    853  1.1  christos 
    854  1.1  christos     xor     x14,x14,x13
    855  1.1  christos     xor     x15,x15,x14
    856  1.1  christos     sw      x14,16(x12)
    857  1.1  christos     sw      x15,20(x12)
    858  1.1  christos 
    859  1.1  christos     addi    x12,x12,24
    860  1.1  christos     j       2b
    861  1.1  christos 3:
    862  1.1  christos     addi    x12,x12,32
    863  1.1  christos 3:
    864  1.1  christos 
    865  1.1  christos     # Round TBL back to 4k boundary
    866  1.1  christos     srli    x20,x20,12
    867  1.1  christos     slli    x20,x20,12
    868  1.1  christos 
    869  1.1  christos     # Offset by 1 byte, since Te0[x] = S[x].[03, 01, 01, 02]
    870  1.1  christos     # So that, later on, a 0-offset lbu yields S[x].01 == S[x]
    871  1.1  christos     addi    x20,x20,1
    872  1.1  christos     srli    x28,x17,8-2
    873  1.1  christos     srli    x29,x17,16-2
    874  1.1  christos     srli    x30,x17,24-2
    875  1.1  christos     slli    x31,x17,2-0
    876  1.1  christos 
    877  1.1  christos     andi    x28,x28,0x3FC
    878  1.1  christos     andi    x29,x29,0x3FC
    879  1.1  christos     andi    x30,x30,0x3FC
    880  1.1  christos     andi    x31,x31,0x3FC
    881  1.1  christos 
    882  1.1  christos     # Index into tables Te0-Te3 (spread access across tables to help bring
    883  1.1  christos     # them into cache for later)
    884  1.1  christos 
    885  1.1  christos     add     x18,x20,x28
    886  1.1  christos     lbu     x28,0(x18)
    887  1.1  christos 
    888  1.1  christos     add     x20,x20,1025      # yes, 1025
    889  1.1  christos     add     x18,x20,x29
    890  1.1  christos     lbu     x29,0(x18)
    891  1.1  christos 
    892  1.1  christos     add     x20,x20,1025
    893  1.1  christos     add     x18,x20,x30
    894  1.1  christos     lbu     x30,0(x18)
    895  1.1  christos 
    896  1.1  christos     add     x20,x20,1022
    897  1.1  christos     add     x18,x20,x31
    898  1.1  christos     lbu     x31,0(x18)
    899  1.1  christos 
    900  1.1  christos     slli    x29,x29,8
    901  1.1  christos     slli    x30,x30,16
    902  1.1  christos     slli    x31,x31,24
    903  1.1  christos 
    904  1.1  christos     xor     x28,x28,x29
    905  1.1  christos     xor     x30,x30,x31
    906  1.1  christos     xor     x28,x28,x30
    907  1.1  christos     add     x29,x9,x19 # rcon[i] (i increments by 4 so it can double as
    908  1.1  christos                                 # a word offset)
    909  1.1  christos     lwu     x29,0(x29)
    910  1.1  christos 
    911  1.1  christos     addi    x19,x19,4
    912  1.1  christos     li      x18,7*4
    913  1.1  christos 
    914  1.1  christos     xor     x6,x6,x28
    915  1.1  christos     xor     x6,x6,x29
    916  1.1  christos     xor     x7,x7,x6
    917  1.1  christos     xor     x8,x8,x7
    918  1.1  christos     xor     x13,x13,x8
    919  1.1  christos 
    920  1.1  christos     sw      x6,0(x12)
    921  1.1  christos     sw      x7,4(x12)
    922  1.1  christos     sw      x8,8(x12)
    923  1.1  christos     sw      x13,12(x12)
    924  1.1  christos 
    925  1.1  christos     beq     x19,x18,4f
    926  1.1  christos 
    927  1.1  christos     # Round TBL back to 4k boundary
    928  1.1  christos     srli    x20,x20,12
    929  1.1  christos     slli    x20,x20,12
    930  1.1  christos 
    931  1.1  christos     # Offset by 1 byte, since Te0[x] = S[x].[03, 01, 01, 02]
    932  1.1  christos     # So that, later on, a 0-offset lbu yields S[x].01 == S[x]
    933  1.1  christos     addi    x20,x20,1
    934  1.1  christos     slli    x28,x13,2-0
    935  1.1  christos     srli    x29,x13,8-2
    936  1.1  christos     srli    x30,x13,16-2
    937  1.1  christos     srli    x31,x13,24-2
    938  1.1  christos 
    939  1.1  christos     andi    x28,x28,0x3FC
    940  1.1  christos     andi    x29,x29,0x3FC
    941  1.1  christos     andi    x30,x30,0x3FC
    942  1.1  christos     andi    x31,x31,0x3FC
    943  1.1  christos 
    944  1.1  christos     # Index into tables Te0-Te3 (spread access across tables to help bring
    945  1.1  christos     # them into cache for later)
    946  1.1  christos 
    947  1.1  christos     add     x18,x20,x28
    948  1.1  christos     lbu     x28,0(x18)
    949  1.1  christos 
    950  1.1  christos     add     x20,x20,1025      # yes, 1025
    951  1.1  christos     add     x18,x20,x29
    952  1.1  christos     lbu     x29,0(x18)
    953  1.1  christos 
    954  1.1  christos     add     x20,x20,1025
    955  1.1  christos     add     x18,x20,x30
    956  1.1  christos     lbu     x30,0(x18)
    957  1.1  christos 
    958  1.1  christos     add     x20,x20,1022
    959  1.1  christos     add     x18,x20,x31
    960  1.1  christos     lbu     x31,0(x18)
    961  1.1  christos 
    962  1.1  christos     slli    x29,x29,8
    963  1.1  christos     slli    x30,x30,16
    964  1.1  christos     slli    x31,x31,24
    965  1.1  christos 
    966  1.1  christos     xor     x28,x28,x29
    967  1.1  christos     xor     x30,x30,x31
    968  1.1  christos     xor     x28,x28,x30
    969  1.1  christos     xor     x14,x14,x28
    970  1.1  christos     xor     x15,x15,x14
    971  1.1  christos     xor     x16,x16,x15
    972  1.1  christos     xor     x17,x17,x16
    973  1.1  christos     sw      x14,16(x12)
    974  1.1  christos     sw      x15,20(x12)
    975  1.1  christos     sw      x16,24(x12)
    976  1.1  christos     sw      x17,28(x12)
    977  1.1  christos 
    978  1.1  christos     addi    x12,x12,32
    979  1.1  christos     j       3b
    980  1.1  christos 
    981  1.1  christos 4:  # return 0
    982  1.1  christos     li      a0,0
    983  1.1  christos 5:  # return a0
    984  1.1  christos     ld      x8,32(sp)
    985  1.1  christos     ld      x9,24(sp)
    986  1.1  christos     ld      x18,16(sp)
    987  1.1  christos     ld      x19,8(sp)
    988  1.1  christos     ld      x20,0(sp)
    989  1.1  christos     addi    sp,sp,48
    990  1.1  christos     ret
    991  1.1  christos .text
    992  1.1  christos .balign 16
    993  1.1  christos .globl AES_set_decrypt_key
    994  1.1  christos .type   AES_set_decrypt_key,@function
    995  1.1  christos AES_set_decrypt_key:
    996  1.1  christos     # Call AES_set_encrypt_key first
    997  1.1  christos     addi    sp,sp,-16
    998  1.1  christos     sd      x12,0(sp) # We need to hold onto this!
    999  1.1  christos     sd      ra,8(sp)
   1000  1.2  christos     call    AES_set_encrypt_key
   1001  1.1  christos     ld      x12,0(sp)
   1002  1.1  christos     ld      ra,8(sp)
   1003  1.1  christos     addi    sp,sp,16
   1004  1.1  christos     bgez    a0,1f   # If error, return error
   1005  1.1  christos     ret
   1006  1.1  christos 1:
   1007  1.1  christos     addi    sp,sp,-48
   1008  1.1  christos     sd      x8,40(sp)
   1009  1.1  christos     sd      x9,32(sp)
   1010  1.1  christos     sd      x18,24(sp)
   1011  1.1  christos     sd      x19,16(sp)
   1012  1.1  christos     sd      x20,8(sp)
   1013  1.1  christos     sd      x21,0(sp)
   1014  1.1  christos 
   1015  1.1  christos     li      x13,0
   1016  1.1  christos     lwu     x17,240(x12)
   1017  1.1  christos     slli    x14,x17,4
   1018  1.1  christos     # Invert order of round keys
   1019  1.1  christos 1:
   1020  1.1  christos     add     x19,x12,x13
   1021  1.1  christos     ld      x6,0(x19)
   1022  1.1  christos     ld      x7,8(x19)
   1023  1.1  christos     add     x18,x12,x14
   1024  1.1  christos     ld      x8,0(x18)
   1025  1.1  christos     ld      x9,8(x18)
   1026  1.1  christos     addi    x13,x13,16
   1027  1.1  christos     addi    x14,x14,-16
   1028  1.1  christos     sd      x6,0(x18)
   1029  1.1  christos     sd      x7,8(x18)
   1030  1.1  christos     sd      x8,0(x19)
   1031  1.1  christos     sd      x9,8(x19)
   1032  1.1  christos     blt     x13,x14,1b
   1033  1.1  christos 
   1034  1.1  christos     li      x20,1
   1035  1.1  christos 
   1036  1.1  christos 1:
   1037  1.1  christos     addi    x12,x12,16
   1038  1.1  christos     lwu     x6,0(x12)
   1039  1.1  christos     lwu     x7,4(x12)
   1040  1.1  christos     lwu     x8,8(x12)
   1041  1.1  christos     lwu     x9,12(x12)
   1042  1.1  christos 
   1043  1.1  christos     la      x21,AES_Te2
   1044  1.1  christos 
   1045  1.1  christos     slli    x13,x6,2
   1046  1.1  christos     srli    x14,x6,8-2
   1047  1.1  christos     srli    x15,x6,16-2
   1048  1.1  christos     srli    x16,x6,24-2
   1049  1.1  christos 
   1050  1.1  christos     andi    x13,x13,0x3FC
   1051  1.1  christos     andi    x14,x14,0x3FC
   1052  1.1  christos     andi    x15,x15,0x3FC
   1053  1.1  christos     andi    x16,x16,0x3FC
   1054  1.1  christos 
   1055  1.1  christos     # Index into table Te2
   1056  1.1  christos 
   1057  1.1  christos     add     x19,x21,x13
   1058  1.1  christos     lwu     x13,0(x19)
   1059  1.1  christos 
   1060  1.1  christos     add     x19,x21,x14
   1061  1.1  christos     lwu     x14,0(x19)
   1062  1.1  christos 
   1063  1.1  christos     add     x19,x21,x15
   1064  1.1  christos     lwu     x15,0(x19)
   1065  1.1  christos 
   1066  1.1  christos     add     x19,x21,x16
   1067  1.1  christos     lwu     x16,0(x19)
   1068  1.1  christos 
   1069  1.1  christos     andi    x13,x13,0xFF
   1070  1.1  christos     andi    x14,x14,0xFF
   1071  1.1  christos     andi    x15,x15,0xFF
   1072  1.1  christos     andi    x16,x16,0xFF
   1073  1.1  christos 
   1074  1.1  christos     slli    x13,x13,2
   1075  1.1  christos     slli    x14,x14,2
   1076  1.1  christos     slli    x15,x15,2
   1077  1.1  christos     slli    x16,x16,2
   1078  1.1  christos 
   1079  1.1  christos     la      x21,AES_Td0
   1080  1.1  christos 
   1081  1.1  christos     # Lookup in Td0-Td3
   1082  1.1  christos 
   1083  1.1  christos     add     x19,x21,x13
   1084  1.1  christos     lwu     x13,0(x19)
   1085  1.1  christos 
   1086  1.1  christos     add     x21,x21,1024
   1087  1.1  christos     add     x19,x21,x14
   1088  1.1  christos     lwu     x14,0(x19)
   1089  1.1  christos 
   1090  1.1  christos     add     x21,x21,1024
   1091  1.1  christos     add     x19,x21,x15
   1092  1.1  christos     lwu     x15,0(x19)
   1093  1.1  christos 
   1094  1.1  christos     add     x21,x21,1024
   1095  1.1  christos     add     x19,x21,x16
   1096  1.1  christos     lwu     x16,0(x19)
   1097  1.1  christos 
   1098  1.1  christos     xor     x13,x13,x14
   1099  1.1  christos     xor     x15,x15,x16
   1100  1.1  christos     xor     x6,x13,x15
   1101  1.1  christos 
   1102  1.1  christos     la      x21,AES_Te2
   1103  1.1  christos 
   1104  1.1  christos     slli    x13,x7,2
   1105  1.1  christos     srli    x14,x7,8-2
   1106  1.1  christos     srli    x15,x7,16-2
   1107  1.1  christos     srli    x16,x7,24-2
   1108  1.1  christos 
   1109  1.1  christos     andi    x13,x13,0x3FC
   1110  1.1  christos     andi    x14,x14,0x3FC
   1111  1.1  christos     andi    x15,x15,0x3FC
   1112  1.1  christos     andi    x16,x16,0x3FC
   1113  1.1  christos 
   1114  1.1  christos     # Index into table Te2
   1115  1.1  christos 
   1116  1.1  christos     add     x19,x21,x13
   1117  1.1  christos     lwu     x13,0(x19)
   1118  1.1  christos 
   1119  1.1  christos     add     x19,x21,x14
   1120  1.1  christos     lwu     x14,0(x19)
   1121  1.1  christos 
   1122  1.1  christos     add     x19,x21,x15
   1123  1.1  christos     lwu     x15,0(x19)
   1124  1.1  christos 
   1125  1.1  christos     add     x19,x21,x16
   1126  1.1  christos     lwu     x16,0(x19)
   1127  1.1  christos 
   1128  1.1  christos     andi    x13,x13,0xFF
   1129  1.1  christos     andi    x14,x14,0xFF
   1130  1.1  christos     andi    x15,x15,0xFF
   1131  1.1  christos     andi    x16,x16,0xFF
   1132  1.1  christos 
   1133  1.1  christos     slli    x13,x13,2
   1134  1.1  christos     slli    x14,x14,2
   1135  1.1  christos     slli    x15,x15,2
   1136  1.1  christos     slli    x16,x16,2
   1137  1.1  christos 
   1138  1.1  christos     la      x21,AES_Td0
   1139  1.1  christos 
   1140  1.1  christos     # Lookup in Td0-Td3
   1141  1.1  christos 
   1142  1.1  christos     add     x19,x21,x13
   1143  1.1  christos     lwu     x13,0(x19)
   1144  1.1  christos 
   1145  1.1  christos     add     x21,x21,1024
   1146  1.1  christos     add     x19,x21,x14
   1147  1.1  christos     lwu     x14,0(x19)
   1148  1.1  christos 
   1149  1.1  christos     add     x21,x21,1024
   1150  1.1  christos     add     x19,x21,x15
   1151  1.1  christos     lwu     x15,0(x19)
   1152  1.1  christos 
   1153  1.1  christos     add     x21,x21,1024
   1154  1.1  christos     add     x19,x21,x16
   1155  1.1  christos     lwu     x16,0(x19)
   1156  1.1  christos 
   1157  1.1  christos     xor     x13,x13,x14
   1158  1.1  christos     xor     x15,x15,x16
   1159  1.1  christos     xor     x7,x13,x15
   1160  1.1  christos 
   1161  1.1  christos     la      x21,AES_Te2
   1162  1.1  christos 
   1163  1.1  christos     slli    x13,x8,2
   1164  1.1  christos     srli    x14,x8,8-2
   1165  1.1  christos     srli    x15,x8,16-2
   1166  1.1  christos     srli    x16,x8,24-2
   1167  1.1  christos 
   1168  1.1  christos     andi    x13,x13,0x3FC
   1169  1.1  christos     andi    x14,x14,0x3FC
   1170  1.1  christos     andi    x15,x15,0x3FC
   1171  1.1  christos     andi    x16,x16,0x3FC
   1172  1.1  christos 
   1173  1.1  christos     # Index into table Te2
   1174  1.1  christos 
   1175  1.1  christos     add     x19,x21,x13
   1176  1.1  christos     lwu     x13,0(x19)
   1177  1.1  christos 
   1178  1.1  christos     add     x19,x21,x14
   1179  1.1  christos     lwu     x14,0(x19)
   1180  1.1  christos 
   1181  1.1  christos     add     x19,x21,x15
   1182  1.1  christos     lwu     x15,0(x19)
   1183  1.1  christos 
   1184  1.1  christos     add     x19,x21,x16
   1185  1.1  christos     lwu     x16,0(x19)
   1186  1.1  christos 
   1187  1.1  christos     andi    x13,x13,0xFF
   1188  1.1  christos     andi    x14,x14,0xFF
   1189  1.1  christos     andi    x15,x15,0xFF
   1190  1.1  christos     andi    x16,x16,0xFF
   1191  1.1  christos 
   1192  1.1  christos     slli    x13,x13,2
   1193  1.1  christos     slli    x14,x14,2
   1194  1.1  christos     slli    x15,x15,2
   1195  1.1  christos     slli    x16,x16,2
   1196  1.1  christos 
   1197  1.1  christos     la      x21,AES_Td0
   1198  1.1  christos 
   1199  1.1  christos     # Lookup in Td0-Td3
   1200  1.1  christos 
   1201  1.1  christos     add     x19,x21,x13
   1202  1.1  christos     lwu     x13,0(x19)
   1203  1.1  christos 
   1204  1.1  christos     add     x21,x21,1024
   1205  1.1  christos     add     x19,x21,x14
   1206  1.1  christos     lwu     x14,0(x19)
   1207  1.1  christos 
   1208  1.1  christos     add     x21,x21,1024
   1209  1.1  christos     add     x19,x21,x15
   1210  1.1  christos     lwu     x15,0(x19)
   1211  1.1  christos 
   1212  1.1  christos     add     x21,x21,1024
   1213  1.1  christos     add     x19,x21,x16
   1214  1.1  christos     lwu     x16,0(x19)
   1215  1.1  christos 
   1216  1.1  christos     xor     x13,x13,x14
   1217  1.1  christos     xor     x15,x15,x16
   1218  1.1  christos     xor     x8,x13,x15
   1219  1.1  christos 
   1220  1.1  christos     la      x21,AES_Te2
   1221  1.1  christos 
   1222  1.1  christos     slli    x13,x9,2
   1223  1.1  christos     srli    x14,x9,8-2
   1224  1.1  christos     srli    x15,x9,16-2
   1225  1.1  christos     srli    x16,x9,24-2
   1226  1.1  christos 
   1227  1.1  christos     andi    x13,x13,0x3FC
   1228  1.1  christos     andi    x14,x14,0x3FC
   1229  1.1  christos     andi    x15,x15,0x3FC
   1230  1.1  christos     andi    x16,x16,0x3FC
   1231  1.1  christos 
   1232  1.1  christos     # Index into table Te2
   1233  1.1  christos 
   1234  1.1  christos     add     x19,x21,x13
   1235  1.1  christos     lwu     x13,0(x19)
   1236  1.1  christos 
   1237  1.1  christos     add     x19,x21,x14
   1238  1.1  christos     lwu     x14,0(x19)
   1239  1.1  christos 
   1240  1.1  christos     add     x19,x21,x15
   1241  1.1  christos     lwu     x15,0(x19)
   1242  1.1  christos 
   1243  1.1  christos     add     x19,x21,x16
   1244  1.1  christos     lwu     x16,0(x19)
   1245  1.1  christos 
   1246  1.1  christos     andi    x13,x13,0xFF
   1247  1.1  christos     andi    x14,x14,0xFF
   1248  1.1  christos     andi    x15,x15,0xFF
   1249  1.1  christos     andi    x16,x16,0xFF
   1250  1.1  christos 
   1251  1.1  christos     slli    x13,x13,2
   1252  1.1  christos     slli    x14,x14,2
   1253  1.1  christos     slli    x15,x15,2
   1254  1.1  christos     slli    x16,x16,2
   1255  1.1  christos 
   1256  1.1  christos     la      x21,AES_Td0
   1257  1.1  christos 
   1258  1.1  christos     # Lookup in Td0-Td3
   1259  1.1  christos 
   1260  1.1  christos     add     x19,x21,x13
   1261  1.1  christos     lwu     x13,0(x19)
   1262  1.1  christos 
   1263  1.1  christos     add     x21,x21,1024
   1264  1.1  christos     add     x19,x21,x14
   1265  1.1  christos     lwu     x14,0(x19)
   1266  1.1  christos 
   1267  1.1  christos     add     x21,x21,1024
   1268  1.1  christos     add     x19,x21,x15
   1269  1.1  christos     lwu     x15,0(x19)
   1270  1.1  christos 
   1271  1.1  christos     add     x21,x21,1024
   1272  1.1  christos     add     x19,x21,x16
   1273  1.1  christos     lwu     x16,0(x19)
   1274  1.1  christos 
   1275  1.1  christos     xor     x13,x13,x14
   1276  1.1  christos     xor     x15,x15,x16
   1277  1.1  christos     xor     x9,x13,x15
   1278  1.1  christos     sw      x6,0(x12)
   1279  1.1  christos     sw      x7,4(x12)
   1280  1.1  christos     sw      x8,8(x12)
   1281  1.1  christos     sw      x9,12(x12)
   1282  1.1  christos     addi    x20,x20,1
   1283  1.1  christos     blt     x20,x17,1b
   1284  1.1  christos     ld      x8,40(sp)
   1285  1.1  christos     ld      x9,32(sp)
   1286  1.1  christos     ld      x18,24(sp)
   1287  1.1  christos     ld      x19,16(sp)
   1288  1.1  christos     ld      x20,8(sp)
   1289  1.1  christos     ld      x21,0(sp)
   1290  1.1  christos     addi    sp,sp,48
   1291  1.1  christos     li      a0,0
   1292  1.1  christos     ret
   1293  1.1  christos 
   1294  1.1  christos .section .rodata
   1295  1.1  christos .p2align    12
   1296  1.1  christos .type   AES_Te0,@object
   1297  1.1  christos AES_Te0:
   1298  1.1  christos .word 0xa56363c6U, 0x847c7cf8U, 0x997777eeU, 0x8d7b7bf6U
   1299  1.1  christos .word 0x0df2f2ffU, 0xbd6b6bd6U, 0xb16f6fdeU, 0x54c5c591U
   1300  1.1  christos .word 0x50303060U, 0x03010102U, 0xa96767ceU, 0x7d2b2b56U
   1301  1.1  christos .word 0x19fefee7U, 0x62d7d7b5U, 0xe6abab4dU, 0x9a7676ecU
   1302  1.1  christos .word 0x45caca8fU, 0x9d82821fU, 0x40c9c989U, 0x877d7dfaU
   1303  1.1  christos .word 0x15fafaefU, 0xeb5959b2U, 0xc947478eU, 0x0bf0f0fbU
   1304  1.1  christos .word 0xecadad41U, 0x67d4d4b3U, 0xfda2a25fU, 0xeaafaf45U
   1305  1.1  christos .word 0xbf9c9c23U, 0xf7a4a453U, 0x967272e4U, 0x5bc0c09bU
   1306  1.1  christos .word 0xc2b7b775U, 0x1cfdfde1U, 0xae93933dU, 0x6a26264cU
   1307  1.1  christos .word 0x5a36366cU, 0x413f3f7eU, 0x02f7f7f5U, 0x4fcccc83U
   1308  1.1  christos .word 0x5c343468U, 0xf4a5a551U, 0x34e5e5d1U, 0x08f1f1f9U
   1309  1.1  christos .word 0x937171e2U, 0x73d8d8abU, 0x53313162U, 0x3f15152aU
   1310  1.1  christos .word 0x0c040408U, 0x52c7c795U, 0x65232346U, 0x5ec3c39dU
   1311  1.1  christos .word 0x28181830U, 0xa1969637U, 0x0f05050aU, 0xb59a9a2fU
   1312  1.1  christos .word 0x0907070eU, 0x36121224U, 0x9b80801bU, 0x3de2e2dfU
   1313  1.1  christos .word 0x26ebebcdU, 0x6927274eU, 0xcdb2b27fU, 0x9f7575eaU
   1314  1.1  christos .word 0x1b090912U, 0x9e83831dU, 0x742c2c58U, 0x2e1a1a34U
   1315  1.1  christos .word 0x2d1b1b36U, 0xb26e6edcU, 0xee5a5ab4U, 0xfba0a05bU
   1316  1.1  christos .word 0xf65252a4U, 0x4d3b3b76U, 0x61d6d6b7U, 0xceb3b37dU
   1317  1.1  christos .word 0x7b292952U, 0x3ee3e3ddU, 0x712f2f5eU, 0x97848413U
   1318  1.1  christos .word 0xf55353a6U, 0x68d1d1b9U, 0x00000000U, 0x2cededc1U
   1319  1.1  christos .word 0x60202040U, 0x1ffcfce3U, 0xc8b1b179U, 0xed5b5bb6U
   1320  1.1  christos .word 0xbe6a6ad4U, 0x46cbcb8dU, 0xd9bebe67U, 0x4b393972U
   1321  1.1  christos .word 0xde4a4a94U, 0xd44c4c98U, 0xe85858b0U, 0x4acfcf85U
   1322  1.1  christos .word 0x6bd0d0bbU, 0x2aefefc5U, 0xe5aaaa4fU, 0x16fbfbedU
   1323  1.1  christos .word 0xc5434386U, 0xd74d4d9aU, 0x55333366U, 0x94858511U
   1324  1.1  christos .word 0xcf45458aU, 0x10f9f9e9U, 0x06020204U, 0x817f7ffeU
   1325  1.1  christos .word 0xf05050a0U, 0x443c3c78U, 0xba9f9f25U, 0xe3a8a84bU
   1326  1.1  christos .word 0xf35151a2U, 0xfea3a35dU, 0xc0404080U, 0x8a8f8f05U
   1327  1.1  christos .word 0xad92923fU, 0xbc9d9d21U, 0x48383870U, 0x04f5f5f1U
   1328  1.1  christos .word 0xdfbcbc63U, 0xc1b6b677U, 0x75dadaafU, 0x63212142U
   1329  1.1  christos .word 0x30101020U, 0x1affffe5U, 0x0ef3f3fdU, 0x6dd2d2bfU
   1330  1.1  christos .word 0x4ccdcd81U, 0x140c0c18U, 0x35131326U, 0x2fececc3U
   1331  1.1  christos .word 0xe15f5fbeU, 0xa2979735U, 0xcc444488U, 0x3917172eU
   1332  1.1  christos .word 0x57c4c493U, 0xf2a7a755U, 0x827e7efcU, 0x473d3d7aU
   1333  1.1  christos .word 0xac6464c8U, 0xe75d5dbaU, 0x2b191932U, 0x957373e6U
   1334  1.1  christos .word 0xa06060c0U, 0x98818119U, 0xd14f4f9eU, 0x7fdcdca3U
   1335  1.1  christos .word 0x66222244U, 0x7e2a2a54U, 0xab90903bU, 0x8388880bU
   1336  1.1  christos .word 0xca46468cU, 0x29eeeec7U, 0xd3b8b86bU, 0x3c141428U
   1337  1.1  christos .word 0x79dedea7U, 0xe25e5ebcU, 0x1d0b0b16U, 0x76dbdbadU
   1338  1.1  christos .word 0x3be0e0dbU, 0x56323264U, 0x4e3a3a74U, 0x1e0a0a14U
   1339  1.1  christos .word 0xdb494992U, 0x0a06060cU, 0x6c242448U, 0xe45c5cb8U
   1340  1.1  christos .word 0x5dc2c29fU, 0x6ed3d3bdU, 0xefacac43U, 0xa66262c4U
   1341  1.1  christos .word 0xa8919139U, 0xa4959531U, 0x37e4e4d3U, 0x8b7979f2U
   1342  1.1  christos .word 0x32e7e7d5U, 0x43c8c88bU, 0x5937376eU, 0xb76d6ddaU
   1343  1.1  christos .word 0x8c8d8d01U, 0x64d5d5b1U, 0xd24e4e9cU, 0xe0a9a949U
   1344  1.1  christos .word 0xb46c6cd8U, 0xfa5656acU, 0x07f4f4f3U, 0x25eaeacfU
   1345  1.1  christos .word 0xaf6565caU, 0x8e7a7af4U, 0xe9aeae47U, 0x18080810U
   1346  1.1  christos .word 0xd5baba6fU, 0x887878f0U, 0x6f25254aU, 0x722e2e5cU
   1347  1.1  christos .word 0x241c1c38U, 0xf1a6a657U, 0xc7b4b473U, 0x51c6c697U
   1348  1.1  christos .word 0x23e8e8cbU, 0x7cdddda1U, 0x9c7474e8U, 0x211f1f3eU
   1349  1.1  christos .word 0xdd4b4b96U, 0xdcbdbd61U, 0x868b8b0dU, 0x858a8a0fU
   1350  1.1  christos .word 0x907070e0U, 0x423e3e7cU, 0xc4b5b571U, 0xaa6666ccU
   1351  1.1  christos .word 0xd8484890U, 0x05030306U, 0x01f6f6f7U, 0x120e0e1cU
   1352  1.1  christos .word 0xa36161c2U, 0x5f35356aU, 0xf95757aeU, 0xd0b9b969U
   1353  1.1  christos .word 0x91868617U, 0x58c1c199U, 0x271d1d3aU, 0xb99e9e27U
   1354  1.1  christos .word 0x38e1e1d9U, 0x13f8f8ebU, 0xb398982bU, 0x33111122U
   1355  1.1  christos .word 0xbb6969d2U, 0x70d9d9a9U, 0x898e8e07U, 0xa7949433U
   1356  1.1  christos .word 0xb69b9b2dU, 0x221e1e3cU, 0x92878715U, 0x20e9e9c9U
   1357  1.1  christos .word 0x49cece87U, 0xff5555aaU, 0x78282850U, 0x7adfdfa5U
   1358  1.1  christos .word 0x8f8c8c03U, 0xf8a1a159U, 0x80898909U, 0x170d0d1aU
   1359  1.1  christos .word 0xdabfbf65U, 0x31e6e6d7U, 0xc6424284U, 0xb86868d0U
   1360  1.1  christos .word 0xc3414182U, 0xb0999929U, 0x772d2d5aU, 0x110f0f1eU
   1361  1.1  christos .word 0xcbb0b07bU, 0xfc5454a8U, 0xd6bbbb6dU, 0x3a16162cU
   1362  1.1  christos 
   1363  1.1  christos .type   AES_Te1,@object
   1364  1.1  christos AES_Te1:
   1365  1.1  christos .word 0x6363c6a5U, 0x7c7cf884U, 0x7777ee99U, 0x7b7bf68dU
   1366  1.1  christos .word 0xf2f2ff0dU, 0x6b6bd6bdU, 0x6f6fdeb1U, 0xc5c59154U
   1367  1.1  christos .word 0x30306050U, 0x01010203U, 0x6767cea9U, 0x2b2b567dU
   1368  1.1  christos .word 0xfefee719U, 0xd7d7b562U, 0xabab4de6U, 0x7676ec9aU
   1369  1.1  christos .word 0xcaca8f45U, 0x82821f9dU, 0xc9c98940U, 0x7d7dfa87U
   1370  1.1  christos .word 0xfafaef15U, 0x5959b2ebU, 0x47478ec9U, 0xf0f0fb0bU
   1371  1.1  christos .word 0xadad41ecU, 0xd4d4b367U, 0xa2a25ffdU, 0xafaf45eaU
   1372  1.1  christos .word 0x9c9c23bfU, 0xa4a453f7U, 0x7272e496U, 0xc0c09b5bU
   1373  1.1  christos .word 0xb7b775c2U, 0xfdfde11cU, 0x93933daeU, 0x26264c6aU
   1374  1.1  christos .word 0x36366c5aU, 0x3f3f7e41U, 0xf7f7f502U, 0xcccc834fU
   1375  1.1  christos .word 0x3434685cU, 0xa5a551f4U, 0xe5e5d134U, 0xf1f1f908U
   1376  1.1  christos .word 0x7171e293U, 0xd8d8ab73U, 0x31316253U, 0x15152a3fU
   1377  1.1  christos .word 0x0404080cU, 0xc7c79552U, 0x23234665U, 0xc3c39d5eU
   1378  1.1  christos .word 0x18183028U, 0x969637a1U, 0x05050a0fU, 0x9a9a2fb5U
   1379  1.1  christos .word 0x07070e09U, 0x12122436U, 0x80801b9bU, 0xe2e2df3dU
   1380  1.1  christos .word 0xebebcd26U, 0x27274e69U, 0xb2b27fcdU, 0x7575ea9fU
   1381  1.1  christos .word 0x0909121bU, 0x83831d9eU, 0x2c2c5874U, 0x1a1a342eU
   1382  1.1  christos .word 0x1b1b362dU, 0x6e6edcb2U, 0x5a5ab4eeU, 0xa0a05bfbU
   1383  1.1  christos .word 0x5252a4f6U, 0x3b3b764dU, 0xd6d6b761U, 0xb3b37dceU
   1384  1.1  christos .word 0x2929527bU, 0xe3e3dd3eU, 0x2f2f5e71U, 0x84841397U
   1385  1.1  christos .word 0x5353a6f5U, 0xd1d1b968U, 0x00000000U, 0xededc12cU
   1386  1.1  christos .word 0x20204060U, 0xfcfce31fU, 0xb1b179c8U, 0x5b5bb6edU
   1387  1.1  christos .word 0x6a6ad4beU, 0xcbcb8d46U, 0xbebe67d9U, 0x3939724bU
   1388  1.1  christos .word 0x4a4a94deU, 0x4c4c98d4U, 0x5858b0e8U, 0xcfcf854aU
   1389  1.1  christos .word 0xd0d0bb6bU, 0xefefc52aU, 0xaaaa4fe5U, 0xfbfbed16U
   1390  1.1  christos .word 0x434386c5U, 0x4d4d9ad7U, 0x33336655U, 0x85851194U
   1391  1.1  christos .word 0x45458acfU, 0xf9f9e910U, 0x02020406U, 0x7f7ffe81U
   1392  1.1  christos .word 0x5050a0f0U, 0x3c3c7844U, 0x9f9f25baU, 0xa8a84be3U
   1393  1.1  christos .word 0x5151a2f3U, 0xa3a35dfeU, 0x404080c0U, 0x8f8f058aU
   1394  1.1  christos .word 0x92923fadU, 0x9d9d21bcU, 0x38387048U, 0xf5f5f104U
   1395  1.1  christos .word 0xbcbc63dfU, 0xb6b677c1U, 0xdadaaf75U, 0x21214263U
   1396  1.1  christos .word 0x10102030U, 0xffffe51aU, 0xf3f3fd0eU, 0xd2d2bf6dU
   1397  1.1  christos .word 0xcdcd814cU, 0x0c0c1814U, 0x13132635U, 0xececc32fU
   1398  1.1  christos .word 0x5f5fbee1U, 0x979735a2U, 0x444488ccU, 0x17172e39U
   1399  1.1  christos .word 0xc4c49357U, 0xa7a755f2U, 0x7e7efc82U, 0x3d3d7a47U
   1400  1.1  christos .word 0x6464c8acU, 0x5d5dbae7U, 0x1919322bU, 0x7373e695U
   1401  1.1  christos .word 0x6060c0a0U, 0x81811998U, 0x4f4f9ed1U, 0xdcdca37fU
   1402  1.1  christos .word 0x22224466U, 0x2a2a547eU, 0x90903babU, 0x88880b83U
   1403  1.1  christos .word 0x46468ccaU, 0xeeeec729U, 0xb8b86bd3U, 0x1414283cU
   1404  1.1  christos .word 0xdedea779U, 0x5e5ebce2U, 0x0b0b161dU, 0xdbdbad76U
   1405  1.1  christos .word 0xe0e0db3bU, 0x32326456U, 0x3a3a744eU, 0x0a0a141eU
   1406  1.1  christos .word 0x494992dbU, 0x06060c0aU, 0x2424486cU, 0x5c5cb8e4U
   1407  1.1  christos .word 0xc2c29f5dU, 0xd3d3bd6eU, 0xacac43efU, 0x6262c4a6U
   1408  1.1  christos .word 0x919139a8U, 0x959531a4U, 0xe4e4d337U, 0x7979f28bU
   1409  1.1  christos .word 0xe7e7d532U, 0xc8c88b43U, 0x37376e59U, 0x6d6ddab7U
   1410  1.1  christos .word 0x8d8d018cU, 0xd5d5b164U, 0x4e4e9cd2U, 0xa9a949e0U
   1411  1.1  christos .word 0x6c6cd8b4U, 0x5656acfaU, 0xf4f4f307U, 0xeaeacf25U
   1412  1.1  christos .word 0x6565caafU, 0x7a7af48eU, 0xaeae47e9U, 0x08081018U
   1413  1.1  christos .word 0xbaba6fd5U, 0x7878f088U, 0x25254a6fU, 0x2e2e5c72U
   1414  1.1  christos .word 0x1c1c3824U, 0xa6a657f1U, 0xb4b473c7U, 0xc6c69751U
   1415  1.1  christos .word 0xe8e8cb23U, 0xdddda17cU, 0x7474e89cU, 0x1f1f3e21U
   1416  1.1  christos .word 0x4b4b96ddU, 0xbdbd61dcU, 0x8b8b0d86U, 0x8a8a0f85U
   1417  1.1  christos .word 0x7070e090U, 0x3e3e7c42U, 0xb5b571c4U, 0x6666ccaaU
   1418  1.1  christos .word 0x484890d8U, 0x03030605U, 0xf6f6f701U, 0x0e0e1c12U
   1419  1.1  christos .word 0x6161c2a3U, 0x35356a5fU, 0x5757aef9U, 0xb9b969d0U
   1420  1.1  christos .word 0x86861791U, 0xc1c19958U, 0x1d1d3a27U, 0x9e9e27b9U
   1421  1.1  christos .word 0xe1e1d938U, 0xf8f8eb13U, 0x98982bb3U, 0x11112233U
   1422  1.1  christos .word 0x6969d2bbU, 0xd9d9a970U, 0x8e8e0789U, 0x949433a7U
   1423  1.1  christos .word 0x9b9b2db6U, 0x1e1e3c22U, 0x87871592U, 0xe9e9c920U
   1424  1.1  christos .word 0xcece8749U, 0x5555aaffU, 0x28285078U, 0xdfdfa57aU
   1425  1.1  christos .word 0x8c8c038fU, 0xa1a159f8U, 0x89890980U, 0x0d0d1a17U
   1426  1.1  christos .word 0xbfbf65daU, 0xe6e6d731U, 0x424284c6U, 0x6868d0b8U
   1427  1.1  christos .word 0x414182c3U, 0x999929b0U, 0x2d2d5a77U, 0x0f0f1e11U
   1428  1.1  christos .word 0xb0b07bcbU, 0x5454a8fcU, 0xbbbb6dd6U, 0x16162c3aU
   1429  1.1  christos 
   1430  1.1  christos .type   AES_Te2,@object
   1431  1.1  christos AES_Te2:
   1432  1.1  christos .word 0x63c6a563U, 0x7cf8847cU, 0x77ee9977U, 0x7bf68d7bU
   1433  1.1  christos .word 0xf2ff0df2U, 0x6bd6bd6bU, 0x6fdeb16fU, 0xc59154c5U
   1434  1.1  christos .word 0x30605030U, 0x01020301U, 0x67cea967U, 0x2b567d2bU
   1435  1.1  christos .word 0xfee719feU, 0xd7b562d7U, 0xab4de6abU, 0x76ec9a76U
   1436  1.1  christos .word 0xca8f45caU, 0x821f9d82U, 0xc98940c9U, 0x7dfa877dU
   1437  1.1  christos .word 0xfaef15faU, 0x59b2eb59U, 0x478ec947U, 0xf0fb0bf0U
   1438  1.1  christos .word 0xad41ecadU, 0xd4b367d4U, 0xa25ffda2U, 0xaf45eaafU
   1439  1.1  christos .word 0x9c23bf9cU, 0xa453f7a4U, 0x72e49672U, 0xc09b5bc0U
   1440  1.1  christos .word 0xb775c2b7U, 0xfde11cfdU, 0x933dae93U, 0x264c6a26U
   1441  1.1  christos .word 0x366c5a36U, 0x3f7e413fU, 0xf7f502f7U, 0xcc834fccU
   1442  1.1  christos .word 0x34685c34U, 0xa551f4a5U, 0xe5d134e5U, 0xf1f908f1U
   1443  1.1  christos .word 0x71e29371U, 0xd8ab73d8U, 0x31625331U, 0x152a3f15U
   1444  1.1  christos .word 0x04080c04U, 0xc79552c7U, 0x23466523U, 0xc39d5ec3U
   1445  1.1  christos .word 0x18302818U, 0x9637a196U, 0x050a0f05U, 0x9a2fb59aU
   1446  1.1  christos .word 0x070e0907U, 0x12243612U, 0x801b9b80U, 0xe2df3de2U
   1447  1.1  christos .word 0xebcd26ebU, 0x274e6927U, 0xb27fcdb2U, 0x75ea9f75U
   1448  1.1  christos .word 0x09121b09U, 0x831d9e83U, 0x2c58742cU, 0x1a342e1aU
   1449  1.1  christos .word 0x1b362d1bU, 0x6edcb26eU, 0x5ab4ee5aU, 0xa05bfba0U
   1450  1.1  christos .word 0x52a4f652U, 0x3b764d3bU, 0xd6b761d6U, 0xb37dceb3U
   1451  1.1  christos .word 0x29527b29U, 0xe3dd3ee3U, 0x2f5e712fU, 0x84139784U
   1452  1.1  christos .word 0x53a6f553U, 0xd1b968d1U, 0x00000000U, 0xedc12cedU
   1453  1.1  christos .word 0x20406020U, 0xfce31ffcU, 0xb179c8b1U, 0x5bb6ed5bU
   1454  1.1  christos .word 0x6ad4be6aU, 0xcb8d46cbU, 0xbe67d9beU, 0x39724b39U
   1455  1.1  christos .word 0x4a94de4aU, 0x4c98d44cU, 0x58b0e858U, 0xcf854acfU
   1456  1.1  christos .word 0xd0bb6bd0U, 0xefc52aefU, 0xaa4fe5aaU, 0xfbed16fbU
   1457  1.1  christos .word 0x4386c543U, 0x4d9ad74dU, 0x33665533U, 0x85119485U
   1458  1.1  christos .word 0x458acf45U, 0xf9e910f9U, 0x02040602U, 0x7ffe817fU
   1459  1.1  christos .word 0x50a0f050U, 0x3c78443cU, 0x9f25ba9fU, 0xa84be3a8U
   1460  1.1  christos .word 0x51a2f351U, 0xa35dfea3U, 0x4080c040U, 0x8f058a8fU
   1461  1.1  christos .word 0x923fad92U, 0x9d21bc9dU, 0x38704838U, 0xf5f104f5U
   1462  1.1  christos .word 0xbc63dfbcU, 0xb677c1b6U, 0xdaaf75daU, 0x21426321U
   1463  1.1  christos .word 0x10203010U, 0xffe51affU, 0xf3fd0ef3U, 0xd2bf6dd2U
   1464  1.1  christos .word 0xcd814ccdU, 0x0c18140cU, 0x13263513U, 0xecc32fecU
   1465  1.1  christos .word 0x5fbee15fU, 0x9735a297U, 0x4488cc44U, 0x172e3917U
   1466  1.1  christos .word 0xc49357c4U, 0xa755f2a7U, 0x7efc827eU, 0x3d7a473dU
   1467  1.1  christos .word 0x64c8ac64U, 0x5dbae75dU, 0x19322b19U, 0x73e69573U
   1468  1.1  christos .word 0x60c0a060U, 0x81199881U, 0x4f9ed14fU, 0xdca37fdcU
   1469  1.1  christos .word 0x22446622U, 0x2a547e2aU, 0x903bab90U, 0x880b8388U
   1470  1.1  christos .word 0x468cca46U, 0xeec729eeU, 0xb86bd3b8U, 0x14283c14U
   1471  1.1  christos .word 0xdea779deU, 0x5ebce25eU, 0x0b161d0bU, 0xdbad76dbU
   1472  1.1  christos .word 0xe0db3be0U, 0x32645632U, 0x3a744e3aU, 0x0a141e0aU
   1473  1.1  christos .word 0x4992db49U, 0x060c0a06U, 0x24486c24U, 0x5cb8e45cU
   1474  1.1  christos .word 0xc29f5dc2U, 0xd3bd6ed3U, 0xac43efacU, 0x62c4a662U
   1475  1.1  christos .word 0x9139a891U, 0x9531a495U, 0xe4d337e4U, 0x79f28b79U
   1476  1.1  christos .word 0xe7d532e7U, 0xc88b43c8U, 0x376e5937U, 0x6ddab76dU
   1477  1.1  christos .word 0x8d018c8dU, 0xd5b164d5U, 0x4e9cd24eU, 0xa949e0a9U
   1478  1.1  christos .word 0x6cd8b46cU, 0x56acfa56U, 0xf4f307f4U, 0xeacf25eaU
   1479  1.1  christos .word 0x65caaf65U, 0x7af48e7aU, 0xae47e9aeU, 0x08101808U
   1480  1.1  christos .word 0xba6fd5baU, 0x78f08878U, 0x254a6f25U, 0x2e5c722eU
   1481  1.1  christos .word 0x1c38241cU, 0xa657f1a6U, 0xb473c7b4U, 0xc69751c6U
   1482  1.1  christos .word 0xe8cb23e8U, 0xdda17cddU, 0x74e89c74U, 0x1f3e211fU
   1483  1.1  christos .word 0x4b96dd4bU, 0xbd61dcbdU, 0x8b0d868bU, 0x8a0f858aU
   1484  1.1  christos .word 0x70e09070U, 0x3e7c423eU, 0xb571c4b5U, 0x66ccaa66U
   1485  1.1  christos .word 0x4890d848U, 0x03060503U, 0xf6f701f6U, 0x0e1c120eU
   1486  1.1  christos .word 0x61c2a361U, 0x356a5f35U, 0x57aef957U, 0xb969d0b9U
   1487  1.1  christos .word 0x86179186U, 0xc19958c1U, 0x1d3a271dU, 0x9e27b99eU
   1488  1.1  christos .word 0xe1d938e1U, 0xf8eb13f8U, 0x982bb398U, 0x11223311U
   1489  1.1  christos .word 0x69d2bb69U, 0xd9a970d9U, 0x8e07898eU, 0x9433a794U
   1490  1.1  christos .word 0x9b2db69bU, 0x1e3c221eU, 0x87159287U, 0xe9c920e9U
   1491  1.1  christos .word 0xce8749ceU, 0x55aaff55U, 0x28507828U, 0xdfa57adfU
   1492  1.1  christos .word 0x8c038f8cU, 0xa159f8a1U, 0x89098089U, 0x0d1a170dU
   1493  1.1  christos .word 0xbf65dabfU, 0xe6d731e6U, 0x4284c642U, 0x68d0b868U
   1494  1.1  christos .word 0x4182c341U, 0x9929b099U, 0x2d5a772dU, 0x0f1e110fU
   1495  1.1  christos .word 0xb07bcbb0U, 0x54a8fc54U, 0xbb6dd6bbU, 0x162c3a16U
   1496  1.1  christos 
   1497  1.1  christos .type   AES_Te3,@object
   1498  1.1  christos AES_Te3:
   1499  1.1  christos .word 0xc6a56363U, 0xf8847c7cU, 0xee997777U, 0xf68d7b7bU
   1500  1.1  christos .word 0xff0df2f2U, 0xd6bd6b6bU, 0xdeb16f6fU, 0x9154c5c5U
   1501  1.1  christos .word 0x60503030U, 0x02030101U, 0xcea96767U, 0x567d2b2bU
   1502  1.1  christos .word 0xe719fefeU, 0xb562d7d7U, 0x4de6ababU, 0xec9a7676U
   1503  1.1  christos .word 0x8f45cacaU, 0x1f9d8282U, 0x8940c9c9U, 0xfa877d7dU
   1504  1.1  christos .word 0xef15fafaU, 0xb2eb5959U, 0x8ec94747U, 0xfb0bf0f0U
   1505  1.1  christos .word 0x41ecadadU, 0xb367d4d4U, 0x5ffda2a2U, 0x45eaafafU
   1506  1.1  christos .word 0x23bf9c9cU, 0x53f7a4a4U, 0xe4967272U, 0x9b5bc0c0U
   1507  1.1  christos .word 0x75c2b7b7U, 0xe11cfdfdU, 0x3dae9393U, 0x4c6a2626U
   1508  1.1  christos .word 0x6c5a3636U, 0x7e413f3fU, 0xf502f7f7U, 0x834fccccU
   1509  1.1  christos .word 0x685c3434U, 0x51f4a5a5U, 0xd134e5e5U, 0xf908f1f1U
   1510  1.1  christos .word 0xe2937171U, 0xab73d8d8U, 0x62533131U, 0x2a3f1515U
   1511  1.1  christos .word 0x080c0404U, 0x9552c7c7U, 0x46652323U, 0x9d5ec3c3U
   1512  1.1  christos .word 0x30281818U, 0x37a19696U, 0x0a0f0505U, 0x2fb59a9aU
   1513  1.1  christos .word 0x0e090707U, 0x24361212U, 0x1b9b8080U, 0xdf3de2e2U
   1514  1.1  christos .word 0xcd26ebebU, 0x4e692727U, 0x7fcdb2b2U, 0xea9f7575U
   1515  1.1  christos .word 0x121b0909U, 0x1d9e8383U, 0x58742c2cU, 0x342e1a1aU
   1516  1.1  christos .word 0x362d1b1bU, 0xdcb26e6eU, 0xb4ee5a5aU, 0x5bfba0a0U
   1517  1.1  christos .word 0xa4f65252U, 0x764d3b3bU, 0xb761d6d6U, 0x7dceb3b3U
   1518  1.1  christos .word 0x527b2929U, 0xdd3ee3e3U, 0x5e712f2fU, 0x13978484U
   1519  1.1  christos .word 0xa6f55353U, 0xb968d1d1U, 0x00000000U, 0xc12cededU
   1520  1.1  christos .word 0x40602020U, 0xe31ffcfcU, 0x79c8b1b1U, 0xb6ed5b5bU
   1521  1.1  christos .word 0xd4be6a6aU, 0x8d46cbcbU, 0x67d9bebeU, 0x724b3939U
   1522  1.1  christos .word 0x94de4a4aU, 0x98d44c4cU, 0xb0e85858U, 0x854acfcfU
   1523  1.1  christos .word 0xbb6bd0d0U, 0xc52aefefU, 0x4fe5aaaaU, 0xed16fbfbU
   1524  1.1  christos .word 0x86c54343U, 0x9ad74d4dU, 0x66553333U, 0x11948585U
   1525  1.1  christos .word 0x8acf4545U, 0xe910f9f9U, 0x04060202U, 0xfe817f7fU
   1526  1.1  christos .word 0xa0f05050U, 0x78443c3cU, 0x25ba9f9fU, 0x4be3a8a8U
   1527  1.1  christos .word 0xa2f35151U, 0x5dfea3a3U, 0x80c04040U, 0x058a8f8fU
   1528  1.1  christos .word 0x3fad9292U, 0x21bc9d9dU, 0x70483838U, 0xf104f5f5U
   1529  1.1  christos .word 0x63dfbcbcU, 0x77c1b6b6U, 0xaf75dadaU, 0x42632121U
   1530  1.1  christos .word 0x20301010U, 0xe51affffU, 0xfd0ef3f3U, 0xbf6dd2d2U
   1531  1.1  christos .word 0x814ccdcdU, 0x18140c0cU, 0x26351313U, 0xc32fececU
   1532  1.1  christos .word 0xbee15f5fU, 0x35a29797U, 0x88cc4444U, 0x2e391717U
   1533  1.1  christos .word 0x9357c4c4U, 0x55f2a7a7U, 0xfc827e7eU, 0x7a473d3dU
   1534  1.1  christos .word 0xc8ac6464U, 0xbae75d5dU, 0x322b1919U, 0xe6957373U
   1535  1.1  christos .word 0xc0a06060U, 0x19988181U, 0x9ed14f4fU, 0xa37fdcdcU
   1536  1.1  christos .word 0x44662222U, 0x547e2a2aU, 0x3bab9090U, 0x0b838888U
   1537  1.1  christos .word 0x8cca4646U, 0xc729eeeeU, 0x6bd3b8b8U, 0x283c1414U
   1538  1.1  christos .word 0xa779dedeU, 0xbce25e5eU, 0x161d0b0bU, 0xad76dbdbU
   1539  1.1  christos .word 0xdb3be0e0U, 0x64563232U, 0x744e3a3aU, 0x141e0a0aU
   1540  1.1  christos .word 0x92db4949U, 0x0c0a0606U, 0x486c2424U, 0xb8e45c5cU
   1541  1.1  christos .word 0x9f5dc2c2U, 0xbd6ed3d3U, 0x43efacacU, 0xc4a66262U
   1542  1.1  christos .word 0x39a89191U, 0x31a49595U, 0xd337e4e4U, 0xf28b7979U
   1543  1.1  christos .word 0xd532e7e7U, 0x8b43c8c8U, 0x6e593737U, 0xdab76d6dU
   1544  1.1  christos .word 0x018c8d8dU, 0xb164d5d5U, 0x9cd24e4eU, 0x49e0a9a9U
   1545  1.1  christos .word 0xd8b46c6cU, 0xacfa5656U, 0xf307f4f4U, 0xcf25eaeaU
   1546  1.1  christos .word 0xcaaf6565U, 0xf48e7a7aU, 0x47e9aeaeU, 0x10180808U
   1547  1.1  christos .word 0x6fd5babaU, 0xf0887878U, 0x4a6f2525U, 0x5c722e2eU
   1548  1.1  christos .word 0x38241c1cU, 0x57f1a6a6U, 0x73c7b4b4U, 0x9751c6c6U
   1549  1.1  christos .word 0xcb23e8e8U, 0xa17cddddU, 0xe89c7474U, 0x3e211f1fU
   1550  1.1  christos .word 0x96dd4b4bU, 0x61dcbdbdU, 0x0d868b8bU, 0x0f858a8aU
   1551  1.1  christos .word 0xe0907070U, 0x7c423e3eU, 0x71c4b5b5U, 0xccaa6666U
   1552  1.1  christos .word 0x90d84848U, 0x06050303U, 0xf701f6f6U, 0x1c120e0eU
   1553  1.1  christos .word 0xc2a36161U, 0x6a5f3535U, 0xaef95757U, 0x69d0b9b9U
   1554  1.1  christos .word 0x17918686U, 0x9958c1c1U, 0x3a271d1dU, 0x27b99e9eU
   1555  1.1  christos .word 0xd938e1e1U, 0xeb13f8f8U, 0x2bb39898U, 0x22331111U
   1556  1.1  christos .word 0xd2bb6969U, 0xa970d9d9U, 0x07898e8eU, 0x33a79494U
   1557  1.1  christos .word 0x2db69b9bU, 0x3c221e1eU, 0x15928787U, 0xc920e9e9U
   1558  1.1  christos .word 0x8749ceceU, 0xaaff5555U, 0x50782828U, 0xa57adfdfU
   1559  1.1  christos .word 0x038f8c8cU, 0x59f8a1a1U, 0x09808989U, 0x1a170d0dU
   1560  1.1  christos .word 0x65dabfbfU, 0xd731e6e6U, 0x84c64242U, 0xd0b86868U
   1561  1.1  christos .word 0x82c34141U, 0x29b09999U, 0x5a772d2dU, 0x1e110f0fU
   1562  1.1  christos .word 0x7bcbb0b0U, 0xa8fc5454U, 0x6dd6bbbbU, 0x2c3a1616U
   1563  1.1  christos 
   1564  1.1  christos .p2align    12
   1565  1.1  christos .type   AES_Td0,@object
   1566  1.1  christos AES_Td0:
   1567  1.1  christos .word 0x50a7f451U, 0x5365417eU, 0xc3a4171aU, 0x965e273aU
   1568  1.1  christos .word 0xcb6bab3bU, 0xf1459d1fU, 0xab58faacU, 0x9303e34bU
   1569  1.1  christos .word 0x55fa3020U, 0xf66d76adU, 0x9176cc88U, 0x254c02f5U
   1570  1.1  christos .word 0xfcd7e54fU, 0xd7cb2ac5U, 0x80443526U, 0x8fa362b5U
   1571  1.1  christos .word 0x495ab1deU, 0x671bba25U, 0x980eea45U, 0xe1c0fe5dU
   1572  1.1  christos .word 0x02752fc3U, 0x12f04c81U, 0xa397468dU, 0xc6f9d36bU
   1573  1.1  christos .word 0xe75f8f03U, 0x959c9215U, 0xeb7a6dbfU, 0xda595295U
   1574  1.1  christos .word 0x2d83bed4U, 0xd3217458U, 0x2969e049U, 0x44c8c98eU
   1575  1.1  christos .word 0x6a89c275U, 0x78798ef4U, 0x6b3e5899U, 0xdd71b927U
   1576  1.1  christos .word 0xb64fe1beU, 0x17ad88f0U, 0x66ac20c9U, 0xb43ace7dU
   1577  1.1  christos .word 0x184adf63U, 0x82311ae5U, 0x60335197U, 0x457f5362U
   1578  1.1  christos .word 0xe07764b1U, 0x84ae6bbbU, 0x1ca081feU, 0x942b08f9U
   1579  1.1  christos .word 0x58684870U, 0x19fd458fU, 0x876cde94U, 0xb7f87b52U
   1580  1.1  christos .word 0x23d373abU, 0xe2024b72U, 0x578f1fe3U, 0x2aab5566U
   1581  1.1  christos .word 0x0728ebb2U, 0x03c2b52fU, 0x9a7bc586U, 0xa50837d3U
   1582  1.1  christos .word 0xf2872830U, 0xb2a5bf23U, 0xba6a0302U, 0x5c8216edU
   1583  1.1  christos .word 0x2b1ccf8aU, 0x92b479a7U, 0xf0f207f3U, 0xa1e2694eU
   1584  1.1  christos .word 0xcdf4da65U, 0xd5be0506U, 0x1f6234d1U, 0x8afea6c4U
   1585  1.1  christos .word 0x9d532e34U, 0xa055f3a2U, 0x32e18a05U, 0x75ebf6a4U
   1586  1.1  christos .word 0x39ec830bU, 0xaaef6040U, 0x069f715eU, 0x51106ebdU
   1587  1.1  christos .word 0xf98a213eU, 0x3d06dd96U, 0xae053eddU, 0x46bde64dU
   1588  1.1  christos .word 0xb58d5491U, 0x055dc471U, 0x6fd40604U, 0xff155060U
   1589  1.1  christos .word 0x24fb9819U, 0x97e9bdd6U, 0xcc434089U, 0x779ed967U
   1590  1.1  christos .word 0xbd42e8b0U, 0x888b8907U, 0x385b19e7U, 0xdbeec879U
   1591  1.1  christos .word 0x470a7ca1U, 0xe90f427cU, 0xc91e84f8U, 0x00000000U
   1592  1.1  christos .word 0x83868009U, 0x48ed2b32U, 0xac70111eU, 0x4e725a6cU
   1593  1.1  christos .word 0xfbff0efdU, 0x5638850fU, 0x1ed5ae3dU, 0x27392d36U
   1594  1.1  christos .word 0x64d90f0aU, 0x21a65c68U, 0xd1545b9bU, 0x3a2e3624U
   1595  1.1  christos .word 0xb1670a0cU, 0x0fe75793U, 0xd296eeb4U, 0x9e919b1bU
   1596  1.1  christos .word 0x4fc5c080U, 0xa220dc61U, 0x694b775aU, 0x161a121cU
   1597  1.1  christos .word 0x0aba93e2U, 0xe52aa0c0U, 0x43e0223cU, 0x1d171b12U
   1598  1.1  christos .word 0x0b0d090eU, 0xadc78bf2U, 0xb9a8b62dU, 0xc8a91e14U
   1599  1.1  christos .word 0x8519f157U, 0x4c0775afU, 0xbbdd99eeU, 0xfd607fa3U
   1600  1.1  christos .word 0x9f2601f7U, 0xbcf5725cU, 0xc53b6644U, 0x347efb5bU
   1601  1.1  christos .word 0x7629438bU, 0xdcc623cbU, 0x68fcedb6U, 0x63f1e4b8U
   1602  1.1  christos .word 0xcadc31d7U, 0x10856342U, 0x40229713U, 0x2011c684U
   1603  1.1  christos .word 0x7d244a85U, 0xf83dbbd2U, 0x1132f9aeU, 0x6da129c7U
   1604  1.1  christos .word 0x4b2f9e1dU, 0xf330b2dcU, 0xec52860dU, 0xd0e3c177U
   1605  1.1  christos .word 0x6c16b32bU, 0x99b970a9U, 0xfa489411U, 0x2264e947U
   1606  1.1  christos .word 0xc48cfca8U, 0x1a3ff0a0U, 0xd82c7d56U, 0xef903322U
   1607  1.1  christos .word 0xc74e4987U, 0xc1d138d9U, 0xfea2ca8cU, 0x360bd498U
   1608  1.1  christos .word 0xcf81f5a6U, 0x28de7aa5U, 0x268eb7daU, 0xa4bfad3fU
   1609  1.1  christos .word 0xe49d3a2cU, 0x0d927850U, 0x9bcc5f6aU, 0x62467e54U
   1610  1.1  christos .word 0xc2138df6U, 0xe8b8d890U, 0x5ef7392eU, 0xf5afc382U
   1611  1.1  christos .word 0xbe805d9fU, 0x7c93d069U, 0xa92dd56fU, 0xb31225cfU
   1612  1.1  christos .word 0x3b99acc8U, 0xa77d1810U, 0x6e639ce8U, 0x7bbb3bdbU
   1613  1.1  christos .word 0x097826cdU, 0xf418596eU, 0x01b79aecU, 0xa89a4f83U
   1614  1.1  christos .word 0x656e95e6U, 0x7ee6ffaaU, 0x08cfbc21U, 0xe6e815efU
   1615  1.1  christos .word 0xd99be7baU, 0xce366f4aU, 0xd4099feaU, 0xd67cb029U
   1616  1.1  christos .word 0xafb2a431U, 0x31233f2aU, 0x3094a5c6U, 0xc066a235U
   1617  1.1  christos .word 0x37bc4e74U, 0xa6ca82fcU, 0xb0d090e0U, 0x15d8a733U
   1618  1.1  christos .word 0x4a9804f1U, 0xf7daec41U, 0x0e50cd7fU, 0x2ff69117U
   1619  1.1  christos .word 0x8dd64d76U, 0x4db0ef43U, 0x544daaccU, 0xdf0496e4U
   1620  1.1  christos .word 0xe3b5d19eU, 0x1b886a4cU, 0xb81f2cc1U, 0x7f516546U
   1621  1.1  christos .word 0x04ea5e9dU, 0x5d358c01U, 0x737487faU, 0x2e410bfbU
   1622  1.1  christos .word 0x5a1d67b3U, 0x52d2db92U, 0x335610e9U, 0x1347d66dU
   1623  1.1  christos .word 0x8c61d79aU, 0x7a0ca137U, 0x8e14f859U, 0x893c13ebU
   1624  1.1  christos .word 0xee27a9ceU, 0x35c961b7U, 0xede51ce1U, 0x3cb1477aU
   1625  1.1  christos .word 0x59dfd29cU, 0x3f73f255U, 0x79ce1418U, 0xbf37c773U
   1626  1.1  christos .word 0xeacdf753U, 0x5baafd5fU, 0x146f3ddfU, 0x86db4478U
   1627  1.1  christos .word 0x81f3afcaU, 0x3ec468b9U, 0x2c342438U, 0x5f40a3c2U
   1628  1.1  christos .word 0x72c31d16U, 0x0c25e2bcU, 0x8b493c28U, 0x41950dffU
   1629  1.1  christos .word 0x7101a839U, 0xdeb30c08U, 0x9ce4b4d8U, 0x90c15664U
   1630  1.1  christos .word 0x6184cb7bU, 0x70b632d5U, 0x745c6c48U, 0x4257b8d0U
   1631  1.1  christos 
   1632  1.1  christos .type   AES_Td1,@object
   1633  1.1  christos AES_Td1:
   1634  1.1  christos .word 0xa7f45150U, 0x65417e53U, 0xa4171ac3U, 0x5e273a96U
   1635  1.1  christos .word 0x6bab3bcbU, 0x459d1ff1U, 0x58faacabU, 0x03e34b93U
   1636  1.1  christos .word 0xfa302055U, 0x6d76adf6U, 0x76cc8891U, 0x4c02f525U
   1637  1.1  christos .word 0xd7e54ffcU, 0xcb2ac5d7U, 0x44352680U, 0xa362b58fU
   1638  1.1  christos .word 0x5ab1de49U, 0x1bba2567U, 0x0eea4598U, 0xc0fe5de1U
   1639  1.1  christos .word 0x752fc302U, 0xf04c8112U, 0x97468da3U, 0xf9d36bc6U
   1640  1.1  christos .word 0x5f8f03e7U, 0x9c921595U, 0x7a6dbfebU, 0x595295daU
   1641  1.1  christos .word 0x83bed42dU, 0x217458d3U, 0x69e04929U, 0xc8c98e44U
   1642  1.1  christos .word 0x89c2756aU, 0x798ef478U, 0x3e58996bU, 0x71b927ddU
   1643  1.1  christos .word 0x4fe1beb6U, 0xad88f017U, 0xac20c966U, 0x3ace7db4U
   1644  1.1  christos .word 0x4adf6318U, 0x311ae582U, 0x33519760U, 0x7f536245U
   1645  1.1  christos .word 0x7764b1e0U, 0xae6bbb84U, 0xa081fe1cU, 0x2b08f994U
   1646  1.1  christos .word 0x68487058U, 0xfd458f19U, 0x6cde9487U, 0xf87b52b7U
   1647  1.1  christos .word 0xd373ab23U, 0x024b72e2U, 0x8f1fe357U, 0xab55662aU
   1648  1.1  christos .word 0x28ebb207U, 0xc2b52f03U, 0x7bc5869aU, 0x0837d3a5U
   1649  1.1  christos .word 0x872830f2U, 0xa5bf23b2U, 0x6a0302baU, 0x8216ed5cU
   1650  1.1  christos .word 0x1ccf8a2bU, 0xb479a792U, 0xf207f3f0U, 0xe2694ea1U
   1651  1.1  christos .word 0xf4da65cdU, 0xbe0506d5U, 0x6234d11fU, 0xfea6c48aU
   1652  1.1  christos .word 0x532e349dU, 0x55f3a2a0U, 0xe18a0532U, 0xebf6a475U
   1653  1.1  christos .word 0xec830b39U, 0xef6040aaU, 0x9f715e06U, 0x106ebd51U
   1654  1.1  christos .word 0x8a213ef9U, 0x06dd963dU, 0x053eddaeU, 0xbde64d46U
   1655  1.1  christos .word 0x8d5491b5U, 0x5dc47105U, 0xd406046fU, 0x155060ffU
   1656  1.1  christos .word 0xfb981924U, 0xe9bdd697U, 0x434089ccU, 0x9ed96777U
   1657  1.1  christos .word 0x42e8b0bdU, 0x8b890788U, 0x5b19e738U, 0xeec879dbU
   1658  1.1  christos .word 0x0a7ca147U, 0x0f427ce9U, 0x1e84f8c9U, 0x00000000U
   1659  1.1  christos .word 0x86800983U, 0xed2b3248U, 0x70111eacU, 0x725a6c4eU
   1660  1.1  christos .word 0xff0efdfbU, 0x38850f56U, 0xd5ae3d1eU, 0x392d3627U
   1661  1.1  christos .word 0xd90f0a64U, 0xa65c6821U, 0x545b9bd1U, 0x2e36243aU
   1662  1.1  christos .word 0x670a0cb1U, 0xe757930fU, 0x96eeb4d2U, 0x919b1b9eU
   1663  1.1  christos .word 0xc5c0804fU, 0x20dc61a2U, 0x4b775a69U, 0x1a121c16U
   1664  1.1  christos .word 0xba93e20aU, 0x2aa0c0e5U, 0xe0223c43U, 0x171b121dU
   1665  1.1  christos .word 0x0d090e0bU, 0xc78bf2adU, 0xa8b62db9U, 0xa91e14c8U
   1666  1.1  christos .word 0x19f15785U, 0x0775af4cU, 0xdd99eebbU, 0x607fa3fdU
   1667  1.1  christos .word 0x2601f79fU, 0xf5725cbcU, 0x3b6644c5U, 0x7efb5b34U
   1668  1.1  christos .word 0x29438b76U, 0xc623cbdcU, 0xfcedb668U, 0xf1e4b863U
   1669  1.1  christos .word 0xdc31d7caU, 0x85634210U, 0x22971340U, 0x11c68420U
   1670  1.1  christos .word 0x244a857dU, 0x3dbbd2f8U, 0x32f9ae11U, 0xa129c76dU
   1671  1.1  christos .word 0x2f9e1d4bU, 0x30b2dcf3U, 0x52860decU, 0xe3c177d0U
   1672  1.1  christos .word 0x16b32b6cU, 0xb970a999U, 0x489411faU, 0x64e94722U
   1673  1.1  christos .word 0x8cfca8c4U, 0x3ff0a01aU, 0x2c7d56d8U, 0x903322efU
   1674  1.1  christos .word 0x4e4987c7U, 0xd138d9c1U, 0xa2ca8cfeU, 0x0bd49836U
   1675  1.1  christos .word 0x81f5a6cfU, 0xde7aa528U, 0x8eb7da26U, 0xbfad3fa4U
   1676  1.1  christos .word 0x9d3a2ce4U, 0x9278500dU, 0xcc5f6a9bU, 0x467e5462U
   1677  1.1  christos .word 0x138df6c2U, 0xb8d890e8U, 0xf7392e5eU, 0xafc382f5U
   1678  1.1  christos .word 0x805d9fbeU, 0x93d0697cU, 0x2dd56fa9U, 0x1225cfb3U
   1679  1.1  christos .word 0x99acc83bU, 0x7d1810a7U, 0x639ce86eU, 0xbb3bdb7bU
   1680  1.1  christos .word 0x7826cd09U, 0x18596ef4U, 0xb79aec01U, 0x9a4f83a8U
   1681  1.1  christos .word 0x6e95e665U, 0xe6ffaa7eU, 0xcfbc2108U, 0xe815efe6U
   1682  1.1  christos .word 0x9be7bad9U, 0x366f4aceU, 0x099fead4U, 0x7cb029d6U
   1683  1.1  christos .word 0xb2a431afU, 0x233f2a31U, 0x94a5c630U, 0x66a235c0U
   1684  1.1  christos .word 0xbc4e7437U, 0xca82fca6U, 0xd090e0b0U, 0xd8a73315U
   1685  1.1  christos .word 0x9804f14aU, 0xdaec41f7U, 0x50cd7f0eU, 0xf691172fU
   1686  1.1  christos .word 0xd64d768dU, 0xb0ef434dU, 0x4daacc54U, 0x0496e4dfU
   1687  1.1  christos .word 0xb5d19ee3U, 0x886a4c1bU, 0x1f2cc1b8U, 0x5165467fU
   1688  1.1  christos .word 0xea5e9d04U, 0x358c015dU, 0x7487fa73U, 0x410bfb2eU
   1689  1.1  christos .word 0x1d67b35aU, 0xd2db9252U, 0x5610e933U, 0x47d66d13U
   1690  1.1  christos .word 0x61d79a8cU, 0x0ca1377aU, 0x14f8598eU, 0x3c13eb89U
   1691  1.1  christos .word 0x27a9ceeeU, 0xc961b735U, 0xe51ce1edU, 0xb1477a3cU
   1692  1.1  christos .word 0xdfd29c59U, 0x73f2553fU, 0xce141879U, 0x37c773bfU
   1693  1.1  christos .word 0xcdf753eaU, 0xaafd5f5bU, 0x6f3ddf14U, 0xdb447886U
   1694  1.1  christos .word 0xf3afca81U, 0xc468b93eU, 0x3424382cU, 0x40a3c25fU
   1695  1.1  christos .word 0xc31d1672U, 0x25e2bc0cU, 0x493c288bU, 0x950dff41U
   1696  1.1  christos .word 0x01a83971U, 0xb30c08deU, 0xe4b4d89cU, 0xc1566490U
   1697  1.1  christos .word 0x84cb7b61U, 0xb632d570U, 0x5c6c4874U, 0x57b8d042U
   1698  1.1  christos 
   1699  1.1  christos .type   AES_Td2,@object
   1700  1.1  christos AES_Td2:
   1701  1.1  christos .word 0xf45150a7U, 0x417e5365U, 0x171ac3a4U, 0x273a965eU
   1702  1.1  christos .word 0xab3bcb6bU, 0x9d1ff145U, 0xfaacab58U, 0xe34b9303U
   1703  1.1  christos .word 0x302055faU, 0x76adf66dU, 0xcc889176U, 0x02f5254cU
   1704  1.1  christos .word 0xe54ffcd7U, 0x2ac5d7cbU, 0x35268044U, 0x62b58fa3U
   1705  1.1  christos .word 0xb1de495aU, 0xba25671bU, 0xea45980eU, 0xfe5de1c0U
   1706  1.1  christos .word 0x2fc30275U, 0x4c8112f0U, 0x468da397U, 0xd36bc6f9U
   1707  1.1  christos .word 0x8f03e75fU, 0x9215959cU, 0x6dbfeb7aU, 0x5295da59U
   1708  1.1  christos .word 0xbed42d83U, 0x7458d321U, 0xe0492969U, 0xc98e44c8U
   1709  1.1  christos .word 0xc2756a89U, 0x8ef47879U, 0x58996b3eU, 0xb927dd71U
   1710  1.1  christos .word 0xe1beb64fU, 0x88f017adU, 0x20c966acU, 0xce7db43aU
   1711  1.1  christos .word 0xdf63184aU, 0x1ae58231U, 0x51976033U, 0x5362457fU
   1712  1.1  christos .word 0x64b1e077U, 0x6bbb84aeU, 0x81fe1ca0U, 0x08f9942bU
   1713  1.1  christos .word 0x48705868U, 0x458f19fdU, 0xde94876cU, 0x7b52b7f8U
   1714  1.1  christos .word 0x73ab23d3U, 0x4b72e202U, 0x1fe3578fU, 0x55662aabU
   1715  1.1  christos .word 0xebb20728U, 0xb52f03c2U, 0xc5869a7bU, 0x37d3a508U
   1716  1.1  christos .word 0x2830f287U, 0xbf23b2a5U, 0x0302ba6aU, 0x16ed5c82U
   1717  1.1  christos .word 0xcf8a2b1cU, 0x79a792b4U, 0x07f3f0f2U, 0x694ea1e2U
   1718  1.1  christos .word 0xda65cdf4U, 0x0506d5beU, 0x34d11f62U, 0xa6c48afeU
   1719  1.1  christos .word 0x2e349d53U, 0xf3a2a055U, 0x8a0532e1U, 0xf6a475ebU
   1720  1.1  christos .word 0x830b39ecU, 0x6040aaefU, 0x715e069fU, 0x6ebd5110U
   1721  1.1  christos .word 0x213ef98aU, 0xdd963d06U, 0x3eddae05U, 0xe64d46bdU
   1722  1.1  christos .word 0x5491b58dU, 0xc471055dU, 0x06046fd4U, 0x5060ff15U
   1723  1.1  christos .word 0x981924fbU, 0xbdd697e9U, 0x4089cc43U, 0xd967779eU
   1724  1.1  christos .word 0xe8b0bd42U, 0x8907888bU, 0x19e7385bU, 0xc879dbeeU
   1725  1.1  christos .word 0x7ca1470aU, 0x427ce90fU, 0x84f8c91eU, 0x00000000U
   1726  1.1  christos .word 0x80098386U, 0x2b3248edU, 0x111eac70U, 0x5a6c4e72U
   1727  1.1  christos .word 0x0efdfbffU, 0x850f5638U, 0xae3d1ed5U, 0x2d362739U
   1728  1.1  christos .word 0x0f0a64d9U, 0x5c6821a6U, 0x5b9bd154U, 0x36243a2eU
   1729  1.1  christos .word 0x0a0cb167U, 0x57930fe7U, 0xeeb4d296U, 0x9b1b9e91U
   1730  1.1  christos .word 0xc0804fc5U, 0xdc61a220U, 0x775a694bU, 0x121c161aU
   1731  1.1  christos .word 0x93e20abaU, 0xa0c0e52aU, 0x223c43e0U, 0x1b121d17U
   1732  1.1  christos .word 0x090e0b0dU, 0x8bf2adc7U, 0xb62db9a8U, 0x1e14c8a9U
   1733  1.1  christos .word 0xf1578519U, 0x75af4c07U, 0x99eebbddU, 0x7fa3fd60U
   1734  1.1  christos .word 0x01f79f26U, 0x725cbcf5U, 0x6644c53bU, 0xfb5b347eU
   1735  1.1  christos .word 0x438b7629U, 0x23cbdcc6U, 0xedb668fcU, 0xe4b863f1U
   1736  1.1  christos .word 0x31d7cadcU, 0x63421085U, 0x97134022U, 0xc6842011U
   1737  1.1  christos .word 0x4a857d24U, 0xbbd2f83dU, 0xf9ae1132U, 0x29c76da1U
   1738  1.1  christos .word 0x9e1d4b2fU, 0xb2dcf330U, 0x860dec52U, 0xc177d0e3U
   1739  1.1  christos .word 0xb32b6c16U, 0x70a999b9U, 0x9411fa48U, 0xe9472264U
   1740  1.1  christos .word 0xfca8c48cU, 0xf0a01a3fU, 0x7d56d82cU, 0x3322ef90U
   1741  1.1  christos .word 0x4987c74eU, 0x38d9c1d1U, 0xca8cfea2U, 0xd498360bU
   1742  1.1  christos .word 0xf5a6cf81U, 0x7aa528deU, 0xb7da268eU, 0xad3fa4bfU
   1743  1.1  christos .word 0x3a2ce49dU, 0x78500d92U, 0x5f6a9bccU, 0x7e546246U
   1744  1.1  christos .word 0x8df6c213U, 0xd890e8b8U, 0x392e5ef7U, 0xc382f5afU
   1745  1.1  christos .word 0x5d9fbe80U, 0xd0697c93U, 0xd56fa92dU, 0x25cfb312U
   1746  1.1  christos .word 0xacc83b99U, 0x1810a77dU, 0x9ce86e63U, 0x3bdb7bbbU
   1747  1.1  christos .word 0x26cd0978U, 0x596ef418U, 0x9aec01b7U, 0x4f83a89aU
   1748  1.1  christos .word 0x95e6656eU, 0xffaa7ee6U, 0xbc2108cfU, 0x15efe6e8U
   1749  1.1  christos .word 0xe7bad99bU, 0x6f4ace36U, 0x9fead409U, 0xb029d67cU
   1750  1.1  christos .word 0xa431afb2U, 0x3f2a3123U, 0xa5c63094U, 0xa235c066U
   1751  1.1  christos .word 0x4e7437bcU, 0x82fca6caU, 0x90e0b0d0U, 0xa73315d8U
   1752  1.1  christos .word 0x04f14a98U, 0xec41f7daU, 0xcd7f0e50U, 0x91172ff6U
   1753  1.1  christos .word 0x4d768dd6U, 0xef434db0U, 0xaacc544dU, 0x96e4df04U
   1754  1.1  christos .word 0xd19ee3b5U, 0x6a4c1b88U, 0x2cc1b81fU, 0x65467f51U
   1755  1.1  christos .word 0x5e9d04eaU, 0x8c015d35U, 0x87fa7374U, 0x0bfb2e41U
   1756  1.1  christos .word 0x67b35a1dU, 0xdb9252d2U, 0x10e93356U, 0xd66d1347U
   1757  1.1  christos .word 0xd79a8c61U, 0xa1377a0cU, 0xf8598e14U, 0x13eb893cU
   1758  1.1  christos .word 0xa9ceee27U, 0x61b735c9U, 0x1ce1ede5U, 0x477a3cb1U
   1759  1.1  christos .word 0xd29c59dfU, 0xf2553f73U, 0x141879ceU, 0xc773bf37U
   1760  1.1  christos .word 0xf753eacdU, 0xfd5f5baaU, 0x3ddf146fU, 0x447886dbU
   1761  1.1  christos .word 0xafca81f3U, 0x68b93ec4U, 0x24382c34U, 0xa3c25f40U
   1762  1.1  christos .word 0x1d1672c3U, 0xe2bc0c25U, 0x3c288b49U, 0x0dff4195U
   1763  1.1  christos .word 0xa8397101U, 0x0c08deb3U, 0xb4d89ce4U, 0x566490c1U
   1764  1.1  christos .word 0xcb7b6184U, 0x32d570b6U, 0x6c48745cU, 0xb8d04257U
   1765  1.1  christos 
   1766  1.1  christos .type   AES_Td3,@object
   1767  1.1  christos AES_Td3:
   1768  1.1  christos .word 0x5150a7f4U, 0x7e536541U, 0x1ac3a417U, 0x3a965e27U
   1769  1.1  christos .word 0x3bcb6babU, 0x1ff1459dU, 0xacab58faU, 0x4b9303e3U
   1770  1.1  christos .word 0x2055fa30U, 0xadf66d76U, 0x889176ccU, 0xf5254c02U
   1771  1.1  christos .word 0x4ffcd7e5U, 0xc5d7cb2aU, 0x26804435U, 0xb58fa362U
   1772  1.1  christos .word 0xde495ab1U, 0x25671bbaU, 0x45980eeaU, 0x5de1c0feU
   1773  1.1  christos .word 0xc302752fU, 0x8112f04cU, 0x8da39746U, 0x6bc6f9d3U
   1774  1.1  christos .word 0x03e75f8fU, 0x15959c92U, 0xbfeb7a6dU, 0x95da5952U
   1775  1.1  christos .word 0xd42d83beU, 0x58d32174U, 0x492969e0U, 0x8e44c8c9U
   1776  1.1  christos .word 0x756a89c2U, 0xf478798eU, 0x996b3e58U, 0x27dd71b9U
   1777  1.1  christos .word 0xbeb64fe1U, 0xf017ad88U, 0xc966ac20U, 0x7db43aceU
   1778  1.1  christos .word 0x63184adfU, 0xe582311aU, 0x97603351U, 0x62457f53U
   1779  1.1  christos .word 0xb1e07764U, 0xbb84ae6bU, 0xfe1ca081U, 0xf9942b08U
   1780  1.1  christos .word 0x70586848U, 0x8f19fd45U, 0x94876cdeU, 0x52b7f87bU
   1781  1.1  christos .word 0xab23d373U, 0x72e2024bU, 0xe3578f1fU, 0x662aab55U
   1782  1.1  christos .word 0xb20728ebU, 0x2f03c2b5U, 0x869a7bc5U, 0xd3a50837U
   1783  1.1  christos .word 0x30f28728U, 0x23b2a5bfU, 0x02ba6a03U, 0xed5c8216U
   1784  1.1  christos .word 0x8a2b1ccfU, 0xa792b479U, 0xf3f0f207U, 0x4ea1e269U
   1785  1.1  christos .word 0x65cdf4daU, 0x06d5be05U, 0xd11f6234U, 0xc48afea6U
   1786  1.1  christos .word 0x349d532eU, 0xa2a055f3U, 0x0532e18aU, 0xa475ebf6U
   1787  1.1  christos .word 0x0b39ec83U, 0x40aaef60U, 0x5e069f71U, 0xbd51106eU
   1788  1.1  christos .word 0x3ef98a21U, 0x963d06ddU, 0xddae053eU, 0x4d46bde6U
   1789  1.1  christos .word 0x91b58d54U, 0x71055dc4U, 0x046fd406U, 0x60ff1550U
   1790  1.1  christos .word 0x1924fb98U, 0xd697e9bdU, 0x89cc4340U, 0x67779ed9U
   1791  1.1  christos .word 0xb0bd42e8U, 0x07888b89U, 0xe7385b19U, 0x79dbeec8U
   1792  1.1  christos .word 0xa1470a7cU, 0x7ce90f42U, 0xf8c91e84U, 0x00000000U
   1793  1.1  christos .word 0x09838680U, 0x3248ed2bU, 0x1eac7011U, 0x6c4e725aU
   1794  1.1  christos .word 0xfdfbff0eU, 0x0f563885U, 0x3d1ed5aeU, 0x3627392dU
   1795  1.1  christos .word 0x0a64d90fU, 0x6821a65cU, 0x9bd1545bU, 0x243a2e36U
   1796  1.1  christos .word 0x0cb1670aU, 0x930fe757U, 0xb4d296eeU, 0x1b9e919bU
   1797  1.1  christos .word 0x804fc5c0U, 0x61a220dcU, 0x5a694b77U, 0x1c161a12U
   1798  1.1  christos .word 0xe20aba93U, 0xc0e52aa0U, 0x3c43e022U, 0x121d171bU
   1799  1.1  christos .word 0x0e0b0d09U, 0xf2adc78bU, 0x2db9a8b6U, 0x14c8a91eU
   1800  1.1  christos .word 0x578519f1U, 0xaf4c0775U, 0xeebbdd99U, 0xa3fd607fU
   1801  1.1  christos .word 0xf79f2601U, 0x5cbcf572U, 0x44c53b66U, 0x5b347efbU
   1802  1.1  christos .word 0x8b762943U, 0xcbdcc623U, 0xb668fcedU, 0xb863f1e4U
   1803  1.1  christos .word 0xd7cadc31U, 0x42108563U, 0x13402297U, 0x842011c6U
   1804  1.1  christos .word 0x857d244aU, 0xd2f83dbbU, 0xae1132f9U, 0xc76da129U
   1805  1.1  christos .word 0x1d4b2f9eU, 0xdcf330b2U, 0x0dec5286U, 0x77d0e3c1U
   1806  1.1  christos .word 0x2b6c16b3U, 0xa999b970U, 0x11fa4894U, 0x472264e9U
   1807  1.1  christos .word 0xa8c48cfcU, 0xa01a3ff0U, 0x56d82c7dU, 0x22ef9033U
   1808  1.1  christos .word 0x87c74e49U, 0xd9c1d138U, 0x8cfea2caU, 0x98360bd4U
   1809  1.1  christos .word 0xa6cf81f5U, 0xa528de7aU, 0xda268eb7U, 0x3fa4bfadU
   1810  1.1  christos .word 0x2ce49d3aU, 0x500d9278U, 0x6a9bcc5fU, 0x5462467eU
   1811  1.1  christos .word 0xf6c2138dU, 0x90e8b8d8U, 0x2e5ef739U, 0x82f5afc3U
   1812  1.1  christos .word 0x9fbe805dU, 0x697c93d0U, 0x6fa92dd5U, 0xcfb31225U
   1813  1.1  christos .word 0xc83b99acU, 0x10a77d18U, 0xe86e639cU, 0xdb7bbb3bU
   1814  1.1  christos .word 0xcd097826U, 0x6ef41859U, 0xec01b79aU, 0x83a89a4fU
   1815  1.1  christos .word 0xe6656e95U, 0xaa7ee6ffU, 0x2108cfbcU, 0xefe6e815U
   1816  1.1  christos .word 0xbad99be7U, 0x4ace366fU, 0xead4099fU, 0x29d67cb0U
   1817  1.1  christos .word 0x31afb2a4U, 0x2a31233fU, 0xc63094a5U, 0x35c066a2U
   1818  1.1  christos .word 0x7437bc4eU, 0xfca6ca82U, 0xe0b0d090U, 0x3315d8a7U
   1819  1.1  christos .word 0xf14a9804U, 0x41f7daecU, 0x7f0e50cdU, 0x172ff691U
   1820  1.1  christos .word 0x768dd64dU, 0x434db0efU, 0xcc544daaU, 0xe4df0496U
   1821  1.1  christos .word 0x9ee3b5d1U, 0x4c1b886aU, 0xc1b81f2cU, 0x467f5165U
   1822  1.1  christos .word 0x9d04ea5eU, 0x015d358cU, 0xfa737487U, 0xfb2e410bU
   1823  1.1  christos .word 0xb35a1d67U, 0x9252d2dbU, 0xe9335610U, 0x6d1347d6U
   1824  1.1  christos .word 0x9a8c61d7U, 0x377a0ca1U, 0x598e14f8U, 0xeb893c13U
   1825  1.1  christos .word 0xceee27a9U, 0xb735c961U, 0xe1ede51cU, 0x7a3cb147U
   1826  1.1  christos .word 0x9c59dfd2U, 0x553f73f2U, 0x1879ce14U, 0x73bf37c7U
   1827  1.1  christos .word 0x53eacdf7U, 0x5f5baafdU, 0xdf146f3dU, 0x7886db44U
   1828  1.1  christos .word 0xca81f3afU, 0xb93ec468U, 0x382c3424U, 0xc25f40a3U
   1829  1.1  christos .word 0x1672c31dU, 0xbc0c25e2U, 0x288b493cU, 0xff41950dU
   1830  1.1  christos .word 0x397101a8U, 0x08deb30cU, 0xd89ce4b4U, 0x6490c156U
   1831  1.1  christos .word 0x7b6184cbU, 0xd570b632U, 0x48745c6cU, 0xd04257b8U
   1832  1.1  christos 
   1833  1.1  christos .type   AES_Td4,@object
   1834  1.1  christos AES_Td4:
   1835  1.1  christos .byte   0x52U, 0x09U, 0x6aU, 0xd5U, 0x30U, 0x36U, 0xa5U, 0x38U
   1836  1.1  christos .byte   0xbfU, 0x40U, 0xa3U, 0x9eU, 0x81U, 0xf3U, 0xd7U, 0xfbU
   1837  1.1  christos .byte   0x7cU, 0xe3U, 0x39U, 0x82U, 0x9bU, 0x2fU, 0xffU, 0x87U
   1838  1.1  christos .byte   0x34U, 0x8eU, 0x43U, 0x44U, 0xc4U, 0xdeU, 0xe9U, 0xcbU
   1839  1.1  christos .byte   0x54U, 0x7bU, 0x94U, 0x32U, 0xa6U, 0xc2U, 0x23U, 0x3dU
   1840  1.1  christos .byte   0xeeU, 0x4cU, 0x95U, 0x0bU, 0x42U, 0xfaU, 0xc3U, 0x4eU
   1841  1.1  christos .byte   0x08U, 0x2eU, 0xa1U, 0x66U, 0x28U, 0xd9U, 0x24U, 0xb2U
   1842  1.1  christos .byte   0x76U, 0x5bU, 0xa2U, 0x49U, 0x6dU, 0x8bU, 0xd1U, 0x25U
   1843  1.1  christos .byte   0x72U, 0xf8U, 0xf6U, 0x64U, 0x86U, 0x68U, 0x98U, 0x16U
   1844  1.1  christos .byte   0xd4U, 0xa4U, 0x5cU, 0xccU, 0x5dU, 0x65U, 0xb6U, 0x92U
   1845  1.1  christos .byte   0x6cU, 0x70U, 0x48U, 0x50U, 0xfdU, 0xedU, 0xb9U, 0xdaU
   1846  1.1  christos .byte   0x5eU, 0x15U, 0x46U, 0x57U, 0xa7U, 0x8dU, 0x9dU, 0x84U
   1847  1.1  christos .byte   0x90U, 0xd8U, 0xabU, 0x00U, 0x8cU, 0xbcU, 0xd3U, 0x0aU
   1848  1.1  christos .byte   0xf7U, 0xe4U, 0x58U, 0x05U, 0xb8U, 0xb3U, 0x45U, 0x06U
   1849  1.1  christos .byte   0xd0U, 0x2cU, 0x1eU, 0x8fU, 0xcaU, 0x3fU, 0x0fU, 0x02U
   1850  1.1  christos .byte   0xc1U, 0xafU, 0xbdU, 0x03U, 0x01U, 0x13U, 0x8aU, 0x6bU
   1851  1.1  christos .byte   0x3aU, 0x91U, 0x11U, 0x41U, 0x4fU, 0x67U, 0xdcU, 0xeaU
   1852  1.1  christos .byte   0x97U, 0xf2U, 0xcfU, 0xceU, 0xf0U, 0xb4U, 0xe6U, 0x73U
   1853  1.1  christos .byte   0x96U, 0xacU, 0x74U, 0x22U, 0xe7U, 0xadU, 0x35U, 0x85U
   1854  1.1  christos .byte   0xe2U, 0xf9U, 0x37U, 0xe8U, 0x1cU, 0x75U, 0xdfU, 0x6eU
   1855  1.1  christos .byte   0x47U, 0xf1U, 0x1aU, 0x71U, 0x1dU, 0x29U, 0xc5U, 0x89U
   1856  1.1  christos .byte   0x6fU, 0xb7U, 0x62U, 0x0eU, 0xaaU, 0x18U, 0xbeU, 0x1bU
   1857  1.1  christos .byte   0xfcU, 0x56U, 0x3eU, 0x4bU, 0xc6U, 0xd2U, 0x79U, 0x20U
   1858  1.1  christos .byte   0x9aU, 0xdbU, 0xc0U, 0xfeU, 0x78U, 0xcdU, 0x5aU, 0xf4U
   1859  1.1  christos .byte   0x1fU, 0xddU, 0xa8U, 0x33U, 0x88U, 0x07U, 0xc7U, 0x31U
   1860  1.1  christos .byte   0xb1U, 0x12U, 0x10U, 0x59U, 0x27U, 0x80U, 0xecU, 0x5fU
   1861  1.1  christos .byte   0x60U, 0x51U, 0x7fU, 0xa9U, 0x19U, 0xb5U, 0x4aU, 0x0dU
   1862  1.1  christos .byte   0x2dU, 0xe5U, 0x7aU, 0x9fU, 0x93U, 0xc9U, 0x9cU, 0xefU
   1863  1.1  christos .byte   0xa0U, 0xe0U, 0x3bU, 0x4dU, 0xaeU, 0x2aU, 0xf5U, 0xb0U
   1864  1.1  christos .byte   0xc8U, 0xebU, 0xbbU, 0x3cU, 0x83U, 0x53U, 0x99U, 0x61U
   1865  1.1  christos .byte   0x17U, 0x2bU, 0x04U, 0x7eU, 0xbaU, 0x77U, 0xd6U, 0x26U
   1866  1.1  christos .byte   0xe1U, 0x69U, 0x14U, 0x63U, 0x55U, 0x21U, 0x0cU, 0x7dU
   1867  1.1  christos 
   1868  1.1  christos .type   AES_rcon,@object
   1869  1.1  christos AES_rcon:
   1870  1.1  christos .word 0x00000001U, 0x00000002U, 0x00000004U, 0x00000008U
   1871  1.1  christos .word 0x00000010U, 0x00000020U, 0x00000040U, 0x00000080U
   1872  1.1  christos .word 0x0000001BU, 0x00000036U
   1873