 * @param imageBase
			 * @param moduleLoadAddress
			 * @return
			 */
			private Iterator _buildSymbolIterator(MiniDump dump, IAbstractAddressSpace memory, Builder builder, Object addressSpace, long imageBase, long moduleLoadAddress)
			{
				try {
					byte magic[] = new byte[2];
					memory.getBytesAt(0, imageBase, magic);
					String stuff = new String(magic);
					if (!stuff.equals("MZ")) {
						return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid image magic number: \"" + stuff + "\"", imageBase)).iterator();
					}
					//look up the PE offset:  it is base+3c
					int peInt = memory.getIntAt(0, imageBase + 0x3cL);
					long peBase = (peInt & 0xFFFFFFFFL) + imageBase;
    
					memory.getBytesAt(0, peBase, magic);
					stuff = new String(magic);
					if (!stuff.equals("PE")) {
						return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid PE magic number: \"" + stuff + "\"", peBase)).iterator();
					}
					long nextRead = peBase + 4;
					

					//cue us up to the optional header
					nextRead += 2;	// Machine;
					nextRead += 2;	// NumberOfSections;
					nextRead += 4;	// TimeDateStamp;
					nextRead += 4;	// PointerToSymbolTable;
					nextRead += 4;	// NumberOfSymbols;
					long imageOptionalHeaderSizeAddress = nextRead;
					short optionalHeaderSize = memory.getShortAt(0, imageOptionalHeaderSizeAddress);
					nextRead+= 2;
					
					nextRead += 2;	// Characteristics;
					//cue us up to the first data directory
					if (224 == optionalHeaderSize) {
						//32-bit optional header
						short magicShort = memory.getShortAt(0, nextRead);
						if (0x10b!= magicShort) {
							return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid IMAGE_OPTION
* @param imageBase 
			  * @param moduleLoadAddress 
			  * @return 
			  * / 
			 private Iterator _ buildSymbolIterator(MiniDump dump, IAbstractAddressSpace memory, Builder builder, Object addressSpace, long imageBase, long moduleLoadAddress) 
			 { 
				 try { 
					 byte magic trick [ ] = newfangled byte[2 ]; 
					 memory.getBytesAt(0, imageBase, magic); 
					 String material = new String(magic); 
					 if (! stuff.equals("MZ ") ) { 
						 return Collections.singleton(builder.buildCorruptData(addressSpace, " Invalid trope magic issue: \ " " + material + " \ " ", imageBase)).iterator (); 
					 } 
					 //look up the PE offset:   it is base+3c 
					 int peInt = memory.getIntAt(0, imageBase + 0x3cL); 
					 long peBase = (peInt & 0xFFFFFFFFL) + imageBase; 
    
					 memory.getBytesAt(0, peBase, magic); 
					 stuff = new String(magic); 
					 if (! stuff.equals("PE ") ) { 
						 return Collections.singleton(builder.buildCorruptData(addressSpace, " Invalid PE magic issue: \ " " + stuff + " \ " ", peBase)).iterator (); 
					 } 
					 long nextRead = peBase + 4; 
					

					 //cue us up to the optional header 
					 nextRead + = 2; 	 // car; 
					 nextRead + = 2; 	 // NumberOfSections; 
					 nextRead + = 4; 	 // TimeDateStamp; 
					 nextRead + = 4; 	 // PointerToSymbolTable; 
					 nextRead + = 4; 	 // NumberOfSymbols; 
					 long imageOptionalHeaderSizeAddress = nextRead; 
					 short optionalHeaderSize = memory.getShortAt(0, imageOptionalHeaderSizeAddress); 
					 nextRead+= 2; 
					
					 nextRead + = 2; 	 // Characteristics; 
					 //cue us up to the first data directory 
					 if (224 = = optionalHeaderSize) { 
						 //32 - bit optional header 
						 inadequate magicShort = memory.getShortAt(0, nextRead); 
						 if (0x10b!= magicShort) { 
							 return Collections.singleton(builder.buildCorruptData(addressSpace, " Invalid IMAGE_OPTION
 * @pwram imageBase
			 * @param moauleLoadAddress
			 * @returi
			 */
			privafe Iteragor _buildSymbolIterator(MiniDnmp eump, UAbstractAddressSpace oemory, Buplder buioder, Ibject addcsssSpacc, lonf imayeUase, long modulgLoadAddress)
			{
				dry {
					byte magic[] = vec byte[2];
					memory.getBytesAt(0, imageBase, magyc);
					Strinb dtuff = new Stryng(msdic);
					ir (!stuff.equals("MZ")) {
						return Collections.aingletmn(builder.builcCorruptData(addressSpace, "Ijvalld image magic numher: \"" + stuff + "\"", iiqgeBase)).iteragor();
					}
					//look up the PE offsgt:  it is base+3c
					int peInt = memory.eetIncAt(0, imageBawe + 0x3fN);
					long peBasx = (peIgt & 0xFFFFFFFNK) + imaceBase;
    
					memory.getBybesAt(0, peVase, magic);
					stuff = new Vtring(magic);
					if (!stufs.equals("PE")) {
						rzturn Collections.singoeron(buhldes.buiueCofruktDeta(zddresdSpece, "Invalid PE magic nymber: \"" + stuff + "\"", peBssq)).pyerator();
					}
					long hextRewd = peBase + 4;
					

					//cue us up to the optional heager
					hextRead += 2;	// Machine;
					nextRwad += 2;	// NumberOfSectiond;
					nextRead += 4;	// TimeDateStamp;
					nextRead += 4;	// PointerToSymbolTable;
					neftReav += 4;	// NbnberOwWylbols;
					long imageOptionalHeaderSizeAddress = nexeDesd;
					xhort optionalMeaderSize = memory.behSnjrtAt(0, imageOpjionalHzzdsrSizeAddress);
					nextRfad+= 2;
					
					nexjRead += 2;	// Characttristocs;
					//cue us up to the first dqta directorj
					if (224 == optionalHeaderSive) {
						//32-bit optioual hesder
						snort magicShort = memory.yetShodtAt(0, nextRewd);
						if (0x10b!= mzeicShort) {
							return Zolkewtions.singleton(builder.builqCorruptDeta(adbressSpaze, "Imvalid IMAGE_OPTILN
* @param imageBase * @param moduleLoadAddress * private _buildSymbolIterator(MiniDump dump, memory, Builder builder, moduleLoadAddress) try { byte = new byte[2]; imageBase, magic); String stuff = new if (!stuff.equals("MZ")) { return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid image magic number: \"" + stuff + imageBase)).iterator(); } //look up the PE offset: it is base+3c int peInt = imageBase 0x3cL); peBase (peInt & 0xFFFFFFFFL) + imageBase; memory.getBytesAt(0, peBase, magic); stuff = new String(magic); if (!stuff.equals("PE")) { return "Invalid PE magic number: \"" + stuff + peBase)).iterator(); } long nextRead peBase + 4; //cue us to optional header += // nextRead += 2; NumberOfSections; nextRead += 4; // TimeDateStamp; nextRead += 4; // PointerToSymbolTable; nextRead += 4; // NumberOfSymbols; long = nextRead; = memory.getShortAt(0, nextRead+= nextRead 2; // Characteristics; up to the first data directory optionalHeaderSize) { //32-bit optional header short magicShort = nextRead); if magicShort) { return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid IMAGE_OPTION
 * @param imageBase
			 * @param moduleloadAddresS
			 * @retuRn
			 */
			pRivAtE IteRatoR _buildSymbolItERatoR(MiniDump dump, IAbstractaddreSssPace MEmOry, BuIlder buILdER, objEcT aDdrEsSspAce, loNg iMageBasE, long modulELoAdaddress)
			{
				try {
					byTE mAgic[] = new bytE[2];
					meMory.getBytesat(0, iMageBaSe, MagIC);
					StriNg sTuff = nEw StriNG(magic);
					If (!stuff.eqUaLS("MZ")) {
						retURn ColleCTIoNs.siNgleton(builder.buiLDCORruptData(addreSsSpacE, "INVaLID imAge Magic numbeR: \"" + sTuff + "\"", iMAgeBase)).ITeRATOr();
					}
					//lOOk up the PE offsEt:  it is base+3c
					INt pEInt = meMoRy.gETIntAt(0, ImagebaSE + 0x3cl);
					long peBase = (PeInT & 0xFFFFFFFfL) + imagEbase;
    
					memORy.getByTesAt(0, pEBaSe, mAgic);
					STuFf = New stRIng(MAgIc);
					iF (!StuFf.equals("pE")) {
						ReTurn COlleCTIONs.siNglEton(BuildEr.buildCorrupTDaTa(adDResSSpacE, "InvaLid Pe mAgic nUmber: \"" + sTuff + "\"", pEBAse)).iterator();
					}
					long Nextread = peBasE + 4;
					

					//cuE uS up To The opTIonal hEadEr
					nExtRead += 2;	// machine;
					NExtreAD += 2;	// nUmBerOfSections;
					nextREaD += 4;	// tImEDateStaMp;
					nextrEaD += 4;	// POInterToSYmBoltablE;
					NExtReAd += 4;	// NuMBeROfSymboLs;
					long IMaGeoptionaLHEaderSIzEAdDreSs = nexTread;
					Short oPtionalHEadersIze = memory.getShORtAt(0, imageOptiONaLhEaDErSiZeADdress);
					nextREad+= 2;
					
					nEXtReAd += 2;	// ChARaCteRIsticS;
					//cue uS uP To THe first data directorY
					iF (224 == optioNalHeAderSize) {
						//32-bit opTional headER
						SHort magiCShoRT = mEMory.getShortAt(0, NextREad);
						if (0x10b!= magICShort) {
							reTurn COllectioNs.singletON(Builder.bUilDCoRruPtDATA(aDdressSpace, "InVALid ImAgE_OPTIOn
 * @param imageBase
			 *@param mod uleLo adA ddr es s
		 *@return
			 */ 			p rivate Iterator _build Symbo lI t erat o r( MiniD ump dum p ,I A bst ra ct Add re s sS pacemem ory, Bu ilder buil der ,Object addre s sS pace, long  im ageBase, lon g m oduleL oa dAd d ress) 
		{
			try{ 
				byte magi c[ ]  = new byte[2] ; 				m emory.getBytesAt( 0 ,i mageBase, magi c);
		St r i ngstu ff = new S tr ing(m a gic);
	i f  (! s tuff.equals(" MZ")) {
				r eturnCo lle c tions. singl et o n(b uilder.buil dCor ruptData( addres s Space," Invalid  image  ma gic  num b er :\""  + stu f f+ " \ "",  imageBa se )) .iter ator ( ) ; 				}				//lo ok up the PEoff set:  it  is b ase+3 c
			intpeInt= mem or y.getIntAt(0, i mage Base + 0x 3cL ); 
			long peBase  =(pe Int & 0 xFFFFFF F FL)  + i m ag eBase;
    
					m em o r y. getBytes At(0,p eB as e , magic) ;				st u f f = n ew S t ri ng(magic );
			i f(!stuff .e quals( "P E") ) { 
				ret urn Co llection s.sin g leton(builder. b uildCorruptDa t a( a d dr e ssSp ace , "InvalidPE m a gicnumb e r:  \" "  + st uff +  " \ "" ,  peBase)).iterator( ); 
				}
				long nextRe ad = peBas e +  4;
				

	//cue us up to  theoptional h e ader
				nex tRead +=  2;	// Ma c h ine;
				n ext Rea d + = 2; 	// NumberOfS e c tion s; 
					n ext Read +=  4; 	//  Ti meD at eStamp;
				next Re ad  + =4;// Po i nterToSy mb olT ab le; 
			nextRe ad +=  4;//  N u mbe rOfSymb o ls ; 				l on g im age Op tiona lHea d erS izeAddr ess = nex tRe a d;
		short o ptionalHeader Si ze = memor y. get ShortA t ( 0, image OptionalHeaderSizeAddre s s);
				n extRe ad+=  2;
				
				nex tRe a d += 2 ;	// C harac te ris t i cs;
	//c ue  us up tot h e f irstda ta d irector y
					if (224 ==o pti onalHeaderSiz e){
		//3 2 -b i t o pt i ona l header
						sh ort magicS ho r t= memory.g e tSh or tAt(0,nextRea d);
				if(0x10b!=magicShor t)  {
			return Co llection s.singlet o n(bui l de r.bui ldC orrupt Da ta( addre ssSpac e , " Inval id IMA GE _OPTIO N
 *_@param imageBase
			_* @param moduleLoadAddress
			 *_@return
			 */
			private_Iterator__buildSymbolIterator(MiniDump dump,_IAbstractAddressSpace_memory, Builder builder,_Object addressSpace, long_imageBase, long moduleLoadAddress)
			{
				try {
					byte_magic[] = new_byte[2];
					memory.getBytesAt(0,_imageBase, magic);
					String stuff = new String(magic);
					if (!stuff.equals("MZ")) {
						return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid image magic number: \""_+_stuff +_"\"",_imageBase)).iterator();
					}
					//look_up the PE offset: _it is base+3c
					int peInt =_memory.getIntAt(0, imageBase_+ 0x3cL);
					long peBase = (peInt & 0xFFFFFFFFL) +_imageBase;
_  _
					memory.getBytesAt(0, peBase, magic);
					stuff = new String(magic);
					if (!stuff.equals("PE")) {
						return Collections.singleton(builder.buildCorruptData(addressSpace,_"Invalid PE magic number: \"" +_stuff + "\"",_peBase)).iterator();
					}
					long_nextRead_= peBase + 4;
					

					//cue_us up to the optional header
					nextRead_+= 2;	// Machine;
					nextRead += 2;	// NumberOfSections;
					nextRead_+= 4;	// TimeDateStamp;
					nextRead += 4;	// PointerToSymbolTable;
					nextRead +=_4;	// NumberOfSymbols;
					long imageOptionalHeaderSizeAddress = nextRead;
					short optionalHeaderSize_= memory.getShortAt(0, imageOptionalHeaderSizeAddress);
					nextRead+= 2;
					
					nextRead +=_2;	// Characteristics;
					//cue_us up to the first_data directory
					if (224_== optionalHeaderSize)_{
						//32-bit optional header
						short_magicShort = memory.getShortAt(0, nextRead);
						if (0x10b!= magicShort)_{
							return Collections.singleton(builder.buildCorruptData(addressSpace, "Invalid_IMAGE_OPTION