void
__fastcall encrypt_one(_OWORD *randomkey, _OWORD *iv, unsigned
__int8
**a3)
{
aes_gen_tables();
v6 = (unsigned
__int8
*)
malloc
(0x10uLL);
*a3 = v6;
v7 = v6;
*(_OWORD *)v6 = *randomkey;
v8 = (int8x8_t *)
malloc
(0x10uLL);
*(_OWORD *)v8->n64_u64 = *iv;
sbox = get_sbox();
v10 = v7[1];
v11 = v7[2];
v12 = v7[3];
v13 = *(_BYTE *)(sbox + *v7);
v14 = v7[4];
v15 = v7[5];
v16 = v7[6];
*v7 = v13;
LOBYTE(v10) = *(_BYTE *)(sbox + v10);
v17 = v7[7];
v18 = v7[8];
v19 = v7[9];
v7[1] = v10;
LOBYTE(v11) = *(_BYTE *)(sbox + v11);
v20 = v7[10];
v21 = v7[11];
v22 = v7[12];
v7[2] = v11;
LOBYTE(v12) = *(_BYTE *)(sbox + v12);
v27.n64_u8[0] = v13;
v23 = v7[13];
v27.n64_u8[1] = v10;
v7[3] = v12;
LOBYTE(v14) = *(_BYTE *)(sbox + v14);
v24 = v7[14];
v27.n64_u8[2] = v11;
v25 = v7[15];
v7[4] = v14;
LOBYTE(v15) = *(_BYTE *)(sbox + v15);
v27.n64_u8[3] = v12;
v27.n64_u8[4] = v14;
v26 = 2;
v7[5] = v15;
LOBYTE(v16) = *(_BYTE *)(sbox + v16);
v27.n64_u8[5] = v15;
v7[6] = v16;
LOBYTE(v17) = *(_BYTE *)(sbox + v17);
v27.n64_u8[6] = v16;
v7[7] = v17;
LOBYTE(v18) = *(_BYTE *)(sbox + v18);
v27.n64_u8[7] = v17;
v7[8] = v18;
LOBYTE(v19) = *(_BYTE *)(sbox + v19);
v29.n64_u8[0] = v18;
v7[9] = v19;
LOBYTE(v20) = *(_BYTE *)(sbox + v20);
v29.n64_u8[1] = v19;
v7[10] = v20;
LOBYTE(v21) = *(_BYTE *)(sbox + v21);
v29.n64_u8[2] = v20;
v7[11] = v21;
v28 = *(_BYTE *)(sbox + v22);
v29.n64_u8[3] = v21;
v7[12] = v28;
LOBYTE(v10) = *(_BYTE *)(sbox + v23);
v29.n64_u8[4] = v28;
v7[13] = v10;
LOBYTE(v11) = *(_BYTE *)(sbox + v24);
v29.n64_u8[5] = v10;
v7[14] = v11;
v29.n64_u8[6] = v11;
v29.n64_u8[7] = *(_BYTE *)(sbox + v25);
v7[15] = v29.n64_u8[7];
while
( 1 )
{
v30 = veor_s8(v29, v8[1]).n64_u64[0];
*(int8x8_t *)v7 = veor_s8(v27, (int8x8_t)v8->n64_u64[0]);
*((_QWORD *)v7 + 1) = v30;
row_rotation(v7, 4LL, 1LL);
if
( !v26 )
break
;
column_rotation(v8, 4LL, 1LL);
v31 = get_sbox();
v32 = v8->n64_u8[1];
v27.n64_u64[0] = *(unsigned
__int64
*)v7;
v29.n64_u64[0] = *(_QWORD *)(v7 + 8);
--v26;
v8->n64_u8[0] = *(_BYTE *)(v31 + v8->n64_u8[0]);
v33 = *(_BYTE *)(v31 + v32);
v34 = v8->n64_u8[2];
v8->n64_u8[1] = v33;
v35 = *(_BYTE *)(v31 + v34);
v36 = v8->n64_u8[3];
v8->n64_u8[2] = v35;
v37 = *(_BYTE *)(v31 + v36);
v38 = v8->n64_u8[4];
v8->n64_u8[3] = v37;
v39 = *(_BYTE *)(v31 + v38);
v40 = v8->n64_u8[5];
v8->n64_u8[4] = v39;
v41 = *(_BYTE *)(v31 + v40);
v42 = v8->n64_u8[6];
v8->n64_u8[5] = v41;
v43 = *(_BYTE *)(v31 + v42);
v44 = v8->n64_u8[7];
v8->n64_u8[6] = v43;
v45 = *(_BYTE *)(v31 + v44);
v46 = v8[1].n64_u8[0];
v8->n64_u8[7] = v45;
v47 = *(_BYTE *)(v31 + v46);
v48 = v8[1].n64_u8[1];
v8[1].n64_u8[0] = v47;
v49 = *(_BYTE *)(v31 + v48);
v50 = v8[1].n64_u8[2];
v8[1].n64_u8[1] = v49;
v51 = *(_BYTE *)(v31 + v50);
v52 = v8[1].n64_u8[3];
v8[1].n64_u8[2] = v51;
v53 = *(_BYTE *)(v31 + v52);
v54 = v8[1].n64_u8[4];
v8[1].n64_u8[3] = v53;
v55 = *(_BYTE *)(v31 + v54);
v56 = v8[1].n64_u8[5];
v8[1].n64_u8[4] = v55;
v57 = *(_BYTE *)(v31 + v56);
v58 = v8[1].n64_u8[6];
v8[1].n64_u8[5] = v57;
v59 = *(_BYTE *)(v31 + v58);
v60 = v8[1].n64_u8[7];
v8[1].n64_u8[6] = v59;
v8[1].n64_u8[7] = *(_BYTE *)(v31 + v60);
}
free
(v8);
}