Unicode strings not aligned by pushd when multiple string parts used.
The second string in this code is not aligned.    
include 'win32wx.inc'
.code
begin:
  align 2
     stdcall is_it_aligned,'Some text'
 align 2
     stdcall is_it_aligned,<'Some more text',13,10>
      invoke  ExitProcess,0
proc is_it_aligned parameter
   test    [parameter],1
       jnz     .not_aligned
        invoke  MessageBox,0,[parameter],'Aligned Okay',0
 ret
    .not_aligned:
        invoke  MessageBox,0,[parameter],'Not Aligned',0
  ret
endp
.end begin    
_________________________________________________________________________
We can fix this in WIN32WX.INC. At line 71:    
macro pushd value
{ match first=,more, value \{ \local ..continue
         times 1 - (rva $ and 1) nop ;<<<----- add this line
   call ..continue
;...    WIN32WXP.INC has the same problem.