Things learned

Pass -pin_memory_size <bytes> to pin to force it to use less memory. Useful if you want to constraint the amount of memory PIN will use. Pin docs recommend <bytes> be greater than 30mb.

Angr, or more specifically claripy, has a, “Replacement Solver.” Using the replacement solver allows you to build symbolic expressions while solving over the IR and then tell the solver, “Always replace variable X with value Y,” while solving. This allows you to quickly build expressions up to a point, at which time you can then tell the solver, “Solve as you normally would.”