class CLTClient
{
public:
char _0x0000[156];
unsigned int(WINAPI *GetObjectPos)(CObject *Object, D3DXVECTOR3 *Position); //0x009C
char _0x00A0[324];
unsigned int(WINAPI *GetObjectBoxMin)(CObject *Object, D3DXVECTOR3 Min); //0x01E4
unsigned int(WINAPI *GetObjectBoxMax)(CObject *Object, D3DXVECTOR3 Max); //0x01E8
};//Size=0x01EC
void Draw3DPlayerBox( CPlayer *pPlayer, D3DCOLOR drawColor, LPDIRECT3DDEVICE9 pDevice )
{
CLTClient *Client = (CLTClient *)*(DWORD *)LTClient;
if( !pPlayer )
return;
if( !pPlayer->Object )
return;
if( !Client )
return;
D3DXVECTOR3 mins, maxs;
if( Client->GetObjectBoxMin(pPlayer->Object, mins) != 0 )
return;
if( Client->GetObjectBoxMax(pPlayer->Object, maxs) != 0 )
return;
D3DXVECTOR3 pArray[8];
if( WorldToScreen( pDevice, mins, &pArray[0] ) &&
WorldToScreen( pDevice, maxs, &pArray[1] ) &&
WorldToScreen( pDevice, D3DXVECTOR3( mins.x, mins.y, maxs.z ), &pArray[2] ) &&
WorldToScreen( pDevice, D3DXVECTOR3( mins.x, maxs.y, mins.z ), &pArray[3] ) &&
WorldToScreen( pDevice, D3DXVECTOR3( maxs.x, mins.y, mins.z ), &pArray[4] ) &&
WorldToScreen( pDevice, D3DXVECTOR3( maxs.x, maxs.y, mins.z ), &pArray[5] ) &&
WorldToScreen( pDevice, D3DXVECTOR3( maxs.x, mins.y, maxs.z ), &pArray[6] ) &&
WorldToScreen( pDevice, D3DXVECTOR3( mins.x, maxs.y, maxs.z ), &pArray[7] ) )
{
menu->DrawLine( pArray[ 0 ].x, pArray[ 0 ].y, pArray[ 2 ].x, pArray[ 2 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 0 ].x, pArray[ 0 ].y, pArray[ 3 ].x, pArray[ 3 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 0 ].x, pArray[ 0 ].y, pArray[ 4 ].x, pArray[ 4 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 1 ].x, pArray[ 1 ].y, pArray[ 5 ].x, pArray[ 5 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 1 ].x, pArray[ 1 ].y, pArray[ 6 ].x, pArray[ 6 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 1 ].x, pArray[ 1 ].y, pArray[ 7 ].x, pArray[ 7 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 2 ].x, pArray[ 2 ].y, pArray[ 7 ].x, pArray[ 7 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 2 ].x, pArray[ 2 ].y, pArray[ 6 ].x, pArray[ 6 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 3 ].x, pArray[ 3 ].y, pArray[ 7 ].x, pArray[ 7 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 4 ].x, pArray[ 4 ].y, pArray[ 6 ].x, pArray[ 6 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 5 ].x, pArray[ 5 ].y, pArray[ 3 ].x, pArray[ 3 ].y, 1, drawColor, pDevice );
menu->DrawLine( pArray[ 5 ].x, pArray[ 5 ].y, pArray[ 4 ].x, pArray[ 4 ].y, 1, drawColor, pDevice );
}
}
if(engine->Players[i].pPlayer->Team != engine->pLocal->Team)
{
if(boxes)
Draw3DPlayerBox(engine->Players[i].pPlayer, ESPColor, pDevice);
}
class CLTClient
{
public:
/* 0x0000 */ void(*function0)();
/* 0x0004 */ void(*function1)();
/* 0x0008 */ void(*function2)();
/* 0x000C */ void(*function3)();
/* 0x0010 */ void(*function4)();
/* 0x0014 */ void(*function5)();
/* 0x0018 */ void(*function6)();
/* 0x001C */ void(*function7)();
/* 0x0020 */ void(*function8)();
/* 0x0024 */ void(*function9)();
/* 0x0028 */ void(*function10)();
/* 0x002C */ void(*function11)();
/* 0x0030 */ void(*function12)();
/* 0x0034 */ void(*function13)();
/* 0x0038 */ void(*function14)();
/* 0x003C */ void(*function15)();
/* 0x0040 */ void(*function16)();
/* 0x0044 */ void(*function17)();
/* 0x0048 */ void(*function18)();
/* 0x004C */ void(*function19)();
/* 0x0050 */ void(*function20)();
/* 0x0054 */ void(*function21)();
/* 0x0058 */ void(*function22)();
/* 0x005C */ void(*function23)();
/* 0x0060 */ void(*function24)();
/* 0x0064 */ void(*function25)();
/* 0x0068 */ void(*function26)();
/* 0x006C */ void(*function27)();
/* 0x0070 */ void(*function28)();
/* 0x0074 */ void(*function29)();
/* 0x0078 */ void(*function30)();
/* 0x007C */ void(*function31)();
/* 0x0080 */ void(*function32)();
/* 0x0084 */ void(*function33)();
/* 0x0088 */ void(*function34)();
/* 0x008C */ void(*function35)();
/* 0x0090 */ void(*function36)();
/* 0x0094 */ void(*function37)();
/* 0x0098 */ void(*function38)();
/* 0x009C */ LTRESULT(WINAPI *GetObjectPos)(CObject *Object, D3DXVECTOR3 *Pos);
/* 0x00A0 */ void(*function39)();
/* 0x00A4 */ void(*function40)();
/* 0x00A8 */ void(*function41)();
/* 0x00AC */ void(*function42)();
/* 0x00B0 */ void(*function43)();
/* 0x00B4 */ void(*function44)();
/* 0x00B8 */ void(*function45)();
/* 0x00BC */ void(*function46)();
/* 0x00C0 */ void(*function47)();
/* 0x00C4 */ void(*function48)();
/* 0x00C8 */ void(*function49)();
/* 0x00CC */ void(*function50)();
/* 0x00D0 */ void(*function51)();
/* 0x00D4 */ void(*function52)();
/* 0x00D8 */ void(*function53)();
/* 0x00DC */ void(*function54)();
/* 0x00E0 */ void(*function55)();
/* 0x00E4 */ void(*function56)();
/* 0x00E8 */ void(*function57)();
/* 0x00EC */ void(*function58)();
/* 0x00F0 */ void(*function59)();
/* 0x00F4 */ void(*function60)();
/* 0x00F8 */ void(*function61)();
/* 0x00FC */ void(*function62)();
/* 0x0100 */ void(*function63)();
/* 0x0104 */ void(*function64)();
/* 0x0108 */ void(*function65)();
/* 0x010C */ void(*function66)();
/* 0x0110 */ void(*function67)();
/* 0x0114 */ void(*function68)();
/* 0x0118 */ void(*function69)();
/* 0x011C */ void(*function70)();
/* 0x0120 */ void(*function71)();
/* 0x0124 */ void(*function72)();
/* 0x0128 */ void(*function73)();
/* 0x012C */ void(*function74)();
/* 0x0130 */ void(*function75)();
/* 0x0134 */ void(*function76)();
/* 0x0138 */ void(*function77)();
/* 0x013C */ void(*function78)();
/* 0x0140 */ void(*function79)();
/* 0x0144 */ void(*function80)();
/* 0x0148 */ void(*function81)();
/* 0x014C */ void(*function82)();
/* 0x0150 */ void(*function83)();
/* 0x0154 */ void(*function84)();
/* 0x0158 */ void(*function85)();
/* 0x015C */ void(*function86)();
/* 0x0160 */ void(*function87)();
/* 0x0164 */ void(*function88)();
/* 0x0168 */ void(*function89)();
/* 0x016C */ void(*function90)();
/* 0x0170 */ void(*function91)();
/* 0x0174 */ void(*function92)();
/* 0x0178 */ void(*function93)();
/* 0x017C */ void(*function94)();
/* 0x0180 */ void(*function95)();
/* 0x0184 */ void(*function96)();
/* 0x0188 */ void(*function97)();
/* 0x018C */ void(*function98)();
/* 0x0190 */ void(*function99)();
/* 0x0194 */ void(*function100)();
/* 0x0198 */ void(*function101)();
/* 0x019C */ void(*function102)();
/* 0x01A0 */ void(*function103)();
/* 0x01A4 */ void(*function104)();
/* 0x01A8 */ void(*function105)();
/* 0x01AC */ void(*function106)();
/* 0x01B0 */ void(*function107)();
/* 0x01B4 */ void(*function108)();
/* 0x01B8 */ void(*function109)();
/* 0x01BC */ void(*function110)();
/* 0x01C0 */ void(*function111)();
/* 0x01B4 */ void(*function112)();
/* 0x01B8 */ void(*function113)();
/* 0x01BC */ void(*function114)();
/* 0x01C0 */ void(*function115)();
/* 0x01C4 */ void(*function116)();
/* 0x01C8 */ void(*function117)();
/* 0x01CC */ void(*function118)();
/* 0x01D0 */ void(*function119)();
/* 0x01D4 */ void(*function120)();
/* 0x01D8 */ void(*function121)();
/* 0x01DC */ void(*function122)();
/* 0x01E0 */ void(*function123)();
/* 0x01E4 */ LTRESULT(*GetObjectBoxMin)(CObject *Object, D3DXVECTOR3 *Min);
/* 0x01E8 */ LTRESULT(*GetObjectBoxMax)(CObject *Object, D3DXVECTOR3 *Max);
/* 0x01EC */ void(*function124)();
/* 0x01F0 */ void(*function125)();
/* 0x01F4 */ void(*function126)();
/* 0x01F8 */ void(*function127)();
/* 0x01FC */ void(*function128)();
/* 0x0200 */ void(*function129)();
/* 0x0204 */ void(*function130)();
/* 0x0208 */ void(*function131)();
/* 0x020C */ void(*function132)();
/* 0x0210 */ void(*function133)();
/* 0x0214 */ void(*function134)();
/* 0x0218 */ void(*function135)();
/* 0x021C */ void(*function136)();
};
0070B39C . 00906800 DD crossfir.00689000 ; ASCII "CLTClient::GetObjectBoxMin" 0070B3A0 . E48F6800 DD crossfir.00688FE4 ; ASCII "CLTClient::GetObjectBoxMax"
00621868 |. 68 C8826800 PUSH crossfir.006882C8 ; /Arg4 = 006882C8 0062186D |. 68 CC826800 PUSH crossfir.006882CC ; |Arg3 = 006882CC ASCII "LT_INVALIDPARAMS" 00621872 |. A1 9CB37000 MOV EAX,DWORD PTR DS:[70B39C] ; | 00621877 |. 50 PUSH EAX ; |Arg2 => 00689000 ASCII "CLTClient::GetObjectBoxMin" 00621878 |. 8B0D 20977000 MOV ECX,DWORD PTR DS:[709720] ; |crossfir.00688280 0062187E |. 51 PUSH ECX ; |Arg1 => 00688280 ASCII "LT ERROR: %s returned %s (%s)" 0062187F |. E8 EC13FDFF CALL crossfir.005F2C70 ; \crossfir.005F2C70
006217D8 |. 68 C8826800 PUSH crossfir.006882C8 ; /Arg4 = 006882C8 006217DD |. 68 CC826800 PUSH crossfir.006882CC ; |Arg3 = 006882CC ASCII "LT_INVALIDPARAMS" 006217E2 |. A1 A0B37000 MOV EAX,DWORD PTR DS:[70B3A0] ; | 006217E7 |. 50 PUSH EAX ; |Arg2 => 00688FE4 ASCII "CLTClient::GetObjectBoxMax" 006217E8 |. 8B0D 20977000 MOV ECX,DWORD PTR DS:[709720] ; |crossfir.00688280 006217EE |. 51 PUSH ECX ; |Arg1 => 00688280 ASCII "LT ERROR: %s returned %s (%s)" 006217EF |. E8 7C14FDFF CALL crossfir.005F2C70 ; \crossfir.005F2C70
BoxMin: 83 C4 10 B8 ?? ?? ?? ?? EB 2D 8B 55 08 83 C2 04 89 55 FC 8B 45 0C 8B 4D FC BoxMax: 83 C4 10 B8 ?? ?? ?? ?? EB 2D 8B 55 08 83 C2 10 89 55 FC 8B 45 0C 8B 4D FC
class CLTClient
{
public:
virtual void Function0(); //
virtual void Function1(); //
virtual void Function2(); //
virtual void Function3(); //
virtual void Function4(); //
virtual void Function5(); //
virtual void Function6(); //
virtual void Function7(); //
virtual void Function8(); //
virtual void Function9(); //
virtual void Function10(); //
virtual void Function11(); //
virtual void Function12(); //
virtual void Function13(); //
virtual void Function14(); //
virtual void Function15(); //
virtual void Function16(); //
virtual void Function17(); //
virtual void Function18(); //
virtual void Function19(); //
virtual void Function20(); //
virtual void Function21(); //
virtual void Function22(); //
virtual void Function23(); //
virtual void Function24(); //
virtual void Function25(); //
virtual void Function26(); //
virtual void Function27(); //
virtual void Function28(); //
virtual void Function29(); //
virtual void Function30(); //
virtual void Function31(); //
virtual void Function32(); //
virtual void Function33(); //
virtual void Function34(); //
virtual void Function35(); //
virtual void Function36(); //
virtual void Function37(); //
virtual void Function38(); //
virtual unsigned int GetObjectPos(CObject *Object, D3DXVECTOR3 *Pos); //
virtual void Function40(); //
virtual void Function41(); //
virtual void Function42(); //
virtual void Function43(); //
virtual void Function44(); //
virtual void Function45(); //
virtual void Function46(); //
virtual void Function47(); //
virtual void Function48(); //
virtual void Function49(); //
virtual void Function50(); //
virtual void Function51(); //
virtual void Function52(); //
virtual void Function53(); //
virtual void Function54(); //
virtual void Function55(); //
virtual void Function56(); //
virtual void Function57(); //
virtual void Function58(); //
virtual void Function59(); //
virtual void Function60(); //
virtual void Function61(); //
virtual void Function62(); //
virtual void Function63(); //
virtual void Function64(); //
virtual void Function65(); //
virtual void Function66(); //
virtual void Function67(); //
virtual void Function68(); //
virtual void Function69(); //
virtual void Function70(); //
virtual void Function71(); //
virtual void Function72(); //
virtual void Function73(); //
virtual void Function74(); //
virtual void Function75(); //
virtual void Function76(); //
virtual void Function77(); //
virtual void Function78(); //
virtual void Function79(); //
virtual void Function80(); //
virtual void Function81(); //
virtual void Function82(); //
virtual void Function83(); //
virtual void Function84(); //
virtual void Function85(); //
virtual void Function86(); //
virtual void Function87(); //
virtual void Function88(); //
virtual void Function89(); //
virtual void Function90(); //
virtual void Function91(); //
virtual void Function92(); //
virtual void Function93(); //
virtual void Function94(); //
virtual void Function95(); //
virtual void Function96(); //
virtual void Function97(); //
virtual void Function98(); //
virtual void Function99(); //
virtual void Function100(); //
virtual void Function101(); //
virtual void Function102(); //
virtual void Function103(); //
virtual void Function104(); //
virtual void Function105(); //
virtual void Function106(); //
virtual void Function107(); //
virtual void Function108(); //
virtual void Function109(); //
virtual void Function110(); //
virtual void Function111(); //
virtual void Function112(); //
virtual void Function113(); //
virtual void Function114(); //
virtual void Function115(); //
virtual void Function116(); //
virtual void Function117(); //
virtual void Function118(); //
virtual void Function119(); //
virtual void Function120(); //
virtual void Function121(); //
virtual void Function122(); //
virtual unsigned int GetObjectBoxMin(CObject *Object, D3DXVECTOR3& Min);
virtual unsigned int GetObjectBoxMax(CObject *Object, D3DXVECTOR3& Max);

class CLTClient
{
public:
/* 0x0000 */ virtual void function0();
/* 0x0004 */ virtual void function1();
/* 0x0008 */ virtual void function2();
/* 0x000C */ virtual void function3();
/* 0x0010 */ virtual void function4();
/* 0x0014 */ virtual void function5();
/* 0x0018 */ virtual void function6();
/* 0x001C */ virtual void function7();
/* 0x0020 */ virtual void function8();
/* 0x0024 */ virtual void function9();
/* 0x0028 */ virtual void function10();
/* 0x002C */ virtual void function11();
/* 0x0030 */ virtual void function12();
/* 0x0034 */ virtual void function13();
/* 0x0038 */ virtual void function14();
/* 0x003C */ virtual void function15();
/* 0x0040 */ virtual void function16();
/* 0x0044 */ virtual void function17();
/* 0x0048 */ virtual void function18();
/* 0x004C */ virtual void function19();
/* 0x0050 */ virtual void function20();
/* 0x0054 */ virtual void function21();
/* 0x0058 */ virtual void function22();
/* 0x005C */ virtual void function23();
/* 0x0060 */ virtual void function24();
/* 0x0064 */ virtual void function25();
/* 0x0068 */ virtual void function26();
/* 0x006C */ virtual void function27();
/* 0x0070 */ virtual void function28();
/* 0x0074 */ virtual void function29();
/* 0x0078 */ virtual void function30();
/* 0x007C */ virtual void function31();
/* 0x0080 */ virtual void function32();
/* 0x0084 */ virtual void function33();
/* 0x0088 */ virtual void function34();
/* 0x008C */ virtual void function35();
/* 0x0090 */ virtual void function36();
/* 0x0094 */ virtual void function37();
/* 0x0098 */ virtual void function38();
/* 0x009C */ virtual unsigned int GetObjectPos(CObject *Object, D3DXVECTOR3 *Pos);
/* 0x00A0 */ virtual void function39();
/* 0x00A4 */ virtual void function40();
/* 0x00A8 */ virtual void function41();
/* 0x00AC */ virtual void function42();
/* 0x00B0 */ virtual void function43();
/* 0x00B4 */ virtual void function44();
/* 0x00B8 */ virtual void function45();
/* 0x00BC */ virtual void function46();
/* 0x00C0 */ virtual void function47();
/* 0x00C4 */ virtual void function48();
/* 0x00C8 */ virtual void function49();
/* 0x00CC */ virtual void function50();
/* 0x00D0 */ virtual void function51();
/* 0x00D4 */ virtual void function52();
/* 0x00D8 */ virtual void function53();
/* 0x00DC */ virtual void function54();
/* 0x00E0 */ virtual void function55();
/* 0x00E4 */ virtual void function56();
/* 0x00E8 */ virtual void function57();
/* 0x00EC */ virtual void function58();
/* 0x00F0 */ virtual void function59();
/* 0x00F4 */ virtual void function60();
/* 0x00F8 */ virtual void function61();
/* 0x00FC */ virtual void function62();
/* 0x0100 */ virtual void function63();
/* 0x0104 */ virtual void function64();
/* 0x0108 */ virtual void function65();
/* 0x010C */ virtual void function66();
/* 0x0110 */ virtual void function67();
/* 0x0114 */ virtual void function68();
/* 0x0118 */ virtual void function69();
/* 0x011C */ virtual void function70();
/* 0x0120 */ virtual void function71();
/* 0x0124 */ virtual void function72();
/* 0x0128 */ virtual void function73();
/* 0x012C */ virtual void function74();
/* 0x0130 */ virtual void function75();
/* 0x0134 */ virtual void function76();
/* 0x0138 */ virtual void function77();
/* 0x013C */ virtual void function78();
/* 0x0140 */ virtual void function79();
/* 0x0144 */ virtual void function80();
/* 0x0148 */ virtual void function81();
/* 0x014C */ virtual void function82();
/* 0x0150 */ virtual void function83();
/* 0x0154 */ virtual void function84();
/* 0x0158 */ virtual void function85();
/* 0x015C */ virtual void function86();
/* 0x0160 */ virtual void function87();
/* 0x0164 */ virtual void function88();
/* 0x0168 */ virtual void function89();
/* 0x016C */ virtual void function90();
/* 0x0170 */ virtual void function91();
/* 0x0174 */ virtual void function92();
/* 0x0178 */ virtual void function93();
/* 0x017C */ virtual void function94();
/* 0x0180 */ virtual void function95();
/* 0x0184 */ virtual void function96();
/* 0x0188 */ virtual void function97();
/* 0x018C */ virtual void function98();
/* 0x0190 */ virtual void function99();
/* 0x0194 */ virtual void function100();
/* 0x0198 */ virtual void function101();
/* 0x019C */ virtual void function102();
/* 0x01A0 */ virtual void function103();
/* 0x01A4 */ virtual void function104();
/* 0x01A8 */ virtual void function105();
/* 0x01AC */ virtual void function106();
/* 0x01B0 */ virtual void function107();
/* 0x01B4 */ virtual void function108();
/* 0x01B8 */ virtual void function109();
/* 0x01BC */ virtual void function110();
/* 0x01C0 */ virtual void function111();
/* 0x01B4 */ virtual void function112();
/* 0x01B8 */ virtual void function113();
/* 0x01BC */ virtual void function114();
/* 0x01C0 */ virtual void function115();
/* 0x01C4 */ virtual void function116();
/* 0x01C8 */ virtual void function117();
/* 0x01CC */ virtual void function118();
/* 0x01D0 */ virtual void function119();
/* 0x01D4 */ virtual void function120();
/* 0x01D8 */ virtual void function121();
/* 0x01DC */ virtual void function122();
/* 0x01E0 */ virtual void function123();
/* 0x01E4 */ virtual unsigned int GetObjectBoxMin(CObject *Object, D3DXVECTOR3 *Min);
/* 0x01E8 */ virtual unsigned int GetObjectBoxMax(CObject *Object, D3DXVECTOR3 *Max);
};
CLTClient *Client = *(CLTClient **)CShell + LTClient; if( Client->GetObjectBoxMin(pPlayer->Object, &mins) != 0 ) return; if( Client->GetObjectBoxMax(pPlayer->Object, &maxs) != 0 ) return;