KsepCacheInsert

__int64 __fastcall KsepCacheInsert(__int64 a1, __int64 a2){
  unsigned int v4; 
  _QWORD *v5; 
  _QWORD *v6; 
  __int64 v7; 
  __int64 v8; 
  __int64 ***v9; 
  __int64 **v10; 
  __int64 ****v11; 
  __int64 result; 
  __int64 *v13; 
  __int64 *v14; 
  __int64 v15; 
  __int64 **v16; 
  __int64 v17; 
  _QWORD *v18; 
  v4 = (*(__int64(__fastcall **)(__int64))(a1 + 80))(a2);
  v5 = (_QWORD *)(*(_QWORD *)(a1 + 16) + 16i64 * (v4 % *(_DWORD *)(a1 + 12)));
  if( (_QWORD *)*v5 != v5 )
    ++*(_DWORD *)(a1 + 56);
  *(_DWORD *)a2 = v4;
  v6 = (_QWORD *)(a2 + 8);
  v7 = *(_QWORD *)(a1 + 16) + 16i64 * (v4 % *(_DWORD *)(a1 + 12));
  v8 = *(_QWORD *)v7;
  if( *(_QWORD *)(*(_QWORD *)v7 + 8i64) != v7 )
    goto LABEL_7;
  *v6 = v8;
  *(_QWORD *)(a2 + 16) = v7;
  *(_QWORD *)(v8 + 8) = v6;
  v9 = (__int64 ***)(a2 + 24);
  *(_QWORD *)v7 = v6;
  v10 = (__int64 **)(a1 + 32);
  v11 = *(__int64 *****)(a1 + 40);
  if( *v11 != (__int64 ***)(a1 + 32) )
    goto LABEL_7;
  *v9 = v10;
  *(_QWORD *)(a2 + 32) = v11;
  *v11 = v9;
  *(_QWORD *)(a1 + 40) = v9;
  ++*(_DWORD *)(a1 + 8);
  ++*(_DWORD *)(a1 + 60);
  result = *(unsigned int *)(a1 + 8);
  if( (unsigned int)result > *(_DWORD *)(a1 + 24) )
  {
    v13 = *v10;
    v14 = (__int64 *)**v10;
    v15 = (__int64)(*v10 - 3);
    if( (__int64 *)v14[1] == *v10 )
    {
      v16 = (__int64 **)v13[1];
      if( *v16 == v13 )
      {
        *v16 = v14;
        v14[1] = (__int64)v16;
        v17 = *(_QWORD *)(v15 + 8);
        if( *(_QWORD *)(v17 + 8) == v15 + 8 )
        {
          v18 = *(_QWORD **)(v15 + 16);
          if( *v18 == v15 + 8 )
          {
            *v18 = v17;
            *(_QWORD *)(v17 + 8) = v18;
            --*(_DWORD *)(a1 + 8);
            ++*(_DWORD *)(a1 + 64);
            return(*(__int64(__fastcall **)(__int64))(a1 + 88))(v15);
          }
        }
      }
    }
LABEL_7:
    __fastfail(3u);
  }
  return result;
}

Referenced by:

KseAddHardwareId
KsepDbCacheInsertDevice