PopPlInitComponent
__int64 __fastcall PopPlInitComponent(__int64 a1, __int128 *a2, __int64 a3, unsigned __int64 a4, char **a5){
unsigned int v5;
__int64 v7;
char *v9;
char *v10;
char *PoolWithTag;
__int128 v12;
unsigned __int64 v13;
__int64 v14;
signed __int64 v15;
__int64 result;
v5 = 0;
v7 = *((unsigned int *)a2 + 4);
v9 = 0i64;
if( (_DWORD)v7 )
{
v10 = (char *)(a3 + *((unsigned int *)a2 + 5));
if( (unsigned __int64)&v10[8 * v7] <= a4 )
{
PoolWithTag = (char *)ExAllocatePoolWithTag(NonPagedPoolNx, 8 * (int)v7 + 32, 0x6C506F50ui64);
v9 = PoolWithTag;
if( PoolWithTag )
{
memset((INT64)PoolWithTag, 0i64);
v12 = *a2;
*((_QWORD *)v9 + 2) = a1;
v13 = 0i64;
*(_OWORD *)v9 = v12;
v14 = *((unsigned int *)a2 + 4);
*((_QWORD *)v9 + 3) = v14;
if( v14 )
{
v15 = v9 - v10;
do
{
++v13;
*(_QWORD *)&v10[v15 + 32] = *(_QWORD *)v10;
v10 += 8;
}
while( v13 < *((_QWORD *)v9 + 3) );
}
}
else
{
v5 = -1073741670;
}
}
else
{
v5 = -1073741306;
}
}
result = v5;
*a5 = v9;
return result;
}Referenced by:
PopPlInitComponents