404692:	59                   	pop    %ecx
404693:	85 f6                	test   %esi,%esi
404695:	75 03                	jne    0x40469a
404697:	21 77 08             	and    %esi,0x8(%edi)
40469a:	5f                   	pop    %edi
40469b:	5e                   	pop    %esi
40469c:	c3                   	ret
40469d:	55                   	push   %ebp
40469e:	8b ec                	mov    %esp,%ebp
4046a0:	56                   	push   %esi
4046a1:	6a 08                	push   $0x8
4046a3:	8b f1                	mov    %ecx,%esi
4046a5:	e8 4c c9 01 00       	call   0x420ff6
4046aa:	8b 55 08             	mov    0x8(%ebp),%edx
4046ad:	59                   	pop    %ecx
4046ae:	8b c8                	mov    %eax,%ecx
4046b0:	8b 12                	mov    (%edx),%edx
4046b2:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4046b6:	89 11                	mov    %edx,(%ecx)
4046b8:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
4046bc:	75 0d                	jne    0x4046cb
4046be:	89 4e 04             	mov    %ecx,0x4(%esi)
4046c1:	ff 06                	incl   (%esi)
4046c3:	89 4e 08             	mov    %ecx,0x8(%esi)
4046c6:	5e                   	pop    %esi
4046c7:	5d                   	pop    %ebp
4046c8:	c2 04 00             	ret    $0x4
4046cb:	8b 46 08             	mov    0x8(%esi),%eax
4046ce:	89 48 04             	mov    %ecx,0x4(%eax)
4046d1:	eb ee                	jmp    0x4046c1
4046d3:	55                   	push   %ebp
4046d4:	8b ec                	mov    %esp,%ebp
4046d6:	8b 45 0c             	mov    0xc(%ebp),%eax
4046d9:	56                   	push   %esi
4046da:	8b 75 10             	mov    0x10(%ebp),%esi
4046dd:	0f af c6             	imul   %esi,%eax
4046e0:	57                   	push   %edi
4046e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4046e4:	03 f8                	add    %eax,%edi
4046e6:	eb 08                	jmp    0x4046f0
4046e8:	2b 7d 0c             	sub    0xc(%ebp),%edi
4046eb:	8b cf                	mov    %edi,%ecx
4046ed:	ff 55 14             	call   *0x14(%ebp)
4046f0:	4e                   	dec    %esi
4046f1:	79 f5                	jns    0x4046e8
4046f3:	5f                   	pop    %edi
4046f4:	5e                   	pop    %esi
4046f5:	5d                   	pop    %ebp
4046f6:	c2 10 00             	ret    $0x10
4046f9:	55                   	push   %ebp
4046fa:	8b ec                	mov    %esp,%ebp
4046fc:	83 ec 58             	sub    $0x58,%esp
4046ff:	53                   	push   %ebx
404700:	56                   	push   %esi
404701:	8b f1                	mov    %ecx,%esi
404703:	89 55 f8             	mov    %edx,-0x8(%ebp)
404706:	57                   	push   %edi
404707:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40470a:	e8 b8 30 00 00       	call   0x4077c7
40470f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
404712:	e8 b0 30 00 00       	call   0x4077c7
404717:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40471a:	e8 a8 30 00 00       	call   0x4077c7
40471f:	8d 4d b8             	lea    -0x48(%ebp),%ecx
404722:	e8 a0 30 00 00       	call   0x4077c7
404727:	8b 06                	mov    (%esi),%eax
404729:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40472c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40472f:	8b 46 04             	mov    0x4(%esi),%eax
404732:	89 45 ec             	mov    %eax,-0x14(%ebp)
404735:	8b 46 08             	mov    0x8(%esi),%eax
404738:	89 45 f0             	mov    %eax,-0x10(%ebp)
40473b:	8b 46 0c             	mov    0xc(%esi),%eax
40473e:	68 c0 fa 48 00       	push   $0x48fac0
404743:	89 45 f4             	mov    %eax,-0xc(%ebp)
404746:	ff 00                	incl   (%eax)
404748:	e8 e2 36 00 00       	call   0x407e2f
40474d:	83 cb ff             	or     $0xffffffff,%ebx
404750:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404753:	3b c3                	cmp    %ebx,%eax
404755:	0f 84 a0 91 03 00    	je     0x43d8fb
40475b:	8d 70 01             	lea    0x1(%eax),%esi
40475e:	53                   	push   %ebx
40475f:	56                   	push   %esi
404760:	8d 45 e8             	lea    -0x18(%ebp),%eax
404763:	50                   	push   %eax
404764:	e8 42 32 00 00       	call   0x4079ab
404769:	53                   	push   %ebx
40476a:	56                   	push   %esi
40476b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40476e:	e8 19 37 00 00       	call   0x407e8c
404773:	68 80 fb 48 00       	push   $0x48fb80
404778:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40477b:	e8 af 36 00 00       	call   0x407e2f
404780:	8b f0                	mov    %eax,%esi
404782:	3b f3                	cmp    %ebx,%esi
404784:	74 18                	je     0x40479e
404786:	53                   	push   %ebx
404787:	56                   	push   %esi
404788:	8d 45 c8             	lea    -0x38(%ebp),%eax
40478b:	50                   	push   %eax
40478c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40478f:	e8 17 32 00 00       	call   0x4079ab
404794:	53                   	push   %ebx
404795:	56                   	push   %esi
404796:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404799:	e8 ee 36 00 00       	call   0x407e8c
40479e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4047a1:	33 f6                	xor    %esi,%esi
4047a3:	83 fb 01             	cmp    $0x1,%ebx
4047a6:	76 38                	jbe    0x4047e0
4047a8:	56                   	push   %esi
4047a9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4047ac:	e8 6f 33 00 00       	call   0x407b20
4047b1:	6a 5c                	push   $0x5c
4047b3:	5f                   	pop    %edi
4047b4:	66 39 38             	cmp    %di,(%eax)
4047b7:	0f 84 54 91 03 00    	je     0x43d911
4047bd:	6a 01                	push   $0x1
4047bf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4047c2:	e8 8b 33 00 00       	call   0x407b52
4047c7:	66 83 38 3a          	cmpw   $0x3a,(%eax)
4047cb:	75 13                	jne    0x4047e0
4047cd:	6a 02                	push   $0x2
4047cf:	5f                   	pop    %edi
4047d0:	57                   	push   %edi
4047d1:	56                   	push   %esi
4047d2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4047d5:	50                   	push   %eax
4047d6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4047d9:	e8 cd 31 00 00       	call   0x4079ab
4047de:	8b f7                	mov    %edi,%esi
4047e0:	6a ff                	push   $0xffffffff
4047e2:	56                   	push   %esi
4047e3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4047e6:	50                   	push   %eax
4047e7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4047ea:	e8 bc 31 00 00       	call   0x4079ab
4047ef:	8b 45 f8             	mov    -0x8(%ebp),%eax
4047f2:	85 c0                	test   %eax,%eax
4047f4:	74 0b                	je     0x404801
4047f6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4047f9:	51                   	push   %ecx
4047fa:	8b c8                	mov    %eax,%ecx
4047fc:	e8 a6 39 00 00       	call   0x4081a7
404801:	8b 4d 08             	mov    0x8(%ebp),%ecx
404804:	85 c9                	test   %ecx,%ecx
404806:	74 09                	je     0x404811
404808:	8d 45 a8             	lea    -0x58(%ebp),%eax
40480b:	50                   	push   %eax
40480c:	e8 96 39 00 00       	call   0x4081a7
404811:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404814:	85 c9                	test   %ecx,%ecx
404816:	75 36                	jne    0x40484e
404818:	8b 4d 10             	mov    0x10(%ebp),%ecx
40481b:	85 c9                	test   %ecx,%ecx
40481d:	75 3a                	jne    0x404859
40481f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
404822:	e8 3d 12 00 00       	call   0x405a64
404827:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40482a:	e8 35 12 00 00       	call   0x405a64
40482f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404832:	e8 2d 12 00 00       	call   0x405a64
404837:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40483a:	e8 25 12 00 00       	call   0x405a64
40483f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404842:	e8 1d 12 00 00       	call   0x405a64
404847:	5f                   	pop    %edi
404848:	5e                   	pop    %esi
404849:	5b                   	pop    %ebx
40484a:	8b e5                	mov    %ebp,%esp
40484c:	5d                   	pop    %ebp
40484d:	c3                   	ret
40484e:	8d 45 c8             	lea    -0x38(%ebp),%eax
404851:	50                   	push   %eax
404852:	e8 50 39 00 00       	call   0x4081a7
404857:	eb bf                	jmp    0x404818
404859:	8d 45 b8             	lea    -0x48(%ebp),%eax
40485c:	50                   	push   %eax
40485d:	e8 45 39 00 00       	call   0x4081a7
404862:	eb bb                	jmp    0x40481f
404864:	55                   	push   %ebp
404865:	8b ec                	mov    %esp,%ebp
404867:	b8 14 00 01 00       	mov    $0x10014,%eax
40486c:	e8 1f d3 02 00       	call   0x431b90
404871:	56                   	push   %esi
404872:	68 ff 7f 00 00       	push   $0x7fff
404877:	8d 85 f0 ff fe ff    	lea    -0x10010(%ebp),%eax
40487d:	8b f1                	mov    %ecx,%esi
40487f:	50                   	push   %eax
404880:	6a 00                	push   $0x0
404882:	ff 15 a8 f1 48 00    	call   *0x48f1a8
404888:	8d 85 f0 ff fe ff    	lea    -0x10010(%ebp),%eax
40488e:	50                   	push   %eax
40488f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404892:	e8 aa 36 00 00       	call   0x407f41
404897:	8b d6                	mov    %esi,%edx
404899:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40489c:	e8 0d 00 00 00       	call   0x4048ae
4048a1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4048a4:	e8 bb 11 00 00       	call   0x405a64
4048a9:	5e                   	pop    %esi
4048aa:	8b e5                	mov    %ebp,%esp
4048ac:	5d                   	pop    %ebp
4048ad:	c3                   	ret
4048ae:	55                   	push   %ebp
4048af:	8b ec                	mov    %esp,%ebp
4048b1:	b8 00 00 01 00       	mov    $0x10000,%eax
4048b6:	e8 d5 d2 02 00       	call   0x431b90
4048bb:	56                   	push   %esi
4048bc:	6a 00                	push   $0x0
4048be:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
4048c4:	8b f2                	mov    %edx,%esi
4048c6:	50                   	push   %eax
4048c7:	68 ff 7f 00 00       	push   $0x7fff
4048cc:	ff 31                	push   (%ecx)
4048ce:	ff 15 60 f3 48 00    	call   *0x48f360
4048d4:	8b ce                	mov    %esi,%ecx
4048d6:	85 c0                	test   %eax,%eax
4048d8:	74 1d                	je     0x4048f7
4048da:	8d 85 00 00 ff ff    	lea    -0x10000(%ebp),%eax
4048e0:	50                   	push   %eax
4048e1:	e8 46 34 00 00       	call   0x407d2c
4048e6:	68 c0 fa 48 00       	push   $0x48fac0
4048eb:	8b ce                	mov    %esi,%ecx
4048ed:	e8 94 2f 00 00       	call   0x407886
4048f2:	5e                   	pop    %esi
4048f3:	8b e5                	mov    %ebp,%esp
4048f5:	5d                   	pop    %ebp
4048f6:	c3                   	ret
4048f7:	e8 f0 35 00 00       	call   0x407eec
4048fc:	eb e8                	jmp    0x4048e6
4048fe:	55                   	push   %ebp
4048ff:	8b ec                	mov    %esp,%ebp
404901:	51                   	push   %ecx
404902:	8b 45 10             	mov    0x10(%ebp),%eax
404905:	56                   	push   %esi
404906:	57                   	push   %edi
404907:	8b 3d 78 62 4c 00    	mov    0x4c6278,%edi
40490d:	83 f8 ff             	cmp    $0xffffffff,%eax
404910:	0f 85 2c 91 03 00    	jne    0x43da42
404916:	6a 00                	push   $0x0
404918:	6a 10                	push   $0x10
40491a:	5e                   	pop    %esi
40491b:	56                   	push   %esi
40491c:	56                   	push   %esi
40491d:	6a 01                	push   $0x1
40491f:	6a 63                	push   $0x63
404921:	57                   	push   %edi
404922:	ff 15 44 f7 48 00    	call   *0x48f744
404928:	5f                   	pop    %edi
404929:	5e                   	pop    %esi
40492a:	8b e5                	mov    %ebp,%esp
40492c:	5d                   	pop    %ebp
40492d:	c3                   	ret
40492e:	55                   	push   %ebp
40492f:	8b ec                	mov    %esp,%ebp
404931:	83 e4 f8             	and    $0xfffffff8,%esp
404934:	a1 28 74 4c 00       	mov    0x4c7428,%eax
404939:	83 ec 20             	sub    $0x20,%esp
40493c:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
404940:	56                   	push   %esi
404941:	57                   	push   %edi
404942:	0f 84 b2 00 00 00    	je     0x4049fa
404948:	8b 45 08             	mov    0x8(%ebp),%eax
40494b:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40494f:	33 ff                	xor    %edi,%edi
404951:	a3 78 62 4c 00       	mov    %eax,0x4c6278
404956:	33 f6                	xor    %esi,%esi
404958:	89 3d 7c 62 4c 00    	mov    %edi,0x4c627c
40495e:	46                   	inc    %esi
40495f:	89 3d 70 62 4c 00    	mov    %edi,0x4c6270
404965:	89 7c 24 08          	mov    %edi,0x8(%esp)
404969:	89 7c 24 10          	mov    %edi,0x10(%esp)
40496d:	89 74 24 14          	mov    %esi,0x14(%esp)
404971:	89 7c 24 18          	mov    %edi,0x18(%esp)
404975:	89 7c 24 20          	mov    %edi,0x20(%esp)
404979:	89 74 24 24          	mov    %esi,0x24(%esp)
40497d:	e8 9e 50 00 00       	call   0x409a20
404982:	8d 44 24 18          	lea    0x18(%esp),%eax
404986:	c7 44 24 14 06 00 00 	movl   $0x6,0x14(%esp)
40498d:	00
40498e:	89 44 24 08          	mov    %eax,0x8(%esp)
404992:	ff 15 64 f7 48 00    	call   *0x48f764
404998:	68 bc 81 45 00       	push   $0x4581bc
40499d:	a3 b0 62 4c 00       	mov    %eax,0x4c62b0
4049a2:	e8 05 ec 01 00       	call   0x4235ac
4049a7:	59                   	pop    %ecx
4049a8:	56                   	push   %esi
4049a9:	e8 66 ec 01 00       	call   0x423614
4049ae:	59                   	pop    %ecx
4049af:	8b 0d 2c 74 4c 00    	mov    0x4c742c,%ecx
4049b5:	e8 a1 00 00 00       	call   0x404a5b
4049ba:	ff 75 10             	push   0x10(%ebp)
4049bd:	e8 8a f1 ff ff       	call   0x403b4c
4049c2:	a1 2c 74 4c 00       	mov    0x4c742c,%eax
4049c7:	6a 02                	push   $0x2
4049c9:	ff 70 04             	push   0x4(%eax)
4049cc:	57                   	push   %edi
4049cd:	68 01 20 00 00       	push   $0x2001
4049d2:	ff 15 40 f7 48 00    	call   *0x48f740
4049d8:	8b 35 7c 62 4c 00    	mov    0x4c627c,%esi
4049de:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4049e2:	e8 39 50 00 00       	call   0x409a20
4049e7:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4049eb:	e8 30 50 00 00       	call   0x409a20
4049f0:	8b c6                	mov    %esi,%eax
4049f2:	5f                   	pop    %edi
4049f3:	5e                   	pop    %esi
4049f4:	8b e5                	mov    %ebp,%esp
4049f6:	5d                   	pop    %ebp
4049f7:	c2 10 00             	ret    $0x10
4049fa:	33 c0                	xor    %eax,%eax
4049fc:	40                   	inc    %eax
4049fd:	eb f3                	jmp    0x4049f2
4049ff:	a1 2c 74 4c 00       	mov    0x4c742c,%eax
404a04:	85 c0                	test   %eax,%eax
404a06:	74 07                	je     0x404a0f
404a08:	50                   	push   %eax
404a09:	e8 5e c6 01 00       	call   0x42106c
404a0e:	59                   	pop    %ecx
404a0f:	c3                   	ret
404a10:	56                   	push   %esi
404a11:	6a 0c                	push   $0xc
404a13:	e8 de c5 01 00       	call   0x420ff6
404a18:	8b f0                	mov    %eax,%esi
404a1a:	59                   	pop    %ecx
404a1b:	85 f6                	test   %esi,%esi
404a1d:	74 12                	je     0x404a31
404a1f:	e8 70 00 00 00       	call   0x404a94
404a24:	89 35 2c 74 4c 00    	mov    %esi,0x4c742c
404a2a:	b8 2c 74 4c 00       	mov    $0x4c742c,%eax
404a2f:	5e                   	pop    %esi
404a30:	c3                   	ret
404a31:	33 f6                	xor    %esi,%esi
404a33:	eb ef                	jmp    0x404a24
404a35:	55                   	push   %ebp
404a36:	8b ec                	mov    %esp,%ebp
404a38:	83 ec 0c             	sub    $0xc,%esp
404a3b:	53                   	push   %ebx
404a3c:	56                   	push   %esi
404a3d:	ff 15 34 f7 48 00    	call   *0x48f734
404a43:	8b 5d 08             	mov    0x8(%ebp),%ebx
404a46:	8b f0                	mov    %eax,%esi
404a48:	3b de                	cmp    %esi,%ebx
404a4a:	0f 85 31 90 03 00    	jne    0x43da81
404a50:	33 c0                	xor    %eax,%eax
404a52:	40                   	inc    %eax
404a53:	5e                   	pop    %esi
404a54:	5b                   	pop    %ebx