404441:	ff 75 10             	push   0x10(%ebp)
404444:	ff 75 0c             	push   0xc(%ebp)
404447:	e8 83 fc ff ff       	call   0x4040cf
40444c:	5f                   	pop    %edi
40444d:	5e                   	pop    %esi
40444e:	5b                   	pop    %ebx
40444f:	c9                   	leave
404450:	c2 10 00             	ret    $0x10
404453:	83 3d ac 37 42 00 00 	cmpl   $0x0,0x4237ac
40445a:	a1 d0 ec 41 00       	mov    0x41ecd0,%eax
40445f:	75 05                	jne    0x404466
404461:	a1 04 fd 41 00       	mov    0x41fd04,%eax
404466:	6a 01                	push   $0x1
404468:	6a 01                	push   $0x1
40446a:	68 f4 00 00 00       	push   $0xf4
40446f:	50                   	push   %eax
404470:	ff 15 00 72 40 00    	call   *0x407200
404476:	c3                   	ret
404477:	55                   	push   %ebp
404478:	8b ec                	mov    %esp,%ebp
40447a:	83 ec 3c             	sub    $0x3c,%esp
40447d:	8b 45 08             	mov    0x8(%ebp),%eax
404480:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
404484:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
404488:	89 45 cc             	mov    %eax,-0x34(%ebp)
40448b:	8b 45 0c             	mov    0xc(%ebp),%eax
40448e:	c7 45 c8 00 05 00 00 	movl   $0x500,-0x38(%ebp)
404495:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404498:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40449b:	50                   	push   %eax
40449c:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4044a3:	c7 45 d0 00 92 40 00 	movl   $0x409200,-0x30(%ebp)
4044aa:	e8 0d 12 00 00       	call   0x4056bc
4044af:	c9                   	leave
4044b0:	c2 0c 00             	ret    $0xc
4044b3:	55                   	push   %ebp
4044b4:	8b ec                	mov    %esp,%ebp
4044b6:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
4044bd:	56                   	push   %esi
4044be:	8b 75 14             	mov    0x14(%ebp),%esi
4044c1:	75 26                	jne    0x4044e9
4044c3:	ff 76 30             	push   0x30(%esi)
4044c6:	6a 1d                	push   $0x1d
4044c8:	ff 75 08             	push   0x8(%ebp)
4044cb:	e8 98 fb ff ff       	call   0x404068
4044d0:	8b 46 3c             	mov    0x3c(%esi),%eax
4044d3:	c1 e0 0a             	shl    $0xa,%eax
4044d6:	05 00 40 42 00       	add    $0x424000,%eax
4044db:	50                   	push   %eax
4044dc:	68 e8 03 00 00       	push   $0x3e8
4044e1:	ff 75 08             	push   0x8(%ebp)
4044e4:	e8 eb 11 00 00       	call   0x4056d4
4044e9:	56                   	push   %esi
4044ea:	ff 75 10             	push   0x10(%ebp)
4044ed:	ff 75 0c             	push   0xc(%ebp)
4044f0:	e8 da fb ff ff       	call   0x4040cf
4044f5:	5e                   	pop    %esi
4044f6:	5d                   	pop    %ebp
4044f7:	c2 10 00             	ret    $0x10
4044fa:	55                   	push   %ebp
4044fb:	8b ec                	mov    %esp,%ebp
4044fd:	83 ec 4c             	sub    $0x4c,%esp
404500:	a1 e0 f4 41 00       	mov    0x41f4e0,%eax
404505:	53                   	push   %ebx
404506:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404509:	56                   	push   %esi
40450a:	8b 58 3c             	mov    0x3c(%eax),%ebx
40450d:	8b 40 38             	mov    0x38(%eax),%eax
404510:	c1 e3 0a             	shl    $0xa,%ebx
404513:	81 c3 00 40 42 00    	add    $0x424000,%ebx
404519:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404520:	57                   	push   %edi
404521:	89 45 f8             	mov    %eax,-0x8(%ebp)
404524:	75 11                	jne    0x404537
404526:	53                   	push   %ebx
404527:	68 fb 03 00 00       	push   $0x3fb
40452c:	e8 a9 11 00 00       	call   0x4056da
404531:	53                   	push   %ebx
404532:	e8 0d 1d 00 00       	call   0x406244
404537:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
40453e:	8b 75 08             	mov    0x8(%ebp),%esi
404541:	75 6c                	jne    0x4045af
404543:	68 fb 03 00 00       	push   $0x3fb
404548:	56                   	push   %esi
404549:	ff 15 d0 71 40 00    	call   *0x4071d0
40454f:	53                   	push   %ebx
404550:	8b f8                	mov    %eax,%edi
404552:	e8 88 14 00 00       	call   0x4059df
404557:	85 c0                	test   %eax,%eax
404559:	74 10                	je     0x40456b
40455b:	53                   	push   %ebx
40455c:	e8 aa 14 00 00       	call   0x405a0b
404561:	85 c0                	test   %eax,%eax
404563:	75 06                	jne    0x40456b
404565:	53                   	push   %ebx
404566:	e8 07 14 00 00       	call   0x405972
40456b:	53                   	push   %ebx
40456c:	57                   	push   %edi
40456d:	89 35 d8 2e 42 00    	mov    %esi,0x422ed8
404573:	ff 15 40 72 40 00    	call   *0x407240
404579:	8b 45 14             	mov    0x14(%ebp),%eax
40457c:	ff 70 34             	push   0x34(%eax)
40457f:	6a 01                	push   $0x1
404581:	56                   	push   %esi
404582:	e8 e1 fa ff ff       	call   0x404068
404587:	8b 45 14             	mov    0x14(%ebp),%eax
40458a:	ff 70 30             	push   0x30(%eax)
40458d:	6a 14                	push   $0x14
40458f:	56                   	push   %esi
404590:	e8 d3 fa ff ff       	call   0x404068
404595:	57                   	push   %edi
404596:	e8 02 fb ff ff       	call   0x40409d
40459b:	6a 07                	push   $0x7
40459d:	e8 d0 1d 00 00       	call   0x406372
4045a2:	85 c0                	test   %eax,%eax
4045a4:	0f 84 8c 02 00 00    	je     0x404836
4045aa:	6a 01                	push   $0x1
4045ac:	57                   	push   %edi
4045ad:	ff d0                	call   *%eax
4045af:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
4045b6:	0f 85 d1 00 00 00    	jne    0x40468d
4045bc:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
4045c0:	3d fb 03 00 00       	cmp    $0x3fb,%eax
4045c5:	75 18                	jne    0x4045df
4045c7:	8b 4d 10             	mov    0x10(%ebp),%ecx
4045ca:	c1 e9 10             	shr    $0x10,%ecx
4045cd:	66 81 f9 00 03       	cmp    $0x300,%cx
4045d2:	0f 85 5e 02 00 00    	jne    0x404836
4045d8:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4045df:	3d e9 03 00 00       	cmp    $0x3e9,%eax
4045e4:	0f 85 a3 00 00 00    	jne    0x40468d
4045ea:	6a 07                	push   $0x7
4045ec:	33 c0                	xor    %eax,%eax
4045ee:	59                   	pop    %ecx
4045ef:	8d 7d b8             	lea    -0x48(%ebp),%edi
4045f2:	ff 75 f8             	push   -0x8(%ebp)
4045f5:	f3 ab                	rep stos %eax,%es:(%edi)
4045f7:	bf 08 fd 41 00       	mov    $0x41fd08,%edi
4045fc:	68 e0 f0 41 00       	push   $0x41f0e0
404601:	89 75 b4             	mov    %esi,-0x4c(%ebp)
404604:	89 7d bc             	mov    %edi,-0x44(%ebp)
404607:	c7 45 c8 4b 48 40 00 	movl   $0x40484b,-0x38(%ebp)
40460e:	89 5d cc             	mov    %ebx,-0x34(%ebp)
404611:	e8 e6 19 00 00       	call   0x405ffc
404616:	89 45 c0             	mov    %eax,-0x40(%ebp)
404619:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40461c:	50                   	push   %eax
40461d:	c7 45 c4 41 00 00 00 	movl   $0x41,-0x3c(%ebp)
404624:	ff 15 74 71 40 00    	call   *0x407174
40462a:	85 c0                	test   %eax,%eax
40462c:	74 58                	je     0x404686
40462e:	50                   	push   %eax
40462f:	ff 15 88 72 40 00    	call   *0x407288
404635:	53                   	push   %ebx
404636:	e8 37 13 00 00       	call   0x405972
40463b:	a1 14 37 42 00       	mov    0x423714,%eax
404640:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
404646:	85 c0                	test   %eax,%eax
404648:	74 28                	je     0x404672
40464a:	81 fb 00 94 42 00    	cmp    $0x429400,%ebx
404650:	75 20                	jne    0x404672
404652:	50                   	push   %eax
404653:	6a 00                	push   $0x0
404655:	e8 a2 19 00 00       	call   0x405ffc
40465a:	57                   	push   %edi
40465b:	bf a0 26 42 00       	mov    $0x4226a0,%edi
404660:	57                   	push   %edi
404661:	ff 15 18 71 40 00    	call   *0x407118
404667:	85 c0                	test   %eax,%eax
404669:	74 07                	je     0x404672
40466b:	57                   	push   %edi
40466c:	53                   	push   %ebx
40466d:	e8 84 19 00 00       	call   0x405ff6
404672:	ff 05 f8 fc 41 00    	incl   0x41fcf8
404678:	53                   	push   %ebx
404679:	68 fb 03 00 00       	push   $0x3fb
40467e:	56                   	push   %esi
40467f:	e8 50 10 00 00       	call   0x4056d4
404684:	eb 07                	jmp    0x40468d
404686:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
40468d:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404694:	74 0d                	je     0x4046a3
404696:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
40469d:	0f 85 93 01 00 00    	jne    0x404836
4046a3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4046a7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4046ab:	53                   	push   %ebx
4046ac:	68 fb 03 00 00       	push   $0x3fb
4046b1:	e8 24 10 00 00       	call   0x4056da
4046b6:	53                   	push   %ebx
4046b7:	e8 a4 13 00 00       	call   0x405a60
4046bc:	85 c0                	test   %eax,%eax
4046be:	75 07                	jne    0x4046c7
4046c0:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4046c7:	be d8 ec 41 00       	mov    $0x41ecd8,%esi
4046cc:	53                   	push   %ebx
4046cd:	56                   	push   %esi
4046ce:	e8 07 19 00 00       	call   0x405fda
4046d3:	6a 01                	push   $0x1
4046d5:	e8 98 1c 00 00       	call   0x406372
4046da:	85 c0                	test   %eax,%eax
4046dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4046df:	74 35                	je     0x404716
4046e1:	33 c0                	xor    %eax,%eax
4046e3:	33 ff                	xor    %edi,%edi
4046e5:	3b c6                	cmp    %esi,%eax
4046e7:	74 2d                	je     0x404716
4046e9:	8d 45 dc             	lea    -0x24(%ebp),%eax
4046ec:	50                   	push   %eax
4046ed:	8d 45 e8             	lea    -0x18(%ebp),%eax
4046f0:	50                   	push   %eax
4046f1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4046f4:	50                   	push   %eax
4046f5:	56                   	push   %esi
4046f6:	ff 55 f4             	call   *-0xc(%ebp)
4046f9:	85 c0                	test   %eax,%eax
4046fb:	75 71                	jne    0x40476e
4046fd:	85 ff                	test   %edi,%edi
4046ff:	74 02                	je     0x404703
404701:	20 07                	and    %al,(%edi)
404703:	56                   	push   %esi
404704:	e8 b0 12 00 00       	call   0x4059b9
404709:	8b f8                	mov    %eax,%edi
40470b:	80 27 00             	andb   $0x0,(%edi)
40470e:	4f                   	dec    %edi
40470f:	3b fe                	cmp    %esi,%edi
404711:	c6 07 5c             	movb   $0x5c,(%edi)
404714:	75 d3                	jne    0x4046e9
404716:	53                   	push   %ebx
404717:	56                   	push   %esi
404718:	e8 bd 18 00 00       	call   0x405fda
40471d:	56                   	push   %esi
40471e:	e8 e8 12 00 00       	call   0x405a0b
404723:	33 ff                	xor    %edi,%edi
404725:	3b c7                	cmp    %edi,%eax
404727:	74 03                	je     0x40472c
404729:	80 20 00             	andb   $0x0,(%eax)
40472c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40472f:	50                   	push   %eax
404730:	8d 45 f4             	lea    -0xc(%ebp),%eax
404733:	50                   	push   %eax
404734:	8d 45 ec             	lea    -0x14(%ebp),%eax
404737:	50                   	push   %eax
404738:	8d 45 f0             	lea    -0x10(%ebp),%eax
40473b:	50                   	push   %eax
40473c:	56                   	push   %esi
40473d:	ff 15 a8 70 40 00    	call   *0x4070a8
404743:	85 c0                	test   %eax,%eax
404745:	74 43                	je     0x40478a
404747:	8b 45 f0             	mov    -0x10(%ebp),%eax
40474a:	be 00 04 00 00       	mov    $0x400,%esi
40474f:	0f af 45 ec          	imul   -0x14(%ebp),%eax
404753:	56                   	push   %esi
404754:	ff 75 f4             	push   -0xc(%ebp)
404757:	50                   	push   %eax
404758:	ff 15 44 71 40 00    	call   *0x407144
40475e:	99                   	cltd
40475f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404762:	89 55 d8             	mov    %edx,-0x28(%ebp)
404765:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40476c:	eb 21                	jmp    0x40478f
40476e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
404771:	8b 4d d8             	mov    -0x28(%ebp),%ecx
404774:	0f ac c8 0a          	shrd   $0xa,%ecx,%eax
404778:	c1 e9 0a             	shr    $0xa,%ecx
40477b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40477e:	89 4d d8             	mov    %ecx,-0x28(%ebp)
404781:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404788:	33 ff                	xor    %edi,%edi
40478a:	be 00 04 00 00       	mov    $0x400,%esi
40478f:	6a 05                	push   $0x5
404791:	e8 f8 01 00 00       	call   0x40498e
404796:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404799:	74 19                	je     0x4047b4
40479b:	8b 55 d8             	mov    -0x28(%ebp),%edx
40479e:	33 c9                	xor    %ecx,%ecx
4047a0:	3b d1                	cmp    %ecx,%edx
4047a2:	77 10                	ja     0x4047b4
4047a4:	72 07                	jb     0x4047ad
4047a6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4047a9:	3b c8                	cmp    %eax,%ecx
4047ab:	73 07                	jae    0x4047b4
4047ad:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4047b4:	8b 0d dc 2e 42 00    	mov    0x422edc,%ecx
4047ba:	39 79 10             	cmp    %edi,0x10(%ecx)
4047bd:	74 30                	je     0x4047ef
4047bf:	50                   	push   %eax
4047c0:	6a fb                	push   $0xfffffffb
4047c2:	68 ff 03 00 00       	push   $0x3ff
4047c7:	e8 aa 01 00 00       	call   0x404976
4047cc:	39 7d f8             	cmp    %edi,-0x8(%ebp)
4047cf:	74 10                	je     0x4047e1
4047d1:	ff 75 d8             	push   -0x28(%ebp)
4047d4:	ff 75 d4             	push   -0x2c(%ebp)
4047d7:	6a fc                	push   $0xfffffffc
4047d9:	56                   	push   %esi
4047da:	e8 d2 00 00 00       	call   0x4048b1
4047df:	eb 0e                	jmp    0x4047ef
4047e1:	68 c8 ec 41 00       	push   $0x41ecc8
4047e6:	56                   	push   %esi
4047e7:	ff 75 08             	push   0x8(%ebp)
4047ea:	e8 e5 0e 00 00       	call   0x4056d4
4047ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4047f2:	3b c7                	cmp    %edi,%eax
4047f4:	a3 c4 37 42 00       	mov    %eax,0x4237c4
4047f9:	75 0a                	jne    0x404805
4047fb:	6a 07                	push   $0x7
4047fd:	e8 09 cc ff ff       	call   0x40140b
404802:	89 45 fc             	mov    %eax,-0x4(%ebp)
404805:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404808:	85 70 14             	test   %esi,0x14(%eax)
40480b:	74 03                	je     0x404810
40480d:	89 7d fc             	mov    %edi,-0x4(%ebp)
404810:	33 c0                	xor    %eax,%eax
404812:	39 7d fc             	cmp    %edi,-0x4(%ebp)
404815:	0f 94 c0             	sete   %al
404818:	50                   	push   %eax
404819:	e8 6c f8 ff ff       	call   0x40408a
40481e:	39 7d fc             	cmp    %edi,-0x4(%ebp)
404821:	75 0d                	jne    0x404830
404823:	39 3d f8 fc 41 00    	cmp    %edi,0x41fcf8
404829:	75 05                	jne    0x404830
40482b:	e8 23 fc ff ff       	call   0x404453
404830:	89 3d f8 fc 41 00    	mov    %edi,0x41fcf8
404836:	ff 75 14             	push   0x14(%ebp)
404839:	ff 75 10             	push   0x10(%ebp)
40483c:	ff 75 0c             	push   0xc(%ebp)
40483f:	e8 8b f8 ff ff       	call   0x4040cf
404844:	5f                   	pop    %edi
404845:	5e                   	pop    %esi
404846:	5b                   	pop    %ebx
404847:	c9                   	leave
404848:	c2 10 00             	ret    $0x10
40484b:	55                   	push   %ebp
40484c:	8b ec                	mov    %esp,%ebp
40484e:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
404852:	56                   	push   %esi
404853:	8b 35 00 72 40 00    	mov    0x407200,%esi
404859:	75 1c                	jne    0x404877
40485b:	ff 75 14             	push   0x14(%ebp)
40485e:	68 fb 03 00 00       	push   $0x3fb
404863:	e8 72 0e 00 00       	call   0x4056da
404868:	ff 75 14             	push   0x14(%ebp)
40486b:	6a 01                	push   $0x1
40486d:	68 66 04 00 00       	push   $0x466
404872:	ff 75 08             	push   0x8(%ebp)
404875:	ff d6                	call   *%esi
404877:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
40487b:	75 2d                	jne    0x4048aa
40487d:	ff 75 14             	push   0x14(%ebp)