If that instruction does not work, as part of the debugging process for an exception you would generally select the "do nothing at the moment" option. However, that is the command for the debugger, not you!

You need to look at the value of eax which is supposed to point into memory, and if it is not a valid number, you need to trace back how it got its incorrect value. Before you do that though, you check to see if what you have coded is correct to start with, and in your case it isn't since you were trying to test the return value of GetMessage in eax, but instead you attempted to test some value in memory [eax]. Correction:
cmp eax,-1