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
4033bd:	cc                   	int3
4033be:	cc                   	int3
4033bf:	cc                   	int3
4033c0:	8b 44 24 04          	mov    0x4(%esp),%eax
4033c4:	8b 00                	mov    (%eax),%eax
4033c6:	56                   	push   %esi
4033c7:	83 e8 10             	sub    $0x10,%eax
4033ca:	50                   	push   %eax
4033cb:	8b f1                	mov    %ecx,%esi
4033cd:	e8 46 dd ff ff       	call   0x401118
4033d2:	83 c0 10             	add    $0x10,%eax
4033d5:	89 06                	mov    %eax,(%esi)
4033d7:	83 c4 04             	add    $0x4,%esp
4033da:	8b c6                	mov    %esi,%eax
4033dc:	5e                   	pop    %esi
4033dd:	c2 04 00             	ret    $0x4
4033e0:	cc                   	int3
4033e1:	cc                   	int3
4033e2:	cc                   	int3
4033e3:	cc                   	int3
4033e4:	cc                   	int3
4033e5:	cc                   	int3
4033e6:	cc                   	int3
4033e7:	cc                   	int3
4033e8:	cc                   	int3
4033e9:	cc                   	int3
4033ea:	cc                   	int3
4033eb:	cc                   	int3
4033ec:	cc                   	int3
4033ed:	cc                   	int3
4033ee:	cc                   	int3
4033ef:	cc                   	int3
4033f0:	56                   	push   %esi
4033f1:	8b f1                	mov    %ecx,%esi
4033f3:	8b 06                	mov    (%esi),%eax
4033f5:	8b 50 fc             	mov    -0x4(%eax),%edx
4033f8:	83 e8 10             	sub    $0x10,%eax
4033fb:	b9 01 00 00 00       	mov    $0x1,%ecx
403400:	2b ca                	sub    %edx,%ecx
403402:	8b 50 08             	mov    0x8(%eax),%edx
403405:	8b 44 24 08          	mov    0x8(%esp),%eax
403409:	2b d0                	sub    %eax,%edx
40340b:	0b ca                	or     %edx,%ecx
40340d:	7d 08                	jge    0x403417
40340f:	50                   	push   %eax
403410:	8b ce                	mov    %esi,%ecx
403412:	e8 f9 df ff ff       	call   0x401410
403417:	8b 06                	mov    (%esi),%eax
403419:	5e                   	pop    %esi
40341a:	c2 04 00             	ret    $0x4
40341d:	cc                   	int3
40341e:	cc                   	int3
40341f:	cc                   	int3
403420:	cc                   	int3
403421:	cc                   	int3
403422:	cc                   	int3
403423:	cc                   	int3
403424:	cc                   	int3
403425:	cc                   	int3
403426:	cc                   	int3
403427:	cc                   	int3
403428:	cc                   	int3
403429:	cc                   	int3
40342a:	cc                   	int3
40342b:	cc                   	int3
40342c:	cc                   	int3
40342d:	cc                   	int3
40342e:	cc                   	int3
40342f:	cc                   	int3
403430:	56                   	push   %esi
403431:	8b f1                	mov    %ecx,%esi
403433:	c7 06 fc 91 48 00    	movl   $0x4891fc,(%esi)
403439:	e8 b8 cd 03 00       	call   0x4401f6
40343e:	8b 10                	mov    (%eax),%edx
403440:	8b c8                	mov    %eax,%ecx
403442:	ff 52 0c             	call   *0xc(%edx)
403445:	83 c0 10             	add    $0x10,%eax
403448:	89 46 24             	mov    %eax,0x24(%esi)
40344b:	e8 a6 cd 03 00       	call   0x4401f6
403450:	8b 10                	mov    (%eax),%edx
403452:	8b c8                	mov    %eax,%ecx
403454:	ff 52 0c             	call   *0xc(%edx)
403457:	83 c0 10             	add    $0x10,%eax
40345a:	89 46 28             	mov    %eax,0x28(%esi)
40345d:	e8 94 cd 03 00       	call   0x4401f6
403462:	8b 10                	mov    (%eax),%edx
403464:	8b c8                	mov    %eax,%ecx
403466:	ff 52 0c             	call   *0xc(%edx)
403469:	83 c0 10             	add    $0x10,%eax
40346c:	89 46 2c             	mov    %eax,0x2c(%esi)
40346f:	33 c0                	xor    %eax,%eax
403471:	89 46 04             	mov    %eax,0x4(%esi)
403474:	89 46 08             	mov    %eax,0x8(%esi)
403477:	88 46 18             	mov    %al,0x18(%esi)
40347a:	89 46 20             	mov    %eax,0x20(%esi)
40347d:	8b c6                	mov    %esi,%eax
40347f:	5e                   	pop    %esi
403480:	c3                   	ret
403481:	cc                   	int3
403482:	cc                   	int3
403483:	cc                   	int3
403484:	cc                   	int3
403485:	cc                   	int3
403486:	cc                   	int3
403487:	cc                   	int3
403488:	cc                   	int3
403489:	cc                   	int3
40348a:	cc                   	int3
40348b:	cc                   	int3
40348c:	cc                   	int3
40348d:	cc                   	int3
40348e:	cc                   	int3
40348f:	cc                   	int3
403490:	cc                   	int3
403491:	cc                   	int3
403492:	cc                   	int3
403493:	cc                   	int3
403494:	cc                   	int3
403495:	cc                   	int3
403496:	cc                   	int3
403497:	cc                   	int3
403498:	cc                   	int3
403499:	cc                   	int3
40349a:	cc                   	int3
40349b:	cc                   	int3
40349c:	cc                   	int3
40349d:	cc                   	int3
40349e:	cc                   	int3
40349f:	cc                   	int3
4034a0:	c2 04 00             	ret    $0x4
4034a3:	cc                   	int3
4034a4:	cc                   	int3
4034a5:	cc                   	int3
4034a6:	cc                   	int3
4034a7:	cc                   	int3
4034a8:	cc                   	int3
4034a9:	cc                   	int3
4034aa:	cc                   	int3
4034ab:	cc                   	int3
4034ac:	cc                   	int3
4034ad:	cc                   	int3
4034ae:	cc                   	int3
4034af:	cc                   	int3
4034b0:	6a ff                	push   $0xffffffff
4034b2:	68 51 22 48 00       	push   $0x482251
4034b7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4034bd:	50                   	push   %eax
4034be:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4034c5:	51                   	push   %ecx
4034c6:	56                   	push   %esi
4034c7:	8b f1                	mov    %ecx,%esi
4034c9:	89 74 24 04          	mov    %esi,0x4(%esp)
4034cd:	c7 06 fc 91 48 00    	movl   $0x4891fc,(%esi)
4034d3:	8b 4e 04             	mov    0x4(%esi),%ecx
4034d6:	85 c9                	test   %ecx,%ecx
4034d8:	c7 44 24 10 02 00 00 	movl   $0x2,0x10(%esp)
4034df:	00
4034e0:	74 13                	je     0x4034f5
4034e2:	8b 01                	mov    (%ecx),%eax
4034e4:	ff 50 0c             	call   *0xc(%eax)
4034e7:	8b 4e 04             	mov    0x4(%esi),%ecx
4034ea:	85 c9                	test   %ecx,%ecx
4034ec:	74 07                	je     0x4034f5
4034ee:	8b 11                	mov    (%ecx),%edx
4034f0:	6a 01                	push   $0x1
4034f2:	ff 52 04             	call   *0x4(%edx)
4034f5:	8b 46 2c             	mov    0x2c(%esi),%eax
4034f8:	83 e8 10             	sub    $0x10,%eax
4034fb:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
403502:	c6 44 24 10 01       	movb   $0x1,0x10(%esp)
403507:	8d 48 0c             	lea    0xc(%eax),%ecx
40350a:	83 ca ff             	or     $0xffffffff,%edx
40350d:	f0 0f c1 11          	lock xadd %edx,(%ecx)
403511:	4a                   	dec    %edx
403512:	85 d2                	test   %edx,%edx