July 30, 2013
Why not LLVM ? LLVM is open and well-optimized.
Writing own backend is a suicide and wasting of energy.
July 30, 2013
On Tuesday, 30 July 2013 at 19:08:59 UTC, Temtaime wrote:
> Why not LLVM ? LLVM is open and well-optimized.
> Writing own backend is a suicide and wasting of energy.

1) Because the current backend compiles code very fast, reducing development turnaround time (particularly useful for testing changes to druntime/phobos). It also has good native windows support.

2) Because the compiler itself is quick to compile. This allows a very quick response time even for quite wide-reaching changes. It also makes the auto-tester more useful.

3) Because Walter likes working with it. It's his backend and dmd is overall his project.

4) Because it's already happened/happening. We have dmd with the llvm backend. It's called ldc.
July 31, 2013
On Tuesday, 30 July 2013 at 16:43:52 UTC, John Colvin wrote:
>
> Are you sure that ldc hasn't actually just optimised away the whole of parse()?
> Check to asm to be sure.

I've checked the asm output, as you suggested. Turns out that the DMD version has 94,220 lines and calls parse() for the first time on line 3278 like so:

call	  _D10xmlparser25parseFZv@PC32

The LDC version has 14,347 line and calls parse() for the first time on line 155 like so:

call	  _D10xmlparser25parseFZv

However, I'm no expert on asm so it's anyone's guess but mine. But I'm willing to learn.
July 31, 2013
On Wednesday, 31 July 2013 at 08:44:30 UTC, Chris wrote:
> On Tuesday, 30 July 2013 at 16:43:52 UTC, John Colvin wrote:
>>
>> Are you sure that ldc hasn't actually just optimised away the whole of parse()?
>> Check to asm to be sure.
>
> I've checked the asm output, as you suggested. Turns out that the DMD version has 94,220 lines and calls parse() for the first time on line 3278 like so:
>
> call	  _D10xmlparser25parseFZv@PC32
>
> The LDC version has 14,347 line and calls parse() for the first time on line 155 like so:
>
> call	  _D10xmlparser25parseFZv
>
> However, I'm no expert on asm so it's anyone's guess but mine. But I'm willing to learn.

I would suggest doing the following:

dmd -c file.d -offiledmd.o
ldc2 -c file.d -of=fileldc.o
objdump -M intel -dr filedmd.o > filedmd.s
objdump -M intel -dr fileldc.o > fileldc.s

Then you'll have all the info you need and hopefully a lot less of what you don't need

What you're looking for is the definition of parse, like
0000000000000050 <_D10xmlparser25parseFZv>:

or similar and then seeing if there's anything much in the function body below.
July 31, 2013
On Wednesday, 31 July 2013 at 11:13:13 UTC, John Colvin wrote:
> On Wednesday, 31 July 2013 at 08:44:30 UTC, Chris wrote:
>> On Tuesday, 30 July 2013 at 16:43:52 UTC, John Colvin wrote:
>>>
>>> Are you sure that ldc hasn't actually just optimised away the whole of parse()?
>>> Check to asm to be sure.
>>
>> I've checked the asm output, as you suggested. Turns out that the DMD version has 94,220 lines and calls parse() for the first time on line 3278 like so:
>>
>> call	  _D10xmlparser25parseFZv@PC32
>>
>> The LDC version has 14,347 line and calls parse() for the first time on line 155 like so:
>>
>> call	  _D10xmlparser25parseFZv
>>
>> However, I'm no expert on asm so it's anyone's guess but mine. But I'm willing to learn.
>
> I would suggest doing the following:
>
> dmd -c file.d -offiledmd.o
> ldc2 -c file.d -of=fileldc.o
> objdump -M intel -dr filedmd.o > filedmd.s
> objdump -M intel -dr fileldc.o > fileldc.s
>
> Then you'll have all the info you need and hopefully a lot less of what you don't need
>
> What you're looking for is the definition of parse, like
> 0000000000000050 <_D10xmlparser25parseFZv>:
>
> or similar and then seeing if there's anything much in the function body below.

Thanks. I've just tried it. In dmd it's there as:

00000000 <_D10xmlparser25parseFZv>:
[...]

In ldc too, looks only a bit different. There are:

000002b0 <_D10xmlparser25parseFZv>:
[...]
00000b60 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv>:
[...]
July 31, 2013
On Wednesday, 31 July 2013 at 11:33:01 UTC, Chris wrote:
> On Wednesday, 31 July 2013 at 11:13:13 UTC, John Colvin wrote:
>> On Wednesday, 31 July 2013 at 08:44:30 UTC, Chris wrote:
>>> On Tuesday, 30 July 2013 at 16:43:52 UTC, John Colvin wrote:
>>>>
>>>> Are you sure that ldc hasn't actually just optimised away the whole of parse()?
>>>> Check to asm to be sure.
>>>
>>> I've checked the asm output, as you suggested. Turns out that the DMD version has 94,220 lines and calls parse() for the first time on line 3278 like so:
>>>
>>> call	  _D10xmlparser25parseFZv@PC32
>>>
>>> The LDC version has 14,347 line and calls parse() for the first time on line 155 like so:
>>>
>>> call	  _D10xmlparser25parseFZv
>>>
>>> However, I'm no expert on asm so it's anyone's guess but mine. But I'm willing to learn.
>>
>> I would suggest doing the following:
>>
>> dmd -c file.d -offiledmd.o
>> ldc2 -c file.d -of=fileldc.o
>> objdump -M intel -dr filedmd.o > filedmd.s
>> objdump -M intel -dr fileldc.o > fileldc.s
>>
>> Then you'll have all the info you need and hopefully a lot less of what you don't need
>>
>> What you're looking for is the definition of parse, like
>> 0000000000000050 <_D10xmlparser25parseFZv>:
>>
>> or similar and then seeing if there's anything much in the function body below.
>
> Thanks. I've just tried it. In dmd it's there as:
>
> 00000000 <_D10xmlparser25parseFZv>:
> [...]
>
> In ldc too, looks only a bit different. There are:
>
> 000002b0 <_D10xmlparser25parseFZv>:
> [...]
> 00000b60 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv>:
> [...]

Could you post the full asm for those functions?
July 31, 2013
The dmd version

------- DMD --------------

Disassembly of section .text._D10xmlparser25parseFZv:

