SepLogTokenSidManagement

void __fastcall SepLogTokenSidManagement(int a1, __int64 a2, __int64 a3, __int64 a4, __int64 a5){
  unsigned int v7; 
  __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  _DWORD *v11; 
  __int64 v12; 
  int v13; 
  __int64 v14; 
  char *v15; 
  char *v16; 
  int v17; 
  char *v18; 
  int v19; 
  __int64 v20; 
  int v21; 
  unsigned int v22; 
  PVOID SidValuesDump; 
  __int64 v24; 
  __int64 v25; 
  unsigned int v26; 
  int v27; 
  __int64 v28; 
  unsigned int v29; 
  void *v30; 
  PVOID v31; 
  unsigned int v32; 
  __int64 v33; 
  unsigned int a2a; 
  int v35; 
  int v36; 
  int v37; 
  int v38; 
  unsigned int v39; 
  int v40; 
  int v41; 
  __int64 v42; 
  __int64 v43; 
  __int64 v44; 
  __int64 v45; 
  EVENT_DATA_DESCRIPTOR UserData; 
  char *v47; 
  int v48; 
  int v49; 
  char *v50; 
  int v51; 
  int v52; 
  char *v53; 
  int v54; 
  int v55; 
  __int64 *v56; 
  __int64 v57; 
  __int64 *v58; 
  __int64 v59; 
  int *v60; 
  __int64 v61; 
  int *v62; 
  __int64 v63; 
  int *v64; 
  __int64 v65; 
  __int64 *v66; 
  __int64 v67; 
  int *v68; 
  __int64 v69; 
  PVOID v70; 
  int v71; 
  int v72; 
  v7 = a1;
  a2a = 0;
  v38 = 0;
  v39 = 0;
  if( EtwKernelProvRegHandle && SepTokenSidManagementLoggingEnabled )
  {
    if( a4 )
    {
      v42 = RtlConvertLuidToUlonglong(a4 + 16, a2, a5);
      v43 = RtlConvertLuidToUlonglong(v8 + 24, v9, v10);
      v35 = v11[48];
      v36 = v11[49];
      v37 = v11[50];
    }
    else
    {
      v42 = 0i64;
      v43 = 0i64;
      v35 = 0;
      v36 = 0;
      v37 = 0;
    }
    UserData.Ptr = (unsigned __int64)SepGetSidManagementActionName(v7, &a2a);
    v13 = 2;
    UserData.Size = a2a;
    UserData.Reserved = 0;
    v14 = *(_QWORD *)(*((_QWORD *)KeGetCurrentThread() + 23) + 1472i64);
    v15 = byte_140CF9D90;
    if( v14 && *(_WORD *)v14 )
    {
      v16 = *(char **)(v14 + 8);
      v17 = *(unsigned __int16 *)(v14 + 2);
    }
    else
    {
      v16 = byte_140CF9D90;
      v17 = 2;
    }
    v47 = v16;
    v48 = v17;
    v49 = 0;
    if( v12 && *(_WORD *)(v12 + 56) )
    {
      v18 = *(char **)(v12 + 64);
      v19 = *(unsigned __int16 *)(v12 + 58);
    }
    else
    {
      v18 = byte_140CF9D90;
      v19 = 2;
    }
    v50 = v18;
    v51 = v19;
    v52 = 0;
    if( v12 && *(_WORD *)(v12 + 72) )
    {
      v15 = *(char **)(v12 + 80);
      v13 = *(unsigned __int16 *)(v12 + 74);
    }
    v53 = v15;
    v56 = &v42;
    v58 = &v43;
    v60 = &v35;
    v62 = &v36;
    v64 = &v37;
    v54 = v13;
    v55 = 0;
    v57 = 8i64;
    v59 = 8i64;
    v61 = 4i64;
    v63 = 4i64;
    v65 = 4i64;
    if( a2 )
      v20 = *(_QWORD *)(a2 + 8);
    else
      v20 = 0i64;
    v44 = v20;
    v66 = &v44;
    v67 = 8i64;
    if( a2 )
      v21 = *(_DWORD *)(a2 + 16);
    else
      v21 = 0;
    v40 = v21;
    v68 = &v40;
    v22 = 11;
    v69 = 4i64;
    SidValuesDump = 0i64;
    if( a2 && v21 )
    {
      SidValuesDump = SepGetSidValuesDump((_DWORD *)a2, &v38);
      v71 = v38;
      v22 = 12;
      v70 = SidValuesDump;
      v72 = 0;
    }
    if( a3 )
      v24 = *(_QWORD *)(a3 + 8);
    else
      v24 = 0i64;
    v45 = v24;
    v25 = v22;
    v26 = v22 + 1;
    v25 *= 2i64;
    *(&UserData.Ptr + v25) = (unsigned __int64)&v45;
    *((_QWORD *)&UserData.Size + v25) = 8i64;
    if( !a3 || a2 == a3 )
      v27 = 0;
    else
      v27 = *(_DWORD *)(a3 + 16);
    v28 = 2i64 * v26;
    v41 = v27;
    v29 = v26 + 1;
    v30 = 0i64;
    *(&UserData.Ptr + v28) = (unsigned __int64)&v41;
    *((_QWORD *)&UserData.Size + v28) = 4i64;
    if( a3 && v27 )
    {
      v31 = SepGetSidValuesDump((_DWORD *)a3, &v39);
      v32 = v39;
      v30 = v31;
      v33 = 2i64 * v29++;
      *(&UserData.Ptr + v33) = (unsigned __int64)v31;
      *(&UserData.Size + 2 * v33) = v32;
      *(&UserData.Reserved + 2 * v33) = 0;
    }
    EtwWrite(EtwKernelProvRegHandle, (EVENT_DESCRIPTOR *)&TokenSidManagementLog, 0i64, v29, &UserData);
    if( SidValuesDump )
      ExFreePoolWithTag(SidValuesDump, 0);
    if( v30 )
      ExFreePoolWithTag(v30, 0);
  }
}

Referenced by:

SepDereferenceSidValuesBlock
SepSetTokenUserAndGroups