Key: array[0..31] of byte= ($01,$23,$45,$67,$89,$AB,$CD,$EF,$FE,$DC,$BA,$98,$76,$54,$32,$10,$00,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF);
InBlock: array[0..15] of byte= ($0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0);
OutBlock: array[0..15] of byte= ($37,$52,$7B,$E0,$05,$23,$34,$B8,$9F,$0C,$FC,$CA,$E8,$7C,$FA,$20);
t0:= Data.sBox[0,2*(((x[0]) shr (blu[(0) and 3])) and $ff)] xor Data.sBox[0,2*(((x[0]) shr (blu[(1) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[0]) shr (blu[(2) and 3])) and $ff)] xor Data.sBox[2,2*(((x[0]) shr (blu[(3) and 3])) and $ff)+1];
t1:= Data.sBox[0,2*(((x[1]) shr (blu[(3) and 3])) and $ff)] xor Data.sBox[0,2*(((x[1]) shr (blu[(4) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[1]) shr (blu[(5) and 3])) and $ff)] xor Data.sBox[2,2*(((x[1]) shr (blu[(6) and 3])) and $ff)+1];
t0:= Data.sBox[0,2*(((x[2]) shr (blu[(0) and 3])) and $ff)] xor Data.sBox[0,2*(((x[2]) shr (blu[(1) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[2]) shr (blu[(2) and 3])) and $ff)] xor Data.sBox[2,2*(((x[2]) shr (blu[(3) and 3])) and $ff)+1];
t1:= Data.sBox[0,2*(((x[3]) shr (blu[(3) and 3])) and $ff)] xor Data.sBox[0,2*(((x[3]) shr (blu[(4) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[3]) shr (blu[(5) and 3])) and $ff)] xor Data.sBox[2,2*(((x[3]) shr (blu[(6) and 3])) and $ff)+1];
t0:= Data.sBox[0,2*(((x[2]) shr (blu[(0) and 3])) and $ff)] xor Data.sBox[0,2*(((x[2]) shr (blu[(1) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[2]) shr (blu[(2) and 3])) and $ff)] xor Data.sBox[2,2*(((x[2]) shr (blu[(3) and 3])) and $ff)+1];
t1:= Data.sBox[0,2*(((x[3]) shr (blu[(3) and 3])) and $ff)] xor Data.sBox[0,2*(((x[3]) shr (blu[(4) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[3]) shr (blu[(5) and 3])) and $ff)] xor Data.sBox[2,2*(((x[3]) shr (blu[(6) and 3])) and $ff)+1];
t0:= Data.sBox[0,2*(((x[0]) shr (blu[(0) and 3])) and $ff)] xor Data.sBox[0,2*(((x[0]) shr (blu[(1) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[0]) shr (blu[(2) and 3])) and $ff)] xor Data.sBox[2,2*(((x[0]) shr (blu[(3) and 3])) and $ff)+1];
t1:= Data.sBox[0,2*(((x[1]) shr (blu[(3) and 3])) and $ff)] xor Data.sBox[0,2*(((x[1]) shr (blu[(4) and 3])) and $ff)+1] xor Data.sBox[2,2*(((x[1]) shr (blu[(5) and 3])) and $ff)] xor Data.sBox[2,2*(((x[1]) shr (blu[(6) and 3])) and $ff)+1];