A simple Google can take you there.. According to MSDN, 'memcmp' function will compare the first parameter with the second (in this case it will compare shouldBe's value with 0x586E00's value). The third parameter is the number of characters to compare.
Returns less than 0 if the first parameter is smaller than the second one; returns 0 if they're both identical; returns bigger than 0 if the first parameter is greater than the second one.
In this case, this:
Code:
if (memcmp(shouldBe, (void*)0x586E00, 5))
is the same as:
Code:
if (memcmp(shouldBe, (void*)0x586E00, 5) == 0)
Sorry for the late answer.