00000000 <_D10xmlparser25parseFZv>:
   0:	55                   	push   ebp
   1:	8b ec                	mov    ebp,esp
   3:	81 ec 94 00 00 00    	sub    esp,0x94
   9:	53                   	push   ebx
   a:	56                   	push   esi
   b:	57                   	push   edi
   c:	6a 0c                	push   0xc
   e:	e8 fc ff ff ff       	call   f <_D10xmlparser25parseFZv+0xf>
			f: R_386_PC32	_d_allocmemory
  13:	89 85 70 ff ff ff    	mov    DWORD PTR [ebp-0x90],eax
  19:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
  1f:	ff 35 54 00 00 00    	push   DWORD PTR ds:0x54
			21: R_386_32	.rodata
  25:	ff 35 50 00 00 00    	push   DWORD PTR ds:0x50
			27: R_386_32	.rodata
  2b:	b8 ff ff ff ff       	mov    eax,0xffffffff
  30:	e8 fc ff ff ff       	call   31 <_D10xmlparser25parseFZv+0x31>
			31: R_386_PC32	_D3std4file4readFxAakZAv
  35:	89 85 78 ff ff ff    	mov    DWORD PTR [ebp-0x88],eax
  3b:	89 95 7c ff ff ff    	mov    DWORD PTR [ebp-0x84],edx
  41:	52                   	push   edx
  42:	50                   	push   eax
  43:	e8 fc ff ff ff       	call   44 <_D10xmlparser25parseFZv+0x44>
			44: R_386_PC32	_D3std3xml5checkFAyaZv
  48:	8b 8d 70 ff ff ff    	mov    ecx,DWORD PTR [ebp-0x90]
  4e:	8d 51 04             	lea    edx,[ecx+0x4]
  51:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
  57:	c7 42 04 00 00 00 00 	mov    DWORD PTR [edx+0x4],0x0
  5e:	bb 00 00 00 00       	mov    ebx,0x0
			5f: R_386_32	_D3std3xml14DocumentParser7__ClassZ
  63:	53                   	push   ebx
  64:	89 95 6c ff ff ff    	mov    DWORD PTR [ebp-0x94],edx
  6a:	e8 fc ff ff ff       	call   6b <_D10xmlparser25parseFZv+0x6b>
			6b: R_386_PC32	_d_newclass
  6f:	ff b5 7c ff ff ff    	push   DWORD PTR [ebp-0x84]
  75:	ff b5 78 ff ff ff    	push   DWORD PTR [ebp-0x88]
  7b:	e8 fc ff ff ff       	call   7c <_D10xmlparser25parseFZv+0x7c>
			7c: R_386_PC32	_D3std3xml14DocumentParser6__ctorMFAyaZC3std3xml14DocumentParser
  80:	89 45 88             	mov    DWORD PTR [ebp-0x78],eax
  83:	8b b5 70 ff ff ff    	mov    esi,DWORD PTR [ebp-0x90]
  89:	b9 00 00 00 00       	mov    ecx,0x0
			8a: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv
  8e:	89 75 90             	mov    DWORD PTR [ebp-0x70],esi
  91:	89 4d 94             	mov    DWORD PTR [ebp-0x6c],ecx
  94:	8d 7d 90             	lea    edi,[ebp-0x70]
  97:	ba 60 00 00 00       	mov    edx,0x60
			98: R_386_32	.rodata
  9c:	52                   	push   edx
  9d:	6a 08                	push   0x8
  9f:	bb 00 00 00 00       	mov    ebx,0x0
			a0: R_386_32	_D11TypeInfo_Aa6__initZ
  a4:	53                   	push   ebx
  a5:	8d 70 48             	lea    esi,[eax+0x48]
  a8:	56                   	push   esi
  a9:	e8 fc ff ff ff       	call   aa <_D10xmlparser25parseFZv+0xaa>
			aa: R_386_PC32	_aaGetX
  ae:	89 45 98             	mov    DWORD PTR [ebp-0x68],eax
  b1:	83 c4 10             	add    esp,0x10
  b4:	85 c0                	test   eax,eax
  b6:	75 0a                	jne    c2 <_D10xmlparser25parseFZv+0xc2>
  b8:	b8 33 00 00 00       	mov    eax,0x33
  bd:	e8 fc ff ff ff       	call   be <_D10xmlparser25parseFZv+0xbe>
			be: R_386_PC32	_D10xmlparser27__arrayZ
  c2:	8b 57 04             	mov    edx,DWORD PTR [edi+0x4]
  c5:	8b 07                	mov    eax,DWORD PTR [edi]
  c7:	8b 4d 98             	mov    ecx,DWORD PTR [ebp-0x68]
  ca:	89 01                	mov    DWORD PTR [ecx],eax
  cc:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
  cf:	8b 45 88             	mov    eax,DWORD PTR [ebp-0x78]
  d2:	8b 18                	mov    ebx,DWORD PTR [eax]
  d4:	ff 53 30             	call   DWORD PTR [ebx+0x30]
  d7:	be 00 00 00 00       	mov    esi,0x0
			d8: R_386_32	_D3std3xml8Document7__ClassZ
  dc:	56                   	push   esi
  dd:	e8 fc ff ff ff       	call   de <_D10xmlparser25parseFZv+0xde>
			de: R_386_PC32	_d_newclass
  e2:	89 45 a0             	mov    DWORD PTR [ebp-0x60],eax
  e5:	ba 00 00 00 00       	mov    edx,0x0
			e6: R_386_32	_D3std3xml3Tag7__ClassZ
  ea:	52                   	push   edx
  eb:	e8 fc ff ff ff       	call   ec <_D10xmlparser25parseFZv+0xec>
			ec: R_386_PC32	_d_newclass
  f0:	83 c4 04             	add    esp,0x4
  f3:	ff 35 74 00 00 00    	push   DWORD PTR ds:0x74
			f5: R_386_32	.rodata
  f9:	ff 35 70 00 00 00    	push   DWORD PTR ds:0x70
			fb: R_386_32	.rodata
  ff:	6a 00                	push   0x0
 101:	e8 fc ff ff ff       	call   102 <_D10xmlparser25parseFZv+0x102>
			102: R_386_PC32	_D3std3xml3Tag6__ctorMFAyaE3std3xml7TagTypeZC3std3xml3Tag
 106:	50                   	push   eax
 107:	8b 45 a0             	mov    eax,DWORD PTR [ebp-0x60]
 10a:	e8 fc ff ff ff       	call   10b <_D10xmlparser25parseFZv+0x10b>
			10b: R_386_PC32	_D3std3xml8Document6__ctorMFxC3std3xml3TagZC3std3xml8Document
 10f:	89 45 9c             	mov    DWORD PTR [ebp-0x64],eax
 112:	8b 8d 6c ff ff ff    	mov    ecx,DWORD PTR [ebp-0x94]
 118:	8b 51 04             	mov    edx,DWORD PTR [ecx+0x4]
 11b:	8b 01                	mov    eax,DWORD PTR [ecx]
 11d:	89 45 a8             	mov    DWORD PTR [ebp-0x58],eax
 120:	89 55 ac             	mov    DWORD PTR [ebp-0x54],edx
 123:	c7 45 b0 00 00 00 00 	mov    DWORD PTR [ebp-0x50],0x0
 12a:	83 c4 0c             	add    esp,0xc
 12d:	8b 5d b0             	mov    ebx,DWORD PTR [ebp-0x50]
 130:	3b 5d a8             	cmp    ebx,DWORD PTR [ebp-0x58]
 133:	0f 83 99 01 00 00    	jae    2d2 <_D10xmlparser25parseFZv+0x2d2>
 139:	8b 75 b0             	mov    esi,DWORD PTR [ebp-0x50]
 13c:	3b 75 a8             	cmp    esi,DWORD PTR [ebp-0x58]
 13f:	72 0a                	jb     14b <_D10xmlparser25parseFZv+0x14b>
 141:	b8 47 00 00 00       	mov    eax,0x47
 146:	e8 fc ff ff ff       	call   147 <_D10xmlparser25parseFZv+0x147>
			147: R_386_PC32	_D10xmlparser27__arrayZ
 14b:	6b f6 38             	imul   esi,esi,0x38
 14e:	8b 55 ac             	mov    edx,DWORD PTR [ebp-0x54]
 151:	8b 45 a8             	mov    eax,DWORD PTR [ebp-0x58]
 154:	03 f2                	add    esi,edx
 156:	8d 7d c0             	lea    edi,[ebp-0x40]
 159:	b9 0e 00 00 00       	mov    ecx,0xe
 15e:	f3 a5                	rep movs DWORD PTR es:[edi],DWORD PTR ds:[esi]
 160:	b9 00 00 00 00       	mov    ecx,0x0
			161: R_386_32	_D3std3xml7Element7__ClassZ
 165:	51                   	push   ecx
 166:	e8 fc ff ff ff       	call   167 <_D10xmlparser25parseFZv+0x167>
			167: R_386_PC32	_d_newclass
 16b:	ff 35 64 00 00 00    	push   DWORD PTR ds:0x64
			16d: R_386_32	.rodata
 171:	ff 35 60 00 00 00    	push   DWORD PTR ds:0x60
			173: R_386_32	.rodata
 177:	6a 00                	push   0x0
 179:	6a 00                	push   0x0
 17b:	e8 fc ff ff ff       	call   17c <_D10xmlparser25parseFZv+0x17c>
			17c: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 180:	89 45 f8             	mov    DWORD PTR [ebp-0x8],eax
 183:	8d 5d c0             	lea    ebx,[ebp-0x40]
 186:	be 80 00 00 00       	mov    esi,0x80
			187: R_386_32	.rodata
 18b:	56                   	push   esi
 18c:	6a 08                	push   0x8
 18e:	ba 00 00 00 00       	mov    edx,0x0
			18f: R_386_32	_D11TypeInfo_Aa6__initZ
 193:	52                   	push   edx
 194:	8b 78 08             	mov    edi,DWORD PTR [eax+0x8]
 197:	83 c7 14             	add    edi,0x14
 19a:	57                   	push   edi
 19b:	e8 fc ff ff ff       	call   19c <_D10xmlparser25parseFZv+0x19c>
			19c: R_386_PC32	_aaGetX
 1a0:	89 45 fc             	mov    DWORD PTR [ebp-0x4],eax
 1a3:	83 c4 10             	add    esp,0x10
 1a6:	85 c0                	test   eax,eax
 1a8:	75 0a                	jne    1b4 <_D10xmlparser25parseFZv+0x1b4>
 1aa:	b8 4a 00 00 00       	mov    eax,0x4a
 1af:	e8 fc ff ff ff       	call   1b0 <_D10xmlparser25parseFZv+0x1b0>
			1b0: R_386_PC32	_D10xmlparser27__arrayZ
 1b4:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
 1b7:	8b 03                	mov    eax,DWORD PTR [ebx]
 1b9:	8b 4d fc             	mov    ecx,DWORD PTR [ebp-0x4]
 1bc:	89 01                	mov    DWORD PTR [ecx],eax
 1be:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
 1c1:	bb 00 00 00 00       	mov    ebx,0x0
			1c2: R_386_32	_D3std3xml7Element7__ClassZ
 1c6:	53                   	push   ebx
 1c7:	e8 fc ff ff ff       	call   1c8 <_D10xmlparser25parseFZv+0x1c8>
			1c8: R_386_PC32	_d_newclass
 1cc:	83 c4 04             	add    esp,0x4
 1cf:	ff 35 94 00 00 00    	push   DWORD PTR ds:0x94
			1d1: R_386_32	.rodata
 1d5:	ff 35 90 00 00 00    	push   DWORD PTR ds:0x90
			1d7: R_386_32	.rodata
 1db:	ff 75 cc             	push   DWORD PTR [ebp-0x34]
 1de:	ff 75 c8             	push   DWORD PTR [ebp-0x38]
 1e1:	e8 fc ff ff ff       	call   1e2 <_D10xmlparser25parseFZv+0x1e2>
			1e2: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 1e6:	50                   	push   eax
 1e7:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
 1ea:	8b 30                	mov    esi,DWORD PTR [eax]
 1ec:	ff 56 2c             	call   DWORD PTR [esi+0x2c]
 1ef:	53                   	push   ebx
 1f0:	e8 fc ff ff ff       	call   1f1 <_D10xmlparser25parseFZv+0x1f1>
			1f1: R_386_PC32	_d_newclass
 1f5:	83 c4 04             	add    esp,0x4
 1f8:	ff 35 a4 00 00 00    	push   DWORD PTR ds:0xa4
			1fa: R_386_32	.rodata
 1fe:	ff 35 a0 00 00 00    	push   DWORD PTR ds:0xa0
			200: R_386_32	.rodata
 204:	ff 75 d4             	push   DWORD PTR [ebp-0x2c]
 207:	ff 75 d0             	push   DWORD PTR [ebp-0x30]
 20a:	e8 fc ff ff ff       	call   20b <_D10xmlparser25parseFZv+0x20b>
			20b: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 20f:	50                   	push   eax
 210:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
 213:	8b 08                	mov    ecx,DWORD PTR [eax]
 215:	ff 51 2c             	call   DWORD PTR [ecx+0x2c]
 218:	53                   	push   ebx
 219:	e8 fc ff ff ff       	call   21a <_D10xmlparser25parseFZv+0x21a>
			21a: R_386_PC32	_d_newclass
 21e:	83 c4 04             	add    esp,0x4
 221:	ff 35 b4 00 00 00    	push   DWORD PTR ds:0xb4
			223: R_386_32	.rodata
 227:	ff 35 b0 00 00 00    	push   DWORD PTR ds:0xb0
			229: R_386_32	.rodata
 22d:	ff 75 dc             	push   DWORD PTR [ebp-0x24]
 230:	ff 75 d8             	push   DWORD PTR [ebp-0x28]
 233:	e8 fc ff ff ff       	call   234 <_D10xmlparser25parseFZv+0x234>
			234: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 238:	50                   	push   eax
 239:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
 23c:	8b 10                	mov    edx,DWORD PTR [eax]
 23e:	ff 52 2c             	call   DWORD PTR [edx+0x2c]
 241:	53                   	push   ebx
 242:	e8 fc ff ff ff       	call   243 <_D10xmlparser25parseFZv+0x243>
			243: R_386_PC32	_d_newclass
 247:	83 c4 04             	add    esp,0x4
 24a:	ff 35 c4 00 00 00    	push   DWORD PTR ds:0xc4
			24c: R_386_32	.rodata
 250:	ff 35 c0 00 00 00    	push   DWORD PTR ds:0xc0
			252: R_386_32	.rodata
 256:	ff 75 e4             	push   DWORD PTR [ebp-0x1c]
 259:	ff 75 e0             	push   DWORD PTR [ebp-0x20]
 25c:	e8 fc ff ff ff       	call   25d <_D10xmlparser25parseFZv+0x25d>
			25d: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 261:	50                   	push   eax
 262:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
 265:	8b 30                	mov    esi,DWORD PTR [eax]
 267:	ff 56 2c             	call   DWORD PTR [esi+0x2c]
 26a:	53                   	push   ebx
 26b:	e8 fc ff ff ff       	call   26c <_D10xmlparser25parseFZv+0x26c>
			26c: R_386_PC32	_d_newclass
 270:	83 c4 04             	add    esp,0x4
 273:	ff 35 dc 00 00 00    	push   DWORD PTR ds:0xdc
			275: R_386_32	.rodata
 279:	ff 35 d8 00 00 00    	push   DWORD PTR ds:0xd8
			27b: R_386_32	.rodata
 27f:	ff 75 ec             	push   DWORD PTR [ebp-0x14]
 282:	ff 75 e8             	push   DWORD PTR [ebp-0x18]
 285:	e8 fc ff ff ff       	call   286 <_D10xmlparser25parseFZv+0x286>
			286: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 28a:	50                   	push   eax
 28b:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
 28e:	8b 08                	mov    ecx,DWORD PTR [eax]
 290:	ff 51 2c             	call   DWORD PTR [ecx+0x2c]
 293:	53                   	push   ebx
 294:	e8 fc ff ff ff       	call   295 <_D10xmlparser25parseFZv+0x295>
			295: R_386_PC32	_d_newclass
 299:	83 c4 04             	add    esp,0x4
 29c:	ff 35 f4 00 00 00    	push   DWORD PTR ds:0xf4
			29e: R_386_32	.rodata
 2a2:	ff 35 f0 00 00 00    	push   DWORD PTR ds:0xf0
			2a4: R_386_32	.rodata
 2a8:	ff 75 f4             	push   DWORD PTR [ebp-0xc]
 2ab:	ff 75 f0             	push   DWORD PTR [ebp-0x10]
 2ae:	e8 fc ff ff ff       	call   2af <_D10xmlparser25parseFZv+0x2af>
			2af: R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
 2b3:	50                   	push   eax
 2b4:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
 2b7:	8b 10                	mov    edx,DWORD PTR [eax]
 2b9:	ff 52 2c             	call   DWORD PTR [edx+0x2c]
 2bc:	ff 75 f8             	push   DWORD PTR [ebp-0x8]
 2bf:	8b 45 9c             	mov    eax,DWORD PTR [ebp-0x64]
 2c2:	8b 18                	mov    ebx,DWORD PTR [eax]
 2c4:	ff 53 2c             	call   DWORD PTR [ebx+0x2c]
 2c7:	83 c4 04             	add    esp,0x4
 2ca:	ff 45 b0             	inc    DWORD PTR [ebp-0x50]
 2cd:	e9 5b fe ff ff       	jmp    12d <_D10xmlparser25parseFZv+0x12d>
 2d2:	5f                   	pop    edi
 2d3:	5e                   	pop    esi
 2d4:	5b                   	pop    ebx
 2d5:	c9                   	leave
 2d6:	c3                   	ret
 2d7:	90                   	nop

Disassembly of section .text._D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv:

