Jump to content

ev0lve.xyz DOUBLETAP


dana
 Share

Recommended Posts

PSEUDOCODE:

bool Weapon::CanShift()
{
  // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

  v0 = dword_3A9124A8 ^ dword_3A9124AC;
  v1 = GetActiveWeapon(g_pLocalPlayer);
  v2 = (_DWORD *)(*(int (__thiscall **)(int, _DWORD))(*(_DWORD *)v0 + 16))(v0, *(_DWORD *)v1);
  if ( v2
    && (v3 = v2,
        v4 = dword_3A912470 ^ dword_3A912474,
        v5 = Netvars::Weapon::m_iItemDefinitionIndex(v2),
        (v6 = (*(int (__thiscall **)(int, _DWORD))(*(_DWORD *)v4 + 8))(v4, *(unsigned __int16 *)v5)) != 0)
    && (v7 = v6, *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v3) != 64)
    && *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v3) != 31
    && *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v3) != 69
    && *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v3) != 49
    && (*(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v3) < 43u
     || *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v3) >= 0x31u)
    && *(_DWORD *)((*(int (__thiscall **)(_DWORD *))(v3[2] + 8))(v3 + 2) + 0x14) != 158 )
  {
    result = *(_DWORD *)(v7 + 204) != 1 && *(_DWORD *)(v7 + 204) != 10;
  }
  else
  {
    result = 0;
  }
  return result;
}

float __cdecl GetShiftTime()
{
  // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

  m_flIntervalPerTick = *(float *)((g_pGlobalVars ^ g_pGlobalVars1) + 0x20);
  m_nLastTickbase = *(_DWORD *)Netvars::Player::m_nTickbase(g_pLocalPlayer) - 1;
  m_flPlayerTime = (float)m_nLastTickbase * m_flIntervalPerTick;
  if ( (_BYTE)exploits_disabled )
    return m_flPlayerTime;
  m_flPlayerTime = (float)m_nLastTickbase * m_flIntervalPerTick;
  if ( CanDoubletap() )
  {
    if ( g_bLastShift )
      return m_flPlayerTime;
  }
  else if ( !(_BYTE)hide_shots )
  {
    return m_flPlayerTime;
  }
  if ( !Weapon::CanShift() )
    return m_flPlayerTime;
  m_nTicks = 0;
  m_flIntervalPerTick = *(float *)((g_pGlobalVars ^ g_pGlobalVars1) + 0x20);
  if ( !(_BYTE)exploits_disabled )
  {
    m_flIntervalPerTick = *(float *)((g_pGlobalVars ^ g_pGlobalVars1) + 0x20);
    if ( CanDoubletap() )
    {
      m_nTicks = 13;
      if ( g_bLastShift )
        m_nTicks = 0;
    }
    else
    {
      m_nTicks = 7;
      if ( !(_BYTE)hide_shots )
        m_nTicks = 0;
    }
  }
  m_flPlayerTime = m_flPlayerTime - (float)(m_flIntervalPerTick * (float)(m_nTicks + 1));
  return m_flPlayerTime;
}

bool CanDoubletap()
{
  // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

  if ( !(_BYTE)exploits_disabled
    && Weapon::CanShift()
    && (v0 = dword_3A9124A8 ^ dword_3A9124AC,
        v1 = GetActiveWeapon(g_pLocalPlayer),
        v2 = (void *)(*(int (__thiscall **)(int, _DWORD))(*(_DWORD *)v0 + 16))(v0, *(_DWORD *)v1),
        *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v2) != 40)
    && *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v2) != 9 )
  {
    result = byte_3A917B8C != 0;
  }
  else
  {
    result = 0;
  }
  return result;
}

signed int __thiscall SetupTicks(_BYTE *this)
{
  signed int result; // eax
  _BYTE *v2; // esi

  result = 0;
  if ( (_BYTE)exploits_disabled )
    return result;
  v2 = this;
  if ( CanDoubletap() )
  {
    result = 13;
    if ( v2[9] )
      result = 0;
  }
  else
  {
    result = 7;
    if ( !(_BYTE)hide_shots )
      result = 0;
  }
  return result;
}

