We are interested in "Crossed Module Classification Theorem (Two crossed modules with kernel $A$ and cokernel $G$ determined the same class in $H^3(G;A)$ if and only if they are equivalent.)".
We study the works of Charles A. Weibel "An Introduction To Homological Algebra", Saunders Mac Lane "Historical Note, Cohomolgy Groups $H^n(G;M)$" and Joseph J. Rotman "An Introduction to Homological Algebra". Weibel says:
Consider a $4$-term exact sequence with $A$ central in $N$; $0\to A\to N\to E\to G\to 1$ and choose a based section $\sigma : G \to E$ of $\pi$; as in the theory of factor sets, the map $[] : G\times G \to \ker\pi$ defined by $[g,h] = \sigma(g)\sigma(h)\sigma(gh)^{-1}$ satisfies a nonabelian cocycle condition $[f,g][fg,h] = \sigma(f)[g,h]\sigma(f)^{-1}[f,gh]$. We can lift each $[f,g]$ to an element $[[f,g]]$ of $N$.
Given a crossed module $N\to E$ we set $A = \ker\alpha$ and $G = \operatorname{coker}\alpha$; $G$ is a group because $\alpha(N)$ is normal in $E$, $A$ is in the center of $N$ and $G$ acts on $A$, so that $A$ is a $G$ module and we have the sequence $0\to A\to N\to E\to G\to 1$. Assuming that $N\to E$ is a crossed module, the failure of $[[f,g]]$ to satisfy the cocycle condition is given by the function $c : G\times G\times G \to A$ defined by $c(f,g,h)[[f,g]][[fg,h]] = \sigma(f)[[g,h]]\sigma(f)^{-1}[[f,gh]]$.
How can we check that $c$ is a $3$-cocycle, whose class in $H^3(G;A)$ is independent of choices of $\sigma$ and $[[f,g]]$? Can we define the function of $c$ explicitly?