Specifically my main gripe with this is the fact that X64 code changes alot of what this is assuming and can lead into ALOT of pitfalls. So make sure you read https://www.nasm.us/xdoc/2.15.05/html/nasmdo12.html (The x64 bit programming section) if you do follow this guide.