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)
404880:	ff 75 10             	push   0x10(%ebp)
404883:	ff 15 70 71 40 00    	call   *0x407170
404889:	85 c0                	test   %eax,%eax
40488b:	74 0e                	je     0x40489b
40488d:	6a 07                	push   $0x7
40488f:	e8 77 cb ff ff       	call   0x40140b
404894:	85 c0                	test   %eax,%eax
404896:	75 03                	jne    0x40489b
404898:	40                   	inc    %eax
404899:	eb 02                	jmp    0x40489d
40489b:	33 c0                	xor    %eax,%eax
40489d:	50                   	push   %eax
40489e:	6a 00                	push   $0x0
4048a0:	68 65 04 00 00       	push   $0x465
4048a5:	ff 75 08             	push   0x8(%ebp)
4048a8:	ff d6                	call   *%esi
4048aa:	33 c0                	xor    %eax,%eax
4048ac:	5e                   	pop    %esi
4048ad:	5d                   	pop    %ebp
4048ae:	c2 10 00             	ret    $0x10
4048b1:	55                   	push   %ebp
4048b2:	8b ec                	mov    %esp,%ebp
4048b4:	83 ec 40             	sub    $0x40,%esp
4048b7:	8b 45 14             	mov    0x14(%ebp),%eax
4048ba:	53                   	push   %ebx
4048bb:	56                   	push   %esi
4048bc:	8b 75 10             	mov    0x10(%ebp),%esi
4048bf:	57                   	push   %edi
4048c0:	6a dc                	push   $0xffffffdc
4048c2:	85 c0                	test   %eax,%eax
4048c4:	5b                   	pop    %ebx
4048c5:	74 0b                	je     0x4048d2
4048c7:	0f ac c6 14          	shrd   $0x14,%eax,%esi
4048cb:	c1 e8 14             	shr    $0x14,%eax
4048ce:	33 ff                	xor    %edi,%edi
4048d0:	eb 4e                	jmp    0x404920
4048d2:	6a 14                	push   $0x14
4048d4:	81 fe 00 00 10 00    	cmp    $0x100000,%esi
4048da:	59                   	pop    %ecx
4048db:	8b c6                	mov    %esi,%eax
4048dd:	73 06                	jae    0x4048e5
4048df:	6a 0a                	push   $0xa
4048e1:	59                   	pop    %ecx
4048e2:	6a dd                	push   $0xffffffdd
4048e4:	5b                   	pop    %ebx
4048e5:	81 fe 00 04 00 00    	cmp    $0x400,%esi
4048eb:	73 05                	jae    0x4048f2
4048ed:	6a de                	push   $0xffffffde
4048ef:	33 c9                	xor    %ecx,%ecx
4048f1:	5b                   	pop    %ebx
4048f2:	81 fe 33 33 ff ff    	cmp    $0xffff3333,%esi
4048f8:	73 0d                	jae    0x404907
4048fa:	33 c0                	xor    %eax,%eax
4048fc:	6a 14                	push   $0x14
4048fe:	40                   	inc    %eax
4048ff:	5f                   	pop    %edi
404900:	d3 e0                	shl    %cl,%eax
404902:	99                   	cltd
404903:	f7 ff                	idiv   %edi
404905:	03 c6                	add    %esi,%eax
404907:	8b f0                	mov    %eax,%esi
404909:	25 ff ff ff 00       	and    $0xffffff,%eax
40490e:	6a 0a                	push   $0xa
404910:	33 d2                	xor    %edx,%edx
404912:	8d 04 80             	lea    (%eax,%eax,4),%eax
404915:	03 c0                	add    %eax,%eax
404917:	d3 e8                	shr    %cl,%eax
404919:	d3 ee                	shr    %cl,%esi
40491b:	59                   	pop    %ecx
40491c:	f7 f1                	div    %ecx
40491e:	8b fa                	mov    %edx,%edi
404920:	8d 45 e0             	lea    -0x20(%ebp),%eax
404923:	6a df                	push   $0xffffffdf
404925:	50                   	push   %eax
404926:	e8 d1 16 00 00       	call   0x405ffc
40492b:	50                   	push   %eax
40492c:	8d 45 c0             	lea    -0x40(%ebp),%eax
40492f:	53                   	push   %ebx
404930:	50                   	push   %eax
404931:	e8 c6 16 00 00       	call   0x405ffc
404936:	50                   	push   %eax
404937:	57                   	push   %edi
404938:	56                   	push   %esi
404939:	68 08 92 40 00       	push   $0x409208
40493e:	ff 75 0c             	push   0xc(%ebp)
404941:	be 08 fd 41 00       	mov    $0x41fd08,%esi
404946:	56                   	push   %esi
404947:	e8 b0 16 00 00       	call   0x405ffc
40494c:	56                   	push   %esi
40494d:	8b f8                	mov    %eax,%edi
40494f:	e8 9c 16 00 00       	call   0x405ff0
404954:	03 f8                	add    %eax,%edi
404956:	57                   	push   %edi
404957:	ff 15 74 72 40 00    	call   *0x407274
40495d:	83 c4 18             	add    $0x18,%esp
404960:	56                   	push   %esi
404961:	ff 75 08             	push   0x8(%ebp)
404964:	ff 35 d8 2e 42 00    	push   0x422ed8
40496a:	e8 65 0d 00 00       	call   0x4056d4
40496f:	5f                   	pop    %edi
404970:	5e                   	pop    %esi
404971:	5b                   	pop    %ebx
404972:	c9                   	leave
404973:	c2 10 00             	ret    $0x10
404976:	8b 44 24 0c          	mov    0xc(%esp),%eax
40497a:	33 c9                	xor    %ecx,%ecx
40497c:	51                   	push   %ecx
40497d:	50                   	push   %eax
40497e:	ff 74 24 10          	push   0x10(%esp)
404982:	ff 74 24 10          	push   0x10(%esp)
404986:	e8 26 ff ff ff       	call   0x4048b1
40498b:	c2 0c 00             	ret    $0xc
40498e:	8b 15 4c 37 42 00    	mov    0x42374c,%edx
404994:	8b 0d 48 37 42 00    	mov    0x423748,%ecx
40499a:	33 c0                	xor    %eax,%eax
40499c:	85 d2                	test   %edx,%edx
40499e:	74 18                	je     0x4049b8
4049a0:	56                   	push   %esi
4049a1:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
4049a5:	74 07                	je     0x4049ae
4049a7:	8b 74 24 08          	mov    0x8(%esp),%esi
4049ab:	03 04 b1             	add    (%ecx,%esi,4),%eax
4049ae:	81 c1 18 04 00 00    	add    $0x418,%ecx
4049b4:	4a                   	dec    %edx
4049b5:	75 ea                	jne    0x4049a1
4049b7:	5e                   	pop    %esi
4049b8:	c2 04 00             	ret    $0x4
4049bb:	55                   	push   %ebp
4049bc:	8b ec                	mov    %esp,%ebp
4049be:	83 ec 38             	sub    $0x38,%esp
4049c1:	56                   	push   %esi
4049c2:	8b 35 00 72 40 00    	mov    0x407200,%esi
4049c8:	57                   	push   %edi
4049c9:	8b 7d 08             	mov    0x8(%ebp),%edi
4049cc:	6a 00                	push   $0x0
4049ce:	6a 09                	push   $0x9
4049d0:	68 0a 11 00 00       	push   $0x110a
4049d5:	57                   	push   %edi
4049d6:	ff d6                	call   *%esi
4049d8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4049dc:	74 3c                	je     0x404a1a
4049de:	ff 15 ac 71 40 00    	call   *0x4071ac
4049e4:	0f bf c8             	movswl %ax,%ecx
4049e7:	c1 e8 10             	shr    $0x10,%eax
4049ea:	0f bf c0             	movswl %ax,%eax
4049ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
4049f0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4049f3:	50                   	push   %eax
4049f4:	57                   	push   %edi
4049f5:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4049f8:	ff 15 c8 71 40 00    	call   *0x4071c8
4049fe:	8d 45 f0             	lea    -0x10(%ebp),%eax
404a01:	50                   	push   %eax
404a02:	6a 00                	push   $0x0
404a04:	68 11 11 00 00       	push   $0x1111
404a09:	57                   	push   %edi
404a0a:	ff d6                	call   *%esi
404a0c:	f6 45 f8 66          	testb  $0x66,-0x8(%ebp)
404a10:	75 05                	jne    0x404a17
404a12:	83 c8 ff             	or     $0xffffffff,%eax
404a15:	eb 1e                	jmp    0x404a35
404a17:	8b 45 fc             	mov    -0x4(%ebp),%eax
404a1a:	89 45 cc             	mov    %eax,-0x34(%ebp)
404a1d:	8d 45 c8             	lea    -0x38(%ebp),%eax
404a20:	50                   	push   %eax
404a21:	6a 00                	push   $0x0
404a23:	68 0c 11 00 00       	push   $0x110c
404a28:	57                   	push   %edi
404a29:	c7 45 c8 04 00 00 00 	movl   $0x4,-0x38(%ebp)
404a30:	ff d6                	call   *%esi
404a32:	8b 45 ec             	mov    -0x14(%ebp),%eax
404a35:	5f                   	pop    %edi
404a36:	5e                   	pop    %esi
404a37:	c9                   	leave
404a38:	c2 08 00             	ret    $0x8