40314d:	cc                   	int3
40314e:	cc                   	int3
40314f:	cc                   	int3
403150:	56                   	push   %esi
403151:	8b f1                	mov    %ecx,%esi
403153:	8b 0e                	mov    (%esi),%ecx
403155:	8b 51 f4             	mov    -0xc(%ecx),%edx
403158:	85 d2                	test   %edx,%edx
40315a:	8d 41 f0             	lea    -0x10(%ecx),%eax
40315d:	57                   	push   %edi
40315e:	8b 38                	mov    (%eax),%edi
403160:	74 4c                	je     0x4031ae
403162:	53                   	push   %ebx
403163:	8b 58 0c             	mov    0xc(%eax),%ebx
403166:	8d 50 0c             	lea    0xc(%eax),%edx
403169:	85 db                	test   %ebx,%ebx
40316b:	5b                   	pop    %ebx
40316c:	7d 20                	jge    0x40318e
40316e:	8b 41 f8             	mov    -0x8(%ecx),%eax
403171:	85 c0                	test   %eax,%eax
403173:	7d 0a                	jge    0x40317f
403175:	68 57 00 07 80       	push   $0x80070057
40317a:	e8 6b e0 ff ff       	call   0x4011ea
40317f:	c7 41 f4 00 00 00 00 	movl   $0x0,-0xc(%ecx)
403186:	8b 06                	mov    (%esi),%eax
403188:	5f                   	pop    %edi
403189:	c6 00 00             	movb   $0x0,(%eax)
40318c:	5e                   	pop    %esi
40318d:	c3                   	ret
40318e:	83 c9 ff             	or     $0xffffffff,%ecx
403191:	f0 0f c1 0a          	lock xadd %ecx,(%edx)
403195:	49                   	dec    %ecx
403196:	85 c9                	test   %ecx,%ecx
403198:	7f 08                	jg     0x4031a2
40319a:	8b 08                	mov    (%eax),%ecx
40319c:	8b 11                	mov    (%ecx),%edx
40319e:	50                   	push   %eax
40319f:	ff 52 04             	call   *0x4(%edx)
4031a2:	8b 07                	mov    (%edi),%eax
4031a4:	8b cf                	mov    %edi,%ecx
4031a6:	ff 50 0c             	call   *0xc(%eax)
4031a9:	83 c0 10             	add    $0x10,%eax
4031ac:	89 06                	mov    %eax,(%esi)
4031ae:	5f                   	pop    %edi
4031af:	5e                   	pop    %esi
4031b0:	c3                   	ret
4031b1:	cc                   	int3
4031b2:	cc                   	int3
4031b3:	cc                   	int3
4031b4:	cc                   	int3
4031b5:	cc                   	int3
4031b6:	cc                   	int3
4031b7:	cc                   	int3
4031b8:	cc                   	int3
4031b9:	cc                   	int3
4031ba:	cc                   	int3
4031bb:	cc                   	int3
4031bc:	cc                   	int3
4031bd:	cc                   	int3
4031be:	cc                   	int3
4031bf:	cc                   	int3
4031c0:	cc                   	int3
4031c1:	cc                   	int3
4031c2:	cc                   	int3
4031c3:	cc                   	int3
4031c4:	cc                   	int3
4031c5:	cc                   	int3
4031c6:	cc                   	int3
4031c7:	cc                   	int3
4031c8:	cc                   	int3
4031c9:	cc                   	int3
4031ca:	cc                   	int3
4031cb:	cc                   	int3
4031cc:	cc                   	int3
4031cd:	cc                   	int3
4031ce:	cc                   	int3
4031cf:	cc                   	int3
4031d0:	8b 44 24 04          	mov    0x4(%esp),%eax
4031d4:	85 c0                	test   %eax,%eax
4031d6:	7c 13                	jl     0x4031eb
4031d8:	8b 11                	mov    (%ecx),%edx
4031da:	3b 42 f8             	cmp    -0x8(%edx),%eax
4031dd:	7f 0c                	jg     0x4031eb
4031df:	89 42 f4             	mov    %eax,-0xc(%edx)
4031e2:	8b 09                	mov    (%ecx),%ecx
4031e4:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
4031e8:	c2 04 00             	ret    $0x4
4031eb:	68 57 00 07 80       	push   $0x80070057
4031f0:	e8 f5 df ff ff       	call   0x4011ea
4031f5:	cc                   	int3
4031f6:	cc                   	int3
4031f7:	cc                   	int3
4031f8:	cc                   	int3
4031f9:	cc                   	int3
4031fa:	cc                   	int3
4031fb:	cc                   	int3
4031fc:	cc                   	int3
4031fd:	cc                   	int3
4031fe:	cc                   	int3
4031ff:	cc                   	int3
403200:	8b 01                	mov    (%ecx),%eax
403202:	8b 54 24 04          	mov    0x4(%esp),%edx
403206:	83 e8 10             	sub    $0x10,%eax
403209:	56                   	push   %esi
40320a:	8b 70 04             	mov    0x4(%eax),%esi
40320d:	3b f2                	cmp    %edx,%esi
40320f:	7e 02                	jle    0x403213
403211:	8b d6                	mov    %esi,%edx
403213:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
403217:	5e                   	pop    %esi
403218:	7e 09                	jle    0x403223
40321a:	89 54 24 04          	mov    %edx,0x4(%esp)
40321e:	e9 07 e1 ff ff       	jmp    0x40132a
403223:	8b 40 08             	mov    0x8(%eax),%eax
403226:	3b c2                	cmp    %edx,%eax
403228:	7d 1f                	jge    0x403249
40322a:	3d 00 04 00 00       	cmp    $0x400,%eax
40322f:	7e 07                	jle    0x403238
403231:	05 00 04 00 00       	add    $0x400,%eax
403236:	eb 02                	jmp    0x40323a
403238:	03 c0                	add    %eax,%eax
40323a:	3b c2                	cmp    %edx,%eax
40323c:	7d 02                	jge    0x403240
40323e:	8b c2                	mov    %edx,%eax
403240:	89 44 24 04          	mov    %eax,0x4(%esp)
403244:	e9 ee dd ff ff       	jmp    0x401037
403249:	c2 04 00             	ret    $0x4
40324c:	cc                   	int3
40324d:	cc                   	int3
40324e:	cc                   	int3
40324f:	cc                   	int3
403250:	cc                   	int3
403251:	cc                   	int3
403252:	cc                   	int3
403253:	cc                   	int3
403254:	cc                   	int3
403255:	cc                   	int3
403256:	cc                   	int3
403257:	cc                   	int3
403258:	cc                   	int3
403259:	cc                   	int3
40325a:	cc                   	int3
40325b:	cc                   	int3
40325c:	cc                   	int3
40325d:	cc                   	int3
40325e:	cc                   	int3
40325f:	cc                   	int3
403260:	56                   	push   %esi
403261:	8b 74 24 08          	mov    0x8(%esp),%esi
403265:	8b 0e                	mov    (%esi),%ecx
403267:	8b 01                	mov    (%ecx),%eax
403269:	ff 50 10             	call   *0x10(%eax)
40326c:	8b 56 0c             	mov    0xc(%esi),%edx
40326f:	85 d2                	test   %edx,%edx
403271:	8d 4e 0c             	lea    0xc(%esi),%ecx
403274:	7c 11                	jl     0x403287
403276:	3b 06                	cmp    (%esi),%eax
403278:	75 0d                	jne    0x403287
40327a:	8b c6                	mov    %esi,%eax
40327c:	ba 01 00 00 00       	mov    $0x1,%edx
403281:	f0 0f c1 11          	lock xadd %edx,(%ecx)
403285:	5e                   	pop    %esi
403286:	c3                   	ret
403287:	8b 4e 04             	mov    0x4(%esi),%ecx
40328a:	8b 10                	mov    (%eax),%edx
40328c:	6a 01                	push   $0x1
40328e:	51                   	push   %ecx
40328f:	8b c8                	mov    %eax,%ecx
403291:	ff 12                	call   *(%edx)
403293:	85 c0                	test   %eax,%eax
403295:	75 05                	jne    0x40329c
403297:	e9 ad df ff ff       	jmp    0x401249
40329c:	8b 56 04             	mov    0x4(%esi),%edx
40329f:	89 50 04             	mov    %edx,0x4(%eax)
4032a2:	8b 4e 04             	mov    0x4(%esi),%ecx
4032a5:	41                   	inc    %ecx
4032a6:	8b d1                	mov    %ecx,%edx
4032a8:	57                   	push   %edi
4032a9:	c1 e9 02             	shr    $0x2,%ecx
4032ac:	83 c6 10             	add    $0x10,%esi
4032af:	8d 78 10             	lea    0x10(%eax),%edi
4032b2:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4032b4:	8b ca                	mov    %edx,%ecx
4032b6:	83 e1 03             	and    $0x3,%ecx
4032b9:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4032bb:	5f                   	pop    %edi
4032bc:	5e                   	pop    %esi
4032bd:	c3                   	ret
4032be:	cc                   	int3
4032bf:	cc                   	int3
4032c0:	cc                   	int3
4032c1:	cc                   	int3
4032c2:	cc                   	int3
4032c3:	cc                   	int3
4032c4:	cc                   	int3
4032c5:	cc                   	int3
4032c6:	cc                   	int3
4032c7:	cc                   	int3
4032c8:	cc                   	int3
4032c9:	cc                   	int3
4032ca:	cc                   	int3
4032cb:	cc                   	int3
4032cc:	cc                   	int3
4032cd:	cc                   	int3
4032ce:	cc                   	int3
4032cf:	cc                   	int3
4032d0:	cc                   	int3
4032d1:	cc                   	int3
4032d2:	cc                   	int3
4032d3:	cc                   	int3
4032d4:	cc                   	int3
4032d5:	cc                   	int3
4032d6:	cc                   	int3
4032d7:	cc                   	int3
4032d8:	cc                   	int3
4032d9:	cc                   	int3
4032da:	cc                   	int3
4032db:	cc                   	int3
4032dc:	cc                   	int3
4032dd:	cc                   	int3
4032de:	cc                   	int3
4032df:	cc                   	int3
4032e0:	8b 01                	mov    (%ecx),%eax
4032e2:	8b 50 f4             	mov    -0xc(%eax),%edx
4032e5:	33 c9                	xor    %ecx,%ecx
4032e7:	85 d2                	test   %edx,%edx
4032e9:	0f 94 c1             	sete   %cl
4032ec:	8a c1                	mov    %cl,%al
4032ee:	c3                   	ret
4032ef:	cc                   	int3
4032f0:	cc                   	int3
4032f1:	cc                   	int3
4032f2:	cc                   	int3
4032f3:	cc                   	int3
4032f4:	cc                   	int3
4032f5:	cc                   	int3
4032f6:	cc                   	int3
4032f7:	cc                   	int3
4032f8:	cc                   	int3
4032f9:	cc                   	int3
4032fa:	cc                   	int3
4032fb:	cc                   	int3
4032fc:	cc                   	int3
4032fd:	cc                   	int3
4032fe:	cc                   	int3
4032ff:	cc                   	int3
403300:	56                   	push   %esi
403301:	8b f1                	mov    %ecx,%esi
403303:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403307:	8b 01                	mov    (%ecx),%eax
403309:	ff 50 0c             	call   *0xc(%eax)
40330c:	83 c0 10             	add    $0x10,%eax
40330f:	89 06                	mov    %eax,(%esi)
403311:	8b c6                	mov    %esi,%eax
403313:	5e                   	pop    %esi
403314:	c2 04 00             	ret    $0x4
403317:	cc                   	int3
403318:	cc                   	int3
403319:	cc                   	int3
40331a:	cc                   	int3
40331b:	cc                   	int3
40331c:	cc                   	int3
40331d:	cc                   	int3
40331e:	cc                   	int3
40331f:	cc                   	int3
403320:	83 ec 08             	sub    $0x8,%esp
403323:	56                   	push   %esi
403324:	6a 00                	push   $0x0
403326:	e8 32 40 01 00       	call   0x41735d
40332b:	dd 05 d0 91 48 00    	fldl   0x4891d0
403331:	8b 74 24 14          	mov    0x14(%esp),%esi
403335:	89 44 24 08          	mov    %eax,0x8(%esp)
403339:	dd 1e                	fstpl  (%esi)
40333b:	83 c4 04             	add    $0x4,%esp
40333e:	8d 44 24 04          	lea    0x4(%esp),%eax
403342:	50                   	push   %eax
403343:	8b ce                	mov    %esi,%ecx
403345:	89 54 24 0c          	mov    %edx,0xc(%esp)
403349:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
403350:	e8 f6 dc ff ff       	call   0x40104b
403355:	8b c6                	mov    %esi,%eax
403357:	5e                   	pop    %esi
403358:	83 c4 08             	add    $0x8,%esp
40335b:	c2 04 00             	ret    $0x4
40335e:	cc                   	int3
40335f:	cc                   	int3
403360:	cc                   	int3
403361:	cc                   	int3
403362:	cc                   	int3
403363:	cc                   	int3
403364:	cc                   	int3
403365:	cc                   	int3
403366:	cc                   	int3
403367:	cc                   	int3
403368:	cc                   	int3
403369:	cc                   	int3
40336a:	cc                   	int3
40336b:	cc                   	int3
40336c:	cc                   	int3
40336d:	cc                   	int3
40336e:	cc                   	int3
40336f:	cc                   	int3
403370:	56                   	push   %esi
403371:	8b f1                	mov    %ecx,%esi
403373:	e8 7e ce 03 00       	call   0x4401f6
403378:	8b 10                	mov    (%eax),%edx
40337a:	8b c8                	mov    %eax,%ecx
40337c:	ff 52 0c             	call   *0xc(%edx)
40337f:	83 c0 10             	add    $0x10,%eax
403382:	89 06                	mov    %eax,(%esi)
403384:	8b c6                	mov    %esi,%eax
403386:	5e                   	pop    %esi
403387:	c3                   	ret
403388:	cc                   	int3
403389:	cc                   	int3
40338a:	cc                   	int3
40338b:	cc                   	int3
40338c:	cc                   	int3
40338d:	cc                   	int3
40338e:	cc                   	int3
40338f:	cc                   	int3
403390:	8b 01                	mov    (%ecx),%eax
403392:	83 e8 10             	sub    $0x10,%eax
403395:	8d 48 0c             	lea    0xc(%eax),%ecx
403398:	83 ca ff             	or     $0xffffffff,%edx
40339b:	f0 0f c1 11          	lock xadd %edx,(%ecx)
40339f:	4a                   	dec    %edx
4033a0:	85 d2                	test   %edx,%edx
4033a2:	7f 08                	jg     0x4033ac
4033a4:	8b 08                	mov    (%eax),%ecx
4033a6:	8b 11                	mov    (%ecx),%edx
4033a8:	50                   	push   %eax
4033a9:	ff 52 04             	call   *0x4(%edx)
4033ac:	c3                   	ret
4033ad:	cc                   	int3
4033ae:	cc                   	int3
4033af:	cc                   	int3
4033b0:	cc                   	int3
4033b1:	cc                   	int3
4033b2:	cc                   	int3
4033b3:	cc                   	int3
4033b4:	cc                   	int3
4033b5:	cc                   	int3
4033b6:	cc                   	int3
4033b7:	cc                   	int3
4033b8:	cc                   	int3
4033b9:	cc                   	int3
4033ba:	cc                   	int3
4033bb:	cc                   	int3
4033bc:	cc                   	int3