Home | History | Annotate | Line # | Download | only in m68k
      1  1.1.1.2  christos |	$NetBSD: aes-m68k.S,v 1.1.1.2 2023/04/18 14:19:07 christos Exp $
      2      1.1  christos 
      3      1.1  christos | Copyright (C) 2016 Tetsuya Isaki. All rights reserved.
      4      1.1  christos | Copyright (C) 2016 Y.Sugahara (moveccr). All rights reserved.
      5      1.1  christos |
      6      1.1  christos | Redistribution and use in source and binary forms, with or without
      7      1.1  christos | modification, are permitted provided that the following conditions
      8      1.1  christos | are met:
      9      1.1  christos | 1. Redistributions of source code must retain the above copyright
     10      1.1  christos |    notice, this list of conditions and the following disclaimer.
     11      1.1  christos | 2. Redistributions in binary form must reproduce the above copyright
     12      1.1  christos |    notice, this list of conditions and the following disclaimer in the
     13      1.1  christos |    documentation and/or other materials provided with the distribution.
     14      1.1  christos |
     15      1.1  christos | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     16      1.1  christos | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     17      1.1  christos | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     18      1.1  christos | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     19      1.1  christos | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     20      1.1  christos | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     21      1.1  christos | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
     22      1.1  christos | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     23      1.1  christos | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     24      1.1  christos | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     25      1.1  christos | SUCH DAMAGE.
     26      1.1  christos 
     27      1.1  christos #define rd_key	(0)
     28      1.1  christos #define rounds	(60 * 4)
     29      1.1  christos 
     30      1.1  christos | int
     31  1.1.1.2  christos | AES_set_encrypt_key(const unsigned char *userKey,
     32      1.1  christos |  const int bits,
     33      1.1  christos |  AES_KEY *key)
     34  1.1.1.2  christos 	.global	AES_set_encrypt_key
     35  1.1.1.2  christos 	.type	AES_set_encrypt_key, @function
     36  1.1.1.2  christos AES_set_encrypt_key:
     37  1.1.1.2  christos .Laes_set_encrypt_key:
     38      1.1  christos 	moveml	%d2-%d7/%a2-%a6,%sp@-
     39      1.1  christos 	moveal	%sp@(44+4),%a0		| userKey
     40      1.1  christos 	moveal	%sp@(44+8),%a1		| bits
     41      1.1  christos 	moveal	%sp@(44+12),%a3		| key
     42      1.1  christos 
     43      1.1  christos 	tstl	%a0
     44  1.1.1.2  christos 	beq	.Lpek_return1		| return -1 if userKey == NULL
     45      1.1  christos 	tstl	%a3
     46  1.1.1.2  christos 	beq	.Lpek_return1		| return -1 if key == NULL
     47      1.1  christos 
     48      1.1  christos 	cmpaw	#128,%a1
     49  1.1.1.2  christos 	bne	.Lpek192_check		| unless bits == 128
     50  1.1.1.2  christos .Lpek128:
     51      1.1  christos 	| %d0-%d7 rk[0..7]
     52      1.1  christos 	| %a0 userKey, Te0
     53      1.1  christos 	| %a1          Te1
     54      1.1  christos 	| %a2          Te2
     55      1.1  christos 	| %a3 key,     Te3
     56      1.1  christos 	| %a4 rcon_byte
     57      1.1  christos 	| %a5 &rk[4]
     58      1.1  christos 	| %a6 end of rcon_byte
     59      1.1  christos 
     60      1.1  christos 	moveq	#10,%d0
     61      1.1  christos 	movel	%d0,%a3@(rounds)	| key->rounds = 10
     62      1.1  christos 
     63      1.1  christos 	lea	%a3@(rd_key),%a5	| &rk[0]
     64      1.1  christos 
     65      1.1  christos 	| rk[0] = GETU32(userKey     );
     66      1.1  christos 	| rk[1] = GETU32(userKey +  4);
     67      1.1  christos 	| rk[2] = GETU32(userKey +  8);
     68      1.1  christos 	| rk[3] = GETU32(userKey + 12);
     69      1.1  christos 	moveml	%a0@,%d0-%d3
     70      1.1  christos 	movel	%d0,%a5@+
     71      1.1  christos 	movel	%d1,%a5@+
     72      1.1  christos 	movel	%d2,%a5@+
     73      1.1  christos 	movel	%d3,%a5@+
     74      1.1  christos 
     75      1.1  christos 	lea	%pc@(Te0),%a0		| %a0 = Te0
     76      1.1  christos 	lea	%a0@(256*4),%a1		| %a1 = Te1
     77      1.1  christos 	lea	%a1@(256*4),%a2		| %a2 = Te2
     78      1.1  christos 	lea	%a2@(256*4),%a3		| %a3 = Te3
     79      1.1  christos 
     80      1.1  christos 	moveq	#0,%d7
     81      1.1  christos 	lea	%pc@(rcon_byte),%a4
     82      1.1  christos 	lea	%a4@(10),%a6
     83      1.1  christos 
     84  1.1.1.2  christos .Lpek128_loop:
     85      1.1  christos 					| d6 consists of four Te index bytes
     86      1.1  christos 	movel	%d3,%d5			| d5=rk[3] as {1,2,3,0}
     87      1.1  christos 	moveb	%d5,%d7			| d7=temp
     88      1.1  christos 	moveb	%a0@(2,%d7:w:4),%d4	| d4=$xxxxxx00
     89      1.1  christos 	swap	%d5			| d5={3,0,1,2}
     90      1.1  christos 	lsll	#8,%d4			| d4=$xxxx00xx
     91      1.1  christos 	moveb	%d5,%d7			| d7=temp>>16
     92      1.1  christos 	moveb	%a2@(0,%d7:w:4),%d6	| d6=$xxxxxx22
     93      1.1  christos 	lsrl	#8,%d5			| d5={x,3,0,1}
     94      1.1  christos 	moveb	%a4@+,%d7		| LSByte ^= rcon[i]
     95      1.1  christos 	eorb	%d7,%d6
     96      1.1  christos 	lsll	#8,%d6			| d6=$xxxx22xx
     97      1.1  christos 	moveb	%d5,%d7			| d7=temp>>24
     98      1.1  christos 	moveb	%a1@(3,%d7:w:4),%d4	| d4=$xxxx0011
     99      1.1  christos 	swap	%d5			| d5={0,1,x,3}
    100      1.1  christos 	moveb	%d5,%d7			| d7=temp>>8
    101      1.1  christos 	moveb	%a3@(1,%d7:w:4),%d6	| d6=$xxxx2233
    102      1.1  christos 	swap	%d6			| d6=$2233xxxx
    103      1.1  christos 	movew	%d4,%d6			| d6=$22330011
    104      1.1  christos 
    105      1.1  christos 	eorl	%d6,%d0			| rk[4] = rk[0]^ (Te..)
    106      1.1  christos 	movel	%d0,%a5@+
    107      1.1  christos 	eorl	%d0,%d1			| rk[5] = rk[1] ^ rk[4];
    108      1.1  christos 	movel	%d1,%a5@+
    109      1.1  christos 	eorl	%d1,%d2			| rk[6] = rk[2] ^ rk[5];
    110      1.1  christos 	movel	%d2,%a5@+
    111      1.1  christos 	eorl	%d2,%d3			| rk[7] = rk[3] ^ rk[6];
    112      1.1  christos 	movel	%d3,%a5@+
    113      1.1  christos 
    114      1.1  christos 	cmpal	%a4,%a6
    115  1.1.1.2  christos 	bne	.Lpek128_loop		|if (++i == 10) return 0;
    116      1.1  christos 
    117  1.1.1.2  christos .Lpek_return0:
    118      1.1  christos 	moveql	#0,%d0
    119  1.1.1.2  christos .Lpek_return:
    120      1.1  christos 	moveml	%sp@+,%d2-%d7/%a2-%a6
    121      1.1  christos 	rts
    122      1.1  christos 
    123  1.1.1.2  christos .Lpek192_check:
    124      1.1  christos 	| %a0 userKey
    125      1.1  christos 	| %a1 bits
    126      1.1  christos 	| %a3 key
    127      1.1  christos 	cmpaw	#192,%a1
    128  1.1.1.2  christos 	bne	.Lpek256_check		| unless bits == 192
    129  1.1.1.2  christos .Lpek192:
    130      1.1  christos 	| %a0 Te0
    131      1.1  christos 	| %a1 Te1
    132      1.1  christos 	| %a2 Te2
    133      1.1  christos 	| %a3 Te3
    134      1.1  christos 	| %a4 rcon_byte
    135      1.1  christos 	| %a5 &rk[6]
    136      1.1  christos 	| %a6 end of rcon_byte
    137      1.1  christos 	moveq	#12,%d0
    138      1.1  christos 	movel	%d0,%a3@(rounds)	| key->rounds = 12
    139      1.1  christos 
    140      1.1  christos 	lea	%a3@(rd_key),%a5	| &rk[0]
    141      1.1  christos 
    142      1.1  christos 	| rk[0] = GETU32(userKey     );
    143      1.1  christos 	| rk[1] = GETU32(userKey +  4);
    144      1.1  christos 	| rk[2] = GETU32(userKey +  8);
    145      1.1  christos 	| rk[3] = GETU32(userKey + 12);
    146      1.1  christos 	| rk[4] = GETU32(userKey + 16);
    147      1.1  christos 	| rk[5] = GETU32(userKey + 20);
    148      1.1  christos 	moveml	%a0@,%d0-%d5		| copy userKey[0..23]
    149      1.1  christos 	movel	%d0,%a5@+
    150      1.1  christos 	movel	%d1,%a5@+
    151      1.1  christos 	movel	%d2,%a5@+
    152      1.1  christos 	movel	%d3,%a5@+
    153      1.1  christos 	movel	%d4,%a5@+
    154      1.1  christos 	movel	%d5,%a5@		| read again later
    155      1.1  christos 
    156      1.1  christos 	lea	%pc@(Te0   +2),%a0	| %a0 = Te0 + 2
    157      1.1  christos 	lea	%a0@(256*4 -2+3),%a1	| %a1 = Te1 + 3
    158      1.1  christos 	lea	%a1@(256*4 -3+0),%a2	| %a2 = Te2 + 0
    159      1.1  christos 	lea	%a2@(256*4 +0+1),%a3	| %a3 = Te3 + 1
    160      1.1  christos 
    161      1.1  christos 	moveq	#0,%d7
    162      1.1  christos 	lea	%pc@(rcon_byte),%a4
    163      1.1  christos 	lea	%a4@(8),%a6
    164  1.1.1.2  christos 	bra	.Lpek192_loop_start
    165      1.1  christos 
    166  1.1.1.2  christos .Lpek192_loop:
    167      1.1  christos 	eorl	%d3,%d4			| rk[10] = rk[4] ^ rk[9]
    168      1.1  christos 	movel	%d4,%a5@+		| %d4 is rk[10]
    169      1.1  christos 	eorl	%d4,%d5			| rk[11] = rk[5] ^ rk[10]
    170      1.1  christos 	movel	%d5,%a5@		| %d5 is rk[11]
    171      1.1  christos 
    172  1.1.1.2  christos .Lpek192_loop_start:
    173      1.1  christos 	| %d0..%d5 = rk[0..5]
    174      1.1  christos 	|
    175      1.1  christos 	| temp = rk[5];
    176      1.1  christos 	| rk[6]  = (Te0[(temp      ) & 0xff] & 0x0000ff00)
    177      1.1  christos 	| rk[6] |= (Te3[(temp >>  8) & 0xff] & 0x00ff0000)
    178      1.1  christos 	| rk[6] |= (Te2[(temp >> 16) & 0xff] & 0xff000000)
    179      1.1  christos 	|         ^ rcon[i]
    180      1.1  christos 	| rk[6] |= (Te1[(temp >> 24)       ] & 0x000000ff)
    181      1.1  christos 	moveb	%d5,%d7			| temp >> 0
    182      1.1  christos 	moveb	%a0@(%d7:w:4),%d6	| d6=$xxxxxx00
    183      1.1  christos 	rorl	#8,%d6			| d6=$00xxxxxx
    184      1.1  christos 	lsrl	#8,%d5			| temp >> 8
    185      1.1  christos 	moveb	%d5,%d7
    186      1.1  christos 	moveb	%a3@(%d7:w:4),%d6	| d6=$00xxxx11
    187      1.1  christos 	rorl	#8,%d6			| d6=$1100xxxx
    188      1.1  christos 	lsrl	#8,%d5			| temp >> 16
    189      1.1  christos 	moveb	%d5,%d7
    190      1.1  christos 	moveb	%a2@(%d7:w:4),%d6	| d6=$1100xx22
    191      1.1  christos 	moveb	%a4@+,%d7		| LSByte ^= rcon[i]
    192      1.1  christos 	eorb	%d7,%d6
    193      1.1  christos 	rorl	#8,%d6			| d6=$221100xx
    194      1.1  christos 	lsrl	#8,%d5			| temp >> 24
    195      1.1  christos 	moveb	%a1@(%d5:w:4),%d6	| d6=$22110033
    196      1.1  christos 
    197      1.1  christos 	movel	%a5@+,%d5		| read rk[5] again
    198      1.1  christos 					| (faster than keeping %a5)
    199      1.1  christos 
    200      1.1  christos 	eorl	%d6,%d0			| rk[6] ^= rk[0]
    201      1.1  christos 	movel	%d0,%a5@+		| %d0 is rk[6]
    202      1.1  christos 	eorl	%d0,%d1			| rk[7] = rk[1] ^ rk[6]
    203      1.1  christos 	movel	%d1,%a5@+		| %d1 is rk[7]
    204      1.1  christos 	eorl	%d1,%d2			| rk[8] = rk[2] ^ rk[7]
    205      1.1  christos 	movel	%d2,%a5@+		| %d2 is rk[8]
    206      1.1  christos 	eorl	%d2,%d3			| rk[9] = rk[3] ^ rk[8]
    207      1.1  christos 	movel	%d3,%a5@+		| %d3 is rk[9]
    208      1.1  christos 
    209      1.1  christos 	cmpal	%a4,%a6
    210  1.1.1.2  christos 	bne	.Lpek192_loop
    211  1.1.1.2  christos 	bra	.Lpek_return0
    212      1.1  christos 
    213      1.1  christos 
    214  1.1.1.2  christos .Lpek256_check:
    215      1.1  christos 	| %a0 userKey
    216      1.1  christos 	| %a1 bits
    217      1.1  christos 	| %a3 key
    218      1.1  christos 	cmpaw	#256,%a1
    219  1.1.1.2  christos 	bne	.Lpek_return2		| otherwise return -2
    220  1.1.1.2  christos .Lpek256:
    221      1.1  christos 	| %a0 Te0
    222      1.1  christos 	| %a1 Te1
    223      1.1  christos 	| %a2 Te2
    224      1.1  christos 	| %a3 Te3
    225      1.1  christos 	| %a4 rcon_byte
    226      1.1  christos 	| %a5 &rk[6]
    227      1.1  christos 	| %a6 end of rcon_byte
    228      1.1  christos 	moveq	#14,%d0
    229      1.1  christos 	movel	%d0,%a3@(rounds)	| key->rounds = 14
    230      1.1  christos 
    231      1.1  christos 	lea	%a3@(rd_key),%a5	| &rk[0]
    232      1.1  christos 
    233      1.1  christos 	| rk[0] = GETU32(userKey     );
    234      1.1  christos 	| rk[1] = GETU32(userKey +  4);
    235      1.1  christos 	| rk[2] = GETU32(userKey +  8);
    236      1.1  christos 	| rk[3] = GETU32(userKey + 12);
    237      1.1  christos 	| rk[4] = GETU32(userKey + 16);
    238      1.1  christos 	| rk[5] = GETU32(userKey + 20);
    239      1.1  christos 	| rk[6] = GETU32(userKey + 24);
    240      1.1  christos 	| rk[7] = GETU32(userKey + 28);
    241      1.1  christos 	moveml	%a0@,%d0-%d7		| copy userKey[0..31]
    242      1.1  christos 	movel	%d0,%a5@+
    243      1.1  christos 	movel	%d1,%a5@+
    244      1.1  christos 	movel	%d2,%a5@+
    245      1.1  christos 	movel	%d3,%a5@+
    246      1.1  christos 	movel	%d4,%a5@+
    247      1.1  christos 	movel	%d5,%a5@+
    248      1.1  christos 	movel	%d6,%a5@+
    249      1.1  christos 	movel	%d7,%a5@+
    250      1.1  christos 
    251      1.1  christos 	lea	%pc@(Te0   +2),%a0	| %a0 = Te0 + 2
    252      1.1  christos 	lea	%a0@(256*4 -2+3),%a1	| %a1 = Te1 + 3
    253      1.1  christos 	lea	%a1@(256*4 -3+0),%a2	| %a2 = Te2 + 0
    254      1.1  christos 	lea	%a2@(256*4 +0+1),%a3	| %a3 = Te3 + 1
    255      1.1  christos 
    256      1.1  christos 	lea	%pc@(rcon_byte),%a4
    257      1.1  christos 	lea	%a4@(7),%a6
    258  1.1.1.2  christos 	bra	.Lpek256_loop_start
    259      1.1  christos 
    260  1.1.1.2  christos .Lpek256_loop:
    261      1.1  christos 	| %d0: rk[8]  -> work
    262      1.1  christos 	| %d1: rk[9]  -> work
    263      1.1  christos 	| %d2: rk[10]
    264      1.1  christos 	| %d3: rk[11] -> work
    265      1.1  christos 	| %d4: rk[4]
    266      1.1  christos 	| %d5: work   -> rk[5]
    267      1.1  christos 	| %d6: work   -> rk[6]
    268      1.1  christos 	| %d7: work   -> rk[7]
    269      1.1  christos 	| %a5 = &rk[12]
    270      1.1  christos 	|
    271      1.1  christos 	| temp = rk[11];
    272      1.1  christos 	| rk[12]  = (Te1[(temp      ) & 0xff] & 0x000000ff);
    273      1.1  christos 	| rk[12] |= (Te0[(temp >>  8) & 0xff] & 0x0000ff00);
    274      1.1  christos 	| rk[12] |= (Te3[(temp >> 16) & 0xff] & 0x00ff0000);
    275      1.1  christos 	| rk[12] |= (Te2[(temp >> 24)       ] & 0xff000000);
    276      1.1  christos 	| rk[12] ^= rk[ 4];
    277      1.1  christos 
    278      1.1  christos 	moveml	%a5@(-7*4),%d5-%d7	| %d5..%d7 = rk[5..7]
    279      1.1  christos 
    280      1.1  christos 	moveq	#0,%d0
    281      1.1  christos 	moveb	%d3,%d0			| temp >> 0
    282      1.1  christos 	moveb	%a1@(%d0:w:4),%d1	| d1=$xxxxxx00
    283      1.1  christos 	rorl	#8,%d1			| d1=$00xxxxxx
    284      1.1  christos 	lsrl	#8,%d3			| temp >> 8
    285      1.1  christos 	moveb	%d3,%d0
    286      1.1  christos 	moveb	%a0@(%d0:w:4),%d1	| d1=$00xxxx11
    287      1.1  christos 	rorl	#8,%d1			| d1=$1100xxxx
    288      1.1  christos 	lsrl	#8,%d3			| temp >> 16
    289      1.1  christos 	moveb	%d3,%d0
    290      1.1  christos 	moveb	%a3@(%d0:w:4),%d1	| d1=$1100xx22
    291      1.1  christos 	rorl	#8,%d1			| d1=$221100xx
    292      1.1  christos 	lsrl	#8,%d3			| temp >> 24
    293      1.1  christos 	moveb	%a2@(%d3:w:4),%d1	| d1=$22110033
    294      1.1  christos 	rorl	#8,%d1			| d1=$33221100
    295      1.1  christos 
    296      1.1  christos 	eorl	%d1,%d4			| rk[12] ^= rk[4]
    297      1.1  christos 	movel	%d4,%a5@+		| %d4 is rk[12]
    298      1.1  christos 	eorl	%d4,%d5			| rk[13] = rk[5] ^ rk[12]
    299      1.1  christos 	movel	%d5,%a5@+		| %d5 is rk[13]
    300      1.1  christos 	eorl	%d5,%d6			| rk[14] = rk[6] ^ rk[13]
    301      1.1  christos 	movel	%d6,%a5@+		| %d6 is rk[14]
    302      1.1  christos 	eorl	%d6,%d7			| rk[15] = rk[7] ^ rk[14]
    303      1.1  christos 	movel	%d7,%a5@+		| %d7 is rk[15]
    304      1.1  christos 
    305      1.1  christos 	| %d0: work -> rk[8]
    306      1.1  christos 	| %d1: work -> rk[9]
    307      1.1  christos 	| %d2: rk[10]
    308      1.1  christos 	| %d3: work -> rk[11]
    309      1.1  christos 	| %d4: rk[12]
    310      1.1  christos 	| %d5: rk[13]
    311      1.1  christos 	| %d6: rk[14]
    312      1.1  christos 	| %d7: rk[15]
    313      1.1  christos 	| %a5 = &rk[16]
    314      1.1  christos 
    315      1.1  christos 	moveml	%a5@(-8*4),%d0-%d1	| %d0..%d1 = rk[8..9]
    316      1.1  christos 	movel	%a5@(-5*4),%d3		| %d3 = rk[11]
    317      1.1  christos 
    318  1.1.1.2  christos .Lpek256_loop_start:
    319      1.1  christos 	| %d0: rk[0]
    320      1.1  christos 	| %d1: rk[1]
    321      1.1  christos 	| %d2: rk[2]
    322      1.1  christos 	| %d3: rk[3]
    323      1.1  christos 	| %d4: rk[4]
    324      1.1  christos 	| %d5: rk[5] -> work
    325      1.1  christos 	| %d6: rk[6] -> work
    326      1.1  christos 	| %d7: rk[7]
    327      1.1  christos 	| %a5 = &rk[8]
    328      1.1  christos 	|
    329      1.1  christos 	| temp = rk[7]
    330      1.1  christos 	| rk[8]  = (Te0[(temp      ) & 0xff] & 0x0000ff00);
    331      1.1  christos 	| rk[8] |= (Te3[(temp >>  8) & 0xff] & 0x00ff0000);
    332      1.1  christos 	| rk[8] |= (Te2[(temp >> 16) & 0xff] & 0xff000000);
    333      1.1  christos 	| rk[8] ^= rcon[i];
    334      1.1  christos 	| rk[8] |= (Te1[(temp >> 24)       ] & 0x000000ff);
    335      1.1  christos 	| rk[8] ^= rk[ 0];
    336      1.1  christos 
    337      1.1  christos 	moveq	#0,%d5
    338      1.1  christos 	moveb	%d7,%d5			| temp >> 0
    339      1.1  christos 	moveb	%a0@(%d5:w:4),%d6	| d6=$xxxxxx00
    340      1.1  christos 	rorl	#8,%d6			| d6=$00xxxxxx
    341      1.1  christos 	lsrl	#8,%d7			| temp >> 8
    342      1.1  christos 	moveb	%d7,%d5
    343      1.1  christos 	moveb	%a3@(%d5:w:4),%d6	| d6=$00xxxx11
    344      1.1  christos 	rorl	#8,%d6			| d6=$1100xxxx
    345      1.1  christos 	lsrl	#8,%d7			| temp >> 16
    346      1.1  christos 	moveb	%d7,%d5
    347      1.1  christos 	moveb	%a2@(%d5:w:4),%d6	| d6=$1100xx22
    348      1.1  christos 	moveb	%a4@+,%d5		| LSByte ^= rcon[i]
    349      1.1  christos 	eorb	%d5,%d6
    350      1.1  christos 	rorl	#8,%d6			| d6=$221100xx
    351      1.1  christos 	lsrl	#8,%d7			| temp >> 24
    352      1.1  christos 	moveb	%a1@(%d7:w:4),%d6	| d6=$22110033
    353      1.1  christos 
    354      1.1  christos 	eorl	%d6,%d0			| rk[8] ^= rk[0]
    355      1.1  christos 	movel	%d0,%a5@+		| %d0 is rk[8]
    356      1.1  christos 	eorl	%d0,%d1			| rk[9] = rk[1] ^ rk[8]
    357      1.1  christos 	movel	%d1,%a5@+		| %d1 is rk[9]
    358      1.1  christos 	eorl	%d1,%d2			| rk[10] = rk[2] ^ rk[9]
    359      1.1  christos 	movel	%d2,%a5@+		| %d2 is rk[10]
    360      1.1  christos 	eorl	%d2,%d3			| rk[11] = rk[3] ^ rk[10]
    361      1.1  christos 	movel	%d3,%a5@+		| %d3 is rk[11]
    362      1.1  christos 
    363      1.1  christos 	| %d0: rk[8]
    364      1.1  christos 	| %d1: rk[9]
    365      1.1  christos 	| %d2: rk[10]
    366      1.1  christos 	| %d3: rk[11]
    367      1.1  christos 	| %d4: rk[4]
    368      1.1  christos 	| %d5: work
    369      1.1  christos 	| %d6: work
    370      1.1  christos 	| %d7: work
    371      1.1  christos 
    372      1.1  christos 	cmpal	%a4,%a6
    373  1.1.1.2  christos 	bne	.Lpek256_loop
    374  1.1.1.2  christos 	bra	.Lpek_return0
    375      1.1  christos 
    376  1.1.1.2  christos .Lpek_return1:
    377      1.1  christos 	moveql	#-1,%d0
    378  1.1.1.2  christos 	bra	.Lpek_return
    379  1.1.1.2  christos .Lpek_return2:
    380      1.1  christos 	moveql	#-2,%d0
    381  1.1.1.2  christos 	bra	.Lpek_return
    382  1.1.1.2  christos 	.size	AES_set_encrypt_key, .-AES_set_encrypt_key
    383      1.1  christos 
    384      1.1  christos 
    385      1.1  christos | int
    386      1.1  christos | private_AES_set_decrypt_key(const unsigned char *userKey,
    387      1.1  christos |  const int bits,
    388      1.1  christos |  AES_KEY *key)
    389  1.1.1.2  christos 	.global	AES_set_decrypt_key
    390  1.1.1.2  christos 	.type	AES_set_decrypt_key, @function
    391  1.1.1.2  christos AES_set_decrypt_key:
    392      1.1  christos 	moveml	%d2-%d7/%a2-%a6,%sp@-
    393      1.1  christos 	moveal	%sp@(44+4),%a0		| userKey
    394      1.1  christos 	moveal	%sp@(44+8),%a1		| bits
    395      1.1  christos 	moveal	%sp@(44+12),%a3		| key
    396      1.1  christos 
    397      1.1  christos 	/* first, start with an encryption schedule */
    398      1.1  christos 	movel	%a3,%sp@-
    399      1.1  christos 	movel	%a1,%sp@-
    400      1.1  christos 	movel	%a0,%sp@-
    401  1.1.1.2  christos 	bsr	.Laes_set_encrypt_key
    402      1.1  christos 	lea	%sp@(12),%sp
    403  1.1.1.2  christos 	bmi	.Lpdk_return
    404      1.1  christos 
    405      1.1  christos 	/* invert the order of the round keys: */
    406      1.1  christos 	lea	%a3@(rd_key),%a5	| %a5 := &rk[0]
    407      1.1  christos 	movel	%a3@(rounds),%d4
    408      1.1  christos 	lslw	#4,%d4
    409      1.1  christos 	lea	%a5@(%d4),%a4		| %a4 := &rk[j]
    410      1.1  christos 	moveal	%a4,%a6			| %a6 for the next loop
    411  1.1.1.2  christos .Lpdk_invert_loop:
    412      1.1  christos 	movel	%a5@,%d0
    413      1.1  christos 	movel	%a4@,%a5@+
    414      1.1  christos 	movel	%d0,%a4@+
    415      1.1  christos 
    416      1.1  christos 	movel	%a5@,%d0
    417      1.1  christos 	movel	%a4@,%a5@+
    418      1.1  christos 	movel	%d0,%a4@+
    419      1.1  christos 
    420      1.1  christos 	movel	%a5@,%d0
    421      1.1  christos 	movel	%a4@,%a5@+
    422      1.1  christos 	movel	%d0,%a4@+
    423      1.1  christos 
    424      1.1  christos 	movel	%a5@,%d0
    425      1.1  christos 	movel	%a4@,%a5@+
    426      1.1  christos 	movel	%d0,%a4@
    427      1.1  christos 
    428      1.1  christos 	lea	%a4@(-28),%a4
    429      1.1  christos 
    430      1.1  christos 	cmpal	%a4,%a5
    431  1.1.1.2  christos 	bcs	.Lpdk_invert_loop
    432      1.1  christos 
    433      1.1  christos 	/*
    434      1.1  christos 	 * apply the inverse MixColumn transform to all round keys but
    435      1.1  christos 	 * the first and the last:
    436      1.1  christos 	 */
    437      1.1  christos 	lea	%a3@(rd_key + 16),%a5	| rk += 4
    438      1.1  christos 	lea	%pc@(Te1+3),%a4		| LSByte of Te1
    439      1.1  christos 	lea	%pc@(Td0),%a0		| %a0 = Td0
    440      1.1  christos 	lea	%a0@(256*4),%a1		| %a1 = Td1
    441      1.1  christos 	lea	%a1@(256*4),%a2		| %a2 = Td2
    442      1.1  christos 	lea	%a2@(256*4),%a3		| %a3 = Td3
    443      1.1  christos 
    444      1.1  christos 	| for (i = 1; i < key->rounds; i++)
    445      1.1  christos 	moveq	#0,%d1
    446  1.1.1.2  christos .Lpdk_apply_loop:
    447      1.1  christos 	| rk[0] =
    448      1.1  christos 	|     Td3[Te1[(rk[0]      ) & 0xff] & 0xff] ^
    449      1.1  christos 	|     Td2[Te1[(rk[0] >>  8) & 0xff] & 0xff] ^
    450      1.1  christos 	|     Td1[Te1[(rk[0] >> 16) & 0xff] & 0xff] ^
    451      1.1  christos 	|     Td0[Te1[(rk[0] >> 24)       ] & 0xff];
    452      1.1  christos 	movel	%a5@,%d0
    453      1.1  christos 	moveb	%d0,%d1			| rk[0] >>  0
    454      1.1  christos 	moveb	%a4@(%d1:w:4),%d1	| Te1[]
    455      1.1  christos 	movel	%a3@(%d1:w:4),%d2	| Td3[]
    456      1.1  christos 	lsrl	#8,%d0
    457      1.1  christos 	moveb	%d0,%d1			| rk[0] >>  8
    458      1.1  christos 	moveb	%a4@(%d1:w:4),%d1	| Te1[]
    459      1.1  christos 	movel	%a2@(%d1:w:4),%d3	| Td3[]
    460      1.1  christos 	eorl	%d3,%d2
    461      1.1  christos 	lsrl	#8,%d0
    462      1.1  christos 	moveb	%d0,%d1			| rk[0] >> 16
    463      1.1  christos 	moveb	%a4@(%d1:w:4),%d1	| Te1[]
    464      1.1  christos 	movel	%a1@(%d1:w:4),%d3	| Td3[]
    465      1.1  christos 	eorl	%d3,%d2
    466      1.1  christos 	lsrl	#8,%d0			| rk[0] >> 24
    467      1.1  christos 	moveb	%a4@(%d0:w:4),%d1	| Te1[]
    468      1.1  christos 	movel	%a0@(%d1:w:4),%d3
    469      1.1  christos 	eorl	%d3,%d2
    470      1.1  christos 	movel	%d2,%a5@+		| -> rk[0]
    471      1.1  christos 
    472      1.1  christos 	cmpal	%a6,%a5
    473  1.1.1.2  christos 	bcs	.Lpdk_apply_loop
    474      1.1  christos 
    475      1.1  christos 	moveql	#0,%d0
    476  1.1.1.2  christos .Lpdk_return:
    477      1.1  christos 	moveml	%sp@+,%d2-%d7/%a2-%a6
    478      1.1  christos 	rts
    479  1.1.1.2  christos 	.size	AES_set_decrypt_key, .-AES_set_decrypt_key
    480      1.1  christos 
    481      1.1  christos 
    482      1.1  christos | void
    483      1.1  christos | AES_encrypt(const unsigned char *in,
    484      1.1  christos |  unsigned char *out,
    485      1.1  christos |  const AES_KEY *key)
    486  1.1.1.2  christos 	.global AES_encrypt
    487  1.1.1.2  christos 	.type	AES_encrypt, @function
    488      1.1  christos AES_encrypt:
    489      1.1  christos 	| %a0  in,  Te0
    490      1.1  christos 	| %a1  out, Te1
    491      1.1  christos 	| %a2       Te2
    492      1.1  christos 	| %a3  key, Te3
    493      1.1  christos 	| %a4  loop end
    494      1.1  christos 	| %a5  rk
    495      1.1  christos 	moveml	%d2-%d7/%a2-%a5,%sp@-
    496      1.1  christos 	moveal	%sp@(40+4),%a0		| in
    497      1.1  christos 	moveal	%sp@(40+12),%a3		| key
    498      1.1  christos 
    499      1.1  christos 	lea	%a3@(rd_key),%a5
    500      1.1  christos 	movel	%a3@(rounds),%d0
    501      1.1  christos 
    502      1.1  christos 	lslw	#4,%d0			| key->rounds * 16
    503      1.1  christos 	lea	%a5@(0,%d0),%a4		| %a4 := %a5 + key->rounds * 16
    504      1.1  christos 
    505      1.1  christos 	movel	%a0@+,%d0
    506      1.1  christos 	movel	%a5@+,%d5
    507      1.1  christos 	eorl	%d5,%d0			| s0 = GETU32(in     ) ^ rk[0]
    508      1.1  christos 
    509      1.1  christos 	movel	%a0@+,%d1
    510      1.1  christos 	movel	%a5@+,%d5
    511      1.1  christos 	eorl	%d5,%d1			| s1 = GETU32(in +  4) ^ rk[1]
    512      1.1  christos 
    513      1.1  christos 	movel	%a0@+,%d2
    514      1.1  christos 	movel	%a5@+,%d5
    515      1.1  christos 	eorl	%d5,%d2			| s2 = GETU32(in +  8) ^ rk[2]
    516      1.1  christos 
    517      1.1  christos 	movel	%a0@+,%d3
    518      1.1  christos 	movel	%a5@+,%d5
    519      1.1  christos 	eorl	%d5,%d3			| s3 = GETU32(in + 12) ^ rk[3]
    520      1.1  christos 
    521      1.1  christos 	lea	%pc@(Te0),%a0		| %a0 = Te0
    522      1.1  christos 	lea	%a0@(256*4),%a1		| %a1 = Te1
    523      1.1  christos 	lea	%a1@(256*4),%a2		| %a2 = Te2
    524      1.1  christos 	lea	%a2@(256*4),%a3		| %a3 = Te3
    525      1.1  christos 
    526  1.1.1.2  christos 	bra	.Lenc_loop_start
    527      1.1  christos 
    528  1.1.1.2  christos .Lenc_loop:
    529      1.1  christos 	| s1  = Te3[(t0      ) & 0xff];
    530      1.1  christos 	| s2  = Te2[(t0 >>  8) & 0xff];
    531      1.1  christos 	| s3  = Te1[(t0 >> 16) & 0xff];
    532      1.1  christos 	| s0  = Te0[(t0 >> 24)       ];
    533      1.1  christos 	|
    534      1.1  christos 	| s2 ^= Te3[(t1      ) & 0xff];
    535      1.1  christos 	| s3 ^= Te2[(t1 >>  8) & 0xff];
    536      1.1  christos 	| s0 ^= Te1[(t1 >> 16) & 0xff];
    537      1.1  christos 	| s1 ^= Te0[(t1 >> 24)       ];
    538      1.1  christos 	|
    539      1.1  christos 	| s3 ^= Te3[(t2      ) & 0xff];
    540      1.1  christos 	| s0 ^= Te2[(t2 >>  8) & 0xff];
    541      1.1  christos 	| s1 ^= Te1[(t2 >> 16) & 0xff];
    542      1.1  christos 	| s2 ^= Te0[(t2 >> 24)       ];
    543      1.1  christos 	|
    544      1.1  christos 	| s0 ^= Te3[(t3      ) & 0xff];
    545      1.1  christos 	| s1 ^= Te2[(t3 >>  8) & 0xff];
    546      1.1  christos 	| s2 ^= Te1[(t3 >> 16) & 0xff];
    547      1.1  christos 	| s3 ^= Te0[(t3 >> 24)       ];
    548      1.1  christos 	|
    549      1.1  christos 	| s0 ^= rk[0];
    550      1.1  christos 	| s1 ^= rk[1];
    551      1.1  christos 	| s2 ^= rk[2];
    552      1.1  christos 	| s3 ^= rk[3];
    553      1.1  christos 	|
    554      1.1  christos 	| %d0..%d3: s0..s3
    555      1.1  christos 	| %d4..%d7: t0..t3
    556      1.1  christos 
    557      1.1  christos 	moveq	#0,%d3
    558      1.1  christos 	moveb	%d4,%d3
    559      1.1  christos 	movel	%a3@(%d3:w:4),%d1
    560      1.1  christos 	lsrl	#8,%d4
    561      1.1  christos 	moveb	%d4,%d3
    562      1.1  christos 	movel	%a2@(%d3:w:4),%d2
    563      1.1  christos 	lsrl	#8,%d4
    564      1.1  christos 	moveb	%d4,%d3
    565      1.1  christos 	movel	%a1@(%d3:w:4),%d3
    566      1.1  christos 	lsrl	#8,%d4
    567      1.1  christos 	movel	%a0@(%d4:w:4),%d0
    568      1.1  christos 
    569      1.1  christos 	moveb	%d5,%d4
    570      1.1  christos 	movel	%a3@(%d4:w:4),%d4
    571      1.1  christos 	eorl	%d4,%d2
    572      1.1  christos 	lsrl	#8,%d5
    573      1.1  christos 	moveql	#0,%d4
    574      1.1  christos 	moveb	%d5,%d4
    575      1.1  christos 	movel	%a2@(%d4:w:4),%d4
    576      1.1  christos 	eorl	%d4,%d3
    577      1.1  christos 	lsrl	#8,%d5
    578      1.1  christos 	moveql	#0,%d4
    579      1.1  christos 	moveb	%d5,%d4
    580      1.1  christos 	movel	%a1@(%d4:w:4),%d4
    581      1.1  christos 	eorl	%d4,%d0
    582      1.1  christos 	lsrl	#8,%d5
    583      1.1  christos 	movel	%a0@(%d5:w:4),%d4
    584      1.1  christos 	eorl	%d4,%d1
    585      1.1  christos 
    586      1.1  christos 	moveb	%d6,%d5
    587      1.1  christos 	movel	%a3@(%d5:w:4),%d4
    588      1.1  christos 	eorl	%d4,%d3
    589      1.1  christos 	lsrl	#8,%d6
    590      1.1  christos 	moveb	%d6,%d5
    591      1.1  christos 	movel	%a2@(%d5:w:4),%d4
    592      1.1  christos 	eorl	%d4,%d0
    593      1.1  christos 	lsrl	#8,%d6
    594      1.1  christos 	moveb	%d6,%d5
    595      1.1  christos 	movel	%a1@(%d5:w:4),%d4
    596      1.1  christos 	eorl	%d4,%d1
    597      1.1  christos 	lsrl	#8,%d6
    598      1.1  christos 	movel	%a0@(%d6:w:4),%d4
    599      1.1  christos 	eorl	%d4,%d2
    600      1.1  christos 
    601      1.1  christos 	moveb	%d7,%d5
    602      1.1  christos 	movel	%a3@(%d5:w:4),%d4
    603      1.1  christos 	eorl	%d4,%d0
    604      1.1  christos 	lsrl	#8,%d7
    605      1.1  christos 	moveb	%d7,%d5
    606      1.1  christos 	movel	%a2@(%d5:w:4),%d4
    607      1.1  christos 	eorl	%d4,%d1
    608      1.1  christos 	lsrl	#8,%d7
    609      1.1  christos 	moveb	%d7,%d5
    610      1.1  christos 	movel	%a1@(%d5:w:4),%d4
    611      1.1  christos 	eorl	%d4,%d2
    612      1.1  christos 	lsrl	#8,%d7
    613      1.1  christos 	movel	%a0@(%d7:w:4),%d4
    614      1.1  christos 	eorl	%d4,%d3
    615      1.1  christos 
    616      1.1  christos 	movel	%a5@+,%d4
    617      1.1  christos 	eorl	%d4,%d0
    618      1.1  christos 	movel	%a5@+,%d4
    619      1.1  christos 	eorl	%d4,%d1
    620      1.1  christos 	movel	%a5@+,%d4
    621      1.1  christos 	eorl	%d4,%d2
    622      1.1  christos 	movel	%a5@+,%d4
    623      1.1  christos 	eorl	%d4,%d3
    624      1.1  christos 
    625  1.1.1.2  christos .Lenc_loop_start:
    626      1.1  christos 	| t1  = Te3[(s0      ) & 0xff];
    627      1.1  christos 	| t2  = Te2[(s0 >>  8) & 0xff];
    628      1.1  christos 	| t3  = Te1[(s0 >> 16) & 0xff];
    629      1.1  christos 	| t0  = Te0[(s0 >> 24) & 0xff];
    630      1.1  christos 	|
    631      1.1  christos 	| t2 ^= Te3[(s1 >>  0) & 0xff];
    632      1.1  christos 	| t3 ^= Te2[(s1 >>  8) & 0xff];
    633      1.1  christos 	| t0 ^= Te1[(s1 >> 16) & 0xff];
    634      1.1  christos 	| t1 ^= Te0[(s1 >> 24) & 0xff];
    635      1.1  christos 	|
    636      1.1  christos 	| t3 ^= Te3[(s2 >>  0) & 0xff];
    637      1.1  christos 	| t0 ^= Te2[(s2 >>  8) & 0xff];
    638      1.1  christos 	| t1 ^= Te1[(s2 >> 16) & 0xff];
    639      1.1  christos 	| t2 ^= Te0[(s2 >> 24) & 0xff];
    640      1.1  christos 	|
    641      1.1  christos 	| t0 ^= Te3[(s3 >>  0) & 0xff];
    642      1.1  christos 	| t1 ^= Te2[(s3 >>  8) & 0xff];
    643      1.1  christos 	| t2 ^= Te1[(s3 >> 16) & 0xff];
    644      1.1  christos 	| t3 ^= Te0[(s3 >> 24) & 0xff];
    645      1.1  christos 	|
    646      1.1  christos 	| t0 ^= rk[4];
    647      1.1  christos 	| t1 ^= rk[5];
    648      1.1  christos 	| t2 ^= rk[6];
    649      1.1  christos 	| t3 ^= rk[7];
    650      1.1  christos 	|
    651      1.1  christos 	| %d0..%d3: s0..s3
    652      1.1  christos 	| %d4..%d7: t0..t3
    653      1.1  christos 
    654      1.1  christos 	moveql	#0,%d7
    655      1.1  christos 	moveb	%d0,%d7
    656      1.1  christos 	movel	%a3@(%d7:w:4),%d5
    657      1.1  christos 	lsrl	#8,%d0
    658      1.1  christos 	moveb	%d0,%d7
    659      1.1  christos 	movel	%a2@(%d7:w:4),%d6
    660      1.1  christos 	lsrl	#8,%d0
    661      1.1  christos 	moveb	%d0,%d7
    662      1.1  christos 	movel	%a1@(%d7:w:4),%d7
    663      1.1  christos 	lsrl	#8,%d0
    664      1.1  christos 	movel	%a0@(%d0:w:4),%d4
    665      1.1  christos 
    666      1.1  christos 	moveb	%d1,%d0
    667      1.1  christos 	movel	%a3@(%d0:w:4),%d0
    668      1.1  christos 	eorl	%d0,%d6
    669      1.1  christos 	lsrl	#8,%d1
    670      1.1  christos 	moveql	#0,%d0
    671      1.1  christos 	moveb	%d1,%d0
    672      1.1  christos 	movel	%a2@(%d0:w:4),%d0
    673      1.1  christos 	eorl	%d0,%d7
    674      1.1  christos 	lsrl	#8,%d1
    675      1.1  christos 	moveql	#0,%d0
    676      1.1  christos 	moveb	%d1,%d0
    677      1.1  christos 	movel	%a1@(%d0:w:4),%d0
    678      1.1  christos 	eorl	%d0,%d4
    679      1.1  christos 	lsrl	#8,%d1
    680      1.1  christos 	movel	%a0@(%d1:w:4),%d0
    681      1.1  christos 	eorl	%d0,%d5
    682      1.1  christos 
    683      1.1  christos 	moveb	%d2,%d1
    684      1.1  christos 	movel	%a3@(%d1:w:4),%d0
    685      1.1  christos 	eorl	%d0,%d7
    686      1.1  christos 	lsrl	#8,%d2
    687      1.1  christos 	moveb	%d2,%d1
    688      1.1  christos 	movel	%a2@(%d1:w:4),%d0
    689      1.1  christos 	eorl	%d0,%d4
    690      1.1  christos 	lsrl	#8,%d2
    691      1.1  christos 	moveb	%d2,%d1
    692      1.1  christos 	movel	%a1@(%d1:w:4),%d0
    693      1.1  christos 	eorl	%d0,%d5
    694      1.1  christos 	lsrl	#8,%d2
    695      1.1  christos 	movel	%a0@(%d2:w:4),%d0
    696      1.1  christos 	eorl	%d0,%d6
    697      1.1  christos 
    698      1.1  christos 	moveb	%d3,%d1
    699      1.1  christos 	movel	%a3@(%d1:w:4),%d0
    700      1.1  christos 	eorl	%d0,%d4
    701      1.1  christos 	lsrl	#8,%d3
    702      1.1  christos 	moveb	%d3,%d1
    703      1.1  christos 	movel	%a2@(%d1:w:4),%d0
    704      1.1  christos 	eorl	%d0,%d5
    705      1.1  christos 	lsrl	#8,%d3
    706      1.1  christos 	moveb	%d3,%d1
    707      1.1  christos 	movel	%a1@(%d1:w:4),%d0
    708      1.1  christos 	eorl	%d0,%d6
    709      1.1  christos 	lsrl	#8,%d3
    710      1.1  christos 	movel	%a0@(%d3:w:4),%d0
    711      1.1  christos 	eorl	%d0,%d7
    712      1.1  christos 
    713      1.1  christos 	movel	%a5@+,%d0
    714      1.1  christos 	eorl	%d0,%d4
    715      1.1  christos 	movel	%a5@+,%d0
    716      1.1  christos 	eorl	%d0,%d5
    717      1.1  christos 	movel	%a5@+,%d0
    718      1.1  christos 	eorl	%d0,%d6
    719      1.1  christos 	movel	%a5@+,%d0
    720      1.1  christos 	eorl	%d0,%d7
    721      1.1  christos 
    722      1.1  christos 	cmpal	%a5,%a4
    723  1.1.1.2  christos 	bne	.Lenc_loop		| if (--r == 0) break;
    724  1.1.1.2  christos .Lenc_last:
    725      1.1  christos 	/*
    726      1.1  christos 	 * apply last round and
    727      1.1  christos 	 * map cipher state to byte array block:
    728      1.1  christos 	 */
    729      1.1  christos 	moveal	%sp@(40+8),%a4		| out
    730      1.1  christos 	addql	#2,%a0			| Te0 += 2
    731      1.1  christos 	addql	#3,%a1			| Te1 += 3
    732      1.1  christos 	addql	#1,%a3			| Te3 += 1
    733      1.1  christos 					| Te2 += 0
    734      1.1  christos 
    735      1.1  christos 	| s1  = (Te1[(t0      ) & 0xff] & 0x000000ff);
    736      1.1  christos 	| s2  = (Te0[(t0 >>  8) & 0xff] & 0x0000ff00);
    737      1.1  christos 	| s3  = (Te3[(t0 >> 16) & 0xff] & 0x00ff0000);
    738      1.1  christos 	| s0  = (Te2[(t0 >> 24)       ] & 0xff000000);
    739      1.1  christos 	|
    740      1.1  christos 	| s2 |= (Te1[(t1      ) & 0xff] & 0x000000ff);
    741      1.1  christos 	| s3 |= (Te0[(t1 >>  8) & 0xff] & 0x0000ff00);
    742      1.1  christos 	| s0 |= (Te3[(t1 >> 16) & 0xff] & 0x00ff0000);
    743      1.1  christos 	| s1 |= (Te2[(t1 >> 24)       ] & 0xff000000);
    744      1.1  christos 	|
    745      1.1  christos 	| s3 |= (Te1[(t2      ) & 0xff] & 0x000000ff);
    746      1.1  christos 	| s0 |= (Te0[(t2 >>  8) & 0xff] & 0x0000ff00);
    747      1.1  christos 	| s1 |= (Te3[(t2 >> 16) & 0xff] & 0x00ff0000);
    748      1.1  christos 	| s2 |= (Te2[(t2 >> 24)       ] & 0xff000000);
    749      1.1  christos 	|
    750      1.1  christos 	| s0 |= (Te1[(t3      ) & 0xff] & 0x000000ff);
    751      1.1  christos 	| s1 |= (Te0[(t3 >>  8) & 0xff] & 0x0000ff00);
    752      1.1  christos 	| s2 |= (Te3[(t3 >> 16) & 0xff] & 0x00ff0000);
    753      1.1  christos 	| s3 |= (Te2[(t3 >> 24)       ] & 0xff000000);
    754      1.1  christos 
    755      1.1  christos 	moveql	#0,%d0
    756      1.1  christos 	moveb	%d4,%d0			| t0 >> 0
    757      1.1  christos 	moveb	%a1@(%d0:w:4),%d1	| d1=$xxxxxx00
    758      1.1  christos 	lsrl	#8,%d4			| t0 >> 8
    759      1.1  christos 	lsll	#8,%d1			| d1=$xxxx00xx
    760      1.1  christos 	moveb	%d4,%d0
    761      1.1  christos 	moveb	%a0@(%d0:w:4),%d2	| d2=$xxxxxx00
    762      1.1  christos 	lsrl	#8,%d4			| t0 >> 16
    763      1.1  christos 	lsll	#8,%d2			| d2=$xxxx00xx
    764      1.1  christos 	moveb	%d4,%d0
    765      1.1  christos 	moveb	%a3@(%d0:w:4),%d3	| d3=$xxxxxx00
    766      1.1  christos 	lsrl	#8,%d4			| t0 >> 24
    767      1.1  christos 	lsll	#8,%d3			| d3=$xxxx00xx
    768      1.1  christos 	moveb	%a2@(%d4:w:4),%d0	| d0=$xxxxxx00
    769      1.1  christos 	lsll	#8,%d0			| d0=$xxxx00xx
    770      1.1  christos 
    771      1.1  christos 	moveb	%d5,%d4			| t1 >> 0
    772      1.1  christos 	moveb	%a1@(%d4:w:4),%d2	| d2=$xxxx0011
    773      1.1  christos 	lsrl	#8,%d5			| t1 >> 8
    774      1.1  christos 	lsll	#8,%d2			| d2=$xx0011xx
    775      1.1  christos 	moveb	%d5,%d4
    776      1.1  christos 	moveb	%a0@(%d4:w:4),%d3	| d3=$xxxx0011
    777      1.1  christos 	lsrl	#8,%d5			| t1 >> 16
    778      1.1  christos 	lsll	#8,%d3			| d3=$xx0011xx
    779      1.1  christos 	moveb	%d5,%d4
    780      1.1  christos 	moveb	%a3@(%d4:w:4),%d0	| d0=$xxxx0011
    781      1.1  christos 	lsrl	#8,%d5			| t1 >> 24
    782      1.1  christos 	lsll	#8,%d0			| d0=$xx0011xx
    783      1.1  christos 	moveb	%a1@(%d5:w:4),%d1	| d1=$xxxx0011
    784      1.1  christos 	lsll	#8,%d1			| d1=$xx0011xx
    785      1.1  christos 
    786      1.1  christos 	moveb	%d6,%d4			| t2 >> 0
    787      1.1  christos 	moveb	%a1@(%d4:w:4),%d3	| d3=$xx001122
    788      1.1  christos 	lsrl	#8,%d6			| t2 >> 8
    789      1.1  christos 	lsll	#8,%d3			| d3=$001122xx
    790      1.1  christos 	moveb	%d6,%d4
    791      1.1  christos 	moveb	%a0@(%d4:w:4),%d0	| d0=$xx001122
    792      1.1  christos 	lsrl	#8,%d6			| t2 >> 16
    793      1.1  christos 	lsll	#8,%d0			| d0=$001122xx
    794      1.1  christos 	moveb	%d6,%d4
    795      1.1  christos 	moveb	%a3@(%d4:w:4),%d1	| d1=$xx001122
    796      1.1  christos 	lsrl	#8,%d6			| t2 >> 24
    797      1.1  christos 	lsll	#8,%d1			| d1=$001122xx
    798      1.1  christos 	moveb	%a2@(%d6:w:4),%d2	| d2=$xx001122
    799      1.1  christos 	lsll	#8,%d2			| d2=$001122xx
    800      1.1  christos 
    801      1.1  christos 	moveb	%d7,%d4			| t3 >> 0
    802      1.1  christos 	moveb	%a1@(%d4:w:4),%d0	| d0=$00112233
    803      1.1  christos 	lsrl	#8,%d7			| t3 >> 8
    804      1.1  christos 	moveb	%d7,%d4
    805      1.1  christos 	moveb	%a0@(%d4:w:4),%d1	| d1=$00112233
    806      1.1  christos 	lsrl	#8,%d7			| t3 >> 16
    807      1.1  christos 	roll	#8,%d1			| d1=$11223300
    808      1.1  christos 	moveb	%d7,%d4
    809      1.1  christos 	moveb	%a3@(%d4:w:4),%d2	| d2=$00112233
    810      1.1  christos 	lsrl	#8,%d7			| t3 >> 24
    811      1.1  christos 	swap	%d2			| d2=$22330011
    812      1.1  christos 	moveb	%a2@(%d7:w:4),%d3	| d3=$00112233
    813      1.1  christos 	rorl	#8,%d3			| d3=$33001122
    814      1.1  christos 
    815      1.1  christos 	movel	%a5@+,%d4
    816      1.1  christos 	eorl	%d4,%d0			| s0 ^= rk[0]
    817      1.1  christos 	movel	%a5@+,%d4
    818      1.1  christos 	eorl	%d4,%d1			| s1 ^= rk[1]
    819      1.1  christos 	movel	%a5@+,%d4
    820      1.1  christos 	eorl	%d4,%d2			| s2 ^= rk[2]
    821      1.1  christos 	movel	%a5@+,%d4
    822      1.1  christos 	eorl	%d4,%d3			| s3 ^= rk[3]
    823      1.1  christos 
    824      1.1  christos 	movel	%d0,%a4@+		| PUTU32(out     , s0);
    825      1.1  christos 	movel	%d1,%a4@+		| PUTU32(out +  4, s1);
    826      1.1  christos 	movel	%d2,%a4@+		| PUTU32(out +  8, s2);
    827      1.1  christos 	movel	%d3,%a4@		| PUTU32(out + 12, s3);
    828      1.1  christos 
    829      1.1  christos 	moveml	%sp@+,%d2-%d7/%a2-%a5
    830      1.1  christos 	rts
    831  1.1.1.2  christos 	.size	AES_encrypt, .-AES_encrypt
    832      1.1  christos 
    833      1.1  christos | void
    834      1.1  christos | AES_decrypt(const unsigned char *in,
    835      1.1  christos |  unsigned char *out,
    836      1.1  christos |  const AES_KEY *key)
    837  1.1.1.2  christos 	.global	AES_decrypt
    838  1.1.1.2  christos 	.type	AES_decrypt, @function
    839      1.1  christos AES_decrypt:
    840      1.1  christos 	| %a0  in,  Td0
    841      1.1  christos 	| %a1  out, Td1
    842      1.1  christos 	| %a2       Td2
    843      1.1  christos 	| %a3  key, Td3
    844      1.1  christos 	| %a4  loop end, Td4
    845      1.1  christos 	| %a5  rk
    846      1.1  christos 	moveml	%d2-%d7/%a2-%a5,%sp@-
    847      1.1  christos 	moveal	%sp@(40+4),%a0		| in
    848      1.1  christos 	moveal	%sp@(40+12),%a3		| key
    849      1.1  christos 
    850      1.1  christos 	lea	%a3@(rd_key),%a5
    851      1.1  christos 	movel	%a3@(rounds),%d0
    852      1.1  christos 
    853      1.1  christos 	lslw	#4,%d0			| key->rounds * 16
    854      1.1  christos 	lea	%a5@(0,%d0),%a4		| %a4 := %a5 + key->rounds * 16
    855      1.1  christos 
    856      1.1  christos 	movel	%a0@+,%d0
    857      1.1  christos 	movel	%a5@+,%d5
    858      1.1  christos 	eorl	%d5,%d0			| s0 = GETU32(in     ) ^ rk[0]
    859      1.1  christos 
    860      1.1  christos 	movel	%a0@+,%d1
    861      1.1  christos 	movel	%a5@+,%d5
    862      1.1  christos 	eorl	%d5,%d1			| s1 = GETU32(in +  4) ^ rk[1]
    863      1.1  christos 
    864      1.1  christos 	movel	%a0@+,%d2
    865      1.1  christos 	movel	%a5@+,%d5
    866      1.1  christos 	eorl	%d5,%d2			| s2 = GETU32(in +  8) ^ rk[2]
    867      1.1  christos 
    868      1.1  christos 	movel	%a0@+,%d3
    869      1.1  christos 	movel	%a5@+,%d5
    870      1.1  christos 	eorl	%d5,%d3			| s3 = GETU32(in + 12) ^ rk[3]
    871      1.1  christos 
    872      1.1  christos 	lea	%pc@(Td0),%a0		| %a0 = Td0
    873      1.1  christos 	lea	%a0@(256*4),%a1		| %a1 = Td1
    874      1.1  christos 	lea	%a1@(256*4),%a2		| %a2 = Td2
    875      1.1  christos 	lea	%a2@(256*4),%a3		| %a3 = Td3
    876      1.1  christos 
    877  1.1.1.2  christos 	bra	.Ldec_loop_start
    878      1.1  christos 
    879  1.1.1.2  christos .Ldec_loop:
    880      1.1  christos 	| s3  = Td3[(t0      ) & 0xff];
    881      1.1  christos 	| s2  = Td2[(t0 >>  8) & 0xff];
    882      1.1  christos 	| s1  = Td1[(t0 >> 16) & 0xff];
    883      1.1  christos 	| s0  = Td0[(t0 >> 24)       ];
    884      1.1  christos 	|
    885      1.1  christos 	| s0 ^= Td3[(t1      ) & 0xff];
    886      1.1  christos 	| s3 ^= Td2[(t1 >>  8) & 0xff];
    887      1.1  christos 	| s2 ^= Td1[(t1 >> 16) & 0xff];
    888      1.1  christos 	| s1 ^= Td0[(t1 >> 24)       ];
    889      1.1  christos 	|
    890      1.1  christos 	| s1 ^= Td3[(t2      ) & 0xff];
    891      1.1  christos 	| s0 ^= Td2[(t2 >>  8) & 0xff];
    892      1.1  christos 	| s3 ^= Td1[(t2 >> 16) & 0xff];
    893      1.1  christos 	| s2 ^= Td0[(t2 >> 24)       ];
    894      1.1  christos 	|
    895      1.1  christos 	| s2 ^= Td3[(t3      ) & 0xff];
    896      1.1  christos 	| s1 ^= Td2[(t3 >>  8) & 0xff];
    897      1.1  christos 	| s0 ^= Td1[(t3 >> 16) & 0xff];
    898      1.1  christos 	| s3 ^= Td0[(t3 >> 24)       ];
    899      1.1  christos 	|
    900      1.1  christos 	| s0 ^= rk[0];
    901      1.1  christos 	| s1 ^= rk[1];
    902      1.1  christos 	| s2 ^= rk[2];
    903      1.1  christos 	| s3 ^= rk[3];
    904      1.1  christos 	|
    905      1.1  christos 	| %d0..%d3: s0..s3
    906      1.1  christos 	| %d4..%d7: t0..t3
    907      1.1  christos 
    908      1.1  christos 	moveq	#0,%d1
    909      1.1  christos 	moveb	%d4,%d1
    910      1.1  christos 	movel	%a3@(%d1:w:4),%d3
    911      1.1  christos 	lsrl	#8,%d4
    912      1.1  christos 	moveb	%d4,%d1
    913      1.1  christos 	movel	%a2@(%d1:w:4),%d2
    914      1.1  christos 	lsrl	#8,%d4
    915      1.1  christos 	moveb	%d4,%d1
    916      1.1  christos 	movel	%a1@(%d1:w:4),%d1
    917      1.1  christos 	lsrl	#8,%d4
    918      1.1  christos 	movel	%a0@(%d4:w:4),%d0
    919      1.1  christos 
    920      1.1  christos 	moveb	%d5,%d4
    921      1.1  christos 	movel	%a3@(%d4:w:4),%d4
    922      1.1  christos 	eorl	%d4,%d0
    923      1.1  christos 	lsrl	#8,%d5
    924      1.1  christos 	moveql	#0,%d4
    925      1.1  christos 	moveb	%d5,%d4
    926      1.1  christos 	movel	%a2@(%d4:w:4),%d4
    927      1.1  christos 	eorl	%d4,%d3
    928      1.1  christos 	lsrl	#8,%d5
    929      1.1  christos 	moveql	#0,%d4
    930      1.1  christos 	moveb	%d5,%d4
    931      1.1  christos 	movel	%a1@(%d4:w:4),%d4
    932      1.1  christos 	eorl	%d4,%d2
    933      1.1  christos 	lsrl	#8,%d5
    934      1.1  christos 	movel	%a0@(%d5:w:4),%d4
    935      1.1  christos 	eorl	%d4,%d1
    936      1.1  christos 
    937      1.1  christos 	moveb	%d6,%d5
    938      1.1  christos 	movel	%a3@(%d5:w:4),%d4
    939      1.1  christos 	eorl	%d4,%d1
    940      1.1  christos 	lsrl	#8,%d6
    941      1.1  christos 	moveb	%d6,%d5
    942      1.1  christos 	movel	%a2@(%d5:w:4),%d4
    943      1.1  christos 	eorl	%d4,%d0
    944      1.1  christos 	lsrl	#8,%d6
    945      1.1  christos 	moveb	%d6,%d5
    946      1.1  christos 	movel	%a1@(%d5:w:4),%d4
    947      1.1  christos 	eorl	%d4,%d3
    948      1.1  christos 	lsrl	#8,%d6
    949      1.1  christos 	movel	%a0@(%d6:w:4),%d4
    950      1.1  christos 	eorl	%d4,%d2
    951      1.1  christos 
    952      1.1  christos 	moveb	%d7,%d5
    953      1.1  christos 	movel	%a3@(%d5:w:4),%d4
    954      1.1  christos 	eorl	%d4,%d2
    955      1.1  christos 	lsrl	#8,%d7
    956      1.1  christos 	moveb	%d7,%d5
    957      1.1  christos 	movel	%a2@(%d5:w:4),%d4
    958      1.1  christos 	eorl	%d4,%d1
    959      1.1  christos 	lsrl	#8,%d7
    960      1.1  christos 	moveb	%d7,%d5
    961      1.1  christos 	movel	%a1@(%d5:w:4),%d4
    962      1.1  christos 	eorl	%d4,%d0
    963      1.1  christos 	lsrl	#8,%d7
    964      1.1  christos 	movel	%a0@(%d7:w:4),%d4
    965      1.1  christos 	eorl	%d4,%d3
    966      1.1  christos 
    967      1.1  christos 	movel	%a5@+,%d4
    968      1.1  christos 	eorl	%d4,%d0
    969      1.1  christos 	movel	%a5@+,%d4
    970      1.1  christos 	eorl	%d4,%d1
    971      1.1  christos 	movel	%a5@+,%d4
    972      1.1  christos 	eorl	%d4,%d2
    973      1.1  christos 	movel	%a5@+,%d4
    974      1.1  christos 	eorl	%d4,%d3
    975      1.1  christos 
    976  1.1.1.2  christos .Ldec_loop_start:
    977      1.1  christos 	| t3  = Td3[(s0      ) & 0xff];
    978      1.1  christos 	| t2  = Td2[(s0 >>  8) & 0xff];
    979      1.1  christos 	| t1  = Td1[(s0 >> 16) & 0xff];
    980      1.1  christos 	| t0  = Td0[(s0 >> 24) & 0xff];
    981      1.1  christos 	|
    982      1.1  christos 	| t0 ^= Td3[(s1 >>  0) & 0xff];
    983      1.1  christos 	| t3 ^= Td2[(s1 >>  8) & 0xff];
    984      1.1  christos 	| t2 ^= Td1[(s1 >> 16) & 0xff];
    985      1.1  christos 	| t1 ^= Td0[(s1 >> 24) & 0xff];
    986      1.1  christos 	|
    987      1.1  christos 	| t1 ^= Td3[(s2 >>  0) & 0xff];
    988      1.1  christos 	| t0 ^= Td2[(s2 >>  8) & 0xff];
    989      1.1  christos 	| t3 ^= Td1[(s2 >> 16) & 0xff];
    990      1.1  christos 	| t2 ^= Td0[(s2 >> 24) & 0xff];
    991      1.1  christos 	|
    992      1.1  christos 	| t2 ^= Td3[(s3 >>  0) & 0xff];
    993      1.1  christos 	| t1 ^= Td2[(s3 >>  8) & 0xff];
    994      1.1  christos 	| t0 ^= Td1[(s3 >> 16) & 0xff];
    995      1.1  christos 	| t3 ^= Td0[(s3 >> 24) & 0xff];
    996      1.1  christos 	|
    997      1.1  christos 	| t0 ^= rk[4];
    998      1.1  christos 	| t1 ^= rk[5];
    999      1.1  christos 	| t2 ^= rk[6];
   1000      1.1  christos 	| t3 ^= rk[7];
   1001      1.1  christos 	|
   1002      1.1  christos 	| %d0..%d3: s0..s3
   1003      1.1  christos 	| %d4..%d7: t0..t3
   1004      1.1  christos 
   1005      1.1  christos 	moveql	#0,%d5
   1006      1.1  christos 	moveb	%d0,%d5
   1007      1.1  christos 	movel	%a3@(%d5:w:4),%d7
   1008      1.1  christos 	lsrl	#8,%d0
   1009      1.1  christos 	moveb	%d0,%d5
   1010      1.1  christos 	movel	%a2@(%d5:w:4),%d6
   1011      1.1  christos 	lsrl	#8,%d0
   1012      1.1  christos 	moveb	%d0,%d5
   1013      1.1  christos 	movel	%a1@(%d5:w:4),%d5
   1014      1.1  christos 	lsrl	#8,%d0
   1015      1.1  christos 	movel	%a0@(%d0:w:4),%d4
   1016      1.1  christos 
   1017      1.1  christos 	moveb	%d1,%d0
   1018      1.1  christos 	movel	%a3@(%d0:w:4),%d0
   1019      1.1  christos 	eorl	%d0,%d4
   1020      1.1  christos 	lsrl	#8,%d1
   1021      1.1  christos 	moveql	#0,%d0
   1022      1.1  christos 	moveb	%d1,%d0
   1023      1.1  christos 	movel	%a2@(%d0:w:4),%d0
   1024      1.1  christos 	eorl	%d0,%d7
   1025      1.1  christos 	lsrl	#8,%d1
   1026      1.1  christos 	moveql	#0,%d0
   1027      1.1  christos 	moveb	%d1,%d0
   1028      1.1  christos 	movel	%a1@(%d0:w:4),%d0
   1029      1.1  christos 	eorl	%d0,%d6
   1030      1.1  christos 	lsrl	#8,%d1
   1031      1.1  christos 	movel	%a0@(%d1:w:4),%d0
   1032      1.1  christos 	eorl	%d0,%d5
   1033      1.1  christos 
   1034      1.1  christos 	moveb	%d2,%d1
   1035      1.1  christos 	movel	%a3@(%d1:w:4),%d0
   1036      1.1  christos 	eorl	%d0,%d5
   1037      1.1  christos 	lsrl	#8,%d2
   1038      1.1  christos 	moveb	%d2,%d1
   1039      1.1  christos 	movel	%a2@(%d1:w:4),%d0
   1040      1.1  christos 	eorl	%d0,%d4
   1041      1.1  christos 	lsrl	#8,%d2
   1042      1.1  christos 	moveb	%d2,%d1
   1043      1.1  christos 	movel	%a1@(%d1:w:4),%d0
   1044      1.1  christos 	eorl	%d0,%d7
   1045      1.1  christos 	lsrl	#8,%d2
   1046      1.1  christos 	movel	%a0@(%d2:w:4),%d0
   1047      1.1  christos 	eorl	%d0,%d6
   1048      1.1  christos 
   1049      1.1  christos 	moveb	%d3,%d1
   1050      1.1  christos 	movel	%a3@(%d1:w:4),%d0
   1051      1.1  christos 	eorl	%d0,%d6
   1052      1.1  christos 	lsrl	#8,%d3
   1053      1.1  christos 	moveb	%d3,%d1
   1054      1.1  christos 	movel	%a2@(%d1:w:4),%d0
   1055      1.1  christos 	eorl	%d0,%d5
   1056      1.1  christos 	lsrl	#8,%d3
   1057      1.1  christos 	moveb	%d3,%d1
   1058      1.1  christos 	movel	%a1@(%d1:w:4),%d0
   1059      1.1  christos 	eorl	%d0,%d4
   1060      1.1  christos 	lsrl	#8,%d3
   1061      1.1  christos 	movel	%a0@(%d3:w:4),%d0
   1062      1.1  christos 	eorl	%d0,%d7
   1063      1.1  christos 
   1064      1.1  christos 	movel	%a5@+,%d0
   1065      1.1  christos 	eorl	%d0,%d4
   1066      1.1  christos 	movel	%a5@+,%d0
   1067      1.1  christos 	eorl	%d0,%d5
   1068      1.1  christos 	movel	%a5@+,%d0
   1069      1.1  christos 	eorl	%d0,%d6
   1070      1.1  christos 	movel	%a5@+,%d0
   1071      1.1  christos 	eorl	%d0,%d7
   1072      1.1  christos 
   1073      1.1  christos 	cmpal	%a5,%a4
   1074  1.1.1.2  christos 	bne	.Ldec_loop		| if (--r == 0) break;
   1075      1.1  christos 
   1076      1.1  christos 	/*
   1077      1.1  christos 	 * apply last round and
   1078      1.1  christos 	 * map cipher state to byte array block:
   1079      1.1  christos 	 */
   1080      1.1  christos 	| s3  = ((u32)Td4[(t0 >>  0) & 0xff] <<  0);
   1081      1.1  christos 	| s2  = ((u32)Td4[(t0 >>  8) & 0xff] <<  8);
   1082      1.1  christos 	| s1  = ((u32)Td4[(t0 >> 16) & 0xff] << 16);
   1083      1.1  christos 	| s0  = ((u32)Td4[(t0 >> 24) & 0xff] << 24);
   1084      1.1  christos 	|
   1085      1.1  christos 	| s0 |= ((u32)Td4[(t1 >>  0) & 0xff] <<  0);
   1086      1.1  christos 	| s3 |= ((u32)Td4[(t1 >>  8) & 0xff] <<  8);
   1087      1.1  christos 	| s2 |= ((u32)Td4[(t1 >> 16) & 0xff] << 16);
   1088      1.1  christos 	| s1 |= ((u32)Td4[(t1 >> 24) & 0xff] << 24);
   1089      1.1  christos 	|
   1090      1.1  christos 	| s1 |= ((u32)Td4[(t2 >>  0) & 0xff] <<  0);
   1091      1.1  christos 	| s0 |= ((u32)Td4[(t2 >>  8) & 0xff] <<  8);
   1092      1.1  christos 	| s3 |= ((u32)Td4[(t2 >> 16) & 0xff] << 16);
   1093      1.1  christos 	| s2 |= ((u32)Td4[(t2 >> 24) & 0xff] << 24);
   1094      1.1  christos 	|
   1095      1.1  christos 	| s2 |= ((u32)Td4[(t3 >>  0) & 0xff] <<  0);
   1096      1.1  christos 	| s1 |= ((u32)Td4[(t3 >>  8) & 0xff] <<  8);
   1097      1.1  christos 	| s0 |= ((u32)Td4[(t3 >> 16) & 0xff] << 16);
   1098      1.1  christos 	| s3 |= ((u32)Td4[(t3 >> 24) & 0xff] << 24);
   1099      1.1  christos 	|
   1100      1.1  christos 	| s0 ^= rk[0];
   1101      1.1  christos 	| PUTU32(out     , s0);
   1102      1.1  christos 	| s1 ^= rk[1];
   1103      1.1  christos 	| PUTU32(out +  4, s1);
   1104      1.1  christos 	| s2 ^= rk[2];
   1105      1.1  christos 	| PUTU32(out +  8, s2);
   1106      1.1  christos 	| s3 ^= rk[3];
   1107      1.1  christos 	| PUTU32(out + 12, s3);
   1108      1.1  christos 	|
   1109      1.1  christos 	| %d4..%d7: t0..t3
   1110      1.1  christos 	| %d0..%d3: s0..s3
   1111      1.1  christos 
   1112      1.1  christos 	lea	%pc@(Td4),%a4
   1113      1.1  christos 	moveq	#0,%d0
   1114      1.1  christos 	moveb	%d4,%d0
   1115      1.1  christos 	moveb	%a4@(%d0),%d3
   1116      1.1  christos 	rorl	#8,%d3
   1117      1.1  christos 	lsrl	#8,%d4
   1118      1.1  christos 	moveb	%d4,%d0
   1119      1.1  christos 	moveb	%a4@(%d0),%d2
   1120      1.1  christos 	rorl	#8,%d2
   1121      1.1  christos 	lsrl	#8,%d4
   1122      1.1  christos 	moveb	%d4,%d0
   1123      1.1  christos 	moveb	%a4@(%d0),%d1
   1124      1.1  christos 	rorl	#8,%d1
   1125      1.1  christos 	lsrl	#8,%d4
   1126      1.1  christos 	moveb	%a4@(%d4),%d0
   1127      1.1  christos 	rorl	#8,%d0
   1128      1.1  christos 
   1129      1.1  christos 	moveb	%d5,%d4
   1130      1.1  christos 	moveb	%a4@(%d4),%d0
   1131      1.1  christos 	rorl	#8,%d0
   1132      1.1  christos 	lsrl	#8,%d5
   1133      1.1  christos 	moveb	%d5,%d4
   1134      1.1  christos 	moveb	%a4@(%d4),%d3
   1135      1.1  christos 	rorl	#8,%d3
   1136      1.1  christos 	lsrl	#8,%d5
   1137      1.1  christos 	moveb	%d5,%d4
   1138      1.1  christos 	moveb	%a4@(%d4),%d2
   1139      1.1  christos 	rorl	#8,%d2
   1140      1.1  christos 	lsrl	#8,%d5
   1141      1.1  christos 	moveb	%a4@(%d5),%d1
   1142      1.1  christos 	rorl	#8,%d1
   1143      1.1  christos 
   1144      1.1  christos 	moveb	%d6,%d4
   1145      1.1  christos 	moveb	%a4@(%d4),%d1
   1146      1.1  christos 	rorl	#8,%d1			| d1=$221100xx
   1147      1.1  christos 	lsrl	#8,%d6
   1148      1.1  christos 	moveb	%d6,%d4
   1149      1.1  christos 	moveb	%a4@(%d4),%d0
   1150      1.1  christos 	rorl	#8,%d0			| d0=$221100xx
   1151      1.1  christos 	lsrl	#8,%d6
   1152      1.1  christos 	moveb	%d6,%d4
   1153      1.1  christos 	moveb	%a4@(%d4),%d3
   1154      1.1  christos 	rorl	#8,%d3			| d3=$221100xx
   1155      1.1  christos 	lsrl	#8,%d6
   1156      1.1  christos 	moveb	%a4@(%d6),%d2
   1157      1.1  christos 	rorl	#8,%d2			| d2=$221100xx
   1158      1.1  christos 
   1159      1.1  christos 	moveb	%d7,%d4
   1160      1.1  christos 	moveb	%a4@(%d4),%d2		| d2=$22110033
   1161      1.1  christos 	lsrl	#8,%d7
   1162      1.1  christos 	moveb	%d7,%d4
   1163      1.1  christos 	moveb	%a4@(%d4),%d1		| d1=$22110033
   1164      1.1  christos 	roll	#8,%d1			| d1=$11003322
   1165      1.1  christos 	lsrl	#8,%d7
   1166      1.1  christos 	moveb	%d7,%d4
   1167      1.1  christos 	moveb	%a4@(%d4),%d0		| d0=$22110033
   1168      1.1  christos 	swap	%d0			| d0=$00332211
   1169      1.1  christos 	lsrl	#8,%d7
   1170      1.1  christos 	moveb	%a4@(%d7),%d3		| d3=$22110033
   1171      1.1  christos 	rorl	#8,%d3			| d3=$33221100
   1172      1.1  christos 
   1173      1.1  christos 	moveal	%sp@(40+8),%a4		| out
   1174      1.1  christos 
   1175      1.1  christos 	movel	%a5@+,%d4
   1176      1.1  christos 	eorl	%d4,%d0
   1177      1.1  christos 	movel	%d0,%a4@+
   1178      1.1  christos 
   1179      1.1  christos 	movel	%a5@+,%d4
   1180      1.1  christos 	eorl	%d4,%d1
   1181      1.1  christos 	movel	%d1,%a4@+
   1182      1.1  christos 
   1183      1.1  christos 	movel	%a5@+,%d4
   1184      1.1  christos 	eorl	%d4,%d2
   1185      1.1  christos 	movel	%d2,%a4@+
   1186      1.1  christos 
   1187      1.1  christos 	movel	%a5@+,%d4
   1188      1.1  christos 	eorl	%d4,%d3
   1189      1.1  christos 	movel	%d3,%a4@
   1190      1.1  christos 
   1191      1.1  christos 	moveml	%sp@+,%d2-%d7/%a2-%a5
   1192      1.1  christos 	rts
   1193  1.1.1.2  christos 	.size	AES_decrypt, .-AES_decrypt
   1194      1.1  christos 
   1195      1.1  christos 	.data
   1196      1.1  christos 	.balign	4
   1197      1.1  christos Te0:
   1198      1.1  christos 	.long	0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d
   1199      1.1  christos 	.long	0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554
   1200      1.1  christos 	.long	0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d
   1201      1.1  christos 	.long	0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a
   1202      1.1  christos 	.long	0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87
   1203      1.1  christos 	.long	0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b
   1204      1.1  christos 	.long	0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea
   1205      1.1  christos 	.long	0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b
   1206      1.1  christos 	.long	0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a
   1207      1.1  christos 	.long	0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f
   1208      1.1  christos 	.long	0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108
   1209      1.1  christos 	.long	0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f
   1210      1.1  christos 	.long	0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e
   1211      1.1  christos 	.long	0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5
   1212      1.1  christos 	.long	0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d
   1213      1.1  christos 	.long	0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f
   1214      1.1  christos 	.long	0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e
   1215      1.1  christos 	.long	0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb
   1216      1.1  christos 	.long	0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce
   1217      1.1  christos 	.long	0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497
   1218      1.1  christos 	.long	0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c
   1219      1.1  christos 	.long	0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed
   1220      1.1  christos 	.long	0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b
   1221      1.1  christos 	.long	0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a
   1222      1.1  christos 	.long	0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16
   1223      1.1  christos 	.long	0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594
   1224      1.1  christos 	.long	0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81
   1225      1.1  christos 	.long	0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3
   1226      1.1  christos 	.long	0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a
   1227      1.1  christos 	.long	0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504
   1228      1.1  christos 	.long	0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163
   1229      1.1  christos 	.long	0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d
   1230      1.1  christos 	.long	0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f
   1231      1.1  christos 	.long	0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739
   1232      1.1  christos 	.long	0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47
   1233      1.1  christos 	.long	0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395
   1234      1.1  christos 	.long	0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f
   1235      1.1  christos 	.long	0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883
   1236      1.1  christos 	.long	0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c
   1237      1.1  christos 	.long	0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76
   1238      1.1  christos 	.long	0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e
   1239      1.1  christos 	.long	0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4
   1240      1.1  christos 	.long	0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6
   1241      1.1  christos 	.long	0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b
   1242      1.1  christos 	.long	0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7
   1243      1.1  christos 	.long	0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0
   1244      1.1  christos 	.long	0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25
   1245      1.1  christos 	.long	0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818
   1246      1.1  christos 	.long	0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72
   1247      1.1  christos 	.long	0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651
   1248      1.1  christos 	.long	0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21
   1249      1.1  christos 	.long	0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85
   1250      1.1  christos 	.long	0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa
   1251      1.1  christos 	.long	0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12
   1252      1.1  christos 	.long	0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0
   1253      1.1  christos 	.long	0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9
   1254      1.1  christos 	.long	0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133
   1255      1.1  christos 	.long	0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7
   1256      1.1  christos 	.long	0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920
   1257      1.1  christos 	.long	0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a
   1258      1.1  christos 	.long	0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17
   1259      1.1  christos 	.long	0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8
   1260      1.1  christos 	.long	0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11
   1261      1.1  christos 	.long	0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a
   1262      1.1  christos Te1:
   1263      1.1  christos 	.long	0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b
   1264      1.1  christos 	.long	0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5
   1265      1.1  christos 	.long	0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b
   1266      1.1  christos 	.long	0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676
   1267      1.1  christos 	.long	0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d
   1268      1.1  christos 	.long	0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0
   1269      1.1  christos 	.long	0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf
   1270      1.1  christos 	.long	0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0
   1271      1.1  christos 	.long	0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626
   1272      1.1  christos 	.long	0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc
   1273      1.1  christos 	.long	0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1
   1274      1.1  christos 	.long	0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515
   1275      1.1  christos 	.long	0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3
   1276      1.1  christos 	.long	0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a
   1277      1.1  christos 	.long	0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2
   1278      1.1  christos 	.long	0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575
   1279      1.1  christos 	.long	0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a
   1280      1.1  christos 	.long	0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0
   1281      1.1  christos 	.long	0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3
   1282      1.1  christos 	.long	0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484
   1283      1.1  christos 	.long	0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded
   1284      1.1  christos 	.long	0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b
   1285      1.1  christos 	.long	0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939
   1286      1.1  christos 	.long	0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf
   1287      1.1  christos 	.long	0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb
   1288      1.1  christos 	.long	0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585
   1289      1.1  christos 	.long	0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f
   1290      1.1  christos 	.long	0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8
   1291      1.1  christos 	.long	0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f
   1292      1.1  christos 	.long	0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5
   1293      1.1  christos 	.long	0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121
   1294      1.1  christos 	.long	0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2
   1295      1.1  christos 	.long	0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec
   1296      1.1  christos 	.long	0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717
   1297      1.1  christos 	.long	0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d
   1298      1.1  christos 	.long	0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373
   1299      1.1  christos 	.long	0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc
   1300      1.1  christos 	.long	0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888
   1301      1.1  christos 	.long	0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414
   1302      1.1  christos 	.long	0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb
   1303      1.1  christos 	.long	0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a
   1304      1.1  christos 	.long	0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c
   1305      1.1  christos 	.long	0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262
   1306      1.1  christos 	.long	0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979
   1307      1.1  christos 	.long	0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d
   1308      1.1  christos 	.long	0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9
   1309      1.1  christos 	.long	0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea
   1310      1.1  christos 	.long	0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808
   1311      1.1  christos 	.long	0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e
   1312      1.1  christos 	.long	0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6
   1313      1.1  christos 	.long	0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f
   1314      1.1  christos 	.long	0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a
   1315      1.1  christos 	.long	0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666
   1316      1.1  christos 	.long	0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e
   1317      1.1  christos 	.long	0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9
   1318      1.1  christos 	.long	0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e
   1319      1.1  christos 	.long	0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111
   1320      1.1  christos 	.long	0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494
   1321      1.1  christos 	.long	0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9
   1322      1.1  christos 	.long	0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf
   1323      1.1  christos 	.long	0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d
   1324      1.1  christos 	.long	0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868
   1325      1.1  christos 	.long	0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f
   1326      1.1  christos 	.long	0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616
   1327      1.1  christos Te2:
   1328      1.1  christos 	.long	0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b
   1329      1.1  christos 	.long	0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5
   1330      1.1  christos 	.long	0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b
   1331      1.1  christos 	.long	0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76
   1332      1.1  christos 	.long	0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d
   1333      1.1  christos 	.long	0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0
   1334      1.1  christos 	.long	0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af
   1335      1.1  christos 	.long	0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0
   1336      1.1  christos 	.long	0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26
   1337      1.1  christos 	.long	0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc
   1338      1.1  christos 	.long	0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1
   1339      1.1  christos 	.long	0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15
   1340      1.1  christos 	.long	0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3
   1341      1.1  christos 	.long	0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a
   1342      1.1  christos 	.long	0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2
   1343      1.1  christos 	.long	0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75
   1344      1.1  christos 	.long	0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a
   1345      1.1  christos 	.long	0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0
   1346      1.1  christos 	.long	0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3
   1347      1.1  christos 	.long	0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384
   1348      1.1  christos 	.long	0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed
   1349      1.1  christos 	.long	0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b
   1350      1.1  christos 	.long	0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239
   1351      1.1  christos 	.long	0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf
   1352      1.1  christos 	.long	0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb
   1353      1.1  christos 	.long	0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185
   1354      1.1  christos 	.long	0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f
   1355      1.1  christos 	.long	0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8
   1356      1.1  christos 	.long	0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f
   1357      1.1  christos 	.long	0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5
   1358      1.1  christos 	.long	0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221
   1359      1.1  christos 	.long	0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2
   1360      1.1  christos 	.long	0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec
   1361      1.1  christos 	.long	0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17
   1362      1.1  christos 	.long	0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d
   1363      1.1  christos 	.long	0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673
   1364      1.1  christos 	.long	0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc
   1365      1.1  christos 	.long	0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88
   1366      1.1  christos 	.long	0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814
   1367      1.1  christos 	.long	0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb
   1368      1.1  christos 	.long	0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a
   1369      1.1  christos 	.long	0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c
   1370      1.1  christos 	.long	0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462
   1371      1.1  christos 	.long	0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279
   1372      1.1  christos 	.long	0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d
   1373      1.1  christos 	.long	0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9
   1374      1.1  christos 	.long	0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea
   1375      1.1  christos 	.long	0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008
   1376      1.1  christos 	.long	0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e
   1377      1.1  christos 	.long	0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6
   1378      1.1  christos 	.long	0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f
   1379      1.1  christos 	.long	0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a
   1380      1.1  christos 	.long	0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66
   1381      1.1  christos 	.long	0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e
   1382      1.1  christos 	.long	0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9
   1383      1.1  christos 	.long	0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e
   1384      1.1  christos 	.long	0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211
   1385      1.1  christos 	.long	0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394
   1386      1.1  christos 	.long	0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9
   1387      1.1  christos 	.long	0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df
   1388      1.1  christos 	.long	0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d
   1389      1.1  christos 	.long	0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068
   1390      1.1  christos 	.long	0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f
   1391      1.1  christos 	.long	0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16
   1392      1.1  christos Te3:
   1393      1.1  christos 	.long	0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6
   1394      1.1  christos 	.long	0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491
   1395      1.1  christos 	.long	0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56
   1396      1.1  christos 	.long	0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec
   1397      1.1  christos 	.long	0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa
   1398      1.1  christos 	.long	0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb
   1399      1.1  christos 	.long	0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45
   1400      1.1  christos 	.long	0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b
   1401      1.1  christos 	.long	0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c
   1402      1.1  christos 	.long	0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83
   1403      1.1  christos 	.long	0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9
   1404      1.1  christos 	.long	0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a
   1405      1.1  christos 	.long	0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d
   1406      1.1  christos 	.long	0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f
   1407      1.1  christos 	.long	0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf
   1408      1.1  christos 	.long	0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea
   1409      1.1  christos 	.long	0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34
   1410      1.1  christos 	.long	0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b
   1411      1.1  christos 	.long	0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d
   1412      1.1  christos 	.long	0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713
   1413      1.1  christos 	.long	0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1
   1414      1.1  christos 	.long	0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6
   1415      1.1  christos 	.long	0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72
   1416      1.1  christos 	.long	0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85
   1417      1.1  christos 	.long	0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed
   1418      1.1  christos 	.long	0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411
   1419      1.1  christos 	.long	0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe
   1420      1.1  christos 	.long	0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b
   1421      1.1  christos 	.long	0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05
   1422      1.1  christos 	.long	0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1
   1423      1.1  christos 	.long	0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342
   1424      1.1  christos 	.long	0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf
   1425      1.1  christos 	.long	0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3
   1426      1.1  christos 	.long	0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e
   1427      1.1  christos 	.long	0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a
   1428      1.1  christos 	.long	0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6
   1429      1.1  christos 	.long	0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3
   1430      1.1  christos 	.long	0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b
   1431      1.1  christos 	.long	0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28
   1432      1.1  christos 	.long	0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad
   1433      1.1  christos 	.long	0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14
   1434      1.1  christos 	.long	0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8
   1435      1.1  christos 	.long	0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4
   1436      1.1  christos 	.long	0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2
   1437      1.1  christos 	.long	0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da
   1438      1.1  christos 	.long	0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049
   1439      1.1  christos 	.long	0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf
   1440      1.1  christos 	.long	0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810
   1441      1.1  christos 	.long	0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c
   1442      1.1  christos 	.long	0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197
   1443      1.1  christos 	.long	0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e
   1444      1.1  christos 	.long	0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f
   1445      1.1  christos 	.long	0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc
   1446      1.1  christos 	.long	0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c
   1447      1.1  christos 	.long	0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069
   1448      1.1  christos 	.long	0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927
   1449      1.1  christos 	.long	0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322
   1450      1.1  christos 	.long	0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733
   1451      1.1  christos 	.long	0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9
   1452      1.1  christos 	.long	0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5
   1453      1.1  christos 	.long	0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a
   1454      1.1  christos 	.long	0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0
   1455      1.1  christos 	.long	0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e
   1456      1.1  christos 	.long	0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c
   1457      1.1  christos 
   1458      1.1  christos Td0:
   1459      1.1  christos 	.long	0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96
   1460      1.1  christos 	.long	0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393
   1461      1.1  christos 	.long	0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25
   1462      1.1  christos 	.long	0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f
   1463      1.1  christos 	.long	0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1
   1464      1.1  christos 	.long	0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6
   1465      1.1  christos 	.long	0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da
   1466      1.1  christos 	.long	0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844
   1467      1.1  christos 	.long	0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd
   1468      1.1  christos 	.long	0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4
   1469      1.1  christos 	.long	0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45
   1470      1.1  christos 	.long	0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94
   1471      1.1  christos 	.long	0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7
   1472      1.1  christos 	.long	0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a
   1473      1.1  christos 	.long	0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5
   1474      1.1  christos 	.long	0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c
   1475      1.1  christos 	.long	0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1
   1476      1.1  christos 	.long	0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a
   1477      1.1  christos 	.long	0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75
   1478      1.1  christos 	.long	0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051
   1479      1.1  christos 	.long	0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46
   1480      1.1  christos 	.long	0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff
   1481      1.1  christos 	.long	0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77
   1482      1.1  christos 	.long	0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb
   1483      1.1  christos 	.long	0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000
   1484      1.1  christos 	.long	0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e
   1485      1.1  christos 	.long	0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927
   1486      1.1  christos 	.long	0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a
   1487      1.1  christos 	.long	0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e
   1488      1.1  christos 	.long	0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16
   1489      1.1  christos 	.long	0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d
   1490      1.1  christos 	.long	0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8
   1491      1.1  christos 	.long	0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd
   1492      1.1  christos 	.long	0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34
   1493      1.1  christos 	.long	0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163
   1494      1.1  christos 	.long	0xd731dcca, 0x42638510, 0x13972240, 0x84c61120
   1495      1.1  christos 	.long	0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d
   1496      1.1  christos 	.long	0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0
   1497      1.1  christos 	.long	0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422
   1498      1.1  christos 	.long	0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef
   1499      1.1  christos 	.long	0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36
   1500      1.1  christos 	.long	0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4
   1501      1.1  christos 	.long	0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662
   1502      1.1  christos 	.long	0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5
   1503      1.1  christos 	.long	0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3
   1504      1.1  christos 	.long	0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b
   1505      1.1  christos 	.long	0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8
   1506      1.1  christos 	.long	0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6
   1507      1.1  christos 	.long	0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6
   1508      1.1  christos 	.long	0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0
   1509      1.1  christos 	.long	0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815
   1510      1.1  christos 	.long	0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f
   1511      1.1  christos 	.long	0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df
   1512      1.1  christos 	.long	0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f
   1513      1.1  christos 	.long	0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e
   1514      1.1  christos 	.long	0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713
   1515      1.1  christos 	.long	0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89
   1516      1.1  christos 	.long	0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c
   1517      1.1  christos 	.long	0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf
   1518      1.1  christos 	.long	0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86
   1519      1.1  christos 	.long	0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f
   1520      1.1  christos 	.long	0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541
   1521      1.1  christos 	.long	0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190
   1522      1.1  christos 	.long	0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742
   1523      1.1  christos Td1:
   1524      1.1  christos 	.long	0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e
   1525      1.1  christos 	.long	0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303
   1526      1.1  christos 	.long	0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c
   1527      1.1  christos 	.long	0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3
   1528      1.1  christos 	.long	0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0
   1529      1.1  christos 	.long	0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9
   1530      1.1  christos 	.long	0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259
   1531      1.1  christos 	.long	0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8
   1532      1.1  christos 	.long	0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971
   1533      1.1  christos 	.long	0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a
   1534      1.1  christos 	.long	0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f
   1535      1.1  christos 	.long	0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b
   1536      1.1  christos 	.long	0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8
   1537      1.1  christos 	.long	0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab
   1538      1.1  christos 	.long	0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708
   1539      1.1  christos 	.long	0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682
   1540      1.1  christos 	.long	0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2
   1541      1.1  christos 	.long	0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe
   1542      1.1  christos 	.long	0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb
   1543      1.1  christos 	.long	0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10
   1544      1.1  christos 	.long	0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd
   1545      1.1  christos 	.long	0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015
   1546      1.1  christos 	.long	0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e
   1547      1.1  christos 	.long	0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee
   1548      1.1  christos 	.long	0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000
   1549      1.1  christos 	.long	0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72
   1550      1.1  christos 	.long	0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39
   1551      1.1  christos 	.long	0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e
   1552      1.1  christos 	.long	0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91
   1553      1.1  christos 	.long	0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a
   1554      1.1  christos 	.long	0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17
   1555      1.1  christos 	.long	0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9
   1556      1.1  christos 	.long	0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60
   1557      1.1  christos 	.long	0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e
   1558      1.1  christos 	.long	0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1
   1559      1.1  christos 	.long	0xcad731dc, 0x10426385, 0x40139722, 0x2084c611
   1560      1.1  christos 	.long	0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1
   1561      1.1  christos 	.long	0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3
   1562      1.1  christos 	.long	0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964
   1563      1.1  christos 	.long	0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390
   1564      1.1  christos 	.long	0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b
   1565      1.1  christos 	.long	0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf
   1566      1.1  christos 	.long	0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46
   1567      1.1  christos 	.long	0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af
   1568      1.1  christos 	.long	0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512
   1569      1.1  christos 	.long	0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb
   1570      1.1  christos 	.long	0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a
   1571      1.1  christos 	.long	0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8
   1572      1.1  christos 	.long	0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c
   1573      1.1  christos 	.long	0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266
   1574      1.1  christos 	.long	0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8
   1575      1.1  christos 	.long	0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6
   1576      1.1  christos 	.long	0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604
   1577      1.1  christos 	.long	0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551
   1578      1.1  christos 	.long	0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41
   1579      1.1  christos 	.long	0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647
   1580      1.1  christos 	.long	0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c
   1581      1.1  christos 	.long	0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1
   1582      1.1  christos 	.long	0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737
   1583      1.1  christos 	.long	0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db
   1584      1.1  christos 	.long	0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340
   1585      1.1  christos 	.long	0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95
   1586      1.1  christos 	.long	0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1
   1587      1.1  christos 	.long	0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857
   1588      1.1  christos Td2:
   1589      1.1  christos 	.long	0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27
   1590      1.1  christos 	.long	0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3
   1591      1.1  christos 	.long	0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502
   1592      1.1  christos 	.long	0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562
   1593      1.1  christos 	.long	0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe
   1594      1.1  christos 	.long	0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3
   1595      1.1  christos 	.long	0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552
   1596      1.1  christos 	.long	0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9
   1597      1.1  christos 	.long	0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9
   1598      1.1  christos 	.long	0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce
   1599      1.1  christos 	.long	0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253
   1600      1.1  christos 	.long	0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908
   1601      1.1  christos 	.long	0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b
   1602      1.1  christos 	.long	0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655
   1603      1.1  christos 	.long	0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337
   1604      1.1  christos 	.long	0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16
   1605      1.1  christos 	.long	0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69
   1606      1.1  christos 	.long	0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6
   1607      1.1  christos 	.long	0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6
   1608      1.1  christos 	.long	0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e
   1609      1.1  christos 	.long	0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6
   1610      1.1  christos 	.long	0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050
   1611      1.1  christos 	.long	0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9
   1612      1.1  christos 	.long	0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8
   1613      1.1  christos 	.long	0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000
   1614      1.1  christos 	.long	0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a
   1615      1.1  christos 	.long	0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d
   1616      1.1  christos 	.long	0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436
   1617      1.1  christos 	.long	0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b
   1618      1.1  christos 	.long	0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12
   1619      1.1  christos 	.long	0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b
   1620      1.1  christos 	.long	0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e
   1621      1.1  christos 	.long	0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f
   1622      1.1  christos 	.long	0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb
   1623      1.1  christos 	.long	0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4
   1624      1.1  christos 	.long	0xdccad731, 0x85104263, 0x22401397, 0x112084c6
   1625      1.1  christos 	.long	0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729
   1626      1.1  christos 	.long	0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1
   1627      1.1  christos 	.long	0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9
   1628      1.1  christos 	.long	0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233
   1629      1.1  christos 	.long	0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4
   1630      1.1  christos 	.long	0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad
   1631      1.1  christos 	.long	0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e
   1632      1.1  christos 	.long	0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3
   1633      1.1  christos 	.long	0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25
   1634      1.1  christos 	.long	0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b
   1635      1.1  christos 	.long	0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f
   1636      1.1  christos 	.long	0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15
   1637      1.1  christos 	.long	0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0
   1638      1.1  christos 	.long	0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2
   1639      1.1  christos 	.long	0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7
   1640      1.1  christos 	.long	0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791
   1641      1.1  christos 	.long	0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496
   1642      1.1  christos 	.long	0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665
   1643      1.1  christos 	.long	0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b
   1644      1.1  christos 	.long	0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6
   1645      1.1  christos 	.long	0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13
   1646      1.1  christos 	.long	0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47
   1647      1.1  christos 	.long	0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7
   1648      1.1  christos 	.long	0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844
   1649      1.1  christos 	.long	0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3
   1650      1.1  christos 	.long	0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d
   1651      1.1  christos 	.long	0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456
   1652      1.1  christos 	.long	0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8
   1653      1.1  christos Td3:
   1654      1.1  christos 	.long	0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a
   1655      1.1  christos 	.long	0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b
   1656      1.1  christos 	.long	0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5
   1657      1.1  christos 	.long	0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5
   1658      1.1  christos 	.long	0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d
   1659      1.1  christos 	.long	0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b
   1660      1.1  christos 	.long	0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95
   1661      1.1  christos 	.long	0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e
   1662      1.1  christos 	.long	0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27
   1663      1.1  christos 	.long	0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d
   1664      1.1  christos 	.long	0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562
   1665      1.1  christos 	.long	0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9
   1666      1.1  christos 	.long	0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752
   1667      1.1  christos 	.long	0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66
   1668      1.1  christos 	.long	0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3
   1669      1.1  christos 	.long	0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced
   1670      1.1  christos 	.long	0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e
   1671      1.1  christos 	.long	0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4
   1672      1.1  christos 	.long	0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4
   1673      1.1  christos 	.long	0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd
   1674      1.1  christos 	.long	0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d
   1675      1.1  christos 	.long	0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60
   1676      1.1  christos 	.long	0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767
   1677      1.1  christos 	.long	0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79
   1678      1.1  christos 	.long	0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000
   1679      1.1  christos 	.long	0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c
   1680      1.1  christos 	.long	0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736
   1681      1.1  christos 	.long	0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24
   1682      1.1  christos 	.long	0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b
   1683      1.1  christos 	.long	0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c
   1684      1.1  christos 	.long	0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12
   1685      1.1  christos 	.long	0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814
   1686      1.1  christos 	.long	0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3
   1687      1.1  christos 	.long	0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b
   1688      1.1  christos 	.long	0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8
   1689      1.1  christos 	.long	0x31dccad7, 0x63851042, 0x97224013, 0xc6112084
   1690      1.1  christos 	.long	0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7
   1691      1.1  christos 	.long	0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077
   1692      1.1  christos 	.long	0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247
   1693      1.1  christos 	.long	0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22
   1694      1.1  christos 	.long	0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698
   1695      1.1  christos 	.long	0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f
   1696      1.1  christos 	.long	0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254
   1697      1.1  christos 	.long	0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582
   1698      1.1  christos 	.long	0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf
   1699      1.1  christos 	.long	0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb
   1700      1.1  christos 	.long	0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883
   1701      1.1  christos 	.long	0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef
   1702      1.1  christos 	.long	0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629
   1703      1.1  christos 	.long	0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035
   1704      1.1  christos 	.long	0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533
   1705      1.1  christos 	.long	0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17
   1706      1.1  christos 	.long	0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4
   1707      1.1  christos 	.long	0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46
   1708      1.1  christos 	.long	0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb
   1709      1.1  christos 	.long	0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d
   1710      1.1  christos 	.long	0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb
   1711      1.1  christos 	.long	0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a
   1712      1.1  christos 	.long	0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73
   1713      1.1  christos 	.long	0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678
   1714      1.1  christos 	.long	0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2
   1715      1.1  christos 	.long	0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff
   1716      1.1  christos 	.long	0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064
   1717      1.1  christos 	.long	0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0
   1718      1.1  christos Td4:
   1719      1.1  christos 	.byte	0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38
   1720      1.1  christos 	.byte	0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb
   1721      1.1  christos 	.byte	0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87
   1722      1.1  christos 	.byte	0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb
   1723      1.1  christos 	.byte	0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d
   1724      1.1  christos 	.byte	0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e
   1725      1.1  christos 	.byte	0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2
   1726      1.1  christos 	.byte	0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25
   1727      1.1  christos 	.byte	0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16
   1728      1.1  christos 	.byte	0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92
   1729      1.1  christos 	.byte	0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda
   1730      1.1  christos 	.byte	0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84
   1731      1.1  christos 	.byte	0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a
   1732      1.1  christos 	.byte	0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06
   1733      1.1  christos 	.byte	0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02
   1734      1.1  christos 	.byte	0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b
   1735      1.1  christos 	.byte	0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea
   1736      1.1  christos 	.byte	0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73
   1737      1.1  christos 	.byte	0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85
   1738      1.1  christos 	.byte	0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e
   1739      1.1  christos 	.byte	0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89
   1740      1.1  christos 	.byte	0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b
   1741      1.1  christos 	.byte	0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20
   1742      1.1  christos 	.byte	0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4
   1743      1.1  christos 	.byte	0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31
   1744      1.1  christos 	.byte	0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f
   1745      1.1  christos 	.byte	0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d
   1746      1.1  christos 	.byte	0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef
   1747      1.1  christos 	.byte	0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0
   1748      1.1  christos 	.byte	0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61
   1749      1.1  christos 	.byte	0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26
   1750      1.1  christos 	.byte	0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
   1751      1.1  christos 
   1752      1.1  christos rcon_byte:
   1753      1.1  christos 	.byte	0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36
   1754