00000000 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv>:
   0:	55                   	push   ebp
   1:	8b ec                	mov    ebp,esp
   3:	81 ec b8 00 00 00    	sub    esp,0xb8
   9:	53                   	push   ebx
   a:	56                   	push   esi
   b:	57                   	push   edi
   c:	89 45 fc             	mov    DWORD PTR [ebp-0x4],eax
   f:	6a 3c                	push   0x3c
  11:	e8 fc ff ff ff       	call   12 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x12>
			12: R_386_PC32	_d_allocmemory
  16:	89 85 50 ff ff ff    	mov    DWORD PTR [ebp-0xb0],eax
  1c:	8b 4d fc             	mov    ecx,DWORD PTR [ebp-0x4]
  1f:	89 08                	mov    DWORD PTR [eax],ecx
  21:	b9 0e 00 00 00       	mov    ecx,0xe
  26:	31 c0                	xor    eax,eax
  28:	8b 95 50 ff ff ff    	mov    edx,DWORD PTR [ebp-0xb0]
  2e:	8d 7a 04             	lea    edi,[edx+0x4]
  31:	89 bd 48 ff ff ff    	mov    DWORD PTR [ebp-0xb8],edi
  37:	f3 ab                	rep stos DWORD PTR es:[edi],eax
  39:	bb 80 00 00 00       	mov    ebx,0x80
			3a: R_386_32	.rodata
  3e:	53                   	push   ebx
  3f:	6a 08                	push   0x8
  41:	b9 00 00 00 00       	mov    ecx,0x0
			42: R_386_32	_D11TypeInfo_Aa6__initZ
  46:	51                   	push   ecx
  47:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
  4a:	8b 30                	mov    esi,DWORD PTR [eax]
  4c:	ff 56 14             	call   DWORD PTR [esi+0x14]
  4f:	ff 70 14             	push   DWORD PTR [eax+0x14]
  52:	e8 fc ff ff ff       	call   53 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x53>
			53: R_386_PC32	_aaGetRvalueX
  57:	89 45 98             	mov    DWORD PTR [ebp-0x68],eax
  5a:	83 c4 10             	add    esp,0x10
  5d:	85 c0                	test   eax,eax
  5f:	75 0a                	jne    6b <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x6b>
  61:	b8 36 00 00 00       	mov    eax,0x36
  66:	e8 fc ff ff ff       	call   67 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x67>
			67: R_386_PC32	_D10xmlparser27__arrayZ
  6b:	8b 55 98             	mov    edx,DWORD PTR [ebp-0x68]
  6e:	8b 02                	mov    eax,DWORD PTR [edx]
  70:	8b 52 04             	mov    edx,DWORD PTR [edx+0x4]
  73:	8b 8d 48 ff ff ff    	mov    ecx,DWORD PTR [ebp-0xb8]
  79:	89 01                	mov    DWORD PTR [ecx],eax
  7b:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
  7e:	8b 9d 50 ff ff ff    	mov    ebx,DWORD PTR [ebp-0xb0]
  84:	ba 00 00 00 00       	mov    edx,0x0
			85: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv9__lambda2MFxC3std3xml7ElementZv
  89:	89 5d a0             	mov    DWORD PTR [ebp-0x60],ebx
  8c:	89 55 a4             	mov    DWORD PTR [ebp-0x5c],edx
  8f:	8d 75 a0             	lea    esi,[ebp-0x60]
  92:	b8 90 00 00 00       	mov    eax,0x90
			93: R_386_32	.rodata
  97:	50                   	push   eax
  98:	6a 08                	push   0x8
  9a:	bf 00 00 00 00       	mov    edi,0x0
			9b: R_386_32	_D11TypeInfo_Aa6__initZ
  9f:	57                   	push   edi
  a0:	8b 5d 08             	mov    ebx,DWORD PTR [ebp+0x8]
  a3:	8d 53 4c             	lea    edx,[ebx+0x4c]
  a6:	52                   	push   edx
  a7:	89 95 4c ff ff ff    	mov    DWORD PTR [ebp-0xb4],edx
  ad:	e8 fc ff ff ff       	call   ae <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0xae>
			ae: R_386_PC32	_aaGetX
  b2:	89 45 a8             	mov    DWORD PTR [ebp-0x58],eax
  b5:	83 c4 10             	add    esp,0x10
  b8:	85 c0                	test   eax,eax
  ba:	75 0a                	jne    c6 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0xc6>
  bc:	b8 38 00 00 00       	mov    eax,0x38
  c1:	e8 fc ff ff ff       	call   c2 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0xc2>
			c2: R_386_PC32	_D10xmlparser27__arrayZ
  c6:	8b 56 04             	mov    edx,DWORD PTR [esi+0x4]
  c9:	8b 06                	mov    eax,DWORD PTR [esi]
  cb:	8b 4d a8             	mov    ecx,DWORD PTR [ebp-0x58]
  ce:	89 01                	mov    DWORD PTR [ecx],eax
  d0:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
  d3:	8b b5 50 ff ff ff    	mov    esi,DWORD PTR [ebp-0xb0]
  d9:	ba 00 00 00 00       	mov    edx,0x0
			da: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv9__lambda3MFxC3std3xml7ElementZv
  de:	89 75 b0             	mov    DWORD PTR [ebp-0x50],esi
  e1:	89 55 b4             	mov    DWORD PTR [ebp-0x4c],edx
  e4:	8d 45 b0             	lea    eax,[ebp-0x50]
  e7:	89 45 ac             	mov    DWORD PTR [ebp-0x54],eax
  ea:	b9 a0 00 00 00       	mov    ecx,0xa0
			eb: R_386_32	.rodata
  ef:	51                   	push   ecx
  f0:	6a 08                	push   0x8
  f2:	57                   	push   edi
  f3:	8b b5 4c ff ff ff    	mov    esi,DWORD PTR [ebp-0xb4]
  f9:	56                   	push   esi
  fa:	e8 fc ff ff ff       	call   fb <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0xfb>
			fb: R_386_PC32	_aaGetX
  ff:	89 45 b8             	mov    DWORD PTR [ebp-0x48],eax
 102:	83 c4 10             	add    esp,0x10
 105:	85 c0                	test   eax,eax
 107:	75 0a                	jne    113 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x113>
 109:	b8 39 00 00 00       	mov    eax,0x39
 10e:	e8 fc ff ff ff       	call   10f <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x10f>
			10f: R_386_PC32	_D10xmlparser27__arrayZ
 113:	8b 55 ac             	mov    edx,DWORD PTR [ebp-0x54]
 116:	8b 02                	mov    eax,DWORD PTR [edx]
 118:	8b 52 04             	mov    edx,DWORD PTR [edx+0x4]
 11b:	8b 4d b8             	mov    ecx,DWORD PTR [ebp-0x48]
 11e:	89 01                	mov    DWORD PTR [ecx],eax
 120:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
 123:	8b 85 50 ff ff ff    	mov    eax,DWORD PTR [ebp-0xb0]
 129:	ba 00 00 00 00       	mov    edx,0x0
			12a: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv9__lambda4MFxC3std3xml7ElementZv
 12e:	89 45 c0             	mov    DWORD PTR [ebp-0x40],eax
 131:	89 55 c4             	mov    DWORD PTR [ebp-0x3c],edx
 134:	8d 4d c0             	lea    ecx,[ebp-0x40]
 137:	89 4d bc             	mov    DWORD PTR [ebp-0x44],ecx
 13a:	b8 b0 00 00 00       	mov    eax,0xb0
			13b: R_386_32	.rodata
 13f:	50                   	push   eax
 140:	6a 08                	push   0x8
 142:	57                   	push   edi
 143:	56                   	push   esi
 144:	e8 fc ff ff ff       	call   145 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x145>
			145: R_386_PC32	_aaGetX
 149:	89 45 c8             	mov    DWORD PTR [ebp-0x38],eax
 14c:	83 c4 10             	add    esp,0x10
 14f:	85 c0                	test   eax,eax
 151:	75 0a                	jne    15d <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x15d>
 153:	b8 3a 00 00 00       	mov    eax,0x3a
 158:	e8 fc ff ff ff       	call   159 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x159>
			159: R_386_PC32	_D10xmlparser27__arrayZ
 15d:	8b 55 bc             	mov    edx,DWORD PTR [ebp-0x44]
 160:	8b 02                	mov    eax,DWORD PTR [edx]
 162:	8b 52 04             	mov    edx,DWORD PTR [edx+0x4]
 165:	8b 4d c8             	mov    ecx,DWORD PTR [ebp-0x38]
 168:	89 01                	mov    DWORD PTR [ecx],eax
 16a:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
 16d:	8b 85 50 ff ff ff    	mov    eax,DWORD PTR [ebp-0xb0]
 173:	ba 00 00 00 00       	mov    edx,0x0
			174: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv9__lambda5MFxC3std3xml7ElementZv
 178:	89 45 d0             	mov    DWORD PTR [ebp-0x30],eax
 17b:	89 55 d4             	mov    DWORD PTR [ebp-0x2c],edx
 17e:	8d 4d d0             	lea    ecx,[ebp-0x30]
 181:	89 4d cc             	mov    DWORD PTR [ebp-0x34],ecx
 184:	b8 c0 00 00 00       	mov    eax,0xc0
			185: R_386_32	.rodata
 189:	50                   	push   eax
 18a:	6a 08                	push   0x8
 18c:	57                   	push   edi
 18d:	56                   	push   esi
 18e:	e8 fc ff ff ff       	call   18f <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x18f>
			18f: R_386_PC32	_aaGetX
 193:	89 45 d8             	mov    DWORD PTR [ebp-0x28],eax
 196:	83 c4 10             	add    esp,0x10
 199:	85 c0                	test   eax,eax
 19b:	75 0a                	jne    1a7 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1a7>
 19d:	b8 3b 00 00 00       	mov    eax,0x3b
 1a2:	e8 fc ff ff ff       	call   1a3 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1a3>
			1a3: R_386_PC32	_D10xmlparser27__arrayZ
 1a7:	8b 55 cc             	mov    edx,DWORD PTR [ebp-0x34]
 1aa:	8b 02                	mov    eax,DWORD PTR [edx]
 1ac:	8b 52 04             	mov    edx,DWORD PTR [edx+0x4]
 1af:	8b 4d d8             	mov    ecx,DWORD PTR [ebp-0x28]
 1b2:	89 01                	mov    DWORD PTR [ecx],eax
 1b4:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
 1b7:	8b 85 50 ff ff ff    	mov    eax,DWORD PTR [ebp-0xb0]
 1bd:	ba 00 00 00 00       	mov    edx,0x0
			1be: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv9__lambda6MFxC3std3xml7ElementZv
 1c2:	89 45 e0             	mov    DWORD PTR [ebp-0x20],eax
 1c5:	89 55 e4             	mov    DWORD PTR [ebp-0x1c],edx
 1c8:	8d 4d e0             	lea    ecx,[ebp-0x20]
 1cb:	89 4d dc             	mov    DWORD PTR [ebp-0x24],ecx
 1ce:	b8 d8 00 00 00       	mov    eax,0xd8
			1cf: R_386_32	.rodata
 1d3:	50                   	push   eax
 1d4:	6a 08                	push   0x8
 1d6:	57                   	push   edi
 1d7:	56                   	push   esi
 1d8:	e8 fc ff ff ff       	call   1d9 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1d9>
			1d9: R_386_PC32	_aaGetX
 1dd:	89 45 e8             	mov    DWORD PTR [ebp-0x18],eax
 1e0:	83 c4 10             	add    esp,0x10
 1e3:	85 c0                	test   eax,eax
 1e5:	75 0a                	jne    1f1 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1f1>
 1e7:	b8 3c 00 00 00       	mov    eax,0x3c
 1ec:	e8 fc ff ff ff       	call   1ed <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1ed>
			1ed: R_386_PC32	_D10xmlparser27__arrayZ
 1f1:	8b 55 dc             	mov    edx,DWORD PTR [ebp-0x24]
 1f4:	8b 02                	mov    eax,DWORD PTR [edx]
 1f6:	8b 52 04             	mov    edx,DWORD PTR [edx+0x4]
 1f9:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
 1fc:	89 01                	mov    DWORD PTR [ecx],eax
 1fe:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
 201:	8b 85 50 ff ff ff    	mov    eax,DWORD PTR [ebp-0xb0]
 207:	ba 00 00 00 00       	mov    edx,0x0
			208: R_386_32	_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv9__lambda7MFxC3std3xml7ElementZv
 20c:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
 20f:	89 55 f4             	mov    DWORD PTR [ebp-0xc],edx
 212:	8d 4d f0             	lea    ecx,[ebp-0x10]
 215:	89 4d ec             	mov    DWORD PTR [ebp-0x14],ecx
 218:	b8 f0 00 00 00       	mov    eax,0xf0
			219: R_386_32	.rodata
 21d:	50                   	push   eax
 21e:	6a 08                	push   0x8
 220:	57                   	push   edi
 221:	56                   	push   esi
 222:	e8 fc ff ff ff       	call   223 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x223>
			223: R_386_PC32	_aaGetX
 227:	89 45 f8             	mov    DWORD PTR [ebp-0x8],eax
 22a:	83 c4 10             	add    esp,0x10
 22d:	85 c0                	test   eax,eax
 22f:	75 0a                	jne    23b <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x23b>
 231:	b8 3d 00 00 00       	mov    eax,0x3d
 236:	e8 fc ff ff ff       	call   237 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x237>
			237: R_386_PC32	_D10xmlparser27__arrayZ
 23b:	8b 75 ec             	mov    esi,DWORD PTR [ebp-0x14]
 23e:	8b 56 04             	mov    edx,DWORD PTR [esi+0x4]
 241:	8b 06                	mov    eax,DWORD PTR [esi]
 243:	8b 4d f8             	mov    ecx,DWORD PTR [ebp-0x8]
 246:	89 01                	mov    DWORD PTR [ecx],eax
 248:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
 24b:	89 d8                	mov    eax,ebx
 24d:	8b 18                	mov    ebx,DWORD PTR [eax]
 24f:	ff 53 30             	call   DWORD PTR [ebx+0x30]
 252:	8b b5 48 ff ff ff    	mov    esi,DWORD PTR [ebp-0xb8]
 258:	b9 0e 00 00 00       	mov    ecx,0xe
 25d:	83 c6 34             	add    esi,0x34
 260:	ff 36                	push   DWORD PTR [esi]
 262:	83 ee 04             	sub    esi,0x4
 265:	e2 f9                	loop   260 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x260>
 267:	8b 55 fc             	mov    edx,DWORD PTR [ebp-0x4]
 26a:	8d 4a 04             	lea    ecx,[edx+0x4]
 26d:	51                   	push   ecx
 26e:	b8 00 00 00 00       	mov    eax,0x0
			26f: R_386_32	_D28TypeInfo_AS10xmlparser24Book6__initZ
 273:	50                   	push   eax
 274:	e8 fc ff ff ff       	call   275 <_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x275>
			275: R_386_PC32	_d_arrayappendcT
 279:	83 c4 44             	add    esp,0x44
 27c:	5f                   	pop    edi
 27d:	5e                   	pop    esi
 27e:	5b                   	pop    ebx
 27f:	c9                   	leave
 280:	c2 04 00             	ret    0x4
 283:	90                   	nop
 284:	90                   	nop
 285:	90                   	nop
 286:	90                   	nop
 287:	90                   	nop
