So you are saying subtracting extra 8 bytes for alignment shouldn't hurt.
sub rsp, 48 --> OK, works
But why subtracting 8 bytes more crashes application?
sub rsp, 56 ---> NOT OK, crashes
Moreover putting extra alignment in Dlgproc also craches application.
DlgProc:
sub rsp, 32 ---> OK
sub rsp, 40 --> NOT OK