PiDqSerializationAlloc
VOID __stdcall PiDqSerializationAlloc(PVOID State, PSTR *Buffer, UINT64 *a3){
unsigned int v3;
unsigned int v5;
void *v8;
VOID *PoolWithTag;
v3 = *(_DWORD *)a3;
v5 = *((_DWORD *)State + 6);
if( *(_DWORD *)a3 > v5 )
{
v8 = (void *)*((_QWORD *)State + 2);
v5 = 0;
if( v8 )
{
ExFreePoolWithTag(v8, 0x58706E50u);
v3 = *(_DWORD *)a3;
}
if( v3 < 0x1000 )
{
*(_DWORD *)a3 = 4096;
v3 = 4096;
}
PoolWithTag = ExAllocatePoolWithTag(PagedPool, v3, 0x58706E50ui64);
*((_QWORD *)State + 2) = PoolWithTag;
if( PoolWithTag )
{
memset((INT64)PoolWithTag, 0i64);
v5 = *(_DWORD *)a3;
}
*((_DWORD *)State + 6) = v5;
}
*(_DWORD *)a3 = v5;
*Buffer = (PSTR)*((_QWORD *)State + 2);
}Referenced by:
No references.