Исходник Gamesense.pub shared-esp fully rebuilded

Участник
Статус
Оффлайн
Регистрация
6 Апр 2021
Сообщения
343
Реакции[?]
216
Поинты[?]
122K
Код:
#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
 
Keep Ev0lving, Stay Fatal
Эксперт
Статус
Оффлайн
Регистрация
6 Фев 2018
Сообщения
1,550
Реакции[?]
585
Поинты[?]
101K
Why de fak are you posting it?
You could just leave here SesameCSGO source lol. No need to post 194728482 threads with code from one source.
 
Участник
Статус
Оффлайн
Регистрация
30 Авг 2020
Сообщения
660
Реакции[?]
396
Поинты[?]
11K
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 };
1695772852276.png
 
Участник
Статус
Оффлайн
Регистрация
4 Мар 2021
Сообщения
883
Реакции[?]
177
Поинты[?]
91K
Код:
#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
thx fore ef5 ida kei on youre klaviatura
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
что-то слабо верится что реверс правильный

но даже если и так - можно было код немного в читабельное состояние привести, а не постить по факту псевду с иды?
 
Забаненный
Статус
Оффлайн
Регистрация
26 Сен 2023
Сообщения
16
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
-rep wrong and where is this part ?
C++:
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;
        }
    }
 
Сверху Снизу