37 lines
961 B
C
37 lines
961 B
C
else
|
|
{
|
|
char* pos_ptr = strchr("abcdefghjklmnpqrstuvwxyz", input[state_index]);
|
|
if (pos_ptr != NULL)
|
|
{
|
|
int64_t pos = pos_ptr - "abcdefghjklmnpqrstuvwxyz";
|
|
int32_t remainder = pos % 4;
|
|
char* permutation_array = &permutations[pos / 4];
|
|
while (true)
|
|
{
|
|
if (remainder < 1)
|
|
break;
|
|
remainder -= 1;
|
|
|
|
char state_copy[0x36];
|
|
char* state_copy_ptr = &state_copy;
|
|
|
|
char* state_ptr_1 = &state;
|
|
|
|
int64_t i = 0x36;
|
|
for (; i != 0; i -= 1)
|
|
{
|
|
*state_copy_ptr = *state_ptr_1;
|
|
state_copy_ptr += 1;
|
|
state_ptr_1 += 1;
|
|
}
|
|
do
|
|
{
|
|
char elem = state_copy[permutation_array[i]];
|
|
state[i] = elem;
|
|
i += 1
|
|
} while (i != 0x36);
|
|
}
|
|
state_index += 1;
|
|
continue;
|
|
}
|
|
} |