4046c3:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
4046ca:	8b 75 08             	mov    0x8(%ebp),%esi
4046cd:	75 6c                	jne    0x40473b
4046cf:	68 fb 03 00 00       	push   $0x3fb
4046d4:	56                   	push   %esi
4046d5:	ff 15 d0 81 40 00    	call   *0x4081d0
4046db:	53                   	push   %ebx
4046dc:	8b f8                	mov    %eax,%edi
4046de:	e8 88 14 00 00       	call   0x405b6b
4046e3:	85 c0                	test   %eax,%eax
4046e5:	74 10                	je     0x4046f7
4046e7:	53                   	push   %ebx
4046e8:	e8 aa 14 00 00       	call   0x405b97
4046ed:	85 c0                	test   %eax,%eax
4046ef:	75 06                	jne    0x4046f7
4046f1:	53                   	push   %ebx
4046f2:	e8 07 14 00 00       	call   0x405afe
4046f7:	53                   	push   %ebx
4046f8:	57                   	push   %edi
4046f9:	89 35 f8 eb 42 00    	mov    %esi,0x42ebf8
4046ff:	ff 15 40 82 40 00    	call   *0x408240
404705:	8b 45 14             	mov    0x14(%ebp),%eax
404708:	ff 70 34             	push   0x34(%eax)
40470b:	6a 01                	push   $0x1
40470d:	56                   	push   %esi
40470e:	e8 e1 fa ff ff       	call   0x4041f4
404713:	8b 45 14             	mov    0x14(%ebp),%eax
404716:	ff 70 30             	push   0x30(%eax)
404719:	6a 14                	push   $0x14
40471b:	56                   	push   %esi
40471c:	e8 d3 fa ff ff       	call   0x4041f4
404721:	57                   	push   %edi
404722:	e8 02 fb ff ff       	call   0x404229
404727:	6a 07                	push   $0x7
404729:	e8 d0 1d 00 00       	call   0x4064fe
40472e:	85 c0                	test   %eax,%eax
404730:	0f 84 8c 02 00 00    	je     0x4049c2
404736:	6a 01                	push   $0x1
404738:	57                   	push   %edi
404739:	ff d0                	call   *%eax
40473b:	81 7d 0c 11 01 00 00 	cmpl   $0x111,0xc(%ebp)
404742:	0f 85 d1 00 00 00    	jne    0x404819
404748:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40474c:	3d fb 03 00 00       	cmp    $0x3fb,%eax
404751:	75 18                	jne    0x40476b
404753:	8b 4d 10             	mov    0x10(%ebp),%ecx
404756:	c1 e9 10             	shr    $0x10,%ecx
404759:	66 81 f9 00 03       	cmp    $0x300,%cx
40475e:	0f 85 5e 02 00 00    	jne    0x4049c2
404764:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
40476b:	3d e9 03 00 00       	cmp    $0x3e9,%eax
404770:	0f 85 a3 00 00 00    	jne    0x404819
404776:	6a 07                	push   $0x7
404778:	33 c0                	xor    %eax,%eax
40477a:	59                   	pop    %ecx
40477b:	8d 7d b8             	lea    -0x48(%ebp),%edi
40477e:	ff 75 f8             	push   -0x8(%ebp)
404781:	f3 ab                	rep stos %eax,%es:(%edi)
404783:	bf 98 a8 42 00       	mov    $0x42a898,%edi
404788:	68 70 9c 42 00       	push   $0x429c70
40478d:	89 75 b4             	mov    %esi,-0x4c(%ebp)
404790:	89 7d bc             	mov    %edi,-0x44(%ebp)
404793:	c7 45 c8 d7 49 40 00 	movl   $0x4049d7,-0x38(%ebp)
40479a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40479d:	e8 e6 19 00 00       	call   0x406188
4047a2:	89 45 c0             	mov    %eax,-0x40(%ebp)
4047a5:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4047a8:	50                   	push   %eax
4047a9:	c7 45 c4 41 00 00 00 	movl   $0x41,-0x3c(%ebp)
4047b0:	ff 15 74 81 40 00    	call   *0x408174
4047b6:	85 c0                	test   %eax,%eax
4047b8:	74 58                	je     0x404812
4047ba:	50                   	push   %eax
4047bb:	ff 15 88 82 40 00    	call   *0x408288
4047c1:	53                   	push   %ebx
4047c2:	e8 37 13 00 00       	call   0x405afe
4047c7:	a1 34 f4 42 00       	mov    0x42f434,%eax
4047cc:	8b 80 1c 01 00 00    	mov    0x11c(%eax),%eax
4047d2:	85 c0                	test   %eax,%eax
4047d4:	74 28                	je     0x4047fe
4047d6:	81 fb 00 54 43 00    	cmp    $0x435400,%ebx
4047dc:	75 20                	jne    0x4047fe
4047de:	50                   	push   %eax
4047df:	6a 00                	push   $0x0
4047e1:	e8 a2 19 00 00       	call   0x406188
4047e6:	57                   	push   %edi
4047e7:	bf c0 e3 42 00       	mov    $0x42e3c0,%edi
4047ec:	57                   	push   %edi
4047ed:	ff 15 18 81 40 00    	call   *0x408118
4047f3:	85 c0                	test   %eax,%eax
4047f5:	74 07                	je     0x4047fe
4047f7:	57                   	push   %edi
4047f8:	53                   	push   %ebx
4047f9:	e8 84 19 00 00       	call   0x406182
4047fe:	ff 05 88 a8 42 00    	incl   0x42a888
404804:	53                   	push   %ebx
404805:	68 fb 03 00 00       	push   $0x3fb
40480a:	56                   	push   %esi
40480b:	e8 50 10 00 00       	call   0x405860
404810:	eb 07                	jmp    0x404819
404812:	c7 45 0c 0f 04 00 00 	movl   $0x40f,0xc(%ebp)
404819:	81 7d 0c 0f 04 00 00 	cmpl   $0x40f,0xc(%ebp)
404820:	74 0d                	je     0x40482f
404822:	81 7d 0c 05 04 00 00 	cmpl   $0x405,0xc(%ebp)
404829:	0f 85 93 01 00 00    	jne    0x4049c2
40482f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404833:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404837:	53                   	push   %ebx
404838:	68 fb 03 00 00       	push   $0x3fb
40483d:	e8 24 10 00 00       	call   0x405866
404842:	53                   	push   %ebx
404843:	e8 a4 13 00 00       	call   0x405bec
404848:	85 c0                	test   %eax,%eax
40484a:	75 07                	jne    0x404853
40484c:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
404853:	be 68 98 42 00       	mov    $0x429868,%esi
404858:	53                   	push   %ebx
404859:	56                   	push   %esi
40485a:	e8 07 19 00 00       	call   0x406166
40485f:	6a 01                	push   $0x1
404861:	e8 98 1c 00 00       	call   0x4064fe
404866:	85 c0                	test   %eax,%eax
404868:	89 45 f4             	mov    %eax,-0xc(%ebp)
40486b:	74 35                	je     0x4048a2
40486d:	33 c0                	xor    %eax,%eax
40486f:	33 ff                	xor    %edi,%edi
404871:	3b c6                	cmp    %esi,%eax
404873:	74 2d                	je     0x4048a2
404875:	8d 45 dc             	lea    -0x24(%ebp),%eax
404878:	50                   	push   %eax
404879:	8d 45 e8             	lea    -0x18(%ebp),%eax
40487c:	50                   	push   %eax
40487d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
404880:	50                   	push   %eax
404881:	56                   	push   %esi
404882:	ff 55 f4             	call   *-0xc(%ebp)
404885:	85 c0                	test   %eax,%eax
404887:	75 71                	jne    0x4048fa
404889:	85 ff                	test   %edi,%edi
40488b:	74 02                	je     0x40488f
40488d:	20 07                	and    %al,(%edi)
40488f:	56                   	push   %esi
404890:	e8 b0 12 00 00       	call   0x405b45
404895:	8b f8                	mov    %eax,%edi
404897:	80 27 00             	andb   $0x0,(%edi)
40489a:	4f                   	dec    %edi
40489b:	3b fe                	cmp    %esi,%edi
40489d:	c6 07 5c             	movb   $0x5c,(%edi)
4048a0:	75 d3                	jne    0x404875
4048a2:	53                   	push   %ebx
4048a3:	56                   	push   %esi
4048a4:	e8 bd 18 00 00       	call   0x406166
4048a9:	56                   	push   %esi
4048aa:	e8 e8 12 00 00       	call   0x405b97
4048af:	33 ff                	xor    %edi,%edi
4048b1:	3b c7                	cmp    %edi,%eax
4048b3:	74 03                	je     0x4048b8
4048b5:	80 20 00             	andb   $0x0,(%eax)
4048b8:	8d 45 e0             	lea    -0x20(%ebp),%eax
4048bb:	50                   	push   %eax
4048bc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4048bf:	50                   	push   %eax
4048c0:	8d 45 ec             	lea    -0x14(%ebp),%eax
4048c3:	50                   	push   %eax
4048c4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4048c7:	50                   	push   %eax
4048c8:	56                   	push   %esi
4048c9:	ff 15 20 81 40 00    	call   *0x408120
4048cf:	85 c0                	test   %eax,%eax
4048d1:	74 43                	je     0x404916
4048d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4048d6:	be 00 04 00 00       	mov    $0x400,%esi
4048db:	0f af 45 ec          	imul   -0x14(%ebp),%eax
4048df:	56                   	push   %esi
4048e0:	ff 75 f4             	push   -0xc(%ebp)
4048e3:	50                   	push   %eax
4048e4:	ff 15 44 81 40 00    	call   *0x408144
4048ea:	99                   	cltd
4048eb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4048ee:	89 55 d8             	mov    %edx,-0x28(%ebp)
4048f1:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4048f8:	eb 21                	jmp    0x40491b
4048fa:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4048fd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
404900:	0f ac c8 0a          	shrd   $0xa,%ecx,%eax
404904:	c1 e9 0a             	shr    $0xa,%ecx
404907:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40490a:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40490d:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
404914:	33 ff                	xor    %edi,%edi
404916:	be 00 04 00 00       	mov    $0x400,%esi
40491b:	6a 05                	push   $0x5
40491d:	e8 f8 01 00 00       	call   0x404b1a
404922:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404925:	74 19                	je     0x404940
404927:	8b 55 d8             	mov    -0x28(%ebp),%edx
40492a:	33 c9                	xor    %ecx,%ecx
40492c:	3b d1                	cmp    %ecx,%edx
40492e:	77 10                	ja     0x404940
404930:	72 07                	jb     0x404939
404932:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
404935:	3b c8                	cmp    %eax,%ecx
404937:	73 07                	jae    0x404940
404939:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
404940:	8b 0d fc eb 42 00    	mov    0x42ebfc,%ecx
404946:	39 79 10             	cmp    %edi,0x10(%ecx)
404949:	74 30                	je     0x40497b
40494b:	50                   	push   %eax
40494c:	6a fb                	push   $0xfffffffb
40494e:	68 ff 03 00 00       	push   $0x3ff
404953:	e8 aa 01 00 00       	call   0x404b02
404958:	39 7d f8             	cmp    %edi,-0x8(%ebp)
40495b:	74 10                	je     0x40496d
40495d:	ff 75 d8             	push   -0x28(%ebp)
404960:	ff 75 d4             	push   -0x2c(%ebp)
404963:	6a fc                	push   $0xfffffffc
404965:	56                   	push   %esi
404966:	e8 d2 00 00 00       	call   0x404a3d
40496b:	eb 0e                	jmp    0x40497b
40496d:	68 58 98 42 00       	push   $0x429858
404972:	56                   	push   %esi
404973:	ff 75 08             	push   0x8(%ebp)
404976:	e8 e5 0e 00 00       	call   0x405860
40497b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40497e:	3b c7                	cmp    %edi,%eax
404980:	a3 e4 f4 42 00       	mov    %eax,0x42f4e4
404985:	75 0a                	jne    0x404991
404987:	6a 07                	push   $0x7
404989:	e8 7d ca ff ff       	call   0x40140b
40498e:	89 45 fc             	mov    %eax,-0x4(%ebp)
404991:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404994:	85 70 14             	test   %esi,0x14(%eax)
404997:	74 03                	je     0x40499c
404999:	89 7d fc             	mov    %edi,-0x4(%ebp)
40499c:	33 c0                	xor    %eax,%eax
40499e:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4049a1:	0f 94 c0             	sete   %al
4049a4:	50                   	push   %eax
4049a5:	e8 6c f8 ff ff       	call   0x404216
4049aa:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4049ad:	75 0d                	jne    0x4049bc
4049af:	39 3d 88 a8 42 00    	cmp    %edi,0x42a888
4049b5:	75 05                	jne    0x4049bc
4049b7:	e8 23 fc ff ff       	call   0x4045df
4049bc:	89 3d 88 a8 42 00    	mov    %edi,0x42a888
4049c2:	ff 75 14             	push   0x14(%ebp)
4049c5:	ff 75 10             	push   0x10(%ebp)
4049c8:	ff 75 0c             	push   0xc(%ebp)
4049cb:	e8 8b f8 ff ff       	call   0x40425b
4049d0:	5f                   	pop    %edi
4049d1:	5e                   	pop    %esi
4049d2:	5b                   	pop    %ebx
4049d3:	c9                   	leave
4049d4:	c2 10 00             	ret    $0x10
4049d7:	55                   	push   %ebp
4049d8:	8b ec                	mov    %esp,%ebp
4049da:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4049de:	56                   	push   %esi
4049df:	8b 35 00 82 40 00    	mov    0x408200,%esi
4049e5:	75 1c                	jne    0x404a03
4049e7:	ff 75 14             	push   0x14(%ebp)
4049ea:	68 fb 03 00 00       	push   $0x3fb
4049ef:	e8 72 0e 00 00       	call   0x405866
4049f4:	ff 75 14             	push   0x14(%ebp)
4049f7:	6a 01                	push   $0x1
4049f9:	68 66 04 00 00       	push   $0x466
4049fe:	ff 75 08             	push   0x8(%ebp)
404a01:	ff d6                	call   *%esi
404a03:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
404a07:	75 2d                	jne    0x404a36
404a09:	ff 75 14             	push   0x14(%ebp)
404a0c:	ff 75 10             	push   0x10(%ebp)
404a0f:	ff 15 70 81 40 00    	call   *0x408170
404a15:	85 c0                	test   %eax,%eax
404a17:	74 0e                	je     0x404a27
404a19:	6a 07                	push   $0x7
404a1b:	e8 eb c9 ff ff       	call   0x40140b
404a20:	85 c0                	test   %eax,%eax
404a22:	75 03                	jne    0x404a27
404a24:	40                   	inc    %eax
404a25:	eb 02                	jmp    0x404a29
404a27:	33 c0                	xor    %eax,%eax
404a29:	50                   	push   %eax
404a2a:	6a 00                	push   $0x0
404a2c:	68 65 04 00 00       	push   $0x465
404a31:	ff 75 08             	push   0x8(%ebp)
404a34:	ff d6                	call   *%esi
404a36:	33 c0                	xor    %eax,%eax
404a38:	5e                   	pop    %esi
404a39:	5d                   	pop    %ebp
404a3a:	c2 10 00             	ret    $0x10
404a3d:	55                   	push   %ebp
404a3e:	8b ec                	mov    %esp,%ebp
404a40:	83 ec 40             	sub    $0x40,%esp
404a43:	8b 45 14             	mov    0x14(%ebp),%eax
404a46:	53                   	push   %ebx
404a47:	56                   	push   %esi
404a48:	8b 75 10             	mov    0x10(%ebp),%esi
404a4b:	57                   	push   %edi
404a4c:	6a dc                	push   $0xffffffdc
404a4e:	85 c0                	test   %eax,%eax
404a50:	5b                   	pop    %ebx
404a51:	74 0b                	je     0x404a5e
404a53:	0f ac c6 14          	shrd   $0x14,%eax,%esi
404a57:	c1 e8 14             	shr    $0x14,%eax
404a5a:	33 ff                	xor    %edi,%edi
404a5c:	eb 4e                	jmp    0x404aac
404a5e:	6a 14                	push   $0x14
404a60:	81 fe 00 00 10 00    	cmp    $0x100000,%esi
404a66:	59                   	pop    %ecx
404a67:	8b c6                	mov    %esi,%eax
404a69:	73 06                	jae    0x404a71
404a6b:	6a 0a                	push   $0xa
404a6d:	59                   	pop    %ecx
404a6e:	6a dd                	push   $0xffffffdd
404a70:	5b                   	pop    %ebx
404a71:	81 fe 00 04 00 00    	cmp    $0x400,%esi
404a77:	73 05                	jae    0x404a7e
404a79:	6a de                	push   $0xffffffde
404a7b:	33 c9                	xor    %ecx,%ecx
404a7d:	5b                   	pop    %ebx
404a7e:	81 fe 33 33 ff ff    	cmp    $0xffff3333,%esi
404a84:	73 0d                	jae    0x404a93
404a86:	33 c0                	xor    %eax,%eax
404a88:	6a 14                	push   $0x14
404a8a:	40                   	inc    %eax
404a8b:	5f                   	pop    %edi
404a8c:	d3 e0                	shl    %cl,%eax
404a8e:	99                   	cltd
404a8f:	f7 ff                	idiv   %edi
404a91:	03 c6                	add    %esi,%eax
404a93:	8b f0                	mov    %eax,%esi
404a95:	25 ff ff ff 00       	and    $0xffffff,%eax
404a9a:	6a 0a                	push   $0xa
404a9c:	33 d2                	xor    %edx,%edx
404a9e:	8d 04 80             	lea    (%eax,%eax,4),%eax
404aa1:	03 c0                	add    %eax,%eax
404aa3:	d3 e8                	shr    %cl,%eax
404aa5:	d3 ee                	shr    %cl,%esi
404aa7:	59                   	pop    %ecx
404aa8:	f7 f1                	div    %ecx
404aaa:	8b fa                	mov    %edx,%edi
404aac:	8d 45 e0             	lea    -0x20(%ebp),%eax
404aaf:	6a df                	push   $0xffffffdf
404ab1:	50                   	push   %eax
404ab2:	e8 d1 16 00 00       	call   0x406188
404ab7:	50                   	push   %eax
404ab8:	8d 45 c0             	lea    -0x40(%ebp),%eax
404abb:	53                   	push   %ebx
404abc:	50                   	push   %eax