July 31, 2013
The ldc version

------------ LDC -----------------

000002b0 <_D10xmlparser25parseFZv>:
      2b0:	57                   	push   edi
      2b1:	56                   	push   esi
      2b2:	81 ec f4 00 00 00    	sub    esp,0xf4
      2b8:	8d 05 00 00 00 00    	lea    eax,ds:0x0
			2ba: R_386_32	_D3std3xml8Document7__ClassZ
      2be:	89 e1                	mov    ecx,esp
      2c0:	c7 01 08 00 00 00    	mov    DWORD PTR [ecx],0x8
      2c6:	89 44 24 74          	mov    DWORD PTR [esp+0x74],eax
      2ca:	e8 fc ff ff ff       	call   2cb
<_D10xmlparser25parseFZv+0x1b>
			2cb: R_386_PC32	_d_allocmemory
      2cf:	89 e1                	mov    ecx,esp
      2d1:	c7 41 04 4e 00 00 00 	mov    DWORD PTR [ecx+0x4],0x4e
			2d4: R_386_32	.rodata
      2d8:	c7 01 09 00 00 00    	mov    DWORD PTR [ecx],0x9
      2de:	b9 ff ff ff ff       	mov    ecx,0xffffffff
      2e3:	89 44 24 70          	mov    DWORD PTR [esp+0x70],eax
      2e7:	89 c8                	mov    eax,ecx
      2e9:	e8 fc ff ff ff       	call   2ea
<_D10xmlparser25parseFZv+0x3a>
			2ea: R_386_PC32	_D3std4file4readFxAakZAv
      2ee:	83 ec 08             	sub    esp,0x8
      2f1:	89 84 24 e8 00 00 00 	mov    DWORD PTR [esp+0xe8],eax
      2f8:	89 94 24 ec 00 00 00 	mov    DWORD PTR [esp+0xec],edx
      2ff:	8b 84 24 e8 00 00 00 	mov    eax,DWORD PTR [esp+0xe8]
      306:	89 e1                	mov    ecx,esp
      308:	89 51 04             	mov    DWORD PTR [ecx+0x4],edx
      30b:	89 01                	mov    DWORD PTR [ecx],eax
      30d:	e8 fc ff ff ff       	call   30e
<_D10xmlparser25parseFZv+0x5e>
			30e: R_386_PC32	_D3std3xml5checkFAyaZv
      312:	83 ec 08             	sub    esp,0x8
      315:	8b 44 24 70          	mov    eax,DWORD PTR [esp+0x70]
      319:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      320:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
      326:	89 e1                	mov    ecx,esp
      328:	c7 01 00 00 00 00    	mov    DWORD PTR [ecx],0x0
			32a: R_386_32	_D3std3xml14DocumentParser7__ClassZ
      32e:	e8 fc ff ff ff       	call   32f
<_D10xmlparser25parseFZv+0x7f>
			32f: R_386_PC32	_d_newclass
      333:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			335: R_386_32	_D3std3xml14DocumentParser6__vtblZ
      339:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      340:	89 c1                	mov    ecx,eax
      342:	83 c1 08             	add    ecx,0x8
      345:	89 e2                	mov    edx,esp
      347:	89 0a                	mov    DWORD PTR [edx],ecx
      349:	c7 42 08 50 00 00 00 	mov    DWORD PTR [edx+0x8],0x50
      350:	c7 42 04 08 00 00 00 	mov    DWORD PTR [edx+0x4],0x8
			353: R_386_32	_D3std3xml14DocumentParser6__initZ
      357:	89 44 24 6c          	mov    DWORD PTR [esp+0x6c],eax
      35b:	e8 fc ff ff ff       	call   35c
<_D10xmlparser25parseFZv+0xac>
			35c: R_386_PC32	memcpy
      360:	8b 84 24 e8 00 00 00 	mov    eax,DWORD PTR [esp+0xe8]
      367:	8b 8c 24 ec 00 00 00 	mov    ecx,DWORD PTR [esp+0xec]
      36e:	89 e2                	mov    edx,esp
      370:	89 4a 04             	mov    DWORD PTR [edx+0x4],ecx
      373:	89 02                	mov    DWORD PTR [edx],eax
      375:	8b 44 24 6c          	mov    eax,DWORD PTR [esp+0x6c]
      379:	e8 fc ff ff ff       	call   37a
<_D10xmlparser25parseFZv+0xca>
			37a:
R_386_PC32	_D3std3xml14DocumentParser6__ctorMFAyaZC3std3xml14DocumentParser
      37e:	83 ec 08             	sub    esp,0x8
      381:	89 84 24 e4 00 00 00 	mov    DWORD PTR [esp+0xe4],eax
      388:	83 c0 48             	add    eax,0x48
      38b:	c7 84 24 dc 00 00 00 	mov    DWORD PTR [esp+0xdc],0x58
      392:	58 00 00 00
			392: R_386_32	.rodata
      396:	c7 84 24 d8 00 00 00 	mov    DWORD PTR [esp+0xd8],0x4
      39d:	04 00 00 00
      3a1:	8d 8c 24 d8 00 00 00 	lea    ecx,[esp+0xd8]
      3a8:	89 e2                	mov    edx,esp
      3aa:	89 4a 0c             	mov    DWORD PTR [edx+0xc],ecx
      3ad:	89 02                	mov    DWORD PTR [edx],eax
      3af:	c7 42 08 08 00 00 00 	mov    DWORD PTR [edx+0x8],0x8
      3b6:	c7 42 04 00 00 00 00 	mov    DWORD PTR [edx+0x4],0x0
			3b9: R_386_32	_D12TypeInfo_Aya6__initZ
      3bd:	e8 fc ff ff ff       	call   3be
<_D10xmlparser25parseFZv+0x10e>
			3be: R_386_PC32	_aaGetX
      3c2:	8b 4c 24 70          	mov    ecx,DWORD PTR [esp+0x70]
      3c6:	89 08                	mov    DWORD PTR [eax],ecx
      3c8:	c7 40 04 60 0b 00 00 	mov    DWORD PTR [eax+0x4],0xb60
			3cb: R_386_32	.text
      3cf:	8b 84 24 e4 00 00 00 	mov    eax,DWORD PTR [esp+0xe4]
      3d6:	89 c2                	mov    edx,eax
      3d8:	8b 00                	mov    eax,DWORD PTR [eax]
      3da:	8b 40 34             	mov    eax,DWORD PTR [eax+0x34]
      3dd:	89 44 24 68          	mov    DWORD PTR [esp+0x68],eax
      3e1:	89 d0                	mov    eax,edx
      3e3:	8b 54 24 68          	mov    edx,DWORD PTR [esp+0x68]
      3e7:	89 4c 24 64          	mov    DWORD PTR [esp+0x64],ecx
      3eb:	ff d2                	call   edx
      3ed:	8b 44 24 74          	mov    eax,DWORD PTR [esp+0x74]
      3f1:	89 04 24             	mov    DWORD PTR [esp],eax
      3f4:	e8 fc ff ff ff       	call   3f5
<_D10xmlparser25parseFZv+0x145>
			3f5: R_386_PC32	_d_newclass
      3f9:	b9 44 00 00 00       	mov    ecx,0x44
      3fe:	8d 15 00 00 00 00    	lea    edx,ds:0x0
			400: R_386_32	_D3std3xml8Document6__initZ
      404:	8d 35 00 00 00 00    	lea    esi,ds:0x0
			406: R_386_32	_D3std3xml8Document6__vtblZ
      40a:	89 c7                	mov    edi,eax
      40c:	89 30                	mov    DWORD PTR [eax],esi
      40e:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      415:	89 f8                	mov    eax,edi
      417:	05 08 00 00 00       	add    eax,0x8
      41c:	81 c2 08 00 00 00    	add    edx,0x8
      422:	89 04 24             	mov    DWORD PTR [esp],eax
      425:	89 54 24 04          	mov    DWORD PTR [esp+0x4],edx
      429:	c7 44 24 08 44 00 00 	mov    DWORD PTR [esp+0x8],0x44
      430:	00
      431:	89 7c 24 60          	mov    DWORD PTR [esp+0x60],edi
      435:	89 4c 24 5c          	mov    DWORD PTR [esp+0x5c],ecx
      439:	e8 fc ff ff ff       	call   43a
<_D10xmlparser25parseFZv+0x18a>
			43a: R_386_PC32	memcpy
      43e:	8d 05 00 00 00 00    	lea    eax,ds:0x0
			440: R_386_32	_D3std3xml3Tag7__ClassZ
      444:	89 04 24             	mov    DWORD PTR [esp],eax
      447:	e8 fc ff ff ff       	call   448
