-
Автор темы
- #1
Код:
#pragma region SHARED_ESP
inline unsigned int funny_array [ ] = {
-1 , -2 , -4 , -8 , -16 , -32 , -64 , -128 , -256 , -512 , -1024 , -2048 , -4096 , -8192 , -16384 , -32768 , -65536 , -131072 , -262144 , -524288 , -1048576 , -2097152 , -4194304 , -8388608 , -16777216 , -33554432 , -67108864 , -134217728 , -268435456 , -536870912 , -1073741824 , -2147483648 , 0 , -1 , -3 , -7 , -15 , -31 , -63 , -127 , -255 , -511 , -1023 , -2047 , -4095 , -8191 , -16383 , -32767 , -65535 , -131071 , -262143 , -524287 , -1048575 , -2097151 , -4194303 , -8388607 , -16777215 , -33554431 , -67108863 , -134217727 , -268435455 , -536870911 , -1073741823 , -2147483647 , 1 , 1 , -1 , -5 , -13 , -29 , -61 , -125 , -253 , -509 , -1021 , -2045 , -4093 , -8189 , -16381 , -32765 , -65533 , -131069 , -262141 , -524285 , -1048573 , -2097149 , -4194301 , -8388605 , -16777213 , -33554429 , -67108861 , -134217725 , -268435453 , -536870909 , -1073741821 , -2147483645 , 3 , 3 , 3 , -1 , -9 , -25 , -57 , -121 , -249 , -505 , -1017 , -2041 , -4089 , -8185 , -16377 , -32761 , -65529 , -131065 , -262137 , -524281 , -1048569 , -2097145 , -4194297 , -8388601 , -16777209 , -33554425 , -67108857 , -134217721 , -268435449 , -536870905 , -1073741817 , -2147483641 , 7 , 7 , 7 , 7 , -1 , -17 , -49 , -113 , -241 , -497 , -1009 , -2033 , -4081 , -8177 , -16369 , -32753 , -65521 , -131057 , -262129 , -524273 , -1048561 , -2097137 , -4194289 , -8388593 , -16777201 , -33554417 , -67108849 , -134217713 , -268435441 , -536870897 , -1073741809 , -2147483633 , 15 , 15 , 15 , 15 , 15 , -1 , -33 , -97 , -225 , -481 , -993 , -2017 , -4065 , -8161 , -16353 , -32737 , -65505 , -131041 , -262113 , -524257 , -1048545 , -2097121 , -4194273 , -8388577 , -16777185 , -33554401 , -67108833 , -134217697 , -268435425 , -536870881 , -1073741793 , -2147483617 , 31 , 31 , 31 , 31 , 31 , 31 , -1 , -65 , -193 , -449 , -961 , -1985 , -4033 , -8129 , -16321 , -32705 , -65473 , -131009 , -262081 , -524225 , -1048513 , -2097089 , -4194241 , -8388545 , -16777153 , -33554369
};
inline unsigned int funny_array_part2 [ ] = {
0 , 1 , 3 , 7 , 15 , 31 , 63 , 127 , 255 , 511 , 1023 , 2047 , 4095 , 8191 , 16383 , 32767 , 65535 , 131071 , 262143 , 524287 , 1048575 , 2097151 , 4194303 , 8388607 , 16777215 , 33554431 , 67108863 , 134217727 , 268435455 , 536870911 , 1073741823 , 2147483647 , -1 , 1869180533 , 110 , 0 , -2147483648
};
struct premium_shared_esp {
int* field_0;
int field_4;
int field_8;
int field_C;
bool field_10;
bool field_11;
};
struct funny_t {
int _1;
int _2;
int _3;
int _4;
};
struct SomeSharedESPData {
int gap0;
bool byte4;
char field_5;
char field_6;
char field_7;
int field_8;
int field_C;
int dword10;
int dword14;
unsigned int* punsigned_int18;
unsigned int* field_1C;
funny_t punsigned_int1C;
int aaaaaa;
int aaaaaa_part2;
unsigned int dlwsakd;
};
void set_voice_data ( premium_shared_esp* ecx, unsigned int a2, int a3 ) {
int v5; // ecx
int v6; // edx
int v7; // ebp
int v8; // ecx
int v9; // ebp
v5 = ecx->field_C;
v6 = ecx->field_8;
if ( v5 + a3 <= v6 ) {
v7 = v5;
v8 = v5 & 0x1F;
v9 = v7 >> 5;
ecx->field_0 [ v9 ] = ( a2 << v8 ) | ecx->field_0 [ v9 ] & funny_array [ 0x21 * v8 + a3 ];
if ( 32 - v8 < a3 )
ecx->field_0 [ v9 + 1 ] = ( a2 >> ( 32 - v8 ) ) | ecx->field_0 [ v9 + 1 ] & funny_array [ a3 - ( 32 - v8 ) ];
ecx->field_C += a3;
}
else {
ecx->field_C = v6;
ecx->field_10 = 1;
}
}
int set_voice_data_2 ( premium_shared_esp* _ecx, int a2 ) {
int v2; // edx
int result; // eax
char v4; // dl
char* v5; // esi
int v6; // eax
v2 = _ecx->field_C;
result = v2 + 1;
if ( v2 + 1 <= _ecx->field_8 ) {
if ( !_ecx->field_10 ) {
v4 = v2 & 7;
v5 = ( char* ) ( ( int ) _ecx->field_0 + ( _ecx->field_C >> 3 ) );
v6 = *v5;
if ( a2 )
result = v6 | ( 1 << v4 );
else
result = v6 & ~( 1 << v4 );
*v5 = result;
++_ecx->field_C;
}
}
else {
_ecx->field_10 = 1;
}
return result;
}
void setup_coord ( premium_shared_esp* a2, float a1 ) {
int v3; // ebx
unsigned int v4; // esi
v3 = ( int ) abs ( a1 );
v4 = abs ( ( int ) ( a1 * 32.0 ) ) & 31;
set_voice_data_2 ( a2, v3 );
set_voice_data_2 ( a2, v4 );
if ( v3 || v4 ) {
set_voice_data_2 ( a2, a1 <= -0.03125 );
if ( v3 )
set_voice_data ( a2, v3 - 1, 14 );
if ( v4 )
set_voice_data ( a2, v4, 5 );
}
}
void setup_esp_data ( SomeSharedESPData* _ecx, int a2 ) {
int v3; // ebx
int v4; // edi
unsigned int v5; // ebp
int v6; // ecx
signed int v7; // edi
unsigned int* v8; // eax
unsigned int v9; // edx
int v10; // ecx
int v11; // edx
int v12; // eax
int v13; // eax
int v14; // eax
v3 = 1;
v4 = 0;
if ( _ecx->field_8 < 0 ) {
v4 = _ecx->field_8;
_ecx->byte4 = 1;
}
v5 = _ecx->field_C & 3;
if ( _ecx->field_C >= 4u && ( !v5 || v4 / 8 >= ( int ) v5 ) ) {
v6 = _ecx->punsigned_int1C._1;
v7 = v4 - 8 * v5;
v8 = ( unsigned int* ) ( v5 + v6 + 4 * ( v7 / 32 ) );
_ecx->punsigned_int18 = v8;
if ( v6 ) {
_ecx->dword14 = 32;
if ( v8 != _ecx->field_1C ) {
if ( v8 <= _ecx->field_1C ) {
v9 = *v8;
v3 = 32;
_ecx->punsigned_int18 = v8 + 1;
LABEL_11:
_ecx->dword10 = v9 >> ( v7 & 0x1F );
if ( v3 >= 32 - ( v7 & 0x1F ) )
v3 = 32 - ( v7 & 0x1F );
goto LABEL_23;
}
_ecx->byte4 = 1;
v3 = 32;
LABEL_10:
v9 = 0;
goto LABEL_11;
}
_ecx->punsigned_int18 = v8 + 1;
}
_ecx->dword14 = 1;
goto LABEL_10;
}
v10 = _ecx->punsigned_int1C._1;
if ( v10 ) {
v11 = *( unsigned __int8* ) v10++;
_ecx->dword10 = v11;
if ( v5 > 1 ) {
v12 = *( unsigned __int8* ) v10++;
v13 = v11 | ( v12 << 8 );
_ecx->dword10 = v13;
v11 = v13;
}
if ( v5 > 2 ) {
v14 = *( unsigned __int8* ) v10++;
_ecx->dword10 = v11 | ( v14 << 16 );
}
}
_ecx->punsigned_int18 = ( unsigned int* ) v10;
_ecx->dword10 >>= v4 & 0x1F;
v3 = 8 * v5 - ( v4 & 0x1F );
LABEL_23:
_ecx->dword14 = v3;
}
/* gamesense.idb - SharedESP::CreateMove */
void features::esp::send_data_to_clients ( ) {
VMP_BEGINMUTATION ( );
static auto c_clc_msg_voice_data__constructor = pattern::search ( _ ( "engine.dll" ), _ ( "56 57 8B F9 8D 4F 08 C7 07 ? ? ? ? E8 ? ? ? ? C7 07 ? ? ? ?" ) ).get< void ( __thiscall* )( void* ) > ( );
static auto c_clc_msg_voice_data__deconstructor = pattern::search ( _ ( "engine.dll" ), _ ( "E8 ? ? ? ? 5E 8B E5 5D C3 CC CC CC CC CC CC CC CC CC CC CC CC 51" ) ).resolve_rip().get< void ( __thiscall* )( void* ) > ( );
constexpr bool SHARE_WITH_OTHER_TEAM = true;
static auto sv_deadtalk = cs::i::cvar->find ( _ ( "sv_deadtalk" ) );
static auto sv_full_alltalk = cs::i::cvar->find ( _ ( "sv_full_alltalk" ) );
static int funny_counter = 1;
static float last_shared_time = 0.0f;
if ( abs ( cs::i::globals->m_curtime - last_shared_time ) < 0.0625f ||
!cs::i::client_state->net_channel ( ) ||
!sv_deadtalk->get_bool ( ) &&
!sv_full_alltalk->get_bool ( ) )
return;
for ( int i = 0; i <= cs::i::globals->m_max_clients; i++ ) {
auto player = cs::i::ent_list->get< player_t* > ( i );
if ( !player || !player->is_player() )
continue;
if ( *reinterpret_cast< bool* >( reinterpret_cast< int >( player ) + 0x3624 ) || player->dormant ( ) || !player->alive ( ) )
continue;
int unk = vfunc< int ( __thiscall* )( void* ) > ( player, 121 )( player );
if ( unk <= 0 )
continue;
int esp_id = ( i + funny_counter ) % cs::i::globals->m_max_clients;
int array_data [ 5 ];
premium_shared_esp unknown_esp_data { };
unknown_esp_data.field_10 = false;
unknown_esp_data.field_11 = true;
unknown_esp_data.field_4 = 20;
unknown_esp_data.field_C = 0;
unknown_esp_data.field_8 = 160;
unknown_esp_data.field_0 = array_data;
int v17 = 127;
if ( unk <= 127 ) {
v17 = unk;
if ( unk < 0 )
v17 = 0;
}
auto origin = player->origin ( );
set_voice_data ( &unknown_esp_data, 0xBEEFu, 0x10 );
set_voice_data ( &unknown_esp_data, esp_id, 7 );
setup_coord ( &unknown_esp_data, origin.x );
setup_coord ( &unknown_esp_data, origin.y );
setup_coord ( &unknown_esp_data, origin.z );
set_voice_data ( &unknown_esp_data, g::server_tick, 32 );
set_voice_data ( &unknown_esp_data, v17, 7 );
set_voice_data ( &unknown_esp_data, 0, 32 );
if ( !unknown_esp_data.field_10 ) {
uint8_t voice_buffer [ 128 ];
memset ( voice_buffer, 0, sizeof ( voice_buffer ) );
c_clc_msg_voice_data__constructor ( voice_buffer );
auto voice_msg = ( voice_data* ) voice_buffer;
voice_msg->dword20 = 0;
voice_msg->caster_flags |= 0x3Eu;
voice_msg->voice_data = ( struct_dword18* ) array_data [ 3 ];
voice_msg->gap1C = ( int ) array_data [ 4 ];
voice_msg->dword28 = array_data [ 0 ];
voice_msg->dword24 = array_data [ 1 ];
voice_msg->dword2C = array_data [ 2 ];
vfunc< bool ( __thiscall* ) ( net_channel_t*, void*, bool, bool )> ( cs::i::client_state->net_channel ( ), 40 )( cs::i::client_state->net_channel ( ), voice_msg, false, false );
c_clc_msg_voice_data__deconstructor ( voice_msg );
}
funny_counter = esp_id + 1;
last_shared_time = cs::i::globals->m_curtime;
return;
}
VMP_END ( );
}
bool Main ( features::esp::voice_data* msg );
bool features::esp::recieve_voice_data ( voice_data* msg ) {
return Main ( msg );
}
using _DWORD = int;
#undef LOBYTE
#define SLOBYTE(x) (*((__int8*)&(x)))
#define LODWORD(x) (*((int*)&(x))) // low dword
#define LOBYTE(x) (*((char*)&(x))) // low byte
float sub_6ACAF3F1 ( SomeSharedESPData* _ecx ) {
char v2; // bl
float result; // xmm0_4
int v4; // edi
int v5; // eax
unsigned int* v6; // eax
unsigned int v7; // esi
int v8; // ecx
int v9; // eax
unsigned int* v10; // eax
unsigned int v11; // esi
int v12; // eax
unsigned int* v13; // eax
unsigned int v14; // esi
unsigned int* v15; // eax
unsigned int* v16; // eax
unsigned int* v17; // eax
unsigned int v18; // eax
unsigned int v19; // esi
unsigned int* v20; // eax
unsigned int* v21; // eax
unsigned int* v22; // eax
int v23; // ecx
unsigned int v24; // eax
int v25; // [esp+8h] [ebp-18h]
int v26; // [esp+10h] [ebp-10h]
int v27; // [esp+10h] [ebp-10h]
int v28; // [esp+14h] [ebp-Ch]
unsigned int v29; // [esp+14h] [ebp-Ch]
char v30; // [esp+18h] [ebp-8h]
char v31; // [esp+1Fh] [ebp-1h]
v2 = 1;
result = 0.0;
v26 = _ecx->dword10 & 1;
v4 = 32;
v5 = _ecx->dword14 - 1;
if ( _ecx->dword14 == 1 ) {
v6 = _ecx->punsigned_int18;
_ecx->dword14 = 32;
if ( v6 == _ecx->field_1C ) {
v7 = 0;
_ecx->punsigned_int18 = v6 + 1;
v5 = 1;
}
else {
if ( v6 <= _ecx->field_1C ) {
v7 = *v6;
_ecx->punsigned_int18 = v6 + 1;
}
else {
_ecx->byte4 = 1;
v7 = 0;
}
v5 = 32;
}
}
else {
v7 = _ecx->dword10 >> 1;
}
_ecx->dword10 = v7;
v8 = v7 & 1;
v9 = v5 - 1;
_ecx->dword14 = v9;
if ( v9 ) {
v11 = v7 >> 1;
}
else {
v10 = _ecx->punsigned_int18;
_ecx->dword14 = 32;
if ( v10 == _ecx->field_1C ) {
_ecx->dword14 = 1;
_ecx->punsigned_int18 = v10 + 1;
v11 = 0;
v9 = 1;
}
else {
if ( v10 <= _ecx->field_1C ) {
v11 = *v10;
_ecx->punsigned_int18 = v10 + 1;
}
else {
_ecx->byte4 = 1;
v11 = 0;
}
v9 = 32;
}
}
_ecx->dword10 = v11;
if ( v26 || v8 ) {
v25 = v11 & 1;
v12 = v9 - 1;
v30 = v12;
_ecx->dword14 = v12;
if ( v12 ) {
v14 = v11 >> 1;
v4 = v12;
}
else {
v13 = _ecx->punsigned_int18;
_ecx->dword14 = 32;
if ( v13 == _ecx->field_1C ) {
_ecx->dword14 = 1;
_ecx->punsigned_int18 = v13 + 1;
v14 = 0;
v12 = 1;
v4 = 1;
v30 = 1;
}
else if ( v13 <= _ecx->field_1C ) {
v14 = *v13;
_ecx->punsigned_int18 = v13 + 1;
v12 = 32;
v30 = 32;
}
else {
v12 = 32;
_ecx->byte4 = 1;
v30 = 32;
v14 = 0;
}
}
_ecx->dword10 = v14;
if ( !v26 ) {
LABEL_47:
if ( !v8 )
goto LABEL_66;
if ( v4 < 5 ) {
v22 = _ecx->punsigned_int18;
v23 = 5 - v4;
if ( v22 == _ecx->field_1C ) {
_ecx->dword14 = 1;
_ecx->punsigned_int18 = v22 + 1;
LOBYTE ( v4 ) = 1;
_ecx->byte4 = 1;
v24 = 0;
}
else if ( v22 <= _ecx->field_1C ) {
v24 = *v22;
++_ecx->punsigned_int18;
v2 = _ecx->byte4;
}
else {
_ecx->byte4 = 1;
v24 = 0;
}
_ecx->dword10 = v24;
if ( v2 ) {
v8 = 0;
}
else {
_ecx->dword14 = 32 - v23;
_ecx->dword10 = v24 >> v23;
v8 = v14 | ( ( v24 & funny_array_part2 [ v23 ] ) << v4 );
}
goto LABEL_66;
}
v8 = v14 & 0x1F;
_ecx->dword14 = v4 - 5;
if ( v4 != 5 ) {
v19 = v14 >> 5;
LABEL_57:
_ecx->dword10 = v19;
LABEL_66:
result = ( float ) v8 * 0.03125 + ( double ) v26;
if ( v25 )
result = -result;
return result;
}
v20 = _ecx->punsigned_int18;
_ecx->dword14 = 32;
if ( v20 == _ecx->field_1C ) {
v21 = v20 + 1;
_ecx->dword14 = 1;
v19 = 0;
}
else {
if ( v20 > _ecx->field_1C ) {
_ecx->byte4 = 1;
v19 = 0;
goto LABEL_57;
}
v19 = *v20;
v21 = v20 + 1;
}
_ecx->punsigned_int18 = v21;
goto LABEL_57;
}
if ( v12 < 14 ) {
v27 = 14 - v12;
v17 = _ecx->punsigned_int18;
if ( v17 == _ecx->field_1C ) {
_ecx->dword14 = 1;
_ecx->punsigned_int18 = v17 + 1;
v4 = 1;
v18 = 0;
_ecx->byte4 = 1;
v29 = 0;
v30 = 1;
v31 = 1;
}
else if ( v17 <= _ecx->field_1C ) {
v18 = *v17;
++_ecx->punsigned_int18;
v29 = v18;
v31 = _ecx->byte4;
}
else {
v18 = 0;
_ecx->byte4 = 1;
v29 = 0;
v31 = 1;
}
_ecx->dword10 = v18;
if ( v31 ) {
v28 = 0;
}
else {
v18 >>= v27;
v4 = 32 - v27;
_ecx->dword10 = v18;
v28 = v14 | ( ( funny_array_part2 [ v27 ] & v29 ) << v30 );
_ecx->dword14 = 32 - v27;
}
v14 = v18;
goto LABEL_46;
}
v28 = v14 & 0x3FFF;
v4 = v12 - 14;
_ecx->dword14 = v12 - 14;
if ( v12 != 14 ) {
v14 >>= 14;
LABEL_36:
_ecx->dword10 = v14;
LABEL_46:
v26 = v28 + 1;
goto LABEL_47;
}
v15 = _ecx->punsigned_int18;
v4 = 32;
_ecx->dword14 = 32;
if ( v15 == _ecx->field_1C ) {
v16 = v15 + 1;
_ecx->dword14 = 1;
v14 = 0;
v4 = 1;
}
else {
if ( v15 > _ecx->field_1C ) {
_ecx->byte4 = 1;
v14 = 0;
goto LABEL_36;
}
v14 = *v15;
v16 = v15 + 1;
}
_ecx->punsigned_int18 = v16;
goto LABEL_36;
}
return result;
}
bool Main ( features::esp::voice_data* msg ) {
int flags; // ecx
int v8; // edi
unsigned int* v9; // edx
unsigned int v10; // esi
unsigned __int16 v11; // ax
unsigned int* v12; // ecx
int v13; // eax
unsigned int v14; // eax
unsigned int v15; // esi
unsigned int* v16; // edx
unsigned int v17; // ecx
float v18; // xmm0_4
unsigned int v19; // xmm1_4
int v20; // ecx
unsigned int* v21; // edi
unsigned int v22; // edx
unsigned int* v23; // eax
unsigned int v24; // esi
int v25; // edx
int v26; // eax
int* v27; // esi
float* v28; // edi
SomeSharedESPData v30; // [esp-64h] [ebp-70h] BYREF
float v31; // [esp-24h] [ebp-30h]
int v32; // [esp-20h] [ebp-2Ch]
unsigned int v33; // [esp-1Ch] [ebp-28h]
unsigned int v34; // [esp-18h] [ebp-24h]
float v35; // [esp-14h] [ebp-20h]
int v36; // [esp-10h] [ebp-1Ch]
int v37; // [esp-Ch] [ebp-18h]
unsigned int v38; // [esp-8h] [ebp-14h]
unsigned int* v39; // [esp-4h] [ebp-10h]
int v40; // [esp+0h] [ebp-Ch]
int v41; // [esp+4h] [ebp-8h]
static auto sv_deadtalk = cs::i::cvar->find ( _ ( "sv_deadtalk" ) );
static auto sv_full_alltalk = cs::i::cvar->find ( _ ( "sv_full_alltalk" ) );
v35 = *( float* ) &msg;
if ( !sv_deadtalk->get_bool ( ) && !sv_full_alltalk->get_bool ( ) ) {
return 0;
}
flags = msg->caster_flags;
if ( ( flags & 0x10 ) != 0 ) {
if ( msg->voice_data->size )
return 0;
}
if ( ( flags & 0x40 ) == 0 )
return 0;
if ( msg->dword20 )
return 0;
if ( ( flags & 0x185 ) != 0x185 )
return 0;
v30.punsigned_int1C._2 = msg->dword28;
v30.punsigned_int1C._3 = msg->dword24;
v30.punsigned_int1C._4 = msg->dword2C;
v30.aaaaaa = *( _DWORD* ) &msg->gapC [ 4 ];
v30.aaaaaa_part2 = *( _DWORD* ) &msg->gapC [ 8 ];
v30.punsigned_int1C._1 = ( int ) &v30.punsigned_int1C._2;
v30.punsigned_int18 = ( unsigned int* ) &v30.punsigned_int1C._2;
v30.gap0 = 0;
v30.field_C = 0x14;
v30.field_8 = 0xA0;
v30.byte4 = 0;
v30.field_1C = &v30.dlwsakd;
setup_esp_data ( &v30, 0x185 );
v8 = v30.dword14;
v9 = v30.punsigned_int18;
if ( ( int ) v30.dword14 >= 16 ) {
v8 = v30.dword14 - 16;
v30.dword14 = v8;
if ( v8 ) {
v10 = HIWORD ( v30.dword10 );
LABEL_26:
v11 = v30.dword10;
LABEL_34:
v12 = v30.field_1C;
goto LABEL_35;
}
v8 = 32;
v30.dword14 = 32;
if ( v30.punsigned_int18 == v30.field_1C ) {
v9 = v30.punsigned_int18 + 1;
v10 = 0;
v8 = 1;
v30.dword14 = 1;
}
else {
if ( v30.punsigned_int18 > v30.field_1C ) {
v10 = 0;
v30.byte4 = 1;
goto LABEL_26;
}
v10 = *v30.punsigned_int18;
v9 = v30.punsigned_int18 + 1;
}
v30.punsigned_int18 = v9;
goto LABEL_26;
}
v12 = v30.field_1C;
v33 = 16 - v30.dword14;
if ( v30.punsigned_int18 == v30.field_1C ) {
v10 = 0;
v9 = v30.punsigned_int18 + 1;
v8 = 1;
++v30.punsigned_int18;
v30.dword14 = 1;
v30.byte4 = 1;
}
else if ( v30.punsigned_int18 <= v30.field_1C ) {
v10 = *v30.punsigned_int18;
v9 = ++v30.punsigned_int18;
if ( !v30.byte4 ) {
v34 = ( ( v10 & funny_array_part2 [ 16 - v30.dword14 ] ) << SLOBYTE ( v30.dword14 ) ) | v30.dword10;
v11 = v34;
v8 = 32 - v33;
v10 >>= v33;
v30.dword14 = 32 - v33;
goto LABEL_34;
}
}
else {
v10 = 0;
v30.byte4 = 1;
}
v11 = 0;
LABEL_35:
v34 = v11;
v13 = v11 - 0xBEED;
if ( !v13 || v13 == 2 ) {
v33 = *( _DWORD* ) ( LODWORD ( v35 ) + 8 );
if ( ( WORD ) v34 != 0xBEEF )
return 1;
if ( v8 < 7 ) {
v33 = 7 - v8;
if ( v9 == v12 ) {
v30.dword10 = 0;
v30.dword14 = 1;
v30.punsigned_int18 = v9 + 1;
v30.byte4 = 1;
}
else if ( v9 <= v12 ) {
v17 = *v9;
v34 = v17;
v30.dword10 = v17;
v30.punsigned_int18 = v9 + 1;
if ( !v30.byte4 ) {
LODWORD ( v35 ) = ( ( v17 & funny_array_part2 [ 7 - v8 ] ) << v8 ) | v10;
v30.dword14 = 32 - v33;
v30.dword10 = v34 >> v33;
v14 = LODWORD ( v35 );
goto LABEL_59;
}
}
else {
v30.dword10 = 0;
v30.byte4 = 1;
}
v14 = 0;
LABEL_59:
v33 = v14 + 1;
if ( v14 > 0x3F )
return 1;
v35 = sub_6ACAF3F1 ( &v30 );
*( float* ) &v34 = sub_6ACAF3F1 ( &v30 );
*( float* ) &v30.dlwsakd = v35;
*( &v30.dlwsakd + 1 ) = v34;
v18 = sub_6ACAF3F1 ( &v30 );
v31 = v18;
v19 = v34;
*( float* ) &v34 = v35;
v20 = 0x7F800000;
if ( ( LODWORD ( v35 ) & 0x7F800000 ) == 0x7F800000 )
return 1;
if ( v35 <= -16384.0 )
return 1;
if ( v35 >= 16384.0 )
return 1;
v34 = v19;
if ( ( v19 & 0x7F800000 ) == 0x7F800000 )
return 1;
if ( *( float* ) &v19 <= -16384.0 )
return 1;
if ( *( float* ) &v19 >= 16384.0 )
return 1;
*( float* ) &v34 = v18;
if ( ( LODWORD ( v18 ) & 0x7F800000 ) == 0x7F800000 || v18 <= -16384.0 || v18 >= 16384.0 )
return 1;
v21 = v30.punsigned_int18;
v37 = v30.dword14;
if ( ( int ) v30.dword14 >= 32 ) {
v35 = *( float* ) &v30.dword10;
v37 = v30.dword14 - 32;
if ( v30.dword14 == 32 ) {
v37 = 32;
v23 = v30.field_1C;
if ( v30.punsigned_int18 != v30.field_1C ) {
if ( v30.punsigned_int18 <= v30.field_1C ) {
LOBYTE ( v23 ) = v30.byte4;
v22 = *v30.punsigned_int18;
v21 = v30.punsigned_int18 + 1;
v39 = v23;
}
else {
v22 = 0;
LOBYTE ( v39 ) = 1;
}
goto LABEL_77;
}
v21 = v30.punsigned_int18 + 1;
v37 = 1;
}
LOBYTE ( v20 ) = v30.byte4;
v22 = 0;
v39 = ( unsigned int* ) v20;
LABEL_77:
v38 = v22;
v36 = v22;
goto LABEL_86;
}
v34 = 32 - v30.dword14;
if ( v30.punsigned_int18 == v30.field_1C ) {
v21 = v30.punsigned_int18 + 1;
LOBYTE ( v39 ) = 1;
v37 = 1;
}
else {
if ( v30.punsigned_int18 <= v30.field_1C ) {
v24 = *v30.punsigned_int18;
v21 = v30.punsigned_int18 + 1;
LOBYTE ( v20 ) = v30.byte4;
v38 = v24;
v36 = v24;
v39 = ( unsigned int* ) v20;
if ( !v30.byte4 ) {
LODWORD ( v35 ) = ( ( v24 & funny_array_part2 [ v34 ] ) << SLOBYTE ( v30.dword14 ) ) | v30.dword10;
v37 = 32 - v34;
v38 = v24 >> v34;
v36 = v24 >> v34;
LABEL_86:
if ( ( int ) abs ( LODWORD ( v35 ) - (int)g::server_tick ) <= ( int ) ( float ) ( ( float ) ( 1.0 / cs::i::globals->m_ipt ) + 0.5 ) ) {
if ( v37 >= 7 ) {
v25 = v36 & 0x7F;
if ( v37 == 7 && v21 != v30.field_1C ) {
v26 = ( unsigned __int8 ) v39;
if ( v21 > v30.field_1C )
v26 = 1;
v39 = ( unsigned int* ) v26;
}
goto LABEL_99;
}
if ( v21 == v30.field_1C || v21 > v30.field_1C ) {
LOBYTE ( v39 ) = 1;
}
else if ( !( bool ) v39 ) {
v25 = v38 | ( ( *v21 & funny_array_part2 [ 7 - v37 ] ) << v37 );
LABEL_99:
if ( ( unsigned int ) ( v25 - 1 ) <= 124 && !( bool ) v39 ) {
auto player = cs::i::ent_list->get< player_t* > ( v33 );
if ( player && player->is_player ( ) ) {
if ( g::local && player->dormant ( ) && !player->life_state ( ) && g::local->is_enemy ( player ) ) {
features::esp::esp_data [ player->idx ( ) ].m_sound_pos = vec3_t ( *( float* ) &v30.dlwsakd, *( float* ) &v19, v31 );
features::esp::esp_data [ player->idx ( ) ].m_dormant = true;
features::esp::esp_data [ player->idx ( ) ].m_last_seen = cs::i::globals->m_curtime;
}
}
}
return 1;
}
v25 = 0;
goto LABEL_99;
}
return 1;
}
LABEL_84:
v35 = 0.0;
goto LABEL_86;
}
LOBYTE(v39) = 1;
}
v38 = 0;
v36 = 0;
goto LABEL_84;
}
v14 = v10 & 0x7F;
v30.dword14 = v8 - 7;
if ( v8 != 7 ) {
v15 = v10 >> 7;
LABEL_51:
v30.dword10 = v15;
goto LABEL_59;
}
v30.dword14 = 32;
if (v9 == v12) {
v16 = v9 + 1;
v30.dword14 = 1;
v15 = 0;
}
else {
if (v9 > v12) {
v30.byte4 = 1;
v15 = 0;
goto LABEL_51;
}
v15 = *v9;
v16 = v9 + 1;
}
v30.punsigned_int18 = v16;
goto LABEL_51;
}
return 0;
}
#pragma endregion