## On the Subject of the Logic CM

A machine that knows no bounds when it comes to ciphers.

First, figure out which logic gate the cipher is using. Turn the numbers on screen 4 into 6 digit binary numbers. Then using the left number as the left bits, the middle number as the right bits, and the third number as the resulting bits, find out which gate it is by using the following table:

INPUT | AND | OR | XOR | NAND | NOR | XNOR | -> | <- | !-> | <-! |
---|---|---|---|---|---|---|---|---|---|---|

00 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |

01 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |

10 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |

11 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |

If the Boolean Expression on screen A is true, treat the encrypted word as the right letters and the key on screen 1 as the left letters.

Otherwise, treat the encrypted word as the left letters and the letters on screen 1 as the right letters.

For each letter of the left letters and right letters, do the following:

- Convert the Nth left letter and Nth right letter into a 5 digit binary number (A = 00000, B = 00001...Z = 11001).
- If the Nth bit of the binary on screen 2 is a 1, invert the left binary bits.
- If the Nth bit of the binary on screen 3 is a 1, invert the right binary bits.
- Take the left and right binary numbers and apply the logic gate to them.
- Turn the resulting binary bits back into a letter (00000 = A, 00001 = B...11001 = Z)

The resulting letters should form a decrypted word