le jeu a été mis a jour du coup certaine stucture on changer
donc voici la fonction dans le jeu actuelement
signed __int64 __fastcall sub_10BB6D0(__int64 a1, __int64 a2, __int64 a3, int a4, __int64 a5, __int64 a6, unsigned __int64 a7, unsigned __int64 a8, __int64 a9, __int64 a10, __int64 a11, __int64 a12, __int64 a13, __int64 a14)
{
  int v14; // esi
  __int64 v15; // rbx
  __int64 v16; // r10
  unsigned __int64 v17; // rdi
  unsigned __int64 v18; // r10
  __int64 *v19; // rbx
  __int64 v20; // r10
  char v21; // sf
  char v22; // dh
  unsigned __int64 v23; // r8
  signed __int64 v24; // r10
  signed __int64 result; // rax
  bool v26; // cf
  __int64 v27; // [rsp+88h] [rbp+20h]

  v14 = a4;
  v15 = a1;
  sub_E9FF30(&a7, &a8, &v27, &a14);
  v16 = *(_QWORD *)(v15 + 8i64 * (unsigned int)a14 + 0x110);
  v17 = (a7 & *(_QWORD *)(v15 + 8i64 * (unsigned int)a14 + 0x110)) >> v27;
  v18 = (a8 & v16) - (((a8 & v16) >> 1) & 0x5555555555555555i64);
  v19 = (__int64 *)(*(_QWORD *)(v15 + 0x80)
                  + 8
                  * (*(unsigned __int8 *)((unsigned int)a14 + v15 + 0x130)
                   + (0x101010101010101i64
                    * (((v18 & 0x3333333333333333i64)
                      + ((v18 >> 2) & 0x3333333333333333i64)
                      + (((v18 & 0x3333333333333333i64) + ((v18 >> 2) & 0x3333333333333333i64)) >> 4)) & 0xF0F0F0F0F0F0F0Fi64) >> 0x38)));
  a5 = 0x48B2FA2B4651BD52i64;
  a6 = 0xA6594D2C281677CDi64;
  ((void (__fastcall *)(__int64 *, __int64 *))loc_B4B10)(&a6, &a5);
  v20 = *v19;
  JUMPOUT(v21, (char *)&loc_10BB7ED + 4);
  JUMPOUT(!v21, (char *)&loc_10BB7ED + 4);
  JUMPOUT(!__SETP__(v22, 0x31), &unk_10D8F2F);
  *(_DWORD *)(v17 - 0x74B3C75D) += __CFADD__(v22, 0xCFu) + 0x44;
  v24 = a6 ^ ((unsigned int)v20 | ((unsigned int)v20 | v20 & 0xFFFFFFFF00000000ui64 ^ ((unsigned __int64)(unsigned int)(2 * __ROR4__(*(_QWORD *)((char *)&dword_3807620 + (v23 >> 0x34)), 3) - v20) << 0x20)) & 0xFFFFFFFF00000000ui64 ^ ((unsigned __int64)(__ROR4__(*(_QWORD *)((char *)&dword_3807620 + (v23 & 0xFFF)) >> 0x20, 0xB) ^ (unsigned int)~(_DWORD)v20) << 0x20));
  JUMPOUT(v24, 0i64, (char *)&loc_10BB87B + 6);
  JUMPOUT(v24 >= 0, (char *)&loc_10BB87B + 6);
  result = 0xB79D549Ei64;
  v26 = *(_BYTE *)(2i64 * (unsigned int)(v14 + 0x3E8E9907) + 0x6AEF1701) < 0x8Bu;
  return result;
}

et voici mon ancienne fonction dans mon code

	inline uintptr_t DecryptComponent(uintptr_t parent, uint8_t idx) {
		__try {
			if (parent) {

				unsigned __int64 v1 = parent;
				unsigned __int64 v2 = (uintptr_t)1 << (uintptr_t)(idx & 0x3F);
				unsigned __int64 v3 = v2 - 1;
				unsigned __int64 v4 = idx & 0x3F;
				unsigned __int64 v5 = idx / 0x3F;
				unsigned __int64 v6 = SDK->RPM<uintptr_t>((v1 + 8 * (uint32_t)v5 + 0x110));
				unsigned __int64 v7 = (v2 & SDK->RPM<uintptr_t>((v1 + 8 * (uint32_t)v5 + 0x110))) >> v4;
				unsigned __int64 v8 = (v3 & v6) - (((v3 & v6) >> 1) & 0x5555555555555555);
				unsigned __int64 v9 = SDK->RPM<uintptr_t>((SDK->RPM<uintptr_t>((v1 + 0x80)) + 8 * (SDK->RPM<uint8_t>(((uint32_t)v5 + v1 + 0x130)) + ((0x101010101010101 * (((v8 & 0x3333333333333333) + ((v8 >> 2) & 0x3333333333333333) + (((v8 & 0x3333333333333333) + ((v8 >> 2) & 0x3333333333333333)) >> 4)) & 0xF0F0F0F0F0F0F0F)) >> 0x38))));
				unsigned __int64 Key1 = SDK->GlobalKey1;
				unsigned __int64 Key2 = SDK->GlobalKey2;
				auto dummy = SDK->RPM<_QWORD>(SDK->dwGameBase + 0x3825080 + (Key1 >> 0x34));
				auto dummy2 = SDK->RPM<_QWORD>(SDK->dwGameBase + 0x3825080 + (Key1 & 0xFFF));
				unsigned __int64 v10 = (unsigned int)v9 | v9 & 0xFFFFFFFF00000000ui64 ^ ((unsigned __int64)(2 * (unsigned int)v9 - __ROL4__(dummy, 9)) << 0x20);
				unsigned __int64 v11 = (unsigned int)Key2 ^ (unsigned int)v10 | (Key2 ^ ((unsigned int)v10 | v10 & 0xFFFFFFFF00000000ui64 ^ ((unsigned __int64)(unsigned int)(2 * v10 - __ROL4__(HIDWORD(dummy2), 9)) << 0x20))) & 0xFFFFFFFF00000000ui64 ^ ((unsigned __int64)(2 * ((unsigned int)Key2 ^ (unsigned int)v10) + 0x4DD43052) << 0x20);
				unsigned __int64 v12 = -(int)v7 & ((unsigned int)v11 | v11 & 0xFFFFFFFF00000000ui64 ^ ((unsigned __int64)(unsigned int)(2 * __ROR4__(HIDWORD(dummy), 3) - v11) << 0x20));
				return v12;



			}
		}
		__except (EXCEPTION_EXECUTE_HANDLER) {}
		return NULL;
	}


peu tu arrivé a mettre a jour mon code sachant que uniquement les adresse et offset on changer et legerment les structure peu etre mais pas sur 

et avant la mise a jour du jeu j'avais deja cette structure dans le jeu mais avec des address different et j'avais addapté ma fonction pour que ca foncctionne dans mon code donc il faut garder la structure je pense de ma fonction et simplement mettre a jour les adressse et different changement qui on eu lieu depuis la mise a jour