char __userpurge SetupShiftData@<al>(CTickbase *a1@<ecx>, double a2@<st0>, int a3)
{
  // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

  v4 = dword_3A94AD20 ^ dword_3A94AD24;
  v5 = GetActiveWeapon(g_pLocalPlayer);
  v6 = (*(int (__thiscall **)(int, _DWORD))(*(_DWORD *)v4 + 16))(v4, *(_DWORD *)v5);
  if ( (_BYTE)exploits_disabled )
    goto LABEL_2;
  v7 = (int *)v6;
  if ( CanDoubletap() )
  {
    v6 = 13;
    if ( a1->m_bRecharge )
      v6 = 0;
    if ( !v7 )
      goto LABEL_2;
  }
  else
  {
    v6 = 7;
    if ( !(_BYTE)hide_shots )
      v6 = 0;
    if ( !v7 )
      goto LABEL_2;
  }
  if ( !v6 || (LOBYTE(v6) = Weapon::CanShift(), !(_BYTE)v6) )
  {
LABEL_2:
    if ( a1->m_bRecharge )
      a1->m_bRecharged = 1;
    return v6;
  }
  m_nShiftAmount = 0;
  if ( !(_BYTE)exploits_disabled )
  {
    if ( CanDoubletap() )
    {
      m_nShiftAmount = 13;
      if ( a1->m_bRecharge )
        m_nShiftAmount = 0;
    }
    else
    {
      m_nShiftAmount = 7;
      if ( !(_BYTE)hide_shots )
        m_nShiftAmount = 0;
    }
  }
  a1->g_nShift = m_nShiftAmount;
  a1->m_bRecharge = 1;
  if ( byte_3A917B8C )
  {
    if ( dword_3A917BE4 & 2 )
      v9 = 1;
    else
      v9 = ((unsigned __int8)dword_3A917BE4 >> 2) & 1;
    a1->unsigned8 = v9;
    if ( v9 )
    {
      v10 = 1;
      v35 = a1;
      v37 = (_DWORD *)(a3 + 4);
      do
      {
        v36 = v10;
        v11 = v10 + *v37;
        v39 = *(_DWORD *)((dword_3A94ACD0 ^ dword_3A94ACD4) + 0xF4);
        v12 = 100 * (v11 % 150);
        v40 = (_BYTE *)(v39 + v12 + 4);
        qmemcpy(v40, v37, 0x5Cu);
        v13 = 100 * (v11 % 150);
        *(_BYTE *)(v39 + v12 + 96) = *(_BYTE *)(a3 + 96);
        *(_DWORD *)v40 = v11;
        v41 = 0i64;
        v42 = 0;
        (*(void (__stdcall **)(__int64 *))(*(_DWORD *)(dword_3A94ACE0 ^ dword_3A94ACE4) + 72))(&v41);
        *(_DWORD *)(v39 + v13 + 20) = v42;
        *(_QWORD *)(v39 + v13 + 12) = v41;
        v14 = *(_DWORD *)(v39 + v13 + 48) & 0xFFFFF7FE;
        *(_DWORD *)(v39 + v13 + 48) = v14;
        *(_BYTE *)(v39 + v13 + 72) = 0;
        if ( byte_3A917B34 )
          *(_DWORD *)(v39 + v13 + 48) = v14 | 4;
        if ( dword_3A917BE4 & 2 )
        {
          *(_DWORD *)(v39 + v13 + 36) = 0;
          *(_DWORD *)(v39 + v13 + 40) = 0;
          v23 = v35;
          v22 = v36;
          v24 = v11 % 150;
        }
        else
        {
          v38 = 100 * (v11 % 150);
          *(_QWORD *)(v39 + v13 + 36) = qword_3A91934C;
          v15 = sub_3A625C10(g_pLocalPlayer);
          v16 = *(float *)v15 * *(float *)v15;
          v17 = _mm_mul_ps((__m128)*(unsigned __int64 *)(v15 + 4), (__m128)*(unsigned __int64 *)(v15 + 4));
          v18 = *v7;
          v19 = v16 + v17.m128_f32[0];
          v20 = _mm_shuffle_ps(v17, v17, 229);
          v20.m128_f32[0] = v20.m128_f32[0] + v19;
          v43 = _mm_sqrt_ps(v20);
          (*(void (**)(void))(v18 + 1764))();
          v21 = a2;
          v22 = v36;
          v23 = v35;
          v24 = v11 % 150;
          if ( v36 > 4 * (unsigned int)((float)(v21 / 3.0) >= v43.m128_f32[0]) + 7 )
          {
            sub_3A626110(&off_3A919328, (CUserCmd *)(v38 + v39), 0);
            sub_3A7AC6B0(dword_3A9495F8, a2, v38 + v39, 0, 1);
            v22 = v36;
          }
        }
        v25 = 116 * v24;
        qmemcpy(&v23[2].unsigned8 + 116 * v24, v40, 0x5Cu);
        a1 = v35;
        v35[10].m_nLastShift[v25] = v40[92];
        v28 = __OFSUB__(v22, v35->g_nShift);
        v26 = v22 == v35->g_nShift;
        v27 = (signed int)(v22 - v35->g_nShift) < 0;
        v10 = v22 + 1;
      }
      while ( (unsigned __int8)(v27 ^ v28) | v26 );
    }
  }
  else
  {
    a1->unsigned8 = 0;
  }
  v29 = *(_DWORD *)(a3 + 4);
  v30 = (unsigned __int64)(458129845i64 * (v29 + (a1->unsigned8 ^ 1))) >> 32;
  v31 = 116 * (v29 + (a1->unsigned8 ^ 1) - 150 * ((v30 >> 31) + ((signed int)v30 >> 4)));
  *(_DWORD *)((char *)&a1[1].g_nShift + v31) = v29;
  v32 = *(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D28);
  *(_DWORD *)(&a1[1].unsigned8 + v31) = v32;
  *(_DWORD *)&a1[1].m_nLastShift[v31] = a1->g_nShift;
  *((_BYTE *)&a1[2].g_nShift + v31) = a1->unsigned8;
  v33 = *(_DWORD *)((char *)&a1[1].g_nShift + v31) - v32;
  v6 = 116 * (v33 % 150);
  *(_QWORD *)&a1[1].m_nLastShift[v6 + 1] = *(_QWORD *)&a1[1].m_nLastShift[v31 + 1];
  *(_QWORD *)((char *)&a1[1].g_nShift + v6) = *(_QWORD *)((char *)&a1[1].g_nShift + v31);
  qmemcpy(&a1[2].unsigned8 + v6, &a1[2].unsigned8 + v31, 0x5Du);
  return v6;
}