<_D10xmlparser25parseFZv+0x198>
			448: R_386_PC32	_d_newclass
      44c:	b9 18 00 00 00       	mov    ecx,0x18
      451:	8d 15 00 00 00 00    	lea    edx,ds:0x0
			453: R_386_32	_D3std3xml3Tag6__initZ
      457:	8d 35 00 00 00 00    	lea    esi,ds:0x0
			459: R_386_32	_D3std3xml3Tag6__vtblZ
      45d:	89 c7                	mov    edi,eax
      45f:	89 30                	mov    DWORD PTR [eax],esi
      461:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      468:	89 f8                	mov    eax,edi
      46a:	05 08 00 00 00       	add    eax,0x8
      46f:	81 c2 08 00 00 00    	add    edx,0x8
      475:	89 04 24             	mov    DWORD PTR [esp],eax
      478:	89 54 24 04          	mov    DWORD PTR [esp+0x4],edx
      47c:	c7 44 24 08 18 00 00 	mov    DWORD PTR [esp+0x8],0x18
      483:	00
      484:	89 7c 24 58          	mov    DWORD PTR [esp+0x58],edi
      488:	89 4c 24 54          	mov    DWORD PTR [esp+0x54],ecx
      48c:	e8 fc ff ff ff       	call   48d
<_D10xmlparser25parseFZv+0x1dd>
			48d: R_386_PC32	memcpy
      491:	89 e0                	mov    eax,esp
      493:	c7 40 08 5d 00 00 00 	mov    DWORD PTR [eax+0x8],0x5d
			496: R_386_32	.rodata
      49a:	c7 40 04 07 00 00 00 	mov    DWORD PTR [eax+0x4],0x7
      4a1:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
      4a7:	8b 44 24 58          	mov    eax,DWORD PTR [esp+0x58]
      4ab:	e8 fc ff ff ff       	call   4ac
<_D10xmlparser25parseFZv+0x1fc>
			4ac:
R_386_PC32	_D3std3xml3Tag6__ctorMFAyaE3std3xml7TagTypeZC3std3xml3Tag
      4b0:	83 ec 0c             	sub    esp,0xc
      4b3:	89 e1                	mov    ecx,esp
      4b5:	89 01                	mov    DWORD PTR [ecx],eax
      4b7:	8b 44 24 60          	mov    eax,DWORD PTR [esp+0x60]
      4bb:	e8 fc ff ff ff       	call   4bc
<_D10xmlparser25parseFZv+0x20c>
			4bc:
R_386_PC32	_D3std3xml8Document6__ctorMFxC3std3xml3TagZC3std3xml8Document
      4c0:	83 ec 04             	sub    esp,0x4
      4c3:	89 84 24 d4 00 00 00 	mov    DWORD PTR [esp+0xd4],eax
      4ca:	8b 44 24 64          	mov    eax,DWORD PTR [esp+0x64]
      4ce:	8b 48 04             	mov    ecx,DWORD PTR [eax+0x4]
      4d1:	8b 10                	mov    edx,DWORD PTR [eax]
      4d3:	89 94 24 c8 00 00 00 	mov    DWORD PTR [esp+0xc8],edx
      4da:	89 8c 24 cc 00 00 00 	mov    DWORD PTR [esp+0xcc],ecx
      4e1:	c7 84 24 c4 00 00 00 	mov    DWORD PTR [esp+0xc4],0x0
      4e8:	00 00 00 00
      4ec:	8b 84 24 c8 00 00 00 	mov    eax,DWORD PTR [esp+0xc8]
      4f3:	39 84 24 c4 00 00 00 	cmp    DWORD PTR [esp+0xc4],eax
      4fa:	0f 83 52 06 00 00    	jae    b52
<_D10xmlparser25parseFZv+0x8a2>
      500:	8b 84 24 c8 00 00 00 	mov    eax,DWORD PTR [esp+0xc8]
      507:	39 84 24 c4 00 00 00 	cmp    DWORD PTR [esp+0xc4],eax
      50e:	72 1f                	jb     52f
<_D10xmlparser25parseFZv+0x27f>
      510:	8d 05 00 00 00 00    	lea    eax,ds:0x0
			512: R_386_32	_D10xmlparser28__ModuleZ
      516:	b9 47 00 00 00       	mov    ecx,0x47
      51b:	89 04 24             	mov    DWORD PTR [esp],eax
      51e:	c7 44 24 04 47 00 00 	mov    DWORD PTR [esp+0x4],0x47
      525:	00
      526:	89 4c 24 50          	mov    DWORD PTR [esp+0x50],ecx
      52a:	e8 fc ff ff ff       	call   52b
<_D10xmlparser25parseFZv+0x27b>
			52b: R_386_PC32	_d_array_bounds
      52f:	8b 84 24 cc 00 00 00 	mov    eax,DWORD PTR [esp+0xcc]
      536:	8b 8c 24 c4 00 00 00 	mov    ecx,DWORD PTR [esp+0xc4]
      53d:	6b c9 38             	imul   ecx,ecx,0x38
      540:	f2 0f 10 44 08 30    	movsd  xmm0,QWORD PTR
[eax+ecx*1+0x30]
      546:	f2 0f 11 84 24 b8 00 	movsd  QWORD PTR [esp+0xb8],xmm0
      54d:	00 00
      54f:	f2 0f 10 44 08 28    	movsd  xmm0,QWORD PTR
[eax+ecx*1+0x28]
      555:	f2 0f 11 84 24 b0 00 	movsd  QWORD PTR [esp+0xb0],xmm0
      55c:	00 00
      55e:	f2 0f 10 44 08 20    	movsd  xmm0,QWORD PTR
[eax+ecx*1+0x20]
      564:	f2 0f 11 84 24 a8 00 	movsd  QWORD PTR [esp+0xa8],xmm0
      56b:	00 00
      56d:	f2 0f 10 44 08 18    	movsd  xmm0,QWORD PTR
[eax+ecx*1+0x18]
      573:	f2 0f 11 84 24 a0 00 	movsd  QWORD PTR [esp+0xa0],xmm0
      57a:	00 00
      57c:	f2 0f 10 44 08 10    	movsd  xmm0,QWORD PTR
[eax+ecx*1+0x10]
      582:	f2 0f 11 84 24 98 00 	movsd  QWORD PTR [esp+0x98],xmm0
      589:	00 00
      58b:	f2 0f 10 04 08       	movsd  xmm0,QWORD PTR [eax+ecx*1]
      590:	f2 0f 10 4c 08 08    	movsd  xmm1,QWORD PTR
[eax+ecx*1+0x8]
      596:	f2 0f 11 8c 24 90 00 	movsd  QWORD PTR [esp+0x90],xmm1
      59d:	00 00
      59f:	f2 0f 11 84 24 88 00 	movsd  QWORD PTR [esp+0x88],xmm0
      5a6:	00 00
      5a8:	89 e0                	mov    eax,esp
      5aa:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			5ac: R_386_32	_D3std3xml7Element7__ClassZ
      5b0:	e8 fc ff ff ff       	call   5b1
<_D10xmlparser25parseFZv+0x301>
			5b1: R_386_PC32	_d_newclass
      5b5:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			5b7: R_386_32	_D3std3xml7Element6__vtblZ
      5bb:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      5c2:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			5c4: R_386_32	_D3std3xml7Element6__initZ
      5c8:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      5cb:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      5d2:	00
			5cf: R_386_32	_D3std3xml7Element6__initZ
      5d3:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      5d8:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      5df:	00
			5dc: R_386_32	_D3std3xml7Element6__initZ
      5e0:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      5e5:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      5ec:	00
			5e9: R_386_32	_D3std3xml7Element6__initZ
      5ed:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      5f2:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      5f9:	00
			5f6: R_386_32	_D3std3xml7Element6__initZ
      5fa:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      5ff:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      606:	00
			603: R_386_32	_D3std3xml7Element6__initZ
      607:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      60c:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      613:	00
			610: R_386_32	_D3std3xml7Element6__initZ
      614:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      619:	89 e1                	mov    ecx,esp
      61b:	c7 41 0c 65 00 00 00 	mov    DWORD PTR [ecx+0xc],0x65
			61e: R_386_32	.rodata
      622:	c7 41 08 04 00 00 00 	mov    DWORD PTR [ecx+0x8],0x4
      629:	c7 41 04 00 00 00 00 	mov    DWORD PTR [ecx+0x4],0x0
      630:	c7 01 00 00 00 00    	mov    DWORD PTR [ecx],0x0
      636:	e8 fc ff ff ff       	call   637
<_D10xmlparser25parseFZv+0x387>
			637:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      63b:	83 ec 10             	sub    esp,0x10
      63e:	89 84 24 84 00 00 00 	mov    DWORD PTR [esp+0x84],eax
      645:	8b 40 08             	mov    eax,DWORD PTR [eax+0x8]
      648:	83 c0 14             	add    eax,0x14
      64b:	c7 44 24 7c 6a 00 00 	mov    DWORD PTR [esp+0x7c],0x6a
      652:	00
			64f: R_386_32	.rodata
      653:	c7 44 24 78 02 00 00 	mov    DWORD PTR [esp+0x78],0x2
      65a:	00
      65b:	8d 4c 24 78          	lea    ecx,[esp+0x78]
      65f:	89 e2                	mov    edx,esp
      661:	89 4a 0c             	mov    DWORD PTR [edx+0xc],ecx
      664:	89 02                	mov    DWORD PTR [edx],eax
      666:	c7 42 08 08 00 00 00 	mov    DWORD PTR [edx+0x8],0x8
      66d:	c7 42 04 00 00 00 00 	mov    DWORD PTR [edx+0x4],0x0
			670: R_386_32	_D12TypeInfo_Aya6__initZ
      674:	e8 fc ff ff ff       	call   675
<_D10xmlparser25parseFZv+0x3c5>
			675: R_386_PC32	_aaGetX
      679:	8b 8c 24 88 00 00 00 	mov    ecx,DWORD PTR [esp+0x88]
      680:	8b 94 24 8c 00 00 00 	mov    edx,DWORD PTR [esp+0x8c]
      687:	89 50 04             	mov    DWORD PTR [eax+0x4],edx
      68a:	89 08                	mov    DWORD PTR [eax],ecx
      68c:	8b 84 24 84 00 00 00 	mov    eax,DWORD PTR [esp+0x84]
      693:	8b 08                	mov    ecx,DWORD PTR [eax]
      695:	8b 49 30             	mov    ecx,DWORD PTR [ecx+0x30]
      698:	89 e2                	mov    edx,esp
      69a:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
			69c: R_386_32	_D3std3xml7Element7__ClassZ
      6a0:	89 44 24 4c          	mov    DWORD PTR [esp+0x4c],eax
      6a4:	89 4c 24 48          	mov    DWORD PTR [esp+0x48],ecx
      6a8:	e8 fc ff ff ff       	call   6a9
<_D10xmlparser25parseFZv+0x3f9>
			6a9: R_386_PC32	_d_newclass
      6ad:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			6af: R_386_32	_D3std3xml7Element6__vtblZ
      6b3:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      6ba:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			6bc: R_386_32	_D3std3xml7Element6__initZ
      6c0:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      6c3:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      6ca:	00
			6c7: R_386_32	_D3std3xml7Element6__initZ
      6cb:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      6d0:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      6d7:	00
			6d4: R_386_32	_D3std3xml7Element6__initZ
      6d8:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      6dd:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      6e4:	00
			6e1: R_386_32	_D3std3xml7Element6__initZ
      6e5:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      6ea:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      6f1:	00
			6ee: R_386_32	_D3std3xml7Element6__initZ
      6f2:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      6f7:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      6fe:	00
			6fb: R_386_32	_D3std3xml7Element6__initZ
      6ff:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      704:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      70b:	00
			708: R_386_32	_D3std3xml7Element6__initZ
      70c:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      711:	8b 8c 24 90 00 00 00 	mov    ecx,DWORD PTR [esp+0x90]
      718:	8b 94 24 94 00 00 00 	mov    edx,DWORD PTR [esp+0x94]
      71f:	89 e6                	mov    esi,esp
      721:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      724:	89 0e                	mov    DWORD PTR [esi],ecx
      726:	c7 46 0c 6d 00 00 00 	mov    DWORD PTR [esi+0xc],0x6d
			729: R_386_32	.rodata
      72d:	c7 46 08 06 00 00 00 	mov    DWORD PTR [esi+0x8],0x6
      734:	e8 fc ff ff ff       	call   735
