CmpAdjustSecurityCacheSize

char __fastcall CmpAdjustSecurityCacheSize(__int64 a1){
  unsigned int v2; 
  UINT8 *v3; 
  UINT8 *v4; 
  v2 = *(_DWORD *)(a1 + 1864);
  if( v2 >= *(_DWORD *)(a1 + 1868) )
    goto LABEL_4;
  v3 = (UINT8 *)(*(__int64(__fastcall **)(_QWORD, _QWORD, __int64))(a1 + 24))(16 * v2, 0i64, 1666403651i64);
  v4 = v3;
  if( v3 )
  {
    memmove(v3, *(UINT8 **)(a1 + 1880), 16i64 * *(unsigned int *)(a1 + 1864));
    (*(void(__fastcall **)(_QWORD, _QWORD))(a1 + 32))(
      *(_QWORD *)(a1 + 1880),
      (unsigned int)(16 * *(_DWORD *)(a1 + 1868)));
    *(_DWORD *)(a1 + 1868) = *(_DWORD *)(a1 + 1864);
    *(_QWORD *)(a1 + 1880) = v4;
LABEL_4:
    LOBYTE(v3) = 1;
  }
  return(char)v3;
}

Referenced by:

CmpValidateHiveSecurityDescriptors