int __thiscall Tickbase::ProcessPacket(CTickbase *m_pTickbase, CUserCmd *m_pCmd, bool *m_bSendPacket)
{
  // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

  m_nShift = 0;
  m_nLastShift = *(_DWORD *)m_pTickbase->m_nLastShift;
  if ( !(_BYTE)exploits_disabled )
  {
    if ( CanDoubletap() )
    {
      m_nShift = 13;
      if ( m_pTickbase->m_bRecharge )
        m_nShift = 0;
    }
    else
    {
      m_nShift = 7;
      if ( !(_BYTE)hide_shots )
        m_nShift = 0;
    }
  }
  if ( m_nLastShift < m_nShift && !*(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D28) )
  {
    m_pCmd->buttons &= 0xFFFFF7FE;
    if ( sub_3A76AC00(&dword_3A940838) )
      LOBYTE(m_pCmd->buttons) |= 4u;
    m_nShift = 0;
    if ( !(_BYTE)exploits_disabled )
    {
      if ( CanDoubletap() )
      {
        m_nShift = 13;
        if ( m_pTickbase->m_bRecharge )
          m_nShift = 0;
      }
      else
      {
        m_nShift = 7;
        if ( !(_BYTE)hide_shots )
          m_nShift = 0;
      }
    }
    m_pTickbase->g_nShift = -m_nShift;
  }
  if ( m_pTickbase->g_nShift < 0 )
  {
    abs_shift = -m_pTickbase->g_nShift;
    v9 = __OFSUB__(*(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D28), abs_shift);
    v7 = *(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D28) == abs_shift;
    v8 = *(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D28) + m_pTickbase->g_nShift < 0;
    *m_bSendPacket = *(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D28) > abs_shift;
    if ( (unsigned __int8)(v8 ^ v9) | v7 )
    {
      v13 = m_pTickbase;
      v14 = (unsigned __int64)(458129845i64 * m_pCmd->command_number) >> 32;
      v15 = 116 * (m_pCmd->command_number - 150 * ((v14 >> 31) + ((signed int)v14 >> 4)));
      *(_DWORD *)(&m_pTickbase[1].unsigned8 + v15) = -1;
      *(_DWORD *)((char *)&v13[1].g_nShift + v15) = m_pCmd->command_number;
    }
    else
    {
      v22 = m_pCmd->viewangles[2];
      v21 = *(_QWORD *)m_pCmd->viewangles;
      v10 = *(_DWORD *)((dword_3A94ACD0 ^ dword_3A94ACD4) + 0xF4);
      v11 = (unsigned __int64)(458129845i64 * *(signed int *)((g_pClientState3 ^ g_pClientState4) + 0x4D24)) >> 32;
      v12 = 100
          * (*(_DWORD *)((g_pClientState3 ^ g_pClientState4) + 0x4D24) - 150 * ((v11 >> 31) + ((signed int)v11 >> 4)));
      m_pCmd->viewangles[2] = *(float *)(v10 + v12 + 20);
      *(_QWORD *)m_pCmd->viewangles = *(_QWORD *)(v10 + v12 + 12);
      sub_3A599670((int)m_pCmd, (int)&v21);
    }
  }
  v16 = (unsigned __int64)(458129845i64 * m_pCmd->command_number) >> 32;
  v17 = 150 * ((v16 >> 31) + ((signed int)v16 >> 4));
  v18 = *(_DWORD *)((dword_3A94ACD0 ^ dword_3A94ACD4) + 0xF8);
  v19 = 104 * (m_pCmd->command_number - v17);
  qmemcpy((void *)(v18 + v19 + 4), &m_pCmd->command_number, 0x5Du);
  *(_DWORD *)(v18 + v19 + 100) = sub_3A7B1EA0(m_pCmd);
  return m_pTickbase->g_nShift >> 31;
}