<_D10xmlparser25parseFZv+0x485>
			735:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      739:	83 ec 10             	sub    esp,0x10
      73c:	89 e1                	mov    ecx,esp
      73e:	89 01                	mov    DWORD PTR [ecx],eax
      740:	8b 44 24 4c          	mov    eax,DWORD PTR [esp+0x4c]
      744:	8b 4c 24 48          	mov    ecx,DWORD PTR [esp+0x48]
      748:	ff d1                	call   ecx
      74a:	83 ec 04             	sub    esp,0x4
      74d:	8b 84 24 84 00 00 00 	mov    eax,DWORD PTR [esp+0x84]
      754:	8b 08                	mov    ecx,DWORD PTR [eax]
      756:	8b 49 30             	mov    ecx,DWORD PTR [ecx+0x30]
      759:	89 e2                	mov    edx,esp
      75b:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
			75d: R_386_32	_D3std3xml7Element7__ClassZ
      761:	89 44 24 44          	mov    DWORD PTR [esp+0x44],eax
      765:	89 4c 24 40          	mov    DWORD PTR [esp+0x40],ecx
      769:	e8 fc ff ff ff       	call   76a
<_D10xmlparser25parseFZv+0x4ba>
			76a: R_386_PC32	_d_newclass
      76e:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			770: R_386_32	_D3std3xml7Element6__vtblZ
      774:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      77b:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			77d: R_386_32	_D3std3xml7Element6__initZ
      781:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      784:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      78b:	00
			788: R_386_32	_D3std3xml7Element6__initZ
      78c:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      791:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      798:	00
			795: R_386_32	_D3std3xml7Element6__initZ
      799:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      79e:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      7a5:	00
			7a2: R_386_32	_D3std3xml7Element6__initZ
      7a6:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      7ab:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      7b2:	00
			7af: R_386_32	_D3std3xml7Element6__initZ
      7b3:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      7b8:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      7bf:	00
			7bc: R_386_32	_D3std3xml7Element6__initZ
      7c0:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      7c5:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      7cc:	00
			7c9: R_386_32	_D3std3xml7Element6__initZ
      7cd:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      7d2:	8b 8c 24 98 00 00 00 	mov    ecx,DWORD PTR [esp+0x98]
      7d9:	8b 94 24 9c 00 00 00 	mov    edx,DWORD PTR [esp+0x9c]
      7e0:	89 e6                	mov    esi,esp
      7e2:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      7e5:	89 0e                	mov    DWORD PTR [esi],ecx
      7e7:	c7 46 0c 74 00 00 00 	mov    DWORD PTR [esi+0xc],0x74
			7ea: R_386_32	.rodata
      7ee:	c7 46 08 05 00 00 00 	mov    DWORD PTR [esi+0x8],0x5
      7f5:	e8 fc ff ff ff       	call   7f6
<_D10xmlparser25parseFZv+0x546>
			7f6:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      7fa:	83 ec 10             	sub    esp,0x10
      7fd:	89 e1                	mov    ecx,esp
      7ff:	89 01                	mov    DWORD PTR [ecx],eax
      801:	8b 44 24 44          	mov    eax,DWORD PTR [esp+0x44]
      805:	8b 4c 24 40          	mov    ecx,DWORD PTR [esp+0x40]
      809:	ff d1                	call   ecx
      80b:	83 ec 04             	sub    esp,0x4
      80e:	8b 84 24 84 00 00 00 	mov    eax,DWORD PTR [esp+0x84]
      815:	8b 08                	mov    ecx,DWORD PTR [eax]
      817:	8b 49 30             	mov    ecx,DWORD PTR [ecx+0x30]
      81a:	89 e2                	mov    edx,esp
      81c:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
			81e: R_386_32	_D3std3xml7Element7__ClassZ
      822:	89 44 24 3c          	mov    DWORD PTR [esp+0x3c],eax
      826:	89 4c 24 38          	mov    DWORD PTR [esp+0x38],ecx
      82a:	e8 fc ff ff ff       	call   82b
<_D10xmlparser25parseFZv+0x57b>
			82b: R_386_PC32	_d_newclass
      82f:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			831: R_386_32	_D3std3xml7Element6__vtblZ
      835:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      83c:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			83e: R_386_32	_D3std3xml7Element6__initZ
      842:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      845:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      84c:	00
			849: R_386_32	_D3std3xml7Element6__initZ
      84d:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      852:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      859:	00
			856: R_386_32	_D3std3xml7Element6__initZ
      85a:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      85f:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      866:	00
			863: R_386_32	_D3std3xml7Element6__initZ
      867:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      86c:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      873:	00
			870: R_386_32	_D3std3xml7Element6__initZ
      874:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      879:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      880:	00
			87d: R_386_32	_D3std3xml7Element6__initZ
      881:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      886:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      88d:	00
			88a: R_386_32	_D3std3xml7Element6__initZ
      88e:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      893:	8b 8c 24 a0 00 00 00 	mov    ecx,DWORD PTR [esp+0xa0]
      89a:	8b 94 24 a4 00 00 00 	mov    edx,DWORD PTR [esp+0xa4]
      8a1:	89 e6                	mov    esi,esp
      8a3:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      8a6:	89 0e                	mov    DWORD PTR [esi],ecx
      8a8:	c7 46 0c 7a 00 00 00 	mov    DWORD PTR [esi+0xc],0x7a
			8ab: R_386_32	.rodata
      8af:	c7 46 08 05 00 00 00 	mov    DWORD PTR [esi+0x8],0x5
      8b6:	e8 fc ff ff ff       	call   8b7
<_D10xmlparser25parseFZv+0x607>
			8b7:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      8bb:	83 ec 10             	sub    esp,0x10
      8be:	89 e1                	mov    ecx,esp
      8c0:	89 01                	mov    DWORD PTR [ecx],eax
      8c2:	8b 44 24 3c          	mov    eax,DWORD PTR [esp+0x3c]
      8c6:	8b 4c 24 38          	mov    ecx,DWORD PTR [esp+0x38]
      8ca:	ff d1                	call   ecx
      8cc:	83 ec 04             	sub    esp,0x4
      8cf:	8b 84 24 84 00 00 00 	mov    eax,DWORD PTR [esp+0x84]
      8d6:	8b 08                	mov    ecx,DWORD PTR [eax]
      8d8:	8b 49 30             	mov    ecx,DWORD PTR [ecx+0x30]
      8db:	89 e2                	mov    edx,esp
      8dd:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
			8df: R_386_32	_D3std3xml7Element7__ClassZ
      8e3:	89 44 24 34          	mov    DWORD PTR [esp+0x34],eax
      8e7:	89 4c 24 30          	mov    DWORD PTR [esp+0x30],ecx
      8eb:	e8 fc ff ff ff       	call   8ec
<_D10xmlparser25parseFZv+0x63c>
			8ec: R_386_PC32	_d_newclass
      8f0:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			8f2: R_386_32	_D3std3xml7Element6__vtblZ
      8f6:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      8fd:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			8ff: R_386_32	_D3std3xml7Element6__initZ
      903:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      906:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      90d:	00
			90a: R_386_32	_D3std3xml7Element6__initZ
      90e:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      913:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      91a:	00
			917: R_386_32	_D3std3xml7Element6__initZ
      91b:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      920:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      927:	00
			924: R_386_32	_D3std3xml7Element6__initZ
      928:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      92d:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      934:	00
			931: R_386_32	_D3std3xml7Element6__initZ
      935:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      93a:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      941:	00
			93e: R_386_32	_D3std3xml7Element6__initZ
      942:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      947:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      94e:	00
			94b: R_386_32	_D3std3xml7Element6__initZ
      94f:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      954:	8b 8c 24 a8 00 00 00 	mov    ecx,DWORD PTR [esp+0xa8]
      95b:	8b 94 24 ac 00 00 00 	mov    edx,DWORD PTR [esp+0xac]
      962:	89 e6                	mov    esi,esp
      964:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      967:	89 0e                	mov    DWORD PTR [esi],ecx
      969:	c7 46 0c 80 00 00 00 	mov    DWORD PTR [esi+0xc],0x80
			96c: R_386_32	.rodata
      970:	c7 46 08 05 00 00 00 	mov    DWORD PTR [esi+0x8],0x5
      977:	e8 fc ff ff ff       	call   978
<_D10xmlparser25parseFZv+0x6c8>
			978:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      97c:	83 ec 10             	sub    esp,0x10
      97f:	89 e1                	mov    ecx,esp
      981:	89 01                	mov    DWORD PTR [ecx],eax
      983:	8b 44 24 34          	mov    eax,DWORD PTR [esp+0x34]
      987:	8b 4c 24 30          	mov    ecx,DWORD PTR [esp+0x30]
      98b:	ff d1                	call   ecx
      98d:	83 ec 04             	sub    esp,0x4
      990:	8b 84 24 84 00 00 00 	mov    eax,DWORD PTR [esp+0x84]
      997:	8b 08                	mov    ecx,DWORD PTR [eax]
      999:	8b 49 30             	mov    ecx,DWORD PTR [ecx+0x30]
      99c:	89 e2                	mov    edx,esp
      99e:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
			9a0: R_386_32	_D3std3xml7Element7__ClassZ
      9a4:	89 44 24 2c          	mov    DWORD PTR [esp+0x2c],eax
      9a8:	89 4c 24 28          	mov    DWORD PTR [esp+0x28],ecx
      9ac:	e8 fc ff ff ff       	call   9ad
<_D10xmlparser25parseFZv+0x6fd>
			9ad: R_386_PC32	_d_newclass
      9b1:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			9b3: R_386_32	_D3std3xml7Element6__vtblZ
      9b7:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      9be:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			9c0: R_386_32	_D3std3xml7Element6__initZ
      9c4:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      9c7:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      9ce:	00
			9cb: R_386_32	_D3std3xml7Element6__initZ
      9cf:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      9d4:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      9db:	00
			9d8: R_386_32	_D3std3xml7Element6__initZ
      9dc:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      9e1:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      9e8:	00
			9e5: R_386_32	_D3std3xml7Element6__initZ
      9e9:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      9ee:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      9f5:	00
			9f2: R_386_32	_D3std3xml7Element6__initZ
      9f6:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      9fb:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      a02:	00
			9ff: R_386_32	_D3std3xml7Element6__initZ
      a03:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      a08:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      a0f:	00
			a0c: R_386_32	_D3std3xml7Element6__initZ
      a10:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      a15:	8b 8c 24 b0 00 00 00 	mov    ecx,DWORD PTR [esp+0xb0]
      a1c:	8b 94 24 b4 00 00 00 	mov    edx,DWORD PTR [esp+0xb4]
      a23:	89 e6                	mov    esi,esp
      a25:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      a28:	89 0e                	mov    DWORD PTR [esi],ecx
      a2a:	c7 46 0c 86 00 00 00 	mov    DWORD PTR [esi+0xc],0x86
			a2d: R_386_32	.rodata
      a31:	c7 46 08 0c 00 00 00 	mov    DWORD PTR [esi+0x8],0xc
      a38:	e8 fc ff ff ff       	call   a39
<_D10xmlparser25parseFZv+0x789>
			a39:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      a3d:	83 ec 10             	sub    esp,0x10
      a40:	89 e1                	mov    ecx,esp
      a42:	89 01                	mov    DWORD PTR [ecx],eax
      a44:	8b 44 24 2c          	mov    eax,DWORD PTR [esp+0x2c]
      a48:	8b 4c 24 28          	mov    ecx,DWORD PTR [esp+0x28]
      a4c:	ff d1                	call   ecx
      a4e:	83 ec 04             	sub    esp,0x4
      a51:	8b 84 24 84 00 00 00 	mov    eax,DWORD PTR [esp+0x84]
      a58:	8b 08                	mov    ecx,DWORD PTR [eax]
      a5a:	8b 49 30             	mov    ecx,DWORD PTR [ecx+0x30]
      a5d:	89 e2                	mov    edx,esp
      a5f:	c7 02 00 00 00 00    	mov    DWORD PTR [edx],0x0
			a61: R_386_32	_D3std3xml7Element7__ClassZ
      a65:	89 44 24 24          	mov    DWORD PTR [esp+0x24],eax
      a69:	89 4c 24 20          	mov    DWORD PTR [esp+0x20],ecx
      a6d:	e8 fc ff ff ff       	call   a6e
