From $A$ we have two directions represented by the two unitary vectors $\hat v= (v_x,v_y)$ and $\hat w=(w_x,w_y)$ as starting and ending respectively. The geometric elements needed to construct the required maneuver are:
$$
\cases{
L_e\to p = A+\lambda\hat v\\
L_s\to p = A + \mu \hat w\\
C_e\to \|p-O_e\|^2 = R^2\\
C_i\to \|p-O_i\|^2 = r^2
}
$$
where $p = (x,y)$. Calling now $\hat v_o = (v_y,-v_x)$ we have
$$
\cases{
O_e = A + R\hat v_o\\
\{B\} = C_e\cap C_i\\
\{C\} = C_i\cap L_s
}
$$
The determination of $O_i$ and $C$ is made at the same time. From $\{C\} = C_i\cap L_s$ we have
$$
\|A+\mu\hat w-O_i\|^2=\|A-O_i\|^2-2\mu(A-O_i)\cdot\hat w+\mu^2=r^2
$$
and solving for $\mu$ we have
$$
\mu = (A-O_i)\cdot\hat w\pm\sqrt{((A-O_i)\cdot\hat w)^2-\|A-O_i\|^2+r^2}
$$
and at tangency we have
$$
\cases{
((A-O_i)\cdot\hat w)^2-\|A-O_i\|^2+r^2=0\\
\mu^* = (A-O_i)\cdot\hat w
}
$$
then solving for $O_i$
$$
\cases{
((A-O_i)\cdot\hat w)^2-\|A-O_i\|^2+r^2=0\\
\|A+R\hat v_0-O_i\| = r^2
}
$$
we obtain two solutions for $O_i$. Also $C,B$ are determined as
$$
\cases{
C = A +\mu^* \hat w \\
B = O_e+2(O_i-O_e)
}
$$
Follows a graphic showing in blue the centers for $O_e, {O_i}_1, {O_i}_2$ in red the points $B_1,B_2,C_1,C_2$ and in black $A$. Note that $\hat w$ is not necessarily vertical. The adopted values are
$$
\cases{
A = (0,0)\\
R = 2\\
r = 1\\
\hat v =(\frac{1}{\sqrt{3}},\frac{3}{\sqrt{3}})\\
\hat w =(-\frac{1}{\sqrt{5}} ,\frac{2}{\sqrt{5}})
}
$$
Follows a MATHEMATICA script to perform the calculations
parms = {vx -> 1, vy -> 3, wx -> -0.5, wy -> 1, r -> 1, R -> 2, ax -> 0, ay -> 0};
v = {vx, vy}/Sqrt[vx^2 + vy^2];
vo = {v[[2]], -v[[1]]};
w = {wx, wy}/Sqrt[wx^2 + wy^2];
pA = {ax, ay};
pC = pA + lambda w;
oi = {oxi, oyi};
oe = pA + R vo;
equoi1 = ((pA - oi).w)^2 - ((pA - oi).(pA - oi) - r^2);
equoi2 = (oi - oe).(oi - oe) - r^2;
equsoi = {equoi1, equoi2} /. parms;
soloi = Quiet@Solve[equsoi == 0, oi, Reals];
lambda0 = -(pA - oi).w;
pB1 = oe + 2 (oi - oe) /. soloi[[1]] /. parms;
pB2 = oe + 2 (oi - oe) /. soloi[[2]] /. parms;
pC1 = pA + lambda0 w /. soloi[[1]] /. parms;
pC2 = pA + lambda0 w /. soloi[[2]] /. parms;