404322:	53                   	push   %ebx
404323:	56                   	push   %esi
404324:	57                   	push   %edi
404325:	68 e8 03 00 00       	push   $0x3e8
40432a:	ff 75 08             	push   0x8(%ebp)
40432d:	8b f9                	mov    %ecx,%edi
40432f:	ff 15 bc a2 40 00    	call   *0x40a2bc
404335:	8b 35 dc a2 40 00    	mov    0x40a2dc,%esi
40433b:	33 db                	xor    %ebx,%ebx
40433d:	89 45 f8             	mov    %eax,-0x8(%ebp)
404340:	8b 87 5c 02 00 00    	mov    0x25c(%edi),%eax
404346:	53                   	push   %ebx
404347:	53                   	push   %ebx
404348:	68 04 10 00 00       	push   $0x1004
40434d:	ff b0 ec 01 00 00    	push   0x1ec(%eax)
404353:	ff d6                	call   *%esi
404355:	ff 75 0c             	push   0xc(%ebp)
404358:	89 45 fc             	mov    %eax,-0x4(%ebp)
40435b:	8d 85 c0 fe ff ff    	lea    -0x140(%ebp),%eax
404361:	68 e4 c5 40 00       	push   $0x40c5e4
404366:	50                   	push   %eax
404367:	ff 15 58 a1 40 00    	call   *0x40a158
40436d:	83 c4 0c             	add    $0xc,%esp
404370:	8d 85 c0 fe ff ff    	lea    -0x140(%ebp),%eax
404376:	50                   	push   %eax
404377:	53                   	push   %ebx
404378:	6a 0c                	push   $0xc
40437a:	ff 75 08             	push   0x8(%ebp)
40437d:	ff d6                	call   *%esi
40437f:	8b 45 f8             	mov    -0x8(%ebp),%eax
404382:	ff 75 0c             	push   0xc(%ebp)
404385:	89 87 60 02 00 00    	mov    %eax,0x260(%edi)
40438b:	8b 87 5c 02 00 00    	mov    0x25c(%edi),%eax
404391:	89 98 dc 01 00 00    	mov    %ebx,0x1dc(%eax)
404397:	8b 87 5c 02 00 00    	mov    0x25c(%edi),%eax
40439d:	05 d8 00 00 00       	add    $0xd8,%eax
4043a2:	50                   	push   %eax
4043a3:	e8 a0 4c 00 00       	call   0x409048
4043a8:	59                   	pop    %ecx
4043a9:	59                   	pop    %ecx
4043aa:	53                   	push   %ebx
4043ab:	53                   	push   %ebx
4043ac:	68 09 10 00 00       	push   $0x1009
4043b1:	ff 75 f8             	push   -0x8(%ebp)
4043b4:	ff d6                	call   *%esi
4043b6:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
4043b9:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4043bc:	7e 15                	jle    0x4043d3
4043be:	ff 75 0c             	push   0xc(%ebp)
4043c1:	8b cf                	mov    %edi,%ecx
4043c3:	e8 f6 f5 ff ff       	call   0x4039be
4043c8:	ff 45 0c             	incl   0xc(%ebp)
4043cb:	8b 45 0c             	mov    0xc(%ebp),%eax
4043ce:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4043d1:	7c eb                	jl     0x4043be
4043d3:	68 d4 c5 40 00       	push   $0x40c5d4
4043d8:	53                   	push   %ebx
4043d9:	6a 0c                	push   $0xc
4043db:	ff 75 08             	push   0x8(%ebp)
4043de:	ff d6                	call   *%esi
4043e0:	5f                   	pop    %edi
4043e1:	5e                   	pop    %esi
4043e2:	5b                   	pop    %ebx
4043e3:	c9                   	leave
4043e4:	c2 08 00             	ret    $0x8
4043e7:	33 c0                	xor    %eax,%eax
4043e9:	89 0d c0 d7 40 00    	mov    %ecx,0x40d7c0
4043ef:	50                   	push   %eax
4043f0:	68 cc 40 40 00       	push   $0x4040cc
4043f5:	50                   	push   %eax
4043f6:	6a 65                	push   $0x65
4043f8:	50                   	push   %eax
4043f9:	ff 15 f8 a0 40 00    	call   *0x40a0f8
4043ff:	50                   	push   %eax
404400:	ff 15 e4 a2 40 00    	call   *0x40a2e4
404406:	c2 04 00             	ret    $0x4
404409:	8b c1                	mov    %ecx,%eax
40440b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40440f:	89 48 3c             	mov    %ecx,0x3c(%eax)
404412:	33 c9                	xor    %ecx,%ecx
404414:	89 48 4c             	mov    %ecx,0x4c(%eax)
404417:	89 48 30             	mov    %ecx,0x30(%eax)
40441a:	89 48 04             	mov    %ecx,0x4(%eax)
40441d:	89 48 08             	mov    %ecx,0x8(%eax)
404420:	89 48 0c             	mov    %ecx,0xc(%eax)
404423:	89 48 10             	mov    %ecx,0x10(%eax)
404426:	89 48 18             	mov    %ecx,0x18(%eax)
404429:	89 48 44             	mov    %ecx,0x44(%eax)
40442c:	89 48 48             	mov    %ecx,0x48(%eax)
40442f:	89 48 1c             	mov    %ecx,0x1c(%eax)
404432:	89 48 20             	mov    %ecx,0x20(%eax)
404435:	c2 04 00             	ret    $0x4
404438:	55                   	push   %ebp
404439:	8b ec                	mov    %esp,%ebp
40443b:	81 ec 08 01 00 00    	sub    $0x108,%esp
404441:	56                   	push   %esi
404442:	57                   	push   %edi
404443:	8b 7d 08             	mov    0x8(%ebp),%edi
404446:	8d 45 fc             	lea    -0x4(%ebp),%eax
404449:	50                   	push   %eax
40444a:	57                   	push   %edi
40444b:	ff 15 8c a2 40 00    	call   *0x40a28c
404451:	8b 75 0c             	mov    0xc(%ebp),%esi
404454:	8b 45 fc             	mov    -0x4(%ebp),%eax
404457:	3b 46 58             	cmp    0x58(%esi),%eax
40445a:	75 7c                	jne    0x4044d8
40445c:	6a 04                	push   $0x4
40445e:	57                   	push   %edi
40445f:	ff 15 48 a2 40 00    	call   *0x40a248
404465:	85 c0                	test   %eax,%eax
404467:	75 6f                	jne    0x4044d8
404469:	57                   	push   %edi
40446a:	ff 15 4c a2 40 00    	call   *0x40a24c
404470:	85 c0                	test   %eax,%eax
404472:	74 64                	je     0x4044d8
404474:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
40447a:	68 04 01 00 00       	push   $0x104
40447f:	50                   	push   %eax
404480:	57                   	push   %edi
404481:	ff 15 50 a2 40 00    	call   *0x40a250
404487:	85 c0                	test   %eax,%eax
404489:	7e 4d                	jle    0x4044d8
40448b:	53                   	push   %ebx
40448c:	8b 5e 44             	mov    0x44(%esi),%ebx
40448f:	6a 00                	push   $0x0
404491:	6a 01                	push   $0x1
404493:	6a 7f                	push   $0x7f
404495:	57                   	push   %edi
404496:	8b 3d dc a2 40 00    	mov    0x40a2dc,%edi
40449c:	ff d7                	call   *%edi
40449e:	85 c0                	test   %eax,%eax
4044a0:	75 0d                	jne    0x4044af
4044a2:	50                   	push   %eax
4044a3:	50                   	push   %eax
4044a4:	6a 7f                	push   $0x7f
4044a6:	ff 75 08             	push   0x8(%ebp)
4044a9:	ff d7                	call   *%edi
4044ab:	85 c0                	test   %eax,%eax
4044ad:	74 0f                	je     0x4044be
4044af:	50                   	push   %eax
4044b0:	ff 76 48             	push   0x48(%esi)
4044b3:	ff 76 40             	push   0x40(%esi)
4044b6:	ff 15 40 a0 40 00    	call   *0x40a040
4044bc:	8b d8                	mov    %eax,%ebx
4044be:	ff 75 08             	push   0x8(%ebp)
4044c1:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4044c7:	8b ce                	mov    %esi,%ecx
4044c9:	53                   	push   %ebx
4044ca:	ff 76 4c             	push   0x4c(%esi)
4044cd:	50                   	push   %eax
4044ce:	e8 00 0a 00 00       	call   0x404ed3
4044d3:	33 c0                	xor    %eax,%eax
4044d5:	5b                   	pop    %ebx
4044d6:	eb 03                	jmp    0x4044db
4044d8:	6a 01                	push   $0x1
4044da:	58                   	pop    %eax
4044db:	5f                   	pop    %edi
4044dc:	5e                   	pop    %esi
4044dd:	c9                   	leave
4044de:	c2 08 00             	ret    $0x8
4044e1:	55                   	push   %ebp
4044e2:	8b ec                	mov    %esp,%ebp
4044e4:	81 ec 04 01 00 00    	sub    $0x104,%esp
4044ea:	53                   	push   %ebx
4044eb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4044ee:	56                   	push   %esi
4044ef:	57                   	push   %edi
4044f0:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
4044f6:	68 b4 00 00 00       	push   $0xb4
4044fb:	50                   	push   %eax
4044fc:	53                   	push   %ebx
4044fd:	ff 15 50 a2 40 00    	call   *0x40a250
404503:	8b f0                	mov    %eax,%esi
404505:	85 f6                	test   %esi,%esi
404507:	74 14                	je     0x40451d
404509:	c6 84 35 fc fe ff ff 	movb   $0x20,-0x104(%ebp,%esi,1)
404510:	20
404511:	c6 84 35 fd fe ff ff 	movb   $0x28,-0x103(%ebp,%esi,1)
404518:	28
404519:	46                   	inc    %esi
40451a:	46                   	inc    %esi
40451b:	eb 0a                	jmp    0x404527
40451d:	6a 01                	push   $0x1
40451f:	c6 85 fc fe ff ff 28 	movb   $0x28,-0x104(%ebp)
404526:	5e                   	pop    %esi
404527:	b8 04 01 00 00       	mov    $0x104,%eax
40452c:	2b c6                	sub    %esi,%eax
40452e:	50                   	push   %eax
40452f:	8d 84 35 fc fe ff ff 	lea    -0x104(%ebp,%esi,1),%eax
404536:	50                   	push   %eax
404537:	53                   	push   %ebx
404538:	ff 15 88 a2 40 00    	call   *0x40a288
40453e:	03 f0                	add    %eax,%esi
404540:	c6 84 35 fc fe ff ff 	movb   $0x29,-0x104(%ebp,%esi,1)
404547:	29
404548:	80 a4 35 fd fe ff ff 	andb   $0x0,-0x103(%ebp,%esi,1)
40454f:	00
404550:	83 fe 01             	cmp    $0x1,%esi
404553:	75 13                	jne    0x404568
404555:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40455b:	68 6c c3 40 00       	push   $0x40c36c
404560:	50                   	push   %eax
404561:	e8 e2 4a 00 00       	call   0x409048
404566:	59                   	pop    %ecx
404567:	59                   	pop    %ecx
404568:	8b 75 0c             	mov    0xc(%ebp),%esi
40456b:	53                   	push   %ebx
40456c:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
404572:	8b ce                	mov    %esi,%ecx
404574:	ff 76 44             	push   0x44(%esi)
404577:	8b 7e 50             	mov    0x50(%esi),%edi
40457a:	57                   	push   %edi
40457b:	50                   	push   %eax
40457c:	e8 52 09 00 00       	call   0x404ed3
404581:	56                   	push   %esi
404582:	68 e1 44 40 00       	push   $0x4044e1
404587:	53                   	push   %ebx
404588:	89 46 50             	mov    %eax,0x50(%esi)
40458b:	ff 15 e8 a2 40 00    	call   *0x40a2e8
404591:	6a 01                	push   $0x1
404593:	89 7e 50             	mov    %edi,0x50(%esi)
404596:	58                   	pop    %eax
404597:	5f                   	pop    %edi
404598:	5e                   	pop    %esi
404599:	5b                   	pop    %ebx
40459a:	c9                   	leave
40459b:	c2 08 00             	ret    $0x8
40459e:	55                   	push   %ebp
40459f:	8b ec                	mov    %esp,%ebp
4045a1:	51                   	push   %ecx
4045a2:	8d 45 fc             	lea    -0x4(%ebp),%eax
4045a5:	50                   	push   %eax
4045a6:	68 3f 00 0f 00       	push   $0xf003f
4045ab:	6a 00                	push   $0x0
4045ad:	68 10 c7 40 00       	push   $0x40c710
4045b2:	68 01 00 00 80       	push   $0x80000001
4045b7:	ff 15 04 a0 40 00    	call   *0x40a004
4045bd:	85 c0                	test   %eax,%eax
4045bf:	75 6f                	jne    0x404630
4045c1:	56                   	push   %esi
4045c2:	57                   	push   %edi
4045c3:	8b 7d 08             	mov    0x8(%ebp),%edi
4045c6:	57                   	push   %edi
4045c7:	e8 82 4a 00 00       	call   0x40904e
4045cc:	59                   	pop    %ecx
4045cd:	8d 74 38 f7          	lea    -0x9(%eax,%edi,1),%esi
4045d1:	3b f7                	cmp    %edi,%esi
4045d3:	76 1a                	jbe    0x4045ef
4045d5:	6a 09                	push   $0x9
4045d7:	68 04 c7 40 00       	push   $0x40c704
4045dc:	56                   	push   %esi
4045dd:	ff 15 34 a1 40 00    	call   *0x40a134
4045e3:	83 c4 0c             	add    $0xc,%esp
4045e6:	85 c0                	test   %eax,%eax
4045e8:	75 02                	jne    0x4045ec
4045ea:	20 06                	and    %al,(%esi)
4045ec:	4e                   	dec    %esi
4045ed:	eb e2                	jmp    0x4045d1
4045ef:	57                   	push   %edi
4045f0:	e8 59 4a 00 00       	call   0x40904e
4045f5:	59                   	pop    %ecx
4045f6:	50                   	push   %eax
4045f7:	57                   	push   %edi
4045f8:	6a 01                	push   $0x1
4045fa:	6a 00                	push   $0x0
4045fc:	68 fc c6 40 00       	push   $0x40c6fc
404601:	ff 75 fc             	push   -0x4(%ebp)
404604:	ff 15 08 a0 40 00    	call   *0x40a008
40460a:	ff 75 fc             	push   -0x4(%ebp)
40460d:	ff 15 00 a0 40 00    	call   *0x40a000
404613:	b8 c4 d7 40 00       	mov    $0x40d7c4,%eax
404618:	6a 05                	push   $0x5
40461a:	50                   	push   %eax
40461b:	50                   	push   %eax
40461c:	68 f0 c6 40 00       	push   $0x40c6f0
404621:	68 e8 c6 40 00       	push   $0x40c6e8
404626:	6a 00                	push   $0x0
404628:	ff 15 d0 a1 40 00    	call   *0x40a1d0
40462e:	5f                   	pop    %edi
40462f:	5e                   	pop    %esi
404630:	c9                   	leave
404631:	c2 04 00             	ret    $0x4
404634:	b8 64 94 40 00       	mov    $0x409464,%eax
404639:	e8 f2 48 00 00       	call   0x408f30
40463e:	83 ec 1c             	sub    $0x1c,%esp
404641:	53                   	push   %ebx
404642:	56                   	push   %esi
404643:	33 db                	xor    %ebx,%ebx
404645:	57                   	push   %edi
404646:	39 1d c8 d7 40 00    	cmp    %ebx,0x40d7c8
40464c:	89 65 f0             	mov    %esp,-0x10(%ebp)
40464f:	8b f9                	mov    %ecx,%edi
404651:	89 5d ec             	mov    %ebx,-0x14(%ebp)
404654:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404657:	75 15                	jne    0x40466e
404659:	8d 45 e8             	lea    -0x18(%ebp),%eax
40465c:	68 68 a4 40 00       	push   $0x40a468
404661:	50                   	push   %eax
404662:	c7 45 e8 98 c7 40 00 	movl   $0x40c798,-0x18(%ebp)
404669:	e8 c8 48 00 00       	call   0x408f36
40466e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404671:	8d 41 0a             	lea    0xa(%ecx),%eax
404674:	8a 10                	mov    (%eax),%dl
404676:	3a d3                	cmp    %bl,%dl
404678:	74 08                	je     0x404682
40467a:	80 fa 20             	cmp    $0x20,%dl
40467d:	74 03                	je     0x404682
40467f:	40                   	inc    %eax
404680:	eb f2                	jmp    0x404674
404682:	83 c1 0a             	add    $0xa,%ecx
404685:	88 18                	mov    %bl,(%eax)
404687:	51                   	push   %ecx
404688:	ff 15 38 a1 40 00    	call   *0x40a138
40468e:	83 f8 01             	cmp    $0x1,%eax
404691:	59                   	pop    %ecx
404692:	7d 15                	jge    0x4046a9
404694:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404697:	68 68 a4 40 00       	push   $0x40a468
40469c:	50                   	push   %eax
40469d:	c7 45 e4 84 c7 40 00 	movl   $0x40c784,-0x1c(%ebp)
4046a4:	e8 8d 48 00 00       	call   0x408f36
4046a9:	50                   	push   %eax
4046aa:	53                   	push   %ebx
4046ab:	6a 01                	push   $0x1
4046ad:	ff 15 c8 d7 40 00    	call   *0x40d7c8
4046b3:	8b f0                	mov    %eax,%esi
4046b5:	3b f3                	cmp    %ebx,%esi
4046b7:	89 75 ec             	mov    %esi,-0x14(%ebp)
4046ba:	75 15                	jne    0x4046d1
4046bc:	8d 45 e0             	lea    -0x20(%ebp),%eax
4046bf:	68 68 a4 40 00       	push   $0x40a468
4046c4:	50                   	push   %eax
4046c5:	c7 45 e0 64 c7 40 00 	movl   $0x40c764,-0x20(%ebp)
4046cc:	e8 65 48 00 00       	call   0x408f36
4046d1:	53                   	push   %ebx
4046d2:	56                   	push   %esi
4046d3:	ff 15 ec a0 40 00    	call   *0x40a0ec
4046d9:	85 c0                	test   %eax,%eax
4046db:	75 15                	jne    0x4046f2
4046dd:	8d 45 dc             	lea    -0x24(%ebp),%eax
4046e0:	68 68 a4 40 00       	push   $0x40a468
4046e5:	50                   	push   %eax
4046e6:	c7 45 dc 4c c7 40 00 	movl   $0x40c74c,-0x24(%ebp)
4046ed:	e8 44 48 00 00       	call   0x408f36
4046f2:	56                   	push   %esi
4046f3:	ff 15 dc a0 40 00    	call   *0x40a0dc
4046f9:	6a fe                	push   $0xfffffffe
4046fb:	8b cf                	mov    %edi,%ecx
4046fd:	e8 45 08 00 00       	call   0x404f47
404702:	8b 4d f4             	mov    -0xc(%ebp),%ecx