IoSynchronousCallDriver

INT64 __fastcall IoSynchronousCallDriver(_DEVICE_OBJECT *DeviceObject, _IRP *Irp){
  __int64 v3; 
  INT64 result; 
  int Object[2]; 
  _QWORD v6[4]; 
  Object[1] = 0;
  Object[0] = 393216;
  v6[1] = v6;
  v6[0] = v6;
  v3 = *((_QWORD *)Irp + 23);
  *(_QWORD *)(v3 - 16) = SmKmGenericCompletion;
  *(_QWORD *)(v3 - 8) = Object;
  *(_BYTE *)(v3 - 69) = -32;
  LODWORD(result) = IofCallDriver(DeviceObject, Irp);
  if( (_DWORD)result == 259 )
  {
    KeWaitForSingleObject(Object, Suspended, 0, 0, 0i64);
    return *((unsigned int *)Irp + 12);
  }
  return result;
}

Referenced by:

FsRtlGetFileExtents
FsRtlMdlReadEx
FsRtlPrepareMdlWriteEx
IoForwardIrpSynchronously
NT_DISK::Read
NT_DISK::Write
PopAcquireCoolingInterface
PopBatteryInitialize
PopBatteryQueryEstimatedTime
PopBatteryQueryStatus
PopBatteryReadTag
WmipGetFilePDO