


Dtypedef DWORD(__thiscall* KickVote)(int VoteReq, int KickResult, int Steps[99], time_t votTimer, int Reason, int TargetInfos[99], int voteType );
KickVote VoteKick = (KickVote)( (0xFFFFFFFF) );
DWORD WINAPI hkVoteKick ( )
{
if( VoteKick != NULL )
{
DWORD vddr = 0xFFFFFFFF;
if( vddr != NULL )
{
DWORD kickrequest = *(DWORD*)(vddr + 0x98);
INT kickReason /*= GetReasonOfKick( kickReason )*/;
INT VoteType;
DWORD voteReturnIndex;
INT kickResult = 0;
int Steps[99];
time_t votTimer = 5.0f;
bool isVoting;
if( kickrequest == 1 )
isVoting = true;
else
isVoting = false;
if( !isVoting )
{
return false;
} else if ( isVoting = true )
{
return true;
}
if( isVoting == 1 )
{
Steps[0] == *(DWORD*)vddr + 0x2C;
if( kickrequest == Steps[0] ||
kickrequest == Steps[1] ||
kickrequest == Steps[2] ||
kickrequest == Steps[3] ||
kickrequest == Steps[4] )
{
if( VoteType == KICK_NORMAL_TYPE )
voteReturnIndex = 0x1;
else if ( VoteType == KICK_ELITE_TYPE )
voteReturnIndex = 0x2;
else if ( VoteType == KICK_SELITE_TYPE )
voteReturnIndex = 0x3;
if( kickReason == KICK_REASON_INDEX_1 )
{
*(int*)Steps[15] = 0;
kickResult = 0x1;
return (DWORD)voteReturnIndex;
}
}
}
DWORD returnSafe;
return VoteKick(kickrequest, kickResult, Steps, votTimer, kickReason, (int*)returnSafe, VoteType);
}
}
}