<_D10xmlparser25parseFZv+0x7be>
			a6e: R_386_PC32	_d_newclass
      a72:	c7 00 00 00 00 00    	mov    DWORD PTR [eax],0x0
			a74: R_386_32	_D3std3xml7Element6__vtblZ
      a78:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      a7f:	8b 0d 38 00 00 00    	mov    ecx,DWORD PTR ds:0x38
			a81: R_386_32	_D3std3xml7Element6__initZ
      a85:	89 48 38             	mov    DWORD PTR [eax+0x38],ecx
      a88:	f2 0f 10 05 30 00 00 	movsd  xmm0,QWORD PTR ds:0x30
      a8f:	00
			a8c: R_386_32	_D3std3xml7Element6__initZ
      a90:	f2 0f 11 40 30       	movsd  QWORD PTR [eax+0x30],xmm0
      a95:	f2 0f 10 05 28 00 00 	movsd  xmm0,QWORD PTR ds:0x28
      a9c:	00
			a99: R_386_32	_D3std3xml7Element6__initZ
      a9d:	f2 0f 11 40 28       	movsd  QWORD PTR [eax+0x28],xmm0
      aa2:	f2 0f 10 05 20 00 00 	movsd  xmm0,QWORD PTR ds:0x20
      aa9:	00
			aa6: R_386_32	_D3std3xml7Element6__initZ
      aaa:	f2 0f 11 40 20       	movsd  QWORD PTR [eax+0x20],xmm0
      aaf:	f2 0f 10 05 18 00 00 	movsd  xmm0,QWORD PTR ds:0x18
      ab6:	00
			ab3: R_386_32	_D3std3xml7Element6__initZ
      ab7:	f2 0f 11 40 18       	movsd  QWORD PTR [eax+0x18],xmm0
      abc:	f2 0f 10 05 10 00 00 	movsd  xmm0,QWORD PTR ds:0x10
      ac3:	00
			ac0: R_386_32	_D3std3xml7Element6__initZ
      ac4:	f2 0f 11 40 10       	movsd  QWORD PTR [eax+0x10],xmm0
      ac9:	f2 0f 10 05 08 00 00 	movsd  xmm0,QWORD PTR ds:0x8
      ad0:	00
			acd: R_386_32	_D3std3xml7Element6__initZ
      ad1:	f2 0f 11 40 08       	movsd  QWORD PTR [eax+0x8],xmm0
      ad6:	8b 8c 24 b8 00 00 00 	mov    ecx,DWORD PTR [esp+0xb8]
      add:	8b 94 24 bc 00 00 00 	mov    edx,DWORD PTR [esp+0xbc]
      ae4:	89 e6                	mov    esi,esp
      ae6:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      ae9:	89 0e                	mov    DWORD PTR [esi],ecx
      aeb:	c7 46 0c 93 00 00 00 	mov    DWORD PTR [esi+0xc],0x93
			aee: R_386_32	.rodata
      af2:	c7 46 08 0b 00 00 00 	mov    DWORD PTR [esi+0x8],0xb
      af9:	e8 fc ff ff ff       	call   afa
<_D10xmlparser25parseFZv+0x84a>
			afa:
R_386_PC32	_D3std3xml7Element6__ctorMFAyaAyaZC3std3xml7Element
      afe:	83 ec 10             	sub    esp,0x10
      b01:	89 e1                	mov    ecx,esp
      b03:	89 01                	mov    DWORD PTR [ecx],eax
      b05:	8b 44 24 24          	mov    eax,DWORD PTR [esp+0x24]
      b09:	8b 4c 24 20          	mov    ecx,DWORD PTR [esp+0x20]
      b0d:	ff d1                	call   ecx
      b0f:	83 ec 04             	sub    esp,0x4
      b12:	8b 84 24 d4 00 00 00 	mov    eax,DWORD PTR [esp+0xd4]
      b19:	89 c1                	mov    ecx,eax
      b1b:	8b 00                	mov    eax,DWORD PTR [eax]
      b1d:	8b 40 30             	mov    eax,DWORD PTR [eax+0x30]
      b20:	8b 94 24 84 00 00 00 	mov    edx,DWORD PTR [esp+0x84]
      b27:	89 e6                	mov    esi,esp
      b29:	89 16                	mov    DWORD PTR [esi],edx
      b2b:	89 44 24 1c          	mov    DWORD PTR [esp+0x1c],eax
      b2f:	89 c8                	mov    eax,ecx
      b31:	8b 4c 24 1c          	mov    ecx,DWORD PTR [esp+0x1c]
      b35:	ff d1                	call   ecx
      b37:	83 ec 04             	sub    esp,0x4
      b3a:	8b 84 24 c4 00 00 00 	mov    eax,DWORD PTR [esp+0xc4]
      b41:	05 01 00 00 00       	add    eax,0x1
      b46:	89 84 24 c4 00 00 00 	mov    DWORD PTR [esp+0xc4],eax
      b4d:	e9 9a f9 ff ff       	jmp    4ec
<_D10xmlparser25parseFZv+0x23c>
      b52:	81 c4 f4 00 00 00    	add    esp,0xf4
      b58:	5e                   	pop    esi
      b59:	5f                   	pop    edi
      b5a:	c3                   	ret
      b5b:	0f 1f 44 00 00       	nop    DWORD PTR [eax+eax*1+0x0]

