MiCheckLogPinDriverAddresses

VOID __stdcall MiCheckLogPinDriverAddresses(){
  unsigned int *Buffer; 
  unsigned int v1; 
  unsigned int *v2; 
  bool i; 
  bool v4; 
  bool v5; 
  unsigned int v6; 
  char *v7; 
  unsigned int v8; 
  _DWORD *v9; 
  unsigned int v10; 
  _DWORD *v11; 

  if( *(&stru_140C4DB30 + 542) )
  {
    if( BitMapHeader.SizeOfBitMap )
    {
      if( BitMapHeader.SizeOfBitMap > 1 )
      {
        Buffer = BitMapHeader.Buffer;
        v1 = *BitMapHeader.Buffer;
        v2 = &BitMapHeader.Buffer[(unsigned __int64)(BitMapHeader.SizeOfBitMap - 1) >> 5];
        if( BitMapHeader.Buffer != v2 )
        {
          for( i = v1 == 0; i; i = *Buffer == 0 )
          {
            if( ++Buffer == v2 )
            {
              v4 = ((0xFFFFFFFF >> ~(LOBYTE(BitMapHeader.SizeOfBitMap) - 1)) & *Buffer) == 0;
              goto LABEL_10;
            }
          }
          goto LABEL_20;
        }
        v4 = (v1 & (0xFFFFFFFF >> (32 - LOBYTE(BitMapHeader.SizeOfBitMap)))) == 0;
LABEL_10:
        v5 = v4;
        goto LABEL_11;
      }
      if( BitMapHeader.SizeOfBitMap == 1 )
      {
        v5 = !_bittest((const signed __int32 *)BitMapHeader.Buffer, 0);
LABEL_11:
        if( v5 )
        {
          v6 = 0;
          v7 = (char *)&unk_140C29FB0;
LABEL_13:
          v8 = 0;
          v9 = v7;
LABEL_14:
          v10 = 0;
          v11 = v9;
          while( *v11 == v11[1] )
          {
            ++v10;
            v11 += 2;
            if( v10 >= 2 )
            {
              ++v8;
              v9 += 4;
              if( v8 < 2 )
                goto LABEL_14;
              ++v6;
              v7 += 32;
              if( v6 < 2 )
                goto LABEL_13;
              return;
            }
          }
        }
      }
    }
LABEL_20:
    if( !_InterlockedCompareExchange16(&word_140C2A010, 1, 0) )
    {
      WorkItem.Parameter = 0i64;
      WorkItem.List.Flink = 0i64;
      WorkItem.WorkerRoutine = (void(__fastcall *)(void *))MiLogPinDriverAddressesWorker;
      ExQueueWorkItem(&WorkItem, DelayedWorkQueue);
    }
  }
}

Referenced by:

MiWorkingSetManager