double __userpurge Tickbase::OnProcessingPacket@<st0>(int a1@<ecx>, double result@<st0>, int a3)
{
  // [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]

  if ( !*(_BYTE *)(a1 + 116) || !byte_3A91796C )
    return result;
  v102 = a1;
  v3 = dword_3A9495C8 ^ dword_3A9495CC;
  v4 = GetActiveWeapon(g_pLocalPlayer);
  v103 = (void *)(*(int (__thiscall **)(int, _DWORD))(*(_DWORD *)v3 + 16))(v3, *(_DWORD *)v4);
  v104 = *(char **)((dword_3A949570 ^ dword_3A949574) + 0xF4);
  v5 = 100 * (sub_3A66BC20(&dword_3A940838) % 150);
  sub_3A626110(&off_3A919328, (CUserCmd *)&v104[v5], 0);
  if ( byte_3A925620 )
  {
    v6 = (int *)Netvars::Player::GetAnimState((char *)g_pLocalPlayer);
    memcpy((int)v88, *v6, 844);
    v7 = (int *)Netvars::Player::GetAnimState((char *)g_pLocalPlayer);
    memcpy(*v7, (int)dword_3A92CC54, 844);
    v8 = v102;
    *(_BYTE *)(v102 + 3) = 1;
    sub_3A593CB0(g_pLocalPlayer, (float *)v106);
    *(_DWORD *)(v8 + 24) = v107;
    *(_QWORD *)(v8 + 16) = *(_QWORD *)v106;
    *(_BYTE *)(v8 + 3) = 0;
    v9 = (int *)Netvars::Player::GetAnimState((char *)g_pLocalPlayer);
    memcpy(*v9, (int)v88, 844);
  }
  if ( dword_3A913924 > *(_DWORD *)(*(_DWORD *)(__readfsdword(0x2Cu) + 4 * dword_3A950100) + 8) )
  {
    sub_3A87B4F8(&dword_3A913924);
    if ( dword_3A913924 == -1 )
    {
      dword_3A913918 = 0;
      qword_3A91391C = 0i64;
      sub_3A87B56E(&dword_3A913924);
    }
  }
  v10 = *(float *)(v102 + 16) - *(float *)(v102 + 28);
  v11 = _mm_sub_ps((__m128)*(unsigned __int64 *)(v102 + 20), (__m128)*(unsigned __int64 *)(v102 + 32));
  v12 = _mm_mul_ps(v11, v11);
  v13 = (float)(v10 * v10) + v12.m128_f32[0];
  v14 = _mm_shuffle_ps(v12, v12, 229);
  v14.m128_f32[0] = v14.m128_f32[0] + v13;
  LODWORD(v15) = (unsigned __int128)_mm_sqrt_ps(v14);
  if ( v15 > 0.0
    && ((LODWORD(v16) = (unsigned __int128)_mm_shuffle_ps(v11, v11, 229), v16 != 0.0) || v15 != 0.0)
    && (v11.m128_f32[0] != 0.0 || v10 != 0.0) )
  {
    v105.m128_f32[0] = *(float *)(v102 + 16) - *(float *)(v102 + 28);
    v94 = v11;
    v96 = sub_3A8BC733(COERCE_UNSIGNED_INT64(v16 / v15), COERCE_UNSIGNED_INT64(v16 / v15) >> 32);
    *(_OWORD *)v100 = (unsigned int)dword_3A8BE120;
    v105.m128_f32[1] = v96 * *(float *)&dword_3A8BE120;
    *(float *)v106 = v96 * *(float *)&dword_3A8BE120;
    result = sub_3A8BC739(
               COERCE_UNSIGNED_INT64(v94.m128_f32[0] / v105.m128_f32[0]),
               COERCE_UNSIGNED_INT64(v94.m128_f32[0] / v105.m128_f32[0]) >> 32);
    v97 = result;
    v69 = *(_OWORD *)v100;
    *(float *)&v69 = *(float *)v100 * v97;
    v88[0] = LODWORD(v105.m128_f32[1]);
    *(_OWORD *)v100 = v69;
    if ( (signed __int16)dword_3A8F23D4(v88) <= 0
      && (v70 = (__m128)(unsigned int)dword_3A8BE124,
          v71 = _mm_cmpgt_ss((__m128)0i64, v105),
          v70.m128_f32[0] = *(float *)&dword_3A8BE124 + *(float *)v100,
          *(__m128 *)v100 = _mm_or_ps(_mm_andnot_ps(v71, v70), _mm_and_ps(*(__m128 *)v100, v71)),
          v88[0] = v100[0],
          (signed __int16)dword_3A8F23D4(v88) <= 0)
      && (v88[0] = 0, (signed __int16)dword_3A8F23D4(v88) <= 0) )
    {
      v74 = v106;
      v75 = (unsigned int *)&dword_3A8C5B10;
      v88[0] = -1028521984;
      if ( *(float *)&dword_3A8BE128 > v105.m128_f32[1] )
        v74 = v88;
      if ( v105.m128_f32[1] <= 89.0 )
        v75 = v74;
      v17 = *v75;
      v106[0] = *v75;
      dword_3A8F2430(v100[0], 1135869952);
      v98 = result;
      v72 = v98;
    }
    else
    {
      v106[0] = 0;
      v72 = 0.0;
      v17 = 0;
    }
    v73 = 0i64;
    v73.m128_f32[0] = v72;
    v95 = v73;
  }
  else
  {
    v17 = dword_3A913918;
    v95 = (__m128)(unsigned __int64)qword_3A91391C;
  }
  sub_3A7980D0((float *)v88);
  v18 = *(_DWORD *)&v104[v5 + 4];
  if ( v18 <= *(_DWORD *)(a3 + 4) )
  {
    v19 = v95;
    v20 = _mm_shuffle_ps(v95, v95, 229);
    v19.m128_f32[0] = v95.m128_f32[0] - *(float *)&v88[1];
    v20.m128_f32[0] = v20.m128_f32[0] - v89;
    v95 = v19;
    v93 = v20;
    v99 = COERCE_FLOAT(_mm_cvtsi32_si128(v17)) - *(float *)v88;
    do
    {
      v105.m128_i32[0] = v18;
      v23 = *(_DWORD *)((dword_3A949570 ^ dword_3A949574) + 0xF4);
      v24 = v18 % 150;
      v94.m128_i32[0] = v24;
      v25 = 100 * v24;
      v26 = v99;
      v27 = (_DWORD *)(v23 + v25 + 16);
      v105.m128_i32[1] = *(_DWORD *)((dword_3A949570 ^ dword_3A949574) + 0xF8);
      v89 = *(float *)(v23 + v25 + 20);
      v28 = *(_QWORD *)(v23 + v25 + 12);
      v104 = (char *)(v23 + v25);
      v101 = (float *)(v23 + v25 + 12);
      v100[0] = v23 + v25 + 20;
      *(_QWORD *)v88 = v28;
      LODWORD(v28) = v95.m128_i32[0];
      *v101 = v99;
      *v27 = v28;
      *(_DWORD *)(v23 + v25 + 20) = v93.m128_i32[0];
      *(float *)v106 = v26;
      if ( (signed __int16)dword_3A8F23D4(v106) <= 0
        && (v106[0] = *v27, (signed __int16)dword_3A8F23D4(v106) <= 0)
        && (v106[0] = *(_DWORD *)v100[0], (signed __int16)dword_3A8F23D4(v106) <= 0) )
      {
        v106[0] = -1028521984;
        v21 = v106;
        if ( *(float *)&dword_3A8BE128 <= *v101 )
          v21 = (int *)v101;
        if ( *v101 > 89.0 )
          v21 = &dword_3A8C5B10;
        *(_DWORD *)v101 = *v21;
        dword_3A8F2430(*(_DWORD *)(v23 + v25 + 16), 1135869952);
        *(float *)(v23 + v25 + 16) = result;
        v106[0] = -1035468800;
        v22 = v106;
        if ( *(float *)&dword_3A8BE16C <= *(float *)v100[0] )
          v22 = (int *)v100[0];
        if ( *(float *)v100[0] > *(float *)&dword_3A8BE170 )
          v22 = &dword_3A8C5B14;
        *(_DWORD *)v100[0] = *v22;
      }
      else
      {
        v29 = (_DWORD *)v100[0];
        *v101 = 0.0;
        *v27 = 0;
        *v29 = 0;
      }
      sub_3A599670((int)v104, (int)v88);
      v31 = *(float *)&dword_3A8BE1F4;
      v32 = *(float *)(v23 + v25 + 44);
      v33 = *(float *)(v23 + v25 + 40);
      v34 = *(float *)&dword_3A8BE1F8;
      v106[0] = *(_DWORD *)(v23 + v25 + 36);
      v30 = *(float *)v106;
      v105.m128_u64[1] = __PAIR__(LODWORD(v32), LODWORD(v33));
      if ( *(float *)v106 > *(float *)&dword_3A8BE1F4 || *(float *)&dword_3A8BE1F8 > *(float *)v106 )
      {
        v35 = *(float *)&dword_3A8BE1FC;
        v36 = &v108;
        if ( *(float *)&dword_3A8BE1F8 <= *(float *)v106 )
          v36 = v106;
        v108 = -1008664576;
        if ( *(float *)v106 > *(float *)&dword_3A8BE1F4 )
          v36 = &dword_3A8C5B18;
        v37 = *v36;
        LODWORD(v38) = (unsigned __int128)_mm_cvtsi32_si128(v37);
        v106[0] = v37;
        v39 = v38 / v30;
        v30 = v38;
        v33 = v33 * v39;
        v32 = v32 * v39;
        v105.m128_u64[1] = __PAIR__(LODWORD(v32), LODWORD(v33));
        if ( v33 > *(float *)&dword_3A8BE1F4 )
          goto LABEL_38;
      }
      else
      {
        v35 = *(float *)&dword_3A8BE1FC;
        if ( v33 > *(float *)&dword_3A8BE1F4 )
          goto LABEL_38;
      }
      if ( *(float *)&dword_3A8BE1F8 <= v33 )
      {
        if ( v32 > v35 )
          goto LABEL_44;
        goto LABEL_43;
      }
LABEL_38:
      v40 = &v108;
      if ( *(float *)&dword_3A8BE1F8 <= v33 )
        v40 = &v105.m128_i32[2];
      v108 = -1008664576;
      if ( v33 > *(float *)&dword_3A8BE1F4 )
        v40 = &dword_3A8C5B18;
      v41 = *v40;
      LODWORD(v42) = (unsigned __int128)_mm_cvtsi32_si128(v41);
      v105.m128_i32[2] = v41;
      v43 = v42 / v33;
      v33 = v42;
      v30 = v30 * v43;
      v32 = v32 * v43;
      *(float *)v106 = v30;
      v105.m128_f32[3] = v32;
      if ( v32 > v35 )
      {
LABEL_44:
        v44 = &v108;
        if ( *(float *)&dword_3A8BE200 <= v32 )
          v44 = &v105.m128_i32[3];
        v108 = -1012924416;
        if ( v32 > v35 )
          v44 = &dword_3A8C5B1C;
        v45 = *v44;
        LODWORD(v46) = (unsigned __int128)_mm_cvtsi32_si128(v45);
        v47 = v46 / v32;
        v32 = v46;
        v30 = v30 * v47;
        v33 = v33 * v47;
        *(float *)v106 = v30;
        v105.m128_u64[1] = __PAIR__(v45, LODWORD(v33));
        goto LABEL_49;
      }
LABEL_43:
      if ( COERCE_FLOAT(_mm_cvtsi32_si128(dword_3A8BE200)) > v32 )
        goto LABEL_44;
LABEL_49:
      v48 = &v108;
      v108 = -1008664576;
      if ( *(float *)&dword_3A8BE1F8 <= v30 )
        v48 = v106;
      if ( v30 > *(float *)&dword_3A8BE1F4 )
        v48 = &dword_3A8C5B18;
      *(_DWORD *)(v23 + v25 + 36) = *v48;
      v49 = &v108;
      v108 = -1008664576;
      if ( v34 <= v33 )
        v49 = &v105.m128_i32[2];
      v50 = v33 < v31;
      v51 = v33 == v31;
      v52 = *(float *)&dword_3A8BE200;
      if ( !v50 && !v51 )
        v49 = &dword_3A8C5B18;
      *(_DWORD *)(v23 + v25 + 40) = *v49;
      v53 = &v108;
      v108 = -1012924416;
      if ( v52 <= v32 )
        v53 = &v105.m128_i32[3];
      if ( v32 > v35 )
        v53 = &dword_3A8C5B1C;
      v54 = 104 * v94.m128_i32[0];
      *(_DWORD *)(v23 + v25 + 44) = *v53;
      v55 = v23 + v25 + 4;
      v56 = v105.m128_f32[1];
      memcpy(v105.m128_i32[1] + v54 + 4, v55, 93);
      *(_DWORD *)(LODWORD(v56) + v54 + 100) = sub_3A7B1EA0(v104);
      v18 = v105.m128_i32[0] + 1;
    }
    while ( v105.m128_i32[0] < *(_DWORD *)(a3 + 4) );
  }
  v57 = v102;
  v58 = (unsigned int *)(v102 + 8);
  if ( !*(_BYTE *)(v102 + 71) )
  {
    v85[1] = 0;
    v85[0] = 0;
    v76 = &off_3A8C5CF4;
    v77 = v102;
    v84 = (char *)&v76;
    v61 = *(volatile signed __int32 **)(v102 + 12);
    if ( v61 )
    {
      _InterlockedIncrement(v61 + 1);
      v61 = *(volatile signed __int32 **)(v57 + 12);
    }
    sub_3A62EBD0(*v58, v61, (char)v76, v77, v78, v79, v80, v81, v82, SHIDWORD(v82), v83, v84, v85[0], v85[1], 0);
    if ( !v103 )
      goto LABEL_85;
    goto LABEL_81;
  }
  sub_3A62CF50(
    &dword_3A919DD0,
    (int)v88,
    *(_DWORD *)(v102 + 16),
    *(_QWORD *)(v102 + 20),
    *(_DWORD *)(v102 + 28),
    *(_DWORD *)(v102 + 32),
    *(_DWORD *)(v102 + 36),
    0,
    0);
  if ( &v90 == (int *)(v57 + 40) )
  {
    v62 = v90;
    if ( !v90 )
      goto LABEL_80;
    v63 = v92 - v90;
    if ( (unsigned int)(v92 - v90) >= 0x1000 )
    {
      if ( (unsigned int)(v90 - 4 - *(_DWORD *)(v90 - 4)) >= 0x20 )
        goto LABEL_105;
      v63 += 35;
      v62 = *(_DWORD *)(v90 - 4);
    }
    v86 = v63;
    sub_3A87B477(v62);
    goto LABEL_79;
  }
  v59 = *(_DWORD *)(v57 + 40);
  if ( v59 )
  {
    v60 = *(_DWORD *)(v57 + 48) - v59;
    if ( v60 < 0x1000 )
    {
LABEL_68:
      v86 = v60;
      sub_3A87B477(v59);
      *(_DWORD *)(v57 + 40) = 0;
      *(_DWORD *)(v57 + 44) = 0;
      *(_DWORD *)(v57 + 48) = 0;
      goto LABEL_69;
    }
    if ( (unsigned int)(v59 - 4 - *(_DWORD *)(v59 - 4)) < 0x20 )
    {
      v60 += 35;
      v59 = *(_DWORD *)(v59 - 4);
      goto LABEL_68;
    }
LABEL_105:
    dword_3A8F254C(v87);
  }
LABEL_69:
  *(_DWORD *)(v57 + 40) = v90;
  *(_DWORD *)(v57 + 44) = v91;
  *(_DWORD *)(v57 + 48) = v92;
LABEL_79:
  v90 = 0;
  v91 = 0;
  v92 = 0;
LABEL_80:
  if ( v103 )
  {
LABEL_81:
    v64 = (int *)(dword_3A949590 ^ dword_3A949594);
    v65 = Netvars::Weapon::m_iItemDefinitionIndex(v103);
    v66 = *v64;
    v86 = *(unsigned __int16 *)v65;
    v67 = (*(int (__thiscall **)(int *, int))(v66 + 8))(v64, v86);
    if ( !v67
      || (v68 = v67, *(_WORD *)Netvars::Weapon::m_iItemDefinitionIndex(v103) == 31)
      || *(_DWORD *)(v68 + 204) != 1 )
    {
      sub_3A721E10((int)v58);
    }
  }
LABEL_85:
  if ( !*(_BYTE *)(v57 + 71) || (_BYTE)hide_shots && !byte_3A917B8C )
    SetupShiftData(&Cheat::Tickbase::g_nTickbase, result, a3);
  if ( byte_3A94966C )
  {
    sub_3A724860(v87, v88[0], *(__int64 *)&v88[1], v90, v91, v92);
    byte_3A94966C = 0;
  }
  LOBYTE(v86) = v88[0];
  sub_3A7B61A0(&dword_3A949670, 0, 0, v86);
  return result;
}
 

