4046e0:	e8 08 00 00 00       	call   0x4046ed
4046e5:	8b c6                	mov    %esi,%eax
4046e7:	5e                   	pop    %esi
4046e8:	c3                   	ret
4046e9:	33 c0                	xor    %eax,%eax
4046eb:	5e                   	pop    %esi
4046ec:	c3                   	ret
4046ed:	83 7c 24 08 01       	cmpl   $0x1,0x8(%esp)
4046f2:	56                   	push   %esi
4046f3:	8b f1                	mov    %ecx,%esi
4046f5:	0f 94 c0             	sete   %al
4046f8:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4046fd:	88 46 48             	mov    %al,0x48(%esi)
404700:	75 1b                	jne    0x40471d
404702:	57                   	push   %edi
404703:	8d 7e 4c             	lea    0x4c(%esi),%edi
404706:	8b cf                	mov    %edi,%ecx
404708:	e8 9b e7 ff ff       	call   0x402ea8
40470d:	85 ff                	test   %edi,%edi
40470f:	74 07                	je     0x404718
404711:	8b cf                	mov    %edi,%ecx
404713:	e8 3c e7 ff ff       	call   0x402e54
404718:	83 66 44 00          	andl   $0x0,0x44(%esi)
40471c:	5f                   	pop    %edi
40471d:	8b ce                	mov    %esi,%ecx
40471f:	e8 55 f1 ff ff       	call   0x403879
404724:	8b 44 24 08          	mov    0x8(%esp),%eax
404728:	89 46 50             	mov    %eax,0x50(%esi)
40472b:	a1 54 1b 41 00       	mov    0x411b54,%eax
404730:	89 46 40             	mov    %eax,0x40(%esi)
404733:	a1 54 1b 41 00       	mov    0x411b54,%eax
404738:	83 66 38 00          	andl   $0x0,0x38(%esi)
40473c:	89 46 3c             	mov    %eax,0x3c(%esi)
40473f:	5e                   	pop    %esi
404740:	c2 08 00             	ret    $0x8
404743:	f6 05 50 1b 41 00 01 	testb  $0x1,0x411b50
40474a:	75 07                	jne    0x404753
40474c:	80 0d 50 1b 41 00 01 	orb    $0x1,0x411b50
404753:	e8 15 00 00 00       	call   0x40476d
404758:	f6 05 58 1b 41 00 01 	testb  $0x1,0x411b58
40475f:	75 07                	jne    0x404768
404761:	80 0d 58 1b 41 00 01 	orb    $0x1,0x411b58
404768:	e9 0c 00 00 00       	jmp    0x404779
40476d:	68 d0 28 40 00       	push   $0x4028d0
404772:	e8 93 0d 00 00       	call   0x40550a
404777:	59                   	pop    %ecx
404778:	c3                   	ret
404779:	68 07 3a 40 00       	push   $0x403a07
40477e:	e8 87 0d 00 00       	call   0x40550a
404783:	59                   	pop    %ecx
404784:	c3                   	ret
404785:	a1 78 17 41 00       	mov    0x411778,%eax
40478a:	53                   	push   %ebx
40478b:	56                   	push   %esi
40478c:	57                   	push   %edi
40478d:	6a 02                	push   $0x2
40478f:	8b f1                	mov    %ecx,%esi
404791:	5f                   	pop    %edi
404792:	3b c7                	cmp    %edi,%eax
404794:	75 07                	jne    0x40479d
404796:	68 60 17 41 00       	push   $0x411760
40479b:	eb 5a                	jmp    0x4047f7
40479d:	85 c0                	test   %eax,%eax
40479f:	bb 60 17 41 00       	mov    $0x411760,%ebx
4047a4:	75 35                	jne    0x4047db
4047a6:	6a 01                	push   $0x1
4047a8:	68 78 17 41 00       	push   $0x411778
4047ad:	ff 15 c0 d0 40 00    	call   *0x40d0c0
4047b3:	85 c0                	test   %eax,%eax
4047b5:	75 1a                	jne    0x4047d1
4047b7:	53                   	push   %ebx
4047b8:	ff 15 bc d0 40 00    	call   *0x40d0bc
4047be:	68 03 48 40 00       	push   $0x404803
4047c3:	e8 42 0d 00 00       	call   0x40550a
4047c8:	59                   	pop    %ecx
4047c9:	89 3d 78 17 41 00    	mov    %edi,0x411778
4047cf:	eb 25                	jmp    0x4047f6
4047d1:	3b c7                	cmp    %edi,%eax
4047d3:	75 06                	jne    0x4047db
4047d5:	89 3d 78 17 41 00    	mov    %edi,0x411778
4047db:	83 3d 78 17 41 00 01 	cmpl   $0x1,0x411778
4047e2:	75 0a                	jne    0x4047ee
4047e4:	6a 01                	push   $0x1
4047e6:	ff 15 b8 d0 40 00    	call   *0x40d0b8
4047ec:	eb ed                	jmp    0x4047db
4047ee:	39 3d 78 17 41 00    	cmp    %edi,0x411778
4047f4:	75 07                	jne    0x4047fd
4047f6:	53                   	push   %ebx
4047f7:	ff 15 b4 d0 40 00    	call   *0x40d0b4
4047fd:	8b c6                	mov    %esi,%eax
4047ff:	5f                   	pop    %edi
404800:	5e                   	pop    %esi
404801:	5b                   	pop    %ebx
404802:	c3                   	ret
404803:	6a 03                	push   $0x3
404805:	68 78 17 41 00       	push   $0x411778
40480a:	ff 15 c0 d0 40 00    	call   *0x40d0c0
404810:	83 f8 02             	cmp    $0x2,%eax
404813:	75 0b                	jne    0x404820
404815:	68 60 17 41 00       	push   $0x411760
40481a:	ff 15 c4 d0 40 00    	call   *0x40d0c4
404820:	c3                   	ret
404821:	83 3d 78 17 41 00 02 	cmpl   $0x2,0x411778
404828:	75 0b                	jne    0x404835
40482a:	68 60 17 41 00       	push   $0x411760
40482f:	ff 15 c8 d0 40 00    	call   *0x40d0c8
404835:	c3                   	ret
404836:	b8 e0 c6 40 00       	mov    $0x40c6e0,%eax
40483b:	e8 00 15 00 00       	call   0x405d40
404840:	83 ec 2c             	sub    $0x2c,%esp
404843:	8b 45 08             	mov    0x8(%ebp),%eax
404846:	53                   	push   %ebx
404847:	83 e0 07             	and    $0x7,%eax
40484a:	89 41 04             	mov    %eax,0x4(%ecx)
40484d:	8b 49 08             	mov    0x8(%ecx),%ecx
404850:	23 c8                	and    %eax,%ecx
404852:	74 6f                	je     0x4048c3
404854:	33 db                	xor    %ebx,%ebx
404856:	38 5d 0c             	cmp    %bl,0xc(%ebp)
404859:	74 07                	je     0x404862
40485b:	53                   	push   %ebx
40485c:	53                   	push   %ebx
40485d:	e8 3b 26 00 00       	call   0x406e9d
404862:	f6 c1 04             	test   $0x4,%cl
404865:	56                   	push   %esi
404866:	74 07                	je     0x40486f
404868:	be 44 d3 40 00       	mov    $0x40d344,%esi
40486d:	eb 0f                	jmp    0x40487e
40486f:	f6 c1 02             	test   $0x2,%cl
404872:	be 30 d3 40 00       	mov    $0x40d330,%esi
404877:	75 05                	jne    0x40487e
404879:	be 20 d3 40 00       	mov    $0x40d320,%esi
40487e:	8a 45 0f             	mov    0xf(%ebp),%al
404881:	53                   	push   %ebx
404882:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
404885:	88 45 e4             	mov    %al,-0x1c(%ebp)
404888:	e8 51 ed ff ff       	call   0x4035de
40488d:	56                   	push   %esi
40488e:	e8 6d 21 00 00       	call   0x406a00
404893:	59                   	pop    %ecx
404894:	50                   	push   %eax
404895:	56                   	push   %esi
404896:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
404899:	e8 a6 ef ff ff       	call   0x403844
40489e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4048a1:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4048a4:	50                   	push   %eax
4048a5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4048a8:	e8 25 00 00 00       	call   0x4048d2
4048ad:	8d 45 c8             	lea    -0x38(%ebp),%eax
4048b0:	68 d8 e3 40 00       	push   $0x40e3d8
4048b5:	50                   	push   %eax
4048b6:	c7 45 c8 14 d3 40 00 	movl   $0x40d314,-0x38(%ebp)
4048bd:	e8 db 25 00 00       	call   0x406e9d
4048c2:	5e                   	pop    %esi
4048c3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4048c6:	5b                   	pop    %ebx
4048c7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4048ce:	c9                   	leave
4048cf:	c2 08 00             	ret    $0x8
4048d2:	b8 f4 c6 40 00       	mov    $0x40c6f4,%eax
4048d7:	e8 64 14 00 00       	call   0x405d40
4048dc:	51                   	push   %ecx
4048dd:	51                   	push   %ecx
4048de:	53                   	push   %ebx
4048df:	56                   	push   %esi
4048e0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4048e3:	57                   	push   %edi
4048e4:	8b f1                	mov    %ecx,%esi
4048e6:	50                   	push   %eax
4048e7:	89 75 ec             	mov    %esi,-0x14(%ebp)
4048ea:	c7 45 f0 64 d3 40 00 	movl   $0x40d364,-0x10(%ebp)
4048f1:	e8 fd 24 00 00       	call   0x406df3
4048f6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4048f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4048fd:	8d 7e 0c             	lea    0xc(%esi),%edi
404900:	6a 00                	push   $0x0
404902:	8a 03                	mov    (%ebx),%al
404904:	8b cf                	mov    %edi,%ecx
404906:	88 07                	mov    %al,(%edi)
404908:	e8 d1 ec ff ff       	call   0x4035de
40490d:	ff 35 68 d2 40 00    	push   0x40d268
404913:	8b cf                	mov    %edi,%ecx
404915:	6a 00                	push   $0x0
404917:	53                   	push   %ebx
404918:	e8 e5 02 00 00       	call   0x404c02
40491d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404920:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404926:	8b c6                	mov    %esi,%eax
404928:	5f                   	pop    %edi
404929:	5e                   	pop    %esi
40492a:	5b                   	pop    %ebx
40492b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404932:	c9                   	leave
404933:	c2 04 00             	ret    $0x4
404936:	8b 41 10             	mov    0x10(%ecx),%eax
404939:	85 c0                	test   %eax,%eax
40493b:	75 05                	jne    0x404942
40493d:	b8 68 d3 40 00       	mov    $0x40d368,%eax
404942:	c3                   	ret
404943:	55                   	push   %ebp
404944:	8b ec                	mov    %esp,%ebp
404946:	83 ec 1c             	sub    $0x1c,%esp
404949:	51                   	push   %ecx
40494a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40494d:	e8 67 00 00 00       	call   0x4049b9
404952:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404955:	68 48 e4 40 00       	push   $0x40e448
40495a:	50                   	push   %eax
40495b:	e8 3d 25 00 00       	call   0x406e9d
404960:	b8 08 c7 40 00       	mov    $0x40c708,%eax
404965:	e8 d6 13 00 00       	call   0x405d40
40496a:	51                   	push   %ecx
40496b:	56                   	push   %esi
40496c:	8b f1                	mov    %ecx,%esi
40496e:	89 75 f0             	mov    %esi,-0x10(%ebp)
404971:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404977:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40497b:	6a 01                	push   $0x1
40497d:	8d 4e 0c             	lea    0xc(%esi),%ecx
404980:	e8 59 ec ff ff       	call   0x4035de
404985:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404989:	8b ce                	mov    %esi,%ecx
40498b:	e8 ea 24 00 00       	call   0x406e7a
404990:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404993:	5e                   	pop    %esi
404994:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40499b:	c9                   	leave
40499c:	c3                   	ret
40499d:	56                   	push   %esi
40499e:	8b f1                	mov    %ecx,%esi
4049a0:	e8 bb ff ff ff       	call   0x404960
4049a5:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4049aa:	74 07                	je     0x4049b3
4049ac:	56                   	push   %esi
4049ad:	e8 cf 05 00 00       	call   0x404f81
4049b2:	59                   	pop    %ecx
4049b3:	8b c6                	mov    %esi,%eax
4049b5:	5e                   	pop    %esi
4049b6:	c2 04 00             	ret    $0x4
4049b9:	b8 1c c7 40 00       	mov    $0x40c71c,%eax
4049be:	e8 7d 13 00 00       	call   0x405d40
4049c3:	51                   	push   %ecx
4049c4:	53                   	push   %ebx
4049c5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4049c8:	56                   	push   %esi
4049c9:	57                   	push   %edi
4049ca:	8b f1                	mov    %ecx,%esi
4049cc:	53                   	push   %ebx
4049cd:	89 75 f0             	mov    %esi,-0x10(%ebp)
4049d0:	e8 5b 24 00 00       	call   0x406e30
4049d5:	8a 43 0c             	mov    0xc(%ebx),%al
4049d8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4049dc:	83 c3 0c             	add    $0xc,%ebx
4049df:	8d 7e 0c             	lea    0xc(%esi),%edi
4049e2:	6a 00                	push   $0x0
4049e4:	8b cf                	mov    %edi,%ecx
4049e6:	88 07                	mov    %al,(%edi)
4049e8:	e8 f1 eb ff ff       	call   0x4035de
4049ed:	ff 35 68 d2 40 00    	push   0x40d268
4049f3:	8b cf                	mov    %edi,%ecx
4049f5:	6a 00                	push   $0x0
4049f7:	53                   	push   %ebx
4049f8:	e8 05 02 00 00       	call   0x404c02
4049fd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404a00:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404a06:	8b c6                	mov    %esi,%eax
404a08:	5f                   	pop    %edi
404a09:	5e                   	pop    %esi
404a0a:	5b                   	pop    %ebx
404a0b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404a12:	c9                   	leave
404a13:	c2 04 00             	ret    $0x4
404a16:	b8 30 c7 40 00       	mov    $0x40c730,%eax
404a1b:	e8 20 13 00 00       	call   0x405d40
404a20:	51                   	push   %ecx
404a21:	56                   	push   %esi
404a22:	8b f1                	mov    %ecx,%esi
404a24:	89 75 f0             	mov    %esi,-0x10(%ebp)
404a27:	c7 06 58 d3 40 00    	movl   $0x40d358,(%esi)
404a2d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404a31:	6a 01                	push   $0x1
404a33:	8d 4e 0c             	lea    0xc(%esi),%ecx
404a36:	e8 a3 eb ff ff       	call   0x4035de
404a3b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404a3f:	8b ce                	mov    %esi,%ecx
404a41:	e8 34 24 00 00       	call   0x406e7a
404a46:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404a49:	5e                   	pop    %esi
404a4a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404a51:	c9                   	leave
404a52:	c3                   	ret
404a53:	55                   	push   %ebp
404a54:	8b ec                	mov    %esp,%ebp
404a56:	83 ec 1c             	sub    $0x1c,%esp
404a59:	51                   	push   %ecx
404a5a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
404a5d:	e8 2a 00 00 00       	call   0x404a8c
404a62:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404a65:	68 d8 e3 40 00       	push   $0x40e3d8
404a6a:	50                   	push   %eax
404a6b:	e8 2d 24 00 00       	call   0x406e9d
404a70:	56                   	push   %esi
404a71:	8b f1                	mov    %ecx,%esi
404a73:	e8 9e ff ff ff       	call   0x404a16
404a78:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
404a7d:	74 07                	je     0x404a86
404a7f:	56                   	push   %esi
404a80:	e8 fc 04 00 00       	call   0x404f81
404a85:	59                   	pop    %ecx
404a86:	8b c6                	mov    %esi,%eax
404a88:	5e                   	pop    %esi
404a89:	c2 04 00             	ret    $0x4
404a8c:	56                   	push   %esi
404a8d:	8b f1                	mov    %ecx,%esi
404a8f:	ff 74 24 08          	push   0x8(%esp)
404a93:	e8 21 ff ff ff       	call   0x4049b9
404a98:	c7 06 14 d3 40 00    	movl   $0x40d314,(%esi)
404a9e:	8b c6                	mov    %esi,%eax
404aa0:	5e                   	pop    %esi
404aa1:	c2 04 00             	ret    $0x4
404aa4:	b8 47 c7 40 00       	mov    $0x40c747,%eax
404aa9:	e8 92 12 00 00       	call   0x405d40
404aae:	51                   	push   %ecx
404aaf:	56                   	push   %esi
404ab0:	8b f1                	mov    %ecx,%esi
404ab2:	89 75 f0             	mov    %esi,-0x10(%ebp)
404ab5:	c7 06 70 d3 40 00    	movl   $0x40d370,(%esi)
404abb:	8b 46 24             	mov    0x24(%esi),%eax
404abe:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404ac2:	85 c0                	test   %eax,%eax
404ac4:	76 12                	jbe    0x404ad8
404ac6:	fe 88 a4 17 41 00    	decb   0x4117a4(%eax)
404acc:	8b 46 24             	mov    0x24(%esi),%eax
404acf:	80 b8 a4 17 41 00 00 	cmpb   $0x0,0x4117a4(%eax)
404ad6:	7f 07                	jg     0x404adf
404ad8:	8b ce                	mov    %esi,%ecx
404ada:	e8 d9 00 00 00       	call   0x404bb8
404adf:	8d 4e 20             	lea    0x20(%esi),%ecx
404ae2:	e8 c1 e3 ff ff       	call   0x402ea8
404ae7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404aea:	5e                   	pop    %esi
404aeb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404af2:	c9                   	leave
404af3:	c3                   	ret
404af4:	56                   	push   %esi
404af5:	8b f1                	mov    %ecx,%esi
404af7:	e8 a8 ff ff ff       	call   0x404aa4
404afc:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
404b01:	74 07                	je     0x404b0a