LdrpSectionTableFromVirtualAddress

_IMAGE_SECTION_HEADER *__stdcall LdrpSectionTableFromVirtualAddress(
        PVOID ModuleBase,
        UINT64 MappingSize,
        _IMAGE_NT_HEADERS64 *NtHeaders,
        _IMAGE_SECTION_HEADER *InitNtSection){
  char *v5; 
  int v6; 
  unsigned int v7; 
  unsigned int v9; 
  char v10; 
  if( NtHeaders )
  {
    v5 = (char *)&NtHeaders->OptionalHeader + NtHeaders->FileHeader.SizeOfOptionalHeader;
    if( v5 )
    {
      v6 = 0;
      if( NtHeaders->FileHeader.NumberOfSections )
      {
        while( !v10
             || (unsigned __int64)(v5 + 40) <= MappingSize + ((unsigned __int64)ModuleBase & 0xFFFFFFFFFFFFFFFCui64) )
        {
          v7 = *((_DWORD *)v5 + 3);
          if( v9 == v7 || v9 > v7 && v9 < *((_DWORD *)v5 + 4) + v7 )
            return(_IMAGE_SECTION_HEADER *)v5;
          v5 += 40;
          if( ++v6 >= NtHeaders->FileHeader.NumberOfSections )
            return 0i64;
        }
      }
    }
  }
  return 0i64;
}

Referenced by:

LdrpResGetResourceDirectory
LdrpResSearchResourceInsideDirectory