SafeReallocBlob
UINT8 *__fastcall SafeReallocBlob(
ULONG_PTR BugCheckParameter2,
unsigned int a2,
unsigned int a3,
unsigned int a4,
int a5,
int a6,
__int64 a7){
unsigned __int64 v8;
unsigned int v9;
UINT8 *PoolWithTag;
UINT8 *v11;
if( !BugCheckParameter2 )
return 0i64;
v8 = a4 * (unsigned __int64)a3;
if( v8 > 0xFFFFFFFF )
return 0i64;
v9 = v8 + a2;
if( (unsigned int)v8 + a2 < a2 )
return 0i64;
if( a7 )
*(_DWORD *)a7 = v9;
if( v9 )
{
PoolWithTag = (UINT8 *)ExAllocatePoolWithTag(PagedPool, v9, 0x72746C6Dui64);
v11 = PoolWithTag;
if( PoolWithTag )
memset((INT64)PoolWithTag, 0i64);
}
else
{
v11 = 0i64;
}
if( !v11 )
return 0i64;
memmove(v11, (UINT8 *)BugCheckParameter2, *(unsigned int *)BugCheckParameter2);
ExFreeHeapPool((PVOID)BugCheckParameter2);
return v11;
}Referenced by:
RtlpMuiRegResizeLanguageConfigList
RtlpMuiRegResizeLanguages