LONGPTR_MASK
lp = (const unsigned long *)((uintptr_t)str & ~LONGPTR_MASK);
lp = (const unsigned long *)((uintptr_t)begin & ~LONGPTR_MASK);