\documentclass[preview]{standalone}

\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{amssymb}

\usetikzlibrary{calc}
% `pathmorphing` is necessary to draw squiggly arrows.
\usetikzlibrary{decorations.pathmorphing}

% A TikZ style for curved arrows of a fixed height, due to AndréC.
\tikzset{curve/.style={settings={#1},to path={(\tikztostart)
    .. controls ($(\tikztostart)!\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
    and ($(\tikztostart)!1-\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
    .. (\tikztotarget)\tikztonodes}},
    settings/.code={\tikzset{quiver/.cd,#1}
        \def\pv##1{\pgfkeysvalueof{/tikz/quiver/##1}}},
    quiver/.cd,pos/.initial=0.35,height/.initial=0}

% TikZ arrowhead/tail styles.
\tikzset{tail reversed/.code={\pgfsetarrowsstart{tikzcd to}}}
\tikzset{2tail/.code={\pgfsetarrowsstart{Implies[reversed]}}}
\tikzset{2tail reversed/.code={\pgfsetarrowsstart{Implies}}}
% TikZ arrow styles.
\tikzset{no body/.style={/tikz/dash pattern=on 0 off 1mm}}

\begin{document}
\[\begin{tikzcd}
	&& \bullet && \bullet \\
	\\
	\bullet && \bullet && \bullet && \bullet \\
	\\
	\bullet && \bullet && \bullet && \bullet \\
	\\
	&& \bullet && \bullet && \bullet
	\arrow[from=3-3, to=5-3]
	\arrow[from=3-5, to=5-5]
	\arrow[from=5-3, to=5-5]
	\arrow[from=3-3, to=3-5]
	\arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=3-3, to=5-5]
	\arrow[from=3-1, to=3-3]
	\arrow[from=5-1, to=5-3]
	\arrow[from=3-5, to=3-7]
	\arrow[from=5-5, to=5-7]
	\arrow[from=1-5, to=3-5]
	\arrow[from=1-3, to=3-3]
	\arrow[from=5-3, to=7-3]
	\arrow[from=5-5, to=7-5]
	\arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=5-3, to=7-5]
	\arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=3-5, to=5-7]
	\arrow["\lrcorner"{anchor=center, pos=0.125}, draw=none, from=5-5, to=7-7]
\end{tikzcd}\]
\end{document}
