HalpMcExportAndChargeNeededData
VOID __fastcall HalpMcExportAndChargeNeededData(INT64 a1, const WCHAR *a2, WCHAR a3){
CHAR *v4;
CHAR *v5;
int v6;
int v7;
UINT64 v8;
LODWORD(v8) = 0;
v4 = HalpMcExportAllData(&v8, a1, PagedPool);
v5 = v4;
if( v4 )
{
v6 = v8;
v7 = MmObtainChargesToLockPagedPool(v4, (unsigned int)v8);
HalpMcUpdateDataCharged = v7 != 0;
if( v7 )
{
LABEL_3:
HalpMcUpdateData = v5;
LODWORD(HalpMcUpdateDataSize) = v6;
return;
}
ExFreePoolWithTag(v5, 0x206C6148u);
v5 = HalpMcExportAllData(&v8, a1, NonPagedPoolNx);
if( v5 )
{
v6 = v8;
goto LABEL_3;
}
}
HalpUnloadMicrocode();
}Referenced by:
HalMcFinishMicrocode