4046ae:	89 0f                	mov    %ecx,(%edi)
4046b0:	e8 cc fc ff ff       	call   0x404381
4046b5:	e8 ef 00 00 00       	call   0x4047a9
4046ba:	83 7d 0c 4e          	cmpl   $0x4e,0xc(%ebp)
4046be:	0f 85 c0 00 00 00    	jne    0x404784
4046c4:	68 e8 03 00 00       	push   $0x3e8
4046c9:	ff 75 08             	push   0x8(%ebp)
4046cc:	ff 15 e4 81 40 00    	call   *0x4081e4
4046d2:	8b 7d 14             	mov    0x14(%ebp),%edi
4046d5:	81 7f 08 0b 07 00 00 	cmpl   $0x70b,0x8(%edi)
4046dc:	75 67                	jne    0x404745
4046de:	81 7f 0c 01 02 00 00 	cmpl   $0x201,0xc(%edi)
4046e5:	75 5e                	jne    0x404745
4046e7:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4046ea:	8b 57 18             	mov    0x18(%edi),%edx
4046ed:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4046f0:	2b ca                	sub    %edx,%ecx
4046f2:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
4046f8:	89 55 f4             	mov    %edx,-0xc(%ebp)
4046fb:	c7 45 fc e0 81 42 00 	movl   $0x4281e0,-0x4(%ebp)
404702:	73 41                	jae    0x404745
404704:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404707:	51                   	push   %ecx
404708:	53                   	push   %ebx
404709:	68 4b 04 00 00       	push   $0x44b
40470e:	50                   	push   %eax
40470f:	ff d6                	call   *%esi
404711:	8b 3d b4 81 40 00    	mov    0x4081b4,%edi
404717:	68 02 7f 00 00       	push   $0x7f02
40471c:	53                   	push   %ebx
40471d:	ff d7                	call   *%edi
40471f:	50                   	push   %eax
404720:	ff 15 b0 81 40 00    	call   *0x4081b0
404726:	6a 01                	push   $0x1
404728:	ff 75 fc             	push   -0x4(%ebp)
40472b:	ff 75 08             	push   0x8(%ebp)
40472e:	e8 9a 00 00 00       	call   0x4047cd
404733:	68 00 7f 00 00       	push   $0x7f00
404738:	53                   	push   %ebx
404739:	ff d7                	call   *%edi
40473b:	50                   	push   %eax
40473c:	ff 15 b0 81 40 00    	call   *0x4081b0
404742:	8b 7d 14             	mov    0x14(%ebp),%edi
404745:	81 7f 08 00 07 00 00 	cmpl   $0x700,0x8(%edi)
40474c:	75 48                	jne    0x404796
40474e:	81 7f 0c 00 01 00 00 	cmpl   $0x100,0xc(%edi)
404755:	75 3f                	jne    0x404796
404757:	83 7f 10 0d          	cmpl   $0xd,0x10(%edi)
40475b:	75 10                	jne    0x40476d
40475d:	53                   	push   %ebx
40475e:	6a 01                	push   $0x1
404760:	68 11 01 00 00       	push   $0x111
404765:	ff 35 48 a2 42 00    	push   0x42a248
40476b:	ff d6                	call   *%esi
40476d:	83 7f 10 1b          	cmpl   $0x1b,0x10(%edi)
404771:	75 0c                	jne    0x40477f
404773:	53                   	push   %ebx
404774:	53                   	push   %ebx
404775:	6a 10                	push   $0x10
404777:	ff 35 48 a2 42 00    	push   0x42a248
40477d:	ff d6                	call   *%esi
40477f:	33 c0                	xor    %eax,%eax
404781:	40                   	inc    %eax
404782:	eb 1e                	jmp    0x4047a2
404784:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
40478b:	75 06                	jne    0x404793
40478d:	ff 05 f4 16 42 00    	incl   0x4216f4
404793:	8b 7d 14             	mov    0x14(%ebp),%edi
404796:	57                   	push   %edi
404797:	ff 75 10             	push   0x10(%ebp)
40479a:	ff 75 0c             	push   0xc(%ebp)
40479d:	e8 24 fc ff ff       	call   0x4043c6
4047a2:	5f                   	pop    %edi
4047a3:	5e                   	pop    %esi
4047a4:	5b                   	pop    %ebx
4047a5:	c9                   	leave
4047a6:	c2 10 00             	ret    $0x10
4047a9:	83 3d ec a2 42 00 00 	cmpl   $0x0,0x42a2ec
4047b0:	a1 f0 16 42 00       	mov    0x4216f0,%eax
4047b5:	75 05                	jne    0x4047bc
4047b7:	a1 24 37 42 00       	mov    0x423724,%eax
4047bc:	6a 01                	push   $0x1
4047be:	6a 01                	push   $0x1
4047c0:	68 f4 00 00 00       	push   $0xf4
4047c5:	50                   	push   %eax
4047c6:	ff 15 18 82 40 00    	call   *0x408218
4047cc:	c3                   	ret
4047cd:	55                   	push   %ebp
4047ce:	8b ec                	mov    %esp,%ebp
4047d0:	83 ec 3c             	sub    $0x3c,%esp
4047d3:	8b 45 08             	mov    0x8(%ebp),%eax
4047d6:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
4047da:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
4047de:	89 45 cc             	mov    %eax,-0x34(%ebp)
4047e1:	8b 45 0c             	mov    0xc(%ebp),%eax
4047e4:	c7 45 c8 00 05 00 00 	movl   $0x500,-0x38(%ebp)
4047eb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4047ee:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4047f1:	50                   	push   %eax
4047f2:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4047f9:	c7 45 d0 c8 a3 40 00 	movl   $0x40a3c8,-0x30(%ebp)
404800:	e8 0f 12 00 00       	call   0x405a14
404805:	c9                   	leave
404806:	c2 0c 00             	ret    $0xc
404809:	55                   	push   %ebp
40480a:	8b ec                	mov    %esp,%ebp
40480c:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404813:	56                   	push   %esi
404814:	8b 75 14             	mov    0x14(%ebp),%esi
404817:	75 26                	jne    0x40483f
404819:	ff 76 30             	push   0x30(%esi)
40481c:	6a 1d                	push   $0x1d
40481e:	ff 75 08             	push   0x8(%ebp)
404821:	e8 39 fb ff ff       	call   0x40435f
404826:	8b 46 3c             	mov    0x3c(%esi),%eax
404829:	c1 e0 0b             	shl    $0xb,%eax
40482c:	05 00 b0 42 00       	add    $0x42b000,%eax
404831:	50                   	push   %eax
404832:	68 e8 03 00 00       	push   $0x3e8
404837:	ff 75 08             	push   0x8(%ebp)
40483a:	e8 ed 11 00 00       	call   0x405a2c
40483f:	56                   	push   %esi
404840:	ff 75 10             	push   0x10(%ebp)
404843:	ff 75 0c             	push   0xc(%ebp)
404846:	e8 7b fb ff ff       	call   0x4043c6
40484b:	5e                   	pop    %esi
40484c:	5d                   	pop    %ebp
40484d:	c2 10 00             	ret    $0x10
404850:	55                   	push   %ebp
404851:	8b ec                	mov    %esp,%ebp
404853:	83 ec 4c             	sub    $0x4c,%esp
404856:	a1 00 27 42 00       	mov    0x422700,%eax
40485b:	53                   	push   %ebx
40485c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40485f:	56                   	push   %esi
404860:	8b 58 3c             	mov    0x3c(%eax),%ebx
404863:	8b 40 38             	mov    0x38(%eax),%eax
404866:	c1 e3 0b             	shl    $0xb,%ebx
404869:	81 c3 00 b0 42 00    	add    $0x42b000,%ebx
40486f:	81 7d 0c 0b 04 00 00 	cmpl   $0x40b,0xc(%ebp)
404876:	57                   	push   %edi
404877:	89 45 f8             	mov    %eax,-0x8(%ebp)
40487a:	75 11                	jne    0x40488d
40487c:	53                   	push   %ebx
40487d:	68 fb 03 00 00       	push   $0x3fb
404882:	e8 ab 11 00 00       	call   0x405a32
404887:	53                   	push   %ebx
404888:	e8 ef 1d 00 00       	call   0x40667c
40488d:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
404894:	8b 75 08             	mov    0x8(%ebp),%esi
404897:	75 6c                	jne    0x404905
404899:	68 fb 03 00 00       	push   $0x3fb
40489e:	56                   	push   %esi
40489f:	ff 15 e4 81 40 00    	call   *0x4081e4
4048a5:	53                   	push   %ebx
4048a6:	8b f8                	mov    %eax,%edi
4048a8:	e8 87 14 00 00       	call   0x405d34
4048ad:	85 c0                	test   %eax,%eax
4048af:	74 10                	je     0x4048c1
4048b1:	53                   	push   %ebx
4048b2:	e8 b1 14 00 00       	call   0x405d68
4048b7:	85 c0                	test   %eax,%eax
4048b9:	75 06                	jne    0x4048c1
4048bb:	53                   	push   %ebx
4048bc:	e8 fc 13 00 00       	call   0x405cbd
4048c1:	53                   	push   %ebx
4048c2:	57                   	push   %edi
4048c3:	89 35 18 92 42 00    	mov    %esi,0x429218
4048c9:	ff 15 5c 82 40 00    	call   *0x40825c
4048cf:	8b 45 14             	mov    0x14(%ebp),%eax
4048d2:	ff 70 34             	push   0x34(%eax)
4048d5:	6a 01                	push   $0x1
4048d7:	56                   	push   %esi
4048d8:	e8 82 fa ff ff       	call   0x40435f
4048dd:	8b 45 14             	mov    0x14(%ebp),%eax
4048e0:	ff 70 30             	push   0x30(%eax)
4048e3:	6a 14                	push   $0x14
4048e5:	56                   	push   %esi
4048e6:	e8 74 fa ff ff       	call   0x40435f
4048eb:	57                   	push   %edi
4048ec:	e8 a3 fa ff ff       	call   0x404394
4048f1:	6a 07                	push   $0x7
4048f3:	e8 ca 1e 00 00       	call   0x4067c2
4048f8:	85 c0                	test   %eax,%eax
4048fa:	0f 84 91 02 00 00    	je     0x404b91
404900:	6a 01                	push   $0x1
404902:	57                   	push   %edi
404903:	ff d0                	call   *%eax
404905:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
40490c:	0f 85 d1 00 00 00    	jne    0x4049e3
404912:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
404916:	3d fb 03 00 00       	cmp    $0x3fb,%eax
40491b:	75 18                	jne    0x404935
40491d:	8b 4d 10             	mov    0x10(%ebp),%ecx
404920:	c1 e9 10             	shr    $0x10,%ecx
404923:	66 81 f9 00 03       	cmp    $0x300,%cx
404928:	0f 85 63 02 00 00    	jne    0x404b91
40492e:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404935:	3d e9 03 00 00       	cmp    $0x3e9,%eax
40493a:	0f 85 a3 00 00 00    	jne    0x4049e3
404940:	6a 07                	push   $0x7
404942:	33 c0                	xor    %eax,%eax
404944:	59                   	pop    %ecx
404945:	8d 7d b8             	lea    -0x48(%ebp),%edi
404948:	ff 75 f8             	push   -0x8(%ebp)
40494b:	f3 ab                	rep stos %eax,%es:(%edi)
40494d:	bf 28 37 42 00       	mov    $0x423728,%edi
404952:	68 00 1f 42 00       	push   $0x421f00
404957:	89 75 b4             	mov    %esi,-0x4c(%ebp)
40495a:	89 7d bc             	mov    %edi,-0x44(%ebp)
40495d:	c7 45 c8 a6 4b 40 00 	movl   $0x404ba6,-0x38(%ebp)
404964:	89 5d cc             	mov    %ebx,-0x34(%ebp)
404967:	e8 9e 1a 00 00       	call   0x40640a
40496c:	89 45 c0             	mov    %eax,-0x40(%ebp)
40496f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
404972:	50                   	push   %eax
404973:	c7 45 c4 41 00 00 00 	movl   $0x41,-0x3c(%ebp)
40497a:	ff 15 84 81 40 00    	call   *0x408184
404980:	85 c0                	test   %eax,%eax
404982:	74 58                	je     0x4049dc
404984:	50                   	push   %eax
404985:	ff 15 a4 82 40 00    	call   *0x4082a4
40498b:	53                   	push   %ebx
40498c:	e8 2c 13 00 00       	call   0x405cbd
404991:	a1 54 a2 42 00       	mov    0x42a254,%eax
404996:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
40499c:	85 c0                	test   %eax,%eax
40499e:	74 28                	je     0x4049c8
4049a0:	81 fb 00 58 43 00    	cmp    $0x435800,%ebx
4049a6:	75 20                	jne    0x4049c8
4049a8:	50                   	push   %eax
4049a9:	6a 00                	push   $0x0
4049ab:	e8 5a 1a 00 00       	call   0x40640a
4049b0:	57                   	push   %edi
4049b1:	bf e0 81 42 00       	mov    $0x4281e0,%edi
4049b6:	57                   	push   %edi
4049b7:	ff 15 04 81 40 00    	call   *0x408104
4049bd:	85 c0                	test   %eax,%eax
4049bf:	74 07                	je     0x4049c8
4049c1:	57                   	push   %edi
4049c2:	53                   	push   %ebx
4049c3:	e8 3c 1a 00 00       	call   0x406404
4049c8:	ff 05 18 37 42 00    	incl   0x423718
4049ce:	53                   	push   %ebx
4049cf:	68 fb 03 00 00       	push   $0x3fb
4049d4:	56                   	push   %esi
4049d5:	e8 52 10 00 00       	call   0x405a2c
4049da:	eb 07                	jmp    0x4049e3
4049dc:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
4049e3:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
4049ea:	74 0d                	je     0x4049f9
4049ec:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
4049f3:	0f 85 98 01 00 00    	jne    0x404b91
4049f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4049fd:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404a01:	53                   	push   %ebx
404a02:	68 fb 03 00 00       	push   $0x3fb
404a07:	e8 26 10 00 00       	call   0x405a32
404a0c:	53                   	push   %ebx
404a0d:	e8 b3 13 00 00       	call   0x405dc5
404a12:	85 c0                	test   %eax,%eax
404a14:	75 07                	jne    0x404a1d
404a16:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404a1d:	be f8 16 42 00       	mov    $0x4216f8,%esi
404a22:	53                   	push   %ebx
404a23:	56                   	push   %esi
404a24:	e8 bf 19 00 00       	call   0x4063e8
404a29:	6a 01                	push   $0x1
404a2b:	e8 92 1d 00 00       	call   0x4067c2
404a30:	85 c0                	test   %eax,%eax
404a32:	89 45 f4             	mov    %eax,-0xc(%ebp)
404a35:	74 3a                	je     0x404a71
404a37:	33 c0                	xor    %eax,%eax
404a39:	33 ff                	xor    %edi,%edi
404a3b:	3b c6                	cmp    %esi,%eax
404a3d:	74 32                	je     0x404a71
404a3f:	8d 45 dc             	lea    -0x24(%ebp),%eax
404a42:	50                   	push   %eax
404a43:	8d 45 e8             	lea    -0x18(%ebp),%eax
404a46:	50                   	push   %eax
404a47:	8d 45 d4             	lea    -0x2c(%ebp),%eax
404a4a:	50                   	push   %eax
404a4b:	56                   	push   %esi
404a4c:	ff 55 f4             	call   *-0xc(%ebp)
404a4f:	85 c0                	test   %eax,%eax
404a51:	75 76                	jne    0x404ac9
404a53:	85 ff                	test   %edi,%edi
404a55:	74 03                	je     0x404a5a
404a57:	66 21 07             	and    %ax,(%edi)
404a5a:	56                   	push   %esi
404a5b:	e8 a9 12 00 00       	call   0x405d09
404a60:	8b f8                	mov    %eax,%edi
404a62:	66 83 27 00          	andw   $0x0,(%edi)
404a66:	4f                   	dec    %edi
404a67:	4f                   	dec    %edi
404a68:	3b fe                	cmp    %esi,%edi
404a6a:	66 c7 07 5c 00       	movw   $0x5c,(%edi)
404a6f:	75 ce                	jne    0x404a3f
404a71:	53                   	push   %ebx
404a72:	56                   	push   %esi
404a73:	e8 70 19 00 00       	call   0x4063e8
404a78:	56                   	push   %esi
404a79:	e8 ea 12 00 00       	call   0x405d68
404a7e:	33 ff                	xor    %edi,%edi
404a80:	3b c7                	cmp    %edi,%eax
404a82:	74 03                	je     0x404a87
404a84:	66 89 38             	mov    %di,(%eax)
404a87:	8d 45 e0             	lea    -0x20(%ebp),%eax
404a8a:	50                   	push   %eax
404a8b:	8d 45 f4             	lea    -0xc(%ebp),%eax
404a8e:	50                   	push   %eax
404a8f:	8d 45 ec             	lea    -0x14(%ebp),%eax
404a92:	50                   	push   %eax
404a93:	8d 45 f0             	lea    -0x10(%ebp),%eax
404a96:	50                   	push   %eax
404a97:	56                   	push   %esi
404a98:	ff 15 30 81 40 00    	call   *0x408130
404a9e:	85 c0                	test   %eax,%eax
404aa0:	74 43                	je     0x404ae5
404aa2:	8b 45 f0             	mov    -0x10(%ebp),%eax
404aa5:	be 00 04 00 00       	mov    $0x400,%esi
404aaa:	0f af 45 ec          	imul   -0x14(%ebp),%eax
404aae:	56                   	push   %esi
404aaf:	ff 75 f4             	push   -0xc(%ebp)
404ab2:	50                   	push   %eax
404ab3:	ff 15 54 81 40 00    	call   *0x408154
404ab9:	99                   	cltd
404aba:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404abd:	89 55 d8             	mov    %edx,-0x28(%ebp)
404ac0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404ac7:	eb 21                	jmp    0x404aea
404ac9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
404acc:	8b 4d d8             	mov    -0x28(%ebp),%ecx
404acf:	0f ac c8 0a          	shrd   $0xa,%ecx,%eax
404ad3:	c1 e9 0a             	shr    $0xa,%ecx
404ad6:	89 45 d4             	mov    %eax,-0x2c(%ebp)
404ad9:	89 4d d8             	mov    %ecx,-0x28(%ebp)
404adc:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404ae3:	33 ff                	xor    %edi,%edi
404ae5:	be 00 04 00 00       	mov    $0x400,%esi
404aea:	6a 05                	push   $0x5
404aec:	e8 fc 01 00 00       	call   0x404ced
404af1:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404af4:	74 19                	je     0x404b0f
404af6:	8b 55 d8             	mov    -0x28(%ebp),%edx
404af9:	33 c9                	xor    %ecx,%ecx
404afb:	3b d1                	cmp    %ecx,%edx
404afd:	77 10                	ja     0x404b0f
404aff:	72 07                	jb     0x404b08
404b01:	8b 4d d4             	mov    -0x2c(%ebp),%ecx