movaps [cs1],xmm1 ;source movaps [cs1+32],xmm1 ;source dont touch will use to restore src after all is said and done movaps [cs1+16],xmm0 ;dest mov eax,[cs1+32+8] mov [cs1+12],eax mov eax,[cs1+32] mov [cs1+8],eax mov eax,[cs1+32+8] mov [cs1+4],eax ;source is now ready,next setup dest mov eax,[cs1+16+4] mov [cs1+16+8],eax mov eax,[cs1+32+4] mov [cs1+16],eax mov eax,[cs1+32+12] mov [cs1+16+4],eax haddps xmm0,xmm1 movaps xmm1,[cs1+32]