#include void ImageImportDescriptor::loadImageImportThunks(DWORD deltaOffset,PureViewOfFile &pureView,ImageSectionHeaders &imageSectionHeaders) { if(!isOkay())return; if(!firstThunkRVA()&&!originalFirstThunkRVA())return; if(originalFirstThunkRVA())loadImageImportThunk(originalFirstThunkRVA(),deltaOffset, imageOriginalThunkImportOrdinals(),imageOriginalThunkImportNames(),pureView,imageSectionHeaders); else if(firstThunkRVA())loadImageImportThunk(firstThunkRVA(),deltaOffset, imageThunkImportOrdinals(),imageThunkImportNames(),pureView,imageSectionHeaders); } void ImageImportDescriptor::loadImageFirstThunk(DWORD deltaOffset,PureViewOfFile &pureView,ImageSectionHeaders &imageSectionHeaders) { if(!isOkay()||!firstThunkRVA())return; loadImageImportThunk(firstThunkRVA(),deltaOffset, imageThunkImportOrdinals(),imageThunkImportNames(),pureView,imageSectionHeaders); } void ImageImportDescriptor::loadImageImportThunk(DWORD virtualAddress,DWORD deltaOffset,Block &imageThunkImportOrdinals,Block &imageThunkImportNames,PureViewOfFile &pureView,ImageSectionHeaders &imageSectionHeaders) { ImageSectionHeader imageSectionHeader; imageThunkImportOrdinals.remove(); imageThunkImportNames.remove(); pureView.push(); pureView.seek(virtualAddress-deltaOffset,PureViewOfFile::SeekSet); while(TRUE) { ImageThunkData imageThunkData; imageThunkData<