REVERSED:

 

bool CBaseCombatWeapon::CanShift( )
{
    if ( !this )
        return false;

    if ( this->m_iItemDefinitionIndex( ) == 64 || this->m_iItemDefinitionIndex( ) == 31 || this->m_iItemDefinitionIndex( ) == 69 || this->m_iItemDefinitionIndex( ) == 49 )
        return false;

    if ( this->IsKnife( ) )
        return false;

    if ( this->GetWeaponData( )->m_iType == 1 || this->GetWeaponData( )->m_iType == 10 )
        return false;

    return true;
}

bool CanDoubletap( )
{
    if ( !g_pSettings->Exploits->g_bEnabled )
        return false;

    CBaseCombatWeapon* m_pWeapon = g_pLocalPlayer->GetActiveWeapon( ).GetHandle( );
    if ( !m_pWeapon || !m_pWeapon->CanShift( ) )
        return false;

    if ( m_pWeapon->m_iItemDefinitionIndex( ) == 40 || m_pWeapon->m_iItemDefinitionIndex( ) == 9 )
        return false;

    return true;
}

float GetShiftTime( )
{
    float m_flPlayerTime = ( g_pLocalPlayer->m_nTickbase( ) - 1 ) * g_pGameGlobals->m_flIntervalPerTick;
    if ( !g_pSettings->Exploits->g_bEnabled )
        return m_flPlayerTime;

    if ( ( CanDoubletap( ) && g_pViolanes->Tickbase->g_bLastShift ) || !g_pSettings->Exploits->g_bHideShots )
        return m_flPlayerTime;

    CBaseCombatWeapon* m_pWeapon = g_pLocalPlayer->GetActiveWeapon( ).GetHandle( );
    if ( !m_pWeapon || !m_pWeapon->CanShift( ) )
        return m_flPlayerTime;

    int m_nShiftCmds = 0;
    if ( CanDoubletap( ) )
        m_nShiftCmds = ( !g_pViolanes->Tickbase->g_bLastShift ) ? 13 : 0;
    else
        m_nShiftCmds = ( g_pSettings->Exploits->g_bHideShots ) ? 7 : 0;

    return m_flPlayerTime - ( ( m_nShiftCmds + 1 ) * g_pGameGlobals->m_flIntervalPerTick );
}

