SmStoreCreate
INT64 __fastcall SmStoreCreate(int a1, __int64 a2, _DWORD *a3){
__int128 v3;
__int128 v4;
__int128 v6;
INT64 result;
int v8;
UINT64 v9;
UINT64 Information;
int SystemInformation;
int v12;
__int64 *p_RequestBuffer;
int v14;
int v15;
__int64 RequestBuffer;
__int128 v17;
__int128 v18;
__int128 v19;
__int128 v20;
__int64 v21;
__int64 v22;
v3 = *(_OWORD *)a2;
v4 = *(_OWORD *)(a2 + 16);
Information = 0i64;
v15 = 0;
v17 = v3;
p_RequestBuffer = &RequestBuffer;
v6 = *(_OWORD *)(a2 + 32);
SystemInformation = 1;
v12 = 3;
v14 = 88;
RequestBuffer = 6i64;
v22 = 0i64;
v19 = v6;
v21 = *(_QWORD *)(a2 + 64);
v18 = v4;
v20 = *(_OWORD *)(a2 + 48);
if( a1 )
{
if( a1 != 1 )
return 3221225485i64;
result = ZwSetSystemInformation();
v8 = v22;
}
else
{
LODWORD(v9) = 0;
result = SmStorePhysicalRequestIssue(DeviceObject, 0x228198ui64, &RequestBuffer, 0x58ui64, v9, &Information);
v8 = Information;
}
if( (int)result >= 0 )
{
*a3 = v8;
return 0i64;
}
return result;
}Referenced by:
SmcStoreCreate