If the method corrcoef gets two arrays x and y, it stacks them (vertically if rowVar is True, horizontally if rowVar is False).
In the source:
if y is not None:
y = array(y, copy=False, ndmin=2, dtype=dtype)
if not rowvar and y.shape[0] != 1:
y = y.T
X = np.vstack((X, y))
In statistical terms, it thinks A has 64 variables (in columns, since rowVar is false), and B has 36. Stacking them gives you 100 variables, hence the 100 by 100 correlation matrix.
Correlation matrix is always symmetric (and positive semidefinite). If you only want the correlations between x and y variables, they are in an off-diagonal block of size 64 by 36: extract it with slicing. Here's the structure of the output:
corr(x, x), size 64 by 64 | corr(x, y), size 64 by 36
---------------------------+---------------------------
corr(y, x), size 36 by 64 | corr(y, y), size 36 by 36