PiSwDeviceCreate

NTSTATUS __stdcall PiSwDeviceCreate(PI_SWD_OBJECT **SwDeviceObject){
  NTSTATUS v2; 
  VOID **PoolWithTag; 
  PI_SWD_OBJECT *v4; 
  PI_SWD_OBJECT *v5; 

  v2 = 0;
  PoolWithTag = ExAllocatePoolWithTag(1ui64, 0xD0ui64, 1466986064i64);
  *SwDeviceObject = (PI_SWD_OBJECT *)PoolWithTag;
  if( !PoolWithTag )
    return -1073741670;
  memset(PoolWithTag, 0i64, 0xD0u);
  **SwDeviceObject = 1;
  v4 = *SwDeviceObject + 32;
  *((_QWORD *)v4 + 1) = v4;
  *(_QWORD *)v4 = v4;
  v5 = *SwDeviceObject + 46;
  *((_QWORD *)v5 + 1) = v5;
  *(_QWORD *)v5 = v5;
  return v2;
}

Referenced by:

PiSwIrpStartCreateWorker