

DWORD GetGlowObject() {
DWORD GlowOArr = Meme.FindPatternArray(Client, Meme.GetSize(), "x????xxxxxxx", 12, 0xA1, 0x0, 0x0, 0x0, 0x0, 0xA8, 0x01, 0x75, 0x4E, 0x0F, 0x57, 0xC0);
DWORD GlowOArr1 = Meme.Read<DWORD>(GlowOArr + 1);
BYTE GlowOArr2 = Meme.Read<BYTE>(GlowOArr + 4);
return (GlowOArr1 + GlowOArr2) - Client;
}
The real = 0x04FC60B4
What I got = 0x04FC60D0

DWORD ProcMem::FindPatternArray(DWORD start, DWORD size, LPCSTR mask, int count, ...) {
char* sig = new char[count + 1];
va_list ap;
va_start(ap, count);
for (int i = 0; i < count; i++) {
char read = va_arg(ap, char);
sig[i] = read;
}
va_end(ap);
sig[count] = '\0';
return FindPattern(start, size, sig, mask);
}


DWORD GetGlowObject() {
DWORD Glow = Meme.FindPatternArray(Client, Meme.GetSize(), "x????xxxx????xx", 15, 0xE8, 0x0, 0x0, 0x0, 0x0, 0x83, 0xC4, 0x04, 0xB8, 0x0, 0x0, 0x0, 0x0, 0xC3, 0xCC);
DWORD Glow2 = Meme.Read<DWORD>(Glow + 9);
return Glow2 - Client;
}