Actually I read NSIS documentation on this which says about some stack issue thats not clear to me..
Will this piece of code cause an issue for long time ?
ReadRegStr $1 HKLM "Software\xyz" "xyz"
${If} $1 == ""
WriteRegStr HKLM "Software\xyz" "xyz" $2
${EndIf}
ReadRegStr $1 HKLM "Software\xyz" "xyz2"
${If} $1 == ""
WriteRegStr HKLM "Software\xyz" "xyz2" "FALSE"
${EndIf}