NtCreateKeyTransacted_Stub

NTSTATUS __stdcall NtCreateKeyTransacted_Stub(
        VOID **KeyHandle,
        UINT64 DesiredAccess,
        _OBJECT_ATTRIBUTES *ObjectAttributes,
        UINT64 CreateOptions,
        VOID *TransactionHandle,
        UINT64 *Disposition){
  NTSTATUS(__stdcall *v6)(VOID **, UINT64, _OBJECT_ATTRIBUTES *, UINT64, _UNICODE_STRING *, UINT64, VOID *, UINT64 *); 
  __int64 v8; 
  __int64 v9; 

  if( byte_140CF9E71 )
  {
    v6 = (NTSTATUS(__stdcall *)(VOID **, UINT64, _OBJECT_ATTRIBUTES *, UINT64, _UNICODE_STRING *, UINT64, VOID *, UINT64 *))qword_140CF9E78;
  }
  else
  {
    v6 = ZwCreateKeyTransacted;
    byte_140CF9E71 = 1;
    qword_140CF9E78 = (__int64)ZwCreateKeyTransacted;
  }
  if( v6 )
    return((__int64(__fastcall *)(VOID **, UINT64, _OBJECT_ATTRIBUTES *, _QWORD, _QWORD, _DWORD, __int64, __int64))v6)(
             KeyHandle,
             DesiredAccess,
             ObjectAttributes,
             0i64,
             0i64,
             (_DWORD)Disposition,
             v8,
             v9);
  else
    return -1073741702;
}

Referenced by:

RegRtlCreateKeyTransacted