00000b60
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv>:
      b60:	53                   	push   ebx
      b61:	57                   	push   edi
      b62:	56                   	push   esi
      b63:	81 ec 80 00 00 00    	sub    esp,0x80
      b69:	8b 8c 24 90 00 00 00 	mov    ecx,DWORD PTR [esp+0x90]
      b70:	8d 15 00 00 00 00    	lea    edx,ds:0x0
			b72: R_386_32	_D12TypeInfo_Aya6__initZ
      b76:	8d 74 24 70          	lea    esi,[esp+0x70]
      b7a:	89 44 24 7c          	mov    DWORD PTR [esp+0x7c],eax
      b7e:	89 4c 24 78          	mov    DWORD PTR [esp+0x78],ecx
      b82:	89 e0                	mov    eax,esp
      b84:	c7 00 3c 00 00 00    	mov    DWORD PTR [eax],0x3c
      b8a:	89 54 24 3c          	mov    DWORD PTR [esp+0x3c],edx
      b8e:	89 74 24 38          	mov    DWORD PTR [esp+0x38],esi
      b92:	e8 fc ff ff ff       	call   b93
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x33>
			b93: R_386_PC32	_d_allocmemory
      b97:	8b 4c 24 7c          	mov    ecx,DWORD PTR [esp+0x7c]
      b9b:	89 08                	mov    DWORD PTR [eax],ecx
      b9d:	89 c1                	mov    ecx,eax
      b9f:	83 c1 04             	add    ecx,0x4
      ba2:	c7 40 08 00 00 00 00 	mov    DWORD PTR [eax+0x8],0x0
      ba9:	c7 40 04 00 00 00 00 	mov    DWORD PTR [eax+0x4],0x0
      bb0:	c7 40 10 00 00 00 00 	mov    DWORD PTR [eax+0x10],0x0
      bb7:	c7 40 0c 00 00 00 00 	mov    DWORD PTR [eax+0xc],0x0
      bbe:	c7 40 18 00 00 00 00 	mov    DWORD PTR [eax+0x18],0x0
      bc5:	c7 40 14 00 00 00 00 	mov    DWORD PTR [eax+0x14],0x0
      bcc:	c7 40 20 00 00 00 00 	mov    DWORD PTR [eax+0x20],0x0
      bd3:	c7 40 1c 00 00 00 00 	mov    DWORD PTR [eax+0x1c],0x0
      bda:	c7 40 28 00 00 00 00 	mov    DWORD PTR [eax+0x28],0x0
      be1:	c7 40 24 00 00 00 00 	mov    DWORD PTR [eax+0x24],0x0
      be8:	c7 40 30 00 00 00 00 	mov    DWORD PTR [eax+0x30],0x0
      bef:	c7 40 2c 00 00 00 00 	mov    DWORD PTR [eax+0x2c],0x0
      bf6:	c7 40 38 00 00 00 00 	mov    DWORD PTR [eax+0x38],0x0
      bfd:	c7 40 34 00 00 00 00 	mov    DWORD PTR [eax+0x34],0x0
      c04:	8b 54 24 78          	mov    edx,DWORD PTR [esp+0x78]
      c08:	8b 32                	mov    esi,DWORD PTR [edx]
      c0a:	8b 76 18             	mov    esi,DWORD PTR [esi+0x18]
      c0d:	89 44 24 34          	mov    DWORD PTR [esp+0x34],eax
      c11:	89 d0                	mov    eax,edx
      c13:	89 4c 24 30          	mov    DWORD PTR [esp+0x30],ecx
      c17:	ff d6                	call   esi
      c19:	8b 40 14             	mov    eax,DWORD PTR [eax+0x14]
      c1c:	c7 44 24 74 4c 09 00 	mov    DWORD PTR [esp+0x74],0x94c
      c23:	00
			c20: R_386_32	.rodata
      c24:	c7 44 24 70 02 00 00 	mov    DWORD PTR [esp+0x70],0x2
      c2b:	00
      c2c:	8b 4c 24 34          	mov    ecx,DWORD PTR [esp+0x34]
      c30:	8b 54 24 30          	mov    edx,DWORD PTR [esp+0x30]
      c34:	8b 74 24 38          	mov    esi,DWORD PTR [esp+0x38]
      c38:	89 04 24             	mov    DWORD PTR [esp],eax
      c3b:	8b 44 24 3c          	mov    eax,DWORD PTR [esp+0x3c]
      c3f:	89 44 24 04          	mov    DWORD PTR [esp+0x4],eax
      c43:	89 74 24 08          	mov    DWORD PTR [esp+0x8],esi
      c47:	89 4c 24 2c          	mov    DWORD PTR [esp+0x2c],ecx
      c4b:	89 54 24 28          	mov    DWORD PTR [esp+0x28],edx
      c4f:	e8 fc ff ff ff       	call   c50
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0xf0>
			c50: R_386_PC32	_aaInX
      c54:	b9 00 00 00 00       	mov    ecx,0x0
      c59:	39 c1                	cmp    ecx,eax
      c5b:	89 44 24 24          	mov    DWORD PTR [esp+0x24],eax
      c5f:	75 1f                	jne    c80
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x120>
      c61:	8d 05 00 00 00 00    	lea    eax,ds:0x0
			c63: R_386_32	_D10xmlparser28__ModuleZ
      c67:	b9 36 00 00 00       	mov    ecx,0x36
      c6c:	89 04 24             	mov    DWORD PTR [esp],eax
      c6f:	c7 44 24 04 36 00 00 	mov    DWORD PTR [esp+0x4],0x36
      c76:	00
      c77:	89 4c 24 20          	mov    DWORD PTR [esp+0x20],ecx
      c7b:	e8 fc ff ff ff       	call   c7c
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x11c>
			c7c: R_386_PC32	_d_array_bounds
      c80:	8b 44 24 24          	mov    eax,DWORD PTR [esp+0x24]
      c84:	8b 08                	mov    ecx,DWORD PTR [eax]
      c86:	8b 50 04             	mov    edx,DWORD PTR [eax+0x4]
      c89:	8b 74 24 30          	mov    esi,DWORD PTR [esp+0x30]
      c8d:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
      c90:	89 0e                	mov    DWORD PTR [esi],ecx
      c92:	8b 4c 24 78          	mov    ecx,DWORD PTR [esp+0x78]
      c96:	83 c1 4c             	add    ecx,0x4c
      c99:	c7 44 24 6c 4f 09 00 	mov    DWORD PTR [esp+0x6c],0x94f
      ca0:	00
			c9d: R_386_32	.rodata
      ca1:	c7 44 24 68 06 00 00 	mov    DWORD PTR [esp+0x68],0x6
      ca8:	00
      ca9:	8d 54 24 68          	lea    edx,[esp+0x68]
      cad:	89 e7                	mov    edi,esp
      caf:	89 57 0c             	mov    DWORD PTR [edi+0xc],edx
      cb2:	89 0f                	mov    DWORD PTR [edi],ecx
      cb4:	c7 47 08 08 00 00 00 	mov    DWORD PTR [edi+0x8],0x8
      cbb:	c7 47 04 00 00 00 00 	mov    DWORD PTR [edi+0x4],0x0
			cbe: R_386_32	_D12TypeInfo_Aya6__initZ
      cc2:	e8 fc ff ff ff       	call   cc3
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x163>
			cc3: R_386_PC32	_aaGetX
      cc7:	8b 4c 24 2c          	mov    ecx,DWORD PTR [esp+0x2c]
      ccb:	89 08                	mov    DWORD PTR [eax],ecx
      ccd:	c7 40 04 d0 0e 00 00 	mov    DWORD PTR [eax+0x4],0xed0
			cd0: R_386_32	.text
      cd4:	8b 44 24 78          	mov    eax,DWORD PTR [esp+0x78]
      cd8:	83 c0 4c             	add    eax,0x4c
      cdb:	c7 44 24 64 56 09 00 	mov    DWORD PTR [esp+0x64],0x956
      ce2:	00
			cdf: R_386_32	.rodata
      ce3:	c7 44 24 60 05 00 00 	mov    DWORD PTR [esp+0x60],0x5
      cea:	00
      ceb:	8d 54 24 60          	lea    edx,[esp+0x60]
      cef:	89 e6                	mov    esi,esp
      cf1:	89 56 0c             	mov    DWORD PTR [esi+0xc],edx
      cf4:	89 06                	mov    DWORD PTR [esi],eax
      cf6:	c7 46 08 08 00 00 00 	mov    DWORD PTR [esi+0x8],0x8
      cfd:	c7 46 04 00 00 00 00 	mov    DWORD PTR [esi+0x4],0x0
			d00: R_386_32	_D12TypeInfo_Aya6__initZ
      d04:	e8 fc ff ff ff       	call   d05
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1a5>
			d05: R_386_PC32	_aaGetX
      d09:	8b 4c 24 2c          	mov    ecx,DWORD PTR [esp+0x2c]
      d0d:	89 08                	mov    DWORD PTR [eax],ecx
      d0f:	c7 40 04 10 0f 00 00 	mov    DWORD PTR [eax+0x4],0xf10
			d12: R_386_32	.text
      d16:	8b 44 24 78          	mov    eax,DWORD PTR [esp+0x78]
      d1a:	83 c0 4c             	add    eax,0x4c
      d1d:	c7 44 24 5c 5c 09 00 	mov    DWORD PTR [esp+0x5c],0x95c
      d24:	00
			d21: R_386_32	.rodata
      d25:	c7 44 24 58 05 00 00 	mov    DWORD PTR [esp+0x58],0x5
      d2c:	00
      d2d:	8d 54 24 58          	lea    edx,[esp+0x58]
      d31:	89 e6                	mov    esi,esp
      d33:	89 56 0c             	mov    DWORD PTR [esi+0xc],edx
      d36:	89 06                	mov    DWORD PTR [esi],eax
      d38:	c7 46 08 08 00 00 00 	mov    DWORD PTR [esi+0x8],0x8
      d3f:	c7 46 04 00 00 00 00 	mov    DWORD PTR [esi+0x4],0x0
			d42: R_386_32	_D12TypeInfo_Aya6__initZ
      d46:	e8 fc ff ff ff       	call   d47
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x1e7>
			d47: R_386_PC32	_aaGetX
      d4b:	8b 4c 24 2c          	mov    ecx,DWORD PTR [esp+0x2c]
      d4f:	89 08                	mov    DWORD PTR [eax],ecx
      d51:	c7 40 04 50 0f 00 00 	mov    DWORD PTR [eax+0x4],0xf50
			d54: R_386_32	.text
      d58:	8b 44 24 78          	mov    eax,DWORD PTR [esp+0x78]
      d5c:	83 c0 4c             	add    eax,0x4c
      d5f:	c7 44 24 54 62 09 00 	mov    DWORD PTR [esp+0x54],0x962
      d66:	00
			d63: R_386_32	.rodata
      d67:	c7 44 24 50 05 00 00 	mov    DWORD PTR [esp+0x50],0x5
      d6e:	00
      d6f:	8d 54 24 50          	lea    edx,[esp+0x50]
      d73:	89 e6                	mov    esi,esp
      d75:	89 56 0c             	mov    DWORD PTR [esi+0xc],edx
      d78:	89 06                	mov    DWORD PTR [esi],eax
      d7a:	c7 46 08 08 00 00 00 	mov    DWORD PTR [esi+0x8],0x8
      d81:	c7 46 04 00 00 00 00 	mov    DWORD PTR [esi+0x4],0x0
			d84: R_386_32	_D12TypeInfo_Aya6__initZ
      d88:	e8 fc ff ff ff       	call   d89
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x229>
			d89: R_386_PC32	_aaGetX
      d8d:	8b 4c 24 2c          	mov    ecx,DWORD PTR [esp+0x2c]
      d91:	89 08                	mov    DWORD PTR [eax],ecx
      d93:	c7 40 04 90 0f 00 00 	mov    DWORD PTR [eax+0x4],0xf90
			d96: R_386_32	.text
      d9a:	8b 44 24 78          	mov    eax,DWORD PTR [esp+0x78]
      d9e:	83 c0 4c             	add    eax,0x4c
      da1:	c7 44 24 4c 68 09 00 	mov    DWORD PTR [esp+0x4c],0x968
      da8:	00
			da5: R_386_32	.rodata
      da9:	c7 44 24 48 0c 00 00 	mov    DWORD PTR [esp+0x48],0xc
      db0:	00
      db1:	8d 54 24 48          	lea    edx,[esp+0x48]
      db5:	89 e6                	mov    esi,esp
      db7:	89 56 0c             	mov    DWORD PTR [esi+0xc],edx
      dba:	89 06                	mov    DWORD PTR [esi],eax
      dbc:	c7 46 08 08 00 00 00 	mov    DWORD PTR [esi+0x8],0x8
      dc3:	c7 46 04 00 00 00 00 	mov    DWORD PTR [esi+0x4],0x0
			dc6: R_386_32	_D12TypeInfo_Aya6__initZ
      dca:	e8 fc ff ff ff       	call   dcb
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x26b>
			dcb: R_386_PC32	_aaGetX
      dcf:	8b 4c 24 2c          	mov    ecx,DWORD PTR [esp+0x2c]
      dd3:	89 08                	mov    DWORD PTR [eax],ecx
      dd5:	c7 40 04 d0 0f 00 00 	mov    DWORD PTR [eax+0x4],0xfd0
			dd8: R_386_32	.text
      ddc:	8b 44 24 78          	mov    eax,DWORD PTR [esp+0x78]
      de0:	83 c0 4c             	add    eax,0x4c
      de3:	c7 44 24 44 75 09 00 	mov    DWORD PTR [esp+0x44],0x975
      dea:	00
			de7: R_386_32	.rodata
      deb:	c7 44 24 40 0b 00 00 	mov    DWORD PTR [esp+0x40],0xb
      df2:	00
      df3:	8d 54 24 40          	lea    edx,[esp+0x40]
      df7:	89 e6                	mov    esi,esp
      df9:	89 56 0c             	mov    DWORD PTR [esi+0xc],edx
      dfc:	89 06                	mov    DWORD PTR [esi],eax
      dfe:	c7 46 08 08 00 00 00 	mov    DWORD PTR [esi+0x8],0x8
      e05:	c7 46 04 00 00 00 00 	mov    DWORD PTR [esi+0x4],0x0
			e08: R_386_32	_D12TypeInfo_Aya6__initZ
      e0c:	e8 fc ff ff ff       	call   e0d
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x2ad>
			e0d: R_386_PC32	_aaGetX
      e11:	8b 4c 24 2c          	mov    ecx,DWORD PTR [esp+0x2c]
      e15:	89 08                	mov    DWORD PTR [eax],ecx
      e17:	c7 40 04 10 10 00 00 	mov    DWORD PTR [eax+0x4],0x1010
			e1a: R_386_32	.text
      e1e:	8b 44 24 78          	mov    eax,DWORD PTR [esp+0x78]
      e22:	8b 10                	mov    edx,DWORD PTR [eax]
      e24:	8b 52 34             	mov    edx,DWORD PTR [edx+0x34]
      e27:	ff d2                	call   edx
      e29:	8b 44 24 2c          	mov    eax,DWORD PTR [esp+0x2c]
      e2d:	8b 08                	mov    ecx,DWORD PTR [eax]
      e2f:	8b 11                	mov    edx,DWORD PTR [ecx]
      e31:	89 e6                	mov    esi,esp
      e33:	89 4e 04             	mov    DWORD PTR [esi+0x4],ecx
      e36:	c7 46 08 01 00 00 00 	mov    DWORD PTR [esi+0x8],0x1
      e3d:	c7 06 00 00 00 00    	mov    DWORD PTR [esi],0x0
			e3f: R_386_32	_D28TypeInfo_AS10xmlparser24Book6__initZ
      e43:	89 4c 24 1c          	mov    DWORD PTR [esp+0x1c],ecx
      e47:	89 54 24 18          	mov    DWORD PTR [esp+0x18],edx
      e4b:	e8 fc ff ff ff       	call   e4c
<_D10xmlparser25parseFZv9__lambda1MFC3std3xml13ElementParserZv+0x2ec>
			e4c: R_386_PC32	_d_arrayappendcTX
      e50:	8b 4c 24 1c          	mov    ecx,DWORD PTR [esp+0x1c]
      e54:	8b 71 04             	mov    esi,DWORD PTR [ecx+0x4]
      e57:	8b 7c 24 18          	mov    edi,DWORD PTR [esp+0x18]
      e5b:	6b ff 38             	imul   edi,edi,0x38
      e5e:	8b 5c 24 28          	mov    ebx,DWORD PTR [esp+0x28]
      e62:	f2 0f 10 43 30       	movsd  xmm0,QWORD PTR [ebx+0x30]
      e67:	f2 0f 11 44 3e 30    	movsd  QWORD PTR
[esi+edi*1+0x30],xmm0
      e6d:	f2 0f 10 43 28       	movsd  xmm0,QWORD PTR [ebx+0x28]
      e72:	f2 0f 11 44 3e 28    	movsd  QWORD PTR
[esi+edi*1+0x28],xmm0
      e78:	f2 0f 10 43 20       	movsd  xmm0,QWORD PTR [ebx+0x20]
      e7d:	f2 0f 11 44 3e 20    	movsd  QWORD PTR
[esi+edi*1+0x20],xmm0
      e83:	f2 0f 10 43 18       	movsd  xmm0,QWORD PTR [ebx+0x18]
      e88:	f2 0f 11 44 3e 18    	movsd  QWORD PTR
[esi+edi*1+0x18],xmm0
      e8e:	f2 0f 10 43 10       	movsd  xmm0,QWORD PTR [ebx+0x10]
      e93:	f2 0f 11 44 3e 10    	movsd  QWORD PTR
[esi+edi*1+0x10],xmm0
      e99:	f2 0f 10 03          	movsd  xmm0,QWORD PTR [ebx]
      e9d:	f2 0f 10 4b 08       	movsd  xmm1,QWORD PTR [ebx+0x8]
      ea2:	f2 0f 11 4c 3e 08    	movsd  QWORD PTR
[esi+edi*1+0x8],xmm1
      ea8:	f2 0f 11 04 3e       	movsd  QWORD PTR [esi+edi*1],xmm0
      ead:	89 44 24 14          	mov    DWORD PTR [esp+0x14],eax
      eb1:	89 54 24 10          	mov    DWORD PTR [esp+0x10],edx
      eb5:	81 c4 80 00 00 00    	add    esp,0x80
      ebb:	5e                   	pop    esi
      ebc:	5f                   	pop    edi
      ebd:	5b                   	pop    ebx
      ebe:	c2 04 00             	ret    0x4
      ec1:	66 66 66 66 66 66 2e 	data32 data32 data32 data32
data32 nop WORD PTR cs:[eax+eax*1+0x0]
      ec8:	0f 1f 84 00 00 00 00
      ecf:	00
July 31, 2013
41ms is a big time, run parse only once and time xml.parse individually.
July 31, 2013
Another possibility is to copy the xml.d, remove the module std.xml; declartion from it, change import std.xml; to import xml; then compile with dmd and ldc. This will account for differences in compiler flags used to compile phobos in dmd and ldc projects.
1 2 3 4