bool CanShiftTickbase( )
{
    if ( g_pCmd->m_iWeaponSelect || ( g_pLocalPlayer->m_fFlags( ) & FLAGS::PLAYER::AT_CONTROLS ) )
        return false;

    CBaseCombatWeapon* m_pWeapon = g_pLocalPlayer->GetActiveWeapon( ).GetHandle( );
    if ( !m_pWeapon )
        return false;

    if ( g_pViolanes->Tickbase->g_bDoubletap )
    {
        if ( ( !( g_pCmd->m_dwButtons & IN_ATTACK ) && m_pWeapon->m_iItemDefinitionIndex( ) != DEFIDX_REVOLVER )
            || ( !( g_pCmd->m_dwButtons & IN_ATTACK2 ) && m_pWeapon->m_iItemDefinitionIndex( ) == DEFIDX_REVOLVER ) )
            g_pViolanes->Tickbase->g_bDoubletap = false;

        return false;
    }

    if ( m_pWeapon->IsKnife( ) || !m_pWeapon->CanFire( ) )
        return false;

    if ( g_pLocalPlayer->m_flNextAttack( ) > GetShiftTime( ) )
        return false;

    if ( m_pWeapon->m_flNextPrimaryAttack( ) + g_pGameGlobals->m_flIntervalPerTick * 10.f > GetShiftTime( ) )
        return false;

    if ( GetFakelagChokedCmds( ) >= 16 )
        return false;

    if ( m_pWeapon->m_iItemDefinitionIndex( ) != DEFIDX_REVOLVER )
        return true;

    g_pViolanes->Tickbase->g_bLastShift = false;
    return GetShiftTime( ) >= m_pWeapon->m_flNextSecondaryAttack( );
}

