FsRtlInitializeTunnels

VOID __stdcall FsRtlInitializeTunnels(){
  INT64 v0; 
  INT64 v1; 
  INT64 v2; 
  INT64 v3; 
  __int16 v4; 
  INT64 Size; 
  INT64 Sizea; 
  INT64 Tag; 
  INT64 Taga; 
  INT64 Depth; 
  INT64 Depthb; 
  _USHORT Deptha; 
  INT64 v12; 
  INT64 v13; 
  _UNICODE_STRING ValueName; 

  *(_DWORD *)(&ValueName.MaximumLength + 1) = 0;
  if( (_BYTE)dword_140CFA19C )
    LODWORD(TunnelMaxEntries) = 1024;
  *(_DWORD *)&ValueName.Length = 2752552;
  ValueName.Buffer = L"MaximumTunnelEntries";
  FsRtlGetTunnelParameterValue(&ValueName, &TunnelMaxEntries, v0, v1, Size, Tag, Depth, v12);
  *(_DWORD *)&ValueName.Length = 4063292;
  ValueName.Buffer = L"MaximumTunnelEntryAgeInSeconds";
  FsRtlGetTunnelParameterValue(&ValueName, &TunnelMaxAge, v2, v3, Sizea, Taga, Depthb, v13);
  if( !(_DWORD)TunnelMaxAge )
    LODWORD(TunnelMaxEntries) = 0;
  LODWORD(TunnelMaxAge) = 10000000 * TunnelMaxAge;
  if( (unsigned int)TunnelMaxEntries > 0xFFFF )
  {
    v4 = 256;
  }
  else
  {
    v4 = (unsigned __int16)TunnelMaxEntries >> 4;
    if( !((unsigned __int16)TunnelMaxEntries >> 4) )
    {
      if( !(_DWORD)TunnelMaxEntries )
        goto LABEL_9;
      v4 = TunnelMaxEntries + 1;
    }
    if( (unsigned __int16)v4 > 0x100u )
      v4 = 256;
  }
LABEL_9:
  LOWORD(Deptha) = v4;
  ExInitializePagedLookasideList((PPAGED_LOOKASIDE_LIST)&TunnelLookasideList, 0i64, 0i64, 0, 176, 0x4C6E7554u, Deptha);
}

Referenced by:

FsRtlInitSystem