Depends on what you call having all the algs. I have already written out a set of algs for all cases, but it is still far from perfect. Here it is, hope this helps. Notations are Superset ENG.
For the first step, with the number of wrong centers on each face, 2b meaning 2 forming a bar, 2d meaning 2 forming a diagonal. The numbers under the same parenthesis correspond to opposite sides.
(1,0) (1,0): ML'U'MRUMLU'MR'U
(2b,0) (2b,0): ML'FB'U2F'BMLFB'U2F'B
(2b,0) (2d,0): ML'UMRU'MLU2ML'U'MR'UMLU2
(2d,0) (2d,0): ML2U'F'MU2MLMU2ML'FUML2
(1,1) (2b,0): MU2F2MLMU2ML'MU2F2MU2
(1,1) (2d,0): MU2F'MLMU2ML'MU2FMU2
(1,1) (1,1): MLMU2ML'MU2
(3,0) (3,0): ML'U'MRUMLU2ML'UMR'U2MRUMLU'MR'U'
(3,0) (2b,1): ML'U'MR'UMLU2ML'UMRU2MR'UMLU'MRU'
(3,0) (2d,1): ML'U'MRUMLU2MLUMR'U2MR'UML'U'MRU'
(2b,1) (2b,1): MU'MDLMU'MDMLMUMD'L'MUMD'ML'
(2b,1) (2d,1): MUMDLMU'MDMLMUMD'L'MUMD'ML'MU2
(2d,1) (2d,1): MLMU2ML'U2MR'MD2MRD2
(4,0) (4,0): ML'FB'U2F'BMLMRFB'U2F'BMR'
(4,0) (3,1): ML2U2FMLMU2MD'2ML'MU2MD'2F'U2ML2
(4,0) (2b,2b): ML2U2MLMU2MD'2ML'D2MR2
(4,0) (2b,2d): ML2U2MLMU2ML'MU2FMLMD'2ML'MD'2F'U2ML2
(4,0) (2d,2d): MD2ML2U2MLMU2MD'2ML'TD2MR2
(3,1) (3,1): ML2UFMLMU2MD'2ML'MU2MD'2F'U'ML2
(3,1) (2b,2b): ML2UMLMU2MD'2ML'MU2MD'2U'ML2
(3,1) (2b,2d): MLMU2ML'MU'2UFMLMD'2ML'MD'2F'U'
(3,1) (2d,2d): MLMU2ML'MU'2FMD'2MR'MD'2MRF'
(2b,2b) (2b,2b): MLMU2MD'2ML'MU2MD'2
(2b,2b) (2b,2d): MLMU2ML'UMLMD'2ML'MU2MD'2U'
(2b,2b) (2d,2d): MLMU2ML'MRMU2MR'
(2b,2d) (2b,2d): MLMU2ML'MU2UF'MLMD'2ML'MD'2FU'
(2b,2d) (2d,2d): MLMU2ML'UMU2MD'2MLMD'2ML'U'
(2d,2d) (2d,2d): MLMU2ML'MR'MD'2MRMU2MD'2
(4,1) (4,1): ML'FB'D2F'BUMRU'MLFB'D2F'BUMR'U'
(4,1) (3,2b): ML2U2MLMU2MD'2ML'MU2MD'2U2MLMU2ML'MU2ML2
(4,1) (3,2d): ML2U2MLMU2MD'2ML'MU2MD'2U2ML'MU2ML'MU2
(3,2b) (3,2b): MLMU2MD'2ML'U2MR'MU2MRMD2U2
(3,2b) (3,2d): MLMU2MD'2ML'UMR'MU2MRMD2U'
(3,2d) (3,2d): MU2ML'MU2MD'2MLF'MD'2MRMD'2MR'FMD'2
(4,2b) (4,2b): U2MLMU2MD'2ML'U2MR'MU2MD'2MR
(4,2b) (4,2d): ML2U2FMLMU2MD'2ML'MRMU2MR'MD'2F'U2ML2
(4,2d) (4,2d): ML2U'F'MLMU2MD'2ML'MRMD'2MR'MU2FUML2
(4,2b) (3,3): ML2U2MLMU2MD'2ML'MR'MD'2MRTU2ML2
(4,2d) (3,3): ML2U2MLMU2MD'2ML'UMR'MD'2MRU'TU2ML2
(3,3) (3,3): MLMU2MD'2ML'MR'MU2MRMD'2
(4,3) (4,3): MLMU2MD'2ML'UMR'MU2MD'2MRU'
(4,4) (4,4): MLMU2MD'2ML'MR'MU2MD'2MR
For the second step, with the number of centers to swap on each pair of opposite faces (2b=2, bar on both; 2d=2, diagonal on both; 2bd=2, bar on one and diagonal on the other)
1,0: ML2UMR2U'ML2UMR2U'
1,1: MLMU2ML'U'DML'MU2MLUD'
2b,0: ML2MU2ML2MU2
2b,1: ML2TU2U'MR2U'ML2UMR2UTU2
2b,2b: ML2MUMD'ML2MU'MD
2d,0: ML2MU2ML2MU2F2ML2MU2ML2MU2F2
2d,1: ML2MU'MDML2MUMD'F'R'B'ML2MU'MDML2MUMD'BRF
2d,2b: ML2MU'MDML2MUMD'F2MU2ML2MU2ML2F2
2d,2d: ML2MU'MDML2MUMD'L2F2MU2MF2ML2MU2ML2TF2L2
2bd 0: ML2U'MR2UML2U2ML2UMR2U'ML2U2
2bd,1: ML2F'U'MR2UFML2F'U2ML2UMR2U'ML2U2F
2bd,2b: TRUTR'MD2ML2MF2MD2MF2ML2TRU'TR'
2bd,2d: TRUTR'FML2MUMD'ML2MU'MDF'TRU'TR'L2MD2MF2MD2MF2L2
2bd,2bd: TLU'TL'MD2ML'MRMD2MLMR'TLUTL'
3,0: ML2MU2ML2MU2FML2MU2ML2MU2F'
3,1: ML2MU2MD'2U'F'MR2FUML2U'F'MR2FUMU2MD'2
3,2b: ML2MUMD'ML2MU'MDF'MU2F'MD2FMU2F'MD2F2
3,2d: ML2MUMD'ML2MU'MDL2RFBML2MUMD'ML2MU'MDF'B'L2R'
3,2bd: ML2MU'MDML2MD'MUR2F'L'MU2LFMD2F'L'MU2LFMD2R2
3,3: ML2MUMD'ML2MU'MDFLMR2MUMD'MR2MU'MDL'F'
4,0: ML2MU2MD'2ML2MU2MD'2
4,1: ML2MU2MD'2U'MR2UML2U'MR2UMU2MD'2
4,2b: MU2ML2MR'2MF2MU2MF2ML2MR'2
4,2d: ML2MR'2MUMD'ML2MU'MDLRMUMD'MR'2MU'MDL'R'
4,2bd: ML2MU2MD'2UMR2U'ML2U2ML2U'MR2UML2D2
4,3: ML2MR'2MUMD'ML2MU'MDLMUMD'MR2MU'MDL'
4,4: ML2MR'2MUMD'ML2MR'2MU'MD