void OnProcessPacket( )
{
    if ( !g_bSendPacket )
        return;

    if ( !g_pSettings->Exploits->g_bHideShots && !g_pViolanes->Tickbase->g_bDoubletap && ( !( g_pCmd->m_dwButtons & IN_ATTACK ) || !CanShiftTickbase( ) ) )
        return;

    CBaseCombatWeapon* m_pWeapon = g_pLocalPlayer->GetActiveWeapon( ).GetHandle( );
    if ( !m_pWeapon || !m_pWeapon->CanShift( ) )
    {
        if ( g_pViolanes->Tickbase->g_bRecharge )
            g_pViolanes->Tickbase->g_bRecharged = true;

        return;
    }

    int m_nShift = 0;
    if ( CanDoubletap( ) )
        m_nShift = ( !g_pViolanes->Tickbase->g_bRecharge ) ? 13 : 0;
    else
        m_nShift = ( g_pSettings->Exploits->g_bHideShots ) ? 7 : 0;

    g_pViolanes->g_bRecharge = true;
Link to comment
Share on other sites

12 hours ago, dana said:

well i am the guy from yougame so :mindblow:

 

wrong 🙂

can u pm my discord to prove that ure orig author, my ds violanes#0592? 🤡

Edited by violanes
Link to comment
Share on other sites

  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...