ObAssignObjectSecurityDescriptor

NTSTATUS __stdcall ObAssignObjectSecurityDescriptor(PVOID Object, PVOID SecurityDescriptor){
  int v4; 
  char *v6; 
  v6 = 0i64;
  if( SecurityDescriptor )
  {
    v4 = ObLogSecurityDescriptor(SecurityDescriptor, (PVOID *)&v6, 0x10ui64);
    if( v4 >= 0 )
    {
      ExFreePoolWithTag(SecurityDescriptor, 0);
      if( v6 )
        *((_QWORD *)Object - 1) = v6 + 15;
      else
        *((_QWORD *)Object - 1) = 0i64;
    }
    return v4;
  }
  else
  {
    *((_QWORD *)Object - 1) = 0i64;
    return 0;
  }
}

Referenced by:

CmpAssignKeySecurity
WmipSecurityMethod