FsRtlpPrepareExtraCreateParametersForCreate

NTSTATUS __stdcall FsRtlpPrepareExtraCreateParametersForCreate(PVOID BugCheckParameter4){
  int v1; 
  char v2; 
  int v3; 
  _DWORD *v4; 

  v1 = *((_DWORD *)BugCheckParameter4 + 1);
  if( (v1 & 9) != 0 )
  {
    v2 = 0;
    if( (*((_DWORD *)BugCheckParameter4 + 1) & 0x3F0) == 1008 )
      return -1073740757;
    v3 = v1 + 16;
  }
  else
  {
    v2 = 1;
    v3 = v1 | 1;
  }
  *((_DWORD *)BugCheckParameter4 + 1) = v3;
  v4 = (_DWORD *)*((_QWORD *)BugCheckParameter4 + 1);
  if( v4 == (_DWORD *)((char *)BugCheckParameter4 + 8) )
    KeBugCheckEx(0x10Cu, (PVOID)0x15, 0i64, 0i64, BugCheckParameter4);
  do
  {
    if( v2 )
      v4[10] |= 1u;
    v4 = *(_DWORD **)v4;
  }
  while( v4 != (_DWORD *)((char *)BugCheckParameter4 + 8) );
  return 0;
}

Referenced by:

IoCreateFileEx
IoQueryInformationByName