IoQueryEnvironmentVariableInfoEx
INT64 __stdcall IoQueryEnvironmentVariableInfoEx(
UINT64 Attributes,
UINT64 *MaximumVariableStorageSize,
UINT64 *RemainingVariableStorageSize,
UINT64 *MaximumVariableSize){
unsigned int v6;
int v8;
PADAPTER_OBJECT DmaAdapter;
void **v11;
PDEVICE_OBJECT DeviceObject;
UINT64 v13;
UINT64 v14;
struct _EVENT_DATA_DESCRIPTOR v15;
void ***v16;
int v17;
int v18;
PDEVICE_OBJECT *p_DeviceObject;
int v20;
int v21;
UINT64 *v22;
int v23;
int v24;
UINT64 *v25;
int v26;
int v27;
PADAPTER_OBJECT *p_DmaAdapter;
int v29;
int v30;
DeviceObject = 0i64;
DmaAdapter = 0i64;
v11 = 0i64;
v6 = Attributes;
v8 = IopOpenSystemVariableDevice((PFILE_OBJECT *)&DmaAdapter, &DeviceObject, &v11);
if( v8 >= 0 )
{
v8 = ((__int64(__fastcall *)(PADAPTER_OBJECT, PDEVICE_OBJECT, _QWORD, UINT64 *, UINT64 *, UINT64 *))v11[3])(
DmaAdapter,
DeviceObject,
v6,
MaximumVariableStorageSize,
RemainingVariableStorageSize,
MaximumVariableSize);
if( DmaAdapter )
HalPutDmaAdapter(DmaAdapter);
}
if( (unsigned int)dword_140C044D0 > 5 && tlgKeywordOn((__int64)&dword_140C044D0, 0x200000000000i64) )
{
v18 = 0;
v21 = 0;
v24 = 0;
v27 = 0;
v30 = 0;
v16 = &v11;
DeviceObject = (PDEVICE_OBJECT)*MaximumVariableStorageSize;
p_DeviceObject = &DeviceObject;
v13 = *RemainingVariableStorageSize;
v22 = &v13;
v14 = *MaximumVariableSize;
v25 = &v14;
p_DmaAdapter = &DmaAdapter;
v17 = 4;
v20 = 8;
v23 = 8;
v26 = 8;
v29 = 4;
LODWORD(v11) = v6;
LODWORD(DmaAdapter) = v8;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C044D0,
(unsigned __int8 *)byte_140023EF9,
0i64,
0i64,
7u,
&v15);
}
return(unsigned int)v8;
}Referenced by:
NtQueryEnvironmentVariableInfoEx