Hey there, my hack stopped working and I need help from you guys about changing the pattern, I've already updated the offsets but cannot find patterns, please help me find it or please amend the following code with correct values.. I'll be very thankful

Code:
void COffsets::updateLocalPlayer() {
	DWORD lpStart = mem->FindPatternArr(modClient.dwBase, modClient.dwSize, "xxx????xx????xxxxx?", 19, 0x8D, 0x34, 0x85, 0x0, 0x0, 0x0, 0x0, 0x89, 0x15, 0x0, 0x0, 0x0, 0x0, 0x8B, 0x41, 0x8, 0x8B, 0x48, 0x0);
	DWORD lpP1 = mem->Read<DWORD>(lpStart + 3);
	BYTE lpP2 = mem->Read<BYTE>(lpStart + 18);
	dwLocalPlayer = (lpP1 + lpP2) - modClient.dwBase;
}

void COffsets::updateEntityList() {
	DWORD elStart = mem->FindPatternArr(modClient.dwBase, modClient.dwSize, "x????xx?xxx", 11, 0x5, 0x0, 0x0, 0x0, 0x0, 0xC1, 0xE9, 0x0, 0x39, 0x48, 0x4);
	DWORD elP1 = mem->Read<DWORD>(elStart + 1);
	BYTE elP2 = mem->Read<BYTE>(elStart + 7);
	dwEntityList = (elP1 + elP2) - modClient.dwBase;
}

void COffsets::updateAttack() {
	DWORD aStart = mem->FindPatternArr(modClient.dwBase, modClient.dwSize, "xx????xx????xxxxxxx", 19, 0x89, 0x0D, 0x0, 0x0, 0x0, 0x0, 0x8B, 0x0D, 0x0, 0x0, 0x0, 0x0, 0x8B, 0xF2, 0x8B, 0xC1, 0x83, 0xCE, 0x04);
	DWORD aOff = mem->Read<DWORD>(aStart + 2);
	dwAttack = aOff - modClient.dwBase;
}

void COffsets::updateEnginePointerAndSetViewAngle() {
	DWORD epStart = mem->FindPatternArr(modEngine.dwBase, modEngine.dwSize, "xxxxxxxx????xxxxxxxxxx????xxxx????xxx", 37, 0xF3, 0x0F, 0x11, 0x80, 0x0, 0x0, 0x0, 0x0, 0xD9, 0x46, 0x04, 0xD9, 0x05, 0xA1, 0x0, 0x0, 0x0, 0x0, 0x33, 0xD2, 0x6A, 0x0, 0x6A, 0x0, 0x33, 0xC9, 0x89, 0xB0);
	dwEnginePointer = mem->Read<DWORD>(epStart + 22) - modEngine.dwBase;
	dwSetViewAngle = mem->Read<DWORD>(epStart + 30);
}


void COffsets::updateGlow() {
	DWORD gpStart = mem->FindPatternArr(modClient.dwBase, modClient.dwSize, "xxx????xxxxx????????", 20, 0x0F, 0x11, 0x05, 0x0, 0x0, 0x0, 0x0, 0x83, 0xC8, 0x01, 0xC7, 0x05, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0);
    dwGlow = mem->Read<DWORD>(gpStart + 3) - modClient.dwBase;
}

void COffsets::updateJump() {
	DWORD jStart = mem->FindPatternArr(modClient.dwBase, modClient.dwSize, "xx????xxxxxxx", 23, 0x8B, 0x0D, 0x0, 0x0, 0x0, 0x0, 0x8B, 0xD6, 0x8B, 0xC1, 0x83, 0xCA, 0x02);
	DWORD jOff = mem->Read<DWORD>(jStart + 2);
	dwJump = jOff - modClient.dwBase;
}
and my offsets are the following, please check if these are correct:

Code:
DWORD dwActiveWeapon = 0x2EF8; //m_hActiveWeapon
	DWORD dwWeaponId = 0x335C; //m_iWeaponID (m_fAccuracyPenalty + ???)
	DWORD dwInCross = 0xB3E4; //m_iCrossHairID
	DWORD dwSpotted = 0x93DD; //m_bSpotted
	DWORD dwId = 0x64; //m_dwIndex
	DWORD dwHealth = 0x100; //m_iHealth
	DWORD dwTeam = 0xF4; //m_iTeamNum
	DWORD dwAmmo = 0x3264; //m_iClip1
	DWORD dwVecPunch = 0x302C; //m_vecPunch (m_aimPunchAngle + m_local)
	DWORD dwIShotsFired = 0xA390; //m_iShotsFired
	DWORD dwDormant = 0xED; //bDormant
	DWORD dwFlags = 0x104; //m_fFlags
	DWORD dwFlashMaxAlpha = 0xA41C; //m_flFlashMaxAlpha
	DWORD dwMatrixBone = 0x26A8; //m_dwBoneMatrix
	DWORD dwVecOrigin = 0x138;
	DWORD dwSpottedByMask = 0x980;
	DWORD dwVecViewOffset = 0x108;