IoAllocateController

INT8 __fastcall IoAllocateController(){
  __int64 v0; 
  _CONTROLLER_OBJECT *v1; 
  __int64(__fastcall *v2)(__int64, _QWORD, _QWORD, __int64); 
  __int64 v3; 
  __int64 v4; 
  _CONTROLLER_OBJECT *v5; 
  __int64 v6; 
  __int64(__fastcall *v7)(__int64, _QWORD, _QWORD, __int64); 
  int v8; 

  v4 = v0;
  *(_QWORD *)(v0 + 104) = v2;
  v5 = v1;
  *(_QWORD *)(v0 + 112) = v3;
  v6 = v3;
  v7 = v2;
  KeInsertDeviceQueue(&v1->DeviceWaitQueue, (_KDEVICE_QUEUE_ENTRY *)(v0 + 80));
  if( !(_BYTE)v8 )
  {
    v8 = v7(v4, *(_QWORD *)(v4 + 32), 0i64, v6);
    if( v8 == 2 )
      IoFreeController(v5);
  }
  return v8;
}

Referenced by:

No references.