TtmiOpenDefaultTerminal

INT64 __fastcall TtmiOpenDefaultTerminal(INT64 a1, ACCESS_MASK a2, KPROCESSOR_MODE a3, HANDLE *a4){
  void *v4; 
  NTSTATUS v8; 
  unsigned int v9; 
  INT64 v10; 
  INT64 v11; 
  INT64 v12; 
  PVOID Object; 
  v4 = *(void **)(a1 + 24);
  Object = 0i64;
  v8 = ObReferenceObjectByHandle(v4, a2, TtmpTerminalObjectType, 0, &Object, 0i64);
  v9 = v8;
  if( v8 < 0 )
  {
    v10 = (unsigned int)v8;
    v11 = (unsigned int)v8;
    v12 = 788i64;
LABEL_5:
    TtmiLogError((PSTR)"TtmiOpenDefaultTerminal", v12, v11, v10);
    return v9;
  }
  v9 = ObOpenObjectByPointer(Object, a3 == 0 ? 0x200 : 0, 0i64, a2, TtmpTerminalObjectType, a3, a4);
  HalPutDmaAdapter((PADAPTER_OBJECT)Object);
  if( (v9 & 0x80000000) != 0 )
  {
    v10 = v9;
    v11 = v9;
    v12 = 813i64;
    goto LABEL_5;
  }
  return v9;
}

Referenced by:

TtmpDispatchOpenTerminal